Hi Pierre, I’m happy to discuss it further (to some extent at least, because there are other patches waiting for us to be reviewed :-)), but first, as I wrote in another message, I think the topic was not consensual and thus the series wasn’t ready to be pushed.
Pierre Neidhardt <m...@ambrevar.xyz> skribis: > Ludovic Courtès <l...@gnu.org> writes: > >>> - Leave colors when INSIDE_EMACS is set. >> >> Like Ricardo wrote before, this is not desirable for shell-mode. Also, >> all or most GNU command-line tools behave that way. > > There might be a misunderstanding because M-x shell supports ANSI > terminal colors explicitly. Why disable them then? > > Many command line tools print colors properly in M-x shell. I think > it's a misfeature to disable them in Emacs; I don't see any benefits. I understand the Eshell use case. The shell-mode use case is one I’m interested in keeping as-is, that is: disable colors when INSIDE_EMACS, just like Coreutils, GNU grep, etc. do. >>> - Disable pager hint and display all search results when INSIDE_EMACS is >>> set. >> >> I have a preference for something that doesn’t fill the screen, >> especially since the last answers (those that remain visible without >> scrolling) are the least relevant. Emacs makes it easier to scroll up >> and search, but still. >> >> Thoughts? > > I find that printing just 1 result to be of little use in general. > So between printing all results and just 1, I have a preference for > printing all results. But there are other solutions, see below. It’s not printing one result; it’s printing as many results as can fit on the screen. > Note that `less` does not work well neither in Eshell nor in M-x shell. > Which is what started this discussion ;) > > Another option for M-x shell is to do > > guix search foo | cat > > which gives us the same result as the patch I've sent, with more typing :( > > Eshell has a "smart-scrolling" mode (the point stays at the first prompt > until validated). > > For M-x shell, going to the first result is just one keypress away. I understand all this. However, we’re not optimizing just for Eshell and shell-mode; in fact, I’d argue that Emacs users should just use Emacs-Guix (we need to add M-x guix-search, actually!). For regular terminals, I think the two options that work well are: 1. Print (by default) as much as fits on the screen. 2. Automatically start a pager. I went with option #1, which was submitted at <https://issues.guix.gnu.org/issue/36390>. The suggestion actually came from Bruno Haible: <https://issues.guix.gnu.org/issue/35551>. Just to say that there’s already been some thought put into it, and we have to carry the baggage of these past discussions now! > Another option would be to reverse the order of the result: print the > most relevant result last, so that neither Eshell nor M-x shell have to > scroll back. I think UIs generally print the most relevant result first. It wouldn’t feel right to me to reverse it. Thanks! Ludo’.