Mercurial > emacs
changeset 94330:52fb31c78b25
(isearch-search-string): Avoid string-bytes and aset.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 24 Apr 2008 17:59:51 +0000 |
parents | 22f1fdbf5cde |
children | 6d85304f4f12 |
files | lisp/ChangeLog lisp/isearch.el |
diffstat | 2 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Thu Apr 24 17:59:13 2008 +0000 +++ b/lisp/ChangeLog Thu Apr 24 17:59:51 2008 +0000 @@ -1,5 +1,7 @@ 2008-04-24 Stefan Monnier <monnier@iro.umontreal.ca> + * isearch.el (isearch-search-string): Avoid string-bytes and aset. + * international/quail.el (quail-build-decode-map): Avoid string-bytes. * textmodes/ispell.el (ispell-dictionary-alist-1)
--- a/lisp/isearch.el Thu Apr 24 17:59:13 2008 +0000 +++ b/lisp/isearch.el Thu Apr 24 17:59:51 2008 +0000 @@ -2137,13 +2137,15 @@ pos1 pos2) (setq pos1 (save-excursion (funcall func string bound noerror))) (if (and (char-table-p translation-table-for-input) - (> (string-bytes string) len)) - (let (translated match-data) - (dotimes (i len) - (let ((x (aref translation-table-for-input (aref string i)))) - (when x - (or translated (setq translated (copy-sequence string))) - (aset translated i x)))) + (multibyte-string-p string) + ;; Minor optimization. + (string-match-p "[^[:ascii:]]" string)) + (let ((translated + (apply 'string + (mapcar (lambda (c) + (or (aref translation-table-for-input c) c)) + string))) + match-data) (when translated (save-match-data (save-excursion