**This is an old revision of the document!** ----
July 6: Fixed a bug which prevented using for and while statements split over multiple lines. The problem was that the cur_command variable stored the last line of an incomplete command. Fixed by concatenating incomplete lines before storing. AndyTim suggested that instead of a memory-intensive list, I just store the offset into the script for interesting lines. A problem with that is that it would act differently for scripts and interactive input. But, it will use a lot less memory. So, this is what I plan to do: * A global variable start_len will store the offset of the current command for both scripts and user input. * The looping commands would use this variable as a program counter, to store/retrieve. * For scripts: use the start_len variable to retrieve the next command. After the command is executed, increment the variable as appropriate (either add the length of the command or, if it has been modified, do not modify it). This would remove the need for a list if a script is executed. * For shell input: store each line as it is entered, into a dynamic string. The start_len variable is used similarly to the script method. I started work on these modifications. The script changes were simple, but there's some problem with the shell input. I'll continue work on it tomorrow. Today's commits: * [[http://git.etherboot.org/?p=people/lynusvaz/gpxe.git;a=commit;h=748d46ff2eedaa25c127bdc4a6d70f890c637a28|Bug fix for loops]]