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

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

[elpa] externals/ivy-posframe 4e95a48 108/195: fix display function decl


From: Feng Shu
Subject: [elpa] externals/ivy-posframe 4e95a48 108/195: fix display function declaration by display-functions-alist
Date: Sat, 3 Oct 2020 07:11:55 -0400 (EDT)

branch: externals/ivy-posframe
commit 4e95a485d81c2bc94cc404cc36a55002a024f54a
Author: conao3 <conao3@gmail.com>
Commit: conao3 <conao3@gmail.com>

    fix display function declaration by display-functions-alist
---
 ivy-posframe.el | 30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/ivy-posframe.el b/ivy-posframe.el
index a2dc288..de67efb 100644
--- a/ivy-posframe.el
+++ b/ivy-posframe.el
@@ -226,27 +226,29 @@ This variable is useful for `ivy-posframe-read-action' .")
         (funcall func str)
       (ivy-posframe-display-at-frame-bottom-left str))))
 
-(defun ivy-posframe-display-at-window-center (str)
-  (ivy-posframe--display str #'posframe-poshandler-window-center))
-
-(defun ivy-posframe-display-at-frame-center (str)
-  (ivy-posframe--display str #'posframe-poshandler-frame-center))
-
-(defun ivy-posframe-display-at-window-bottom-left (str)
-  (ivy-posframe--display str #'posframe-poshandler-window-bottom-left-corner))
-
-(defun ivy-posframe-display-at-frame-bottom-left (str)
-  (ivy-posframe--display str #'posframe-poshandler-frame-bottom-left-corner))
+(defvar ivy-posframe-display-functions-alist
+  '((window-center      . window-center)
+    (frame-center       . frame-center)
+    (window-bottom-left . window-bottom-left-corner)
+    (frame-bottom-left  . frame-bottom-left-corner)
+    (point              . point-bottom-left-corner)))
+
+(eval
+ `(progn
+    ,@(mapcar
+       (lambda (elm)
+         `(defun ,(intern (format "ivy-posframe-display-at-%s" (car elm))) 
(str)
+            ,(format "Display STR via `posframe' at %s." (car elm))
+            (ivy-posframe--display str #',(intern (format 
"posframe-poshandler-%s" (cdr elm))))))
+       ivy-posframe-display-functions-alist)))
 
 (defun ivy-posframe-display-at-frame-bottom-window-center (str)
+  "Display STR via `posframe' at frame-bottom-window-center."
   (ivy-posframe--display
    str (lambda (info)
          (cons (car (posframe-poshandler-window-center info))
                (cdr (posframe-poshandler-frame-bottom-left-corner info))))))
 
-(defun ivy-posframe-display-at-point (str)
-  (ivy-posframe--display str #'posframe-poshandler-point-bottom-left-corner))
-
 (defun ivy-posframe-cleanup ()
   "Cleanup ivy's posframe."
   (when (posframe-workable-p)



reply via email to

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