From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric S Fraga Subject: Re: [babel] Error with source block and variable on export - bug? Date: Fri, 03 Sep 2010 18:51:58 +0100 Message-ID: <8739tqpvep.wl%ucecesf@ucl.ac.uk> References: <4C80B94B.702@gmail.com> <8739truerx.fsf@gmail.com> <4C8106FF.3060707@gmail.com> <4C810AC4.2000304@gmail.com> <878w3iuatn.fsf@gmail.com> Reply-To: e.fraga@ucl.ac.uk Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Return-path: Received: from [140.186.70.92] (port=50970 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Orb9J-0006sD-Hz for emacs-orgmode@gnu.org; Fri, 03 Sep 2010 14:38:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Orb9I-00031L-82 for emacs-orgmode@gnu.org; Fri, 03 Sep 2010 14:38:05 -0400 Received: from vscane-a.ucl.ac.uk ([144.82.108.41]:37365) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Orb9I-00030q-2w for emacs-orgmode@gnu.org; Fri, 03 Sep 2010 14:38:04 -0400 In-Reply-To: <878w3iuatn.fsf@gmail.com> 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: Eric Schulte Cc: emacs-orgmode On Fri, 03 Sep 2010 09:05:24 -0600, "Eric Schulte" wrote: > > Rainer M Krug writes: > > > On 03/09/10 16:32, Rainer M Krug wrote: > >> On 03/09/10 15:40, Eric Schulte wrote: > >>> Hi Rainer, > >> > >>> As part of the export process Org-mode copies the contents of the > >>> Org-mode file to a temporary buffer in which the business of exportation > >>> is performed. This temporary buffer is not associated with any file so > >>> (buffer-file-name) returns nil, which is causing the problem you are > >>> experiencing. I think the best solution would be to replace the call to > >>> (buffer-file-name) with the actual name of the file, e.g. > >> > >>> #+begin_src sh :var file=(vc-working-revision "~/src/babel-dev/scraps.org") :exports results > >>> echo $file Revision > >>> #+end_src > >> > >> Hi Eric > >> > >> thanks a lot for the clarification - that makes perfect sense. I will do > >> as suggested. > > > > Thanks - it is working now. > > But it is a little bit awkward to have the file name (incl. path) > > somewhere in the document - can create some problems when renaming the > > file or saving it somewhere else). > > Is it possible to define it as a kind of variable (property?) in the > > headers of the file and reference it in the org file later? > > > > Oh, > > I've just remembered that during export Org-mode saves this file-name > information in the temporary variable `org-current-export-file'. > > So the following will work, even though it relies upon undocumented > internals of Org-mode which could change at some point. > > #+begin_src sh :var file=(vc-working-revision (or (buffer-file-name) org-current-export-file)) :exports results > echo $file Revision > #+end_src > > Cheers -- Eric And this works very well with an inline src snippet (tested with git and RCS). Very nice! ,---- | * revision control | The version of this file is | src_emacs-lisp{(vc-working-revision (or (buffer-file-name) org-current-: export-file))}. `---- Thanks!