On 19.3.2011, at 14:51, Matt Lundin wrote: > "Urs Rau (UK)" <urs....@om.org> writes: > >> On latest git version release_7.4-419-g68114f, [Org-mode version 7.4 >> (release_7.4.419.g68114f)] , I am trying to archive to a date-tree and >> get the error: >> >> Symbol's function definition is void: org-datetree-find-year-create >> >> I found that if I '(load "org-datetree.el")' in the scratch buffer, it then >> succeeds. >> >> Does org-datetree not get auto-loaded? > > I mentioned this in a previous email, but I'll elaborate a bit here. > Only one function from org-datetree is autoloaded: > org-datetree-find-date-create. None of the other functions is loaded > until this function is called *or* until you evaluate (require > 'org-datetree). > > To solve the problem, you could either rewrite the defadvice to use > org-datetree-find-date-create or add (require 'org-datetree) to your > emacs.
A third possibility it to wrap the defadvice form into (eval-after-load "org-datetree" '(defadvice...... ) This will wait for the time when org-datetree is loaded. Cheers - Carsten > > To change the advice, simply replace the following lines > > --8<---------------cut here---------------start------------->8--- > (org-datetree-find-year-create y) > (org-datetree-find-month-create y m) > (org-datetree-find-day-create y m d) > --8<---------------cut here---------------end--------------->8--- > > with > > --8<---------------cut here---------------start------------->8--- > (org-datetree-find-date-create `(,m ,d ,y)) > --8<---------------cut here---------------end--------------->8--- > >> Also I have searched the *.el files to find the definition of >> "org-datetree-find-year-create" and found inconsistent use of the >> "keep-restriction" check, sometimes it is all lower case, sometimes it >> is all uppercase, I guess lisp is not case sensitive? >> >> $ find ./ -type f -exec grep -i "keep-restriction" {} /dev/null \; >> ./lisp/org-agenda.el: (date &optional keep-restriction)) >> ./lisp/org-capture.el: (DATE &optional KEEP-RESTRICTION)) >> ./lisp/org-datetree.el:(defun org-datetree-find-date-create (date &optional >> keep-restriction) >> ./lisp/org-datetree.el:If KEEP-RESTRICTION is non-nil, do not widen the >> buffer. >> ./lisp/org-datetree.el: (or keep-restriction (widen)) > > Look at the context in which the uppercase occurs (e.g., a docstring). > > Best, > Matt >