oster@lapis.berkeley.edu (David Phillip Oster) (01/04/87)
LSC v.2.01 has been released. I got my copy a few days ago. It does everything its makers claim it will do. However, there are the following BUGS: 1.) The "build a desk acc" bug - if it would be creating a new desk acc file, it doesn't copy associated resources, workaround: use the Run command. It makes the file correctly before transfering to the DA runner. 2.) the Windows menu bug - doesn't correctly handle windows with names starting with "-" - (they are always disabled.) workaround: Use my Windows 1.1 (available from Mosaic Codes.,) or don't name your files with initial "-"s 3.) the Calling a "pascal" routine from C in the same file where the routine is declared bug - LSC V.2 simply doesn't generate a correct call to your C routines declared with the "pascal" keyword (no prototype.) workaround: Make your "pascal" routines call a C routine to do the work, and you always call the C version. 4.) +*=/ keys on the MacPlus numeric keypad get interpreted as shift-arrows. The release notes incorrectly claim that there is no way to tell the difference between these keys and the MacPlus's shifted-arrow keys. They do return the same keycode, but the real shifted-arrow keys have the shift bit on in the modifiers field of the keyDown EventRecord. The numeric keypad +*=/ have that bit off. workaround: don't use the +*=/ keys on the MacPlus numeric keypad. Points 1 and 2 are just sloppy errors. Point 3 is the biggest one. It is very annoying to have a program stop working just because you've gone from version 1.02 to version 2.01. I declare routines "pascal" in order to pass pointers to them to the operating system so it can call me back. It is often convenient to call these same routines elsewhere in same program. I did, and now these programs crashed until I used the workaround described above. Point 4 is annoying because they claim something is impossible when in fact it is easy. The new version, for me, is an improvement even with its bugs. I particularly like the <commmand>-E feature to copy a selection to the find area of the search dialog, the <command>-mouseDown on the title bar to get a menu of include files for that window, the <command>-doubleClicking on a name in order for LSC to open the file where that name is defined and then search that file for it, and last and most important of all, I can now specify ANSII (proposed) standard optional function prototypes, and for each function that I've given a prototype it will do typechecking as strict as Pascal's. --- David Phillip Oster -- "The goal of Computer Science is to Arpa: oster@lapis.berkeley.edu -- build something that will last at Uucp: ucbvax!ucblapis!oster -- least until we've finished building it."