Subject: bug#12329: 24.1.50; edebug with defun* and defmacro*

From: Nic Ferrier <[email-masked]>
Date: Sun, 02 Sep 2012 00:35:10 +0100

(require 'cl)
(defun* nic-test-1 (a)
  10)

;; instrument the above function - it will enter the debugger instead of
;; instrumenting, that's wrong

(nic-test-1 20)

;; evaling that will call the function but does not enter the debugger,
;; because the instrumenting didn't work

(cl-defun nic-test-2 (a)
  30)

;; instrumenting that does seem to result in proper instrumentation

(nic-test-2 20)

;; evaling that does not result in the debugger being entered though.

I had a quick look on github, here are the relevant patches that look
like they might be the problem:

https://github.com/emacsmirror/emacs/commit/74e7f3ee6e3147e3c8f570ffeaadb4a9a5504f39
https://github.com/emacsmirror/emacs/commit/498110b9cee6e53cc5339206772b7e0e840b9330

In GNU Emacs 24.1.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.10)
 of 2012-08-29 on nferrier
Windowing system distributor `The X.Org Foundation', version 11.0.11103000
Configured using:
 `configure '--prefix=/home/nferrier/emacs-local''

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

Major mode: Emacs-Lisp

Minor modes in effect:
  whitespace-mode: t
  eldoc-mode: t
  show-paren-mode: t
  server-mode: t
  rcirc-track-minor-mode: t
  display-time-mode: t
  cua-mode: t
  auto-insert-mode: t
  tooltip-mode: t
  mouse-wheel-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
  hs-minor-mode: t

Recent input:
h a . SPC a n d SPC e d b <backspace> <backspace> <backspace> 
r e p o r t C-h f r e p o r t - <tab> C-g e <backspace> 
- e m a c s - b u g SPC i s SPC b r o k e n , <backspace> 
. <return> C-x o M-x <up> <return> <up> <return> q 
C-x k <return> y e s <return> C-x C-f <escape> <backspace> 
<escape> <backspace> <escape> <backspace> . e m <tab> 
n i <tab> <return> C-s o r g - e m a i l C-a C-x C-f 
C-g C-x o j <tab> i <backspace> m i n e SPC i s . SPC 
m y SPC <escape> <backspace> m y SPC o w n SPC h o 
o k SPC I SPC t h i n k . <return> C-x o C-x C-f p 
<backspace> e l p <tab> o r <tab> <tab> C-g <C-right> 
<C-right> <C-right> <C-right> <C-left> M-x c u s t 
<tab> i <tab> - v a r <tab> <return> m e s s <tab> 
- m o <tab> <return> <tab> <tab> <tab> <tab> <tab> 
<tab> <tab> <tab> <tab> C-k <tab> <return> 1 q <backspace> 
<tab> <return> 1 <tab> q C-x k <return> C-x C-f <up> 
<return> C-s o r g - e m C-s <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <down> <down> <C-right> <C-right> 
<C-right> <C-right> <C-left> C-a <right> <right> C-a 
C-k <C-down-mouse-1> <C-mouse-1> C-k <C-down-mouse-1> 
<C-mouse-1> <up> <down> C-x C-s M-x C-g C-h v <up> 
<return> C-x o <tab> <tab> <tab> <S-iso-lefttab> <return> 
<tab> <tab> <tab> <tab> <tab> <tab> <tab> <tab> <tab> 
<S-iso-lefttab> <return> <return> <tab> C-k <tab> <return> 
1 n i l <tab> <return> 1 q q C-x o C-x k <return> M-x 
<up> <up> <return>

Recent messages:
Apply settings and save for future sessions.
Hide the value of this option.
M-TAB: complete field; RET: enter value
Hide the value of this option.
M-TAB: complete field; RET: enter value
Change the state of this item.
custom-variable-mark-to-save: Saving message-mode-hook: Empty sexp -- use `nil'?
Change the state of this item.
Saving file /home/nferrier/.emacs.d/nic-custom.el...
Wrote /home/nferrier/.emacs.d/nic-custom.el [2 times]

Load-path shadows:
None found.

Features:
(shadow sort flyspell ispell cus-edit wid-edit mail-extr emacsbug
message format-spec rfc822 mml mml-sec mm-decode mm-bodies mailabbrev
gmm-utils mailheader sendmail mail-utils browse-url thingatpt imenu
parse-time multi-isearch jka-compr pp edebug elnode-tests fakir cl-macs
gv cl cl-lib face-remap dired-aux vc-git help-mode view network-stream
starttls tls hideshow disp-table whitespace ert find-func ewoc debug
eldoc load-dir bigint-autoloads dotassoc-autoloads edit-list-autoloads
esxml-autoloads gist-autoloads gh-autoloads groovy-mode-autoloads
js2-mode-autoloads legalese-autoloads load-dir-autoloads
logito-autoloads magit-autoloads markdown-mode-autoloads
mongo-elnode-autoloads elnode-autoloads elnode elnode-db json url-util
mailcap mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
creole-autoloads fakir-autoloads mongo-autoloads org-presie-autoloads
eimp-autoloads pcache-autoloads finder-inf rainbow-mode-autoloads
shell-switcher-autoloads web-autoloads wgrep-autoloads wikidoc-autoloads
package paren server rcirc ring time cua-base autoinsert cus-start
cus-load nic-custom dired-x easymenu dired uniquify ffap url-parse
auth-source eieio gnus-util mm-util mail-prsvr password-cache url-vars
edmacro kmacro byte-opt warnings bytecomp byte-compile cconv macroexp
advice help-fns advice-preload time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-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 loaddefs button faces
cus-face files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)