From: <ox-...@us...> - 2003-06-08 17:15:11
|
Update of /cvsroot/sheets/sheets In directory sc8-pr-cvs1:/tmp/cvs-serv16047 Modified Files: .sheetsrc Sheets.sheets todo.txt Log Message: 1. Fixed a bug with the interesting flag that was causing spurious messages and warnings. 2. Fixed a bug with error parsing, which would cause unparsed text with the '$' character in it to throw an exception. 3. Changed error reporting so that even if no errors could be found via regular expressions, it will still display compilation errors. Likewise, if compilation is successful it will not display output (such as warnings) Index: .sheetsrc =================================================================== RCS file: /cvsroot/sheets/sheets/.sheetsrc,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** .sheetsrc 24 Apr 2003 09:38:10 -0000 1.13 --- .sheetsrc 8 Jun 2003 17:14:34 -0000 1.14 *************** *** 12,16 **** #set screen-insets 0 108 0 0 ! set web-browser "explorer.exe" # Use this instead for *nix systems: #set web-browser "mozilla" --- 12,16 ---- #set screen-insets 0 108 0 0 ! set web-browser "konqueror" # Use this instead for *nix systems: #set web-browser "mozilla" Index: Sheets.sheets =================================================================== RCS file: /cvsroot/sheets/sheets/Sheets.sheets,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** Sheets.sheets 4 Jun 2003 17:47:40 -0000 1.54 --- Sheets.sheets 8 Jun 2003 17:14:34 -0000 1.55 *************** *** 4618,4625 **** // This is really nothing more than parseString without the error handling // for IO errors. ! private synchronized Fragment[] JavaFragmentParser.parseIntoFragments () ! throws IOException { ! // I think the synchronized keyword is at this point purely historical, ! // but I don't really want to find out the hard way. JavaParser parser = new JavaParser(new StringBufferInputStream(text)); parser.file = text; --- 4618,4622 ---- // This is really nothing more than parseString without the error handling // for IO errors. ! private Fragment[] JavaFragmentParser.parseIntoFragments () throws IOException { JavaParser parser = new JavaParser(new StringBufferInputStream(text)); parser.file = text; *************** *** 4633,4638 **** protoFragments = parser.JavaFragments(); } catch (ParseException e) { - // The extra spewage to the console is more trouble than it is worth. - // Console.warning("Couldn't parse it -- " + e.getMessage()); Console.batchedDisplay(e.getShortMessage()); parsedOK = false; --- 4630,4633 ---- *************** *** 4643,4648 **** } } catch (TokenMgrError e) { - // The extra spewage to the console is more trouble than it is worth. - // Console.warning("Couldn't lex it -- " + e.getMessage()); Console.batchedDisplay("Couldn't tokenize it"); parsedOK = false; --- 4638,4641 ---- *************** *** 8889,8898 **** ExportRecord record = ExportRecord.forName(file); int line = Integer.parseInt(matcher.group(2)); ! String unparsedEntry = ""; if (record == null || !addError(errorSheet, record, file, line, matcher.group(3))) { // pushes the match into unparsed text because no error could be generated ! unparsedEntry = matcher.group(); } - matcher.appendReplacement(unparsedText, unparsedEntry); } matcher.appendTail(unparsedText); --- 8882,8890 ---- ExportRecord record = ExportRecord.forName(file); int line = Integer.parseInt(matcher.group(2)); ! matcher.appendReplacement(unparsedText, ""); if (record == null || !addError(errorSheet, record, file, line, matcher.group(3))) { // pushes the match into unparsed text because no error could be generated ! unparsedText.append(matcher.group()); } } matcher.appendTail(unparsedText); *************** *** 8900,8905 **** outString = unparsedText.toString(); } - if (errorSheet.numFragments() == 0) - return null; if (unparsedText.length() > 0) addText(errorSheet, unparsedText.toString()); --- 8892,8895 ---- *************** *** 9027,9044 **** outString = StringSplitter.trimCRs(StringSplitter.expandTabs(outString)); CompileDialogSentinel.clearErrors(); ! Sheet errors = parseErrors(outString); ! // Console.notify(null, 0); ! if (errors != null) { SheetFrame frame = new SheetFrame(errors, Profile.getDefaultViews("full"), false); Sheets.getRootFrame().addSheet(frame); ((SheetViewer)frame.getEditor().embeddedView).contentView .showAttributeInFragments("errors"); - Console.status("Found compilation errors."); Console.beep(); } else { ! if (procResult != 0) ! Console.status("Compilation failed."); ! else ! Console.status("Compilation successful."); } } --- 9017,9030 ---- outString = StringSplitter.trimCRs(StringSplitter.expandTabs(outString)); CompileDialogSentinel.clearErrors(); ! if (procResult != 0) { ! Console.status("Compilation failed."); ! Sheet errors = parseErrors(outString); SheetFrame frame = new SheetFrame(errors, Profile.getDefaultViews("full"), false); Sheets.getRootFrame().addSheet(frame); ((SheetViewer)frame.getEditor().embeddedView).contentView .showAttributeInFragments("errors"); Console.beep(); } else { ! Console.status("Compilation successful."); } } *************** *** 86150,86154 **** comp.removeContainer(this); ! if (!interesting) makeInteresting(); if (numFragments() == 0 && !interesting) { --- 86136,86140 ---- comp.removeContainer(this); ! if (interesting) makeInteresting(); if (numFragments() == 0 && !interesting) { Index: todo.txt =================================================================== RCS file: /cvsroot/sheets/sheets/todo.txt,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** todo.txt 4 Jun 2003 17:47:44 -0000 1.23 --- todo.txt 8 Jun 2003 17:14:35 -0000 1.24 *************** *** 3,6 **** --- 3,7 ---- more annoying bugs: + Trouble loading files with spaces in the name (when done by file association) java.lang.NullPointerException at org.browsecode.sheets.TextualViewer.getSaveRect(TextualViewer.java:252) *************** *** 17,26 **** Todo: * Fix the background image of the project wizard dialog - also fix the status icons on the left and reposition everything * Show the import errors in a new wizard pane ! annoying bugs that should be fixed: long delays for completions... should be run in a separate thread. byte code lookups for large class libraries are slow!!! (cache results, or better yet index the known jars locally in sheets) window still closes if you click cancel during exit --- 18,41 ---- Todo: + Setup line numbers based on location of methods when imported. + Command-line project import feature (possibly by a special file that gets read) + Get rid of annoying warnings about temporary or transient sheets disappearing. + Database recovery now! (so that other database bugs can be diagnosed consistently) + + Todo: * Fix the background image of the project wizard dialog - also fix the status icons on the left and reposition everything * Show the import errors in a new wizard pane ! Completion Stuff: long delays for completions... should be run in a separate thread. + - get rid of antiquated timeout + fix completion support in go box to: + - kill off thread when user types more + - when user trys to complete (by typing tab) do a join + - methods of inner classes show up in completion, but "go" doesn't work + have a global completion key binding for the entire program + + Annoying bugs that should be fixed: byte code lookups for large class libraries are slow!!! (cache results, or better yet index the known jars locally in sheets) window still closes if you click cancel during exit *************** *** 31,35 **** dragging in TOC only works on left side of items no line numbers on inner classes - methods of inner classes show up in completion, but "go" doesn't work touch all classes in the package on package-header modification Attempt to get a released object when closing editor with a temporary sheet (such as the compile sheet) open --- 46,49 ---- *************** *** 49,53 **** Stuff I Want to do: Make the compile/recompile commands general purpose exec commands that can be listed and bound in the .sheetsrc file - Add a Profile keybinding for search-box completion Fix the language expert so that it can lookup the right xml expert by public identifier. Create a package/class-lookup routine for the bytecode support (modeled after the ClassPath.java bcel class) --- 63,66 ---- |