Browse files

Fix cedet recipe

This includes a fix to "el-get-reload" that ignores errors during
reloading package files, because CEDET raises errors if you try to
reload it. If a file raises an error during reloading, we issue a
warning telling the user that they might have to restart emacs to
finish the update.

Recipe fixes based on dimitri#748
  • Loading branch information...
DarwinAwardWinner committed May 27, 2012
1 parent 02f3795 commit 619941cb312f6067016f3b4806756f65b32897eb
Showing with 23 additions and 4 deletions.
  1. +8 −1 el-get.el
  2. +15 −3 recipes/cedet.rcp
@@ -641,7 +641,14 @@ PACKAGE may be either a string or the corresponding symbol."
;; Reload all loaded files in package dir if they still
;; exist.
(loop for file in package-files
- do (load file 'noerror))
+ ;; We convert errors to warnings here, because some
+ ;; files don't like being loaded more than once in a
+ ;; session. Example: "cedet-remove-builtin.el" from
+ ;; CEDET.
+ do (condition-case e
+ (load file 'noerror)
+ (error (warn "Error while reloading file %s in package %s: %S\n\n This package may require a restart of emacs to complete the update process."
+ file package (cdr e)))))
;; Redo package initialization
(el-get-init package)
;; Reload all features provided by the package. This ensures
@@ -3,9 +3,21 @@
:description "CEDET is a Collection of Emacs Development Environment Tools written with the end goal of creating an advanced development environment in Emacs."
:type bzr
:url "bzr://"
- :build ("touch `find . -name Makefile`" "make")
- :build/berkeley-unix ("touch `find . -name Makefile`" "gmake")
+ :build
+ ;; `((,el-get-emacs "-batch" "-Q" "-l" "cedet-build.el" "-f" "cedet-build"))
+ `(("sh" "-c" "touch `find . -name Makefile`")
+ ("make" ,(format "EMACS=%s" (shell-quote-argument el-get-emacs))))
+ :build/berkeley-unix
+ `(("sh" "-c" "touch `find . -name Makefile`")
+ ("gmake" ,(format "EMACS=%s" (shell-quote-argument el-get-emacs))))
:build/windows-nt ("echo #!/bin/sh > & echo touch `/usr/bin/find . -name Makefile` >> & echo make FIND=/usr/bin/find >>"
"sed 's/^M$//' >"
"sh ./" "rm ./ ./")
- :load-path ("./common" "speedbar"))
+ :features nil
+ ;; This package isn't really non-lazy, but we want to call the
+ ;; post-init immediately, because it handles the lazy autoload
+ ;; setup.
+ :lazy nil
+ :post-init
+ (unless (featurep 'cedet-devel-load)
+ (load (expand-file-name "cedet-devel-load.el" pdir))))

0 comments on commit 619941c

Please sign in to comment.