1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

* lisp/isearch.el (isearch-del-char): Don't exceed the length of `isearch-string'

by the prefix arg.

Fixes: debbugs:14563
This commit is contained in:
Juri Linkov 2013-06-14 00:11:42 +03:00
parent 6e8cfc81e7
commit cb89acab6c
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2013-06-13 Juri Linkov <juri@jurta.org>
* isearch.el (isearch-del-char): Don't exceed the length of
`isearch-string' by the prefix arg. (Bug#14563)
2013-06-13 Juri Linkov <juri@jurta.org>
* isearch.el (isearch-yank-word, isearch-yank-line)

View File

@ -1815,11 +1815,17 @@ If search string is empty, just beep."
(interactive "p")
(if (= 0 (length isearch-string))
(ding)
(setq isearch-string (substring isearch-string 0 (- (or arg 1)))
(setq isearch-string (substring isearch-string 0
(- (min (or arg 1)
(length isearch-string))))
isearch-message (mapconcat 'isearch-text-char-description
isearch-string "")))
;; Use the isearch-other-end as new starting point to be able
;; to find the remaining part of the search string again.
;; This is like what `isearch-search-and-update' does,
;; but currently it doesn't support deletion of characters
;; for the case where unsuccessful search may become successful
;; by deletion of characters.
(if isearch-other-end (goto-char isearch-other-end))
(isearch-search)
(isearch-push-state)