mit-scheme.git
14 years agoAdd declarations to silence warnings.
Joe Marshall [Wed, 11 Aug 2010 16:45:10 +0000 (09:45 -0700)]
Add declarations to silence warnings.

14 years agoAdd declaration to silence warning.
Joe Marshall [Wed, 11 Aug 2010 16:43:17 +0000 (09:43 -0700)]
Add declaration to silence warning.

14 years agoDocument ephemerons.
Taylor R Campbell [Tue, 10 Aug 2010 19:58:30 +0000 (19:58 +0000)]
Document ephemerons.

14 years agoImplement ephemerons.
Taylor R Campbell [Tue, 10 Aug 2010 18:43:44 +0000 (18:43 +0000)]
Implement ephemerons.

Ephemerons are like weak pairs, except the datum is dropped if the
key is dropped, and references to the key through the datum don't
count if the only references to the datum are through the ephemeron.
In other words, the weak references to the key and datum are dropped
iff the key can be proven dead; conversely, the references to the key
and datum are preserved iff somebody else cares about the key.

14 years agoDeclare IGNORABLE NB to silence warning.
Joe Marshall [Mon, 9 Aug 2010 19:55:47 +0000 (12:55 -0700)]
Declare IGNORABLE NB to silence warning.

14 years agoMissed some vestiges of archaic microcode state space support.
Taylor R Campbell [Mon, 9 Aug 2010 17:45:10 +0000 (17:45 +0000)]
Missed some vestiges of archaic microcode state space support.

14 years agoEliminate some unused return codes.
Taylor R Campbell [Mon, 9 Aug 2010 17:38:57 +0000 (17:38 +0000)]
Eliminate some unused return codes.

14 years agoEliminate all traces of the archaic microcode state space support.
Taylor R Campbell [Mon, 9 Aug 2010 16:47:03 +0000 (16:47 +0000)]
Eliminate all traces of the archaic microcode state space support.

14 years agoSet -u in the setup scripts and make them more robust to interrupts.
Taylor R Campbell [Mon, 9 Aug 2010 16:44:03 +0000 (16:44 +0000)]
Set -u in the setup scripts and make them more robust to interrupts.

14 years agoCheck for termcap.h too.
Taylor R Campbell [Mon, 9 Aug 2010 16:36:32 +0000 (16:36 +0000)]
Check for termcap.h too.

Assume that term.h or termcap.h defines BC, UP, PC, & ospeed.

Work around !*@#@^!*#%!^&$@!%# stupidity in NetBSD with ospeed.

14 years agoMove the check for termcap-related headers.
Taylor R Campbell [Sun, 8 Aug 2010 02:56:56 +0000 (02:56 +0000)]
Move the check for termcap-related headers.

This puts the warning messages about emulating termcap or tparm
closer to the checks, which makes configure's output make a trifle
more sense.

14 years agoAdd configure option `--with-termcap=LIB' to select termcap library.
Taylor R Campbell [Sun, 8 Aug 2010 01:53:07 +0000 (01:53 +0000)]
Add configure option `--with-termcap=LIB' to select termcap library.

LIB=no disables any termcap library (causing the use of the built-in
termcap emulation); LIB=yes, the default, makes configure choose
whatever termcap library looks best.

I wanted to go further and make the termcap primitives dynamically
loadable, so that the compile-time choice of termcap library can be
made just for some prtermcap.so module separately from the libraries
against which the microcode is linked, but uxtty.c uses termcap for
screen-clearing and window-sizing.

If ^L worked everywhere to clear the screen, and TIOCGWINSZ worked
everywhere to find the screen dimensions, then we could get rid of
those uses of termcap and move it off to a module.  But alas, that is
not the case.  E.g., ^L doesn't clear the screen in screen.

14 years agoFix i386 code generated for flonum rounding primitives.
Taylor R Campbell [Fri, 6 Aug 2010 01:36:09 +0000 (01:36 +0000)]
Fix i386 code generated for flonum rounding primitives.

The default has not been round-to-even since primitives were added to
change it, but the generated code assumed it was.

Remember to run at least a two-stage build so that the runtime is
compiled with the new compiler.

Before:

(flo:with-rounding-mode 'TOWARD-ZERO (lambda () (flo:ceiling 1.2)))
;Value: 1.

After:

(flo:with-rounding-mode 'TOWARD-ZERO (lambda () (flo:ceiling 1.2)))
;Value: 2.

14 years agoEmulate C99 fenv.h on amd64 through the MXCSR.
Taylor R Campbell [Fri, 6 Aug 2010 01:18:01 +0000 (01:18 +0000)]
Emulate C99 fenv.h on amd64 through the MXCSR.

14 years agoEmulate C99 fenv.h on i386 through the i387 control word.
Taylor R Campbell [Fri, 6 Aug 2010 01:17:07 +0000 (01:17 +0000)]
Emulate C99 fenv.h on i386 through the i387 control word.

14 years agoEmulate C99 fenv.h with BSD ieeefp.h if necessary.
Taylor R Campbell [Fri, 6 Aug 2010 01:15:30 +0000 (01:15 +0000)]
Emulate C99 fenv.h with BSD ieeefp.h if necessary.

14 years agoNew procedures FLO:EXPM1 and FLO:LOG1P just like libm's.
Taylor R Campbell [Fri, 6 Aug 2010 00:38:40 +0000 (00:38 +0000)]
New procedures FLO:EXPM1 and FLO:LOG1P just like libm's.

Defined only on an interval about 0 of radius 1/log 2 and 1/sqrt 2,
respectively; intended for computing (exp x) - 1 and log (1 + x) for
very small x with high precision, unlike FLO:EXP and FLO:LOG.

14 years agoBe slightly more consistent about references to MIT_SCHEME_EXE.
Taylor R Campbell [Thu, 5 Aug 2010 18:57:53 +0000 (18:57 +0000)]
Be slightly more consistent about references to MIT_SCHEME_EXE.

It is to be interpreted as a pathname, provided that no character in
it be a make meta-character, or a shell meta-character that has
meaning within double-quotes.  It shouldn't have such constraints,
but Unix sucks.  To set the library path, use MITSCHEME_LIBRARY_PATH
rather than sticking a `--library' argument in MIT_SCHEME_EXE.

14 years agoEnsure that signal handlers see the C stack, not the Scheme stack.
Taylor R Campbell [Thu, 5 Aug 2010 17:15:17 +0000 (17:15 +0000)]
Ensure that signal handlers see the C stack, not the Scheme stack.

Do this by wrapping all the signal handlers in stubs that call an
assembly hook to make the stack pointer point into the C stack rather
than the Scheme stack if necessary.  To indicate that this is not
necessary, define SIGNAL_HANDLERS_CAN_USE_SCHEME_STACK.  For now, I'm
leaving that undefined by default, because it is the safer option.

This solves a problem on operating systems such as NetBSD that store
the current pthread identifier in the stack pointer.  When Scheme's
signal handler calls routines that are pthread cancellation points,
such as waitpid, they try to find the current pthread identifier in a
stack pointer that points off into oblivion (into Scheme's stack) and
promptly crash -- or, worse, trigger SIGSEGV, to be handled by a
signal handler while the stack pointer still points into Scheme's
stack, with the same problem.

I am told that this will be fixed in NetBSD 6 (since it interferes
not just with Scheme but also with sigaltstack, makecontext, and
anything else that wants to mess with the stack pointer), but only on
i386 and amd64 for certain, and in any case, this workaround will
work on any other systems that try to use the same trick to store the
current pthread identifier, of which I believe there may be several.
(E.g., older versions of GNU/Linux with LinuxThreads.)

14 years agoUse intmax and uintmax to support 64-bit off_t, time_t, &c.
Taylor R Campbell [Tue, 3 Aug 2010 22:35:33 +0000 (22:35 +0000)]
Use intmax and uintmax to support 64-bit off_t, time_t, &c.

Eliminate BIGNUM_NO_ULONG.  Twenty years ago it may have made sense;
now too much of the system relies on having unsigned longs for it to
matter.

New routines convert between integers and intmax/uintmax.  The old
ones for long/unsigned long are still there, because they are likely
to be much faster on 32-bit systems.  Only a few uses of long have
been replaced by intmax -- the ones where it was obvious we were
converting between time_t, off_t, ino_t, &c., and long.  Others may
still be there.  Before:

(file-length "fnord")
;Value: 1235

After:

(file-length "fnord")
;Value: 4294968531

(`fnord' was created by seeking to byte 2^32 + 1234 or something and
writing a single byte there.)

14 years agoDon't delete runtime.com from the distribution.
Chris Hanson [Wed, 28 Jul 2010 06:53:46 +0000 (23:53 -0700)]
Don't delete runtime.com from the distribution.

14 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Wed, 28 Jul 2010 05:27:12 +0000 (22:27 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

14 years agoImplement SYMBOL>?
Joe Marshall [Tue, 27 Jul 2010 19:33:58 +0000 (12:33 -0700)]
Implement SYMBOL>?

14 years agoDon't make lib/lib a symlink to ../microcode; this breaks liarc.
Taylor R Campbell [Tue, 27 Jul 2010 16:52:43 +0000 (16:52 +0000)]
Don't make lib/lib a symlink to ../microcode; this breaks liarc.

14 years agoProperly fix handling of pstring.
Chris Hanson [Tue, 27 Jul 2010 05:15:40 +0000 (22:15 -0700)]
Properly fix handling of pstring.

14 years agoFix typo.
Chris Hanson [Tue, 27 Jul 2010 05:01:52 +0000 (22:01 -0700)]
Fix typo.

14 years agoFix microcode's `--version' output.
Taylor R Campbell [Tue, 27 Jul 2010 01:56:36 +0000 (01:56 +0000)]
Fix microcode's `--version' output.

Write a newline, and force console output.

14 years agoFix bug: change to MODULE_LDFLAGS broke liarc-ld on MacOS.
Chris Hanson [Mon, 26 Jul 2010 07:18:36 +0000 (00:18 -0700)]
Fix bug: change to MODULE_LDFLAGS broke liarc-ld on MacOS.

14 years agoNuke trailing whitespace.
Chris Hanson [Mon, 26 Jul 2010 07:17:34 +0000 (00:17 -0700)]
Nuke trailing whitespace.

14 years agoBroaden handling of pstring to accept NIL.
Chris Hanson [Sun, 25 Jul 2010 07:54:24 +0000 (00:54 -0700)]
Broaden handling of pstring to accept NIL.

14 years agoUse _init and etext on NetBSD to find the text segment's bounds.
Taylor R Campbell [Fri, 23 Jul 2010 18:33:32 +0000 (18:33 +0000)]
Use _init and etext on NetBSD to find the text segment's bounds.

14 years agoEliminate vestiges of i386 code from cmpintmd/x86-64.h.
Taylor R Campbell [Fri, 23 Jul 2010 02:30:25 +0000 (02:30 +0000)]
Eliminate vestiges of i386 code from cmpintmd/x86-64.h.

14 years agoUnmask IEEE 754 floating-point exceptions on x86-64.
Taylor R Campbell [Fri, 23 Jul 2010 01:28:59 +0000 (01:28 +0000)]
Unmask IEEE 754 floating-point exceptions on x86-64.

Should this instead be part of Scheme's dynamic environment, like the
floating-point rounding mode?

14 years agoRelax plausible_cc_block_p.
Taylor R Campbell [Thu, 22 Jul 2010 23:12:37 +0000 (23:12 +0000)]
Relax plausible_cc_block_p.

Some leaf procedures and continuations do not have GC trap prefixes,
so don't require the block in question to have one.

On i386, this makes the trap handler successfully figure out where it
is in (FIX:QUOTIENT 1 0).  FIX:QUOTIENT is a leaf procedure, unlike
FLO:/, although perhaps FIX:QUOTIENT ought to do checks and defer to
the microcode primitive like FLO:/.

14 years agoMerge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme
Taylor R Campbell [Thu, 22 Jul 2010 21:16:08 +0000 (21:16 +0000)]
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme

14 years agoReorganize Linux section of uxtrap.h and add x86-64 support.
Taylor R Campbell [Thu, 22 Jul 2010 20:25:19 +0000 (20:25 +0000)]
Reorganize Linux section of uxtrap.h and add x86-64 support.

Also add signal codes for SIGSEGV, SIGBUS, and SIGTRAP.

14 years agoExploit common mcontext structure shared between NetBSD ports.
Taylor R Campbell [Thu, 22 Jul 2010 20:23:04 +0000 (20:23 +0000)]
Exploit common mcontext structure shared between NetBSD ports.

14 years agoOmit explicit disabling of trap recovery on x86-64.
Taylor R Campbell [Thu, 22 Jul 2010 20:20:53 +0000 (20:20 +0000)]
Omit explicit disabling of trap recovery on x86-64.

There are still no platforms that support it, but it doesn't need to
be explicitly disabled.

14 years agoRestore the classical exit message.
Joe Marshall [Thu, 22 Jul 2010 20:16:12 +0000 (13:16 -0700)]
Restore the classical exit message.

14 years agoEnable trap recovery on NetBSD.
Taylor R Campbell [Thu, 22 Jul 2010 19:51:14 +0000 (19:51 +0000)]
Enable trap recovery on NetBSD.

Not really tested, but this triggers only when you're already
screwed, so enabling trap recovery probably won't make anything
worse.

14 years agoImprove trap handling under NetBSD.
Taylor R Campbell [Thu, 22 Jul 2010 17:28:07 +0000 (17:28 +0000)]
Improve trap handling under NetBSD.

14 years agoKludgily use a few unsigned chars in uxutil.c for tolower &c.
Taylor R Campbell [Thu, 22 Jul 2010 17:24:45 +0000 (17:24 +0000)]
Kludgily use a few unsigned chars in uxutil.c for tolower &c.

14 years agoAdd block to access so we can integrate accesses in argument position.
Joe Marshall [Tue, 13 Jul 2010 18:40:35 +0000 (11:40 -0700)]
Add block to access so we can integrate accesses in argument position.

14 years agoMerge branch 'master' of ssh://git.savannah.gnu.org/srv/git/mit-scheme
Joe Marshall [Mon, 12 Jul 2010 22:57:56 +0000 (15:57 -0700)]
Merge branch 'master' of ssh://git.savannah.gnu.org/srv/git/mit-scheme

14 years agoFix typos caused by cut and paste.
Joe Marshall [Mon, 12 Jul 2010 22:57:34 +0000 (15:57 -0700)]
Fix typos caused by cut and paste.

14 years agoRemove undefined binding.
Joe Marshall [Mon, 12 Jul 2010 22:54:20 +0000 (15:54 -0700)]
Remove undefined binding.

14 years agoAdd some guarantees to scode constructors.
Taylor R Campbell [Mon, 12 Jul 2010 16:25:24 +0000 (16:25 +0000)]
Add some guarantees to scode constructors.

14 years agoSimplify lookup.c's interface.
Taylor R Campbell [Mon, 12 Jul 2010 16:08:43 +0000 (16:08 +0000)]
Simplify lookup.c's interface.

Environment operations now take only symbols, and check.  The
interpreter now extracts symbols from variables, not lookup.c.

This prevents non-symbols from passing into strengthen_symbol and
weaken_symbol in intern.c, which would barf on them.

14 years agoStrengthen or weaken only interned symbols. Ignore uninterned ones.
Taylor R Campbell [Mon, 12 Jul 2010 15:40:16 +0000 (15:40 +0000)]
Strengthen or weaken only interned symbols.  Ignore uninterned ones.

14 years agoAdd O(1) ADD-TO-POPULATION!/UNSAFE to the runtime (unexported).
Taylor R Campbell [Wed, 7 Jul 2010 19:34:05 +0000 (19:34 +0000)]
Add O(1) ADD-TO-POPULATION!/UNSAFE to the runtime (unexported).

This does not check whether the population already holds the object
to be added; hence it is unsafe.

Change MAKE-1D-TABLE and MAKE-THREAD to use it: newly allocated
objects are guaranteed not to be in the population.

14 years agoFix bug in INTEGER->FLONUM primitive on 64-bit systems.
Taylor R Campbell [Wed, 7 Jul 2010 18:50:37 +0000 (18:50 +0000)]
Fix bug in INTEGER->FLONUM primitive on 64-bit systems.

Not all fixnums can be converted losslessly into flonums.

14 years agoWork around a buggy IMAP server that returns bogus UNSEEN counts.
Taylor R Campbell [Sun, 27 Jun 2010 22:18:10 +0000 (22:18 +0000)]
Work around a buggy IMAP server that returns bogus UNSEEN counts.

14 years agoClean up top level controller. Don't use Scheme packages as a
Chris Hanson [Sun, 27 Jun 2010 08:33:25 +0000 (01:33 -0700)]
Clean up top level controller.  Don't use Scheme packages as a
substitute for Lisp packages; instead use environments.  Implement
support for slime-repl.  Fix broken implementation of apropos.  Hide
restarts and stack frames that aren't relevant to the Emacs user.

14 years agoAdd INDEX matcher since that's so common.
Chris Hanson [Sun, 27 Jun 2010 05:22:58 +0000 (22:22 -0700)]
Add INDEX matcher since that's so common.

14 years agoFix broken implementation of completion.
Chris Hanson [Sat, 26 Jun 2010 09:14:24 +0000 (02:14 -0700)]
Fix broken implementation of completion.

14 years agoAdd suggested elisp code for using this.
Chris Hanson [Sat, 26 Jun 2010 08:50:16 +0000 (01:50 -0700)]
Add suggested elisp code for using this.

14 years agoGobble up swank support and integrate it.
Chris Hanson [Sat, 26 Jun 2010 08:41:39 +0000 (01:41 -0700)]
Gobble up swank support and integrate it.

14 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Tue, 15 Jun 2010 10:54:16 +0000 (03:54 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

14 years agoAdd some more named patterns.
Chris Hanson [Mon, 14 Jun 2010 04:05:08 +0000 (21:05 -0700)]
Add some more named patterns.

14 years agoFix bug: logic for ->URI wasn't handling no-error case right.
Chris Hanson [Mon, 14 Jun 2010 03:52:52 +0000 (20:52 -0700)]
Fix bug: logic for ->URI wasn't handling no-error case right.

14 years agoFinished the disassembler. Debugging the machine (too).
Matt Birkholz [Sun, 13 Jun 2010 00:50:08 +0000 (17:50 -0700)]
Finished the disassembler.  Debugging the machine (too).

* src/Makefile.in: Make sure the assembler-compiler ran, generating
compiler/machines/svm/svm1-defns.h, assembler-db.scm, etc.

* src/Stage.sh: Punt avoiding subdirs with nothing to stage.  A few
empty STAGE subdirs should not hurt, and maybe_mv is quiet.

* src/compiler/Clean.sh (distclean, maintainer-clean): Use maybe_rm
and clean up assembler compilation products.

* src/compiler/Stage.sh, src/etc/Stage.sh: Use maybe_mv to avoid
errors when the subdir has not been compiled, so that an incomplete
compile can be stashed and unstashed without horror.

* src/compiler/machines/svm/assembler-compiler.scm
(write-copyright+license): Resurrected with the 9.0.1 runtime system's
procedures.  Used to generate the standard copyright though the GNU
standards suggest assembler-db's copyright should be copied.

(rt-defn-encoder-constructor): Include the opcode byte.

* src/compiler/machines/svm/assembler-rules.scm (interrupt-test-closure):
Folded into the enter-closure instruction, which knows the index.

* src/compiler/machines/svm/assembler-runtime.scm
(init-assembler-instructions!): Build fixed instruction assemblers in
smallest-to-largest order, else the largest encoding is always chosen.

(assemble-fixed-instruction): Punt consing a new bit-string.

(pc-relative-stats, pc-relative-selector): New.  The former computes
static info about a class of variable-width instructions so that the
latter need only cons a handler.  Use these in the variable-width
instruction encoders.

(fix-offset): Fix the width of a pc-relative offset, to force a wider
encoding than required by the actual magnitude.  Use this procedure in
the primitive encoders.  The bit tensioner cannot always find an
optimal solution, where no instruction is wider than its operands
require.  Warn when this happens.

(decode-rt-coding-type): Return a list headed by the rt-defn name,
else signal a coding-error.

(coding-error): Signals a condition that the disassembler wants to
catch.

(define-pvt-signed, encode-signed-*, write-bytes): Accept bit-strings
as well as integers.  See fix-offset.

(encode-unsigned-integer-8): Fixed.

(decode-rref): Give symbolic names to the fixed registers.

* src/compiler/machines/svm/compiler.pkg: Moved the (compiler
disassembler) package to inherit from (compiler assembler).  The
disassembler uses many definitions in assembler-runtime.scm.

* src/compiler/machines/svm/compiler.sf: Syntax make.scm.  It is not
mentioned in compiler.pkg, from which syntax-files!(decls.scm) gets
its list of files to syntax.

* src/compiler/machines/svm/decls.scm: Moved lapgen.scm from
lapgen-base to lapgen-body because it depends on assembler-runtime.

* src/compiler/machines/svm/disassembler.scm: New.

* src/compiler/machines/svm/lapgen.scm: Get the entry-types right with
those used in svm1-interp.c.

(encode-procedure-type): Take the frame size min/max per the RTL,
and convert them to required/optional arg counts.  Use this in
generate/cons-*closure as well as make-procedure-label.

(encode-internal-procedure-offset): Punted.  This encoding is also
generated by encode-continuation-offset.

* src/compiler/machines/svm/machine.scm (ea:uuo-entry-address): New,
encoding a peculiar type of pc-relative address.

(trap:set!, trap:define, trap:unbound?, trap:access): Not defined in
svm1-interp.c.

(interrupt-test-closure): Folded into the enter-closure instruction.

(closure-entry-size, entry-type-size, closure-first-offset): Added an
cc-entry type field to each closure entry.

* src/compiler/machines/svm/rules.scm (POP-RETURN): Added entry-type
and gc-offset half words before inst:interrupt-test-continuation, so
that this instruction can push its address on the stack.

(INVOCATION:UUO-LINK, INVOCATION:GLOBAL-LINK): Use the new
ea:uuo-entry-address.

(PROCEDURE-HEADER): Pass min/max directly to make-procedure-label

(generate/cons-closure, generate/cons-multiclosure): Added a cc-entry
type field before each entry point.  Do NOT tag the target register.
No need to interrupt-test-closure after entering.

(generate-uuos): This is not actually generating LAP.

(interpreter-call:cache-reference, interpreter-call:cache-assignment):
(interpreter-call:cache-unassigned?): Need an entry point after the
trap instructions.

(Interpreter Calls, lookup-call, assignment-call): Removed.  I could
not find the corresponding compiler utilities: comutil_access,
comutil_define, comutil_set, comutil_unbound_p_trap.  The utilities I
DID find want a cache address.  Removing these rules left lookup-call
and assignment-call unused.

* src/etc/compile-svm.sh: Use src/Stage.sh to un/stash the
cross-compiler.

* src/microcode/cmpint.c, src/microcode/cmpint.h: Move
trampoline_type_t to cmpint.h, where svm1-interp.c can include it.

* src/microcode/cmpintmd/svm1.c: Use new closure entry point type
field in read_cc_entry_type.

(store_trampoline_insns): Translate from abstract trampoline kinds to
trap-0 operations, e.g. TRAMPOLINE_K_APPLY to
SVM1_TRAP_0_OPERATOR_APPLY.

* src/microcode/cmpintmd/svm1.h:

* src/microcode/svm1-defns.h:

* src/microcode/svm1-interp.c:

14 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Tue, 8 Jun 2010 19:08:13 +0000 (12:08 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

14 years agoImplement ENCODE-URI-PATH-SEGMENT.
Chris Hanson [Tue, 8 Jun 2010 19:08:03 +0000 (12:08 -0700)]
Implement ENCODE-URI-PATH-SEGMENT.

14 years agoFix fencepost in ASCII-RANGE->CHAR-SET.
Taylor R Campbell [Sun, 6 Jun 2010 15:04:38 +0000 (15:04 +0000)]
Fix fencepost in ASCII-RANGE->CHAR-SET.

14 years agoAlien address offsets are byte offsets.
Matt Birkholz [Sat, 5 Jun 2010 16:01:04 +0000 (09:01 -0700)]
Alien address offsets are byte offsets.

14 years agoRestored more copyright dates.
Matt Birkholz [Sat, 5 Jun 2010 04:19:01 +0000 (21:19 -0700)]
Restored more copyright dates.

14 years agoUse properties in RUN-SUB-TEST where appropriate. Change tests to run
Chris Hanson [Wed, 2 Jun 2010 09:10:25 +0000 (02:10 -0700)]
Use properties in RUN-SUB-TEST where appropriate.  Change tests to run
properly now that argument SVLs may contain null ranges.

14 years agoChange RUN-SUB-TEST to allow it to take properties.
Chris Hanson [Wed, 2 Jun 2010 09:08:06 +0000 (02:08 -0700)]
Change RUN-SUB-TEST to allow it to take properties.

14 years agoFix thinko in previous change.
Chris Hanson [Wed, 2 Jun 2010 08:44:09 +0000 (01:44 -0700)]
Fix thinko in previous change.

14 years agoChange MAKE-RANDOM-SVL to generate empty ranges.
Chris Hanson [Wed, 2 Jun 2010 08:39:21 +0000 (01:39 -0700)]
Change MAKE-RANDOM-SVL to generate empty ranges.

14 years agoChange MAKE-RANDOM-SVL to generate empty ranges.
Chris Hanson [Wed, 2 Jun 2010 08:39:02 +0000 (01:39 -0700)]
Change MAKE-RANDOM-SVL to generate empty ranges.

14 years agoChange MAPPER->GENERATOR to generate empty ranges.
Chris Hanson [Wed, 2 Jun 2010 08:38:16 +0000 (01:38 -0700)]
Change MAPPER->GENERATOR to generate empty ranges.

14 years agoChange %CANONICALIZE-SCALAR-VALUE-LIST to eliminate empty ranges.
Chris Hanson [Wed, 2 Jun 2010 08:36:42 +0000 (01:36 -0700)]
Change %CANONICALIZE-SCALAR-VALUE-LIST to eliminate empty ranges.

14 years agoDon't restrict character sets to Unicode characters.
Chris Hanson [Wed, 2 Jun 2010 08:34:20 +0000 (01:34 -0700)]
Don't restrict character sets to Unicode characters.

14 years agoMore simplification and restyling.
Chris Hanson [Wed, 2 Jun 2010 08:30:43 +0000 (01:30 -0700)]
More simplification and restyling.

14 years agoFix compilation errors. Simplify part of the code by a suitable
Chris Hanson [Wed, 2 Jun 2010 08:06:10 +0000 (01:06 -0700)]
Fix compilation errors.  Simplify part of the code by a suitable
macro.  Do a little style tweaking.

14 years agoFix broken reference: "load.scm" -> "make.scm".
Chris Hanson [Wed, 2 Jun 2010 08:04:30 +0000 (01:04 -0700)]
Fix broken reference: "load.scm" -> "make.scm".

14 years agoAdd name for CALLBACK_HANDLER slot.
Chris Hanson [Wed, 2 Jun 2010 08:03:50 +0000 (01:03 -0700)]
Add name for CALLBACK_HANDLER slot.

14 years agoEliminate trailing whitespace.
Chris Hanson [Wed, 2 Jun 2010 07:58:57 +0000 (00:58 -0700)]
Eliminate trailing whitespace.

14 years agoRestore copyright dates.
Chris Hanson [Wed, 2 Jun 2010 07:58:08 +0000 (00:58 -0700)]
Restore copyright dates.

14 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Wed, 2 Jun 2010 06:53:33 +0000 (23:53 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

14 years agoPut back alphabet compatibility, in a different form.
Chris Hanson [Tue, 1 Jun 2010 05:31:29 +0000 (22:31 -0700)]
Put back alphabet compatibility, in a different form.

14 years agoA fairly straightforward merge of the FFI.
Matt Birkholz [Mon, 31 May 2010 20:39:18 +0000 (13:39 -0700)]
A fairly straightforward merge of the FFI.

* src/etc/Clean.sh (maintainer-clean): Clean up src/*/TAGS.

* src/ffi/Clean.sh (maintainer-clean): Clean up prhello-const*.

* src/ffi/ffi.cbf, src/ffi/ffi.sf: Separate syntaxing and compiling.
Temporarily hacked to load the (runtime ffi) package when necessary.
Replaces compile.scm.

* src/ffi/make.scm: Replaces load.scm.

* src/ffi/compile.scm, src/ffi/load.scm: Replaced by ffi.sf, ffi.cbf
and make.scm.

14 years agoImplement SCALAR-VALUE-IN-CHAR-SET?.
Chris Hanson [Mon, 31 May 2010 10:04:43 +0000 (03:04 -0700)]
Implement SCALAR-VALUE-IN-CHAR-SET?.

14 years agoEliminate PREDICATE->CHAR-SET, and tweak documentation.
Chris Hanson [Mon, 31 May 2010 09:54:18 +0000 (02:54 -0700)]
Eliminate PREDICATE->CHAR-SET, and tweak documentation.

14 years agoEliminate all trace of the alphabet abstraction.
Chris Hanson [Mon, 31 May 2010 09:41:21 +0000 (02:41 -0700)]
Eliminate all trace of the alphabet abstraction.

14 years agoFix swapped conditional arms in RE-COMPILE-CHAR-SET; then split off
Chris Hanson [Mon, 31 May 2010 08:32:12 +0000 (01:32 -0700)]
Fix swapped conditional arms in RE-COMPILE-CHAR-SET; then split off
part of it as RE-CHAR-PATTERN->SCALAR-VALUES.

14 years agoMove Unicode char predicates to "char.scm".
Chris Hanson [Mon, 31 May 2010 00:37:45 +0000 (17:37 -0700)]
Move Unicode char predicates to "char.scm".

14 years agoImprove test reporting for errors. Add boolean equality assertions.
Chris Hanson [Mon, 31 May 2010 00:37:11 +0000 (17:37 -0700)]
Improve test reporting for errors.  Add boolean equality assertions.

14 years agoDon't restrict CHAR-SET-MEMBERS; it gets used on the inversion of
Chris Hanson [Mon, 31 May 2010 00:36:11 +0000 (17:36 -0700)]
Don't restrict CHAR-SET-MEMBERS; it gets used on the inversion of
8-bit char sets, which aren't 8-bit.

14 years agoFix thinko.
Chris Hanson [Sun, 30 May 2010 23:43:57 +0000 (16:43 -0700)]
Fix thinko.

14 years agoFix typo.
Chris Hanson [Sun, 30 May 2010 23:43:40 +0000 (16:43 -0700)]
Fix typo.

14 years agoFix fencepost error.
Chris Hanson [Sun, 30 May 2010 23:26:47 +0000 (16:26 -0700)]
Fix fencepost error.

14 years agoAdd membership test.
Chris Hanson [Sun, 30 May 2010 23:26:32 +0000 (16:26 -0700)]
Add membership test.

14 years agoFix broken reference.
Chris Hanson [Sun, 30 May 2010 11:10:30 +0000 (04:10 -0700)]
Fix broken reference.

14 years agoUpdate to use new test framework.
Chris Hanson [Sun, 30 May 2010 11:09:06 +0000 (04:09 -0700)]
Update to use new test framework.

14 years agoRefactor test infrastructure to use conditions and to have more flexible reporting.
Chris Hanson [Sun, 30 May 2010 11:04:34 +0000 (04:04 -0700)]
Refactor test infrastructure to use conditions and to have more flexible reporting.

14 years agoRewrite, this time to use "signal processing" mode for high segments.
Chris Hanson [Sun, 30 May 2010 11:03:39 +0000 (04:03 -0700)]
Rewrite, this time to use "signal processing" mode for high segments.
Also, don't use combinators at top level; instead use combinations
called at run time.

14 years agoWhen re-loading unit-testing, unlink the previous copy so it will be
Chris Hanson [Mon, 24 May 2010 08:42:26 +0000 (01:42 -0700)]
When re-loading unit-testing, unlink the previous copy so it will be
garbage collected.

14 years agoRestructure test to use new multiple-result mechanism.
Chris Hanson [Mon, 24 May 2010 08:40:04 +0000 (01:40 -0700)]
Restructure test to use new multiple-result mechanism.