Thanks Nick for your advice. I have posted a new e-mail with the subject "Refile fails with blank * TODO"
On Mon, Dec 12, 2011 at 11:05 AM, Nick Dokos <nicholas.do...@hp.com> wrote: > Nathan Neff <nathan.n...@gmail.com> wrote: > >> Hello, >> >> This was a very tricky problem to work around. I have two directories >> ("notesmine" and "personal") that I use to refile stuff to. I refile to my >> notesmine directory once every few months, so I was baffled last night >> when I started getting "Wrong type argument: >> stringp, nil" when I wanted to refile to my notesmine directory. >> >> ;; Setup >> ;; My /Users/nate/Documents/notesmine directory has a file called >> "org-mode.org" in it. >> >> ;; Begin Code >> (defun njn/personal-org-files() >> (interactive) >> (directory-files "/Users/nate/Documents/notesmine" 't "^[^.].*org$") >> ) >> >> (defun njn/refile-targets-personal() >> (interactive) >> (setq org-refile-targets >> (quote ((njn/personal-org-files :maxlevel . 5)))) >> ) >> >> ;; I would then run M-x njn/refile-targets-personal, and >> ;; then press Ctrl-C Ctrl-W to refile a heading in one of my org files. >> ;; Then, I would see the "Wrong type argument: stringp nil" >> >> I found that the problem *disappears* when I remove or re-name >> the "org-mode.org" file from my notesmine directory! >> >> I refile to my personal directory all the time, and I found that if >> I move the "org-mode.org" file to my personal directory, (or create a blank >> "org-mode.org" file in my personal directory then I would start >> getting the same "Wrong type argument stringp, nil" error when refiling >> to my personal directory. >> >> So, as a geek, I'm interested in why the "org-mode.org" filename causes >> this error. I've reproduced the problem with the simple code above, so >> I hope someone else can say "Yes, I can reproduce the problem" and I will >> have done some good :-) >> >> Can anyone reproduce the error and tell me if "org-mode.org" is a keyword or >> function or something, or is the problem in the regular expression I'm >> using to select >> my refile targets? >> > > I cannot reproduce it, but the setup needed is probably sufficiently > complicated > to make the attempt futile. > > Here's the minimal .emacs I tried: > > --8<---------------cut here---------------start------------->8--- > ;;; -*- mode: emacs-lisp -*- > ;;; constant part > (add-to-list 'load-path (expand-file-name "~/src/emacs/org/org-mode/lisp")) > (add-to-list 'load-path (expand-file-name > "~/src/emacs/org/org-mode/contrib/lisp")) > (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . > org-mode)) > (require 'org-install) > > (setq debug-on-error t) > (setq eval-expression-print-length nil) > (setq eval-expression-print-level nil) > > (global-set-key "\C-cl" 'org-store-link) > (global-set-key "\C-ca" 'org-agenda) > > ;;;; Nathan Neff's problem config. > ;; Setup > ;; My /Users/nate/Documents/notesmine directory has a file called > "org-mode.org" in it. > > (setq org-agenda-files '("/home/nick/lib/notesmine")) > > ;; Begin Code > (defun njn/personal-org-files() > (interactive) > (directory-files "/home/nick/lib/notesmine" 't "^[^.].*org$") > ) > > (defun njn/refile-targets-personal() > (interactive) > (setq org-refile-targets > (quote ((njn/personal-org-files :maxlevel . 5)))) > ) > > ;; I would then run M-x njn/refile-targets-personal, and > ;; then press Ctrl-C Ctrl-W to refile a heading in one of my org files. > ;; Then, I would see the "Wrong type argument: stringp nil" > ;;; end of Nathan Neff's problem config > > --8<---------------cut here---------------end--------------->8--- > > and /home/nick/lib/notesmine contains two files, tasks.org and org-mode.org: > > tasks.org: > --8<---------------cut here---------------start------------->8--- > > * TODO foo > SCHEDULED: <2011-12-12 Mon> > > ** DONE bar > SCHEDULED: <2011-12-12 Mon> > --8<---------------cut here---------------end--------------->8--- > > org-mode.org: > > --8<---------------cut here---------------start------------->8--- > > * one > ** two > *** three > **** four > ***** five > ****** TODO foo > SCHEDULED: <2011-12-12 Mon> > --8<---------------cut here---------------end--------------->8--- > > After doing M-x njn/refile-targets-personal, I can refile from tasks.org (to > either > tasks.org or org-mode.org) with C-c C-w with no problems. > > I'd suggest you turn on debug-on-error and post the backtrace, preferably > with a minimal .emacs similar to the above and none of your other > customizations: emacs -q -l /path/to/minimal/dot/emacs > > Nick