summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2018-06-02 13:04:15 +0300
committerEli Zaretskii <eliz@gnu.org>2018-06-02 13:04:15 +0300
commit4a7e74fea687011ee81dcbb02294bccd99b3a05f (patch)
tree05b3fb5d79c96abd6c5cc301288702e4deef139f
parent9ac76456eb104f749aa9c60b99c68a649214efc6 (diff)
downloademacs-4a7e74fea687011ee81dcbb02294bccd99b3a05f.tar.gz
Un-obsolete 'string-to-unibyte'
* lisp/subr.el (string-to-unibyte): No longer obsolete. See the emacs-devel discussion around this message: http://lists.gnu.org/archive/html/emacs-devel/2018-05/msg00656.html. * etc/NEWS: Announce the change.
-rw-r--r--etc/NEWS7
-rw-r--r--lisp/subr.el7
2 files changed, 13 insertions, 1 deletions
diff --git a/etc/NEWS b/etc/NEWS
index bd25f43ad06..1b324986d94 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -670,6 +670,13 @@ loading messages if requested, and protects against recursive loads.
The history of variable names read by 'read-variable' is recorded in
the new variable 'custom-variable-history'.
+---
+** The function 'string-to-unibyte' is no longer declared obsolete.
+We have found that there are legitimate use cases for this function,
+where there's no better alternative. We believe that the incorrect
+uses of this function all but disappeared by now, so we are
+un-obsoleting it.
+
* Changes in Emacs 27.1 on Non-Free Operating Systems
diff --git a/lisp/subr.el b/lisp/subr.el
index 35e220a10ee..914112ccef5 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -1438,8 +1438,13 @@ be a list of the form returned by `event-start' and `event-end'."
"27.1")
(make-obsolete 'invocation-name "use the variable of the same name." "27.1")
+;; We used to declare string-to-unibyte obsolete, but it is a valid
+;; way of getting a unibyte string that can be indexed by bytes, when
+;; the original string has raw bytes in their internal multibyte
+;; representation. This can be useful when one needs to examine
+;; individual bytes at known offsets from the string beginning.
+;; (make-obsolete 'string-to-unibyte "use `encode-coding-string'." "26.1")
;; bug#23850
-(make-obsolete 'string-to-unibyte "use `encode-coding-string'." "26.1")
(make-obsolete 'string-as-unibyte "use `encode-coding-string'." "26.1")
(make-obsolete 'string-make-unibyte "use `encode-coding-string'." "26.1")
(make-obsolete 'string-to-multibyte "use `decode-coding-string'." "26.1")