Carsten Dominik <carsten.domi...@gmail.com> writes: > On Jun 24, 2010, at 2:26 PM, Bernt Hansen wrote: > >> Carsten Dominik <carsten.domi...@gmail.com> writes: >> >>> On Jun 24, 2010, at 4:57 AM, Bernt Hansen wrote: >>> >>>> In my Emacs 22 on Debian >>>> >>>> GNU Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.12.11) of >>>> 2008-11-09 >>>> on raven, modified by Debian >>>> >>>> if I start a capture buffer with C-c c t and then immediately try to >>>> file it with C-c C-c (with the point still on the heading) it >>>> prompts >>>> for tags instead of filing. This seems to work fine in Emacs 23. >>>> >>>> In Emacs 22 I end up in the CAPTURE-refile.org buffer with the >>>> overlay >>>> on line 1 stating to use C-c C-c to file and C-c C-k to abort but >>>> these >>>> keys no longer work. Widening the buffer and using C-c C-c on >>>> the #+STARTUP line refreshes the config and makes it possible to >>>> continue. >>> >> >>> this is strange, and also a sign that org-capture-mode is not active >>> in that buffer. My preliminary test show that it works here under >>> emacs 22. >>> >>> Anything suspicious in *Messages* ? >> >> The toggling capture mode off message look suspicious. >> >> ,---- >> | Loading /home/bernt/git/org-mode/lisp/org-capture.el (source)...done >> | Template key: >> | Loading tabify...done >> | Clipboard pasted as level 1 subtree >> | Toggling org-capture-mode off; better pass an explicit argument. >> | Clock starts at [2010-06-24 Thu 08:24] - showing entire task time. >> `---- > > Hi Bernt, > > I suspect that you use > > (org-capture-mode) > > in one of your hook function, in order to check if the mode is on. > However, this is a function call, and it will TOGGLE the mode, so you > are turning it off. > > Just remove the parenthesis, to test the *variable* > > (if org-capture-mode > ......... > > If you want to protect yourself from running this hook before org- > capture > is is loaded and org-capture-mode defined, you can do > > (if (and (boundp 'org-capture-mode) org-capture-mode > ...... > > I am willing to bet that this is the problem you are experiencing. :-)
*BINGO*. Duh now I feel stupid :) Sorry about that snafu. /me blames it on the guy that named the variable and function the same thing ;) After my post to Nick about not being able to use the capture mode *variable* I promptly updated my clock in to NEXT function to try to use it and I wrapped org-capture-mode in parens... so it called the function. Just FYI this is my new function ,---- | (defun bh/clock-in-to-next (kw) | "Switch task from TODO to NEXT when clocking in. | Skips remember tasks and tasks with subtasks" | (if (and (string-equal kw "TODO") | (not (string-equal (buffer-name) "*Remember*")) | ; (not (string-match "^CAPTURE-.*\.org" (buffer-name) ))) | (not org-capture-mode)) | (let ((subtree-end (save-excursion (org-end-of-subtree t))) | (has-subtask nil)) | (save-excursion | (forward-line 1) | (while (and (not has-subtask) | (< (point) subtree-end) | (re-search-forward "^\*+ " subtree-end t)) | (message "Found todo keyword %s" (org-get-todo-state)) | (when (member (org-get-todo-state) org-not-done-keywords) | (setq has-subtask t)))) | (when (not has-subtask) | "NEXT")))) `---- and the call to org-capture-mode used to look like this ,---- | (not (org-capture-mode))) `---- Thank for solving this one! Best regards, Bernt _______________________________________________ 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