all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jean Louis <bugs@gnu.support>
To: Gregory Heytings <ghe@sdf.org>
Cc: Manuel Uberti <manuel.uberti@inventati.org>, emacs-devel@gnu.org
Subject: Re: Feature branches review please
Date: Fri, 6 Nov 2020 00:33:56 +0300	[thread overview]
Message-ID: <X6RvxD72MZpXFAbt@protected.rcdrun.com> (raw)
In-Reply-To: <alpine.NEB.2.22.394.2011052115380453.11986@sdf.lonestar.org>

Alright, it is in master branch, I have it.

When I do:

{C-h v RET icomplete-separator RET} then I get option to customize.

When I enter there: \n without quotes I get this completion:

~doe/\nntp/\ntor etc. so it deos not work well as intended from
customize. You maybe wish to verify that for users. Did you try
changing it in customize yourself? So it will not work with the
advise. It is not well made customization, OK? I consider that bug.

If I do in customize {C-q C-j} then I get new line in customize which
then does work. Not everybody will know how to tweak that.

This of course works directly:

(setq icomplete-separator "\n")

It does not work smooth as ivy. I wish it could.

I am supposed to click TAB even if it matches, clicking ENTER creates
new buffer with half of the file name. Ivy allows me to click enter if
I am on the match which is faster.

icomplete-mode works well with M-j so far.

I am asking myself what is the big difference between icomplete and
ido now. icomplete is doing what difference?

By your advise I have also changed the third parameter for
ido-decorations to: {C-q C-j and I have also got vertical ido
completion.

I expect to be able to move in vertical line, not only type
letters. Feeling is rigid, I cannot move up and down with familiar
keys likes C-n or C-p like I can do in ivy-mode or in helm

My feeling is that icomplete-mode is downgrade of ido-mode as it has
less keybindings, or better, icomplete is not complete.

Both ido-mode and icomplete-mode are so much worse than ivy mode.

Why ivy-mode cannot enter Emacs as it is GNU ELPA?

And then in Emacs there are two packages doing basically the same
function, ido-mode and icomplete-mode. I cannot know why. I am giving
you my opinion and review as user who would like to have: narrowing
incremental search with movements up and down, actions and
X-completing-read function.

Here is video and comparison between ido-mode, icomplete-mode,
ivy-mode and helm-mode, size 59M, about 9 minutes:
https://gnu.support/images/2020/11/2020-11-05/2020-11-06-00:03:17.ogv

Let us first see ido-mode C-j did not work as expected. I am used to
ivy-mode, my fault. Maybe it is separator. Even with my customization,
C-j is not working. What does ido-mode map says? There is no
ido-mode-map and no description of mode map as I expect to get it with
{C-h m} but I can see in the source that key bindings are well defined.

ido-mode selects text only partially, does not automatically choose
from selection if it matches. I may be familiar with ivy/helm and
expect that when I press enter on the match that it should work. I
have to complete it myself in full by using TAB, coming to EOL so that
ido-mode recognizes it. Not what I expect. Only horizontal works for
ido-mode. Visually ido-mode can work vertically if third parameter of
ido-decorations is changed to C-q C-j but it does not function in
selection. So why icomplete vertically when you can improve ido-mode
in the same way to be vertical? It looks as more mature package. 

Then I have tried icomplete in vertical mode. I cannot move with
familiar keys up and down. So I cannot see what is down. That is what
I expected.

Then I have tried again with ido-mode. And it was better, more visible
files. Then I've tried again icomplete-mode and I got confused as I
could not see nothing by moving up and down, it is far from my
vertical related expectations.

Then I have tested horizontal I complete and it gives me feeling of
not being nearly close to ido-mode. But is better than vertical. But
ido-mode is much better than icomplete-mode.

Now to ivy-mode. What you see on video with M-o are actions. That is
so useful. Let us say you create icomplete-find-files, you may want to
delete, rename, copy and do other actions with files.

counsel package utilizs ivy-mode to create exactly that, to cd, open,
open externally, open as root, to open read only, to delete, to copy,
move or mkdir. Those are actions, very necessary and common in other
completion frameworks.

Then I have checked helm-find-files which is definitely the best. No
question about it.

But ivy-mode is light, it is in GNU ELPA (easier to install on
multiple machines) and way better than ido or icomplete.

Summary of these four reviewed:

1. helm-find-files, best but overkill, and outside of Emacs GNU ELPA

2. ivy-mode and counsel are in GNU ELPA, ivy works great.

3. ido-mode works well, it has user functions and looks pretty mature

4. icomplete-mode reinvents the wheel and is already in Emacs. I get
   surprised. I was reviewing it some days before and I did not get
   what it is as it looked like bad version of ido-mode.

Thank you.

Jean



  parent reply	other threads:[~2020-11-05 21:33 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20201104161200.tyeo2r5jibdahukb.ref@Ergus>
2020-11-04 16:12 ` Feature branches review please Ergus
2020-11-04 23:18   ` Basil L. Contovounesios
2020-11-05  8:30   ` Gregory Heytings via Emacs development discussions.
2020-11-05 10:05     ` Jean Louis
2020-11-05 16:10       ` Gregory Heytings via Emacs development discussions.
2020-11-05 16:27         ` Manuel Uberti
2020-11-05 17:00           ` Gregory Heytings via Emacs development discussions.
2020-11-05 17:32             ` Jean Louis
2020-11-05 18:50               ` Stefan Monnier
2020-11-05 19:30                 ` Jean Louis
2020-11-05 19:52                   ` Eli Zaretskii
2020-11-05 21:55                   ` Adam Porter
2020-11-05 22:18                     ` hyperscope Jean Louis
2020-11-06 18:18                       ` hyperscope Eduardo Ochs
2020-11-06 19:18                         ` hyperscope Jean Louis
2020-11-06  5:50                     ` Feature branches review please Jean Louis
2020-11-05 20:39               ` Gregory Heytings via Emacs development discussions.
2020-11-05 21:09                 ` Ergus
2020-11-05 21:19                   ` Gregory Heytings via Emacs development discussions.
2020-11-05 21:36                     ` Jean Louis
2020-11-05 21:44                     ` Stefan Monnier
2020-11-05 22:00                       ` Gregory Heytings via Emacs development discussions.
2020-11-05 22:36                         ` Ergus
2020-11-06  8:42                           ` Gregory Heytings via Emacs development discussions.
2020-11-05 21:33                 ` Jean Louis [this message]
2020-11-05 21:46                   ` Basil L. Contovounesios
2020-11-05 22:24                   ` Gregory Heytings via Emacs development discussions.
2020-11-05 22:48                     ` Jean Louis
2020-11-06  9:19                       ` Gregory Heytings via Emacs development discussions.
2020-11-06 10:51                         ` Feature branches review please (ivy hello) Jean Louis
2020-11-06 11:17                           ` Oleh Krehel
2020-11-06 11:42                             ` Jean Louis
2020-11-06 11:49                               ` Basil L. Contovounesios
2020-11-06 12:01                                 ` Jean Louis
2020-11-06 21:12                                   ` Basil L. Contovounesios
2020-11-06 11:57                               ` Could ivy minibuffer stay where it is? Jean Louis
2020-11-06 15:20                                 ` Basil L. Contovounesios
2020-11-06 15:36                                   ` Jean Louis
2020-11-06 21:17                                     ` Basil L. Contovounesios
2020-11-07 12:51                                       ` Oleh Krehel
2020-11-07 17:23                                         ` Jean Louis
2020-11-08 11:21                                           ` Oleh Krehel
2020-11-08 12:51                                             ` Jean Louis
2020-11-06 13:56                               ` Feature branches review please (ivy hello) Stefan Monnier
2020-11-06 14:10                                 ` Eli Zaretskii
2020-11-06 14:55                                   ` Stefan Monnier
2020-11-06 15:24                                 ` Jean Louis
2020-11-06 12:07                           ` Gregory Heytings via Emacs development discussions.
2020-11-06 14:02                             ` Stefan Monnier
2020-11-06 14:41                               ` Gregory Heytings via Emacs development discussions.
2020-11-06 19:23                             ` Jean Louis
2020-11-06 21:09                               ` Gregory Heytings via Emacs development discussions.
2020-11-15 20:12                       ` Feature branches review please Juri Linkov
2020-11-15 22:32                         ` Drew Adams
2020-11-06 10:31               ` Alan Mackenzie
2020-11-06 10:55                 ` Jean Louis
2020-11-05 17:22         ` Jean Louis
2020-11-05 13:25   ` Andrii Kolomoiets

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=X6RvxD72MZpXFAbt@protected.rcdrun.com \
    --to=bugs@gnu.support \
    --cc=emacs-devel@gnu.org \
    --cc=ghe@sdf.org \
    --cc=manuel.uberti@inventati.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.