-* set local variables in config, have them appear in shell
-* getting the menu to NOT have leading quotes
- -> important for removing passwords if accidentally typed
-* improve library usage of executables
-* interprocess communication
- -> sharing of variables between chitin processes
-* remove trailing whitespace from lines somehow. maybe as a final transformation when you hit enter?
-* `other_ls = method(:ls)` would be cool. note that ls is mapped to a binary and is not actually a method
-* pass environment to child processes
-* tab complete ruby/shell things
-* post_processing for shell commands
- -> make it asynchronous and use pipes
+o fill in Runnable#secure_run and #secure_raw_run
-* menu doesn't erase itself sometimes
- -> cat and tabcomplete a file that is empty. output is correct but confusing
-* does not play nice with GDB if it is called within the bash profile file
-* ^C on running ruby programs kills the whole interpreter... womp.
-* `include Math; sin(5)` fails
-* Why do you have to do @line = '' in Coolline in order to not affect the
- history? History calls el.dup which creates a new object. It shouldn't
- matter if I do @line.clear on the original.
# I'm leaving this here so that I know what went down in this
- # battlefield. I tried automatically expanding globs, but that
- # in conjunction with * means things get expanded twice, resulting
- # in a lot of duplicates.
+ # battlefield. I tried automatically expanding FileObject globs, but
+ # that in conjunction with * means things get expanded twice,
+ # resulting in a lot of duplicates.
# Maybe an answer is to get rid of * and only do automatic expansion
res = [res] unless Array === res
res[:wait] unless res[:bg]
else # else it's a standard ruby type (or a pipe returning as such)
if Pipe === res || StringMethod === res
+ val = res[:raw_run]