[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#411: 23.0.60; flet and byte-compilation
From: |
Glenn Morris |
Subject: |
bug#411: 23.0.60; flet and byte-compilation |
Date: |
Mon, 15 Sep 2008 04:04:58 -0400 |
User-agent: |
Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) |
Michael Heerdegen wrote:
> (defun f (x y)
> (flet ((+ (a b) (- a b)))
> (+ x y)))
>
> Bytecompile it [...]
>
> Evaluate the expression (f 1 2). This should yield -1, but the result
> will be 3.
Some (much delayed) observations:
1) it works to use `labels' instead of `flet'
2) it works to comment out the line in bytecomp.el
(byte-defop-compiler (+ byte-plus) byte-compile-associative)
I guess byte-compile-associative mangles the '(+ x y) form without
regard for the redefinition in effect. I don't know if that is
fixable, or should be a documented caveat with regards to primitives.
- bug#411: 23.0.60; flet and byte-compilation,
Glenn Morris <=