Commit Graph

12768 Commits (b87dd9f6cb40efbccb32bab8485e361532eb49d7)

Author SHA1 Message Date
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