From: Eli Zaretskii Date: Sat, 2 Jun 2018 10:04:15 +0000 (+0300) Subject: Un-obsolete 'string-to-unibyte' X-Git-Tag: emacs-27.0.90~4962 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4a7e74fea687011ee81dcbb02294bccd99b3a05f;p=emacs.git 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. --- 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")