Re: [Orgmode] [babel] Error with source block and variable on export - bug?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/09/10 19:51, Eric S Fraga wrote: > 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! Thanks a lot Eric F. - that inline syntax was also something I was looking for - I'll put it into my document on Monday morning. Cheers, Rainer > > , > | * revision control > | The version of this file is > |src_emacs-lisp{(vc-working-revision (or (buffer-file-name) org-current-: > export-file))}. > ` > > Thanks! - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel:+33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: rai...@krugs.de Skype: RMkrug -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkyCYEEACgkQoYgNqgF2egpyawCfddO7cMpDcy0TC4qKTUziRbJ9 GAsAn0l89S6NuEDxzq1lNkE21sW6HWaI =meaV -END PGP SIGNATURE- ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] Error with source block and variable on export - bug?
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! ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] Error with source block and variable on export - bug?
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 > > Rainer > >> >> Cheers, >> >> Rainer >> >> >>> Cheers -- Eric >> >>> Rainer M Krug writes: >> Hi when I insert the following source block #+begin_src sh :exports results :var ver=(vc-working-revision(buffer-file-name)) echo Revision $ver #+end_src into a svn (probably other VCs as well) registered file and execute it via C-c C-c, it gives me the revision: #+begin_src sh :exports results :var ver=(vc-working-revision(buffer-file-name)) echo Revision $ver #+end_src #+results: : Revision 191 So when exporting, I would expect that it also prints "Revision 191", but I get an error: vc-file-getprop: Wrong type argument: stringp, nil Tangling the file with :var ver=(vc-working-revision(buffer-file-name)) as a header argument also works fine. As the evaluation works, I assume that is a bug somewhere? Cheers, Rainer >> >> ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] Error with source block and variable on export - bug?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 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? Rainer > > Cheers, > > Rainer > > >> Cheers -- Eric > >> Rainer M Krug writes: > >>> Hi >>> >>> when I insert the following source block >>> >>> #+begin_src sh :exports results :var >>> ver=(vc-working-revision(buffer-file-name)) >>> echo Revision $ver >>> #+end_src >>> >>> into a svn (probably other VCs as well) registered file and execute it >>> via C-c C-c, it gives me the revision: >>> >>> #+begin_src sh :exports results :var >>> ver=(vc-working-revision(buffer-file-name)) >>> echo Revision $ver >>> #+end_src >>> >>> #+results: >>> : Revision 191 >>> >>> So when exporting, I would expect that it also prints "Revision 191", >>> but I get an error: >>> >>> vc-file-getprop: Wrong type argument: stringp, nil >>> >>> Tangling the file with :var ver=(vc-working-revision(buffer-file-name)) >>> as a header argument also works fine. >>> >>> As the evaluation works, I assume that is a bug somewhere? >>> >>> Cheers, >>> >>> Rainer > > - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel:+33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: rai...@krugs.de Skype: RMkrug -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkyBCsQACgkQoYgNqgF2egrpvwCfbhfLgoKV7aUVADvCoUmzsPmf 2M0An3X3kNZmUXFvcabq2z44SJeDWNks =OUuF -END PGP SIGNATURE- ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] Error with source block and variable on export - bug?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 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. Cheers, Rainer > > Cheers -- Eric > > Rainer M Krug writes: > >> Hi >> >> when I insert the following source block >> >> #+begin_src sh :exports results :var >> ver=(vc-working-revision(buffer-file-name)) >> echo Revision $ver >> #+end_src >> >> into a svn (probably other VCs as well) registered file and execute it >> via C-c C-c, it gives me the revision: >> >> #+begin_src sh :exports results :var >> ver=(vc-working-revision(buffer-file-name)) >> echo Revision $ver >> #+end_src >> >> #+results: >> : Revision 191 >> >> So when exporting, I would expect that it also prints "Revision 191", >> but I get an error: >> >> vc-file-getprop: Wrong type argument: stringp, nil >> >> Tangling the file with :var ver=(vc-working-revision(buffer-file-name)) >> as a header argument also works fine. >> >> As the evaluation works, I assume that is a bug somewhere? >> >> Cheers, >> >> Rainer - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel:+33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: rai...@krugs.de Skype: RMkrug -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkyBBv8ACgkQoYgNqgF2egpZegCghnia5yRBa/u2BBcXOXnQRhbL fD8AnAzLJ86WhpGAxWXBjmG+pNWNOyC7 =BayG -END PGP SIGNATURE- ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] Error with source block and variable on export - bug?
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 Cheers -- Eric Rainer M Krug writes: > Hi > > when I insert the following source block > > #+begin_src sh :exports results :var > ver=(vc-working-revision(buffer-file-name)) > echo Revision $ver > #+end_src > > into a svn (probably other VCs as well) registered file and execute it > via C-c C-c, it gives me the revision: > > #+begin_src sh :exports results :var > ver=(vc-working-revision(buffer-file-name)) > echo Revision $ver > #+end_src > > #+results: > : Revision 191 > > So when exporting, I would expect that it also prints "Revision 191", > but I get an error: > > vc-file-getprop: Wrong type argument: stringp, nil > > Tangling the file with :var ver=(vc-working-revision(buffer-file-name)) > as a header argument also works fine. > > As the evaluation works, I assume that is a bug somewhere? > > Cheers, > > Rainer ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] [babel] Error with source block and variable on export - bug?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi when I insert the following source block #+begin_src sh :exports results :var ver=(vc-working-revision(buffer-file-name)) echo Revision $ver #+end_src into a svn (probably other VCs as well) registered file and execute it via C-c C-c, it gives me the revision: #+begin_src sh :exports results :var ver=(vc-working-revision(buffer-file-name)) echo Revision $ver #+end_src #+results: : Revision 191 So when exporting, I would expect that it also prints "Revision 191", but I get an error: vc-file-getprop: Wrong type argument: stringp, nil Tangling the file with :var ver=(vc-working-revision(buffer-file-name)) as a header argument also works fine. As the evaluation works, I assume that is a bug somewhere? Cheers, Rainer - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel:+33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: rai...@krugs.de Skype: RMkrug -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkyAuUsACgkQoYgNqgF2egqNTwCfb2n1n0iRVkSsNKL7Oah0SFjL iB8An3vqnuAmhaMn9YbxXanZWFQ/sXeY =2VEy -END PGP SIGNATURE- ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode