]> git.eshelyaron.com Git - emacs.git/commitdiff
Initialize edebug-offset-indices to a cons, not nil. Fixes bug #16184.
authorAlan Mackenzie <acm@muc.de>
Thu, 29 Dec 2016 09:22:36 +0000 (09:22 +0000)
committerAlan Mackenzie <acm@muc.de>
Thu, 29 Dec 2016 09:22:36 +0000 (09:22 +0000)
This is because there are times when this variable is changed by setcar before
an atom is pushed onto it by debug-enter.  This happens, for example, whilst
instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.

* lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).

lisp/emacs-lisp/edebug.el

index 04a493c826f122ed76cccf2f5689b51f4e4cb357..15b1389c2f7194615d1f9f58ff1a2c8fe2daf481 100644 (file)
@@ -2052,11 +2052,14 @@ 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 nil)
+(defvar edebug-offset-indices (list 0))
 ;; 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.