File tree Expand file tree Collapse file tree 2 files changed +14
-1
lines changed Expand file tree Collapse file tree 2 files changed +14
-1
lines changed Original file line number Diff line number Diff line change 12
12
* [ #1466 ] ( https://github.com/clojure-emacs/cider/issues/1466 ) : Correctly font-lock pretty-printed results in the REPL.
13
13
* [ #1475 ] ( https://github.com/clojure-emacs/cider/pull/1475 ) : Fix ` args-out-of-range ` error in ` cider--get-symbol-indent ` .
14
14
* [ #1479 ] ( https://github.com/clojure-emacs/cider/pull/1479 ) : Make paredit and ` cider-repl-mode ` play nice.
15
+ * [ #1452 ] ( https://github.com/clojure-emacs/cider/issues/1452 ) : Prevent ANSI color overlays in the REPL buffer from being extended.
15
16
16
17
## 0.10.0 / 2015-12-03
17
18
Original file line number Diff line number Diff line change @@ -484,7 +484,19 @@ If BOL is non-nil insert at the beginning of line."
484
484
(let ((pos (cider-repl--end-of-line-before-input-start))
485
485
(string (replace-regexp-in-string " \n \\ '" " " string)))
486
486
(cider-repl--emit-output-at-pos (current-buffer ) string face pos t )
487
- (ansi-color-apply-on-region pos (point-max )))))
487
+ (ansi-color-apply-on-region pos (point-max ))
488
+
489
+ ; ; If the output has a trailing overlay created by ansi-color, it would be
490
+ ; ; extended by the following outputs. To avoid this, ansi-color adds
491
+ ; ; `ansi-color-freeze-overlay' to the `modification-hooks' , but it never
492
+ ; ; seems to be called. By using `insert-behind-hooks' instead, we can make
493
+ ; ; it work. For more details, please see
494
+ ; ; https://github.com/clojure-emacs/cider/issues/1452
495
+ (dolist (ov (overlays-at (1- (cider-repl--end-of-line-before-input-start))))
496
+ ; ; Ensure ov is created by ansi-color
497
+ (when (and (member #'ansi-color-freeze-overlay (overlay-get ov 'modification-hooks ))
498
+ (not (member #'ansi-color-freeze-overlay (overlay-get ov 'insert-behind-hooks ))))
499
+ (push #'ansi-color-freeze-overlay (overlay-get ov 'insert-behind-hooks )))))))
488
500
489
501
(defun cider-repl-emit-interactive-stdout (string )
490
502
" Emit STRING as interactive output."
You can’t perform that action at this time.
0 commit comments