summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2022-04-22 17:16:21 +0000
committerAlan Mackenzie <acm@muc.de>2022-04-22 17:16:21 +0000
commit5b23c9942ae057c886e68edb8c4bf09bf7e8eda9 (patch)
tree9815857922faaa62ac2071e0cfc01391dca524e8 /lisp/emacs-lisp
parent2d71fd3b041506c68b5f1cd1e409e09e25778c34 (diff)
downloademacs-5b23c9942ae057c886e68edb8c4bf09bf7e8eda9.tar.gz
emacs-5b23c9942ae057c886e68edb8c4bf09bf7e8eda9.tar.bz2
emacs-5b23c9942ae057c886e68edb8c4bf09bf7e8eda9.zip
Byte compiler: correct output warning message positions (part 2)
A supplementary commit to that on 2022-04-18: * lisp/emacs-lisp/bytecomp.el (byte-compile--first-symbol-with-pos): Handle vectors and records correctly. * lisp/emacs-lisp/byte-run.el (byte-run--ssp-seen): Correct the doc string.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/byte-run.el3
-rw-r--r--lisp/emacs-lisp/bytecomp.el4
2 files changed, 3 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index 384e8cba88f..0113051c8eb 100644
--- a/lisp/emacs-lisp/byte-run.el
+++ b/lisp/emacs-lisp/byte-run.el
@@ -32,8 +32,7 @@
(defvar byte-run--ssp-seen nil
"Which conses/vectors/records have been processed in strip-symbol-positions?
-The value is a hash table, the key being the old element and the value being
-the corresponding new element of the same type.
+The value is a hash table, the keys being the elements and the values being t.
The purpose of this is to detect circular structures.")
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 8128410916a..f97324f3a8f 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -1185,14 +1185,14 @@ Here, \"first\" is by a depth first search."
(and (symbolp (setq sym (byte-compile--first-symbol-with-pos (cdr form))))
sym)
0))
- ((and (vectorp form)
+ ((and (or (vectorp form) (recordp form))
(> (length form) 0))
(let ((i 0)
(len (length form))
elt)
(catch 'sym
(while (< i len)
- (when (symbolp
+ (when (symbol-with-pos-p
(setq elt (byte-compile--first-symbol-with-pos (aref form i))))
(throw 'sym elt))
(setq i (1+ i)))