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.