Package: emacs;
Reported by: Nic Ferrier <nferrier <at> ferrier.me.uk>
Date: Sun, 2 Sep 2012 00:56:02 UTC
Severity: normal
Found in version 24.1.50
Done: Alan Mackenzie <acm <at> muc.de>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Alan Mackenzie <acm <at> muc.de> Cc: tracker <at> debbugs.gnu.org Subject: bug#12329: closed (24.1.50; edebug with defun* and defmacro*) Date: Thu, 24 Dec 2015 18:45:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 24 Dec 2015 18:46:50 +0000 with message-id <20151224184650.GA5714 <at> acm.fritz.box> 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 help-debbugs <at> gnu.org.) -- 12329: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12329 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Nic Ferrier <nferrier <at> ferrier.me.uk> To: bug-gnu-emacs <at> gnu.org 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)
[Message part 3 (message/rfc822, inline)]
From: Alan Mackenzie <acm <at> muc.de> To: Nic Ferrier <nferrier <at> ferrier.me.uk> Cc: 12329-done <at> debbugs.gnu.org Subject: Re: bug#12329: 24.1.50; edebug with defun* and defmacro* Date: Thu, 24 Dec 2015 18:46:50 +0000Hello, 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).
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.