diff --git a/src/commands/mark.lisp b/src/commands/mark.lisp index 906574dc2..d36b14b8d 100644 --- a/src/commands/mark.lisp +++ b/src/commands/mark.lisp @@ -18,7 +18,7 @@ (move-point (current-point) (pop-buffer-point)) (progn (set-cursor-mark (current-point) (current-point)) - (message "Mark set")))) + (when-real-cursor (message "Mark set"))))) (define-command exchange-point-mark () () "Exchange the current cursor position with the marked position." diff --git a/src/cursors.lisp b/src/cursors.lisp index 83802d51b..cf8ae3b80 100644 --- a/src/cursors.lisp +++ b/src/cursors.lisp @@ -123,3 +123,7 @@ (if not-lastp (write-line string out) (write-string string out)))))))) + +(defmacro when-real-cursor (&body body) + `(unless (typep (current-point) 'fake-cursor) + ,@body)) \ No newline at end of file diff --git a/src/internal-packages.lisp b/src/internal-packages.lisp index 2bbeb4ad3..175b2d248 100644 --- a/src/internal-packages.lisp +++ b/src/internal-packages.lisp @@ -621,7 +621,8 @@ :make-fake-cursor :delete-fake-cursor :merge-cursor-killrings - :clear-cursors) + :clear-cursors + :when-real-cursor) ;; typeout.lisp (:export :*typeout-mode-keymap*