emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/org 0d39ea6ef3: org-src: Add RET to go from overlay to


From: ELPA Syncer
Subject: [elpa] externals/org 0d39ea6ef3: org-src: Add RET to go from overlay to edit buffer
Date: Wed, 18 May 2022 16:57:41 -0400 (EDT)

branch: externals/org
commit 0d39ea6ef3ee55424a322c38eb6857299dca11f2
Author: Marco Wahl <marcowahlsoft@gmail.com>
Commit: Marco Wahl <marcowahlsoft@gmail.com>

    org-src: Add RET to go from overlay to edit buffer
    
    * lisp/org-src.el (org-edit-src-goto): org-edit-src-goto factors out
    the functionality from org-edit-src-continue.  The latter needs an event.
    
    The return key is bound to org-edit-src-goto for the overlay.
---
 etc/ORG-NEWS    | 2 ++
 lisp/org-src.el | 7 +++++++
 2 files changed, 9 insertions(+)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 5828165340..ea78234e0d 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -291,6 +291,8 @@ purpose of the variable.  The replacement variable
 accepts =listings= and =verbatim= in place of =t= and =nil= (which
 still work, but are no longer listed as valid options).
 
+*** New function ~org-edit-src-goto~ 
+
 * Version 9.5
 
 ** Important announcements and breaking changes
diff --git a/lisp/org-src.el b/lisp/org-src.el
index cc49181618..d0a7aedd81 100644
--- a/lisp/org-src.el
+++ b/lisp/org-src.el
@@ -413,6 +413,7 @@ END."
     (overlay-put overlay 'keymap
                 (let ((map (make-sparse-keymap)))
                   (define-key map [mouse-1] 'org-edit-src-continue)
+                   (define-key map [return] #'org-edit-src-goto)
                   map))
     (let ((read-only
           (list
@@ -1273,6 +1274,12 @@ Throw an error if there is no such buffer.
 EVENT is passed to `mouse-set-point'."
   (interactive "e")
   (mouse-set-point event)
+  (org-edit-src-goto))
+
+(defun org-edit-src-goto ()
+  "Unconditionally return to buffer editing area under point.
+Throw an error if there is no such buffer."
+  (interactive)
   (let ((buf (get-char-property (point) 'edit-buffer)))
     (if buf (org-src-switch-to-buffer buf 'continue)
       (user-error "No sub-editing buffer for area at point"))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]