emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#12329: closed (24.1.50; edebug with defun* and def


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#12329: closed (24.1.50; edebug with defun* and defmacro*)
Date: Thu, 24 Dec 2015 18:45:02 +0000

Your message dated Thu, 24 Dec 2015 18:46:50 +0000
with message-id <address@hidden>
and subject line Re: bug#12329: 24.1.50; edebug with defun* and defmacro*
has caused the debbugs.gnu.org bug report #12329,
regarding 24.1.50; edebug with defun* and defmacro*
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
12329: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12329
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: 24.1.50; edebug with defun* and defmacro* 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)



--- End Message ---
--- Begin Message --- Subject: Re: bug#12329: 24.1.50; edebug with defun* and defmacro* Date: Thu, 24 Dec 2015 18:46:50 +0000 User-agent: Mutt/1.5.23 (2014-03-12)
Hello, Nic.

I know it's over three years ago, but .....

On Sun, Sep 02, 2012 at 12:35:10AM +0100, Nic Ferrier wrote:

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

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

I don't have an Emacs 24.1, and have difficulty building one.  So I've
tried these things out on 23.2 and 24.2.  My comments below apply
equally to both versions.

When I try to instrument the `defun*' form without having done the
`require', the instrumentation process does indeed enter edebug as
though it were a defvar.  After doing the `require', it instruments the
`defun*' properly.

> (nic-test-1 20)

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

On evaluating (symbol-function 'nic-test-1), I get this form:

    (lambda (a) (block nic-test-1 (edebug-enter (quote nic-test-1) (list a) 
(function (lambda nil 10)))))

, which shows that the original form _has_ been instrumented.  This is
not apparent on running it, though, because there is no "stop point"
anywhere in the function for edbug to stop at.  When "10" is replaced by
"a", the instrumented form looks like:

   (lambda (a) (block nic-test-2 (edebug-enter (quote nic-test-2) (list a) 
(function (lambda nil (edebug-after 0 0 a))))))

; on running this, edebug does stop inside the function, just after
evaluating "a". 

> (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

Sadly, these patches are now lost forever.  :-(.  This is an example of
why 40 hex-digit hashes are a poor identifier.  With a savannah (bzr)
revision number, or a date together with commit message text, they could
have been found easily.

> 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''

[ .... ]

There may have been a bug here, in Emacs 24.1.  I don't think there was
in either 23.2 or 24.2.  So I'm closing this bug.

-- 
Alan Mackenzie (Nuremberg, Germany).


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]