diff options
| author | Chong Yidong | 2009-10-31 18:03:02 +0000 |
|---|---|---|
| committer | Chong Yidong | 2009-10-31 18:03:02 +0000 |
| commit | ebf5c4f5267dbac1e9e4b875c56f36ef2835c370 (patch) | |
| tree | 22f1b316d7a36a30a4689fc0f92fcd22f595b56a | |
| parent | c38eb0274c8fedeb0b4470943f44ba274037eae2 (diff) | |
| download | emacs-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/ChangeLog | 11 | ||||
| -rw-r--r-- | lisp/cedet/cedet.el | 10 | ||||
| -rw-r--r-- | lisp/cedet/ede.el | 27 | ||||
| -rw-r--r-- | lisp/cedet/semantic.el | 9 | ||||
| -rw-r--r-- | lisp/menu-bar.el | 12 |
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 @@ | |||
| 1 | 2009-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 | |||
| 1 | 2009-10-31 Stefan Monnier <monnier@iro.umontreal.ca> | 12 | 2009-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"))) |