Commit Graph

13042 Commits (c09312d88164458f17cd44cc40602fa6f342cff2)

Author SHA1 Message Date
Benjamin Pollack 12af22f3ee openssl: only set RSA keys if required to do so
Modern OpenSSL and LibreSSL both do not require SSL_CTX_set_tmp_rsa to
be called unless SSL_CTX_need_tmp_rsa returns true, and LibreSSL and
OpenSSL compiled with deprecation warnings both will fail if this
happens. This commit resolves that.

With this change, it becomes possible to use LibreSSL in place of
OpenSSL with Factor.
2016-02-23 08:11:04 -05:00
Benjamin Pollack 8073c8a77e Update OpenSSL calls to work with LibreSSL/newer OpenSSL
RSA_generate_key has been deprecated, and is not available in either
LibreSSL or newer OpenSSL that are not compiled with deprecated call
support. This commit switches to the still-supported
RSA_generate_key_ex, which is supported by both libraries.

Note that this is still insufficient for Factor to work under LibreSSL,
though we now get a call further than before.
2016-02-22 14:21:39 -08:00
Doug Coleman 69d5a3a276 io.sockets: remove send-n-times, broadcast-n-times. 2016-02-20 18:37:08 -08:00
Doug Coleman e4347f5254 io.sockets: Add more utility words for working with udp. 2016-02-19 19:21:13 -08:00
Doug Coleman 64db45c536 factor: update repository location to factor/factor 2016-02-19 13:51:58 -08:00
Doug Coleman 3f9ac2ad9f json.prettyprint: Add a simple json prettyprinter. 2016-02-17 18:36:21 -06:00
Benjamin Pollack 7d8d60ede3 Fix incorrect alien.syntax documentation for FUNCTION:
The library docs indicate that you need a semicolon at the end of
a `FUNCTION:` definition, but that's actually a syntax error. Likewise,
while the parentheses and commas may at one point have been optional,
they emphatically aren't anymore. This patch brings the documentation in
line with the code.
2016-02-17 09:33:33 -08:00
Benjamin Pollack 1887695d45 Make Visual Studio Code integration go directly to lines 2016-02-15 15:42:31 -05:00
Benjamin Pollack 97d1ec759e Add Mac support for Visual Studio Code 2016-02-12 10:06:50 -05:00
John Benediktsson fffb501486 x11.xim: fix "cannot execute a word before it has been compiled" bug. 2016-01-09 16:16:58 -08:00
Jon Harper 6ebf6ff53b docs, ffi: more explicit c-string conversions docs 2016-01-09 13:54:21 -08:00
Jon Harper 5b96d4d390 docs, wrapping structs: add links to memory>struct and <direct-T-array> 2016-01-09 13:54:21 -08:00
Jon Harper 53ce93a0da ffi docs, C unions are UNION-STRUCT: in factor 2016-01-09 13:54:21 -08:00
Jon Harper 3e84d30760 x11.xim: lookup-string, always use same buf and simplify 2016-01-09 20:21:13 +01:00
Jon Harper 2f92f29d2a x11 xlib, use Xutf8LookupString instead of XwcLookupString
XwcLookupString uses a locale dependant encoding, but was always
decoded using utf16. On my system, it was not utf16 that was used.
Xutf8LookupString always uses utf8 so it should work everywhere
2016-01-09 19:28:33 +01:00
John Benediktsson 7b28949331 tools.deploy: bump size. 2015-12-30 12:49:34 -08:00
John Benediktsson 7e40b60374 tools.deploy: add a MAIN:. 2015-12-25 21:11:21 -08:00
Björn Lindqvist 216a1234c2 tools.test: makes <test-failure> public 2015-12-17 23:50:49 +01:00
John Benediktsson 119f188423 tools.deploy: bump sizes, sigh. 2015-12-14 10:21:52 -08:00
Björn Lindqvist cbba6bbf95 bootstrap.image.tests: I screwed up the test case values -- fix them 2015-12-14 13:56:35 +01:00
Björn Lindqvist 7247906bf8 vm: remove vm-field-offset and context-field-offset
Shorter to just write "vm offset-of" and "context offset-of"
2015-12-14 09:29:18 +01:00
Björn Lindqvist 1378841c95 bootstrap.image.tests: new tests & fix for 32bit test failure 2015-12-14 06:54:12 +01:00
John Benediktsson 6ded345591 tools.deploy: bump deploy test sizes. 2015-12-13 14:25:45 -08:00
John Benediktsson 8cf8f023e2 tools.deploy: bump test sizes. 2015-12-13 09:02:55 -08:00
Björn Lindqvist b87dd9f6cb system-info.linux.tests: fix test, linux is at 4.2.x now 2015-12-13 13:56:37 +01:00
John Benediktsson 3affad7681 docs: using $maybe. 2015-12-11 17:05:45 -08:00
Björn Lindqvist 1a72f731e0 VM: now special-objects is used for -1, 0, 1 and t
The fields in the image_header aren't read or written to but I haven't
changed the format yet.
2015-12-10 10:22:38 +01:00
Björn Lindqvist 339b1b6466 VM: put the singletons t, -1, 0 and 1 in the special objects table
Having them there instead of as fields in the vm struct removes a bunch
of special handling. This commit just adds them and doesn't remove the
old ones to avoid potential chicken-and-egg bootstrap problems.
2015-12-09 21:31:13 +01:00
Björn Lindqvist d6a9122967 ui.backend.gtk: only run the tests on linux 2015-12-08 09:46:30 +01:00
Björn Lindqvist 24db8a5d7f compiler.tests.callstack-overflow: disable test for os x 64, see #1478 2015-12-08 02:16:51 +01:00
Björn Lindqvist 4551fdcb28 tools.test: print the callstack in test failures
So when mason reports a test failure it should include the whole
callstack. That should make it easier to catch the "No suitable
arithmetic method" random error that is hard to debug without a
callstack.
2015-12-04 16:57:40 +01:00
Björn Lindqvist bf8fe25271 bootstrap.*: fix for #1512, load docs after everything else
By making it so the help component is loaded almost last, all vocabs are loaded without docs and only then are they loaded. It should make it so you don't get cyclic dependency problems in doc files during bootstrapping.
2015-12-04 13:29:29 +01:00
Björn Lindqvist fc9eb0d5ac bootstrap.stage2: more logging output and fix for #1444
The error clearing needs to happen almost last so that an error is not
set in the image.
2015-12-04 13:16:21 +01:00
Björn Lindqvist 5deea76d55 ui.backend.gtk: set the active? to 100 in on-map, should fix #1506
what now happens is that configure events are skipped until the first
on-map signal is fired. seem to work fine in a variety of wm:s. if this
works well we can return active? to be plain boolean.
2015-12-04 00:57:19 +01:00
Björn Lindqvist a35895f222 compiler.cfg.intrinsics: fix doc and make tests work on 32bit 2015-12-01 13:43:45 +01:00
Björn Lindqvist 43f2592d1b ui.gestures: fix gesture docs, #1509 2015-12-01 11:01:34 +01:00
Björn Lindqvist 763b892a1d ui.*: move some of the gl initing to set-up-window, should fix #1510
it's also more efficent to run the check-extensions "1.0"
require-gl-version code only once when the window is created, rather
than once for each draw
2015-12-01 04:49:36 +01:00
Björn Lindqvist 02c80423ba compiler.cfg.intrinsics.slots: refactor + docs & tests 2015-11-28 01:55:12 +01:00
Björn Lindqvist 686975ec29 ui.tools.listener: only wait up to 5 seconds for the listener to start
otherwise unit tests can wait forever if there is an error in listener-thread
2015-11-27 13:15:17 +01:00
John Benediktsson e84e63fd0c tools.deploy: small bump in sizes. 2015-11-23 10:42:49 -08:00
Björn Lindqvist 6a2c36f5ec compiler.cfg.builder.blocks: help-lint fix 2015-11-23 16:32:01 +01:00
Björn Lindqvist 63fd4d25cf compiler.cfg.*: more fixes to pass basic-block on the stack than in a
dynamic variable
2015-11-22 01:06:11 +01:00
Björn Lindqvist 1421779c9e compiler.cfg.*: refactors words to take a block parameter instead of
using the basic-block dynamic variable

the idea is to make the code easier to follow by limiting the use of
dynamic variables
2015-11-22 00:37:34 +01:00
Björn Lindqvist e1b22e0af4 compiler.tree.dead-code.simple: small refactoring and docs 2015-11-22 00:37:33 +01:00
Björn Lindqvist 097b40ce41 compiler.tree.propagation.recursive: better counter-class 2015-11-22 00:37:33 +01:00
John Benediktsson 17b536c3a8 html.templates: use unless* instead of or. 2015-11-20 09:15:19 -08:00
John Benediktsson 6d21a5a073 urls: only create linked-hash if query is f. 2015-11-19 08:50:30 -08:00
Björn Lindqvist a3be724f5a compiler.tree.propagation.info: better code for wrap-interval 2015-11-16 12:30:24 +01:00
Björn Lindqvist 7301da0314 urls: fix for the test failure in the yahoo vocab
?set-at can't be used in set-query-param because it creates a normal
hashtable and we need a linked-assoc
2015-11-16 11:41:21 +01:00
Björn Lindqvist a915d3bdb4 stack-checker.known-words: nicer stack-effect declaration code
I think it looks better to put the primitives in groups and declare them
that way than one big block.
2015-11-15 11:10:03 +01:00
John Benediktsson a97f840daa urls.encoding: make query>assoc docs have checked example. 2015-11-04 15:16:36 -08:00
John Benediktsson 02c4ec3630 http.server.requests: fix LH{ } in tests. 2015-11-04 13:01:59 -08:00
Doug Coleman bda9092cef urls: Fix unit tests for linked-hash change 2015-11-04 10:45:02 -08:00
John Benediktsson 3c06b585d7 linked-assocs: move prettyprint stuff to its own vocab. 2015-11-04 09:16:02 -08:00
John Benediktsson a73340a032 urls.encoding: fix tests for linked-hash changes. 2015-11-04 08:43:08 -08:00
John Benediktsson f7b7b5afbf urls.encoding: preserve order of URL query parameters. 2015-11-04 08:36:56 -08:00
John Benediktsson 40d454758e linked-assocs: give linked-hash "LH{ }" literal pprint. 2015-11-04 08:36:24 -08:00
Sankaranarayanan Viswanathan 4ce72ddbfb Show persistent border on right clicking presentation gadgets 2015-11-04 07:55:13 -08:00
Alexander Iljin fc7b70a17e Rename variables in some stack declarations for consistency.
It doesn't look great when a word is called "v/n", but the declared
parameters are "u" and "n". Better to have the parameters "v" and "n".
Also for consistency all input parameters are named "v" for "vector" (or
"u" and "v" in the alphabetical order), and the result vector is always
"w".
2015-11-04 07:47:57 -08:00
John Benediktsson 986bf1b2f9 Revert "Auto load urls.secure when needed"
This reverts commit bb7740091e.
2015-11-04 07:45:46 -08:00
Björn Lindqvist 7b18618b3e compiler.cfg.linear-scan.allocation.state: fixes the the 64-bit-o-centric testcases 2015-11-04 13:54:14 +01:00
Björn Lindqvist bb6fa7267c compiler.cfg.linear-scan.allocation.state: help-lint fixes 2015-11-04 13:38:59 +01:00
Björn Lindqvist 3718137969 webbrowser.*: let's open the file in a detached process
Seems more useful overall and matches how it already works on Windows.
2015-11-04 11:35:40 +01:00
Björn Lindqvist f692200547 compiler.cfg.*: refactoring which removes spill-area-size and
spill-area-align from cfg

This makes the code for building the stack frame simpler.
2015-11-04 07:53:19 +01:00
Björn Lindqvist cfe4fec574 compiler.cfg.linear-scan.*: make it so cfg is given as an argument to next-spill-slot 2015-11-04 07:53:19 +01:00
Doug Coleman 67e7874e91 io.files.info.unix.linux: Special characters in mount points are encoded as octal escape sequences. 2015-11-03 15:55:14 -08:00
Doug Coleman d23aa7e1f1 vocabs.refresh.monitor: Add exception handling in monitor-loop so that if
a path isn't a valid vocabulary name then we print an error. Should spam
the console on windows downloads but 1) only for .com not the .exe, 2) we
prefer people to build from source in which case the :Zone.Identifier ADS
will not be present, and 3) it will educate people about ADS hopefully.

If it's annoying we can turn it off.
2015-11-02 21:36:10 -08:00
Doug Coleman acdd529983 io.monitors.windows: ADS pathnames crashing the monitors threads is the
real culprit. Back out change and print out the crash and error message instead of ignoring
errors!
2015-11-02 21:19:12 -08:00
Doug Coleman 51ecaa5ab4 io.files.windows: ALIEN: -1 puts an expired alien in the image. -1 <alien>
it is then.
2015-11-02 21:18:49 -08:00
Doug Coleman d645b2e17c io.monitors.windows: Strip the :Zone.Identifier from pathnames reported
by the file change api.
2015-11-01 19:58:05 -08:00
Doug Coleman 26e5c1aecf windows.kernel32, io.files.windows: Add support for listing alternate data
streams, e.g. file paths like foo.txt:Zone.Identifier.
2015-11-01 18:17:51 -08:00
Sankaranarayanan Viswanathan bb7740091e Auto load urls.secure when needed 2015-10-29 21:28:22 -07:00
Björn Lindqvist c773ce6463 ui.tools.listener: revert the commit that added UP/DOWN keybindings to
cycle history
2015-10-30 02:18:08 +01:00
Björn Lindqvist d4a127211d ui.backend.cocoa: fix for the silly error I made in 7bc1009973 2015-10-29 04:41:36 +01:00
Björn Lindqvist 705e2b8d4b ui.tools.listener: only recall if the lexer-error is aborted (#375) 2015-10-28 16:31:13 +01:00
Björn Lindqvist 7bc1009973 ui.*: make active? an integer 0-100
A UI backend can delay setting active? to 100 until the windows actually
is visible. That way, some redundant redraws that happen when the window
isn't visible is supressed. It makes the Windows and GTK UI startup a
little faster.
2015-10-27 19:00:28 +01:00
Björn Lindqvist 73893693d3 ui.backend.*: the offscreen buffer hooks appear unused - let's delete! 2015-10-27 16:58:01 +01:00
John Benediktsson dac179bc33 unicode.normalize: cleanup usings. 2015-10-26 18:25:52 -07:00
Björn Lindqvist 8cd471eda6 images.loader.gdiplus: both BGRA and BGRX formats are supported 2015-10-25 21:57:41 +01:00
John Benediktsson 8a2cf5d67b fonts: fix name of sans-serif font. 2015-10-25 13:32:02 -07:00
Björn Lindqvist 9ca00a3c75 help.stylesheet: make sizes calculated relative to the default-font-size
This makes Factors ui much easier to adapt to hidpi screens. You change
the default-font-size and elements should grow or shrink in proportion.
2015-10-24 14:44:30 +02:00
Björn Lindqvist 594eb3774d fonts: turn hardcoded font names and sizes into constants 2015-10-24 14:29:12 +02:00
Björn Lindqvist f2f7fd0b94 ui.tools.listener: recall the last command on parse errors 2015-10-23 17:59:04 +02:00
Björn Lindqvist 5f6ec2ba8b ui.tools.listener.tests: fix tests, manifest needs to be set and vocab used 2015-10-22 23:33:46 +02:00
Björn Lindqvist 436cb76dd3 windows.uniscribe: add SSA_FALLBACK and SSA_TAB to the flags, should fix #860 2015-10-22 23:14:55 +02:00
Björn Lindqvist ff118771ae ui.tools.listener: call interactor-finish before try-parse #375
Also changes the parse error handling in try-parse. If a parse error
occurs it is wrapped in a small quotation to defer handling it until the
quotation is ran.
2015-10-22 18:02:35 +02:00
Björn Lindqvist d15c5bced4 ui.tools.listener: tried to simplify stream-read-quot and handle-interactive 2015-10-22 18:02:35 +02:00
Björn Lindqvist 0795d21e46 ui.backend.gtk: on-key-press and on-key-release can be merged into one
on-key-press/release handler
2015-10-22 18:02:35 +02:00
Björn Lindqvist 9b5cb445ee tools.ps.linux: recover from missing file in ps-cmdline, fixes #1120 2015-10-20 16:55:48 +02:00
Björn Lindqvist 8bb96cbfd1 ui.gadgets.incremental: fix so that the scrolled of gadgets are ungrafted 2015-10-18 17:35:26 +02:00
Björn Lindqvist 0f803aa84b ui.gadgets.tests: clear the layout queue, so test dont interfere with
other tests
2015-10-17 15:58:59 +02:00
Björn Lindqvist 27f54fc123 ui.gadgets.tests: fix the test (layout-queue is a vector now) 2015-10-16 22:28:31 +02:00
Björn Lindqvist d2181a9e71 ui.gadgets.incremental: trivial scrolling, maybe solves #1488? 2015-10-16 10:55:48 +02:00
Björn Lindqvist 4812cec634 ui.gadgets.buttons: memoize the roll button themes pens
It reduces memory usage by about 10% for the #1488 test on my machine
and doesnt seem to have any bad side-effects.
2015-10-16 09:20:29 +02:00
Björn Lindqvist 9af7be2ef9 ui: the layout-queue is more efficient as a vector than a dlist
Improves memory usage in the #1488 example from about 20,4% to 17,4% on
my machine.
2015-10-15 18:34:49 +02:00
Björn Lindqvist 1873eda1d2 ui.gadgets: ensure that layout-later yields if the queue gets to large
This improves memory utilization a lot for #1488. Otherwise the queue
grows to two million entries before being processed.
2015-10-15 16:29:49 +02:00
Björn Lindqvist 302220c535 dlists: new word dlist-length for getting the length 2015-10-15 16:27:23 +02:00
Björn Lindqvist c0d1d2f331 ui.*: a little more ui docs 2015-10-15 16:27:15 +02:00
Björn Lindqvist 420ca29795 ui.tools.listener: make it so up/down arrows can be used for history
cycling

It's how it works in most CLIs so it's nice if it works in Factor too.
2015-10-14 03:05:16 +02:00
Björn Lindqvist f9e5d4f22c ui.backend.gtk: tune the order of the setup tasks in (open-window)
The fix for #1307 made bug #776 come back. Apparently gtk is kind of
britle so the widget setup must be done in a very specific order.
2015-10-14 00:22:26 +02:00
Björn Lindqvist 575da3e478 VM: fix so that errno is set if MoveFileEx fails, should fix #1490 2015-10-12 12:19:21 +02:00
Björn Lindqvist 37cd54cfbb io.files.windows.tests: windows test for the save-image not failing failure #1489
this one really should always throw permission denied or else something
is very spooky
2015-10-11 04:21:43 +02:00
Björn Lindqvist e35087fb22 io.files.windows: fix incorrect parsing of file attribute bitfield in win32-file-attributes 2015-10-11 04:11:30 +02:00
Björn Lindqvist e8841a4967 classes.struct: fix for struct equality and hashcode #1194
Instead of comparing the structs underlying byte arrays, get their slots
and compare that.
2015-10-10 23:58:04 +02:00
Björn Lindqvist 81ad3e21cb tuple-arrays: initial-values can be reused here to create the tuple
array sequence
2015-10-10 23:58:04 +02:00
Doug Coleman 8e90bd3dec kernel32: Fix a typo, fix a constant value, another typo, add three more
flags to the monitors api.
2015-10-09 20:38:30 -07:00
Doug Coleman db793e06f6 io.files.windows: SetFilePointer takes a PLONG not a uint pointer. 2015-10-09 19:50:06 -07:00
Doug Coleman 78f9fe9053 io.monitors.windows: make a DWORD ref instead of a uint. probably
irrelevant but it's what the win32 api header uses.
2015-10-09 19:21:24 -07:00
Björn Lindqvist 77f0d0042e unix.ffi,windows.winsock: add the rest of the AI_* flags
Currently unused, but they are useful if you are calling the getaddrinfo
function directly
2015-10-08 15:29:14 +02:00
Björn Lindqvist 75b8b4a408 io.servers: filter the list of addrspecs in listen-on so that only
usable ones remains

"localhost" resolve-host can return unusable ipv6 addresses on hosts not
supporting ipv6. So a filtering step is needed in listen-on.
2015-10-08 15:08:07 +02:00
Björn Lindqvist 2f4c8ee07a listener: only call parser-quiet? off when listener starts
it probably shouldn't be called on every input loop because then if you
set parser-quiet? to t, the setting will be undone
2015-10-05 17:04:36 +02:00
Björn Lindqvist cc4bb991b2 webapps.wiki.example: new vocab to show how the wiki webapp should be
run

it's a little tricky to figure out so a vocab demonstrating it is useful
2015-10-04 03:07:29 +02:00
Björn Lindqvist 28c179cf59 furnace.recaptcha: logic in recaptcha-url was wrong, fix and test case 2015-10-04 02:26:02 +02:00
Björn Lindqvist 0a3b4b4872 io.sockets.secure.debug: use <test-secure-config> in some places
the word can be reused in a few places when setting up ssl. it removes
some duplicated code
2015-10-04 01:25:11 +02:00
John Benediktsson 29f94f8a65 http.server.static: better fix for cgi-docs issue. 2015-10-02 11:32:20 -07:00
John Benediktsson 36c002f567 http.server.cgi: different fix maybe. 2015-10-02 11:25:36 -07:00
John Benediktsson 761f0d630e Revert "http.server.cgi: fix for the dependency cycle http.server.cgi <=>"
This reverts commit 51c5484e24.
2015-10-02 11:12:56 -07:00
Björn Lindqvist 51c5484e24 http.server.cgi: fix for the dependency cycle http.server.cgi <=>
http.server.static (#1311)
2015-10-02 14:19:47 +02:00
Björn Lindqvist 6b940cb972 furnace.auth.login: name of the realm is already set in the <login-realm> constructor 2015-10-02 13:14:26 +02:00
John Benediktsson 30182a4d38 debugger: adding strerror of the errno to io-error. 2015-10-01 08:15:39 -07:00
Björn Lindqvist dbcfc178ff io.directories.unix,environment.unix: better to use
native-string-encoding over hardcoding utf8
2015-10-01 15:52:51 +02:00
Björn Lindqvist ffc441ad63 VM: looks like ERROR_C_STRING is never thrown, so it can be removed 2015-09-29 23:12:56 +02:00
Alexander Iljin 13b4b76632 Fix a word in some old documentation on lazy lists. 2015-09-29 09:12:35 -07:00
Alexander Iljin 156a2d0b90 Minor documentation fixes. 2015-09-29 09:12:29 -07:00
John Benediktsson 2dea9bab74 ui.backend.gtk: small typo fix. 2015-09-28 14:48:20 -07:00
Björn Lindqvist 94f863f33e ui.backend.gtk: make it so configure-im is called after realize (#1307)
gtk_im_context_set_client_window must be called with a realized window
otherwise IM won't work,
http://lists.maemo.org/pipermail//maemo-developers/2006-January/002337.html
2015-09-28 15:33:36 +02:00
Björn Lindqvist be7fc6f7c9 logging: let's include the tb when logging errors, makes it way easier
to debug!
2015-09-24 11:43:48 +02:00
John Benediktsson 924fc60e30 io.ports: bring back file read performance, ignoring zeroes. 2015-09-23 20:07:53 -07:00
Doug Coleman 84e0034168 io.standard-paths.unix: iterm2 integration has some spew before every bash command if you have enabled shell integration. these commands end in ascii 7, so find the last one, strip it off, and then split on ":". Fixes the mac graphviz install problem. 2015-09-23 17:11:47 -07:00
John Benediktsson b644afb019 stack-checker.inlining: fix help-lint. 2015-09-23 17:10:43 -07:00
Björn Lindqvist 4890239c3c compiler.tree.propagation.tests: #1370 specific test 2015-09-22 09:03:16 +02:00
Björn Lindqvist 804348287c Docs: fix a bunch of help-lint warnings 2015-09-22 08:52:59 +02:00
Björn Lindqvist c5b92cedcb compiler.*: even more compiler docs 2015-09-22 08:52:59 +02:00
Björn Lindqvist 4db173cadb compiler.*: random doc and tests updates 2015-09-22 08:52:59 +02:00
Björn Lindqvist 3e485652fe compiler.tree.propagation.slots: looks like you can do without the
constructor-output-class word
2015-09-22 08:52:59 +02:00
Björn Lindqvist 09ad5bd617 compiler.tree.propagation.slots: docs & tests for the vocab 2015-09-22 08:52:59 +02:00
Björn Lindqvist 4ee88bdc3d compiler.tree.propagation.info: better logic for comparing value-infos
Now the slots of the value infos only matter if the class of the first
info is at least as large as the class of the second info
2015-09-22 08:52:37 +02:00
Björn Lindqvist bc0cdff2c6 compiler.tree.propagation.info: fixed value-info<= so that it handles
slots correctly

if a slot is defined for a value-info, then it can't be <= a value-info
without that slot defined
2015-09-22 08:52:37 +02:00
Björn Lindqvist 86d35982ac compiler.cfg.linear-scan.allocation.splitting: better def for split-uses
it seems to be just as fast as the wordier one
2015-09-22 08:52:37 +02:00
Björn Lindqvist ea67379751 compiler.tree.*: new tests 2015-09-22 08:52:37 +02:00
Björn Lindqvist b9ce4910af compiler.tree.*: docs 2015-09-22 08:52:36 +02:00
Björn Lindqvist aaef9af863 compiler.cfg.*: random doc updates 2015-09-22 08:51:46 +02:00
Björn Lindqvist a1153e6de1 compiler.tree.propagation.info: more docs and tests for the vocab 2015-09-22 08:51:46 +02:00
Björn Lindqvist bb8b77419f compiler.tree.propagation.nodes: the loop-nesting variable appears unused 2015-09-22 08:51:05 +02:00
Björn Lindqvist 44092bf78d compiler.tree.propagation.*: better to use 2array than the "cuter" /\ word 2015-09-22 08:51:05 +02:00
Björn Lindqvist 9369f8216f compiler.tree.propagation.constraints: docs for this vocab 2015-09-22 08:51:04 +02:00
Björn Lindqvist 508ddc5c0b compiler.cfg.linear-scan.ranges: merge adjacent ranges when adding them
this way, the number of live interval ranges you have to deal with is
much smaller
2015-09-22 08:51:04 +02:00
Björn Lindqvist 89e261f673 compiler.cfg.linear-scan.ranges: remove the live-range definition and
use integer pairs instead

so instead of ranges being a sequence of live-ranges it is now a
sequence of integer pairs instead. That makes the
compiler.cfg.linear-scan.ranges simpler and easier to generalize
2015-09-22 08:51:04 +02:00
Björn Lindqvist 2943e7f246 compiler.cfg.linear-scan.ranges: new word ranges-endpoints and remove relevant-ranges 2015-09-22 08:51:04 +02:00
Björn Lindqvist 8c781639ed compiler.cfg.linear-scan.ranges: move more range-related features into
this vocab
2015-09-22 08:51:04 +02:00
Björn Lindqvist fb45bc278f compiler.cfg.linear-scan.live-intervals: the reg-class slot can be
removed

it's always the same as vreg>> rep-of reg-class-of so no need to store
that data twice
2015-09-22 08:51:04 +02:00
Björn Lindqvist 68c6654763 compiler.cfg.linear-scan.*: move words for splitting and intersecting ranges to the compiler.cfg.linear-scan.ranges vocab 2015-09-22 08:51:04 +02:00
Björn Lindqvist b8d47ed845 compiler.cfg.linear-scan.ranges: new vocab to contain all the range
related stuff from live intervals
2015-09-22 08:51:03 +02:00
Björn Lindqvist d0aae5cc20 compiler.cfg.linearization: number-blocks can set the number>> accessor
instead of using the numbers dynamic variable
2015-09-22 08:51:03 +02:00
John Benediktsson d5c5a1389d ui.gadgets.paragraphs: pref-dim of { 0 0 } if no children. 2015-09-20 09:45:05 -07:00
John Benediktsson e0bcd7423b wrap.words: make it work with empty input. 2015-09-20 09:44:17 -07:00
John Benediktsson d6b545a10b html.streams: fix tests. 2015-09-14 20:32:45 -07:00
John Benediktsson ba3f342bf1 help.html: cleanup extra spaces. 2015-09-14 15:43:33 -07:00
John Benediktsson 74d8e43312 help.html: simplify html by saving styles as classes.
We store the CSS classes in the HTML <style> tag.
2015-09-14 13:32:38 -07:00
John Benediktsson 59caf874a3 syntax: removing #! as a comment character.
We don't need two types of comments and shebang (#!) is handled
natively by the lexer, so the original reason for #! is not valid.
2015-09-09 18:28:08 -07:00
John Benediktsson e477f6996f Fix comments to be ! not #!. 2015-09-08 16:15:10 -07:00
John Benediktsson 75e50ec5e0 images.loader: use accessors in tests. 2015-09-06 08:23:17 -07:00
Björn Lindqvist 5684fab484 images.loader.gdiplus: fix for the call to GdipBitmapLockBits
GdipBitmapLockBits might trigger gc so the GpRect struct must be copied
to stable stack memory so that the collector doesn't move it.
2015-09-06 15:15:01 +02:00
Björn Lindqvist 721048bbb9 bootstrap.image.tests: total 20 -> 18 2015-09-03 13:18:26 +02:00
John Benediktsson 2435307fb3 peg: some cleanup. 2015-09-02 13:14:01 -07:00
Björn Lindqvist bc7f9ee669 VM: always use undecorated names when loading ffi functions
For win32, Factor tries four different function names when loading
stdcall and fastcall functions, in case decorated names are used in the
dll. It seems to not be necessary because a dll meant for 3rd party use
will always export undecorated
names (http://blogs.msdn.com/b/oldnewthing/archive/2004/01/12/57833.aspx).
2015-09-02 21:54:41 +02:00
Björn Lindqvist 9725169ca7 compiler.cfg.intrinsics.misc: use the vm-special-object-offset word 2015-09-02 21:54:36 +02:00
Björn Lindqvist de4917e6a1 VM: give the exception handling special object a real name 2015-09-02 21:54:33 +02:00
Björn Lindqvist 22887c5816 VM: get rid of the odd RT_EXCEPTION_HANDLER relocation
The address to the win32 relocation handler can be stored in a special
object and be accessed by jit-install-seh. Doing it that way is better
because you can remove a lot of special code related to that relocation
type.
2015-09-02 21:54:30 +02:00
Björn Lindqvist 85e45ae29e compiler.constants: remove a bunch of constants that are unused
(or only used by the defunkt arm backend)
2015-09-02 21:54:24 +02:00
Björn Lindqvist a89b0c2b30 Docs: reorg of the compiler.constants docs a little 2015-09-02 21:54:21 +02:00
Björn Lindqvist cee0b19324 VM: the ffi-signal-handler and ffi-leaf-signal-handler primitives are unused 2015-09-02 21:54:15 +02:00
John Benediktsson b28a24c7df peg: fix some old docs that referred to "p1". 2015-09-02 10:34:59 -07:00
Jon Harper 6ee9fad443 formatting: fix docs for padding and use a better example
Make the padding number coherent between the example and the docs.
Also bump it from 3 to 10 because [[3.14 "%'#5f" printf]] is "3.140000"
because the default precision is 6.
2015-08-30 18:43:59 +02:00
Jon Harper 03630e8100 peg.ebnf: support escaped double quote in a string 2015-08-30 18:43:58 +02:00
Doug Coleman b2a51dfeb2 vocabs.metadata: wrap test in a with-manifest to ensure there's a manifest. Fixes #1463. 2015-08-27 22:28:30 -07:00
Doug Coleman 2a520191e1 vocabs.metadata: Fix test so it stops trying to load the wrong platform vocabulary forever. Fixes #1463. 2015-08-27 18:51:40 -07:00
Doug Coleman bb16ef8a86 windows.kernel32: add more bindings 2015-08-27 11:29:26 -07:00
Björn Lindqvist 663e5e2a09 VM: fix jit-signal-handler-prolog/epilog to account for the home space
Windows 64bit abi requires callers to reserve 32 bytes of home space in
the stack frame which the callee is free to clobber. Previous versions
of VS didn't compile code to take advantage of the home space so it
worked fined. VS2015 however, is using the home space which causes
registers and flags that were supposed to be saved to be
overwritten. The fix is to put a little extra empty space at the bottom
of the stack frame.
2015-08-26 20:23:25 +02:00
Björn Lindqvist 10464e7e4e VM: LEAF_FRAME_SIZE is 16 bytes on all platforms so we can simplify it 2015-08-26 20:23:15 +02:00
John Benediktsson 8db66d9dd3 ui.gestures: update action gesture docs, thanks @jonenst! 2015-08-24 10:27:00 -07:00
John Benediktsson e45e669fd6 locals.parser: change docs for with-lambda-scope. 2015-08-24 10:21:35 -07:00
John Benediktsson 3154e70b88 vocabs.metadata: add some tests. 2015-08-23 18:43:36 -07:00
John Benediktsson 087b8df798 vocabs.metadata: fix for error refactoring. 2015-08-23 18:37:34 -07:00
Björn Lindqvist 59b7a50567 VM: removing the get_datastack/retainstack/callstack primitives
they can all be implemented using the
datastack/retainstack/callstack-for primitives and the less primitives
the better!
2015-08-23 18:36:30 -07:00
Doug Coleman f6c1d00c37 ui.baseline-alignment: Don't divide f by 2. Also, can't put ``0 or`` after
``max-cap-height`` because it breaks something else.
2015-08-19 17:20:45 -05:00
Doug Coleman 3649dd2764 ui.backend.cocoa.views: Don't throw an error on weird mouse buttons. Fixes #1453. 2015-08-18 23:22:55 -07:00
John Benediktsson e8cc383388 minor cleanup. 2015-08-17 20:32:28 -07:00
John Benediktsson 399d01f56e strings.parser: finish removing triple-strings.
parse-string => parse-short-string (on the same line)
parse-multiline-string-until => parse-full-string
2015-08-17 19:49:12 -07:00
John Benediktsson ff880262cb ui.gadgets.editors: make it easier to set and get default-text. 2015-08-16 14:29:21 -07:00
John Benediktsson 6de244da44 ui.tools.browser: use default-text to make search box prettier. 2015-08-16 13:45:29 -07:00
John Benediktsson f24444e990 ui.gadgets.editors: allow action-fields to have a default text. 2015-08-16 13:45:16 -07:00
John Benediktsson f3608deb63 ui.tools.browser: better to remove page-color than change it. 2015-08-16 12:58:38 -07:00
John Benediktsson 7dd0acbf0f help.stylesheet: add back page-color and override in ui.tools.browser. 2015-08-16 12:54:56 -07:00
John Benediktsson c957ab876c prettyprint: fix for -> rename. 2015-08-16 12:39:08 -07:00
John Benediktsson ace299b5c7 help: fix some html navigation styles. 2015-08-16 11:38:38 -07:00
John Benediktsson 81cbf71d27 help: make the default print prev/next links but then modify ui.tools.browser to do what it used to do. 2015-08-16 11:33:24 -07:00
John Benediktsson 92762cb56b help.html: fix navigation links at top. 2015-08-16 11:33:24 -07:00
Doug Coleman f414323d1d prettyprint: change -> to => for newparser and -> cocoa syntax. Alternatives are possible. 2015-08-16 10:59:03 -07:00
John Benediktsson 6b440e5e81 ui.gadgets: fix help-lint warnings. 2015-08-16 10:46:28 -07:00
John Benediktsson 15b0753457 ui.gadgets: fix some tests. 2015-08-16 10:41:16 -07:00
John Benediktsson 29d4908ff5 ui.gadgets: move some buttons-tests to toolbar-tests. 2015-08-16 10:33:52 -07:00
John Benediktsson bfbab98d57 ui.tools.browser: remove spacer for right now...
...until we have the text-within-empty-label thing fixed it gives
us a little more space to type into.
2015-08-16 10:22:11 -07:00
John Benediktsson cb575c1ba8 ui.gadgets.labeled: separate title-bar-interior with a comment why. 2015-08-16 08:04:58 -07:00
nicolas-p 87a31f1f35 ui.gadgets.labeled: fixed USING 2015-08-16 07:54:45 -07:00
nicolas-p 61f8db4c81 ui.gadgets.theme.light: colour changes 2015-08-16 07:54:45 -07:00
nicolas-p b81a5f9c7a ui.gadgets.labeled: flat colour on windows because of the gradient bug 2015-08-16 07:54:45 -07:00
nicolas-p 2a7cc29693 ui.tools.walker: improved status text 2015-08-16 07:54:45 -07:00
nicolas-p d71f7b955e help: fixed USING 2015-08-16 07:54:45 -07:00
nicolas-p bfb81f67cf ui.tools.browser: navigation fix 2015-08-16 07:54:16 -07:00
nicolas-p fff4ea78ec ui.gadgets.color: changed error colour
Reverted a previous unintentional change
2015-08-16 07:54:16 -07:00
nicolas-p bab79fe04c ui.theme.light: using HEXCOLOR 2015-08-16 07:54:16 -07:00
nicolas-p 1817a4b8cb Refactored prev/next buttons code 2015-08-16 07:54:16 -07:00
nicolas-p 706fe6eb4e help: Added arrows in prev/next links 2015-08-16 07:53:34 -07:00
nicolas-p 55c994f1c1 ui.gadgets.scrollers: removed 1-px gap 2015-08-16 07:53:34 -07:00
nicolas-p bf2b829846 ui.gadgets.colors moved to ui.gadgets.theme 2015-08-16 07:53:33 -07:00
nicolas-p 23a1174e81 Fixed USING in slots and deploy 2015-08-16 07:53:33 -07:00
nicolas-p 9f8736c13c Moved toolbar docs 2015-08-16 07:53:33 -07:00
nicolas-p 355e14cb5b New buttons 2015-08-16 07:53:33 -07:00
nicolas-p 9d5336777d Toolbar button pressed background 2015-08-16 07:53:33 -07:00
nicolas-p 4335698ceb ui.gadgets.colors: Several colour changes 2015-08-16 07:53:33 -07:00
nicolas-p a0eaf7a66b Fixed alignment issue in toolbars 2015-08-16 07:53:32 -07:00
nicolas-p 40c6e04128 Fixed USING: 2015-08-16 07:53:32 -07:00
nicolas-p 279795dbfd Red/orange/green thread status in Walker
John did most of the work
2015-08-16 07:53:32 -07:00
nicolas-p 61552d2901 Simplified toolbar code 2015-08-16 07:53:32 -07:00
nicolas-p 2e067a3705 Small change in roll button colour 2015-08-16 07:53:32 -07:00
nicolas-p 883d7e09d9 Other small adjustment in browser toolbar 2015-08-16 07:53:32 -07:00
nicolas-p 32ae5da655 Small adjustments in browser toolbar 2015-08-16 07:53:32 -07:00
nicolas-p c0e253a4a5 Revert previous colour change
Changed my mind
2015-08-16 07:53:31 -07:00
nicolas-p f240f189e1 Improved contents table in Inspector 2015-08-16 07:53:31 -07:00
nicolas-p 80307926f6 Colour changes 2015-08-16 07:53:31 -07:00
nicolas-p f4e8511c0a Fixed compatibility issue with labeled gadget 2015-08-16 07:53:31 -07:00
nicolas-p 18a4171572 Toolbar no longer uses images 2015-08-16 07:53:31 -07:00
nicolas-p 008614e6cb Authors and summary for ui.gadgets.toolbar 2015-08-16 07:53:31 -07:00
nicolas-p 79e273a250 Authors and summary for ui.gadgets.colors 2015-08-16 07:53:30 -07:00
nicolas-p 44a6228931 Removing menu item images
I’m under the impression that they’ve never been used.
2015-08-16 07:53:30 -07:00
nicolas-p 9d464fea9a Removing menu images 2015-08-16 07:53:30 -07:00
nicolas-p 086c90822d Removing labeled block images 2015-08-16 07:53:30 -07:00
nicolas-p 10cb51c031 help: removing prefix 2015-08-16 07:53:30 -07:00
nicolas-p e66910c3bd Centring prev/next links in Browser 2015-08-16 07:53:30 -07:00
nicolas-p 0bdeb0c60f Prev/next buttons in Browser 2015-08-16 07:53:30 -07:00
nicolas-p c8b63fa4b0 Fixed USING: 2015-08-16 07:53:30 -07:00
nicolas-p 844da3fdfd ui.tools.browser: using format-toolbar 2015-08-16 07:53:29 -07:00
nicolas-p 359b42ab15 Removed ui.gadgets.lines
with-lines moves to ui.tools.common, white-interior moves to
ui.gadgets.colors
2015-08-16 07:53:29 -07:00
nicolas-p ea40508cd9 New error-list 2015-08-16 07:53:29 -07:00
nicolas-p d0b4f7d9a3 Using ui.gadgets.colors everywhere 2015-08-16 07:53:29 -07:00
nicolas-p ba4a6b780a Added ui.gadgets.colors
All colour constants in the same place
2015-08-16 07:53:29 -07:00
nicolas-p dbe9aebe5d New menu 2015-08-16 07:53:29 -07:00
nicolas-p faa2ad6d60 Increased font size in help header path 2015-08-16 07:53:29 -07:00
nicolas-p d3b27e44b4 Actual colours for labeled gadgets 2015-08-16 07:53:28 -07:00
nicolas-p 48376ff10c Using filled-border in status bar 2015-08-16 07:53:28 -07:00
nicolas-p 547ca698d8 Removed extra new line in help 2015-08-16 07:53:28 -07:00
nicolas-p 5ebf88bc0c Fixed USING: in debugger 2015-08-16 07:53:28 -07:00
nicolas-p c195efbdff New inspector 2015-08-16 07:53:28 -07:00
nicolas-p 30091bee91 White interior and margins in Traceback 2015-08-16 07:53:28 -07:00
nicolas-p 6a528d3978 New debugger 2015-08-16 07:53:28 -07:00
nicolas-p 52135e2df7 Removed white interior
It was in the wrong place
2015-08-16 07:53:28 -07:00
nicolas-p a35924d1a8 Move vivid colour in Browser header
To go with the green header in the Walker.
2015-08-16 07:53:27 -07:00
nicolas-p b8b3362fa0 Labeled: added colour lines, framed labeled and fixed keyboard focus
Colours lines are all yellow at the moment. This will  change later.
2015-08-16 07:53:27 -07:00
nicolas-p 67afaa5bce Fixed USING: (again) 2015-08-16 07:53:27 -07:00
nicolas-p 09f68f7a98 Traceback and Walker now use the new labeled gadget 2015-08-16 07:53:27 -07:00
nicolas-p 06fa803cca Fixed USING: 2015-08-16 07:53:27 -07:00
nicolas-p f99f32a990 New labeled gadget
The new labeled gadget is not a frame anymore.
2015-08-16 07:53:27 -07:00
nicolas-p 38447c276a Restoring the "add-" prefix 2015-08-16 07:53:27 -07:00
nicolas-p 249bd99400 Toolbar, lines and margins used in listener and browser 2015-08-16 07:53:27 -07:00
nicolas-p 265a855217 Common margins for all panes
(Is this the right place to put it?)
2015-08-16 07:53:26 -07:00
nicolas-p 8c0fbca360 New lines dictionary
To draw 1-px grey lines between panes
2015-08-16 07:53:26 -07:00
nicolas-p c75f6155cf New toolbar dictionary 2015-08-16 07:53:26 -07:00
nicolas-p eb21e05fef Revert "solid-underlined"
This reverts commit 7e4450776d935a94e1cc013f18b9818ac9af91cd.
2015-08-16 07:53:26 -07:00
nicolas-p 9991aa2f3b New labeled block images
Using grey85 (217 217 217)
2015-08-16 07:53:26 -07:00
nicolas-p 656afe2ebd New menu border images 2015-08-16 07:53:26 -07:00
nicolas-p a0bc138465 Menu border
Added 3 px to menu borders.
2015-08-16 07:53:26 -07:00
nicolas-p ae9b9b59eb Use colour constants 2015-08-16 07:53:25 -07:00
nicolas-p 376eb20f8b Browser improvements
Browser with a unified toolbar and a header that is always visible. The
prev/next buttons are moved to the bottom of the page.
2015-08-16 07:53:25 -07:00
nicolas-p 1371cb4090 Margins
Margins increased in the listener and status bar.
2015-08-16 07:53:25 -07:00
nicolas-p bf74e394ba Unified toolbar
New toolbar with a grey background.
2015-08-16 07:53:25 -07:00
nicolas-p 8a1c75fbed solid-underlined
New pen that acts like solid but only draws the bottom border
2015-08-16 07:53:25 -07:00
nicolas-p d1594a60db Transparent buttons
Transparent button backgrounds (for the unified toolbar)
2015-08-16 07:53:25 -07:00
nicolas-p 8d9c14ae04 New scrollbars 2015-08-16 07:53:25 -07:00
nicolas-p a246a33c3e New scrollbars
The scrollbar background is now transparent and the scrollbars are
thinner.
2015-08-16 07:53:25 -07:00
John Benediktsson 6e5a29b665 core-foundation.launch-services: use <c-array>. 2015-08-15 22:03:38 -07:00
John Benediktsson 10c4fce077 classes.struct: rename (init-struct) to init-struct. 2015-08-15 21:40:39 -07:00
John Benediktsson f6a9175b2e cpu.x86.features: use <c-array>. 2015-08-15 21:37:55 -07:00
Doug Coleman 886935f5d7 bootstrap.image: rename ' to prepare-object. it doesn't actually output the object, unlike what the comment said. 2015-08-15 21:21:03 -07:00
Doug Coleman be82224fe9 peg: 'convention' -> convention-parser for Factor word names. In EBNF DSL, 'convention' is obviously still allowed. 2015-08-15 18:10:52 -07:00
John Benediktsson 2bb93f1b72 furnace.actions: return Method Not Allowed if not GET/HEAD/POST. 2015-08-15 16:57:40 -07:00
John Benediktsson 43aa46384c grouping: make the $example, not $unchecked-example. 2015-08-14 21:30:57 -07:00
John Benediktsson 04ec78831d grouping: simplify since we always slice. 2015-08-14 21:12:28 -07:00
Björn Lindqvist 883f65d0e4 VM: fix one callstack overflow problem by "unlocking" the callstacks
border pages

Also a new vocab compiler.tests.callstack-overflow which is supposed to
contain all tests for callstack overflow-related problems.
2015-08-14 20:19:58 -07:00
Björn Lindqvist 50822c1a8a vm: add def for the segment struct, it's useful for testing 2015-08-14 20:19:56 -07:00
Björn Lindqvist 9413f711b9 VM: the JIT_PROFILING special object is never used, so rename it to
JIT_UNUSED (removing it breaks boot images)
2015-08-14 20:19:53 -07:00
Björn Lindqvist dbb045e2cd bootstrap.image: better to use the special-object-count constant from kernel.private 2015-08-14 20:19:53 -07:00
Björn Lindqvist 8c70f04d41 bootstrap.image: bs-special-objects -> special-objects,
bootstrap.image.syntax vocab not needed anymore
2015-08-14 20:19:53 -07:00
Björn Lindqvist 2b3989f3c9 bootstrap.assembler.*: convert the other assembly files to the new
jit-define system
2015-08-14 20:19:52 -07:00
Björn Lindqvist 9cf36e3dc2 bootstrap.image: attempt to remove the SPECIAL-OBJECT: table
Instead of using newly defined words as keys to the special-objects
hash being built, you can reuse the constants in kernel.private
2015-08-14 20:19:52 -07:00
Björn Lindqvist bdc4880b17 compiler.cfg.save-contexts: context-save-needed not needed because it's
the same as gc-map-insn
2015-08-14 20:19:51 -07:00
John Benediktsson 3e9d80edf1 windows.directx.dinput.constants: simplify uninitialize. 2015-08-14 19:51:52 -07:00
Doug Coleman 5ba44b37bc windows.errors: fix bootstrap 2015-08-13 23:07:32 -07:00
John Benediktsson 02b8a051f0 fix for bad renames. 2015-08-13 19:08:05 -07:00
Doug Coleman 38f3450519 compiler: fix D. 2015-08-13 18:15:25 -07:00