|
|
i |
|
Pre-Announcement for R.S.N.
5.10.1pre2
- libopts library callback functions
- The templates used to #define the callback function name to NULL
whevever it is to be ifdef-ed out of a compilation.
Unfortunately, if two options use the same library function and
one is compiled out and the other compiled in, this would lead to
trying to declare NULL as a callback function.
All libopts callback functions will now be declared
and never get #defined to NULL any more.
- AutoFSM
- Some developers prefer a cleaner separation between generated
code and hand edited code. By supplying a "handler-file"
attribute, several #includes will be emitted that will
pull source from that file, instead of extracting fragments from the
previous generation of the output.
This file needs to be segmented as in:
#ifndef FSM_HANDLER_CODE
// relevant code goes here
#endif /* FSM_HANDLER_CODE */
Do not have any code outside of the #ifndef/#endif pairs.
There are five sections, which are included and what they do depend
upon the FSM type. These five are: FSM_SWITCH_CODE,
FSM_FIND_TRANSITION, FSM_FINISH_STEP,
FSM_USER_HEADERS and FSM_HANDLER_CODE.
Announcement for November 2009
5.10
- Version Bump
- I felt there were enough changes to things to go ahead and
bump the minor version (second number) instead of the "patch level"
(third number).
- omitted usage
- When an option is configured out (via ifdef or ifndef
attributes), it is not normally displayed in the usage text.
Sometimes, users want to know why the option they supplied is against
the law ("illegal"). If the option has the omitted-usage attribute,
the extended usage (via "--help") will now show the option name and
the text:
This option has been disabled
Or, alternately, the text specified with the omitted-usage
attribute.If the option is specified, the error message will be:
PROGRAM: The MUMBLE option has been disabled
followed by the abbreviated usage.
- Option aliasing
- Several times it has been necessary to have two different options
mean exactly the same thing. Usually, this is a consequence of some sort
of historical use. However it came about, the need is there. So, AutoOpts
now supports a new option attribute: aliases. This option will
be listed in the usage text but will be handled exactly as if the aliased-to
option were specified. You probably shouldn't use it unless you have to.
- AutoGen tracing output
- You may now prefix a file name with shell style append redirection
to indicate that the output appends to the file
(i.e. >>file).
- Scheme functions (min ...) and (max ...)
- Internally, AutoGen was using unsigned values making
negative values problematical. They are signed now.
- Modification time bug
- The modification time should never be older than the newest
template modification time.
- Testing for fork()
- fork() was presumed to not work iff either
__windows__ or __CYGWIN__ was defined.
Actually, some mmu-less platforms do not have it defined, either.
The HAVE_FORK autoconf test is now used.
- intptr_t
- If this typedef cannot be found, then SIZEOF_CHARP and
SIZEOF_LONG will be used to construct a replacement.
As part of this fix, the installed autoopts/options.h header
will also contain the necessary typedefs, a la:
#ifndef HAVE_UINTPTR_T
#define HAVE_UINTPTR_T 1
#define HAVE_INTPTR_T 1
typedef long intptr_t;
typedef unsigned long uintptr_t;
#endif /* HAVE_UINTPTR_T */
- SHELL_ENABLED
- Depended solely upon whether it was desired or not.
However, it only really works if HAVE_WORKING_FORK is
also defined.
- value list searching bug
- The stack, len, and count functions did not correctly handle the "." prefix in the
value names. That prefix is used to prevent the value search
from "backtracking" up the value stack.
Announcement for August 2009
5.9.9
- Minor bug fixes
- DIRCH is not always a forward slash and searching for it
might return NULL.
- GIT
- The repositories have been transitioned to GIT.
Announcement for May 2009
5.9.8
- portability bug fixes
- Mac OS/X and very old guile problems
- option deprecation
- By specifying the option attribute, deprecated,
there will be two effects: the usage text will not
show the option, and the generated documentation will mark it with:
NOTE: THIS OPTION IS DEPRECATED
- command line disablement
- Sometimes, options just should not be specifiable on the command line.
So, you may now specify that the command line may not load or save options
and options you specify may also be prohibited from the command line. disable-load and disable-save will disable loading
and saving option state on the command line, and the no-command attribute will prevent your option from being
recognized on the command line. They are also omitted from the usage text.
|