GNU bug report logs -
#14565
24.3.50; Error with byte-compiled function using backward-char
Previous Next
Reported by: Stephen Berman <stephen.berman <at> gmx.net>
Date: Thu, 6 Jun 2013 14:27:01 UTC
Severity: normal
Found in version 24.3.50
Fixed in version 24.4
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #19 received at 14565 <at> debbugs.gnu.org (full text, mbox):
On Thu, 06 Jun 2013 22:28:22 -0400 Glenn Morris <rgm <at> gnu.org> wrote:
> I suppose there could still be cases like
>
> (setq foo nil)
> (backward-char foo)
Yes, in fact, after seeing your fix, I realized that I had
oversimplified my test case; the code which revealed the bug actually
looks more like this (still simplified, but enough to raise the error
with your fix):
(defun my-test-3 ()
(let (x)
(backward-char (when x 2))))
> I wonder if these bytecomp handlers are worth keeping?
I don't see how to tweak byte-compile-backward-char to account for the
above cases, but I don't understand the bytecomp code well. However, I
did test adding a case Bbackward_char to exec_byte_code parallel to
Bforward_char, and that handles the above cases as expected. So that
may be the easiest fix.
Steve Berman
This bug report was last modified 11 years and 349 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.