mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-02 11:21:42 +00:00
Move ns-win.el's rather wacky menu adjustments to menu-bar.el.
* lisp/term/ns-win.el: Do not require easymenu. (menu-bar-edit-menu) <copy, paste, paste-from-menu, separator-undo>: <spell>: Move adjustments to menu-bar.el. * lisp/menu-bar.el (menu-bar-edit-menu) <copy, paste, paste-from-menu>: <separator-undo, spell>: Move ns-win's adjustments here. * lisp/loadup.el [ns]: Do not load easymenu. * src/Makefile.in (SOME_MACHINE_LISP): Remove easymenu.elc. * lib-src/makefile.w32-in (OTHER_PLATFORM_SUPPORT): Remove easymenu.elc.
This commit is contained in:
parent
5793a7bc13
commit
6a5c21753e
@ -1,3 +1,7 @@
|
||||
2010-10-25 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* makefile.w32-in (OTHER_PLATFORM_SUPPORT): Remove easymenu.elc.
|
||||
|
||||
2010-10-23 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* digest-doc.c, sorted-doc.c: Remove files.
|
||||
|
@ -189,7 +189,6 @@ OTHER_PLATFORM_SUPPORT = \
|
||||
$(lispsource)term/pc-win.elc \
|
||||
$(lispsource)x-dnd.elc \
|
||||
$(lispsource)term/x-win.elc \
|
||||
$(lispsource)emacs-lisp/easymenu.elc \
|
||||
$(lispsource)term/ns-win.elc
|
||||
|
||||
|
||||
|
@ -1,7 +1,16 @@
|
||||
2010-10-25 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* term/ns-win.el: Do not require easymenu.
|
||||
(menu-bar-edit-menu) <copy, paste, paste-from-menu, separator-undo>:
|
||||
<spell>: Move adjustments to menu-bar.el.
|
||||
* menu-bar.el (menu-bar-edit-menu) <copy, paste, paste-from-menu>:
|
||||
<separator-undo, spell>: Move ns-win's adjustments here.
|
||||
* loadup.el [ns]: Do not load easymenu.
|
||||
|
||||
2010-10-24 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* image.el (image-checkbox-checked, image-checkbox-unchecked):
|
||||
Deleted (Bug#7222).
|
||||
Delete (Bug#7222).
|
||||
|
||||
* startup.el (fancy-startup-tail): Instead of using inline images,
|
||||
refer to image files from etc/.
|
||||
|
@ -233,9 +233,7 @@
|
||||
(load "ls-lisp")
|
||||
(load "disp-table"))) ; needed to setup ibm-pc char set, see internal.el
|
||||
(if (featurep 'ns)
|
||||
(progn
|
||||
(load "emacs-lisp/easymenu") ;; for platform-related menu adjustments
|
||||
(load "term/ns-win")))
|
||||
(load "term/ns-win"))
|
||||
(if (fboundp 'x-create-frame)
|
||||
;; Do it after loading term/foo-win.el since the value of the
|
||||
;; mouse-wheel-*-event vars depends on those files being loaded or not.
|
||||
|
@ -361,6 +361,11 @@
|
||||
(define-key menu-bar-edit-menu [props]
|
||||
`(menu-item ,(purecopy "Text Properties") facemenu-menu))
|
||||
|
||||
;; ns-win.el said: Add spell for platorm consistency.
|
||||
(if (featurep 'ns)
|
||||
(define-key menu-bar-edit-menu [spell]
|
||||
`(menu-item ,(purecopy "Spell") ispell-menu-map)))
|
||||
|
||||
(define-key menu-bar-edit-menu [fill]
|
||||
`(menu-item ,(purecopy "Fill") fill-region
|
||||
:enable (and mark-active (not buffer-read-only))
|
||||
@ -453,30 +458,46 @@
|
||||
,(purecopy "Delete the text in region between mark and current position")))
|
||||
(defvar yank-menu (cons (purecopy "Select Yank") nil))
|
||||
(fset 'yank-menu (cons 'keymap yank-menu))
|
||||
(define-key menu-bar-edit-menu [paste-from-menu]
|
||||
`(menu-item ,(purecopy "Paste from Kill Menu") yank-menu
|
||||
;; The ns differences here seem silly.
|
||||
(define-key menu-bar-edit-menu (if (featurep 'ns) [select-paste]
|
||||
[paste-from-menu])
|
||||
;; ns-win.el said: Change text to be more consistent with
|
||||
;; surrounding menu items `paste', etc."
|
||||
`(menu-item ,(purecopy (if (featurep 'ns) "Select and Paste"
|
||||
"Paste from Kill Menu")) yank-menu
|
||||
:enable (and (cdr yank-menu) (not buffer-read-only))
|
||||
:help ,(purecopy "Choose a string from the kill ring and paste it")))
|
||||
(define-key menu-bar-edit-menu [paste]
|
||||
`(menu-item ,(purecopy "Paste") yank
|
||||
:enable (and (or
|
||||
;; Emacs compiled --without-x doesn't have
|
||||
;; x-selection-exists-p.
|
||||
;; Emacs compiled --without-x (or --with-ns)
|
||||
;; doesn't have x-selection-exists-p.
|
||||
(and (fboundp 'x-selection-exists-p)
|
||||
(x-selection-exists-p 'CLIPBOARD))
|
||||
kill-ring)
|
||||
(if (featurep 'ns) ; like paste-from-menu
|
||||
(cdr yank-menu)
|
||||
kill-ring))
|
||||
(not buffer-read-only))
|
||||
:help ,(purecopy "Paste (yank) text most recently cut/copied")))
|
||||
(define-key menu-bar-edit-menu [copy]
|
||||
`(menu-item ,(purecopy "Copy") menu-bar-kill-ring-save
|
||||
:enable mark-active
|
||||
:help ,(purecopy "Copy text in region between mark and current position")
|
||||
:keys ,(purecopy "\\[kill-ring-save]")))
|
||||
;; ns-win.el said: Substitute a Copy function that works better
|
||||
;; under X (for GNUstep).
|
||||
`(menu-item ,(purecopy "Copy") ,(if (featurep 'ns)
|
||||
'ns-copy-including-secondary
|
||||
'menu-bar-kill-ring-save)
|
||||
:enable mark-active
|
||||
:help ,(purecopy "Copy text in region between mark and current position")
|
||||
:keys ,(purecopy (if (featurep 'ns)
|
||||
"\\[ns-copy-including-secondary]"
|
||||
"\\[kill-ring-save]"))))
|
||||
(define-key menu-bar-edit-menu [cut]
|
||||
`(menu-item ,(purecopy "Cut") kill-region
|
||||
:enable (and mark-active (not buffer-read-only))
|
||||
:help
|
||||
,(purecopy "Cut (kill) text in region between mark and current position")))
|
||||
;; ns-win.el said: Separate undo from cut/paste section.
|
||||
(if (featurep 'ns)
|
||||
(define-key menu-bar-edit-menu [separator-undo] `(,(purecopy "--"))))
|
||||
(define-key menu-bar-edit-menu [undo]
|
||||
`(menu-item ,(purecopy "Undo") undo
|
||||
:enable (and (not buffer-read-only)
|
||||
@ -486,7 +507,6 @@
|
||||
(consp buffer-undo-list)))
|
||||
:help ,(purecopy "Undo last operation")))
|
||||
|
||||
|
||||
(defun menu-bar-kill-ring-save (beg end)
|
||||
(interactive "r")
|
||||
(if (mouse-region-match)
|
||||
@ -2082,5 +2102,4 @@ If FRAME is nil or not given, use the selected frame."
|
||||
|
||||
(provide 'menu-bar)
|
||||
|
||||
;; arch-tag: 6e6a3c22-4ec4-4d3d-8190-583f8ef94ced
|
||||
;;; menu-bar.el ends here
|
||||
|
@ -52,13 +52,9 @@
|
||||
(require 'frame)
|
||||
(require 'mouse)
|
||||
(require 'faces)
|
||||
(require 'easymenu)
|
||||
(require 'menu-bar)
|
||||
(require 'fontset)
|
||||
|
||||
;; Not needed?
|
||||
;;(require 'ispell)
|
||||
|
||||
(defgroup ns nil
|
||||
"GNUstep/Mac OS X specific features."
|
||||
:group 'environment)
|
||||
@ -441,38 +437,6 @@ The properties returned may include `top', `left', `height', and `width'."
|
||||
(define-key menu-bar-help-menu [info-panel]
|
||||
'("About Emacs..." . ns-do-emacs-info-panel)))
|
||||
|
||||
;;;; Edit menu: Modify slightly
|
||||
|
||||
;; Substitute a Copy function that works better under X (for GNUstep).
|
||||
(easy-menu-remove-item global-map '("menu-bar" "edit") 'copy)
|
||||
(define-key-after menu-bar-edit-menu [copy]
|
||||
'(menu-item "Copy" ns-copy-including-secondary
|
||||
:enable mark-active
|
||||
:help "Copy text in region between mark and current position")
|
||||
'cut)
|
||||
|
||||
;; Change to same precondition as select-and-paste, as we don't have
|
||||
;; `x-selection-exists-p'.
|
||||
(easy-menu-remove-item global-map '("menu-bar" "edit") 'paste)
|
||||
(define-key-after menu-bar-edit-menu [paste]
|
||||
'(menu-item "Paste" yank
|
||||
:enable (and (cdr yank-menu) (not buffer-read-only))
|
||||
:help "Paste (yank) text most recently cut/copied")
|
||||
'copy)
|
||||
|
||||
;; Change text to be more consistent with surrounding menu items `paste', etc.
|
||||
(easy-menu-remove-item global-map '("menu-bar" "edit") 'paste-from-menu)
|
||||
(define-key-after menu-bar-edit-menu [select-paste]
|
||||
'(menu-item "Select and Paste" yank-menu
|
||||
:enable (and (cdr yank-menu) (not buffer-read-only))
|
||||
:help "Choose a string from the kill ring and paste it")
|
||||
'paste)
|
||||
|
||||
;; Separate undo from cut/paste section, add spell for platform consistency.
|
||||
(define-key-after menu-bar-edit-menu [separator-undo] '("--") 'undo)
|
||||
(define-key-after menu-bar-edit-menu [spell] '("Spell" . ispell-menu-map) 'fill)
|
||||
|
||||
|
||||
;;;; Services
|
||||
(declare-function ns-perform-service "nsfns.m" (service send))
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
2010-10-25 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* Makefile.in (SOME_MACHINE_LISP): Remove easymenu.elc.
|
||||
|
||||
2010-10-24 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* w32fns.c (Fx_synchronize, Fx_change_window_property)
|
||||
|
@ -590,8 +590,7 @@ SOME_MACHINE_LISP = ../lisp/mouse.elc \
|
||||
../lisp/term/common-win.elc \
|
||||
../lisp/term/x-win.elc \
|
||||
../lisp/term/pc-win.elc ../lisp/term/internal.elc \
|
||||
../lisp/term/ns-win.elc ../lisp/term/w32-win.elc \
|
||||
../lisp/emacs-lisp/easymenu.elc
|
||||
../lisp/term/ns-win.elc ../lisp/term/w32-win.elc
|
||||
|
||||
## Construct full set of libraries to be linked.
|
||||
## Note that SunOS needs -lm to come before -lc; otherwise, you get
|
||||
|
Loading…
Reference in New Issue
Block a user