Noch ein mal: I forgot to cc: the list. Apologies. ------- Forwarded Message
Date: Fri, 04 Dec 2009 14:03:39 -0500 From: Nick Dokos <nicholas.do...@hp.com> To: Nathan Neff <nathan.n...@gmail.com> cc: nicholas.do...@hp.com Subject: Re: [Orgmode] Lists for org-refile-targets Nathan Neff <nathan.n...@gmail.com> wrote: > On Fri, Dec 4, 2009 at 10:45 AM, Nick Dokos <nicholas.do...@hp.com> wrote: >=20 > Nathan Neff <nathan.n...@gmail.com> wrote: >=20=20=20=20 > > Currently, I'm getting an error when I try to refile my notes > > and I think it's something very basic. > > > > Here's the relevant code: > > > > ;; Use environment variable $ORGDIR to get dir for org-directory > > (setq org-directory (getenv "ORGDIR")) > > (setq notesmine-dir "~/Documents/notesmine-org") > > > > (setq org-agenda-files (file-expand-wildcards (concat org-directory= "/*.org"))) > > (setq notesmine-files (file-expand-wildcards (concat notesmine-dir = "/*.org"))) > > > > ; Targets include this file and any file contributing to the agenda= - up to 5 levels deep > > (setq org-refile-targets > > =C2=A0 (quote > > =C2=A0=C2=A0=C2=A0 ( > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (org-agenda-files :maxlevel . 5) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (notesmine-files :maxlevel . 5) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (nil :maxlevel . 5) > > =C2=A0=C2=A0=C2=A0 ) > > =C2=A0 ) > > ) > > > > I've tried concatenating org-agenda-files and notesmine-files, but = I keep getting errors > > when trying to refile.=C2=A0 The error that I get is: > > "Wrong type argument, numberp (0.5)" > > > > I can provide a stack trace, but I don't think this is a bug -- I j= ust think that > > I'm not concatenating the list of files that I want to use in org-r= efile-targets > > correctly. > > >=20=20=20=20 > [A stacktrace is always useful. It doesn't matter whether it's a bug = in org or in > your code: it can help narrow down the problem] >=20=20=20=20 > I suspect that the last line is the problem: >=20=20=20=20 > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (nil :maxlevel . 5) >=20=20=20=20 > What happens if you delete it? >=20=20=20=20 > HTH, > Nick >=20 > I still get the "Wrong type argument: numberp, (0.5)" error. >=20 > Here's the stacktrace: >=20 > Debugger entered--Lisp error: (wrong-type-argument numberp (0.5)) > =C2=A0 number-to-string((0.5)) > =C2=A0 (concat "^\\*\\{1," (number-to-string (if org-odd-levels-only ... = ...)) "\\}[ =C2=A0=C2=A0=C2=A0 ]") > =C2=A0 (setq descre (concat "^\\*\\{1," (number-to-string ...) "\\}[ =C2= =A0=C2=A0=C2=A0 ]")) > =C2=A0 (cond ((eq ... :tag) (setq descre ...)) ((eq ... :todo) (setq desc= re ...)) ((eq ... :regexp) (setq descre ...)) ((eq ... :level) (setq descre= ...)) > ((eq ... :maxlevel) (setq fast-path-p t) (setq descre ...)) (t (error "Ba= d refiling target description %s" desc))) > =C2=A0 (while (setq entry (pop entries)) (setq files (car entry) desc (cd= r entry)) (setq fast-path-p nil) (cond (... ...) (... ...) (... ...) (... .= ..)) (if > (stringp files) (setq files ...)) (cond (... ...) (... ...) (... ...) (..= . ...) (... ... ...) (t ...)) (while (setq f ...) (with-current-buffer ... = ... > ... ... ...))) > =C2=A0 (save-current-buffer (set-buffer (or default-buffer ...)) (while (= setq entry ...) (setq files ... desc ...) (setq fast-path-p nil) (cond ... = ... ... > ...) (if ... ...) (cond ... ... ... ... ... ...) (while ... ...))) > =C2=A0 (with-current-buffer (or default-buffer (current-buffer)) (while (= setq entry ...) (setq files ... desc ...) (setq fast-path-p nil) (cond ... = ... ... > ...) (if ... ...) (cond ... ... ... ... ... ...) (while ... ...))) > =C2=A0 (let ((case-fold-search nil) (entries ...) targets txt re files f = desc descre fast-path-p level pos0) (message "Getting targets...") > (with-current-buffer (or default-buffer ...) (while ... ... ... ... ... .= .. ...)) (message "Getting targets...done") (nreverse targets)) > =C2=A0 org-get-refile-targets(#<buffer notes.org>) > =C2=A0 (setq org-refile-target-table (org-get-refile-targets default-buff= er)) > =C2=A0 (let ((org-refile-targets org-refile-targets) (org-refile-use-outl= ine-path org-refile-use-outline-path)) (setq org-refile-target-table > (org-get-refile-targets default-buffer))) > =C2=A0 org-refile-get-location("Refile to: " #<buffer notes.org> nil) > =C2=A0 (or rfloc (org-refile-get-location (if goto "Goto: " "Refile to: "= ) buffer org-refile-allow-creating-parent-nodes)) > =C2=A0 (let* ((marker ...) (buffer ...) (pos ...) (rfloc ...)) (with-curr= ent-buffer buffer (save-excursion ...))) > =C2=A0 (if (equal goto (quote ...)) (org-refile-goto-last-stored) (let* (= ... ... ... ...) (with-current-buffer buffer ...))) > =C2=A0 org-agenda-refile(nil) > =C2=A0 call-interactively(org-agenda-refile nil nil) >=20 Are you sure you have not omitted a space after a period somewhere? (nil :maxfile . 5) is very different from (nil :maxfile .5). What is the value of org-refile-targets? Other than that, I can't see anything wrong in the code (and I think the (nil :maxlevel 5) part is legal), so I think you'll need to do some debugging. The code in questions is around line 8973 in org.el and looks like this: ((eq (car desc) :maxlevel) (setq fast-path-p t) (setq descre (concat "^\\*\\{1," (number-to-string (if org-odd-levels-only (1- (* 2 (cdr desc))) (cdr desc))) "\\}[ \t]"))) I would suggest that you add a call to debug: ((eq (car desc) :maxlevel) (setq fast-path-p t) (debug) (setq descre (concat "^\\*\\{1," (number-to-string (if org-odd-levels-only (1- (* 2 (cdr desc))) (cdr desc))) "\\}[ \t]"))) Load the org.el file explicitly: M-x load-file <RET> /path/to/org.el <RET> and then try your refile. When it drops into the debugger, you can say "e" and type an expression to be evaluated into the minibuffer. E.g. e desc <RET> --> (:maxfile . 5) but if it looks like this (:maxfile .5) watch out! HTH, Nick ------- End of Forwarded Message _______________________________________________ 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