On Jun 28, 2015 9:46 PM, "Drew Adams" <drew.adams@oracle.com> wrote:
>
> This new code seems quite wrong to me:
>
> (and remember-pos
> (when (eq (window-buffer) (current-buffer))
> (setq window-line (count-screen-lines (window-start) (point))))
> (setq entry-id (tabulated-list-get-id))
> (setq saved-col (current-column)))
> So that test fails, and none of the variables get assigned
> values. This makes no sense to me.
Yes, that's wrong. The window logic should come last, so as to not prevent the other variables.
> When code calls `tabulated-list-print', the current buffer must pretty
> much always be the buffer that will get the tabulated list. Why the
> comparison with `window-buffer', which could be anything and which in
> most cases will *not* be the tabulated-list buffer?
>
> This new code looks like it might be a misguided hack to try to deal
> with the new parameter UPDATE. Not ready for prime time, I think.
No.
IIRC, it was necessary because of async refreshing in package.el. It makes no sense to store the screen line if current window is not displaying that buffer.
As I said above, blocking the other two variables was unintentional.
I can do that tomorrow if nobody beats me to it.