summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2017-01-01 08:28:04 +0000
committerAlan Mackenzie <acm@muc.de>2017-01-01 08:28:04 +0000
commit620e5a3cd4464aaffaa3568d6f6b89764de5cfbd (patch)
tree1bb99c1425f8bad8b2f99a391dd16c79d4464a0d /lisp/emacs-lisp
parent535ef18ed523862db405d22ec4bea0bbfd4172ce (diff)
downloademacs-620e5a3cd4464aaffaa3568d6f6b89764de5cfbd.tar.gz
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).
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/byte-run.el2
-rw-r--r--lisp/emacs-lisp/edebug.el9
2 files changed, 4 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index 9d2a048f365..e680ebbdc58 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 15b1389c2f7..04a493c826f 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.