GNU bug report logs -
#7146
(make-symbol "") issues
Previous Next
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):
[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.