On Feb 10, 2008 8:10 PM, Robert Millan <[EMAIL PROTECTED]> wrote: > > On Sun, Feb 10, 2008 at 05:55:25PM +0800, Bean wrote: > > On Feb 10, 2008 5:15 AM, Robert Millan <[EMAIL PROTECTED]> wrote: > > > > > > It seems that the parser eats the extra '=' when used after a variable > > > evaluation: > > > > > > grub> set a=a > > > grub> echo $a > > > a > > > grub> echo $a= > > > > > > grub> > > > > > > This breaks e.g. variable comparison via "test $a=b". Does someone have > > > an > > > idea on how to fix it? I assume it involves the bison stuff which is > > > highly > > > confusing to me... :-/ > > > > This problem is caused by the lexer, the token is broken when a > > variable is found. so $a will be a token, and =b will be another one. > > I have written a patch some time ago, it works by constructing a > > GRUB_PARSER_TOKEN_VAR inside grub_script_yylex2, and return it to the > > parser. > > Ah, I thought all your lexer changes had been committed. Do you remember > the mail subject?
The parser part have been committed, but the lexer part is not. the patch is very old, i think it can't be applied directly. -- Bean _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel