From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Lundin Subject: Re: Symbol's function definition is void: org-datetree-find-year-create / autoload org-datetree library? Date: Sat, 19 Mar 2011 09:51:07 -0400 Message-ID: <87oc575id0.fsf@fastmail.fm> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from [140.186.70.92] (port=50274 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q0wYh-00050e-TT for emacs-orgmode@gnu.org; Sat, 19 Mar 2011 09:51:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q0wYg-0005HZ-59 for emacs-orgmode@gnu.org; Sat, 19 Mar 2011 09:51:11 -0400 Received: from out3.smtp.messagingengine.com ([66.111.4.27]:60027) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q0wYg-0005HB-03 for emacs-orgmode@gnu.org; Sat, 19 Mar 2011 09:51:10 -0400 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: "Urs Rau (UK)" Cc: Org Mode "Urs Rau (UK)" 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. 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