diff options
author | Bozhidar Batsov <bozhidar.batsov@gmail.com> | 2015-12-27 08:14:53 +0100 |
---|---|---|
committer | Bozhidar Batsov <bozhidar.batsov@gmail.com> | 2015-12-27 08:14:53 +0100 |
commit | 2bff0500137b2ff566253c2b21d38f349a364aa4 (patch) | |
tree | 6e6f526cc727ca7010dc2677ad5b75d76e84c2df /cider-repl.el | |
parent | 316f75b7e4b214fdab8f11d34708b5670631e1f5 (diff) | |
parent | 5c6003d18fa8703307d89c2109f64757c25ac82a (diff) |
Merge pull request #1488 from rfkm/delete-zombie-overlays
Delete overlays when clearing REPL buffer
Diffstat (limited to 'cider-repl.el')
-rw-r--r-- | cider-repl.el | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/cider-repl.el b/cider-repl.el index c9311256..0edbdf33 100644 --- a/cider-repl.el +++ b/cider-repl.el @@ -743,12 +743,17 @@ text property `cider-old-input'." (defvar cider-repl-clear-buffer-hook) +(defun cider-repl--clear-region (start end) + "Delete the output and its overlays between START and END." + (mapc 'delete-overlay (overlays-in start end)) + (delete-region start end)) + (defun cider-repl-clear-buffer () "Delete the output generated by the Clojure process." (interactive) (let ((inhibit-read-only t)) - (delete-region (point-min) cider-repl-prompt-start-mark) - (delete-region cider-repl-output-start cider-repl-output-end) + (cider-repl--clear-region (point-min) cider-repl-prompt-start-mark) + (cider-repl--clear-region cider-repl-output-start cider-repl-output-end) (when (< (point) cider-repl-input-start-mark) (goto-char cider-repl-input-start-mark)) (recenter t)) @@ -773,7 +778,7 @@ With a prefix argument CLEAR-REPL it will clear the entire REPL buffer instead." (end (cider-repl--end-of-line-before-input-start))) (when (< start end) (let ((inhibit-read-only t)) - (delete-region start end) + (cider-repl--clear-region start end) (save-excursion (goto-char start) (insert |