From mboxrd@z Thu Jan 1 00:00:00 1970 From: Noorul Islam K M Subject: [PATCH] - Fix org-fast-tag-selection Date: Tue, 03 Apr 2012 16:13:05 +0530 Message-ID: <87fwclayfa.fsf@noman.maa.corp.collab.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([208.118.235.92]:55198) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SF1D5-0007Qd-1G for emacs-orgmode@gnu.org; Tue, 03 Apr 2012 06:43:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SF1Cx-0002GG-Au for emacs-orgmode@gnu.org; Tue, 03 Apr 2012 06:43:34 -0400 Received: from mail-pz0-f52.google.com ([209.85.210.52]:47163) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SF1Cx-0002FX-03 for emacs-orgmode@gnu.org; Tue, 03 Apr 2012 06:43:27 -0400 Received: by dake40 with SMTP id e40so3105438dak.39 for ; Tue, 03 Apr 2012 03:43:23 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode --=-=-= Content-Type: text/plain 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 --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=org.el.todo.fast.selection.txt 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)) --=-=-=--