Peter Feigl [Thu, 3 May 2012 07:58:44 +0000 (09:58 +0200)]
Basic support for describing things in swank.
* Describing
Adding basic support for SWANK:DESCRIBE-FUNCTION and
SWANK:DESCRIBE-SYMBOL.
Peter Feigl [Thu, 3 May 2012 07:45:45 +0000 (09:45 +0200)]
Fix basic debugging problems.
* Debugging
There are numerous problems, including no replies sent to messages and
incorrect replies.
- Added condition/report-string to the abort message.
- Added a DYNAMIC-WIND in the condition handler in the message handler
for emacs-rex to ensure that the :abort message is always written,
even when a restart is called.
- Added a global (fluid) binding *index* that is used to send the
correct message index in the :debug message.
There are many problems remaining, to be tackled in a later commit.
Peter Feigl [Thu, 3 May 2012 07:36:24 +0000 (09:36 +0200)]
Adding directory support to swank.scm.
* Directories
Added directory functions SWANK:DEFAULT-DIRECTORY and
SWANK:SET-DEFAULT-DIRECTORY for slime commands ,!d ,cd ,+d ,-d
,change-directory ,push-directory ,pop-directory ,pushd ,popd ,pwd
Peter Feigl [Thu, 3 May 2012 07:32:00 +0000 (09:32 +0200)]
Adding completion function swank:completions as an alias for swank:simple-completions.
* Completion
Trying to auto-complete in the REPL raises condition "Unbound variable:
swank:completions". It seems swank added swank:completions in addition
(or instead of?) swank:simple-completions.
Peter Feigl [Thu, 3 May 2012 07:31:24 +0000 (09:31 +0200)]
Add autodoc for procedures
* Autodoc
Actually implement swank:autodoc. It is called with a list form that contains the special symbol swank::%cursor-marker% somewhere to show the position of the cursor.
The new procedure FIND-STRING-BEFORE-SWANK-CURSOR-MARKER returns the symbol that starts the expression which contains the cursor as a string.
The new procedure PROCEDURE-PARAMETERS returns a list containing the function name and the list of parameters (as printed by PA) if symbol is bound to a function.
The new variable SWANK-EXTRA-DOCUMENTATION contains an (incomplete) list of "parameters" to special forms and macros.
Now we have working autodoc in the REPL and in Scheme buffers.
Peter Feigl [Thu, 3 May 2012 07:28:43 +0000 (09:28 +0200)]
Updating swank.scm to work with current slime-cvs
* Startup Problems [when using Emacs setting (slime-setup '(slime-fancy))]
- M-x slime raises condition "Unbound variable: swank:swank-require"
=> fixed by defining swank:swank-require to return '()
- M-x slime shows "error in process filter: Can't find suitable coding-system"
=> fixed by adding :encoding (:coding-systems ("utf-8-unix" "iso-latin-1-unix")) to the connection info
- M-x slime raises condition "Unbound variable :conding-system" (which is due to all parameters being evaluated)
=> fixed by adding QUOTE-SPECIAL and mapping it over the parameters (quoting all keywords [symbols that start with a colon] and T and NIL)
- Typing an expression raises condition "Unbound variable: swank:autodoc"
=> fixed by defining swank:autodoc to return (list ':not-available 't)
- Slime complains about mismatched versions
=> fixed by changing :version in swank:connection-info to "2012-05-02" which matches slime-cvs
Now we have a working SLIME REPL again.
Taylor R Campbell [Wed, 11 Jul 2012 01:37:40 +0000 (01:37 +0000)]
Merge branch 'amd64-load-char-bug'
Taylor R Campbell [Wed, 11 Jul 2012 01:35:10 +0000 (21:35 -0400)]
Fix syntax of MOVZX instruction in LOAD-CHAR-INTO-REGISTER.
Thanks, mejja.
We need to check this stuff at compile-time...blahhh.
Taylor R Campbell [Thu, 5 Jul 2012 00:57:00 +0000 (00:57 +0000)]
Try harder to mmap heap space.
Using mmap rather than malloc is important because we need read,
write, and execute privileges for the pages.
Some day, maybe we can change that requirement, but that day will not
be for a while.
Taylor R Campbell [Wed, 4 Jul 2012 23:05:37 +0000 (23:05 +0000)]
Rework mmap_heap_malloc.
Don't do mmap(MAP_FIXED) unless we know the address space is free.
Otherwise it will clobber whatever else was there, including, say,
the text segment of the microcode!
Taylor R Campbell [Wed, 4 Jul 2012 23:02:39 +0000 (23:02 +0000)]
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme
Joe Marshall [Tue, 5 Jun 2012 02:58:35 +0000 (19:58 -0700)]
Make LETREC and LETREC* be ordinary macros. Avoid adding integrate declarations to procedures with no arguments.
Joe Marshall [Thu, 24 May 2012 18:46:42 +0000 (11:46 -0700)]
Use quote instead of tick mark.
Joe Marshall [Thu, 24 May 2012 18:44:02 +0000 (11:44 -0700)]
Use lambda-bound? procedure.
Joe Marshall [Thu, 24 May 2012 18:42:03 +0000 (11:42 -0700)]
Add lambda-bound? procedure.
Joe Marshall [Thu, 24 May 2012 16:24:11 +0000 (09:24 -0700)]
Get rid of fluid variable by adding an argument. Better unsyntaxing of global references.
Joe Marshall [Wed, 23 May 2012 17:41:55 +0000 (10:41 -0700)]
Add way to dump macroexpanded and optimized output from SF.
Joe Marshall [Mon, 21 May 2012 18:24:38 +0000 (11:24 -0700)]
Fix unsyntaxing of open-blocks and block-declarations.
Joe Marshall [Mon, 21 May 2012 18:10:40 +0000 (11:10 -0700)]
Make ASSERT pass along arguments to ERROR.
Joe Marshall [Sat, 19 May 2012 17:29:08 +0000 (10:29 -0700)]
Remove undefined export.
Joe Marshall [Sat, 19 May 2012 17:28:04 +0000 (10:28 -0700)]
Echo output from CREF (if any).
Joe Marshall [Sat, 19 May 2012 17:25:56 +0000 (10:25 -0700)]
Wrap show-time around compilations. Add newline after disk-save.
Joe Marshall [Fri, 18 May 2012 16:24:56 +0000 (09:24 -0700)]
Fix names of environment variables MITSCHEME_HEAP_SIZE and MITSCHEME_STACK_SIZE. Remove trailing whitespace.
Matt Birkholz [Wed, 16 May 2012 21:26:32 +0000 (14:26 -0700)]
Fix commit
339824b so %channel-read returns no-data instead of eof.
Matt Birkholz [Wed, 9 May 2012 22:55:43 +0000 (15:55 -0700)]
New runtime ASSERT syntax conflicts with local assert binding.
Rename the assert procedure VALUE-ASSERT, like PREDICATE-ASSERTION.
Matt Birkholz [Wed, 9 May 2012 22:45:42 +0000 (15:45 -0700)]
microcode/configure.ac: error if --with-termcap=no on Unix.
The build will fail without a termcap-ish library in LIBS because of
references to e.g. tgetent in uxtty.c.
Matt Birkholz [Wed, 9 May 2012 22:43:07 +0000 (15:43 -0700)]
bug #30546: Treat #f like WILD in directory-read pathname matching.
Matt Birkholz [Tue, 8 May 2012 18:41:27 +0000 (11:41 -0700)]
bug#36430: Write should escape symbols that look special.
(write '|#f|) now emits "|#f|", not "#f".
Matt Birkholz [Fri, 4 May 2012 20:58:14 +0000 (13:58 -0700)]
Guard against other threads unwinding block-on-io-descriptor.
This only arises when another thread uses within-continuation to
unwind block-on-io-descriptor. Such an unwinding can leave the
console-thread waiting for nothing. With no other io-registrations
nor runnable threads, the runtime busy-waits.
Chris Hanson [Fri, 4 May 2012 08:02:26 +0000 (01:02 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Fri, 4 May 2012 08:01:55 +0000 (01:01 -0700)]
Fix thinko: call-with-input-octets doesn't handle sub-range arguments.
Taylor R Campbell [Wed, 2 May 2012 14:29:11 +0000 (14:29 +0000)]
Fix duplicated `creates' in SIGNAL-CONDITION documentation.
Thanks, ecraven. (Also, thanks for the previous typo fix too.)
Taylor R Campbell [Mon, 30 Apr 2012 23:33:32 +0000 (23:33 +0000)]
Fix typo in documentation for EVERY.
Matt Birkholz [Mon, 30 Apr 2012 04:04:44 +0000 (21:04 -0700)]
Fixed channel-open to unblock threads and update the io-registry...
...using a new procedure: %deregister-io-descriptor. Also tightened
up channel-read and channel-write to check, within an atomic section,
that the port has not been closed.
If a closed channel is left in the io-registry, wait-for-io piles up
error levels because test-select-registry returns an "illegal mode".
Matt Birkholz [Sat, 28 Apr 2012 18:45:46 +0000 (11:45 -0700)]
edwin: Reworked get-console-input-operations.
Fixed the loop(s) to NOT block when incomplete-pending. They must
busy-wait for half a second. Thus the command key prefix ESC is
correctly echoed.
Also followed the example of get-xterm-input-operations, using
set-interrupt-enables! to implement an atomic section within which the
Edwin thread can test all event sources and block iff they are all
empty. Thus ONE loop tests sources and matches special keys, and uses
the new procedure %channel-read, a version of channel-read that can be
unblocked by an interrupt or process status change.
Arthur A. Gleckler [Sat, 14 Apr 2012 23:19:32 +0000 (16:19 -0700)]
Fixed typo in doc string for NEW-FILE-OPEN-EXCLUSIVE-OUTPUT-CHANNEL.
Chris Hanson [Mon, 9 Apr 2012 05:54:39 +0000 (22:54 -0700)]
Fix typo.
Chris Hanson [Mon, 9 Apr 2012 05:54:20 +0000 (22:54 -0700)]
Fix fencepost error in level.
Chris Hanson [Sun, 25 Mar 2012 20:13:40 +0000 (13:13 -0700)]
Handle non-string value of *buffer-pstring*.
Chris Hanson [Sun, 25 Mar 2012 09:08:20 +0000 (02:08 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Sun, 25 Mar 2012 09:07:56 +0000 (02:07 -0700)]
Follow Emacs' advice to quote paren in first column.
Chris Hanson [Sun, 25 Mar 2012 09:01:16 +0000 (02:01 -0700)]
Swank might use t for the true object; define it to the symbol T when
evaluating swank exprs.
Taylor R Campbell [Sat, 24 Mar 2012 22:07:20 +0000 (22:07 +0000)]
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme
Taylor R Campbell [Sat, 24 Mar 2012 22:01:56 +0000 (22:01 +0000)]
Add ASSERT macro.
Chris Hanson [Sun, 11 Mar 2012 08:43:48 +0000 (00:43 -0800)]
Fix shell-script style issues.
Chris Hanson [Sun, 11 Mar 2012 08:40:37 +0000 (00:40 -0800)]
Eliminate bash-isms.
Chris Hanson [Sun, 11 Mar 2012 08:30:25 +0000 (00:30 -0800)]
Change get_fasl_file to set a variable rather than echo the name.
Chris Hanson [Sun, 11 Mar 2012 08:20:59 +0000 (00:20 -0800)]
Update copyright years.
Chris Hanson [Sun, 11 Mar 2012 06:44:33 +0000 (22:44 -0800)]
Use shell script to conditionally update SVM file.
Chris Hanson [Sun, 11 Mar 2012 06:35:30 +0000 (22:35 -0800)]
Update version and copyright year.
Chris Hanson [Sun, 11 Mar 2012 06:28:56 +0000 (22:28 -0800)]
Update to do all standard directories and to translate more than one
copyright if present.
Chris Hanson [Sun, 11 Mar 2012 06:28:06 +0000 (22:28 -0800)]
Ignore svm build directory.
Chris Hanson [Sun, 11 Mar 2012 05:09:34 +0000 (21:09 -0800)]
Don't use fdatasync on OS X.
Chris Hanson [Thu, 8 Mar 2012 07:21:47 +0000 (23:21 -0800)]
Always wrap stdin in a (begin ...); otherwise expressions continue evaluating after errors.
Chris Hanson [Thu, 8 Mar 2012 07:09:06 +0000 (23:09 -0800)]
Prefer <termcap.h> to <term.h> if both are present.
Matt Birkholz [Thu, 8 Mar 2012 04:06:24 +0000 (21:06 -0700)]
svm: Remove setjmp from execute_instruction.
Trade some debuggability for significantly better performance.
Matt Birkholz [Thu, 8 Mar 2012 03:47:30 +0000 (20:47 -0700)]
svm: Use the svm1 machine to compile-everything.
This takes hours, but exercises the boot-compiler, which can compile
by-procedures. Added timestamps to the progress notes. The option to
cross-compile everything is available by defining FAST, e.g. `make
FAST=1'.
Matt Birkholz [Thu, 8 Mar 2012 03:45:15 +0000 (20:45 -0700)]
svm: Fix generate/remote-link and generate/remote-links.
Made generate/remote-links gc-wary.
Matt Birkholz [Thu, 8 Mar 2012 03:40:02 +0000 (20:40 -0700)]
svm: Fix COMPILER_TEMP_SIZE to 2.
On x86-64 sizeof(double)/sizeof(SCHEME_OBJECT) is 1, but
svm/machine.scm expects it to be 2 (as on i386).
Matt Birkholz [Thu, 8 Mar 2012 03:33:33 +0000 (20:33 -0700)]
svm: Added 32bit offsets to explicit-coding-type "address".
Compilation of win32/wf_user.bin produces block offsets like #x11168
and #x10a38.
Matt Birkholz [Wed, 7 Mar 2012 21:29:16 +0000 (14:29 -0700)]
Stage.sh: Keep .rtls,.laps with corresponding .mocs,.coms.
Matt Birkholz [Wed, 7 Mar 2012 21:28:05 +0000 (14:28 -0700)]
svm: Save a byte encoding (ea:stack-ref 0).
Matt Birkholz [Wed, 7 Mar 2012 21:27:06 +0000 (14:27 -0700)]
svm: Punt old (less interesting now) warnings.
Chris Hanson [Mon, 5 Mar 2012 01:50:58 +0000 (17:50 -0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Mon, 5 Mar 2012 01:50:39 +0000 (17:50 -0800)]
Include either <term.h> or <termcap.h> but not both.
Taylor R Campbell [Fri, 2 Mar 2012 19:34:50 +0000 (19:34 +0000)]
Fix fencepost typo in integer_shift_left.
Now (fixnum? (expt 2 24)) returns #t as it should.
Matt Birkholz [Wed, 29 Feb 2012 19:43:16 +0000 (12:43 -0700)]
svm: Fix load-non-pointer to handle small negative fixnums.
With 64 bit words the negative fixnums need sign-extension. Punt the
unsigned variant of load-immediate.
Matt Birkholz [Wed, 29 Feb 2012 19:42:03 +0000 (12:42 -0700)]
svm: Add diagram of a compiled closure with 64 bit words.
Matt Birkholz [Wed, 29 Feb 2012 19:36:48 +0000 (12:36 -0700)]
svm: Port to 64 bit words.
Matt Birkholz [Wed, 29 Feb 2012 19:36:13 +0000 (12:36 -0700)]
svm: Widen invocation:lookup, :cache-reference patterns.
The (REGISTER (?...)) patterns work for the entire system, but these
rules provide the same generality as those in other machines' lapgens.
Presume that interpreter-call-temporaries can be allocated in any
order (punting let*).
Matt Birkholz [Wed, 29 Feb 2012 19:00:02 +0000 (12:00 -0700)]
Exit with non-zero status when Aborting!: out of memory...
...when run with --batch-mode. This correctly signals to make(1) that
there was an error.
I used nearest-cmdl/batch-mode? though I wonder what a "batch level"
is. Such a thing should probably cmdl-interrupt/abort-previous rather
than %exit, but this short-circuits the whole gc-clean recovery
effort. I find similar yuck (a call to %exit) in ttyio.scm's
operation/read-char.
Matt Birkholz [Sun, 26 Feb 2012 17:14:28 +0000 (10:14 -0700)]
Sorry; re-fixed Debug_Stack_Trace again.
The 20 year old code lies! STACK_LOC(0) *is* the top-of-stack.
(Free[0] is not a valid object, but that is a different register.)
So... the stack slot address must be printed *before* the _POP.
I tried to pop the last commit, but apparently we have
receive.denyNonFastForwards at Savannah.
Matt Birkholz [Sun, 26 Feb 2012 16:46:56 +0000 (09:46 -0700)]
Unfix "fix" to stack address printing in Debug_Stack_Trace.
Silly me; STACK_LOC(0) is *not* a valid object. I don't know what gdb
was trying to tell me... but 20 year old code doesn't lie.
Chris Hanson [Sun, 26 Feb 2012 12:23:06 +0000 (04:23 -0800)]
Fix bug: missed one of the places that needed env->senv conversion.
Chris Hanson [Sun, 26 Feb 2012 09:12:39 +0000 (01:12 -0800)]
Simplify implementation of syntactic environments.
Chris Hanson [Sun, 26 Feb 2012 09:05:22 +0000 (01:05 -0800)]
Fix three duplicate definitions and one dangling reference.
Chris Hanson [Sun, 26 Feb 2012 09:04:42 +0000 (01:04 -0800)]
Fix dangling references.
Chris Hanson [Sun, 26 Feb 2012 08:33:59 +0000 (00:33 -0800)]
Fix broken pty support on Mac OS X 10.7.
Chris Hanson [Sat, 25 Feb 2012 06:45:00 +0000 (22:45 -0800)]
Always wrap multiple statements in stdin with (begin ...).
Chris Hanson [Sat, 25 Feb 2012 06:43:18 +0000 (22:43 -0800)]
Change var references for consistency.
Chris Hanson [Sat, 25 Feb 2012 06:28:34 +0000 (22:28 -0800)]
Don't fold argument check into expression.
Chris Hanson [Sat, 25 Feb 2012 06:23:17 +0000 (22:23 -0800)]
Fix think-o in previous change.
Matt Birkholz [Wed, 15 Feb 2012 20:03:54 +0000 (13:03 -0700)]
Syntax boot (LIAR/C) compiler with new runtime, sf, etc.
Matt Birkholz [Wed, 15 Feb 2012 19:55:51 +0000 (12:55 -0700)]
ffi: Give up trying to make %radix a constant.
When compiling to C on a 64bit host, the wrong constant is chosen.
Matt Birkholz [Wed, 15 Feb 2012 04:12:04 +0000 (21:12 -0700)]
Syntax new compiler with new runtime, sf, etc.
Matt Birkholz [Wed, 15 Feb 2012 01:19:26 +0000 (18:19 -0700)]
Remove unused variable from Prim_fixnum_lsh.
Matt Birkholz [Wed, 15 Feb 2012 01:18:57 +0000 (18:18 -0700)]
Typo in compiler-*.pkd installation.
Matt Birkholz [Tue, 14 Feb 2012 18:05:46 +0000 (11:05 -0700)]
svm: Include fixnum.h in fixnum.c.
Matt Birkholz [Tue, 14 Feb 2012 17:45:44 +0000 (10:45 -0700)]
svm: Mark stages of build with echoed progress commentary.
Matt Birkholz [Tue, 14 Feb 2012 17:34:17 +0000 (10:34 -0700)]
Fix stack address printing in Debug_Stack_Trace.
Matt Birkholz [Tue, 14 Feb 2012 17:32:00 +0000 (10:32 -0700)]
svm: Fix remote-link generators.
Matt Birkholz [Tue, 14 Feb 2012 17:00:33 +0000 (10:00 -0700)]
svm: Add clear-map! before invocation:special-primitive.
Also, fix order of float arguments in rule for flonum constants.
And simplify the POP-RETURN rule.
Matt Birkholz [Tue, 14 Feb 2012 16:53:59 +0000 (09:53 -0700)]
svm: Fixed signedness of some fixnum instructions.
Included code from liarc.h by moving it to fixnum.h. Included
fixnum.h in fixnum.c and used it to replace near-identical code.
Matt Birkholz [Tue, 14 Feb 2012 16:45:55 +0000 (09:45 -0700)]
svm: Added "product" instruction, i.e. Mul().
Using this new instruction only when overflow detection is required.
Matt Birkholz [Tue, 14 Feb 2012 16:36:27 +0000 (09:36 -0700)]
svm: Fixed icall instruction, and cast in IMPORT_REGS.
Joe Marshall [Mon, 13 Feb 2012 21:04:49 +0000 (13:04 -0800)]
Add LETREC*. Convert LETREC to R6RS semantics. Use internal definition for expansion of named let.
Joe Marshall [Sun, 12 Feb 2012 01:51:08 +0000 (17:51 -0800)]
Better unsyntaxing of lambda and extended-lambda.
Joe Marshall [Sun, 12 Feb 2012 01:41:01 +0000 (17:41 -0800)]
Avoid creating extended-lambdas just because of aux vars.
Joe Marshall [Sun, 12 Feb 2012 01:23:35 +0000 (17:23 -0800)]
Fix typo.
Joe Marshall [Sun, 12 Feb 2012 01:14:43 +0000 (17:14 -0800)]
Add lambda-interface, guarantees, and re-org code.