GNU bug report logs - #14268
24.3.50; isearch-repeat-forward without isearch-forward first signals error

Previous Next

Package: emacs;

Reported by: Darren Hoo <darren.hoo <at> gmail.com>

Date: Thu, 25 Apr 2013 18:17:01 UTC

Severity: minor

Tags: moreinfo

Found in version 24.3.50

Done: Juri Linkov <juri <at> jurta.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 14268 in the body.
You can then email your comments to 14268 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#14268; Package emacs. (Thu, 25 Apr 2013 18:17:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Darren Hoo <darren.hoo <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 25 Apr 2013 18:17:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Darren Hoo <darren.hoo <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
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 yamaoka <at> jpl.org-20130424220721-t957vh44sdvmxj28
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)))))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#14268; Package emacs. (Thu, 25 Apr 2013 19:36:02 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Darren Hoo <darren.hoo <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#14268: 24.3.50;
	isearch-repeat-forward without isearch-forward first signals error
Date: Fri, 26 Apr 2013 03:27:03 +0800
Sorry, I tried this over and over but can not reproduce this 100% of the
time.

the isearch key binding `C-s' alone is all I need, what's the usage of
`s-d' and `s-g'?

why isearch-repeat-forward and isearch-repeat-backward is bound to the
keys s-d and s-g? I can not find where they're bound(start with Emacs
-Q),







Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#14268; Package emacs. (Thu, 25 Apr 2013 21:04:01 GMT) Full text and rfc822 format available.

Message #11 received at 14268 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> jurta.org>
To: Darren Hoo <darren.hoo <at> gmail.com>
Cc: 14268 <at> debbugs.gnu.org
Subject: Re: bug#14268: 24.3.50;
	isearch-repeat-forward without isearch-forward first signals error
Date: Thu, 25 Apr 2013 23:57:04 +0300
> Sorry, I tried this over and over but can not reproduce this 100% of the
> time.
>
> the isearch key binding `C-s' alone is all I need, what's the usage of
> `s-d' and `s-g'?

Perhaps `s-d' is defined somewhere in your config with something like:

  (define-key global-map [(super ?d)] 'isearch-repeat-forward)

But I can't reproduce the problem by typing `s-d s-d s-d ...'
It displays "[No previous search string]" as expected.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#14268; Package emacs. (Fri, 26 Apr 2013 01:20:02 GMT) Full text and rfc822 format available.

Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Darren Hoo <darren.hoo <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#14268: 24.3.50;
	isearch-repeat-forward without isearch-forward first signals error
Date: Fri, 26 Apr 2013 09:18:54 +0800
Juri Linkov <juri <at> jurta.org> writes:


> Perhaps `s-d' is defined somewhere in your config with something like:
>
>   (define-key global-map [(super ?d)] 'isearch-repeat-forward)
>
> But I can't reproduce the problem by typing `s-d s-d s-d ...'
> It displays "[No previous search string]" as expected.

Have you bound these keys in your config? I don't, even if I did I've
already started test with Emacs -Q and it is bound:

   s-d runs the command isearch-repeat-backward, which is an interactive
   compiled Lisp function in `isearch.el'.

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.





Reply sent to Juri Linkov <juri <at> jurta.org>:
You have taken responsibility. (Sat, 27 Apr 2013 22:07:02 GMT) Full text and rfc822 format available.

Notification sent to Darren Hoo <darren.hoo <at> gmail.com>:
bug acknowledged by developer. (Sat, 27 Apr 2013 22:07:02 GMT) Full text and rfc822 format available.

Message #19 received at 14268-done <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> jurta.org>
To: Darren Hoo <darren.hoo <at> gmail.com>
Cc: 14268-done <at> debbugs.gnu.org
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
> 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.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 26 May 2013 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 10 years and 346 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.