home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / EDITOR / TDE120.ZIP / CHANGES.TDE < prev    next >
Encoding:
Text File  |  1991-10-05  |  17.4 KB  |  458 lines

  1.  
  2.                           tde, the Thomson-Davis Editor
  3.                                   Version 1.2
  4.                                     10-5-91
  5.                                   Frank Davis
  6.  
  7.                                     Log file
  8.  
  9.  
  10. Inconvenience adjustments, additions, and optimizations for version 1.0:
  11.  
  12. 6-24-91  findrep.c
  13.  
  14.   When the search came to characters in the extended ASCII set, the extended
  15.   characters were treated as minus indexes.  The result in the backward_boyer_
  16.   moore_search function was an infinite loop and the result was undefined in the
  17.   forward_boyer_moore_search function.   Solution:  typecast the index character
  18.   as an unsigned char to handle the extended ASCII character set.
  19.  
  20.  
  21. 6-25-91  block.c
  22.  
  23.   function unmark_block( )
  24.  
  25.     Do not pass any parameters to function.  We already know the marked
  26.     window is in g_status.marked_window.  Just initialize the block variables
  27.     and redraw all windows, w/o marked block, pointing to g_status.marked_file.
  28.  
  29. 6-25-91  block.c
  30.  
  31.   function   void move_copy_delete_overlay_block( window, action )
  32.  
  33.  
  34.    if (block_type == LINE && action == DELETE && source_window->rline >= br) {
  35.       source_window->rline -= ((er + 1) - br);
  36.       if (source_window->rline < br)
  37.          source_window->rline = br;
  38.    }
  39.  
  40.   added the above lines to adjust the rline in the source_window of a deleted
  41.   line block when the rline is greater than the beginning of marked row.  this
  42.   puts the cursor of the source window in a pleasing position after a block
  43.   line delete.  when the cursor is past the br, it subtracts the length of
  44.   the marked block from rline.
  45.  
  46.  
  47. 6-26-91  ed.c
  48.  
  49.    function   line_kill( window )
  50.  
  51.    do not reset column to 0 when deleting a line.
  52.  
  53.  
  54. 6-28-91 thru 6-30-91
  55.  
  56.    massive changes.  speed up LINE block operations.  speed up writing file
  57.    back to disk.  use the line buffer to recover changes to line and to speed
  58.    up editing large files (like Doug had originally in dte 5.1).   editor now
  59.    handles large file truncations properly.
  60.  
  61.    I put the line buffer back in tde like Doug originally had in dte 5.1.  For
  62.    small files (files < 64K), the line buffer doesn't make any difference in
  63.    speed, but tde begins to slow down on bigger files (files > 200K) or with
  64.    multiple files.  It's also easier to implement a simple undo function with
  65.    the line buffer back in.
  66.  
  67.  
  68. 7-1-91  main.c
  69.  
  70.    improve the video adapter detection algorithm.  add support for different
  71.    cursor sizes depending on state of insert flag.
  72.  
  73. 7-4-91  findrep.c
  74.  
  75.    function  void goto_end_file( window )
  76.  
  77.    since we know current line number and number of lines on screen, use simple
  78.    math to determine when to move to eof (if we are already on last page, do
  79.    nothing).  the old algorithm did not properly position at eof when cursor
  80.    was less than a screen full from eof.  the new algorithm is also a little
  81.    smaller and faster.
  82.  
  83. 7-5-91  main.c
  84.  
  85.    Received suggestion and from Tom Waters, twaters@nswc-wo.navy.mil.
  86.  
  87.    "I use ANSI.SYS to redefine a few of my function keys and this causes a
  88.    problem when getch() is used in a program.  For example, instead of returning
  89.    321 for the F7, I get the redefined string inserted in the text. So, instead
  90.    of using getch(), I use the following function..."
  91.  
  92.         int  getkey( void )   -  at bottom of main.c
  93.  
  94.    Tom, thanks for the info and the solution.  I'm sure your function will be
  95.    be appreciated by everyone with ANSI key defs, Frank.
  96.  
  97.    Damn, Doug originally used the bioskey function in his editor, dte 5.1, and
  98.    I took it out (I goofed again).
  99.  
  100. 7-5-91 utils.c
  101.  
  102.    function:  void word_right( window )
  103.  
  104.    Inconvenience adjustment from Tom Waters, twaters@nswc-wo.navy.mil.
  105.    Initialize variable "check" to 0 at beginning of function.
  106.  
  107. 7-5-91  tde.doc
  108.  
  109.    Finally broke down and wrote a simple manual for tde.
  110.  
  111. 7-10-91 main.c
  112.  
  113.    function:  int write_file( name, mode, start, end, block, prompt_line )
  114.  
  115.    Block print/write ending tests need adjustment.  When doing BOX print/write,
  116.    tde missed the last line.  When doing LINE print/write, tde went one
  117.    character too far.
  118.  
  119. 7-11-91 my sister's birthday, her 29th
  120.  
  121.    Hmmm, I'll set the date on all the files in this version of tde to 7-11-91.
  122.    What more could my sister want on her birthday?  There are only 364 more
  123.    shopping days until her next birthday.
  124.  
  125.    Added a horizontal screen function and assigned it to ^F10 since it is a
  126.    window function.  Suppose the cursor is somewhere on a line, this function
  127.    redraws the screen, if needed, beginning in column 1 and the cursor stays in
  128.    the same logical column.  (Does a horizontal page 1 thing.)  New function
  129.    name is "column_1" in window.c.
  130.  
  131. 7-12-91  main.c
  132.  
  133.    Received a request from Bruce Hunter, Tigard, Oregon, USA.
  134.  
  135.    "How do I get an escape code?  I have tried ALT-027, the control equiva-
  136.    lent, and even tried the escape key.  None of them works.  I need the escape
  137.    sequence for changing screen attributes and entering printer codes in batch
  138.    files..."
  139.  
  140.    functions:  int  getkey( )
  141.                int  getfunc( int )
  142.  
  143.    Bruce thanks for the suggestion.  I miss the ability to insert form feeds
  144.    (ALT-012) into text files.
  145.  
  146.    I rewrote the getkey function in main.c to allow almost any ALT-xxx as a
  147.    normal text character.  I had to modify the key definition array in
  148.    default.h and reassign the values for those keys in the range 0-31 to
  149.    400-431.  ESC is now defined as 427.  The only key you can't enter via
  150.    ALT-xxx is 013 - a return is a return is a return.
  151.  
  152. 7-13-91 utils.c
  153.  
  154.    function:  void redraw_screen( windows * )
  155.               void redraw_current_window( windows * )
  156.  
  157.    Modified redraw_screen() to redraw everything on the screen.  I added the
  158.    redraw_current_window() function to redraw the current visible window.
  159.    Now the ^\ function works correctly.
  160.  
  161. 7-13-91  main.c
  162.  
  163.    function: int getkey( ), void error( )
  164.  
  165.    Do not allow control z to get thru.  If the user enters ALT-026, make it
  166.    400, which is not assigned to any function.  In the error( ) function, we
  167.    now have to look up the function assigned to a key (AbortCommand).
  168.    key_func[c].func will not work anymore - must go thru getfunc( ) to get the
  169.    function assigned to a key.
  170.  
  171. 7-13-91  default.h  help.h  main.c
  172.  
  173.    It's hard to believe, but I mapped the control keys to more accurately
  174.    imitate the WordStar type commands.  ^Z is the scroll line down key and
  175.    ^X is the line down key.
  176.  
  177. 7-14-91  main.c help.h
  178.  
  179.    function:  int getkey( )
  180.  
  181.    I'm back to my old self, now (a long time WordStar command hater).  I've
  182.    taken the ^W and ^Z WordStar type commands out of the help screen and
  183.    replaced them with the Gray - and Gray + keys.  ^W and ^Z are still
  184.    connected, but are not listed in the help screen.   If Num Lock is off then
  185.    the Gray - and Gray + are scroll functions.  If Num Lock is on then Gray -
  186.    and Gray + are interpreted as - and +.
  187.  
  188. 7-14-91  tde.nmk  tde.qmk
  189.  
  190.    Received an inconvenience report from Troy Hanson, CC76@SDSUMUS.
  191.  
  192.    "I have 386/16 running MS DOS 5.0, and normally, I have 630K of base memory
  193.    free.  When trying to use your editor on an almost empty memory, I get a
  194.    message saying that the file is too big for memory.  When I load several
  195.    TSR's low, putting my base memory to below 600k, the editor works great."
  196.  
  197.    Troy, thanks for the note on MS DOS 5.0.  I read a report, written by a
  198.    Microsoft guy on the Info-IBMPC list, that suggested reducing the maximum
  199.    number of paragraphs needed by a program.  I changed the linker switches in
  200.    the nmake files to take care of this inconvenient feature (was this a
  201.    MS DOS 5.0 or a tde 1.0 feature?).  Can MS DOS 5.01 be far behind?
  202.  
  203. 7-16-91  block.c
  204.  
  205.    function:  void mark_block( )
  206.  
  207.    Made small adjustment in the way BOX blocks are marked.  If the cursor is
  208.    above the marked BOX, then expand the block to the cursor instead of
  209.    shrinking BOX to cursor.
  210.  
  211. 7-17-91  block.c
  212.  
  213.    function:  void expand_tabs( )
  214.  
  215.    Set g_status.copied to FALSE at end of for loop otherwise un_copy thinks
  216.    line has been copied.
  217.  
  218. 7-18-91  ed.c  findrep.c  main.c  tdestr.h
  219.  
  220.    Added a diagnostic "wrapped..." message when the search wrapped around the
  221.    beginning or ending of a file.
  222.  
  223.    After adding that diagnostic switch for wrapped displays, I found that the
  224.    backward_boyer_moore_search function needed an adjustment.  The search start
  225.    needed to begin in a different place than the forward_boyer_moore_search.
  226.  
  227. 7-19-91  ed.c
  228.  
  229.    function:  void line_kill( )
  230.  
  231.    If the cursor is on the last line of the screen, the text was not scrolling
  232.    up properly.
  233.  
  234. 7-21-91  tdecolor.exe  tdecolor.c  tdecolor.h  tdecolor.doc
  235.  
  236.    Might as well knock out a quick and dirty color configuration utility.  Name
  237.    it tdecolor.exe and distribute all source code.
  238.  
  239. 7-22-91  hwind.c  utils.c
  240.  
  241.    Make a few changes in the way the colors are handled (all minor).  Add
  242.    function window_scroll_up_eof.  tde now gives the user an idea of where the
  243.    eof is if a background color other black is selected.
  244.  
  245. 7-22-91  most files
  246.  
  247.    Moved the dirty attribute from window structure to file structure.  All
  248.    windows pointing to the dirty file are updated.  It makes more sense to put
  249.    it with the file structure.  Also easier to update the screen in certain
  250.    situations (especially when doing block stuff).  BTW, I finally cleaned up
  251.    the BOX expand tabs - now the algorithm is similar to the regular BOX
  252.    operations.
  253.  
  254. 7-26-91  block.c
  255.  
  256.    function:  prepare_block( )
  257.  
  258.    This function added one too many spaces to fill out a line for box
  259.    operations.  The was no problem unless the destination was less than the
  260.    source.  In version 1.0 this was not a problem because space at the end
  261.    of a line was not removed by the un_copy function.  Now, the exact number
  262.    of characters must be added to pad the line or the source for box operations
  263.    will not be correct in some situations.
  264.  
  265. 7-28-91  ed.c
  266.  
  267.    function:  editor( )
  268.  
  269.    tde does not check the for initial memory limits properly.  Set stop to
  270.    FALSE if there is not enough memory to open the initial window.
  271.  
  272.    Play around with the maximum number of paragraphs needed for DOS 5.0.
  273.  
  274. 7-28-91
  275.  
  276.    tde seems fairly stable now and it has a manual and a simple configuration
  277.    utility.  Changed and checked everything on my "to do" list.  Kick these
  278.    adjustments out the door with a new version number, tde version 1.1, and
  279.    date all the files to my sister's birthday 7-11-91.
  280.  
  281.  
  282.  
  283. Inconvenience adjustments, additions, and optimizations for version 1.1:
  284.  
  285. 8-26-91  findrep.c
  286.  
  287.    function:  void build_boyer_array( )
  288.  
  289.    Change char *p as unsigned char *p.  Same damn type of problem that was
  290.    solved on 6-24-91.  Didn't find this feature at that time.
  291.  
  292. 8-31-91 thru 9-2-91   all files
  293.  
  294.    Received several excellent suggestions from Jim Wilson, Union, NJ, USA.
  295.  
  296.    1) Multiple full screen windows and swap hidden windows, see ^F9 and ^F10.
  297.  
  298.    2) Put word delete back in, Control+T.
  299.  
  300.    3) Added dirty file marker, it's an asterisk in front of file name.
  301.  
  302.    4) Home toggles between first character on line and column 1, nice!
  303.  
  304.    5) Fixed scroll up and down, Alt Grey Up and Alt Grey Down.  I didn't fix
  305.       scroll up and scroll down - they weren't broken.  I implemented a
  306.       stationary scroll up and a stationary scroll down.  The cursor stays
  307.       on the same line on the screen while the text scrolls up or down.
  308.  
  309.    6) Added a toggle for stream delete so delete key joins lines, Ctrl+Del.
  310.       You could eventually delete all characters in a file if in stream mode.
  311.  
  312. 9-2-91  ed.c  main.c  window.c
  313.  
  314.    Fixed it so that tde does not try to load in a directory as a file.
  315.    Changed the ERROR condition to a WARNING when a file is too big to load
  316.    into memory.
  317.  
  318. 9-2-91  block.c
  319.  
  320.    function:  block_print( )
  321.  
  322.    Modified block_print( ) so user may stop printing by pressing ESC.
  323.  
  324. 9-8-91  simul101.asm
  325.  
  326.    function:  _simulate_enh_kbd( )
  327.  
  328.    Wrote this routine to support Control+Up, Control+Down, and Center for my
  329.    84 key keyboard at home.  I also rewrote the getkey() function (bottom of
  330.    main.c), again, to use the extended interrupt 16 functions.  getkey() now
  331.    checks for 101 keyboards and uses the extended functions.   Although I was
  332.    fully aware of the extended interrupt 16 functions, I wanted to hold off
  333.    using those functions until I could simulate them on older machines/
  334.    keyboards.
  335.  
  336.    For those who don't have access to an assembler and who want to compile
  337.    tde, it won't hurt anything to leave the simulate_enh_kbd function out.
  338.    The simulated extended codes will not be available on older machines, which
  339.    is no big deal.
  340.  
  341. 9-10-91  utils.c
  342.  
  343.    function:  centerwindow( )
  344.  
  345.    Wrote a new function for the center key (5 on key pad).  Very helpful when
  346.    you want to go to the middle of the screen and split the window.  There
  347.    are actually two functions in that routine 1) center the cursor in the
  348.    current window and 2) center the current line in the current window.
  349.  
  350. 9-12-91  utils.c  window.c
  351.  
  352.    function:  show_window_header( )
  353.  
  354.    Added an indicator to let users know which file a window is opened to.
  355.    Cleaned up some of the inconvenient features in the window commands.
  356.    Changed the lite bar at the bottom of the screen to let the user know how
  357.    many files and windows are open.
  358.  
  359. 9-13-91  main.c
  360.  
  361.    Watched one of my users try to "break" tde in a Windows 386 real mode window.
  362.    The system seemed to have less memory after editing a file with tde.
  363.    Damn, I forgot to deallocate the memory buffer used for editing all files.
  364.    Deallocate all memory upon termination of the program.
  365.  
  366. 9-14-91  utils.c
  367.  
  368.    function:  horizontal_screen_right(),  horizontal_screen_left()
  369.  
  370.    Added a couple of functions to do horizontal page left and right.  Assigned
  371.    Alt+Grey left and Alt+Grey right to those functions.  Since my fingers are
  372.    used to cursor movement with the cursor keys, seems to make sense to put
  373.    these functions there (^Grey - and ^Grey + on 83/84 key keyboards).
  374.  
  375. 9-16-91  utils.c
  376.  
  377.    function:  show_eof( )
  378.  
  379.    Tired of guessing where the eof is?  Wrote this function to display the
  380.    eof so users (and me) won't get confused when editing near the eof.
  381.  
  382.    Thanks to Leslie Martin, Portland, OR, USA, for suggesting this feature.
  383.    I think all users will appreciate this function.
  384.  
  385. 9-18-91  block.c
  386.  
  387.    I improved the box operations so much they don't work properly.  Fixed
  388.    all the box block improvements.  Line blocks were not affected - they use
  389.    a different algorithm.
  390.  
  391. 9-19-91  all files
  392.  
  393.    Added a few register variables to improve execution speed & reduce code size.
  394.  
  395. 9-21-91  ed.c
  396.  
  397.    function:  command()  no longer exists
  398.  
  399.    Now that most functions seem stable (for the time being), change the big
  400.    switch statement that calls the editor functions to an array of pointers
  401.    to functions.  It saves space and is faster than the switch statement.
  402.    We know what function to call as soon a key is pressed.  No need for tests,
  403.    just use the key code as an index into the array of functions.
  404.  
  405. 9-24-91  all files
  406.  
  407.    Redefine pointers and function prototypes as needed so tde may be compiled
  408.    with the SMALL memory model.  Use the model independent functions when
  409.    working with the text buffer pointers.  Steal the screen buffer and use it
  410.    to buffer file I/O because there are no model independent fwrite() and
  411.    fread() library functions.  The screen buffer is only used in get_help(),
  412.    so the buffer is just taking up space most of the time.
  413.  
  414. 9-26-91  ed.c  utils.c
  415.  
  416.    functions:  undo() and load_undo_buffer()
  417.  
  418.    Added a simple undo function.  Room for UNDO_MAX most recently deleted
  419.    lines.  Implement a simple stack procedure to save the lines.  When the
  420.    stack overflows, just dump the oldest line and add the new one.  Assign
  421.    this function to ALT+Y.  Because I'm used to deleting lines with Control+Y,
  422.    it should be easy remember ALT+Y to do the reverse.
  423.  
  424.    A more sophisticated undo algorithm with a larger buffer could have been
  425.    implemented, but if I really mess up a file  -  I might as well just quit
  426.    and start over.
  427.  
  428. 10-2-91  findrep.c
  429.  
  430.    function:  do_replace( )
  431.  
  432.    Added net changes when doing a replace to some cursors twice.   Let
  433.    addorsub_all_cursors( ) handle all cursor adjustments.
  434.  
  435. 10-4-91  ed.c
  436.  
  437.    functions:  beg_next_line( ),  next_line( )
  438.  
  439.    Added two new functions for the Enter key.  They are assigned to Shift+Enter
  440.    and Control+Enter.  These functions were added to give the user a choice of
  441.    functions if the user wants to redefine the Enter key.
  442.  
  443. 10-5-91  tdecfg.exe
  444.  
  445.    Finally finished a configuration utility to let users redefine 184 various
  446.    function keys.  Combined it with the tdecolor so there will be only one
  447.    easy to use configuration utility.
  448.  
  449. 10-5-91  tde, version 1.2
  450.  
  451.    All planned changes and additions completed for this version.  As a matter
  452.    of coincidence, I finished this version of tde around 5:30 pm as the
  453.    Atlanta Braves win the NL West pennant.  Date this version 10-5-91 and
  454.    release all source code.  Well, I guess I'll have to wait until spring
  455.    training begins to make any additions to tde unless I learn how to program
  456.    without watching the Braves on TBS while drinking lots of beer.
  457.  
  458.