Go to file
Timothy Sample 4ef6907851 Globalize the environment module
Instead of passing around references to the environment, just treat it
as a global.  The old way was just the remains of an idea to make the
environment immutable and keep the interpreter from manipulating any
global state.  By making everything global and mutable, we will have
less impedance mismatch with POSIX going forward.

The following changelog is only a sketch, since nearly every function
has changed.

* geesh/environment.scm: Replace this module with one that treats the
environment as a global resource.
* tests/environment.scm: Delete file.
* Makefile.am: Remove it from the list of tests.
* geesh/shell.scm, geesh/eval.scm, geesh/repl.scm, geesh/word.scm,
geesh/built-ins/break.scm, geesh/built-ins/continue.scm,
geesh/built-ins/echo.scm, geesh/built-ins/export.scm,
geesh/built-ins/false.scm, geesh/built-ins/read.scm,
geesh/built-ins/readonly.scm, geesh/built-ins/set.scm,
geesh/built-ins/true.scm, geesh/built-ins/unset.scm: Remove 'env'
parameters and use the new environment module.
* .dir-locals.el: Update indentation of functions that no longer take
an 'env' parameter and add with-arguments, with-environ, and
with-variables from the new environment module.
* tests/shell.scm, tests/word.scm: Update environment creation and
manipulation in tests.
2018-12-05 16:08:09 -05:00
build-aux Add a CI script for GitLab 2018-11-28 21:55:22 -05:00
doc Rename '<sh-pipe>' to '<sh-pipeline>' 2018-07-19 01:19:00 -04:00
geesh Globalize the environment module 2018-12-05 16:08:09 -05:00
scripts Initial commit 2018-01-31 14:52:05 -05:00
tests Globalize the environment module 2018-12-05 16:08:09 -05:00
tools Initial commit 2018-01-31 14:52:05 -05:00
.dir-locals.el Globalize the environment module 2018-12-05 16:08:09 -05:00
.gitignore Add Oil shell specification tests 2018-12-05 16:06:14 -05:00
COPYING Initial commit 2018-01-31 14:52:05 -05:00
Makefile.am Globalize the environment module 2018-12-05 16:08:09 -05:00
README Initial commit 2018-01-31 14:52:05 -05:00
bootstrap Initial commit 2018-01-31 14:52:05 -05:00
configure.ac Add Oil shell specification tests 2018-12-05 16:06:14 -05:00
guix.scm Initial commit 2018-01-31 14:52:05 -05:00
pre-inst-env.in Initial commit 2018-01-31 14:52:05 -05:00

README

Geesh is a shell interpreter written in Guile Scheme.