-
Notifications
You must be signed in to change notification settings - Fork 2
/
ChangeLog.1999-2006
8371 lines (8280 loc) · 363 KB
/
ChangeLog.1999-2006
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
GNU nano 2.0.3 - 2007.01.29
- General:
- Miscellaneous comment fixes. (DLR)
- More int -> bool conversions. (DLR)
- Don't install the nanorc manpages or generate their HTML
versions if nano is built without nanorc support. Changes to
configure.ac, doc/man/Makefile.am, and doc/man/fr/Makefile.am.
(DLR)
- Simplify the commands that generate HTML documentation in
order to remove unnecessary usage of cat. Changes to
doc/man/Makefile.am, doc/man/fr/Makefile.am, and
doc/texinfo/Makefile.am. (DLR)
- files.c:
do_writeout()
- When setting retval to the return value of
write_(marked_)?file(), use the "?" operator instead of an
if/else clause. (DLR)
is_dir()
- Don't assign dirptr's value using buf until we've asserted
that buf isn't NULL. (DLR)
- Remove unneeded assert. (DLR)
- proto.h:
- Add missing is_dir() prototype. (DLR)
- search.c:
regexp_init()
- Don't assign rc's value via regcomp() until we've asserted
that regexp_compiled is FALSE. (DLR)
- text.c:
do_alt_speller()
- Rename variable altspell_error to alt_spell_error, for
consistency. (DLR)
do_spell()
- Rename variable i to status, for clarity. (DLR)
- winio.c:
do_credits()
- Update the last copyright notice to include 2007. (DLR)
- Makefile.am:
- Add README.CVS to EXTRA_DIST, so that nano's CVS checkout
instructions aren't only available in its CVS snapshots. (DLR)
- README:
- Add more miscellaneous cosmetic fixes. (DLR)
- README.CVS:
- Update for the 2.0 branch of nano. (DLR)
- NEWS:
- Formatting fix. (DLR)
- m4/glib-2.0.m4:
- Import the latest version of this file from glib 2.10.3. (DLR)
- doc/faq.html:
- Update section 4.1 to describe how to open files with names
beginning with '+' at specified columns as well as lines.
(DLR)
- doc/man/fr/Makefile.am:
- Set mandir before setting man_MANS, to more closely match
doc/man/Makefile.am. (DLR)
- doc/syntax/python.nanorc:
- Improve string highlighting regexes. (Mike Frysinger)
GNU nano 2.0.2 - 2006.12.20
- General:
- Miscellaneous comment fixes. (DLR)
- browser.c:
do_browser()
- Properly handle directories that contain nulls. (DLR)
- files.c:
do_insertfile()
- Properly handle filenames and executable commands that contain
nulls. (DLR)
write_file()
- Properly handle filenames that contain nulls. (DLR)
do_writeout()
- Fix a segfault when we can't get the full path of either the
filename we want to save under or the original filename. (DLR,
found by Mike Frysinger)
- nano.h:
- Rename NANO_ALT_REPLACE_KEY to NANO_REPLACE_ALTKEY, for
consistency. (DLR)
- Rename NANO_ALT_.* and NANO_.*ALTKEY to NANO_META_.* and
NANO_.*METAKEY, for consistency. (DLR)
- search.c:
update_history()
- Fix minor memory leak. (DLR)
- text.c:
do_spell()
- When setting i to the return value of write_(marked_)?file(),
use the "?" operator instead of an if/else clause. (DLR)
do_verbatim_input()
- Fix minor memory leak. (DLR)
- winio.c:
parse_kbinput()
- Add missing break. (DLR)
- Fix minor memory leak. (Itay Perl)
parse_verbatim_kbinput()
- Fix minor memory leak. (DLR)
edit_draw()
- Fix potential warnings when assigning -1 to paintlen by using
if/else clauses instead of "?" operators. (DLR)
- configure.ac:
- Reword several option descriptions, for clarity. (DLR)
- doc/faq.html:
- Add miscellaneous wording and capitalization fixes. (DLR)
- BUGS:
- Add miscellaneous cosmetic fixes. (DLR)
- README:
- Update for the 2.0 branch of nano. (DLR)
GNU nano 2.0.1 - 2006.11.20
- General:
- Miscellaneous comment fixes. (DLR)
- Fix copyright notices to not abbreviate the year list using a
range. Changes to do_credits() and all source files. (DLR)
- files.c:
get_full_path()
- Remove unneeded assert. (DLR)
- Fix problem where only paths would be returned when both paths
and filenames should have been. (DLR)
do_writeout()
- For consistency, when saving a file with no name, don't allow
overwriting an existing file when in restricted mode. (DLR)
- Fix problem where a file could sometimes be overwritten
without a warning prompt. (DLR)
- winio.c:
do_replace_highlight()
- Include the code to display zero-length matches even when
regex.h isn't found, as it can also be used to display
zero-length Unicode characters. (DLR)
- doc/rnano.1, doc/fr/rnano.1:
- Add missing "(C)" to the copyright notice in the comments.
(DLR)
- doc/nano.texi:
- Remove unneeded "." from the copyright notice in the comments.
(DLR)
- NEWS:
- Add missing entries for nano 1.0.2 and 1.0.3, since 1.1.0
includes their changes. (DLR)
GNU nano 2.0.0 - 2006.11.06
- General:
- Miscellaneous comment fixes. (DLR)
- Add syntax for POV-Ray files. New file doc/syntax/pov.nanorc;
changes to doc/nanorc.sample.in and doc/syntax/Makefile.am.
(Donnie Berkholz, minor tweaks by DLR)
- AUTHORS:
- Update for the 2.0 branch of nano. (DLR)
- nano.spec.in:
- Update links for the 2.0 branch of nano. (DLR)
- Update for newer RPM-based distributions. (DLR, adapted from
the nano 1.3.12-1.1.spec file in Fedora Rawhide)
- Delete the changelog section, as it hasn't been kept up to
date, and all its changes are documented here in any case.
(DLR)
- doc/faq.html:
- Update links for the 2.0 branch of nano. (DLR)
- doc/nano.1, doc/nanorc.5, doc/rnano.1:
- Add minor wording fixes. (DLR)
- doc/man/fr/nano.1, doc/man/fr/nanorc.5, doc/man/fr/rnano.1:
- Updated manpage translations by Jean-Philippe Guérard.
- doc/nano.texi:
- Add minor wording and punctuation fixes. (DLR)
GNU nano 1.9.99pre3 - 2006.10.25
- chars.c:
nstrncasecmp()
- When returning, use the "?" operator instead of an if/else
clause. (DLR)
- cut.c:
do_cut_text()
- When uncutting text in the process of copying it, always set
placewewant, as do_uncut_text() does, so that the current line
is always updated properly. (DLR)
- files.c:
input_tab()
- Since the field precision operator used in the sprintf() uses
ints and not size_t's, replace it with two strncpy()s, which
use size_t's, and a null termination. (DLR)
- help.c:
parse_help_input()
- Add 'E' and 'e' as aliases for Exit, for consistency with the
file browser. (DLR)
- m4/ac_define_dir.m4:
- Import the latest version of this file from
http://autoconf-archive.cryp.to/ac_define_dir.m4. (DLR)
- doc/faq.html:
- Update the question in section 4.13 to match the version of it
in the answer section. (DLR)
- doc/syntax/c.nanorc:
- Simplify "undef", "ifn?def", "elif", and "else" in the
preprocessor regexes. (DLR)
GNU nano 1.9.99pre2 - 2006.10.02
- General:
- Miscellaneous comment fixes. (DLR)
- Make sure that the statusbar cursor position is always
properly reset when we get out of all statusbar prompts.
Changes to do_insertfile(), do_writeout(),
handle_sigwinch(), main(), and do_prompt_abort(). (DLR)
- prompt.c:
do_statusbar_input()
- If we get a verbatim input sequence ending with Ctrl-J, remove
the Ctrl-J from the buffer before interpreting it as Enter, so
that it doesn't erroneously fall through to the edit window
and get interpreted as Justify. (DLR)
- winio.c:
get_input()
- Simplify to avoid an unnecessary key_buffer_len check. (DLR)
- doc/syntax/c.nanorc:
- Add "size_t" and "ssize_t" to the types regexes. (DLR,
suggested by Mike Frysinger)
- Simplify "signed" and "unsigned" in the types regexes. (DLR)
GNU nano 1.9.99pre1 - 2006.08.29
- General:
- Miscellaneous comment fixes. (DLR)
- Fix option descriptions. At least one of the two parts of
+LINE,COLUMN must be specified at all times; COLUMN is not the
only optional value. Also, fix wording problems in
-O/--morespace and -W/--wordbounds. Changes to usage(),
UPGRADE, nano.1, nanorc.5, rnano.1, nano.texi, and
nanorc.sample.in. (DLR)
- Fix mouse support so that it truly ignores everything except
releases and clicks of button 1. Changes to
enable_mouse_support() and get_mouseinput(). (DLR)
- In certain places, call wnoutrefresh(bottomwin) after calling
blank_statusbar(), in order to ensure that the statusbar is
actually blanked. Changes to do_help(), do_continue(),
handle_sigwinch(), and update_statusbar_line(). (DLR)
- If the mark isn't on, allow Meta-} and Meta-{ to indent and
unindent only the current line, just as it would if the mark
covered only the current line, instead of displaying a
statusbar message and quitting. Changes to shortcut_init(),
do_indent_marked() (renamed do_indent()),
do_indent_marked_void() (renamed do_indent_void()),
do_unindent_marked_void() (renamed do_unindent()), and
UPGRADE. (DLR, suggested by John M. Gabriele)
- Consolidate do_scroll_(up|down)() into do_(up|down)(), as
they have a lot of duplicate code. New functions do_up_void()
and do_down_void(); changes to shortcut_init(), do_up(),
do_scroll_up(), do_down(), do_scroll_down(), do_left(), and
do_right(). (DLR)
- Make Jordi's email address, and the description of what the
manual pages were written for, consistent in the
documentation. Changes to AUTHORS, nano.1, nanorc.5, and
rnano.1. (DLR, based on suggestions by Jordi)
- Don't include sys/ioctl.h in nano.c when NANO_TINY is defined,
as ioctl() is never used then. (DLR)
- Improve the display of bools in debugging statements. Changes
to parse_kbinput(), get_escape_seq_kbinput(),
parse_escape_seq_kbinput(), get_shortcut(), and get_toggle().
(DLR)
- Rename the values of the scroll_dir enum to UP_DIR and
DOWN_DIR, since UP is defined as a termcap value in Tru64's
and NetBSD 3.0's curses.h, which breaks compilation on those
systems. Changes to do_page_up(), do_page_down(), do_up(),
do_down(), nano.h, and edit_scroll(). (DLR; found by Daniel
Richard G. and Adam Wysocki, respectively)
- Rename the DISABLE_ROOTWRAP #define to DISABLE_ROOTWRAPPING.
(DLR)
- When using slang 2.x, call SLutf8_enable() with an argument of
1 instead of TRUE, as that's the proper way to enable its
UTF-8 support. Changes to main() and configure.ac. (DLR)
- Fix punctuation relating to "i.e." in various comments and
documentation. (Benno Schulenberg and DLR)
- Make bad_mbchar a static const char* const in chars.c, as its
value doesn't change. (DLR)
- Add various clarifications to translated strings. Changes to
do_insertfile_void(), shortcut_init(), toggle_init(),
help_init(), print_view_warning(), usage(), and do_mark().
(Benno Schulenberg, minor tweaks by DLR)
- Properly preserve the cursor position when going from the
"Read File" or "Save File As" prompt to the file browser to
the "Go To Directory" prompt, and then canceling back to the
"Read File" or "Save File As" prompt. Changes to
get_prompt_string() and do_prompt(). (DLR)
- Rename the parameter old_pww to pww_save in
need_statusbar_horizontal_update(), need_horizontal_update(),
need_vertical_update(), and edit_redraw(); and rename the
variable old_pww to pww_save in do_search() and do_research();
for consistency. (DLR)
- browser.c:
do_browser()
- Refactor the mouse support, modeling it after do_mouse() for
consistency. (DLR)
- Remove unneeded call to blank_edit(). (DLR)
- After entering "..", select the directory we were in before
instead of the first filename in the list, as Pico does. (DLR)
- Simplify screen update handling and exiting. (DLR)
- Fix potential segfault when going to a directory that doesn't
begin with '/'. (DLR)
do_browse_from()
- During the operating directory check, if path isn't NULL,
don't bother freeing it before mallocstrcpy()ing operating_dir
into it, as the latter operation will free it. (DLR)
- Don't bother freeing path if it's NULL. (DLR)
browser_init()
- Fix off-by-one error when calculating longest that kept the
rightmost column of the screen from being used. (DLR)
- Calculate width here instead of in browser_refresh(), as it's
more consistent. (DLR)
- If filelist is initialized, free it here instead of in several
places in do_browser(). (DLR)
browser_refresh()
- Simplify. (DLR)
- Fix problems where translated versions of "(dir)" could be
truncated, and where file sizes could be too long. (DLR)
- For the ".." entry, display "(parent dir)" instead of "(dir)",
as Pico does. (DLR)
- If a filename is too long, truncate it and display an ellipsis
before it, as titlebar() does. (DLR)
- Add translator comments explaining the maximum intended
lengths of "(dir)" and "(parent dir)". (DLR)
- Fix problem where width wouldn't be properly initialized if
the file list took up one line or less. (DLR)
- Don't display overly long filenames with ellipses if the
number of columns is extremely small. (DLR)
browser_select_filename()
- New function, used to select a specific filename in the list.
(DLR)
findnextfile()
- Simplify the uses of tail(). (DLR)
striponedir()
- Since all the strings passed to this are dynamically
allocated, use null_at() to strip the directory from the
string. Also, return the stripped path instead of modifying
path. (DLR)
- chars.c:
mbstrncasecmp(), mbstrcasestr(), mbrevstrcasestr()
- Don't allocate space for multibyte characters until we've
asserted that the parameters we're using aren't NULL. (DLR)
- files.c:
do_insertfile()
- If we execute a command in a new buffer, move back to the
beginning of the first line of the buffer afterwards, for
consistency. (DLR)
- If we don't insert a file into a new buffer, properly update
the x-coordinate to account for the number of characters
inserted on the current line. (DLR)
get_full_path()
- Don't return NULL when the current directory doesn't exist, as
we can still recover from that. (DLR, found by Mike Frysinger)
- Add various cleanups. (DLR)
- global.c:
sc_init_one(), shortcut_init()
- Don't include blank_after when DISABLE_HELP is defined, as
it's never used then. (DLR)
shortcut_init()
- Remove the ^X shortcut for CutTillEnd at the search prompt, as
official Pico doesn't include it, and it can be confused with
Exit. (DLR, suggested by Benno Schulenberg)
- Make the help shortcut for the "Go to Directory" prompt call
do_browser_help() instead of do_help_void(), as this prompt is
only accessible inside the file browser. (DLR, found by Benno
Schulenberg)
toggle_init()
- Don't include desc or blank_after when DISABLE_HELP is
defined, as neither are ever used then. (DLR)
- Make sure that a blank line is not displayed after the Meta-Q
toggle when mouse support is disabled and we're in restricted
mode, and that it is displayed all other times. (DLR)
toggle_init_one()
- Don't include desc or blank_after when DISABLE_HELP is
defined, as neither are ever used then. (DLR)
- help.c:
do_help()
- Simplify screen update handling and exiting. (DLR)
- Don't allow moving down a page when the last line of the help
text is onscreen. (DLR)
help_init()
- Adjust the first two chunks of the main help text so that
they're no more than 509 characters again. (DLR)
- move.c:
do_scroll_up(), do_scroll_down()
- Fix problems where, after scrolling, the previous and current
lines would not be updated properly if the current line was
not the first or last line of the edit window. (DLR, found by
Mike Frysinger)
- nano.c:
handle_sigwinch()
- Just in case we're in the statusbar prompt, reset the
statusbar cursor position when resizing the window. (DLR)
- nano.h:
- Remove the manual disabling of color support if regex.h isn't
found, as configure.ac now handles that. (DLR)
- rcfile.c:
parse_rcfile()
- Add missing ENABLE_COLOR #ifdef around the second check for a
syntax with no color commands, to fix compilation with rcfile
support and without color support. (Daniel Richard G.)
- search.c:
replace_regexp()
- Remove unnecessary casting of c to int. (DLR)
- text.c:
execute_command()
- Remove the marking of the file as modified, as do_insertfile()
now handles that. (DLR)
- utils.c:
digits()
- Tweak to remove the assumption that n is always positive,
although it always is in this particular case. (DLR)
- winio.c:
parse_kbinput()
- Properly handle combined meta and escape sequences, so that
e.g. Meta-/ will work properly when the / is on the numeric
keypad and NumLock is off. Also, properly handle combined
control character and escape sequences, so that e.g. Esc Esc /
will work properly when the / is on the numeric keypad and
NumLock is off. (DLR)
- Translate extended keypad keys to their ASCII equivalents even
when we hit Escape once or twice before typing them, for
consistency. (DLR)
- If they're defined, translate KEY_SUP into NANO_PREVLINE_KEY
and KEY_SDOWN into NANO_NEXTLINE_KEY, since they are sometimes
generated by Shift-Up and Shift-Down. (DLR)
parse_escape_seq_kbinput()
- Handle unknown and unignored escape sequences once here
instead of twice in parse_kbinput(). (DLR)
- Don't ignore escape sequences anymore. Instead, return the
corresponding key so that parse_kbinput() can translate it.
(DLR)
display_string()
- Properly handle buf[start_index]'s being a null terminator.
(DLR)
edit_draw()
- Simplify the setting of paintlen. (DLR)
titlebar()
- Don't display overly long filenames with ellipses if the
number of columns is extremely small. (DLR)
- Don't display any blank space for the state if we're in the
file browser, as Pico doesn't. (DLR)
- configure.ac:
- If regex.h isn't found, display an error message if we try to
enable color support. (DLR)
- Fix the spacing of the error message displayed when slcurses.h
isn't found. (DLR)
- If we use the --disable-wrapping option, ignore the
--disable-wrapping-as-root option. (DLR)
- Add minor cosmetic tweaks. (DLR)
- doc/Makefile.am:
- Don't include nanorc.sample in EXTRA_DIST, as it's only useful
when we're building from source, as opposed to building a
distribution. (DLR)
- Tweak to remove usage of the += operator again. (DLR)
- doc/man/Makefile.am:
- Tweak to remove usage of the += operator again. (DLR)
- doc/man/fr/nano.1, doc/man/fr/nanorc.5, doc/man/fr/rnano.1:
- Updated manpage translations by Jean-Philippe Guérard.
- doc/faq.html:
- Update section 5.3 again to not state "the latest development
version" before 1.3.12, as it's no longer accurate. (DLR)
- Add some minor spacing fixes. (DLR)
- doc/nano.texi:
- Add missing description of the -O/--morespace command line
option. (DLR)
- doc/syntax/c.nanorc:
- Since .i and .ii are preprocessed C and C++ output, colorize
them here. (Mike Frysinger)
- Remove redundancy from the file extension regexes. (DLR)
- doc/syntax/ruby.nanorc:
- Add missing blank line after the first comment, for
consistency. (DLR)
- Improve highlighting of constants. (John M. Gabriele, minor
tweaks by DLR)
GNU nano 1.3.12 - 2006.06.26
- General:
- Miscellaneous comment fixes. (DLR)
- Implement filename searches in the file browser. New
functions filesearch_init(), findnextfile(),
findnextfile_wrap_reset(), filesearch_abort(),
do_filesearch(), do_fileresearch(), do_first_file(),
do_last_file(), do_help_void(), and do_browser_help(); changes
to do_browser(), parse_browser_input(), shortcut_init(),
do_help(), and help_init(). (DLR)
- Open all files in binary mode for consistency and robustness.
Changes to load_history() and do_rcfile(). (DLR)
- Change translator-specific comments in global.c and prompt.c
so that they show up in nano.pot, and make them all
consistent. (Benno Schulenberg and DLR)
- Reduce USE_UTF8 to a static bool in chars.c, allow nano.c to
set it via a function, and allow winio.c to read its value
when needed. New functions utf8_init() and using_utf8();
changes to is_alnum_mbchar(), is_blank_mbchar(),
is_cntrl_mbchar(), is_punct_mbchar(), control_mbrep(),
mbrep(), mbwidth(), mb_cur_max(), make_mbchar(),
parse_mbchar(), mbstrncasecmp(), mbstrcasestr(),
mbrevstrcasestr(), mbstrnlen(), mbstrchr(), mbstrpbrk(),
mbrevstrpbrk(), has_blank_mbchars(), is_valid_mbstring(),
main(), display_string(), and do_credits(). (DLR)
- Add the ability to use bold text instead of reverse video
text, via the -D/--boldtext command line option and the
"boldtext" rcfile option. Changes to browser_refresh(),
do_help(), usage(), main(), update_statusbar_prompt(),
do_yesno_prompt(), titlebar(), statusbar(), onekey(),
edit_draw(), do_replace_highlight(), nano.1, nanorc.5,
nano.texi, and nanorc.sample. (DLR, suggested by Benno
Schulenberg)
- Add the ability to use self-contained color syntaxes from
separate files, accessible in the nanorc via the "include"
command. New function parse_include(); changes to
parse_rcfile(), do_nanorc(), nanorc.5, and nanorc.sample.
(Victor Ananievsky, Brand Huntsman and DLR)
- Change references to the "help menu" to the "help text
display" refer to display, for clarity. Changes to
shortcut_init(), configure.ac, and faq.html. (DLR, suggested
by Benno Schulenberg)
- Adjust the shortcut list display and related mouse support to
not waste the last few characters of bottomwin when the screen
width isn't a clean multiple of the column width. Changes to
do_mouseinput() and bottombars(). (Benno Schulenberg, minor
tweaks by DLR)
- Add several blank entries to the main shortcut list and the
global toggle list, in order to make the help text easier to
read. Changes to sc_init_one(), toggle_init(),
toggle_init_one(), shortcut_init(), get_toggle(), and
help_init(). (DLR, suggested by Benno Schulenberg)
- Reduce NO_RCFILE to a static bool in nano.c, since it's only
used there. Changes to finish() and main(). (DLR)
- Readd the Cancel -> Exit aliases for the file browser and help
browser. New function parse_help_input(); changes to
parse_browser_input() and do_help(). (DLR, suggested by Benno
Schulenberg)
- Add the ability to copy text into the cutbuffer without
cutting it, via Meta-^ (Meta-6). Note that this is disabled
when NANO_TINY is defined. New functions do_cut_text_void()
and do_copy_text(); changes to do_cut_text(), shortcut_init(),
and do_input(). (DLR, suggested by Ken Tyler)
- Add the ability to indent and unindent all marked lines of
text, via Meta-} (Meta-]) and Meta-{ (Meta-[). New functions
do_indent_marked(), do_indent_marked_void(), and
do_unindent_marked_void(); changes to shortcut_init(). (Chris
and DLR)
- Change the shortcut to find the matching bracket to Ctrl-].
Changes to shortcut_init() and do_statusbar_input(). (DLR)
- Drop the Meta-] and Meta-[ aliases for Meta-} and Meta-{, and
change the shortcut to find the matching bracket from Ctrl-]
back to Meta-], since Ctrl-] is used as the telnet escape key.
Changes to shortcut_init() and do_statusbar_input(). (DLR,
found by Chris)
- Add the ability to move to the first and last line of the help
text and the first and last file in the file browser via
Meta-\ (Meta-|) and Meta-/ (Meta-?). Changes to do_browser(),
shortcut_init(), and do_help(). (DLR)
- Allow unjustifying if we resize the window immediately after
justifying, as Pico does, and make input handling across
resizes more consistent. Changes to handle_sigwinch(),
main(), get_kbinput(), parse_kbinput(), get_byte_kbinput(),
and get_unicode_kbinput(); removal of reset_kbinput(). (DLR)
- Handle statusbar blanking in two places instead of many, so
that it always works consistently. Changes to do_browser(),
do_cut_text(), do_uncut_text(), do_first_line(),
do_last_line(), do_page_up(), do_page_down(), do_para_begin(),
do_para_end(), do_para_end(), do_next_word(), do_prev_word(),
do_home(), do_end(), do_up(), do_scroll_up(), do_down(),
do_scroll_down(), do_left(), do_right(), do_indent_marked(),
do_verbatim_input(), and get_kbinput(). (Benno Schulenberg,
minor tweaks by DLR)
- Handle prepending of wrapped text in one place instead of
many, so that it always works consistently. Changes to
do_uncut_text(), do_insertfile(), do_page_up(),
do_page_down(), do_up(), do_scroll_up(), do_down(),
do_scroll_down(), do_input(), do_search(), do_research(), and
do_delete(). (DLR)
- Ignore unhandled meta key sequences, function keys, and escape
sequences, indicate it on the statusbar, and beep when we get
an unhandled shortcut or toggle, as Pico does. To get this to
work properly, add a shortcut for moving to the next
search/replace string. New function is_ascii_cntrl_char();
changes to shortcut_init(), do_input(), do_statusbar_input(),
get_prompt_string(), and parse_kbinput(). (DLR, suggested by
Nick Warne and Benno Schulenberg)
- Explain the mouse support in more detail, and sync the text of
its description across all documentation. Changes to nano.1,
nanorc.5, nanorc.sample, and nano.texi. (Benno Schulenberg and
DLR)
- If we're using verbatim input to enter a Unicode sequence,
indicate it on the statusbar, and add a translator comment
explaining the message. Also, refactor get_unicode_kbinput()
to remove redundant code. New function add_unicode_digit();
changes to get_unicode_kbinput() and parse_verbatim_kbinput().
(Benno Schulenberg, minor tweaks by DLR)
- Allow normal typing of high-bit control characters, as Pico
does. Changes to do_output() and do_statusbar_output(). (DLR)
- Move color regexes into separate files, make nanorc.sample
reference them, and make them install properly. In the
process, rename nanorc.sample to nanorc.sample.in, put
@PKGDATADIR@ at the beginning of all nanorc file paths, add
needed AC_DEFINE_DIR macro from the Autoconf Macro Archive at
http://autoconf-archive.cryp.to/ac_define_dir.m4, and make
configure.ac do the substitution, so that the proper paths
will always be used in nanorc.sample. New files
m4/ac_define_dir.m4, doc/syntax/Makefile.am,
doc/syntax/asm.nanorc, doc/syntax/c.nanorc,
doc/syntax/groff.nanorc, doc/syntax/html.nanorc,
doc/syntax/java.nanorc, doc/syntax/man.nanorc,
doc/syntax/mutt.nanorc, doc/syntax/nanorc.nanorc,
doc/syntax/patch.nanorc, doc/syntax/perl.nanorc,
doc/syntax/python.nanorc, doc/syntax/ruby.nanorc,
doc/syntax/sh.nanorc, and doc/syntax/tex.nanorc; changes to
configure.ac, nano.spec.in, doc/Makefile.am, and
m4/Makefile.am; removal of doc/nanorc.sample. (DLR)
- Replace usage of the bool curses_ended with the isendwin()
function, and remove curses_ended. Changes to do_suspend().
(DLR)
- Remove the workaround for glibc 2.2.3's broken regexec(), and
replace it with a FAQ entry explaining the problem, since it
could break anything using extended regular expressions, and
glibc 2.2.3 is old. Changes to configure.ac, faq.html,
nano.h, proto.h, and UPGRADE; removal of safe_regexec(). (DLR)
- Minor wording fixes to various messages. Changes to
load_history(), shortcut_init(), toggle_init(), usage(),
do_suspend(), do_input(), rcfile_error(), parse_argument(),
parse_rcfile(), nano.1, nano.texi, and nanorc.sample.in.
(Benno Schulenberg, minor tweaks by DLR and Nick Warne)
- Make suspension clear the screen and put the cursor on the
last line before displaying anything, as Pico does. New
functions disable_mouse_support() and enable_mouse_support();
changes to do_mouse(), do_suspend(), do_continue(), and
terminal_init(). (DLR)
- browser.c:
do_browser()
- Reference NANO_GOTODIR_(ALT|F)?KEY instead of
NANO_GOTOLINE_(ALT|F)?KEY for the "Go to Directory" shortcut.
(DLR)
parse_browser_input()
- Remove redundant key checks. (DLR)
browser_refresh()
- Rename variable editline to line, for consistency. (DLR)
- Change variable i from an int to a size_t in order to match
selected, which it's compared against. (DLR)
- color.c:
color_update()
- Fix incorrect setting of defcolor, which prevented the
reserved "default" syntax from being handled correctly. (DLR)
- cut.c:
cut_to_eof()
- New function, containing the main functionality of
do_cut_till_end(). (DLR)
do_cut_text()
- Add parameter cut_till_end, to indicate when we're cutting
from the current cursor position to the end of the file, and
call cut_to_eof() when it's TRUE. (DLR)
do_cut_till_end()
- Convert to a wrapper for do_cut_text(). (DLR)
- files.c:
open_file()
- Remove redundant wording in the error message when we try to
open a device file. (DLR)
do_insertfile()
- Use actual gettext calls instead of no-ops, for consistency.
(DLR)
safe_tempfile()
- Don't ignore $TMPDIR if it's set but blank, for consistency.
(DLR)
write_file()
- Don't free backupname before displaying it in a statusbar error
message. (DLR, found by Bill Marcum)
- If we can't save the backup file for some reason, at least
save the original file, if possible, since that's better than
saving nothing. (DLR, problem found by Bill Marcum, solution
suggested by Jordi)
- Clarify the error messages when creating a temporary file or
writing one for prepending fails. (DLR)
- Simplify the routine for closing the file just before we
indicate success on the statusbar. (DLR)
do_writeout()
- Fix problem where the modifiers at the "Write File" prompt
were marked for translation via gettext no-ops but never
actually translated. (Benno Schulenberg)
free_chararray()
- Assert that array isn't NULL, for consistency with the other
free_.*() functions. (DLR)
- global.c:
shortcut_init()
- Change the cursor position display help text to use "display"
instead of "show", for consistency. (DLR)
- In the main shortcut list, move the "Refresh" shortcut down to
after the "Enter" shortcut, for consistency. (DLR)
- Add the ability to move to the first and last line of the
current file from the main list via Meta-\ (Meta-|) and Meta-/
(Meta-?). Also, make sure all the equivalent shortcuts in the
search, replace, and "Go To Line" lists accept both the meta
keys and the equivalent function keys. (DLR)
- Reorganize the main shortcut list to make it easier for new
users. It now lists the twelve Pico-compatible default
operations, followed by search and replace shortcuts, followed
by cut and paste shortcuts, followed by marking shortcuts,
followed by back and forth movement shortcuts, followed by
start and end movement shortcuts, followed by buffer-switching
shortcuts, followed by insertion and deletion shortcuts,
followed by special movement shortcuts, followed by advanced
word and paragraph shortcuts, followed by display shortcuts.
(DLR and Benno Schulenberg, suggested by Benno Schulenberg)
- Tweak the descriptions of some shortcut keys to make them more
uniform. (Benno Schulenberg, minor tweaks by DLR)
- Shorten the "Where is Next" shortcut name to fit on the screen
after adding Meta-\ (Meta-|) and Meta-/ (Meta-?). (DLR)
- Lengthen the "UnCut Txt" shortcut name to "UnCut Text", as
there's enough room to display it unabbreviated. (DLR)
- Clarify the descriptions of the "Search" and "Replace"
shortcuts, and add spaces to the "Exit" shortcut's description
in multibuffer mode. (Benno Schulenberg)
- Remove the "Go To Line" shortcut in the replace shortcut list,
for compatibility with Pico. (DLR)
toggle_init()
- In the global toggle list, move the "Constant cursor position
display" toggle up to after the "Use more space for editing"
toggle, for consistency. (DLR)
- Reorganize the global toggle list to make it easier for new
users. It now lists toggles that affect the way things are
displayed, followed by toggles that affect editing, followed
by toggles that have to do with peripheral things. (DLR,
suggested by Benno Schulenberg)
- help.c:
do_help()
- Call get_shortcut() after getting input, so that we only have
to check for a main shortcut key instead of both it and all of
its equivalents. (DLR)
- Clean up the handling of NANO_REFRESH_KEY. (DLR)
- Remove redundant key checks. (DLR)
help_init()
- If we have at least two entries' worth of blank space, use it
to display more of "^Space" and "M-Space". (DLR, suggested by
Benno Schulenberg)
- Add various wording fixes. (DLR and Benno Schulenberg)
- If one of the help strings ends in newlines followed by a
space, move the space to the next help string to make it
easier for translators to see. (Benno Schulenberg)
- Make sure we have enough memory in all cases when displaying
the shortcut and toggle lists. (DLR)
- Wrap the shortcut list help text, and display it even when we
have fewer than 24 columns, for consistency with the toggle
help text. (DLR, suggested by Benno Schulenberg)
parse_help_input()
- Add Space and '-' as aliases for PageDown and PageUp, for
consistency with the file browser. (DLR, suggested by Benno
Schulenberg)
- Remove redundant key checks. (DLR)
help_line_len()
- Properly handle the case where we can't break the line of help
text. (DLR)
- Wrap the line of help text at (COLS - 1) instead of
(COLS - 8), for consistency. (DLR, suggested by Benno
Schulenberg)
- nano.c:
print1opt_full()
- Rename to print_opt_full(), for consistency. (DLR)
usage()
- Fix inaccuracies in the usage example. (DLR)
- Put command line arguments in <>'s instead of []'s, as the
latter imply that the arguments are optional when they aren't.
(DLR, found by Benno Schulenberg)
renumber()
- Remove invalid assert. (DLR, found by Filipe Moreira)
do_input()
- Remove redundant check for allow_funcs' being TRUE when we get
KEY_MOUSE. (DLR)
- Don't blow away the cutbuffer when we get a shortcut and the
function associated with it is do_cut_till_end(). (DLR)
- Simplify the routine to preserve the cutbuffer when we call a
cutting or copying function associated with a shortcut. (DLR)
- nano.h:
- Reorder the toggle #defines to match their corresponding order
in toggle_init(). (DLR)
- Move the #include for sys/param.h here from nano.c, and add an
#ifdef around it. (DLR)
- prompt.c:
get_prompt_string()
- Include the handling of the help key even when help is
disabled, so that we aren't erroneously kicked out of the
statusbar prompt under any circumstances. (DLR, found by Benno
Schulenberg)
do_statusbar_input()
- Remove redundant check for allow_funcs' being TRUE when we get
KEY_MOUSE. (DLR)
- Improve the handling of NANO_REFRESH_KEY. (DLR)
total_statusbar_refresh()
- New function, called when we get NANO_REFRESH_KEY in
do_statusbar_input(). (DLR)
do_yesno_prompt()
- Handle the keys in a switch statement instead of a long if
block, for simplicity. (DLR)
- rcfile.c:
parse_argument()
- Rename variable ptr_bak to ptr_save, for consistency. (DLR)
- Add double quotes around invalid string arguments in error
messages, for consistency. (DLR)
- Add single quotes around the invalid string argument in the
error message about unterminated strings, to avoid confusion.
(Benno Schulenberg)
parse_syntax()
- Don't generate an error if we find a duplicate syntax name,
since we might be trying to override a syntax in the global
nanorc with one in our local nanorc. Instead, free any
duplicate syntaxes we find, so that we always use the last
syntax with a given name. (DLR)
color_to_short()
- Add quotes around invalid string arguments in error messages,
for consistency. (DLR)
parse_colors()
- Check for a color command's not following a syntax line before
anything else. (DLR)
- Add quotes around invalid string arguments in error messages,
for consistency. (DLR)
parse_rcfile()
- Properly generate an error if we've read in a syntax without
any associated color commands. (DLR)
- Change variable i from an int to a size_t, for consistency.
(DLR)
- Properly handle rcfiles that don't end in newlines. (DLR)
- Add quotes around invalid string arguments in error messages,
for consistency. (DLR)
do_rcfile()
- Check for the rcfile's being a directory or device file and
reject it if it is, for consistency with file handling
elsewhere. (DLR)
- Remove SYSCONFDIR #ifdef, as SYSCONFDIR should always be set.
(DLR)
- Change all rcfile error messages to refer to commands instead
of directives, for consistency with nanorc.5. (DLR)
- text.c:
break_line()
- Fix problem where tab widths in columns would always be
calculated as tabsize. (DLR, found by Alexey Toptygin)
- Handle newlines consistently when searching for the last blank
in the first group of blanks in the range of (goal - 1). (DLR,
found by Benno Schulenberg)
do_justify()
- Remove redundant key checks. (DLR)
do_spell()
- Clarify the error message when creating a temporary file
fails. (DLR)
- Set currshortcut to main_list before calling total_refresh()
near the end of the function, so that we don't display the
wrong shortcut list. (DLR)
do_verbatim_input()
- Add a translator comment explaining the "Verbatim Input"
statusbar message. (Benno Schulenberg)
- Unconditionally blank the statusbar as soon as we're finished
getting input. (DLR, suggested by Benno Schulenberg)
- utils.c:
digits()
- Return the proper number of digits when n is exactly 10. (DLR)
- Simplify to use a for loop instead of a while loop. (DLR)
ngetdelim()
- Set errno to EINVAL if stream is not a valid file stream.
This matches the manual page. (DLR)
nperror()
- Simplify. (DLR)
check_linenumbers()
- Removed, as it's no longer used, and since there's no way to
tell if its return value will be in int or ssize_t range.
(DLR)
- winio.c:
parse_kbinput()
- If we get NANO_CONTROL_8, properly handle it in all cases.
(DLR)
parse_escape_seq_kbinput()
- New function used to interpret escape sequences, formerly part
of parse_kbinput(). (DLR)
get_byte_kbinput()
- Fix typo preventing Esc Esc 3 through Esc Esc 6 from being
interpreted as control key sequences. (DLR)
- Tweak to more closely match get_unicode_kbinput(). (DLR)
get_control_kbinput()
- Add Ctrl-/ as an alias for Ctrl-_. (DLR, found by Benno
Schulenberg)
- Simplify the if blocks wherever possible. (DLR)
parse_verbatim_kbinput()
- Don't include the ability to enter a Unicode sequence via
verbatim input mode if ENABLE_UTF8 isn't defined or we're not
in a UTF-8 locale. (DLR)
check_statusblank()
- Avoid redundant updates when statusblank is 0. (DLR)
display_string()
- Properly display double-column characters if they're past the
first virtual page and their first column is covered by the
"$" displayed at the beginning of the line. (DLR)
statusbar()
- Blank the statusbar after 26 keystrokes instead of 25, for
compatibility with Pico. (DLR)
edit_draw()
- Properly ignore zero-length regexes in multi-line regexes as
well as single-line ones. This avoids a segfault when trying
to color e.g. "start="$" end="$"". (DLR, found by Trevor
Caira)
- Don't display any statusbar message when we get a zero-length
regex, as we can get one under legitimate circumstances. (DLR,
found by Mike Frysinger)
update_line()
- Remove unneeded assert. (DLR)
edit_redraw()
- Fix problem where not all lines would be updated properly if
we'd scrolled off the screen and the mark was on. (DLR)
do_credits()
- Update the last copyright notice to include 2006. (DLR)
- configure.ac:
- Remove old warnings about color support. (DLR)
- Remove conditional header checks for fcntl.h and termios.h, as
nano won't build without them, and add conditional header
check for sys/param.h, as some systems need only limits.h.
(DLR)
- doc/faq.html:
- Add a new section 4.4, and move all section 4 entries after it
down one number, to explain how to deal with problems typing
Meta-[. (DLR)
- Add a new section 4.5, and move all section 4 entries after it
down one number, to explain a problem that can occur when
holding down keys to generate Meta sequences. (Benno
Schulenberg, minor tweaks by DLR)
- Add a few capitalization and wording fixes. (DLR)
- Remove section 4.4, and move all section 4 entries after it up
one number, since it no longer applies. Meta-] and Meta-[ are
no longer used to indent and unindent marked text, since they
require that the bracket matching key change to Ctrl-], which
is used as the telnet escape key. (DLR, found by Chris)
- Make the link to the nano CVS page a bit more readable. (DLR)
- Update section 3.8 to mention the new "Unicode Input" prompt,
and how Unicode input only works when Unicode support is
enabled. (DLR)
- Add minor punctuation, wording, and typo fixes. (DLR)
- Update section 5.3, due to the display fix for two-column
Unicode characters. (DLR)
- doc/nano.1:
- Update the copyright years to include 2006. (DLR)
- Explicitly mention that all regexes should be extended regular
expressions. (DLR, suggested by John M. Gabriele)
- Miscellaneous minor fixes. (DLR)
- Add various wording fixes. (Benno Schulenberg and DLR)
- Put command line arguments in <>'s instead of []'s, as the
latter imply that the arguments are optional when they aren't.
(Benno Schulenberg)
- doc/nanorc.5:
- Update the copyright years to include 2006. (DLR)
- Explicitly mention that all regexes should be extended regular
expressions. (DLR, suggested by John M. Gabriele)
- Miscellaneous minor fixes. (DLR)
- Add various wording fixes. (Benno Schulenberg and DLR)
- Mention that the nanorc file should not be in DOS or Mac
format. (DLR)
- doc/rnano.1:
- Update the copyright years to include 2006. (DLR)
- Explicitly mention that all regexes should be extended regular
expressions. (DLR, suggested by John M. Gabriele)
- Miscellaneous minor fixes. (DLR)
- Add various wording fixes. (Benno Schulenberg and DLR)
- Add description of the +LINE[,COLUMN] option. (DLR)
- doc/nano.texi:
- Update the copyright years to include 2006. (DLR)
- Explicitly mention that all regexes should be extended regular
expressions. (DLR, suggested by John M. Gabriele)
- Miscellaneous minor fixes. (DLR)
- Add various wording fixes. (Benno Schulenberg and DLR)
- Change license to GPL, in order to match the rest of the
documentation, and because the current license is incompatible
with everything else in any case. (DLR)
- Mention that backup files and spell checking are disabled in
restricted mode, as rnano.1 does. (DLR)
- Add minor updates to put some text back in sync with nano's
help text, and with nano's current feature set. (DLR)
- Add a "Nanorc Files" section to explain the nanorc file format
in detail, using text from nanorc.5. (DLR)
- Put command line arguments in <>'s instead of []'s, as the
latter imply that the arguments are optional when they aren't.
(Benno Schulenberg)
- Add missing description of -H/--historylog, and move
-x/--nohelp down so that all the command line options are in
alphabetical order. (Benno Schulenberg)
- Change all occurrences of "file name" to "filename". (Benno
Schulenberg)
- doc/man/Makefile.am:
- Simplify the setting of SUBDIRS. (DLR)
- doc/man/fr/nano.1, doc/man/fr/nanorc.5, doc/man/fr/rnano.1:
- Updated manpage translations by Jean-Philippe Guérard.
- doc/nanorc.sample:
- Miscellaneous minor fixes. (DLR and Benno Schulenberg)
- Tweak the "c-file" regex for characters to accept '"' again,
as it's apparently valid, and simplify it. (DLR)
- Simplify the "shellscript" regex for command line options.
(DLR)
- Replace instances of \" with ", since quotes inside string
parameters don't need to be escaped with backslashes. (DLR)
- Mention in the comments that more than one start/end regex can
be included per line. Also, change the comment for the
"whitespace" option so that the hexadecimal character values
are six digits long, and state which character values work
with which encodings. (DLR)
- Add sample regexes for Python. (singular on the Gentoo forums,
http://forums.gentoo.org/viewtopic.php?t=86562; minor tweaks
by DLR, suggested by John M. Gabriele)
- Explicitly mention that all regexes should be extended regular
expressions. (DLR, suggested by John M. Gabriele)
- Simplify the "nanorc" regex for commands. (DLR)
- Mention that the nanorc file should not be in DOS or Mac
format. (DLR)
- Add various wording fixes. (Benno Schulenberg and DLR)
- Replace instances of "\w" with its equivalent "[0-9A-Z_a-z]",
and instances of "\W" with its equivalent "[^0-9A-Z_a-z]", for
greater readability. (DLR)
- Remove unneeded foreground color for the Java source regex
used to highlight trailing whitespace, since we now support
background colors without foreground colors. (DLR)
- Further simplify the "groff" regexes. (DLR)