Commit Graph

9 Commits

Author SHA1 Message Date
Eli Barzilay
8109299ec8 Improve macro stepper output, and some more ,stx outputs. 2011-07-19 16:39:15 -04:00
Eli Barzilay
f5e53de4d9 XREPL tests.
Not too much, but already tests large parts of sensitive code.  Caught a
bug where ,top would use (enter! #f) but enter grabbed the wrong
namespace since it was instantiated in the wrong namespace.
2011-07-19 16:39:15 -04:00
Eli Barzilay
09c8880ea0 Fix reading a 'line argument: always succeeds and returns the line as-is. 2011-07-18 15:39:18 -04:00
Eli Barzilay
261288c394 Add $F for ,sh commands. 2011-07-18 15:34:31 -04:00
Eli Barzilay
c57ab7b4fc Lots of improvements:
* Rename `make-command-{reader,evaluator}' ->  `make-xrepl-{reader,evaluator}'

* Move the commented-out ,meta block to a better place

* Protect the prompt computation against errors, to avoid infinite
  exception output if an exception is raised.

* Add ",switch ?" to query namespaces, and ",switch - <name>" to remove
  one.  Forbid resetting the default initial `*' namespace.

* Clarify that multiple arguments can be sent to ,stx and fix it to
  display the current syntax when there are no arguments.

* Various minor typos and improvements.

* Restore the use-last-arguments-by-default functionality of ,rr

* Re-do argument reading to make it easier to have a default
  argument (as in ,enter and ,edit).
2011-07-18 14:25:10 -04:00
Eli Barzilay
3f8bb7a453 Rename prompt-shown' -> zero-column!', and use it only in the
non-readline reader.  Use line reading for ,install!.
2011-07-18 14:25:10 -04:00
Eli Barzilay
95f6eb4f3e Use the new `set-port-next-location!' instead of the previous hack.
(But something might still be off -- I thought that its use in readline
would render the whole thing redundant.)
2011-07-14 17:21:46 -04:00
Eli Barzilay
db7f2b4542 Add a new #:dont-re-require-enter' flag for enter!', to avoid
requiring itself into the entered namespace.

This makes it useful in some cases where this require leads to a
dependency cycle, eg (enter! racket/list).  It's obviously not useful
for use as-is, since you will not have a bound `enter!' to get out of
the namespace (and possibly no `require' to get it) -- but it is useful
for meta-tools like xrepl.  This is why the flag is verbose.  `xrepl'
now uses this flag.

Also, the check for valid keywords for the form is now done at runtime
rather than in the macro.  This doesn't matter in this case, since the
form is intended for interactive use anyway.

Also, separate the two parts of `enter-load/use-compiled' (it was
defined curried, but didn't use it).
2011-07-14 17:21:46 -04:00
Eli Barzilay
c544ebfe6c New `xrepl' collection. 2011-07-14 17:21:46 -04:00