GNU bug report logs -
#53598
28.0.91; occur-after-change function errors with args-out-of-range in occur-edit-mode
Previous Next
Reported by: Jack Henahan <root <at> proofte.ch>
Date: Fri, 28 Jan 2022 09:07:01 UTC
Severity: normal
Found in version 28.0.91
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
I may have spoken too soon. It looks like there's an edge case on either end of an occurrence line. With the attached reproducer file in `emacs -Q':
M-s o buffer RET
C-x o
n
C-e
e
DEL
Debugger entered--Lisp error: (args-out-of-range "(setq minibuffer-prompt-pe" 26 0)
occur-after-change-function(77 77 1)
delete-backward-char(1 nil)
funcall-interactively(delete-backward-char 1 nil)
command-execute(delete-backward-char)
Similarly,
M-s o buffer RET
C-x o
n
C-r ( RET
e
DEL
Debugger entered--Lisp error: (args-out-of-range "(setq minibuffer-prompt-pes" 27 0)
occur-after-change-function(50 50 1)
delete-backward-char(1 nil)
funcall-interactively(delete-backward-char 1 nil)
command-execute(delete-backward-char)
Trying to grok what all's going on in the code to hopefully be more helpful than just finding the thing.
Testing in 27.2 shows no errors in these edge cases. In the latter example, deleting backward past the occurrence's first char deletes into the line indicator, but with no effect on the buffer. This is weird to look at, but at least not totally surprising. I'm attempting to learn enough about text-property to see if I can figure out how to make only the occur-items writable and leave everything else read-only.
[test.el (text/plain, attachment)]
This bug report was last modified 3 years and 170 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.