GNU bug report logs - #7146
(make-symbol "") issues

Previous Next

Package: emacs;

Reported by: Frank <some.frank <at> gmail.com>

Date: Sat, 2 Oct 2010 12:36:02 UTC

Severity: minor

Tags: fixed

Fixed in version 24.1

Done: Lars Magne Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #17 received at 7146 <at> debbugs.gnu.org (full text, mbox):

From: Frank <some.frank <at> gmail.com>
To: Chong Yidong <cyd <at> stupidchicken.com>
Cc: 7146 <at> debbugs.gnu.org
Subject: Re: bug#7146: (make-symbol "") issues
Date: Sat, 02 Oct 2010 21:44:00 -0600
[Message part 1 (text/plain, inline)]
Chong Yidong schrieb:

>Frank <some.frank <at> gmail.com> writes:
>
>  
>
>>Well I further found out that you have to actually (byte-compile-file)
>>the above code in order for the bug to show up; compiling via
>>(compile-defun) seems to work OK;
>>    
>>
>
>I can't reproduce this.  Could you detail the *exact* steps you took,
>starting with `emacs -Q'?  Your description is too vague.
>
>  
>
1) Start `emacs -Q'
2) Load the file bug.el into a buffer via the menu
3) <M-x> byte-compile-file
4) <M-x> load-file bug.elc
5) <C-x b> *scratch*
6) (foo) *** emacs crashes or foo returns some odd number ***

(disassemble 'foo) looks like this (done between point 5 and 6)

byte code for foo:
 args: nil
0    constant  (message "Hello World!")
1    constant  (out-of-range 2)
2    catch     
3    dup     
4    varbind      :eof
5    constant  (message "Hello World!")
6    eq     
7    not     
8    goto-if-nil-else-pop 1
11    varref      :eof
12:1    unbind      1
13    return     

I attached the file I used for testing this and also it's byte compilation

[bug.elc (application/octet-stream, attachment)]
[bug.el (text/plain, inline)]
(defmacro bar (&rest body)
 (let ((v (make-symbol "")))         ; Crashes with "" as name.
   `(let ((,v (catch :eof
        ,@body)))

      (when (not (eq ,v :eof))
    ,v))))

(defun foo ()
 (bar (message "Hello World!")))

This bug report was last modified 13 years and 299 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.