# HG changeset patch # User Richard M. Stallman # Date 804395497 0 # Node ID 04bcad1807b966816a500337f7f47b2264ae586d # Parent abf6a9c6e13922930a4ced5b874629b6bd38d0e9 Make more menu-enables check (not buffer-read-only). Add minibuffer local menu bar menus. diff -r abf6a9c6e139 -r 04bcad1807b9 lisp/menu-bar.el --- a/lisp/menu-bar.el Thu Jun 29 02:59:20 1995 +0000 +++ b/lisp/menu-bar.el Thu Jun 29 03:11:37 1995 +0000 @@ -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 @@ ;;; 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)