emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 1dab381c823: Compiler optimizer: push forms onto byte-compile-for


From: Alan Mackenzie
Subject: master 1dab381c823: Compiler optimizer: push forms onto byte-compile-form-stack
Date: Mon, 27 Nov 2023 10:39:23 -0500 (EST)

branch: master
commit 1dab381c823b8bca23a1ed6335dd24ee50af7fc9
Author: Alan Mackenzie <acm@muc.de>
Commit: Alan Mackenzie <acm@muc.de>

    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.
---
 lisp/emacs-lisp/byte-opt.el | 2 ++
 1 file changed, 2 insertions(+)

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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]