Subject: Re: bug#34448: --no-build-details means system-name is nil

From: Lars Ingebrigtsen <[email-masked]>
Date: Thu, 10 Oct 2019 00:26:53 +0200

Glenn Morris <[email-masked]> writes:

> emacs -Q --no-build-details
>
> then (system-name) returns nil. I expect this switch to only affect the
> values stored in the Emacs binary, not the run-time result.

Yup.  It seems like this was the intention here:

void
init_system_name (void)
{
  if (!build_details)
    {
      /* Set system-name to nil so that the build is deterministic.  */
      Vsystem_name = Qnil;
      return;
    }

which is called from

static void
init_and_cache_system_name (void)
{
  init_system_name ();
  cached_system_name = Vsystem_name;
}

which is called from

DEFUN ("system-name", Fsystem_name, Ssystem_name, 0, 0, 0,
       doc: /* Return the host name of the machine you are running on, as a string.  */)
  (void)
{
  if (EQ (Vsystem_name, cached_system_name))
    init_and_cache_system_name ();
  return Vsystem_name;

Is --no-build-details just meant to be used during builds?  If so, we
can just document that, I guess?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no