--- Begin Message ---
Subject: |
24.3.50; isearch-repeat-forward without isearch-forward first signals error |
Date: |
Fri, 26 Apr 2013 02:11:05 +0800 |
Start Emacs cleanly and doing an isearch-repeat-forward, it is
expected to show the message [No previous search string] in the
echo area, but it raises the following instead:
Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
isearch-fail-pos(t)
isearch-message()
isearch-update()
isearch-repeat(forward)
isearch-repeat-forward()
call-interactively(isearch-repeat-forward nil nil)
command-execute(isearch-repeat-forward)
In GNU Emacs 24.3.50.1 (x86_64-apple-darwin12.3.0, NS apple-appkit-1187.37)
of 2013-04-25 on Darren-rMBP.local
Bzr revision: 112377 address@hidden
Windowing system distributor `Apple', version 10.3.1187
Configured using:
`configure --with-ns'
diff --git a/lisp/isearch.el b/lisp/isearch.el
index b36b250..b38bfc8 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1106,8 +1106,9 @@ If MSG is non-nil, use variable
`isearch-message', otherwise `isearch-string'."
(curr-msg (if msg isearch-message isearch-string))
succ-msg)
(when (or (not isearch-success) isearch-error)
- (while (or (not (isearch--state-success (car cmds)))
- (isearch--state-error (car cmds)))
+ (while (and cmds
+ (or (not (isearch--state-success (car cmds)))
+ (isearch--state-error (car cmds))))
(pop cmds))
(setq succ-msg (and cmds (if msg (isearch--state-message (car cmds))
(isearch--state-string (car cmds)))))
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#14268: 24.3.50; isearch-repeat-forward without isearch-forward first signals error |
Date: |
Sun, 28 Apr 2013 01:04:56 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu) |
> I think it's the default key binding, but after grepped a lot from
> nowhere can I find the key `s-d' bound to isearch-repeat-backward.
Grepping in the source directory `lisp' finds these ns-specific lines:
./lisp/term/ns-win.el:119:(define-key global-map [?\s-d]
'isearch-repeat-backward)
./lisp/term/ns-win.el:122:(define-key global-map [?\s-g]
'isearch-repeat-forward)
One way to reproduce your bug report is before typing `s-g'
set `isearch-error' to a non-nil value, e.g.
(setq isearch-error "error")
I don't know what code in your config does this, so I installed
your patch as a precaution against such situation. Thank you.
--- End Message ---