Re: [Orgmode] Bug: org-install must precede customization [7.02trans]
At Fri, 12 Nov 2010 23:50:35 -0600, Carsten Dominik wrote: > > Hi David, > > On Nov 12, 2010, at 11:01 PM, David Abrahams wrote: > > > > > Hi Carsten, > > > > I'm sorry to belabor this, but I'm a little confused about what you're > > saying. > > that is because I just talked garbage. I don't think you are giving yourself enough credit. > Let me try a cleaner version. > > If I put an autoload cookie in front of a defun, a stub for this > function will be created in the autoloads file (for Org this is org- > install.el). When this file gets loaded and the corresponding form > evaluated, Emacs knows about this function and it will load the > corresponding file to get the full function whenever the function is > first called. > > We had a discussion here some point ago where someone complained that > org-capture-templates was not available for customization before org- > capture.el actually has been loaded. I thought that putting an > autoload cookie in front of a defcustom form would have the desired > effect. I had hoped that org-install.el then would make Emacs aware > of org-capture-templates and load org-capture.el whenever org-capture- > templates first was needed. > > However, it does not work like this. In org-install.el, the defcustom > is turned into a defvar, which defines the variable and sets it to > nil. That's unfortunate. It sounds rather like a bug in emacs. > When later the customize forms are evaluated, they see the variable > already defined and assume that the user has set this value on > purpose. So customize does not think it is entitled to overrule the > users action and so does *not* install its saved value. So this > creates a dependence on the load sequence of org-install.el and > custom.el. This is bad and unpredictable. Therefore I clearly prefer > that org-capture-templates is only available when org-capture indeed > has been loaded, and that an error is produced when I try to access > the variable before it is defined. Hmm, could that not be solved by doing a (require 'custom) in org-install.el? > Moreover, if you use `C-c r C' to customize the variable, I don't seem to have that binding. > it will work because the function org-capture is correctly > autoloaded. > > That is why I have decided to remove the autoload cookie. > > Better? Makes sense, mostly, thanks. I guess I should update my Org sources, then! -- Dave Abrahams BoostPro Computing http://www.boostpro.com ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Bug: org-install must precede customization [7.02trans]
Hi David, On Nov 12, 2010, at 11:01 PM, David Abrahams wrote: Hi Carsten, I'm sorry to belabor this, but I'm a little confused about what you're saying. that is because I just talked garbage. Let me try a cleaner version. If I put an autoload cookie in front of a defun, a stub for this function will be created in the autoloads file (for Org this is org- install.el). When this file gets loaded and the corresponding form evaluated, Emacs knows about this function and it will load the corresponding file to get the full function whenever the function is first called. We had a discussion here some point ago where someone complained that org-capture-templates was not available for customization before org- capture.el actually has been loaded. I thought that putting an autoload cookie in front of a defcustom form would have the desired effect. I had hoped that org-install.el then would make Emacs aware of org-capture-templates and load org-capture.el whenever org-capture- templates first was needed. However, it does not work like this. In org-install.el, the defcustom is turned into a defvar, which defines the variable and sets it to nil. When later the customize forms are evaluated, they see the variable already defined and assume that the user has set this value on purpose. So customize does not think it is entitled to overrule the users action and so does *not* install its saved value. So this creates a dependence on the load sequence of org-install.el and custom.el. This is bad and unpredictable. Therefore I clearly prefer that org-capture-templates is only available when org-capture indeed has been loaded, and that an error is produced when I try to access the variable before it is defined. Moreover, if you use `C-c r C' to customize the variable, it will work because the function org-capture is correctly autoloaded. That is why I have decided to remove the autoload cookie. Better? - Carsten At Fri, 12 Nov 2010 22:40:10 -0600, Carsten Dominik wrote: On Nov 12, 2010, at 9:28 PM, David Abrahams wrote: Hi Carsten, Is it merely the autoload of org-capture-templates, or is this a general rule for everything in org-install? I think I'm perfectly happy to work with the dependency in place as long as it's documented. I think that this should work, but it clearly does not. So the only clean thing is it to remove it. The proper sequence should be to first load org-install and the do any other configuration. Are you saying "it clearly does not" based solely on the information I gave you, or is there something else? I ask because what you say is the "proper sequence" is supported by my experience. When I did things in that order, everything worked. When I didn't, I ran into this problem. It still seems to me that fundamental problem was simply that the ordering requirement wasn't documented... unless there's some information I'm missing? Thanks - Carsten For most people it wouldn't be an issue since custom-* puts its custom-set-variables call at the end of the file. I think you need to be using something like initsplit to see the problem. At Fri, 12 Nov 2010 16:29:15 -0600, Carsten Dominik wrote: Hi David, thanks for investigating this. It seems to me that the autoload has caused more problems than it solved - so I have removed the autoload again. - Carsten On Nov 12, 2010, at 12:45 PM, David Abrahams wrote: Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See http://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org-mode mailing list. There's an undocumented dependency between org-install and customizations. In particular, if custom-set-variables is called to set org-capture-templates, and then org-install is loaded, org-capture-templates will be reset to nil. I tested this with emacs -Q Emacs : GNU Emacs 23.2.1 (x86_64-apple-darwin, NS apple- appkit-1038.29) of 2010-05-08 on black.local Package: Org-mode version 7.02trans current state: == (setq org-agenda-deadline-leaders '("D: " "D%d: ") org-clock-in-switch-to-state "STARTED" org-agenda-skip-scheduled-if-deadline-is-shown t org-export-latex-after-initial-vars-hook '(org-beamer-after- initial- vars) org-todo-keyword-faces '(("TODO" :foreground "medium blue" :weight bold) ("APPT" :foreground "medium blue" :weight bold) ("NOTE" :foreground "brown" :weight bold) ("STARTED" :foreground "dark orange" :weight bold) ("WAITING" :foreground "red" :weight bold) ("DELEGATED" :foreground "dark violet" :weight bold) ("DEFERRED" :foreground "dark blue" :weight bold) ("SOMEDAY" :foreground "
Re: [Orgmode] Bug: org-install must precede customization [7.02trans]
Hi Carsten, I'm sorry to belabor this, but I'm a little confused about what you're saying. At Fri, 12 Nov 2010 22:40:10 -0600, Carsten Dominik wrote: > > > On Nov 12, 2010, at 9:28 PM, David Abrahams wrote: > > > > > Hi Carsten, > > > > Is it merely the autoload of org-capture-templates, or is this a > > general rule for everything in org-install? I think I'm perfectly > > happy to work with the dependency in place as long as it's documented. > > I think that this should work, but it clearly does not. So the only > clean thing is it to remove it. The proper sequence should be > to first load org-install and the do any other configuration. Are you saying "it clearly does not" based solely on the information I gave you, or is there something else? I ask because what you say is the "proper sequence" is supported by my experience. When I did things in that order, everything worked. When I didn't, I ran into this problem. It still seems to me that fundamental problem was simply that the ordering requirement wasn't documented... unless there's some information I'm missing? Thanks > > - Carsten > > > For most people it wouldn't be an issue since custom-* puts its > > custom-set-variables call at the end of the file. I think you need to > > be using something like initsplit to see the problem. > > > > At Fri, 12 Nov 2010 16:29:15 -0600, > > Carsten Dominik wrote: > >> > >> Hi David, > >> > >> thanks for investigating this. > >> > >> It seems to me that the autoload has caused more problems than it > >> solved - so I have removed the autoload again. > >> > >> - Carsten > >> > >> On Nov 12, 2010, at 12:45 PM, David Abrahams wrote: > >> > >>> > >>> Remember to cover the basics, that is, what you expected to happen > >>> and > >>> what in fact did happen. You don't know how to make a good report? > >>> See > >>> > >>>http://orgmode.org/manual/Feedback.html#Feedback > >>> > >>> Your bug report will be posted to the Org-mode mailing list. > >>> > >>> > >>> There's an undocumented dependency between org-install and > >>> customizations. In particular, if custom-set-variables is called to > >>> set > >>> org-capture-templates, and then org-install is loaded, > >>> org-capture-templates will be reset to nil. I tested this with > >>> > >>> emacs -Q > >>> > >>> Emacs : GNU Emacs 23.2.1 (x86_64-apple-darwin, NS apple- > >>> appkit-1038.29) > >>> of 2010-05-08 on black.local > >>> Package: Org-mode version 7.02trans > >>> > >>> current state: > >>> == > >>> (setq > >>> org-agenda-deadline-leaders '("D: " "D%d: ") > >>> org-clock-in-switch-to-state "STARTED" > >>> org-agenda-skip-scheduled-if-deadline-is-shown t > >>> org-export-latex-after-initial-vars-hook '(org-beamer-after-initial- > >>> vars) > >>> org-todo-keyword-faces '(("TODO" :foreground "medium blue" :weight > >>> bold) > >>> ("APPT" :foreground "medium blue" :weight > >>> bold) > >>> ("NOTE" :foreground "brown" :weight bold) > >>> ("STARTED" :foreground "dark orange" > >>> :weight bold) > >>> ("WAITING" :foreground "red" :weight bold) > >>> ("DELEGATED" :foreground "dark violet" > >>> :weight bold) > >>> ("DEFERRED" :foreground "dark blue" :weight > >>> bold) > >>> ("SOMEDAY" :foreground "dark blue" :weight > >>> bold) > >>> ("PROJECT" :height 1.5 :weight bold > >>> :foreground "black")) > >>> org-speed-command-hook '(org-speed-command-default-hook org-babel- > >>> speed-command-hook) > >>> org-agenda-custom-commands '(("E" "Errands (next 3 days)" tags > >>> "Errand&TODO<>\"DONE\"&TODO<> > >>> \"CANCELLED\"&STYLE<>\"habit\"&SCHEDULED<\"<+3d>\"" > >>> ((org-agenda-overriding-header > >>> "Errands (next 3 days)") > >>> > >>> ) > >>> ) > >>> ("A" "Priority #A tasks" agenda "" > >>> ((org-agenda-ndays 1) > >>> (org-agenda-overriding-header > >>> "Today's priority #A tasks: ") > >>> (org-agenda-skip-function > >>>(quote (org-agenda-skip-entry-if > >>> (quote notregexp) "\\=.*\\[#A\\]")) > >>>) > >>> ) > >>> ) > >>> ("B" "Priority #A and #B tasks" agenda > >>> "" > >>> ((org-agenda-ndays 1) > >>> (org-agenda-overriding-header > >>> "Today's priority #A and #B tasks: ") > >>> (org-agenda-skip-function > >>>
Re: [Orgmode] Bug: org-install must precede customization [7.02trans]
On Nov 12, 2010, at 9:28 PM, David Abrahams wrote: Hi Carsten, Is it merely the autoload of org-capture-templates, or is this a general rule for everything in org-install? I think I'm perfectly happy to work with the dependency in place as long as it's documented. I think that this should work, but it clearly does not. So the only clean thing is it to remove it. The proper sequence should be to first load org-install and the do any other configuration. - Carsten For most people it wouldn't be an issue since custom-* puts its custom-set-variables call at the end of the file. I think you need to be using something like initsplit to see the problem. At Fri, 12 Nov 2010 16:29:15 -0600, Carsten Dominik wrote: Hi David, thanks for investigating this. It seems to me that the autoload has caused more problems than it solved - so I have removed the autoload again. - Carsten On Nov 12, 2010, at 12:45 PM, David Abrahams wrote: Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See http://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org-mode mailing list. There's an undocumented dependency between org-install and customizations. In particular, if custom-set-variables is called to set org-capture-templates, and then org-install is loaded, org-capture-templates will be reset to nil. I tested this with emacs -Q Emacs : GNU Emacs 23.2.1 (x86_64-apple-darwin, NS apple- appkit-1038.29) of 2010-05-08 on black.local Package: Org-mode version 7.02trans current state: == (setq org-agenda-deadline-leaders '("D: " "D%d: ") org-clock-in-switch-to-state "STARTED" org-agenda-skip-scheduled-if-deadline-is-shown t org-export-latex-after-initial-vars-hook '(org-beamer-after-initial- vars) org-todo-keyword-faces '(("TODO" :foreground "medium blue" :weight bold) ("APPT" :foreground "medium blue" :weight bold) ("NOTE" :foreground "brown" :weight bold) ("STARTED" :foreground "dark orange" :weight bold) ("WAITING" :foreground "red" :weight bold) ("DELEGATED" :foreground "dark violet" :weight bold) ("DEFERRED" :foreground "dark blue" :weight bold) ("SOMEDAY" :foreground "dark blue" :weight bold) ("PROJECT" :height 1.5 :weight bold :foreground "black")) org-speed-command-hook '(org-speed-command-default-hook org-babel- speed-command-hook) org-agenda-custom-commands '(("E" "Errands (next 3 days)" tags "Errand&TODO<>\"DONE\"&TODO<> \"CANCELLED\"&STYLE<>\"habit\"&SCHEDULED<\"<+3d>\"" ((org-agenda-overriding-header "Errands (next 3 days)") ) ) ("A" "Priority #A tasks" agenda "" ((org-agenda-ndays 1) (org-agenda-overriding-header "Today's priority #A tasks: ") (org-agenda-skip-function (quote (org-agenda-skip-entry-if (quote notregexp) "\\=.*\\[#A\\]")) ) ) ) ("B" "Priority #A and #B tasks" agenda "" ((org-agenda-ndays 1) (org-agenda-overriding-header "Today's priority #A and #B tasks: ") (org-agenda-skip-function (quote (org-agenda-skip-entry-if (quote regexp) "\\=.*\\[#C\\]"))) ) ) ("w" "Waiting/delegated tasks" tags "TODO=\"WAITING\"|TODO=\"DELEGATED\"" ((org-agenda-overriding-header "Waiting/delegated tasks:") (org-agenda-sorting-strategy (quote (todo-state-up priority-down category-up))) ) ) ("u" "Unscheduled tasks" tags "TODO<>\"\"&TODO<>\"DONE\"&TODO<> \"CANCELLED\"&TODO<>\"NOTE\"&CATEGORY<>{CEG\\|ABC\\|Bizcard\\| Adagio\ \|EVAprint\\|\\}" ((org-agenda-overriding-header "Unscheduled tasks: ") (org -agenda-skip-function
Re: [Orgmode] Bug: org-install must precede customization [7.02trans]
Hi Carsten, Is it merely the autoload of org-capture-templates, or is this a general rule for everything in org-install? I think I'm perfectly happy to work with the dependency in place as long as it's documented. For most people it wouldn't be an issue since custom-* puts its custom-set-variables call at the end of the file. I think you need to be using something like initsplit to see the problem. At Fri, 12 Nov 2010 16:29:15 -0600, Carsten Dominik wrote: > > Hi David, > > thanks for investigating this. > > It seems to me that the autoload has caused more problems than it > solved - so I have removed the autoload again. > > - Carsten > > On Nov 12, 2010, at 12:45 PM, David Abrahams wrote: > > > > > Remember to cover the basics, that is, what you expected to happen and > > what in fact did happen. You don't know how to make a good report? > > See > > > > http://orgmode.org/manual/Feedback.html#Feedback > > > > Your bug report will be posted to the Org-mode mailing list. > > > > > > There's an undocumented dependency between org-install and > > customizations. In particular, if custom-set-variables is called to > > set > > org-capture-templates, and then org-install is loaded, > > org-capture-templates will be reset to nil. I tested this with > > > > emacs -Q > > > > Emacs : GNU Emacs 23.2.1 (x86_64-apple-darwin, NS apple- > > appkit-1038.29) > > of 2010-05-08 on black.local > > Package: Org-mode version 7.02trans > > > > current state: > > == > > (setq > > org-agenda-deadline-leaders '("D: " "D%d: ") > > org-clock-in-switch-to-state "STARTED" > > org-agenda-skip-scheduled-if-deadline-is-shown t > > org-export-latex-after-initial-vars-hook '(org-beamer-after-initial- > > vars) > > org-todo-keyword-faces '(("TODO" :foreground "medium blue" :weight > > bold) > > ("APPT" :foreground "medium blue" :weight > > bold) > > ("NOTE" :foreground "brown" :weight bold) > > ("STARTED" :foreground "dark orange" > > :weight bold) > > ("WAITING" :foreground "red" :weight bold) > > ("DELEGATED" :foreground "dark violet" > > :weight bold) > > ("DEFERRED" :foreground "dark blue" :weight > > bold) > > ("SOMEDAY" :foreground "dark blue" :weight > > bold) > > ("PROJECT" :height 1.5 :weight bold > > :foreground "black")) > > org-speed-command-hook '(org-speed-command-default-hook org-babel- > > speed-command-hook) > > org-agenda-custom-commands '(("E" "Errands (next 3 days)" tags > > "Errand&TODO<>\"DONE\"&TODO<> > > \"CANCELLED\"&STYLE<>\"habit\"&SCHEDULED<\"<+3d>\"" > > ((org-agenda-overriding-header > > "Errands (next 3 days)") > > > > ) > > ) > > ("A" "Priority #A tasks" agenda "" > > ((org-agenda-ndays 1) > >(org-agenda-overriding-header > > "Today's priority #A tasks: ") > >(org-agenda-skip-function > > (quote (org-agenda-skip-entry-if > > (quote notregexp) "\\=.*\\[#A\\]")) > > ) > >) > > ) > > ("B" "Priority #A and #B tasks" agenda "" > > ((org-agenda-ndays 1) > >(org-agenda-overriding-header > > "Today's priority #A and #B tasks: ") > >(org-agenda-skip-function > > (quote (org-agenda-skip-entry-if > > (quote regexp) "\\=.*\\[#C\\]"))) > >) > > ) > > ("w" "Waiting/delegated tasks" tags > > "TODO=\"WAITING\"|TODO=\"DELEGATED\"" > > ((org-agenda-overriding-header > > "Waiting/delegated tasks:") > >(org-agenda-sorting-strategy > > (quote (todo-state-up priority-down > > category-up))) > >) > > ) > > ("u" "Unscheduled tasks" tags > > "TODO<>\"\"&TODO<>\"DONE\"&TODO<> > > \"CANCELLED\"&TODO<>\"NOTE\"&CATEGORY<>{CEG\\|ABC\\|Bizcard\\|Adagio\ > > \|EVAprint\\|\\}" > > ((org-agenda-overriding-header > > "Unscheduled tasks: ") > > > > > >
Re: [Orgmode] Bug: org-install must precede customization [7.02trans]
Hi David, thanks for investigating this. It seems to me that the autoload has caused more problems than it solved - so I have removed the autoload again. - Carsten On Nov 12, 2010, at 12:45 PM, David Abrahams wrote: Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See http://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org-mode mailing list. There's an undocumented dependency between org-install and customizations. In particular, if custom-set-variables is called to set org-capture-templates, and then org-install is loaded, org-capture-templates will be reset to nil. I tested this with emacs -Q Emacs : GNU Emacs 23.2.1 (x86_64-apple-darwin, NS apple- appkit-1038.29) of 2010-05-08 on black.local Package: Org-mode version 7.02trans current state: == (setq org-agenda-deadline-leaders '("D: " "D%d: ") org-clock-in-switch-to-state "STARTED" org-agenda-skip-scheduled-if-deadline-is-shown t org-export-latex-after-initial-vars-hook '(org-beamer-after-initial- vars) org-todo-keyword-faces '(("TODO" :foreground "medium blue" :weight bold) ("APPT" :foreground "medium blue" :weight bold) ("NOTE" :foreground "brown" :weight bold) ("STARTED" :foreground "dark orange" :weight bold) ("WAITING" :foreground "red" :weight bold) ("DELEGATED" :foreground "dark violet" :weight bold) ("DEFERRED" :foreground "dark blue" :weight bold) ("SOMEDAY" :foreground "dark blue" :weight bold) ("PROJECT" :height 1.5 :weight bold :foreground "black")) org-speed-command-hook '(org-speed-command-default-hook org-babel- speed-command-hook) org-agenda-custom-commands '(("E" "Errands (next 3 days)" tags "Errand&TODO<>\"DONE\"&TODO<> \"CANCELLED\"&STYLE<>\"habit\"&SCHEDULED<\"<+3d>\"" ((org-agenda-overriding-header "Errands (next 3 days)") ) ) ("A" "Priority #A tasks" agenda "" ((org-agenda-ndays 1) (org-agenda-overriding-header "Today's priority #A tasks: ") (org-agenda-skip-function (quote (org-agenda-skip-entry-if (quote notregexp) "\\=.*\\[#A\\]")) ) ) ) ("B" "Priority #A and #B tasks" agenda "" ((org-agenda-ndays 1) (org-agenda-overriding-header "Today's priority #A and #B tasks: ") (org-agenda-skip-function (quote (org-agenda-skip-entry-if (quote regexp) "\\=.*\\[#C\\]"))) ) ) ("w" "Waiting/delegated tasks" tags "TODO=\"WAITING\"|TODO=\"DELEGATED\"" ((org-agenda-overriding-header "Waiting/delegated tasks:") (org-agenda-sorting-strategy (quote (todo-state-up priority-down category-up))) ) ) ("u" "Unscheduled tasks" tags "TODO<>\"\"&TODO<>\"DONE\"&TODO<> \"CANCELLED\"&TODO<>\"NOTE\"&CATEGORY<>{CEG\\|ABC\\|Bizcard\\|Adagio\ \|EVAprint\\|\\}" ((org-agenda-overriding-header "Unscheduled tasks: ") (org -agenda-skip-function (quote (org -agenda-skip-entry-if (quote scheduled)
[Orgmode] Bug: org-install must precede customization [7.02trans]
Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See http://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org-mode mailing list. There's an undocumented dependency between org-install and customizations. In particular, if custom-set-variables is called to set org-capture-templates, and then org-install is loaded, org-capture-templates will be reset to nil. I tested this with emacs -Q Emacs : GNU Emacs 23.2.1 (x86_64-apple-darwin, NS apple-appkit-1038.29) of 2010-05-08 on black.local Package: Org-mode version 7.02trans current state: == (setq org-agenda-deadline-leaders '("D: " "D%d: ") org-clock-in-switch-to-state "STARTED" org-agenda-skip-scheduled-if-deadline-is-shown t org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars) org-todo-keyword-faces '(("TODO" :foreground "medium blue" :weight bold) ("APPT" :foreground "medium blue" :weight bold) ("NOTE" :foreground "brown" :weight bold) ("STARTED" :foreground "dark orange" :weight bold) ("WAITING" :foreground "red" :weight bold) ("DELEGATED" :foreground "dark violet" :weight bold) ("DEFERRED" :foreground "dark blue" :weight bold) ("SOMEDAY" :foreground "dark blue" :weight bold) ("PROJECT" :height 1.5 :weight bold :foreground "black")) org-speed-command-hook '(org-speed-command-default-hook org-babel-speed-command-hook) org-agenda-custom-commands '(("E" "Errands (next 3 days)" tags "Errand&TODO<>\"DONE\"&TODO<>\"CANCELLED\"&STYLE<>\"habit\"&SCHEDULED<\"<+3d>\"" ((org-agenda-overriding-header "Errands (next 3 days)") ) ) ("A" "Priority #A tasks" agenda "" ((org-agenda-ndays 1) (org-agenda-overriding-header "Today's priority #A tasks: ") (org-agenda-skip-function (quote (org-agenda-skip-entry-if (quote notregexp) "\\=.*\\[#A\\]")) ) ) ) ("B" "Priority #A and #B tasks" agenda "" ((org-agenda-ndays 1) (org-agenda-overriding-header "Today's priority #A and #B tasks: ") (org-agenda-skip-function (quote (org-agenda-skip-entry-if (quote regexp) "\\=.*\\[#C\\]"))) ) ) ("w" "Waiting/delegated tasks" tags "TODO=\"WAITING\"|TODO=\"DELEGATED\"" ((org-agenda-overriding-header "Waiting/delegated tasks:") (org-agenda-sorting-strategy (quote (todo-state-up priority-down category-up))) ) ) ("u" "Unscheduled tasks" tags "TODO<>\"\"&TODO<>\"DONE\"&TODO<>\"CANCELLED\"&TODO<>\"NOTE\"&CATEGORY<>{CEG\\|ABC\\|Bizcard\\|Adagio\\|EVAprint\\|\\}" ((org-agenda-overriding-header "Unscheduled tasks: ") (org-agenda-skip-function (quote