aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2009-10-31 18:03:02 +0000
committerChong Yidong2009-10-31 18:03:02 +0000
commitebf5c4f5267dbac1e9e4b875c56f36ef2835c370 (patch)
tree22f1b316d7a36a30a4689fc0f92fcd22f595b56a
parentc38eb0274c8fedeb0b4470943f44ba274037eae2 (diff)
downloademacs-ebf5c4f5267dbac1e9e4b875c56f36ef2835c370.tar.gz
emacs-ebf5c4f5267dbac1e9e4b875c56f36ef2835c370.zip
* menu-bar.el (menu-bar-tools-menu): Add Semantic and EDE menu
items. * cedet/cedet.el (cedet-menu-map): Remove Semantic and EDE menu items. * cedet/ede.el (ede-minor-mode): * cedet/semantic.el (semantic-mode): Toggle menu separators.
-rw-r--r--lisp/ChangeLog11
-rw-r--r--lisp/cedet/cedet.el10
-rw-r--r--lisp/cedet/ede.el27
-rw-r--r--lisp/cedet/semantic.el9
-rw-r--r--lisp/menu-bar.el12
5 files changed, 45 insertions, 24 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b735945d386..e7175142f3a 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,14 @@
12009-10-31 Chong Yidong <cyd@stupidchicken.com>
2
3 * menu-bar.el (menu-bar-tools-menu): Add Semantic and EDE menu
4 items.
5
6 * cedet/cedet.el (cedet-menu-map): Remove Semantic and EDE menu
7 items.
8
9 * cedet/ede.el (ede-minor-mode):
10 * cedet/semantic.el (semantic-mode): Toggle menu separators.
11
12009-10-31 Stefan Monnier <monnier@iro.umontreal.ca> 122009-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
2 13
3 * textmodes/two-column.el (2C-split): 14 * textmodes/two-column.el (2C-split):
diff --git a/lisp/cedet/cedet.el b/lisp/cedet/cedet.el
index e335286da61..a2725989731 100644
--- a/lisp/cedet/cedet.el
+++ b/lisp/cedet/cedet.el
@@ -63,17 +63,7 @@
63 (define-key map [global-semantic-idle-summary-mode] 'undefined) 63 (define-key map [global-semantic-idle-summary-mode] 'undefined)
64 (define-key map [global-semanticdb-minor-mode] 'undefined) 64 (define-key map [global-semanticdb-minor-mode] 'undefined)
65 (define-key map [global-semantic-idle-scheduler-mode] 'undefined) 65 (define-key map [global-semantic-idle-scheduler-mode] 'undefined)
66 (define-key map [semantic-menu-separator] '("--"))
67 (define-key map [semantic-mode]
68 '(menu-item "Enable Parsers (Semantic)" semantic-mode
69 :help "Enable language parsers (Semantic)"
70 :visible (not (bound-and-true-p semantic-mode))))
71 (define-key map [cedet-menu-separator] 'undefined) 66 (define-key map [cedet-menu-separator] 'undefined)
72 (define-key map [ede-mode]
73 '(menu-item "Enable Project Support (EDE)" global-ede-mode
74 :help "Enable the Emacs Development Environment (EDE)"
75 :visible (not (bound-and-true-p global-ede-mode))))
76 (define-key map [ede-menu-separator] '("--"))
77 (define-key map [ede-find-file] 'undefined) 67 (define-key map [ede-find-file] 'undefined)
78 (define-key map [ede-speedbar] 'undefined) 68 (define-key map [ede-speedbar] 'undefined)
79 (define-key map [ede] 'undefined) 69 (define-key map [ede] 'undefined)
diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el
index a88589c686d..0ca941a4a2c 100644
--- a/lisp/cedet/ede.el
+++ b/lisp/cedet/ede.el
@@ -585,27 +585,31 @@ Argument LIST-O-O is the list of objects to choose from."
585;; Activate the EDE items in cedet-menu-map 585;; Activate the EDE items in cedet-menu-map
586 586
587(define-key cedet-menu-map [ede-find-file] 587(define-key cedet-menu-map [ede-find-file]
588 '(menu-item "Find File in Project..." ede-find-file :enable ede-object)) 588 '(menu-item "Find File in Project..." ede-find-file :enable ede-object
589 :visible global-ede-mode))
589(define-key cedet-menu-map [ede-speedbar] 590(define-key cedet-menu-map [ede-speedbar]
590 '(menu-item "View Project Tree" ede-speedbar :enable ede-object)) 591 '(menu-item "View Project Tree" ede-speedbar :enable ede-object
592 :visible global-ede-mode))
591(define-key cedet-menu-map [ede] 593(define-key cedet-menu-map [ede]
592 '(menu-item "Load Project" ede)) 594 '(menu-item "Load Project" ede
595 :visible global-ede-mode))
593(define-key cedet-menu-map [ede-new] 596(define-key cedet-menu-map [ede-new]
594 '(menu-item "Create Project" ede-new 597 '(menu-item "Create Project" ede-new
595 :enable (not ede-object))) 598 :enable (not ede-object)
599 :visible global-ede-mode))
596(define-key cedet-menu-map [ede-target-options] 600(define-key cedet-menu-map [ede-target-options]
597 '(menu-item "Target Options" ede-target-options 601 '(menu-item "Target Options" ede-target-options
598 :filter ede-target-forms-menu)) 602 :filter ede-target-forms-menu
603 :visible global-ede-mode))
599(define-key cedet-menu-map [ede-project-options] 604(define-key cedet-menu-map [ede-project-options]
600 '(menu-item "Project Options" ede-project-options 605 '(menu-item "Project Options" ede-project-options
601 :filter ede-project-forms-menu)) 606 :filter ede-project-forms-menu
607 :visible global-ede-mode))
602(define-key cedet-menu-map [ede-build-forms-menu] 608(define-key cedet-menu-map [ede-build-forms-menu]
603 '(menu-item "Build Project" ede-build-forms-menu 609 '(menu-item "Build Project" ede-build-forms-menu
604 :filter ede-build-forms-menu 610 :filter ede-build-forms-menu
605 :enable ede-object)) 611 :enable ede-object
606(define-key cedet-menu-map [semantic-menu-separator] 'undefined) 612 :visible global-ede-mode))
607(define-key cedet-menu-map [cedet-menu-separator] 'undefined)
608(define-key cedet-menu-map [ede-menu-separator] '("--"))
609 613
610(defun ede-menu-obj-of-class-p (class) 614(defun ede-menu-obj-of-class-p (class)
611 "Return non-nil if some member of `ede-object' is a child of CLASS." 615 "Return non-nil if some member of `ede-object' is a child of CLASS."
@@ -841,6 +845,8 @@ an EDE controlled project."
841 (if global-ede-mode 845 (if global-ede-mode
842 ;; Turn on global-ede-mode 846 ;; Turn on global-ede-mode
843 (progn 847 (progn
848 (if semantic-mode
849 (define-key cedet-menu-map [cedet-menu-separator] '("--")))
844 (add-hook 'semanticdb-project-predicate-functions 'ede-directory-project-p) 850 (add-hook 'semanticdb-project-predicate-functions 'ede-directory-project-p)
845 (add-hook 'semanticdb-project-root-functions 'ede-toplevel-project-or-nil) 851 (add-hook 'semanticdb-project-root-functions 'ede-toplevel-project-or-nil)
846 (add-hook 'ecb-source-path-functions 'ede-ecb-project-paths) 852 (add-hook 'ecb-source-path-functions 'ede-ecb-project-paths)
@@ -850,6 +856,7 @@ an EDE controlled project."
850 (ede-load-cache) 856 (ede-load-cache)
851 (ede-reset-all-buffers 1)) 857 (ede-reset-all-buffers 1))
852 ;; Turn off global-ede-mode 858 ;; Turn off global-ede-mode
859 (define-key cedet-menu-map [cedet-menu-separator] nil)
853 (remove-hook 'semanticdb-project-predicate-functions 'ede-directory-project-p) 860 (remove-hook 'semanticdb-project-predicate-functions 'ede-directory-project-p)
854 (remove-hook 'semanticdb-project-root-functions 'ede-toplevel-project-or-nil) 861 (remove-hook 'semanticdb-project-root-functions 'ede-toplevel-project-or-nil)
855 (remove-hook 'ecb-source-path-functions 'ede-ecb-project-paths) 862 (remove-hook 'ecb-source-path-functions 'ede-ecb-project-paths)
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index c6b53c0f559..08a93e3f69f 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -1002,10 +1002,7 @@ Throw away all the old tags, and recreate the tag database."
1002 '(menu-item "Reparse When Idle" global-semantic-idle-scheduler-mode 1002 '(menu-item "Reparse When Idle" global-semantic-idle-scheduler-mode
1003 :help "Keep a buffer's parse tree up to date when idle" 1003 :help "Keep a buffer's parse tree up to date when idle"
1004 :visible semantic-mode 1004 :visible semantic-mode
1005 :button (:toggle . global-semantic-idle-scheduler-mode))) 1005 :button (:toggle . global-semantic-idle-scheduler-mode))))
1006 (define-key cedet-menu-map [ede-menu-separator] 'undefined)
1007 (define-key cedet-menu-map [cedet-menu-separator] 'undefined)
1008 (define-key cedet-menu-map [semantic-menu-separator] '("--")))
1009 1006
1010;; The `semantic-mode' command, in conjuction with the 1007;; The `semantic-mode' command, in conjuction with the
1011;; `semantic-default-submodes' variable, toggles Semantic's various 1008;; `semantic-default-submodes' variable, toggles Semantic's various
@@ -1076,11 +1073,15 @@ Semantic mode.
1076 (require 'semantic/db-ebrowse) 1073 (require 'semantic/db-ebrowse)
1077 (semanticdb-load-ebrowse-caches))) 1074 (semanticdb-load-ebrowse-caches)))
1078 (add-hook 'mode-local-init-hook 'semantic-new-buffer-fcn) 1075 (add-hook 'mode-local-init-hook 'semantic-new-buffer-fcn)
1076 (if global-ede-mode
1077 (define-key cedet-menu-map [cedet-menu-separator] '("--")))
1079 (dolist (b (buffer-list)) 1078 (dolist (b (buffer-list))
1080 (with-current-buffer b 1079 (with-current-buffer b
1081 (semantic-new-buffer-fcn)))) 1080 (semantic-new-buffer-fcn))))
1082 ;; Disable all Semantic features. 1081 ;; Disable all Semantic features.
1083 (remove-hook 'mode-local-init-hook 'semantic-new-buffer-fcn) 1082 (remove-hook 'mode-local-init-hook 'semantic-new-buffer-fcn)
1083 (define-key cedet-menu-map [cedet-menu-separator] nil)
1084 (define-key cedet-menu-map [semantic-options-separator] nil)
1084 ;; FIXME: handle semanticdb-load-ebrowse-caches 1085 ;; FIXME: handle semanticdb-load-ebrowse-caches
1085 (dolist (mode semantic-submode-list) 1086 (dolist (mode semantic-submode-list)
1086 (if (and (boundp mode) (eval mode)) 1087 (if (and (boundp mode) (eval mode))
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 2dd7bb95a12..07f94a71204 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1326,6 +1326,18 @@ mail status in mode line"))
1326(define-key menu-bar-tools-menu [separator-prog] 1326(define-key menu-bar-tools-menu [separator-prog]
1327 '("--")) 1327 '("--"))
1328 1328
1329(define-key menu-bar-tools-menu [semantic]
1330 `(menu-item ,(purecopy "Source Code Parsers (Semantic)")
1331 semantic-mode
1332 :help ,(purecopy "Toggle automatic parsing in source code buffers (Semantic mode)")
1333 :button (:toggle . (bound-and-true-p semantic-mode))))
1334
1335(define-key menu-bar-tools-menu [ede]
1336 `(menu-item ,(purecopy "Project support (EDE)")
1337 global-ede-mode
1338 :help ,(purecopy "Toggle the Emacs Development Environment (Global EDE mode)")
1339 :button (:toggle . (bound-and-true-p global-ede-mode))))
1340
1329(define-key menu-bar-tools-menu [gdb] 1341(define-key menu-bar-tools-menu [gdb]
1330 `(menu-item ,(purecopy "Debugger (GDB)...") gdb 1342 `(menu-item ,(purecopy "Debugger (GDB)...") gdb
1331 :help ,(purecopy "Debug a program from within Emacs with GDB"))) 1343 :help ,(purecopy "Debug a program from within Emacs with GDB")))