mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-03 18:41:25 -08:00
Cease emitting negative file offsets for user variables
'User variables' were made obsolete in Emacs 24 along with user-variable-p; the sign of the position in (#$ . POS) hasn't mattered since. * lisp/emacs-lisp/bytecomp.el (byte-compile-output-docform): Don't emit negative position when doc string starts with `*`. * src/lread.c (get_lazy_string): Explain.
This commit is contained in:
parent
7778f83b3e
commit
08a74ab05a
2 changed files with 6 additions and 13 deletions
|
|
@ -2451,18 +2451,9 @@ list that represents a doc string reference.
|
||||||
(let (position
|
(let (position
|
||||||
(print-symbols-bare t)) ; Possibly redundant binding.
|
(print-symbols-bare t)) ; Possibly redundant binding.
|
||||||
;; Insert the doc string, and make it a comment with #@LENGTH.
|
;; Insert the doc string, and make it a comment with #@LENGTH.
|
||||||
(and (>= (nth 1 info) 0)
|
(when (and (>= (nth 1 info) 0) dynamic-docstrings)
|
||||||
dynamic-docstrings
|
(setq position (byte-compile-output-as-comment
|
||||||
(progn
|
(nth (nth 1 info) form) nil)))
|
||||||
(setq position
|
|
||||||
(byte-compile-output-as-comment
|
|
||||||
(nth (nth 1 info) form) nil))
|
|
||||||
;; If the doc string starts with * (a user variable),
|
|
||||||
;; negate POSITION.
|
|
||||||
(if (and (stringp (nth (nth 1 info) form))
|
|
||||||
(> (length (nth (nth 1 info) form)) 0)
|
|
||||||
(eq (aref (nth (nth 1 info) form) 0) ?*))
|
|
||||||
(setq position (- position)))))
|
|
||||||
|
|
||||||
(let ((print-continuous-numbering t)
|
(let ((print-continuous-numbering t)
|
||||||
print-number-table
|
print-number-table
|
||||||
|
|
|
||||||
|
|
@ -3486,7 +3486,9 @@ get_lazy_string (Lisp_Object val)
|
||||||
unibyte string. If it is actually a doc string, caller must make
|
unibyte string. If it is actually a doc string, caller must make
|
||||||
it multibyte. */
|
it multibyte. */
|
||||||
|
|
||||||
/* Position is negative for user variables. */
|
/* We used to emit negative positions for 'user variables' (whose doc
|
||||||
|
strings started with an asterisk); take the absolute value for
|
||||||
|
compatibility. */
|
||||||
EMACS_INT pos = eabs (XFIXNUM (XCDR (val)));
|
EMACS_INT pos = eabs (XFIXNUM (XCDR (val)));
|
||||||
struct saved_string *ss = &saved_strings[0];
|
struct saved_string *ss = &saved_strings[0];
|
||||||
struct saved_string *ssend = ss + ARRAYELTS (saved_strings);
|
struct saved_string *ssend = ss + ARRAYELTS (saved_strings);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue