Subject: bug#43308: 28.0.50; Improvements to Edit->Search menu

From: Ihor Radchenko <[email-masked]>
Date: Thu, 10 Sep 2020 22:18:51 +0800

Following up with "Changes for emacs 28" discussion about improving menu
[1]

Source: http://ergoemacs.org/emacs/modernization_menu.html

The following menus seems to be more confusing than helpful:
- Edit->Search menu->String Forward
- Edit->Search menu->String Backwards
- Edit->Search menu->Regexp Forward
- Edit->Search menu->Regexp Backwards
- Edit->Search menu->Repeat Forward
- Edit->Search menu->Repeat Backwards

In most of other applications, the search functionality is squeezed into
single search dialogue, providing searching forward, backwards, and
repeating search together (via next/prev buttons).
Current Emacs menu forces the user to click Edit->Search menu->...
multiple times to repeat the search. That is not a pleasant experience.

Also, the functionality of the above menu items seems to be strictly
inferior in comparison with isearch items from Edit->Search->Incremental
search sub-menu. The only apparent advantage is that user would not need
to know that moving to next/prev match is C-s/C-r.

The article suggests to remove the above Search menu items completely
and replace them by incremental search versions.

I would also add that we can show transient next match/previous match
toolbar icons to assist users, unfamiliar with key bindings. Though need
to make sure that these new toolbar icons can be easily associated with
the search process. For example, we may show additional toolbar at the
bottom (above the mini-buffer isearch prompt) with only these two new
toolbar icons (maybe also "exit search" icon).

Also, the article suggests to rename "Forward/Backward String..." into
"Search Forward/Backwards...", which sounds reasonable since
non-programmer users may be confused by the meaning of word "String".

Finally, find "Search tagged files..." and the following "Repeat" menu
confusing. What does "tagged files" mean? I tried to click it, got a
prompt about regex, then prompt about tag table (what is it?). Finally,
I got error "File ~/TAGS does not exist". This made me recall vague
memory about Emacs manual talking about some kind of completion feature
for large code projects - something I never used.

The above is my actual first impression. The menu seems useless for me,
though may have a value for programmers. However, I have two
suggestions:

1. Menu items do not show the key binding (is in Incremental search
   menu). I think that showing bindings is generally a great idea for
   discoverability

2. There is currently no way to understand what some unfamiliar menus do
   except blindly trying. As I explained about, it does not always help.
   Probably, Emacs could show some kind of tooltip on top of menu items,
   explaining what it does in more details. Also, it would be cool to be
   able to move to Manual page talking about topic relevant to the menu
   item (on right click?).

Best,
Ihor

[1] https://lists.gnu.org/archive/html/emacs-devel/2020-09/msg00410.html

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0)
 of 2020-08-15 built on localhost
Repository revision: f712cdbe9e9bdca3d4c7c27e9ac59686ab4c7620
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Gentoo/Linux