Subject: elisp-code behaves differently after byte-compilation

From: "Markus Sauermann" <[email-masked]>
Date: Sat, 02 Oct 2010 03:53:49 +0200

Hi,

I understand that byte-compiled code should do the same as the
uncompiled code (besides the macro-expansion problematic)

The following code however shows a case where this is not the case.

--- BEGIN CODE ---
(let ((fun (lambda () (let ((bar "foo")
                            (baz "foo"))
                        (eq bar baz)))))
  (list (funcall (byte-compile fun))
        (funcall fun)))
--- END CODE---

Evaluation this code (don't try to byte-compile it, because it is buggy ;-) ) results in:

--- BEGIN OUTPUT ---
(t nil)
--- END OUTPUT ---

which clearly means the byte compiation is somewhat broken.  It seems
during compilation the two strings "foo" are treated as the same
string.

Regards
Markus

-- 
Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief!  
Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail