diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/simple.el | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lisp/simple.el b/lisp/simple.el index 8dc5fa1af74..1725dd6585b 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -1335,8 +1335,12 @@ store it in a Lisp variable. Example: (setq mark-active t) (run-hooks 'activate-mark-hook) (set-marker (mark-marker) pos (current-buffer))) - (deactivate-mark) - (set-marker (mark-marker) pos (current-buffer)))) + ;; Normally we never clear mark-active except in Transient Mark mode. + ;; But when we actually clear out the mark value too, + ;; we must clear mark-active in any mode. + (setq mark-active nil) + (run-hooks 'deactivate-mark-hook) + (set-marker (mark-marker) nil))) (defvar mark-ring nil "The list of saved former marks of the current buffer, |