changeset 111173:c7d5564f0621

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.
author Glenn Morris <rgm@gnu.org>
date Sun, 24 Oct 2010 17:48:26 -0700
parents f8f3c137c1f2
children 7253525aadd5
files lib-src/ChangeLog lib-src/makefile.w32-in lisp/ChangeLog lisp/loadup.el lisp/menu-bar.el lisp/term/ns-win.el src/ChangeLog src/Makefile.in
diffstat 8 files changed, 50 insertions(+), 54 deletions(-) [+]
line wrap: on
line diff
--- a/lib-src/ChangeLog	Mon Oct 25 02:04:44 2010 +0200
+++ b/lib-src/ChangeLog	Sun Oct 24 17:48:26 2010 -0700
@@ -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.
--- a/lib-src/makefile.w32-in	Mon Oct 25 02:04:44 2010 +0200
+++ b/lib-src/makefile.w32-in	Sun Oct 24 17:48:26 2010 -0700
@@ -189,7 +189,6 @@
 	$(lispsource)term/pc-win.elc \
 	$(lispsource)x-dnd.elc \
 	$(lispsource)term/x-win.elc \
-	$(lispsource)emacs-lisp/easymenu.elc \
 	$(lispsource)term/ns-win.elc
 
 
--- a/lisp/ChangeLog	Mon Oct 25 02:04:44 2010 +0200
+++ b/lisp/ChangeLog	Sun Oct 24 17:48:26 2010 -0700
@@ -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/.
--- a/lisp/loadup.el	Mon Oct 25 02:04:44 2010 +0200
+++ b/lisp/loadup.el	Sun Oct 24 17:48:26 2010 -0700
@@ -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.
--- a/lisp/menu-bar.el	Mon Oct 25 02:04:44 2010 +0200
+++ b/lisp/menu-bar.el	Sun Oct 24 17:48:26 2010 -0700
@@ -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 @@
 
 (provide 'menu-bar)
 
-;; arch-tag: 6e6a3c22-4ec4-4d3d-8190-583f8ef94ced
 ;;; menu-bar.el ends here
--- a/lisp/term/ns-win.el	Mon Oct 25 02:04:44 2010 +0200
+++ b/lisp/term/ns-win.el	Sun Oct 24 17:48:26 2010 -0700
@@ -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 @@
     (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))
 
--- a/src/ChangeLog	Mon Oct 25 02:04:44 2010 +0200
+++ b/src/ChangeLog	Sun Oct 24 17:48:26 2010 -0700
@@ -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)
--- a/src/Makefile.in	Mon Oct 25 02:04:44 2010 +0200
+++ b/src/Makefile.in	Sun Oct 24 17:48:26 2010 -0700
@@ -590,8 +590,7 @@
   ../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