vertical-motion
is a complex function. Re-implementing it in Elisp would be difficult/impossible. Better just report the problems you see as bugs.
Emacs -- a non-C function for `vertical-motion` - - i.e., elisp
Вопрос
I'm looking for an elisp
function that is the equivalent of the one written in C
for vertical-motion
.
I would like to implement my own bug-fixes caused by whitespace-mode
[(setq whitespace-style '(face space-mark tab-mark newline-mark) )
] and visual-line-mode
and perhaps some other contributing factors (e.g., linum-mode
and tabbar-mode
) -- e.g., when point
is one more or one less than it should be; or when the last word in a line gets wrapped because the end of line is exactly equal to the window-width
(and vertical-motion
doesn't know the word has been wrapped).
It is still premature to file a bug report, so I thought I'd try to fix the function instead of creating several contingency plans as bug workarounds -- e.g., if (vertical-motion 0)
should place (point)
at (window-start)
but (point)
ends up being one more than it should be, then pretend (point)
is really one less.
Решение