emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 620e5a3: Give eval-and-compile a correct edebug spe


From: Alan Mackenzie
Subject: [Emacs-diffs] master 620e5a3: Give eval-and-compile a correct edebug spec. Fixes bug #16184 properly.
Date: Sun, 1 Jan 2017 08:31:08 +0000 (UTC)

branch: master
commit 620e5a3cd4464aaffaa3568d6f6b89764de5cfbd
Author: Alan Mackenzie <address@hidden>
Commit: Alan Mackenzie <address@hidden>

    Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
    
    * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
    from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
    
    * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec 
from
    t to (&rest def-form).
---
 lisp/emacs-lisp/byte-run.el |    2 +-
 lisp/emacs-lisp/edebug.el   |    9 +++------
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index 9d2a048..e680ebb 100644
--- a/lisp/emacs-lisp/byte-run.el
+++ b/lisp/emacs-lisp/byte-run.el
@@ -474,7 +474,7 @@ load time.  In interpreted code, this is entirely 
equivalent to
 `progn', except that the value of the expression may be (but is
 not necessarily) computed at load time if eager macro expansion
 is enabled."
-  (declare (debug t) (indent 0))
+  (declare (debug (&rest def-form)) (indent 0))
   ;; When the byte-compiler expands code, this macro is not used, so we're
   ;; either about to run `body' (plain interpretation) or we're doing eager
   ;; macroexpansion.
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 15b1389..04a493c 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -2052,14 +2052,11 @@ expressions; a `progn' form will be returned enclosing 
these forms."
 (defvar edebug-stack-depth -1)
 ;; Index of last edebug-stack item.
 
-(defvar edebug-offset-indices (list 0))
+(defvar edebug-offset-indices nil)
 ;; Stack of offset indices of visited edebug sexps.
+;; Should be nil at the top level.
 ;; Each function adds one cons.  Top is modified with setcar.
-;; Should be nil at the top level.  No longer!  There are occasions
-;; when this variable is modified by setcar before a cons has been
-;; pushed by `edebug-enter', e.g. when instrumenting
-;; `c-font-lock-declarations' in .../lisp/progmodes/cc-fonts.el.  So
-;; this variable must be initialized to a cons.
+
 
 (defvar edebug-entered nil
   ;; Non-nil if edebug has already been entered at this recursive edit level.



reply via email to

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