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

6375 lines (4412 sloc) 213.942 kb
2008-07-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Add #isSocket.
2008-07-14 Tony Garnock-Jones <tonyg@lshift.net>
* kernel/LargeInt.st: Fix a bootstrapping bug by correcting a send of
primReplaceFrom:to:with:startingAt: to replaceFrom:to:with:startingAt:
on LargeInteger's use of ByteArrays.
2008-07-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildCode.st: Fix printing of superoperators including
JUMP_BACK.
2008-07-14 Paolo Bonzini <bonzini@gnu.org>
* tests/compiler.st: Add testcase.
* tests/compiler.ok: Regenerate.
2008-07-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/MappedColl.st: Forward #keysDo: to the map, don't
change it to #do:.
2008-07-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Autoload.st: Fix order of metaclass instance variables.
2008-06-05 Paolo Bonzini <bonzini@gnu.org>
* examples/CairoDemo.st: Minor changes.
2008-06-01 Paolo Bonzini <bonzini@gnu.org>
* tests/Ansi.st: Remove one testcase.
2008-06-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Adjust call to #instantiateNextHandler:.
* kernel/ExcHandling.st: Scan for outer exception handlers from the
handler's context.
* tests/exceptions.st: Add test case.
* tests/exceptions.ok: Regenerate.
2008-06-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Make #file call #asFile.
* kernel/URL.st: Fix bugs introduced in File rewrite.
2008-06-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/URL.st: Fix redirects including a GET query.
Add #contents and #readStream.
2008-05-31 Daniele Sciascia <daniele.sciascia@lu.unisi.ch>
* scripts/Convert.st: --quiet was verbose.
2008-05-30 Paolo Bonzini <bonzini@gnu.org>
* scripts/Remote.st: Do not crash if getpid not present.
2008-05-30 Paolo Bonzini <bonzini@gnu.org>
* gst-tool.c: Remove executable extension if present.
2008-05-30 Paolo Bonzini <bonzini@gnu.org>
* examples/CairoBlit.st: Hack together OpenGL support here.
2008-05-30 Paolo Bonzini <bonzini@gnu.org>
* kernel/CObject.st: Fix CByte.
2008-05-30 Paolo Bonzini <bonzini@gnu.org>
* kernel/CCallable.st: Support both #uint and #uInt spelling
(and similarly for #ushort, #uchar, #ulong).
2008-05-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileStream.st: Use #ensure: in #fileIn:.
2008-05-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Move #join...
* kernel/Collection.st: ... here. Use #anyOne.
2008-05-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/ByteArray.st: Use VMpr_ArrayedCollection_equal.
* kernel/String.st: Use VMpr_ArrayedCollection_equal.
2008-05-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: Avoid useless checks.
* kernel/SeqCollect.st: Allow replacing zero elements with
#replaceFrom:to:withObject:.
* tests/Ansi.st: Adjust testsuite.
2008-05-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFSZip.st: Avoid leaking file descriptors for LimitedStreams.
2008-05-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: Remove implementation of #gather:.
* kernel/Collection.st: Implement #gather: in terms of #join.
2008-05-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Fix #all on archives.
2008-05-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Array.st: Add #replaceFrom:to:with:startingAt: primitive,
simplify #storeOn:.
* kernel/ByteArray.st: Rename the primitive.
* kernel/LargeInt.st: Rename the primitive.
* kernel/String.st: Rename the primitive.
2008-05-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/OrderColl.st: Override #first and #last for speed.
* kernel/StreamOps.st: Avoid repeatedly colling #first.
* kernel/SeqCollect.st: Use #replaceFrom:to:with:startingAt: when doing
#replaceFrom:to:with: with a sequenceable collection argument.
2008-05-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/CCallback.st: New.
* tests/cobject.st: Test closures.
2008-05-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/CCallable.st: Split from part of...
* kernel/CFuncs.st: ... this. Change superclass to CCallable.
* kernel/CompildMeth.st: Accept a descriptor in the class methods
that create C call-out method.
2008-05-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/CFuncs.st: Always execute #for:returning:withArgs: as
Smalltalk code, make #addressOf: a primitive. Add #name:.
* kernel/DLD.st: Make overridden #addressOf: a primitive.
2008-05-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/CFuncs.st: Make a subclass of CObject. Reorganize creation,
avoid overriding #address, remove #tag/#tag:.
* kernel/DLD.st: Adjust for above changes.
2008-05-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Add "rm -rf" functionality to RecursiveFileWrapper.
* scripts/Package.st: Use it.
2008-05-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/Directory.st: Fix when TMPDIR and TEMP are not set.
2008-05-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/Integer.st: Fix off-by-one in #binomial:.
2008-05-18 Stephen Compall <scompall@nocandysw.com>
* tests/pools.st: Test that namespace pragmas work, at least for
imports.
2008-05-17 Stephen Compall <scompall@nocandysw.com>
* kernel/AbstNamespc.st: Add `sharedPools' instvar and methods for
it similar to Class's.
* kernel/Class.st: Refactor
allLocalSharedPoolDictionariesExcept:do: to a list-independent
class method. Use it to import shared pools from namespaces as
they are visited.
* tests/pools.st: Test for namespace shared pools.
2008-05-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/FilePath.st: Deal correctly with UNC paths.
2008-05-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkClosure.st: Add #cull:, #cull:cull:, #cull:cull:cull:.
* kernel/ExcHandling.st: Use it for the exception handlers.
* kernel/Object.st: Use it for #ifNotNil:.
* tests/blocks.st: New tests.
* tests/blocks.ok: Regenerate.
2008-05-11 Paolo Bonzini <bonzini@gnu.org>
* examples/xml.sed: Fix for VW7.
* scripts/Convert.st: Fix for 2008-02-25 change to exception handling.
Apply rewrites to doits too.
2008-05-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/CObject.st: Fix typo.
2008-05-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/ByteArray.st: Rewrite memory access methods in terms
of CObject.
* kernel/CObject.st: Add support for ByteArrays as CObject storage.
Add #= and #hash.
* kernel/CStruct.st: Add #gcNew.
* kernel/CType.st: Add #gcNew.
* kernel/Object.st: Add #isCObject.
* tests/cobjects.st: Add more tests.
* tests/cobjects.ok: Update.
2008-05-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/CObject.st: Remove odd cases of #at:put:type: and
#derefAt:put:type:.
2008-05-05 Paolo Bonzini <bonzini@gnu.org>
* examples/CairoBlit.st: New.
* examples/CairoDemo.st: New.
2008-04-30 Paolo Bonzini <bonzini@gnu.org>
* kernel/Object.st: Inline call to #release.
2008-04-25 Paolo Bonzini <bonzini@gnu.org>
Stephen Compall <scompall@nocandysw.com>
* tests/pools.st: New.
* tests/pools.ok: New.
* kernel/Class.st: Eliminate only the direct superclass's
namespaces from the namespace walk while searching pools, and walk
every superclass's pools as well as my own.
2008-04-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/ProcEnv.st: Fix thinko in ProcessVariable>>#environment.
2008-04-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Define #asCNumber.
* kernel/Fraction.st: Define #asCNumber.
* kernel/LargeInt.st: Define #asCNumber.
* kernel/Number.st: Define #asCNumber.
* kernel/ScaledDec.st: Define #asCNumber.
* kernel/SmallInt.st: Define #asCNumber.
2008-04-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/DLD.st: Don't register DLD with ObjectMemory.
* kernel/ObjMemory.st: Execute #returnFromSnapshot callback
at high priority, and pass it to DLD before anything else.
2008-04-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildMeth.st: Fix error message for undefined C
functions.
2008-04-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/FilePath.st: Don't prepend a \ if an absolute path is
created by #computePathFrom:to: and the destination path has a
disk letter in it.
2008-04-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Put fundamental instance variables at the
beginning.
2008-04-08 Stephen Compall <scompall@nocandysw.com>
* kernel/Class.st: Never answer nil from #sharedPoolDictionaries.
* kernel/DeferBinding.st: Remove symmetric nil check.
* kernel/Metaclass.st: Likewise.
2008-04-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/FilePath.st: Add more abstract methods. Implement
#lastAccessTime: and #lastModifyTime:. Add #all. Do not
create full paths in #namesMatching:do: for similarity with
#namesDo:.
* kernel/VFS.st: Add more delegation methods. Implement
RecursiveFileWrapper.
2008-04-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/Directory.st: Inherit from Object. Remove methods now
in File or FilePath. Return File objects from methods that return
system parameters.
* kernel/File.st: Inherit from FilePath. Remove methods now in
FilePath. Do not delegate to a VFSHandler.
* kernel/FileDescr.st: Rename instance variable "name" to "file"
and adjust. Remove VFS indirection for #open:mode:. Use new
4-argument filein primitive.
* kernel/FilePath.st: New.
* kernel/FileSegment.st: Support storing a File object in the
FileSegment.
* kernel/ObjMemory.st: Add indirection for #snapshot: to support
passing a File.
* kernel/PkgLoader.st: Store files and directories as File objects.
Adjust for VFS changes.
* kernel/Stream.st: Support 4-argument filein primitive.
* kernel/SysDict.st: Use Files more extensively.
* kernel/URL.st: Support converting Files to URLs.
* kernel/VFS.st: Rewrite.
* kernel/VFSZip.st: Rewrite.
* scripts/Load.st: Use new File methods.
* scripts/Package.st: Adjust for PackageLoader changes.
* scripts/Remote.st: Use new File methods.
* tests/AnsiLoad.st: Adjust for Directory class>>#working returning
a File.
2008-04-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Rename fd instance variable to file.
2008-04-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/CFuncs.st: Accept Associations too.
2008-04-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/CFuncs.st: Change numFixedArgs to tag. Add Smalltalk
counterpart of classify_type_symbol. Add setters. Improve #printOn:.
* kernel/CompildMeth.st: Extract creation of C call-out methods
to new constructor methods on the class side.
2008-04-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/Process.st: Rename unwindPoints variable to environment.
* kernel/ProcSched.st: Add #processEnvironment.
* kernel/ProcEnv.st: New.
* tests/processes.st: Test ProcessEnvironment.
* tests/processes.ok: New.
2008-04-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Add UnhandledException.
* kernel/ContextPart.st: Rewrite #unwind: to raise UnhandledException.
Use #isEnvironment to delimit stack scanning.
* kernel/BlkClosure.st: Rewrite #valueWithUnwind to trap
UnhandledException.
* kernel/MthContext.st: Rewrite #mark.
2008-04-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/Regex.st: Sob.
2008-03-31 Paolo Bonzini <bonzini@gnu.org>
* kernel/Character.st: Add #*.
* kernel/UniChar.st: Add #*.
* kernel/Regex.st: Add #asArray for results, accept blocks for
substitutions.
2008-03-26 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Use new variants of stat/lstat that fill in
a Smalltalk object.
2008-03-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Move #isOpen checks after #ensureReadable
and #ensureWritable.
2008-03-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Move open checks to #checkError, use #isOpen.
2008-03-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Open URLs from #open:mode:ifFail:.
2008-03-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Return result of evaluating block from
File>>#withReadStreamDo: and File>>#withWriteStreamDo:.
2008-03-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Add #fileIn.
2008-03-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/Regex.st: Add #allOccurrencesOfRegex:do:.
2008-03-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileStream.st: Implement #upTo: like #nextLine.
2008-03-18 Paolo Bonzini <bonzini@gnu.org>
* scripts/Remote.st: Implement ssh connections.
* gst-tool.c: Add --login to gst-remote.
2008-03-18 Paolo Bonzini <bonzini@gnu.org>
* scripts/Remote.st: Use #canRead instead of #available.
2008-03-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Add a couple of methods for polymorphism
with sockets.
2008-03-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/Class.st: Rename #policy/#policy: to
#securityPolicy/#securityPolicy:.
2008-03-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/Directory.st: Readd Directory class>>#systemKernel.
Default Directory class>>#kernel to it.
* kernel/FileSegment.st: Change #relocateFrom:to: to #relocate:,
and #relocateFrom:to:map: to #relocateFrom:map:.
* scripts/Finish.st: Do not call #relocate, strip source code
from the last evaluated method to remove its FileSegment from the
image.
2008-03-15 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileSegment.st: Add a warning that relative FileSegments
are always interpreted from the kernel directory, and apply this
rule in #fileName.
2008-03-15 Paolo Bonzini <bonzini@gnu.org>
* main.c: Fix -S.
2008-03-15 Paolo Bonzini <bonzini@gnu.org>
* gst-tool.c: Support relocatable installation.
* main.c: Support relocatable installation.
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
* scripts/Load.st: Add -i.
* gst-tool.c: Likewise.
2008-03-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Move #startsWith: and #endsWith:...
* kernel/SeqCollect.st: ... here.
2008-03-07 Paolo Bonzini <bonzini@gnu.org>
* scripts/Remote.st: Exit when the server socket is closed.
2008-03-04 Paolo Bonzini <bonzini@gnu.org>
* main.c: Set GST_NO_TTY in Emacs mode.
* smalltalk-mode.el.in: Fix smalltalk-bang for old syntax.
* gst-mode.el.in: Wrap send-to-smalltalk with save-window-excursion.
2008-02-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Backtrace on the Transcript.
* kernel/Transcript.st: Handle errors while printing on the Transcript.
2008-02-27 Paolo Bonzini <bonzini@gnu.org>
* gst-tool.c: Fix pasto.
* scripts/Remote.st: Change default port to 12345.
2008-02-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Add start/stop script support.
* scripts/Load.st: Add start/stop script support.
* scripts/Remote.st: Add start/stop script support.
* gst-tool.c: Keep options synchronized.
2008-02-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: The final word on floating-point printing.
* tests/floatmath.st: Adjust test vectors.
2008-02-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/ScaledDec.st: Make #zero and #one return a number with
the same scale as the receiver.
2008-02-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/DirMessage.st: Add #receiver:selector:argument:.
* kernel/Message.st: Add #selector:argument:.
2008-02-25 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Upon executing off the end of an
exception handler, always return from the associated #on:do:.
2008-02-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiDates.st: Add #date:time:offset:, #date:time:.
* kernel/Date.st: Add #-.
* kernel/Dictionary.st: Add #associations.
* kernel/Time.st: Add #midnight, #addSeconds:.
2008-02-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: Add #gather:.
* kernel/ArrayColl.st: Likewise.
2008-02-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiDates.st: Return the date itself in #asUTC if already UTC.
2008-02-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Regex.st: Make Regex a subclass of Object.
2008-02-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/File.st: Canonicalize names before finding directory
components.
2008-02-12 Paolo Bonzini <bonzini@gnu.org>
* gst-tool.c: Rename "struct option".
2008-02-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: Add #noneSatisfy:.
2008-02-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Add more methods for Seaside.
2008-02-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: Add #count:.
* kernel/DirMessage.st: Implement more creation messages.
* kernel/Number.st: Modify #coerce: so as to not return Fractions if
#readFrom: is called on Number.
2008-02-08 Paolo Bonzini <bonzini@gnu.org>
* tests/processes.st: Test that processes with the same priority
are scheduled fairly.
2008-02-08 Paolo Bonzini <bonzini@gnu.org>
* scripts/Remote.st: Close transcript before quitting, send
file contents instead of filing in remotely.
2008-02-08 Paolo Bonzini <bonzini@gnu.org>
* scripts/Remote.st: Ignore errors on the server side, to allow a
computation to be interrupted by ^C-ing the client-side.
2008-02-08 Paolo Bonzini <bonzini@gnu.org>
* scripts/Remote.st: Fix flushing of stdout.
2008-02-08 Paolo Bonzini <bonzini@gnu.org>
Mike Anderson <gnu-smalltalk@gingerbread.plus.com>
* scripts/Remote.st: New.
* gst-tool.c: Handle --daemon option.
2008-02-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Print error messages on the Transcript.
2008-02-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Don't fail in #copyUpTo: if the character
is not there, return the whole collection instead.
2008-02-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/CharArray.st: Add #endsWith:.
* kernel/SeqCollect.st: Add #sort and #sortBy:.
2008-02-05 Paolo Bonzini <bonzini@gnu.org>
* scripts/Convert.st: Return method from #compile:.
2008-02-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: Add #to:collect: and #to:by:collect:.
* kernel/SeqCollect.st: Add instance side #with:...
* kernel/StreamOps.st: Add #with:... and a class implementing it.
2008-01-27 Stephen Compall <scompall@nocandysw.com>
* kernel/AnsiExcept.st: Comment or private-ize uncommented methods.
* kernel/Behavior.st: Likewise.
* kernel/BlkClosure.st: Likewise.
* kernel/CType.st: Likewise.
* kernel/Class.st: Likewise.
* kernel/CompildCode.st: Likewise.
* kernel/CompildMeth.st: Likewise.
* kernel/DLD.st: Likewise.
* kernel/DeferBinding.st: Likewise.
* kernel/Delay.st: Likewise.
* kernel/Directory.st: Likewise.
* kernel/File.st: Likewise.
* kernel/FileDescr.st: Likewise.
* kernel/FileStream.st: Likewise.
* kernel/Float.st: Likewise.
* kernel/HashedColl.st: Likewise.
* kernel/Interval.st: Likewise.
* kernel/LookupTable.st: Likewise.
* kernel/MappedColl.st: Likewise.
* kernel/Metaclass.st: Likewise.
* kernel/Number.st: Likewise.
* kernel/ObjMemory.st: Likewise.
* kernel/PkgLoader.st: Likewise.
* kernel/Regex.st: Likewise.
* kernel/SysDict.st: Likewise.
* kernel/VFS.st: Likewise.
* kernel/ValueAdapt.st: Likewise.
2008-01-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Add category to #atRandom.
2008-01-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/OrderColl.st: Avoid grow-shrink pingpong.
2008-01-25 Paolo Bonzini <bonzini@gnu.org>
* tests/intmath.st: Add LargeInteger testcase from SICP.
* tests/intmath.ok: Regenerate.
2008-01-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/Regex.st: Do same fix for #allOccurrencesOfRegex:.
* tests/strings.st: Add testcases.
* tests/strings.ok: Regenerate.
2008-01-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/Regex.st: Fix global substitution and tokenization for
regexes that can match the empty string.
* tests/strings.st: Add testcases.
* tests/strings.ok: Regenerate.
2008-01-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/Symbol.st: Fix #numArgs for underscores in the symbol,
reported by Sam Phillips.
2008-01-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Add #atRandom.
2008-01-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/Regex.st: Add #allOccurrencesOfRegex:, remove dead code.
2008-01-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildCode.st: Eliminate possible infinite loop in #hash.
2008-01-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Dictionary.st: Rewrite #findElementIndex:.
* kernel/WeakObjects.st: Ditto.
* kernel/HashedColl.st: Ditto, and store nil before calling it
from #rehashObjectsAfter:.
* kernel/LookupTable.st: Ditto, and also use it in #whileGrowingAt:put:.
2008-01-18 Paolo Bonzini <bonzini@gnu.org>
* scripts/Package.st: Change default -t value for --list-files,
reject --destdir and -t for --list-files.
2008-01-18 Paolo Bonzini <bonzini@gnu.org>
* scripts/GenDoc.st: Add --namespace, use #fullyDefinedLoadedClasses.
2008-01-18 Paolo Bonzini <bonzini@gnu.org>
* scripts/Package.st: Support multiple --list-files options, add
--load and --test suboptions to --list-files.
2008-01-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/ObjMemory.st: Make #snapshot return the same as #snapshot:.
2008-01-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Fix wrong reference to PackageNotAvailable.
2008-01-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/Object.st: Fix #basicPrintNl.
2008-01-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/SmallInt.st: Don't coerce for 0 divExact: x.
2008-01-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/FileDescr.st: Don't close stdin/stdout/stderr before
quitting, but flush them explicitly.
* kernel/Process.st: Add #terminateOnQuit to mark the receiver
so that it is terminated when ObjectMemory class>>#quit: is sent.
2008-01-03 Tony Garnock-Jones <tonyg@lshift.net>
* kernel/CType.st: Fix printing CTypes for CObject subclasses.
* tests/cobjects.st: Add testcase.
2007-12-27 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Move PackageNotAvailable to SystemExceptions
namespace. Raise it instead of Error when appropriate.
2007-12-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: Add #readStream.
2007-12-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Process.st: Call ProcessorScheduler>>#yield if needed
after changing the priority.
* tests/exceptions.st: Wait for the process to exit, just to be
sure.
2007-12-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: Fix thinko in #retryInequalityCoercing:,
fixing (3 perform: #~= with: 3.0).
2007-12-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/BlkClosure.st: Don't modify the stack top in #asContext:.
* kernel/ProcSched.st: Remove #changePriorityListOf:to:suspend:.
* kernel/Process.st: Implement #suspend with a primitive.
Use #resume to restart the process in the right priority list when
the priority is changed and the process was not/is not to be suspended.
Remove #setPriorityFrom:to:suspend:.
* tests/processes.st: Be more robust in running processes to a
sync point. Avoid busy waiting which may or may not work depending
on the execution order of the process.
2007-11-29 Paolo Bonzini <bonzini@gnu.org>
* kernel/FloatD.st: Fix #signByte, add #fromBytes:.
* kernel/FloatE.st: Fix #signByte, add #fromBytes:.
* kernel/FloatQ.st: Fix #signByte.
* tests/floatmath.st: Use #fromBytes:.
2007-11-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Partially undo change from
#updateInstanceVars:shape: to
#updateInstanceVars:numInherited:shape:.
Add back #updateInstanceVars:shape: and add new
#updateInstanceVars:superclass:shape:. Return true from
#inheritsFrom: if passed nil. Use new keyword argument to
include superclass variables in instVarMap. Reverse direction of
instVarMap. Simplify creation of subclasses' instance variable
array. Add here #mutate:via: (taken from kernel/Object.st)
and use it instead of #mutate:startingAt:newClass:.
* kernel/Object.st: Remove #mutate:startingAt:newClass:.
* kernel/Metaclass.st: Rename "superclass" argument to
"theSuperclass" or "newSuperclass". Call
#updateInstanceVars:superclass:shape:.
* tests/mutate.st: Add minimal testcase for GTK+ loading failure.
Test that class-instance variables are copied around correctly.
Test that moving up the hierarchy preserves instance variables.
2007-11-18 Freddie Akeroyd <F.A.Akeroyd@rl.ac.uk>
* kernel/VFS.st: Support backslashes as directory separators
2007-11-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: Coerce #raisedTo: to aNumber's precision if necessary.
* kernel/FloatQ.st: Coerce #raisedTo: to FloatQ.
2007-11-08 Paolo Bonzini <bonzini@gnu.org>
* tests/ackermann.st: Add "iterative" implementation.
2007-11-07 Paolo Bonzini <bonzini@gnu.org>
* examples/Methods.st: Add brackets around compiled methods.
* kernel/Behavior.st: Likewise.
* tests/compiler.st: Likewise.
* tests/objects.st: Likewise.
* tests/untrusted.st: Likewise.
* unsupported/cint/CToken.st: Likewise.
* unsupported/t.st: Likewise.
* tests/Ansi.st: Use exception handling.
2007-11-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Move #streamContents:...
* kernel/ArrayColl.st: ... here.
2007-11-05 Stephen Compall <scompall@nocandysw.com>
* examples/JSON.st: Make it return UnicodeStrings if no output
encoding is given.
2007-10-23 Paolo Bonzini <bonzini@gnu.org>
Robin Redeker <elmex@x-paste.de>
* examples/JSON.st: Make it work on Unicode.
2007-10-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildMeth.st: Fix return value of
#valueWithReceiver:withArguments:, reported by Sam Phillips.
2007-10-22 Paolo Bonzini <bonzini@gnu.org>
* kernel/Collection.st: Add #isUnicode.
* kernel/CharArray.st: Add an abstract #isUnicode method to class side.
* kernel/String.st: Add class-side #isUnicode.
* kernel/UniString.st: Add class-side #isUnicode.
* kernel/Stream.st: Add #encoding. Forward #isUnicode to the
species class.
2007-10-21 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Move recompilation methods to CompiledMethod.
Move #instanceVariableNames: and related methods from ClassDescription.
Change #updateInstanceVars:shape: to
#updateInstanceVars:numInherited:shape:.
* kernel/Builtins.st: Promote #instanceVariableNames: to Behavior.
* kernel/CStruct.st: Compile methods as new syntax.
* kernel/ClassDesc.st: Remove #instanceVariableNames: and related
methods.
* kernel/CompildMeth.st: Add #methodFormattedSourceString,
#methodRecompilationSourceString, #isOldSyntax, #noteOldSyntax,
#recompile, #recompileNotifying:. Support recompiling methods from
both syntaxes.
* kernel/Metaclass.st: Change #updateInstanceVars:shape: to
#updateInstanceVars:numInherited:shape:.
* kernel/UndefObject.st: Add #instSize for polymorphism.
* tests/mutate.st: Add new tests on class extension.
* tests/mutate.ok: Update test results.
2007-10-18 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Avoid overlapping array problems in
#replaceFrom:to:with:startingAt:.
* tests/arrays.st: Add corresponding test.
* tests/arrays.ok: Adjust output.
2007-10-16 Paolo Bonzini <bonzini@gnu.org>
* kernel/Semaphore.st: Pass the ProcessBeingTerminated exception.
* tests/processes.st: Test for bug fixed by the above change.
2007-10-14 Stephen Compall <scompall@nocandysw.com>
* kernel/Builtins.st: Promote #import: to ClassDescription.
* kernel/ClassDesc.st: Document promotion requirement.
2007-10-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildMeth.st: Omit sharp sign when printing.
2007-10-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: In #pass/#outer, call #activateHandler:
on the newly created Signal. Add Signal>>#postCopy.
2007-10-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/Delay.st: Rewrite to manipulate Queue entirely in the
timing process.
2007-10-06 Robin Redeker <elmex@x-paste.de>
* example/JSON.st: Parse strings with whitespace correctly.
2007-10-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/ExcHandling.st: Copy exception in #pass/#outer.
2007-10-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/AnsiExcept.st: Add semaphore field to
ProcessBeingTerminated. Remove #copyFrom:.
* kernel/ExcHandling.st: remove #activateOuterHandlerFor:,
inline it in the callers. Remove #copyFrom:.
* kernel/Process.st: In #terminate, pass semaphore if waiting on one.
* kernel/RecursionLock.st: Remove #enter/#exit, inline them since
we have to use Semaphore>>#critical:.
* kernel/Semaphore.st: Rewrite #critical: to avoid races.
* tests/processes.st: Add race condition testcases.
2007-10-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/Dictionary.st: Implement #deepCopy and #whileGrowingAt:put:.
Use the latter in #collect:.
* kernel/LookupTable.st: Remove #deepCopy.
2007-10-05 Paolo Bonzini <bonzini@gnu.org>
* scripts/GenDoc.st: Use GSTFileInParser.
2007-10-01 Paolo Bonzini <bonzini@gnu.org>
* kernel/RecursionLock.st: Signal waiting semaphore if a process is
terminated inside its critical section.
* kernel/Semaphore.st: Likewise.
2007-09-27 Paolo Bonzini <bonzini@gnu.org>
* examples/Behavior.st: Add #inherit shape.
2007-09-20 Paolo Bonzini <bonzini@gnu.org>
* examples/JSON.st: New, by Robin Redeker.
2007-09-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/Generator.st: Added #inject:into: on the class side.
2007-09-19 Paolo Bonzini <bonzini@gnu.org>
* kernel/LargeInt.st: Avoid #|.
2007-09-17 Paolo Bonzini <bonzini@gnu.org>
* kernel/CStruct.st: Use lazy initialization for declaration. Allow
replacing an empty declaration.
* kernel/Metaclass.st: Mutate the class object if the list of class-
instance variables changes.
2007-09-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Association.st: Treat identical values as equal.
* kernel/ArrayColl.st: Range-check arguments to #copyFrom:to:.
* kernel/SeqCollect.st: Range-check arguments to #copyFrom:to:
and #copyFrom:.
2007-09-09 Paolo Bonzini <bonzini@gnu.org>
* kernel/Process.st: Don't fail if terminating a terminated process.
2007-09-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/PkgLoader.st: Avoid refreshing the list if filing in no
package.
* scripts/Finish.st: Clear ExecutableFileName before saving.
2007-09-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: Guard #join:separatedBy: for empty separator.
* kernel/SeqCollect.st: Guard #join:separatedBy: for empty separator.
2007-09-05 Paolo Bonzini <bonzini@gnu.org>
* kernel/ArrayColl.st: Add #join:separatedBy:.
* kernel/SeqCollect.st: Add #join:separatedBy: and #join:.
2007-09-02 Paolo Bonzini <bonzini@gnu.org>
* kernel/UndefObject.st: Add #allSubclasses.
* kernel/ExcHandling.st: Add #context.
2007-08-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Properly forward #identityIndexOf: methods.
* examples/Methods.st: Add MethodWrapper.
2007-08-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/Getopt.st: Fix regex to use \A instead of ^.
2007-08-28 Paolo Bonzini <bonzini@gnu.org>
* kernel/Generator.st: Add #on:do:.
* kernel/StreamOps.st: Always delegate species, fix
PeekableStream>>#peek.
2007-08-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/MthContext.st: Print what was not understood.
2007-08-24 Paolo Bonzini <bonzini@gnu.org>
* kernel/DeferBinding.st: Add path variable and #resolvePathFrom: method.
2007-08-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/ByteStream.st: Remove #nextPutAll:.
* kernel/FileDescr.st: Remove #nextPutAll: and #nextPutAllFlush:.
* kernel/FileStream.st: Remove #nextPutAll: and #nextPutAllFlush:.
* kernel/Stream.st: Use #nextHunk in #nextPutAll:, add #nextPutAllFlush:.
* kernel/Transcript.st: Implement #next:putAll:startingAt:.
* kernel/WriteStream.st: Likewise.
2007-08-22 Paolo Bonzini <bonzini@gnu.org>
* examples/PipeStream.st: New.
2007-08-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildCode.st: Regenerate bytecodeInfoTable.
* kernel/CompildMeth.st: Fix for new bytecode set.
2007-08-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/DeferBinding.st: Fix infinite recursion.
2007-08-20 Paolo Bonzini <bonzini@gnu.org>
* kernel/CompildMeth.st: Temporarily disable #isValidCCall.
* kernel/DeferBinding.st: New.
2007-08-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/SeqCollect.st: Move #writeStream...
* kernel/ArrayColl.st: ... here.
2007-08-14 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Add back #isBits.
2007-08-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/Float.st: Override #floorLog: and #ceilingLog:.
2007-08-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/CType.st: Store a VariableBinding inside a CType.
2007-08-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/CStruct.st: Remove TypeMap, #computeType:block: and
its callees. Use CType>>#from: to make a CType from an array
or VariableBinding, and #storeOn: instead of the former second
argument of the block.
* kernel/CType.st: Add TypeMap and CType>>#from:. Override
#storeOn: in CArray and CPtr.
* kernel/CompildMeth.st: Use CType>>#from:.
2007-08-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/CObject.st: Make #alloc:/#new: not a primitive. Add a
defaultType class-instance variable and make the class-side #type
default to it; the instance-side #type defaults to the class-side #type.
Always return aValue from #at:put:. Remove the instance-side
#scalarIndex and rename the class-side method to cObjStoredType.
Add missing CString class>>#cObjStoredType.
* kernel/CStruct.st: Remove #type override.
* kernel/CType.st: Adapt so that the binding is stored in the class
variable. Use the #cObjectType accessor consistently.
2007-08-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/BindingDict.st: Use a different association than the
one in Undeclared, using #become: on it.
* kernel/WeakObjects.st: Fix wrong method comments.
2007-08-13 Paolo Bonzini <bonzini@gnu.org>
* kernel/WriteStream.st: Fix ANSI testcases.
* kernel/RWStream.st: Eliminate useless overrides.
2007-08-12 Paolo Bonzini <bonzini@gnu.org>
* kernel/Array.st: Add #storeLiteralOn:.
* kernel/Boolean.st: Add #storeLiteralOn:.
* kernel/ByteArray.st: Add #storeLiteralOn:.
* kernel/Character.st: Add #storeLiteralOn:.
* kernel/Float.st: Add #storeLiteralOn:.
* kernel/Integer.st: Add #storeLiteralOn:.
* kernel/Object.st: Add #storeLiteralOn:.
* kernel/ScaledDec.st: Add #storeLiteralOn:.
* kernel/String.st: Add #storeLiteralOn:.
* kernel/Symbol.st: Add #storeLiteralOn:.
* kernel/UndefObject.st: Add #storeLiteralOn:.
* kernel/VarBinding.st: Add #storeLiteralOn:.
* kernel/Class.st: Add #classPragmas.
* kernel/CObject.st: Set shape on subclasses.
* kernel/CStruct.st: Add #classPragmas, #declaration, #declaration:.
2007-08-10 Paolo Bonzini <bonzini@gnu.org>
* kernel/Number.st: Fix #= vs. #~= blunder.
2007-08-08 Paolo Bonzini <bonzini@gnu.org>
Daniele Sciascia <daniele.sciascia@lu.unisi.ch>
* kernel/Class.st: Add #addClassVarName:value:.
* scripts/Convert.st: Add GSTParser support. Remove error block.
2007-08-08 Paolo Bonzini <bonzini@gnu.org>
* kernel/WriteStream.st: Reimplement #moveToEnd.
2007-08-07 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Eliminate wrong redefinition of #release.
2007-08-06 Paolo Bonzini <bonzini@gnu.org>
* kernel/Behavior.st: Add a (notYetImplemented) parseTreeFor: method.
* kernel/PkgLoader.st: Move #fullPathsOf: (new name of #findPathsFor:)
and #createNamespace up to PackageInfo, implement #fullPathOf: (new name
of #findPathFor:) in StarPackage.
* kernel/Namespace.st: Return a string in #nameIn:.
* kernel/RootNamespc.st: Return a string in #nameIn:.
* kernel/SeqCollect.st: Add #first: and #last:.
* kernel/VFSZip.st: Add #copyFrom:to: to LimitedStream.
* scripts/GenDoc.st: New.
* scripts/Package.st: Fix for renaming of #findPathFor:.
* scripts/GenBaseDoc.st: Removed.
* scripts/GenLibDoc.st: Removed.
2007-07-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFSZip.st: Refuse to open for writing.
2007-07-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/MthContext.st: Make flags accessors foolproof.
* kernel/VFS.st: Don't redirect from %1 for DecodedFileHandler.
2007-07-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Move ZipFileHandler...
* kernel/VFSZip.st: ... here. Add StoredZipMember and LimitedStream
to provide faster access to uncompressed files.
* scripts/Package.st: Do not compress .st and .xml files.
2007-07-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/PosStream.st: Use #size in #position: or #basicPosition:.
* kernel/RWStream.st: Use PositionableStream definition of #size.
2007-07-23 Paolo Bonzini <bonzini@gnu.org>
* kernel/VFS.st: Avoid referring to realFileName, refactoring
hierarchy to use a parent VFSHandler instead. Allow creating
a special ArchiveMemberHandler in ArchiveFileMember>>#files.
Read the ZIP file directory directly from the file.
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.