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

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

[elpa] externals/org-remark dc162bc8ec 172/173: fix: window management f


From: ELPA Syncer
Subject: [elpa] externals/org-remark dc162bc8ec 172/173: fix: window management for open and remove/delete
Date: Fri, 28 Jan 2022 16:58:13 -0500 (EST)

branch: externals/org-remark
commit dc162bc8ec6fa2f99be3b8077dfeca4e34aff3e5
Author: Noboru Ota <me@nobiot.com>
Commit: Noboru Ota <me@nobiot.com>

    fix: window management for open and remove/delete
    
    open: refactor to use `pop-to-buffer` instead `display-buffer` and
    `select-window`.  The former has more robust control, e.g. when a new frame 
is
    to be used.
    
    remove/delete:
    Quit the marginal notes indirect buffer if it was not there
    before the remove/delete -- go back to the original state.
---
 org-remark.el | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/org-remark.el b/org-remark.el
index 6ab1d09289..3a25e83fdd 100644
--- a/org-remark.el
+++ b/org-remark.el
@@ -6,7 +6,7 @@
 ;; URL: https://github.com/nobiot/org-remark
 ;; Version: 0.2.0
 ;; Created: 22 December 2020
-;; Last modified: 26 January 2022
+;; Last modified: 27 January 2022
 ;; Package-Requires: ((emacs "27.1") (org "9.4"))
 ;; Keywords: org-mode, annotation, writing, note-taking, marginal-notes
 
@@ -407,15 +407,17 @@ notes file by tracking it."
   (when-let ((id (get-char-property point 'org-remark-id))
              (ibuf (org-remark-notes-buffer-get-or-create))
              (cbuf (current-buffer)))
-    (display-buffer ibuf org-remark-notes-display-buffer-action)
-    (select-window (get-buffer-window ibuf))
+    (pop-to-buffer ibuf org-remark-notes-display-buffer-action)
     (widen)
     (when-let (p (org-find-property org-remark-prop-id id))
       ;; Somehow recenter is needed when a highlight is deleted and move to a
-      ;; previous.  Otherwise, the cursor is too low to show the entire entry.
-      ;; It looks like there is no entry.
+      ;; previous highlight.  Otherwise, the cursor is too low to show the
+      ;; entire entry.  It looks like there is no entry.
       (goto-char p)(org-narrow-to-subtree)(org-end-of-meta-data t)(recenter))
-    (when view-only (select-window (get-buffer-window cbuf)))))
+    ;; Avoid error when buffer-action is set to display a new frame
+    (when-let ((view-only view-only)
+               (window (get-buffer-window cbuf)))
+      (select-window window))))
 
 (defun org-remark-view (point)
   "View marginal notes for highlight at POINT.
@@ -832,12 +834,12 @@ Do you really want to delete the notes?"))
                         ;; If there is no content, it's OK
                         t))
              (delete-region (point-min)(point-max))
-             (message "Deleted the marginal notes entry")
-             ;; Quit the marginal notes indirect buffer if it was not there
-             ;; before the delete -- go back to the original state.
-             (when-let (ibuf-window (get-buffer-window ibuf))
-               (unless window? (quit-window nil ibuf-window )))))))
-      (when (buffer-modified-p) (save-buffer)))
+             (message "Deleted the marginal notes entry")))))
+      (when (buffer-modified-p) (save-buffer))
+      ;; Quit the marginal notes indirect buffer if it was not there
+      ;; before the remove/delete -- go back to the original state.
+      (when-let (ibuf-window (get-buffer-window ibuf))
+        (unless window? (quit-window nil ibuf-window ))))
     t))
 
 (defun org-remark-notes-buffer-get-or-create ()



reply via email to

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