|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
# A recent discussion about this:
# http://lua-users.org/lists/lua-l/2010-12/msg00427.html (edrx)
# http://lua-users.org/lists/lua-l/2010-12/msg00430.html (Leo Razoumov)
# http://lua-users.org/lists/lua-l/2010-12/msg00431.html (lhf)
patch -p0 src/lua/lua.c <<'%%%'
307a308,337
>
> /* This block by Edrx.
> * «lua.c-argpatch» (find-es "lua5" "argpatch")
> */
> i=1;
> while (argv[i]) {
> if (argv[i][0]=='-') {
> switch (argv[i][1]) {
> case '\0': case '-':
> i++; goto makeargarray; /* this was the last lua arg */
> case 'e': case 'l':
> i += (argv[i][1]=='\0')?2:1; break; /* keep skipping */
> case 'i': case 'v': case 'c': case 's':
> i++; break; /* keep skipping */
> default:
> goto dontmakeargarray; /* bad args, lua is going to puke */
> }
> } else {
> goto makeargarray;
> }
> }
> makeargarray:
> if (argv[i]) {
> getargs(argv, i); /* build the array `arg' BEFORE doing the options */
> lua_setglobal(L, "arg");
> }
> dontmakeargarray:
> /* End of the edrxisms.
> */
>
365,366c395,401
< getargs(argv, i); /* collect arguments */
< lua_setglobal(L, "arg");
---
>
> /* This block commented out by Edrx: the call to getargs was moved up.
> * «lua.c-argpatch2» (find-angg "lua5" "argpatch")
> * getargs(argv, i); /:* collect arguments *:/
> * lua_setglobal(L, "arg");
> */
>
%%%
# Local Variables:
# coding: raw-text-unix
# ee-delimiter-hash: "\n#*\n"
# ee-delimiter-percent: "\n%*\n"
# ee-anchor-format: "«%s»"
# modes: (fundamental-mode emacs-lisp-mode lua-mode c-mode)
# End: