On Fri, Apr 10, 2009 at 7:49 AM, Yoshinori K. Okuji <ok...@enbug.org> wrote: > On Tuesday 07 April 2009 01:39:23 Bean wrote: >> Hi, >> >> This is another update of the patch. >> >> 1, Now completion.c is in menu.mod, and menu_viewer.c is in misc.mod, >> the reason for the switch is to allow configfile to depend on misc.mod >> only. > > I think the name "misc.mod" is ugly. Can you think about a better name? >
Hi, Perhaps lib.mod, or helper.mod ? >> 2, Auto generate handler.lst file, which contain module information >> for handlers. normal.mod uses it to register commands to set active >> handler, for example: >> >> parser.sh >> menu_viewer.text >> terminal_output.gfxterm > > Great. > >> 3, configfile now support an optional parameter to specify the script >> engine, for example: >> >> configfile /aa.cfg sh >> >> When configfile returns, the script engine would be restored to the >> previous value. This is useful for switching script engine. For >> example, you can parse a file in another language, then switch back to >> sh for the rest of grub.cfg. > > I object to the syntax, but not to the idea. "configfile" is GRUB-specific, so > it might be acceptable. But IIRC the underlying function is shared > with "source", right? In Bourne Shell, "source FILE ARG" means that the file > FILE is executed with a positional argument ARG. So it is not intuitive to > specify a parser this way. Yeah, I don't like the syntax either, but we need to find a way to distinguish between the "configfile" and "source". "source" operates on the current environment, while "configfile" create a new environment. > > I proposed using a shebang some days ago. Was it so bad? I like that idea too, but it needs to change grub_file_getline a little bit as currently it treats lines starting with '#' as comment, so we don't have a chance to examine the contents behind it. Perhaps we can combine this with configfile/source. For example, when it reads a file starts with #!, it automatically switch parser, and restore back to the original parser on exit. This way, we don't need to hack the configfile/source command at all. -- Bean _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel