X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fisearch-mode.el;h=cc5b3fa8287ee7539e2f83a2ea5a6f5a896af170;hb=9d42ddfbe6920bbf1e36c4d96b642c955f42e399;hp=c1f7ef5a7aabba6e60d8162e90c929baec83479c;hpb=72a705551741d6f85a40eea486c222bac482d8dc;p=chise%2Fxemacs-chise.git diff --git a/lisp/isearch-mode.el b/lisp/isearch-mode.el index c1f7ef5..cc5b3fa 100644 --- a/lisp/isearch-mode.el +++ b/lisp/isearch-mode.el @@ -148,12 +148,6 @@ that the search has reached." :type 'integer :group 'isearch) -(defcustom search-caps-disable-folding t - "*If non-nil, upper case chars disable case fold searching. -This does not apply to \"yanked\" strings." - :type 'boolean - :group 'isearch) - (defcustom search-nonincremental-instead t "*If non-nil, do a nonincremental search instead if exiting immediately." :type 'boolean @@ -461,7 +455,12 @@ is treated as a regexp. See \\[isearch-forward] for more info." ;; #### Should we remember the old value of ;; overriding-local-map? - overriding-local-map isearch-mode-map + overriding-local-map (progn + (set-keymap-parents isearch-mode-map + (nconc (current-minor-mode-maps) + (and (current-local-map) + (list (current-local-map))))) + isearch-mode-map) isearch-selected-frame (selected-frame) isearch-mode (gettext " Isearch") @@ -587,7 +586,7 @@ is treated as a regexp. See \\[isearch-forward] for more info." (cons isearch-string regexp-search-ring) regexp-search-ring-yank-pointer regexp-search-ring) (if (> (length regexp-search-ring) regexp-search-ring-max) - (setcdr (nthcdr (1- search-ring-max) regexp-search-ring) + (setcdr (nthcdr (1- regexp-search-ring-max) regexp-search-ring) nil)))) (if (not (setq search-ring-yank-pointer ;; really need equal test instead of eq. @@ -938,7 +937,8 @@ backwards." (defun isearch-fix-case () (if (and isearch-case-fold-search search-caps-disable-folding) - (setq isearch-case-fold-search (isearch-no-upper-case-p isearch-string))) + (setq isearch-case-fold-search + (no-upper-case-p isearch-string isearch-regexp))) (setq isearch-mode (if case-fold-search (if isearch-case-fold-search " Isearch" ;As God Intended Mode @@ -1598,11 +1598,10 @@ currently matches the search-string.") ; ;; Go ahead and search. ; (if search-caps-disable-folding ; (setq isearch-case-fold-search -; (isearch-no-upper-case-p isearch-string))) +; (no-upper-case-p isearch-string isearch-regexp))) ; (let ((case-fold-search isearch-case-fold-search)) ; (funcall function isearch-string)))) - (defun isearch-no-upper-case-p (string) "Return t if there are no upper case chars in string. But upper case chars preceded by \\ do not count since they @@ -1610,6 +1609,7 @@ have special meaning in a regexp." ;; this incorrectly returns t for "\\\\A" (let ((case-fold-search nil)) (not (string-match "\\(^\\|[^\\]\\)[A-Z]" string)))) +(make-obsolete 'isearch-no-upper-case-p 'no-upper-case-p) ;; Used by etags.el and info.el (defmacro with-caps-disable-folding (string &rest body) "\ @@ -1620,6 +1620,7 @@ uppercase letters and `search-caps-disable-folding' is t." (isearch-no-upper-case-p ,string) case-fold-search))) ,@body)) +(make-obsolete 'with-caps-disable-folding 'with-search-caps-disable-folding) (put 'with-caps-disable-folding 'lisp-indent-function 1) (put 'with-caps-disable-folding 'edebug-form-spec '(form body))