From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Hendy Subject: Re: Handling errors in command line exporting of agenda? Date: Mon, 8 Aug 2011 15:54:32 -0500 Message-ID: References: <4691.1312835858@alphaville.americas.hpqcorp.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([140.186.70.92]:33106) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QqWqK-00079w-0B for emacs-orgmode@gnu.org; Mon, 08 Aug 2011 16:54:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QqWqI-00033L-O5 for emacs-orgmode@gnu.org; Mon, 08 Aug 2011 16:54:35 -0400 Received: from mail-fx0-f41.google.com ([209.85.161.41]:65035) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QqWqI-000335-JW for emacs-orgmode@gnu.org; Mon, 08 Aug 2011 16:54:34 -0400 Received: by fxg9 with SMTP id 9so5171003fxg.0 for ; Mon, 08 Aug 2011 13:54:33 -0700 (PDT) In-Reply-To: <4691.1312835858@alphaville.americas.hpqcorp.net> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: nicholas.dokos@hp.com Cc: emacs-orgmode On Mon, Aug 8, 2011 at 3:37 PM, Nick Dokos wrote: > John Hendy wrote: > >> On Mon, Aug 8, 2011 at 1:59 PM, suvayu ali = wrote: >> > Hi John, >> > >> > On Mon, Aug 8, 2011 at 8:53 PM, John Hendy wrote: >> >>> If you can use wildcards to specify your files, it might be possible= by >> >>> just one extra call to --eval. Something like this might work: >> >>> >> >>> emacs --batch -l ~/.emacs --eval '(find-file-read-only "" = t)' \ >> >>> =C2=A0 =C2=A0 =C2=A0--eval '(org-batch-agenda "w")' > ~/org/aux/agen= da-export.txt >> >>> >> >> >> >> Hmm. That might work. Everything I pull from is in ~/org... could the >> >> wildcard simply be "~/*.org"? Forgive my emacs wildcard ignorance. >> > >> > As far as I know, emacs accepts any wildcard that is valid in the shel= l. >> > Since all your files are in ~/org, I would say try "~/org/*.org". The >> > '~/org/' limits it to files within your org directory and the '*.org'[= 1] >> > limits it to all files with a .org extension. > > Not true - if you want wildcards expanded, you have to do it yourself. > E.g. C-h f file-expand-wildcards > > ,---- > | file-expand-wildcards is a compiled Lisp function in `files.el'. > | > | (file-expand-wildcards PATTERN &optional FULL) > | > | Expand wildcard pattern PATTERN. > | This returns a list of file names which match the pattern. > | > | If PATTERN is written as an absolute file name, > | the values are absolute also. > | > | If PATTERN is written as a relative file name, it is interpreted > | relative to the current default directory, `default-directory'. > | The file names returned are normally also relative to the current > | default directory. =C2=A0However, if FULL is non-nil, they are absolute= . > `---- > Thanks. I tried with this based on this new information: ,--- | emacs --batch -l ~/.emacs --eval '(find-file-read-only \ | (file-expand-wildcards "~/org/*.org") t)' \ | --eval '(org-batch-agenda "e")' > ~/org/aux/agenda-export.txt `--- But I get this error: ,--- | Wrong type argument: stringp, ("~/org/file1.org" "~/org/file2.org"... etc= .) `--- I'm assuming something about how I used this is returning the wrong data ty= pe? As another option, if I run this and just respond with "p" when I'm asked about the lock (proceed), it works. I'm assuming that running agenda won't mess up an unsaved file, but that it just accesses it for todos and other information. If this is the case and an automatic "proceed" is safe... is there a way to pass some sort of "--force" option to emacs from the command line to override the lock when it's encountered? I'm running through cron and thus am not able to manually respond to the pr= ompt. Thanks, John > Nick > >> > >> >> Bummer, this is not working: >> >> ,--- >> | emacs -batch -l ~/.emacs -eval '(find-file-read-only "~/org/*.org" t)'= \ >> | -eval '(org-batch-agenda "e")' > ~/org/aux/agenda-export.txt >> `--- >> >> Do you see anything wrong with that? I guess I wonder what that first >> part will do as perhaps the org-batch-agenda command is not >> necessarily going to follow suit with the read-only command. As in, >> does the first eval command affect anything that the org-batch-agenda >> command is going to do? Is it trying to do the equivalent of opening >> up all *.org files in read-only buffers and then run the agenda >> export? >> >> >> Thanks, >> John >> > I hope this helps. :) >> > >> > Footnotes: >> > >> > [1] The asterisk (*) stands for zero or more characters. You can find >> > =C2=A0 =C2=A0more details in `man bash` under the heading "Pattern Mat= ching". >> > >> > -- >> > Suvayu >> > >> > Open source is the future. It sets us free. >> > >> >