blob: 94ec2a7136083cc306183367fb95dd14501c1798 [file] [log] [blame]
Robert Siemborski91413cf2000-06-07 02:20:46 +00001since last release (CVS Only) - 06/06/2000
Chris Allegretta12de8e82000-06-09 02:40:50 +00002- id.po:
3 - Indonesian translation by Tedi Heriyanto.
Robert Siemborski91413cf2000-06-07 02:20:46 +00004- winio.c
5 - Rewrite of display functions to correct the display problems
6 we had been seeing. Affects: add_marked_sameline, edit_add,
7 and many others. (Rob Siemborski)
Chris Allegretta12de8e82000-06-09 02:40:50 +00008- cut.c:
Robert Siemborskib0df9532000-06-09 00:55:16 +00009 - totsize fixes (Rob Siemborski)
Chris Allegretta12de8e82000-06-09 02:40:50 +000010- nano.c:
Robert Siemborskib0df9532000-06-09 00:55:16 +000011 - totsize fixes (Rob Siemborski)
12 - experimental do_wrap and check_wrap (Adam Rogoyski)
Robert Siemborski91413cf2000-06-07 02:20:46 +000013
Chris Allegrettaa2ea1932000-06-06 05:53:49 +000014nano-0.9.10 - 06/04/2000
15- es.po:
16 - Translation updates (Jordi).
17- AUTHORS, nano.1.html, TODO, README:
18 - Documentation and email address updates (Jordi).
19- nano.c:
20 main():
21 - Moved Adam's termio code down to after getopt() and before initscr()
22 to stop people losing their SIGINT character when using args that
23 exit nano before it runs (--version, --help, etc).
24
25nano-0.9.9 - 05/31/2000
26- Makeile.am:
27 - Added proper lines for defining LOCALEDIR.
28- configure.in:
29 - Spelling fixes (Jordi Mallach)
30 - Removed CFLAGS changes for gcc, reduces portability according to
31 some, and it certainly doesn't seem to decrease exe size.
32- es.po:
33 - Spanish ranslation updates (Jordi Mallach)
34- POTFILES.in:
35 - Added global.c file, was screwing up translations (i.e. they
36 weren't getting done).
37- cut.c:
38 add_to_cutbuffer():
39 - Added totsize increment.
40 - Cut fixes and optimizations (Rob Siemborski).
41 do_uncut_text():
42 - Added totsize increment in several places.
43- nano.c:
44 headers:
45 - Removed LOCALEDIR define.
46 do_justify():
47 - Added edit_refresh() call (bug discovered by Adam).
48 page_down_center():
49 - Added call to edit_update(current) for last case. Removed
50 increment of current_y since it's now just wasteful.
51 do_enter():
52 - Added totsize increment.
53 renumber(), renumber_all():
54 - Removed totsize-- and totsize init in renumber_all.
55 do_mouse():
56 - Added edit_refresh() call to show hilight updates. Removed
57 unnecessary wrefresh(edit).
58 main():
59 - Moved up locale calls so that translated --help messages would
60 actually get translated.
61 do_backspace(), do_delete():
62 - Added decrement of totsize.
63 init_help_msg():
64 - New function, initializes help text if NANO_SMALL isn't set (fixes
65 broken i18n).
66 read_file():
67 - malloc call changed to nmalloc (Rob Siemborski).
68- winio.c:
69 total_refresh():
70 - Completely rewrote function, not quite so braindamaged now.
71
72nano-0.9.8 - 05/18/2000
73- nano.c:
74 main():
75 - Added awesome code that disables the CINTR and CQUIT
76 character (Adam Rogoyski). Removed raw()/noraw() calls so that
77 nano gets input in 'normal' mode, which is the Right Way(tm) to
78 do it. ^S, ^Z and ^Q now work properly as a result, as well as
79 ^C. New variable term, global bariable oldterm to save previous
80 term settings, and changes to finish() and die().
81 - Added extra #ifdefs in getopt code, so that above code and
82 flag init is run even if GETOPT_LONG is not #defined.
83 - Added memset line before sigactions. (Adam Rogoyski)
84 do_suspend():
85 Removed function, see above for why.
86- winio.c:
87 update_line(), center_cursor():
88 - Removed wrefresh(edit) from bottom of functions. wrefresh
89 should now only be called once, at the bottom of the main()
90 loop.
91- global.c:
92 shortcut_init():
93 - Removed suspend sc_init call and suspend message because suspend is no
94 longer needed in the shortcut list to work properly.
95
96nano-0.9.7 - 05/14/2000
97- nano.c:
98 do_home(), do_end():
99 - Added calls to update_line for the current line, fixes
100 lack of update (bug discovered by Alberto GarcĂ­a).
101 main():
102 - Added SET(FOLLOW_SYMLINKS) before getopt call, fixes not
103 following symlinks even when -l isn't set, and "no changes"
104 error when nano is called from crontab -e (Adam Rogoyski).
105- cut.c:
106 do_cut_text():
107 - Added edit_update_top to cut when mark is set, fixes lack of
108 display update (bug discovered by Ken Tyler).
109
110nano-0.9.6 - 05/08/2000
111- New Italian translation (it.po), by Daniele Medri.
112- nano.c:
113 page_up(), page_down():
114 - Added reset of placewewant to 0, as it should be.
115 do_up(), do_down():
116 - Added call to update_line() for line we move from and line we
117 move to, in order to keep the highlighting correct.
118 do_wrap():
119 - Added var chop, new code to wrap lines more like Pico, mostly.
120 THIS STILL DEFINITELY NEEDS TO BE REWRITTEN!
121- winio.c:
122 do_help():
123 - Added edit_refresh() before exit.
124 update_cursor():
125 - Removed cursor updating which really wasn't needed anyway.
126 edit_update():
127 - Removed yucky code that didn't work, this function now just
128 computes edittop and editbot and calls edit_refresh() to do the
129 rest, which removes a lot of dupliicate code..
130
131nano-0.9.5 - 05/01/2000
132- Removed bytes from file struct because it was computationally wasteful.
133- cut.c:
134 do_uncut_text():
135 - Added call to edit_refresh().
136- nano.c:
137 do_backspace():
138 - Added reset of editbot when deleting the last line of the file
139 (bug discovered by Adam).
140 do_char():
141 - Removed call to reset_cursor().
142 do_delete():
143 - Added similar check as to do_backspace().
144 do_enter():
145 - Added call to edit_refresh().
146 do_left(), right():
147 - Added call to update_line(), still redundant but better...
148 do_up(), do_down():
149 - Added refresh calls both for current line and line to which
150 we are moving.
151 main():
152 - Removed inefficient call to edit_refresh() after every keystroke.
153 It is now up each function to leave the screen in a good state.
154- winio.c:
155 do_cursorpos()
156 - Rewritten to not use bytes from filestruct by an incremental sum.
157 update_line(), reset_cursor():
158 - Optimized calls to xplustabs() through a single variable.
159 - update_line() now takes a new arg, an index into the string
160 for where to update the line from. Needed for new update
161 code.
162- configure.in:
163 - Better checks for slang, allows argument to --with-slang.
164 (Albert Chin-A-Young)
165 - Removed -Iintl from CFLAGS in gcc check.
166- Makefile.am:
167 - Addition of -Iintl for gettext (Albert Chin-A-Young)
168
169nano-0.9.4 - 04/25/2000
170 - Fixed calls to no_help and changed them to the more consistent
171 ISSET(NO_HELP). Fixed return val of no_help to be what it should (2,
172 not 1. Code to temporarily disable NO_HELP when in the
173 help system. (Adam Rogoyski)
174- cut.c:
175 do_marked_cut(), do_cut(), do_uncut():
176 - Commented out unnecessary bits when NANO_SMALL is being used.
177- winio.c:
178 xpt(), strlenpt(), actual_x():
179 - Added check for value of data[i] & 0x80, if so do not make
180 character 2 chars wide (orig. by Chris, 0x80 check by Adam).
181 edit_refresh():
182 - New check for temp == NULL (bad thing), if so go back to the
183 previous line. New filestruct var hold points to prev line.
184 Fixes segfault when paging down to the end of a file.
185- nano.c:
186 write_file():
187 - Added check for if file exists and is not equal to the current
188 filename, prompt for overwrite (Adam Rogoyski).
189 do_down():
190 - Removed check for current->next == NULL, now checks return value
191 of do_down before setting current_x = 0 (discovered by Adam).
192 do_justify():
193 - Fixed segfault when reaching the last line (tried to assign
194 currrent->next->data when current->next == NULL) (discovered
195 by Adam).
196- utils.c:
197 - Removed extra macro defs that are now in nano.h.
198- nano.h:
199 - Changed macro SET() to use |= instead of ^=. Fixes bug in
200 cut code when cutting more than one line, and cutbuffer gets
201 blown away when it shouldnt.
202
203nano-0.9.3 - 04/29/2000
204- cut.c:
205 do_marked_cut():
206 - Fixed off by one error in cut code for marked text.
207 do_cut_text():
208 - Removed check for being on the last line, part of
209 magic line code.
210 add_to_cutbuffer():
211 - Moved tmp->prev = inptr line to part where cutbuffer != NULL.
212 - Added inptr->prev = NULL for case where cutbuffer == NULL.
213- nano.c:
214 do_backspace(), do_char():
215 - Removed "magic line" code. It was basically causing more bugs
216 than it was helping for the sake of compatibillity. This fixes
217 at least one known segfault condition.
218 do_enter():
219 - Added setting editbot to new node if the new node is the last
220 node in the file.
221 write_file():
222 - Changed writing file bahavior. Now, if last line of the file
223 has any data on it, we write a newline on it, else we dont.
224- winio.c:
225 add_marked_sameline():
226 - New code that checks for whether the begin and end of the marker
227 are on different lines. Missing previously.
228 edit_add():
229 - added some more checks for text length. Cleaned up some mvwaddnstrs that
230 could be written more simply as waddnstrs.
231 edit_refresh():
232 - Removed check for temp == filebot, it is now treated like any other line.
233 Fixes a bug where selected text on the last line shows normally.
234 xpt():
235 - Removed an extra computation for tabs variable that was incorrect.
236 xplustabs():
237 - Since xpt now actualy works, this func is now just a wrapper for
238 xpt(current, current_x)
239- nano.1, nano.1.html:
240 - Added -l option to man pages.
241- configure.in:
242 - New option --enable-tiny, #defines NANO_SMALL in config.h.
243 Disables call to gettext in functions and other i18n stuff in
244 nano.c, the detailed help mode, the resize functions, and the
245 justify code which no one ever uses.
246 - New option --with-slang. Enables slang libraries instead of
247 ncurses, requires slcurses.h for wrapper functions. (Based
248 on patches for 0.8.7 by Glenn McGrath).
249
250nano-0.9.2 - 04/15/2000
251- This release just fixes the serious segfault problem if nano is
252 invoked any way other than using the absolute path. The bug was
253 in the new code for checking whether nano is invoked as pico.
254
255nano-0.9.1 - 04/14/2000
256- Added pico compatibility for ^T when in search or switch to switch
257 to the opposite function. Added one to REPLACE_LIST_LEN and
258 WHEREIS_LIST_LEN in nano.h, new args to sc_init_one in global.c and
259 new strings that will have to be gettex()ed. New argument 'replacing'
260 to search_init(). Handlers in do_replace and do_search().
261- New write code, now follows symbolic links instead of replacing them
262 with the new file. New option (-l, --nofollow) to enable the old
263 (incorrect, but secure) behavior (Adam Rogoyski).
264- nano.c:
265 do_wrap():
266 - Fixed another bug relating to wrapping, and which would cause
267 a segfault *sigh*.
268 do_replace():
269 - Incremented current_x by the length of the replacement
270 text inside the main repalce loop. Fixes bug #15.
271 add_marked_sameline():
272 - New function, handles marked text when start & end of marker is
273 on one line, also supports most marked text when cursor > COLS.
274 main():
275 - Code to check if nano is invoked as 'pico', and if so
276 automatically set pico_msgs (Robert Jones).
277
278nano-0.9.0 - 04/07/2000
279- nano.1, nano.1.html: Updated man page with my email address and homepage.
280- winio.c:
281 reset_cursor(), update_line():
282 - Changed update algorithm for x value to (COLS - 7) multiple when x
283 value > (COLS - 2).
284- edit_refresh():
285 - Removed inner loop code, now calls update_line() for each line
286 in question, MUCH nicer.
287- xplustabs(), xpt():
288 - Removed redundant increment of tabs when collumn no % 8 == 0.
289 - Added check for data[i] < 32, most of such bits are 2 chars wide.
290- update_line():
291 - Fixed a stupid call to strlenpt with col when we should have
292 been using actual_col. Ugh.
293
294nano-0.8.9 - 03/22/2000
295- nano.c:
296 empty_line(), no_spaces(), justify_format(), do_justify():
297 Actually added these (screwup applying patch).
298 do_justify(): Added call to set_modified().
299
300nano-0.8.8 - 03/12/2000
301- Preliminary internationalization support. Many many functions modified
302 to use gettext (via _() macro). es.po file included. (Jordi Mallach)
303 New dirs po/ and intl/, changes to configure.in and Automake.am to
304 support i18n.
305- nano.c:
306 includes: Ddded sys/param.h and limits.h. (Adam Rogoyski).
307 statics: Changed some things that were not necessarily static
308 (Adam Rogoyski).
309 nrealloc(): New function, similar to nmalloc(). Changed calls from
310 realloc() to nrealloc (Adam Rogoyski).
311 empty_line(), no_spaces(), justify_format(), do_justify():
312 New functions for justify function (Adam Rogoyski).
313- winio.c:
314 blank_edit(): Added wrefresh call to edit so that screen updates (like
315 on ^L) actually work.
316 xplustabs(), xpt(), strlenpt(): Fixed off-by-one buglets (Adam Rogoyski).
317
318nano-0.8.7 - 03/01/2000
319- main.c:
320 do_wrap(): Better fix for segfaults, and fix for lisnes being wrapped
321 to a single character on one line when no good place to
322 break the line exists, and for wrapping lines longer than COLS.
323- nano.1.html:
324 Html version of man page, now included in dist. For
325 the benefit of nano packages in Linux distributions.
326
327nano-0.8.6 - 02/24/2000
328- gobal.c:
329 shortcut_init():
330 Added shortcuts for goto_line and do_replace when using
331 pico_msgs. Oops.
332- nano.c:
333 statics: Changed fill back to 0 from 71 by default (Adam Rogoyski).
334 do_wrap(): Added check for backing up past tabs, which we shouldnt do.
335 Removed check for backing up past spaces first.
336 main(): Added for loop to check for alt keys instead of hard list.
337 do_enter(): Fix for bug #14, added call to reset_cursor and messed
338 up do_char quite a bit.
339 version(): Added time and date stamp for compile on version message.
340 Added mail and web page info.
341- README: Updated mailing list info.
342
343nano-0.8.5 - 02/18/2000
344- nano.c:
345 main(): Finally fixed tilde being input on page up/down keys in
346 certain terminal types. Fix was input 26->91->5[34] check
347 for 126, if so make the kbinput PAGE UP/DOWN, else unget
348 the keystroke and continue. Added #include <ioctl.h> for
349 ioctl call.
350 handle_hup():
351 Handler for hangup signal. Belated include of patch from
352 Tim Sherwood.
353- winio.c:
354 edit_refresh():
355 Temporary fix for selecting text when temp == current.
356 edit_refresh() is now unmanagably complex, and must be
357 revamped.
358 check_statblank():
359 Added check for constupdate, makes things less choppy
360 (Adam Rogoyski)
361
362nano-0.8.4 - 02/11/2000
363- Moved global variables that were only (or mostly) used in one file into
364 its proper file as a static. Affects cut.c, nano.c, global.c (Andy Kahn).
365- global.c:
366 shortcut_init():
367 Removed redundant NANO_CONTROL_H from backspace shortcut,
368 added char 127 which should have been there.
369- nano.c:
370 main(): Fix for loops looping until MAIN_LEN, added -1 to stop
371 segfaults (Adam Rogoyski).
372- Makefile.am: Added all source filenames (Adam Rogoyski).
373- nano.1: Fixed mail addressed and added mailing list address.
374- README: Updated my email address and the nano web page.
375
376nano-0.8.3 - 02/08/2000
377- New pico mode (-p, --pico), toggles (more) compatibility with the
378 Pico messages displayed in the shortcut list. Note that there are still
379 small differences in this mode.
380- nano.h: New shortcut struct format, for the benefit of i18n and
381 our help menu. Removed shortcut message macros, they are
382 now all in shortcut_init in global.c.
383- nano.c:
384 do_wrap(): Removed resetting of current_x when we are in fact
385 wrapping to the next line, fixes a bug in -i mode.
386 do_enter():
387 Rewrote the autoindent mode code to be a lot less pretty,
388 but a lot more magical.
389 main():
390 Removed case for ignoring char 126 (~). That's kind of
391 important, we'll have to fix handling that sequence when
392 pageing up/down on a terminal some other way... Revamped
393 main switch loop in much snazzier fashion based on the
394 shortcut list.
395- winio.c:
396 New function display_main_list. Affects all functions
397 that used to call bottombars() with main_list. Added
398 because we now only call bottombars with the macro
399 MAIN_VISIBLE instead of MAIN_LIST_LEN, because of the
400 changes to the main_list shortcut list (see global.c below).
401 New function do_help, our preliminary dynamic help system.
402- Many many funcs:
403 Changed from int to void to allow one uniform type to call
404 from the shortcut struct. Also a few functions that do
405 not simple have void argument have new functions called
406 funcname_void(void) to be called from the shortcut list.
407 do_cut_text and do_uncut_text were changed to void
408 arguments because they were never called with a filestruct
409 other than *current anyway.
410- global.c:
411 Shortcut list main_list was expanded to cover all
412 shortcuts that could be caught in the main loop.
413 Consequently there is a new macro MAIN_VISIBLE which tells
414 how many items in the main list to actually show.
415
416nano-0.8.2 - 02/02/2000
417- Added initial mouse (-m, --mouse) support. New global variable
418 use_mouse. (Adam Rogoyski)
419
420- nano.c: Set intial value of fill to COLS - 8 rather than just 72
421 regardless. (Adam Rogoyski).
422 do_delete():
423 Deleted call to do_backspace() when on the end of a line,
424 because it won't update the line properly.
425 do_backspace():
426 Removed unnecessary pointer manipulation that was being
427 handled by unlink_node().
428 open_file():
429 Added check for trying to open a directory (currently we
430 segfault on this). Bug pointed out by Chad Ziccardi.
431
432nano-0.8.1 - 01/28/2000
433- Implemented Pico's -r (fill) mode, command line flag -r or --fill. New
434 global variable fill, affects check_wrap(), do_wrap(), main(), usage(),
435 global.c and proto.h.
436- nano.c:
437write_file(): Added (incredibly) necessary check for EPERM when
438 link() fails. This allows us to actually save
439 files via rename() on filesystems that dont
440 support hard links (AIEEEEEE).
441do_goto():
442 Fixed a stupid mistake where we were calling
443 bottombars() with replace_list instead of goto_list.
444- nano.h:
445 New char *help in shortcut structure for help
446 feature. Added NANO_*_MSG and NANO_*_HELP #deifnes
447 for help function and i18n.
448- global.c:
449 New functions shortcut_init (called in nano.c) and
450 sc_init_one() to initialize the shortcuts without
451 using {}s (for i18n).
452
453nano-0.8.0 - 01/25/2000
454- View flag (-v, --view) implemented. Global variable view_mode, affects
455 main loop of nano.c and new_file(). (me)
456- nano.c:
457 split checks for TERMIOS_H and TERMIO_H up so we
458 can (theoretically) include them both, which is good.
459handle_sigwinch():
460 Added check for ncurses.h. (Andy Kahn)
461do_spell():
462 We now only try ispell because we don't as of yet
463 handle the 'spell' program the right way, now that
464 I finally know what the right way is =-). Added
465 call to edit_update(fileage) to stop segfaults.
466global_init():
467 Added initialization of edit* filestruct pointers
468 to stop segfaults on spell check.
469usage():
470 Check for getopt_long, and if no leave out the
471 GNU options everyone seems to love so much (Andy Kahn)
472main():
473 Added checks for getopt_long (Andy Kahn)
474 We ignore character 126 because it gets put into
475 the buffer when we page up/down on a vt terminal.
476write_file():
477 Fixes for umask (Adam Rogoyski). Renamed tmpfile
478 variable to tmp. Documented the tmp opttion
479 better in the function comments. Fixed my
480 stupidly commented out check for tmp on setting
481 umask which I really like =>
482- nano.h:
483 Made desc variable in shortcut struct a pointer
484 instead of a fixed-length string.
485- utils.c:
486 Fixed check for config.h before nano.h.
487- configure.in:
488 New checks for getopt_long, getopt.h, removed
489 CFLAGS and LDFLAGS changes. Gonna have to run
490 strip manually now =-) (Andy Kahn)
491 Added check for HAVE_WRESIZE, new file acconfig.h (me).
492
493nano-0.7.9 - 01/24/2000
494- New autoindent feature. Command flag 'i' or '--autoindent'. New
495 function do_char() to clean up character output, global
496 variable autoindent in global.c. (Graham Mainwaring)
497- New flag 't' or '--tempfile', like Pico's -t mode, automatically saves
498 files on exit without prompting. Affects do_writeout(). Also
499 do_writeout() now takes a parameter for if exiting.
500 Global variable temp_opt in global.c (Graham Mainwaring)
501- Preliminary spell program support. Added command flag '-s' or
502 '--speller' for alternative speller command. Added function do_spell()
503 and exit_spell() to nano.c. New global variable alt_speller.
504- nano.c:
505 main(): We now ignore input of decimal 410 because these get entered
506 when we resize the screen. Sorted options in getopt()
507 switch statement.
508 usage(): Sorted options and changed tabs to make room for -s option.
509 write_file(): Now takes a second parameter 'tmpfile', uses mask 0600 and
510 doesn't print the number of lines written on the statusbar.
511 global_init():
512 Added more initializations to globals to support do_spell().
513
514nano-0.7.8 - 01/23/2000
515- Stubbed justify function. Affects main() in nano.c and nano.h defines.
516- Added Fkey equivalents for Pico compatibilty. Affects nano.h defines
517 and main() in nano.c
518- Removed redundant reset_cursor() calls from the blank() routines.
519- nano.c:
520 main(): Fixed typo in main while loop for NANO_ALT_REPLACE_KEY.
521 Removed check for isprint() characters in main while loop
522 for people with odd character sets *shrug*. Added some X
523 window F-key combos.
524 read_line(): New function, consolidates of most of the special
525 sections of the file reading code. (Rob Siemborski)
526 do_replace(): Many scattered fixes. (Rob Siemborski)
527 write_file(): Added check for empty filename.
528- winio.c:
529 nanogetstr(): Fixes for deleting at places other than the end of the
530 buffer, cut support. (Adam Rogoyski)
531 blank_edit(): New function, blanks edit buffer. Added call to it in
532 total_refresh().
533- configure: Checks for glib if snprintf of vsnprintf aren't available
534 (Andy Kahn). Changed warning message when no termcap lib
535 is found.
536
537nano-0.7.7 - 01/19/2000
538- Option '-v' for version moved to '-V', because -v is Pico's "read only"
539 mode (affects getopt() in main() and usage() function in nano.c
540- New flag -c, always show cursor position. Affects main() in nano.c and
541 statusbar() in winio.c
542- Option '-x' doesn't show help window at the bottom of the editor.
543 New variable no_help in nano.h and proto.h, affects main(), usage(),
544 and global_init() in nano.c, blank_bottombars(), clear_bottomwin(),
545 bottombars(), and do_yesno() in winio.c (I had to apply this patch by
546 hand =P) (Adam Rogoyski)
547- nano.c:
548 handle_sigwinch(): New function (Adam Rogoyski), handles resizing.
549 page_up(), page_down():
550 - New functions. We now set the cursor at the top right corner,
551 not at the center line, and page up and down a full screen
552 rather than a half screen. Original functions renamed to
553 page_up_center() and page_down_center().
554 main():
555 - Added check for keystroke key sequence 407 or NANO_CONTROL_Z
556 in main while loop because suspend mode was broken. This should
557 fix it, at least for now.
558 - Added long option support (By popular harassment ;-) - Added
559 #include for getopt.h, changed getopt() to getopt_long().
560 Options added so far: --version (-V), --nowrap (-w), --suspend
561 (-z), --help (-h), --nohelp (-x).
562 - Rewrote signal statements (Adam Rogoyski)
563
564nano 0.7.6 - 01/15/2000
565- New ChangeLog format
566- nano.c:
567 main(): Bound CONTROL_H to backspace (oops)
568 Added more Alt-[-key combinations, for page up & down.
569 read_bytes(): New function (Adam Rogoyski)
570 read_file(): Optimizations - malloc()s *buf a little at a time rather
571 than one huge buffer, and replaced the strcat at the end
572 with an index variable. Added call to read_bytes().
573 do_next_word(): New function, binding is control-space (0) (me)
574
575- winio.c:
576 bottombars(): Fixed non-expanding shortcut keys at bottom of screen.
577 (formula is extra space needed = COLS / 6 - 13).
578 actual_x() & strlenpt():
579 Added bug#9 fix - when tabs % 8 == 0, we should only
580 increment tabs by 1.
581 titlebar(): Fixed overrun in titlebar on very long filenames.
582
5830.7.5 Pico 'last line' feature added (Rob Siemborski & me). Eliminated
584 writing a newline at EOF. do_cursorpos and do_replace are now not
585 directly bound to signals but picked up as their control sequences
586 in raw mode. Bug fix in do_backspace. Fixed bug #9 (woohoo!)
5870.7.4 Optimized (obfuscated?) edit_refresh. Malloc() calls checked for
588 available memory, align bug fixed (Big Gaute).
589
590--- As of version 0.7.4 TIP is renamed to nano.
591
5920.7.3 Fixed a double blank_statusbar() when jumping to first and last
593 lines. Took out unnecessary updates in load_file. Bug fix in
594 do_left. Missing updates to totlines, fixed bug #7 (last line not
595 having a newline at the end doesnt get read, bugfix in do_replace
596 with replace all, more/better comments (Robert Siemborski)
5970.7.2 Our first patch accepted into the source! configure fixes
598 and optimizations (Erik Anderson). Added missing stdarg.h to winio.c.
599 Bug fix in update_line for editing long lines. Fixed arguments
600 being put into the filename when none is specified. Preliminary
601 +line command argument function.
6020.7.1 configure tweak for better FreeBSD support. Removed refresh() from
603 edit_refresh to stop cursor "jumping" during screen updates. This
604 will probably cause a bug or two. Replace is now Alt-R (@R) and
605 Goto line is Alt-G (@G), but they have control key aliases of ^\ and
606 ^_ respectively. Made Control-F,B,N,P work like they do in Pico.
607 Control-G will become the Help key, but for now is stubbed out.
6080.7.0 Fixed missing stdlib.h from cut.c. Fixed a few message bugs in
609 findnextstr. Bound Control-D to Delete. Refixed segfault on zero
610 length file. Added Esc-[-A,B,C,D cursor key sequences.
6110.6.9 Preliminary cursor position function. Split up tip.c more, made
612 new files cut.c and winio.c. Fixed a bug in cut_marked_segment
613 that was leaving out a character.
6140.6.8 By request, optchr in main() is now an int. Removed unneeded
615 globals. Bound functions for next/prev page, and wrote functions
616 do_home and do_end.
6170.6.7 Bugfix in do_uncut_text for totlines. Broke up open_file and
618 created read_file. Implemented Insert File. Fixes in tipgetstr
619 for erroneous keystrokes. Added leave_cursor arg to do_yesno().
6200.6.6 Fixes in do_search(), do_replace(), do_writeout, and do_exit() for
621 aborted searches and more Pico-compatible messages. statusq() now
622 returns -2 on a blank entry instead of -1. Bug fix in actual_x().
6230.6.5 More BSD compatibility. Fixed two bugs in do_uncut_text
624 regarding buffers with filebot in them. Fixins in do_backspace
625 and do_enter. Removed unused variables. Removed strip_newline.
6260.6.4 Took out the awful newlines from each string buffers. This will
627 certainly cause more bugs. Fixes in do_exit(). Better empty file
628 handling (I hope).
6290.6.3 Implemented ^E. Removed now unneeded wrapline from filestruct.
630 do_enter() rewritten.
6310.6.2 Better default file permissions. Complete rewrite of do_wrap().
632 Better handling of editing with cursor near COLS - 1.
6330.6.1 Starting to implement wrapping toggle. Fix for unhandled control
634 codes being entered into the buffer. Bug fix in actual_x; more
635 > COLS - 1 functionality, especially on lines with TABs. Fixed being
636 locked into cutbuffer when cutting more than one marked screen of text.
6370.6.0 We have TABs!!! To do this, placewewant is now set to the actual
638 width on the screen we want to be, not an index of current->data.
639 New functions xplustabs and actual_x convert the actual place
640 the cursor should be on the screen to and from the place in the
641 string.
6420.5.5 Changed do_right to test do_down before setting current_x to 0,
643 eliminiating the "looping" on the last line when holding the right
644 arrow. Preliminary support for longer than COLS - 1 lines.
645 Wrote do_delete.
6460.5.4 Fixed a big in total_update that wasn't repainting the screen properly.
647 tipgetstr is much more messy but text is now more editable ;)
648 Fixed crash on entering a new file, hopefully. Awful stub for tab
649 handling, only in do_right() to save me some sanity.
6500.5.3 Added check for malloc.h. Implementing uncut from marker slowly.
651 Fixed a few bugs in do_uncut when not uncutting from marked text.
652 I would not trust your data with the mark code right now, but then
653 we're not at version 1.0 yet so dont trust anything ;)
6540.5.2 Added reset_cursor() before end of update_line so cursor doesnt
655 jump after each keystroke entered. Select text stubbed. Fixed
656 a bug in total_refresh(). Setting a mark will hilight properly,
657 but does not actually affect what gets put in the cutbuffer (yet).
6580.5.1 Writing a file out causes modified to be set back to 0. Good.
659 Set_modified function written. Cut and uncut text now set
660 modified when called.
6610.5.0 Half way there! Implemented write out, save function seems
662 stable. Changed statusbar blank routing to not refresh, a separte
663 program calls it and then refreshes. Made the program not clear
664 the srceen on exit, just the bottom two lines (like Pico).
6650.4.2 Implemented replace all in replace function. Crude exit function
666 (asks yes or no if modified but does not write to file).
6670.4.1 Implementing search & replace. Fixed crash on deleting at top of
668 edit buffer. Implemented "timeout" of statusbar messages.
669 Implemented ^A and ^E (beginning and end of line).
6700.4.0 Split code into global.c and proto.h to allow for better multiple
671 file handling. Added #defines for the majority of the shortcut
672 kets in tip.h for easy modification.
6730.3.1 Write edit_refresh which doesn't move the screen around, just
674 updates what's there already. do_wrap() and do_enter() added.
6750.3.0 Preliminary cutbuffer (cut and uncut) support.
6760.2.7 Check for Modification added. do_search() works.
6770.2.5 Rewrite of file data struct.
6780.2 Read in data to buffer, bound keystrokes to stub functions,
679 initial cursor movement on screen. Initial autoconf support.
6800.1 Initial program setup w/ncurses