Subject: 25.1.50; Deprecation/internalization of `read-from-whole-string'

From: Drew Adams <[email-masked]>
Date: Tue, 6 Sep 2016 09:52:12 -0700 (PDT)

What's the rationale behind the demotion of `read-from-whole-string'
and its replacement by "internal" function
`thing-at-point--read-from-whole-string'?

  "This is an internal thingatpt function and should not be used."

Should not be used?  Really?  Why?

This function has been around forever, and is used by Emacs users.
And there has been no change in the function definition.

Why should it suddenly be considered "internal" and something not
to be used?

And what does it have to do, in particular, with thingatpt.el?
(It should instead be promoted to a file such as subr.el.)

Based on this (seemingly gratuitous) change, existing user code now
has to fiddle, to be usable in more than one Emacs version (versions
0 to 24.5 vs version 25.1).

 (if (fboundp 'read-from-whole-string)
     (read-from-whole-string strg)
   (thing-at-point--read-from-whole-string strg))

In GNU Emacs 25.1.50.1 (i686-pc-mingw32)
 of 2015-12-10
Repository revision: 6148555ee5a3d0139ae517803718b3e0357933c7
Windowing system distributor 'Microsoft Corp.', version 6.1.7601
Configured using:
 'configure --prefix=/c/Devel/emacs/snapshot/trunk --enable-checking=yes
 --enable-check-lisp-object-type --without-compress-install 'CFLAGS=-Og
 -ggdb3' LDFLAGS=-Lc:/Devel/emacs/lib 'CPPFLAGS=-DGC_MCHECK=1
 -Ic:/Devel/emacs/include''