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

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

[elpa] externals/beframe 13142e4a08 2/4: Do not prompt for FRAME if only


From: ELPA Syncer
Subject: [elpa] externals/beframe 13142e4a08 2/4: Do not prompt for FRAME if only 1; return user-error
Date: Sun, 8 Oct 2023 09:57:29 -0400 (EDT)

branch: externals/beframe
commit 13142e4a08e4f7d9e1dac1494c5fd81b626b626f
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>

    Do not prompt for FRAME if only 1; return user-error
---
 beframe.el | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/beframe.el b/beframe.el
index dba18bca6b..cc7856433d 100644
--- a/beframe.el
+++ b/beframe.el
@@ -247,10 +247,18 @@ frame name."
            frame))))
      frames)))
 
-(defun beframe--frame-prompt ()
-  "Prompt to select a frame among the list of frames."
-  (let ((frames (beframe--buffers-with-current)))
-    (completing-read "Select Frame: " frames nil t nil 'frame-name-history 
(caar frames))))
+(defun beframe--multiple-frames-p ()
+  "Return non-nil if `frame-list' is longer than 1."
+  (> (length (frame-list)) 1))
+
+(defun beframe--frame-prompt (&optional force)
+  "Prompt to select a frame among the list of frames.
+Return user-error if `beframe--multiple-frames-p' is nil.  Skip
+this check if FORCE is non-nil."
+  (if (or force (beframe--multiple-frames-p))
+      (let ((frames (beframe--buffers-with-current)))
+        (completing-read "Select Frame: " frames nil t nil 'frame-name-history 
(caar frames)))
+    (user-error "Only a single frame is available; aborting")))
 
 (defun beframe--frame-object (frame)
   "Retun frame object of named FRAME.
@@ -636,7 +644,7 @@ With no NAME argument try to infer a name based on the 
following:
 Remember that this function doubles as an example for
 `beframe-rename-function': copy it and modify it accordingly."
   (interactive
-   (let ((select-frame (beframe--frame-prompt)))
+   (let ((select-frame (beframe--frame-prompt :force-even-if-one)))
      (list
       (beframe--frame-object select-frame)
       (when current-prefix-arg



reply via email to

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