From: Marcin Borkowski <mbork@mbork.pl>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org, juri@linkov.net
Subject: Re: async-shell-command and prefix argument
Date: Thu, 24 Jan 2019 18:32:47 +0100 [thread overview]
Message-ID: <8736pi7ygw.fsf@mbork.pl> (raw)
In-Reply-To: <83r2d69fc2.fsf@gnu.org>
On 2019-01-21, at 16:54, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Marcin Borkowski <mbork@mbork.pl>
>> Cc: juri@linkov.net, emacs-devel@gnu.org
>> Date: Sun, 20 Jan 2019 21:26:41 +0100
>>
>> > OTOH, if such a command does display something, it means the author of
>> > the command thought it was important enough to show that, even though
>> > the command is "for side effects".
>>
>> Well, you are right - in theory. Practice is different.
>>
>> Here are some examples.
>>
>> 1. Opening a png file in Gimp with xdg-open
>>
>> --8<---------------cut here---------------start------------->8---
>> $ xdg-open redacted.png
>>
>> (gimp-2.10:29264): Gtk-WARNING **: 21:13:40.274: Unable to locate theme engine
>> in module_path: "adwaita",
>
> Can be easily fixed, see below.
Agreed, I fixed that on my machine.
>
>> I know it worked because I can see a Gimp window/frame open.
>>
>> 2. Running (pdf)latex on a known and tested file (so no need for
>> diagnostics), only to produce the pdf.
>>
>> I know it worked because I can see (and view) the pdf. (Besides, I know
>> the file compiles correctly anyway, I just happened to delete the pdf
>> and I want to recreate it.)
>>
>> 3. Unpacking an archive with (more or less) known contents.
>>
>> --8<---------------cut here---------------start------------->8---
>> $ aunpack zzz.zip
>> Archive: zzz.zip
>> extracting: Unpack-6002/aaa
>> extracting: Unpack-6002/bbb
>> extracting: Unpack-6002/ccc
>> zzz.zip: extracted to `zzz' (multiple files in root)
>> --8<---------------cut here---------------end--------------->8---
>>
>> I know it worked because I press `g' in Dired and I can see the results
>> of the unpacking.
>
> I very much doubt that you could easily spot problems just by looking
> at the list of files which wound up in Dired. E.g., what if some file
> failed to extract, due to a bug in aunpack, and the list of extracted
> files is very long?
In such a case I would probably miss that piece of information anyway.
>> 4. Viewing a pdf without the synctex file in evince.
>>
>> --8<---------------cut here---------------start------------->8---
>> $ evince mgr.pdf
>> ! SyncTeX Error : No file?
>> --8<---------------cut here---------------end--------------->8---
>>
>> >> Does it make sense?
>> >
>> > Not really, sorry.
>>
>> Is it better now?
>
> This exchange is in response to your surprise that I consider this use
> case weird. The examples you gave don't really change anything. They
> show that you are willing to give up on seeing diagnostic messages
> because you think you know in advance what they will tell you in each
> and every case. That is a strange assumption; IME it is invalidated
> by your potential, if rare, typing mistakes; system updates that
> replace programs and libraries with new versions that have exciting
> new bugs; and by other similarly unexpected calamities. It is strange
> to hear from a veteran Emacs user that he chooses to ignore
> diagnostics, rather than pay attention to them and attempt to solve
> the underlying reasons. For example, according to
> https://askubuntu.com/questions/774664/gtk-warning-unable-to-locate-theme-engine-in-module-path-adwaita-error-o,
> you can fix the first of the above problems by installing one,
> possibly two, packages.
Well, let us agree to disagree here (at least partially). I sometimes
do ignore diagnostics, and I sometimes have good reasons. (Like
underfull boxes in LaTeX, recently some warnings due to a buggy JS
library used in a project I'm working on, etc.) Sometimes fixing is
indeed a better idea (like with the gtk problem above).
I think the main problem here is that windows popping up here and there
annoy me *a lot*, especially if the information they give is useless in
99.99% cases (and possibly 100%). Also, if some system works even only
99% of the time, humans usually quickly train themselves to ignore any
diagnostics.
And thanks for calling me a "veteran Emacs user". I'm not sure
I deserve such a label - I've been only using Emacs for a bit less than
20 years;-).
> I hope you don't ignore Emacs problems in the same way.
I will shock you, but yes. I routinely ignore any compilation warnings
when I compile a new Emacs from source;-). For other problems, it may
depend on the kind of problem. I often mistype some command, and
sometimes I do bother to press C-h l to see what I did and sometimes
not. (A lot depends on what mode I was in when the mistyping occured -
in some modes it might be catastrophic.) Sometimes when something stops
working I simply restart Emacs (this happens especially with things like
timers) - my feeling is that it might be some extremely obscure bug or
(more problably) me doing something stupid (like killing some buffer
some code depends on). Probably not worth investigating due to time
constraints.
>> It is all about flexibility. The author may have thought that the
>> output is important. As a user, knowing my situation, I know that it is
>> not important /for me/. (And I take the risk of a possible but unlikely
>> situation of something going wrong and me not noticing, like having
>> a full disk.) I could say ">/dev/null 2>&1" to achieve what I want.
>
> Or make a shell script that redirects stdout/stderr, and use that
> thereafter.
Precisely. It is the old way, isn't it? If the user wants to shoot
themselves in the foot, why not let them? This is how Unix works, this
is how C works, this is how (La)TeX works, this is how Lisp works.
I see no reason to move to the shackles of Javaland (been there once,
for an excursion - a simple Android app - and I'm not going there
again).
>> It's just that C-u is much more convenient.
>
> C-u is already taken. At best, you will have to do something like
> "C-u 0" or "M-0" instead. I doubt that's really better than
> redirecting to /dev/null, and once again, I'm surprised that someone
> would want to discard that output in the first place.
Well, C-u is taken, but what it does is useless.
Anyway, I think we should close this discussion. Neither of us will
convince the other one (probably), I'm not sure more will be said, so
I learned what I learned from you in this thread and I don't expect
more (but thanks for that!), and I modified my Emacs to do what I want
anyway (though in a very hackish way).
Best,
--
Marcin Borkowski
http://mbork.pl
prev parent reply other threads:[~2019-01-24 17:32 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-14 20:49 async-shell-command and prefix argument Marcin Borkowski
2019-01-15 17:32 ` Eli Zaretskii
2019-01-16 8:26 ` Marcin Borkowski
2019-01-19 21:19 ` Juri Linkov
2019-01-20 3:40 ` Eli Zaretskii
2019-01-20 5:10 ` Marcin Borkowski
2019-01-20 15:39 ` Eli Zaretskii
2019-01-20 20:26 ` Marcin Borkowski
2019-01-21 15:54 ` Eli Zaretskii
2019-01-24 17:32 ` Marcin Borkowski [this message]
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8736pi7ygw.fsf@mbork.pl \
--to=mbork@mbork.pl \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=juri@linkov.net \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).