[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals-release/org 4ae5cc0182: org-self-insert-command: Preven
From: |
ELPA Syncer |
Subject: |
[elpa] externals-release/org 4ae5cc0182: org-self-insert-command: Prevent deleting selection for speed commands |
Date: |
Mon, 15 Apr 2024 09:58:28 -0400 (EDT) |
branch: externals-release/org
commit 4ae5cc0182bc3db5dc96833cee9c4979f4bc0ded
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>
org-self-insert-command: Prevent deleting selection for speed commands
* lisp/org.el (org--speed-command-p): New helper function checking
whether current command is a speed command.
(org-self-insert-command): Use the new helper.
* lisp/org.el: In `delete-selection' property of
`org-self-insert-command' symbol, signal that selection must not be
deleted when current command is a speed command.
Reported-by: Joe Gilder <joe@homestudiocorner.com>
Link: https://orgmode.org/list/87il0voeok.fsf@localhost
---
lisp/org.el | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index f6befb635a..f98c58296b 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -16499,6 +16499,16 @@ either not currently on a tagged headline or on a tag."
(< (point) (match-beginning 1)))
(org-align-tags)))
+(defun org--speed-command-p ()
+ "Return non-nil when current command is a speed command.
+Set `org-speed-command' to the appropriate command as a side effect."
+ (and org-use-speed-commands
+ (let ((kv (this-command-keys-vector)))
+ (setq org-speed-command
+ (run-hook-with-args-until-success
+ 'org-speed-command-hook
+ (make-string 1 (aref kv (1- (length kv)))))))))
+
(defun org-self-insert-command (N)
"Like `self-insert-command', use overwrite-mode for whitespace in tables.
If the cursor is in a table looking at whitespace, the whitespace is
@@ -16506,12 +16516,7 @@ overwritten, and the table is not marked as requiring
realignment."
(interactive "p")
(org-fold-check-before-invisible-edit 'insert)
(cond
- ((and org-use-speed-commands
- (let ((kv (this-command-keys-vector)))
- (setq org-speed-command
- (run-hook-with-args-until-success
- 'org-speed-command-hook
- (make-string 1 (aref kv (1- (length kv))))))))
+ ((org--speed-command-p)
(cond
((commandp org-speed-command)
(setq this-command org-speed-command)
@@ -16621,8 +16626,9 @@ because, in this case the deletion might narrow the
column."
;; Make `delete-selection-mode' work with Org mode and Orgtbl mode
(put 'org-self-insert-command 'delete-selection
(lambda ()
- (not (run-hook-with-args-until-success
- 'self-insert-uses-region-functions))))
+ (unless (org--speed-command-p)
+ (not (run-hook-with-args-until-success
+ 'self-insert-uses-region-functions)))))
(put 'orgtbl-self-insert-command 'delete-selection
(lambda ()
(not (run-hook-with-args-until-success
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals-release/org 4ae5cc0182: org-self-insert-command: Prevent deleting selection for speed commands,
ELPA Syncer <=