From 1729ae660cfbd494b115ac2acfda8403d2a003d6 Mon Sep 17 00:00:00 2001 From: rearman Date: Fri, 16 May 2025 17:06:17 -0400 Subject: [PATCH] Add defuns and bindings for mark & jump without region activating --- re/re-bindings.el | 4 +++- re/re-editing-defuns.el | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/re/re-bindings.el b/re/re-bindings.el index 95b8150..d92708e 100644 --- a/re/re-bindings.el +++ b/re/re-bindings.el @@ -33,7 +33,7 @@ (keymap-global-set "M-p" #'previous-buffer) (keymap-global-set "C-." #'next-buffer) (keymap-global-set "C-," #'previous-buffer) -(keymap-global-set "C-^" (lambda () (interactive) (switch-to-buffer nil))) +(keymap-global-set "C-^" (lambda () (interactive) (switch-to-buffer nil))) ; toggle last two buffers (keymap-global-set "" #'previous-buffer) ; Back button (keymap-global-set "C-M-o" #'re/other-window-or-split-window) (keymap-global-set " " #'re/smart-beginning-of-line) @@ -41,6 +41,8 @@ (keymap-set visual-line-mode-map "C-a" #'re/smart-beginning-of-line) (keymap-set visual-line-mode-map "C-e" #'re/smart-end-of-line) (keymap-global-set " " #'re/goto-line) +(keymap-global-set "C-`" #'re/push-mark-no-activate) +(keymap-global-set "M-`" #'re/jump-to-mark) ;; Seeking (keymap-global-set "M-s ." #'isearch-forward-thing-at-point) diff --git a/re/re-editing-defuns.el b/re/re-editing-defuns.el index fbdaa75..51acb1e 100644 --- a/re/re-editing-defuns.el +++ b/re/re-editing-defuns.el @@ -145,5 +145,20 @@ If in org-mode, call `org-end-of-line' first." (save-some-buffers t) (kill-emacs nil t)) + (defun re/push-mark-no-activate () + "Pushes `point' to `mark-ring' and does not activate the region. +Equivalent to \\[set-mark-command] when \\[transient-mark-mode] is disabled. +Taken from https://www.masteringemacs.org/article/fixing-mark-commands-transient-mark-mode" + (interactive) + (push-mark (point) t nil) + (message "Pushed mark to ring")) + +(defun re/jump-to-mark () + "Jumps to the local mark, respecting the `mark-ring' order. +This is the same as using \\[set-mark-command] with the prefix argument. +Taken from https://www.masteringemacs.org/article/fixing-mark-commands-transient-mark-mode" + (interactive) + (set-mark-command 1)) + (provide 're-editing-defuns) ;;; re-editing-defuns.el ends here -- 2.39.5