Re: Discussion about why GNU/Linux system upgrades cause old programs to break

Eli Zaretskii <[email protected]> Wed, 12 Aug 2026 14:54:40 +0300
Newsgroups gmane.emacs.devel
Message-ID <[email protected]>
> From: Richard Stallman <[email protected]>
> Cc: [email protected], [email protected]
> Date: Tue, 11 Aug 2026 23:49:14 -0400
> 
>   > Not necessarily, no.  A C99+ program using K&R-exclusive syntax is,
>   > however.
> 
> Could you explain precisely what it means, here, to describe a program
> as "a C99+ program"?  I can imagine various possible meanings, and
> that could make a difference here.
> 
> Does Emacs 27 specify an option that implies "reject K&R syntax"
> or "complain about anything that doesn't satisfy the C99 spec?"
> 
> Does GCC offer an option to allow K&R function definitions along with
> the features of C99, which could have been used in compiling Emacs 27?

There's a certain confusion here (and elsewhere in this message): the
issue with K&R syntax happens in Emacs 23 and older, not in Emacs 27.
We switched from K&R syntax to C89 syntax in Emacs 24.1, so any newer
release, including Emacs 27, should have no problems due to K&R
syntax.

If someone has the latest GCC (v16.1, I believe) installed, it would
be interesting to see what happens if it is used to build Emacs 23.2
and what kind of warnings/errors are emitted by GCC in that case.

The problems with Emacs 27 are different: they are due to the change
in how glibc headers define SIGSTKSZ -- it is no longer a constant
expression, so this source line we had:

  static unsigned char sigsegv_stack[SIGSTKSZ];

would no longer compile.