Add option for delete-pair to mark end of region
* lisp/emacs-lisp/lisp.el (delete-pair-push-mark): New user option. (delete-pair): Use it. (Bug#73284) * etc/NEWS: Announce the new user option.
This commit is contained in:
parent
39d2cc36b2
commit
a48672c6bb
2 changed files with 16 additions and 2 deletions
6
etc/NEWS
6
etc/NEWS
|
@ -147,6 +147,12 @@ instead of raising an error. Note that if you have disabled Transient
|
|||
Mark mode you might prefer to use 'unix-word-rubout', as this feature
|
||||
relies on there being an active region.
|
||||
|
||||
---
|
||||
** New user option 'delete-pair-push-mark'.
|
||||
This option, if non-nil, makes 'delete-pair' push a mark at the end of
|
||||
the region enclosed by the deleted delimiters. This makes it easy to
|
||||
act on that region. For example, we can highlight it using 'C-x C-x'.
|
||||
|
||||
|
||||
* Changes in Specialized Modes and Packages in Emacs 31.1
|
||||
|
||||
|
|
|
@ -850,10 +850,16 @@ It's used by the command `delete-pair'. The value 0 disables blinking."
|
|||
:group 'lisp
|
||||
:version "28.1")
|
||||
|
||||
(defcustom delete-pair-push-mark nil
|
||||
"Non-nil means `delete-pair' pushes mark at end of delimited region."
|
||||
:type 'boolean)
|
||||
|
||||
(defun delete-pair (&optional arg)
|
||||
"Delete a pair of characters enclosing ARG sexps that follow point.
|
||||
A negative ARG deletes a pair around the preceding ARG sexps instead.
|
||||
The option `delete-pair-blink-delay' can disable blinking."
|
||||
The option `delete-pair-blink-delay' can disable blinking. With
|
||||
`delete-pair-push-mark' enabled, pushes a mark at the end of the
|
||||
enclosed region."
|
||||
(interactive "P")
|
||||
(if arg
|
||||
(setq arg (prefix-numeric-value arg))
|
||||
|
@ -887,7 +893,9 @@ The option `delete-pair-blink-delay' can disable blinking."
|
|||
(when (and (numberp delete-pair-blink-delay)
|
||||
(> delete-pair-blink-delay 0))
|
||||
(sit-for delete-pair-blink-delay))
|
||||
(delete-char -1)))
|
||||
(delete-char -1)
|
||||
(when delete-pair-push-mark
|
||||
(push-mark))))
|
||||
(delete-char 1))))
|
||||
|
||||
(defun raise-sexp (&optional n)
|
||||
|
|
Loading…
Add table
Reference in a new issue