(auto-mode-alist): Add uppercase version of archive
[bpt/emacs.git] / lisp / isearch.el
index 6fb5360..a98c212 100644 (file)
@@ -475,7 +475,7 @@ is treated as a regexp.  See \\[isearch-forward] for more info."
   (isearch-update)
   (run-hooks 'isearch-mode-hook)
 
-  (setq mouse-leave-buffer-hook '(isearch-done))
+  (add-hook 'mouse-leave-buffer-hook 'isearch-done)
 
   ;; isearch-mode can be made modal (in the sense of not returning to 
   ;; the calling function until searching is completed) by entering 
@@ -525,7 +525,7 @@ is treated as a regexp.  See \\[isearch-forward] for more info."
   )
 
 (defun isearch-done (&optional nopush edit)
-  (setq mouse-leave-buffer-hook nil)
+  (remove-hook 'mouse-leave-buffer-hook 'isearch-done)
   ;; Called by all commands that terminate isearch-mode.
   ;; If NOPUSH is non-nil, we don't push the string on the search ring.
   (setq overriding-terminal-local-map nil)
@@ -1004,7 +1004,8 @@ and the meta character is unread so that it applies to editing the string."
         (keylist (listify-key-sequence key)))
     (cond ((and (= (length key) 1)
                (let ((lookup (lookup-key function-key-map key)))
-                 (not (or (null lookup) (integerp lookup)))))
+                 (not (or (null lookup) (integerp lookup)
+                          (keymapp lookup)))))
           ;; Handle a function key that translates into something else.
           ;; If the key has a global definition too,
           ;; exit and unread the key itself, so its global definition runs.