diff options
Diffstat (limited to 'lisp/cedet/srecode/mode.el')
-rw-r--r-- | lisp/cedet/srecode/mode.el | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/lisp/cedet/srecode/mode.el b/lisp/cedet/srecode/mode.el index e2c07a0863e..805e324a8bd 100644 --- a/lisp/cedet/srecode/mode.el +++ b/lisp/cedet/srecode/mode.el @@ -32,8 +32,11 @@ (require 'srecode/map) (require 'semantic/decorate) (require 'semantic/wisent) +(require 'semantic/senator) +(require 'semantic/wisent) -(eval-when-compile (require 'semantic/find)) +(eval-when-compile + (require 'semantic/find)) ;;; Code: @@ -154,13 +157,22 @@ minor mode is enabled. :keymap srecode-mode-map ;; If we are turning things on, make sure we have templates for ;; this mode first. - (when srecode-minor-mode - (when (not (apply + (if srecode-minor-mode + (if (not (apply 'append (mapcar (lambda (map) (srecode-map-entries-for-mode map major-mode)) (srecode-get-maps)))) - (setq srecode-minor-mode nil)))) + (setq srecode-minor-mode nil) + ;; Else, we have success, do stuff + (add-hook 'cedet-m3-menu-do-hooks 'srecode-m3-items nil t) + ) + (remove-hook 'cedet-m3-menu-do-hooks 'srecode-m3-items t) + ) + ;; Run hooks if we are turning this on. + (when srecode-minor-mode + (run-hooks 'srecode-minor-mode-hook)) + srecode-minor-mode) ;;;###autoload (define-minor-mode global-srecode-minor-mode |