[comp.sys.mac] Bugs in LSC 2.0

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."