Compare commits

...

72 Commits

Author SHA1 Message Date
Chris Allegretta
38068cd152 Nano 1.0.1 release
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@588 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-04-06 20:04:23 +00:00
Chris Allegretta
60c65424c3 Oops, stray parenthesis when PATH_MAX isn't defined
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@586 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-04-03 14:26:35 +00:00
Chris Allegretta
90d307413b More browser and misc fixes by Matthias Andree that Chris screwed around with
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@585 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-04-03 01:02:38 +00:00
Jordi Mallach
b2c4cbebab rm libintl.h on distclean so we don't get the stupid unresolved symbols anymore.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@584 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-04-02 13:47:17 +00:00
Chris Allegretta
cef7fbb41a Added --disable-wrapping configure flag
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@583 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-04-02 05:36:08 +00:00
Robert Siemborski
a0238ed022 minor spelling fixes in comments
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@582 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-31 21:46:43 +00:00
Chris Allegretta
1c9d7f9f5d Added -o to TODO
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@581 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-30 22:37:37 +00:00
Chris Allegretta
1bacd2f8c7 Updated TODO from user feedback
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@580 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-28 21:40:05 +00:00
Chris Allegretta
0876dc9860 Change some lstats to stats, check file via lstat first, then stat() if it's a link in the browser
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@579 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-28 13:04:08 +00:00
Chris Allegretta
49805175e3 files.c:diralphasort() - Changed stat calls to lstat to stop abort on symlinks, otherwise return 0. (Matthias Andree, fixes bug #58)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@578 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-28 02:14:28 +00:00
Chris Allegretta
4bf831ff39 faq.html: Fixed typo in section 6.1 (discovered by Bob Farmer)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@577 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-26 15:35:34 +00:00
Chris Allegretta
3948bae1e1 aclocal.m4: - Minor patch for intl check (really this time) (Albert Chin)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@576 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-25 00:46:40 +00:00
Chris Allegretta
2071207e84 Well, back to CVS again
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@575 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-23 03:51:48 +00:00
Chris Allegretta
2bfbda0fd7 GNU nano 1.0.0 release
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@574 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-23 03:50:44 +00:00
Chris Allegretta
7ab3e8fed7 nano.info - Added dir entry (Albert Chin), Added Albert to credits
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@572 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-22 23:12:22 +00:00
Jordi Mallach
0a24b595a6 Final tweaks in Catalan and Spanish for 1.0
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@571 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-21 22:57:56 +00:00
Chris Allegretta
35dac58a61 statusq() - Added NANO_BACK_KEY and NANO_FORWARD_KEY cases for left and right
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@570 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-21 15:07:20 +00:00
Chris Allegretta
10ae4f11e0 cs.po: Czech translation from Vaclav Haisman
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@569 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-20 15:51:43 +00:00
Chris Allegretta
55493c2052 Im an idiot, that could easily screw up --included-gettext. Rolled back libintl.h check
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@568 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-18 18:55:06 +00:00
Chris Allegretta
4aa302fe4a aclocal.m4 check change, added explicit check for libintl.h
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@567 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-18 18:50:04 +00:00
Chris Allegretta
e31677362b Added void to argless functions decls, changed new to newnode in functions with 'new' variable
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@566 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-18 16:59:34 +00:00
Chris Allegretta
a0323de1f7 Roll-back previous change, this way copies Pico's (strange) behavior
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@565 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-15 21:14:32 +00:00
Chris Allegretta
0d471de448 Add Ryan to credits
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@564 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-15 14:40:42 +00:00
Chris Allegretta
e76f06ba1c move.c: page_down() - Oops, check for <= editwinrows (Ryan Krebs)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@563 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-15 03:35:51 +00:00
Chris Allegretta
565f7d5558 Added and fixed BUG #57
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@562 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-15 02:02:20 +00:00
Chris Allegretta
2af3904099 Oops, missed one loop
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@561 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-14 10:19:10 +00:00
Chris Allegretta
0b33d8864a Oops, remove debugging crap and don't be so conservative in space/tab check loop
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@560 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-14 10:17:39 +00:00
Chris Allegretta
74bb31b15a Fix BUG #56 found on SourceForge
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@559 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-14 09:08:14 +00:00
Chris Allegretta
94a78b8fb3 Added check for samlinewrap case and cursor placement fixes, closing BUG #55 =-)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@558 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-14 08:28:48 +00:00
Adam Rogoyski
1e9183fe31 Add auto indenting of wrapped lines which should be indented. Also fix
total file size (totsize) when auto indenting.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@557 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-13 18:36:03 +00:00
Chris Allegretta
46055b2543 Added string history to 1.1 TODO
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@556 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-03-09 16:19:50 +00:00
Chris Allegretta
53712748ec Oops, update info too :)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@555 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-25 21:14:17 +00:00
Chris Allegretta
67b14b1467 Updated POs for occurrence thang
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@554 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-23 03:16:25 +00:00
Chris Allegretta
203ce15247 nano.texi: - Meta-Z correction and grammar in --enable-tiny desc (Neil Parks)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@553 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-23 03:05:38 +00:00
Jordi Mallach
5b387d7527 Fixed two "occurence" typos.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@552 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-20 12:45:47 +00:00
Chris Allegretta
9c9c5dab4c Back to CVS
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@551 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-20 03:53:31 +00:00
Chris Allegretta
a4a222d1d7 Nano 0.9.99pre3 release
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@549 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-20 03:52:13 +00:00
Chris Allegretta
a18d7978e2 Fixed garbage in po, I hope this doesn't screw up anything Jordi
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@548 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-20 02:41:13 +00:00
Jordi Mallach
a7b2ed0cac Updated ca.po with changes from Miquel Vidal.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@547 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-20 02:04:43 +00:00
Chris Allegretta
78aac9113d Finnish update
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@546 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-19 19:37:05 +00:00
Chris Allegretta
f4a986465a NEWS for impending 0.9.99pre3 release
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@545 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-19 05:28:00 +00:00
Chris Allegretta
a57fcb044c Taking a wild guess with people's Y/N/A keys, sure to get me into trouble
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@544 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-18 05:55:47 +00:00
Chris Allegretta
ea620fe88b Yeah, so how about make the yes key == yes instead of no
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@543 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-18 05:39:41 +00:00
Chris Allegretta
0d9109acf6 Add ac to the actual configure script
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@542 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-18 05:26:18 +00:00
Chris Allegretta
2d6f1bc896 Slight update of FAQ for advocacy
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@541 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-17 02:42:03 +00:00
Jordi Mallach
6aec0d6363 Fixed some errors in Spanish
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@540 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-17 01:32:58 +00:00
Jordi Mallach
82b182986b Initial Catalan translation
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@539 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-17 01:31:32 +00:00
Jordi Mallach
8119765cbd Tiny es.po updates
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@538 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-16 20:00:03 +00:00
Chris Allegretta
618f5d788c configure.in: - Added separate check for resizeterm()
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@537 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-16 04:48:30 +00:00
Chris Allegretta
4ce8e3b863 Internationalize yes, no and all *sigh*
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@536 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-16 01:49:31 +00:00
Chris Allegretta
35ac99d0d4 Use code instead of command in man page *shrug*. Add GNUish stuff
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@535 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-15 00:25:17 +00:00
Chris Allegretta
c46dd8123c Nano is now a GNU package
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@534 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-14 14:28:27 +00:00
Chris Allegretta
9560bb51ab Update status in README
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@533 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-13 05:18:57 +00:00
Chris Allegretta
882e145ebb Manual fixes
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@532 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-12 06:52:50 +00:00
Chris Allegretta
fb9cffe268 Manual fixes
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@531 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-12 06:42:43 +00:00
Chris Allegretta
8546fa016e Added Bug #55
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@530 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-12 05:01:05 +00:00
Chris Allegretta
7e7bcf8a46 Nano texi manual
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@529 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-12 03:48:53 +00:00
Chris Allegretta
4de7b95511 Delete commented out stuff that isn't going to happen now
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@528 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-12 03:26:10 +00:00
Chris Allegretta
1bf501c236 GNU compliance issues: - Added texinfo manual nano.texi. Added texi options to Makefile.am
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@527 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-12 03:24:46 +00:00
Chris Allegretta
af6414ac37 Reworked main menu list, added help to default list, aligned ^R with ^O, ^\ with ^W
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@526 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-11 19:05:05 +00:00
Chris Allegretta
4ed131510e do_delete() - Added check for current->next == fileptr, as we have a magic line code again, fixes sillyness at the end of the last line before the magic line (reported by J.A. Neitzel)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@525 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-10 17:50:50 +00:00
Chris Allegretta
8bc03b6fdc main() - Added ENABLE_NLS check around gettext stuff
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@524 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-09 02:57:52 +00:00
Chris Allegretta
b55999ebcb de,fi,id translation updates
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@523 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-09 02:49:46 +00:00
Chris Allegretta
3362cae2f6 FAQ updates and fixes
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@522 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-06 22:21:25 +00:00
Chris Allegretta
af7fc3dbc1 Oops, actually add hu.po :-)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@521 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-06 05:16:59 +00:00
Chris Allegretta
00ae5dfa27 do_justify - If the keystroke after the justify is not the unjustify key, blank the statsubar (bug reported by Neil Parks)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@520 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-05 18:24:33 +00:00
Chris Allegretta
d096f68966 hu.po: - Hungarian translation by Horvath Szabolcs
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@519 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-05 13:51:31 +00:00
Chris Allegretta
09f39cbec6 Fix for bugu #54
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@518 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-05 13:43:23 +00:00
Chris Allegretta
a8785e0793 Added BUG #54
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@517 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-04 22:21:12 +00:00
Jordi Mallach
37388ee91e Updated for latest CVS.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@516 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-04 00:11:02 +00:00
Chris Allegretta
de48b41b61 configure.in: - Autoconf compatibility fixes (Pavel Roskin)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@515 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-02-01 22:56:44 +00:00
Chris Allegretta
7c1fee7868 Back to CVS version
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@514 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2001-01-31 23:24:54 +00:00
34 changed files with 12195 additions and 1677 deletions

11
BUGS
View File

@@ -94,6 +94,17 @@
browser..) (52) [FIXED]
- Alt speller argument (-s, --speller) does not take a string argument of
more than one word. (53) [FIXED].
- Cut to end cutting (-k) causes segfaults (try cutting "- Backup making
(filename~)?" line in TODO file) (discovered by
higuita@cadernoverde.com) (54) [FIXED].
- When using autoindent (-i), wrapped text does not get auto-indented
(55, discovered by Mark Senior) [FIXED].
- When using -R (regex) and -p (pico mode), subsequent searches after
the first fail if no string is entered (56) [FIXED].
- Page down on a file of editwinrows fails (again). Reported by Ryan
Krebs (57) [FIXED].
- File browser aborts on Solaris in qsort() call. (Reported by
Matthias Andree) (58) [FIXED].
** Open BUGS **

115
ChangeLog
View File

@@ -1,3 +1,118 @@
nano 1.0.1 - 04/06/2001
- General:
- added configure option --disable-wrapping. Does what it says,
no wrapping or checks are done. Separate from --enable-tiny,
some may want a barebones Pico clone that does wrap text.
Affects configure, nano.c:do_char() and check_wrap() obviously,
version(), and do_char().
- aclocal.m4:
- Minor patch for intl check (really this time) (Albert Chin)
- faq.html:
- Fixed typo in section 6.1 (discovered by Bob Farmer).
- files.c:
- fix two typos in comments, one in ChangeLog (Matthias Andree)
diralphasort()
- Stop abort on symlinks (Matthias Andree)
- use strcasecmp to sort directory if available, pilot does that
as well (Matthias Andree)
filestat(), do_browse()
- Changed lstat calls to stat, which fixes the browser not
following links to directories. We only use lstat() when
printing the details of the file, and if it is a link, then
check via lstat() for link to a directory. If it is
a directory, display (dir), else use the normal "--".
do_browser()
- Fix broken size suffix off-by-one errors (Matthias Andree)
cwd_tab_completion(), do_browse_from()
- Use PATH_MAX instead of 0 arg to getcwd (Matthias Andree).
- Changed above to use PATH_MAX only when defined on the
system, as the HURD e.g. does not support it.
- intl/Makefile.in:
distclean
- added intl/libintl.h to the rm -f rule, should fix the unresolved
gettext symbols problem (Jordi).
nano-1.0.0 - 03/22/2001
- General
- Added void to functions declared as () args, nano.c:do_mark()
and search.c:regexp_cleanup(). (Christian Weisgerber).
- Changed internal variables called "new" to "newnode" to avoid
the "new" C++ reserved word, even though there is likely no way
nano will EVER be compilable with a C++ compiler. (suggested by
Rocco Corsi).
- ca.po, es.po:
- Final tweaks for Nano 1.0.
- cs.po:
- Czech translation from Vaclav Haisman.
- nano.info:
- Added dir entry (Albert Chin).
- winio.c:
statusq()
- Added NANO_BACK_KEY and NANO_FORWARD_KEY cases for left and right.
1.0-test prerelease - 03/17/2001
- nano.c:
do_wrap()
- Added case for autoindenting text causing new line (Adam).
- Added SAMELINE case to above. Added checks to cases 1b and
2b for placement of cursor.
- move.c:
page_down()
- Check for totlines < editwinrows in check for superflous
edit update (fixed BUG #57).
- search.c:
print_replaced()
- s/occurence/occurrence typos (Jordi).
search_init()
- If using Pico mode and regex and same answer is entered, use
last_search string instead of answer (fixes BUG #56).
- nano.texi:
- Meta-Z correction and grammar in --enable-tiny desc (Neil Parks).
nano-0.9.99pre3 - 02/19/2001
- General
GNU compliance issues:
- Reworked shortcut list, put "Get Help" into default list,
removed "Goto Line", aligned "Read File" with "Write Out" and
"Replace" with "Where is" for consistency.
- Added texinfo manual nano.texi. Added texi options to
Makefile.am.
- configure.in:
- Autoconf compatibility fixes (Pavel Roskin)
- Added separate check for resizeterm().
- ALL_LINGUAS: added hu and ca.
- cut.c:
do_cut_text()
- marked text cut fixes (Rocco) (Fixes bug #54).
- nano.c:
do_delete()
- Added check for current->next == fileptr, as we have a magic
line code again, fixes sillyness at the end of the last line
before the magic line (reported by J.A. Neitzel).
do_justify()
- If the keystroke after the justify is not the unjustify key,
blank the statsubar (bug reported by Neil Parks).
main()
- Added ENABLE_NLS check around gettext stuff.
- winio.c:
do_yesno()
- Added localized yes, no and all strings to function and rewrote
handler for the new format.
- de.po:
- Translation updates by Florian König.
- fi.po:
- Translation updates by Pauli Virtanen.
- hu.po:
- Hungarian translation by Horvath Szabolcs.
- id.po:
- Translation updates by Tedi Heriyanto.
- es.po:
- Translation updates and grammatical/typo fixes (Jordi).
- ca.po:
- Catalan translation by Jordi Mallach :)
- Miquel Vidal <miquel@sindominio.net> went over it and corrected
many typos and completed bits that remained untranslated by error.
nano-0.9.99pre2 - 01/31/2001
General
- Removed center_x and center_y globals. center_y was

View File

@@ -14,6 +14,9 @@ nano_SOURCES = cut.c \
man_MANS = nano.1
nano_LDADD = @INTLLIBS@
info_TEXINFOS = nano.texi
MAKEINFO = makeinfo --no-split
EXTRA_DIST = AUTHORS BUGS COPYING ChangeLog INSTALL NEWS README \
TODO install-sh missing mkinstalldirs nano.1 nano.1.html \
faq.html

View File

@@ -75,7 +75,6 @@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
PACKAGE = @PACKAGE@
@@ -94,6 +93,9 @@ nano_SOURCES = cut.c files.c global.c move.c nano.c nano.h proto.h
man_MANS = nano.1
nano_LDADD = @INTLLIBS@
info_TEXINFOS = nano.texi
MAKEINFO = makeinfo --no-split
EXTRA_DIST = AUTHORS BUGS COPYING ChangeLog INSTALL NEWS README TODO install-sh missing mkinstalldirs nano.1 nano.1.html faq.html
@@ -120,13 +122,18 @@ CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
TEXI2DVI = texi2dvi
INFO_DEPS = nano.info
DVIS = nano.dvi
TEXINFOS = nano.texi
man1dir = $(mandir)/man1
MANS = $(man_MANS)
NROFF = nroff
DIST_COMMON = README ./stamp-h.in ABOUT-NLS AUTHORS COPYING ChangeLog \
INSTALL Makefile.am Makefile.in NEWS TODO acconfig.h aclocal.m4 \
config.h.in configure configure.in install-sh missing mkinstalldirs
config.h.in configure configure.in install-sh missing mkinstalldirs \
texinfo.tex
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
@@ -138,7 +145,7 @@ OBJECTS = $(nano_OBJECTS)
all: all-redirect
.SUFFIXES:
.SUFFIXES: .S .c .o .s
.SUFFIXES: .S .c .dvi .info .o .ps .s .texi .texinfo .txi
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
@@ -230,6 +237,122 @@ nano: $(nano_OBJECTS) $(nano_DEPENDENCIES)
@rm -f nano
$(LINK) $(nano_LDFLAGS) $(nano_OBJECTS) $(nano_LDADD) $(LIBS)
nano.info: nano.texi
nano.dvi: nano.texi
DVIPS = dvips
.texi.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texi.dvi:
TEXINPUTS=.:$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.texi:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo.dvi:
TEXINPUTS=.:$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.txi.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.txi.dvi:
TEXINPUTS=.:$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.txi:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.dvi.ps:
$(DVIPS) $< -o $@
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(infodir)
@list='$(INFO_DEPS)'; \
for file in $$list; do \
d=$(srcdir); \
for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
if test -f $$d/$$ifile; then \
echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
$(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
else : ; fi; \
done; \
done
@$(POST_INSTALL)
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
done; \
else : ; fi
uninstall-info:
$(PRE_UNINSTALL)
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
ii=yes; \
else ii=; fi; \
list='$(INFO_DEPS)'; \
for file in $$list; do \
test -z "$ii" \
|| install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
done
@$(NORMAL_UNINSTALL)
list='$(INFO_DEPS)'; \
for file in $$list; do \
(cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
done
dist-info: $(INFO_DEPS)
list='$(INFO_DEPS)'; \
for base in $$list; do \
d=$(srcdir); \
for file in `cd $$d && eval echo $$base*`; do \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
done; \
done
mostlyclean-aminfo:
-rm -f nano.aux nano.cp nano.cps nano.dvi nano.fn nano.fns nano.ky \
nano.kys nano.ps nano.log nano.pg nano.toc nano.tp nano.tps \
nano.vr nano.vrs nano.op nano.tr nano.cv nano.cn
clean-aminfo:
distclean-aminfo:
maintainer-clean-aminfo:
cd $(srcdir) && for i in $(INFO_DEPS); do \
rm -f $$i; \
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
rm -f $$i-[0-9]*; \
fi; \
done
install-man1:
$(mkinstalldirs) $(DESTDIR)$(man1dir)
@list='$(man1_MANS)'; \
@@ -416,9 +539,10 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
info-am:
$(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
info-am: $(INFO_DEPS)
info: info-recursive
dvi-am:
dvi-am: $(DVIS)
dvi: dvi-recursive
check-am: all-am
check: check-recursive
@@ -430,21 +554,22 @@ all-recursive-am: config.h
install-exec-am: install-binPROGRAMS
install-exec: install-exec-recursive
install-data-am: install-man
install-data-am: install-info-am install-man
install-data: install-data-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-recursive
uninstall-am: uninstall-binPROGRAMS uninstall-man
uninstall-am: uninstall-binPROGRAMS uninstall-info uninstall-man
uninstall: uninstall-recursive
all-am: Makefile $(PROGRAMS) $(MANS) config.h
all-am: Makefile $(INFO_DEPS) $(PROGRAMS) $(MANS) config.h
all-redirect: all-recursive-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs-recursive
installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(infodir) \
$(DESTDIR)$(mandir)/man1
mostlyclean-generic:
@@ -457,25 +582,27 @@ distclean-generic:
maintainer-clean-generic:
mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS \
mostlyclean-compile mostlyclean-tags \
mostlyclean-compile mostlyclean-aminfo mostlyclean-tags \
mostlyclean-generic
mostlyclean: mostlyclean-recursive
clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-tags \
clean-generic mostlyclean-am
clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-aminfo \
clean-tags clean-generic mostlyclean-am
clean: clean-recursive
distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile \
distclean-tags distclean-generic clean-am
distclean-aminfo distclean-tags distclean-generic \
clean-am
distclean: distclean-recursive
-rm -f config.status
maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS \
maintainer-clean-compile maintainer-clean-tags \
maintainer-clean-generic distclean-am
maintainer-clean-compile maintainer-clean-aminfo \
maintainer-clean-tags maintainer-clean-generic \
distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
@@ -486,7 +613,9 @@ maintainer-clean: maintainer-clean-recursive
mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile install-man1 uninstall-man1 install-man \
maintainer-clean-compile install-info-am uninstall-info \
mostlyclean-aminfo distclean-aminfo clean-aminfo \
maintainer-clean-aminfo install-man1 uninstall-man1 install-man \
uninstall-man install-data-recursive uninstall-data-recursive \
install-exec-recursive uninstall-exec-recursive installdirs-recursive \
uninstalldirs-recursive all-recursive check-recursive \

31
NEWS
View File

@@ -1,3 +1,34 @@
04/06/2001 - GNU nano 1.0.1 is out there. The only new feature is a
configure option for those who want to disable all
word wrapping from nano, --disable-wrapping. Bug fixes
this release include some bugs with autoconf and i18n,
and several fixes in the file browser including a
segfault on Solaris, symlinks to directories now work
properly, and nano now sorts files case insensitively
like pilot. Have fun with it.
03/22/2001 - GNU Nano 1.0 is released! The autoindent wrapping bug
has been fixed, as well as strange bug when using Pico
mode and regex search. There have also been some minor
spelling and documentation updates. As stated on the
website, there are currently no known bugs with nano, but
some will pop up eventually and they will be addressed in
subsequent releases. We hope you enjoy this first stable
release of nano, and as always, feedback is welcome!
nano@nano-editor.org.
02/19/2001 - Nano 0.9.99pre3 brings a lot of changes! The most important
being that nano is now officially a GNU program. Some
changes have been made for GNU compatibility (like the
default list of shortcuts, "^G Get Help" is now Listed and
"^_ Goto Line" is not). The Yes/No/All keys have
finally been internationalized also. All in all, quite
a few changes considering nano is supposed to be in a code
freeze. But there are the usual helping of bugfixes, a
nasty bug when cutting text in -k mode and some
compatibility with older ncurses libraries have also been
fixed. All in all, a lot to see.
01/31/2001 - Nano 0.9.99pre2 is released. Not surprisingly, all that is
new is bugfixes, bugfixes, bugfixes. There were a few
cleanups in unneeded global variables and duplicate

34
README
View File

@@ -1,5 +1,5 @@
nano - a GPLed, enhanced clone of the Pico text editor.
GNU nano - an enhanced clone of the Pico text editor.
Overview
@@ -16,6 +16,9 @@ Overview
nano aims to solve these problems by emulating the functionality of
Pico as closely as possible while adressing the problems above and
perhaps providing other extra functionality.
The nano editor is now an official GNU package. For more information
on GNU and the Free Software Foundation please see http://www.gnu.org.
How to compile and install nano
@@ -26,8 +29,8 @@ How to compile and install nano
make
make install
It's that simple. Use --prefix to override the default installation
directory of /usr/local.
It's that simple. Use --prefix with configutr to override the
default installation directory of /usr/local.
Web Page
@@ -50,27 +53,12 @@ Mailing List and Bug Reports
Current Status
nano is currently at version 0.9.x, and it will probably remain there
for awhile. This reflects the adage that the last 10% of a project
takes 90% of the time. Version 1.0 will be released when there are
no unresolved bugs, and not before. I am also currently looking for
patches for all things listed in the TODO file. If you have a
comment or suggestion, please let me know, all help is appreciated.
GNU nano has finally reached its first stable release (1.0).
The development tree will fork soon and it will be called 1.1.x,
in the Linux kernel naming style. Many thanks to all of our
bug reporters and contributors of code to get nano where it is
today.
Warning: This program can and possibly will corrupt your data in
its current form! It is beta software, so treat it as such!
Thank you.
Note that the primary aim of nano is to emulate Pico while adding a
few key "missing" features. I do NOT want just a GPL'ed Pico clone,
nor do I want something that strays too far from the Pico design
(simple and straightforward). If you don't like this, feel free to
fork my code at any time, but please call your editor something
else, believe it or not I struggled awhile before coming up with
the name nano (and before that TIP), and it would be much easier for
everyone if there weren't five versions of the same program. As you
can guess, I'm not much of an emacs fan ;)
Chris Allegretta (chrisa@asty.org)
$Id$

6
TODO
View File

@@ -24,5 +24,11 @@ For Next Version:
- Color syntax highlighting? (certainly seems like there's a demand for it.)
- .nanorc ?????
- Backup making (filename~)?
- Search (etc) string history [1.1]
- Implent Pico's -j and -g flags, as they are pretty easy to do.
- Make mouse support work with clicking on the shortcuts (-m). Must
make global variable pointing to current shortcut list to determine what
keystroke to ungetch().
- Implement -o (chroot of sorts)
$Id$

View File

@@ -3,6 +3,9 @@
/* Define this if you have the wresize function in your ncurses-type library */
#undef HAVE_WRESIZE
/* Define this if you have the resizeterm function in your ncurses-type library */
#undef HAVE_RESIZETERM
/* Define this if your curses lib has the _use_keypad flag */
#undef HAVE_USEKEYPAD
@@ -44,3 +47,7 @@
/* Define this to disable the built-in (crappy) file browser */
#undef DISABLE_BROWSER
/* Define this to disable any and all text wrapping */
#undef DISABLE_WRAPPING

View File

@@ -55,6 +55,9 @@
/* Define this if you have the wresize function in your ncurses-type library */
#undef HAVE_WRESIZE
/* Define this if you have the resizeterm function in your ncurses-type library */
#undef HAVE_RESIZETERM
/* Define this if your curses lib has the _use_keypad flag */
#undef HAVE_USEKEYPAD
@@ -97,6 +100,9 @@
/* Define this to disable the built-in (crappy) file browser */
#undef DISABLE_BROWSER
/* Define this to disable any and all text wrapping */
#undef DISABLE_WRAPPING
/* Define if you have the __argz_count function. */
#undef HAVE___ARGZ_COUNT

446
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
# $Id$
dnl Process this file with autoconf to produce a configure script.
AC_INIT(nano.c)
AM_INIT_AUTOMAKE(nano, 0.9.99pre2)
AM_INIT_AUTOMAKE(nano, 1.0.1)
AM_CONFIG_HEADER(config.h:config.h.in)
ALL_LINGUAS="es de fr it id fi"
ALL_LINGUAS="es de fr it id fi hu ca cs"
dnl Checks for programs.
AC_PROG_CC
@@ -62,7 +62,13 @@ AC_ARG_ENABLE(browser,
AC_DEFINE(DISABLE_BROWSER)
fi])
AC_MSG_CHECKING(whether to use slang)
AC_ARG_ENABLE(wrapping,
[ --disable-wrapping Disables all wrapping of text (and -w flag)],
[if test x$enableval != xyes; then
AC_DEFINE(DISABLE_WRAPPING)
fi])
AC_MSG_CHECKING([whether to use slang])
CURSES_LIB_NAME=""
AC_ARG_WITH(slang,
[ --with-slang[=DIR] Use the slang library instead of curses],
@@ -80,7 +86,7 @@ AC_ARG_WITH(slang,
fi
AC_CHECK_HEADER(slcurses.h,
AC_MSG_CHECKING(for SLtt_initialize in -lslang)
AC_MSG_CHECKING([for SLtt_initialize in -lslang])
_libs=$LIBS
LIBS="$LIBS -lslang"
AC_TRY_RUN([
@@ -99,11 +105,11 @@ int main () { SLtt_initialize (NULL); return 0; }],
AC_MSG_RESULT(no)
# We might need the term library
for termlib in ncurses curses termcap terminfo termlib; do
AC_CHECK_LIB(${termlib}, tputs, [tcap="-l$termlib"])
AC_CHECK_LIB([${termlib}], tputs, [tcap="-l$termlib"])
test -n "$tcap" && break
done
AC_MSG_CHECKING(for SLtt_initialize in -lslang $tcap)
AC_MSG_CHECKING([for SLtt_initialize in -lslang $tcap])
LIBS="$LIBS $tcap"
AC_TRY_RUN([
#include <stdio.h>
@@ -120,7 +126,7 @@ int main () { SLtt_initialize (NULL); return 0; }],
CURSES_LIB_NAME=slang], [
AC_MSG_RESULT(no)
# We might need the math library
AC_MSG_CHECKING(for SLtt_initialize in -lslang $tcap -lm)
AC_MSG_CHECKING([for SLtt_initialize in -lslang $tcap -lm])
LIBS="$LIBS -lm"
AC_TRY_RUN([
#include <stdio.h>
@@ -152,17 +158,17 @@ AC_MSG_WARN([*** Can not use slang when cross-compiling])),
LDFLAGS=${_ldflags}
fi
;;
esac], AC_MSG_RESULT(no))
esac], [AC_MSG_RESULT(no)])
dnl Checks for functions
AC_CHECK_FUNCS(snprintf vsnprintf)
if test "x$ac_cv_func_snprintf" = "xno" -o "xac_cv_func_vsnprintf" = "xno"
then
AM_PATH_GLIB(1.2.4,,
AC_MSG_ERROR([
[AC_MSG_ERROR([
*** snprintf() and/or vsnprintf() not found. GLIB not found either.
*** You need both snprintf() and vsnprintf(). Alternatively you can
*** install the GLIB library which can be found at ftp://ftp.gtk.org/.]),
*** install the GLIB library which can be found at ftp://ftp.gtk.org/.])],
glib)
glib_cflags=`$GLIB_CONFIG --cflags glib`
glib_libs=`$GLIB_CONFIG --libs glib`
@@ -181,23 +187,23 @@ dnl Checks for libraries.
if eval "test x$CURSES_LIB_NAME = x"
then
AC_CHECK_HEADERS(curses.h ncurses.h)
AC_CHECK_LIB(ncurses, tgetent,CURSES_LIB="-lncurses" CURSES_LIB_NAME=ncurses)
AC_CHECK_LIB(ncurses, tgetent, [CURSES_LIB="-lncurses" CURSES_LIB_NAME=ncurses])
fi
if eval "test x$CURSES_LIB_NAME = x"
then
AC_CHECK_LIB(curses, tgetent, CURSES_LIB="-lcurses" CURSES_LIB_NAME=curses)
AC_CHECK_LIB(curses, tgetent, [CURSES_LIB="-lcurses" CURSES_LIB_NAME=curses])
fi
# Fallback for PDCurses and less useful curses libs...
if eval "test x$CURSES_LIB_NAME = x"
then
AC_CHECK_LIB(curses, initscr, CURSES_LIB="-lcurses" CURSES_LIB_NAME=curses)
AC_CHECK_LIB(curses, initscr, [CURSES_LIB="-lcurses" CURSES_LIB_NAME=curses])
fi
if eval "test x$CURSES_LIB_NAME = x"
then
AC_CHECK_LIB(termcap, tgetent, CURSES_LIB="-ltermcap" CURSES_LIB_NAME=termcap)
AC_CHECK_LIB(termcap, tgetent, [CURSES_LIB="-ltermcap" CURSES_LIB_NAME=termcap])
fi
if eval "test x$CURSES_LIB_NAME = x"
@@ -207,15 +213,16 @@ then
*** distribution from ftp://ftp.gnu.org/pub/gnu/ncurses if you get
*** errors compiling nano.])
else
AC_MSG_RESULT("Using $CURSES_LIB_NAME as the termcap library")
AC_MSG_RESULT([Using $CURSES_LIB_NAME as the termcap library])
fi
if test x$slang_support != xyes; then
AC_CHECK_LIB($CURSES_LIB_NAME, wresize, AC_DEFINE(HAVE_WRESIZE))
AC_CHECK_LIB([$CURSES_LIB_NAME], wresize, [AC_DEFINE(HAVE_WRESIZE)])
AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [AC_DEFINE(HAVE_RESIZETERM)])
# Taken from aumix (can't tell form the variable name?)
AC_CACHE_CHECK(for private member _use_keypad in WINDOW,
AC_CACHE_CHECK([for private member _use_keypad in WINDOW],
aumix_cv_struct_window_usekeypad,
[AC_TRY_COMPILE([#ifdef HAVE_NCURSES_H
#include <ncurses.h>

11
cut.c
View File

@@ -174,24 +174,23 @@ int do_cut_text(void)
if (ISSET(MARK_ISSET)) {
if (current->lineno == mark_beginbuf->lineno) {
tmp = copy_node(current);
newsize = abs(strlen(&current->data[mark_beginx]) -
strlen(&current->data[current_x]));
newsize = abs(mark_beginx - current_x) + 1;
tmpstr = nmalloc(newsize);
tmpstr = nmalloc(newsize + 1);
if (current_x < mark_beginx) {
strncpy(tmpstr, &current->data[current_x], newsize);
memmove(&current->data[current_x],
&current->data[mark_beginx],
strlen(&current->data[mark_beginx] - newsize));
strlen(&current->data[mark_beginx]) + 1);
} else {
strncpy(tmpstr, &current->data[mark_beginx], newsize);
memmove(&current->data[mark_beginx],
&current->data[current_x],
strlen(&current->data[current_x] - newsize));
strlen(&current->data[current_x]) + 1);
current_x = mark_beginx;
update_cursor();
}
tmpstr[newsize] = 0;
tmpstr[newsize - 1] = 0;
tmp->data = tmpstr;
add_to_cutbuffer(tmp);
dump_buffer(cutbuffer);

View File

@@ -1,6 +1,6 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<title>The nano editor FAQ</title>
<title>The GNU nano editor FAQ</title>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.73 [en] (X11; U; Linux 2.2.16 i586) [Netscape]">
@@ -17,7 +17,7 @@
<blockquote><font color="#330000"><a href="#1.1">1.1 About this FAQ.</a></font>
<br><font color="#330000"><a href="#1.2">1.2. How do I contribute to it?</a></font>
<br><font color="#330000"><a href="#1.3">1.3. What is nano?</a></font>
<br><font color="#330000"><a href="#1.3">1.3. What is GNU nano?</a></font>
<br><font color="#330000"><a href="#1.4">1.4. What is the history behind
nano?</a></font>
<br><font color="#330000"><a href="#1.5">1.5. Why the name change from
@@ -28,7 +28,8 @@ of nano?</a></font>
without having to download the program!</a></font></blockquote>
<h2>
<font color="#330000"><a href="#2">2. Where to get nano</a></font></h2>
<font color="#330000"><a href="#2">2. Where to get GNU
nano</a></font></h2>
<blockquote><font color="#330000"><a href="#2.1">2.1. FTP and WWW sites
that carry nano.</a></font>
@@ -134,13 +135,13 @@ href="mailto:nano@nano-editor.org">nano@nano-editor.org</a> and if
it is useful enough it will be included in future versions.</font></blockquote>
<h2>
<a NAME="1.3"></a><font color="#330000">1.3. What is nano?</font></h2>
<a NAME="1.3"></a><font color="#330000">1.3. What is GNU nano?</font></h2>
<blockquote><font color="#330000">Nano is designed to be a free replacement
for the Pico text editor, part of the PINE email suite from <a href="http://www.washington.edu/pine">The
University of Washington</a>.&nbsp; It aims to "emulate Pico as closely
as possible and perhaps include extra functionality WITHOUT breaking compatibility
with Pico.</font></blockquote>
<blockquote><font color="#330000">GNU Nano is designed to be a free
replacement for the Pico text editor, part of the PINE email suite from <a
href="http://www.washington.edu/pine">The University of
Washington</a>.&nbsp; It aims to "emulate Pico as closely as possible and
perhaps include extra functionality.</font></blockquote>
<h2>
<a NAME="1.4"></a><font color="#330000">1.4. What is the history behind
@@ -166,7 +167,7 @@ sense of the word.</font>
<p><b><font color="#330000">The event...</font></b>
<p><font color="#330000">It was in late 1999 when Chris Allegretta (our
hero) was yet again complaining to himself about the less-than-perfect
license Pico was distributed under, the 10000 makefiles that came with
license Pico was distributed under, the 1.0.1 makefiles that came with
it and how just a few small improvements could make it the Best Editor
in the World (TM).&nbsp; Having been a convert from Slackware to debian,
he missed having a simple binary package that included Pine and Pico, and
@@ -177,7 +178,11 @@ and hacked like a madman for many hours straight one weekend to make a
The program could not be invoked without a filename, could not save files,
had no help menu, spell checker, and so forth.&nbsp; But over time it improved,
and with the help of a few great coders it matured to the almost stable
state it is today.</font></blockquote>
state it is today.
<p><font color="#330000">In February 2001, nano has been declared an
official GNU program by Richard Stallman. Nano is also nearing its 1.0
release as of this writing (Valentine's Day 2001).
</font></blockquote>
<h2>
<a NAME="1.5"></a><font color="#330000">1.5. Why the name change from TIP?</font></h2>
@@ -195,7 +200,7 @@ nano was developed).</font></blockquote>
of nano?</font></h2>
<blockquote><font color="#330000">The current version of nano *should*
be 0.9.99pre2.&nbsp; Of course you should always check the nano hompage to
be 1.0.1.&nbsp; Of course you should always check the nano hompage to
see what the latest and greatest version is.</font></blockquote>
<h2>
@@ -207,7 +212,7 @@ Okay, look <a href="http://www.nano-editor.org/dist/nano.1.html">here</a>.</font
<hr WIDTH="100%">
<h1>
<a NAME="2"></a><font color="#330000">2. Where to get nano</font></h1>
<a NAME="2"></a><font color="#330000">2. Where to get GNU nano</font></h1>
<h2>
<a NAME="2.1"></a><font color="#330000">2.1. FTP and WWW sites that carry
@@ -363,7 +368,7 @@ list:
<b>--disable-help</b> Disables help function (^G)
<b>--disable-browser</b> Disables mini file browser
</pre><br>
There's also the <b>--enable-tiny</b> option which disabled everything
There's also the <b>--enable-tiny</b> option which disables everything
above, as well as some larger chunks of the program (like the marker code
that you use Control-^ to select with). Also, if you know you aren't
going to be using other languages you can use <b>--disable-nls</b> to
@@ -441,7 +446,7 @@ In a nutshell, if you want to be able to use the keypad with the arrow and
page up/down functionality, you have to exit nano and reset your terminal
(presumably with "reset" or "stty sane" or similar) and then run nano
again with NumLock off. If you know an easier way to restore "normal
mode", please mail <A href="nano@nano-editor.org">nano@nano-editor.org</A>.
mode", please mail <A href="mailto:nano@nano-editor.org">nano@nano-editor.org</A>.
<br>&nbsp;</blockquote>
<h2>
@@ -503,7 +508,7 @@ or the devel list.</font></blockquote>
of Pico?</font></h2>
<blockquote><font color="#330000">There are many reasons to use nano instead
of Pico, a more complete list can be found at the <a href="http://www.nano-edior.org">nano
of Pico, a more complete list can be found at the <a href="http://www.nano-editor.org">nano
homepage</a>.</font></blockquote>
<h2>
@@ -516,34 +521,33 @@ of personal preference as to which editor you should use.&nbsp; If you're
the type of person who likes using the original version of a program, then
Pico is the editor for you.&nbsp;&nbsp; If you're looking for a few more
features and a 'better' license as far as adding your own changes (sacrificing
mailer integration and a little stability), nano is the way to go.</blockquote>
mailer integration and a little stability), nano is the way to go.
</blockquote>
<h2>
<a NAME="6.3"></a><font color="#330000">6.3. What is so bad about the PINE
license?</font></h2>
<blockquote><font color="#330000">Technically there is nothing "wrong"
with the U of W license for Pine and Pico.&nbsp; However, it is&nbsp; not
considered truly "free" according to the <a href="http://www.debian.org/social_contract#guidelines">Debian
Free Software Guidelines</a>.&nbsp; The only real problem as far as I'm
aware as that there are limitations on the redistribution of programs based
on the Pine and Pico source.&nbsp;&nbsp; So at a real nitty gritty level,
these programs are not considered Free Software.&nbsp; This is why Pico
isn't distributed in binary form in debian, and hence one of the main reasons
nano was started.</font></blockquote>
<blockquote><font color="#330000">The U of W license for Pine and
Pico is not considered truly Free Software according to both the Free
Software Foundation and the the <a
href="http://www.debian.org/social_contract#guidelines">Debian
Free Software Guidelines</a>.&nbsp; The main problem regards the
limitations on distributing derived works: according to UW, you can
distribute their software, and you can modfify it, but you can not do
both, i.e. distribute modified binaries.</blockquote>
<h2>
<a NAME="6.4"></a><font color="#330000">6.4. Okay, well what mail program
should I use then?</font></h2>
<blockquote><font color="#330000">Well, there is nothing stopping you from
using Pine with nano (or Pine with Pico for that matter).&nbsp; But if
you want to use programs that are considered Free Software, you may want
to look into <a href="http://www.mutt.org">mutt</a>.&nbsp; It is a full-screen,
console based mail program that actually has a lot more flexibility than
Pine, but has a keymap included in the distribution that allows you to
use the same keystrokes as Pine would to send and receive mail.&nbsp; It's
also licensed under the GPL.</font></blockquote>
<blockquote><font color="#330000"> If you are looking to use a Free
Software program similar to PINE and emacs is not your things, you should
definitely take a look at <a href="http://www.mutt.org">mutt</a>.&nbsp; It
is a full-screen, console based mail program that actually has a lot more
flexibility than Pine, but has a keymap included in the distribution that
allows you to use the same keystrokes as Pine would to send and receive
mail.&nbsp; It's also licensed under the GPL.</font></blockquote>
<h2>
<a NAME="6.5"></a><font color="#330000">6.5. Why doesn't UW simply change

84
files.c
View File

@@ -318,7 +318,7 @@ int do_insertfile(void)
* we don't set the global variable filename to it's name, and don't
* print out how many lines we wrote on the statusbar.
*
* tmp means we are writing a tmp file in a secute fashion. We use
* tmp means we are writing a tmp file in a secure fashion. We use
* it when spell checking or dumping the file on an error.
*/
int write_file(char *name, int tmp)
@@ -736,7 +736,13 @@ char **cwd_tab_completion(char *buf, int *num_matches)
dirName[tmp - buf] = 0;
} else {
#ifdef PATH_MAX
if ((dirName = getcwd(NULL, PATH_MAX+1)) == NULL)
#else
/* The better, but aparently segfault-causing way */
if ((dirName = getcwd(NULL, 0)) == NULL)
#endif /* PATH_MAX */
return matches;
else
tmp = buf;
@@ -993,7 +999,7 @@ char *input_tab(char *buf, int place, int *lastWasTab, int *newplace)
struct stat filestat(const char *path) {
struct stat st;
lstat(path, &st);
stat(path, &st);
return st;
}
@@ -1003,26 +1009,20 @@ struct stat filestat(const char *path) {
int diralphasort(const void *va, const void *vb) {
struct stat file1info, file2info;
char *a = *(char **)va, *b = *(char **)vb;
int answer = 0;
int aisdir, bisdir;
if (stat(a, &file1info) == -1)
answer = 1;
else if (stat(b, &file2info) == -1)
answer = 1;
else {
/* If is a is a dir and b isn't, return -1.
Else if b is a dir and a isn't, return 0.
Else return a < b */
aisdir = (stat(a, &file1info) != -1) && S_ISDIR(file1info.st_mode);
bisdir = (stat(b, &file2info) != -1) && S_ISDIR(file2info.st_mode);
if (S_ISDIR(file1info.st_mode) && !S_ISDIR(file2info.st_mode))
return -1;
else if (!S_ISDIR(file1info.st_mode) && S_ISDIR(file2info.st_mode))
return 1;
else
answer = strcmp(a, b);
}
if (aisdir && !bisdir) return -1;
if (!aisdir && bisdir) return 1;
#ifdef HAVE_STRCASECMP
return(strcasecmp(a,b));
#else
return(strcmp(a,b));
#endif
return(answer);
}
@@ -1289,20 +1289,33 @@ char *do_browser(char *inpath)
col += strlen(foo);
/* Put file info in the string also */
st = filestat(filelist[j]);
/* We use lstat here to detect links, then if we find a
symlink we examine it via stat() to see if it is a
directory or just a file symlink */
lstat(filelist[j], &st);
if (S_ISDIR(st.st_mode))
strcpy(foo + longest - 5, "(dir)");
else {
if (S_ISLNK(st.st_mode))
strcpy(foo + longest - 2, "--");
else if (st.st_size < 1024) /* less than 1 K */
sprintf(foo + longest - 7, "%4d B", (int) st.st_size);
else if (st.st_size > 1073741824) /* at least 1 gig */
sprintf(foo + longest - 7, "%4d GB", (int) st.st_size / 1073741824);
else if (st.st_size > 1048576) /* at least 1 meg */
sprintf(foo + longest - 7, "%4d MB", (int) st.st_size / 1048576);
if (S_ISLNK(st.st_mode)) {
/* Aha! It's a symlink! Now, is it a dir? If so,
mark it as such */
st = filestat(filelist[j]);
if (S_ISDIR(st.st_mode))
strcpy(foo + longest - 5, "(dir)");
else
strcpy(foo + longest - 2, "--");
} else if (st.st_size < (1 << 10)) /* less than 1 K */
sprintf(foo + longest - 7, "%4d B",
(int) st.st_size >> 10);
else if (st.st_size >= (1 << 30)) /* at least 1 gig */
sprintf(foo + longest - 7, "%4d GB",
(int) st.st_size >> 30);
else if (st.st_size >= (1 << 20)) /* at least 1 meg */
sprintf(foo + longest - 7, "%4d MB",
(int) st.st_size >> 20);
else /* Its more than 1 k and less than a meg */
sprintf(foo + longest - 7, "%4d KB", (int) st.st_size / 1024);
sprintf(foo + longest - 7, "%4d KB",
(int) st.st_size >> 10);
}
/* Hilight the currently selected file/dir */
@@ -1340,7 +1353,7 @@ char *do_browser(char *inpath)
return retval;
}
/* Browser fron't end, checks to see if inpath has a dir in it and if so
/* Browser front end, checks to see if inpath has a dir in it and if so
starts do_browser from there, else from the current dir */
char *do_browse_from(char *inpath)
{
@@ -1349,9 +1362,16 @@ char *do_browse_from(char *inpath)
tmp = mallocstrcpy(tmp, inpath);
/* If there's no / in the string, we may was well start from . */
if (tmp == NULL || !strstr(tmp, "/"))
return do_browser(getcwd(NULL, 0));
if (tmp == NULL || *tmp == '\0' || !strstr(tmp, "/")) {
#ifdef PATH_MAX
char *from = getcwd(NULL, PATH_MAX+1);
#else
char *from = getcwd(NULL, 0);
#endif /* PATH_MAX */
return do_browser(from ? from : "./");
}
/* If the string is a directory, pass do_browser that */
st = filestat(tmp);

View File

@@ -218,39 +218,35 @@ void shortcut_init(int unjustify)
nano_cancel_msg = _("Cancel the current function");
#endif
if (ISSET(PICO_MODE))
sc_init_one(&main_list[0], NANO_HELP_KEY, _("Get Help"),
nano_help_msg, 0, NANO_HELP_FKEY, 0, VIEW, do_help);
else
sc_init_one(&main_list[0], NANO_WRITEOUT_KEY, _("WriteOut"),
nano_writeout_msg,
0, NANO_WRITEOUT_FKEY, 0, NOVIEW, do_writeout_void);
sc_init_one(&main_list[1], NANO_EXIT_KEY, _("Exit"),
nano_exit_msg, 0, NANO_EXIT_FKEY, 0, VIEW, do_exit);
if (ISSET(PICO_MODE))
sc_init_one(&main_list[2], NANO_WRITEOUT_KEY, _("WriteOut"),
sc_init_one(&main_list[2], NANO_WRITEOUT_KEY, _("WriteOut"),
nano_writeout_msg,
0, NANO_WRITEOUT_FKEY, 0, NOVIEW, do_writeout_void);
else
sc_init_one(&main_list[2], NANO_GOTO_KEY, _("Goto Line"),
nano_goto_msg,
NANO_ALT_G, NANO_GOTO_FKEY, 0, VIEW, do_gotoline_void);
if (ISSET(PICO_MODE))
sc_init_one(&main_list[3], NANO_JUSTIFY_KEY, _("Justify"),
nano_justify_msg, 0, NANO_JUSTIFY_FKEY, 0,
NOVIEW, do_justify);
else
sc_init_one(&main_list[3], NANO_REPLACE_KEY, _("Replace"),
nano_replace_msg,
NANO_ALT_R, NANO_REPLACE_FKEY, 0, NOVIEW, do_replace);
sc_init_one(&main_list[4], NANO_INSERTFILE_KEY, _("Read File"),
sc_init_one(&main_list[3], NANO_INSERTFILE_KEY, _("Read File"),
nano_insert_msg,
0, NANO_INSERTFILE_FKEY, 0, NOVIEW, do_insertfile);
if (ISSET(PICO_MODE))
sc_init_one(&main_list[4], NANO_INSERTFILE_KEY, _("Read File"),
nano_insert_msg,
0, NANO_INSERTFILE_FKEY, 0, NOVIEW, do_insertfile);
else
sc_init_one(&main_list[4], NANO_REPLACE_KEY, _("Replace"),
nano_replace_msg,
NANO_ALT_R, NANO_REPLACE_FKEY, 0, NOVIEW, do_replace);
sc_init_one(&main_list[5], NANO_WHEREIS_KEY, _("Where Is"),
nano_whereis_msg,
0, NANO_WHEREIS_FKEY, 0, VIEW, do_search);
@@ -330,13 +326,10 @@ void shortcut_init(int unjustify)
nano_enter_msg,
0, KEY_ENTER, NANO_CONTROL_M, NOVIEW, do_enter_void);
if (ISSET(PICO_MODE))
sc_init_one(&main_list[25], NANO_GOTO_KEY, _("Goto Line"),
sc_init_one(&main_list[25], NANO_GOTO_KEY, _("Goto Line"),
nano_goto_msg,
NANO_ALT_G, NANO_GOTO_FKEY, 0, VIEW, do_gotoline_void);
else
sc_init_one(&main_list[25], NANO_HELP_KEY, _("Get Help"),
nano_help_msg, 0, NANO_HELP_FKEY, 0, VIEW, do_help);
sc_init_one(&whereis_list[0], NANO_FIRSTLINE_KEY, _("First Line"),

View File

@@ -171,7 +171,7 @@ mostlyclean:
clean: mostlyclean
distclean: clean
rm -f Makefile ID TAGS po2msg.sed po2tbl.sed
rm -f Makefile ID TAGS po2msg.sed po2tbl.sed libintl.h
maintainer-clean: distclean
@echo "This command is intended for maintainers to use;"

2
move.c
View File

@@ -57,7 +57,7 @@ int page_down(void)
/* AHEM, if we only have a screen or less of text, DONT do an
edit_update, just move the cursor to editbot! */
if (edittop == fileage && editbot == filebot) {
if (edittop == fileage && editbot == filebot && totlines < editwinrows) {
current = editbot;
reset_cursor();
} else if (editbot != filebot || edittop == fileage) {

142
nano.c
View File

@@ -395,8 +395,10 @@ void usage(void)
(" -t --tempfile Auto save on exit, don't prompt\n"));
printf(_
(" -v --view View (read only) mode\n"));
#ifndef DISABLE_WRAPPING
printf(_
(" -w --nowrap Don't wrap long lines\n"));
#endif
printf(_
(" -x --nohelp Don't show help window\n"));
printf(_
@@ -429,7 +431,9 @@ void usage(void)
#endif
printf(_(" -t Auto save on exit, don't prompt\n"));
printf(_(" -v View (read only) mode\n"));
#ifndef DISABLE_WRAPPING
printf(_(" -w Don't wrap long lines\n"));
#endif
printf(_(" -x Don't show help window\n"));
printf(_(" -z Enable suspend\n"));
printf(_(" +LINE Start at line number LINE\n"));
@@ -439,7 +443,7 @@ void usage(void)
void version(void)
{
printf(_(" nano version %s by Chris Allegretta (compiled %s, %s)\n"),
printf(_(" GNU nano version %s (compiled %s, %s)\n"),
VERSION, __TIME__, __DATE__);
printf(_
(" Email: nano@nano-editor.org Web: http://www.nano-editor.org"));
@@ -469,6 +473,9 @@ void version(void)
#endif
#endif
#ifdef DISABLE_WRAPPING
printf(" --disable-wrapping");
#endif
#ifdef USE_SLANG
printf(" --with-slang");
#endif
@@ -493,16 +500,16 @@ filestruct *make_new_node(filestruct * prevnode)
}
/* Splice a node into an existing filestruct */
void splice_node(filestruct * begin, filestruct * new, filestruct * end)
void splice_node(filestruct * begin, filestruct * newnode, filestruct * end)
{
new->next = end;
new->prev = begin;
begin->next = new;
newnode->next = end;
newnode->prev = begin;
begin->next = newnode;
if (end != NULL)
end->prev = new;
end->prev = newnode;
}
int do_mark()
int do_mark(void)
{
#ifdef NANO_SMALL
nano_disabled_msg();
@@ -558,8 +565,11 @@ void do_char(char ch)
current->data[current_x] = ch;
do_right();
#ifndef DISABLE_WRAPPING
if (!ISSET(NO_WRAP) && (ch != '\t'))
check_wrap(current, ch);
#endif
set_modified();
check_statblank();
UNSET(KEEP_CUTBUFFER);
@@ -570,11 +580,11 @@ void do_char(char ch)
/* Someone hits return *gasp!* */
int do_enter(filestruct * inptr)
{
filestruct *new;
filestruct *newnode;
char *tmp, *spc;
int extra = 0;
new = make_new_node(inptr);
newnode = make_new_node(inptr);
tmp = &current->data[current_x];
current_x = 0;
@@ -586,26 +596,27 @@ int do_enter(filestruct * inptr)
extra++;
spc++;
current_x++;
totsize++;
}
new->data = nmalloc(strlen(tmp) + extra + 1);
strncpy(new->data, current->data, extra);
strcpy(&new->data[extra], tmp);
newnode->data = nmalloc(strlen(tmp) + extra + 1);
strncpy(newnode->data, current->data, extra);
strcpy(&newnode->data[extra], tmp);
}
} else {
new->data = nmalloc(strlen(tmp) + 1);
strcpy(new->data, tmp);
newnode->data = nmalloc(strlen(tmp) + 1);
strcpy(newnode->data, tmp);
}
*tmp = 0;
if (inptr->next == NULL) {
filebot = new;
editbot = new;
filebot = newnode;
editbot = newnode;
}
splice_node(inptr, new, inptr->next);
splice_node(inptr, newnode, inptr->next);
totsize++;
renumber(current);
current = new;
current = newnode;
align(&current->data);
/* The logic here is as follows:
@@ -687,6 +698,7 @@ void do_next_word(void)
}
#ifndef DISABLE_WRAPPING
void do_wrap(filestruct * inptr, char input_char)
{
int i = 0; /* Index into ->data for line. */
@@ -804,6 +816,14 @@ void do_wrap(filestruct * inptr, char input_char)
if (current_x >= current_word_start) {
right = current_x - current_word_start;
current_x = 0;
if (ISSET(AUTOINDENT)) {
int i = 0;
while ((inptr->next->data[i] == ' '
|| inptr->next->data[i] == '\t')) {
i++;
right++;
}
}
down = 1;
}
@@ -817,7 +837,6 @@ void do_wrap(filestruct * inptr, char input_char)
/* Category 2: two or more words on the line. */
else {
/* Case 2a: cursor before word at wrap point. */
if (current_x < current_word_start) {
temp->data =
@@ -850,6 +869,15 @@ void do_wrap(filestruct * inptr, char input_char)
down = 1;
right = current_x - current_word_start;
if (ISSET(AUTOINDENT)) {
int i = 0;
while ((inptr->next->data[i] == ' '
|| inptr->next->data[i] == '\t')) {
i++;
right++;
}
}
i = current_word_start - 1;
if (isspace((int) input_char)
&& (current_x == current_word_start)) {
@@ -891,14 +919,34 @@ void do_wrap(filestruct * inptr, char input_char)
/* We pre-pend wrapped part to next line. */
if (ISSET(SAMELINEWRAP) && inptr->next) {
/* Plus one for the space which concatenates the two lines together plus 1 for \0. */
char *p =
nmalloc(strlen(temp->data) + strlen(inptr->next->data) + 2);
int old_x = current_x, old_y = current_y;
strcpy(p, temp->data);
strcat(p, " ");
strcat(p, inptr->next->data);
/* Plus one for the space which concatenates the two lines together plus 1 for \0. */
char *p = nmalloc((strlen(temp->data) + strlen(inptr->next->data) + 2)
* sizeof(char));
if (ISSET(AUTOINDENT)) {
int non = 0;
/* Grab the beginning of the next line until it's not a
space or tab, then null terminate it so we can strcat it
to hell */
while ((inptr->next->data[non] == ' '
|| inptr->next->data[non] == '\t'))
p[non] = inptr->next->data[non++];
p[non] = 0;
strcat(p, temp->data);
strcat(p, " ");
/* Now tack on the rest of the next line after the spaces and
tabs */
strcat(p, &inptr->next->data[non]);
} else {
strcpy(p, temp->data);
strcat(p, " ");
strcat(p, inptr->next->data);
}
free(inptr->next->data);
inptr->next->data = p;
@@ -911,6 +959,7 @@ void do_wrap(filestruct * inptr, char input_char)
}
/* Else we start a new line. */
else {
temp->prev = inptr;
temp->next = inptr->next;
@@ -922,6 +971,24 @@ void do_wrap(filestruct * inptr, char input_char)
filebot = temp;
SET(SAMELINEWRAP);
if (ISSET(AUTOINDENT)) {
char *spc = inptr->data;
char *t = NULL;
int extra = 0;
if (spc) {
while ((*spc == ' ') || (*spc == '\t')) {
extra++;
spc++;
totsize++;
}
t = nmalloc(strlen(temp->data) + extra + 1);
strncpy(t, inptr->data, extra);
strcpy(t + extra, temp->data);
free(temp->data);
temp->data = t;
}
}
}
@@ -929,7 +996,7 @@ void do_wrap(filestruct * inptr, char input_char)
/* Everything about it makes me want this line here but it causes
* totsize to be high by one for some reason. Sigh. (Rob) */
/* totsize++; */
renumber(inptr);
edit_update(edittop, TOP);
@@ -987,6 +1054,7 @@ void check_wrap(filestruct * inptr, char ch)
do_wrap(inptr, ch);
}
}
#endif /* DISABLE_WRAPPING */
/* Stuff we do when we abort from programs and want to clean up the
* screen. This doesnt do much right now.
@@ -1080,7 +1148,9 @@ int do_delete(void)
align(&current->data);
} else if (current->next != NULL) {
/* Now that we have a magic lnie again, we can check for both being
on the line before filebot as well as at filebot */
} else if (current->next != NULL && current->next != filebot) {
current->data = nrealloc(current->data,
strlen(current->data) +
strlen(current->next->data) + 1);
@@ -1096,7 +1166,7 @@ int do_delete(void)
delete_node(foo);
update_line(current, current_x);
/* Please see the comment in do_basckspace if you don't understand
/* Please see the comment in do_backspace if you don't understand
this test */
if (current == filebot && strcmp(current->data, "")) {
new_magicline();
@@ -1583,7 +1653,7 @@ void handle_sigwinch(int s)
memset(hblank, ' ', COLS);
hblank[COLS] = 0;
#ifdef HAVE_NCURSES_H
#ifdef HAVE_RESIZETERM
resizeterm(LINES, COLS);
#ifdef HAVE_WRESIZE
if (wresize(topwin, 2, COLS) == ERR)
@@ -1599,7 +1669,7 @@ void handle_sigwinch(int s)
if (mvwin(bottomwin, LINES - 3 + no_help(), 0) == ERR)
die(_("Cannot move bottom win"));
#endif /* HAVE_WRESIZE */
#endif /* HAVE_NCURSES_H */
#endif /* HAVE_RESIZETERM */
fix_editbot();
@@ -1913,9 +1983,10 @@ int do_justify(void)
/* Now get a keystroke and see if it's unjustify, if not unget the keytroke
and return */
if ((kbinput = wgetch(edit)) != NANO_UNJUSTIFY_KEY)
if ((kbinput = wgetch(edit)) != NANO_UNJUSTIFY_KEY) {
ungetch(kbinput);
else {
blank_statusbar_refresh();
} else {
/* Else restore the justify we just did (ungrateful user!) */
if (tmptop->prev != NULL)
tmptop->prev->next = tmpbot->next;
@@ -2141,10 +2212,12 @@ int main(int argc, char *argv[])
SET(FOLLOW_SYMLINKS);
#ifndef NANO_SMALL
#ifdef ENABLE_NLS
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
#endif
#endif
#ifdef HAVE_GETOPT_LONG
while ((optchr = getopt_long(argc, argv, "?T:RVbcefhiklmpr:s:tvwxz",
@@ -2218,8 +2291,13 @@ int main(int argc, char *argv[])
SET(VIEW_MODE);
break;
case 'w':
#ifdef DISABLE_WRAPPING
usage();
exit(0);
#else
SET(NO_WRAP);
break;
#endif /* DISABLE_WRAPPING */
case 'x':
SET(NO_HELP);
break;

2
nano.h
View File

@@ -61,7 +61,7 @@
# endif
#endif
#define VERMSG "nano " VERSION
#define VERMSG "GNU nano " VERSION
/* Structure types */
typedef struct filestruct {

405
nano.info Normal file
View File

@@ -0,0 +1,405 @@
This is nano.info, produced by makeinfo version 4.0 from nano.texi.
INFO-DIR-SECTION Editors
START-INFO-DIR-ENTRY
* Nano: (nano). Small and friendly text editor.
END-INFO-DIR-ENTRY

File: nano.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
This manual documents GNU nano, a small and friendly text editor.
* Menu:
* Introduction::
* Editor Basics::
* Online Help::
* Feature Toggles::
* The File Browser::
* Pico Compatibility::
* Building and Configure Options::

File: nano.info, Node: Introduction, Next: Editor Basics, Prev: Top, Up: Top
Introduction
************
GNU `nano' is a small and friendly text editor. Besides basic text
editing, `nano' offers many extra features like an interactive search
and replace, goto line number, auto-indentation, feature toggles,
internationalization support, and filename tab completion.
* Menu:
* Overview::
* Command Line Options::

File: nano.info, Node: Overview, Next: Command Line Options, Prev: Introduction, Up: Introduction
Overview
========
`nano' [GNU long option] [option] +LINE [ FILE ... ]
The original goal for `nano' was a complete bug-for-bug compatible
emulation of Pico, but consistency is now a slightly higher priority.
There is a flag to implement (nearly) complete Pico emulation, (option
-p or GNU long option -pico). This can also be toggled from within
`nano' by typing Meta-P. *Note Pico Compatibility::, for more info.
Email bug reports to <nano@nano-editor.org>.

File: nano.info, Node: Command Line Options, Prev: Overview, Up: Introduction
Command Line Options
====================
`nano' takes the following options from the command line:
`-T [num, --tabsize=[num]'
Set the displayed tab length to [num] columns.
`-R, --regexp'
Turns on regular expression search and search/replace.
`-V, --version'
Print the version number and copyright and quit.
`-c, --const'
Constantly display the cursor posititon and line number on the
statusbar.
`-h, --help'
Print the usage and exit.
`-i, --autoindent'
Automatically indent new lines to the same number of spaces and
tabs as the previous line.
`-k, --cut'
Makes ^K cut from the current cursor position to the end of the
current line.
`-l, --nofollow'
When writing files, if the given file is a symbolic link it is
removed and a new file is created.
`-m, --mouse'
Enables the use of the mouse to select text (currently only useful
for running under the X window system).
`-p, --pico'
Emulate Pico as closely as possible, sacrificing consistency for
correct emulation. *Note Pico Compatibility::, for more info.
`-r [#cols], --fill=[#cols].'
Wrap lines at column #cols. By default this is the width of the
screen, less eight.
`-s [prog], --speller=[prog]'
Invoke [prog] as the spell checker. By default, `nano' uses its
own interactive spell checker that requires the `spell' program be
installed on your system.
`-t, --tempfile'
Do not ask whether or not to save the current contents of the file
when exiting, assume yes. This is most useful when using `nano'
as the composer of a mailer program.
`-x, --nohelp'
In Expert Mode, the Shortcut Lists will not appear at the bottom
of the screen. This affects the location of the statusbar as
well, as in Expert Mode it is located at the very bottom of the
editor.
Note: When accesing the help system, Expert Mode is temporarily
disabled to display the help system navigation keys.
`-v, --view'
Do not allow the contents of the file to be altered. Note that
this flag should NOT be used in place of correct file permissions
to implement a read-only file.
`-w, --nowrap'
Do not wrap long lines at any length. This option overrides any
value for -r.
`-z, --suspend'
Enable suspend ability of `nano' using the system's suspend
keystroke (usually ^Z).
`+LINE'
Start at line number LINE instead of the default of line 1.

File: nano.info, Node: Editor Basics, Next: Online Help, Prev: Introduction, Up: Top
Editor Basics
*************
* Menu:
* Entering Text::
* Special Functions::
* The Titlebar::
* The Statusbar::
* Shortcut Lists::

File: nano.info, Node: Entering Text, Next: Special Functions, Prev: Editor Basics, Up: Editor Basics
Entering Text
=============
All key sequences in `nano' are entered using the keyboard. `nano'
is a "modeless" editor, all keys with the exception of Control and Meta
key sequences will enter text into the file being edited.

File: nano.info, Node: Special Functions, Next: The Titlebar, Prev: Entering Text, Up: Editor Basics
Special Functions
=================
Special functions use the Control key (displayed in the help and
shotcut lists as ^) or the Meta key (displayed as M).
* Control key sequences are entered by holding down the Control key
and pressing the desired letter.
* Meta key sequences can be entered in a number of possible ways:
Pressing the Escape key, then releasing it and pressing the
desired key, or holding down the Alt key while pressing the desired
key. This varies from keyboard to keyboard, and certain commercial
operating systems "swallow" the Alt key so that it never reaches
the application. If your operating system does this, you should
use the Escape key to generate Meta key sequences.

File: nano.info, Node: The Titlebar, Next: The Statusbar, Prev: Special Functions, Up: Editor Basics
The Titlebar
============
The titlebar is the line displayed at the top of the editor. There
are three sections: left, center and right. The section on the left
displays the version of `nano' being used. The center section displays
the current file name, or "New Buffer" if the file has not yet been
named. The section on the right will display "Modified" if the file
has been modified since it ws last saved or opened.
Special modes: When nano is in "File browser" mode, the center
section will display the current directory instead of the filename.
*Note The File Browser::.

File: nano.info, Node: The Statusbar, Next: Shortcut Lists, Prev: The Titlebar, Up: Editor Basics
The Statusbar
=============
The statusbar is located three lines from the bottom of the screen
(or the bottom line in Expert Mode. *Note Expert Mode::, for more info.
The Statusbar shows important and informational messages. Any error
messages that occur from using the editor will appear on the statusbar.
Any questions that are asked of the user will be asked on the statusbar,
and any user input (serch strings, file names, etc) will be input on the
statusbar.

File: nano.info, Node: Shortcut Lists, Prev: The Statusbar, Up: Editor Basics
Shortcut Lists
==============
The Shorcut Lists are the two lines at the bottom of the screen
which show some of the more commonly used functions in the editor. The
exact functions which are displayed depend on whether Pico
Compatibility Mode mode is enabled. *Note Pico Compatibility::, for
more info.

File: nano.info, Node: Online Help, Next: Feature Toggles, Prev: Editor Basics, Up: Top
Online Help
***********
The online help system in `nano' is available by pressing ^G. It is
fairly self explanatory, documenting the various parts of the editor
and available keystrokes. Navigation is via the ^Y (Page Up) and ^V
(Page Down) keys. ^X exits the help system.

File: nano.info, Node: Feature Toggles, Next: The File Browser, Prev: Online Help, Up: Top
Feature Toggles
***************
Toggles allow you to change certain aspects of the editor that would
normally be done via command line flags. They are invoked via certain
Meta key sequenced. *Note Special Functions::, for more info. The
following toggles are available:
`Constant Update Toggle (Meta-C)'
toggles the -c (-const) command line flag.
`Regular Expressions Toggle (Meta-E)'
toggles the -R (-regexp) command line flag.
`AutoIndent Toggle (Meta-I)'
toggles the -i (-autoindent) command line flag.
`Cut To End Toggle (Meta-K)'
toggles the -k (-cut) command line flag.
`Cut To End Toggle (Meta-M)'
toggles the -m (-mouse) command line flag.
`Pico Mode Toggle (Meta-P)'
toggles the -p (-pico) command line flag. *Note Pico
Compatibility::, for more info.
`AutoWrap Toggle (Meta-W)'
toggles the -w (-nowrap) command line flag.
`Expert/Nohelp Toggle (Meta-X)'
toggles the -x (-nohelp) command line flag.
`Suspend Toggle (Meta-Z)'
toggles the -z (-suspend) command line flag.

File: nano.info, Node: The File Browser, Next: Pico Compatibility, Prev: Feature Toggles, Up: Top
The File Browser
****************
When reading or writilg files, pressing ^T will invoke the file
browser. Here, one can navigate directories in a graphical manner in
order to find the desired file.
Basic movement in the file browser is accomplished with he arrow keys
and page up/down. The behavior of the enter (or 's') key varies by what
is currently selected. If the currently selected object is a directory,
the file browser will enter and display the contects of the directory.
If the object is a file, this filename and path are copied to the
statusbar and the file browser is exited.

File: nano.info, Node: Pico Compatibility, Next: Building and Configure Options, Prev: The File Browser, Up: Top
Pico Compatibility
******************
Nano does not completely emulate Pico by default. The following
differences apply to the default mode and Pico Compatibility mode:
`Displayed Shortcuts'
By default, the following shortcuts are displayed in the Shortcut
Lists:
^G ^O ^\ ^Y ^K ^C
^X ^R ^W ^V ^U ^T
Related functions are listed above or below each other by default.
The Justify function is not listed, instead the "Replace"
function is displayed. Also, he "Read File" and "WriteOut"
functions are aligned for consistency.
In Pico Compatibility mode, the default Pico shortcuts are
displayed:
^G ^O ^R ^Y ^K ^C
^X ^J ^W ^V ^U ^T
`Previous String Text'
By default, previously entered string for a function (search
string, file name) will be placed on the statusbar, and is
editable. This is done so there is consistency across all
functions. For example: even if there is a previous replace
string, it can always be deleted if one wishes to perform an empty
string replace.
In Pico Compatibility Mode, the previously entered text in a
search or replace will appear in brackets, and is not editable.
It is not a simple matter to do an empty string replace when a
previous replace string exists, for example. When writing a file,
the previous filename will be displayed in the editable text
portion of the editor.
`Interactive Replace and Spell Checker'
It is worth noting that the `nano' replace function is interactive,
i.e. it does not stop after one search string is found and
automatically replace it. The `nano' implementation will stop at
each search string found and query whether to replace this
instance or not. The internal spell checker operates similarly.
Note that these is no way to force these functions to behave in
the Pico fashion.

File: nano.info, Node: Building and Configure Options, Prev: Pico Compatibility, Up: Top
Building and Configure Options
******************************
Building nano from source is fairly straightforward if you are
familiar with compiling programs with autoconf support:
tar xvfz nano-x.y.z.tar.gz (where x.y.z is the version of nano) cd
nano-x.y.z/ ./configure make make install
if you are looking to optimize nano for size, you may want to
consider the following command line options:
`--disable-tabcomp'
Disable the tab completion code when reading or writing files.
`--disable-justify'
Disable the justify (^J)/unjustify (^U) functions in the editor.
`--disable-speller'
Disables spell checker abillity.
`--disable-help'
Disables the help function (^G). Disabling this option maks the
binary much smaller, but makes it difficult for new users to learn
more than very basic things about using the editor.
`--disable-browser'
Disables the mini file browser (^O) when reading or writing files.
`--enable-tiny'
This options disables all the above. It also disables some of the
larger internals of the editor, like the marker code (^^) and the
cut to line (-k) option which it depends on to work properly. It
also disables the function toggles and mouse support.
`--disable-wrapping'
Disables all word wrapping in the editor. This also eliminates the
-w command line flag, as nonwrapping is then the default behavior.

Tag Table:
Node: Top199
Node: Introduction507
Node: Overview933
Node: Command Line Options1513
Ref: Expert Mode3236
Node: Editor Basics4078
Node: Entering Text4303
Node: Special Functions4643
Node: The Titlebar5497
Node: The Statusbar6194
Node: Shortcut Lists6774
Node: Online Help7166
Node: Feature Toggles7542
Node: The File Browser8685
Node: Pico Compatibility9394
Node: Building and Configure Options11436

End Tag Table

417
nano.texi Normal file
View File

@@ -0,0 +1,417 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename nano.info
@settitle nano Command Manual
@c %**end of header
@c This file has the new style title page commands.
@c Run `makeinfo' rather than `texinfo-format-buffer'.
@smallbook
@set EDITION 0.1
@set VERSION 1.0.1
@set UPDATED 12 Feb 2001
@dircategory Editors
@direntry
* Nano: (nano). Small and friendly text editor.
@end direntry
@c tex
@c \overfullrule=0pt
@c end tex
@titlepage
@title GNU @code{nano}
@subtitle a small and friendly text editor.
@subtitle version 1.0.1
@author Chris Allegretta
@page
This manual documents GNU @code{nano}, a small and friendly text
editor.
This manual is part of the GNU @code{nano} distribution.@*
@sp4
Copyright (C) 1999, 2000, 2001 Chris Allegretta.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.
@iftex
Permission is granted to process this file through TeX and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).
@end iftex
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Foundation.
You may contact the author by:
e-mail: @email{chrisa@@asty.org}@*
@end titlepage
@node Top, Introduction, (dir), (dir)
This manual documents GNU nano, a small and friendly text editor.
@menu
* Introduction::
* Editor Basics::
* Online Help::
* Feature Toggles::
* The File Browser::
* Pico Compatibility::
* Building and Configure Options::
@end menu
@node Introduction, Editor Basics, Top, Top
@chapter Introduction
GNU @code{nano} is a small and friendly text editor. Besides basic
text editing, @code{nano} offers many extra features like an
interactive search and replace, goto line number, auto-indentation,
feature toggles, internationalization support, and filename tab
completion.
@menu
* Overview::
* Command Line Options::
@end menu
@node Overview, Command Line Options, Introduction, Introduction
@section Overview
@code{nano} [GNU long option] [option] +LINE [ @var{ file ...} ]
The original goal for @code{nano} was a complete bug-for-bug compatible
emulation of Pico, but consistency is now a slightly higher priority.
There is a flag to implement (nearly) complete Pico emulation, (option -p
or GNU long option --pico). This can also be toggled from within
@code{nano} by typing Meta-P. @xref{Pico Compatibility}, for more
info.
Email bug reports to @email{nano@@nano-editor.org}.
@node Command Line Options, , Overview, Introduction
@section Command Line Options
@code{nano} takes the following options from the command line:
@table @code
@item -T [num, --tabsize=[num]
Set the displayed tab length to [num] columns.
@item -R, --regexp
Turns on regular expression search and search/replace.
@item -V, --version
Print the version number and copyright and quit.
@item -c, --const
Constantly display the cursor posititon and line number on the statusbar.
@item -h, --help
Print the usage and exit.
@item -i, --autoindent
Automatically indent new lines to the same number of spaces and tabs as
the previous line.
@item -k, --cut
Makes ^K cut from the current cursor position to the end of the current
line.
@item -l, --nofollow
When writing files, if the given file is a symbolic link it is removed
and a new file is created.
@item -m, --mouse
Enables the use of the mouse to select text (currently only useful for
running under the X window system).
@item -p, --pico
Emulate Pico as closely as possible, sacrificing consistency for correct
emulation. @xref{Pico Compatibility}, for more info.
@item -r [#cols], --fill=[#cols].
Wrap lines at column #cols. By default this is the width of the screen,
less eight.
@item -s [prog], --speller=[prog]
Invoke [prog] as the spell checker. By default, @code{nano} uses its
own interactive spell checker that requires the @code{spell} program be
installed on your system.
@item -t, --tempfile
Do not ask whether or not to save the current contents of the file when
exiting, assume yes. This is most useful when using @code{nano} as the
composer of a mailer program.
@anchor{Expert Mode}
@item -x, --nohelp
In Expert Mode, the Shortcut Lists will not appear at the bottom of the
screen. This affects the location of the statusbar as well, as in Expert
Mode it is located at the very bottom of the editor.
Note: When accesing the help system, Expert Mode is temporarily disabled
to display the help system navigation keys.
@item -v, --view
Do not allow the contents of the file to be altered. Note that this
flag should NOT be used in place of correct file permissions to implement
a read-only file.
@item -w, --nowrap
Do not wrap long lines at any length. This option overrides any value for
-r.
@item -z, --suspend
Enable suspend ability of @code{nano} using the system's suspend
keystroke (usually ^Z).
@item +LINE
Start at line number LINE instead of the default of line 1.
@end table
@node Editor Basics, Online Help, Introduction, Top
@chapter Editor Basics
@menu
* Entering Text::
* Special Functions::
* The Titlebar::
* The Statusbar::
* Shortcut Lists::
@end menu
@node Entering Text, Special Functions, Editor Basics, Editor Basics
@section Entering Text
All key sequences in @code{nano} are entered using the keyboard.
@code{nano} is a "modeless" editor, all keys with the exception of
Control and Meta key sequences will enter text into the file being
edited.
@node Special Functions, The Titlebar, Entering Text, Editor Basics
@section Special Functions
Special functions use the Control key (displayed in the help and
shotcut lists as ^) or the Meta key (displayed as M).
@itemize @bullet
@item
Control key sequences are entered by holding down the Control key and
pressing the desired letter.
@item
Meta key sequences can be entered in a number of
possible ways: Pressing the Escape key, then releasing it and pressing
the desired key, or holding down the Alt key while pressing the desired
key. This varies from keyboard to keyboard, and certain commercial
operating systems "swallow" the Alt key so that it never reaches the
application. If your operating system does this, you should use the
Escape key to generate Meta key sequences.
@end itemize
@node The Titlebar, The Statusbar, Special Functions, Editor Basics
@section The Titlebar
The titlebar is the line displayed at the top of the editor. There are
three sections: left, center and right. The section on the left displays
the version of @code{nano} being used. The center section displays the
current file name, or "New Buffer" if the file has not yet been named.
The section on the right will display "Modified" if the file has been
modified since it ws last saved or opened.
Special modes: When nano is in "File browser" mode, the center section
will display the current directory instead of the filename.
@xref{The File Browser}.
@node The Statusbar, Shortcut Lists, The Titlebar, Editor Basics
@section The Statusbar
The statusbar is located three lines from the bottom of the screen (or the
bottom line in Expert Mode. @xref{Expert Mode}, for more info.
The Statusbar shows important and informational messages. Any error
messages that occur from using the editor will appear on the statusbar.
Any questions that are asked of the user will be asked on the statusbar,
and any user input (serch strings, file names, etc) will be input on the
statusbar.
@node Shortcut Lists, , The Statusbar, Editor Basics
@section Shortcut Lists
The Shorcut Lists are the two lines at the bottom of the screen which show
some of the more commonly used functions in the editor. The exact
functions which are displayed depend on whether Pico Compatibility Mode mode
is enabled. @xref{Pico Compatibility}, for more info.
@node Online Help, Feature Toggles, Editor Basics, Top
@chapter Online Help
The online help system in @code{nano} is available by pressing ^G.
It is fairly self explanatory, documenting the various parts of the
editor and available keystrokes. Navigation is via the ^Y (Page Up)
and ^V (Page Down) keys. ^X exits the help system.
@node Feature Toggles, The File Browser, Online Help, Top
@chapter Feature Toggles
Toggles allow you to change certain aspects of the editor that
would normally be done via command line flags. They are invoked via
certain Meta key sequenced. @xref{Special Functions}, for more info.
The following toggles are available:
@table @code
@item Constant Update Toggle (Meta-C)
toggles the -c (--const) command line flag.
@item Regular Expressions Toggle (Meta-E)
toggles the -R (--regexp) command line flag.
@item AutoIndent Toggle (Meta-I)
toggles the -i (--autoindent) command line flag.
@item Cut To End Toggle (Meta-K)
toggles the -k (--cut) command line flag.
@item Cut To End Toggle (Meta-M)
toggles the -m (--mouse) command line flag.
@item Pico Mode Toggle (Meta-P)
toggles the -p (--pico) command line flag.
@xref{Pico Compatibility}, for more info.
@item AutoWrap Toggle (Meta-W)
toggles the -w (--nowrap) command line flag.
@item Expert/Nohelp Toggle (Meta-X)
toggles the -x (--nohelp) command line flag.
@item Suspend Toggle (Meta-Z)
toggles the -z (--suspend) command line flag.
@end table
@node The File Browser, Pico Compatibility, Feature Toggles, Top
@chapter The File Browser
When reading or writilg files, pressing ^T will invoke the file browser.
Here, one can navigate directories in a graphical manner in order to find
the desired file.
Basic movement in the file browser is accomplished with he arrow keys
and page up/down. The behavior of the enter (or 's') key varies by what
is currently selected. If the currently selected object is a directory,
the file browser will enter and display the contects of the directory. If
the object is a file, this filename and path are copied to the statusbar
and the file browser is exited.
@node Pico Compatibility, Building and Configure Options, The File Browser, Top
@chapter Pico Compatibility
Nano does not completely emulate Pico by default. The following differences
apply to the default mode and Pico Compatibility mode:
@table @code
@item Displayed Shortcuts
By default, the following shortcuts are displayed in the Shortcut Lists:
^G ^O ^\ ^Y ^K ^C@*
^X ^R ^W ^V ^U ^T
Related functions are listed above or below each other by default. The
Justify function is not listed, instead the "Replace" function is
displayed. Also, he "Read File" and "WriteOut" functions are aligned for
consistency.
In Pico Compatibility mode, the default Pico shortcuts are displayed:
^G ^O ^R ^Y ^K ^C@*
^X ^J ^W ^V ^U ^T
@item Previous String Text
By default, previously entered string for a function (search string,
file name) will be placed on the statusbar, and is editable. This is
done so there is consistency across all functions. For example: even if
there is a previous replace string, it can always be deleted if one
wishes to perform an empty string replace.
In Pico Compatibility Mode, the previously entered text in a search or
replace will appear in brackets, and is not editable. It is not a
simple matter to do an empty string replace when a previous replace
string exists, for example. When writing a file, the previous filename
will be displayed in the editable text portion of the editor.
@item Interactive Replace and Spell Checker
It is worth noting that the @code{nano} replace function is interactive,
i.e. it does not stop after one search string is found and automatically
replace it. The @code{nano} implementation will stop at each search
string found and query whether to replace this instance or not. The
internal spell checker operates similarly. Note that these is no way
to force these functions to behave in the Pico fashion.
@end table
@node Building and Configure Options, , Pico Compatibility, Top
@chapter Building and Configure Options
Building nano from source is fairly straightforward if you are familiar
with compiling programs with autoconf support:
tar xvfz nano-x.y.z.tar.gz (where x.y.z is the version of nano)
cd nano-x.y.z/
./configure
make
make install
if you are looking to optimize nano for size, you may want to consider
the following command line options:
@table @code
@item --disable-tabcomp
Disable the tab completion code when reading or writing files.
@item --disable-justify
Disable the justify (^J)/unjustify (^U) functions in the editor.
@item --disable-speller
Disables spell checker abillity.
@item --disable-help
Disables the help function (^G). Disabling this option maks the
binary much smaller, but makes it difficult for new users
to learn more than very basic things about using the editor.
@item --disable-browser
Disables the mini file browser (^O) when reading or writing files.
@item --enable-tiny
This options disables all the above. It also disables some of
the larger internals of the editor, like the marker code (^^) and
the cut to line (-k) option which it depends on to work properly.
It also disables the function toggles and mouse support.
@item --disable-wrapping
Disables all word wrapping in the editor. This also eliminates the
-w command line flag, as nonwrapping is then the default behavior.
@end table
@contents
@bye

1029
po/ca.po Normal file

File diff suppressed because it is too large Load Diff

1072
po/cs.po Normal file

File diff suppressed because it is too large Load Diff

485
po/de.po

File diff suppressed because it is too large Load Diff

372
po/es.po
View File

@@ -1,14 +1,14 @@
# $Id$
# Spanish Messages for the nano editor.
# Spanish Messages for the GNU nano editor.
# Jordi Mallach <jordi@sindominio.net> January 9, 2000
# Copyright (C) 2000 Free Software Foundation, Inc.
# Jordi Mallach <jordi@sindominio.net>, 2000.
#
msgid ""
msgstr ""
"Project-Id-Version: 0.9.24-CVS\n"
"POT-Creation-Date: 2001-01-31 18:08-0500\n"
"PO-Revision-Date: 2001-01-04 17:45+0100\n"
"Project-Id-Version: 1.0\n"
"POT-Creation-Date: 2001-04-04 23:15-0400\n"
"PO-Revision-Date: 2001-03-21 23:46+0100\n"
"Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
@@ -33,7 +33,7 @@ msgstr "read_line: no estamos en la primera l
msgid "Read %d lines"
msgstr "%d líneas leídas"
#: files.c:221 search.c:188
#: files.c:221 search.c:193
#, c-format
msgid "\"%s\" not found"
msgstr "\"%s\" no encontrado"
@@ -62,7 +62,7 @@ msgstr "Leyendo Fichero"
msgid "File to insert [from ./] "
msgstr "Fichero a insertar [desde ./] "
#: files.c:309 files.c:334 files.c:566 nano.c:1444
#: files.c:309 files.c:334 files.c:566 nano.c:1514
msgid "Cancelled"
msgstr "Cancelado"
@@ -108,9 +108,9 @@ msgstr "filename es %s"
#: files.c:555
msgid "File exists, OVERWRITE ?"
msgstr "El fichero existe, SOBREESCRIBIR ?"
msgstr "El fichero existe, ¿ SOBREESCRIBIR ?"
#: files.c:971
#: files.c:977
msgid "(more)"
msgstr "(más)"
@@ -289,136 +289,136 @@ msgstr "Ir al navegador de ficheros"
msgid "Cancel the current function"
msgstr "Cancelar la función actual"
#: global.c:222 global.c:338
#: global.c:221
msgid "Get Help"
msgstr "Ver Ayuda"
#: global.c:225 global.c:233
msgid "WriteOut"
msgstr "Guardar"
#: global.c:229 global.c:412 global.c:436
#: global.c:224 global.c:405 global.c:429
msgid "Exit"
msgstr "Salir"
#: global.c:237 global.c:334 global.c:356 global.c:376
msgid "Goto Line"
msgstr "Ir a Línea"
#: global.c:227
msgid "WriteOut"
msgstr "Guardar"
#: global.c:242 global.c:325
#: global.c:232 global.c:321
msgid "Justify"
msgstr "Justificar"
#: global.c:246 global.c:321 global.c:352
#: global.c:236 global.c:242
msgid "Read File"
msgstr "L Fichero"
#: global.c:246 global.c:317 global.c:345
msgid "Replace"
msgstr "Reemplazar"
#: global.c:250
msgid "Read File"
msgstr "L Fichero"
#: global.c:254
msgid "Where Is"
msgstr "Buscar"
#: global.c:258 global.c:404 global.c:428
#: global.c:254 global.c:397 global.c:421
msgid "Prev Page"
msgstr "Pag Prev"
msgstr "Pág Ant"
#: global.c:262 global.c:408 global.c:432
#: global.c:258 global.c:401 global.c:425
msgid "Next Page"
msgstr "Pag Sig"
msgstr "Pág Sig"
#: global.c:266
#: global.c:262
msgid "Cut Text"
msgstr "CortarTxt"
#: global.c:270
#: global.c:266
msgid "UnJustify"
msgstr "Desjustificar"
#: global.c:273
#: global.c:269
msgid "UnCut Txt"
msgstr "PegarTxt"
#: global.c:277
#: global.c:273
msgid "Cur Pos"
msgstr "Pos Act"
#: global.c:281
#: global.c:277
msgid "To Spell"
msgstr "Ortografía"
#: global.c:285
#: global.c:281
msgid "Up"
msgstr "Arriba"
#: global.c:288
#: global.c:284
msgid "Down"
msgstr "Abajo"
#: global.c:291
#: global.c:287
msgid "Forward"
msgstr "Adelante"
#: global.c:294
#: global.c:290
msgid "Back"
msgstr "Atrás"
#: global.c:297
#: global.c:293
msgid "Home"
msgstr "Inicio"
#: global.c:300
#: global.c:296
msgid "End"
msgstr "Fin"
#: global.c:303
#: global.c:299
msgid "Refresh"
msgstr "Refrescar"
#: global.c:306
#: global.c:302
msgid "Mark Text"
msgstr "MarcarTxt"
#: global.c:309
#: global.c:305
msgid "Delete"
msgstr "Suprimir"
#: global.c:313
#: global.c:309
msgid "Backspace"
msgstr "Borrar"
#: global.c:317
#: global.c:313
msgid "Tab"
msgstr "Tab"
#: global.c:329
#: global.c:325
msgid "Enter"
msgstr "Enter"
#: global.c:342 global.c:363 global.c:384 global.c:394
#: global.c:329 global.c:349 global.c:369
msgid "Goto Line"
msgstr "Ir a Línea"
#: global.c:335 global.c:356 global.c:377 global.c:387
msgid "First Line"
msgstr "Primera Línea"
#: global.c:345 global.c:366 global.c:387 global.c:397
#: global.c:338 global.c:359 global.c:380 global.c:390
msgid "Last Line"
msgstr "Última Línea"
#: global.c:348 global.c:369
#: global.c:341 global.c:362
msgid "Case Sens"
msgstr "May/Min"
#: global.c:359 global.c:379 global.c:390 global.c:400 global.c:421
#: global.c:424 winio.c:1040
#: global.c:352 global.c:372 global.c:383 global.c:393 global.c:414
#: global.c:417 winio.c:1063
msgid "Cancel"
msgstr "Cancelar"
#: global.c:372
#: global.c:365
msgid "No Replace"
msgstr "No Reemplazar"
#: global.c:417
#: global.c:410
msgid "To Files"
msgstr "A Ficheros"
@@ -442,7 +442,7 @@ msgstr ""
#: nano.c:151
msgid "Window size is too small for Nano..."
msgstr ""
msgstr "El tamaño de la terminal es demasiado pequeña para Nano..."
#: nano.c:159
msgid "Key illegal in VIEW mode"
@@ -488,14 +488,12 @@ msgstr ""
"\n"
#: nano.c:297
#, fuzzy
msgid "delete_node(): free'd a node, YAY!\n"
msgstr "free_node(): liberado un nodo, YEAH!\n"
msgstr "delete_node(): liberado un nodo, ¡YEAH!\n"
#: nano.c:302
#, fuzzy
msgid "delete_node(): free'd last node.\n"
msgstr "free_node(): liberado el último nodo.\n"
msgstr "delete_node(): liberado el último nodo.\n"
#: nano.c:357
msgid ""
@@ -507,12 +505,11 @@ msgstr ""
#: nano.c:358
msgid "Option\t\tLong option\t\tMeaning\n"
msgstr "Opcion\t\tOpcion larga\t\tSignificado\n"
msgstr "Opción\t\tOpción larga\t\tSignificado\n"
#: nano.c:360
#, fuzzy
msgid " -T [num]\t--tabsize=[num]\t\tSet width of a tab to num\n"
msgstr " -T \t\t--tabsize=[num]\t\tFijar el ancho de tab a num\n"
msgstr " -T [num]\t--tabsize=[num]\t\tFijar el ancho de tab en num\n"
#: nano.c:363
msgid " -R\t\t--regexp\t\tUse regular expressions for search\n"
@@ -567,23 +564,23 @@ msgstr " -t \t\t--tempfile\t\tAutosalvar al salir, sin preguntar\n"
msgid " -v \t\t--view\t\t\tView (read only) mode\n"
msgstr " -v \t\t--view\t\t\tModo visualización (sólo lectura)\n"
#: nano.c:399
#: nano.c:400
msgid " -w \t\t--nowrap\t\tDon't wrap long lines\n"
msgstr " -w \t\t--nowrap\t\tNo wrapear líneas largas\n"
#: nano.c:401
#: nano.c:403
msgid " -x \t\t--nohelp\t\tDon't show help window\n"
msgstr " -x \t\t--nohelp\t\tNo mostrar la ventana de ayuda\n"
#: nano.c:403
#: nano.c:405
msgid " -z \t\t--suspend\t\tEnable suspend\n"
msgstr " -z \t\t--suspend\t\tHabilitar suspensión\n"
#: nano.c:405
#: nano.c:407
msgid " +LINE\t\t\t\t\tStart at line number LINE\n"
msgstr " +LINE\t\t\t\t\tComenzar en la línea número LÍNEA\n"
#: nano.c:407
#: nano.c:409
msgid ""
"Usage: nano [option] +LINE <file>\n"
"\n"
@@ -591,92 +588,92 @@ msgstr ""
"Uso: nano [opción] +LÍNEA <fichero>\n"
"\n"
#: nano.c:408
#: nano.c:410
msgid "Option\t\tMeaning\n"
msgstr "Opción\t\tSignificado\n"
#: nano.c:409
#: nano.c:411
msgid " -T [num]\tSet width of a tab to num\n"
msgstr " -T [num]\tFijar el ancho de tab a num\n"
#: nano.c:410
#: nano.c:412
msgid " -R\t\tUse regular expressions for search\n"
msgstr " -R\t\tUsar expresiones regulares para las búsquedas\n"
#: nano.c:411
#: nano.c:413
msgid " -V \t\tPrint version information and exit\n"
msgstr " -V \t\tImprimir información sobre la versión y salir\n"
#: nano.c:412
#: nano.c:414
msgid " -c \t\tConstantly show cursor position\n"
msgstr " -c \t\tMostrar constantemente la posición del cursor\n"
#: nano.c:413
#: nano.c:415
msgid " -h \t\tShow this message\n"
msgstr " -h \t\tMostrar este mensaje\n"
#: nano.c:414
#: nano.c:416
msgid " -i \t\tAutomatically indent new lines\n"
msgstr " -v \t\tIndentar automáticamente nuevas líneas\n"
#: nano.c:416
#: nano.c:418
msgid " -k \t\tLet ^K cut from cursor to end of line\n"
msgstr " -k \t\t^K corta desde el cursor al final de línea\n"
#: nano.c:419
#: nano.c:421
msgid " -l \t\tDon't follow symbolic links, overwrite\n"
msgstr " -l \t\tNo seguir enlaces simbólicos, sobreescribirlos\n"
#: nano.c:422
#: nano.c:424
msgid " -m \t\tEnable mouse\n"
msgstr " -m \t\tHabilitar ratón\n"
#: nano.c:425
#: nano.c:427
msgid " -p \t\tEmulate Pico as closely as possible\n"
msgstr " -p \t\tEmular a Pico lo máximo posible\n"
#: nano.c:426
#: nano.c:428
msgid " -r [#cols] \tSet fill cols to (wrap lines at) #cols\n"
msgstr " -r [#cols] \tRellenar columnas (wrapear líneas en) #cols\n"
#: nano.c:428
#: nano.c:430
msgid " -s [prog] \tEnable alternate speller\n"
msgstr " -s [prog] \tHabilitar corrector alternativo\n"
#: nano.c:430
#: nano.c:432
msgid " -t \t\tAuto save on exit, don't prompt\n"
msgstr " -t \t\tAutosalvar al salir, no preguntar\n"
#: nano.c:431
#: nano.c:433
msgid " -v \t\tView (read only) mode\n"
msgstr " -v \t\tModo visualización (sólo lectura)\n"
#: nano.c:432
#: nano.c:435
msgid " -w \t\tDon't wrap long lines\n"
msgstr " -w \t\tNo wrapear líneas largas\n"
#: nano.c:433
#: nano.c:437
msgid " -x \t\tDon't show help window\n"
msgstr " -x \t\tNo mostrar la ventana de ayuda\n"
#: nano.c:434
#: nano.c:438
msgid " -z \t\tEnable suspend\n"
msgstr " -z \t\tHabilitar suspensión\n"
#: nano.c:435
#: nano.c:439
msgid " +LINE\t\tStart at line number LINE\n"
msgstr " +LÍNEA\t\tComenzar en la línea número LÍNEA\n"
#: nano.c:442
#: nano.c:446
#, c-format
msgid " nano version %s by Chris Allegretta (compiled %s, %s)\n"
msgstr " nano versión %s por Chris Allegretta (compilado %s, %s)\n"
msgid " GNU nano version %s (compiled %s, %s)\n"
msgstr " GNU nano versión %s (compilado %s, %s)\n"
#: nano.c:445
#: nano.c:449
msgid " Email: nano@nano-editor.org\tWeb: http://www.nano-editor.org"
msgstr " Correo-e: nano@nano-editor.org\tWeb: http://www.nano-editor.org"
#: nano.c:446
#: nano.c:450
msgid ""
"\n"
" Compiled options:"
@@ -684,328 +681,349 @@ msgstr ""
"\n"
" Opciones compiladas:"
#: nano.c:511
#: nano.c:518
msgid "Mark Set"
msgstr "Marca Establecida"
#: nano.c:516
#: nano.c:523
msgid "Mark UNset"
msgstr "Marca Borrada"
#: nano.c:957
#: nano.c:1024
#, c-format
msgid "check_wrap called with inptr->data=\"%s\"\n"
msgstr "check_wrap llamada con inptr->data=\"%s\"\n"
#: nano.c:1008
#: nano.c:1076
#, c-format
msgid "current->data now = \"%s\"\n"
msgstr "current->data ahora = \"%d\"\n"
#: nano.c:1060
#: nano.c:1128
#, c-format
msgid "After, data = \"%s\"\n"
msgstr "Después, data = \"%s\"\n"
#: nano.c:1160
#: nano.c:1230
msgid "Edit a replacement"
msgstr "Editar un reemplazo"
#: nano.c:1391
#: nano.c:1461
#, c-format
msgid "Could not create a temporary filename: %s"
msgstr "No pude crear un fichero temporal: %s"
#: nano.c:1397
#: nano.c:1467
msgid "Spell checking failed: unable to write temp file!"
msgstr ""
"Comprobación de ortografía fallida: no se pudo escribir fichero temporal!"
"Comprobación de ortografía fallida: ¡no se pudo escribir fichero temporal!"
#: nano.c:1409
#: nano.c:1479
msgid "Finished checking spelling"
msgstr "Revisión de ortografía finalizada"
#: nano.c:1411
#: nano.c:1481
msgid "Spell checking failed"
msgstr "Comprobación de ortografía fallida"
#: nano.c:1431
#: nano.c:1501
msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? "
msgstr "Salvar el buffer modificado (RESPONDER \"No\" DESTRUIRÁ LOS CAMBIOS) ?"
msgstr ""
"¿ Salvar el buffer modificado (RESPONDER \"No\" DESTRUIRÁ LOS CAMBIOS) ?"
#: nano.c:1527
#: nano.c:1597
msgid "Received SIGHUP"
msgstr "SIGHUP recibido"
#: nano.c:1590
#: nano.c:1660
msgid "Cannot resize top win"
msgstr "No se puede cambiar el tamaño de la ventana superior"
#: nano.c:1592
#: nano.c:1662
msgid "Cannot move top win"
msgstr "No se puede mover la ventana superior"
#: nano.c:1594
#: nano.c:1664
msgid "Cannot resize edit win"
msgstr "No se puede cambiar el tamaño de la ventana de edición"
#: nano.c:1596
#: nano.c:1666
msgid "Cannot move edit win"
msgstr "No se puede mover la ventana de edición"
#: nano.c:1598
#: nano.c:1668
msgid "Cannot resize bottom win"
msgstr "No se puede cambiar el tamaño de la ventana inferior"
#: nano.c:1600
#: nano.c:1670
msgid "Cannot move bottom win"
msgstr "No se puede mover la ventana inferior"
#: nano.c:1908
#: nano.c:1978
msgid "Can now UnJustify!"
msgstr "Ahora puedes desjustificar!"
msgstr "¡Ahora puedes desjustificar!"
#: nano.c:2005
#: nano.c:2076
#, c-format
msgid "%s enable/disable"
msgstr "%s habilitar/deshabilitar"
#: nano.c:2020
#: nano.c:2091
msgid "enabled"
msgstr "habilitado"
#: nano.c:2021
#: nano.c:2092
msgid "disabled"
msgstr "deshabilitado"
#: nano.c:2073
#: nano.c:2144
msgid "NumLock glitch detected. Keypad will malfunction with NumLock off"
msgstr ""
"Detectado NumLock roto. El tecl. numérico funcionará con NumLock activado"
#: nano.c:2288
#: nano.c:2366
msgid "Main: set up windows\n"
msgstr "Main: configurar las ventanas\n"
#: nano.c:2295
#: nano.c:2373
msgid "Main: bottom win\n"
msgstr "Main: ventana inferior\n"
#: nano.c:2301
#: nano.c:2379
msgid "Main: open file\n"
msgstr "Main: abrir fichero\n"
#: nano.c:2353
#: nano.c:2431
#, c-format
msgid "I got Alt-O-%c! (%d)\n"
msgstr "Pillé Alt-O-%c! (%d)\n"
msgstr "¡Pillé Alt-O-%c! (%d)\n"
#: nano.c:2380
#: nano.c:2458
#, c-format
msgid "I got Alt-[-1-%c! (%d)\n"
msgstr "Pillé Alt-[-1-%c! (%d)\n"
msgstr "¡Pillé Alt-[-1-%c! (%d)\n"
#: nano.c:2413
#: nano.c:2491
#, c-format
msgid "I got Alt-[-2-%c! (%d)\n"
msgstr "Pillé Alt-[-2-%c! (%d)\n"
msgstr "¡Pillé Alt-[-2-%c! (%d)\n"
#: nano.c:2455
#: nano.c:2533
#, c-format
msgid "I got Alt-[-%c! (%d)\n"
msgstr "Pillé Alt-[-%c! (%d)\n"
msgstr "¡Pillé Alt-[-%c! (%d)\n"
#: nano.c:2481
#: nano.c:2559
#, c-format
msgid "I got Alt-%c! (%d)\n"
msgstr "Pillé Alt-%c! (%d)\n"
msgstr "¡Pillé Alt-%c! (%d)\n"
#: search.c:118
#: search.c:117
#, c-format
msgid "Case Sensitive Regexp Search%s%s"
msgstr "Búsqueda con Regexp y Mayúsculas/Minúsculas%s%s"
#: search.c:120
#: search.c:119
#, c-format
msgid "Regexp Search%s%s"
msgstr "Busqueda con Regexp%s%s"
#: search.c:122
#: search.c:121
#, c-format
msgid "Case Sensitive Search%s%s"
msgstr "Búsqueda con Mayúsculas/Minúsculas%s%s"
#: search.c:124
#: search.c:123
#, c-format
msgid "Search%s%s"
msgstr "Buscar%s%s"
#: search.c:127
#: search.c:126
msgid " (to replace)"
msgstr " (a reemplazar)"
#: search.c:136 search.c:321
#: search.c:135 search.c:326
msgid "Search Cancelled"
msgstr "Búsqueda Cancelada"
#: search.c:194
#: search.c:199
#, c-format
msgid "\"%s...\" not found"
msgstr "\"%s...\" no encontrado"
#: search.c:243
#: search.c:248
msgid "Search Wrapped"
msgstr "Búsqueda Recomenzada"
#: search.c:343
#: search.c:348
#, c-format
msgid "Replaced %d occurences"
msgid "Replaced %d occurrences"
msgstr "%d ocurrencias reemplazadas"
#: search.c:345
msgid "Replaced 1 occurence"
#: search.c:350
msgid "Replaced 1 occurrence"
msgstr "1 ocurrencia reemplazada"
#: search.c:483 search.c:587 search.c:603
#: search.c:488 search.c:592 search.c:608
msgid "Replace Cancelled"
msgstr "Reemplazar Cancelado"
#: search.c:533
#: search.c:538
msgid "Replace this instance?"
msgstr "Reemplazar esta instancia?"
msgstr "¿Reemplazar esta instancia?"
#: search.c:545
#: search.c:550
msgid "Replace failed: unknown subexpression!"
msgstr "Fallo en reemplazar: subexpresión desconocida!"
msgstr "Fallo en reemplazar: ¡subexpresión desconocida!"
#: search.c:628
#: search.c:633
#, c-format
msgid "Replace with [%s]"
msgstr "Reemplazar con [%s]"
#: search.c:632 search.c:636
#: search.c:637 search.c:641
msgid "Replace with"
msgstr "Reemplazar con"
#. Ask for it
#: search.c:671
#: search.c:676
msgid "Enter line number"
msgstr "Introduce número de línea"
#: search.c:673
#: search.c:678
msgid "Aborted"
msgstr "Abortado"
#: search.c:693
#: search.c:698
msgid "Come on, be reasonable"
msgstr "Venga ya, se razonable"
#: search.c:698
#: search.c:703
#, c-format
msgid "Only %d lines available, skipping to last line"
msgstr "Sólo hay %d líneas, saltando hasta la última"
#: winio.c:121
#: winio.c:123
#, c-format
msgid "actual_x_from_start for xplus=%d returned %d\n"
msgstr "actual_x_from_start para xplus=%d devolvió %d\n"
#: winio.c:443
#: winio.c:447
#, c-format
msgid "input '%c' (%d)\n"
msgstr "entrada '%c' (%d)\n"
#: winio.c:485
#: winio.c:489
msgid "New Buffer"
msgstr "Nuevo Buffer"
#: winio.c:489
#: winio.c:493
msgid " File: ..."
msgstr "Fichero: ..."
#: winio.c:491
#: winio.c:495
msgid " DIR: ..."
msgstr " DIR: ..."
#: winio.c:502
#: winio.c:506
msgid "Modified"
msgstr "Modificado"
#: winio.c:954
#: winio.c:958
#, c-format
msgid "Moved to (%d, %d) in edit buffer\n"
msgstr "Moviendo a (%d, %d) en buffer de edición\n"
#: winio.c:965
#: winio.c:969
#, c-format
msgid "current->data = \"%s\"\n"
msgstr "current->data = \"%s\"\n"
#: winio.c:1010
#: winio.c:1014
#, c-format
msgid "I got \"%s\"\n"
msgstr "Pillé \"%s\"\n"
#: winio.c:1035
#. String of yes characters accepted
#. Same for no
#. And all, surprise!
#. Temp string for above
#. Yes, no and all are strings of any length. Each string consists of
#. all characters accepted as a valid character for that value.
#. The first value will be the one displayed in the shortcuts.
#: winio.c:1037
msgid "Yy"
msgstr "Ss"
#: winio.c:1038
msgid "Nn"
msgstr "Nn"
#: winio.c:1039
msgid "Aa"
msgstr "Tt"
#: winio.c:1052
msgid "Yes"
msgstr "Sí"
#: winio.c:1037
#: winio.c:1056
msgid "All"
msgstr "Todas"
#: winio.c:1039
#: winio.c:1061
msgid "No"
msgstr "No"
#: winio.c:1169
#: winio.c:1204
#, c-format
msgid "do_cursorpos: linepct = %f, bytepct = %f\n"
msgstr "do_cursorpos: linepct = %f, bytepct = %f\n"
#: winio.c:1173
#: winio.c:1208
msgid "line %d of %d (%.0f%%), character %d of %d (%.0f%%)"
msgstr "línea %d de %d (%.0f%%), carácter %d de %d (%.0f%%)"
#: winio.c:1303
#: winio.c:1338
msgid "Dumping file buffer to stderr...\n"
msgstr "Volcando buffer de fichero a stderr...\n"
#: winio.c:1305
#: winio.c:1340
msgid "Dumping cutbuffer to stderr...\n"
msgstr "Volcando el cutbuffer a stderr...\n"
#: winio.c:1307
#: winio.c:1342
msgid "Dumping a buffer to stderr...\n"
msgstr "Volcando un buffer a stderr...\n"
#: winio.c:1382
#: winio.c:1417
msgid "The nano text editor"
msgstr "El editor de textos nano"
msgstr "El editor de textos GNU nano"
#: winio.c:1383
#: winio.c:1418
msgid "version "
msgstr "versión "
#: winio.c:1384
#: winio.c:1419
msgid "Brought to you by:"
msgstr "Por cortesía de:"
#: winio.c:1385
#: winio.c:1420
msgid "Special thanks to:"
msgstr "Agradecimientos especiales para:"
#: winio.c:1386
#: winio.c:1421
msgid "The Free Software Foundation"
msgstr "La Free Software Foundation"
#: winio.c:1387
#: winio.c:1422
msgid "Pavel Curtis, Zeyd Ben-Halim and Eric S. Raymond for ncurses"
msgstr "Pavel Curtis, Zeyd Ben-Halim y Eric S. Raymond por ncurses"
#: winio.c:1388
#: winio.c:1423
msgid "and anyone else we forgot..."
msgstr "y cualquiera del que nos hayamos olvidado..."
#: winio.c:1389
#: winio.c:1424
msgid "Thank you for using nano!\n"
msgstr "Gracias por usar nano!\n"
msgstr "¡Gracias por usar nano!\n"

577
po/fi.po

File diff suppressed because it is too large Load Diff

326
po/fr.po
View File

@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: 0.8.9\n"
"POT-Creation-Date: 2001-01-31 18:08-0500\n"
"POT-Creation-Date: 2001-04-04 23:15-0400\n"
"PO-Revision-Date: 2000-07-09 01:32+0100\n"
"Last-Translator: Clement Laforet <sheep.killer@free.fr>\n"
"Language-Team: French <LL@li.org>\n"
@@ -35,7 +35,7 @@ msgstr ""
msgid "Read %d lines"
msgstr "%d lignes lues"
#: files.c:221 search.c:188
#: files.c:221 search.c:193
#, c-format
msgid "\"%s\" not found"
msgstr "\"%s\" non trouvé"
@@ -64,7 +64,7 @@ msgstr "Lecture du fichier"
msgid "File to insert [from ./] "
msgstr "Fichier à insérer [depuis ./] "
#: files.c:309 files.c:334 files.c:566 nano.c:1444
#: files.c:309 files.c:334 files.c:566 nano.c:1514
msgid "Cancelled"
msgstr "Annulé"
@@ -112,7 +112,7 @@ msgstr "Le nom du fichier est %s"
msgid "File exists, OVERWRITE ?"
msgstr "Fichier existant, écrire par-dessus ?"
#: files.c:971
#: files.c:977
msgid "(more)"
msgstr ""
@@ -294,141 +294,141 @@ msgstr ""
msgid "Cancel the current function"
msgstr "Annule la fonction courante"
#: global.c:222 global.c:338
#: global.c:221
msgid "Get Help"
msgstr "Appelle l'aide"
#: global.c:225 global.c:233
msgid "WriteOut"
msgstr "Sauvegarde"
#: global.c:229 global.c:412 global.c:436
#: global.c:224 global.c:405 global.c:429
msgid "Exit"
msgstr "Quitte"
#: global.c:237 global.c:334 global.c:356 global.c:376
msgid "Goto Line"
msgstr "-> ligne"
#: global.c:227
msgid "WriteOut"
msgstr "Sauvegarde"
#: global.c:242 global.c:325
#: global.c:232 global.c:321
msgid "Justify"
msgstr "Justifier"
#: global.c:246 global.c:321 global.c:352
#: global.c:236 global.c:242
#, fuzzy
msgid "Read File"
msgstr "Lect. fichier"
#: global.c:246 global.c:317 global.c:345
#, fuzzy
msgid "Replace"
msgstr "Remplacer par"
#: global.c:250
#, fuzzy
msgid "Read File"
msgstr "Lect. fichier"
#: global.c:254
msgid "Where Is"
msgstr "Recherche"
#: global.c:258 global.c:404 global.c:428
#: global.c:254 global.c:397 global.c:421
msgid "Prev Page"
msgstr "Page préc."
#: global.c:262 global.c:408 global.c:432
#: global.c:258 global.c:401 global.c:425
msgid "Next Page"
msgstr "Page suiv."
#: global.c:266
#: global.c:262
msgid "Cut Text"
msgstr "Couper"
#: global.c:270
#: global.c:266
#, fuzzy
msgid "UnJustify"
msgstr "Justifier"
#: global.c:273
#: global.c:269
msgid "UnCut Txt"
msgstr "Annul. Coup"
#: global.c:277
#: global.c:273
msgid "Cur Pos"
msgstr "Pos. curseur"
#: global.c:281
#: global.c:277
msgid "To Spell"
msgstr "Corriger"
#: global.c:285
#: global.c:281
msgid "Up"
msgstr "Haut"
#: global.c:288
#: global.c:284
msgid "Down"
msgstr "Bas"
#: global.c:291
#: global.c:287
msgid "Forward"
msgstr "En avant"
#: global.c:294
#: global.c:290
msgid "Back"
msgstr "En arrière"
#: global.c:297
#: global.c:293
msgid "Home"
msgstr "Debut Doc."
#: global.c:300
#: global.c:296
msgid "End"
msgstr "Fin Doc0"
#: global.c:303
#: global.c:299
msgid "Refresh"
msgstr "Rafraîchir"
#: global.c:306
#: global.c:302
#, fuzzy
msgid "Mark Text"
msgstr "Marque enregistrée"
#: global.c:309
#: global.c:305
msgid "Delete"
msgstr "Supprimer"
#: global.c:313
#: global.c:309
msgid "Backspace"
msgstr "Backspace"
# No translation...
#: global.c:317
#: global.c:313
msgid "Tab"
msgstr "Tabulation"
#: global.c:329
#: global.c:325
msgid "Enter"
msgstr "Entrée"
#: global.c:342 global.c:363 global.c:384 global.c:394
#: global.c:329 global.c:349 global.c:369
msgid "Goto Line"
msgstr "-> ligne"
#: global.c:335 global.c:356 global.c:377 global.c:387
msgid "First Line"
msgstr "Première ligne"
#: global.c:345 global.c:366 global.c:387 global.c:397
#: global.c:338 global.c:359 global.c:380 global.c:390
msgid "Last Line"
msgstr "Dernière Ligne"
#: global.c:348 global.c:369
#: global.c:341 global.c:362
msgid "Case Sens"
msgstr "Casse respectée"
#: global.c:359 global.c:379 global.c:390 global.c:400 global.c:421
#: global.c:424 winio.c:1040
#: global.c:352 global.c:372 global.c:383 global.c:393 global.c:414
#: global.c:417 winio.c:1063
msgid "Cancel"
msgstr "Annuler"
#: global.c:372
#: global.c:365
msgid "No Replace"
msgstr "Pas de remplacement"
#: global.c:417
#: global.c:410
#, fuzzy
msgid "To Files"
msgstr "Nouveau fichier"
@@ -584,23 +584,23 @@ msgstr ""
msgid " -v \t\t--view\t\t\tView (read only) mode\n"
msgstr " -v \t\t--view\t\t\tMode Visualisation (lecture seule)\n"
#: nano.c:399
#: nano.c:400
msgid " -w \t\t--nowrap\t\tDon't wrap long lines\n"
msgstr " -w \t\t--nowrap\t\tNe pas couper les lignes trop longues\n"
#: nano.c:401
#: nano.c:403
msgid " -x \t\t--nohelp\t\tDon't show help window\n"
msgstr " -x \t\t--nohelp\t\tNe pas afficher la fenêtre d'aide\n"
#: nano.c:403
#: nano.c:405
msgid " -z \t\t--suspend\t\tEnable suspend\n"
msgstr " -z \t\t--suspend\t\tAutoriser la suspension\n"
#: nano.c:405
#: nano.c:407
msgid " +LINE\t\t\t\t\tStart at line number LINE\n"
msgstr " +LIGNE\t\t\t\t\tCommencer à la ligne LIGNE\n"
#: nano.c:407
#: nano.c:409
msgid ""
"Usage: nano [option] +LINE <file>\n"
"\n"
@@ -608,424 +608,444 @@ msgstr ""
"Utilisation: nano [option] +LIGNE <fichier>\n"
"\n"
#: nano.c:408
#: nano.c:410
msgid "Option\t\tMeaning\n"
msgstr "Option\t\tSignification\n"
#: nano.c:409
#: nano.c:411
msgid " -T [num]\tSet width of a tab to num\n"
msgstr "-T [num]\tDéfini la pronfondeur de tabulation à num\n"
#: nano.c:410
#: nano.c:412
msgid " -R\t\tUse regular expressions for search\n"
msgstr "-R\t\tUtilisation des expressions régulières pour la recherche\n"
#: nano.c:411
#: nano.c:413
msgid " -V \t\tPrint version information and exit\n"
msgstr " -V \t\tAfficher les informations de version et sortir\n"
#: nano.c:412
#: nano.c:414
msgid " -c \t\tConstantly show cursor position\n"
msgstr " -c \t\tAfficher constamment la position du curseur\n"
#: nano.c:413
#: nano.c:415
msgid " -h \t\tShow this message\n"
msgstr " -h \t\tAfficher ce message\n"
#: nano.c:414
#: nano.c:416
msgid " -i \t\tAutomatically indent new lines\n"
msgstr " -i \t\tIndenter automatiquement les nouvelles lignes\n"
#: nano.c:416
#: nano.c:418
msgid " -k \t\tLet ^K cut from cursor to end of line\n"
msgstr ""
#: nano.c:419
#: nano.c:421
msgid " -l \t\tDon't follow symbolic links, overwrite\n"
msgstr "-l \t\tNe pas suivre les liens symboliques. Outrepasse à l'écriture\n"
#: nano.c:422
#: nano.c:424
msgid " -m \t\tEnable mouse\n"
msgstr " -m \t\tActiver la souris\n"
#: nano.c:425
#: nano.c:427
msgid " -p \t\tEmulate Pico as closely as possible\n"
msgstr ""
#: nano.c:426
#: nano.c:428
msgid " -r [#cols] \tSet fill cols to (wrap lines at) #cols\n"
msgstr ""
" -r [#cols] \tMettre la colonne de fin de ligne à (couper les lignes à) "
"#cols\n"
#: nano.c:428
#: nano.c:430
msgid " -s [prog] \tEnable alternate speller\n"
msgstr " -s [prog] \tActiver un vérificateur orthographique alternatif\n"
#: nano.c:430
#: nano.c:432
msgid " -t \t\tAuto save on exit, don't prompt\n"
msgstr " -t \t\tSauver automatiquement à la sortie, sans demander\n"
#: nano.c:431
#: nano.c:433
msgid " -v \t\tView (read only) mode\n"
msgstr " -v \t\tMode Visualisation seule (lecture seule)\n"
#: nano.c:432
#: nano.c:435
msgid " -w \t\tDon't wrap long lines\n"
msgstr " -w \t\tNe pas couper les lignes longues\n"
#: nano.c:433
#: nano.c:437
msgid " -x \t\tDon't show help window\n"
msgstr " -x \t\tNe pas afficher la fenêtre d'aide\n"
#: nano.c:434
#: nano.c:438
msgid " -z \t\tEnable suspend\n"
msgstr " -z \t\tAutoriser la suspension\n"
#: nano.c:435
#: nano.c:439
msgid " +LINE\t\tStart at line number LINE\n"
msgstr " +LIGNE\t\tDémarrer à la ligne LIGNE\n"
#: nano.c:442
#: nano.c:446
#, c-format
msgid " nano version %s by Chris Allegretta (compiled %s, %s)\n"
msgstr " nano version %s de Chris Allegretta (compilée %s, %s)\n"
msgid " GNU nano version %s (compiled %s, %s)\n"
msgstr " GNU nano version %s (compilée %s, %s)\n"
#: nano.c:445
#: nano.c:449
#, fuzzy
msgid " Email: nano@nano-editor.org\tWeb: http://www.nano-editor.org"
msgstr " Email: nano@asty.org\tWeb: http://www.asty.org/nano\n"
#: nano.c:446
#: nano.c:450
msgid ""
"\n"
" Compiled options:"
msgstr ""
#: nano.c:511
#: nano.c:518
msgid "Mark Set"
msgstr "Marque enregistrée"
#: nano.c:516
#: nano.c:523
msgid "Mark UNset"
msgstr "Marque effacée"
#: nano.c:957
#: nano.c:1024
#, c-format
msgid "check_wrap called with inptr->data=\"%s\"\n"
msgstr "check_wrap appelée avec inptr->data=\"%s\"\n"
#: nano.c:1008
#: nano.c:1076
#, c-format
msgid "current->data now = \"%s\"\n"
msgstr "current->data vaut maintenant \"%s\"\n"
#: nano.c:1060
#: nano.c:1128
#, c-format
msgid "After, data = \"%s\"\n"
msgstr "Après, data = \"%s\"\n"
#: nano.c:1160
#: nano.c:1230
msgid "Edit a replacement"
msgstr ""
#: nano.c:1391
#: nano.c:1461
#, c-format
msgid "Could not create a temporary filename: %s"
msgstr "Impossible de créer un nom de fichier temporaire: %s"
#: nano.c:1397
#: nano.c:1467
msgid "Spell checking failed: unable to write temp file!"
msgstr ""
#: nano.c:1409
#: nano.c:1479
msgid "Finished checking spelling"
msgstr "Vérification orthographique terminée"
#: nano.c:1411
#: nano.c:1481
msgid "Spell checking failed"
msgstr ""
#: nano.c:1431
#: nano.c:1501
msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? "
msgstr "Sauver le buffer modifié (RÉPONDRE \"No\" EFFACERA LES CHANGEMENTS"
#: nano.c:1527
#: nano.c:1597
msgid "Received SIGHUP"
msgstr ""
#: nano.c:1590
#: nano.c:1660
msgid "Cannot resize top win"
msgstr "Impossible de redimensionner la fenêtre du haut"
#: nano.c:1592
#: nano.c:1662
msgid "Cannot move top win"
msgstr "Impossible de bouger la fenêtre du haut"
#: nano.c:1594
#: nano.c:1664
msgid "Cannot resize edit win"
msgstr "Impossible de redimensionner la fenêtre d'édition"
#: nano.c:1596
#: nano.c:1666
msgid "Cannot move edit win"
msgstr "Impossible de bouger la fenêtre d'édition"
#: nano.c:1598
#: nano.c:1668
msgid "Cannot resize bottom win"
msgstr "Impossible de redimensionner la fenêtre du bas"
#: nano.c:1600
#: nano.c:1670
msgid "Cannot move bottom win"
msgstr "Impossible de bouger la fenêtre du bas"
#: nano.c:1908
#: nano.c:1978
msgid "Can now UnJustify!"
msgstr ""
#: nano.c:2005
#: nano.c:2076
#, c-format
msgid "%s enable/disable"
msgstr ""
#: nano.c:2020
#: nano.c:2091
msgid "enabled"
msgstr ""
#: nano.c:2021
#: nano.c:2092
msgid "disabled"
msgstr ""
#: nano.c:2073
#: nano.c:2144
msgid "NumLock glitch detected. Keypad will malfunction with NumLock off"
msgstr ""
#: nano.c:2288
#: nano.c:2366
msgid "Main: set up windows\n"
msgstr "Main: configuration des fenêtres\n"
#: nano.c:2295
#: nano.c:2373
msgid "Main: bottom win\n"
msgstr "Main: fenêtre du bas\n"
#: nano.c:2301
#: nano.c:2379
msgid "Main: open file\n"
msgstr "Main: ouvrir fichier\n"
#: nano.c:2353
#: nano.c:2431
#, fuzzy, c-format
msgid "I got Alt-O-%c! (%d)\n"
msgstr "J'ai reçu Alt-[-%c! (%d)\n"
#: nano.c:2380
#: nano.c:2458
#, fuzzy, c-format
msgid "I got Alt-[-1-%c! (%d)\n"
msgstr "J'ai reçu Alt-[-%c! (%d)\n"
#: nano.c:2413
#: nano.c:2491
#, fuzzy, c-format
msgid "I got Alt-[-2-%c! (%d)\n"
msgstr "J'ai reçu Alt-[-%c! (%d)\n"
#: nano.c:2455
#: nano.c:2533
#, c-format
msgid "I got Alt-[-%c! (%d)\n"
msgstr "J'ai reçu Alt-[-%c! (%d)\n"
#: nano.c:2481
#: nano.c:2559
#, c-format
msgid "I got Alt-%c! (%d)\n"
msgstr "J'ai reçu Alt-%c! (%d)\n"
#: search.c:118
#: search.c:117
#, fuzzy, c-format
msgid "Case Sensitive Regexp Search%s%s"
msgstr "Recherche sensible ) la casse%s%s"
#: search.c:120
#: search.c:119
#, fuzzy, c-format
msgid "Regexp Search%s%s"
msgstr "Recherche Regexp%s%s"
#: search.c:122
#: search.c:121
#, fuzzy, c-format
msgid "Case Sensitive Search%s%s"
msgstr "Recherche sensible ) la casse%s%s"
#: search.c:124
#: search.c:123
#, fuzzy, c-format
msgid "Search%s%s"
msgstr "Recherche%s%s"
#: search.c:127
#: search.c:126
#, fuzzy
msgid " (to replace)"
msgstr " (remplacer par)"
#: search.c:136 search.c:321
#: search.c:135 search.c:326
msgid "Search Cancelled"
msgstr "Recherche annulée"
#: search.c:194
#: search.c:199
#, fuzzy, c-format
msgid "\"%s...\" not found"
msgstr "\"%s\" non trouvé"
#: search.c:243
#: search.c:248
msgid "Search Wrapped"
msgstr "La recherche a bouclé"
#: search.c:343
#, c-format
msgid "Replaced %d occurences"
#: search.c:348
#, fuzzy, c-format
msgid "Replaced %d occurrences"
msgstr "%d occurences remplacées"
#: search.c:345
msgid "Replaced 1 occurence"
#: search.c:350
#, fuzzy
msgid "Replaced 1 occurrence"
msgstr "1 occurence remplacée"
#: search.c:483 search.c:587 search.c:603
#: search.c:488 search.c:592 search.c:608
msgid "Replace Cancelled"
msgstr "Remplacement annulé"
#: search.c:533
#: search.c:538
msgid "Replace this instance?"
msgstr "Remplacer cette occurence?"
#: search.c:545
#: search.c:550
msgid "Replace failed: unknown subexpression!"
msgstr ""
#: search.c:628
#: search.c:633
#, c-format
msgid "Replace with [%s]"
msgstr "Remplacer par [%s]"
#: search.c:632 search.c:636
#: search.c:637 search.c:641
msgid "Replace with"
msgstr "Rempacer par"
#. Ask for it
#: search.c:671
#: search.c:676
msgid "Enter line number"
msgstr "Entrer le numéro de ligne"
#: search.c:673
#: search.c:678
msgid "Aborted"
msgstr "Annulé"
#: search.c:693
#: search.c:698
msgid "Come on, be reasonable"
msgstr "Allez, soyez raisonnable"
#: search.c:698
#: search.c:703
#, c-format
msgid "Only %d lines available, skipping to last line"
msgstr "Seulement %d lignes sont disponibles, saut jusqu'à la dernière ligne"
#: winio.c:121
#: winio.c:123
#, fuzzy, c-format
msgid "actual_x_from_start for xplus=%d returned %d\n"
msgstr "actual_x renvoyé pour xplus=%d\n"
#: winio.c:443
#: winio.c:447
#, c-format
msgid "input '%c' (%d)\n"
msgstr "taper '%c' (%d)\n"
#: winio.c:485
#: winio.c:489
msgid "New Buffer"
msgstr "Nouveau buffer"
#: winio.c:489
#: winio.c:493
msgid " File: ..."
msgstr " Fichier: ..."
#: winio.c:491
#: winio.c:495
#, fuzzy
msgid " DIR: ..."
msgstr " Fichier: ..."
#: winio.c:502
#: winio.c:506
msgid "Modified"
msgstr "Modifié"
#: winio.c:954
#: winio.c:958
#, c-format
msgid "Moved to (%d, %d) in edit buffer\n"
msgstr "Déplacement jusqu'à (%d, %d) dans le buffer d'édition\n"
#: winio.c:965
#: winio.c:969
#, c-format
msgid "current->data = \"%s\"\n"
msgstr "current->data = \"%s\"\n"
#: winio.c:1010
#: winio.c:1014
#, c-format
msgid "I got \"%s\"\n"
msgstr "J'ai reçu \"%s\"\n"
#: winio.c:1035
#. String of yes characters accepted
#. Same for no
#. And all, surprise!
#. Temp string for above
#. Yes, no and all are strings of any length. Each string consists of
#. all characters accepted as a valid character for that value.
#. The first value will be the one displayed in the shortcuts.
#: winio.c:1037
msgid "Yy"
msgstr "Oo"
#: winio.c:1038
msgid "Nn"
msgstr "Nn"
#: winio.c:1039
msgid "Aa"
msgstr "Tt"
#: winio.c:1052
msgid "Yes"
msgstr "Oui"
#: winio.c:1037
#: winio.c:1056
msgid "All"
msgstr "Tous"
#: winio.c:1039
#: winio.c:1061
msgid "No"
msgstr "Non"
#: winio.c:1169
#: winio.c:1204
#, c-format
msgid "do_cursorpos: linepct = %f, bytepct = %f\n"
msgstr "do_cursorpos: linepct = %f, bytepct = %f\n"
#: winio.c:1173
#: winio.c:1208
msgid "line %d of %d (%.0f%%), character %d of %d (%.0f%%)"
msgstr "ligne %d sur %d (%.0f%%), caractère %d sur %d (%.0f%%)"
#: winio.c:1303
#: winio.c:1338
msgid "Dumping file buffer to stderr...\n"
msgstr "Envoi du buffer fichier sur stderr...\n"
#: winio.c:1305
#: winio.c:1340
msgid "Dumping cutbuffer to stderr...\n"
msgstr "Envoi du cutbuffer sur stderr...\n"
#: winio.c:1307
#: winio.c:1342
msgid "Dumping a buffer to stderr...\n"
msgstr "Envoi d'un buffer sur stderr...\n"
#: winio.c:1382
#: winio.c:1417
msgid "The nano text editor"
msgstr ""
#: winio.c:1383
#: winio.c:1418
msgid "version "
msgstr ""
#: winio.c:1384
#: winio.c:1419
msgid "Brought to you by:"
msgstr ""
#: winio.c:1385
#: winio.c:1420
msgid "Special thanks to:"
msgstr ""
#: winio.c:1386
#: winio.c:1421
msgid "The Free Software Foundation"
msgstr ""
#: winio.c:1387
#: winio.c:1422
msgid "Pavel Curtis, Zeyd Ben-Halim and Eric S. Raymond for ncurses"
msgstr ""
#: winio.c:1388
#: winio.c:1423
msgid "and anyone else we forgot..."
msgstr ""
#: winio.c:1389
#: winio.c:1424
msgid "Thank you for using nano!\n"
msgstr ""

1031
po/hu.po Normal file

File diff suppressed because it is too large Load Diff

525
po/id.po

File diff suppressed because it is too large Load Diff

324
po/it.po
View File

@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: 0.8.7\n"
"POT-Creation-Date: 2001-01-31 18:08-0500\n"
"POT-Creation-Date: 2001-04-04 23:15-0400\n"
"PO-Revision-Date: 2000-03-03 04:57+0100\n"
"Last-Translator: Daniele Medri <madrid@linux.it>\n"
"MIME-Version: 1.0\n"
@@ -32,7 +32,7 @@ msgstr "read_line: no estamos en la primera l
msgid "Read %d lines"
msgstr "Leggi %d linee"
#: files.c:221 search.c:188
#: files.c:221 search.c:193
#, c-format
msgid "\"%s\" not found"
msgstr "\"%s\" non trovato"
@@ -61,7 +61,7 @@ msgstr "Lettura file"
msgid "File to insert [from ./] "
msgstr "File da inserire [da ./] "
#: files.c:309 files.c:334 files.c:566 nano.c:1444
#: files.c:309 files.c:334 files.c:566 nano.c:1514
msgid "Cancelled"
msgstr "Cancellato"
@@ -109,7 +109,7 @@ msgstr "Il nome file
msgid "File exists, OVERWRITE ?"
msgstr "File esistente, SOVRASCRIVERE?"
#: files.c:971
#: files.c:977
msgid "(more)"
msgstr ""
@@ -290,137 +290,137 @@ msgstr ""
msgid "Cancel the current function"
msgstr "Cancella la funzione corrente"
#: global.c:222 global.c:338
#: global.c:221
msgid "Get Help"
msgstr "Aiuto"
#: global.c:225 global.c:233
msgid "WriteOut"
msgstr "Sovrascrivi"
#: global.c:229 global.c:412 global.c:436
#: global.c:224 global.c:405 global.c:429
msgid "Exit"
msgstr "Esci"
#: global.c:237 global.c:334 global.c:356 global.c:376
msgid "Goto Line"
msgstr "Vai alla linea"
#: global.c:227
msgid "WriteOut"
msgstr "Sovrascrivi"
#: global.c:242 global.c:325
#: global.c:232 global.c:321
msgid "Justify"
msgstr "Giustifica"
#: global.c:246 global.c:321 global.c:352
#: global.c:236 global.c:242
msgid "Read File"
msgstr "Leggi file"
#: global.c:246 global.c:317 global.c:345
msgid "Replace"
msgstr "Sostituisci"
#: global.c:250
msgid "Read File"
msgstr "Leggi file"
#: global.c:254
msgid "Where Is"
msgstr "Dov'è"
#: global.c:258 global.c:404 global.c:428
#: global.c:254 global.c:397 global.c:421
msgid "Prev Page"
msgstr "Pag Prec"
#: global.c:262 global.c:408 global.c:432
#: global.c:258 global.c:401 global.c:425
msgid "Next Page"
msgstr "Pag Seg"
#: global.c:266
#: global.c:262
msgid "Cut Text"
msgstr "Taglia"
#: global.c:270
#: global.c:266
#, fuzzy
msgid "UnJustify"
msgstr "Giustifica"
#: global.c:273
#: global.c:269
msgid "UnCut Txt"
msgstr "UnCut Txt"
#: global.c:277
#: global.c:273
msgid "Cur Pos"
msgstr "Posizione"
#: global.c:281
#: global.c:277
msgid "To Spell"
msgstr "Ortografia"
#: global.c:285
#: global.c:281
msgid "Up"
msgstr "Alza"
#: global.c:288
#: global.c:284
msgid "Down"
msgstr "Abbassa"
#: global.c:291
#: global.c:287
msgid "Forward"
msgstr "Avanti"
#: global.c:294
#: global.c:290
msgid "Back"
msgstr "Indietro"
#: global.c:297
#: global.c:293
msgid "Home"
msgstr "Inizio"
#: global.c:300
#: global.c:296
msgid "End"
msgstr "Fine"
#: global.c:303
#: global.c:299
msgid "Refresh"
msgstr "Aggiorna"
#: global.c:306
#: global.c:302
msgid "Mark Text"
msgstr "Marca testo"
#: global.c:309
#: global.c:305
msgid "Delete"
msgstr "Elimina"
#: global.c:313
#: global.c:309
msgid "Backspace"
msgstr "Backspace"
#: global.c:317
#: global.c:313
msgid "Tab"
msgstr "Tab"
#: global.c:329
#: global.c:325
msgid "Enter"
msgstr "Invio"
#: global.c:342 global.c:363 global.c:384 global.c:394
#: global.c:329 global.c:349 global.c:369
msgid "Goto Line"
msgstr "Vai alla linea"
#: global.c:335 global.c:356 global.c:377 global.c:387
msgid "First Line"
msgstr "Prima linea"
#: global.c:345 global.c:366 global.c:387 global.c:397
#: global.c:338 global.c:359 global.c:380 global.c:390
msgid "Last Line"
msgstr "Ultima linea"
#: global.c:348 global.c:369
#: global.c:341 global.c:362
msgid "Case Sens"
msgstr "Case sens"
#: global.c:359 global.c:379 global.c:390 global.c:400 global.c:421
#: global.c:424 winio.c:1040
#: global.c:352 global.c:372 global.c:383 global.c:393 global.c:414
#: global.c:417 winio.c:1063
msgid "Cancel"
msgstr "Cancella"
#: global.c:372
#: global.c:365
msgid "No Replace"
msgstr ""
#: global.c:417
#: global.c:410
#, fuzzy
msgid "To Files"
msgstr "Nuovo file"
@@ -550,23 +550,23 @@ msgstr ""
msgid " -v \t\t--view\t\t\tView (read only) mode\n"
msgstr " -v \t\t--view\t\t\tVisualizzazione (sola lettura)\n"
#: nano.c:399
#: nano.c:400
msgid " -w \t\t--nowrap\t\tDon't wrap long lines\n"
msgstr " -w \t\t--nowrap\t\tNon interrompere linee lunghe\n"
#: nano.c:401
#: nano.c:403
msgid " -x \t\t--nohelp\t\tDon't show help window\n"
msgstr " -x \t\t--nohelp\t\tNon mostrare finestra aiuti\n"
#: nano.c:403
#: nano.c:405
msgid " -z \t\t--suspend\t\tEnable suspend\n"
msgstr " -z \t\t--suspend\t\tAbilita sospensione\n"
#: nano.c:405
#: nano.c:407
msgid " +LINE\t\t\t\t\tStart at line number LINE\n"
msgstr " +LINE\t\t\t\t\tInizia alla linea numero\n"
#: nano.c:407
#: nano.c:409
msgid ""
"Usage: nano [option] +LINE <file>\n"
"\n"
@@ -574,424 +574,444 @@ msgstr ""
"Uso: nano [opzioni] +LINEA <file>\n"
"\n"
#: nano.c:408
#: nano.c:410
msgid "Option\t\tMeaning\n"
msgstr "Opzioni\t\tSignificato\n"
#: nano.c:409
#: nano.c:411
msgid " -T [num]\tSet width of a tab to num\n"
msgstr ""
#: nano.c:410
#: nano.c:412
msgid " -R\t\tUse regular expressions for search\n"
msgstr ""
#: nano.c:411
#: nano.c:413
msgid " -V \t\tPrint version information and exit\n"
msgstr " -V \t\tStampa informazioni sulla versione ed esci\n"
#: nano.c:412
#: nano.c:414
msgid " -c \t\tConstantly show cursor position\n"
msgstr " -c \t\tMostra sempre la posizione del cursore\n"
#: nano.c:413
#: nano.c:415
msgid " -h \t\tShow this message\n"
msgstr " -h \t\tMostra questo messaggio\n"
#: nano.c:414
#: nano.c:416
msgid " -i \t\tAutomatically indent new lines\n"
msgstr " -v \t\tIndentazione automatica nuove linee\n"
#: nano.c:416
#: nano.c:418
msgid " -k \t\tLet ^K cut from cursor to end of line\n"
msgstr ""
#: nano.c:419
#: nano.c:421
msgid " -l \t\tDon't follow symbolic links, overwrite\n"
msgstr " -l \t\tNon seguire i link simbolici, sovrascrivi\n"
#: nano.c:422
#: nano.c:424
msgid " -m \t\tEnable mouse\n"
msgstr " -m \t\tAttiva mouse\n"
#: nano.c:425
#: nano.c:427
msgid " -p \t\tEmulate Pico as closely as possible\n"
msgstr ""
#: nano.c:426
#: nano.c:428
msgid " -r [#cols] \tSet fill cols to (wrap lines at) #cols\n"
msgstr " -r [#cols] \tRiempimento colonne (interrompi linee a) #cols\n"
#: nano.c:428
#: nano.c:430
msgid " -s [prog] \tEnable alternate speller\n"
msgstr " -s [prog] \tAttiva correttore alternativo\n"
#: nano.c:430
#: nano.c:432
msgid " -t \t\tAuto save on exit, don't prompt\n"
msgstr " -t \t\tSalvataggio automatico in uscita senza avviso\n"
#: nano.c:431
#: nano.c:433
msgid " -v \t\tView (read only) mode\n"
msgstr " -v \t\tVisualizza (sola lettura)\n"
#: nano.c:432
#: nano.c:435
msgid " -w \t\tDon't wrap long lines\n"
msgstr " -w \t\tNon interrompere linee lunghe\n"
#: nano.c:433
#: nano.c:437
msgid " -x \t\tDon't show help window\n"
msgstr " -x \t\tNon mostrare la finestra Aiuti\n"
#: nano.c:434
#: nano.c:438
msgid " -z \t\tEnable suspend\n"
msgstr " -z \t\tAttiva sospensione\n"
#: nano.c:435
#: nano.c:439
msgid " +LINE\t\tStart at line number LINE\n"
msgstr " +LINEA\t\tInizia alla LINEA numero\n"
#: nano.c:442
#: nano.c:446
#, c-format
msgid " nano version %s by Chris Allegretta (compiled %s, %s)\n"
msgstr " nano versione %s di Chris Allegretta (compilato %s, %s\n"
msgid " GNU nano version %s (compiled %s, %s)\n"
msgstr " GNU nano versione %s (compilato %s, %s\n"
#: nano.c:445
#: nano.c:449
#, fuzzy
msgid " Email: nano@nano-editor.org\tWeb: http://www.nano-editor.org"
msgstr "Email: nano@nano-editor.org\tWeb: http://www.nano-editor.org\n"
#: nano.c:446
#: nano.c:450
msgid ""
"\n"
" Compiled options:"
msgstr ""
#: nano.c:511
#: nano.c:518
msgid "Mark Set"
msgstr ""
#: nano.c:516
#: nano.c:523
msgid "Mark UNset"
msgstr ""
#: nano.c:957
#: nano.c:1024
#, c-format
msgid "check_wrap called with inptr->data=\"%s\"\n"
msgstr "check_wrap chiamata con inptr->data=\"%s\"\n"
#: nano.c:1008
#: nano.c:1076
#, c-format
msgid "current->data now = \"%s\"\n"
msgstr "current->data ora = \"%d\"\n"
#: nano.c:1060
#: nano.c:1128
#, c-format
msgid "After, data = \"%s\"\n"
msgstr "Dopo, data = \"%s\"\n"
#: nano.c:1160
#: nano.c:1230
msgid "Edit a replacement"
msgstr ""
#: nano.c:1391
#: nano.c:1461
#, c-format
msgid "Could not create a temporary filename: %s"
msgstr "Impossibile creare un nome file temporaneo: %s"
#: nano.c:1397
#: nano.c:1467
msgid "Spell checking failed: unable to write temp file!"
msgstr ""
#: nano.c:1409
#: nano.c:1479
msgid "Finished checking spelling"
msgstr "Controllo ortografico terminato"
#: nano.c:1411
#: nano.c:1481
msgid "Spell checking failed"
msgstr ""
#: nano.c:1431
#: nano.c:1501
msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? "
msgstr ""
"Salva il buffer modificato (RISPONDENDO \"No\" ANNULLERETE I CAMBIAMENTI "
"AVVENUTI) ?"
#: nano.c:1527
#: nano.c:1597
msgid "Received SIGHUP"
msgstr ""
#: nano.c:1590
#: nano.c:1660
msgid "Cannot resize top win"
msgstr "Impossibile ridimensionare la finestra superiore"
#: nano.c:1592
#: nano.c:1662
msgid "Cannot move top win"
msgstr "Impossibile spostare la finestra superiore"
#: nano.c:1594
#: nano.c:1664
msgid "Cannot resize edit win"
msgstr "Impossibile ridimensionare la finestra di modifica"
#: nano.c:1596
#: nano.c:1666
msgid "Cannot move edit win"
msgstr "Impossibile spostare finestra di modifica"
#: nano.c:1598
#: nano.c:1668
msgid "Cannot resize bottom win"
msgstr "Impossibile ridimensionare la finestra inferiore"
#: nano.c:1600
#: nano.c:1670
msgid "Cannot move bottom win"
msgstr "Impossibile spostare la finestra inferiore"
#: nano.c:1908
#: nano.c:1978
msgid "Can now UnJustify!"
msgstr ""
#: nano.c:2005
#: nano.c:2076
#, c-format
msgid "%s enable/disable"
msgstr ""
#: nano.c:2020
#: nano.c:2091
msgid "enabled"
msgstr ""
#: nano.c:2021
#: nano.c:2092
msgid "disabled"
msgstr ""
#: nano.c:2073
#: nano.c:2144
msgid "NumLock glitch detected. Keypad will malfunction with NumLock off"
msgstr ""
#: nano.c:2288
#: nano.c:2366
msgid "Main: set up windows\n"
msgstr "Main: configura finestre\n"
#: nano.c:2295
#: nano.c:2373
msgid "Main: bottom win\n"
msgstr "Main: finestra inferiore\n"
#: nano.c:2301
#: nano.c:2379
msgid "Main: open file\n"
msgstr "Main: apri file\n"
#: nano.c:2353
#: nano.c:2431
#, fuzzy, c-format
msgid "I got Alt-O-%c! (%d)\n"
msgstr "Premuto Alt-[-%c! (%d)\n"
#: nano.c:2380
#: nano.c:2458
#, fuzzy, c-format
msgid "I got Alt-[-1-%c! (%d)\n"
msgstr "Premuto Alt-[-%c! (%d)\n"
#: nano.c:2413
#: nano.c:2491
#, fuzzy, c-format
msgid "I got Alt-[-2-%c! (%d)\n"
msgstr "Premuto Alt-[-%c! (%d)\n"
#: nano.c:2455
#: nano.c:2533
#, c-format
msgid "I got Alt-[-%c! (%d)\n"
msgstr "Premuto Alt-[-%c! (%d)\n"
#: nano.c:2481
#: nano.c:2559
#, c-format
msgid "I got Alt-%c! (%d)\n"
msgstr "Premuto Alt-%c! (%d)\n"
#: search.c:118
#: search.c:117
#, fuzzy, c-format
msgid "Case Sensitive Regexp Search%s%s"
msgstr "Ricerca case sensitive%s%s"
#: search.c:120
#: search.c:119
#, fuzzy, c-format
msgid "Regexp Search%s%s"
msgstr "Ricerca%s%s"
#: search.c:122
#: search.c:121
#, fuzzy, c-format
msgid "Case Sensitive Search%s%s"
msgstr "Ricerca case sensitive%s%s"
#: search.c:124
#: search.c:123
#, fuzzy, c-format
msgid "Search%s%s"
msgstr "Ricerca%s%s"
#: search.c:127
#: search.c:126
#, fuzzy
msgid " (to replace)"
msgstr " (sostituisci)"
#: search.c:136 search.c:321
#: search.c:135 search.c:326
msgid "Search Cancelled"
msgstr "Ricerca annullata"
#: search.c:194
#: search.c:199
#, fuzzy, c-format
msgid "\"%s...\" not found"
msgstr "\"%s\" non trovato"
#: search.c:243
#: search.c:248
msgid "Search Wrapped"
msgstr "Ricerca interrotta"
#: search.c:343
#, c-format
msgid "Replaced %d occurences"
#: search.c:348
#, fuzzy, c-format
msgid "Replaced %d occurrences"
msgstr "Sostituite %d occorrenze"
#: search.c:345
msgid "Replaced 1 occurence"
#: search.c:350
#, fuzzy
msgid "Replaced 1 occurrence"
msgstr "Sostituita 1 occorrenza"
#: search.c:483 search.c:587 search.c:603
#: search.c:488 search.c:592 search.c:608
msgid "Replace Cancelled"
msgstr "Sostituzione annullata"
#: search.c:533
#: search.c:538
msgid "Replace this instance?"
msgstr "Sostituisci questa istanza?"
#: search.c:545
#: search.c:550
msgid "Replace failed: unknown subexpression!"
msgstr ""
#: search.c:628
#: search.c:633
#, c-format
msgid "Replace with [%s]"
msgstr "Sostituisci con [%s]"
#: search.c:632 search.c:636
#: search.c:637 search.c:641
msgid "Replace with"
msgstr "Sostituisci con"
#. Ask for it
#: search.c:671
#: search.c:676
msgid "Enter line number"
msgstr "Inserire numero linea"
#: search.c:673
#: search.c:678
msgid "Aborted"
msgstr "Operazione fallita"
#: search.c:693
#: search.c:698
msgid "Come on, be reasonable"
msgstr "Avanti, sii ragionevole"
#: search.c:698
#: search.c:703
#, c-format
msgid "Only %d lines available, skipping to last line"
msgstr "Solo %d linee disponibili, vai all'ultima"
#: winio.c:121
#: winio.c:123
#, fuzzy, c-format
msgid "actual_x_from_start for xplus=%d returned %d\n"
msgstr "actual_x per xplus=%d ha riportato %d\n"
#: winio.c:443
#: winio.c:447
#, c-format
msgid "input '%c' (%d)\n"
msgstr "input '%c' (%d)\n"
#: winio.c:485
#: winio.c:489
msgid "New Buffer"
msgstr "Nuovo Buffer"
#: winio.c:489
#: winio.c:493
msgid " File: ..."
msgstr "File: ..."
#: winio.c:491
#: winio.c:495
#, fuzzy
msgid " DIR: ..."
msgstr "File: ..."
#: winio.c:502
#: winio.c:506
msgid "Modified"
msgstr "Modificato"
#: winio.c:954
#: winio.c:958
#, c-format
msgid "Moved to (%d, %d) in edit buffer\n"
msgstr "Mosso in (%d, %d) nel buffer di modifica\n"
#: winio.c:965
#: winio.c:969
#, c-format
msgid "current->data = \"%s\"\n"
msgstr "current->data = \"%s\"\n"
#: winio.c:1010
#: winio.c:1014
#, c-format
msgid "I got \"%s\"\n"
msgstr "Premuto \"%s\"\n"
#: winio.c:1035
#. String of yes characters accepted
#. Same for no
#. And all, surprise!
#. Temp string for above
#. Yes, no and all are strings of any length. Each string consists of
#. all characters accepted as a valid character for that value.
#. The first value will be the one displayed in the shortcuts.
#: winio.c:1037
msgid "Yy"
msgstr "Ss"
#: winio.c:1038
msgid "Nn"
msgstr "Nn"
#: winio.c:1039
msgid "Aa"
msgstr "Tt"
#: winio.c:1052
msgid "Yes"
msgstr " Sì"
#: winio.c:1037
#: winio.c:1056
msgid "All"
msgstr " Tutti"
#: winio.c:1039
#: winio.c:1061
msgid "No"
msgstr " No"
#: winio.c:1169
#: winio.c:1204
#, c-format
msgid "do_cursorpos: linepct = %f, bytepct = %f\n"
msgstr "do_cursorpos: linepct = %f, bytepct = %f\n"
#: winio.c:1173
#: winio.c:1208
msgid "line %d of %d (%.0f%%), character %d of %d (%.0f%%)"
msgstr "linea %d di %d (%.0f%%), carattere %d di %d (%.0f%%)"
#: winio.c:1303
#: winio.c:1338
msgid "Dumping file buffer to stderr...\n"
msgstr "Copia file buffer sullo stderr...\n"
#: winio.c:1305
#: winio.c:1340
msgid "Dumping cutbuffer to stderr...\n"
msgstr "Copia cutbuffer sullo stderr...\n"
#: winio.c:1307
#: winio.c:1342
msgid "Dumping a buffer to stderr...\n"
msgstr "Copia un buffer sullo stderr...\n"
#: winio.c:1382
#: winio.c:1417
msgid "The nano text editor"
msgstr ""
#: winio.c:1383
#: winio.c:1418
msgid "version "
msgstr ""
#: winio.c:1384
#: winio.c:1419
msgid "Brought to you by:"
msgstr ""
#: winio.c:1385
#: winio.c:1420
msgid "Special thanks to:"
msgstr ""
#: winio.c:1386
#: winio.c:1421
msgid "The Free Software Foundation"
msgstr ""
#: winio.c:1387
#: winio.c:1422
msgid "Pavel Curtis, Zeyd Ben-Halim and Eric S. Raymond for ncurses"
msgstr ""
#: winio.c:1388
#: winio.c:1423
msgid "and anyone else we forgot..."
msgstr ""
#: winio.c:1389
#: winio.c:1424
msgid "Thank you for using nano!\n"
msgstr ""

View File

@@ -130,7 +130,7 @@ void *nrealloc(void *ptr, size_t howmuch);
void die(char *msg, ...);
void new_file(void);
void new_magicline(void);
void splice_node(filestruct *begin, filestruct *new, filestruct *end);
void splice_node(filestruct *begin, filestruct *newnode, filestruct *end);
void null_at(char *data, int index);
void page_up_center(void);
void blank_edit(void);
@@ -152,7 +152,7 @@ int do_home(void), do_end(void), total_refresh(void), do_mark(void);
int do_delete(void), do_backspace(void), do_tab(void), do_justify(void);
int do_first_line(void), do_last_line(void);
int do_replace(void), do_help(void), do_enter_void(void);
int keypad_on(WINDOW * win, int new);
int keypad_on(WINDOW * win, int newval);
#ifndef DISABLE_BROWSER
char *do_browser(char *path);

View File

@@ -44,7 +44,7 @@ void regexp_init(const char *regexp)
SET(REGEXP_COMPILED);
}
void regexp_cleanup()
void regexp_cleanup(void)
{
UNSET(REGEXP_COMPILED);
regfree(&search_regexp);
@@ -81,7 +81,6 @@ int search_init(int replacing)
buf = nmalloc(strlen(last_search) + 5);
buf[0] = 0;
/* Okay, fun time. backupstring is our holder for what is being
returned from the statusq call. Using answer for this would be tricky.
Here, if we're using PICO_MODE, we only want nano to put the
@@ -140,8 +139,14 @@ int search_init(int replacing)
return -1;
} else if (i == -2) { /* Same string */
#ifdef HAVE_REGEX_H
if (ISSET(USE_REGEXP))
regexp_init(answer);
if (ISSET(USE_REGEXP)) {
/* If we're in pico mode, answer is "", use last_search! */
if (ISSET(PICO_MODE))
regexp_init(last_search);
else
regexp_init(answer);
}
#else
;
#endif
@@ -340,9 +345,9 @@ int do_search(void)
void print_replaced(int num)
{
if (num > 1)
statusbar(_("Replaced %d occurences"), num);
statusbar(_("Replaced %d occurrences"), num);
else if (num == 1)
statusbar(_("Replaced 1 occurence"));
statusbar(_("Replaced 1 occurrence"));
}
void replace_abort(void)

5992
texinfo.tex Normal file

File diff suppressed because it is too large Load Diff

85
winio.c
View File

@@ -34,6 +34,8 @@
#define _(string) (string)
#endif
/* winio.c statics */
static int statblank = 0; /* Number of keystrokes left after
we call statubar() before we
actually blank the statusbar */
@@ -308,6 +310,7 @@ int nanogetstr(int allowtabs, char *buf, char *def, shortcut s[], int slen,
nanoget_repaint(buf, inputbuf, x);
break;
case KEY_RIGHT:
case NANO_FORWARD_KEY:
if (x < xend)
x++;
@@ -360,6 +363,7 @@ int nanogetstr(int allowtabs, char *buf, char *def, shortcut s[], int slen,
break;
#endif
case KEY_LEFT:
case NANO_BACK_KEY:
if (x > strlen(buf))
x--;
wmove(bottomwin, 0, x);
@@ -702,7 +706,7 @@ void edit_add(filestruct * fileptr, int yval, int start, int virt_cur_x,
/*
* we're updating the line that was first marked
* but we're not currently on it. So we want to
* figur out which half to invert based on our
* figure out which half to invert based on our
* relative line numbers.
*
* i.e. If we're above the "beginbuf" line, we want to
@@ -736,7 +740,7 @@ void edit_add(filestruct * fileptr, int yval, int start, int virt_cur_x,
wattroff(edit, A_REVERSE);
} else if (fileptr == current) {
/* we're on the cursors line, but it's not the first
/* we're on the cursor's line, but it's not the first
* one we marked. Similar to the previous logic. */
int this_page_start = get_page_start_virtual(this_page),
this_page_end = get_page_end_virtual(this_page);
@@ -1021,7 +1025,18 @@ int do_yesno(int all, int leavecursor, char *msg, ...)
{
va_list ap;
char foo[133];
int kbinput, ok = -1;
int kbinput, ok = -1, i;
char *yesstr; /* String of yes characters accepted */
char *nostr; /* Same for no */
char *allstr; /* And all, surprise! */
char shortstr[5]; /* Temp string for above */
/* Yes, no and all are strings of any length. Each string consists of
all characters accepted as a valid character for that value.
The first value will be the one displayed in the shortcuts. */
yesstr = _("Yy");
nostr = _("Nn");
allstr = _("Aa");
/* Write the bottom of the screen */
clear_bottomwin();
@@ -1032,11 +1047,19 @@ int do_yesno(int all, int leavecursor, char *msg, ...)
/* Remove gettext call for keybindings until we clear the thing up */
if (!ISSET(NO_HELP)) {
wmove(bottomwin, 1, 0);
onekey(" Y", _("Yes"));
if (all)
onekey(" A", _("All"));
snprintf(shortstr, 3, " %c", yesstr[0]);
onekey(shortstr, _("Yes"));
if (all) {
snprintf(shortstr, 3, " %c", allstr[0]);
onekey(shortstr, _("All"));
}
wmove(bottomwin, 2, 0);
onekey(" N", _("No"));
snprintf(shortstr, 3, " %c", nostr[0]);
onekey(shortstr, _("No"));
onekey("^C", _("Cancel"));
}
va_start(ap, msg);
@@ -1054,22 +1077,34 @@ int do_yesno(int all, int leavecursor, char *msg, ...)
kbinput = wgetch(edit);
switch (kbinput) {
case 'Y':
case 'y':
ok = 1;
break;
case 'N':
case 'n':
ok = 0;
break;
case 'A':
case 'a':
if (all)
ok = 2;
break;
case NANO_CONTROL_C:
ok = -2;
break;
default:
/* Look for the kbinput in the yes, no and (optinally) all str */
for (i = 0; yesstr[i] != 0 && yesstr[i] != kbinput; i++)
;
if (yesstr[i] != 0) {
ok = 1;
break;
}
for (i = 0; nostr[i] != 0 && nostr[i] != kbinput; i++)
;
if (nostr[i] != 0) {
ok = 0;
break;
}
if (all) {
for (i = 0; allstr[i] != 0 && allstr[i] != kbinput; i++)
;
if (allstr[i] != 0) {
ok = 2;
break;
}
}
}
}
@@ -1373,7 +1408,7 @@ void do_replace_highlight(int highlight_flag, char *word)
}
#ifdef NANO_EXTRA
#define CREDIT_LEN 45
#define CREDIT_LEN 47
void do_credits(void)
{
int i, j = 0, k, place = 0, start_x;
@@ -1410,6 +1445,8 @@ void do_credits(void)
"Erik Andersen",
"Big Gaute",
"Joshua Jensen",
"Ryan Krebs",
"Albert Chin",
"",
specialthx,
"Plattsburgh State University",
@@ -1471,7 +1508,7 @@ void do_credits(void)
}
#endif
int keypad_on(WINDOW * win, int new)
int keypad_on(WINDOW * win, int newval)
{
/* This is taken right from aumix. Don't sue me */
@@ -1479,10 +1516,10 @@ int keypad_on(WINDOW * win, int new)
int old;
old = win->_use_keypad;
keypad(win, new);
keypad(win, newval);
return old;
#else
keypad(win, new);
keypad(win, newval);
return 1;
#endif /* HAVE_USEKEYPAD */