Subject: bug#75521: scratch/igc: Delete unused macro DEFVAR_LISP_NOPROX

From: Stefan Kangas <[email-masked]>
Date: Wed, 15 Jan 2025 19:45:55 +0000

Eli Zaretskii <[email-masked]> writes:

>> Are you okay with removing this on the scratch/igc branch only?
>
> I have no problems with doing that on the branch conditioned by
> "#ifdef HAVE_MPS", if indeed DEFVAR_LISP_NOPRO is equivalent to
> DEFVAR_LISP there.

Thanks, done in commit de864e4f3b2.

> But are they indeed equivalent?  staticpro still
> exists on the branch, and AFAICT we create a root from staticvec.  So
> why are they equivalent?

Yes, they had the same definition:

#define DEFVAR_LISP(lname, vname, doc)			\
  do {							\
    static struct Lisp_Fwd const o_fwd			\
      = {Lisp_Fwd_Obj, .u.objvar = &globals.f_##vname};	\
    defvar_lisp (&o_fwd, lname);			\
  } while (false)
#ifdef HAVE_MPS
#define DEFVAR_LISP_NOPRO(lname, vname, doc)		\
  do {							\
    static struct Lisp_Fwd const o_fwd			\
      = {Lisp_Fwd_Obj, .u.objvar = &globals.f_##vname};	\
    defvar_lisp (&o_fwd, lname);			\
  } while (false)
#else