[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
- How to determine buffer change,
Thorsten Jolitz <=