git.annexia.org
/
goals.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
stdlib: Implement last() and nth() functions.
[goals.git]
/
src
/
eval.ml
diff --git
a/src/eval.ml
b/src/eval.ml
index
59f4ca4
..
3363eef
100644
(file)
--- a/
src/eval.ml
+++ b/
src/eval.ml
@@
-190,7
+190,7
@@
and prepare_code env loc (code, quiet) =
let code = to_shell_script env loc code in
"source " ^ Filename.quote Cmdline.prelude_sh_file ^ "\n" ^
"set -e\n" ^
let code = to_shell_script env loc code in
"source " ^ Filename.quote Cmdline.prelude_sh_file ^ "\n" ^
"set -e\n" ^
- (if not quiet then "set -x\n" else "") ^
+ (if not
(Cmdline.silent ()) && not
quiet then "set -x\n" else "") ^
"\n" ^
code
"\n" ^
code
@@
-278,6
+278,10
@@
and call_function_really env loc name returning code =
let r, b = run_code_to_string env loc code in
if r <> 0 then
failwithf "function ā%sā failed with exit code %d" name r;
let r, b = run_code_to_string env loc code in
if r <> 0 then
failwithf "function ā%sā failed with exit code %d" name r;
+ (* Remove a single trailing \n if present. *)
+ let b =
+ let len = String.length b in
+ if len > 0 && b.[len-1] = '\n' then String.sub b 0 (len-1) else b in
Ast.EConstant (loc, Ast.CString b)
| RetStrings ->
Ast.EConstant (loc, Ast.CString b)
| RetStrings ->