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

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

[elpa] externals/objed 828037d 045/166: Improve init/reset checks


From: Clemens Radermacher
Subject: [elpa] externals/objed 828037d 045/166: Improve init/reset checks
Date: Sun, 29 Dec 2019 08:20:58 -0500 (EST)

branch: externals/objed
commit 828037d55af1854c8bc4575c6cfc564f8fd0c315
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>

    Improve init/reset checks
---
 objed.el | 43 +++++++++++++++++++++++--------------------
 1 file changed, 23 insertions(+), 20 deletions(-)

diff --git a/objed.el b/objed.el
index 11c8dca..68d7425 100644
--- a/objed.el
+++ b/objed.el
@@ -1250,22 +1250,26 @@ See `objed-cmd-alist'."
 
 (defun objed-init-p ()
   "Default for `objed-init-p-function'."
-  (and (eq (key-binding (kbd "C-n"))
-           #'next-line)
-       (not (minibufferp))
-       (not (active-minibuffer-window))
-       (not (and (bobp)
-                 (bound-and-true-p git-commit-mode)))
-       (not (derived-mode-p 'comint-mode))
-       (not (and (bobp) (eobp)))
-       ;; only for modes which do not
-       ;; their their own modal setup
-       (or (memq (key-binding "f")
-                 '(self-insert-command
-                   org-self-insert-command
-                   outshine-self-insert-command
-                   outline-self-insert-command
-                   undefined)))))
+  (when (window-live-p (get-buffer-window))
+    (with-current-buffer (window-buffer (selected-window))
+      (and (eq (key-binding (kbd "C-n"))
+               #'next-line)
+           (eq (key-binding "n")
+               #'self-insert-command)
+           (not (minibufferp))
+           (not (active-minibuffer-window))
+           (not (and (bobp)
+                     (bound-and-true-p git-commit-mode)))
+           (not (derived-mode-p 'comint-mode))
+           (not (and (bobp) (eobp)))
+           ;; only for modes which do not
+           ;; their their own modal setup
+           (or (memq (key-binding "f")
+                     '(self-insert-command
+                       org-self-insert-command
+                       outshine-self-insert-command
+                       outline-self-insert-command
+                       undefined)))))))
 
 (defun objed--init (&optional sym)
   "Initialize `objed'.
@@ -3623,10 +3627,9 @@ If region is active deactivate it first."
 Resets objed if appropriate."
   (unless (or objed--with-allow-input
               (not objed--buffer))
-    (when (not (eq (current-buffer) objed--buffer))
-      (objed--reset--objed-buffer)
-      (select-window (get-buffer-window (current-buffer)) t)
-      (objed--init (or objed--object 'char)))))
+    (when (or (not (eq (current-buffer) objed--buffer))
+              (not (get-buffer-window (current-buffer))))
+      (objed--reset--objed-buffer))))
 
 (defun objed--reset--objed-buffer ()
   "Reset `objed--buffer'."



reply via email to

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