--- Begin Message ---
Subject: |
26.0.91; debug-watch of kill-all-local-variables triggers 'assertion failed: found == !EQ (blv->defcell, blv->valcell)' |
Date: |
Sun, 18 Mar 2018 09:10:41 -0400 |
Evaluate the following from 'emacs -Q':
(setq-local foo 1)
;; Simulate (debug-watch 'foo) + continue from *Backtrace*
(add-variable-watcher 'foo (lambda (symbol newval operation where)
(with-temp-buffer
(kill-all-local-variables))))
(fundamental-mode)
This results in
../../src/data.c:98: Emacs fatal error: assertion failed: found == !EQ
(blv->defcell, blv->valcell)
Backtrace attached. I guess it has something to do with the recursive
`kill-all-local-variables' call, although I'm not familiar enough with
the local variable machinery to say more about it.
assert-fail-backtrace.log
Description: gdb backtrace
In GNU Emacs 26.0.91 (build 54, x86_64-pc-linux-gnu, X toolkit, Xaw scroll bars)
of 2018-03-18 built on zebian
Repository revision: 10bd3b3af8acfc226acadc654298865cffc19cc9
Configured using:
'configure --cache-file=../../debug-config.cache 'CC=ccache gcc'
'CFLAGS=-O0 -g3 -march=native' --enable-checking=yes
--enable-check-lisp-object-type --with-x-toolkit=lucid
--with-toolkit-scroll-bars --with-gif=no --with-jpeg=no'
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#30846: 26.0.91; debug-watch of kill-all-local-variables triggers 'assertion failed: found == !EQ (blv->defcell, blv->valcell)' |
Date: |
Fri, 23 Mar 2018 11:29:55 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Version: 27.1
> The patch doesn't only fix this problem, it also changes the time at
> which we run the watcher: in the current emacs-26 code,
Installed into master,
Stefan
--- End Message ---