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