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