[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [PATCH] - Fix org-fast-tag-selection
From: |
Nick Dokos |
Subject: |
Re: [O] [PATCH] - Fix org-fast-tag-selection |
Date: |
Tue, 03 Apr 2012 09:45:53 -0400 |
Noorul Islam K M <address@hidden> wrote:
>
> 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.
>
Why did the :endgroup fail and not the :startgroup?
Nick
> 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))