Andrey Borzenkov
593e430cd6
* grub-core/script/execute.c (grub_script_execute_sourcecode): Split
...
off new function grub_script_execute_new_scope. Change callers to use
either of them as appropriate.
* grub-core/commands/eval.c: New command eval.
* docs/grub.texi (Commands): Document it.
2013-06-07 18:36:42 +02:00
Colin Watson
09fd6d8293
Remove nested functions from script reading and parsing.
...
* grub-core/kern/parser.c (grub_parser_split_cmdline): Add
getline_data argument, passed to getline.
* grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
getline_data argument, passed to grub_parser_split_cmdline.
* grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
lexerstate->getline_data to lexerstate->getline.
(grub_script_lexer_init): Add getline_data argument, saved in
lexerstate->getline_data.
* grub-core/script/main.c (grub_normal_parse_line): Add getline_data
argument, passed to grub_script_parse.
* grub-core/script/script.c (grub_script_parse): Add getline_data
argument, passed to grub_script_lexer_init.
* include/grub/parser.h (grub_parser_split_cmdline): Update
prototype. Update all callers to pass appropriate getline data.
(struct grub_parser.parse_line): Likewise.
(grub_rescue_parse_line): Likewise.
* include/grub/reader.h (grub_reader_getline_t): Add void *
argument.
* include/grub/script_sh.h (struct grub_lexer_param): Add
getline_data member.
(grub_script_parse): Update prototype. Update all callers to pass
appropriate getline data.
(grub_script_lexer_init): Likewise.
(grub_normal_parse_line): Likewise.
* grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
data argument.
* grub-core/kern/parser.c (grub_parser_execute: getline): Make
static instead of nested. Rename to ...
(grub_parser_execute_getline): ... this.
* grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
data argument.
* grub-core/normal/main.c (read_config_file: getline): Make static
instead of nested. Rename to ...
(read_config_file_getline): ... this.
(grub_normal_read_line): Add unused data argument.
* grub-core/script/execute.c (grub_script_execute_sourcecode:
getline): Make static instead of nested. Rename to ...
(grub_script_execute_sourcecode_getline): ... this.
* util/grub-script-check.c (main: get_config_line): Make static
instead of nested.
2013-01-15 12:03:25 +00:00
Vladimir 'phcoder' Serbinenko
5e619f408d
Fix wildcard escaping.
...
* grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
* grub-core/script/execute.c (wildcard_escape): .. to here.
Don't escape dot.
* grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
* grub-core/script/execute.c (wildcard_unescape): .. to here.
Don't escape dot.
* grub-core/script/execute.c (gettext_append): Always escape.
(grub_script_arglist_to_argv): Always handle escaping/unescaping.
* grub-core/script/yylex.l: Don't cut away the escaping.
* tests/grub_script_echo1.in: Add tests with wildcard.
2012-06-08 22:54:21 +02:00
Vladimir 'phcoder' Serbinenko
7e8fac16ad
$"..." support in scripts.
...
* grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
GRUB_SCRIPT_ARG_TYPE_GETTEXT.
* grub-core/script/yylex.l: Likewise.
* include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
value.
2012-02-26 19:02:46 +01:00
Vladimir 'phcoder' Serbinenko
d35d0d3753
Add const keyword to grub_env_get and gettextize week days.
...
* grub-core/hook/datehook.c (grub_datetime_names): Make const.
(grub_read_hook_datetime): Return const char *.
* grub-core/kern/env.c (grub_env_get): Return const char *. All users
updated.
* grub-core/normal/datetime.c (grub_weekday_names): Make const.
Mark for gettext.
(grub_get_weekday_name): Return const char *. Call gettext.
* grub-core/script/argv.c (grub_script_argv_append): Receive const
char * and len as the argument. All users updated.
(grub_script_argv_split_append): Receive const char *.
* include/grub/datetime.h (grub_get_weekday_name): Update proto.
* include/grub/env.h (grub_env_get): Likewise.
(grub_env_read_hook_t): Return const char *.
* include/grub/script_sh.h (grub_script_argv_append): Update proto.
(grub_script_argv_split_append): Likewise.
2011-11-11 20:34:37 +01:00
BVK Chaitanya
ee14ec9935
merge with mainline
2010-09-04 22:34:32 +05:30
BVK Chaitanya
ed8c6dec96
Support for options to appear multiple times on cmdline.
...
* include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
* grub-core/commands/extcmd.c: Support for repeatable option.
* grub-core/lib/arg.c (grub_arg_list_alloc): New function for
repeatable option support.
Refactor menuentry into a regular command.
* grub-core/commands/menuentry.c: New file, menuentry command
implementation.
* grub-core/Makefile.core.def: Rule update for normal.mod.
* grub-core/normal/main.c: Moved menuentry creation to
grub-core/commands/menuentry.c.
* grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
(grub_menu_execute_entry_real): Removed.
* grub-core/script/execute.c (grub_script_execute_sourcecode): New
function.
(grub_script_execute_menuentry): Removed.
* grub-core/script/parser.y (menuentry): Removed.
* grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
* grub-core/script/yylex.l (menuentry): Removed.
* include/grub/menu.h (grub_menu_init): New prototype.
(grub_menu_fini): New prototype.
* include/grub/normal.h (grub_normal_add_menu_entry): Removed.
* include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
(grub_script_execute_sourcecode): New prototype.
2010-09-04 21:43:54 +05:30
BVK Chaitanya
9fcd1ee541
merge with mainline
2010-09-04 21:02:48 +05:30
BVK Chaitanya
165bfce138
merge with mainline
2010-09-04 20:44:44 +05:30
BVK Chaitanya
cd652829a1
merge with mainline
2010-09-04 14:41:08 +05:30
BVK Chaitanya
6d7c073bc8
merge with mainline
2010-09-04 11:49:02 +05:30
BVK Chaitanya
312e3e3668
merge with mainline
2010-09-04 11:28:45 +05:30
BVK Chaitanya
227cab7c79
merge with mainline
2010-09-04 10:56:23 +05:30
BVK Chaitanya
e5a73c4247
merge with mainline
2010-09-04 09:05:21 +05:30
BVK Chaitanya
cc7b1ab4d6
review comments
2010-09-03 20:35:23 +05:30
BVK Chaitanya
8fdefb9253
merge with mainline
2010-08-26 12:11:57 +05:30
BVK Chaitanya
47b4c2c3e8
pull-in block-arg branch
2010-08-26 11:32:35 +05:30
BVK Chaitanya
aa5cd41af5
return command for functions
2010-08-25 19:35:52 +05:30
BVK Chaitanya
a8876fc7ca
merge with setparams branch
2010-08-15 12:11:07 +05:30
BVK Chaitanya
3a20130e7a
setparams command to set positional parameters
2010-08-15 12:02:33 +05:30
BVK Chaitanya
1379af7834
merge with mainline
2010-08-15 11:12:53 +05:30
BVK Chaitanya
00a8a3eee3
merge with mainline
2010-08-12 14:43:34 +05:30
BVK Chaitanya
c6a343c3c6
merge with mainline
2010-08-12 13:23:13 +05:30
BVK Chaitanya
67a9e4d95d
review fixes and a testcase
2010-08-09 21:42:24 +05:30
BVK Chaitanya
9e3e24e47f
cleanup
2010-07-29 22:52:09 +05:30
BVK Chaitanya
fa7edceefb
pull-in func-params branch
2010-07-23 03:32:12 +05:30
BVK Chaitanya
54416e9d71
merge with mainline
2010-07-23 02:44:22 +05:30
BVK Chaitanya
1767f7096c
menuentry can pass parameters to its definition
2010-07-22 21:15:14 +05:30
BVK Chaitanya
8527be0c5d
pull-in block-arg again
2010-07-22 05:34:38 +05:30
BVK Chaitanya
0878653f65
pull-in nested-record branch
2010-07-22 05:03:49 +05:30
BVK Chaitanya
3a082b7f2a
memory management for block parameters
2010-07-22 04:49:05 +05:30
BVK Chaitanya
2bcfd8a295
pull-in block-arg again
2010-07-21 03:50:23 +05:30
BVK Chaitanya
9ebedc24f2
restrict to only one block-arg (as last) param per command
2010-07-21 03:47:30 +05:30
BVK Chaitanya
3e96a6a108
merge with mainline
2010-07-18 22:03:28 +05:30
BVK Chaitanya
f745095a37
merge with mainline
2010-07-18 21:23:58 +05:30
BVK Chaitanya
2e1310bc7c
merge with mainline
2010-06-13 10:22:38 +05:30
BVK Chaitanya
eedda76883
merge with mainline
2010-06-13 09:58:24 +05:30
BVK Chaitanya
49e38cf475
merge with mainline
2010-06-13 09:48:47 +05:30
BVK Chaitanya
20ebf73276
merge with mainline
2010-06-12 20:36:46 +05:30
BVK Chaitanya
95af254928
merge with mainline
2010-06-12 16:32:06 +05:30
BVK Chaitanya
b06f83e3ba
a better fix
2010-06-12 11:06:02 +05:30
BVK Chaitanya
25156d7180
pull-in block-arg branch for loop fixes
2010-06-10 20:53:20 +05:30
BVK Chaitanya
a992a71ed8
fix memory issues when used inside loops
2010-06-10 20:49:57 +05:30
BVK Chaitanya
9d0bd7407d
remove menuentry from GRUB script
2010-06-10 18:15:38 +05:30
BVK Chaitanya
28be0e94db
add example usage to hello command
2010-06-10 12:12:03 +05:30
BVK Chaitanya
3db1c9eee4
pull-in func-params branch
2010-06-09 11:34:01 +05:30
BVK Chaitanya
6c9aa3df16
block params are grub_script with independent memory
2010-06-09 11:29:11 +05:30
BVK Chaitanya
5ef88f6e95
merge with mainline
2010-05-20 13:56:14 +05:30
BVK Chaitanya
3ad4f2418d
pull-in func-params branch
2010-05-19 11:01:04 +05:30
BVK Chaitanya
0003008a58
memory leak fix in grub_script_execute_cmdline
2010-05-19 10:25:41 +05:30