Subject: bug#18183: 24.3; table-fixed-width-mode fails with kill/yank

From: Boruch Baum <[email-masked]>
Date: Mon, 7 Dec 2020 12:36:01 -0500

On 2020-12-07 15:06, Lars Ingebrigtsen wrote:
> Lars Ingebrigtsen <[email-masked]> writes:
>
> > Hm...  perhaps a productive way to try to find what broke this would be
> > to try to do some bisection on the table.el file alone, and hope that
> > table.el doesn't rely too much on other things in Emacs that have also
> > changed over the years.  I'll give it a go.
>
> No dice.  I got back to 2010, and the bug seems to be present there,
> too.  In versions before 2010, table.el doesn't work at all, because it
> relies on Emacs internals that no longer exist in the current Emacs
> version.

Seeing you invest time in this encouraged me to take a stab at it. I see
that even when table-fixed-width-mode is non-nil, within function
table--fill-region it for some reason evaluates nil! Because of this,
function table--fill-region-strictly is never used. If you manually set
the variable non-nil at the beginning of the function, then the feature
seems to work!

My guess then is that if we find where/how the value is being lost
internally, we will solve the problem. The package makes several uses of
temporary buffers, and the variable is set in the define-minor-mode
macro, so if the mode variable is buffer-local (it is isn't it?) then it
would get lost when using the temp buffer?

--
hkp://keys.gnupg.net
CA45 09B5 5351 7C11 A9D1  7286 0036 9E45 1595 8BC0