abo-abo / avy

Jump to things in Emacs tree-style
1.72k stars 110 forks source link

avy-goto-line--characters on the right for empty lines instead of left #213

Closed rieje closed 7 years ago

rieje commented 7 years ago

For avy-goto-line and variants, the characters displayed for you to type to go to the lines are displayed at the beginning of the line if the lines are not empty and displayed at the end of the line if the lines are empty. Is this intentional by design and if not, is it possible to have both cases be either at beginning of the line or at the end of the line?

It feels like an exercise to the eyes when I have to decide where to look for the characters depending on whether the line is empty or not--it would be far more intuitive to have the characters be at the same place all the time regardless of the situation.

abo-abo commented 7 years ago

I don't see this on my system. Can you reproduce with emacs -Q?

rieje commented 7 years ago

Found the culprit--when fci-mode is disabled, then I don't get this undesirable behavior. Not sure whether a fix is needed for avy or fill-column-indicator.

P.S. What is the general way to diagnose problems like this? When you say emacs -Q then I need to manually install avy and run the function? Or maybe it's better to emacs -l a small file containing only use-package initialization and another file containing settings to be tested?

And a picture of what I'm talking about for clarity since this is not the expected behavior.

abo-abo commented 7 years ago

Not sure whether a fix is needed for avy or fill-column-indicator.

File it with https://github.com/alpaker/Fill-Column-Indicator. I think there was a similar issue a few months back. And it looks like fci breaks a bunch of other packages that deal with overlays.

What is the general way to diagnose problems like this? When you say emacs -Q then I need to manually install avy and run the function?

Usually, this is enough:

emacs -Q -l avy.el

But if you like, you can set up a more fancy init.el:

emacs -Q -l init.el

The important part is to keep the content of init.el to a minimum, e.g. only avy customization, no other packages active.