diff options
| author | Glenn Morris | 2013-05-13 09:21:00 -0700 |
|---|---|---|
| committer | Glenn Morris | 2013-05-13 09:21:00 -0700 |
| commit | f4c7dfd2965eac2f8c6520db629aea79da5dd645 (patch) | |
| tree | 4a13d34a71cad73f61281cf75d9df0a5278439ce | |
| parent | 3766b7428c2af29f083eb93f627e9403fe0c0bff (diff) | |
| download | emacs-f4c7dfd2965eac2f8c6520db629aea79da5dd645.tar.gz emacs-f4c7dfd2965eac2f8c6520db629aea79da5dd645.zip | |
* cus-dep.el (defcustom-mh, defgroup-mh, defface-mh): Add compat aliases
as a hack workaround.
Fixes: debbugs:14384
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/cus-dep.el | 13 |
2 files changed, 18 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ac5a5c34e44..bd5a20ffe13 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-05-13 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * cus-dep.el (defcustom-mh, defgroup-mh, defface-mh): | ||
| 4 | Add compat aliases as a hack workaround. (Bug#14384) | ||
| 5 | |||
| 1 | 2013-05-13 Leo Liu <sdl.web@gmail.com> | 6 | 2013-05-13 Leo Liu <sdl.web@gmail.com> |
| 2 | 7 | ||
| 3 | * progmodes/octave.el (octave-indent-comment): Fix indentation for | 8 | * progmodes/octave.el (octave-indent-comment): Fix indentation for |
diff --git a/lisp/cus-dep.el b/lisp/cus-dep.el index 79698cc4b4a..12a3211a0b0 100644 --- a/lisp/cus-dep.el +++ b/lisp/cus-dep.el | |||
| @@ -38,6 +38,18 @@ ldefs-boot\\|cus-load\\|finder-inf\\|esh-groups\\|subdirs\\)\\.el$\\)" | |||
| 38 | 38 | ||
| 39 | (require 'autoload) | 39 | (require 'autoload) |
| 40 | 40 | ||
| 41 | ;; Hack workaround for bug#14384. | ||
| 42 | ;; Define defcustom-mh as an alias for defcustom, etc. | ||
| 43 | ;; Only do this in batch mode to avoid messing up a normal Emacs session. | ||
| 44 | ;; Alternative would be to load mh-e when making cus-load. | ||
| 45 | ;; (Would be better to split just the necessary parts of mh-e into a | ||
| 46 | ;; separate file and only load that.) | ||
| 47 | (when (and noninteractive) | ||
| 48 | (mapc (lambda (e) (let ((sym (intern (format "%s-mh" e)))) | ||
| 49 | (or (fboundp sym) | ||
| 50 | (defalias sym e)))) | ||
| 51 | '(defcustom defface defgroup))) | ||
| 52 | |||
| 41 | (defun custom-make-dependencies () | 53 | (defun custom-make-dependencies () |
| 42 | "Batch function to extract custom dependencies from .el files. | 54 | "Batch function to extract custom dependencies from .el files. |
| 43 | Usage: emacs -batch -l ./cus-dep.el -f custom-make-dependencies DIRS" | 55 | Usage: emacs -batch -l ./cus-dep.el -f custom-make-dependencies DIRS" |
| @@ -82,6 +94,7 @@ Usage: emacs -batch -l ./cus-dep.el -f custom-make-dependencies DIRS" | |||
| 82 | (let ((expr (read (current-buffer)))) | 94 | (let ((expr (read (current-buffer)))) |
| 83 | (condition-case nil | 95 | (condition-case nil |
| 84 | (let ((custom-dont-initialize t)) | 96 | (let ((custom-dont-initialize t)) |
| 97 | ;; Why do we need to eval just for the name? | ||
| 85 | (eval expr) | 98 | (eval expr) |
| 86 | (put (nth 1 expr) 'custom-where name)) | 99 | (put (nth 1 expr) 'custom-where name)) |
| 87 | (error nil)))) | 100 | (error nil)))) |