Re: [O] Set or update timestamp after evaluation of code block?

2015-09-22 Thread Rainer M Krug
John Kitchin  writes:

> so picky ;)

Jup - aren't all org users like that?

> Maybe something like this will put that stamp in a comment
> that won't export.
>
> #+BEGIN_SRC emacs-lisp
> (defun j-add-ts ()
>   (save-excursion
> (re-search-forward "#\\+END_SRC")
> (forward-line)
> (beginning-of-line)
> (when (looking-at "# Last run:")
>   (kill-line))
> (insert (concat
>  "# Last run: "
>  (format-time-string "[%Y-%m-%d %a %H:%M:%S]" (current-time))
>
>
> (add-hook 'org-babel-after-execute-hook
>   'j-add-ts)
>
> ;(remove-hook 'org-babel-after-execute-hook
> ; 'j-add-ts)
> #+END_SRC

Perfect! I added it to my emacs.org just now and I relly like it.

Thanks a lot,

Rainer

>
>
> Rainer M Krug writes:
>
>> John Kitchin  writes:
>>
>>> Here is one approach:
>>>
>>> #+name: update-timestamp
>>> #+BEGIN_SRC emacs-lisp :var data=""
>>> (concat
>>>  "Last run: "
>>>  (format-time-string "[%Y-%m-%d %a %H:%M:%S]" (current-time))
>>>  "\n" data)
>>> #+END_SRC
>>>
>>>
>>> #+BEGIN_SRC python :post update-timestamp(data=*this*)
>>> print('hello')
>>> #+END_SRC
>>>
>>> #+RESULTS:
>>> : Last run: [2015-09-21 Mon 11:09:18]
>>> : hello
>>
>> Thanks John - that looks nice and I like the idea of using
>> (current-time) and the possibility to format the time string, but this
>> info will be part of the export - and I only would like tho have the
>> info in the org file and not in the exported document.
>>
>>
>> Rainer
>>
>>>
>>>
>>>
>>> Rainer M Krug writes:
>>>
 Eric S Fraga  writes:

> On Monday, 21 Sep 2015 at 14:46, Rainer M Krug wrote:
>
> [...]
>
>> Is it possible to set a timestamp (ur update it when it exists already)
>> when a code block has been evaluated, so that I have e record when it
>> was updated?
>
> Could you make use of the :post header argument to invoke emacs lisp and
> execute org-time-stamp-inactive in some way?

 Thanks - sounds possible? But if I just use

 ,
 | :post (org-time-stamp-inactive)
 `

 1) an input is required and
 2) the time stamp is inserted before the #+begin_src and makes the block
 invalid.

 How can I put the time stamp in the line after the #+end_src or possibly
 even in the same line, as this does not seem to have an impact on the
 source block?

 Thanks,

 Rainer
>>>
>>> --
>>> Professor John Kitchin
>>> Doherty Hall A207F
>>> Department of Chemical Engineering
>>> Carnegie Mellon University
>>> Pittsburgh, PA 15213
>>> 412-268-7803
>>> @johnkitchin
>>> http://kitchingroup.cheme.cmu.edu
>
> --
> Professor John Kitchin
> Doherty Hall A207F
> Department of Chemical Engineering
> Carnegie Mellon University
> Pittsburgh, PA 15213
> 412-268-7803
> @johnkitchin
> http://kitchingroup.cheme.cmu.edu

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax :   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug

PGP: 0x0F52F982


signature.asc
Description: PGP signature


Re: [O] Set or update timestamp after evaluation of code block?

2015-09-22 Thread Rainer M Krug
Rainer M Krug  writes:

> John Kitchin  writes:
>
>> so picky ;)
>
> Jup - aren't all org users like that?
>
>> Maybe something like this will put that stamp in a comment
>> that won't export.
>>
>> #+BEGIN_SRC emacs-lisp
>> (defun j-add-ts ()
>>   (save-excursion
>> (re-search-forward "#\\+END_SRC")
>> (forward-line)
>> (beginning-of-line)
>> (when (looking-at "# Last run:")
>>   (kill-line))
>> (insert (concat
>>  "# Last run: "
>>  (format-time-string "[%Y-%m-%d %a %H:%M:%S]" (current-time))
>>
>>
>> (add-hook 'org-babel-after-execute-hook
>>   'j-add-ts)
>>
>> ;(remove-hook 'org-babel-after-execute-hook
>> ; 'j-add-ts)
>> #+END_SRC
>
> Perfect! I added it to my emacs.org just now and I relly like it.

I modified it a bit so that I get the following time stamp before the
source block. Can the fact that I use #+ cause problems? Because I like
the coloring of the LASTRUN line.

Additional question: if I execute the code block from a preceding
e.g. #+NAME: line which belongs to the code block, the line gets
obviously inserted in front of the code block before.

Is there some org wizardry so that I can search the property #+LASTRUN:
which belongs to the code block and replace or insert it?

Or g=can I somehow jump to the beginning of the code block when I am in
a preceding #+ line?

Thanks,

Rainer

--8<---cut here---start->8---
#+LASTRUN: [2015-09-22 Tue 11:37:43]
#+begin_src emacs-lisp 
(defun rmk/org-babel-add-time-stamp-after-execute-before-src-block ()
  (save-excursion
(re-search-backward "#\\+BEGIN_SRC")
(forward-line -1)
(beginning-of-line)
(when (not (or
(looking-at "[[:space:]]*$")
(looking-at "#\\+LASTRUN:")))
  (forward-line 1)
  (newline)
  (forward-line -1))
(when (looking-at "#\\+LASTRUN:")
  (kill-line))
(insert (concat
 "#+LASTRUN: "
 (format-time-string "[%Y-%m-%d %a %H:%M:%S]" (current-time
))

(add-hook 'org-babel-after-execute-hook
  'rmk/org-babel-add-time-stamp-after-execute-before-src-block)
#+end_src
--8<---cut here---end--->8---

>
> Thanks a lot,
>
> Rainer
>
>>
>>
>> Rainer M Krug writes:
>>
>>> John Kitchin  writes:
>>>
 Here is one approach:

 #+name: update-timestamp
 #+BEGIN_SRC emacs-lisp :var data=""
 (concat
  "Last run: "
  (format-time-string "[%Y-%m-%d %a %H:%M:%S]" (current-time))
  "\n" data)
 #+END_SRC


 #+BEGIN_SRC python :post update-timestamp(data=*this*)
 print('hello')
 #+END_SRC

 #+RESULTS:
 : Last run: [2015-09-21 Mon 11:09:18]
 : hello
>>>
>>> Thanks John - that looks nice and I like the idea of using
>>> (current-time) and the possibility to format the time string, but this
>>> info will be part of the export - and I only would like tho have the
>>> info in the org file and not in the exported document.
>>>
>>>
>>> Rainer
>>>



 Rainer M Krug writes:

> Eric S Fraga  writes:
>
>> On Monday, 21 Sep 2015 at 14:46, Rainer M Krug wrote:
>>
>> [...]
>>
>>> Is it possible to set a timestamp (ur update it when it exists already)
>>> when a code block has been evaluated, so that I have e record when it
>>> was updated?
>>
>> Could you make use of the :post header argument to invoke emacs lisp and
>> execute org-time-stamp-inactive in some way?
>
> Thanks - sounds possible? But if I just use
>
> ,
> | :post (org-time-stamp-inactive)
> `
>
> 1) an input is required and
> 2) the time stamp is inserted before the #+begin_src and makes the block
> invalid.
>
> How can I put the time stamp in the line after the #+end_src or possibly
> even in the same line, as this does not seem to have an impact on the
> source block?
>
> Thanks,
>
> Rainer

 --
 Professor John Kitchin
 Doherty Hall A207F
 Department of Chemical Engineering
 Carnegie Mellon University
 Pittsburgh, PA 15213
 412-268-7803
 @johnkitchin
 http://kitchingroup.cheme.cmu.edu
>>
>> --
>> Professor John Kitchin
>> Doherty Hall A207F
>> Department of Chemical Engineering
>> Carnegie Mellon University
>> Pittsburgh, PA 15213
>> 412-268-7803
>> @johnkitchin
>> http://kitchingroup.cheme.cmu.edu

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax :   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug

PGP: 0x0F52F982


signature.asc
Description: PGP signature


[O] Set or update timestamp after evaluation of code block?

2015-09-21 Thread Rainer M Krug
Hi

I have some code blocks which represent an sequence of
fitting-analysis-plotting. But Sometimes I am loosing track which code
blocks I have evaluated.

Is it possible to set a timestamp (ur update it when it exists already)
when a code block has been evaluated, so that I have e record when it
was updated?

Thanks,

Rainer
-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax :   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug

PGP: 0x0F52F982


signature.asc
Description: PGP signature


Re: [O] Set or update timestamp after evaluation of code block?

2015-09-21 Thread Eric S Fraga
On Monday, 21 Sep 2015 at 14:46, Rainer M Krug wrote:

[...]

> Is it possible to set a timestamp (ur update it when it exists already)
> when a code block has been evaluated, so that I have e record when it
> was updated?

Could you make use of the :post header argument to invoke emacs lisp and
execute org-time-stamp-inactive in some way?
-- 
: Eric S Fraga (0xFFFCF67D), Emacs 25.0.50.2, Org release_8.3.1-234-g8c85c9



Re: [O] Set or update timestamp after evaluation of code block?

2015-09-21 Thread Rainer M Krug
Eric S Fraga  writes:

> On Monday, 21 Sep 2015 at 14:46, Rainer M Krug wrote:
>
> [...]
>
>> Is it possible to set a timestamp (ur update it when it exists already)
>> when a code block has been evaluated, so that I have e record when it
>> was updated?
>
> Could you make use of the :post header argument to invoke emacs lisp and
> execute org-time-stamp-inactive in some way?

Thanks - sounds possible? But if I just use

,
| :post (org-time-stamp-inactive)
`

1) an input is required and
2) the time stamp is inserted before the #+begin_src and makes the block
invalid.

How can I put the time stamp in the line after the #+end_src or possibly
even in the same line, as this does not seem to have an impact on the
source block?

Thanks,

Rainer

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax :   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug

PGP: 0x0F52F982


signature.asc
Description: PGP signature


Re: [O] Set or update timestamp after evaluation of code block?

2015-09-21 Thread Rainer M Krug
Eric S Fraga  writes:

> On Monday, 21 Sep 2015 at 15:42, Rainer M Krug wrote:
>
> [...]
>
>> How can I put the time stamp in the line after the #+end_src or possibly
>> even in the same line, as this does not seem to have an impact on the
>> source block?
>
> Above my pay grade unfortunately ;-)  Sorry.
>
> Hopefully one of the emacs lisp gurus here will be able to help!

Thanks - and hopefully your pay grade will be upgraded.

Rainer

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax :   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug

PGP: 0x0F52F982


signature.asc
Description: PGP signature


Re: [O] Set or update timestamp after evaluation of code block?

2015-09-21 Thread Eric S Fraga
On Monday, 21 Sep 2015 at 15:42, Rainer M Krug wrote:

[...]

> How can I put the time stamp in the line after the #+end_src or possibly
> even in the same line, as this does not seem to have an impact on the
> source block?

Above my pay grade unfortunately ;-)  Sorry.

Hopefully one of the emacs lisp gurus here will be able to help!

-- 
: Eric S Fraga (0xFFFCF67D), Emacs 25.0.50.2, Org release_8.3.1-234-g8c85c9



Re: [O] Set or update timestamp after evaluation of code block?

2015-09-21 Thread Jorge A. Alfaro-Murillo

Rainer M Krug writes:

Eric S Fraga  writes: 

On Monday, 21 Sep 2015 at 14:46, Rainer M Krug wrote: 

[...] 

Is it possible to set a timestamp (ur update it when it exists 
already) when a code block has been evaluated, so that I have 
e record when it was updated? 


Could you make use of the :post header argument to invoke emacs 
lisp and execute org-time-stamp-inactive in some way? 


Thanks - sounds possible? But if I just use 

, | :post (org-time-stamp-inactive) ` 

1) an input is required and 2) the time stamp is inserted before 
the #+begin_src and makes the block invalid. 

How can I put the time stamp in the line after the #+end_src or 
possibly even in the same line, as this does not seem to have an 
impact on the source block?


You could use the :epilogue header argument. Since you want after 
the #+end_src this is rather hackish:


:epilogue (save-excursion (re-search-forward "END_SRC" nil nil 2) 
(org-insert-time-stamp (current-time) t t "\nEvaluated: " "\n"))


It does not update the results, but it will show you all the 
results and when they were evaluated.


If you want to keep only one set of results and do not mind having 
the timestamp before the #+BEGIN_SRC, you could use something 
like:


:epilogue (save-excursion (if (re-search-backward "Last evaluated: 
" nil t) (kill-line 1)) (org-insert-time-stamp (current-time) t t 
"Last evaluated: " "\n"))


Best,
--
Jorge.




Re: [O] Set or update timestamp after evaluation of code block?

2015-09-21 Thread John Kitchin
Here is one approach:

#+name: update-timestamp
#+BEGIN_SRC emacs-lisp :var data=""
(concat
 "Last run: "
 (format-time-string "[%Y-%m-%d %a %H:%M:%S]" (current-time))
 "\n" data)
#+END_SRC


#+BEGIN_SRC python :post update-timestamp(data=*this*)
print('hello')
#+END_SRC

#+RESULTS:
: Last run: [2015-09-21 Mon 11:09:18]
: hello



Rainer M Krug writes:

> Eric S Fraga  writes:
>
>> On Monday, 21 Sep 2015 at 14:46, Rainer M Krug wrote:
>>
>> [...]
>>
>>> Is it possible to set a timestamp (ur update it when it exists already)
>>> when a code block has been evaluated, so that I have e record when it
>>> was updated?
>>
>> Could you make use of the :post header argument to invoke emacs lisp and
>> execute org-time-stamp-inactive in some way?
>
> Thanks - sounds possible? But if I just use
>
> ,
> | :post (org-time-stamp-inactive)
> `
>
> 1) an input is required and
> 2) the time stamp is inserted before the #+begin_src and makes the block
> invalid.
>
> How can I put the time stamp in the line after the #+end_src or possibly
> even in the same line, as this does not seem to have an impact on the
> source block?
>
> Thanks,
>
> Rainer

--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



Re: [O] Set or update timestamp after evaluation of code block?

2015-09-21 Thread Grant Rettke
Might be nice to have properties attached to result blocks. That is a nice idea.
Grant Rettke
--
g...@wisdomandwonder.com | http://www.wisdomandwonder.com/
“Wisdom begins in wonder.” --Socrates
“All creativity is an extended form of a joke.” --Kay
((λ (x) (x x)) (λ (x) (x x)))
“Life has become immeasurably better since I have been forced to stop
taking it seriously.” --Thompson


On Mon, Sep 21, 2015 at 1:43 PM, Rainer M Krug  wrote:
> John Kitchin  writes:
>
>> Here is one approach:
>>
>> #+name: update-timestamp
>> #+BEGIN_SRC emacs-lisp :var data=""
>> (concat
>>  "Last run: "
>>  (format-time-string "[%Y-%m-%d %a %H:%M:%S]" (current-time))
>>  "\n" data)
>> #+END_SRC
>>
>>
>> #+BEGIN_SRC python :post update-timestamp(data=*this*)
>> print('hello')
>> #+END_SRC
>>
>> #+RESULTS:
>> : Last run: [2015-09-21 Mon 11:09:18]
>> : hello
>
> Thanks John - that looks nice and I like the idea of using
> (current-time) and the possibility to format the time string, but this
> info will be part of the export - and I only would like tho have the
> info in the org file and not in the exported document.
>
>
> Rainer
>
>>
>>
>>
>> Rainer M Krug writes:
>>
>>> Eric S Fraga  writes:
>>>
 On Monday, 21 Sep 2015 at 14:46, Rainer M Krug wrote:

 [...]

> Is it possible to set a timestamp (ur update it when it exists already)
> when a code block has been evaluated, so that I have e record when it
> was updated?

 Could you make use of the :post header argument to invoke emacs lisp and
 execute org-time-stamp-inactive in some way?
>>>
>>> Thanks - sounds possible? But if I just use
>>>
>>> ,
>>> | :post (org-time-stamp-inactive)
>>> `
>>>
>>> 1) an input is required and
>>> 2) the time stamp is inserted before the #+begin_src and makes the block
>>> invalid.
>>>
>>> How can I put the time stamp in the line after the #+end_src or possibly
>>> even in the same line, as this does not seem to have an impact on the
>>> source block?
>>>
>>> Thanks,
>>>
>>> Rainer
>>
>> --
>> Professor John Kitchin
>> Doherty Hall A207F
>> Department of Chemical Engineering
>> Carnegie Mellon University
>> Pittsburgh, PA 15213
>> 412-268-7803
>> @johnkitchin
>> http://kitchingroup.cheme.cmu.edu
>
> --
> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
> UCT), Dipl. Phys. (Germany)
>
> Centre of Excellence for Invasion Biology
> Stellenbosch University
> South Africa
>
> Tel :   +33 - (0)9 53 10 27 44
> Cell:   +33 - (0)6 85 62 59 98
> Fax :   +33 - (0)9 58 10 27 44
>
> Fax (D):+49 - (0)3 21 21 25 22 44
>
> email:  rai...@krugs.de
>
> Skype:  RMkrug
>
> PGP: 0x0F52F982



Re: [O] Set or update timestamp after evaluation of code block?

2015-09-21 Thread John Kitchin
so picky ;) Maybe something like this will put that stamp in a comment
that won't export.

#+BEGIN_SRC emacs-lisp
(defun j-add-ts ()
  (save-excursion
(re-search-forward "#\\+END_SRC")
(forward-line)
(beginning-of-line)
(when (looking-at "# Last run:")
  (kill-line))
(insert (concat
 "# Last run: "
 (format-time-string "[%Y-%m-%d %a %H:%M:%S]" (current-time))


(add-hook 'org-babel-after-execute-hook
  'j-add-ts)

;(remove-hook 'org-babel-after-execute-hook
; 'j-add-ts)
#+END_SRC


Rainer M Krug writes:

> John Kitchin  writes:
>
>> Here is one approach:
>>
>> #+name: update-timestamp
>> #+BEGIN_SRC emacs-lisp :var data=""
>> (concat
>>  "Last run: "
>>  (format-time-string "[%Y-%m-%d %a %H:%M:%S]" (current-time))
>>  "\n" data)
>> #+END_SRC
>>
>>
>> #+BEGIN_SRC python :post update-timestamp(data=*this*)
>> print('hello')
>> #+END_SRC
>>
>> #+RESULTS:
>> : Last run: [2015-09-21 Mon 11:09:18]
>> : hello
>
> Thanks John - that looks nice and I like the idea of using
> (current-time) and the possibility to format the time string, but this
> info will be part of the export - and I only would like tho have the
> info in the org file and not in the exported document.
>
>
> Rainer
>
>>
>>
>>
>> Rainer M Krug writes:
>>
>>> Eric S Fraga  writes:
>>>
 On Monday, 21 Sep 2015 at 14:46, Rainer M Krug wrote:

 [...]

> Is it possible to set a timestamp (ur update it when it exists already)
> when a code block has been evaluated, so that I have e record when it
> was updated?

 Could you make use of the :post header argument to invoke emacs lisp and
 execute org-time-stamp-inactive in some way?
>>>
>>> Thanks - sounds possible? But if I just use
>>>
>>> ,
>>> | :post (org-time-stamp-inactive)
>>> `
>>>
>>> 1) an input is required and
>>> 2) the time stamp is inserted before the #+begin_src and makes the block
>>> invalid.
>>>
>>> How can I put the time stamp in the line after the #+end_src or possibly
>>> even in the same line, as this does not seem to have an impact on the
>>> source block?
>>>
>>> Thanks,
>>>
>>> Rainer
>>
>> --
>> Professor John Kitchin
>> Doherty Hall A207F
>> Department of Chemical Engineering
>> Carnegie Mellon University
>> Pittsburgh, PA 15213
>> 412-268-7803
>> @johnkitchin
>> http://kitchingroup.cheme.cmu.edu

--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



Re: [O] Set or update timestamp after evaluation of code block?

2015-09-21 Thread Rainer M Krug
John Kitchin  writes:

> Here is one approach:
>
> #+name: update-timestamp
> #+BEGIN_SRC emacs-lisp :var data=""
> (concat
>  "Last run: "
>  (format-time-string "[%Y-%m-%d %a %H:%M:%S]" (current-time))
>  "\n" data)
> #+END_SRC
>
>
> #+BEGIN_SRC python :post update-timestamp(data=*this*)
> print('hello')
> #+END_SRC
>
> #+RESULTS:
> : Last run: [2015-09-21 Mon 11:09:18]
> : hello

Thanks John - that looks nice and I like the idea of using
(current-time) and the possibility to format the time string, but this
info will be part of the export - and I only would like tho have the
info in the org file and not in the exported document.


Rainer

>
>
>
> Rainer M Krug writes:
>
>> Eric S Fraga  writes:
>>
>>> On Monday, 21 Sep 2015 at 14:46, Rainer M Krug wrote:
>>>
>>> [...]
>>>
 Is it possible to set a timestamp (ur update it when it exists already)
 when a code block has been evaluated, so that I have e record when it
 was updated?
>>>
>>> Could you make use of the :post header argument to invoke emacs lisp and
>>> execute org-time-stamp-inactive in some way?
>>
>> Thanks - sounds possible? But if I just use
>>
>> ,
>> | :post (org-time-stamp-inactive)
>> `
>>
>> 1) an input is required and
>> 2) the time stamp is inserted before the #+begin_src and makes the block
>> invalid.
>>
>> How can I put the time stamp in the line after the #+end_src or possibly
>> even in the same line, as this does not seem to have an impact on the
>> source block?
>>
>> Thanks,
>>
>> Rainer
>
> --
> Professor John Kitchin
> Doherty Hall A207F
> Department of Chemical Engineering
> Carnegie Mellon University
> Pittsburgh, PA 15213
> 412-268-7803
> @johnkitchin
> http://kitchingroup.cheme.cmu.edu

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax :   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug

PGP: 0x0F52F982


signature.asc
Description: PGP signature


Re: [O] Set or update timestamp after evaluation of code block?

2015-09-21 Thread Rainer M Krug
jorge.alfaro-muri...@yale.edu (Jorge A. Alfaro-Murillo) writes:

> Rainer M Krug writes:
>
>> Eric S Fraga  writes: 
>>
>>> On Monday, 21 Sep 2015 at 14:46, Rainer M Krug wrote: 
>>>
>>> [...] 
>>>
 Is it possible to set a timestamp (ur update it when it exists
 already) when a code block has been evaluated, so that I have e
 record when it was updated? 
>>>
>>> Could you make use of the :post header argument to invoke emacs
>>> lisp and execute org-time-stamp-inactive in some way? 
>>
>> Thanks - sounds possible? But if I just use 
>>
>> , | :post (org-time-stamp-inactive) ` 
>>
>> 1) an input is required and 2) the time stamp is inserted before the
>> #+begin_src and makes the block invalid. 
>>
>> How can I put the time stamp in the line after the #+end_src or
>> possibly even in the same line, as this does not seem to have an
>> impact on the source block?
>
> You could use the :epilogue header argument. Since you want after the
> #+end_src this is rather hackish:
>
> :epilogue (save-excursion (re-search-forward "END_SRC" nil nil 2)
> (org-insert-time-stamp (current-time) t t "\nEvaluated: " "\n"))
>
> It does not update the results, but it will show you all the results
> and when they were evaluated.
>
> If you want to keep only one set of results and do not mind having the
> timestamp before the #+BEGIN_SRC, you could use something like:
>
> :epilogue (save-excursion (if (re-search-backward "Last evaluated: "
> nil t) (kill-line 1)) (org-insert-time-stamp (current-time) t t "Last
> evaluated: " "\n"))

The :epilogue won't work, as the source code block is in R and the
epilogue is appended to the code.

But I will look at the elisp code

Thanks,

Rainer
>
> Best,

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax :   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug

PGP: 0x0F52F982


signature.asc
Description: PGP signature