Force -fsigned-char in CFLAGS passed to configure as the code has some
assumptions about signed char's and EOF handling that aren't easily patched.
Add a few missing files to PLIST so this adds/removes cleanly.
Passes all regress on x86 and powerpc (wasn't working on powerpc previously).
Summary of changes:
- removal of USE_GTEXINFO
- addition of mk/texinfo.mk
- inclusion of this file in package Makefiles requiring it
- `install-info' substituted by `${INSTALL_INFO}' in PLISTs
- tuning of mk/bsd.pkg.mk:
removal of USE_GTEXINFO
INSTALL_INFO added to PLIST_SUBST
`${INSTALL_INFO}' replace `install-info' in target rules
print-PLIST target now generate `${INSTALL_INFO}' instead of `install-info'
- a couple of new patch files added for a handful of packages
- setting of the TEXINFO_OVERRIDE "switch" in packages Makefiles requiring it
- devel/cssc marked requiring texinfo 4.0
- a couple of packages Makefiles were tuned with respect of INFO_FILES and
makeinfo command usage
See -newly added by this commit- section 10.24 of Packages.txt for
further information.
o improve SortedCollection performance and ensures that the Directory
class>>#image method returns the *current* rather than the default
image path.
o fix a few bugs that were apparent when trying to extend base classes.
o bugfixes in the I/O subsystem, missed a few I/O available events if
many happened in a row.
o The #(a b) syntax for symbols inside Arrays has been obsoleted,
since 2.0 will parse it according to the ANSI standard.
o Calls to the virtual machine from plugins, and objects that are passed
as OOPs in call-outs, put OOPs in the incubator rather than in the
registry; call-outs are wrapped in incSavePointer/incRestorePointer.
o Command line parsing uses getopt and thus behaves exactly like other
programs (previously there were some discrepancies)
o Errors are signaled if a file specified on the command line is not found.
o Events can be passed to the Smalltalk image via an ObjectMemory class.
o Fixed bug in evalExpr and typeNameToOOP (gave a parse error).
o Removed the `make optimize' mess.
o Supported two additional ways to pass objects from Smalltalk to C:
#selfSmalltalk and #variadicSmalltalk, which are similar to respectively
#self and #variadic but pass raw object pointers to the C function
instead of attempting automatic conversions.
o #bindWith:... methods now accept other objects than Strings as parameters.
o Complete hierarchy of exceptions, with more meaningful error message
and possibility of more fine-grained exception handling.
o FileStream calls are not blocking and can preempt the current Process.
o FileStream handling has been rewritten; the buffering is now done
by Smalltalk code rather than implied in stdio. Unbuffered file
descriptor access (which used to be provided by UnixStream, defined
by the TCP package) is provided by FileStream's parent, FileDescriptor.
o Many methods in SystemDictionary were moved to ObjectMemory (a new class);
the old ones are now deprecated.
o SortedCollection's #includes:, #indexOf:, and #occurrencesOf: can
check for objects that could not be inserted in the collection
(e.g. an Integer in a collection of Strings). Fixed bugs in the same
methods related to sort blocks for which sort-block equality
(a <= b and b <= a) does not imply equality.
o Support for init blocks will be removed in a future version, as it
was replaced by the much more powerful ObjectMemory class.
o The SystemDictionary>>#enableGC: method does not exist any more, since
it only caused harm (the correct way to obtain its effect is to use the
incubator, since what we want is to unregister a batch of many objects
at the same time).
o The TCP library does not poll the socket for I/O, but relies on the
system's preemptive I/O facilities. As a result, the polling period
methods in Socket have disappeared.
o Usual round of bug fixes
New goodies:
o MD5 checksums
o Perl regular expressions
o Support for localization, internationalization and multiple character sets
/usr/include. They now get installed only in $(includedir). I have no
idea why the package installs the same set of header's in two
different locations anyway.