]> gitweb.factorcode.org Git - factor.git/log
factor.git
5 years agowindows.dragdrop-listener: cleanup using.
John Benediktsson [Fri, 22 Mar 2019 02:54:06 +0000 (19:54 -0700)]
windows.dragdrop-listener: cleanup using.

5 years agoio.directories.search: a better fix for the linux entry ordering issue.
John Benediktsson [Fri, 22 Mar 2019 02:36:05 +0000 (19:36 -0700)]
io.directories.search: a better fix for the linux entry ordering issue.

5 years agoRevert "io.directories.search: Fix the order of the depth/breadth traversals."
John Benediktsson [Fri, 22 Mar 2019 02:23:13 +0000 (19:23 -0700)]
Revert "io.directories.search: Fix the order of the depth/breadth traversals."

This reverts commit c3cfc177cd4e781acea9fccd7c1136f7ad261738.

5 years agolibc.freebsd: platforms.txt not platform.txt
Doug Coleman [Fri, 22 Mar 2019 00:52:07 +0000 (19:52 -0500)]
libc.freebsd: platforms.txt not platform.txt

Fixes linux bootstrap

5 years agoio.directories.search: Fix the order of the depth/breadth traversals.
Doug Coleman [Fri, 22 Mar 2019 00:41:26 +0000 (19:41 -0500)]
io.directories.search: Fix the order of the depth/breadth traversals.

This unit test kind of sucks.

5 years agowindows.dragdrop-listener: Fix using
Doug Coleman [Thu, 21 Mar 2019 23:38:47 +0000 (18:38 -0500)]
windows.dragdrop-listener: Fix using

5 years agotravis: Add required packages.
Doug Coleman [Thu, 21 Mar 2019 23:31:22 +0000 (18:31 -0500)]
travis: Add required packages.

==== FAILING TESTS

5 years agoregexp: try again to fix the issue with backslashes.
John Benediktsson [Thu, 21 Mar 2019 20:29:15 +0000 (13:29 -0700)]
regexp: try again to fix the issue with backslashes.

the new simple rule is inside R/ syntax all backslashes should be
escaped to allow easy regexp literal tokenization:

R/ [\/]/

but in the constructor <regexp> they shouldn't be:

"[/]" <regexp>

When the regexp is prettyprinted we make sure to visually escape the
backslashes in the raw regexp.

5 years agoRevert "crontab: instead of after= make it after."
John Benediktsson [Thu, 21 Mar 2019 17:55:22 +0000 (10:55 -0700)]
Revert "crontab: instead of after= make it after."

This reverts commit a3d5e3ffcb8ff60ec16c3bf8cadda4aa02300609.

5 years agoRevert "regexp: fix take-until to handle escapes at the end of a regexp."
John Benediktsson [Mon, 18 Mar 2019 17:42:40 +0000 (10:42 -0700)]
Revert "regexp: fix take-until to handle escapes at the end of a regexp."

This reverts commit 2136abc1d64705805c5274337a799077f4b317e4.

5 years agoRevert "regexp: slightly more complicated tokenization to handle another case."
John Benediktsson [Mon, 18 Mar 2019 17:42:29 +0000 (10:42 -0700)]
Revert "regexp: slightly more complicated tokenization to handle another case."

This reverts commit 9f0bce762259878c63d15ef171c17931276c066e.

5 years agoRevert "globs: simpler separator regexp."
John Benediktsson [Mon, 18 Mar 2019 17:42:23 +0000 (10:42 -0700)]
Revert "globs: simpler separator regexp."

This reverts commit 31f309a829160c52854cefeb86a0b6a85937b2e8.

5 years agoglobs: simpler separator regexp.
John Benediktsson [Sun, 17 Mar 2019 20:13:27 +0000 (13:13 -0700)]
globs: simpler separator regexp.

5 years agoregexp: slightly more complicated tokenization to handle another case.
John Benediktsson [Sun, 17 Mar 2019 20:12:41 +0000 (13:12 -0700)]
regexp: slightly more complicated tokenization to handle another case.

R/ [^/]/
R/ (/|abc)/

5 years agoio.sockets: fix for inet6 too.
Doug Coleman [Sun, 17 Mar 2019 17:23:34 +0000 (12:23 -0500)]
io.sockets: fix for inet6 too.

"::1" 0 <inet4> utf8 <server>
"::1" f <inet4> utf8 <server>

Fixes #2109

5 years agoio.sockets: Allow f in the port of an inet4.
Doug Coleman [Sun, 17 Mar 2019 17:12:04 +0000 (12:12 -0500)]
io.sockets: Allow f in the port of an inet4.

Fixes #2019.

5 years agoregexp: fix take-until to handle escapes at the end of a regexp.
John Benediktsson [Sun, 17 Mar 2019 16:52:53 +0000 (09:52 -0700)]
regexp: fix take-until to handle escapes at the end of a regexp.

this worked:
R\ //.\

this didn't:
R\ //\

5 years agocrontab: instead of after= make it after.
John Benediktsson [Sun, 17 Mar 2019 16:24:16 +0000 (09:24 -0700)]
crontab: instead of after= make it after.

5 years agoio.files.windows: Reloading io.pathnames overwrites these two object
Doug Coleman [Sun, 17 Mar 2019 15:00:07 +0000 (10:00 -0500)]
io.files.windows: Reloading io.pathnames overwrites these two object
methods.

Make them windows methods instead.

5 years agowindows: Add all shell32 function stubs. Add more com.
Doug Coleman [Sun, 17 Mar 2019 02:24:12 +0000 (21:24 -0500)]
windows: Add all shell32 function stubs. Add more com.

5 years agocrontab: avoid next-time being minutes in the past.
John Benediktsson [Sun, 17 Mar 2019 15:55:36 +0000 (08:55 -0700)]
crontab: avoid next-time being minutes in the past.

5 years agoparser: use ?first.
John Benediktsson [Sun, 17 Mar 2019 03:33:40 +0000 (20:33 -0700)]
parser: use ?first.

5 years agoui.tools.listener: use ?first.
John Benediktsson [Sun, 17 Mar 2019 03:33:16 +0000 (20:33 -0700)]
ui.tools.listener: use ?first.

5 years agoio.directories.search: fix traversal test case cross-platform issues.
John Benediktsson [Sun, 17 Mar 2019 03:29:19 +0000 (20:29 -0700)]
io.directories.search: fix traversal test case cross-platform issues.

on Linux and macOS mojave they entries might traverse (a,c,b)
instead of (a,b.c) so we preserve the traversal method order
but sort for cross-platform testing.

5 years agogeneralizations: fix funny mnapply/nspread* bug for n > 3.
John Benediktsson [Sun, 17 Mar 2019 02:58:07 +0000 (19:58 -0700)]
generalizations: fix funny mnapply/nspread* bug for n > 3.

It accidentally worked for n <= 3, now it purposefully works.

5 years agomodels.delay: use restart-timer, it should actually be working.
John Benediktsson [Sat, 16 Mar 2019 23:56:05 +0000 (16:56 -0700)]
models.delay: use restart-timer, it should actually be working.

5 years agocrontab: cleanup empty lines differently.
John Benediktsson [Sat, 16 Mar 2019 23:48:41 +0000 (16:48 -0700)]
crontab: cleanup empty lines differently.

5 years agobuild.sh: add compile/recopile to docs
Doug Coleman [Sat, 9 Mar 2019 03:35:53 +0000 (21:35 -0600)]
build.sh: add compile/recopile to docs

5 years agodebian: Don't install gcc g++ on debian.
Doug Coleman [Sat, 9 Mar 2019 03:08:26 +0000 (21:08 -0600)]
debian: Don't install gcc g++ on debian.

gmake assumes default CC is cc, CXX is g++ (not c++).
In order to make this sane (c++), we check if the shell variable CXX was set
and if so we honor it, else we set CXX to c++.

5 years agomachine-learning.data-sets: Load mnist data.
Doug Coleman [Sat, 2 Mar 2019 05:14:59 +0000 (23:14 -0600)]
machine-learning.data-sets: Load mnist data.

5 years agohacker-news: Add more endpoints to api.
Doug Coleman [Sat, 2 Mar 2019 04:26:14 +0000 (22:26 -0600)]
hacker-news: Add more endpoints to api.

5 years agomath.functions: add logit function and a test.
Doug Coleman [Sun, 24 Feb 2019 17:04:27 +0000 (11:04 -0600)]
math.functions: add logit function and a test.

sigmoid is known as expit in scipy

5 years agomake: We don't need the flag.
Doug Coleman [Sat, 23 Feb 2019 23:46:28 +0000 (17:46 -0600)]
make: We don't need the flag.

5 years agobuild.sh: Remove debug..
Doug Coleman [Sat, 23 Feb 2019 22:41:20 +0000 (16:41 -0600)]
build.sh: Remove debug..

5 years agovm: Fix DEBUG flag, make REPRODUCIBLE work like debug, minor fixes to build.sh
Doug Coleman [Sat, 23 Feb 2019 22:17:58 +0000 (16:17 -0600)]
vm: Fix DEBUG flag, make REPRODUCIBLE work like debug, minor fixes to build.sh

- ``make DEBUG=0`` caused debug mode because the check was ``ifdef DEBUG`` which is true even if DEBUG=0
- no need to ``#pragma message`` that we are doing a reproducible build imo
- clang warns about redefining builtin macros, turn the warning off for reproducible builds
- add ``./build.sh info`` as an alias for ``./build.sh report``
- show if we a reproducible in report/info

5 years agovm/master.hpp: optional reproducible VM compilation 2115/head
Cat Stevens [Wed, 20 Feb 2019 19:29:32 +0000 (14:29 -0500)]
vm/master.hpp: optional reproducible VM compilation

The old behaviour of building with `__DATE__` and
    `__TIME__` is still the default, but now it's
    possible to use `-DREPRODUCIBLE=1` and the
    `REPRODUCIBLE=1` parameter to `make` and `nmake`.

Specifically, this replaces the value of
    `FACTOR_COMPILE_TIME` with the string constant
    `"[reproducible]"`. This is purely a cosmetic
    change.

5 years agounix.kqueue: fix platforms.
Doug Coleman [Mon, 11 Feb 2019 04:18:34 +0000 (22:18 -0600)]
unix.kqueue: fix platforms.

5 years agoremove useless structure definition 2113/head
Jack Lucas [Sun, 10 Feb 2019 16:04:48 +0000 (11:04 -0500)]
remove useless structure definition

5 years agoFix stat so io test will finish
Jack Lucas [Sun, 10 Feb 2019 16:01:31 +0000 (11:01 -0500)]
Fix stat so io test will finish

5 years agotype name consistency
Jack Lucas [Sun, 10 Feb 2019 08:28:28 +0000 (03:28 -0500)]
type name consistency

5 years agoFix stat declarations, function: names, and dirent structure in ffi.freebsd
Jack Lucas [Sun, 10 Feb 2019 08:24:34 +0000 (03:24 -0500)]
Fix stat declarations,  function: names, and dirent structure in ffi.freebsd

5 years agovm: Add freebsd32 support for completeness.
Doug Coleman [Sat, 9 Feb 2019 19:39:25 +0000 (19:39 +0000)]
vm: Add freebsd32 support for completeness.

We need gmake on freebsd.

5 years agobasis: Load images.{tiff,png} by default for FreeBSD. Add platforms back.
Doug Coleman [Sat, 9 Feb 2019 18:50:15 +0000 (18:50 +0000)]
basis: Load images.{tiff,png} by default for FreeBSD. Add platforms back.

5 years agoconfig.freebsd: Link the UI libraries into the Factor VM.
Doug Coleman [Sat, 9 Feb 2019 18:49:29 +0000 (18:49 +0000)]
config.freebsd: Link the UI libraries into the Factor VM.

This should happen for other BSD platforms as well.

5 years agobuild.sh: Add a compile option to compile only.
Doug Coleman [Sat, 9 Feb 2019 18:48:42 +0000 (18:48 +0000)]
build.sh: Add a compile option to compile only.

Invoking ``gmake`` only should work, but it uses g++ on OpenBSD instead of clang++. We should fix this.

5 years agoFix typo in monitor file
Jack Lucas [Sat, 9 Feb 2019 23:43:51 +0000 (18:43 -0500)]
Fix typo in monitor file

5 years agoFix monitor errors on startup
Jack Lucas [Sat, 9 Feb 2019 23:38:20 +0000 (18:38 -0500)]
Fix monitor errors on startup

5 years agovm: Use the old FreeBSD os-freebsd.cpp so we don't need procfs installed (it's not...
Doug Coleman [Fri, 8 Feb 2019 22:01:12 +0000 (22:01 +0000)]
vm: Use the old FreeBSD os-freebsd.cpp so we don't need procfs installed (it's not mounted by default).

5 years agobuild.sh: Use gmake on FreeBSD and specify the number of cores.
Doug Coleman [Fri, 8 Feb 2019 21:21:53 +0000 (21:21 +0000)]
build.sh: Use gmake on FreeBSD and specify the number of cores.

5 years agoFix merge error
Jack Lucas [Sat, 9 Feb 2019 01:19:10 +0000 (20:19 -0500)]
Fix merge error

5 years agoRemove one mistaken author file
Jack Lucas [Sat, 9 Feb 2019 00:20:20 +0000 (19:20 -0500)]
Remove one mistaken author file

5 years agoRe-add Freebsd Support
Jack Lucas [Sat, 9 Feb 2019 00:17:30 +0000 (19:17 -0500)]
Re-add Freebsd Support

5 years agoulid-docs: format errors with $errors
Alexander Iljin [Wed, 2 Jan 2019 08:49:30 +0000 (09:49 +0100)]
ulid-docs: format errors with $errors

5 years agoprotocols.tftp: Fix some bugs.
Doug Coleman [Sun, 3 Feb 2019 23:09:34 +0000 (18:09 -0500)]
protocols.tftp: Fix some bugs.

- needed pack-be
- tftp clients seem to send an ACK even before receiving an error for a missing file
- handles directories now, "File not found"

to improve:
- use the client/server pair as a key maybe
- handle file writing
- throw errors that are not io-timeout once we have a cross-platform timeout error object

5 years agoassocs: Add ?delete-at.
Doug Coleman [Sun, 3 Feb 2019 19:51:59 +0000 (14:51 -0500)]
assocs: Add ?delete-at.

5 years agotftp: Implement a client/server for tftp.
Doug Coleman [Sun, 3 Feb 2019 18:37:56 +0000 (13:37 -0500)]
tftp: Implement a client/server for tftp.

The server needs to handle multiple clients. Refactoring...

5 years agopack: Implement write-c-string for tftp.
Doug Coleman [Sun, 3 Feb 2019 18:34:33 +0000 (13:34 -0500)]
pack: Implement write-c-string for tftp.

Ruby has hella more string directives we could implement:
https://apidock.com/ruby/Array/pack

5 years agohamurabi: fix #percent-died.
John Benediktsson [Mon, 28 Jan 2019 05:34:49 +0000 (21:34 -0800)]
hamurabi: fix #percent-died.

5 years agotools: Fix some issues and use base85.
Doug Coleman [Sat, 26 Jan 2019 11:49:03 +0000 (05:49 -0600)]
tools: Fix some issues and use base85.

5 years agobase85: simpler pad math.
John Benediktsson [Sat, 26 Jan 2019 15:14:09 +0000 (07:14 -0800)]
base85: simpler pad math.

5 years agobase85: change to not pad encoding, fix output bug.
John Benediktsson [Sat, 26 Jan 2019 05:14:11 +0000 (21:14 -0800)]
base85: change to not pad encoding, fix output bug.

5 years agobase85: fix a bug with accidental extra characters in alphabet.
John Benediktsson [Fri, 25 Jan 2019 03:21:00 +0000 (19:21 -0800)]
base85: fix a bug with accidental extra characters in alphabet.

5 years agomime.multipart: Simplify the code a bit.
Doug Coleman [Mon, 21 Jan 2019 21:08:07 +0000 (15:08 -0600)]
mime.multipart: Simplify the code a bit.

Fixes #2107

5 years agowebapps.planet: Trim using list.
Doug Coleman [Sat, 19 Jan 2019 16:07:29 +0000 (10:07 -0600)]
webapps.planet: Trim using list.

5 years agomath.blas.matrices: Fix for equal?
Doug Coleman [Sat, 19 Jan 2019 16:06:35 +0000 (10:06 -0600)]
math.blas.matrices: Fix for equal?

5 years agotimers: add test showing stopping timer doesn't stop a running quotation.
John Benediktsson [Wed, 16 Jan 2019 01:31:14 +0000 (17:31 -0800)]
timers: add test showing stopping timer doesn't stop a running quotation.

5 years agosyndication: Remove dead code I added on accident..
Doug Coleman [Sun, 13 Jan 2019 00:06:03 +0000 (18:06 -0600)]
syndication: Remove dead code I added on accident..

5 years agosyndication: Fix atom parsing.
Doug Coleman [Sat, 12 Jan 2019 23:52:55 +0000 (17:52 -0600)]
syndication: Fix atom parsing.

This is the problematic feed:
  https://rfc1149.net/blog/tag/factor/feed/

Here's the validator saying it's ok:
  https://validator.w3.org/feed/check.cgi?url=https%3A%2F%2Frfc1149.net%2Fblog%2Ftag%2Ffactor%2Ffeed%2F

5 years agoio.sockets: When we throw an error upon failing to resolve a host, report the host...
Doug Coleman [Sat, 12 Jan 2019 22:31:13 +0000 (16:31 -0600)]
io.sockets: When we throw an error upon failing to resolve a host, report the host name.

5 years agowebapps.pastebin: Fix quotation effect so deleting annotations works.
Doug Coleman [Sat, 12 Jan 2019 21:28:36 +0000 (15:28 -0600)]
webapps.pastebin: Fix quotation effect so deleting annotations works.

5 years agoio.serial: Fix using list.
Doug Coleman [Sat, 12 Jan 2019 16:43:34 +0000 (10:43 -0600)]
io.serial: Fix using list.

5 years agoio.monitors: cleanup using.
John Benediktsson [Fri, 11 Jan 2019 16:19:59 +0000 (08:19 -0800)]
io.monitors: cleanup using.

5 years agoheaps: cleanup using.
John Benediktsson [Fri, 11 Jan 2019 16:19:50 +0000 (08:19 -0800)]
heaps: cleanup using.

5 years agomodels.delay: cache the timer, bug with restart-timer.
John Benediktsson [Fri, 11 Jan 2019 05:41:34 +0000 (21:41 -0800)]
models.delay: cache the timer, bug with restart-timer.

5 years agoclasses.tuple: use integer>fixnum in tuple-hashcode.
John Benediktsson [Fri, 11 Jan 2019 05:39:24 +0000 (21:39 -0800)]
classes.tuple: use integer>fixnum in tuple-hashcode.

5 years agoio.streams.duplex: use >duplex-stream<.
John Benediktsson [Fri, 11 Jan 2019 04:35:32 +0000 (20:35 -0800)]
io.streams.duplex: use >duplex-stream<.

5 years agoio.serial: use io.streams.duplex:with-stream.
John Benediktsson [Fri, 11 Jan 2019 04:34:58 +0000 (20:34 -0800)]
io.serial: use io.streams.duplex:with-stream.

5 years agoheaps: fix minor doc typo.
John Benediktsson [Fri, 11 Jan 2019 00:47:45 +0000 (16:47 -0800)]
heaps: fix minor doc typo.

5 years agoheaps: simplify code a little, use locals to expose heap-delete logic.
John Benediktsson [Fri, 11 Jan 2019 00:44:22 +0000 (16:44 -0800)]
heaps: simplify code a little, use locals to expose heap-delete logic.

5 years agoheaps: add comments referring to pypy's heapq.py 2105/head
Jon Harper [Thu, 10 Jan 2019 20:50:50 +0000 (21:50 +0100)]
heaps: add comments referring to pypy's heapq.py

5 years agoheaps: fix heap delete: sometimes we need to sift-down
Jon Harper [Wed, 9 Jan 2019 17:43:40 +0000 (18:43 +0100)]
heaps: fix heap delete: sometimes we need to sift-down

5 years agoheaps.tests: remove dead code
Jon Harper [Wed, 9 Jan 2019 16:37:26 +0000 (17:37 +0100)]
heaps.tests: remove dead code

5 years agoheaps: check heap invariant during tests
Jon Harper [Wed, 9 Jan 2019 16:36:20 +0000 (17:36 +0100)]
heaps: check heap invariant during tests

5 years agoheaps: bring back data-compare as heapdata-compare
Jon Harper [Wed, 9 Jan 2019 19:18:30 +0000 (20:18 +0100)]
heaps: bring back data-compare as heapdata-compare

It is useful in several places. Change the name because
0d7233f2daa9c changed the convention and data-* words now
operate on the data directly

5 years agounits: Add exponentiation operator and a d-cube.
Doug Coleman [Sat, 5 Jan 2019 20:27:42 +0000 (14:27 -0600)]
units: Add exponentiation operator and a d-cube.

5 years agoFix bugs in heap-delete
Samuel Tardieu [Fri, 4 Jan 2019 15:15:45 +0000 (16:15 +0100)]
Fix bugs in heap-delete

When an entry is kept to be use later with `heap-delete`, its `index`
in the owning heap is automatically updated as the entry sifts up
or down.

However, if the entry is removed from the heap via either a `heap-pop`
or a `heap-delete` operation, its index is not invalidated and
the entry can still be used later with `heap-delete` and remove the
wrong element from the heap.

This patch invalidates entries when they leave the heap by setting
their index to `f`, and check the index in `entry>index`.

5 years agoryu: minor locals cleanup, don't use 5drop.
John Benediktsson [Fri, 4 Jan 2019 05:29:53 +0000 (21:29 -0800)]
ryu: minor locals cleanup, don't use 5drop.

5 years agoryu: faster and simpler using number>string for integer conversion.
John Benediktsson [Fri, 4 Jan 2019 05:13:55 +0000 (21:13 -0800)]
ryu: faster and simpler using number>string for integer conversion.

5 years agoryu: accept some lint vocab suggestions
Alexander Iljin [Thu, 3 Jan 2019 22:41:28 +0000 (23:41 +0100)]
ryu: accept some lint vocab suggestions

5 years agolint: add suggestion to replace "-roll -roll" with 2swap
Alexander Iljin [Thu, 3 Jan 2019 22:46:13 +0000 (23:46 +0100)]
lint: add suggestion to replace "-roll -roll" with 2swap

5 years agosyntax-docs: add a couple of missing CHAR: syntax examples
Alexander Iljin [Thu, 27 Dec 2018 13:57:12 +0000 (14:57 +0100)]
syntax-docs: add a couple of missing CHAR: syntax examples

5 years agodb.sqlite: make sure select-tuple throws sql-table-missing etc.
John Benediktsson [Thu, 3 Jan 2019 20:39:37 +0000 (12:39 -0800)]
db.sqlite: make sure select-tuple throws sql-table-missing etc.

5 years agobase32: adding Douglas Crockford's Base 32 encoding/decoding.
John Benediktsson [Thu, 3 Jan 2019 20:26:47 +0000 (12:26 -0800)]
base32: adding Douglas Crockford's Base 32 encoding/decoding.

5 years agodb.tuples[{-docs,-tests}]: add reject-tuples
Alexander Iljin [Mon, 24 Dec 2018 22:54:36 +0000 (23:54 +0100)]
db.tuples[{-docs,-tests}]: add reject-tuples

5 years agoulid: new vocab
Alexander Iljin [Tue, 1 Jan 2019 20:05:02 +0000 (21:05 +0100)]
ulid: new vocab

This corresponds to commit 1bd3b5681bf1ba7155a42e75a937ec4b2520a202 of the
original repository at https://github.com/AlexIljin/ulid.

5 years agoRevert "db.tuples[{-docs,-tests}]: add reject-tuples"
Doug Coleman [Mon, 31 Dec 2018 04:29:54 +0000 (22:29 -0600)]
Revert "db.tuples[{-docs,-tests}]: add reject-tuples"

This reverts commit 6cae2046b5df5ad975206a0eb09e3d64d56f9897.

5 years agodb.tuples[{-docs,-tests}]: add reject-tuples
Alexander Iljin [Mon, 24 Dec 2018 22:54:36 +0000 (23:54 +0100)]
db.tuples[{-docs,-tests}]: add reject-tuples

5 years agotools.directory-to-file: Fix using
Doug Coleman [Mon, 31 Dec 2018 01:20:39 +0000 (19:20 -0600)]
tools.directory-to-file: Fix using

5 years agoryu: add new vocab to convert double-precision floats to strings
Alexander Iljin [Mon, 31 Dec 2018 01:00:33 +0000 (02:00 +0100)]
ryu: add new vocab to convert double-precision floats to strings

This commit corresponds to commit 5e1591c3cbee3c667e400d936e924c0d25d55aeb
in the original repo https://github.com/AlexIljin/ryu (minus README.md).

5 years agodirectory-to-file: Better nested syntax.
Doug Coleman [Thu, 27 Dec 2018 22:56:20 +0000 (16:56 -0600)]
directory-to-file: Better nested syntax.