[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bug#9782: 24.0.90; move-to-window-line not taking header line into a
Re: bug#9782: 24.0.90; move-to-window-line not taking header line into account
Sat, 16 Aug 2014 03:33:44 +0400
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0
If you don't mind, I'd like to renew this discussion for a bit.
On 05/07/2013 09:19 PM, Dmitry Gutov wrote:
On 07.05.2013 20:50, Eli Zaretskii wrote:
I mean fixing the row number <-> line number discrepancy from the other
side, by making a wrapper for `move-to-window-line', the only function
of the bunch that deals with line numbers. It's used in
count-screen-lines also deals with line numbers.
Yes, but that would be fixing the discrepancy from the other side, and
then `company--row', reimplemented using `count-screen-lines', would
conflict with row values from mouse events, so this will only work when
we don't need to compare them (i.e. when using multiple overlays).
Now we've used the following function to get the current line number,
for a while:
(defun company--row (&optional pos)
(when pos (goto-char pos))
(progn (vertical-motion 0) (point)))))
It has a fundamental problem: it doesn't deal well with `display'; this
is most apparent in the `M-x report-emacs-bug' buffer, leading to bugs
like this: https://github.com/company-mode/company-mode/issues/136
The actual behavior is a bit different in my Emacs compared to the
screenshot, but the problem is there.
Since `vertical-motion' doesn't jump into the "virtual" text inside the
multiline `display' property, `company--row' returns lower values than
it should. `move-to-window-line' takes multiline `display' into account
just fine, so (move-to-window-line (company--row)) might move to a
different line than the point is at.
Do you have any further suggestions? Should we revert to using
Maybe I could do an alternative implementation of `move-to-window-line'
that disregards multiline `display' the same way, using
`vertical-motion', but this approach would probably cause buffer text
jumping when the popup is displayed in more cases than the
- Re: bug#9782: 24.0.90; move-to-window-line not taking header line into account,
Dmitry Gutov <=