Taylor R. Campbell [Thu, 5 Apr 2007 22:24:42 +0000 (22:24 +0000)]
Tweak EDWIN-STRING-ALLOCATE so that it doesn't rely on range-checking
being disabled when NUL-terminating the string.
Chris Hanson [Thu, 5 Apr 2007 19:52:08 +0000 (19:52 +0000)]
Don't show compilation of individual procedures.
Chris Hanson [Thu, 5 Apr 2007 17:49:54 +0000 (17:49 +0000)]
Eliminate runtime-check directory and 6.001 band.
Chris Hanson [Thu, 5 Apr 2007 17:49:19 +0000 (17:49 +0000)]
When loading a file, change the working directory to that of the file,
so that relative pathnames work right.
Chris Hanson [Thu, 5 Apr 2007 17:43:24 +0000 (17:43 +0000)]
Don't build 6.001 band.
Chris Hanson [Thu, 5 Apr 2007 17:42:19 +0000 (17:42 +0000)]
Eliminate separate runtime-check.
Chris Hanson [Thu, 5 Apr 2007 17:36:19 +0000 (17:36 +0000)]
Tweak defaults to enable type and range checking by default.
Taylor R. Campbell [Thu, 5 Apr 2007 03:23:22 +0000 (03:23 +0000)]
Fix three problems in completion of IMAP mailbox names and listing of
the contents of IMAP containers:
1. Some IMAP servers refuse a pattern of `/%' for the LIST command, or
yield an empty list of results, so send `%' if we're examining the
root mailbox.
2. Some IMAP servers return the container itself that we're trying to
list the contents of, so filter that out if we see it.
3. Some IMAP servers hand out folder URLs and container URLs, so
canonicalize them appropriately in order that RUN-LIST-COMMAND may
return only folder URLs.
Taylor R. Campbell [Thu, 5 Apr 2007 02:35:14 +0000 (02:35 +0000)]
Associate names with generic procedures generated by DEFINE {ACCESSOR,
MODIFIER, INITPRED} clauses for slots in DEFINE-CLASS.
Taylor R. Campbell [Thu, 5 Apr 2007 01:56:09 +0000 (01:56 +0000)]
Remember when MIME entities are collapsed or expanded, in a hash table
per IMAIL folder buffer. (This information will still be forgotten
when the buffer is killed and the folder reopened, but that probably
doesn't matter.)
Taylor R. Campbell [Thu, 5 Apr 2007 00:25:30 +0000 (00:25 +0000)]
Use `pwd`, rather than $(pwd), which standard sh does not support.
Taylor R. Campbell [Wed, 4 Apr 2007 18:35:16 +0000 (18:35 +0000)]
Use WITH-NOTIFICATION to notify of initialization and finalization of
packages, rather than formatting the message to the notification
output port directly.
Taylor R. Campbell [Wed, 4 Apr 2007 06:43:48 +0000 (06:43 +0000)]
Fix formerly untested make-c-files script for making distribution tarballs.
Taylor R. Campbell [Wed, 4 Apr 2007 05:33:47 +0000 (05:33 +0000)]
Use --preserve-timestamps only if available.
Taylor R. Campbell [Wed, 4 Apr 2007 05:08:19 +0000 (05:08 +0000)]
Very belatedly, many changes to smooth many rough edges with the C back
end. It should now be possible to bootstrap and install the system
using the C back end much more cleanly, by the following steps:
# Prepare the tree for compiling from C.
./Setup.sh
./configure --enable-native-code=c
make c
# Optionally, clean everything except the bare minimum of the C code
# to generate a distribution tree. Doing so requires reconfiguring.
make c-clean
# ...distribute the tree..
./configure --enable-native-code=c
# Make the system from C, without needing an existing Scheme
# installation for bootstrapping.
make
# Install.
make install
Chris Hanson [Tue, 3 Apr 2007 04:11:33 +0000 (04:11 +0000)]
Add a few missing primitives to FILE-PRIMITIVE-DESCRIPTION.
Chris Hanson [Tue, 3 Apr 2007 03:58:58 +0000 (03:58 +0000)]
Don't return error message for syserr_unknown.
Taylor R. Campbell [Sun, 1 Apr 2007 17:51:33 +0000 (17:51 +0000)]
Commit forgotten changes to runtime/string.scm in the last checkin (to
make Edwin buffers use external strings).
Taylor R. Campbell [Sun, 1 Apr 2007 17:33:07 +0000 (17:33 +0000)]
Use external strings to store the contents of Edwin buffers. Edwin can
now edit files and buffers up to 32 MB without occupying more than a
small and (roughly) constant amount of space in the Scheme heap.
New procedures in the system global environment:
EXTERNAL-STRING-DESCRIPTOR (Edwin needs this to initialize the group
structure so that the microcode can get at it.)
XSTRING-FILL!
XSTRING-REF
XSTRING-SET!
XSUBSTRING (This was in imail/imail-util.scm.)
XSUBSTRING-FILL!
XSUBSTRING-FIND-NEXT-CHAR
XSUBSTRING-FIND-NEXT-CHAR-CI
XSUBSTRING-FIND-NEXT-CHAR-IN-SET
XSUBSTRING-FIND-PREVIOUS-CHAR
XSUBSTRING-FIND-PREVIOUS-CHAR-CI
XSUBSTRING-FIND-PREVIOUS-CHAR-IN-SET
(There is probably a better way to deal with most of the above
procedures -- I expect that wouldn't hurt just to fold them into the
string operations by similar names, since we already check argument
types in those operations. This kludginess works for now, though.)
Taylor R. Campbell [Fri, 30 Mar 2007 08:17:18 +0000 (08:17 +0000)]
Use XSUBSTRING-MOVE! in WRITE-SUBSTRING:EXTERNAL-SUBSTRING, not
SUBSTRING-MOVE! -- the latter does not accept external strings.
Taylor R. Campbell [Wed, 28 Mar 2007 02:29:24 +0000 (02:29 +0000)]
Use true or false pcfgs, as appropriate, instead of null cfgs, when
generating disabled open-coded checks. Although OPEN-CODE:WITH-CHECKS
filters out true pcfgs and null cfgs, these cfgs may be used directly
in pcfg predicates, as in OPEN-CODE:INDEX-CHECK, which permits only
pcfgs, not null cfgs.
Taylor R. Campbell [Mon, 26 Mar 2007 23:54:26 +0000 (23:54 +0000)]
When evaluating a region, if the region is from the REPL buffer, set
the buffer's point to the line start after the region, not the end of
the region.
Taylor R. Campbell [Mon, 26 Mar 2007 23:33:48 +0000 (23:33 +0000)]
When switching between Inferior REPL and Inferior CMDL modes, adjust
the comtabs more carefully, so that only the major modes' comtabs are
affected, leaving any minor modes' untouched.
This allows minor modes that bind keys to be used in the REPL even
after errors occur; before, the keys they bound would be forgotten
after errors. Paredit Mode can be now used in the REPL as a result.
Chris Hanson [Wed, 21 Mar 2007 15:08:55 +0000 (15:08 +0000)]
Rename REDUCE to REDUCE-LEFT.
Chris Hanson [Wed, 21 Mar 2007 15:06:16 +0000 (15:06 +0000)]
Implement REDUCE-LEFT, which has semantics of old REDUCE.
Taylor R. Campbell [Sun, 11 Mar 2007 22:38:55 +0000 (22:38 +0000)]
Unmap the message indices returned by SEARCH-FOLDER. Define
%SEARCH-FOLDER as a generic procedure which the non-generic procedure
SEARCH-FOLDER calls.
Taylor R. Campbell [Sun, 11 Mar 2007 22:30:05 +0000 (22:30 +0000)]
Bump the default size limit for in-line display of MIME text parts to
65536, since we by default cache message bodies of that size anyway.
Taylor R. Campbell [Sun, 11 Mar 2007 22:26:45 +0000 (22:26 +0000)]
New Edwin variable IMAIL-INLINE-MIME-TEXT-LIMIT, to prevent gargantuan
text parts that satisfy all the other rules for in-line display from
screwing Edwin.
This affects the main body of the message, too, however. We could
work around this easily for unipart messges, although anything else
would require a little more effort. In any case, although it is a
minor annoyance to have to type `C-c C-t C-e' to show the body of a
very long message, it is a much more major annoyance for Edwin to lose
spectacularly for a message too large to fit in its heap.
Taylor R. Campbell [Sun, 11 Mar 2007 17:33:37 +0000 (17:33 +0000)]
Don't record the folder's cached modification count in folder orders;
simply check that it has not changed since we built the tree.
New procedure MESSAGE-ORDER-KEY computes a message's key into the
folder order tree, if the message's folder is ordered. This must be
computed before a message is actually expunged, because the key may
require information that is destroyed when expunging the message.
EXPUNGE modification events on folders now accept an extra parameter,
the key of the message being expunged.
Taylor R. Campbell [Sun, 11 Mar 2007 15:49:44 +0000 (15:49 +0000)]
Remove Edwin indentation settings for no longer used forms.
Taylor R. Campbell [Sun, 11 Mar 2007 15:48:28 +0000 (15:48 +0000)]
Fix thinko in previous commit: if the folder's modification count has
changed, unconditionally build the order's tree, instead of building a
tree only if there is none already there.
Taylor R. Campbell [Sun, 11 Mar 2007 15:35:18 +0000 (15:35 +0000)]
Preload folder outlines before memoizing folder order. This improves
the performance of sorting IMAIL folders dramatically.
Taylor R. Campbell [Sun, 11 Mar 2007 15:04:31 +0000 (15:04 +0000)]
Use a modification count cache to verify and commit memoized folder
orders, instead of blocking interrupts, so that MEMOIZE-FOLDER-ORDER
may now be interrupted.
Memoize the folder order immediately before it is assigned to a folder
in SET-FOLDER-ORDER!. This means that it can no longer be delayed
until actually needed, but also that if it is interrupted it won't
actually set the folder's order and thereby wedge IMAIL until the
messages are sorted.
Allow message indices to fall outside the range of folder orders, and
leave them as they are, in case the folder order has not been updated
yet to reflect them.
Taylor R. Campbell [Sun, 11 Mar 2007 04:32:07 +0000 (04:32 +0000)]
Fix another bug, with receiving and ignoring modification events for ordering.
Taylor R. Campbell [Sun, 11 Mar 2007 03:59:12 +0000 (03:59 +0000)]
Fix bug in previous commit with modification event arguments.
Taylor R. Campbell [Sun, 11 Mar 2007 01:11:41 +0000 (01:11 +0000)]
New implementation of folder orders that uses AVL trees instead of
sorted vectors to store the order of messages. Modifications to the
folder are now reflected in incremental updates to the folder order by
AVL insertions, instead of rebuilding the order vector for every
modification to the folder. Also, the key by which the message is
sorted is now computed once per message in the order record, instead
of every time that the message comparison predicate is called.
Taylor R. Campbell [Sat, 10 Mar 2007 17:35:57 +0000 (17:35 +0000)]
Use %MESSAGE-INDEX instead of MESSAGE-INDEX in FETCH-MESSAGE-ITEMS.
This will give the correct index in the mailbox's sequence to the IMAP
server, and if the folder is sorted it will also not cause an infinite
loop, because in that case MESSAGE-INDEX may require fetching the
message to determine how to sort it, which may require calling
MESSAGE-INDEX.
Taylor R. Campbell [Tue, 6 Mar 2007 04:43:46 +0000 (04:43 +0000)]
Include middle initial in `Taylor R. Campbell', to disambiguate from
the large-breasted porn star that will turn up by Googling `Taylor
Campbell'...
Taylor R. Campbell [Tue, 6 Mar 2007 00:30:06 +0000 (00:30 +0000)]
Implement rudimentary font name completion and apropos.
This does not handle gracefully the deluge of available fonts (over
five thousand on my machine) by presenting common groups in palatable
ways, and it does not attempt to cache the huge string tables, but it
works.
Chris Hanson [Sat, 24 Feb 2007 17:09:46 +0000 (17:09 +0000)]
Backport changes from pre-v15 branch.
Taylor R. Campbell [Fri, 23 Feb 2007 23:45:28 +0000 (23:45 +0000)]
Incorporate changes from Jesper Louis Andersen to make the microcode
build on FreeBSD again.
Taylor R. Campbell [Fri, 23 Feb 2007 11:38:32 +0000 (11:38 +0000)]
In the double-quote command, actually insert an escaped double-quote
if inside a string, not an escaped space.
Taylor R. Campbell [Fri, 23 Feb 2007 11:37:09 +0000 (11:37 +0000)]
After inserting newlines, reindent the following expression only if it
starts on the same line as the point is now on.
Chris Hanson [Thu, 22 Feb 2007 18:41:18 +0000 (18:41 +0000)]
Eliminate debugging statement.
Chris Hanson [Thu, 22 Feb 2007 18:39:43 +0000 (18:39 +0000)]
Change WRITE-RDF/TURTLE-TRIPLES to elide unreferenced bnodes.
Chris Hanson [Thu, 22 Feb 2007 18:39:13 +0000 (18:39 +0000)]
Change WRITE-RDF/TURTLE-TRIPLES to elide unreferenced bnodes.
Chris Hanson [Tue, 20 Feb 2007 16:29:08 +0000 (16:29 +0000)]
Fix type error in RE-DISASSEMBLE-PATTERN. Eliminate unused
HACK-FASTMAP.
Chris Hanson [Tue, 13 Feb 2007 19:25:15 +0000 (19:25 +0000)]
Don't build with optional libraries.
Taylor R. Campbell [Mon, 12 Feb 2007 20:47:47 +0000 (20:47 +0000)]
Bind RET to DIRED-FIND-FILE.
Taylor R. Campbell [Sun, 11 Feb 2007 18:42:52 +0000 (18:42 +0000)]
In HOSTNAME primitive, move PRIMITIVE_RETURN outside the conditional,
since we return whether we have sockets or not.
Taylor R. Campbell [Sun, 11 Feb 2007 05:55:00 +0000 (05:55 +0000)]
Conditionalize inclusion of optional modules' header files to appease makegen.
Taylor R. Campbell [Sat, 10 Feb 2007 22:18:19 +0000 (22:18 +0000)]
Generalize Unix install instructions over Scheme versions and host platforms.
Taylor R. Campbell [Sat, 10 Feb 2007 19:22:13 +0000 (19:22 +0000)]
Oops: because the available space after subtracting the space the
primitive requested may be negative, use LONG_TO_FIXNUM instead of
LONG_TO_UNSIGNED_FIXNUM.
Taylor R. Campbell [Sat, 10 Feb 2007 19:17:38 +0000 (19:17 +0000)]
In the GARBAGE-COLLECT primitive, return the available heap space
minus gc_space_needed, in case it was called by a primitive that
requested a certain amount of space for allocation. If we report only
the newly available heap space and ignore gc_space_needed, then
GC-FINISH will consider there to be ample space to proceed (more than
4096 bytes), and the primitive will be restarted only to repeat the
call to the GC, looping endlessly.
Chris Hanson [Thu, 8 Feb 2007 03:36:18 +0000 (03:36 +0000)]
Tweak cookie parsing to allow #\= in RHS of binding. Don't signal an
error if there's a bad cookie; just ignore it and emit a warning.
Chris Hanson [Mon, 5 Feb 2007 18:44:00 +0000 (18:44 +0000)]
Delete discard-char operations.
Chris Hanson [Mon, 5 Feb 2007 18:43:08 +0000 (18:43 +0000)]
Remove leading parens that cause trouble on NetBSD.
Chris Hanson [Mon, 5 Feb 2007 18:26:38 +0000 (18:26 +0000)]
Updates to make sure that Edwin can be compiled by previous snapshot.
Chris Hanson [Mon, 5 Feb 2007 02:38:06 +0000 (02:38 +0000)]
File conflicts with Clean.sh on win32.
Taylor R. Campbell [Sun, 4 Feb 2007 21:55:45 +0000 (21:55 +0000)]
Fix bug in compiler reference trap restarts: the name will be at the
top of the stack, not in the expression register.
Taylor R. Campbell [Sun, 4 Feb 2007 18:39:05 +0000 (18:39 +0000)]
Reinitialize the local display modifier mask table on MappingModifier
requests in MappingNotify events, so that the user can reconfigure
modifier masks on the fly without confusing Scheme programs.
Taylor R. Campbell [Sun, 4 Feb 2007 18:36:12 +0000 (18:36 +0000)]
Eliminate compiler warning about non-return from non-void function
x_close_window_io_error, which calls longjmp instead.
Chris Hanson [Sun, 4 Feb 2007 02:56:10 +0000 (02:56 +0000)]
Adjust for change: "--with-db4" is now "--with-db-4".
Taylor R. Campbell [Sun, 4 Feb 2007 00:17:12 +0000 (00:17 +0000)]
Permit (SYNTAX-RULES ()), which is the only portable way to define a
SYNTACTIC-ERROR macro.
Chris Hanson [Sat, 3 Feb 2007 18:41:44 +0000 (18:41 +0000)]
Update copyright statements to new form.
Taylor R. Campbell [Sun, 28 Jan 2007 23:03:06 +0000 (23:03 +0000)]
ld on OS X wants `-dylib', not `-dynamiclib', now that we're actually
using it instead of the C compiler executable.
Taylor R. Campbell [Fri, 26 Jan 2007 02:38:22 +0000 (02:38 +0000)]
Use NAMED-LAMBDA in the output of named LET.
Taylor R. Campbell [Mon, 22 Jan 2007 18:30:16 +0000 (18:30 +0000)]
Use `OS_file_access', not `access', in `FILE_READABLE' macro.
Taylor R. Campbell [Mon, 22 Jan 2007 08:43:09 +0000 (08:43 +0000)]
Eliminate compiler warnings for obstack_chunk_alloc.
Taylor R. Campbell [Mon, 22 Jan 2007 08:35:02 +0000 (08:35 +0000)]
On OS X, add -Wl,-pagezero_size,
04000000 to DLD_LDFLAGS, not LDFLAGS,
so that it is passed only when building the `scheme' and `bchscheme'
binaries, not when compiling all object files.
Taylor R. Campbell [Mon, 22 Jan 2007 07:47:39 +0000 (07:47 +0000)]
Specialize mmap_heap_malloc on OS X to pass MAP_FIXED always.
This conditional is ugly; perhaps it ought to be refactored. However,
after the change to the configuration script to add the linker option
reserving low address space, this is necessary for anything to work at
all on OS X for the moment.
Chris Hanson [Mon, 22 Jan 2007 06:38:39 +0000 (06:38 +0000)]
Fix typo. Use AC_CHECK_FUNC(...) rather than AC_CHECK_LIB([c],...).
Chris Hanson [Mon, 22 Jan 2007 06:11:07 +0000 (06:11 +0000)]
Incorporate changes for NetBSD from Jed Davis.
Taylor R. Campbell [Sun, 21 Jan 2007 23:19:54 +0000 (23:19 +0000)]
Fix up C comments so that */ inside them will not destroy the output.
Taylor R. Campbell [Sun, 21 Jan 2007 22:19:06 +0000 (22:19 +0000)]
Hack STRINGIFY to support lap comments, in case the user set
COMPILER:GENERATE-LAP-FILES? and COMPILER:INTERSPERSE-RTL-IN-LAP?, so
that it puts comments in the C output instead of signalling an obscure
error, even though the resulting *.lap files are not very useful.
Taylor R. Campbell [Sun, 21 Jan 2007 11:29:15 +0000 (11:29 +0000)]
Fix bug in the open-coder for HEAP-AVAILABLE? with type checking
turned on. It was passing the FINISH continuation on to
OPEN-CODE:WITH-CHECKS, but that would call FINISH with an RTL
expression, whereas the callers of the open-coder want an RTL
predicate CFG. Now, like other predicate open-coders,
HEAP-AVAILABLE?'s wraps the expression in a true test.
Taylor R. Campbell [Sun, 21 Jan 2007 05:15:05 +0000 (05:15 +0000)]
In C-COMPILER-NAME, read from and write to the variable
COMPILER:C-COMPILER-NAME, not COMPILER:C-LINKER-NAME.
Taylor R. Campbell [Sun, 21 Jan 2007 01:10:18 +0000 (01:10 +0000)]
Make DEBUG-SHOW-STANDARD-MARKS work again. It doesn't show quite the
same information as before, but at least it doesn't fail horribly now.
Taylor R. Campbell [Sat, 20 Jan 2007 23:49:18 +0000 (23:49 +0000)]
Wrap the new SHUTDOWN-SOCKET primitive's body in SOCKET_CODE.
Taylor R. Campbell [Sat, 20 Jan 2007 21:59:32 +0000 (21:59 +0000)]
Enclose the argument to `test -n' in double-quotes in the tests for
the `struct tm' member `tm_gmtoff' and the `timezone' variable.
Chris Hanson [Sat, 20 Jan 2007 03:55:34 +0000 (03:55 +0000)]
Don't do manual install of info files; let doc/Makefile handle this.
Chris Hanson [Sat, 20 Jan 2007 03:54:49 +0000 (03:54 +0000)]
Conditionally install "dir" file in info directory.
Chris Hanson [Sat, 20 Jan 2007 03:52:28 +0000 (03:52 +0000)]
Initial revision.
Chris Hanson [Sat, 20 Jan 2007 03:50:06 +0000 (03:50 +0000)]
Two fixes for OS X.
Chris Hanson [Sat, 20 Jan 2007 03:43:15 +0000 (03:43 +0000)]
Use --preserve-timestamps only if available.
Taylor R. Campbell [Sat, 20 Jan 2007 03:08:49 +0000 (03:08 +0000)]
Pass `-MG' to `gcc' in the generated `makegen-cc' script. The meaning
of `-MM' was changed in recent versions of GCC so that it does not
mask errors about absent system headers, but with `-MG' it uses the
old semantics.
Taylor R. Campbell [Fri, 19 Jan 2007 05:03:42 +0000 (05:03 +0000)]
In wrong-number-of-arguments errors where the minimum number of
arguments is equal to the maximum number of arguments, write that
number, not the confusing arity object, in the condition report.
Taylor R. Campbell [Thu, 18 Jan 2007 02:30:37 +0000 (02:30 +0000)]
Initialize newly constructed records in keyword constructors to have
the proper dispatch tag.
Taylor R. Campbell [Thu, 18 Jan 2007 02:15:05 +0000 (02:15 +0000)]
In DEFINE-STANDARD-KEYWORD, pass a list of fragments to
DEFINE-KEYPARSER-PATTERN as one argument, not the fragments as
separate arguments. This is supposed to be a `pattern' structure,
although it might be better to have an abstract MAKE-PATTERN
constructor or something instead of exposing the representation of
patterns as lists.
Taylor R. Campbell [Thu, 18 Jan 2007 02:03:39 +0000 (02:03 +0000)]
In PROMPT-FOR-EXPRESSION, don't pass the default expression through
WRITE-TO-STRING before handing it to PROMPT-FOR-STRING, because
PROMPT-FOR-STRING already does that.
Taylor R. Campbell [Thu, 18 Jan 2007 00:19:24 +0000 (00:19 +0000)]
In DEFINE-KEYPARSER-STATEMENT-LEADER, compile the regular expression
if it is *not* a compiled regular expression, not if it is.
Chris Hanson [Wed, 17 Jan 2007 21:01:59 +0000 (21:01 +0000)]
Fix another thinko.
Chris Hanson [Wed, 17 Jan 2007 21:00:48 +0000 (21:00 +0000)]
Fix broken definition of MATCH-TAIL.
Chris Hanson [Wed, 17 Jan 2007 16:04:37 +0000 (16:04 +0000)]
Fix thinko.
Chris Hanson [Wed, 17 Jan 2007 15:58:44 +0000 (15:58 +0000)]
Fix typo in previous change.
Chris Hanson [Wed, 17 Jan 2007 15:42:39 +0000 (15:42 +0000)]
Don't consider non-characters in WELL-FORMED-CODE-POINT-LIST?.
Chris Hanson [Wed, 17 Jan 2007 03:43:09 +0000 (03:43 +0000)]
Use new matching/parsing utility procedures. Implement
UTF8-STRING->XML. Fix turtle URI output so that qnames conform to
turtle syntax.
Chris Hanson [Wed, 17 Jan 2007 03:39:42 +0000 (03:39 +0000)]
Add utility procedures for matching and parsing.
Chris Hanson [Wed, 17 Jan 2007 03:31:00 +0000 (03:31 +0000)]
Use new matching procedures.
Chris Hanson [Wed, 17 Jan 2007 02:48:57 +0000 (02:48 +0000)]
Implement UTF8-STRING->PARSER-BUFFER.