unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
@ 2013-12-18 10:58 Anders Lindgren
  2013-12-20  0:01 ` Katsumi Yamaoka
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Anders Lindgren @ 2013-12-18 10:58 UTC (permalink / raw)
  To: 16184

[-- Attachment #1: Type: text/plain, Size: 3166 bytes --]

Hi!

The construct 'eval-when-compile' seems to throw debug off. When pressing
C-u C-M-x on the following, an error is issued. This worked correctly in
24.3. This makes it hard to use edebug on functions in cc-mode
(like c-font-lock-declarations), as it makes heavy use of eval-when-compile.

(defun test (limit)
  (eval-when-compile
    (boundp 'parse-sexp-lookup-properties)))

Sincerely,
    Anders Lidgren


In GNU Emacs 24.3.50.2 (x86_64-apple-darwin13.0.0, NS apple-appkit-1265.00)
 of 2013-12-17 on macpro.lan
Bzr revision: 115421
monnier@iro.umontreal.ca-20131208081150-4bq2y1cgta14nfmj
Windowing system distributor `Apple', version 10.3.1265
Configured using:
 `configure --with-ns'

Important settings:
  value of $LC_CTYPE: UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-u C-M-x C-SPC <down> <down> <down> <escape> w <up>
<up> <up> <up> s-f s-f <escape> f <escape> f <escape>
d <escape> d <escape> d <escape> d <down> C-a C-x C-s
<up> <up> s-f <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <backspace>
<backspace> <backspace> t e s t <down> <down> <up>
C-u C-M-x C-x C-s <up> C-a C-SPC C-g C-SPC <down> <down>
<down> <escape> w <menu-bar> <help-menu> <send-ema
cs-bug-report>

Recent messages:
Saving file /Users/anders/emacs/src/misc/bug-edebug-eval-when-compile.el...
Wrote /Users/anders/emacs/src/misc/bug-edebug-eval-when-compile.el
Beginning of buffer
Edebug: test
edebug-enter: Symbol's value as variable is void: limit
Saving file /Users/anders/emacs/src/misc/bug-edebug-eval-when-compile.el...
Wrote /Users/anders/emacs/src/misc/bug-edebug-eval-when-compile.el
Mark activated
Quit
Mark activated

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils misearch multi-isearch edebug easymenu cl-loaddefs
cl-lib vc-dispatcher vc-svn time-date tooltip electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode
register page menu-bar rfn-eshadow timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
cocoa ns multi-tty emacs)

[-- Attachment #2: Type: text/html, Size: 4452 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2013-12-18 10:58 bug#16184: 24.3.50; edebug and eval-when-compiler don't work together Anders Lindgren
@ 2013-12-20  0:01 ` Katsumi Yamaoka
  2013-12-20  6:59   ` Anders Lindgren
  2016-10-19  0:06 ` bug#16184: incorrect Edebug spec for eval-and-compile Gemini Lasswell
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 22+ messages in thread
From: Katsumi Yamaoka @ 2013-12-20  0:01 UTC (permalink / raw)
  To: 16184; +Cc: Anders Lindgren

[-- Attachment #1: Type: text/plain, Size: 577 bytes --]

Anders Lindgren wrote:
> The construct 'eval-when-compile' seems to throw debug off. When
> pressing C-u C-M-x on the following, an error is issued. This worked
> correctly in 24.3. This makes it hard to use edebug on functions in
> cc-mode (like c-font-lock-declarations), as it makes heavy use of
> eval-when-compile.

> (defun test (limit)
>   (eval-when-compile
>     (boundp 'parse-sexp-lookup-properties)))

I'm not sure of it but the patch below seems to solve it.
This works for the bug#14646 case[1], too.  WDYT?

[1] <http://thread.gmane.org/gmane.emacs.bugs/80778>


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1009 bytes --]

--- lisp/emacs-lisp/byte-run.el~	2013-11-21 22:12:14 +0000
+++ lisp/emacs-lisp/byte-run.el	2013-12-19 23:45:41 +0000
@@ -391,7 +391,7 @@
   "Like `progn', but evaluates the body at compile time if you're compiling.
 Thus, the result of the body appears to the compiler as a quoted constant.
 In interpreted code, this is entirely equivalent to `progn'."
-  (declare (debug (def-body)) (indent 0))
+  (declare (debug (&rest def-form)) (indent 0))
   (list 'quote (eval (cons 'progn body) lexical-binding)))
 
 (defmacro eval-and-compile (&rest body)
--- lisp/progmodes/cc-defs.el~	2013-06-02 22:06:34 +0000
+++ lisp/progmodes/cc-defs.el	2013-12-19 23:45:40 +0000
@@ -1137,7 +1137,7 @@
 ;; Make edebug understand the macros.
 ;(eval-after-load "edebug" ; 2006-07-09: def-edebug-spec is now in subr.el.
 ;  '(progn
-(def-edebug-spec cc-eval-when-compile t)
+(def-edebug-spec cc-eval-when-compile (&rest def-form))
 (def-edebug-spec c-point t)
 (def-edebug-spec c-set-region-active t)
 (def-edebug-spec c-safe t)

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2013-12-20  0:01 ` Katsumi Yamaoka
@ 2013-12-20  6:59   ` Anders Lindgren
  2013-12-20  8:28     ` Katsumi Yamaoka
  0 siblings, 1 reply; 22+ messages in thread
From: Anders Lindgren @ 2013-12-20  6:59 UTC (permalink / raw)
  To: Katsumi Yamaoka; +Cc: 16184

[-- Attachment #1: Type: text/plain, Size: 906 bytes --]

Hi!

Unfortunately, the problem still seems to be there. I tried this on latest
trunk (as of yesterday) with the patch applied and I still get an error
when I do C-u C-M-x on the code I originally supplied.

    -- Anders


On Fri, Dec 20, 2013 at 1:01 AM, Katsumi Yamaoka <yamaoka@jpl.org> wrote:

> Anders Lindgren wrote:
> > The construct 'eval-when-compile' seems to throw debug off. When
> > pressing C-u C-M-x on the following, an error is issued. This worked
> > correctly in 24.3. This makes it hard to use edebug on functions in
> > cc-mode (like c-font-lock-declarations), as it makes heavy use of
> > eval-when-compile.
>
> > (defun test (limit)
> >   (eval-when-compile
> >     (boundp 'parse-sexp-lookup-properties)))
>
> I'm not sure of it but the patch below seems to solve it.
> This works for the bug#14646 case[1], too.  WDYT?
>
> [1] <http://thread.gmane.org/gmane.emacs.bugs/80778>
>
>

[-- Attachment #2: Type: text/html, Size: 1424 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2013-12-20  6:59   ` Anders Lindgren
@ 2013-12-20  8:28     ` Katsumi Yamaoka
  2013-12-20  9:26       ` Anders Lindgren
  0 siblings, 1 reply; 22+ messages in thread
From: Katsumi Yamaoka @ 2013-12-20  8:28 UTC (permalink / raw)
  To: Anders Lindgren; +Cc: 16184

Anders Lindgren wrote:
> Unfortunately, the problem still seems to be there. I tried this on
> latest trunk (as of yesterday) with the patch applied and I still get
> an error when I do C-u C-M-x on the code I originally supplied.

Could you make sure that the edebug spec of the `eval-when-compile'
macro definition (i.e. in byte-run.el) has been changed into
`(&rest def-form)'?
Otherwise please try `C-M-x' on the patched `eval-when-compile' macro.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2013-12-20  8:28     ` Katsumi Yamaoka
@ 2013-12-20  9:26       ` Anders Lindgren
  2013-12-20  9:53         ` Katsumi Yamaoka
  0 siblings, 1 reply; 22+ messages in thread
From: Anders Lindgren @ 2013-12-20  9:26 UTC (permalink / raw)
  To: Katsumi Yamaoka; +Cc: 16184

[-- Attachment #1: Type: text/plain, Size: 985 bytes --]

Hi!

I just tried this and the error is still there.

On an emacs with bzr revision 115609, I started Emacs with -Q, and ran C-u
C-M-x on the code, and I got the error. I inspected the eval-when-compile
macro and it did have the form suggested by the patch in the bug report you
reported, i.e. "(declare (debug (def-body)) (indent 0))". Just to make sure
I ran C-M-x on it and tried again, but the error is still there...

    -- Anders


On Fri, Dec 20, 2013 at 9:28 AM, Katsumi Yamaoka <yamaoka@jpl.org> wrote:

> Anders Lindgren wrote:
> > Unfortunately, the problem still seems to be there. I tried this on
> > latest trunk (as of yesterday) with the patch applied and I still get
> > an error when I do C-u C-M-x on the code I originally supplied.
>
> Could you make sure that the edebug spec of the `eval-when-compile'
> macro definition (i.e. in byte-run.el) has been changed into
> `(&rest def-form)'?
> Otherwise please try `C-M-x' on the patched `eval-when-compile' macro.
>

[-- Attachment #2: Type: text/html, Size: 1500 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2013-12-20  9:26       ` Anders Lindgren
@ 2013-12-20  9:53         ` Katsumi Yamaoka
  2013-12-20 10:30           ` Anders Lindgren
  0 siblings, 1 reply; 22+ messages in thread
From: Katsumi Yamaoka @ 2013-12-20  9:53 UTC (permalink / raw)
  To: Anders Lindgren; +Cc: 16184

Anders Lindgren wrote:
> I just tried this and the error is still there.

Well, if you tried `C-u C-M-x' on `c-font-lock-declarations' and
the like, you needed to have patched cc-defs.el in addition to
byte-run.el.






^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2013-12-20  9:53         ` Katsumi Yamaoka
@ 2013-12-20 10:30           ` Anders Lindgren
  2013-12-20 12:44             ` Katsumi Yamaoka
  0 siblings, 1 reply; 22+ messages in thread
From: Anders Lindgren @ 2013-12-20 10:30 UTC (permalink / raw)
  To: Katsumi Yamaoka; +Cc: 16184

[-- Attachment #1: Type: text/plain, Size: 773 bytes --]

Sorry, I don't follow you here...

I get the problem when I do C-u C-M-x on both the small cut-down example of
my original bug report as well as on c-font-lock-declarations.

I haven't seen any patch to cc-defs.el in any of the mails I have received
on this matter.

I get the problem when I start Emacs with the "-Q" option, based on plain
build from a clean bzr checkout. I don't have any local patches applied, if
that is what you are suggesting.

    -- Anders


On Fri, Dec 20, 2013 at 10:53 AM, Katsumi Yamaoka <yamaoka@jpl.org> wrote:

> Anders Lindgren wrote:
> > I just tried this and the error is still there.
>
> Well, if you tried `C-u C-M-x' on `c-font-lock-declarations' and
> the like, you needed to have patched cc-defs.el in addition to
> byte-run.el.
>
>

[-- Attachment #2: Type: text/html, Size: 1248 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2013-12-20 10:30           ` Anders Lindgren
@ 2013-12-20 12:44             ` Katsumi Yamaoka
  2013-12-20 13:38               ` Anders Lindgren
  0 siblings, 1 reply; 22+ messages in thread
From: Katsumi Yamaoka @ 2013-12-20 12:44 UTC (permalink / raw)
  To: Anders Lindgren; +Cc: 16184

Anders Lindgren <andlind@gmail.com> wrote:
> I haven't seen any patch to cc-defs.el in any of the mails I have received on
> this matter.

<http://article.gmane.org/gmane.emacs.bugs/82252>
-> <http://cache.gmane.org//gmane/emacs/bugs/82252-001.bin>





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2013-12-20 12:44             ` Katsumi Yamaoka
@ 2013-12-20 13:38               ` Anders Lindgren
  2013-12-24  0:23                 ` Katsumi Yamaoka
  0 siblings, 1 reply; 22+ messages in thread
From: Anders Lindgren @ 2013-12-20 13:38 UTC (permalink / raw)
  To: Katsumi Yamaoka; +Cc: 16184

[-- Attachment #1: Type: text/plain, Size: 829 bytes --]

Hi!

OK, now I found the patch, and I now understand what you mean by the
"(&rest def-form)".

It seems to have solved one problem, but created another. When using C-u
C-M-x, everything works ok. However, the normal C-M-x command issues the
error "Too deep - perhaps infinite loop in spec?" When enabling
debug-on-error, it looks like a very deep call stack (754 entries).
Curiously, it works if I mark the function with the region and do
"eval-region", it works properly.

    -- Anders


On Fri, Dec 20, 2013 at 1:44 PM, Katsumi Yamaoka <yamaoka@jpl.org> wrote:

> Anders Lindgren <andlind@gmail.com> wrote:
> > I haven't seen any patch to cc-defs.el in any of the mails I have
> received on
> > this matter.
>
> <http://article.gmane.org/gmane.emacs.bugs/82252>
> -> <http://cache.gmane.org//gmane/emacs/bugs/82252-001.bin>
>

[-- Attachment #2: Type: text/html, Size: 1502 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2013-12-20 13:38               ` Anders Lindgren
@ 2013-12-24  0:23                 ` Katsumi Yamaoka
  2013-12-25 22:37                   ` Katsumi Yamaoka
  0 siblings, 1 reply; 22+ messages in thread
From: Katsumi Yamaoka @ 2013-12-24  0:23 UTC (permalink / raw)
  To: Anders Lindgren; +Cc: 16184

Anders Lindgren wrote:
> It seems to have solved one problem, but created another. When using
> C-u C-M-x, everything works ok. However, the normal C-M-x command
> issues the error "Too deep - perhaps infinite loop in spec?" When
> enabling debug-on-error, it looks like a very deep call stack (754
> entries). Curiously, it works if I mark the function with the region
> and do "eval-region", it works properly.

Sorry for the delay.  But
I'm unable to reproduce such an infloop-like error so far.
Could you show the name or the definition of the function
causing it?





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2013-12-24  0:23                 ` Katsumi Yamaoka
@ 2013-12-25 22:37                   ` Katsumi Yamaoka
  0 siblings, 0 replies; 22+ messages in thread
From: Katsumi Yamaoka @ 2013-12-25 22:37 UTC (permalink / raw)
  To: 16184-done; +Cc: Anders Lindgren

Katsumi Yamaoka wrote:
> Anders Lindgren wrote:
>> It seems to have solved one problem, but created another. When using
>> C-u C-M-x, everything works ok. However, the normal C-M-x command
>> issues the error "Too deep - perhaps infinite loop in spec?" When
>> enabling debug-on-error, it looks like a very deep call stack (754
>> entries). Curiously, it works if I mark the function with the region
>> and do "eval-region", it works properly.

> Sorry for the delay.  But
> I'm unable to reproduce such an infloop-like error so far.
> Could you show the name or the definition of the function
> causing it?

I've committed my patch since I think it's better at least than
not working.  Please reopen the bug if you get a reproducible error.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: incorrect Edebug spec for eval-and-compile
  2013-12-18 10:58 bug#16184: 24.3.50; edebug and eval-when-compiler don't work together Anders Lindgren
  2013-12-20  0:01 ` Katsumi Yamaoka
@ 2016-10-19  0:06 ` Gemini Lasswell
  2016-11-16  1:47 ` bug#16184: confirmed in 25.1 David Bremner
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 22+ messages in thread
From: Gemini Lasswell @ 2016-10-19  0:06 UTC (permalink / raw)
  To: 16184

This bug also exists in eval-and-compile, which needs the same fix as
eval-when-compile.

(defun test (limit)
  (eval-and-compile
    (boundp 'parse-sexp-lookup-properties)))

To reproduce:

1. emacs -Q
2. enter the above code into *scratch*
3. C-u C-M-x

Result: edebug-after: Wrong type argument: consp, nil






^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: confirmed in 25.1
  2013-12-18 10:58 bug#16184: 24.3.50; edebug and eval-when-compiler don't work together Anders Lindgren
  2013-12-20  0:01 ` Katsumi Yamaoka
  2016-10-19  0:06 ` bug#16184: incorrect Edebug spec for eval-and-compile Gemini Lasswell
@ 2016-11-16  1:47 ` David Bremner
  2016-11-16  2:07 ` bug#16184: confirmed on 25.1.1 Benaiah Mischenko
  2016-11-18 22:47 ` bug#16184: 24.3.50; edebug and eval-when-compiler don't work together Alan Mackenzie
  4 siblings, 0 replies; 22+ messages in thread
From: David Bremner @ 2016-11-16  1:47 UTC (permalink / raw)
  To: 16184

[-- Attachment #1: Type: text/plain, Size: 135 bytes --]


I tried the example from message #44 and got the same failure.
it does say "Edebug: test" on the previous line of *Messages*, fwiw

d

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 629 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: confirmed on 25.1.1
  2013-12-18 10:58 bug#16184: 24.3.50; edebug and eval-when-compiler don't work together Anders Lindgren
                   ` (2 preceding siblings ...)
  2016-11-16  1:47 ` bug#16184: confirmed in 25.1 David Bremner
@ 2016-11-16  2:07 ` Benaiah Mischenko
  2016-11-18 22:47 ` bug#16184: 24.3.50; edebug and eval-when-compiler don't work together Alan Mackenzie
  4 siblings, 0 replies; 22+ messages in thread
From: Benaiah Mischenko @ 2016-11-16  2:07 UTC (permalink / raw)
  To: 16184@debbugs.gnu.org

The eval-and-compile test case from message #44 fails for me in emacs -Q as well, with the following *Messages* output:

Edebug: test
edebug-after: Wrong type argument: consp, nil

The output of M-x emacs-version is as follows:

GNU Emacs 25.1.1 (x86_64-apple-darwin15.6.0, NS appkit-1404.47 Version 10.11.6 (Build 15G31)) of 2016-09-21

Turning on toggle-debug-on-error and running it again gave me the following backtrace:

Debugger entered--Lisp error: (wrong-type-argument consp nil)
  edebug-before(1)
  (edebug-after (edebug-before 1) 2 (boundp (quote parse-sexp-lookup-properties)))
  (progn (edebug-after (edebug-before 1) 2 (boundp (quote parse-sexp-lookup-properties))))
  eval((progn (edebug-after (edebug-before 1) 2 (boundp (quote parse-sexp-lookup-properties)))) nil)
  #[128 "\301\302\303\x03B\b\"D\207" [lexical-binding quote eval progn] 5 1783882]((edebug-after (edebug-before 1) 2 (boundp (quote parse-sexp-lookup-properties))))
  macroexpand((eval-and-compile (edebug-after (edebug-before 1) 2 (boundp (quote parse-sexp-lookup-properties)))) nil)
  macroexp-macroexpand((eval-and-compile (edebug-after (edebug-before 1) 2 (boundp (quote parse-sexp-lookup-properties)))) nil)
  macroexp--expand-all((eval-and-compile (edebug-after (edebug-before 1) 2 (boundp (quote parse-sexp-lookup-properties)))))
  macroexp--all-forms((edebug-after (edebug-before 0) 3 (eval-and-compile (edebug-after (edebug-before 1) 2 (boundp (quote parse-sexp-lookup-properties))))) 1)
  #[514 "\300\x01\301\"\211\204\x10




^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2013-12-18 10:58 bug#16184: 24.3.50; edebug and eval-when-compiler don't work together Anders Lindgren
                   ` (3 preceding siblings ...)
  2016-11-16  2:07 ` bug#16184: confirmed on 25.1.1 Benaiah Mischenko
@ 2016-11-18 22:47 ` Alan Mackenzie
  2016-12-29  9:29   ` Alan Mackenzie
  2016-12-30 23:27   ` Gemini Lasswell
  4 siblings, 2 replies; 22+ messages in thread
From: Alan Mackenzie @ 2016-11-18 22:47 UTC (permalink / raw)
  To: Anders Lindgren
  Cc: Gemini Lasswell, Katsumi Yamaoka, Benaiah Mischenko,
	David Bremner, 16184

Hello, Anders.

On Wed, Dec 18, 2013 at 11:58:23AM +0100, Anders Lindgren wrote:
> Hi!

> The construct 'eval-when-compile' seems to throw debug off. When pressing
> C-u C-M-x on the following, an error is issued. This worked correctly in
> 24.3. This makes it hard to use edebug on functions in cc-mode
> (like c-font-lock-declarations), as it makes heavy use of eval-when-compile.

> (defun test (limit)
>   (eval-when-compile
>     (boundp 'parse-sexp-lookup-properties)))

> Sincerely,
>     Anders Lidgren

[ .... ].

This has been bugging me off and on for years, too.  If I'd noticed your
bug report back in 2013, I might have got round to looking at it then,
but I thought it was just me that was suffering.  :-(

I think I now understand what's happening, and I have a tentative fix,
though this might be more of a workaround than fix, I'm not sure.

Anyhow, this is the form I've been testing with:

    (defun test (limit)
      (let ((foo
             (cc-eval-when-compile
               (boundp 'parse-sexp-lookup-properties))))))

, which clearly needs (require 'cc-defs) before it if you don't have CC
Mode loaded already.

#########################################################################

Essential background information
================================

When edebug instruments a function, it inserts a call to edebug-enter at
the start of the function.  Regularly throughout the function, it inserts
calls to edebug-before and edebug-after, in forms which look something
like:

    (edebug-before 2)
    (edebug-after (edebug-before 2) 3 ...)

.  edebug maintains a stack of numerical "offsets" (whatever they are)
called edebug-offset-indices, consing a 0 onto it in edebug-enter, each
time an instrumented function is entered.  At each edebug-before or
edebug-after, the top element of this stack is modified with:

    (setcar edebug-offset-indices before-index) ; where before-index is,
say 2.

The offset at the top of edebug-offset-indices is used to position point
each time edebug displays the buffer being debugged before waiting for
user input.

#########################################################################

The bug mechanism is this: The macro-expander working on
cc-eval-when-compile, and edebug's instrumentation produce a form
something like this:

    (edebug-enter 'test (limit)
                  (function (lambda ......
                   (cc-eval-when-compile
                    (edebug-after (edebug-before 2) 3
                                  (boundp 'parse-sexp-lookup-properties)
                   .....)))))

.  During this instrumentation, the inside of the cc-eval-when-compile
form gets run, in particular, the (edebug-before 2).  At this stage,
since edebug-enter hasn't been run at all, edebug-offset-indices is still
nil.  The (edebug-before 2) thus attempts (setcar nil 2), which throws
the error.

#########################################################################

My proposed solution/workaround is to initialise edebug-offset-indices to
'(0) rather than nil, giving edebug-before/after a cons to work on, even
when they're called "at the top level".

This seems to work, sort of.  In my test form above, when I do C-u C-M-x,
the function `test' gets successfully instrumented.  However, if I
replace cc-eval-when-compile with eval-when-compile and do C-u C-M-x, the
behaviour is different: during the instrumentation, edebug steps through
the `boundp' form.  I don't yet understand where this difference comes
from.

So, here's the patch, which I'd be grateful if you would try out.  It's
based on the savannah master:



diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 66117b8..5dc6f89 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -2052,9 +2052,9 @@ edebug-stack
 (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.
+;; Should be nil at the top level.  No longer!  Extensive comment needed here.
 ;; Each function adds one cons.  Top is modified with setcar.
 
 
This patch clearly needs commenting added to it, but I'm in much too
prolix a frame of mind to attempt that now.  ;-(

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2016-11-18 22:47 ` bug#16184: 24.3.50; edebug and eval-when-compiler don't work together Alan Mackenzie
@ 2016-12-29  9:29   ` Alan Mackenzie
  2016-12-30 20:02     ` Anders Lindgren
  2016-12-30 23:27   ` Gemini Lasswell
  1 sibling, 1 reply; 22+ messages in thread
From: Alan Mackenzie @ 2016-12-29  9:29 UTC (permalink / raw)
  To: 16184-done
  Cc: Gemini Lasswell, Katsumi Yamaoka, Benaiah Mischenko,
	Anders Lindgren, David Bremner

Bug fixed.

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2016-12-29  9:29   ` Alan Mackenzie
@ 2016-12-30 20:02     ` Anders Lindgren
  2016-12-31 16:22       ` Alan Mackenzie
  0 siblings, 1 reply; 22+ messages in thread
From: Anders Lindgren @ 2016-12-30 20:02 UTC (permalink / raw)
  To: Alan Mackenzie
  Cc: Gemini Lasswell, Katsumi Yamaoka, 16184-done, Benaiah Mischenko,
	David Bremner

[-- Attachment #1: Type: text/plain, Size: 5516 bytes --]

Hi!

I just got around to test this. Now, `eval-when-comple' seems to be
working. Unfortunately, `eval-and-comple' is still broken.

If I do C-u M-C-x eval the following with `debug-on-error' set to t, I get
the backtrace below:

(defun test (limit)
  (eval-and-compile
    (boundp 'parse-sexp-lookup-properties)))


Debugger entered--Lisp error: (void-variable edebug-freq-count)
  edebug-before(1)
  (edebug-after (edebug-before 1) 2 (boundp (quote
parse-sexp-lookup-properties)))
  (progn (edebug-after (edebug-before 1) 2 (boundp (quote
parse-sexp-lookup-properties))))
  eval((progn (edebug-after (edebug-before 1) 2 (boundp (quote
parse-sexp-lookup-properties)))) nil)
  #[128 "\301\302\303 B \"D\207" [lexical-binding quote eval progn] 5
1802730]((edebug-after (edebug-before 1) 2 (boundp (quote
parse-sexp-lookup-properties))))
  macroexpand((eval-and-compile (edebug-after (edebug-before 1) 2 (boundp
(quote parse-sexp-lookup-properties)))) nil)
  macroexp-macroexpand((eval-and-compile (edebug-after (edebug-before 1) 2
(boundp (quote parse-sexp-lookup-properties)))) nil)
  macroexp--expand-all((eval-and-compile (edebug-after (edebug-before 1) 2
(boundp (quote parse-sexp-lookup-properties)))))
  macroexp--all-forms((edebug-after (edebug-before 0) 3 (eval-and-compile
(edebug-after (edebug-before 1) 2 (boundp (quote
parse-sexp-lookup-properties))))) 1)
  #[514 "\300 \301\"\211\204 \302 \242\303\"\202g\304 !\204+\3051$\306\307
! \"0\202*\310\311 \"\262 \210\312 \242\" \242 =\203b \242\302
\242\303\"\211\262 \232\203J \242\202e \312 \"\240\210\211
\242=\203\\\211\202e\313 !\202e\313 !\262 \207" [function-get
compiler-macro macroexp--all-forms 1 functionp (debug error)
autoload-do-load indirect-function message "macroexp--expand-all: %S"
macroexp--compiler-macro macroexp--expand-all] 8 "\n\n(fn FORM
FUNC)"](((edebug-after (edebug-before 0) 3 (eval-and-compile (edebug-after
(edebug-before 1) 2 (boundp (quote parse-sexp-lookup-properties))))))
edebug-after)
  macroexp--expand-all((edebug-after (edebug-before 0) 3 (eval-and-compile
(edebug-after (edebug-before 1) 2 (boundp (quote
parse-sexp-lookup-properties))))))
  macroexp--all-forms((lambda nil (edebug-after (edebug-before 0) 3
(eval-and-compile (edebug-after (edebug-before 1) 2 (boundp (quote
parse-sexp-lookup-properties)))))) 2)
  macroexp--expand-all((function (lambda nil (edebug-after (edebug-before
0) 3 (eval-and-compile (edebug-after (edebug-before 1) 2 (boundp (quote
parse-sexp-lookup-properties))))))))
  macroexp--all-forms((edebug-enter (quote test) (list limit) (function
(lambda nil (edebug-after (edebug-before 0) 3 (eval-and-compile
(edebug-after (edebug-before 1) 2 (boundp ...))))))) 1)
  #[514 "\300 \301\"\211\204 \302 \242\303\"\202g\304 !\204+\3051$\306\307
! \"0\202*\310\311 \"\262 \210\312 \242\" \242 =\203b \242\302
\242\303\"\211\262 \232\203J \242\202e \312 \"\240\210\211
\242=\203\\\211\202e\313 !\202e\313 !\262 \207" [function-get
compiler-macro macroexp--all-forms 1 functionp (debug error)
autoload-do-load indirect-function message "macroexp--expand-all: %S"
macroexp--compiler-macro macroexp--expand-all] 8 "\n\n(fn FORM
FUNC)"](((edebug-enter (quote test) (list limit) (function (lambda nil
(edebug-after (edebug-before 0) 3 (eval-and-compile (edebug-after ... 2
...))))))) edebug-enter)
  macroexp--expand-all((edebug-enter (quote test) (list limit) (function
(lambda nil (edebug-after (edebug-before 0) 3 (eval-and-compile
(edebug-after (edebug-before 1) 2 (boundp ...))))))))
  macroexp--all-forms((lambda (limit) (edebug-enter (quote test) (list
limit) (function (lambda nil (edebug-after (edebug-before 0) 3
(eval-and-compile (edebug-after ... 2 ...))))))) 2)
  macroexp--expand-all((function (lambda (limit) (edebug-enter (quote test)
(list limit) (function (lambda nil (edebug-after (edebug-before 0) 3
(eval-and-compile ...))))))))
  macroexp--all-forms((defalias (quote test) (function (lambda (limit)
(edebug-enter (quote test) (list limit) (function (lambda nil (edebug-after
... 3 ...))))))) 1)
  #[514 "\300 \301\"\211\204 \302 \242\303\"\202g\304 !\204+\3051$\306\307
! \"0\202*\310\311 \"\262 \210\312 \242\" \242 =\203b \242\302
\242\303\"\211\262 \232\203J \242\202e \312 \"\240\210\211
\242=\203\\\211\202e\313 !\202e\313 !\262 \207" [function-get
compiler-macro macroexp--all-forms 1 functionp (debug error)
autoload-do-load indirect-function message "macroexp--expand-all: %S"
macroexp--compiler-macro macroexp--expand-all] 8 "\n\n(fn FORM
FUNC)"](((defalias (quote test) (function (lambda (limit) (edebug-enter
(quote test) (list limit) (function (lambda nil ...))))))) defalias)
  macroexp--expand-all((defun test (limit) (edebug-enter (quote test) (list
limit) (function (lambda nil (edebug-after (edebug-before 0) 3
(eval-and-compile (edebug-after ... 2 ...))))))))
  macroexpand-all((defun test (limit) (edebug-enter (quote test) (list
limit) (function (lambda nil (edebug-after (edebug-before 0) 3
(eval-and-compile (edebug-after ... 2 ...))))))))
  eval-sexp-add-defvars((defun test (limit) (edebug-enter (quote test)
(list limit) (function (lambda nil (edebug-after (edebug-before 0) 3
(eval-and-compile (edebug-after ... 2 ...))))))))
  edebug-eval-defun((4))
  apply(edebug-eval-defun (4))
  eval-defun((4))
  funcall-interactively(eval-defun (4))
  call-interactively(eval-defun nil nil)
  command-execute(eval-defun)

    -- Anders


On Thu, Dec 29, 2016 at 10:29 AM, Alan Mackenzie <acm@muc.de> wrote:

> Bug fixed.
>
> --
> Alan Mackenzie (Nuremberg, Germany).
>

[-- Attachment #2: Type: text/html, Size: 6606 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2016-11-18 22:47 ` bug#16184: 24.3.50; edebug and eval-when-compiler don't work together Alan Mackenzie
  2016-12-29  9:29   ` Alan Mackenzie
@ 2016-12-30 23:27   ` Gemini Lasswell
  2016-12-31 11:18     ` Alan Mackenzie
  1 sibling, 1 reply; 22+ messages in thread
From: Gemini Lasswell @ 2016-12-30 23:27 UTC (permalink / raw)
  To: Alan Mackenzie
  Cc: David Bremner, Katsumi Yamaoka, 16184, Anders Lindgren,
	Benaiah Mischenko

Alan Mackenzie <acm@muc.de> writes:

>
> .  During this instrumentation, the inside of the cc-eval-when-compile
> form gets run, in particular, the (edebug-before 2).  At this stage,
> since edebug-enter hasn't been run at all, edebug-offset-indices is still
> nil.  The (edebug-before 2) thus attempts (setcar nil 2), which throws
> the error.
>

I haven't able to reproduce the bug with cc-eval-when-compile,
just eval-and-compile. But the thing that is supposed to make Edebug
wrap a form in edebug-enter is the use of def-form or def-body in the
Edebug spec. It works for eval-when-compile which has the Edebug spec
(&rest def-form). The body of eval-and-compile doesn't get wrapped
because its Edebug spec is t, so the bug happens there.

cc-eval-when-compile has the same Edebug spec as eval-when-compile, so
its body should get wrapped by edebug-enter. If that's not happening in
your Emacs, it's a bug in Edebug which is different from the
eval-and-compile Edebug spec bug.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2016-12-30 23:27   ` Gemini Lasswell
@ 2016-12-31 11:18     ` Alan Mackenzie
  0 siblings, 0 replies; 22+ messages in thread
From: Alan Mackenzie @ 2016-12-31 11:18 UTC (permalink / raw)
  To: Gemini Lasswell
  Cc: David Bremner, Katsumi Yamaoka, 16184, Anders Lindgren,
	Benaiah Mischenko

Hello, Gemini.

On Fri, Dec 30, 2016 at 03:27:37PM -0800, Gemini Lasswell wrote:
> Alan Mackenzie <acm@muc.de> writes:

> > .  During this instrumentation, the inside of the cc-eval-when-compile
> > form gets run, in particular, the (edebug-before 2).  At this stage,
> > since edebug-enter hasn't been run at all, edebug-offset-indices is still
> > nil.  The (edebug-before 2) thus attempts (setcar nil 2), which throws
> > the error.

> I haven't able to reproduce the bug with cc-eval-when-compile,
> just eval-and-compile. But the thing that is supposed to make Edebug
> wrap a form in edebug-enter is the use of def-form or def-body in the
> Edebug spec.

This is extremely poorly documented, even in the source code, if it is
documented at all.  I don't really understand the documentation of the
edebug spec in general.

> It works for eval-when-compile which has the Edebug spec (&rest
> def-form). The body of eval-and-compile doesn't get wrapped because
> its Edebug spec is t, so the bug happens there.

Ah!  I think I'm beginning to understand all this.  Looking at the
source code, it seems a def-form or def-body causes the form to be
wrapping by edebug-enter, but not much else does.

> cc-eval-when-compile has the same Edebug spec as eval-when-compile, so
> its body should get wrapped by edebug-enter. If that's not happening in
> your Emacs, it's a bug in Edebug which is different from the
> eval-and-compile Edebug spec bug.

I think you've persuaded me that my fix to this bug was wrong.  Rather
than adapting initialisations to cope with edebug-enter not being
called, I should have diagnosed _why_ an edebug-enter is not being
generated during instrumentation of a cc-eval-when-compile form.

I'm working on this now.  Thank you indeed for drawing my attention to
these edebug specs.

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2016-12-30 20:02     ` Anders Lindgren
@ 2016-12-31 16:22       ` Alan Mackenzie
  2017-01-01  0:30         ` Anders Lindgren
  0 siblings, 1 reply; 22+ messages in thread
From: Alan Mackenzie @ 2016-12-31 16:22 UTC (permalink / raw)
  To: Anders Lindgren
  Cc: Gemini Lasswell, Katsumi Yamaoka, Benaiah Mischenko,
	David Bremner, 16184

Hello again, Anders.

On Fri, Dec 30, 2016 at 09:02:31PM +0100, Anders Lindgren wrote:
> Hi!

> I just got around to test this. Now, `eval-when-comple' seems to be
> working. Unfortunately, `eval-and-comple' is still broken.

> If I do C-u M-C-x eval the following with `debug-on-error' set to t, I get
> the backtrace below:

> (defun test (limit)
>   (eval-and-compile
>     (boundp 'parse-sexp-lookup-properties)))

[ snip backtrace ]

I got a tip from Gemini Lasswell last night.  What is broken is not
edebug.el itself, but the edebug specs applied to various macros.  For
macros like eval-\(when\|and\)-compile, there needs to be an
edebug-enter form compile around the macro.  Most edebug specs don't
compile this - only (I think) def-form and def-body do.  This is not
clearly documented.

Anyhow, I've changed the edebug spec of eval-and-compile to what it
should be (\(cc-\)?eval-when-compile already had it), and I think these
problems are all solved.

Would you please try out the following patch, and let me know sometime
that it's OK, then I can commit it.

Happy New Year again!



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 @@ eval-and-compile
 `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..fd3e48d 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -2052,15 +2052,10 @@ edebug-stack
 (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.
 ;; 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.
-
+;; Should be nil at the top level.
 (defvar edebug-entered nil
   ;; Non-nil if edebug has already been entered at this recursive edit level.
   ;; This should stay nil at the top level.

>     -- Anders

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2016-12-31 16:22       ` Alan Mackenzie
@ 2017-01-01  0:30         ` Anders Lindgren
  2017-01-01  8:37           ` Alan Mackenzie
  0 siblings, 1 reply; 22+ messages in thread
From: Anders Lindgren @ 2017-01-01  0:30 UTC (permalink / raw)
  To: Alan Mackenzie
  Cc: Gemini Lasswell, Katsumi Yamaoka, Benaiah Mischenko,
	David Bremner, 16184

[-- Attachment #1: Type: text/plain, Size: 3086 bytes --]

Hi Alan!

This time it seems to be working properly with both `eval-when-compile' and
`eval-and-compile'!

Happy new year to you too!

    -- Anders

On Sat, Dec 31, 2016 at 5:22 PM, Alan Mackenzie <acm@muc.de> wrote:

> Hello again, Anders.
>
> On Fri, Dec 30, 2016 at 09:02:31PM +0100, Anders Lindgren wrote:
> > Hi!
>
> > I just got around to test this. Now, `eval-when-comple' seems to be
> > working. Unfortunately, `eval-and-comple' is still broken.
>
> > If I do C-u M-C-x eval the following with `debug-on-error' set to t, I
> get
> > the backtrace below:
>
> > (defun test (limit)
> >   (eval-and-compile
> >     (boundp 'parse-sexp-lookup-properties)))
>
> [ snip backtrace ]
>
> I got a tip from Gemini Lasswell last night.  What is broken is not
> edebug.el itself, but the edebug specs applied to various macros.  For
> macros like eval-\(when\|and\)-compile, there needs to be an
> edebug-enter form compile around the macro.  Most edebug specs don't
> compile this - only (I think) def-form and def-body do.  This is not
> clearly documented.
>
> Anyhow, I've changed the edebug spec of eval-and-compile to what it
> should be (\(cc-\)?eval-when-compile already had it), and I think these
> problems are all solved.
>
> Would you please try out the following patch, and let me know sometime
> that it's OK, then I can commit it.
>
> Happy New Year again!
>
>
>
> 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 @@ eval-and-compile
>  `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..fd3e48d 100644
> --- a/lisp/emacs-lisp/edebug.el
> +++ b/lisp/emacs-lisp/edebug.el
> @@ -2052,15 +2052,10 @@ edebug-stack
>  (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.
>  ;; 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.
> -
> +;; Should be nil at the top level.
>  (defvar edebug-entered nil
>    ;; Non-nil if edebug has already been entered at this recursive edit
> level.
>    ;; This should stay nil at the top level.
>
> >     -- Anders
>
> --
> Alan Mackenzie (Nuremberg, Germany).
>

[-- Attachment #2: Type: text/html, Size: 3999 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#16184: 24.3.50; edebug and eval-when-compiler don't work together
  2017-01-01  0:30         ` Anders Lindgren
@ 2017-01-01  8:37           ` Alan Mackenzie
  0 siblings, 0 replies; 22+ messages in thread
From: Alan Mackenzie @ 2017-01-01  8:37 UTC (permalink / raw)
  To: Anders Lindgren
  Cc: Gemini Lasswell, Katsumi Yamaoka, 16184-done, Benaiah Mischenko,
	David Bremner

Hello, Anders.

On Sun, Jan 01, 2017 at 01:30:44AM +0100, Anders Lindgren wrote:
> Hi Alan!

> This time it seems to be working properly with both `eval-when-compile' and
> `eval-and-compile'!

> Happy new year to you too!

Thanks!  I've just committed the fix.

>     -- Anders

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2017-01-01  8:37 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-18 10:58 bug#16184: 24.3.50; edebug and eval-when-compiler don't work together Anders Lindgren
2013-12-20  0:01 ` Katsumi Yamaoka
2013-12-20  6:59   ` Anders Lindgren
2013-12-20  8:28     ` Katsumi Yamaoka
2013-12-20  9:26       ` Anders Lindgren
2013-12-20  9:53         ` Katsumi Yamaoka
2013-12-20 10:30           ` Anders Lindgren
2013-12-20 12:44             ` Katsumi Yamaoka
2013-12-20 13:38               ` Anders Lindgren
2013-12-24  0:23                 ` Katsumi Yamaoka
2013-12-25 22:37                   ` Katsumi Yamaoka
2016-10-19  0:06 ` bug#16184: incorrect Edebug spec for eval-and-compile Gemini Lasswell
2016-11-16  1:47 ` bug#16184: confirmed in 25.1 David Bremner
2016-11-16  2:07 ` bug#16184: confirmed on 25.1.1 Benaiah Mischenko
2016-11-18 22:47 ` bug#16184: 24.3.50; edebug and eval-when-compiler don't work together Alan Mackenzie
2016-12-29  9:29   ` Alan Mackenzie
2016-12-30 20:02     ` Anders Lindgren
2016-12-31 16:22       ` Alan Mackenzie
2017-01-01  0:30         ` Anders Lindgren
2017-01-01  8:37           ` Alan Mackenzie
2016-12-30 23:27   ` Gemini Lasswell
2016-12-31 11:18     ` Alan Mackenzie

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).