emacs-devel
[Top][All Lists]
Advanced

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

Re: Patch for fields of `struct buffer'


From: Stefan Monnier
Subject: Re: Patch for fields of `struct buffer'
Date: Mon, 14 Feb 2011 12:47:50 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

>     I also expect some really nasty cases showing up when you try to rewind
>     a thread's bindings.  E.g. if a let-binding that was originally applied
>     to a global variable has to be rewound (i.e. re-applied) to a variable
>     that has become buffer-local in the mean time.

> This issue arises now within the single Emacs thread, and we already
> handle it.

Not really, because we never rewind, we only unwind.  We do have to
solve related problems when unwinding, and indeed it is tricky and has
suffered from very long standing bugs.

> I don't recall just how we do, but we hardly ever get a complaint
> about it.

Gerd fixed in Emacs-21 a bug that was known for a long time (when you
sometimes had to do (let (blbla) (save-current-buffer ...)) to make sure
that the unwinding would take place in the same buffer as when the vars
were bound).  Since then I've fixed another related bug in some less
common case, and someone else (can't remember who right now, Lennart
maybe?) found a third one (between Emacs-22 and 23).
For this last bug, I tried to do a "thorough code review" to try and
convince myself that we really did get it right this time, but
I wouldn't bet my life on it.

AFAIK, none of those 3 bugs were related to new features, so getting
dynamic let-bindings to work right in the presence of buffer-local
variables has taken in the order of what ... 20 years?


        Stefan



reply via email to

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