mit-scheme.git
18 years agoAdded new `port-position' procedure. On a port created using
Arthur Gleckler [Wed, 9 Aug 2006 05:48:53 +0000 (05:48 +0000)]
Added new `port-position' procedure.  On a port created using
`open-output-string', e.g. through `with-output-to-string', this
procedure returns the current position in the output buffer.  For
example:

  1 ]=> (define foo)

  ;Value: foo

  1 ]=> (with-output-to-string
  (lambda ()
    (write-string "foo")
    (set! foo (port-position (current-output-port)))
            (write-string "bar")))
  ;Value 1: "foobar"

  1 ]=> foo

  ;Value: 3

  1 ]=>

18 years agoUpdate the size of parse states according to the recently added field,
Taylor R. Campbell [Thu, 3 Aug 2006 04:00:12 +0000 (04:00 +0000)]
Update the size of parse states according to the recently added field,
so that we don't write off the end of the vector's storage.

18 years agoFix various compiler warnings.
Chris Hanson [Wed, 2 Aug 2006 18:18:12 +0000 (18:18 +0000)]
Fix various compiler warnings.

18 years agoNew simple HTTP client abstraction.
Taylor R. Campbell [Wed, 2 Aug 2006 16:27:09 +0000 (16:27 +0000)]
New simple HTTP client abstraction.

18 years agoFixed bug in `make-hash-table' and `alist->hash-table': neither
Arthur Gleckler [Wed, 2 Aug 2006 05:54:51 +0000 (05:54 +0000)]
Fixed bug in `make-hash-table' and `alist->hash-table': neither
provided defaults for `key=?' or `key-hash', so both created
nonfunctioning hash tables if called without both of those parameters.

18 years agoClean up handling of bnode registration. Add mechanism for giving
Chris Hanson [Wed, 2 Aug 2006 05:05:25 +0000 (05:05 +0000)]
Clean up handling of bnode registration.  Add mechanism for giving
string "handles" to bnodes, so that in-memory bnodes can be uniquely
identified.  (Bnode names are scoped to a document and are unsuitable
for this purpose.)

18 years agoTweak qname abstraction again.
Chris Hanson [Tue, 1 Aug 2006 17:23:50 +0000 (17:23 +0000)]
Tweak qname abstraction again.

18 years agoShare the definition of STRING-OF-XML-CHARS? with "xml-rpc.scm".
Chris Hanson [Tue, 1 Aug 2006 04:23:41 +0000 (04:23 +0000)]
Share the definition of STRING-OF-XML-CHARS? with "xml-rpc.scm".

18 years agoRound out the RDF QName abstraction a bit. Change RDF-QNAME? to be a
Chris Hanson [Tue, 1 Aug 2006 02:50:50 +0000 (02:50 +0000)]
Round out the RDF QName abstraction a bit.  Change RDF-QNAME? to be a
syntactic test that doesn't check any registry.

18 years agoTighten XML-CHAR-DATA? and CANONICALIZE-CHAR-DATA so that they refuse
Taylor R. Campbell [Mon, 31 Jul 2006 18:55:43 +0000 (18:55 +0000)]
Tighten XML-CHAR-DATA? and CANONICALIZE-CHAR-DATA so that they refuse
characters or entity references not included in the XML-CHAR alphabet.

This may have a small performance cost when constructing XML trees,
and it will have to change for XML 1.1, which relaxes the restriction
on XML character data.  It could have been done in the XML writer,
since the parser already checks this, but this way offers guarantees
about the validity of any XML data in Scheme, and these guarantees are
probably good things.

18 years agoFix bug in parsing of booleans; they were matched but treated as
Chris Hanson [Sat, 29 Jul 2006 01:25:58 +0000 (01:25 +0000)]
Fix bug in parsing of booleans; they were matched but treated as
noise, causing triples containing them to be elided.

18 years agoAdd the condition of whether all characters are in the XML-CHAR
Taylor R. Campbell [Fri, 28 Jul 2006 16:23:08 +0000 (16:23 +0000)]
Add the condition of whether all characters are in the XML-CHAR
alphabet to ENCODE-STRING's decision of whether to return raw
strings or base64-encoded data.

18 years agoAdd CALL-WITH-INPUT-STRING to indentation table.
Chris Hanson [Fri, 28 Jul 2006 04:10:54 +0000 (04:10 +0000)]
Add CALL-WITH-INPUT-STRING to indentation table.

18 years agoIn URI->RDF-QNAME, don't use blank prefix if another is available.
Chris Hanson [Fri, 28 Jul 2006 04:01:11 +0000 (04:01 +0000)]
In URI->RDF-QNAME, don't use blank prefix if another is available.

18 years agoFix typo in previous change. Tweak interface to export a variable
Chris Hanson [Fri, 28 Jul 2006 02:54:27 +0000 (02:54 +0000)]
Fix typo in previous change.  Tweak interface to export a variable
with the default prefix registry, so that it can be dynamically bound.

18 years agoAllow RDF prefix procedures to take an optional registry, and export a
Chris Hanson [Thu, 27 Jul 2006 20:14:09 +0000 (20:14 +0000)]
Allow RDF prefix procedures to take an optional registry, and export a
data abstraction for registries.

18 years agoUpdate copyright dates.
Chris Hanson [Thu, 27 Jul 2006 16:50:31 +0000 (16:50 +0000)]
Update copyright dates.

18 years agoBelatedly add paredit to the list of optional packages to install.
Taylor R. Campbell [Thu, 27 Jul 2006 00:42:48 +0000 (00:42 +0000)]
Belatedly add paredit to the list of optional packages to install.

18 years agoAdd missing guarantors for symbols and strings.
Chris Hanson [Thu, 27 Jul 2006 00:03:57 +0000 (00:03 +0000)]
Add missing guarantors for symbols and strings.

18 years agoImplement FOR-ALL-CHARS-IN-STRING? and FOR-ANY-CHAR-IN-STRING?.
Chris Hanson [Thu, 27 Jul 2006 00:00:13 +0000 (00:00 +0000)]
Implement FOR-ALL-CHARS-IN-STRING? and FOR-ANY-CHAR-IN-STRING?.

18 years agoChange LOAD so that nested loads use environment of enclosing load as
Chris Hanson [Wed, 26 Jul 2006 19:10:33 +0000 (19:10 +0000)]
Change LOAD so that nested loads use environment of enclosing load as
target.  Previously they used the nearest REPL environment.
(Non-nested loads retain the old behavior.)

18 years agoAllow LOAD in expander environment to take optional target
Chris Hanson [Wed, 26 Jul 2006 19:04:41 +0000 (19:04 +0000)]
Allow LOAD in expander environment to take optional target
environment.

18 years agoChange string encoding so that base64-encoded strings are properly
Taylor R. Campbell [Tue, 25 Jul 2006 18:21:44 +0000 (18:21 +0000)]
Change string encoding so that base64-encoded strings are properly
wrapped in `base64' elements, and so that non-base64-encoded strings
are not wrapped in superfluous `string' elements.

18 years agoMove STACK-TRACE from mod_lisp server to the run-time system.
Taylor R. Campbell [Thu, 20 Jul 2006 17:09:44 +0000 (17:09 +0000)]
Move STACK-TRACE from mod_lisp server to the run-time system.

18 years agoMake sure that base URI is absolute.
Chris Hanson [Sat, 8 Jul 2006 00:24:09 +0000 (00:24 +0000)]
Make sure that base URI is absolute.

18 years agoChange SAVE-EXCURSION and SCREEN-WINDOW-CONFIGURATION to make
Taylor R. Campbell [Mon, 3 Jul 2006 19:41:23 +0000 (19:41 +0000)]
Change SAVE-EXCURSION and SCREEN-WINDOW-CONFIGURATION to make
right-inserting copies of the point, rather than left-inserting.
This way, insertion of text at point inside the SAVE-EXCURSION region
will have no effect on the original point.

Change SAVE-EXCURSION to select the original buffer after the
supplied thunk returns.

Remove PAREDIT-SAVE-EXCURSION, whose functionality is now subsumed by
the new SAVE-EXCURSION.

18 years agoUpdate copyright years.
Taylor R. Campbell [Mon, 3 Jul 2006 19:28:03 +0000 (19:28 +0000)]
Update copyright years.

18 years agoImplement PARSE-STATE-START-OF-SEXP and PARSE-STATE-END-OF-SEXP
Taylor R. Campbell [Mon, 3 Jul 2006 19:05:02 +0000 (19:05 +0000)]
Implement PARSE-STATE-START-OF-SEXP and PARSE-STATE-END-OF-SEXP
properly in Edwin's partial S-expression parser.  This fixes a long-
standing bug in paredit whereby character deletion in strings that
were the first elements of lists would cause segmentation faults.

18 years agoCall UNDO-RECORD-POINT! before modifications in `paredit-splice-sexp'
Taylor R. Campbell [Tue, 27 Jun 2006 18:43:59 +0000 (18:43 +0000)]
Call UNDO-RECORD-POINT! before modifications in `paredit-splice-sexp'
and `paredit-split-sexp' commands, so that their undoing works as
expected.

18 years agoImplement paredit-split-sexp (M-S) and paredit-join-sexps (M-J).
Taylor R. Campbell [Tue, 27 Jun 2006 18:39:45 +0000 (18:39 +0000)]
Implement paredit-split-sexp (M-S) and paredit-join-sexps (M-J).

18 years agoAdd entries for diff.scm and paredit.scm to ed-ffi.scm.
Taylor R. Campbell [Mon, 26 Jun 2006 16:16:18 +0000 (16:16 +0000)]
Add entries for diff.scm and paredit.scm to ed-ffi.scm.

18 years agoExport CANONICALIZE-RDF-URI.
Chris Hanson [Fri, 23 Jun 2006 19:35:26 +0000 (19:35 +0000)]
Export CANONICALIZE-RDF-URI.

18 years agoRegister qname prefixes when reading file.
Chris Hanson [Fri, 23 Jun 2006 18:50:03 +0000 (18:50 +0000)]
Register qname prefixes when reading file.

18 years agoAdd support for RDF qnames.
Chris Hanson [Fri, 23 Jun 2006 18:49:30 +0000 (18:49 +0000)]
Add support for RDF qnames.

18 years agoAdd entry for "turtle.scm".
Chris Hanson [Fri, 23 Jun 2006 18:49:17 +0000 (18:49 +0000)]
Add entry for "turtle.scm".

18 years agoExport qname matchers for use in rdf-struct.
Chris Hanson [Fri, 23 Jun 2006 17:20:30 +0000 (17:20 +0000)]
Export qname matchers for use in rdf-struct.

18 years agoExport procedures to write the elements of a triple.
Chris Hanson [Thu, 22 Jun 2006 19:17:29 +0000 (19:17 +0000)]
Export procedures to write the elements of a triple.

18 years agoAdd unparser for RDF literals.
Chris Hanson [Thu, 22 Jun 2006 18:35:27 +0000 (18:35 +0000)]
Add unparser for RDF literals.

18 years agoChange INTERN and INTERN-SOFT to accept UTF-8 strings.
Chris Hanson [Thu, 22 Jun 2006 15:17:50 +0000 (15:17 +0000)]
Change INTERN and INTERN-SOFT to accept UTF-8 strings.

18 years agoImplement RDF-LITERAL=?.
Chris Hanson [Thu, 22 Jun 2006 04:48:33 +0000 (04:48 +0000)]
Implement RDF-LITERAL=?.

18 years agoHandle atom delimiters specially when they are the first character
Chris Hanson [Wed, 21 Jun 2006 13:45:52 +0000 (13:45 +0000)]
Handle atom delimiters specially when they are the first character
after "#\".

18 years agoDefine CALL-WITH-INPUT-STRING, since I keep assuming it's there.
Chris Hanson [Wed, 21 Jun 2006 03:00:11 +0000 (03:00 +0000)]
Define CALL-WITH-INPUT-STRING, since I keep assuming it's there.

18 years agoEliminate overly-restrictive error tests from character syntax.
Chris Hanson [Wed, 21 Jun 2006 02:57:28 +0000 (02:57 +0000)]
Eliminate overly-restrictive error tests from character syntax.

18 years agoFixed references to unbound variable.
Chris Hanson [Mon, 19 Jun 2006 18:03:24 +0000 (18:03 +0000)]
Fixed references to unbound variable.

18 years agoFixed references to unbound variable.
Chris Hanson [Mon, 19 Jun 2006 18:02:55 +0000 (18:02 +0000)]
Fixed references to unbound variable.

18 years agoEliminate compiler warning.
Chris Hanson [Mon, 19 Jun 2006 18:02:28 +0000 (18:02 +0000)]
Eliminate compiler warning.

18 years agoNew Edwin library Paredit.
Taylor R. Campbell [Fri, 16 Jun 2006 19:02:27 +0000 (19:02 +0000)]
New Edwin library Paredit.

18 years agoMove diff.scm to proper alphabetical location in syntaxed filename list.
Taylor R. Campbell [Fri, 16 Jun 2006 18:35:45 +0000 (18:35 +0000)]
Move diff.scm to proper alphabetical location in syntaxed filename list.

18 years agoFix Edwin command DIFF-BACKUP for case wherein selected buffer has no
Taylor R. Campbell [Fri, 16 Jun 2006 18:33:21 +0000 (18:33 +0000)]
Fix Edwin command DIFF-BACKUP for case wherein selected buffer has no
associated file.

18 years agoImplement Unix diff(1) front end.
Taylor R. Campbell [Fri, 16 Jun 2006 17:55:27 +0000 (17:55 +0000)]
Implement Unix diff(1) front end.

New Edwin variables:
  diff-program

New Edwin commands:
  diff (compare two files)
  diff-backup (compare buffer's file with its most recent backup)
  diff-buffer-with-file (compare buffer with its underlying file)
  diff-auto-save (compare buffer with its auto-save file)

18 years agoStart adding SRFI-1 documentation.
Chris Hanson [Wed, 14 Jun 2006 04:26:50 +0000 (04:26 +0000)]
Start adding SRFI-1 documentation.

18 years agoImplement two kinds of filtering in Edwin's simple news reader:
Taylor R. Campbell [Mon, 12 Jun 2006 20:46:28 +0000 (20:46 +0000)]
Implement two kinds of filtering in Edwin's simple news reader:
filtering out messages that match criteria, such as spam; and
filtering headers of kept messages.

See the documentation strings for the new Edwin variables
NEWS-HEADER-FILTER and NEWS-KEPT-HEADERS.  New procedures
NEWS-HEADER-SPLITTING-FILTER and NEWS-HEADER-REGEXP-FILTER are useful
for constructing the value of NEWS-HEADER-FILTER.  For example,
I have this in my .edwin, so that any messages with xref headers
whose values contain `gmane.spam.detected' on any Gmane news servers
will be ignored:

  (add-event-receiver! (ref-variable news-group-mode-hook)
    (let ((gmane-spam-filter
           (news-header-regexp-filter
            '(("xref" . ".*gmane\\.spam\\.detected.*")))))
      (lambda (buffer)
        (if (string-prefix? "gmane." (buffer-name buffer))
            (local-set-variable! news-header-filter
                                 gmane-spam-filter
                                 buffer)))))

18 years agoFinish integrating SRFI-1 support.
Chris Hanson [Mon, 12 Jun 2006 17:53:14 +0000 (17:53 +0000)]
Finish integrating SRFI-1 support.

18 years agoMake some changes in preparation for integration of SRFI-1 support:
Chris Hanson [Mon, 12 Jun 2006 05:07:18 +0000 (05:07 +0000)]
Make some changes in preparation for integration of SRFI-1 support:

. Some of the (simpler) new procedures have been installed verbatim
  from John Kraemer's edit of Olin's implementation.  Some others were
  rewritten, but many others have yet to be installed.

. The mapping procedures have been extended to accept arguments of
  different lengths (as required).

. MEMBER and ASSOC have been extended to take an extra optional
  argument (as required).

. REDUCE has been changed to have the SRFI-1 semantics.  This means
  that (REDUCE CONS '() '(A B C)) now returns

      (c b . a)

  where it used to return

      ((a . b) . c)

  This is an incompatible change; hopefully it won't be too painful
  for the users.

. FOLD-RIGHT has been extended to support multiple list arguments.

. FOLD-LEFT remains unchanged but is now considered obsolete; SRFI-1
  provides FOLD instead, with different semantics.

Additionally, the definition of WEAK-LIST? was wrong and has been
fixed.

18 years agoChange or eliminate some calls to REDUCE and FOLD-LEFT that might
Chris Hanson [Mon, 12 Jun 2006 04:19:43 +0000 (04:19 +0000)]
Change or eliminate some calls to REDUCE and FOLD-LEFT that might
cause trouble with the SRFI-1 definitions.

18 years agoFix typo in previous change.
Chris Hanson [Sun, 11 Jun 2006 03:06:23 +0000 (03:06 +0000)]
Fix typo in previous change.

18 years agoRepaginate.
Chris Hanson [Sun, 11 Jun 2006 03:04:17 +0000 (03:04 +0000)]
Repaginate.

18 years agoGenerate sensible error message when GET-HOST-BY-NAME returns #F.
Chris Hanson [Sun, 11 Jun 2006 03:03:22 +0000 (03:03 +0000)]
Generate sensible error message when GET-HOST-BY-NAME returns #F.

18 years agoDelete unused statements from previous change.
Chris Hanson [Sat, 10 Jun 2006 15:06:07 +0000 (15:06 +0000)]
Delete unused statements from previous change.

18 years agoFix copyright date.
Chris Hanson [Sat, 10 Jun 2006 06:12:26 +0000 (06:12 +0000)]
Fix copyright date.

18 years agoPrevious change wasn't quite right. Some more tweaking seems to help.
Chris Hanson [Sat, 10 Jun 2006 06:09:37 +0000 (06:09 +0000)]
Previous change wasn't quite right.  Some more tweaking seems to help.

18 years agoAdd missing datarootdir definition needed by newer versions of
Chris Hanson [Sat, 10 Jun 2006 05:38:02 +0000 (05:38 +0000)]
Add missing datarootdir definition needed by newer versions of
autoconf.

18 years agoFix copyright dates on changed files.
Chris Hanson [Sat, 10 Jun 2006 05:24:54 +0000 (05:24 +0000)]
Fix copyright dates on changed files.

18 years agoRemove obsolete file.
Chris Hanson [Sat, 10 Jun 2006 04:45:30 +0000 (04:45 +0000)]
Remove obsolete file.

18 years agoAdd parsing support for RDF/Turtle.
Chris Hanson [Sat, 10 Jun 2006 04:43:09 +0000 (04:43 +0000)]
Add parsing support for RDF/Turtle.

18 years agoTweak DIRECTORY-LISTING-BEFORE-FILENAME-REGEXP to add support for
Chris Hanson [Sat, 10 Jun 2006 04:17:51 +0000 (04:17 +0000)]
Tweak DIRECTORY-LISTING-BEFORE-FILENAME-REGEXP to add support for
VC-Dired mode.

18 years agoImplement ERROR macros.
Chris Hanson [Sat, 10 Jun 2006 04:12:32 +0000 (04:12 +0000)]
Implement ERROR macros.

18 years agoImplement PARSER-BUFFER-ERROR.
Chris Hanson [Sat, 10 Jun 2006 04:06:47 +0000 (04:06 +0000)]
Implement PARSER-BUFFER-ERROR.

18 years agoImplement WRITE-RDF/NT-FILE.
Chris Hanson [Sat, 10 Jun 2006 03:52:00 +0000 (03:52 +0000)]
Implement WRITE-RDF/NT-FILE.

18 years agoRationalized the order of clauses in `Display()' to better reflect
Michael R. Blair [Mon, 5 Jun 2006 18:09:38 +0000 (18:09 +0000)]
Rationalized the order of clauses in `Display()' to better reflect
the order following `Switch_by_GC_Type()' in "gccode.h".

18 years agoJust shoot me now. FIXNUMs should continue to appear as signed data.
Michael R. Blair [Mon, 5 Jun 2006 17:57:43 +0000 (17:57 +0000)]
Just shoot me now.  FIXNUMs should continue to appear as signed data.

18 years agoOops. UNSIGNED_FIXNUM_TO_LONG() should be FIXNUM_TO_ULONG().
Michael R. Blair [Mon, 5 Jun 2006 17:28:10 +0000 (17:28 +0000)]
Oops.  UNSIGNED_FIXNUM_TO_LONG() should be FIXNUM_TO_ULONG().
Scheme 7.6 didn't have that so I misled myself into confusion.

18 years agoI was sick of seeing negative values in high memory due to sign bit.
Michael R. Blair [Mon, 5 Jun 2006 17:02:25 +0000 (17:02 +0000)]
I was sick of seeing negative values in high memory due to sign bit.
The only signed longs here are the `gc_death' code (so says "gccode.h")
and the `Points_To' cast of FIXNUMs (since cannot determine sign).

18 years agoDebugging tools (both for debugging `ppband' and the heap image).
Michael R. Blair [Mon, 5 Jun 2006 15:04:20 +0000 (15:04 +0000)]
Debugging tools (both for debugging `ppband' and the heap image).

18 years agoGenerally improved output formatting. More info is better than less.
Michael R. Blair [Mon, 5 Jun 2006 14:29:12 +0000 (14:29 +0000)]
Generally improved output formatting.  More info is better than less.

1. Split hi/lo for easier visual parsing into words.
2. Modest string tweaks (like "0x" prefix for hex).
3. Boundary separators for ease of `grep' to next section.
4. `Datum = ...' everywhere.  More info is useful in general.

18 years agoDisplay TC_LIST as ``PAIR'' as per comment in "sdata.h".
Michael R. Blair [Mon, 5 Jun 2006 13:08:08 +0000 (13:08 +0000)]
Display TC_LIST as ``PAIR'' as per comment in "sdata.h".

18 years agoHandle recognized constants specially (like UNSPECIFIC and EMPTY_LIST).
Michael R. Blair [Mon, 5 Jun 2006 13:02:51 +0000 (13:02 +0000)]
Handle recognized constants specially (like UNSPECIFIC and EMPTY_LIST).

18 years agoDisplay `C_Code_Table' if non-zero (not unlike the Primitive_Table).
Michael R. Blair [Mon, 5 Jun 2006 11:35:14 +0000 (11:35 +0000)]
Display `C_Code_Table' if non-zero (not unlike the Primitive_Table).

18 years agoAdd a usage string to `main()' so folks can see how to invoke it.
Michael R. Blair [Mon, 5 Jun 2006 11:03:43 +0000 (11:03 +0000)]
Add a usage string to `main()' so folks can see how to invoke it.
Clean up the scratch area allocation and truncation (document same).

18 years agoFixed bit-rotted `show_area's count-based MANIFEST_CLOSURE botchery,
Michael R. Blair [Mon, 5 Jun 2006 09:51:07 +0000 (09:51 +0000)]
Fixed bit-rotted `show_area's count-based MANIFEST_CLOSURE botchery,
broken `break'-embedding macrology (got whacked in ver.9.46) and such:

0. Include "storage.c" for `Type_Names' and "gctype.c" goodies.
1. Fixed dropped high-order bit on addr & datum hex print (6-bit type).
2. Explicit (not embedded) `break's after (NON_)POINTER() macro calls.
3. Made `TC_NULL' & `TC_TRUE' print less misleadingly when not #T/#F.
4. Patched MANIFEST_CLOSUREs, STACK_ENVIRONMENTs & LINKAGE_SECTIONs as:
5. Area-based display a la "uxtrap.c" using GC macros is much cleaner
   (despite the odd redefinition of `MANIFEST_CLOSURE_END()' ver.1.31).
6. Fixed bogus `Next' update for `Const_Count' non-zero (fix end addr).

18 years agoAdded "storage.c" to list of dependencies needed for "ppband.c".
Michael R. Blair [Mon, 5 Jun 2006 09:49:02 +0000 (09:49 +0000)]
Added "storage.c" to list of dependencies needed for "ppband.c".
Moved "load.c" to list of dependencies since `#include'd, not linked.
Fixed ill-formed mode line in passing (sigh).

18 years agoResurrect the `ppband' fasdump/band parser and heap pretty-print tool.
Michael R. Blair [Sat, 3 Jun 2006 08:10:10 +0000 (08:10 +0000)]
Resurrect the `ppband' fasdump/band parser and heap pretty-print tool.

This tool is very useful for perusing the heap (think GC debugging).
I'm not its original author but I am its most loyal fan!

Stay tuned for more clean up before giving it a spin.  For those who
just cannot wait, try:  ./ppband < runtime.com > /usr/tmp/runtime.txt

18 years agoThis is a minimal resurrection of a handy, though bit-rotted, old tool.
Michael R. Blair [Sat, 3 Jun 2006 08:05:20 +0000 (08:05 +0000)]
This is a minimal resurrection of a handy, though bit-rotted, old tool.

Subsequent patches make it more palatable and likely to be maintained.
Stay tuned for more clean up before giving it a spin.  I've staged the
commits so successive versions can be built and tinkered with rather
than doing one massive re-write than cannot be easily factored out.

Fixed some compiler warnings:

Defer to "scheme.h" for deprecated `fast' and several other niceties.
Added missing `#include <stdlib.h>' (for `malloc()',`free()',`exit()').
Removed obsolete static `memory_base' global ("load.c" no longer uses).
Removed obsolete static `string_buffer[10]' global (no longer used).
Fixed `main()' return type to canonical `int' (and made it return so).
Initialized uninitialized `Next' ptr to `((SCHEME_OBJECT *) NULL)'.
Appeased `sscanf()' by passing constant strings, not string literals.

18 years agoFixed some compiler warnings:
Michael R. Blair [Sat, 3 Jun 2006 08:00:15 +0000 (08:00 +0000)]
Fixed some compiler warnings:

1. Added missing `#include "outf.h"' directive (for `outf_error()').
2. Conditionalize `computed_checksum' decl to avoid "unused" warning.

18 years agoAdd Ziggy's new ID.
Chris Hanson [Fri, 2 Jun 2006 14:21:32 +0000 (14:21 +0000)]
Add Ziggy's new ID.

18 years agoAdded (excessive) step-by-step detail on non-easy CVS bootstrapping.
Michael R. Blair [Fri, 2 Jun 2006 07:46:03 +0000 (07:46 +0000)]
Added (excessive) step-by-step detail on non-easy CVS bootstrapping.

Note: Please feel free to edit, clarify, and condense these added
sections to taste.  The more I tried to shorten them, the
longer they became.  I clearly should never touch them again.

Brief: This hopefully should alleviate some of the pain in building
        MIT/GNU Scheme for the first time from CVS sources on a system
that may or may not already have a compatible MIT/GNU Scheme
installed or for which there may or may not exist a compatible
binary release one can simple download and install and run.

Excerpts:

These more detailed build instructions cover the case where no binary
release corresponding to the CVS sources runs successfully on your
system or none can be installed in the usual system-wide location(s).

...

In short, to transition a pristine checked out CVS source tree
installation from the ``maintainer-clean'' CVS build state into the
``distribution'' build state, the "./Setup.sh" uses MIT/GNU Scheme
itself to grovel over the Scheme sources to build up Scheme system
file dependencies and other distribution-specific configuration data.

...

Naturally, this results in a bit of a chicken-and-egg puzzle.

18 years agoFor backward compatibility, if new `call-with-output-string' is not
Michael R. Blair [Fri, 2 Jun 2006 07:00:07 +0000 (07:00 +0000)]
For backward compatibility, if new `call-with-output-string' is not
defined, try using the old `with-string-output-port' name instead.

In short, 7.7 defines a backward-compatible package alias but 7.6 does
not define a forward-compatible anticipatory alias (obviously).

This is needed when, say, building 7.7 CVS sources using release 7.6
installed binaries as a bootstrap Scheme:  the new "makegen.scm" uses
the new name but old bootstrap "runtime"s may define only the old name.

This patch, coupled with the ${SCHEME_LARGE} and ${SCHEME_COMPILER}
generalizations of the `*.sh' build scripts, make it possible to call
"src/Setup.sh" to transition a CVS source directory to a "distribution"
state without first having the CVS Scheme installed to bootstrap.  This
consequently avoids a particularly subtle chicken-and-egg puzzle.

A forthcoming update to "src/README.txt" spells out the details.

18 years agoReplace non-backward-compatible `--eval' null input w/ shell echo pipe.
Michael R. Blair [Fri, 2 Jun 2006 06:50:11 +0000 (06:50 +0000)]
Replace non-backward-compatible `--eval' null input w/ shell echo pipe.

Specifically, double dashes are preferred in env var default values
but they should be avoided in explicit command lines since they die
when the bootstrap ${SCHEME_COMPILER} predates the double dash syntax.

This really just substitutes one hack for another but at least it now
works for release 7.6 as well as 7.7 (so you can now build the latter
from CVS using the former to bootstrap from 7.6 into 7.7).

18 years agoReplace hard-wired "scheme" calls with retargetable defaulted env vars.
Michael R. Blair [Fri, 2 Jun 2006 06:37:44 +0000 (06:37 +0000)]
Replace hard-wired "scheme" calls with retargetable defaulted env vars.

Use GNU standard double-dashed switch args by default in release 7.7+.

This forces you to rebind the env var if building w/ pre-7.7 bootstrap,
which is good:  it makes you be explicit about mis-matched bootstraps.

A forthcoming update to "src/README.txt" spells out the details.

18 years agoSuppress <mcrypt.h> & <mhash.h> includes when files are not present.
Michael R. Blair [Fri, 2 Jun 2006 03:06:56 +0000 (03:06 +0000)]
Suppress <mcrypt.h> & <mhash.h> includes when files are not present.

This avoids "makegen.scm" spewing syntactic crud (error/failure
messages) into "Makefile.deps" (and thus "Makefile.in" & "Makefile")
during the invocation of "./Setup.sh" by virtue of "prmcrypt" and
"prmhash" appearing in "makegen/files-optional.scm".

Note how "prmd5.c" is already nicely conditionalized on `HAVE_MD5_H'.

18 years agoFix typo in previous change.
Chris Hanson [Wed, 31 May 2006 01:19:39 +0000 (01:19 +0000)]
Fix typo in previous change.

18 years agoPrevent error visiting svn-managed file when "svn" not installed.
Chris Hanson [Wed, 31 May 2006 01:18:36 +0000 (01:18 +0000)]
Prevent error visiting svn-managed file when "svn" not installed.

18 years agoFix parsing of dired lines to work with other locales.
Chris Hanson [Mon, 22 May 2006 05:34:55 +0000 (05:34 +0000)]
Fix parsing of dired lines to work with other locales.

18 years agoFix examples of MAKE-CLASS and DEFINE-CLASS so that the implicit
Chris Hanson [Tue, 16 May 2006 16:59:35 +0000 (16:59 +0000)]
Fix examples of MAKE-CLASS and DEFINE-CLASS so that the implicit
generic-procedure definitions are made explicit.

18 years agoBump copyright dates.
Chris Hanson [Mon, 15 May 2006 02:43:54 +0000 (02:43 +0000)]
Bump copyright dates.

18 years agoImplement OS/NEWEST-BACKUP for Unix.
Taylor R. Campbell [Mon, 15 May 2006 01:50:40 +0000 (01:50 +0000)]
Implement OS/NEWEST-BACKUP for Unix.

This should probably be implemented for DOS some day, but I'm not a DOS
hacker, and I need this only for a diff front end, which won't run on
DOS anyway.

18 years agoExpand the startup message on how to get help to include the tutorial
Taylor R. Campbell [Sun, 30 Apr 2006 04:11:38 +0000 (04:11 +0000)]
Expand the startup message on how to get help to include the tutorial
key, and clarify the meaning of `C-h'.

18 years agoFix bug: wrong number of tags was being stored in cache when variadic
Chris Hanson [Sun, 30 Apr 2006 01:43:55 +0000 (01:43 +0000)]
Fix bug: wrong number of tags was being stored in cache when variadic
generic procedure had a method with more than the minimum number of
arguments and was called with that number of arguments.  (Thanks to
Zev Benjamin for finding this.)

18 years agoAllow variable names to contain colons in "Edwin Variables:" section.
Chris Hanson [Sat, 29 Apr 2006 01:29:56 +0000 (01:29 +0000)]
Allow variable names to contain colons in "Edwin Variables:" section.

18 years agoFix bug: use of RUN-SHELL-COMMAND in SVN support wasn't working when
Chris Hanson [Mon, 24 Apr 2006 01:12:12 +0000 (01:12 +0000)]
Fix bug: use of RUN-SHELL-COMMAND in SVN support wasn't working when
filename had spaces in it.  Instead use RUN-SYNCHRONOUS-SUBPROCESS.