branch: elpa/aidermacs
commit 249aaf254ebfca9d01f31950616b085e60baf333
Author: Guoqiang Jin <ustcz...@gmail.com>
Commit: Matthew Zeng <matthew...@posteo.net>

    fix ediff hangs
---
 aidermacs-backend-comint.el | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/aidermacs-backend-comint.el b/aidermacs-backend-comint.el
index 3d30f6bbad..77856c7043 100644
--- a/aidermacs-backend-comint.el
+++ b/aidermacs-backend-comint.el
@@ -239,14 +239,19 @@ _OUTPUT is the text to be processed."
 
       ;; Apply the faces to the buffer
       (remove-overlays aidermacs--syntax-block-start-pos 
aidermacs--syntax-block-end-pos)
-      (while (< pos aidermacs--syntax-block-end-pos)
-        (let* ((next-font-pos (or (next-property-change font-pos fontified) 
(length fontified)))
-               (next-pos (+ aidermacs--syntax-block-start-pos next-font-pos))
-               (face (get-text-property font-pos 'face fontified)))
-          (ansi-color-apply-overlay-face pos next-pos face)
-          (setq pos next-pos
-                font-pos next-font-pos))))
-
+      
+      (catch 'break
+        (while  (< pos aidermacs--syntax-block-end-pos)
+          (let* ((next-font-pos (or (next-property-change font-pos fontified) 
(length fontified)))
+                 (next-pos (+ aidermacs--syntax-block-start-pos next-font-pos))
+                 (face (get-text-property font-pos 'face fontified)))
+            (ansi-color-apply-overlay-face pos next-pos face)
+            (when (eq pos next-pos)
+              (throw 'break nil))
+            
+            (setq pos next-pos
+                  font-pos next-font-pos)))))
+             
     ;; If we found the end marker, finalize the block
     (when end-of-block-p
       (when (equal aidermacs--syntax-block-delimiter aidermacs-diff-marker)

Reply via email to