emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Re: Symbol's function definition is void: org-datetree-find-year


From: Carsten Dominik
Subject: Re: [O] Re: Symbol's function definition is void: org-datetree-find-year-create / autoload org-datetree library?
Date: Sat, 19 Mar 2011 14:53:49 +0100

On 19.3.2011, at 14:51, Matt Lundin wrote:

> "Urs Rau (UK)" <address@hidden> 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
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]