This fixes bug#67483.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form): Push and
pop FORM onto/off byte-compile-form-stack so that warning
messages get a position near to the erroneous source.
(byte-optimize-form form for-effect)))
(defun byte-optimize-form (form &optional for-effect)
+ (push form byte-compile-form-stack)
(while
(progn
;; First, optimize all sub-forms of this one.
(byte-compile-log " %s\t==>\t%s" old new)
(setq form new)
(not (eq new old))))))))
+ (pop byte-compile-form-stack)
form)
(defun byte-optimize--rename-var-body (var new-var body)