On 2023-03-24 12:04, Chet Ramey wrote:
However, Bash's devel branch still has old-style function definitions and therefore won't compile with a strict C23 compiler. For example, get_variable_value in variables.c is old-style. I assume there would be interest in fixing remaining areas where Bash won't port to C23?
Please report those as you find them.
I reported many of the ones I found to bug-bash just now. Many more such 
issues remain, unfortunately.
In looking into this I had some trouble reading the code - perhaps you 
could let me know if there's a roadmap for newbies? Or if there isn't 
one perhaps we could write one. That might help attract other people to 
make further improvements.
Here's a brief summary of my guesses at the situation; please correct me 
if I'm wrong. Perhaps this could serve as a basis for a roadmap.
* Ignore everything under the CWRU directory, because it does not 
contribute anything to any builds. Similarly for lib/posixheaders.old 
and support/config.*.*. (What other code should I ignore, and what's the 
motivation for keeping the unused code in the repository?)
* Ignore files like 'configure' and 'doc/bash.pdf' that are 
automatically generated. (Is there a list of which files these are? It's 
not clear to me.)
* Ignore lib/glob, lib/intl, lib/malloc, and lib/termcap as these are 
all taken from other projects and fixes should be sent there. (The other 
lib/* directories belong to Bash, though.)
* Ignore most of the files in m4/* as they're taken from Gnulib. (Which 
files?)
* Ignore the po/* files as they're all automatically generated and/or 
synced from the Translation Project somehow.
* Ignore support/config.guess and support/config.sub as it's taken from 
the GNU config upstream. Likewise for support/config.rpath, taken from 
GNU Libtool.

PS. What are the procedures for syncing from upstream? Is it all done by hand? In other projects we automate this as much as possible - would a patch to do that be welcome?


Reply via email to