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

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

[elpa] externals/posframe 15ffbef 21/40: Revert "Improve 'posframe-delet


From: Feng Shu
Subject: [elpa] externals/posframe 15ffbef 21/40: Revert "Improve 'posframe-delete-frame'"
Date: Wed, 5 Feb 2020 04:27:20 -0500 (EST)

branch: externals/posframe
commit 15ffbeff7dd39ebdab16d6c6e324045b6595abff
Author: Feng Shu <address@hidden>
Commit: Feng Shu <address@hidden>

    Revert "Improve 'posframe-delete-frame'"
    
    This reverts commit 330cae28b23af3bcf64d2e643cb44a6203e1082a.
---
 posframe.el | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/posframe.el b/posframe.el
index 4a8ec4b..cfd6091 100644
--- a/posframe.el
+++ b/posframe.el
@@ -130,7 +130,6 @@
 ;;; Code:
 ;; * posframe's code                         :CODE:
 (require 'cl-lib)
-(eval-when-compile (require 'subr-x))   ; `when-let'
 
 (defgroup posframe nil
   "Pop a posframe (just a frame) at point"
@@ -687,14 +686,18 @@ BUFFER-OR-NAME can be a buffer or a buffer name."
 (defun posframe-delete-frame (buffer-or-name)
   "Delete posframe pertaining to BUFFER-OR-NAME.
 BUFFER-OR-NAME can be a buffer or a buffer name."
-  (when-let ((buffer (get-buffer buffer-or-name)))
-    (with-current-buffer buffer
-      (dolist (timer '(posframe--refresh-timer
-                       posframe--timeout-timer))
-        (when (timerp timer)
-          (cancel-timer timer)))
-      (when (frame-live-p posframe--frame)
-        (delete-frame posframe--frame)))))
+  (dolist (frame (frame-list))
+    (let ((buffer-info (frame-parameter frame 'posframe-buffer))
+          (buffer (get-buffer buffer-or-name)))
+      (when (or (equal buffer-or-name (car buffer-info))
+                (equal buffer-or-name (cdr buffer-info)))
+        (when buffer
+          (with-current-buffer buffer
+            (dolist (timer '(posframe--refresh-timer
+                             posframe--timeout-timer))
+              (when (timerp timer)
+                (cancel-timer timer)))))
+        (delete-frame frame)))))
 
 (defun posframe--kill-buffer (buffer-or-name)
   "Kill posframe's buffer: BUFFER-OR-NAME.



reply via email to

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