emacsideelispemacs24emacs-ecb

Error during the layout setup of ECB in Emacs


Using the CEDET that comes with Emacs 24.3.1 and the ECB that is in Melpa, I get the following message trying - ecb-activate:

All requirements for ECB 2.40 fulfilled - Enjoy it!
The ECB is now deactivated.
ecb-clean-up-after-activation-failure: 
ECB 2.40: Errors during the layout setup of ECB.
(error-type: void-function, error-data: (ecb-layout-function-emcas))

My setup for ECB in .emacs file is

(require 'ecb)
(require 'ecb-autoloads)
;(setq ecb-examples-bufferinfo-buffer-name nil)
(setq ecb-layout-name "emcas")
(setq ecb-show-sources-in-directories-buffer 'always)
(setq ecb-compile-window-height 12)

                    ; ecb keybinds
(global-set-key (kbd "C-x C-;") 'ecb-activate)
(global-set-key (kbd "C-x C-'") 'ecb-deactivate)

(global-set-key (kbd "C-x C-:") 'ecb-show-ecb-windows)
(global-set-key (kbd "C-x C->") 'ecb-hide-ecb-windows)
;;; quick navigation between ecb windows
(global-set-key (kbd "C-)") 'ecb-goto-window-edit1)
(global-set-key (kbd "C-!") 'ecb-goto-window-directories)
(global-set-key (kbd "C-@") 'ecb-goto-window-sources)
(global-set-key (kbd "C-#") 'ecb-goto-window-methods)
(global-set-key (kbd "C-$") 'ecb-goto-window-compilation)

Solution

  • I think your problem is with this line:

    (setq ecb-layout-name "emcas")
    

    According to the source:

    Currently available layouts:
    + Left layouts:   left1 left2 left3 left4 left5 left6 left7 left8 left9 left10 left11 left12   left13 left14 left15
    + Right layouts:   right1
    + Top layouts:   top1 top2
    + Left-right layouts:   leftright1 leftright2 leftright3
    

    So it seems like emcas is not a valid option, which is hinted at in the error message: (error-type: void-function, error-data: (ecb-layout-function-emcas)) note the end is emcas.