Akim and I have agreed that there are several new features that should be released in 2.5 before the current development on master will likely have time to stabilize enough. Alex's value/location naming is one feature we think may be ready in time for 2.5. My minimal LR and canonical LR implementation is another. Also, there are some simple changes on master that appear to be stable enough now.
I just pushed a branch-2.5, created from the HEAD of branch-2.4.2. I then cherry picked commits from master as I thought was appropriate. See the list below. For the moment, I've skipped the Java and C++ changes. I'd appreciate it if their authors would suggest which ones are stable enough for 2.5. I haven't yet added the semicolon warnings from Di-an that I asked about a couple days ago. For that, I'll wait a little longer in case anyone wants to respond. If there's no answer, I'll add it as I believe that was our agreement. Of course, if I've included anything from master that isn't stable or if I've overlooked anything that is ready, we can adjust. I'm new to development on multiple branches. I figure there's no need to email old patches all over again. Thus, below, I've listed only the git log entries for the patches I cherry picked from master. In some cases, the patches didn't apply cleanly, so cherry-pick -x left off the "(cherry picked from commit xxx)" comment, and I had to make superficial changes or trim parts out entirely. I tried to always update the git log and ChangeLog entries to reflect my changes. However, I committed with the original author's info to give him credit. The committer info that git records is hopefully enough to assign blame to me for any mistakes. Is this approach satisfactory? Is there any customary practice I'm not following here? commit 006faedfd3944ade7a33b437d11c0d02c324112c Author: Joel E. Denny <[email protected]> Date: Mon Apr 6 04:28:29 2009 -0400 * NEWS (2.5): New stub. commit 33d2a860792a7c4e11a99ea9bc10c6802f5a2063 Author: Akim Demaille <[email protected]> Date: Thu Aug 7 20:46:28 2008 +0200 Require the generation of parse-gram.output. * src/Makefile.am (YACC): Pass --report=all. (cherry picked from commit 432ac57aaae89de7a4305dc72c5a5b716c6defc4) commit 75c21b618d2ee31e72f7b78b4a03d400514e433f Author: Akim Demaille <[email protected]> Date: Tue Jul 29 12:47:41 2008 +0200 Initialize the muscle table before parsing the command line. * src/getargs.c (quotearg.h, muscle_tab.h): Include. (getargs): Define file_name. * src/main.c (main): Initialize muscle_tab before calling getargs. * src/muscle_tab.c (muscle_init): No longer define file_name, as its value is not available yet. commit e14c68313b82fa4b2f2fd8df5937e3945b488b04 Author: Akim Demaille <[email protected]> Date: Tue Jul 29 12:52:19 2008 +0200 -D, --define. * src/getargs.c (usage): Document -D. Fix help string for --locations. (command_line_location): New. (short_options, long_options, getargs): Support -D, --define. (getargs): Move -d support at the right place. * doc/bison.texinfo (Bison Options): Update. * tests/input.at (%define, --define): New. (cherry picked from commit 58697c6d89f2db69aa2321fe92fc388f87bf2a3c) commit e186a284863938a406f562630a3bdc48737a664a Author: Akim Demaille <[email protected]> Date: Tue Jul 29 13:30:02 2008 +0200 Pass command line location to skeleton_arg and language_argmatch. * src/getargs.h, src/getargs.c (skeleton_arg, language_argmatch): The location argument is now mandatory. Adjust all dependencies. (getargs): Use command_line_location. commit 11c4e57daf46a0f465716621d56e780bf7b0c860 Author: Akim Demaille <[email protected]> Date: Mon Aug 25 13:43:00 2008 +0200 AT_FULL_COMPILE. * tests/actions.at, tests/regression.at: Use it. commit 6f5be1abf7a9b83edfe86ca81b31e786bcc710c8 Author: Di-an Jan <[email protected]> Date: Mon Nov 17 11:01:41 2008 +0100 Handle --enable-gcc-warnings. * src/getargs.c (command_line_location): Set parameters to void. commit 10fa0146e2051fbd536fb69acd9634fea4b4fbde Author: Joel E. Denny <[email protected]> Date: Mon Nov 17 10:36:28 2008 -0500 Fix last warning from --enable-gcc-warnings. * src/getargs.c (getargs): Don't assign const address to non-const pointer. (cherry picked from commit a8beef7e6a9f6b75fa249d59b4c79585190540b6) commit c4eb1e841e579e79e861007994e3902bb6cf5fb2 Author: Joel E. Denny <[email protected]> Date: Mon Nov 17 10:51:17 2008 -0500 Simplify last patch slightly. * src/getargs.c (getargs): Here. (cherry picked from commit 9ce405ce1dd2ff7d495dafe6201b87669549f98b) commit e3ee30b88ff74bd7ea699e6b9a162a42d6cbd0df Author: Akim Demaille <[email protected]> Date: Sun Dec 7 22:14:11 2008 +0100 Install autoconf as a submodule to get m4sugar. * .gitmodules: Add submodules/autoconf. * data/m4sugar/foreach.m4, data/m4sugar/m4sugar.m4: Now links into submodules/autoconf. (cherry picked from commit 6c63b895fbfda2182e148a95aff855e303bdbc30) commit 54d8d31419866b16121ea6ca08a80b0d08b832f0 Author: Akim Demaille <[email protected]> Date: Mon Dec 8 13:58:37 2008 +0100 Really add autoconf as a submodule. * submodules/autoconf: New. (cherry picked from commit e5fa6147efaf1f15b832b6f62b09638979bc82ef) commit e80b068ce1fabb922bf71ea2c528aba6f151280f Author: Akim Demaille <[email protected]> Date: Wed Dec 31 16:55:12 2008 +0100 Copyright years. * data/glr.c: Add 2007 and 2008 here, consistenly with the comments. commit 72183df4da75116a496099c856097f7f049b2d8a Author: Di-an Jan <[email protected]> Date: Thu Nov 20 12:36:30 2008 -0800 Improves options in the manual. * doc/bison.texinfo (-g, -x): Add space before argument. (Option Cross Key): Implement FIXME: listing directives also. * build-aux/cross-options.pl: Read from <STDIN> rather than <>. (Short Option): Special case -d. Put arguments inside @option. (Bison Directive): Add column, automatically extracted from src/scan-gram.l (actual name passed as the first argument) with special case for %define. * doc/Makefile.am (doc/cross-options.texi): Pass src/scan-gram.l to build-aux/cross-options.pl. * src/getargs.c (usage): Document limitations of cross-options.pl. * src/scan-gram.l: Likewise. commit fadb13b5b32b5efb354d9083fd201d1dfdb30150 Author: Akim Demaille <[email protected]> Date: Fri Nov 21 21:21:52 2008 +0100 Display the changes in cross-options.texi. * build-aux/cross-options.pl ($sep): New, to separate items. * doc/Makefile.am ($(srcdir)/cross-options.texi): Use diff to display the changes. commit 96002de2e149fb4be00764aa29d766c3afe18fee Author: Akim Demaille <[email protected]> Date: Tue Aug 12 21:11:53 2008 +0200 muscles_output. * src/output.c (muscles_output): New, extracted from... (output_skeleton): here. Adjust. commit c65e52923780b0b20fbb8dcb2f14d14f08163798 Author: Akim Demaille <[email protected]> Date: Tue Aug 12 21:48:44 2008 +0200 --trace=muscles * src/getargs.h, src/getargs.c (trace_muscle): New. (trace_types, trace_args): Support it. * src/output.c (output_skeleton): Use it. (cherry picked from commit 5263bea9f7d576c20938619af2197eb5b47a90c3)
