emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] (icomplete-vertical-mode): Add support for affixations and,


From: Gregory Heytings
Subject: Re: [PATCH] (icomplete-vertical-mode): Add support for affixations and, annotations
Date: Tue, 01 Jun 2021 14:47:43 +0000


I didn't get a terrible amount of feedback, but I spent the week testing that branch, making small adjustments, and verifying that the default Icomplete and Fido behaviour are unchanged. So I've now pushed the icomplete-vertical-mode rework to master.

Okay, so I guess it's too late to send you feedback... I asked you to wait a few days more, and promised to send you feedback this week.

You can still send feedback, of course. Just because it's in master doesn't mean it's written in stone.


That's most often the case, but let's see whether this one is an exception.


I did wait a few days more to your request but I didn't think it made sense to wait many more as I need to move on to other developments that kind of depend on it. Anyway, I think you'll like the new mode, but let me know what you think.


I've now spent some time to test the feature and to look at your code, and here are a few comments:

1. Your code is not modular enough, for example, IMO it would be much better if the the annotation function and the "candidate number/total number of candidates" indication were (user-configurable) hooks, instead of hard-coding these operations in the code. Not everyone wants to see these numbers, not everyone wants to see annotations even if they are available, some might want to add annotations to the candidates list with their own chosen formatting, and so forth.

2. I don't understand why you used "icomplete-scroll" for the variable name, and why it is not a defcustom. IMO it should have been something more explicit like "icomplete-vertical-scroll-candidate-list". And with a hook, this variable would not be necessary.

3. As I feared, the code to scroll the candidates list does not work correctly alas. I've put lots of efforts to make "icomplete-vertical" work correctly in virtually every possible case, so I find this very regrettable. For example, with frame-height = 47, 10 candidates are displayed, yet the candidates list rotates on the 7th candidate (instead of the 11th one). With frame-height = 30, 6 candidates are displayed, and the candidates list rotates on the 6th candidate (instead of the 7th one). With frame-height = 22, 4 candidates are displayed, and the candidates list correctly rotates on the 5th candidate. With frame-height = 15, two candidates are displayed, yet the candidates list rotates on the 4th candidate (instead of the 3th one, and in this case you don't even see the current candidate anymore).

If I start working on this (again), I would likely change most of your code into something else, and it would take some time, because it's a difficult problem. Would you agree with this?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]