(keymap-global-set "<remap> <downcase-word>" #'downcase-dwim) ; M-l
(keymap-global-set "<remap> <upcase-word>" #'upcase-dwim) ; M-u
(keymap-global-set "<remap> <keyboard-quit>" #'re/keyboard-quit) ; C-g works better
-(keymap-global-set "C-'" #'re/push-mark-no-activate)
-(keymap-global-set "M-'" #'re/jump-to-mark)
(keymap-global-set "<remap> <exchange-point-and-mark>" #'re/exchange-point-and-mark-maybe-activate)
;; WayfindiĆ
(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))
-
-(defun re/exchange-point-and-mark-maybe-activate ()
+(defun re/exchange-point-and-mark-maybe-activate (arg)
"Call `exchange-point-and-mark' but don't activate the region.
Stolen from https://www.masteringemacs.org/article/fixing-mark-commands-transient-mark-mode"
- (interactive)
- (if (use-region-p)
- (exchange-point-and-mark)
- (exchange-point-and-mark t)))
+ (interactive "P")
+ (exchange-point-and-mark (if (and transient-mark-mode (not mark-active))
+ (not arg)
+ arg)))
(defun re/keyboard-quit ()
"Smarter version of `keyboard-quit'.