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