summaryrefslogtreecommitdiff
path: root/lisp/menu-bar.el
diff options
context:
space:
mode:
authorArtur Malabarba <bruce.connor.am@gmail.com>2016-02-06 22:45:17 +0000
committerArtur Malabarba <bruce.connor.am@gmail.com>2016-02-06 22:58:24 +0000
commit16140f7ecebc82829c9720cb18979fb26063fa56 (patch)
treece4f1fef5e001acfa92d00cce03205e3a9d6ea6f /lisp/menu-bar.el
parent3db6adb174e4b3aa147fc7b260e5e401cb6069fc (diff)
downloademacs-16140f7ecebc82829c9720cb18979fb26063fa56.tar.gz
emacs-16140f7ecebc82829c9720cb18979fb26063fa56.tar.bz2
emacs-16140f7ecebc82829c9720cb18979fb26063fa56.zip
* lisp/menu-bar.el (menu-bar-options-menu): New search submenu
(menu-bar-search-options-menu): New variable
Diffstat (limited to 'lisp/menu-bar.el')
-rw-r--r--lisp/menu-bar.el55
1 files changed, 49 insertions, 6 deletions
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 254bdeecaae..6281d7e5453 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1250,6 +1250,52 @@ mail status in mode line"))
:enable (not (truncated-partial-width-window-p))))
menu))
+(defvar menu-bar-search-options-menu
+ (let ((menu (make-sparse-keymap "Search Options")))
+
+ (dolist (x '((character-fold-to-regexp "Fold Characters" "Character folding")
+ (isearch-symbol-regexp "Whole Symbols" "Whole symbol")
+ (word-search-regexp "Whole Words" "Whole word")))
+ (bindings--define-key menu (vector (nth 0 x))
+ `(menu-item ,(nth 1 x)
+ (lambda ()
+ (interactive)
+ (setq search-default-mode #',(nth 0 x))
+ (message ,(format "%s search enabled" (nth 2 x))))
+ :help ,(format "Enable %s search" (downcase (nth 2 x)))
+ :button (:radio . (eq search-default-mode #',(nth 0 x))))))
+
+ (bindings--define-key menu [regexp-search]
+ '(menu-item "Regular Expression"
+ (lambda ()
+ (interactive)
+ (setq search-default-mode t)
+ (message "Regular-expression search enabled"))
+ :help "Enable regular-expression search"
+ :button (:radio . (eq search-default-mode t))))
+
+ (bindings--define-key menu [regular-search]
+ '(menu-item "Literal Search"
+ (lambda ()
+ (interactive)
+ (when search-default-mode
+ (setq search-default-mode nil)
+ (when (symbolp search-default-mode)
+ (message "Literal search enabled"))))
+ :help "Disable special search modes"
+ :button (:radio . (not search-default-mode))))
+
+ (bindings--define-key menu [custom-separator]
+ menu-bar-separator)
+ (bindings--define-key menu [case-fold-search]
+ (menu-bar-make-toggle
+ toggle-case-fold-search case-fold-search
+ "Ignore Case"
+ "Case-Insensitive Search %s"
+ "Ignore letter-case in search commands"))
+
+ menu))
+
(defvar menu-bar-options-menu
(let ((menu (make-sparse-keymap "Options")))
(bindings--define-key menu [customize]
@@ -1361,12 +1407,9 @@ mail status in mode line"))
(:visible (and (boundp 'cua-enable-cua-keys)
(not cua-enable-cua-keys)))))
- (bindings--define-key menu [case-fold-search]
- (menu-bar-make-toggle
- toggle-case-fold-search case-fold-search
- "Ignore Case for Search"
- "Case-Insensitive Search %s"
- "Ignore letter-case in search commands"))
+ (bindings--define-key menu [search-options]
+ `(menu-item "Default Search Options"
+ ,menu-bar-search-options-menu))
(bindings--define-key menu [line-wrapping]
`(menu-item "Line Wrapping in This Buffer"