help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to determine buffer change


From: Thorsten Jolitz
Subject: How to determine buffer change
Date: Sat, 05 Apr 2014 13:41:41 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Hi List, 

in a program I insert text in an empty temporary edit-buffer, what of
course modifies the `buffer-undo-list'.
Assume that at this moment (lets call it time T1)

,------------------------------
| M-: (length buffer-undo-list)
`------------------------------

returns 9. 

Now when there are changes to the text in the edit-buffer, these are
copied to the original buffer after quitting. But when nothing has
changed after the insertion of the original text, it would be better to
simply discard the edit-buffer and not touch the original buffer at
all. 

I could remember the length of the buffer-undo-list at time T1 and then
check if it changed when quitting, but this does not seem very robust,
since this length grows and shrinks in both directions.

I would rather store the whole buffer-undo-list in a VAR1 at time T1,
and then again in VAR2 at time T2 (when quitting), and then do

,---------------
| (eq VAR1 VAR2)
`---------------

to figure out if any edits happened. 

Would this be robust enough? Is it highly unlikely or even impossible
for the buffer-undo-list to return to the same state/value after some
do's and undo's in the edit-buffer?

Is there maybe another simple trick to achieve what I want?

-- 
cheers,
Thorsten





reply via email to

[Prev in Thread] Current Thread [Next in Thread]