emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 4ebdcc4 2/3: Let ansi-color overlay hooks work in e


From: Noam Postavsky
Subject: [Emacs-diffs] master 4ebdcc4 2/3: Let ansi-color overlay hooks work in eshell (Bug#27407)
Date: Mon, 3 Jul 2017 10:08:35 -0400 (EDT)

branch: master
commit 4ebdcc46ab345849332332d580bd1e3c2c9adb1e
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Let ansi-color overlay hooks work in eshell (Bug#27407)
    
    * lisp/ansi-color.el (ansi-color-make-extent): Add
    `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
    * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
    `inhibit-modification-hooks' to nil while inserting the string.
---
 lisp/ansi-color.el      | 1 +
 lisp/eshell/esh-mode.el | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/lisp/ansi-color.el b/lisp/ansi-color.el
index a1b4933..72d70c2 100644
--- a/lisp/ansi-color.el
+++ b/lisp/ansi-color.el
@@ -481,6 +481,7 @@ Emacs requires OBJECT to be a buffer."
     ;; property to make sure it works.
     (let ((overlay (make-overlay from to object)))
       (overlay-put overlay 'modification-hooks '(ansi-color-freeze-overlay))
+      (overlay-put overlay 'insert-behind-hooks '(ansi-color-freeze-overlay))
       overlay)))
 
 (defun ansi-color-freeze-overlay (overlay is-after begin end &optional len)
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el
index 0fd0c18..0999f9c 100644
--- a/lisp/eshell/esh-mode.el
+++ b/lisp/eshell/esh-mode.el
@@ -726,7 +726,9 @@ This is done after all necessary filtering has been done."
                  (setq obeg (+ obeg nchars)))
              (if (<= (point) oend)
                  (setq oend (+ oend nchars)))
-             (insert-before-markers string)
+              ;; Let the ansi-color overlay hooks run.
+              (let ((inhibit-modification-hooks nil))
+                (insert-before-markers string))
              (if (= (window-start) (point))
                  (set-window-start (selected-window)
                                    (- (point) nchars)))



reply via email to

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