you probably only need this:

(add-hook 'org-mode-hook (lambda ()
(add-to-list 'after-change-functions 'update-last-edited)))

and not this:

(add-to-list 'after-change-functions 'update-last-edited)

I guess that this last line could be causing an issue in buffers like
*Messages* which change a lot, especially during startup.


John

-----------------------------------
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


On Sun, Aug 2, 2015 at 2:34 PM, Xebar Saram <zelt...@gmail.com> wrote:

> Hi John
>
> i tried it by evaluating it and then it works exactly as i needed:) the
> only bizarre thing is that when i add it to my config emacs is frozen
> during startup.
> ive also tried adding the extra lines you suggested so now the lisp part
> looks like this
>
>
> #+BEGIN_SRC emacs-lisp
> (defun update-last-edited (beg end length)
>   (when
>       (and
>        (not (org-before-first-heading-p))
>        (org-get-heading))
>     (org-entry-put nil "LAST-EDITED" (format-time-string
> "[%d-%m-%Y(%H:%M)]"))))
>
> (add-to-list 'after-change-functions 'update-last-edited)
>
> (add-hook 'org-mode-hook (lambda ()
> (add-to-list 'after-change-functions 'update-last-edited)))
>
> #+END_SRC
>
> any idea why it freezes emacs?
>
> best
>
> Z
>
> On Sat, Aug 1, 2015 at 7:05 PM, John Kitchin <jkitc...@andrew.cmu.edu>
> wrote:
>
>>
>> This seems to do what you want for the changes. The timestamp is
>> automatically added when you make changes. It does not propagate
>> timestamps up though, so if you change a subheading the timestamp there
>> is updated, but the one in the parent for example. also, this will
>> update every headline.
>>
>> You may need to add another (add-hook 'org-mode-hook (lambda ()
>> (add-to-list 'after-change-functions 'update-last-edited))) kind of line
>> to enable this in all org-files, the code below might be buffer local.
>>
>> #+BEGIN_SRC emacs-lisp
>> (defun update-last-edited (beg end length)
>>   (when
>>       (and
>>        (not (org-before-first-heading-p))
>>        (org-get-heading))
>>     (org-entry-put nil "LAST-EDITED" (format-time-string "[%Y-%m-%d %a
>> %H:%M:%S]"))))
>>
>> (add-to-list 'after-change-functions 'update-last-edited)
>> #+END_SRC
>>
>>
>>
>> Xebar Saram writes:
>>
>> > Hi all
>> >
>> > coming back to it after 3 years :)
>> >
>> > im wondering if anyone has a hook or anything like that that auto adds a
>> > date when he creates a header. and maybe also auto change the date each
>> > time  the text under the header is changed? kind of simulating a
>> timestamp
>> > type function :)
>> >
>> > best
>> >
>> > Z
>> >
>> > On Fri, Jul 26, 2013 at 11:49 PM, Dave Marquardt <davem...@us.ibm.com>
>> > wrote:
>> >
>> >> Xebar Saram <zelt...@gmail.com> writes:
>> >>
>> >> > does any one know of a way to auto insert/change the date in each
>> >> sections
>> >> > header when the section is edited?IE have a date in the header
>> showing
>> >> > last edited date.
>> >> > Is this technically possible?
>> >>
>> >> Try setting before-save-hook.  See "(elisp) Saving Buffers".
>> >>
>> >> -Dave
>> >>
>> >>
>> >>
>>
>> --
>> 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
>>
>
>

Reply via email to