Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

5217 lines (3657 sloc) 176.872 kb
2007-07-20 Paolo Bonzini <bonzini@gnu.org>
* scripts/Package.st: prepare will only be in 2.95c. Honor
--dry-run there too.
2007-07-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/StreamOps.st: Oops.
2007-07-19 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Fix new syntax support.
2007-07-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Add #linesDo:.
* examples/Publish.st: Remove #linesDo:.
2007-07-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/Stream.st: Add #name, implement #fileIn in Smalltalk.
* kernel/StreamOps.st: Add #name.
2007-07-18 Paolo Bonzini <bonzini@gnu.org>
* scripts/Package.st: add --prepare option.
2007-07-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/Directory.st: Return '.' from #pathTo: if appropriate.
* kernel/SeqCollect.st: Fix #allButLast and #allButLast:.
2007-07-18 Stephen Compall <scompall@nocandysw.com>
* kernel/Behavior.st: Rename #compileString: to #primCompile: and
document; similarly with #compileString:ifError:. In evaluation
methods, remove vacuous "code isMemberOf: String" cases in
evaluation methods, remove some inlining, and fix the WriteStream
cases.
(#compile:, #compile:ifError:): Use #primCompile:.
(#evalString:to:, #evalString:to:ifError:): Use #compile: and
#compile:ifError:.
* kernel/Metaclass.st: Mention #primCompile:.
2007-07-18 Paolo Bonzini <bonzini@gnu.org>
* tests/classes.st: Test bad instance variable names.
* tests/strings.st: Add nice example from unsupported/Extensn.st.
* unsupported/Extensn.st: Delete.
* unsupported/IfError.st: Delete.
* unsupported/ParseErr.st: Delete.
* unsupported/Process1.st: Delete.
* unsupported/Process2.st: Rename to Process.st.
* unsupported/a.st: Delete.
* unsupported/ba.st: Delete.
* unsupported/bug.st: Delete.
* unsupported/bug2.st: Delete.
* unsupported/bug4.st: Delete.
* unsupported/er2.st: Delete.
* unsupported/self.st: Delete.
2007-07-17 Stephen Compall <scompall@nocandysw.com>
* kernel/Behavior.st: Use #compileString:ifError: instead of
#compileString: in #compile:ifError:. Remove vacuous "code class
== String" case in compile methods.
2007-07-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: Add hyperbolic functions.
2007-07-16 Paolo Bonzini <bonzini@gnu.org>
* examples/MiniDebugger.st: Use DebugTools.
* kernel/ContextPart.st: Add stub methods for #currentLine and
#debugger.
* kernel/ExcHandling.st: Use #stopInferior: if the process is
already being debugged.
* kernel/ProcSched.st: Add #activeDebugger.
* kernel/Process.st: Add #debugger.
2007-07-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Set a FileStream's name to the full path.
2007-07-13 Paolo Bonzini <bonzini@gnu.org>
* scripts/Convert.st: Add rewriting rules.
2007-07-13 Paolo Bonzini <bonzini@gnu.org>
* scripts/Convert.st: Print line number.
* kernel/CharArray.st: Add #lines.
2007-07-13 Paolo Bonzini <bonzini@gnu.org>
* scripts/Convert.st: Handle command-line options.
2007-07-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Getopt.st: Parse a lone "-" correctly.
2007-07-13 Stephen Compall <scompall@nocandysw.com>
* kernel/Dictionary.st: Explain that LookupTable is usually a
better choice.
* kernel/LookupTable.st: Expand the explanation of differences
with Dictionary.
2007-07-13 Paolo Bonzini <bonzini@gnu.org>
* scripts/Load.st: Add --version.
* scripts/Package.st: Add --version.
* scripts/Test.st: Add --version.
2007-07-12 Paolo Bonzini <bonzini@gnu.org>
* scripts/Convert.st: Give error or warning on undefined classes.
2007-07-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: Add a few messages from Squeak.
* kernel/SeqCollect.st: Add a few messages from Squeak.
2007-07-12 Paolo Bonzini <bonzini@gnu.org>
* tests/compiler.st: Add new testcase.
2007-07-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/StreamOps.st: Fix access to PeekableStream.
2007-07-11 Paolo Bonzini <bonzini@gnu.org>
* examples/MiniDebugger.st: Fix bitrot.
* kernel/CompildCode.st: Fix generation of source code line map.
2007-07-05 Paolo Bonzini <bonzini@gnu.org>
* scripts/Load.st: Add --kernel-directory.
* scripts/Test.st: Add --kernel-directory.
* scripts/Package.st: Add --kernel-directory, --load, --test.
* scripts/Browser.st: Move gst-blox.in here, remove shebang.
* kernel/File.st: Add #executable and #directory. Quote with "
on Windows.
2007-07-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Fix typo.
2007-07-04 Paolo Bonzini <bonzini@gnu.org>
* scripts/Package.st: Stricter option checking.
2007-07-04 Paolo Bonzini <bonzini@gnu.org>
* scripts/Package.st: Handle testing within the script.
2007-07-04 Paolo Bonzini <bonzini@gnu.org>
* scripts/Package.st: Execute commands within the script.
2007-07-04 Paolo Bonzini <bonzini@gnu.org>
* kernel/Directory.st: Add binding for mkdtemp.
* kernel/File.st: Add #mode/#mode:
* kernel/VFS.st: Add #mode/#mode: and replace isDir variables with it.
* packages/vfs/VFS.st: Add support for #mode.
2007-07-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Create absolute symlink if first component of path
differs.
* kernel/VFS.st: Don't fail if a symlink's destination does not exist.
2007-07-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Move most of the code in ExternalArchiveFileHandler
up to ArchiveFileHandler, modify ExternalArchiveFileHandler to be
ZipFileHandler and adjusting it for the new ArchiveFileHandler protocol,
add priorities to each class.
* kernel/Directory.st: Add #libexec.
2007-07-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Use VFSHandler>>#fullName.
* kernel/FileDescr.st: Add #setName:.
* kernel/VFS.st: Add fsName field to ArchiveFileHandler, replacing
command in ExternalArchiveFileHandler and making #vfsFor:name:
concrete in ArchiveFileHandler. Add #fullName, implement it
in ArchiveMemberHandler. Use #setName: when opening files.
2007-07-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/Regex.st: add #replaceRegex:with: and #replacingAllRegex:with:.
2007-06-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Turn baseDirectories into a block. Replace
#shouldReload: with #refresh:. Support <package> as root tag for
PackageDirectory>>#parse:. Include test package files in #allFiles
and #allDistFiles. Move #loaded up to PackageInfo. Prepend
the owner relativeDirectory to the test package's in #baseDirectories.
Add PackageLoader class>>#flush:.
* scripts/Finish.st: Flush PackageLoader.
* scripts/Package.st: Revamping, including full .star support,
--copy and --all-files options to --dist, proper handling of srcdir
paths, --vpath option to --list-files.
2007-06-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Move #pathTo:...
* kernel/Directory.st: ... here, and mimic what File>>#pathFrom: does.
2007-06-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Free stat into the RealFileHandler's finalizer.
Move responsibility of registering an object with VFS's ObjectMemory
handler to the object, rather than doing this in #addToBeFinalized.
Fixes race where stat was finalized before an object that was later
resurrected.
2007-06-27 Paolo Bonzini <bonzini@gnu.org>
* scripts/Convert.st: Emit Namespace creation when needed.
Emit form feeds here.
2007-06-26 Paolo Bonzini <bonzini@gnu.org>
* scripts/Package.st: Emit shell function prolog here.
2007-06-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Use #%.
* kernel/Behavior.st: Likewise.
* kernel/CStruct.st: Likewise.
* kernel/Collection.st: Likewise.
* kernel/CompildCode.st: Likewise.
* kernel/Directory.st: Likewise.
* kernel/Float.st: Likewise.
* kernel/Object.st: Likewise.
* kernel/Semaphore.st: Likewise.
* kernel/SeqCollect.st: Likewise.
* kernel/VFS.st: Likewise.
* tests/AnsiRun.st: Likewise.
* tests/ackermann.st: Likewise.
* tests/ary3.st: Likewise.
* tests/except.st: Likewise.
* tests/hash2.st: Likewise.
* tests/lists1.st: Likewise.
* tests/matrix.st: Likewise.
* tests/prodcons.st: Likewise.
* tests/sieve.st: Likewise.
2007-06-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Add #%.
2007-06-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Refactor using Command pattern.
2007-06-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Add #readStream.
* kernel/PkgLoader.st: Don't load packages that are already loaded.
* scripts/Load.st: Merge testing into here.
* sunit/SUnitScript.st: Put code for outputting test results here.
* scripts/Test.st: Use it.
2007-06-23 Stephen Compall <scompall@nocandysw.com>
* kernel/PkgLoader.st: Add class TestPackage, reifying its
relationship with its owner package, and use it for all <test/>
tags.
2007-06-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Store info in objects as it is in packages.xml,
resolving filenames at load time. Add DisabledPackage.
* scripts/Package.st: New.
2007-06-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Fix fullNameFor: returning root, add
printing methods and #with{Read,Write}StreamDo:.
* kernel/Directory.st: Support appending empty filename,
return newly created directory in #create:.
2007-06-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Add #test to StarPackage.
2007-06-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Set test package after loading the rest.
* compiler/STLoader.st: A proxy of a proxy is the proxy itself.
2007-06-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Set namespace for test package.
* scripts/Test.st: Check if SUnit is loaded.
2007-06-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Support test packages.
* scripts/Test.st: Load the test package if available.
2007-06-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: Fix #do:separatedBy:.
2007-06-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Concatenate starting from an empty string.
* kernel/PkgLoader.st: Implement beginning of STAR format.
2007-06-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Extract parsing of a single package in XML
format.
2007-06-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Implement composite pattern.
2007-06-19 Freddie Akeroyd <F.A.Akeroyd@rl.ac.uk>
Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Support mixed \ and / in a Windows path.
Support a file named "C:" in the middle of a Windows path (?).
2007-06-18 Paolo Bonzini <bonzini@gnu.org>
* tests/fileext.st: Run tests using Unix file separator.
2007-06-15 Freddie Akeroyd <F.A.Akeroyd@rl.ac.uk>
Paolo Bonzini <bonzini@gnu.org>
* kernel/Character.st: Add #isPathSeparator.
* kernel/Directory.st: Use it; add special cases for Win32 systems.
* kernel/File.st: Use it; add special cases for Win32 systems.
* kernel/FileDescr.st: Look for :// instead of :/ to distinguish URIs.
2007-06-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Dictionary.st: Add #findElementIndex:, remove subsumed methods.
* kernel/HashedColl.st: Add #findElementIndex:, use it.
* kernel/LookupTable.st: Add #findElementIndex:.
* kernel/WeakObjects.st: Add #findElementIndex:, remove subsumed
methods.
2007-06-11 Stephen Compall <scompall@nocandysw.com>
* kernel/WeakObjects.st: Reimplement some private and public
methods from HashedCollection for WeakSet, removing unneeded
HomedAssociations.
* kernel/HashedColl.st: Tweak #remove:ifAbsent:'s comment.
2007-06-10 Stephen Compall <scompall@nocandysw.com>
* examples/Publish.st: Add Basic>>#skipWhiteExceptNewlines:, and
use it in Basic>>#reformatComment:, thereby preserving multiple
newlines as they appear in comments.
* kernel/AbstNamespc.st: Reduce default size.
* kernel/RootNamespc.st: Same.
2007-06-10 Stephen Compall <scompall@nocandysw.com>
* kernel/AbstNamespc.st: Document that #addSubspace: answers the
new namespace, also referring to the argument.
* kernel/SeqCollect.st: Fix doc example for #join usage.
2007-06-10 Stephen Compall <scompall@nocandysw.com>
* kernel/WeakObjects.st: Add #includes: to WeakSet, as the
inherited method doesn't work with this class. Add
#identityIncludes: to WeakIdentitySet.
2007-06-11 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Add #pathFrom:to: and symlink creation.
* kernel/VFS.st: Add symlink creation.
2007-06-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/MappedColl.st: Add back #domain and #map.
* scripts/Convert.st: Add example method to convert from Squeak.
2007-06-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/Process.st: Terminate GCed processes.
2007-06-08 Paolo Bonzini <bonzini@gnu.org>
* scripts/Convert.st: Adjust for new STParsingDriver hierarchy.
* scripts/GenLibDoc.st: Likewise.
2007-06-08 Daniele Sciascia <daniele.sciascia@lu.unisi.ch>
* scripts/Convert.st: Track current Namespace for Evals.
2007-06-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Move TrappableEvent and CoreException to
the Kernel namespace.
* kernel/ExcHandling.st: Likewise.
* kernel/Autoload.st: Likewise for AutoloadClass.
* kernel/OtherArrays.st: Likewise for LargeArraySubpart.
2007-06-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Remove two archaeological mysteries.
2007-06-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/StreamOps.st: Add ConcatenatedStream>>#copyFrom:to:.
* scripts/Convert.st: Handle comments properly, using #formatAll:
and handling toplevel comments independently.
2007-06-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: Add #atAll:.
* kernel/Dictionary.st: Add #atAll:.
* kernel/SeqCollect.st: Add #atAll:.
* kernel/MappedColl.st: Add #atAll:, remove #domain/#map accessors,
rewrite #select:/#collect:/#reject:.
2007-06-06 Stephen Compall <scompall@nocandysw.com>
* kernel/Collection.st: Add #join: class method.
* kernel/ArrayColl.st: Specialize.
* kernel/SeqCollect.st: Add #join method.
2007-06-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/Continuation.st: Moved Continuation class from examples,
practically rewriting it in the meanwhile.
* kernel/Generator.st: Moved from examples.
2007-06-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Add #shutdown.
* kernel/Stream.st: Wrap #linesDo: and #do: in an exception handler.
* kernel/VFS.st: Use #linesDo:.
2007-06-04 Paolo Bonzini <bonzini@gnu.org>
* examples/Continuations.st: Adopt definitive API.
* examples/Gen3.st: Use Continuation>>#callCC, much faster. Rename to
Generator.st.
* examples/Generator.st: Rename to Gen3.st.
* kernel/ContextPart.st: Move the continuations example's #copyStack
method here, as #deepCopy.
2007-06-01 Paolo Bonzini <bonzini@gnu.org>
* scripts/GenLibDoc.st: Don't load examples/StreamFilter.st.
* examples/StreamFilter.st: Move...
* kernel/StreamOps.st: ... here. Clean up, add PeekableStream. Move
the Stream subclasses into the Kernel namespace.
* examples/Generator.st: Fix #peekFor: to return false at end of stream.
* examples/Gen2.st: Fix #peekFor: to return false at end of stream.
* examples/Gen3.st: Fix #peekFor: to return false at end of stream.
* kernel/DLD.st: Move RoundRobinStream into the Kernel namespace.
2007-06-01 Paolo Bonzini <bonzini@gnu.org>
* scripts/Getopt.st: New.
* scripts/Load.st: Add (and ignore) --test and --image-file.
* scripts/Test.st: Add (and ignore) --image-file.
2007-05-31 Paolo Bonzini <bonzini@gnu.org>
* kernel/Object.st: Remove stale method.
2007-05-31 Paolo Bonzini <bonzini@gnu.org>
* examples/Generator.st: Fix bug.
* examples/Gen2.st: Fix bug.
* examples/Gen3.st: Another variation on Generators, this time
continuation based (as funny as the context-based one, as fast as
the process-based one).
* examples/StreamFilter.st: Add cute Sieve of Erathostenes example.
* examples/Continuations.st: Add more tests, add #escape/#escapeDo:.
2007-05-31 Paolo Bonzini <bonzini@gnu.org>
* examples/Continuations.st: Add more funny stuff.
2007-05-31 Paolo Bonzini <bonzini@gnu.org>
* kernel/BindingDict.st: Check for capacity in #copyEmpty:,
add #copyEmptyForCollect:
* kernel/Collection.st: Add #copyEmptyForCollect:.
* kernel/SortCollect.st: Add #copyEmptyForCollect:.
* examples/LazyCollection.st: Add #readStream to the ArrayedCollection
proxy, don't use a stream when transforming the result of #collect:
into a collection.
2007-05-30 Paolo Bonzini <bonzini@gnu.org>
* examples/Generator.st: Use same example as Gen2.st.
* examples/Gen2.st: Provide same API as Generator.st.
2007-05-29 Paolo Bonzini <bonzini@gnu.org>
* examples/gdbm-c.st: Fix 64-bit cleanliness.
2007-05-29 Paolo Bonzini <bonzini@gnu.org>
* tests/geometry.st: Improve numerical stability.
2007-05-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/LargeInt.st: Fix division when GMP is absent.
2007-05-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: Change #asScaledDecimal:scale: to
#asScaledDecimal:radix:scale:.
2007-05-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Support nil superclass more thoroughly.
* kernel/Builtins.st: Move #instanceVariableNames: to
ClassDescription.
* kernel/Float.st: Print exponent for 1.0e/1.0q. The zillionth
printing bug.
* kernel/ScaledDec.st: Remove initial space.
2007-05-25 Daniele Sciascia <sciascid@lu.unisi.ch>
* scripts/Convert.st: New.
2007-05-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/Class.st: Require Parser to file out.
* kernel/ClassDesc.st: Require Parser to file out.
2007-05-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/UndefObject.st: Fix bug in #subclass:
* kernel/Metaclass.st: Fix bug in sending #subclass: to nil
2007-05-24 Paolo Bonzini <bonzini@gnu.org>
* tests/floatmath.st: Test printing on hexadecimal patterns.
2007-05-24 Paolo Bonzini <bonzini@gnu.org>
* examples/gdbmtests.st: Remove created files.
2007-05-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Add #shape:. Support #word shape.
* kernel/Builtins.st: Add #shape: and instanceVariableNames: for
Behavior.
* kernel/Class.st: Remove #shape:. Use #word shape.
* kernel/Metaclass.st: Support #word shape.
* kernel/UndefObject.st: Use #word shape.
2007-05-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: Don't use #basicSize in #copyWith:.
* kernel/Dictionary.st: Replace #primSize with #capacity.
* kernel/HashedColl.st: Replace #primSize with #capacity.
* kernel/LookupTable.st: Replace #primSize with #capacity.
2007-05-24 Paolo Bonzini <bonzini@gnu.org>
* scripts/Test.st: Fix error output.
2007-05-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Use rational arithmetic to print Floats.
2007-05-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/Class.st: Don't use TokenStream.
* kernel/Metaclass.st: Don't use TokenStream.
* kernel/TokenStream.st: Move it...
* examples/TokenStream.st: ... here.
2007-05-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Fraction.st: Fix multiplication/division by zero.
* numerics/Basic.st: Fix rounding.
2007-05-22 Paolo Bonzini <bonzini@gnu.org>
* numerics/NumericsAdds.st: Make all tests pass.
* numerics/NumericsTests.st: Update usage of SUnit logging API.
2007-05-21 Paolo Bonzini <bonzini@gnu.org>
* examples/Continuations.st: Add the Amb class from seaside and
related SUnit tests.
2007-05-21 Paolo Bonzini <bonzini@gnu.org>
* examples/gdbm-c.st: Fix finalization bug. Move tests from here...
* examples/gdbm.st: ... and here...
* examples/gdbmtests.st: ... to here.
2007-05-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Add public #fileIn method to Package.
2007-05-21 Paolo Bonzini <bonzini@gnu.org>
* examples/md5tests.st: New.
2007-05-18 Stephen Compall <scompall@nocandysw.com>
* examples/zlibtests.st: New file split from examples/zlib.st.
Convert to an SUnit test.
2007-05-18 Paolo Bonzini <bonzini@gnu.org>
* scripts/Load.st: Rewrite.
* scripts/Test.st: Rewrite.
* scripts/Reload.st: Replace with...
* scripts/gst-reload.sh: ... this script.
2007-05-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/PipeStream.st: New.
* kernel/zlib.st: Use it.
2007-05-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/ByteStream.st: Support #nextPutAll: of Streams into Streams.
* kernel/Collection.st: Add #isSequenceable.
* kernel/FileDescr.st: Add #next:putAll:startingAt:. Support
#nextPutAll: of Streams into Streams. Fix #next:
* kernel/FileStream.st: Support #nextPutAll: of Streams into Streams.
* kernel/SeqCollect.st: Add #isSequenceable.
* kernel/Stream.st: Add #isSequenceable. Support #nextPutAll: of
Streams into Streams.
2007-05-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/PosStream.st: Fix comment of #species.
* kernel/Stream.st: Fix #nextHunk.
* examples/zlib.c: New.
* examples/zlib.st: New.
2007-05-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Fix #kindOfSubclass.
2007-04-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Move Class methods...
* kernel/Class.st: ... here.
2007-04-17 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Accept new syntax.
2007-04-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Convert to new syntax.
2007-04-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Move most builtins...
* kernel/AbstNamespc.st: ...here.
* kernel/ArrayColl.st: ... and here,
* kernel/Behavior.st: ... and here,
* kernel/BlkClosure.st: ... and here,
* kernel/ByteArray.st: ... and here,
* kernel/CFuncs.st: ... and here,
* kernel/CObject.st: ... and here,
* kernel/CharArray.st: ... and here,
* kernel/Character.st: ... and here,
* kernel/CompildCode.st: ... and here,
* kernel/CompildMeth.st: ... and here,
* kernel/CompiledBlk.st: ... and here,
* kernel/ContextPart.st: ... and here,
* kernel/FileDescr.st: ... and here,
* kernel/Float.st: ... and here,
* kernel/FloatD.st: ... and here,
* kernel/FloatE.st: ... and here,
* kernel/FloatQ.st: ... and here,
* kernel/HashedColl.st: ... and here,
* kernel/LargeInt.st: ... and here,
* kernel/Memory.st: ... and here,
* kernel/Namespace.st: ... and here,
* kernel/ObjMemory.st: ... and here,
* kernel/Object.st: ... and here,
* kernel/ProcSched.st: ... and here,
* kernel/Process.st: ... and here,
* kernel/Semaphore.st: ... and here,
* kernel/SmallInt.st: ... and here,
* kernel/Stream.st: ... and here,
* kernel/String.st: ... and here,
* kernel/Symbol.st: ... and here,
* kernel/SysDict.st: ... and here,
* kernel/Time.st: ... and here,
* kernel/UniChar.st: ... and here,
* kernel/UniString.st: ... and here,
2007-04-17 Paolo Bonzini <bonzini@gnu.org>
* tests/mutate.st: Finish converting to new syntax.
2007-04-11 Paolo Bonzini <bonzini@gnu.org>
Thomas Girard <thomas.g.girard@free.fr>
* libgst/vm.def: Fix pipelining typo.
* libgst/interp-bc.inl: Fix pipelining typo.
2007-04-11 Paolo Bonzini <bonzini@gnu.org>
* tests/heapsort.st: Use class variables.
* tests/random-bench.st: Use class variables.
2007-04-11 Paolo Bonzini <bonzini@gnu.org>
* kernel/ClassDesc.st: Add #import:.
* tests/blocks.st: Convert to new syntax.
* tests/chars.st: Convert to new syntax.
* tests/classes.st: Convert to new syntax.
* tests/cobjects.st: Convert to new syntax.
* tests/compiler.st: Convert to new syntax.
* tests/dates.st: Convert to new syntax.
* tests/delays.st: Convert to new syntax.
* tests/except.st: Convert to new syntax.
* tests/exceptions.st: Convert to new syntax.
* tests/fibo.st: Convert to new syntax.
* tests/fileext.st: Convert to new syntax.
* tests/floatmath.st: Convert to new syntax.
* tests/geometry.st: Convert to new syntax.
* tests/getopt.st: Convert to new syntax.
* tests/hash.st: Convert to new syntax.
* tests/hash2.st: Convert to new syntax.
* tests/heapsort.st: Convert to new syntax.
* tests/intmath.st: Convert to new syntax.
* tests/lists.st: Convert to new syntax.
* tests/lists1.st: Convert to new syntax.
* tests/lists2.st: Convert to new syntax.
* tests/matrix.st: Convert to new syntax.
* tests/methcall.st: Convert to new syntax.
* tests/mutate.st: Convert to new syntax.
* tests/nestedloop.st: Convert to new syntax.
* tests/objdump.st: Convert to new syntax.
* tests/objects.st: Convert to new syntax.
* tests/objinst.st: Convert to new syntax.
* tests/processes.st: Convert to new syntax.
* tests/prodcons.st: Convert to new syntax.
* tests/random-bench.st: Convert to new syntax.
* tests/untrusted.st: Convert to new syntax.
* tests/sets.st: Convert to new syntax.
* tests/sieve.st: Convert to new syntax.
* tests/strcat.st: Convert to new syntax.
* tests/strings.st: Convert to new syntax.
2007-04-11 Paolo Bonzini <bonzini@gnu.org>
* tests/compiler.st: Check that compiling a method does not
capture the temporaries dictionary.
* tests/exceptions.st: Wrap into block when evaluating multiple
statements together is important.
* tests/objects.st: Likewise.
* tests/untrusted.st: Likewise.
2007-04-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/ClassDesc.st: Fix bugs in previous checkin to this file.
* kernel/Metaclass.st: Remove overrides where bugs were fixed
directly in the superclass.
2007-03-29 Stephen Compall <s11@member.fsf.org>
* kernel/Collection.st: Add and describe class from: protocol.
* kernel/Array.st: Specialize from:.
* kernel/Dictionary.st: Same.
2007-03-29 Stephen Compall <s11@member.fsf.org>
* kernel/Dictionary.st: Use a smaller default size in new.
* kernel/HashedColl.st: Treat new:'s argument as a requested
capacity.
2007-03-28 Palo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Force MutationError's creator to be nil.
* kernel/Builtins.st: Add #subclass:, always return class from
class creation stubs.
* kernel/Class.st: Add #shape: and #subclass:.
* kernel/ClassDesc.st: Add #instanceVariableNames:.
* kernel/Metaclass.st: Remove #instanceVariableNames:, add
#name:environment:subclassOf: (used by Class>>#subclass:).
* kernel/UndefObject.st: Add #subclass:.
* tests/mutate.st: Add tests for #subclass:.
2007-03-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Add exclamation mark.
2007-03-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/HashedColl.st: Add #withAll:.
2007-03-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/Integer.st: Fix infinite loop in #binomial: when anInteger
is 0 or self.
2007-03-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Point out that #lineDelimiter is not usable
on this class.
* kernel/Dictionary.st: Fix #addAll:, suggested by Janis Rucis.
2007-03-20 Paolo Bonzini <bonzini@gnu.org>
* tests/compiler.st: Test <category: ...> pragma.
2007-03-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/ObjDumper: Fix typo.
2007-03-19 Paolo Bonzini <bonzini@gnu.org>
* examples/Application.st: Delete.
* examples/Debugger.st: Delete.
* examples/RandomInt.st: Delete.
* examples/DeltaBlue.st: Convert class variables to class-instance.
* kernel/Regex.st: Likewise.
* kernel/DLD.st: Likewise.
* kernel/ObjDumper.st: Likewise.
* kernel/PkgLoader.st: Likewise.
* kernel/Random.st: Likewise.
* kernel/ValueAdapt.st: Likewise.
* kernel/VFS.st: Likewise.
* examples/RegExp.st: Remove useless debugging code.
* kernel/ContextPart.st: Remove unused class variable.
2007-03-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/Regex.st: Fix calls to #interval.
2007-03-09 Paolo Bonzini <bonzini@gnu.org>
* scripts/Finish.st: Fix DESTDIR installation.
2007-03-06 Paolo Bonzini <bonzini@gnu.org>
* examples/Continuations.st: Make more compatible with Seaside's
implementation.
2007-02-10 Stephen Compall <scompall@nocandysw.com>
* kernel/AbstNamespc.st: Make removeSubspace: public, change its
argument to be a symbol rather than a namespace, and don't make it
a subspace of Smalltalk.
2007-02-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Directory.st: Add #kernel and #userKernel, deprecate
#systemKernel and #localKernel.
* kernel/VFS.st: Adjust.
* kernel/PkgLoader.st: Adjust.
* kernel/SysDict.st: Add #imageLocal.
* scripts/Finish.st: Get `old' file path from ImageFilePath.
2007-02-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Use #remove:ifAbsent:.
2007-02-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Remove #allSubinstancesDo: on quit, instead
register open files in a WeakIdentitySet.
* kernel/Object.st: Store dependencies in a WeakKeyIdentityDictionary.
* kernel/WeakObjects.st: Don't transform dependencies into a
WeakKeyIdentityDictionary here.
2007-02-04 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Remove debugging statement.
2007-02-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Speed up #asInteger by 2x.
2007-01-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Really fix bug in printing floating point numbers.
2007-01-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/LargeInt.st: Rename #trailingZeros to #lowBit.
* kernel/SmallInt.st: Rename #trailingZeros to #lowBit.
* kernel/Integer.st: Rename #trailingZeros to #lowBit.
* kernel/Float.st: Fix bug in printing exact floating-point numbers.
Support gradual underflow in #raisedToInteger:.
* tests/floatmath.st: Add accuracy tests.
* tests/floatmath.ok: Adjust.
2007-01-28 Paolo Bonzini <bonzini@gnu.org>
Nicolas Cellier <ncellier@ifrance.com>
* kernel/Float.st: Rewrite #truncated and #asExactFraction.
* kernel/Fraction.st: Use #asFloatD in #hash. Rewrite #asFloat:.
* kernel/LargeInt.st: Rewrite #asFloat:. Add #trailingZeros.
* kernel/SmallInt.st: Add #trailingZeros.
* kernel/Integer.st: Add #trailingZeros.
* kernel/MappedColl.st: Use map size as collection size.
* tests/floatmath.st: Add accuracy tests.
* tests/floatmath.ok: Adjust.
2007-01-27 Paolo Bonzini <bonzini@gnu.org>
* tests/intmath.st: Add one regression test.
* tests/intmath.ok: Adjust.
2007-01-26 Stephen Compall <scompall@nocandysw.com>
* kernel/Dictionary.st: Use aBlock directly in associationsDo:.
* kernel/AbstNamespc.st: Likewise with subspacesDo:.
2007-01-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkClosure.st: Override #copy rather than #shallowCopy.
2007-01-22 Stephen Compall <scompall@nocandysw.com>
* kernel/Fraction.st: Print denominator for storeOn: as
denominator, not numerator as denominator.
Reported by J Pfersich.
2007-01-14 Stephen Compall <scompall@nocandysw.com>
* kernel/HashedColl.st: Add copyEmpty, using primSize instead of
basicSize. Fixes size-doubling for LookupTable.
2007-01-09 Stephen Compall <scompall@nocandysw.com>
* kernel/Directory.st: Pass Directory entries to
#allFilesMatching:do:'s block argument if they match aPattern.
2007-01-02 Paolo Bonzini <bonzini@gnu.org>
Stephen Compall <s11@member.fsf.org>
* kernel/FileSegment.st: Add #copyFrom:to:.
* kernel/Class.st: Fix bugs in pragma handlers.
2007-01-02 Mike Anderson <gnu-smalltalk@gingerbread.plus.com>
* kernel/Builtins.st: Fix Character>>#asciiValue: pasto.
2006-12-31 Paolo Bonzini <bonzini@gnu.org>
Stephen Compall <s11@member.fsf.org>
* kernel/FileDescr.st: Fix #copyFrom:to:.
* kernel/PosStream.st: Make the same method 0-based.
2006-12-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Initialize file system registry lazily.
2006-12-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Use dependency to invoke #release instead of
#allSubinstancesDo:
2006-12-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Fix #nextPutByte:.
* kernel/FileStream.st: Remove it and #nextPutByteArray:.
2006-12-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/CFuncs.st: Accept that the address is nil.
2006-12-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Add #divExact: primitive.
* kernel/Float.st: Use it when dividing by a GCD.
* kernel/Fraction.st: Use it when dividing by a GCD.
* kernel/Integer.st: Use it when dividing by a GCD.
* kernel/LargeInt.st: Use it when dividing by a GCD.
* kernel/ScaledDec.st: Use it when dividing by a GCD.
2006-12-05 Paolo Bonzini <bonzini@gnu.org>
*** Version 2.3 released.
2006-12-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: Fix coercion in previous checkin.
2006-12-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: Don't use Floats in #rounded and use
#rounded in #roundTo:.
2006-12-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildMeth.st: Fix typo in asynchronous call-outs.
* tests/cobjects.st: Test it.
2006-11-30 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Execute hooks before/after snapshots too.
Add release method to get rid of DESTDIRs.
2006-11-27 Paolo Bonzini <bonzini@gnu.org>
* scripts/Finish.st: Get rid of all DESTDIRs.
2006-11-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/Regex.st: Move creation of MatchingRegexResults object to C.
2006-11-21 Paolo Bonzini <bonzini@gnu.org>
* examples/gdbm.c: Add GPL exception.
* examples/md5.c: Add GPL exception.
2006-11-19 Paolo Bonzini <bonzini@gnu.org>
* tests/quit.st: New.
2006-11-15 Brad Watson <whitebearded1@yahoo.com>
* examples/ncurses.st: New.
2006-11-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/CFuncs.st: Rename #asyncCallFrom: and #callFrom:into: into
#asyncCall: and #callInto:.
* kernel/Class.st: Provide <cCall: 'function'> pragmas.
* kernel/CompildCode.st: Change special selector #callFrom:into:
into #callInto:.
* kernel/CompildMeth.st: Do not materialize context in the call-outs.
Add support for the <cCall: 'function'> pragma.
* kernel/ScaledDec.st: Fix bug in previous check-in.
2006-11-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Fix typo.
* kernel/ScaledDec.st: Compute GCD here for #asFraction.
2006-11-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Rewrite printing to round correctly and never
divide a floating-point number.
* kernel/Number.st: Fix problems in #floorLog:, add #ceilingLog:.
Never divide.
* kernel/Integer.st: Likewise.
* tests/floatmath.st: Test rounding when printing.
* tests/geometry.st: Fix test vector to test the correct rounding.
2006-11-04 Paolo Bonzini <bonzini@gnu.org>
* kernel/CObject.st: Use #numberOfElements rather than #numElements.
2006-11-04 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Fix primitive number for ByteArray
class>>#fromCData:size:.
2006-11-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/LargeInt.st: Fix method comments.
2006-11-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkClosure.st: Mark #on:do: contexts as unwinding
* kernel/ProcSched.st: Remove debug code.
* kernel/Process.st: Fix parameter names in #on:at:suspend:. Add
#context and use it in #makeUntrusted:. Wrap process not only
in an #on:do:, but also in an #ensure: block.
* tests/exceptions.st: Test exception raising within a process.
2006-11-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkClosure.st: Do not fail if #on:do: has something else
than an exception passed to it.
2006-10-31 Paolo Bonzini <bonzini@gnu.org>
* kernel/Stream.st: Put pastEnd here...
* kernel/PosStream.st: ... from here.
2006-10-31 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Support raising WrongClass without setting
validClasses first.
2006-10-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Add missing period in #isNumeric.
Patch by J Pfersich.
2006-10-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Implement isDirectory by accessing struct stat.
2006-10-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Run #asFraction loop after stripping the exponent.
* kernel/FloatD.st: Fix comment. Reported by J Pfersich.
* kernel/FloatE.st: Likewise.
* kernel/FloatQ.st: Likewise.
2006-10-25 Paolo Bonzini <bonzini@gnu.org>
* examples/MiniInspector.st: Test #atEnd before reading next line.
2006-10-25 Paolo Bonzini <bonzini@gnu.org>
* examples/Prolog.st: Enjoy the wonders of polymorphism.
2006-10-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Make #numberOfCharacters notYetImplemented
and #asUnicodeString subclassResponsibility.
* kernel/String.st: Remove #numberOfCharacters.
2006-10-16 Paolo Bonzini <bonzini@gnu.org>
* examples/Methods.st: New.
2006-10-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/String.st: Fix storeString of read-only literals.
2006-10-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/Regex.st: Fix Regex>>#asString, reported by J Pfersich.
2006-10-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/ObjMemory.st: Wait for the completion of other processes
before quitting.
2006-09-29 Paolo Bonzini <bonzini@gnu.org>
* examples/LazyCollect.st: Fix reference to deleted class.
2006-09-22 Paolo Bonzini <bonzini@gnu.org>
* examples/regex.st: Move ...
* kernel/Regex.st: ... here. Move private classes into Kernel
namespace. Add documentation.
2006-09-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Add UnicodeString>>#hash.
* kernel/UniString.st: Add #fromString: and #encoding methods.
* kernel/CharArray.st: Add #=, #encoding, #asUnicodeString.
* kernel/String.st: Add fast version of #=, remove #asUnicodeString.
2006-09-15 Paolo Bonzini <bonzini@gnu.org>
* examples/LazyCollect.st: Refactor.
2006-09-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Use #readStream to convert a WriteStream
into a ReadStream.
* kernel/PosStream.st: Add #readStream.
* kernel/RWStream.st: Replace #useWholeStream with new method
#limit:. Define #on:from:to:.
* kernel/ReadStream.st: Optimize #on:from:to: with new method
#initCollection:limit:. Remove useless #reverseContents.
* kernel/WriteStream.st: Add #readStream.
* kernel/File.st: Create new file in #touch if not existing.
2006-09-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/LinkedList.st: Fix quadraticness of #includes:.
2006-09-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Add methods to wrap utime and use them in #touch.
* kernel/VFS.st: Add methods to wrap utime.
* kernel/FileStream.st: Fix typo.
2006-09-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Reinstate skipping internal contexts.
2006-09-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Add checks to "Namespace current:"
* kernel/AnsiExcept.st: Accept classes in addition to VariableBindings.
2006-09-07 Paolo Bonzini <bonzini@gnu.org>
* scripts/Finish.st: Accept the full $(DESTDIR)$(pkgdatadir)
and $(pkgdatadir).
2006-09-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Add #pathFor:ifNone:.
* kernel/Directory.st: Use it in #create:.
2006-07-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Add #keys.
* kernel/MappedColl.st: Likewise.
2006-07-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/MappedColl.st: Don't use #species.
* kernel/SeqCollect.st: Don't use #species.
* kernel/ArrayColl.st: Don't use #species.
2006-07-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/Getopt.st: New.
* tests/getopt.st: New.
2006-07-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Define Stream>>#fileIn and #fileInLine:fileName:at:.
* kernel/FileDescr.st: Redefine #nextHunk.
* kernel/FileStream.st: Fix bug in #nextHunk. Remove file-in methods.
* kernel/Stream.st: Define #nextHunk.
2006-07-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Add four-argument #fileOp: primitive.
* kernel/FileDescr.st: Look ahead one character in #atEnd for pipes.
* kernel/FileSegment.st: Use FileStream>>#copyFrom:to:.
* kernel/FileStream.st: Rewrite buffer flushing and collection
read/write. Do not use any fileOp: directly except for pread/pwrite
(which are not used for pipes -- see kernel/FileDescr.st) and
fileIn (which will disappear before the release).
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Add #utf32 shape.
* kernel/Builtins.st: Recognize ranges correctly for #character
and #utf32 shapes. Implement CharacterArray>>#valueAt: and
#valueAt:put: as primitives. Add UnicodeCharacter methods and
distinguish Character class>>#codePoint: from #value:. Adjust
instance variable name for character. Use specific primitive
for Character equality.
* kernel/ByteArray.st: Do not implement #asUnicodeString.
* kernel/CharArray.st: Remove #basicAt:/#basicAt:put:. Add
(abstract) #numberOfCharacters and #printOn:/#displayOn:/#storeOn:.
* kernel/Character.st: Use separate tables for classification
and case mapping. Answer false for #isIdentity. Change name
of instance variable. Add #asUnicodeString. Adjust printing
to support Unicode characters.
* kernel/Class.st: Document #utf32 shape.
* kernel/Collection.st: Add #asString and #asUnicodeString.
* kernel/Integer.st: Use #codePoint: in #asCharacter.
* kernel/ObjDumper.st: Add UnicodeCharacter storing. Add support
for #utf32 shape.
* kernel/PosStream.st: Add #isPositionable.
* kernel/Stream.st: Add #isPositionable and #isUnicode.
* kernel/String.st: Do not implement #asUnicodeString. Add printing
methods removed from CharacterArray. Add #byteAt:/#byteAt:put:.
* kernel/UndefObject.st: Document #utf32 shape.
* kernel/UniChar.st: New.
* kernel/UniString.st: New.
* tests/Ansi.st: Raise the codePoint needed to get an Error.
* tests/chars.st: Only test ASCII characters for #asCharacter.
2006-07-10 Paolo Bonzini <bonzini@gnu.org>
* examples/regex.st: Define with correct shape.
2006-07-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/Rectangle.st: Fix incorrect checkin.
2006-07-07 Paolo Bonzini <bonzini@gnu.org>
* examples/LazyCollection.st: New.
2006-07-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/Point.st: Fix #min: and #max:.
* kernel/Rectangle.st: Deal more gracefully with non-normalized
rectangles.
2006-04-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/OrderColl.st: Split part of #removeAtIndex: into
#basicRemoveAtIndex:.
* kernel/SortCollect.st: Rename #removeAtIndex: to #basicRemoveAtIndex:.
2006-04-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/SortCollect.st: Provide #removeAtIndex:.
2006-01-02 Paolo Bonzini <bonzini@gnu.org>
* examples/regex.st: Fix methods expecting nil rather than
FailedMatchRegexResults.
2005-11-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Add #character shape.
* kernel/Builtins.st: Copy implementation of #at: and friends from
Object to String. Add here a stub implementation of
#variable:subclass:instanceVariableNames:classVariableNames:
poolDictionaries:category:.
* kernel/Class.st: Fix comment to add #character shape.
* kernel/ObjDumper.st: Look for #character shape instead of String.
* kernel/String.st: Use #character shape.
* kernel/Symbol.st: Use #character shape.
* kernel/UndefObject.st: Fix comment to add #character shape.
2005-11-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Optimize #asInteger.
2005-11-22 Paolo Bonzini <bonzini@gnu.org>
* examples/shell: Change the invocation method once more.
2005-11-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Add `features' instance variables and accessors
to the Package class. Use it in #fileInPackage: and when computing
the dependencies. Fix the printXmlOn: method. Parse the <provides>
tag when reading the packages file.
2005-11-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Give the current timezone to the file timestamps.
2005-10-04 Paolo Bonzini <bonzini@gnu.org>
* examples/regex.c: Constify bm_search.
2005-09-05 Paolo Bonzini <bonzini@gnu.org>
* examples/StreamFilter.st: Reimplement #peek and add #peekFor: to
ConcatenedStream.
* kernel/Character.st: new method #isDigit:.
* kernel/Integer.st: new method #readFrom:radix:.
2005-08-30 Paolo Bonzini <bonzini@gnu.org>
* tests/geometry.st: Make more resilient to #basicHash vagaries.
* tests/geometry.ok: Adapt.
2005-08-28 Paolo Bonzini <bonzini@gnu.org>
* examples/Continuations.st: New.
2005-08-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/Interval.st: Fix #= after 2005-05-27 changes.
2005-08-23 Mike Anderson <msasjf@yahoo.co.uk>
* kernel/FileDescr.st: Fix thinkos.
2005-08-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Add #isSymbolicLink and lstat.
* kernel/File.st: Add #isSymbolicLink.
* kernel/Directory.st: Add #allFilesMatching:do: and #fileAt:,
return File or Directory from #at:.
* kernel/Stream.st: Add #linesDo:.
2005-08-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Do my math correctly.
2005-08-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Use x - x == 0 to implement #isFinite.
2005-07-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/ClassDesc.st: Add #fileOutHeaderOn:
* kernel/Class.st: Remove it.
2005-06-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: remove #...stream methods.
* kernel/SeqCollect.st: move them here.
2005-06-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/DLD.st: Restart search from the last library where
we found a function.
2005-06-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/Interval.st: Fix pasto.
2005-06-01 Paolo Bonzini <bonzini@gnu.org>
* examples/regex.st: Always return a RegexResults object from =~.
Create a small hierarchy rooted at RegexResults.
2005-05-27 Paolo Bonzini <bonzini@gnu.org>
Mike Anderson <msasjf@yahoo.co.uk>
* kernel/Interval.st: Add #first, #last, #increment.
* kernel/SeqCollect.st: Fix exceptional case in #replaceFrom:to:with:.
* examples/re.c (): Return a struct pre_registers * from reh_search.
New reh_free_registers function, register it.
* examples/regex.st: New class CRegexRegisters, modify all the methods
to use it. Name the C call-out method #searchRegexInternal:from:to:.
New class RegexResults, return it from #searchRegex:from:to:,
#searchRegex:startingAt:, #searchRegex:.
2005-04-07 Mike Anderson <msasjf@yahoo.co.uk>
* kernel/PosStream.st: Fix bug in #peekFor:.
2005-03-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/Class.st: Implement "active" method annotations and
C-call method annotations.
* kernel/CompildMeth.st: Implement C-call method annotations.
* kernel/ObjMemory.st: Call "Class initialize".
* examples/gdbm-c.st: Switch to new C-call description.
* examples/md5.st: Likewise.
* examples/regex.st: Likewise.
* kernel/Behavior.st: Likewise.
* kernel/CFuncs.st: Likewise.
* kernel/ClassDesc.st: Likewise.
* kernel/DLD.st: Likewise.
* kernel/Directory.st: Likewise.
* kernel/File.st: Likewise.
* kernel/VFS.st: Likewise.
2005-03-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: add #nextPutAllFlush:
2005-02-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Add comments to undocumented methods.
2005-02-02 Paolo Bonzini <bonzini@gnu.org>
* examples/gdbm.c: Do not include malloc.h.
2005-02-02 Paolo Bonzini <bonzini@gnu.org>
* scripts/GenLibDoc.st: Remove debugging statement.
2004-11-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Directory.st: support passing an absolute path as the
file name in Directory>>#append:to:.
* kernel/PkgLoader.st: support source files in multiple directories.
2004-09-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: add #fileIn method to Package, and
support namespaces.
2004-09-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/CObject.st: implement #narrow for UndefinedObject.
2004-01-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: redefine #min: and #max: to
handle NaNs and negative zeros.
* kernel/Float.st: likewise.
* kernel/Number.st: add #arcTan:
* kernel/Point.st: use it
2004-01-08 Paolo Bonzini <bonzini@gnu.org>
* examples/DeltaBlue.st: New file.
2003-12-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Be quiet if OutputVerbosity == 0.
2003-11-28 Paolo Bonzini <bonzini@gnu.org>
* examples/Sync.st: Monitor replaced with simpler
and much faster code.
2003-11-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildCode.st: New bytecodes 25 and 26
(#javaAsInt, #javaAsLong).
2003-11-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Support multiple shapes.
* kernel/Builtins.st: Support multiple shapes.
* kernel/Class.st: Support multiple shapes.
* kernel/Metaclass.st: Support multiple shapes.
* kernel/ObjDumper.st: Support multiple shapes.
* kernel/UndefObj.st: Support multiple shapes.
* kernel/ByteStream.st: Support 64-bit I/O.
2003-11-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Use FileDescriptor>>#checkError.
* kernel/FileDescr.st: Add a #checkError method.
* kernel/FileStream.st: Use FileDescriptor>>#checkError.
2003-11-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Character.st: Add a dummy #asCharacter method.
2003-11-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildCode.st: Don't abridge classes (printing
"a XXX class" instead of "XXX" does not abridge much...)
2003-11-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: New exception NotEnoughElements
* kernel/Stream.st: Raise it from #next:
* kernel/SeqCollect.st: Move stream creation methods...
* kernel/ArrayColl.st: ...here.
2003-11-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/HashedColl.st: Add more calls to #beConsistent.
* kernel/LookupTable.st: Likewise.
* kernel/WeakObjects.st: Rename #cleanup to #beConsistent.
2003-10-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/SysDict.st: New method #hostSystem.
2003-10-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Correctly reinstate exception
handlers on #return and #return:.
* kernel/PkgLoader.st: Fix bug in recognizing already loaded
packages.
* kernel/SysDict.st: Accept a String in #hasFeatures:
2003-10-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/ContextPart.st: Correctly find exception handlers
when unwinding, as in
[ [^self] ensure: [ self halt ] ] on: Halt do: [ :ex | ]
2003-09-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/Metaclass.st: Refactor parsing of variable
names out of the class creation methods.
2003-09-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/UndefObject.st: Add #printOn:in:
2003-09-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: Fix bug in
#copyReplaceFrom:to:with:
2003-09-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildCode.st: Remove unused callbacks for
disassembling bytecodes. Dispatch superoperators.
Right align bytecode indices.
2003-09-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildMeth.st: Print correctly if descriptor
is nil.
2003-09-05 Paolo Bonzini <bonzini@gnu.org>
* compiler/STLoaderObjs.st: Create link from namespace
to itself.
* kernel/CompildCode.st: Adapt instruction decoder
to new bytecode set.
2003-08-25 Paolo Bonzini <bonzini@gnu.org>
* examples/Sync.st: Fix #forSeconds: --> #forMilliseconds:
in Watchdog.
* kernel/Autoload.st: Add a method to get the class of
the autoloaded class, because #class is not optimized
by the virtual machine anymore.
2003-08-16 Paolo Bonzini <bonzini@gnu.org>
* examples/Generators.st: New file
2003-08-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/Security.st: New file
* kernel/Class.st: Implement securityPolicy accessors
* kernel/Behavior.st: Likewise
* kernel/ContextPart.st: Implement security checks
2003-07-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Call #narrow in C call-outs
* kernel/CObject.st: Implement #narrow.
2003-07-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/LookupTable.st: Implement #hash.
* kernel/Character.st: Make it not indexed, reimplement
asciiValue & co.
* kernel/Stream.st: Replace #| with #or:
* kernel/FileStream.st: Signal EndOfStream appropriately,
reimplement #nextLine more efficiently, inline some tests.
* kernel/FileDescr.st: Signal EndOfStream appropriately
2003-07-10 Paolo Bonzini <bonzini@gnu.org>
* tests/compiler.st: Add test case
2003-07-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Do some optimization
* kernel/BindingDict.st: Inline hash lookup into #findIndex:
* kernel/Dictionary.st: Inline hash lookup into #findIndex:
* kernel/HashedColl.st: make #findIndex: an abstract method
* kernel/IdentDict.st: Inline hash lookup into #findIndex:
* kernel/IdentitySet.st: Inline hash lookup into #findIndex:
* kernel/LookupTable.st: Inline hash lookup into #findIndex:
* kernel/Set.st: Inline hash lookup into #findIndex:
* kernel/WeakObjects.st: Inline hash lookup into #findIndex:
2003-07-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/ObjMemory.st: Initialize Processor.
* kernel/Processor.st: Fire GC process.
* unsupported/profile.st: Show how to write a profiler in 30
lines of code.
2003-07-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/Integer.st: Make printing code faster
* kernel/LargeInt.st: Make printing code faster
2003-07-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildCode.st: Try to avoid invalidating the
method cache when a new method is created.
* kernel/CompildMeth.st: Support creation of user-defined
methods, and #valueWithReceiver:withArguments:
2003-06-30 Paolo Bonzini <bonzini@gnu.org>
* compiler/STLoader.st: Fix fallout of change to variable
lookup
2003-06-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Add #touch
2003-06-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/LookupTable.st: Remove values instance variable,
store key/value pairs in adjacent slots.
* kernel/WeakObjects.st: Put values instance variable here
* kernel/CompildMeth.st: Make attribute-accessing methods
use MethodInfo
* kernel/MethodInfo.st: Make MethodInfo indexable
2003-06-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/Metaclass.st: Properly handle untrustedness upon
class creation.
2003-06-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Create SecurityError class.
* kernel/BindingDict.st: Move part of the extra work to do
into #primAt:put:. Make bindings untrusted if the environment
is untrusted too.
2003-06-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: Implement extra-cool #raisedToInteger:
* kernel/LargeInt.st: Fixed bug in #bitAt:
2003-06-11 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Implement trustedness primitives.
2003-06-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Memory.st: Made a #subclass: (used to be
a variableWordSubclass:???)
2003-06-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Accept variable bindings for
the WrongClass exception, when passing an array.
* kernel/Rectangle.st: Adapt.
* kernel/SeqCollect.st: implement #fold: for efficiency;
added #second, #third, #fourth.
2003-06-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: death to #blockCopy: in every sauce,
add ContextPart class>>#thisContext
* kernel/Collection.st: Fix typo in the comment for
Collection>>#inject:into:, add #fold:
* kernel/CompildCode.st: Death to the "push this context"
bytecode and to #blockCopy: in every sauce
* compiler/STDecompiler.st: Adapt to the above
2003-06-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: #blockCopy: moved to CompiledBlock.
* kernel/CompildMeth.st: Adapted #allBlocksDo:
to the possibility of having CompiledBlocks in the
literal frame.
* kernel/CompildCode.st: Ditto for #blockAt:
* kernel/CompildBlk.st: Ditto for #binaryRepresentationProxy
* kernel/CompildCode.st: No need to special case
Associations in the method printing code, because
methods don't own Association anymore (they have
VariableBindings, but they print differently also
to avoid this kind of special casing).
* kernel/BlkClosure.st: Move some code from ExcHandling.st
and refer to it from exception handling attributes
* kernel/ContextPart.st: Add #scanBacktraceForAttribute:
and use it to determine which contexts to hide from
backtraces.
* kernel/ExcHandling.st: Use exception handling attributes
2003-06-04 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Death to CoreException class>>
#unwindTo:
2003-05-30 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildMeth.st: Add accessors for attributes.
2003-05-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Add Object>>#allOwners
* kernel/CallinProcess.st: Point out that CallinProcesses
do not survive across image saves.
2003-05-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Add more C->String primitives
* kernel/CObject.st: Add a few conversion
methods to CChar
* kernel/Bag.st: Don't leave items with zero
occurrences in the dictionary.
* kernel/CObject.st: Support long doubles
* kernel/CStruct.st: Support long doubles
* kernel/CType.st: Support long doubles
* kernel/Memory.st: Support long double access
* kernel/ByteArray.st: Support long double access
2003-05-09 Paolo Bonzini <bonzini@gnu.org>
*** Version 2.1.2 released.
* kernel/Stream.st: Define #isExternalStream.
* kernel/FileDescr.st: Ditto.
2003-05-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildCode.st: Omit # when outputting a
literal in short form (a ClassName).
* kernel/Builtins.st: Possibly raise a FileError
exception in ObjectMemory class>>#snapshot:
2003-04-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Make recompiles more silent in
regression testing mode.
* kernel/Behavior.st: Don't update instanceSpec in
#addInstVarName: and #removeInstVarName:. Possibly
recompile subclasses when adding variables. Move
#validateIdentifier: here from Metaclass.st, and use it.
* kernel/Class.st: Possibly recompile subclasses when
removing class variables.
* kernel/Metaclass.st: moved #validateIdentifier: to
Behavior.
* kernel/Object.st: Fix thinko in class mutation.
2003-04-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: #extensionFor: should include the leading
dot. Reported by nicolas.pelletier3@wanadoo.fr.
2003-04-17 Paolo Bonzini <bonzini@gnu.org>
*** Version 2.1.1 (stable) released.
2003-04-12 Paolo Bonzini <bonzini@gnu.org>
*** Version 2.1 (stable) released.
2003-03-22 Paolo Bonzini <bonzini@gnu.org>
* sunit/SUnitPreload.st: Upgrade to SUnit 3.1RC2.
* sunit/SUnitTests.st: Upgrade to SUnit 3.1RC2.
* sunit/SUnitLog.st: Included into SUnit.st.
* sunit/SUnit.st: Upgrade to SUnit 3.1RC2, include SUnitLog.st
2003-03-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Ensure that the whole data is
written on the file (for #write:... methods) -- previously
done in the VM.
2003-03-04 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Wrap loading of filesystems with
exception handlers.
2003-03-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Implement #printOn:in:
* kernel/BindingDict.st: Implement #printOn:in:
* kernel/ClassDesc.st: Implement #printOn:in:
* kernel/Metaclass.st: Implement #printOn:in:
* kernel/Namespace.st: Implement #printOn:in:
* kernel/RootNamespc.st: Implement #printOn:in:
* kernel/SysDict.st: Implement #printOn:in:
* kernel/CompildMeth.st: use #printOn:in: when printing
2003-02-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/DLD.st: Do not relink DLD functions at startup
* kernel/CFuncs.st: Do that here on demand
* kernel/CFuncs.st: use #printStringRadix: instead of #radix:
* kernel/CObject.st: Ditto
2003-02-07 Paolo Bonzini <bonzini@gnu.org>
* tests/processes.st: Add process names and a few other
simplifications.
* kernel/URL.st: Add comments.
2003-01-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Fix off-by-one error in #resetHandler
* kernel/CompildCode.st: Also send #postCopy to super
* kernel/ExcHandling.st: Override #postCopy rather than #copy
2003-01-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/Process.st: Don't suspend an interrupted process if
the interruption has caused it to terminate (!)
2003-01-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Support dynamically loaded libraries.
2003-01-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkClosure.st: Remove workaround for JIT bug.
2002-12-31 Paolo Bonzini <bonzini@gnu.org>
* tests/processes.st: Fix for expected change in behavior.
* examples/RandomInt.st: Add 2002 copyright year
* examples/StreamFilter.st: Likewise
* examples/shell: Likewise
* kernel/Autoload.st: Likewise
* kernel/ByteStream.st: Likewise
* kernel/Character.st: Likewise
* kernel/Class.st: Likewise
* kernel/ClassDesc.st: Likewise
* kernel/CStruct.st: Likewise
* kernel/Date.st: Likewise
* kernel/DLD.st: Likewise
* kernel/Delay.st: Likewise
* kernel/DirMessage.st: Likewise
* kernel/FileSegment.st: Likewise
* kernel/Interval.st: Likewise
* kernel/LookupKey.st: Likewise
* kernel/MappedColl.st: Likewise
* kernel/Metaclass.st: Likewise
* kernel/MethodInfo.st: Likewise
* kernel/MthContext.st: Likewise
* kernel/Point.st: Likewise
* kernel/OtherArrays.st: Likewise
* kernel/Rectangle.st: Likewise
* kernel/ScaledDec.st: Likewise
* kernel/Semaphore.st: Likewise
* kernel/SharedQueue.st: Likewise
* kernel/Symbol.st: Likewise
* kernel/Time.st: Likewise
* kernel/Stream.st: Remove duplicate implementation of #upToAll:
* kernel/LargeInt.st: Fix bugs in Smalltalk implementation
of LargeIntegers.
2002-12-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/ContextPart.st: Implement #isInternalExceptionHandlingContext
* kernel/ExcHandling.st: Hide internal aspects of exception handling
from backtraces
* examples/MiniDebugger.st: Terminate internal exception handling
contexts when entering the debugger.
2002-12-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Raise an error when the #addressOf:
and #addressOfOOP: primitives fail.
* kernel/ByteArray.st: send #addressOf: to ObjectMemory
2002-12-20 Paolo Bonzini <bonzini@gnu.org>
* examples/Debugger.st: Removed
2002-12-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Implement ObjectMemory>>#abort
* kernel/CompildCode.st: If a method does not have
source code line information, don't fail in #sourceCodeMap
* kernel/Behavior.st: Implement #debuggerClass
* kernel/Metaclass.st: Implement #debuggerClass
* kernel/ContextPart.st: Implement #debuggerClass
* kernel/Process.st: Implement #suspendedContext
* kernel/ExcHandling.st: Added support for starting a
debugger.
* examples/MiniDebugger.st: New file
2002-12-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: Implement #copyEmpty using #size
for the size of the new collection (instead of #basicSize).
2002-11-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Implement asyncronous call-outs
* kernel/CFuncs.st: Implement asyncronous call-out primitive
2002-11-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/Class.st: Look in the current namespace for
a class to redefine (#metaclassFor:) instead of looking
in Smalltalk
* kernel/UndefObject.st: Likewise
2002-11-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Use compile-time constant to
define call-outs
* kernel/DLD.st: Get rid of CFunctionDescs
* kernel/Class.st: Use identity to look for shared
pools. Avoids autoloading classes when there are
any in the same environment as the shared pools'.
2002-11-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/CFuncs.st: Define new call-out primitive
* kernel/Behavior.st: Use it
2002-11-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Added Semaphore>>#lock
2002-11-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/Delay.st: Ensure that the idle process is
started and placed on the process lists.
* kernel/DirMessage.st: Add process creation methods
* kernel/Process.st: Add method to add an handler
for ProcessTerminated into every call-in from C.
2002-10-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/ObjMemory.st: Adjusted for new memory manager
2002-10-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Don't call #initialize
* kernel/Object.st: Don't do anything if self ~~ Object
in #initialize.
2002-10-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Adjusted for new memory manager
2002-10-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Stream.st: Use Knuth-Morris-Pratt algorithm to
implement #skipToAll: and #upToAll:.
2002-10-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/Autoload.st: Rewritten
* kernel/ArrayColl.st: Don't implement #new:
* kernel/Behavior.st: "new: 0" -> "new"
* kernel/ClassDesc.st: Likewise
* kernel/Object.st: Likewise
* kernel/Symbol.st: Likewise
* kernel/Builtins.st: send #new: or #basicNew: if #new or
#basicNew fail because the class is fixed.
2002-10-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/Bag.st: Replace Dictionary with LookupTable,
#associationsDo: with #keysAndValuesDo:
* kernel/CStruct.st: Replace Dictionary with IdentityDictionary
* kernel/Date.st: Replace Dictionary with IdentityDictionary
* kernel/PkgLoader.st: Replace Dictionary with LookupTable
* kernel/URL.st: Replace Dictionary with LookupTable
2002-10-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/Namespace.st: Inherit from AbstractNamespace
* kernel/RootNamespc.st: Moved parts to AbstractNamespace
and BindingDictionary
* kernel/AbstNamespc.st: Create from RootNamespc.st
* kernel/BindingDict.st: Create from RootNamespc.st
* kernel/Class.st: Create BindingDictionaries for
class pools.
* kernel/CompildCode.st: Show line number bytecodes;
added #sourceCodeMap.
2002-10-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Check the availability of
call-outs after modules have been loaded.
2002-10-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Adopted XML input format
2002-09-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/OrderColl.st: Shrink
2002-09-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/Association.st: Don't hardcode the class in
#storeOn:
* kernel/LookupKey.st: Add brackets around the key
in #printOn:, and don't hardcode the class
* kernel/Behavior.st: Don't print a sharp in front of
the name of a lightweight class.
* kernel/Builtins.st: Replace finalization primitives
with ephemeron primitive
* kernel/Collection.st: Add #mourn:
* kernel/HomedAssoc.st: New file from part of VarBinding.st
* kernel/ObjMemory.st: Call Object class>>#initialize
* kernel/Object.st: Add class variable and their accessors,
and finalization methods
* kernel/VarBinding.st: Change superclass to be
HomedAssociation
* kernel/WeakObjects.st: Reimplement parts to use
ephemerons
* kernel/RecursionLock.st: Doc fixes
* kernel/Semaphore.st: Doc fixes
* kernel/VFS.st: Doc fixes
2002-09-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Revert to #basicAt:/#basicAt:put:
to access indexed instance variables in #instVarAt:
and #instVarAt:put:
2002-09-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkContext.st: Changed printing of block contexts
2002-09-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildCode.st: Rewritten printing to adopt
parameterized dispatch.
* kernel/Process.st: Added interruptLock and revamped
#queueInterrupt: so that it interrupts suspended processes
as well.
2002-09-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/SharedQueue.st: Added #isEmpty
* kernel/Delay.st: Solved a race condition
* kernel/BlkClosure.st: Move process termination upon falling
off the #fork-ed block from here...
* kernel/Process.st: ...to here, where I also rewrote
some parts so that #terminate uses the ProcessBeingTerminated
notification...
* kernel/AnsiExcept.st: ...that's defined here
* kernel/ExcHandling.st: move declaration of #on:do: from
here...
* kernel/BlkClosure.st: ...to here, as it is needed to start
the delay and idle processes.
2002-09-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Add support for %<string1|string2>n.
* kernel/Semaphore.st: Demonstrate %<string1|string2>n.
2002-09-13 Paolo Bonzini <bonzini@gnu.org>
*** Versions 2.0c (development) and 2.0.6 (stable) released
* kernel/SeqCollect.st: Added #copyUpTo:
* kernel/Stream.st: Added #next:putAll:startingAt:
* kernel/Builtins.st: Allow specifying a class as the
current namespace
2002-09-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/ClassDesc.st: Answer dot-separated names in #nameIn:
* kernel/RootNamespc.st: Likewise
* kernel/VarBinding.st: Don't replace spaces with
periods
2002-09-11 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Add interrupt handling methods
* kernel/BlkClosure.st: Implement #valueWithoutPreemption,
possible now to do it with correct semantics
* kernel/Process.st: Added `interrupts' variable
* kernel/ValueAdapt.st: Use #valueWithoutPreemption
* kernel/Semaphore.st: Fix comment, give 'em a name
and a nice #printOn: method.
* kernel/RecursionLock.st: New file
2002-09-10 Paolo Bonzini <bonzini@gnu.org>
* numerics/Approximation.st: New file
* numerics/Basic.st: New file
* numerics/Distributions.st: New file
* numerics/Functions.st: New file
* numerics/Integration.st: New file
* numerics/Load.st: New file
* numerics/Matrixes.st: New file
* numerics/NumericsAdds.st: New file
* numerics/NumericsTests.st: New file
* numerics/Optimization.st: New file
* numerics/RNG.st: New file
* numerics/Statistics.st: New file
2002-09-09 Paolo Bonzini <bonzini@gnu.org>
* sunit/SUnitLog.st: New file
* kernel/Class.st: Various additions to support RBEnvironments
* kernel/CompildCode.st: Various additions to support RBEnvironments
* kernel/Association.st: Achieve polymorphism with VariableBindings
* kernel/RootNamespc.st: Add VariableBindings, not Associations
* kernel/VarBinding.st: New file
2002-09-08 Paolo Bonzini <bonzini@gnu.org>
* sunit/SUnit.st: Made logging less verbose
* kernel/RootNamespc.st: Remove duplicates in #allBehaviorsDo:
* kernel/Class.st: Store classes as how they are found in the
current namespace.
2002-09-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildCode.st: Remove references to the Debugger
symbol
* kernel/Behavior.st: Add missing return in #sourceCodeAt:
and #selectorsAndMethodsDo:. Added pluggable behavior (as
a provision only) through #...Class methods.
* kernel/ClassDict.st: use #remove: instead of #removeAssociation:
* kernel/Dictionary.st: implement #remove: and #remove:ifAbsent:
* kernel/IdentDict.st: Implement #remove:
* kernel/MethodDict.st: Implement #remove:
* kernel/Namespace.st: use #remove: instead of #removeAssociation:
2002-09-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildCode.st: Print 8-bit push bytecodes.
* kernel/Builtins.st: Support single-step mode
* kernel/Process.st: Ditto
* sunit/SUnit.st: Upgraded to 3.1
* sunit/SUnitTests.st: Ditto
* sunit/SUnitPreload.st: Ditto
2002-08-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Reimplement #allSubinstancesDo:
to scan the OOP table just once.
* kernel/SeqCollect.st: Reimplement #includes:
and #identityIncludes: to avoid creating a full block.
2002-08-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Raise events through #changed:
before and after closing
* kernel/VFS.st: Use this mechanism
2002-08-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/Association.st: Make sure that hash values are
SmallIntegers.
* kernel/CompildMeth.st: Likewise
* kernel/FileSegment.st: Likewise
* kernel/MethodInfo.st: Likewise
* kernel/Point.st: Likewise
* kernel/Rectangle.st: Likewise
* kernel/FileDescr.st: Don't do unnecessary polls before
invoking the asynchronous file polling service.
* kernel/Stream.st: Check for end-of-stream condition
in #nextLine.
* kernel/Time.st: Delimit the parsed time by a space
in #readFrom:
2002-08-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/Directory.st: Accessor methods rely on VFSHandler>>#at:
* kernel/File.st: Added #on:
* kernel/VFS.st: Implemented ExternalArchiveFileHandler.
Created ArchiveMemberHandler and added abstract methods to
VFSHandler.
2002-08-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/ValueAdapt.st: Add Object>>#asValue.
* kernel/PosStream.st: Add the #pastEnd hook.
* kernel/AnsiExcept.st: Make EndOfStream a subclass of
Notification.
2002-08-14 Paolo Bonzini <bonzini@gnu.org>
*** Version 2.0.5 (stable) released
* kernel/Builtins.st: Implement ByteArray>>
#replaceFrom:to:with:startingAt: as a primitive
2002-08-12 Paolo Bonzini <bonzini@gnu.org>
*** Version 2.0b (development) released
2002-08-07 Paolo Bonzini <bonzini@gnu.org>
*** Versions 2.0a (development) and 2.0.4 (stable) released
* kernel/CharArray.st: 'abc' startsWith: 'abc'
is now true.
* kernel/VFS.st: Added method to open a file with specified class
* kernel/FileDescr.st: Use it; added #peek.
* kernel/FileStream.st: Added #peek.
2002-07-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Use the correct type when
storing a CObject into another CObject
* kernel/CObject.st: Rework things
* examples/modules/gdbm-c.st: Fix memory leak
2002-07-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Browser.st: Removed
2002-07-17 Paolo Bonzini <bonzini@gnu.org>
*** Version 2.0.3 released
2002-07-15 Paolo Bonzini <bonzini@gnu.org>
* examples/StreamFilter.st: Implement ConcatenatedStream>>#peek
* kernel/URL.st: Moved here from net/URL.st
* kernel/FileStream.st: Support opening URLs
2002-07-11 Paolo Bonzini <bonzini@gnu.org>
*** Version 2.0.2 released
2002-07-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Moved definition of #ifCurtailed:
* kernel/BlkClosure.st: Here (and fixed the method comment)
2002-07-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/ContextPart.st: Skip disabled contexts on
backtraces.
* kernel/BlkContext.st: Provide informational methods
* kernel/MthContext.st: Likewise
* kernel/Behavior.st: Use free methods to do evaluations
2002-07-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/Class.st: File out declaration of classes
derived from nil correctly.
* kernel/ExcHandling.st: Moved definition of #ensure:
* kernel/BlkClosure.st: Here.
* kernel/Object.st: Moved definition of #shallowCopy
* kernel/Builtins.st: Here.
* kernel/ByteArray.st: Remove redefinition of #shallowCopy,
not needed with a primitive
* kernel/CharArray.st: Likewise
* kernel/ContextPart.st: Likewise
2002-07-04 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Define ContextPart>>#continue:
and BlockClosure>>#valueAndResumeOnUnwind
* kernel/ExcHandling.st: Simplify the unwinding logic
through the new primitives.
* kernel/ContextPart.st: Likewise
2002-07-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Store absolute paths
2002-07-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/ScaledDec.st: Define #ceiling, compare only to
the lowest scale in equality and inequality
* kernel/Number.st: Use #integerPart to round and truncate,
so that Floats still answer Floats.
* kernel/Float.st: Modified #hash to return the correct value
when compared to LargeIntegers.
* kernel/Fraction.st: Fix comparisons of negative fractions,
print without parentheses, return Integers if possible;
modified #hash to return the correct value when compared to
Floats.
* kernel/Integer.st: force #asScaledDecimal: to generate
decimals with scale 0.
* kernel/LargeInt.st: Fix <= and >= comparisons with zero,
divisions by zero on #/, and corrected the order of computations
and generality comparisons on most division methods
2002-06-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Float -> FloatD
* kernel/Float.st: Moved some parts into
* kernel/FloatD.st: This new file
* kernel/FloatE.st: Created from FloatD.st
* kernel/FloatQ.st: Created from FloatD.st
* kernel/Number.st: Provide conversions to various flavors
of Floats
* kernel/Fraction.st: Likewise
* kernel/LargeInt.st: Likewise
* kernel/ScaledDec.st: Likewise
* kernel/Integer.st: Use #asFloatD
* kernel/SortCollect.st: Use #asFloatD
2002-06-29 Paolo Bonzini <bonzini@gnu.org>
*** Version 2.0.1 released
2002-06-25 Paolo Bonzini <bonzini@gnu.org>
*** Version 2.0 released
2002-06-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Fixes for vpath builds. Always compute
directories relative to the package file they are found in.
2002-06-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: added the #goodness: method
* kernel/ExcHandling.st: Use best-fit rather than first-fit
to pick an exception handler when more than one is specified.
Work decently (i.e. without performing correct unwinding of
#ensure:/#ifCurtailed: blocks, but without incorrect data
structure contents) if there are returns in exception handlers.
* kernel/Process.st: Removed the exceptionHandlers variable
2002-06-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/ValueAdapt.st: Fixed race condition
* kernel/CharArray.st: Added #match:ignoreCase:
* kernel/CObject.st: Initialize the new object's type in
#address:, new method #new to provide an instance initialized
to NULL.
2002-06-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/UndefObject.st: Removed references to CFunctionDescs
* kernel/Behavior.st: Use full path to refer to CFunctionsDescs
* kernel/AnsiExcept.st: Don't show ArgumentOutOfRange limits
in regression testing mode
2002-05-30 Paolo Bonzini <bonzini@gnu.org>
* kernel/Fraction.st: Small bug fix, sometimes subtraction
actually summed...
2002-05-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/Class.st: File out the superclass' name *in the context
of the filed out class*.
* kernel/Date.st: Return DateTimes with a Duration as an offset,
not a number
* kernel/Dictionary.st: Add inspect method
2002-05-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileSegment.st: use #ensure: in #withFileDo:,
add a map of original file names to modified file names in
the relocation code.
2002-05-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Declare a primitive to scramble the bits
of a SmallInteger
* kernel/Dictionary.st: Scramble the hash values
* kernel/WeakObjects.st: Ditto
* kernel/HashedColl.st: Ditto, and keep the size a power of two
2002-05-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Trap #afterEvaluation and flush the standard
handles
2002-05-11 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.96.6 released
2002-05-11 Paolo Bonzini <bonzini@gnu.org>
* kernel/Integer.st: Add binomial coefficient computation
* kernel/RunArray.st: Fix category to be "Collections-Sequenceable"
* kernel/WriteStream.st: Fix category to be "Streams-Collections"
* kernel/ScaledDec.st: Fix category to be "Language-Data types"
* kernel/ByteArray.st: Fix category to be "Collections-Sequenceable"
2002-05-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Don't raise an error if replacing
with an empty collection
2002-05-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/HashedColl.st: Don't use #copy when rehashing, since
namespaces are identity objects
* kernel/LookupTable.st: Don't do that here as well, just in case
2002-05-05 Paolo Bonzini <bonzini@gnu.org>
* examples/MemUsage.st: Removed stale reference to WordMemory
(eliminated in Sep 2000...)
* kernel/ObjDumper.st: Call #postLoad only the first time
an object is found in the stream; once the object got its
definitive shape it makes no sense to lose time (or do harm)
with post-load fixups.
2002-05-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Add primitives to tune allocation
of big objects outside the main heap.
2002-05-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/ByteArray.st: Add CSymbols pool dictionary
* kernel/CObject.st: Add CSymbols pool dictionary
* kernel/Float.st: Add CSymbols pool dictionary, modified
printing code to use them. Changed name of "characterization"
methods to comply to the ANSI standard. Defined Float[DEQ]
as synonyms of Float (for now).
* kernel/Integer.st: Add CSymbols pool dictionary, added
#bitAt:put:, the private method #signedStringBase:radix:on:
now is called #printOn:base:showRadix: and is public
* kernel/Fraction.st: Use the new characterization methods
in Float.
2002-04-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Added #openDescriptor:ifFail:
* kernel/File.st: Added #openDescriptor:ifFail:, #open:ifFail:,
#openDescriptor:
* kernel/FileDescr.st: Open files with #openDescriptor:ifFail:
* kernel/FileStream.st: Open files with #open:ifFail:
2002-04-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Fix bug in mkdir
* examples/shell: Replace with nice script by Alexander
Lazarevic.
2002-04-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: Move implementation of copying methods
from SequenceableCollection to here.
* kernel/Bag.st: Fail when adding nil
* kernel/Dictionary.st: correct #keyAtValue: to return nil if
the value is not found. Added #rehash.
* kernel/AnsiDates.st: Removed call to missing #isDuration method.
* kernel/Float.st: Strip trailing zeros from the #printString
* kernel/HashedColl.st: WhileGrowingAdd: -> addWhileGrowing:
* kernel/LargeInteger.st: Removed primitive in LargeInteger>>#/
* kernel/OrderColl.st: Raise errors for indices out of bounds
in #add:afterIndex: & co.
* kernel/PosStream.st: Make #position answer ptr - 1 and adjust
callers. #next returns nil at end of stream.
* kernel/SeqCollect.st: Use #copyEmptyForCollect in #reverse;
implement copying methods in terms of #add:
* kernel/SortCollect.st: #occurrencesOf: result was off by one
* kernel/WriteStream.st: Allow extending the stream to previous
values of the collection, truncate when answering the #contents
instead.
2002-04-14 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.96.5 released
2002-04-13 Paolo Bonzini <bonzini@gnu.org>
* sunit/SUnit.st: Show assertion results
* kernel/SeqCollect.st: correct #replaceFrom:to:with: to accept
only collections of the exact specified size, added #at:ifAbsent:
* kernel/CharArray.st: Added #startsWith:
* kernel/ExcHandling.st: Bug fixes
2002-04-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Implemented #negated to behave correctly
with respect to negative zeros. Print minus sign in front
of negative zero. Rewritten printing logic.
* kernel/Number.st: Added tests for NaNs and infinities;
added #withSignOf: Implemented #min: and #max:
to behave correctly with respect to NaNs. Added remarks
on negative zeros
2002-04-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/Fraction.st: Skip GCDs when computing squared
fractions, do them on lower numbers when adding and
subtracting; try to avoid multiplications on comparisons.
* kernel/SmallInt.st: Implemented #highBit with a binary
search, fixed result for negative powers of two (-4, -8, etc)
* kernel/LargeInt.st: Implemented #highBit separately for
LargeNegativeIntegers and LargePositiveIntegers, fixed
result for negative powers of two
* kernel/Integer.st: Removed generic implementation of #highBit
2002-04-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/LargeInt.st: Define / in terms of GCD
* kernel/Fraction.st: Fix typo in #estimatedLog; compute
cross GCDs for multiplication and exact division; implement
#floor and #ceiling in terms of operations on the numerator
and denominator.
2002-03-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/LargeInt.st: Added support for primitives
2002-03-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/Integer.st: Implemented better factorial algorithm
* examples/Publish.st: Add `writing documentation for' in
front of class names
2002-03-21 Paolo Bonzini <bonzini@gnu.org>
* compiler/STTok.st: Skip _ inside numeric literals
2002-03-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Created from File.st and Directory.st
* kernel/FileStream.st: Put in some VFS hooks
* kernel/File.st: Demand operations to a vfsHandler
* kernel/Directory.st: Demand operations to a vfsHandler
* kernel/MethodDict.st: Added class comment
* kernel/SmallInt.st: Added class comment
* kernel/File.st: Added class comment
* kernel/Directory.st: Added class comment
* kernel/Browser.st: Added class comment
* kernel/AnsiDates.st: Added missing class comments
* kernel/AnsiExcept.st: Added missing class comments
* kernel/ValueAdapt.st: Added missing class comments
* kernel/ObjDumper.st: Added missing class comments
2002-03-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Support a system-wide package file
2002-03-12 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.96.4 released
* kernel/File.st: Fix some misbehavior (not bugs, simply
it was not very predictable) in the filename-manipulation
methods.
2002-02-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/Object.st: Removed calls to #debug
* kernel/CObject.st: Removed calls to #debug
* kernel/Behavior.st: Switch to primitive names
* kernel/Builtins.st: Switch to primitive name
* kernel/CFuncs.st: Switch to primitive names
* kernel/CObject.st: Switch to primitive names
* kernel/CompildMeth.st: Print the primitive name
in #inspect
* compiler/STParser.st: Parse primitive names
* compiler/STParseNodes.st: Include primitive names
in STMethodBodyNodes
* kernel/Behavior.st: Instead of the progressive
number CFunctionGensym, use the OOP to build keys
for the CFunctionDescs dictionary. Also use #{...}
syntax to avoid namespace clashes
* kernel/Builtins.st: Removed CFunctionGensym
* kernel/Object.st: Removed CFunctionDescs from the
pool dictionary list
2002-02-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Was not assigning to `count' in
#read:numBytes:
* kernel/FileDescr.st: Commented out the code in #ensureWriteable
because not all devices support sending SIGIO's when they
become writeable -- notably, tty's under Linux :-(
2002-02-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Fix imprecise error message
2002-01-29 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.96.3 released.
2002-01-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Added a missing period
* kernel/ExcHandling.st: Added a missing period
* kernel/RootNamespc.st: Added a missing period
2002-01-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Removed duplicated methods in
ObjectMemory and SystemDictionary.
* kernel/SysDict.st: Removed initialization blocks
* tests/low-level/objects.st: Adapt
2002-01-17 Nigel Williams <nigelw@wizardis.com.au>
* kernel/FileDescr.st: Use exact rather than conservative
implementations of #isPipe and of end-of-file detection
for pipes.
* kernel/ProcSched.st: Added timeSlice instance variable
2002-01-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/SortCollect.st: To #beConsistent, use quicksort if
nothing in the collection is sorted.
2002-01-04 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.96.2 released
2002-01-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/Namespace.st: #associationAt: was returning
the value.
* kernel/Collection.st: Use #copyEmptyForCollect
to create the result collection
2002-01-02 Paolo Bonzini <bonzini@gnu.org>
* examples/RandomInt.st: Removed
* kernel/Random.st: Merged examples/RandomInt.st's features.
2001-12-11 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Process correctly methods whose source
code starts with whitespace (the compiler does not generate
them, but STLoader does).
* examples/StreamFilter.st: New file
* kernel/HashedColl.st: use #copyEmpty: while growing
2001-11-29 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Use #asMetaclass to retrieve class methods
since #class is inlined by the VM and cannot be overriden by
proxies.
* kernel/Metaclass.st: Accept dot notation to indicate nested
namespaces in the pool dictionaries string
2001-11-20 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.96.1 released
* kernel/SysDict.st: Smalltalk usually contains a
reference to itself, avoid infinite loops in #hash
2001-11-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: wrap #recompile: in an exception
handler
2001-11-19 Nigel Williams <nigelw@wizardis.com.au>
* kernel/WriteStream.st: don't do #become: when growing
a collection.
2001-11-13 Paolo Bonzini <bonzini@gnu.org>
* examples/Debugger.st: Prefixed # to symbols in arrays
* examples/Lisp.st: Prefixed # to symbols in arrays
* examples/blox/Man.st: Prefixed # to symbols in arrays
* examples/blox/Tetris.st: Prefixed # to symbols in arrays
* examples/modules/gdbm-c.st: Prefixed # to symbols in arrays
* examples/modules/md5.st: Prefixed # to symbols in arrays
* examples/modules/regex.st: Prefixed # to symbols in arrays
* kernel/CFuncs.st: Prefixed # to symbols in arrays
* kernel/CStruct.st: Prefixed # to symbols in arrays
* kernel/CompildCode.st: Prefixed # to symbols in arrays
* kernel/DLD.st: Prefixed # to symbols in arrays
* kernel/Date.st: Prefixed # to symbols in arrays
* kernel/Directory.st: Prefixed # to symbols in arrays
* kernel/ExcHandling.st: Prefixed # to symbols in arrays
* kernel/File.st: Prefixed # to symbols in arrays
2001-11-04 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileStream.st: Adjust position after #next:
2001-10-31 Paolo Bonzini <bonzini@amoia3.elet.polimi.it>
* kernel/ValueAdapt.st: Implemented Promise
* kernel/BlkClosure.st: Added #forkWithoutPreemption and
deprecated #valueWithoutPreemption.
* kernel/Date.st: Implemented #readFrom:
* kernel/Time.st: Likewise
* kernel/AnsiDates.st: Likewise
* kernel/Stream.st: Implemented #skip:...
* kernel/SeqCollect.st: Implemented #identityIndexOf:...
* kernel/Collection.st: Implemented #identityIncludes:
* kernel/IdentitySet.st: Implemented #identityIncludes:
as a synonym of #includes:
2001-10-26 Paolo Bonzini <bonzini@amoia3.elet.polimi.it>
* kernel/AnsiExcept.st: Implemented EndOfStream.
2001-10-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/RootNamespc.st: Added #nameIn:
* kernel/Namespace.st: Added #nameIn:
* kernel/SysDict.st: Added #nameIn:
* kernel/ClassDesc.st: use the environment's #nameIn: method
in ClassDescription>>#nameIn:
* examples/Publish.st: Support publication of entire namespaces
2001-09-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Implement system exceptions
2001-08-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Allow one to specify numbers
or other objects as parameters to #bindWith:
2001-06-20 Paolo Bonzini <bonzini@gnu.org>
* examples/Bench.st: Modified results to those obtained
with GCC 3.0's new back end (+15%!!!).
2001-06-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/MappedColl.st: Doc fixes.
2001-06-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiDates.st: Use exception handling instead of #error:
* kernel/AnsiExcept.st: Likewise
* kernel/ArrayColl.st: Likewise
* kernel/Behavior.st: Likewise
* kernel/Builtins.st: Likewise
* kernel/ByteArray.st: Likewise
* kernel/ByteStream.st: Likewise
* kernel/CObject.st: Likewise
* kernel/Character.st: Likewise
* kernel/Class.st: Likewise
* kernel/ClassDesc.st: Likewise
* kernel/Collection.st: Likewise
* kernel/ContextPart.st: Likewise
* kernel/DLD.st: Likewise
* kernel/Dictionary.st: Likewise
* kernel/File.st: Likewise
* kernel/FileDescr.st: Likewise
* kernel/FileStream.st: Likewise
* kernel/Float.st: Likewise
* kernel/Integer.st: Likewise
* kernel/Interval.st: Likewise
* kernel/LargeInt.st: Likewise
* kernel/Link.st: Likewise
* kernel/LinkedList.st: Likewise
* kernel/MappedColl.st: Likewise
* kernel/Metaclass.st: Likewise
* kernel/MethodDict.st: Likewise
* kernel/Namespace.st: Likewise
* kernel/Number.st: Likewise
* kernel/OrderColl.st: Likewise
* kernel/OtherArrays.st: Likewise
* kernel/PkgLoader.st: Likewise
* kernel/PosStream.st: Likewise
* kernel/ProcSched.st: Likewise
* kernel/Process.st: Likewise
* kernel/Rectangle.st: Likewise
* kernel/RootNamespc.st: Likewise
* kernel/RunArray.st: Likewise
* kernel/SeqCollect.st: Likewise
* kernel/SortCollect.st: Likewise
* kernel/UndefObject.st: Likewise
* kernel/WriteStream.st: Likewise
2001-06-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/SortCollect.st: Fix methods whose parameters
need not be sortable so that they do not fail. Fix
#binarySearchFor:low:high: to handle sort-block that
do not establish a total sort (a sorts before b, and
vice versa, does not imply a = b).
2001-05-22 Paolo Bonzini <bonzini@gnu.org>
* examples/Bench.st: Adjusted for the new great
performance improvements (inlined primitives).
2001-05-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/DLD.st: Show failed linkages without duplicates.
2001-05-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: Fixed bug in inequality (2 ~= 1.0).
* kernel/FileStream.st: Fixed bug in positioning the
file pointer before flushing the write buffer.
* kernel/Delay.st: Removed a couple of debug printNls.
2001-05-17 Pahi Andras <pahi@info-m.hu>
* kernel/Builtins.st: Return correct value for #perform:...
if #doesNotUnderstand: is called.
2001-05-15 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.96 (alpha) released
2001-05-04 Paolo Bonzini <bonzini@gnu.org>
* examples/modules/regex.st: Added a Regex class
and declared reh_make_cacheable
2001-05-02 Dragomir Milivojevic <dmilivoj@bigfoot.com>
* examples/modules/regex.st: Added more juice...
2001-04-28 Simon Britnell <ughbash@yahoo.com>
* kernel/DLD.st: Ensure that each library and
module is included in the DLD lists only once.
2001-04-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/SharedQueue.st: Add support for priority queues
and #peek.
* kernel/Delay.st: Use SharedQueues.
* kernel/BlkClosure.st: Implement #ensure: (it does not
ensure anything, but has correct semantics if no exception
occurs)
* kernel/Semaphore.st: use #ensure: in #critical:
2001-04-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Created from part of FileStream.st
* kernel/FileStream.st: Partially moved to FileDescr.st
2001-04-15 Paolo Bonzini <bonzini@gnu.org>
* examples/modules/md5.st: Created
* kernel/ObjMemory.st: Removed the call to enableGC:.
* kernel/Builtins.st: Removed the definition of
ObjectMemory>>#enableGC:.
2001-04-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Copied a few builtins to ObjectMemory,
marked them as deprecated for SystemDictionary.
* kernel/initialize.st: Removed
* kernel/ObjMemory.st: New file, created from initialize.st
* kernel/SysDict.st: Marked a few methods as deprecated
* kernel/Browser.st: send #gcMessage: to ObjectMemory
instead of Smalltalk
* kernel/Time.st: Use ObjectMemory instead of init blocks
* kernel/FileStream.st: Use ObjectMemory to close files
* Load.st: Use ObjectMemory class>>#snapshot
* Reload.st: Use ObjectMemory class>>#snapshot
2001-03-28 Paolo Bonzini <bonzini@gnu.org>
* tests/ansi/AnsiProtos.st: Removed
* tests/ansi/AnsiSUnit.st: Removed
* tests/ansi/AnsiTests.st: Upgraded
* tests/ansi/load-tests.st: Updated for new structure
* examples/pepe.sed: Added
* examples/xml.sed: Added
2001-03-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Removed the file-in primitives, added
three-argument #fileOp: variants.
* kernel/FileStream.st: Rewritten for new buffering scheme,
use #fileOp:... to file-in too.
2001-03-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/CStruct.st: Factored most of CStruct into CCompound.
Added CUnion.
2001-02-23 Paolo Bonzini <bonzini@gnu.org>
*** Released version 1.95.3
2001-02-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Documented the ability of #perform: &
friends to receive a CompiledMethod as their first parameter.
* kernel/CStruct.st: Made CStruct accept #{...} literals
in the declaration.
2001-02-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Raise an error on invalid C call-outs
2001-02-14 Paolo Bonzini <bonzini@gnu.org>
* gdbm/gdbm-c.st: New file (old gdbm.st)
* gdbm/gdbm.st: New file
* kernel/CStruct.st: Allow subclasses of CStruct to be
generated.
* kernel/File.st: Use new syntax for generating CStructs
2001-02-13 Paolo Bonzini <bonzini@gnu.org>
* sunit/SUnitTests.st: Upgraded to version 3.0
* sunit/SUnitPreload.st: Ditto
* sunit/SUnit.st: Ditto
* sunit/SUnitScript.st: Restored from SUnit 2.7 (it is not in 3.0)
* kernel/SortCollect.st: Fixed bug in #indexOf:startingAt:ifAbsent:
which raised an error if the collection was empty.
* kernel/SeqCollect.st: Raise an error if the starting index in
#indexOf:startingAt:ifAbsent: is out of range.
2001-02-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/PosStream.st: Added #isExternalStream
* kernel/FileStream.st: Added #isExternalStream
* kernel/MthContext.st: Print namespaces in backtraces
* kernel/AnsiExcept.st: Exception's coreException is
now a child of ExAll, rather than ExAll
* kernel/ContextPart.st: Use Process-wide unwindPoints.
* kernel/ExcHandling.st: Rewritten to use marked contexts
instead of separate Dictionaries (faster, neater & less buggy).
* kernel/Process.st: Defined unwindPoints and its accessors.
2001-02-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/HashedColl.st: Keep the size of the collection
a prime number (stolen from GLib).
2001-02-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: correct #copyReplaceAll:with: which
created wrong-sized collections.
2001-02-05 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Avoid overfull hboxes due to missing
hyphenation. Also emit indexes.
* kernel/AnsiDates.st: Added missing comments.
* kernel/AnsiExcept.st: Added missing comments.
* kernel/CObject.st: Added missing comments.
* kernel/Date.st: Added missing comments.
* kernel/DirMessage.st: Added missing comments.
* kernel/ExcHandling.st: Added missing comments.
* kernel/Number.st: Added missing comments.
* kernel/ObjDumper.st: Added missing comments.
* kernel/OtherArrays.st: Added missing comments.
* kernel/PosStream.st: Added missing comments.
* kernel/ProcSched.st: Added missing comments.
* kernel/ScaledDec.st: Added missing comments
* kernel/SortCollect.st: Added missing comments.
* kernel/SymLink.st: Added missing comments.
* kernel/Symbol.st: Added missing comments.
* kernel/Time.st: Added missing comments.
2001-02-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/DLD.st: Added support for dynamically-loaded modules,
removed the need for the ExternalFunctions variable.
* kernel/PkgLoader.st: Added support for dynamically-loaded modules
* kernel/Directory.st: Added class method #module
2001-01-31 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Moved Set builtins to HashedCollection
* kernel/File.st: Added #isExecutable/#isAccessible
* kernel/HashedColl.st: New file
* kernel/OtherArrays.st: New file
* kernel/Set.st: Moved lots of it to HashedColl.st;
added methods to do arithmetic.
2001-01-30 Paolo Bonzini <bonzini@gnu.org>
* kernel/Directory.st: Added #systemKernel
* kernel/Time.st: Fixed one-second skews in the millisecond clock
2001-01-30 Paolo Bonzini <bonzini@gnu.org>
*** Released version 1.95.1
2001-01-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/LargeInt.st: Fixed bugs in GCD computation which
caused it to be underestimated (bugs were in #bytesLeftShift:big:
and #bytesRightShift:big:)
* kernel/Set.st: Recompute index when adding causes a Set to
grow.
* kernel/Dictionary.st: Likewise.
* kernel/LookupTable.st: Likewise.
2001-01-11 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileStream.st: Removed declaration of #species
* kernel/ByteStream.st: Declared #species to return String
2000-11-11 Jens Bjerrehuus (j.bjerrehuus@acm.org)
* examples/Timer.st: Fixed missing bang
* kernel/Class.st: #addClassVarName: works even if no class variables
were defined.
* kernel/Object.st: #ifNotNil:ifNotNil: --> #ifNotNil:ifNil:
* kernel/UndefObject.st: #ifNotNil:ifNotNil: --> #ifNotNil:ifNil:
2000-11-01 Paolo Bonzini <bonzini@gnu.org>
* examples/Quine.st: New file -- sorry for lack of updates (the
longest since I picked up maintenance), but I really had no free
time anymore!
* kernel/BlkClosure.st: Define #valueWithoutPreemption
* kernel/ProcSched.st: Define (and print correctly) the names
for the two extreme priorities, #rockBottomPriority and
#unpreemptedPriority.
* kernel/Symbol.st: Define #rebuildTable, to rebuild and
garbage collect the symbol table.
* kernel/SymLink.st: Define a creation method, #symbol:nextLink:
-- this is probably the least modified file in GNU Smalltalk!!!
2000-09-11 Paolo Bonzini <bonzini@gnu.org>
* kernel/Dictionary.st: Tried to lessen usage of dirty blocks
* kernel/LookupTable.st: Same as above
* kernel/MethodDict.st: Same as above
* kernel/Set.st: Same as above; plus, added #postLoad/#postStore
* kernel/WeakObjects.st: Same as above
2000-09-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: New meaning of primitive 90, so the name
of the method that invokes it has changed to discardTranslation
* kernel/MethodDict.st: Use CompiledCode>>#discardTranslation
* kernel/Point.st: Fixed bug in #=
2000-09-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Use {} syntax.
* kernel/Class.st: Use {} syntax.
* kernel/Date.st: Use {} syntax.
* kernel/Dictionary.st: Use {} syntax.
* kernel/ExcHandling.st: Use {} syntax.
* kernel/Symbol.st: Use {} syntax.
* kernel/Rectangle.st: Use {} syntax.
* kernel/PkgLoader.st: Use {} syntax.
2000-09-07 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.8.3 released
* kernel/ByteArray.st: Added various shortcut methods
(#uintAt: for #unsignedIntAt: etc.)
* kernel/Builtins.st: Removed ByteMemory methods.
* kernel/ByteMemory.st: Removed
* kernel/Memory.st: Added #bigEndian and various shortcut methods
(#uintAt: for #unsignedIntAt: etc.)
* kernel/WordMemory.st: Removed
2000-09-01 Nigel Williams <nigelw@wizardis.com.au>
* kernel/DLD.st: Fixed typo
2000-08-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: Moved here old SequenceableCollection>>#copyFrom:to:
* kernel/Collection.st: Added #beConsistent
* kernel/SeqCollect.st: reimplemented #copyFrom:to: to use #add:
* kernel/OrderColl.st: Added support for #beConsistent, added
#basicRemoveFirst and #basicRemoveLast.
* kernel/SortCollect.st: Modified to use #beConsistent, fixed several
buglets.
2000-08-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Added #basicNewInFixedSpace, #basicNewInFixedSpace:
and #makeFixed. Also added error handling to #become:
* kernel/Behavior.st: Added #newInFixedSpace and #newInFixedSpace:.
2000-07-18 Nigel Williams <nigelw@wizardis.com.au>
* kernel/CFuncs.st: Added #address:
* kernel/DLD.st: Re-link and reset the addresses of
all the externally defined functions.
2000-07-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Since usage of Undeclared in the kernel's
source is now allowed, I removed the forward declarations.
* kernel/Class.st: Added support for versionable schemas.
* kernel/CompildBlk.st: Support usage of PluggableProxy.
* kernel/CompildCode.st: Implemented #blockAt:.
* kernel/CompildMeth.st: Support usage of PluggableProxy.
* kernel/ObjDumper.st: Implemented SingletonProxy and
VersionableObjectProxy. Declare usage of proxies for
CompiledMethods, CompiledBlocks and Processor. Rewritten
parts to avoid non-local returns.
* kernel/Processor.st: implemented #printOn: and #storeOn:
2000-07-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/DirMessage.st: Added methods for PluggableProxy support.
* kernel/ObjDumper.st: Implemented AlternativeObjectProxy,
PluggableProxy. Added support for #postStore and used exception
handling to ensure that it is always called. Don't use #perform:
which is slow with the JIT compiler and less flexible than blocks.
* kernel/Object.st: Added #postStore and methods for PluggableProxy
support.
2000-07-04 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Use the new DateTime and Duration classes
* kernel/PkgLoader.st: Use the new DateTime class
* test/ansi/SUnitANSI.st: Fixed a few false negatives
* kernel/SeqCollect.st: Implemented #keysAndValuesDo:
* kernel/RunArray.st: use #keysAndValuesDo: instead of #doWithIndex:
* kernel/CharArray.st: use #keysAndValuesDo: instead of #doWithIndex:
* kernel/ObjDumper.st: use #keysAndValuesDo: instead of #doWithIndex:
* kernel/Date.st: use #keysAndValuesDo: instead of #doWithIndex:
* kernel/OrderColl.st: Allow one to pass non-sequenceable collections
to #addAll:
2000-07-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: New file
* kernel/Bag.st: Added #new: (incredible that it was not here)
* kernel/ExcHandling.st: added BlockClosure>>#ifError: and more
changes for ANSI conformance
* kernel/Builtins.st: Use Number>>#zeroDivide and #arithmeticError:
to raise numeric exceptions.
* kernel/Fraction.st: Likewise
* kernel/LargeInt.st: Likewise
* kernel/Number.st: Added #zeroDivide and #arithmeticError:
* test/ansi/Protos.st: New file
* test/ansi/ProtosDB.st: New file
* test/ansi/ProtosInit.st: New file
* test/ansi/SUnit.st: New file
* test/ansi/SUnitANSI.st: New file
* test/ansi/SUnitCamp.st: New file
* test/ansi/SUnitPreload.st: New file
* test/ansi/SUnitTests.st: New file
* test/ansi/run-tests.st: New file
2000-07-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: Implemented additional #retry... methods
because the JIT does not like #perform:, which is used in
#retry:coercing:
* kernel/Builtins.st: Use the new retrying-coercion methods
* kernel/Fraction.st: Use the new retrying-coercion methods
* kernel/LargeInt.st: Use the new retrying-coercion methods
* kernel/Number.st: #asInteger now uses #rounded for ANSI
compatibility; #integerPart and #fractionPart added.
* kernel/Date.st: Some changes for ANSI compliance
* kernel/PosStream.st: #close is not a stub anymore.
* kernel/Time.st: Some changes for ANSI compliance
* kernel/AnsiDates.st: New file
* kernel/ScaledDec.st: New file
2000-06-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkClosure.st: adjust #asContext: because of the
change below.
* kernel/BlkContext.st: Removed the BlockContext>>#initBlock:
method, replaced with a more JIT-friendly (and involute)
class method called #fromClosure:parent:
* test/intmath.st: Fixed a couple of "must return..." comments
which were actually wrong.
2000-06-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: Rewritten #as... methods to use cascading
and to use the change to #replaceFrom:to:with: below.
* kernel/SeqCollect.st: allow usage of #replaceFrom:to:with: with
unordered collections
* kernel/SortCollect.st: To leave no holes at the front of the
collection, set firstIndex to 1 in #initIndices and #makeRoomLastFor:
(new method). Implemented heap algorithms.
2000-06-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: No need to call #firstIndex:lastIndex:
in #asSortedCollection: because of the change in SortCollect.st
(see below)
* kernel/Delay.st: Reversed the ordering of the Queue's sortBlock
because #removeLast is faster then #removeFirst (it saves memory
because slots freed by #removeLast are reused by #add:, unlike
slots freed by #removeFirst).
* kernel/OrderColl.st: When removing the last item, call
#initIndices
2000-06-17 Paolo Bonzini <bonzini@gnu.org>
*** Released versions 1.95 (development) and 1.7.5 (stable)
2000-06-03 Paolo Bonzini <bonzini@gnu.org>
* examples/Bench.st: Do one more iteration (9 instead of 8) if the
JIT compiler is detected (eh eh eh...)
* kernel/ContextPart.st: Added methods to detect the presence of the
JIT compiler
2000-06-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/Array.st: #isArray returned false instead of true
* kernel/BlkContext.st: Initialize returnIP in #initBlock:, using
the new CompiledCode>>#compileToNativeCodeFor: method
* kernel/Builtins.st: Declare CompiledCode>>#compileToNativeCodeFor:
(primitive 90)
2000-05-28 Paolo Bonzini (bonzini@gnu.org)
* examples/Publish.st: Output to docs/classes.texi instead of
docs/classes.txi
2000-05-12 Paolo Bonzini (bonzini@gnu.org)
* kernel/ByteStream.st: Avoid creating LargeIntegers to retrieve
negative 32-bit numbers. This sped up the loading of collation
data by 10 times!
2000-05-09 Paolo Bonzini (bonzini@gnu.org)
* kernel/RootNamespc.st: #addSubspace: is now a no-op
if a subspace with the given name already exists.
2000-05-04 Paolo Bonzini (bonzini@gnu.org)
*** Version 1.94.90 released
2000-04-27 Paolo Bonzini (bonzini@gnu.org)
* kernel/LargeInt.st: Fixed bug in #~=
2000-04-23 Paolo Bonzini (bonzini@gnu.org)
* kernel/FileSegment.st: Changed length variable to size, added
#withFileDo:
* kernel/SortCollect.st: Removed a few non-local returns
2000-04-12 Paolo Bonzini (bonzini@gnu.org)
*** Version 1.7.4 released
* kernel/Behavior.st: Added private method #sharedPoolDictionaries
* kernel/Class.st: Added private method #sharedPoolDictionaries
* kernel/Metaclass.st: Added private method #sharedPoolDictionaries,
used it to fix bug with redefinition of classes with pool dictionaries
2000-04-10 Paolo Bonzini (bonzini@gnu.org)
* examples/CStream.st: Moved to compiler/STFormatter.st
* examples/IndStream.st: Moved to compiler/STFormatter.st
* kernel/Symbol.st: Perfected #printOn: (to be perused by formatter...)
2000-03-23 Paolo Bonzini (bonzini@gnu.org)
*** Version 1.7.3 released
2000-03-11 Paolo Bonzini (bonzini@gnu.org)
*** Version 1.7.2 released
2000-02-24 Paolo Bonzini (bonzini@gnu.org)
* kernel/Delay.st: Fixed race condition when garbage collection
suspended the interpreter and Delay class>>#timeout: was called
when the process should have been already resumed.
2000-02-22 Paolo Bonzini (bonzini@gnu.org)
*** Version 1.7.1 released
2000-02-22 Paolo Bonzini (bonzini@gnu.org)
* kernel/File.st: Added methods to test file accessing modes.
2000-02-21 Paolo Bonzini (bonzini@gnu.org)
* kernel/Builtins.st: Added a few time-zone related methods.
* kernel/Time.st: Added a few time-zone related methods.
2000-02-15 Paolo Bonzini (bonzini@gnu.org)
*** Version 1.7 released
2000-02-01 Paolo Bonzini (bonzini@gnu.org)
* kernel/CompildCode.st: Print bytecode 132 according to the new
coding
2000-01-31 Paolo Bonzini (bonzini@gnu.org)
*** Sixth beta of 1.7 (labeled 1.6.85) released
1999-12-31 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Use identity for RootNamespaces' equality
and the #identityHash for hashing
* kernel/Symbol.st: Sending #copy, #shallowCopy or #deepCopy to
a symbol was actually answering a String!!
2000-01-28 Paolo Bonzini (bonzini@gnu.org)
* kernel/BlkContext.st: fixed #initBlock: for CompiledBlocks
* kernel/Builtins.st: removed declarations of #adjPtrBy: and
#ptrDiff:... as primitives
* kernel/CObject.st: implemented #adjPtrBy: and #ptrDiff:... in
Smalltalk
2000-01-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkClosure.st: Access lots of things through CompiledBlocks.
* kernel/CompiledBlk.st: Created.
* kernel/CompildCode.st: Created from CompildMeth.st.
* kernel/CompildMeth.st: Removed `class' and `selector'
variables, which are now accessed indirectly through the
descriptor (`MethodInfo') object. Moved lots of code to
kernel/CompildCode.st
* kernel/MethodInfo.st: Added `class' and `selector' variables
2000-01-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Integer primitives now defined in
SmallInteger.
* kernel/Integer.st: Moved part to SmallInt.st
* kernel/LargeInt.st: Removed #isIdentity and #isSmallInteger
(now they are not defined anymore in Integer, but rather in
SmallInteger which is not a superclass of LargeInteger).
* kernel/Number.st: Added abstract #asFloat method.
* kernel/SmallInt.st: Created from Integer.st
* test/intmath.st: `Integer largest' --> `SmallInteger largest';
`Integer smallest' --> `SmallInteger smallest';
2000-01-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/ByteArray.st: C-like accessors (e.g. #intAt:) had
sizeof(long) hardcoded as 4. Fixed.
* kernel/Behavior.st: Fixed problem with #allInstances, when
instances of the class are created during its execution.
* kernel/CompildMeth.st: Use ByteArray literal in #accesses:
just to show that it is possible.
* kernel/Date.st: Use ByteArray literal in
#daysInMonthIndex:forYear: just to show that it is possible.
2000-01-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkContext.st: Added #isEnvironment
* kernel/ContextPart.st: Use #isEnvironment in #environment,
added #isEnvironment as an abstract method
* kernel/MthContext.st: Added #isEnvironment
* kernel/CompildMeth.st: Print new bytecode 143
1999-12-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/ContextPart.st: Set to nil the stack slots that become
accessible because of sending #sp: to a context.
* kernel/FileStream.st: Added #stdin/#stdout/#stderr accessors
for global variables.
* kernel/Transcript.st: Class name changed to TextCollector
for consistency with other environments
1999-12-28 Paolo Bonzini <bonzini@gnu.org>
*** Fifth beta of 1.7 (labeled 1.6.84) released
1999-12-27 Paolo Bonzini <bonzini@gnu.org>
* examples/Debugger.st: New implementation of #blockCopy: (bytecode
200).
* kernel/Builtins.st: Primitive 80 (blockCopy:) is now used by
BlockClosure.
1999-12-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkClosure.st: New `method' instance variable
* kernel/ContextPart.st: Removed methodClass variable,
replaced implementation of the accessor to retrieve the class
from the method.
* kernel/MthContext.st: New implementation of #selector.
1999-12-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Support for the new `class' and `selector'
variables in CompiledMethods.
* kernel/ClassDesc.st: Support for the new `class' and `selector'
variables in CompiledMethods.
* kernel/CompildMeth.st: New `class' and `selector' variables in
CompiledMethods.
* kernel/MethodDict.st: encapsulated #removeAssociation: which
can be dangerous just like #removeKey:ifAbsent:.
1999-12-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkContext.st: Removed home, moved receiver to ContextPart.
* kernel/ContextPart.st: Removed hasBlock, made the structure of
contexts more uniform (only two variables lie in the subclasses)
* kernel/MthContext.st: Moved method, methodClass, receiver to
ContextPart.
1999-12-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Hacked Float>>#hash so that '2 hash = 2.0 hash'
* kernel/CompildMeth.st: Bit 30 is now part of the method flags.
1999-12-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/WordMemory.st: Added accessor for the `Bigendian' global
variable.
1999-12-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: ANSI asks for 65535 instance variables, so I
shifted the instance specification's `number of instance vars' field
right by three bits (now 262143 variables are possible).
* kernel/Directory.st: Added methods to manage file names.
* kernel/ExcHandling.st: Neater implementation of #pass and
#signalWithArguments:, more encapsulation in the
ExceptionHandler class.
* kernel/File.st: Added methods to manage file names; plus,
use the strerror C function.
1999-11-26 Paolo Bonzini <bonzini@gnu.org>
*** Fourth beta of 1.7 (labeled 1.6.83) released
1999-11-23 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Fixes for Texinfo 4.0 (which produces
HTML too, not just TeX and Info).
* kernel/Class.st: GNU Smalltalk's #variableWordSubclasses:
are actually IBM Smalltalk's #variableLongSubclasses: (fix
to the compatibility methods).
1999-11-21 Paolo Bonzini <bonzini@gnu.org>
* examples/bench.st: Fixes to make measurements more constant.
See `e)' in the discussion of the results at the top of the
file.
* kernel/ClassDesc.st: #fileOutCategory:toStream: was ending
a category with `!!' instead of `! !'
* kernel/FileStream.st: Added #nextPutAllFlush:
* kernel/Transcript.st: use #nextPutAllFlush: when stdout is
the transcript.
1999-11-19 Paolo Bonzini <bonzini@gnu.org>
* examples/Prolog.st: Added
1999-11-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Better handling of mutation -- create
a lightweight class with the old representation, change the
object to it and forget #specialBasicAt:.
* kernel/Object.st: Better handling of mutation -- see above.
1999-11-17 Paolo Bonzini <bonzini@gnu.org>
* examples/Lisp.st: Added
* kernel/CharArray.st: Moved implementation of #asNumber to
Number>>#readFrom:
* kernel/Number.st: #readFrom: reads a Number from the current
stream position, not from its start (correct semantics)
1999-11-14 Paolo Bonzini <bonzini@gnu.org>
* examples/Bench.st: More comparisons added
* kernel/CompildMeth.h: Move flag bits to high end, so that there is
place for two additional bits if needed
* kernel/BlkContext.c: BlockContexts now hold the receiver and the
BlockClosure instead of the number of arguments and temporaries.
1999-11-06 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Support for namespaces
1999-11-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/ClassDesc.st: moved #nameIn: from Class.
* kernel/Class.st: moved #nameIn: to ClassDescription.
1999-10-31 Paolo Bonzini <bonzini@gnu.org>
*** Third beta of 1.7 (labeled 1.6.82) released
1999-10-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Added optimized version of #anyOne
1999-10-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Use the last decimal digit as a guard digit
when printing
* kernel/SeqCollect.st: Added #do:separatedBy:
1999-10-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Moved a few String primitives to CharacterArray
* kernel/Object.st: Added #isCharacterArray
* kernel/String.st: Moved most code to CharArray.st
* kernel/CharArray.st: Created by refactoring of String.
1999-10-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/Object.st: Added #display* methods.
* kernel/String.st: added #displayOn: and #displayString methods.
* kernel/Symbol.st: added #displayOn: and #displayString methods.
* kernel/Character.st: added #displayOn: methods.
1999-10-13 Paolo Bonzini <bonzini@gnu.org>
* examples/Buffers.st: Created from tcp/ReadBuffer.st and
tcp/WriteBuffer.st
* kernel/Builtins.st: Set's #primXXX methods moved here
* kernel/Float.st: #hash was not always returning integers
* kernel/Set.st: Removed #primXXX
1999-10-11 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Added missing #integerPart (`num := self
integerPart' was `num := self') in code to print the Float's
integer part -- the solution to the printing bug that I had
tried on Oct 2nd was wrong.
* kernel/WeakObjects.st: Added #postLoad to WeakArray to make
the array weak again.
1999-10-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Association.st: Parts moved to kernel/LookupKey.st.
* kernel/Builtins.st: Added comment for the new behavior of file-ins
regarding undeclared globals (usage of the `Undeclared' dictionary).
* kernel/FileStream.st: Same as above.
* kernel/LookupKey.st: Recreated from parts of kernel/Association.st.
* kernel/PkgLoader.st: Added ability to ignore undeclared call-outs
(useful for producing documentation without recompiling the VM).
1999-10-09 Paolo Bonzini <bonzini@gnu.org>
*** Second beta of 1.7 (labeled 1.6.81) released
* kernel/Builtins.st: Added primitive to flush the dynamic
translator's code cache. Fail on `anInteger asOop'.
* kernel/CompildMeth.st: Use the primitive above.
1999-10-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Use MethodDictionaries; removed calls to
#flushCache since they are in MethodDict.st
* kernel/Builtins.st: Removed definition of primitives in
Array that were there to minimize the possibility that removals
inside the MethodDictionary of a class crashed the system.
* kernel/MethodDict.st: Created
1999-10-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Added helper class ActiveHandlersList
to avoid messy usage of ReadStreams and #copy.
* kernel/Float.st: Added #ln10 class method to answer 2.302...
* kernel/Number.st: Added #log.
* kernel/ObjDumper.st: Fixed bugs in namespace handling.
1999-10-04 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Remove subclasses of CStruct from
the manual.
* kernel/CompildMeth.st: #literals was erroneously going
into an infinite loop (^self literals).
1999-10-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Fixed \\ (was returning the floor of
the result) and printing (the last integer digit of numbers
with a large decimal part, such as 4.999, was misprinted --
5.999 in this case)
* kernel/Number.st: Fixed rounded (was using `truncated'
instead of `floor')
* test/intmath.st: Added more // and \\ tests.
* test/floatmath.st: Added // and \\ tests.
1999-09-30 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkClosure.st: Added #repeat
* kernel/Date.st: Added #shortNameOfMonth
* kernel/Stream.st: Moved methods that traditionally were in
PositionableStream, but which I implemented without using
PositionableStream protocol, here; added #splitAt:
* kernel/PosStream.st: Opposite of above
1999-09-25 Paolo Bonzini <bonzini@gnu.org>
*** First beta of 1.7 (labeled 1.6.80) released
1999-09-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/Set.st: Initialize in new method #initialize:
* kernel/LookupTbl.st: Initialize in #initialize:
* kernel/WeakObjs.st: Initialize hashed collections in #initialize:
* kernel/RootNamespc.st: Initialize #Super key in #setSuperspace:
1999-09-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Use a WeakArray in #allInstances
* kernel/Builtins.st: moved all `Smalltalk at: #... put: nil' declarations
here. Fixed missing dot in Behavior>>#basicNew:
* kernel/CType.st: CArrayCType subclass of CPtrCType
* kernel/LookupTbl.st: Created from IdentDict.st
* kernel/IdentDict.st: Mostly moved to LookupTbl.st
* kernel/SeqCollect.st: moved #swap:with: to SortedCollection -- it was
used just there, and meant to be used just there.
* kernel/SortCollect.st: #swap:with: moved here.
* kernel/WeakObjects.st: Created
1999-09-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/Bag.st: Added #sortedByCount.
* kernel/BlockClosure.st: Don't make copies (answer the original object)
* kernel/Character.st: Added #isPunctuation
* kernel/UndefObj.st: Nil should not have dependents
1999-09-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/Directory.st: Added #create:
* kernel/Object.st: Added #broadcast:with:with:
* oodb/*: Added
* test/chars.st: Made more comprehensive
* test/exceptions.st: Added
* test/sets.st: Added
* test/*.base: Renamed to *.ok for easier life on 14-char systems.
1999-09-14 Paolo Bonzini <bonzini@gnu.org>
* examples/Case.st: Added #ifEqualTo:do:
* examples/SortCriter.st: Added
* kernel/ObjDumper.st: Uses preStore and postLoad.
* kernel/Object.st: Definition of preStore and postLoad.
* kernel/SortCollect.st: Added DefaultSortBlock to SortedCollection;
uses preStore and postLoad.
1999-09-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Variable instanceVariables came here from
ClassDescription.
* kernel/Class.st: Variables name/comment/category/environment
moved to Class (they make no sense in Metaclass, so why were they
in ClassDescription?)
* kernel/ClassDesc.st: Combination of the two above.
1999-09-11 Paolo Bonzini <bonzini@gnu.org>
* kernel/ClassDesc.st: Implementation of namespaces
* kernel/Class.st: Implementation of namespaces
* kernel/Namespace.st: Created from Behavior.st and SysDict.st
* kernel/Object.st: Smalltalk is no longer a pool dictionary.
* kernel/RootNamespc.st: Created from Behavior.st and SysDict.st
* kernel/SysDict.st: Moved something to Namespace.st and RootNamespc.st
* kernel/UndefObject.st: Implementation of namespaces
1999-09-10 Paolo Bonzini <bonzini@gnu.org>
* examples/Queens.st: added #do: to NullQueen.
* kernel/BlkClosure.st: BlockClosures are now variableWordSubclasses
since the previous encoding was incompatible with the code to switch
the endianness in a saved image.
* kernel/PosStream.st: Added support for Cr/Lf terminators in #nextLine.
1999-09-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/Delay.st: #idle method now lies in ProcessorScheduler.
* kernel/ProcSched.st: Added support for idle block registration.
1999-08-31 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: Added #with:collect:
* kernel/ArrayColl.st: Added #with:collect:, removed duplicate definition
of #copyWith:
1999-08-29 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.6.2 released.
1999-08-26 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Finally got hierarchy tree formatting to work.
* kernel/DLD.st: Don't define the `DLD' feature since DLD.st is always
loaded now. The feature is defined in lib/dict.c if the DLD functions
are not stubs.
* kernel/Float.st: Use CDoubleMin and CDoubleMax.
* kernel/PkgLoader.st: More meaningful error messages (`package
not available' instead of `key not found').
1999-08-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: `Smalltalk snapshot' primitive (250) removed
-- the new ImageFileName global makes it redundant.
* kernel/File.st: Added polite accessor to the ImageFileName global
(File class>>#image).
* kernel/SysDict.st: `Smalltalk snapshot' primitive (250) is now
implemented in terms of the new ImageFileName global.
1999-08-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Declare `unlink' (valid only for files) instead of
`remove' (which works for directories too) to be used to implement
File class>>#primRemove:
1999-08-07 Paolo Bonzini <bonzini@gnu.org>
* examples/Case.st: Provided by Ulf Dambacher.
* examples/EditStream.st: Provided by Ulf Dambacher.
* examples/Watchdog.st: Provided by Ulf Dambacher.
* kernel/Date.st: Handle dates like 0-Feb-1989.
* kernel/MappedColl.st: Added `domain' and `map' accessors.
* kernel/Transcript.st: In #next:put:, #new:withAllPut: (which does not
exist) was sent to String instead of #new:withAll:
* kernel/ValueAdapt.st: Added NullValueHolder.
1999-07-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Removed conditional code so that images produced
by computers with different endianness can be used.
* test/delays.st: Created from test/processes.st since it is the
only part that fails under some architectures (e.g. SunOS)
1999-06-25 Paolo Bonzini <bonzini@gnu.org>
*** Bug-fixing version 1.6.1 released.
1999-06-17 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.6 released.
1999-06-09 Pahi Andras <pahi@mozart.eet.bme.hu>
* kernel/DLD.st: Fixed lots of stupid bugs (misspelled method names
and more)
* test/arrays.st: Renamed (used to be array.st) so that it works
in case-insensitive filesystems.
* test/classes.st: Renamed (used to be class.st) for same reason.
* test/processes.st: Renamed (used to be process.st) for same reason.
1999-06-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: #at:put: for C strings and aggregates
(arrays/ptrs) can take both a smalltalk object and a CObject.
* kernel/CObject.st: Moved some primitives to Builtins.st
* kernel/CompildMeth.st: #storeOn: stored bytecodes as an
Array (not a ByteArray).
* kernel/Object.st: #storeOn: now uses the Object's validSize.
1999-05-31 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildMeth.st: Added #stripSourceCode.
* kernel/Date.st: Some bug fixes.
* kernel/MethodInfo.st: Added #stripSourceCode.
1999-05-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/Date.st: Removed iterative algorithms, replaced with numerical
ones proposed by Jeff Rosenwald (JeffRose@acm.org).
1999-05-23 Paolo Bonzini <bonzini@gnu.org>
* examples/Debugger.st: Added new bytecodes
1999-05-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Finished revamped Floats -- added #hash
1999-05-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/Transcript.st: Moved here from blox. Modified to initially
set up a Transcript on stdout.
* kernel/Object.st: Changed #print and #store to work with the Transcript
object.
1999-05-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Exception handlers are now per process.
* kernel/Fraction.st: Added code to test for NaNs in #asFloat. Also, now
I use #quo: in #reduced.
* kernel/LargeInt.st: Misc bug fixes.
* kernel/Process.st: Added exceptionHandlers variable.
* kernel/Object.st: added #ifNil:, #ifNotNil: and companions.
* kernel/UndefObject.st: added #ifNil:, #ifNotNil: and companions.
1999-05-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Added stuff to print/store infinite values and NaNs
* kernel/LargeInt.st: changed divide:using: and reverseStringBase:on:
to special case divisions by small (< 256) divisors.
* kernel/WriteStream.st: Fixed #size -- was returning 1 more than the
correct value. For example, "String new writeStream size" returned 1.
1999-05-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Changed the system message #booleanRequired to
#mustBeBoolean for coherence with the Blue Book (I had not noted
that passage).
1999-05-02 Luciano Esteban Notarfrancesco <lnotarfr@dc.uba.ar>
* kernel/SortCollect.st: new algorithm for #includes: and
#occurrencesOf:
* kernel/Number.st: new algorithm for #raisedToInteger: and
#raisedTo:. Added #isRational.
* kernel/Fraction.st: Added #isRational. Generality multiplied by 100.
* kernel/Integer.st: #gcd: and #lcm: always return positive numbers.
Added #isRational. Generality multiplied by 100.
* kernel/Float.st: Generality multiplied by 100.
* kernel/LargeInt.st: Generality multiplied by 100.
1999-04-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildMeth.st: Added code to handle the 142 (replace stack
top) bytecode in the #accesses: method.
1999-04-27 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.5.beta3 released.
1999-04-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: Added #new:withAll: .
* kernel/Builtins.st: added #at:/#at:put:/#basicAt:/#basicAt:put: to
Array. They are needed so that, when updating method dictionaries,
GST doesn't look for methods inherited by Array and defined in
method dictionaries that are still in a semi-updated state (e.g.
this happens when removing Collection's #inspect method, during Blox's
load). Thanks to Christopher Painter-Wakefield for signaling this.
1999-04-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildMeth.st: Added code to print the nop bytecode (139)
1999-04-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/ContextPart.st: Added hasBlock instance variable, moved
its accessor here (used to be in the subclasses)
* kernel/MthContext.st: Removed hasBlock instance variable and
its accessor
* kernel/BlkContext.st: Same as above
* kernel/Builtins.st: Moved in (as methods in SystemDictionary) the
two primitives that were in examples/PerfMonitor.st
* examples/PerfMonitor.st: Nuked; its contents are now part of
Builtins.st
* cxtnsn/DLD.st: Modified so that if you use defineCFunc:... and
DLD is used, unresolved functions are searched in dynamically linked
libraries. One day I'll make it use dlopen and dlsym.
1999-04-10 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.5.beta2 released.
* kernel/Time.st: Remove GMT from printOn: (see changes in sysdep.c).
1999-04-08 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Added some comment guessing.
* kernel/CObject.st: Merged CPtr and CArray into CAggregate at last.
* kernel/SortCollect.st: Fixed implementation of pivot selection.
* kernel/File.st: Fixed file times to be returned relative to 1/1/2000
to avoid possible overflows (which would have happened around 2004
on 32-bit machine, and around 8.000.000.000 AD on 64-bit ones...).
1999-03-15 Paolo Bonzini <bonzini@gnu.org>
*** Version 1.5.beta1 released.
* examples/Publish.st: Some bug fixes now that we use it to generate
GST's manual.
1999-03-13 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Added DocumentationClassPublisher (refactored
from HTMLClassPublisher) and TexinfoClassPublisher.
1999-02-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Added ProcessorScheduler>>#isTimeoutProgrammed
as part of the changes below for Delay.
* kernel/Delay.st: Added backgroundProcess in Delay's
#startDelayLoop class method, and added #idle class method.
Fixed so that delays across two evaluations (i.e. an evalua-
tion starts, a delay is pending when it ends, and then another
evaluation starts which must discard that delay and accept
new ones) works.
* examples/Dinner.st: Ditto
1999-02-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/Class.st: #removeClassVarName: referred to non-
existent method #classVariables (instead of #classPool)
1999-02-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/Symbol.st: Changed storeOn: to properly handle #'ab cd'
symbols and printOn: to use the version inherited from String
1999-02-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Bag.st: printOn: sent `print: ($ )' instead of `space'
* examples/Dinner.st: Created.
* kernel/Process.st: Added various accessors for the regression
tests, changed many things because of changes in the VM,
new experimental interrupt mechanism.
* kernel/ProcSched.st: Added various accessors to account for the
changes in Process.
* kernel/Builtins.st: Moved #blockCopy:... to ContextPart
1999-02-19 Paolo Bonzini <bonzini@gnu.org>
* examples/Queens.st: Created.
1999-02-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/SysDict.st: Added class accessors (eg allBehaviorsDo:)
1999-02-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildMeth.st: Changed for new representation of
literals
1999-02-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/PosStream.st: Fixed #reset to use #position:
* kernel/FileStream.st: Added selectors for new style opening
modes (FileStream open: 'foo' mode: FileStream read)
1999-02-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/ContextPart.st: Finally got the unwinding system to
work.
1999-02-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Symbol.st: Added isSymbolString:
* kernel/CType.st: Great! Factored out everything in CScalarCType!
C*Type are now instances of CScalarCType. So we save a source of
confusion (is it CByteCType or CByteType?!?) and ten classes which
were carbon copies.
1999-02-12 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Added HTML output
1999-02-09 Paolo Bonzini <bonzini@gnu.org>
* examples/Tokenizer.st: Removed recording, which was way too
slow and in fact not even needed by the compiler.
* kernel/Behavior.st: Fixed bug in #extractEvalChunk: not
handling unterminated string literals.
* kernel/Collection.st: Added #removeAll:ifAbsent:
1999-02-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: fixed bug with unwind mechanism: in
code like [ [ 1/0 ] valueWithUnwind ] on: ExAll do: [ :sig | ... ]
the exception handler must NOT be used - in other words, if we
are inside a #valueWithUnwind, outer exception handlers are
momentarily disabled.
* kernel/PkgLoader.st: Created.
* Load.st: Created.
* Reload.st: Created.
1999-02-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Added ExUserBreak.
* kernel/LinkedList.st: Fixed missing dot problem - probably I
had introduced it earlier.
1999-02-04 Paolo Bonzini <bonzini@gnu.org>
* kernel/ContextPart.st: Fixed bug in the unwinding system
(using SystemDictionary>>#halt did not work properly)
1999-02-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: 'self perform: <a Message>' now acts
like '<a Message> sendTo: self' - stole from Dolphin Smalltalk:
not particularly useful, but makes GST more `universal'
* kernel/Symbol.st: Added with:...
* kernel/ObjDumper.st: Changed superclass to Stream. Added proxy
feature.
* kernel/IdentDict.st: Created a separate version of growBy:
which does not involve Associations (which are not used by
IdentityDictionaries). This halved the execution time for
Andreas Klimas' little torture test (examples/mixed/torture.st),
performing half the GCs.
* kernel/FileStream.st: Fixed open and popen to use basicNew
instead of new. new is now disabled.
1999-01-31 Steve Byrne <sbb@gnu.org>
* kernel/Builtins.st: Switched FileStream to returning nil on
failure only if errno = 0. If not, it is probably better to check
the errno. Things like search paths, etc, can be still implemented
(from the highest level to the lowest)
a) by using methods like open:mode:ifFail:
b) by using new exception handling mechanisms
c) by using methods like fileOp:ifFail: - see open:mode:ifFail:
1999-01-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/CObject.st: Added CBoolean.
* kernel/CType.st: Added CBooleanCType
* kernel/Boolean.st: Added `self subclassResponsibility' methods
* kernel/True.st: Added asCBooleanValue
* kernel/Browser.st: Changed the BrowserClassesValid global
(brrr!!!!) to a more sedate-sounding class variable.
1999-01-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileStream.st: #close now sets the `file' instance variable
to nil, to prevent multiple closes of the same file. At least under
Win32 this does not usually cause SIGSEGV or similar: however you
might end up closing the file descriptor for some other open file,
resulting in difficult to catch bugs
* kernel/Behavior.st: Added a few goodies needed to make lightweight
classes work a little better (#new class method, #name instance method)
* kernel/LargeInt.st: Added ~=
1999-01-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/Date.st: Changed now that assignment to argument is invalid.
Fixed asSeconds to answer seconds from 1/1/1901 - with LargeIntegers,
there's no reason to answer seconds from 1/1/1970.
1999-01-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Changed now that assignment to argument is invalid
* kernel/CompildMeth.st: Also
* kernel/Integer.st: Also
* kernel/ObjDumper.st: Also
* kernel/OrderColl.st: Also
* kernel/Point.st: Also
* kernel/Rectangle.st: Also
* kernel/SeqCollect.st: Also
* kernel/Set.st: Also
* kernel/String.st: Also
* kernel/LargeInt.st: Also
* kernel/Collection.st: Changed now that assignment to argument is
invalid. Switched to quicksort for implementing #asSortedCollection:.
* kernel/SortCollect.st: Changed now that assignment to argument is
invalid. Switched to quicksort for implementing #asSortedCollection:.
1999-01-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Fixed up floating point printing to round
correctly. It should work now...
* kernel/LargeInt.st: Implemented a faster way to print
LargeIntegers: I split them into small parts which stay into a
small integer: this usually results in executing a lot fewer
bytecodes (650,000 instead of 5,500,000 to print 1e36)!!
* kernel/Integer.st: Added special floorLog: implementation. Added
largest/smallest.
1999-01-16 Paolo Bonzini <bonzini@gnu.org>
* examples/Tokenizer.st: Added line counting
* kernel/ByteStream.st: Created.
* kernel/ByteArray.st: Added Memory-style accessors. Very
interesting!!
1999-01-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/WriteStream.st: Removed maxSize instance variable
1999-01-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/SysDict.st: Added access to the command line arguments.
* kernel/CFuncs.st: Added getArgc and getArgv
1998-12-15 Paolo Bonzini <bonzini@gnu.org>
* examples/Publish.st: Added class hierarchy (previously methods
laid in ClassDescription).
1998-12-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/ObjDumper.st: Added support for byte objects with fixed
instance variables.
1998-12-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Changed struct Stat format for portability.
* kernel/LargeInt.st: Fixed bug in basicRightShift:
1998-12-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/Object.st: Added postCopy
1998-11-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/Metaclass.st: Finished integration of class-instance
variables
1998-11-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/Character.st: Added lookup table for speed
1998-11-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/Rectangle.st: Changed #intersect to make it work ;-)
* kernel/Builtins.st: Added String>>hash and ByteArray>>hash
1998-11-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Now uses ContextPart class>>#unwind
mechanism
* examples/PushBack.st: Added #position and #position:
* kernel/Metaclass.st: Added methods for class pool/shared pools,
which delegate their work to Class
1998-11-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkContext.st: Switched superclass to ContextPart.
* kernel/MthContext.st: Switched superclass to ContextPart.
* kernel/ContextPart.st: Created.
1998-11-18 Paolo Bonzini <bonzini@gnu.org>
* examples/Debugger.st: Added experimental bytecode simulator.
1998-11-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/CStruct.st: Changed to subclass of CObject and changed
implementation of inspection for easier port to Blox.
1998-11-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/UndefObject.st: Added class creation methods.
* kernel/Object.st: Added class declaration now that nil defines
class creation statements
* kernel/Autoload.st: Class directly created as subclass of nil.
1998-11-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/Metaclass.st: Added instanceVariableNames: for class-instance
variables. Modified mutation policy to be a bit more restrictive but
logical.
1998-10-21 Paolo Bonzini <bonzini@gnu.org>
* examples/CompFileSeg.st: Created.
1998-10-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/CObject.st: Added CSmalltalk. Turned to a variable word
subclass to make access to the address simpler and not cause SIGSEGVs
on trying to access the address instance variable as an object
* kernel/CType.st: Added various storeOn: methods, and classes
CScalarCType and CSmalltalkCType
1998-10-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Changed to a variable byte subclass.
* kernel/Number.st: Added #zero and #unity
1998-10-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkClosure.st: Created from BlkContext.st.
* kernel/SeqCollect.st: Switched to copyEmpty: about a week ago.
Now tried to change to:do: to whileTrue: in a desperate attempt
at gaining more speed ;-)
* kernel/BlkContext.st: Changed to support blocks as closures
1998-10-11 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: Added copyEmpty:, copyEmpty now uses it.
* kernel/Dictionary.st: Changed growing mechanism and other methods
to use #copyEmpty: Also, now #keyAtValue:ifAbsent: uses identity
to compare objects. This was marked as a 'questionable' change in
Brad Diller's extras.st file, but it turns out that most Smalltalks
implement this method this way.
* kernel/OrderColl.st: Switched to using copyEmpty: when growing.
* kernel/Set.st: Switched to using copyEmpty: when growing.
1998-10-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/LargeInt.st: Removed 'self sign = 0' tests, replaced
with overridden methods in LargeZeroInteger.
1998-10-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: Moved here the growing methods that used to
be in SequenceableCollection. Why weren't they
here? OrderedCollection has a different growing
system...
1998-10-04 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Fixed symbol that was being printed instead of
nextPutAll:'d in definition of C functions.
1998-09-30 Paolo Bonzini <bonzini@gnu.org>
* kernel/Rectangle.st: Made #origin, #corner, #bottomRight and
#topLeft return copies of the origin and corner. This is for
consistency with #bottomLeft, #topCenter, etc.
* kernel/TokenStream.st: Removed a few methods whose implementation
was the same as Stream's.
1998-09-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/Object.st: Switched dependancy mechanism to use IdentitySets.
Also declared Dependencies as part of Smalltalk.
1998-09-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/Set.st: Changed storeOn: to avoid hard coding Set as the
class name.
* kernel/CStruct.st: Changed to a fixed subclass. Added 'put'
methods.
* kernel/IdentitySet.st: Created.
* kernel/Directory.st: Promoted to kernel from cxtnsn.
* kernel/File.st: Promoted to kernel from cxtnsn.
1998-09-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/ValueAdapt.st: Created.
1998-09-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/Time.st: Fixed possible secondClock overflow.
Added #asSeconds
* kernel/Date.st: Fixed possible secondClock overflow. Now it
will overflow somewhen in 2038. Hope 64-bit machines are
widespread enough by that time... I'll be 58.
1998-09-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Added CObject>>free, String>>valueAt:,
String>>valueAt:put:
* kernel/Random.st: Changed algorithm. Needed because, with new
LargeInteger support, the old algorithm created a lot of temporary
objects and caused a lot of GCs. This algorithm uses Floats; it
has approximately the same chisquare as the old one. The performance
is not as good as when it used small Integers, but better than
LargeIntegers. There are algorithms which use small Integers without
overflowing; I know about one of them, but it only works with 32 bit
words and ours only have 30 bits. Tell me if you can find one!
1998-09-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkContext.st: Added accessr functions; there didn't seem to be a
good reason why they weren't there in the first place.
* kernel/MthContext.st: Oops... methodClass instance variable was missing!
* kernel/BlkContext.st: Added printOn: and backtrace methods
* kernel/PosStream.st: Modified so that upTo:, upToAll:, skipTo:, upToEnd,
skipToAll: operate unidirectionally on the receiver. This is needed to
make them work with special streams such as stdin.
* kernel/MthContext.st: Added printOn:, home and backtrace methods
1998-09-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Added support for LargeIntegers. This
included adding a 'fail' section to Integer>>asFloat. Also changed
asObjectNoFail to return nil if bad OOP index.
* kernel/WordMemory.st: Added LargeInteger support (well, actually
just removed 'sorry, no LargeIntegers yet' errors); shifted to
to bitShift: instead of * and // (which are slow with LargeIntegers).
Also now #at:put: returns the stored value (which is what it was
always supposed to do, like any other #at:put:). Finally, the size
of a word is now CLongSize instead of always 4 bytes.
* kernel/Time.st: Fixed secondClock to use LargeIntegers.
1998-09-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/initialize.st: Modified to initialize LargeInteger.
1998-09-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/Builtins.st: Added Behavior>>#flushCache.
* examples/Tokenizer.st: Created from Tok
* examples/PushBack.st: Removed recording capability, which was too
expensive in terms of performance, and moved it to Tokenizer.
* kernel/LargeInt.st: Created.
1998-09-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/WriteStream.st: Changed the growing policy so that
WriteStreams are more efficient at concatenating data.
1998-09-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/MethodInfo.st: Added setSourceCode: to support compiler.
1998-09-03 Paolo Bonzini <bonzini@gnu.org>
* kernel/Set.st: Merged changes by Brad Diller to solve rehash bug.
Added primAt:/primAt:put: to support subclasses that for example
store data on disk or on a separate instance variable.
* kernel/Float.st: Added #asFraction using a continued fractions
algorithm (ugh!)
* kernel/Date.st: Extended to make it more flexible.
* kernel/Interval.st: Fixed bug in #size, returning negative sizes
if step < 0. Changed superclass to ArrayedCollection.
* kernel/Fraction.st: Integrated changes.st.
* kernel/Behavior.st: Merged changes by Brad Diller.
* kernel/Builtins.st: Merged changes by Brad Diller.
* kernel/ClassDesc.st: Merged changes by Brad Diller.
* kernel/Metaclass.st: Merged changes by Brad Diller.
* kernel/Object.st: Merged changes by Brad Diller.
* kernel/IdentDict.st: Merged changes by Brad Diller to solve rehash
bug.
* kernel/Dictionary.st: Merged changes by Brad Diller to solve rehash
bug. Also modified add: to resuse the existing Association if there
is one, rather than always using the parameter. Changed hashing so
that hashing a dictionary that contains itself is not a problem.
* kernel/Class.st: Merged corrections by Brad Diller.
* kernel/Association.st: Switched superclass to be Magnitude. Added
class equality test to Association>>#=
* kernel/DirMessage.st: Created.
* kernel/RunArray.st: Created around January 1997.
* kernel/ObjDumper.st: Created around March 1997.
* kernel/ExcHandling.st: Now uses SystemDictionary>>#halt. Thanks
Brad Diller.
1998-09-02 Paolo Bonzini <bonzini@gnu.org>
*** Began development of version 1.6
1997-07-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Created.
1996-04-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/Set.st: Refactored to reduce duplicated code
in Dictionary and IdentityDictionary.
1995-09-30 Steve Byrne <sbb@gnu.org>
*** Version 1.1.5 released.
1995-09-16 Steve Byrne <sbb@gnu.org>
* kernel/CType.st: Removed separate valueType defintion for
pointers and arrays (returning eltCType); using the inherited
version instead.
* kernel/Fraction.st: Added storeOn:, cleaned up formatting a bit.
* kernel/Class.st: Fixed a bug in subClass:... was saying 'words: true',
which means that the object consists of non-gc'ed words. subClass is
pointers which are GC'ed, and saying word: true was just plain 100%
wrong.
1995-09-09 Steve Byrne <sbb@gnu.org>
* kernel/CType.st: Adjusted sizes of scalar types to use actual
values for the platform instead of constant values that Smalltalk
made up.
1995-09-04 Steve Byrne <sbb@gnu.org>
* kernel/Class.st: Incorporated (finally) Jim Fulton's fix to the =
operator.
* kernel/Object.st: Incorporated (finally) Jim Fulton's fixes to
removeDependent:
1995-08-26 Steve Byrne <sbb@gnu.org>
* kernel/Builtins.st: Modified Behavior #new & friends (primitives
70 & 71) to issue errors when they are used inappropriately
(such as sending #new to an indexable class).
1995-07-23 Steve Byrne <sbb@gnu.org>
* kernel/CStruct.st: Added struct datatypes int and uInt.
1995-07-16 Steve Byrne <sbb@gnu.org>
* kernel/Behavior.st: Fixed instsize to correctly shift by 4, now
that bit 0 (st) is reserved for the hasFinalize flag.
1995-07-14 Steve Byrne <sbb@gnu.org>
* kernel/Metaclass.st: Fixed so that invalid variable names cannot
be declared.
1995-05-29 Steve Byrne <sbb@gnu.org>
* kernel/Boolean.st: Fixed to have a simple deep copy and shallow
copy.
1995-05-07 Steve Byrne <sbb@gnu.org>
* kernel/CObject.st: Added usage of more machine size constants
(float,long, ptr, double).
1995-05-06 Steve Byrne <sbb@gnu.org>
* kernel/CStruct.st: Updated for new C type system.
1995-05-01 Steve Byrne <sbb@gnu.org>
* kernel/CType.st: Changed CType>>cObjectType to return CObject
instead of subclass responsibility.
1995-04-29 Steve Byrne <sbb@gnu.org>
* kernel/CType.st: Added cObjectType -- may be replacing
what the baseType method was, but this is more
descriptive. Also added a new operation on CType
instances to create a new CObject subclass from the
CType instance.
* kernel/CObject.st: Moved the creation of CType instances into
CType. Removed forward declaring of CType instances from this
file and changed the load order to load CObject first
since it now has no dependencies on the CType symbols.
* kernel/CType.st: Moved the creation of the instances of CType
subclasses into this file -- makes more sense here.
* kernel/CType.st: Removed baseType -- it appears to have no function
now.
1995-01-08 Steve Byrne <sbb@gnu.org>
* kernel/CObject.st: Converted to new types.
* kernel/CObject.st: Fixed some bugs with pointer subtraction.
1995-01-02 Steve Byrne <sbb@gnu.org>
* kernel/CType.st: Hacked for new type architecture.
1994-10-08 Steve Byrne <sbb@gnu.org>
* kernel/Builtins.st: Added SystemDictionary>>growTo:
1994-09-15 Steve Byrne <sbb@gnu.org>
*** Version 1.2.alpha1 released.
1994-08-30 Steve Byrne <sbb@gnu.org>
* examples/MemUsage.st: Added header stuff
* examples/PrtHier.st: Added header stuff.
1994-08-21 Steve Byrne <sbb@gnu.org>
* kernel/Behavior.st: Adjusted tests for low bit int marking.
* kernel/CompildMeth.st: Fixed for low bit int marking
1994-08-14 Steve Byrne <sbb@gnu.org>
* kernel/Builtins.st: Fixed ~~ on integers to return true (the
objects did not match) if the primitve failed.
1994-07-24 Steve Byrne <sbb@gnu.org>
* kernel/FileStream.st: Added class>>require:
1994-07-10 Steve Byrne <sbb@gnu.org>
* kernel/ClassDesc.st: Fixed instVarNames to deal properly with
classes which have no instance variables.
* kernel/MthContext.st: Added accessr functions; there didn't seem
to be a good reason why they weren't there in the first place.
* kernel/Class.st: Fixed allClassVarNames and allSharedPools to
properly deal with nil collections of class variables or
pool dictionaries.
1994-07-02 Steve Byrne <sbb@gnu.org>
* kernel/SysDict.st: Fixed dependenciesAt: to return nil if there
was no dependency already present.
1994-06-12 Steve Byrne <sbb@gnu.org>
* kernel/CObject.st: Added adjPtrBy:, derefAt:, etc. (finally).
1994-04-30 Steve Byrne <sbb@gnu.org>
* kernel/Builtins.st: Added incrBy:
1994-04-09 Steve Byrne <sbb@gnu.org>
* kernel/CObject.st: Added CScalar, value: methods on scalar
instances as a shorthand notation for instance creation, started
folding in the effects of the CType new method.
* kernel/CType.st: Added alloc:type:
1994-04-05 Steve Byrne <sbb@gnu.org>
* kernel/Builtins.st: Added CObject>>alloc:type:
1994-03-26 Steve Byrne <sbb@gnu.org>
* kernel/WordMemory.st: Added little endian support.
1994-02-06 Steve Byrne <sbb@gnu.org>
* kernel/ProcSched.st: Fixed the 'symbolic constants' for priority to
actually return their values, instead of returning
self (duh!).
1993-10-17 Steve Byrne <sbb@gnu.org>
* kernel/Message.st: Added accessors for the components.
1993-10-16 Steve Byrne <sbb@gnu.org>
* kernel/ProcSched.st: Fixed yield to operate correctly in the
presence of repeated higher priority interrupts.
* kernel/ClassDesc.st: Fixed addInstVarName: specially treat meta
classes and grow their single class instances when new instance
variables are added to the class.
1993-10-03 Steve Byrne <sbb@gnu.org>
* kernel/ArrayColl.st: Put in #copy, to use replace from to get the
nice efficient copy that we can have if we are an array.
1993-10-01 Steve Byrne <sbb@gnu.org>
* kernel/Dictionary.st: Fixed removeKey:ifAbsent: to evaluate the
ifAbsent block if the key actually was absent. Previously,
this was being evaludated only if the entire dictionary was full
and the key was not found.
1993-09-26 Steve Byrne <sbb@gnu.org>
* kernel/Collection.st: Made exceptionBlock's value in
detect:ifNone: be returned, so the exception handler could just
yield a value if it wanted.
* kernel/String.st: Fixed some methods to check its second
operand's type before calling into primitives which don't check type.
1992-11-27 Steve Byrne <sbb@gnu.org>
* kernel/Class.st: Fixed variableSubclass:... to correctly mark new
subclasses as being pointers and indexable, but not words (words
implies unscanned raw data).
* cxtnsn/DLD.st: Added support to DLD for searching through a list of
libraries to resolve references, with the default being libc.
1992-05-25 Steve Byrne <sbb@gnu.org>
* kernel/Browser.st: Added support for Emacs caching class names
1992-02-23 Steve Byrne <sbb@gnu.org>
* kernel/String.st: Added asInteger and asByteArray.
1992-02-16 Steve Byrne <sbb@gnu.org>
* kernel/Autoload.st: Created in the 1.1 timeframe
* kernel/Fraction.st: Created in the 1.1 timeframe
* examples/Publish.st: Created 02 92.
* kernel/Browser.st: Created a while ago
* kernel/CType.st: Created summer 90
* kernel/CObject.st: Created summer 90.
* kernel/CStruct.st: Created summer 90.
1992-02-15 Steve Byrne <sbb@gnu.org>
* kernel/Collection.st: Switched the collection creating enumerators
to use the copyEmpty message, so it can be overridden by subclasses
(like SortedCollection) when copying empty involves more than
just doing a new.
1991-12-14 Steve Byrne <sbb@gnu.org>
* kernel/ByteArray.st: Added asString -- generally useful functionality,
but especially for STIX.
1991-11-28 Steve Byrne <sbb@gnu.org>
* kernel/Builtins.st: Added SystemDictionary byteCodeCounter.
* kernel/ByteArray.st: Added growSize method -- 10 wasn't right, and
we should probably base the grow size on the size of the object in
question.
* kernel/ByteArray.st: Switched shallowCopy to use faster primitives.
1991-11-02 Steve Byrne <sbb@gnu.org>
* kernel/Builtins.st: Fixed == and ~~ definitions for Integer to fail
if the integers aren't = (including the case where they aren't both
integers). Used to retry:coercing: which lost badly.
1991-10-20 Steve Byrne <sbb@gnu.org>
* kernel/Builtins.st: Added support for user level control of GC growth
rate flags.
1991-09-22 Steve Byrne <sbb@gnu.org>
* kernel/FileStream.st: Added #popen:dir:ifFail: and #open:mode:ifFail:
so that open failures can be explicitly handled.
Thanks to Michael Richardson for the brilliant idea!
* kernel/Builtins.st: Switched FileStream to returning nil on failure,
so that higher level methods can chose to deal with failure. This was
due to a brilliant observation by Michael Richardson. Now that higher
level functions can handle failure, things like search paths, etc,
can be trivially implemented.
1991-09-15 Steve Byrne <sbb@gnu.org>
* kernel/CompildMeth.st: Adjusted to account for larger numbers of
primitives, literals, and temporaries.
1991-07-28 Steve Byrne <sbb@gnu.org>
* kernel/Dictionary.st: Fixed #= to check argument class. Also
fixed printing and storing to use cascaded messages.
* kernel/Set.st: Checks argument type better.
* kernel/Bag.st: Now checks args better.
* kernel/IdentDict.st: Fixed #= to check argument class. Converted
to use cascaded printing.
1991-07-19 Steve Byrne <sbb@gnu.org>
* cxtnsn/DLD.st: Created
1991-07-12 Steve Byrne <sbb@gnu.org>
* kernel/Date.st: Added methods for comparing, and for hashing
dates. Also fixed storing to use cascaded messages.
* kernel/Time.st: Added methods for comparing, including #= and #hash.
1991-07-10 Steve Byrne <sbb@gnu.org>
* kernel/Rectangle.st: Added #= and #hash methods.
* kernel/Point.st: Added = for Points (= from Object isn't right)
* kernel/Stream.st: Added store: for streams (can't imagine why it
wasn't here before).
* kernel/Rectangle.st: Altered the printing and storing to use
cascaded messages.
1991-07-05 Steve Byrne <sbb@gnu.org>
* kernel/FileStream.st: Added fileIn:line:from:at: so that when
Emacs sends out an expression or a method definition to Smalltalk
the error messages accurately report the line number.
* kernel/Builtins.st: Added fileInLine:fileName:at: to improve error
reporting and recording of file position information for later
browsing.
1991-06-26 Steve Byrne <sbb@gnu.org>
* kernel/False.st: Fixed ifFalse: to send value to falseBlock
1991-06-06 Steve Byrne <sbb@gnu.org>
* kernel/FileStream.st: Fixed open and popen to use self new instead
of FileStream explicitly.
* kernel/Builtins.st: Switched declare and execution tracing from
being direct primitives to a more general primitive mechanism.
1991-05-18 Steve Byrne <sbb@gnu.org>
* kernel/Delay.st: Actually implemented the thing.
1991-04-20 Steve Byrne <sbb@gnu.org>
* kernel/SysDict.st: Added some methods for testing and modifying
implementation specific features.
* kernel/Behavior.st: Added methodsFor:ifFeatures:
1991-03-25 Steve Byrne <sbb@gnu.org>
* kernel/Object.st: Added -> operator.
1991-03-24 Steve Byrne <sbb@gnu.org>
* kernel/Float.st: Fixed up floating point printing to take
account of the number of digits printed in the integer part
when printing the fractional part.
1991-03-23 Steve Byrne <sbb@gnu.org>
* kernel/Builtins.st: Added Integer primitives == and ~~ for more
efficient operation.
1991-03-16 Steve Byrne <sbb@gnu.org>
* kernel/Array.st: Fixed class creation to be separate statement from
class commenting.
* kernel/ArrayColl.st: Class creation now separate statement.
* kernel/Association.st: Class creation now separate statement.
* kernel/Bag.st: Class creation now separate statement.
* kernel/Behavior.st: Class creation now separate statement.
* kernel/BlkContext.st: Class creation now separate statement.
* kernel/Boolean.st: Class creation now separate statement.
* kernel/ByteArray.st: Class creation now separate statement.
* kernel/ByteMemory.st: Class creation now separate statement.
* kernel/Character.st: Class creation now separate statement.
* kernel/Class.st: Class creation now separate statement.
* kernel/ClassDesc.st: Class creation now separate statement.
* kernel/Collection.st: Class creation now separate statement.
* kernel/CompildMeth.st: Class creation now separate statement.
* kernel/Date.st: Class creation now separate statement.
* kernel/Dictionary.st: Class creation now separate statement.
* kernel/False.st: Class creation now separate statement.
* kernel/FileSegment.st: Class creation now separate statement.
* kernel/Float.st: Class creation now separate statement.
* kernel/IdentDict.st: Class creation now separate statement.
* kernel/Integer.st: Class creation now separate statement.
* kernel/Interval.st: Class creation now separate statement.
* kernel/Link.st: Class creation now separate statement.
* kernel/LinkedList.st: Class creation now separate statement.
* kernel/Magnitude.st: Class creation now separate statement.
* kernel/MappedColl.st: Class creation now separate statement.
* kernel/Memory.st: Class creation now separate statement.
* kernel/Message.st: Class creation now separate statement.
* kernel/MethodInfo.st: Class creation now separate statement.
* kernel/MthContext.st: Class creation now separate statement.
* kernel/Number.st: Class creation now separate statement.
* kernel/PosStream.st: Class creation now separate statement.
* kernel/ProcSched.st: Class creation now separate statement.
* kernel/Process.st: Class creation now separate statement.
* kernel/RWStream.st: Class creation now separate statement.
* kernel/Random.st: Class creation now separate statement.
* kernel/ReadStream.st: Class creation now separate statement.
* kernel/Semaphore.st: Class creation now separate statement.
* kernel/SeqCollect.st: Class creation now separate statement.
* kernel/Set.st: Class creation now separate statement.
* kernel/SortCollect.st: Class creation now separate statement.
* kernel/Stream.st: Class creation now separate statement.
* kernel/String.st: Class creation now separate statement.
* kernel/SymLink.st: Class creation now separate statement.
* kernel/Symbol.st: Class creation now separate statement.
* kernel/SysDict.st: Class creation now separate statement.
* kernel/Time.st: Class creation now separate statement.
* kernel/TokenStream.st: Class creation now separate statement.
* kernel/True.st: Class creation now separate statement.
* kernel/UndefObject.st: Class creation now separate statement.
* kernel/WordMemory.st: Class creation now separate statement.
* kernel/WriteStream.st: Class creation now separate statement.
1991-03-04 Steve Byrne <sbb@gnu.org>
* kernel/FileStream.st: Added verbose flag.
1991-02-16 Steve Byrne <sbb@gnu.org>
* kernel/Dictionary.st: Override the #new method from builtins when
this file is loaded so that subclasses of Dictionary have a proper
#new method instead of the built-in one that only creates Dictionary instances.
1991-02-07 Steve Byrne <sbb@gnu.org>
* kernel/Collection.st: Fixed detect: to return the value
that detect:ifNone: returns.
1991-02-04 Steve Byrne <sbb@gnu.org>
* kernel/String.st: Fixed duplicate fileName definition to
be filePos
1991-01-22 Steve Byrne <sbb@gnu.org>
* kernel/CFuncs.st: Added putenv.
1991-01-01 Steve Byrne <sbb@gnu.org>
* kernel/WriteStream.st: Added print: and store: so that printing
and storing can be cascaded.
1990-12-29 Steve Byrne <sbb@gnu.org>
* kernel/SeqCollect.st: Added = test to check sub elements for equality.
* kernel/SeqCollect.st: Added hash function.
* kernel/ArrayColl.st: Removed = and hash (put them into
SequenceableCollection).
1990-11-10 Steve Byrne <sbb@gnu.org>
* kernel/ClassDesc.st: Implemented compile:classified: and
compile:classified:notifying:.
* kernel/Behavior.st: Implemented compile:notifying:
1990-11-09 Steve Byrne <sbb@gnu.org>
* kernel/Integer.st: Converted to use fractions.
* kernel/Number.st: Put in changes for fractions.
1990-11-05 Steve Byrne <sbb@gnu.org>
* kernel/Object.st: Fixed bug with addDependent: -- syntax error.
1990-11-01 Steve Byrne <sbb@gnu.org>
* kernel/Behavior.st: Fixed isBytes to return true only if the
object is not pointers and not words.
1990-09-22 Steve Byrne <sbb@gnu.org>
* kernel/False.st: Changed printOn: to reflect changes in
String>>#printOn:.
* kernel/True.st: Changed printOn: to reflect new String printOn:
(so we can't use it any more).
* kernel/Date.st: Changed to reflect the changes required by
String>>#printOn:.
* kernel/Character.st: Changed character to always print with a
leading $.
* kernel/CompildMeth.st: Fixed printOn method to account for change to
String printOn:.
* kernel/Class.s