Commit Graph

10085 Commits (c730bf62bd140f25024994a411274c36d006dc2f)

Author SHA1 Message Date
Joe Groff e0dc236725 cpu.*.bootstrap: clear faulting flag directly
No reason to go through a safepoint in unwind-native-frames really.
2011-11-12 13:02:57 -08:00
Joe Groff e24400679f vm: more defense against multi-faulting
* Clear faulting_p from a safepoint rather than inside general_error, because jumping into unwind-native-frames could blow up.
* Handle multiple faults from fatal_error by breakpointing. Is there anything else we can safely do at that point?
* Verify memory protection faults in the top half of the signal handlers because signal dispatch could fault. Treat memory faults during gc or fep as fatal errors.
* Add a function factor_vm::abort() that restores the default SIGABRT handler and ::abort()s. Use it from fatal_error() so we get useful context from gdb and so the user gets feedback from the system crash reporter that Factor blew up and didn't just disappear.
* In factorbug(), don't proceed with .s .r .c if it would be unsafe to do so.
* Don't pile on signals if we've already called fatal_error().
2011-11-12 13:02:57 -08:00
Doug Coleman 6cca0ea468 compiler.cfg: Rename <##foo> to ##foo, in the low-level IR 2011-11-11 19:48:38 -08:00
Joe Groff 1c99568492 io.sockets.windows: plug receive-from memory leak
Should fix #387.
2011-11-11 17:56:04 -08:00
Joe Groff 88bbffd838 tools.deploy: label small-enough? tests
Put a no-op "vocab name" drop in the small-enough? tests so that it's immediately apparent from build farm errors which vocabs are deploying over the limit.
2011-11-10 19:34:36 -08:00
Joe Groff 316426e1ec tools.profiler.sampling: better test quots
Bump up the iota lengths so the tests don't sporadically fail with no data.
2011-11-10 19:29:20 -08:00
Joe Groff c31530caec vm: strip out call-counting profiler
This makes the separate "code" and "entry_point" fields in word and quotation redundant, so also remove them to reclaim an additional cell per word and quotation object, which should help with #318.
2011-11-10 16:01:07 -08:00
Joe Groff 433b8e6b6b sequences.parser: fix load error 2011-11-10 12:33:10 -08:00
Joe Groff c8fd36bbdb kill tools.profiler.counting and ui.tools.profiler
Load tools.profiler.sampling from bootstrap/tools instead.
2011-11-10 12:33:10 -08:00
Joe Groff 82e01fb58c new module typed.namespaces: get/set + type check 2011-11-10 10:47:21 -08:00
Slava Pestov 98d98ab04a io.ports: clean up 2011-11-10 00:40:31 -05:00
Joe Groff d685cb6502 io.ports: make read-step inline 2011-11-09 19:59:46 -08:00
Joe Groff 47cedd8d3d slice boa -> <slice-unsafe>
If you didn't define it, don't boa it
2011-11-09 19:22:09 -08:00
Joe Groff a67931b7c5 io.ports: fix bootstrap
Apparently can't use TYPED: or have HINTS: in the wrong place.
2011-11-09 16:32:47 -08:00
Joe Groff 9443f30b7d io.backend.unix: hints on M\ fd refill
Trims some low-order dispatch overhead for #376.
2011-11-09 16:32:47 -08:00
Joe Groff 5a3537b90a io.files: add file-reader, file-writer mixins
This lets us do some trickery so that the stream-element-type propagates from <file-reader>/<file-writer>. For #376.
2011-11-09 14:43:39 -08:00
Joe Groff bab801b321 io.ports: make read-step TYPED:
Eliminates more dispatch. For #376.
2011-11-09 14:13:41 -08:00
Joe Groff 63c48aa952 io.buffers, io.ports: trim some dispatch
For #376. Still some work to do.
2011-11-09 13:31:02 -08:00
Joe Groff 2dd31f4602 tools.profiler.sampling: preliminary docs 2011-11-09 11:34:31 -08:00
Joe Groff 97a048fdc1 deques: fix help-lint 2011-11-08 23:27:33 -08:00
Joe Groff 466d41c341 unix.signals: documentation and metadata 2011-11-08 23:12:10 -08:00
Joe Groff 637af2eedd tools.profiler.sampling: top-down-max-depth report
Fixes #366
2011-11-08 14:35:25 -08:00
Joe Groff d2b39269d8 tools.profiler.sampling: change some names around
Rename the versions of top-down etc. that take sample data to "top-down*" (from "(top-down)") so they don't look so scary to use. Change "get-raw-profile-data" to "most-recent-profile-data".
2011-11-08 14:11:53 -08:00
John Benediktsson 786bba8a63 deques: adding ?peek-front and ?peek-back. 2011-11-08 13:20:56 -08:00
Joe Groff feb8c6149a io.backend: start signal thread after io-backend
The c-io-backend can't handle input-ports and raises an error during bootstrap.
2011-11-08 11:54:54 -08:00
Joe Groff 8b9c9a5c63 unix.process: take raise from unix.ffi
And fix introduced ambiguity between unix.ffi:kill and unix.process:kill
2011-11-08 10:42:51 -08:00
Joe Groff fc7c175c9f new module unix.signals: app-level signal handlers
example:

IN: scratchpad USING: unix.ffi unix.signals ;
Loading resource:basis/unix/signals/signals.factor
IN: scratchpad [ V{ "Me not that kind of orc!" "Me busy, leave me alone!" "Work work" "Zug zug" } pop print flush ] SIGINFO add-signal-handler
IN: scratchpad load: 0.60  cmd: factor 41541 running 0.28u 0.16s
Zug zug
load: 0.71  cmd: factor 41541 running 0.28u 0.16s
Work work
load: 0.71  cmd: factor 41541 running 0.28u 0.16s
Me busy, leave me alone!
load: 0.73  cmd: factor 41541 running 0.28u 0.16s
Me not that kind of orc!
2011-11-08 10:21:49 -08:00
Joe Groff 8337b08d0d io.backend.unix: startup hook for signal-pipe 2011-11-08 08:42:48 -08:00
Joe Groff ed24890dce io.backend.unix: init-signal-pipe function
Currently just reads off signal numbers and drops them.
2011-11-08 08:42:48 -08:00
Joe Groff 55a316248e io.launcher.windows: update tests for prompt 2011-11-08 00:09:25 -08:00
Joe Groff 0856bb5711 lists: make lmap behave row-polymorphically
Fix contributed by @bremac. Fixes #355.
2011-11-07 10:37:35 -08:00
Doug Coleman eb2a0c611b compiler.cfg: Change low-level IR constructors from ##foo to <##foo> 2011-11-06 23:02:46 -08:00
Doug Coleman d65bd97a54 compiler.tree: Renamed high-level IR node constructors to <#foo> from #foo. Moving towards making classes/word names not conflict. 2011-11-06 23:02:45 -08:00
Doug Coleman 60f928ddbf math.functions: flushable and foldable don't do anything on inline words because flushable and foldable work on call sites (#call nodes), and inlined words are inlined into another word's call site; they don't generate their own #call node. 2011-11-06 19:25:53 -08:00
Doug Coleman 9048233d27 compiler.tree.dead-code: Rewrite /mod to /i or mod in the dead-code pass in the high level optimizer. Fixes #279. 2011-11-06 19:23:26 -08:00
Joe Groff 4c197ec6e6 tools.deploy.backend: fix vocab manifest parse
We were absent-mindedly passing the VOCABS: line off as a vocab name itself. vocabs.loader doesn't put up with that anymore.
2011-11-06 18:57:12 -08:00
Doug Coleman c731dc6edb Rename lookup to lookup-word. 2011-11-06 16:00:00 -08:00
Doug Coleman bc7162743c html.components: For the t:html tag, only wrap strings in unescaped so that other objects can render. 2011-11-06 12:15:00 -08:00
Doug Coleman 15575e5dd9 help.html: fix glossary link. 2011-11-05 00:05:58 -07:00
Doug Coleman 9d393f3709 Make edit-vocab work on an unloaded vocabulary. 2011-11-04 23:33:18 -07:00
Joe Groff c736b04ada cpu.x86.*.bootstrap: save flags in signal-handlers 2011-11-04 11:56:01 -07:00
Joe Groff a934b7f3e5 cpu.x86.bootstrap: cell -> bootstrap-cell 2011-11-04 11:54:40 -07:00
Joe Groff 4ef2a9b4f0 cpu.x86.assembler: PUSHF, POPF instructions 2011-11-04 11:23:11 -07:00
Joe Groff d9293337bb cpu.x86.64.bootstrap: save all the regs on signal
Appears to fix another sporadic crash from mason on x86-64. There's no reason to cut corners here, really.
2011-11-04 10:01:56 -07:00
Doug Coleman cb14adb1c2 Fix bootstrap. Add missing using on io.serial.linux. Fixes #351. 2011-11-04 06:08:02 -07:00
Joe Groff 7942f807c9 unix.ffi: add signal constants 2011-11-04 00:24:18 -07:00
Joe Groff 1bc623167f cpu.x86.bootstrap: don't safepoint in a safepoint
Safepointing in the signal-handler primitive causes a crash if the safepoint is guarded and the signal being handled was raised by a safepoint. Put our own RET in the subprimitive to bail out before the standard epilog gets written out. This tentatively appears to fix #349.
2011-11-03 20:19:38 -07:00
Joe Groff 7619ff785b stack-checker.known-words: add ffi-signal-handlers 2011-11-03 15:20:42 -07:00
Joe Groff e201f3562f cpu.x86.32.bootstrap: typo 2011-11-03 13:07:13 -07:00
Doug Coleman 2d12fea828 Update emacs for editors protocol. 2011-11-03 12:04:02 -07:00
Joe Groff 6bb46a3f1e vm: always generate safepoints in jit
Even if there's no stack frame we still need to safepoint before leaving the function. Fixes #332.
2011-11-03 11:57:43 -07:00
Joe Groff 8679fe82bb tools.profiler.sampling: mess with formatting more 2011-11-03 00:14:18 -07:00
Joe Groff 0c701fb68d tools.profiler.sampling: cross-section report
Also add depth to top-down reporting so we can tell what parameter to give cross-section
2011-11-02 23:57:15 -07:00
Joe Groff d28845a1ef vm: reserve some more special-objects
Need a jit-safepoint object to deal with #332, and ffi-signal-handler words for immediate signal handling during FFI calls
2011-11-02 22:16:08 -07:00
Doug Coleman 86c35999f9 dlists: fix compile error 2011-11-02 21:57:31 -07:00
Joe Groff f71187c775 tools.profiler.sampling: twiddle output format 2011-11-02 21:40:53 -07:00
Doug Coleman e6bde7c6aa Tweak the dlist equal? word. 2011-11-02 19:53:40 -07:00
Doug Coleman e57b8e5e4a Implement equal? on dlists. Fixes #338. 2011-11-02 19:30:54 -07:00
Joe Groff bf0e07cffe images.loader.gtk: typo 2011-11-02 19:02:27 -07:00
Joe Groff 1b38835207 remove lingering mentions of macosx-ppc 2011-11-02 18:40:27 -07:00
Doug Coleman 1eed9203bb Rename (load-vocab) to (require), add tags.txt for "p" vocab loader test. Code formatting. 2011-11-02 18:07:22 -07:00
Doug Coleman 69ffe6377a io.backend.unix.macosx: Remove duplicate USE: 2011-11-02 17:47:15 -07:00
Doug Coleman ee741143e0 Fix unit tests to give the sampling profiler something to profile. 2011-11-02 17:46:50 -07:00
Doug Coleman f3c8423382 Fix require-hook 2011-11-02 17:26:13 -07:00
Doug Coleman 03a5293ed1 Add stack effects for the sampling profiler 2011-11-02 17:26:13 -07:00
Joe Groff 8cf18d1a82 remove BSD,solaris,etc. misc platform support code 2011-11-02 17:13:51 -07:00
Doug Coleman 7378ba7717 Unbreakify the new profiler, add a couple of unit tests to demonstrate displaying output. 2011-11-02 17:01:43 -07:00
Doug Coleman 4d66cd26dc Keep the profiling results even when the quotation throws an exception. 2011-11-02 16:47:27 -07:00
Doug Coleman 05c96477f3 Use -reuseview in jedit by default. 2011-11-02 16:47:10 -07:00
Doug Coleman fb44adef99 Clean up formatting, rename load-vocab-hook to require-hook. Add a unit test for vocabs.loader. 2011-11-02 16:31:42 -07:00
Doug Coleman 86e3817e40 Actually let the user pick an editor after editor protocol change. 2011-11-02 16:05:39 -07:00
Joe Groff 82a62181ce vm: count samples during unoptimized compiler 2011-11-02 13:23:21 -07:00
Joe Groff 7de62e8dbb hashtables.identity: test assoc-like 2011-11-02 13:23:20 -07:00
Joe Groff 81aac9359f tools.profiler.sampling: fix stack effect name 2011-11-02 13:23:19 -07:00
Joe Groff 1745e22211 tools.profiler.sampling: make rate a global var 2011-11-02 13:23:19 -07:00
Joe Groff 4330a645f4 tools.profiler.sampling: groom flat profile 2011-11-02 13:23:18 -07:00
Joe Groff fb837b91dc tools.profiler.sampling: flat profile report 2011-11-02 13:23:18 -07:00
Joe Groff fd96103d50 tools.profiler.sampling: smoke test compact-gc 2011-11-02 13:23:18 -07:00
Joe Groff 575f7fd663 hashtables.identity: support assoc-like 2011-11-02 13:23:17 -07:00
Joe Groff f645c82b8a tools.profiler.sampling: add detail to profile. 2011-11-02 13:23:16 -07:00
Joe Groff d4736d4e3a tools.profiler.sampling: "top-down" and "profile." 2011-11-02 13:23:16 -07:00
Joe Groff 30ed9b535b vm: parameterize sampling rate 2011-11-02 13:23:15 -07:00
Joe Groff 43c832c991 help.handbook: update link to counting profiler 2011-11-02 13:23:15 -07:00
Joe Groff 87316ae28f tools.profiler.sampling: smoke tests and metadata 2011-11-02 13:23:15 -07:00
Joe Groff 6d3d8392d1 tools.profiler.counting: rename help article 2011-11-02 13:23:14 -07:00
Joe Groff eb749bb535 tools.profiler.sampling: very basic frontend words 2011-11-02 13:23:14 -07:00
Joe Groff 38a5184fdf math.statistics: fix stack effect on collect-by 2011-11-02 13:23:13 -07:00
Joe Groff 252915a37c fix platform dependency in leaf-signal-handler 2011-11-02 13:23:12 -07:00
Joe Groff eac90675c0 move counting profiler to tools.profiler.counting 2011-11-02 13:23:09 -07:00
Joe Groff 9f6f36fdec cpu.x86.bootstrap: simplify leaf-signal-handler
We can use RET (stack-frame-size - cell) instead of doing stack gymnastics.
2011-11-02 13:23:08 -07:00
Joe Groff 33919b2919 tools.profiler: rename to tools.counting-profiler 2011-11-02 13:23:06 -07:00
Joe Groff 186bf65a00 constants for special object hardcoded literals 2011-11-02 12:54:50 -07:00
Doug Coleman 94db86a6db Make "foo.private" require load foo instead.
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201.
2011-11-02 11:50:03 -07:00
Doug Coleman 359c931d35 Rename images.gtk|gdiplus|cocoa to images.loader.*. Fixes #176. 2011-11-02 09:38:03 -07:00
Doug Coleman c44a998ef4 Fix typo in tests 2011-11-02 09:15:32 -07:00
Doug Coleman 4002945c09 Don't test coverage of auto-generated class predicates. Get a better count of callabales in a word to fix %coverage. 2011-11-01 17:13:11 -07:00
Doug Coleman a647df58f6 Make editors use the new path-finding vocabulary and protocol.
Implement io.standard-paths on Windows.
2011-10-31 13:16:37 -07:00
Joe Groff bf0c7eaa22 io.encodings.string: make binary decode/encode nop
Fixes #319.
2011-10-31 11:07:44 -07:00
Slava Pestov b31ffdfcb4 math.vectors.simd: vlshift, vrshift, hlshift and hrshift were being miscompiled if the shift count was a bignum. Fixes #264 2011-10-30 21:50:17 -07:00
Doug Coleman 0774944b8d Find the macvim bundle or use mvim. Add a flag for -g option to vim. 2011-10-30 16:11:18 -07:00
Doug Coleman ada631c202 Add core-foundation.launch-services for finding the path of a bundle. Add a new standard-paths vocabulary for finding files. 2011-10-30 16:11:18 -07:00
Slava Pestov 136ffc0671 bootstrap-error.factor: vocab => lookup-vocab 2011-10-29 17:25:51 -07:00
Slava Pestov 258b9590a2 tools.deploy: fix unit test 2011-10-29 17:15:49 -07:00
Slava Pestov c1b7de8339 stack-checker.known-words: add effects for signal-handler and leaf-signal-handler primitives, even though they can't be called directly 2011-10-29 17:15:35 -07:00
Slava Pestov 70056d756b compiler.cfg.builder: add test to ensure that fast union predicates do not contain a conditional 2011-10-29 17:11:04 -07:00
Slava Pestov 5a46b45312 compiler.tree.propagation: more accurate output type for 'tag' primitive 2011-10-29 17:11:04 -07:00
Slava Pestov e5a308d56a compiler.tree.debugger: disable length limit when printing optimized. quotation 2011-10-29 17:11:03 -07:00
Doug Coleman a1878ea818 Look for mvim on mac and use 'open -a MacVim' if it's not in the path. Since 'open -a macvim' doesn't support command line options, add a generic for opening to a line or not. 2011-10-29 15:31:06 -07:00
Slava Pestov 99b4752c57 help.html: I give up with the article name escaping. Just compute a SHA1 hash and use that as the file name. Fixes #309 2011-10-29 15:27:27 -07:00
Slava Pestov 914a4aee09 help.html: simpler stylesheet for navbar to give it a consistent look. Fixes #310 2011-10-29 15:27:27 -07:00
Slava Pestov 650fdc8fe5 help.html: use GET not POST for search form, so that the search term appears in the URL, and to make the back button work. Fixes #312 2011-10-29 15:27:27 -07:00
Slava Pestov 4c3c4f177b ui.gadgets.editors: fix wonky word names. Fixes #277 2011-10-29 15:27:27 -07:00
Slava Pestov 0285de7e7d Revert "ui.gadgets.editors: implement Ctrl-A/E/K to be more compatible."
This reverts commit 6a096a1e71.
2011-10-29 15:27:27 -07:00
Slava Pestov d212b18be3 Revert "ui.gadgets.editors: windows doesn't work like macosx."
This reverts commit cf1d12ce78.
2011-10-29 15:27:27 -07:00
Doug Coleman ff27f2c3f7 Change order or articles in io.launcher. 2011-10-29 15:13:45 -07:00
Doug Coleman 5594e82492 Clean up editors.*vim so that it runs detached with gvim and there is less
code duplication. Use mvim on mac. Remove gvim.unix vocabulary since it
doesn't do anything besides return "gvim" as the path.
2011-10-29 15:10:42 -07:00
Doug Coleman 8205caa5ca Add edit-file and edit-vocab words and make edit on strings call
edit-vocab.
2011-10-29 13:35:13 -07:00
Doug Coleman eb7fd4a69b Add options to set the child process group id or session for Unix. This fixes part of #307. 2011-10-29 02:47:10 -07:00
Doug Coleman dc0a921866 Remove the lexer-factory because nothing uses it. Update usages. 2011-10-29 01:11:19 -07:00
Doug Coleman 53c6d08b54 Add a toggle word to namespaces and update docs, tests, and usages. Document with-global too. 2011-10-29 01:05:38 -07:00
Doug Coleman b43c069b81 Change prompt to something we can copy/paste back into the Factor repl. Add auto-use word. Fixes #301. 2011-10-29 01:05:38 -07:00
Doug Coleman aa7f22edc0 Cleanup vocab name validation. Vocab names and vocab prefixes are the same concept, and by disallowing slashes, spaces, and colon, we automatically check for absolute paths. Unit test this. 2011-10-29 01:05:37 -07:00
Doug Coleman 3f4f8c678d Add a seq>dlist word and make a dlist literal DL{
Implement prettyprint on dlists.
2011-10-29 01:05:37 -07:00
Slava Pestov 721d035901 http.server: closing socket without sending any text would hang the http.server. Fixes #311 2011-10-28 23:54:55 -07:00
Slava Pestov 5b69026f59 io.launcher: change kill-process to also close the pipe, if there is one, so that try-output-process can timeout even if the process spawns a subprocess which inherits the pipe. This fixes part of #307 2011-10-28 21:53:25 -07:00
Joe Groff 2d5360778f cleanups from code review 2011-10-27 21:18:23 -07:00
Joe Groff c70a1004f8 cpu.x86.64: also must save ctx-reg 2011-10-27 21:18:21 -07:00
Joe Groff ff2d480d98 cpu.x86.32: update for resumable signal handlers 2011-10-27 21:18:19 -07:00
Joe Groff d6eae2f42d vm: suppress signal-handler stack frame generation
This is a hack; see #295
2011-10-27 21:18:19 -07:00
Joe Groff 402e1155a5 vm: resumably handle signals from leaf procedures 2011-10-27 21:18:18 -07:00
Joe Groff 1386212d23 vm: dispatch signal handlers through subprimitive
We also need to save C ABI volatile registers before calling the signal handler in order to be able to reliably resume. Add signal-handler and leaf-signal-handler subprimitives to preserve volatile registers before invoking the signal handler C function.
2011-10-27 21:18:18 -07:00
Joe Groff 68518e741e cpu.x86.(32,64).bootstrap: get rid of PUSH malarky
In the function prologue, move the stack pointer once after the stack frame is set up instead of PUSHing the stack frame piece by piece.
2011-10-27 21:14:50 -07:00
Joe Groff b0b0905460 vm: add factorbug command to throw exception
Also rename "q" to "c" because it "c"ontinues, remove the useless "im" command, and rename the less useful "t" to "trim" so we can use "t" to mean "throw"
2011-10-27 21:14:49 -07:00
Joe Groff c06be95816 compiler: no spurious safepoint at start of loops 2011-10-27 21:14:48 -07:00
Joe Groff 41c36752fc compiler.cfg.tco: clean up commented-out old code 2011-10-27 21:14:47 -07:00
Joe Groff 6f75e84d93 compiler.cfg.tco: teach TCO about safepoints 2011-10-27 21:14:46 -07:00
Joe Groff e449fef4e3 compiler.cfg.builder: safepoint loops and epilogs 2011-10-27 21:14:46 -07:00
Joe Groff 0c022f2454 compiler: add ##safepoint IR insn 2011-10-27 21:14:46 -07:00
Joe Groff ae1a903c4e cpu.x86.assembler: add MOVABS instruction
MOVABS generates the one-byte opcode version of MOV eAX, [absolute] or MOV [absolute], eAX, which saves a byte per safepoint on x86-32.
2011-10-27 21:14:45 -07:00
Joe Groff 4be5eadb34 cpu.x86.bootstrap: add safepoint to jit-epilog 2011-10-27 21:14:45 -07:00
Joe Groff 98fa51f0e0 compiler: rt-safepoint and rel-safepoint words 2011-10-27 21:14:45 -07:00
Doug Coleman 7b6f27eda6 Add a lint check for swap .. swap that can be replaced by dip. Clean up the cases it finds. 2011-10-26 13:01:04 -07:00
Doug Coleman 80a1a68e0f Fix error reporting for load, reported by Recursed 2011-10-25 14:54:23 -07:00
Doug Coleman 4ebe5218c7 Update Windows for word renames, fix lint errors 2011-10-24 21:50:02 -07:00
Doug Coleman 51c033a1f6 Fix all failures in the linux64 build email 2011-10-24 19:33:09 -07:00
Doug Coleman 763d9a3f7d Missed yet more renames 2011-10-24 17:00:09 -07:00
Doug Coleman df64529fb5 Forget some classes after unit tests so that running "classes" test succeeds multiple times in a row 2011-10-24 16:59:46 -07:00
Doug Coleman d5dc5cfa2c Fix 32bit platform bootstrap 2011-10-24 16:24:01 -07:00
Doug Coleman 0d059e0f19 Found a few more places to use lookup-c-type 2011-10-24 15:58:40 -07:00
John Benediktsson 4246c0ad36 windows.directx: add platforms.txt. 2011-10-24 15:47:06 -07:00
Doug Coleman ff69e2f240 Rename c-type to lookup-c-type. Fixes #230. 2011-10-24 14:37:24 -07:00
Doug Coleman f9257959fd Rename class to class-of 2011-10-24 06:47:42 -05:00
Doug Coleman 26872ffe4d Rename vocab to lookup-vocab 2011-10-24 06:42:54 -05:00
Doug Coleman 2ecd513130 Factor out ``no-roots no-prefixes'' into its own word. Add load-root, load-from-root, vocabs-in-root and implement load in terms of load-from-root.
Add error checking for append-vocab-dir and (child-vocabs) in case someone tries to pass them the wrong parameters.
Rename: vocab-dir+ to append-vocab-dir
Document load-from-root and load-root
2011-10-23 19:59:01 -05:00
Doug Coleman 441a8b8926 Checked in some code on accident. 2011-10-21 15:34:44 -05:00
John Benediktsson 5a943b32c4 Remove stack effects from HELP: declarations. 2011-10-20 19:36:11 -07:00
John Benediktsson 3d1155130c core-foundation.timers: allow interval to be specified in the constructor. 2011-10-19 15:30:55 -07:00
John Benediktsson b1922274e3 smtp: removing unused test. 2011-10-19 13:39:26 -07:00
John Benediktsson f4a6e10818 More cleanup of unused stuff. 2011-10-19 11:01:16 -07:00
John Benediktsson d1f5fefab0 Cleanup some uses of global [ ] bind. 2011-10-19 11:01:16 -07:00
John Benediktsson 469f4314df calendar: removing unused (month-name) word. 2011-10-19 11:01:16 -07:00
John Benediktsson fb2aab3545 Remove unused words. Fixes #132. 2011-10-19 11:01:16 -07:00
Doug Coleman 3507a0cc4b Don't use exception handling for handle>file-size 2011-10-19 10:15:09 -07:00
John Benediktsson a625197ba5 ui.gadgets.editors: windows doesn't work like macosx. 2011-10-19 09:42:12 -07:00
Doug Coleman 55bb863704 Create attributes>> accessor in io.files.windows 2011-10-19 03:14:19 -07:00
Doug Coleman b58688f87d Add throw-win32-error, use it in (delete-file) 2011-10-19 02:51:36 -07:00
Doug Coleman 5608178389 When deleting a file, if it fails with "Access is denied" then set the file
attributes to normal and try again. Some files in the .git directory are set
to read-only, preventing the build machines from deleting old builds.
2011-10-19 02:28:45 -07:00
Doug Coleman 55790cc6e4 Check if streams are seekable in Windows 2011-10-19 01:16:53 -07:00
Doug Coleman 986ff071b4 Fix help-lint for editors, peg.ebnf 2011-10-19 00:57:20 -07:00
Doug Coleman df3cf77e59 Fix tools.annotations tests 2011-10-19 00:57:06 -07:00
Joe Groff e40453ebee io.streams.limited: missed INSTANCE: input-stream 2011-10-18 21:27:08 -07:00
John Benediktsson d1009d74f4 delegate: not sure why protocols can be defined with arrays, but... 2011-10-18 20:40:14 -07:00
John Benediktsson d750197a7e help.syntax: if you're gonna have HELP: stack effects, they might as well be correct... 2011-10-18 20:12:42 -07:00
John Benediktsson 2608214622 help.syntax: allow HELP: to have optional stack effect. 2011-10-18 19:14:53 -07:00
John Benediktsson 774d39a524 listener: don't crash if we forget the current vocab. Fixes #259. 2011-10-18 16:46:55 -07:00
John Benediktsson faf556f971 delegate: verify generics on protocol definition. Fixes #260. 2011-10-18 16:31:15 -07:00
Joe Groff 13b17fb84a io: input-stream and output-stream mixins 2011-10-18 16:25:09 -07:00
John Benediktsson 315767d6f3 editors: unify "edit" across vocabs and words, add edit words for docs, tests, platforms, authors, tags, and summary files. Fixes #177. 2011-10-18 16:11:24 -07:00
Joe Groff 300a0256c8 new vocab tools.annotations.assertions
Annotates unsafe words with assertions that their inputs and outputs are valid. Provide annotations for stream-read(-partial)-unsafe and (set-)nth-unsafe to start with.
2011-10-18 15:13:34 -07:00
Joe Groff c850722cbb tools.annotations: send watch to error-stream 2011-10-18 15:13:34 -07:00
Joe Groff b4d406cfa3 ui.tools.listener: set error stream 2011-10-18 15:13:33 -07:00
John Benediktsson b237df3a3b Remove unused stack effects from DEFER: declarations. 2011-10-18 14:42:17 -07:00
John Benediktsson 6e00eaa3f8 Fix stack effect to not print "(( -- ))", remove stray effect from smtp. 2011-10-18 13:25:47 -07:00
John Benediktsson 80e1c8e3f2 Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed. 2011-10-18 13:19:39 -07:00
Joe Groff 9b2634fbd7 io.files.windows: fix can-seek? and length 2011-10-18 12:42:53 -07:00
John Benediktsson 8d15fb1021 ui.gadgets.editors: implement Ctrl-A/E/K to be more compatible. 2011-10-18 11:38:08 -07:00
John Benediktsson cf54ce8e42 math.functions: when gcd is inlined, "gcd nip" is almost as good as "gcd*". 2011-10-18 10:30:39 -07:00
Doug Coleman 5c694767cd Report which file doesn't get deleted on Windows. 2011-10-18 00:59:57 -07:00
Doug Coleman 24a6895436 io.sockets.windows - Add a using, output count to fix compile error. Not bad for having no Windows box. 2011-10-17 23:28:22 -07:00
John Benediktsson 9f4eeb55f9 Revert "Optimize byte-reverse macro in alien.endian -- it was shifting each byte to the 0th bit place, bitand-ing it with HEX: ff, then shifting it to its final destination -- now we immediately shift to the proper location and bitand with the proper bitmask."
This reverts commit c701a39e89.
2011-10-17 21:39:57 -07:00
Joe Groff 90e1002349 io.sockets: rename (receive) to (receive-unsafe) 2011-10-17 21:23:37 -07:00
Joe Groff 9a812cc5c9 io.ports: lift common methods onto buffered-port 2011-10-17 21:23:37 -07:00
Joe Groff 0c74190a50 ui.tools.listener: remove redundant method 2011-10-17 21:23:37 -07:00
Joe Groff 67cccc63b3 formatting 2011-10-17 21:23:36 -07:00
Joe Groff 68621c4d79 io.sockets.windows: recv to byte-array via malloc
WSARecvFrom on Windows does its work asynchronously, so the buffer cannot be in the managed heap during the extent of the operation.
2011-10-17 21:23:36 -07:00
Joe Groff 8fc0be3c2f io.sockets: remove unix.ffi inserted by auto-use 2011-10-17 21:23:36 -07:00
Joe Groff 5d0ff43613 io.sockets: receive directly into byte array 2011-10-17 21:23:11 -07:00
Joe Groff 20e49c273f io.sockets: receive-unsafe and receive-into
Analogous to read-unsafe/read-into for streams (and thereby TCP sockets), provide receive-unsafe and receive-into words for datagram sockets that receive into a caller-supplied buffer.
2011-10-17 21:23:11 -07:00
Joe Groff dbda6cb40b compiler.tree.dead-code: fix test
It was using "read" in an optimization test, but since "read" is now inline, it wasn't getting the expected optimized quotation back.
2011-10-17 21:23:10 -07:00
Joe Groff f626e456dd specialized-arrays: fill in missing manifest bits 2011-10-17 21:23:10 -07:00