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