summaryrefslogtreecommitdiffstats
path: root/src/gram.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/gram.y')
-rwxr-xr-xsrc/gram.y24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/gram.y b/src/gram.y
index e913454..a79e495 100755
--- a/src/gram.y
+++ b/src/gram.y
@@ -290,6 +290,7 @@ token S_YANKCOL
%token K_COPY_TO_CLIPBOARD_DELIMITED_TAB
%token K_NOCOPY_TO_CLIPBOARD_DELIMITED_TAB
%token K_DEFAULT_OPEN_FILE_UNDER_CURSOR_CMD
+%token K_IMPORT_DELIMITED_TO_TEXT
%token K_IGNORECASE
%token K_NOIGNORECASE
%token K_TM_GMTOFF
@@ -1118,7 +1119,7 @@ command:
| S_EVAL e {
struct roman * roman = session->cur_doc;
struct sheet * sh = roman->cur_sh;
- eval_result = eval(sh, NULL, $2);
+ eval_result = eval(sh, NULL, $2, 0);
efree($2);
}
| S_EXECUTE STRING {
@@ -1230,7 +1231,7 @@ command:
| S_SEVAL e {
struct roman * roman = session->cur_doc;
struct sheet * sh = roman->cur_sh;
- seval_result = seval(sh, NULL, $2); // always make sure this seval_result is always freed afterwards
+ seval_result = seval(sh, NULL, $2, 0); // always make sure this seval_result is always freed afterwards
efree($2);
}
| S_ERROR STRING { sc_error($2);
@@ -1240,12 +1241,15 @@ command:
| // nothing
| error {
sc_error("syntax error: %s", line);
- line[0]='\0';
+ YYABORT;
+
//linelim = 0;
//yyparse();
- linelim = -1;
- yyclearin;
- yyerrok;
+
+ //line[0]='\0';
+ //linelim = -1;
+ //yyclearin;
+ //yyerrok;
};
term: var {
@@ -1511,7 +1515,7 @@ var:
| '@' K_GETENT '(' e ',' e ')' {
struct roman * roman = session->cur_doc;
struct sheet * sh = roman->cur_sh;
- $$.vp = lookat(sh, eval(sh, NULL, $4), eval(sh, NULL, $6));
+ $$.vp = lookat(sh, eval(sh, NULL, $4, 0), eval(sh, NULL, $6, 0));
$$.vf = GET_ENT;
if ($$.expr != NULL) efree($$.expr);
$$.expr = new(GETENT, $4, $6);
@@ -1686,6 +1690,12 @@ setitem :
scxfree(s);
}
+ | K_IMPORT_DELIMITED_TO_TEXT { parse_str(user_conf_d, "import_delimited_to_text=1", TRUE); }
+
+ | K_IMPORT_DELIMITED_TO_TEXT '=' NUMBER
+ { if ($3 == 0) parse_str(user_conf_d, "import_delimited_to_text=0", TRUE);
+ else parse_str(user_conf_d, "import_delimited_to_text=1", TRUE); }
+
| K_COPY_TO_CLIPBOARD_DELIMITED_TAB { parse_str(user_conf_d, "copy_to_clipboard_delimited_tab=1", TRUE); }
| K_COPY_TO_CLIPBOARD_DELIMITED_TAB '=' NUMBER