Subject: bug#77389: 31.0.50; Restarting Emacs with (kill-emacs ... t) looses noninteractivity

From: Eli Zaretskii <[email-masked]>
Date: Sat, 05 Apr 2025 09:46:38 +0300

> Date: Fri, 4 Apr 2025 21:54:16 +0200
> Cc: [email-masked]
> From: Jens Schmidt <[email-masked]>
> 
> On 2025-04-04  12:46, Eli Zaretskii wrote:
> 
> >> - sysdep.c refers to initial_argv[0] in function emacs_perror
> >>   and it seems it does so for Windows as well.  What should I
> >>   do about that one?  Use simply constant "emacs"?  Or the
> >>   result of w32_my_exename (plus any required coding system
> >>   conversion)?
> > 
> > Why does this matter?  Your patch doesn't eliminate initial_argv, so
> > initial_argv[0] still holds the name of the Emacs program, albeit only
> > in the form it was provided by the calling shell.  Right?  If so, then
> > for reporting errors (and ones that should never happen at that), I
> > don't see any need to jump through hoops.
> 
> But my patch, at least the second one [1] on message #20
> of this bug, plus your earlier request to #ifdef away
> function and call to copy_raw_args on Windows, would skip
> the initialization of initial_argv on Windows, no?

Ah, I've missed that part.  Then the call to 'error' could just use
argv[0] instead of initial_argv[0], right?