home *** CD-ROM | disk | FTP | other *** search
- /*--------------------------------------------------------------------------*
-
- EE V0.7, Rev16 - The E Editor.
- Copyright Barry Wills, 1994.
-
- *--------------------------------------------------------------------------*
-
- MODIFICATIONS:
- 1. Adding U N L I M I T E D MULTI-MACROS, YIH! :-)
- 2. Fixed bug in readPrefsFile() that was introduced during rearrangement of
- prefs handling. When SAVE was selected from PrefsEditor, this function was
- re-initializing the prefsName string variable, resulting in a 'Can't Open
- File "CurrentDir"' requester.
- 3. Moved doMouse()'s calls to cursorOff() and cursorOn() down into function
- editProject(). Hilight colours were incorrect the way they were.
- 4. Wouter has fixed EasyGUI so I can now close my pubscreen, YIH!!! =)
- editPrefs() changed to pass the name of EE's pubscreen to PrefsEditor.
- 5. Fixed that damn bug that was screwing up the scroller when invoking
- FN_OPENNEW. The way idcmp messages were hitting the port, the new view was
- being switched out. Clicking on the scroller track triggered copyViewIn(),
- which was then calling adjustCursorMax(), causing the new view's vertpot to
- be set back to zero before it could be read by doVerticalScroller(). Since
- copyViewIn() doesn't really need the scrollers recalculated, the recalc...()
- calls in adjustCursorMax() were moved inside the "IF clearView..." block,
- POOF! Fixed. Damn, that was a tough SOB to spot! >:(
- 6. saveFile(): pathAndFilename and str (E linked list of strings) not
- disposed of properly. New module disposeELinkedList.m created for the
- latter disposal.
- 7. Changed logic in editProject() to call nextWindow() only if quitMode=
- FN_QUITALL. That way, if user cancels FN_QUIT, he/she stays in the same
- view. (Wouter, note non-sexist address mode ^^^^^^ ;-)
- 8. Changed "backup" section of saveFile() to open NIL: device to use as
- output in Execute('copy x x.bak', NIL, nullDev) so error messages don't
- try to go to *.
- 9. Added function FN_SWITCHTOWINDOW. Brings up a listview, with the names of
- all files currently loaded, from which you can select the window. Nice!
- 10. Got rid of process.windowptr code since it didn't make system requesters
- appear on EE's pubscreen.
- 11. Added ability to load multiple files from the command line, ruh!
- 12. Bug fix: doMenu() didn't check for FN_LOADPREFS, which is one of the
- functions that triggers recreation of menus. In this case the menu
- is removed and recreated, then doMenu() tries to read nextselect and is
- trapped in an infinite loop. >:-/
- 13. Added function FN_COLLECTGARBAGE.
- 14. Speeded up findSelected() and findAndReplaceSelected() hilighting.
- 15. Added calls to ActivateWindow() in nextWindow(), previousWindow(), and
- switchWindow() in the event that one does not use a sun-mouse util.
- 16. Added panic-garbage-collection code to reportError().
- 17. Added an activeView variable to editProject() for imposing stability in
- event-driven context switches.
- 18. Added Forbid()...Permit() pairs in problem areas when switching context
- (pending messages may cause views to be copied in and out in a
- "thrashing" manner).
- 19. Added function stripIntuiMessages() and other code gleaned from C=
- CloseWindowSafely() example.
- 20. Bug fix: changed short-circuit code in function deleteRight() (logic
- currentColumn>=currentObject.length becomes > ) to allow deletion of
- last character in line.
- 21. Modified all string construction code to put quotes around path/filenames
- that are passed to the shell (commands, command-line args...)
- 22. Modified to leave menus attached to all windows. Added code to set a
- view's checkmarked items when switching to the view.
- 23. Began installing smarter error-recovery handlers.
- 24. Bug fix: invoking single-line comment on a folded object now works.
- 25. Bug fix: action=(fold from current line to '->endfold' or '/*endfold');
- extra blank lines are no longer folded.
- 26. Bug fix: spaces are no longer trimmed if spacing past eoln and beyond
- right window border. Caught recursive calls between doThat...(),
- adjustViewHorizontally(), and jumpLeft() and jumpRight(). Added a
- parameter to jumpLeft() and jumpRight() to prevent the recursion. Had
- a nice side effect, too (see next item). This occurred only when in
- stream-cursor mode.
- 27. Bug fix #26 fixed the problem with EE not remembering the cursor's
- position while scrolling in stream-cursor mode whenever the cursor is
- in a column beyond the right window border, and scrolling past a line
- that makes the cursor warp to (or close to) the left margin (column 1).
- Before, the cursor would not return to the "far-out" position when it
- should have.
- 28. Bug fix: no default font. Added default value Topaz/8 to PrefsEditor,
- and added code to getSettings() to use Topaz/8 as the default if the
- Prefs font could not be loaded.
- 29. Bug fix: when prefs specify a window leftedge and/or topedge greater
- than 0, and height and/or width are set greater than screen height and/
- or width (respectively), the top and left offsets were shit-canned. I
- suspect this is due to the WA_AUTOADJUST flag in OpenWindowTagList().
- Checks/corrections of these values in setupScreen() fixed the problem.
- 30. Modified initPathAndFilename() to make "New Window" and "Open New"
- smarter. Now the path of the active window is inherited by the newly
- opened window.
- 31. Modified "Fold" to accept -1 and -2 as "extra blank lines to fold". -1
- directs "Fold" not to fold an ENDPROC line, thus leaving return values
- visible. -2 does the same thing, with the added action of folding one
- extra blank line after an ENDOBJECT statement.
- 32. Fixed all known bugs with find and replace routines. As a consequence:
- - find() is 2+ times faster. Zooooooom! :-)
- - made 'Replace All' twice as fast by disabling redraw during replacement;
- - FN_REPLACESELECTED is now obsolete, findAndReplace() took over;
- As a convenience:
- - findAndReplace() now picks up a selected block; only prompts for
- replace string;
- - when a block is selected find() will extend the block forwards or
- backwards; now selects the matching string if found;
- 33. Bug fix: pasteRegion() wrote well beyond MAX_LINELENGTH.
- 34. Bug fix: single space in last line of file locks & sometimes crashes when
- loading.
- 35. Bug fix: when loading source that has a line that exceeds MAX_LINELENGTH...
- boom, etc., etc.
- 36. Modified action of 'Write Char' when block is selected: by popular
- demand, EE now does the CED thang...simply types the char and extends the
- block to include the typed char.
- 37. Bug fix: loading tabs seems to be fucking up again. >:-/
- 38. Bug fix: saveFile() was losing mem when saving folds; got rid of NEW[a,b,...]
- and it was fixed; consequently, it got sickeningly slow. Have to look at
- doing less alloc'ing and freeing inside the loop.
- 39. Relocated call to gotoLine() in compile() for EPP compatibility.
- 40. saveFile() is fast again when saving folds, like, 10 ZILLION times
- faster...and it's not losing mem. :-)
- 41. Bug fix: pasting a fold at another fold screwed up currentLine number.
-
- *--------------------------------------------------------------------------*/
-