The Customize interface for org-agenda-custom-commands fails for agenda
commands with an org-agenda-entry-types command option. The reason it fails is
that the org-agenda-entry-types option should be a quoted list, but the
defcustom expression doesn't add the quote properly. A patch is below.
To reproduce the error:
1. M-x customize-variable RET org-agenda-custom-commands
2. Click the first INS button
3. Choose a convenient access key and description (or leave them as defaults -- I used
access key "x")
4. Click the second Value Menu button (currently set to "Tags/Property match (all agenda
files)") and choose "Agenda"
5. Under "Local settings for this command. Remember to quote values:", click INS
6. Click the new Value Menu button and choose "Set daily/weekly entry types"
7. C-c C-c (sets Customize variable for the current session)
8. M-x org-agenda RET x (or just C-c a x) -- you'll get an empty agenda buffer and the
error message "Symbol's function definition is void: :deadline".
I haven't checked whether there are other quoting issues in the customization
definition for org-agenda-custom-commands but thought I would submit the patch
anyway.
Joe V.
Patch:
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 1b033e8..2e74d5d 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -306,11 +306,13 @@ you can \"misuse\" it to also add other text to the
header. However,
(string :tag "+tag or -tag"))))
(list :tag "Set daily/weekly entry types"
(const org-agenda-entry-types)
- (set :greedy t :value (:deadline :scheduled :timestamp :sexp)
- (const :deadline)
- (const :scheduled)
- (const :timestamp)
- (const :sexp)))
+ (list
+ (const :format "" quote)
+ (set :greedy t :value (:deadline :scheduled :timestamp :sexp)
+ (const :deadline)
+ (const :scheduled)
+ (const :timestamp)
+ (const :sexp))))
(list :tag "Standard skipping condition"
:value (org-agenda-skip-function '(org-agenda-skip-entry-if))
(const org-agenda-skip-function)