diff options
Diffstat (limited to 'src/gram.y')
-rwxr-xr-x | src/gram.y | 24 |
1 files changed, 17 insertions, 7 deletions
@@ -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 |