aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2012-10-29 17:55:57 +0800
committerChong Yidong2012-10-29 17:55:57 +0800
commit894b9dd938ca50ca24faf2e366631a9ab9cd79b7 (patch)
tree1a451459074a5488218c4a3607ee9b6dbe4935c1
parentd55911cf1de25091a072642f8ef8dd3d1f4e47b8 (diff)
downloademacs-894b9dd938ca50ca24faf2e366631a9ab9cd79b7.tar.gz
emacs-894b9dd938ca50ca24faf2e366631a9ab9cd79b7.zip
Manage face-remapping-alist properly in face-remap-add-relative.
* face-remap.el (face-remap-add-relative): Handle the case where a face-remapping-alist entry is a cons cell. Fixes: debbugs:12762
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/face-remap.el5
2 files changed, 9 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 76cc7e52863..093d392d7d3 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12012-10-29 Chong Yidong <cyd@gnu.org>
2
3 * face-remap.el (face-remap-add-relative): Handle the case where a
4 face-remapping-alist entry is a cons cell (Bug#12762).
5
12012-10-29 Glenn Morris <rgm@gnu.org> 62012-10-29 Glenn Morris <rgm@gnu.org>
2 7
3 * emacs-lisp/cl.el (defsetf): Doc fix. 8 * emacs-lisp/cl.el (defsetf): Doc fix.
diff --git a/lisp/face-remap.el b/lisp/face-remap.el
index baf1eeb389d..903c12a787e 100644
--- a/lisp/face-remap.el
+++ b/lisp/face-remap.el
@@ -132,7 +132,10 @@ other than the normal definition of FACE via `face-remap-set-base'."
132 (when (null entry) 132 (when (null entry)
133 (setq entry (list face face)) ; explicitly merge with global def 133 (setq entry (list face face)) ; explicitly merge with global def
134 (push entry face-remapping-alist)) 134 (push entry face-remapping-alist))
135 (setcdr entry (face-remap-order (cons specs (cdr entry)))) 135 (let ((faces (cdr entry)))
136 (if (symbolp faces)
137 (setq faces (list faces)))
138 (setcdr entry (face-remap-order (cons specs faces))))
136 (cons face specs))) 139 (cons face specs)))
137 140
138(defun face-remap-remove-relative (cookie) 141(defun face-remap-remove-relative (cookie)