summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--emacsconf.el18
1 files changed, 8 insertions, 10 deletions
diff --git a/emacsconf.el b/emacsconf.el
index d95ce0d..2907632 100644
--- a/emacsconf.el
+++ b/emacsconf.el
@@ -134,16 +134,14 @@
:export #'emacsconf-export-slug))
-(defun emacsconf-complete-talk ()
- (let ((choices (with-current-buffer (find-file-noselect emacsconf-org-file)
- (save-excursion
- (delq nil
- (org-map-entries
- (lambda ()
- (when (org-entry-get (point) "SLUG")
- (concat (org-entry-get (point) "SLUG") " - "
- (org-entry-get (point) "ITEM") " - "
- (org-entry-get (point) "NAME"))))))))))
+(defun emacsconf-complete-talk (&optional info)
+ (let ((choices
+ (mapcar (lambda (o)
+ (string-join
+ (delq nil
+ (mapcar (lambda (f) (plist-get o f)) '(:slug :title :speakers :irc)))
+ " - "))
+ (or info (emacsconf-get-talk-info)))))
(completing-read
"Talk: "
(lambda (string predicate action)