gensym returning same symbol
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Invalid
|
Undecided
|
Unassigned |
Bug Description
gensym.lisp:
(defmacro foo ()
(format t "gensym=~s~%" (gensym)))
(foo)
(foo)
(foo)
; compiling file "/Users/
gensym=#:G0
gensym=#:G0
gensym=#:G0
sbcl --version
SBCL 1.4.6.51-b9e029d96
But LispWorks returns unique symbols:
;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 1
;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3
;;; Source level debugging is on
;;; Source file recording is on
;;; Cross referencing is on
; (TOP-LEVEL-FORM 0)
; FOO
gensym=#:G1567
; (TOP-LEVEL-FORM 2)
gensym=#:G1568
; (TOP-LEVEL-FORM 3)
gensym=#:G1569
; (TOP-LEVEL-FORM 4)
uname -a
Darwin wrf3s-MacBook-
*features*
(:SWANK :QUICKLISP :SB-BSD-
:ASDF2 :ASDF :OS-MACOSX :OS-UNIX :NON-BASE-
:64-BIT-REGISTERS :ALIEN-CALLBACKS :ANSI-CL :ASH-RIGHT-VOPS :BSD
:C-STACK-
:COMPARE-
:DARWIN9-OR-BETTER :FLOAT-EQL-VOPS :FP-AND-
:IEEE-
:INTEGER-EQL-VOP :LINKAGE-TABLE :LITTLE-ENDIAN :MACH-EXCEPTION
:MEMORY-
:OS-PROVIDES-
:OS-PROVIDES-
:RAW-SIGNED-WORD :RELOCATABLE-HEAP :SB-DOC :SB-EVAL :SB-LDB :SB-PACKAGE-LOCKS
:SB-SIMD-PACK :SB-SOURCE-
:STACK-
:STACK-
:STACK-
:UNBIND-N-VOP :UNDEFINED-
:X86-64)
Changed in sbcl: | |
status: | New → Invalid |
Those are actually different symbols but with the same name.