emacs-orgmode
[Top][All Lists]
Advanced

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

[O] [PATCH] - Fix org-fast-tag-selection


From: Noorul Islam K M
Subject: [O] [PATCH] - Fix org-fast-tag-selection
Date: Tue, 03 Apr 2012 16:13:05 +0530
User-agent: Gnus/5.130004 (Ma Gnus v0.4) Emacs/24.0.93 (gnu/linux)

Hello all,

I have the following setup similar to Bernt Hansen.

(setq org-tag-alist (quote ((:startgroup)
                            ("@errand" . ?e)
                            ("@office" . ?o)
                            ("@home" . ?h)
                            (:endgroup)
                            ("PHONE" . ?p)
                            ("WAITING" . ?w)
                            ("HOME" . ?H)
                            ("CANCELLED" . ?c)
                            ("NOTE" . ?n)
                            ("ORG" . ?O))))

New when I try to add a new tag with the key press "C-c C-q TAB" from a
heading, I get following backtrace.

Debugger entered--Lisp error: (wrong-type-argument stringp :endgroup)
  string-match("" :endgroup)
  ido-read-internal(list "Tag: " nil nil nil nil)
  ido-completing-read("Tag: " (#("REFILE" 0 6 (inherited t)) :startgroup 
"@errand" "@office" "@home" :endgroup "PHONE" "WAITING" "HOME" "CANCELLED" 
"NOTE" "ORG"))
  apply(ido-completing-read "Tag: " (#("REFILE" 0 6 (inherited t)) :startgroup 
"@errand" "@office" "@home" :endgroup "PHONE" "WAITING" "HOME" "CANCELLED" 
"NOTE" "ORG") nil)
  org-icompleting-read("Tag: " (#("REFILE" 0 6 (inherited t)) :startgroup 
"@errand" "@office" "@home" :endgroup "PHONE" "WAITING" "HOME" "CANCELLED" 
"NOTE" "ORG"))
  org-fast-tag-selection(nil (#("REFILE" 0 6 (inherited t))) ((:startgroup) 
("@errand" . 101) ("@office" . 111) ("@home" . 104) (:endgroup) ("PHONE" . 112) 
("WAITING" . 119) ("HOME" . 72) ("CANCELLED" . 99) ("NOTE" . 110) ("ORG" . 79) 
(#("REFILE" 0 6 (inherited t)))) nil)
  org-set-tags(nil nil)
  org-set-tags-command(nil)
  call-interactively(org-set-tags-command nil nil)

I think I nailed down the problem and fixed it in the attached patch.

Changelog:

* lisp/org.el (org-fast-tag-selection): Remove non-string object from 
org-tag-alist.

Thanks and Regards
Noorul

diff --git a/lisp/org.el b/lisp/org.el
index 8ffb6c8..2df860e 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -13756,7 +13756,10 @@ Returns the new tags string, or nil to not change the 
current settings."
                                 (append (or buffer-tags
                                             (with-current-buffer buf
                                               (mapcar 'car 
(org-get-buffer-tags))))
-                                        (mapcar 'car table)))))
+                                        (delq nil 
+                                              (mapcar (lambda (x) 
+                                                        (if (stringp 
+                                                             (car x)) x)) 
table))))))
                    (quit (setq tg "")))
                  (when (string-match "\\S-" tg)
                    (add-to-list 'buffer-tags (list tg))

reply via email to

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