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
|
||||
(print-symbols-bare t)) ; Possibly redundant binding.
|
||||
;; Insert the doc string, and make it a comment with #@LENGTH.
|
||||
(and (>= (nth 1 info) 0)
|
||||
dynamic-docstrings
|
||||
(progn
|
||||
(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)))))
|
||||
(when (and (>= (nth 1 info) 0) dynamic-docstrings)
|
||||
(setq position (byte-compile-output-as-comment
|
||||
(nth (nth 1 info) form) nil)))
|
||||
|
||||
(let ((print-continuous-numbering t)
|
||||
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
|
||||
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)));
|
||||
struct saved_string *ss = &saved_strings[0];
|
||||
struct saved_string *ssend = ss + ARRAYELTS (saved_strings);
|
||||
|
|
Loading…
Add table
Reference in a new issue