Nick Dokos <nicholas.do...@hp.com> wrote: > [Bernt, thanks very much for taking the time to do the set-up: it makes > things so much easier!] > > I've made a little progress debugging this in the case of the > org-agenda-start-with-log-mode variable: the doc for it says > > ,---- > | org-agenda-start-with-log-mode is a variable defined in `org-agenda.el'. > | Its value is nil > | > | Documentation: > | The initial value of log-mode in a newly created agenda window. > | > | You can customize this variable. > `---- > > Note that *initial*: it is only used once, in org-agenda-mode, to > initialize org-agenda-show-log. So setting it in the definition of an > agenda custom command (effectively in a (let ...) form) will not work: > org-agenda-mode has been called already by the time the custom command > is executed, and the global value of org-agenda-start-with-log-mode has > been used to set org-agenda-show-log. Any local binding later on has no > effect at all. > > So the workaround for this variable is to set org-agenda-show-log in the > definition of the custom command. The following works as far as the log > goes: > > (setq org-agenda-custom-commands > '(("c" "The Cycle" > ((agenda "" > ( > (org-agenda-overriding-columns-format "%75ITEM %7Effort{:} > %7CLOCKSUM{Total} %15TAGS %SCHEDULED") ;; no > (org-agenda-view-columns-initially t) ;; no > (org-agenda-show-log t) ;;yes > (org-agenda-ndays 1) ;; yes > (org-agenda-skip-function ;; yes > '(org-agenda-skip-entry-if 'notregexp "\\* TODO"))))) > nil nil))) > > I presume that a similar problem afflicts the column view variables, > but I have not gone there yet. >
The problem with the column variables is similar but not quite the same: column view is set in org-finalize, and org-finalize is called *twice*: The custom commands are executed by org-run-agenda-series, which first calls org-agenda-list with the (let ...) settings from the definition of the custom command and which eventually calls org-finalize with the proper values of the column view variables. But once org-agenda-list returns to org-run-agenda-series, the latter continues on and calls org-finalize again with no (let ...) bindings. The last call wins and column view loses. Thanks, Nick _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode