[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)))