diff options
author | Richard M. Stallman <rms@gnu.org> | 1995-06-29 03:11:37 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1995-06-29 03:11:37 +0000 |
commit | 823587cafeea459c21b15c5a90707d7bf60f3505 (patch) | |
tree | fe9b32199cc7330de2f3d3703f97cb656aa3f71c /lisp/menu-bar.el | |
parent | fcf8e1d799d0760e680c32c7c7e109e3500c1707 (diff) | |
download | emacs-823587cafeea459c21b15c5a90707d7bf60f3505.tar.gz |
Make more menu-enables check (not buffer-read-only).
Add minibuffer local menu bar menus.
Diffstat (limited to 'lisp/menu-bar.el')
-rw-r--r-- | lisp/menu-bar.el | 57 |
1 files changed, 50 insertions, 7 deletions
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index ba07f0999b2..079de741c85 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -235,17 +235,20 @@ (message "Select a region with the mouse does `copy' automatically") (kill-ring-save beg end))) -(put 'fill-region 'menu-enable 'mark-active) -(put 'kill-region 'menu-enable 'mark-active) +(put 'fill-region 'menu-enable '(and mark-active (not buffer-read-only))) +(put 'kill-region 'menu-enable '(and mark-active (not buffer-read-only))) (put 'menu-bar-kill-ring-save 'menu-enable 'mark-active) -(put 'yank 'menu-enable '(x-selection-exists-p)) -(put 'yank-menu 'menu-enable '(cdr yank-menu)) +(put 'yank 'menu-enable '(and (x-selection-exists-p) (not buffer-read-only))) +(put 'yank-menu 'menu-enable '(and (cdr yank-menu) (not buffer-read-only))) (put 'delete-region 'menu-enable '(and mark-active + (not buffer-read-only) (not (mouse-region-match)))) -(put 'undo 'menu-enable '(if (eq last-command 'undo) - pending-undo-list - (consp buffer-undo-list))) +(put 'undo 'menu-enable '(and (not buffer-read-only) + (if (eq last-command 'undo) + pending-undo-list + (consp buffer-undo-list)))) (put 'query-replace 'menu-enable '(not buffer-read-only)) +(put 'query-replace-regexp 'menu-enable '(not buffer-read-only)) (autoload 'ispell-menu-map "ispell" nil t 'keymap) @@ -590,6 +593,46 @@ A large number or nil slows down menu responsiveness.") ;;; mode-name ;;; (or (buffer-file-name) "")))))) +;;; Set up a menu bar menu for the minibuffer. + +(mapcar + (function + (lambda (map) + (define-key map [menu-bar minibuf] + (cons "Minibuf" (make-sparse-keymap "Minibuf"))))) + (list minibuffer-local-ns-map + minibuffer-local-must-match-map + minibuffer-local-isearch-map + minibuffer-local-map + minibuffer-local-completion-map)) + +(mapcar + (function + (lambda (map) + (define-key map [menu-bar minibuf ?\?] + '("List Completions" . minibuffer-completion-help)) + (define-key map [menu-bar minibuf space] + '("Complete Word" . minibuffer-complete-word)) + (define-key map [menu-bar minibuf tab] + '("Complete" . 'minibuffer-complete)) + )) + (list minibuffer-local-must-match-map + minibuffer-local-completion-map)) + +(mapcar + (function + (lambda (map) + (define-key map [menu-bar minibuf quit] + '("Quit" . keyboard-escape-quit)) + (define-key map [menu-bar minibuf return] + '("Enter" . exit-minibuffer)) + )) + (list minibuffer-local-ns-map + minibuffer-local-must-match-map + minibuffer-local-isearch-map + minibuffer-local-map + minibuffer-local-completion-map)) + (defvar menu-bar-mode nil) (defun menu-bar-mode (flag) |