Subject: Re: bug#61880: Native compilation fails to generate trampolines on certain scenarios

From: Richard Stallman <[email-masked]>
Date: Sat, 04 Mar 2023 23:03:57 -0500

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > > To a quick look into the trampoline machinery in comp.el I see we rely
  > > on:
  > > 
  > > null, memq, gethash, and, subrp, not, subr-native-elisp-p,
  > > comp--install-trampoline, concat, if, symbolp, symbol-name, make-string,
  > > length, aset, aref, length>, mapcar, expand-file-name,
  > > file-name-as-directory, file-exists-p, native-elisp-load.

There is nothing wrong with ignoring the return value of `aset'.  That
is normal.  We use it like `setq'.  Do not make warnings for that.

It is normal to ignore return values from `if' and `and'.  They are
control constructs.  Do not make warnings for that.

The others are really functions, so ignoring their return values is
slightly anomalous.  It is ok to implement warnings when their values
are ignored, but please do not enable these warnings by default.
Give us a chance to test the warnings and see what fraction of them
indicate a real reason to change the code.  If we are all happy with
the issuance of those warnings, thenwe can enable the warnings by
default.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)