about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/librusti/rusti.rc12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/librusti/rusti.rc b/src/librusti/rusti.rc
index 90a5a350b7f..7d221ce3788 100644
--- a/src/librusti/rusti.rc
+++ b/src/librusti/rusti.rc
@@ -424,7 +424,7 @@ pub fn run_line(repl: &mut Repl, in: @io::Reader, out: @io::Writer, line: ~str,
         use std::iterator::IteratorUtil;
 
         // drop the : and the \n (one byte each)
-        let full = line.slice(1, line.len() - 1);
+        let full = line.slice(1, line.len());
         let split: ~[~str] = full.word_iter().transform(|s| s.to_owned()).collect();
         let len = split.len();
 
@@ -649,4 +649,14 @@ mod tests {
             f()
         ");
     }
+
+    #[test]
+    fn exit_quits() {
+        let mut r = repl();
+        assert!(r.running);
+        let result = run_line(&mut r, io::stdin(), io::stdout(),
+                              ~":exit", false);
+        assert!(result.is_none());
+        assert!(!r.running);
+    }
 }