Commit Graph

13042 Commits (c09312d88164458f17cd44cc40602fa6f342cff2)

Author SHA1 Message Date
Björn Lindqvist 9df955e199 compiler.cfg.*: big changes which removes the last basic-block uses
All intrinsic code generating words signatures are changed from ( node
-- ) to ( block node -- block' ) so the current block is now always
passed on the stack.
2016-03-09 23:24:42 +01:00
Björn Lindqvist 482998974b compiler.cfg.*: more refactoring to remove basic-block get:s
Now almost all words pass around the current basic block on the
stack. Left is updating all intrinsics.
2016-03-09 23:24:42 +01:00
Björn Lindqvist f9c6d7cc43 compiler.cfg.*: changes to remove basic-block variable
The emit-node generics signature is changed to ( block node -- block' )
so that it always returns the next block to operate on. Signature for a
lot of related words are changed similarily. Now there is only a few
basic-block usages left.
2016-03-09 23:24:42 +01:00
Björn Lindqvist 07adc2ecae compiler.cfg.*: changed generic emit-node to take the current block as
stack parameter

The idea is to eventually completely remove the basic-block dynamic
variable from cfg construction.
2016-03-09 23:24:42 +01:00
Benjamin Pollack 915a7ec1e2 Make VSC work on OS X again
`-r` isn't an argument to `open`, and `-n` seems exactly the opposite of what
we want in most circumstances.
2016-03-09 13:23:50 -05:00
Doug Coleman a1e3476617 tools.deploy: increase sizes for linux32 2016-03-08 16:36:45 -08:00
Jon Harper 43be523e31 math.statistics, add docs for cum-sum0, add cum-product1 for symmetry 2016-03-08 13:41:54 -08:00
Jon Harper cb6ddb1735 rename math.statistics:cum-map to sequences:accumulate* 2016-03-08 13:41:54 -08:00
Doug Coleman a4804621af windows openssl, libtls: Use the libressl dlls for SSL.
http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/
http://downloads.factorcode.org/dlls/
libcrypt-37.dll
libssl-38.dll
libtls-10.dll
2016-03-08 12:48:45 -08:00
Doug Coleman a1f3378365 io.sockets: Default make-sockaddr-outgoing to make-sockaddr. 2016-03-08 09:21:49 -08:00
Jon Harper cac9b58f11 formatting, format numbers with C locale and document that it's english only 2016-03-08 07:55:25 -08:00
Jon Harper 19fadb6c96 prettyprinter, locale independant float printing 2016-03-08 07:55:25 -08:00
Doug Coleman 3cd2775855 io.sockets.unix: Fix ipv6 sends for udp on osx. 2016-03-08 04:46:26 -08:00
Doug Coleman a12a56f777 io.sockets: Special-case 0.0.0.0 and f for outgoing sockets so we can use
them on windows. Add some tests that shouldn't fail. Fixes #85.
2016-03-08 02:27:01 -08:00
Doug Coleman 027a9fb1a2 io.sockets: Fix send-once for inet6. 2016-03-07 16:58:56 -08:00
Doug Coleman 05a8ac2423 Revert "io.sockets: Windows doesn't recognize 0.0.0.0. Add a method for"
This reverts commit 2c82dfb51b.
2016-03-07 14:31:40 -08:00
Doug Coleman 2c82dfb51b io.sockets: Windows doesn't recognize 0.0.0.0. Add a method for
resolve-localhost for Windows, and make the default ipv4 make-sockaddr use
127.0.0.1 since we are making a sockaddr for ipv4 anyway and 127.0.0.1 is
cross-platform. Fixes #85.
2016-03-07 14:07:01 -08:00
Doug Coleman 253de1dc8e editors.visual-studio-code: msft changed the install directory to
c:\program files (x86). Now we don't need the platform-specific windows
file.
Also, add -r option to reuse existing windows.
2016-03-07 13:23:24 -08:00
Doug Coleman 334cc880ec io.standard-paths.windows: We call >lower on the paths being compared, but
not on the original file we are looking for. So searching for something
like "Code.exe" would never find it. Fixed.
2016-03-07 13:21:30 -08:00
Doug Coleman 0f994c9924 alien.syntax: Add ENUM: example with c basetype. 2016-03-05 15:34:15 -08:00
John Benediktsson ee134373f0 ip-parser: some cleanup, move ipv6 parsing here. 2016-03-05 09:51:37 -08:00
Benjamin Pollack efd22a668f Import a few extra JSON tests from Jansson
Fixes #1189
2016-03-05 07:03:12 -08:00
Benjamin Pollack e707374085 Make <inet4> and <ipv4> use ip-parser:parse-ipv4
Fixes #1209
2016-03-05 09:11:56 -05:00
Doug Coleman a303637850 io.sockets.secure.windows: Try to fix compile error. 2016-03-05 02:57:39 -08:00
Benjamin Pollack 37f047c1df Allow specifying vocabulary roots on the command line
Fixes #1498
2016-03-04 10:51:21 -08:00
Benjamin Pollack 9a4fc29c07 Use proper SI prefixes in memory flag docs 2016-03-04 10:48:21 -08:00
Doug Coleman c077ee91e9 openssl: More ciphers. 2016-03-04 18:42:35 +00:00
Doug Coleman 46c9143232 openssl: call SSL_CTX_set_ecdh_auto() for forward secrecy. 2016-03-04 10:05:09 -08:00
Doug Coleman 777528fd40 openssl.libssl: Add more constants. 2016-03-04 10:05:02 -08:00
Doug Coleman 0bfe6ff826 openssl: support more protocols for forward secrecy. 2016-03-04 09:19:08 -08:00
Doug Coleman 3576c0930c openssl: Prefer tls1.2. Only use secure ciphers. 2016-03-04 09:15:12 -08:00
Doug Coleman 27b954f95b alien.libraries: Add a way to see if a dll has a function. 2016-03-04 09:14:49 -08:00
Doug Coleman d0616c5fa8 command-line: More consistent command-line docs, fix MB -> kb for callback heap size 2016-03-03 17:28:53 -08:00
Doug Coleman 5813e8384e command-line.startup: document more command line flags. we already have -nosignals, but it was hidden in the source code. Fix spacing for default image. Closes #1514. 2016-03-03 17:16:39 -08:00
Doug Coleman 2af988eca2 urls: fix docs 2016-03-03 16:15:11 -08:00
Doug Coleman 9d563dc2fe urls: fix unit test 2016-03-03 14:21:12 -08:00
Benjamin Pollack e83e791a7a Do not attempt to set an SNI hostname on a server 2016-03-03 13:58:31 -08:00
Benjamin Pollack 3fda77dbe8 Add an SNI-based http.client test 2016-03-03 09:48:20 -08:00
Benjamin Pollack 62d1425971 Add SNI support to Factor
Fixes #1527
2016-03-03 09:48:20 -08:00
Jon Harper 490523e732 docs, smpt-gmail: fix for people not using 2FA + formatting 2016-03-02 10:14:15 -08:00
Benjamin Pollack bfd656df17 Dump everything before TLSv1
All versions of SSL are deprecated and have major security issues. Just
kill the whole thing. If you want to deliberately expose yourself to
POODLE, you can do it on your own time.
2016-03-01 19:43:06 -05:00
Doug Coleman 3f07cbd194 io.sockets.secure.openssl: Nuke RSA. 2016-03-01 14:02:47 -08:00
Doug Coleman b1e0ba1edd alien.syntax: Fix CALLBACK: syntax again in another place 2016-03-01 13:07:37 -08:00
Doug Coleman 72be6bf9b7 alien.syntax: Fix docs for CALLBACK: (no semi) 2016-03-01 12:42:17 -08:00
Björn Lindqvist b0a201165a bootstrap.image: docs 2016-03-01 17:32:43 +01:00
Björn Lindqvist 5663d39a76 compiler.*: more docs 2016-02-28 01:01:38 +01:00
Doug Coleman 57c01ce863 unix.linux.proc: add bugs line. 2016-02-27 00:28:58 +00:00
John Benediktsson 6af99c3c21 Fix "doesnt" typo. 2016-02-26 08:56:25 -08:00
Doug Coleman 0945303dc5 editors.visual-studio-code: Try to find ``Code`` executable on linux. 2016-02-23 18:45:25 -08:00
Doug Coleman 03e8f4bc19 openssl.libssl: Add some more constants. Move things around a little and add SSL_ctrl() binding. 2016-02-23 18:24:41 -08:00
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