emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r116401: Fix bug #16709 with too lazy redisplay when


From: Eli Zaretskii
Subject: [Emacs-diffs] trunk r116401: Fix bug #16709 with too lazy redisplay when face-remap-alist changes.
Date: Mon, 10 Feb 2014 16:10:24 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 116401
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/16709
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Mon 2014-02-10 18:08:37 +0200
message:
  Fix bug #16709 with too lazy redisplay when face-remap-alist changes.
  
   lisp/face-remap.el (face-remap-add-relative)
   (face-remap-remove-relative, face-remap-reset-base)
   (face-remap-set-base): Call force-mode-line-update to redisplay
   the current buffer due to potential change in faces.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/face-remap.el             
faceremap.el-20091113204419-o5vbwnq5f7feedwu-8674
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-02-10 13:54:33 +0000
+++ b/lisp/ChangeLog    2014-02-10 16:08:37 +0000
@@ -1,3 +1,10 @@
+2014-02-10  Eli Zaretskii  <address@hidden>
+
+       * face-remap.el (face-remap-add-relative)
+       (face-remap-remove-relative, face-remap-reset-base)
+       (face-remap-set-base): Call force-mode-line-update to redisplay
+       the current buffer due to potential change in faces.  (Bug#16709)
+
 2014-02-10  Michael Albinus  <address@hidden>
 
        * net/tramp-sh.el (tramp-sh-handle-vc-registered): Apply heredoc

=== modified file 'lisp/face-remap.el'
--- a/lisp/face-remap.el        2014-01-01 07:43:34 +0000
+++ b/lisp/face-remap.el        2014-02-10 16:08:37 +0000
@@ -135,7 +135,9 @@
     (let ((faces (cdr entry)))
       (if (symbolp faces)
          (setq faces (list faces)))
-      (setcdr entry (face-remap-order (cons specs faces))))
+      (setcdr entry (face-remap-order (cons specs faces)))
+      ;; Force redisplay of this buffer.
+      (force-mode-line-update))
     (cons face specs)))
 
 (defun face-remap-remove-relative (cookie)
@@ -150,7 +152,9 @@
                    (and (eq (car-safe updated-entries) (car cookie))
                         (null (cdr updated-entries))))
            (setq face-remapping-alist
-                 (remq remapping face-remapping-alist)))
+                 (remq remapping face-remapping-alist))
+           ;; Force redisplay of this buffer.
+           (force-mode-line-update))
          (cdr cookie))))))
 
 ;;;###autoload
@@ -167,7 +171,9 @@
       (if (null (cddr entry))          ; nothing except base remapping
          (setq face-remapping-alist    ; so remove entire entry
                (remq entry face-remapping-alist))
-       (setcar (last entry) face)))))  ; otherwise, just inherit global def
+       (setcar (last entry) face))
+      ;; Force redisplay of this buffer.
+      (force-mode-line-update))))  ; otherwise, just inherit global def
 
 ;;;###autoload
 (defun face-remap-set-base (face &rest specs)
@@ -194,7 +200,9 @@
     (let ((entry (assq face face-remapping-alist)))
       (if entry
          (setcar (last entry) specs)   ; overwrite existing base entry
-       (push (list face specs) face-remapping-alist)))))
+       (push (list face specs) face-remapping-alist)))
+    ;; Force redisplay of this buffer.
+    (force-mode-line-update)))
 
 
 ;; ----------------------------------------------------------------


reply via email to

[Prev in Thread] Current Thread [Next in Thread]