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