From: Alan Mackenzie Date: Mon, 27 Nov 2023 15:36:36 +0000 (+0000) Subject: Compiler optimizer: push forms onto byte-compile-form-stack X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1dab381c823b8bca23a1ed6335dd24ee50af7fc9;p=emacs.git Compiler optimizer: push forms onto byte-compile-form-stack 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. --- diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index 2caaadc9f9e..06257a9a2da 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -514,6 +514,7 @@ There can be multiple entries for the same NAME if it has several aliases.") (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. @@ -530,6 +531,7 @@ There can be multiple entries for the same NAME if it has several aliases.") (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)