home *** CD-ROM | disk | FTP | other *** search
-
- tde, the Thomson-Davis Editor
- Version 1.2
- 10-5-91
- Frank Davis
-
- Log file
-
-
- Inconvenience adjustments, additions, and optimizations for version 1.0:
-
- 6-24-91 findrep.c
-
- When the search came to characters in the extended ASCII set, the extended
- characters were treated as minus indexes. The result in the backward_boyer_
- moore_search function was an infinite loop and the result was undefined in the
- forward_boyer_moore_search function. Solution: typecast the index character
- as an unsigned char to handle the extended ASCII character set.
-
-
- 6-25-91 block.c
-
- function unmark_block( )
-
- Do not pass any parameters to function. We already know the marked
- window is in g_status.marked_window. Just initialize the block variables
- and redraw all windows, w/o marked block, pointing to g_status.marked_file.
-
- 6-25-91 block.c
-
- function void move_copy_delete_overlay_block( window, action )
-
-
- if (block_type == LINE && action == DELETE && source_window->rline >= br) {
- source_window->rline -= ((er + 1) - br);
- if (source_window->rline < br)
- source_window->rline = br;
- }
-
- added the above lines to adjust the rline in the source_window of a deleted
- line block when the rline is greater than the beginning of marked row. this
- puts the cursor of the source window in a pleasing position after a block
- line delete. when the cursor is past the br, it subtracts the length of
- the marked block from rline.
-
-
- 6-26-91 ed.c
-
- function line_kill( window )
-
- do not reset column to 0 when deleting a line.
-
-
- 6-28-91 thru 6-30-91
-
- massive changes. speed up LINE block operations. speed up writing file
- back to disk. use the line buffer to recover changes to line and to speed
- up editing large files (like Doug had originally in dte 5.1). editor now
- handles large file truncations properly.
-
- I put the line buffer back in tde like Doug originally had in dte 5.1. For
- small files (files < 64K), the line buffer doesn't make any difference in
- speed, but tde begins to slow down on bigger files (files > 200K) or with
- multiple files. It's also easier to implement a simple undo function with
- the line buffer back in.
-
-
- 7-1-91 main.c
-
- improve the video adapter detection algorithm. add support for different
- cursor sizes depending on state of insert flag.
-
- 7-4-91 findrep.c
-
- function void goto_end_file( window )
-
- since we know current line number and number of lines on screen, use simple
- math to determine when to move to eof (if we are already on last page, do
- nothing). the old algorithm did not properly position at eof when cursor
- was less than a screen full from eof. the new algorithm is also a little
- smaller and faster.
-
- 7-5-91 main.c
-
- Received suggestion and from Tom Waters, twaters@nswc-wo.navy.mil.
-
- "I use ANSI.SYS to redefine a few of my function keys and this causes a
- problem when getch() is used in a program. For example, instead of returning
- 321 for the F7, I get the redefined string inserted in the text. So, instead
- of using getch(), I use the following function..."
-
- int getkey( void ) - at bottom of main.c
-
- Tom, thanks for the info and the solution. I'm sure your function will be
- be appreciated by everyone with ANSI key defs, Frank.
-
- Damn, Doug originally used the bioskey function in his editor, dte 5.1, and
- I took it out (I goofed again).
-
- 7-5-91 utils.c
-
- function: void word_right( window )
-
- Inconvenience adjustment from Tom Waters, twaters@nswc-wo.navy.mil.
- Initialize variable "check" to 0 at beginning of function.
-
- 7-5-91 tde.doc
-
- Finally broke down and wrote a simple manual for tde.
-
- 7-10-91 main.c
-
- function: int write_file( name, mode, start, end, block, prompt_line )
-
- Block print/write ending tests need adjustment. When doing BOX print/write,
- tde missed the last line. When doing LINE print/write, tde went one
- character too far.
-
- 7-11-91 my sister's birthday, her 29th
-
- Hmmm, I'll set the date on all the files in this version of tde to 7-11-91.
- What more could my sister want on her birthday? There are only 364 more
- shopping days until her next birthday.
-
- Added a horizontal screen function and assigned it to ^F10 since it is a
- window function. Suppose the cursor is somewhere on a line, this function
- redraws the screen, if needed, beginning in column 1 and the cursor stays in
- the same logical column. (Does a horizontal page 1 thing.) New function
- name is "column_1" in window.c.
-
- 7-12-91 main.c
-
- Received a request from Bruce Hunter, Tigard, Oregon, USA.
-
- "How do I get an escape code? I have tried ALT-027, the control equiva-
- lent, and even tried the escape key. None of them works. I need the escape
- sequence for changing screen attributes and entering printer codes in batch
- files..."
-
- functions: int getkey( )
- int getfunc( int )
-
- Bruce thanks for the suggestion. I miss the ability to insert form feeds
- (ALT-012) into text files.
-
- I rewrote the getkey function in main.c to allow almost any ALT-xxx as a
- normal text character. I had to modify the key definition array in
- default.h and reassign the values for those keys in the range 0-31 to
- 400-431. ESC is now defined as 427. The only key you can't enter via
- ALT-xxx is 013 - a return is a return is a return.
-
- 7-13-91 utils.c
-
- function: void redraw_screen( windows * )
- void redraw_current_window( windows * )
-
- Modified redraw_screen() to redraw everything on the screen. I added the
- redraw_current_window() function to redraw the current visible window.
- Now the ^\ function works correctly.
-
- 7-13-91 main.c
-
- function: int getkey( ), void error( )
-
- Do not allow control z to get thru. If the user enters ALT-026, make it
- 400, which is not assigned to any function. In the error( ) function, we
- now have to look up the function assigned to a key (AbortCommand).
- key_func[c].func will not work anymore - must go thru getfunc( ) to get the
- function assigned to a key.
-
- 7-13-91 default.h help.h main.c
-
- It's hard to believe, but I mapped the control keys to more accurately
- imitate the WordStar type commands. ^Z is the scroll line down key and
- ^X is the line down key.
-
- 7-14-91 main.c help.h
-
- function: int getkey( )
-
- I'm back to my old self, now (a long time WordStar command hater). I've
- taken the ^W and ^Z WordStar type commands out of the help screen and
- replaced them with the Gray - and Gray + keys. ^W and ^Z are still
- connected, but are not listed in the help screen. If Num Lock is off then
- the Gray - and Gray + are scroll functions. If Num Lock is on then Gray -
- and Gray + are interpreted as - and +.
-
- 7-14-91 tde.nmk tde.qmk
-
- Received an inconvenience report from Troy Hanson, CC76@SDSUMUS.
-
- "I have 386/16 running MS DOS 5.0, and normally, I have 630K of base memory
- free. When trying to use your editor on an almost empty memory, I get a
- message saying that the file is too big for memory. When I load several
- TSR's low, putting my base memory to below 600k, the editor works great."
-
- Troy, thanks for the note on MS DOS 5.0. I read a report, written by a
- Microsoft guy on the Info-IBMPC list, that suggested reducing the maximum
- number of paragraphs needed by a program. I changed the linker switches in
- the nmake files to take care of this inconvenient feature (was this a
- MS DOS 5.0 or a tde 1.0 feature?). Can MS DOS 5.01 be far behind?
-
- 7-16-91 block.c
-
- function: void mark_block( )
-
- Made small adjustment in the way BOX blocks are marked. If the cursor is
- above the marked BOX, then expand the block to the cursor instead of
- shrinking BOX to cursor.
-
- 7-17-91 block.c
-
- function: void expand_tabs( )
-
- Set g_status.copied to FALSE at end of for loop otherwise un_copy thinks
- line has been copied.
-
- 7-18-91 ed.c findrep.c main.c tdestr.h
-
- Added a diagnostic "wrapped..." message when the search wrapped around the
- beginning or ending of a file.
-
- After adding that diagnostic switch for wrapped displays, I found that the
- backward_boyer_moore_search function needed an adjustment. The search start
- needed to begin in a different place than the forward_boyer_moore_search.
-
- 7-19-91 ed.c
-
- function: void line_kill( )
-
- If the cursor is on the last line of the screen, the text was not scrolling
- up properly.
-
- 7-21-91 tdecolor.exe tdecolor.c tdecolor.h tdecolor.doc
-
- Might as well knock out a quick and dirty color configuration utility. Name
- it tdecolor.exe and distribute all source code.
-
- 7-22-91 hwind.c utils.c
-
- Make a few changes in the way the colors are handled (all minor). Add
- function window_scroll_up_eof. tde now gives the user an idea of where the
- eof is if a background color other black is selected.
-
- 7-22-91 most files
-
- Moved the dirty attribute from window structure to file structure. All
- windows pointing to the dirty file are updated. It makes more sense to put
- it with the file structure. Also easier to update the screen in certain
- situations (especially when doing block stuff). BTW, I finally cleaned up
- the BOX expand tabs - now the algorithm is similar to the regular BOX
- operations.
-
- 7-26-91 block.c
-
- function: prepare_block( )
-
- This function added one too many spaces to fill out a line for box
- operations. The was no problem unless the destination was less than the
- source. In version 1.0 this was not a problem because space at the end
- of a line was not removed by the un_copy function. Now, the exact number
- of characters must be added to pad the line or the source for box operations
- will not be correct in some situations.
-
- 7-28-91 ed.c
-
- function: editor( )
-
- tde does not check the for initial memory limits properly. Set stop to
- FALSE if there is not enough memory to open the initial window.
-
- Play around with the maximum number of paragraphs needed for DOS 5.0.
-
- 7-28-91
-
- tde seems fairly stable now and it has a manual and a simple configuration
- utility. Changed and checked everything on my "to do" list. Kick these
- adjustments out the door with a new version number, tde version 1.1, and
- date all the files to my sister's birthday 7-11-91.
-
-
-
- Inconvenience adjustments, additions, and optimizations for version 1.1:
-
- 8-26-91 findrep.c
-
- function: void build_boyer_array( )
-
- Change char *p as unsigned char *p. Same damn type of problem that was
- solved on 6-24-91. Didn't find this feature at that time.
-
- 8-31-91 thru 9-2-91 all files
-
- Received several excellent suggestions from Jim Wilson, Union, NJ, USA.
-
- 1) Multiple full screen windows and swap hidden windows, see ^F9 and ^F10.
-
- 2) Put word delete back in, Control+T.
-
- 3) Added dirty file marker, it's an asterisk in front of file name.
-
- 4) Home toggles between first character on line and column 1, nice!
-
- 5) Fixed scroll up and down, Alt Grey Up and Alt Grey Down. I didn't fix
- scroll up and scroll down - they weren't broken. I implemented a
- stationary scroll up and a stationary scroll down. The cursor stays
- on the same line on the screen while the text scrolls up or down.
-
- 6) Added a toggle for stream delete so delete key joins lines, Ctrl+Del.
- You could eventually delete all characters in a file if in stream mode.
-
- 9-2-91 ed.c main.c window.c
-
- Fixed it so that tde does not try to load in a directory as a file.
- Changed the ERROR condition to a WARNING when a file is too big to load
- into memory.
-
- 9-2-91 block.c
-
- function: block_print( )
-
- Modified block_print( ) so user may stop printing by pressing ESC.
-
- 9-8-91 simul101.asm
-
- function: _simulate_enh_kbd( )
-
- Wrote this routine to support Control+Up, Control+Down, and Center for my
- 84 key keyboard at home. I also rewrote the getkey() function (bottom of
- main.c), again, to use the extended interrupt 16 functions. getkey() now
- checks for 101 keyboards and uses the extended functions. Although I was
- fully aware of the extended interrupt 16 functions, I wanted to hold off
- using those functions until I could simulate them on older machines/
- keyboards.
-
- For those who don't have access to an assembler and who want to compile
- tde, it won't hurt anything to leave the simulate_enh_kbd function out.
- The simulated extended codes will not be available on older machines, which
- is no big deal.
-
- 9-10-91 utils.c
-
- function: centerwindow( )
-
- Wrote a new function for the center key (5 on key pad). Very helpful when
- you want to go to the middle of the screen and split the window. There
- are actually two functions in that routine 1) center the cursor in the
- current window and 2) center the current line in the current window.
-
- 9-12-91 utils.c window.c
-
- function: show_window_header( )
-
- Added an indicator to let users know which file a window is opened to.
- Cleaned up some of the inconvenient features in the window commands.
- Changed the lite bar at the bottom of the screen to let the user know how
- many files and windows are open.
-
- 9-13-91 main.c
-
- Watched one of my users try to "break" tde in a Windows 386 real mode window.
- The system seemed to have less memory after editing a file with tde.
- Damn, I forgot to deallocate the memory buffer used for editing all files.
- Deallocate all memory upon termination of the program.
-
- 9-14-91 utils.c
-
- function: horizontal_screen_right(), horizontal_screen_left()
-
- Added a couple of functions to do horizontal page left and right. Assigned
- Alt+Grey left and Alt+Grey right to those functions. Since my fingers are
- used to cursor movement with the cursor keys, seems to make sense to put
- these functions there (^Grey - and ^Grey + on 83/84 key keyboards).
-
- 9-16-91 utils.c
-
- function: show_eof( )
-
- Tired of guessing where the eof is? Wrote this function to display the
- eof so users (and me) won't get confused when editing near the eof.
-
- Thanks to Leslie Martin, Portland, OR, USA, for suggesting this feature.
- I think all users will appreciate this function.
-
- 9-18-91 block.c
-
- I improved the box operations so much they don't work properly. Fixed
- all the box block improvements. Line blocks were not affected - they use
- a different algorithm.
-
- 9-19-91 all files
-
- Added a few register variables to improve execution speed & reduce code size.
-
- 9-21-91 ed.c
-
- function: command() no longer exists
-
- Now that most functions seem stable (for the time being), change the big
- switch statement that calls the editor functions to an array of pointers
- to functions. It saves space and is faster than the switch statement.
- We know what function to call as soon a key is pressed. No need for tests,
- just use the key code as an index into the array of functions.
-
- 9-24-91 all files
-
- Redefine pointers and function prototypes as needed so tde may be compiled
- with the SMALL memory model. Use the model independent functions when
- working with the text buffer pointers. Steal the screen buffer and use it
- to buffer file I/O because there are no model independent fwrite() and
- fread() library functions. The screen buffer is only used in get_help(),
- so the buffer is just taking up space most of the time.
-
- 9-26-91 ed.c utils.c
-
- functions: undo() and load_undo_buffer()
-
- Added a simple undo function. Room for UNDO_MAX most recently deleted
- lines. Implement a simple stack procedure to save the lines. When the
- stack overflows, just dump the oldest line and add the new one. Assign
- this function to ALT+Y. Because I'm used to deleting lines with Control+Y,
- it should be easy remember ALT+Y to do the reverse.
-
- A more sophisticated undo algorithm with a larger buffer could have been
- implemented, but if I really mess up a file - I might as well just quit
- and start over.
-
- 10-2-91 findrep.c
-
- function: do_replace( )
-
- Added net changes when doing a replace to some cursors twice. Let
- addorsub_all_cursors( ) handle all cursor adjustments.
-
- 10-4-91 ed.c
-
- functions: beg_next_line( ), next_line( )
-
- Added two new functions for the Enter key. They are assigned to Shift+Enter
- and Control+Enter. These functions were added to give the user a choice of
- functions if the user wants to redefine the Enter key.
-
- 10-5-91 tdecfg.exe
-
- Finally finished a configuration utility to let users redefine 184 various
- function keys. Combined it with the tdecolor so there will be only one
- easy to use configuration utility.
-
- 10-5-91 tde, version 1.2
-
- All planned changes and additions completed for this version. As a matter
- of coincidence, I finished this version of tde around 5:30 pm as the
- Atlanta Braves win the NL West pennant. Date this version 10-5-91 and
- release all source code. Well, I guess I'll have to wait until spring
- training begins to make any additions to tde unless I learn how to program
- without watching the Braves on TBS while drinking lots of beer.
-