Make a compile failure only redisplay if it needs to

This commit is contained in:
John Lorentzson 2025-07-31 15:34:12 +02:00
parent 254d66270b
commit 70fb3a9500

View file

@ -530,6 +530,12 @@ Additionally ensures correct line numbers on the way, as a bonus."
,column (ignore-errors (line-length ,line))))
:until (null ,line)))
(defmethod get-line-in-buffer-by-number ((buffer buffer) line-number)
(loop :for line := (first-line buffer) :then (next-line line)
:until (null line)
:when (eql line-number (line-number line))
:return line))
(defun status-line-string ()
@ -942,8 +948,14 @@ Additionally ensures correct line numbers on the way, as a bonus."
(force-output *eio*)
(let ((key (get-input-sequence)))
(if (and (integerp line) (integerp col)
(equal '(:C . #\j) key))
(cursor-go-to (cursor *editor*) line col)
(equal '(:C . #\j) key))
(let ((refreshp (line-in-view
(get-line-in-buffer-by-number
(current-buffer *editor*) line)
(current-view *editor*))))
(cursor-go-to (cursor *editor*) line col)
(when refreshp
(redisplay-view (current-view *editor*))))
(redisplay-view (current-view *editor*)))))
(defparameter *refresh-asm-functions-p* #+swank t #-swank nil