--- Begin Message ---
Subject: |
23.1; (intern-soft "") returns non-nil |
Date: |
Wed, 03 Mar 2010 08:28:35 +0900 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/23.1.93 (gnu/linux) |
Hi,
There's a program assuming (intern-soft STR) always return nil
if STR is the null string. It works in Emacs 22, but doesn't in
Emacs 23. That problem is easily solved by modifying the code
into: (unless (equal STR "") (intern-soft STR))
However, isn't it an Emacs 23 bug? It's not so serious though.
It does not happen in Emacs that is launched using the arg -Q
but happens after loading the ~/.emacs file. I found at least
`internal-set-lisp-face-attribute' that `set-face-attribute'
uses does intern "". For instance:
$ emacs -Q
(intern-soft "")
=> nil
(internal-set-lisp-face-attribute
'bold :font
"-*-gothic-bold-r-*-*-16-*-*-*-*-*-iso8859-1"
0)
=> bold
(intern-soft "")
=>
I don't know what in `internal-set-lisp-face-attribute' does it.
Regards,
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#5672: 23.1; (intern-soft "") returns non-nil |
Date: |
Tue, 02 Mar 2010 23:15:31 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux) |
> There's a program assuming (intern-soft STR) always return nil
> if STR is the null string.
That is an invalid assumption.
> It works in Emacs 22, but doesn't in Emacs 23.
Try it with Emacs-22 after doing (intern ""), you'll get the same result
as in Emacs-23.
> However, isn't it an Emacs 23 bug?
No.
Stefan
--- End Message ---