DLR's latest fixes

git-svn-id: svn://svn.savannah.gnu.org/nano/branches/nano_1_2_branch/nano@3433 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
This commit is contained in:
Chris Allegretta 2006-04-25 04:24:23 +00:00
parent 393c39a5f1
commit c91870e94c
29 changed files with 5039 additions and 5019 deletions

View File

@ -2,16 +2,30 @@ CVS code -
- General
- Update copyright notice on all source files to reflect new
holder.
- nano.c:
main()
- Refer to KEY_SUSPEND instead of 407. (DLR)
- winio.c:
blocking_wgetch()
- Only save all open buffers and hang up when a blocking
wgetch() returns ERR and errno is set to EIO (input/output
error). If errno is set to something else, recover properly.
This fixes problems with nano's erroneously hanging up while
e.g. resizing or unsuspending in a chroot. (DLR, found by Mike
Frysinger)
wgetch() returns ERR 128 times in a row, regardless of the
value of errno, since that most likely means that the input
source we were using is gone. This fixes problems with
nano's erroneously hanging up while e.g. resizing or
unsuspending in a chroot, and with its not hanging up when
it's run via su in an xterm and the xterm window is closed.
(DLR, found by Mike Frysinger and John <acocaracha@gmail.com>)
nanogetstr()
- Refer to KEY_ENTER instead of 343, and handle all of PDCurses'
Shift, Control, and Alt key values by name instead of
referring to 541-545, which leaves out one key value. (DLR)
do_credits()
- Add DLR as new copyright holder.
- README.CVS:
- Update the given cvs commands so that they work again. (DLR)
- faq.html:
- Update the Free Translation Project's address, and remove
broken links to contributed RedHat nano packages. (DLR)
GNU nano 1.2.5 - 2005.05.15
- files.c:

View File

@ -21,10 +21,10 @@ To download the CVS tree, execute the following command:
$ cvs -z3 -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/nano login
and press enter at the password prompt.
Then, do
$ cvs -z3 -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/nano checkout nano
$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/nano checkout nano
and the nano tree will download.
If you want to checkout the stable CVS branch, append -r nano_1_0_branch:
$ cvs -z3 -d:pserver:anonymous@subversions.gnu.org:/cvsroot/nano checkout -r nano_1_0_branch nano
$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/nano checkout -r nano_1_2_branch nano
Once you have the sources in the "nano" directory, cd into it, and
execute the "autogen.sh" script in the top dir. This will setup a

View File

@ -97,11 +97,6 @@
<li><a href="http://www.nano-editor.org/dist/v1.2/RPMS/">http://www.nano-editor.org/dist/v1.2/RPMS/</a></li>
<li><a href="http://www.ewtoo.org/~astyanax/nano/dist/v1.2/RPMS/">http://www.ewtoo.org/~astyanax/nano/dist/v1.2/RPMS/</a></li>
</ul>
<p>Additionally, check out the RedHat contribs section at:</p>
<ul>
<li><a href="http://distro.ibiblio.org/pub/Linux/distributions/redhat/contrib/libc6/i386/">http://distro.ibiblio.org/pub/Linux/distributions/redhat/contrib/libc6/i386/</a></li>
<li><a href="ftp://distro.ibiblio.org/pub/Linux/distributions/redhat/contrib/libc6/i386/">ftp://distro.ibiblio.org/pub/Linux/distributions/redhat/contrib/libc6/i386/</a></li>
</ul>
</blockquote>
<h2><a name="2.3"></a>2.3. Debian (.deb) packages.</h2>
<blockquote><p>Debian users can check out the current nano packages for:</p>
@ -199,8 +194,8 @@
<hr width="100%">
<h1><a name="5"></a>5. Internationalization</h1>
<h2><a name="5.1"></a>5.1. There's no translation for my language!</h2>
<blockquote><p>On June of 2001, GNU nano entered the <a href="http://www.iro.umontreal.ca/contrib/po/HTML/">Free Translation Project</a> and since then, translations should be managed from there.</p>
<p>If there isn't a translation for your language, you could ask <a href="http://www.iro.umontreal.ca/contrib/po/HTML/teams.html">your language team</a> to translate nano, or better still, join your team and do it yourself. Joining a team is easy. You just need to ask the <a href="mailto:translation@iro.umontreal.ca">TP coordinator</a> to add you to your team, and send a <a href="http://www.iro.umontreal.ca/contrib/po/HTML/disclaim.html">translation disclaimer to the FSF</a> (this is necessary as nano is an official GNU package, but it does <b>not</b> mean that you transfer the rights of your work to the FSF, it's just so the FSF can legally manage them).</p>
<blockquote><p>On June of 2001, GNU nano entered the <a href="http://www.iro.umontreal.ca/translation/HTML/">Free Translation Project</a> and since then, translations should be managed from there.</p>
<p>If there isn't a translation for your language, you could ask <a href="http://www.iro.umontreal.ca/translation/HTML/teams.html">your language team</a> to translate nano, or better still, join your team and do it yourself. Joining a team is easy. You just need to ask the <a href="mailto:translation@iro.umontreal.ca">TP coordinator</a> to add you to your team, and send a <a href="http://www.iro.umontreal.ca/translation/HTML/disclaim.html">translation disclaimer to the FSF</a> (this is necessary as nano is an official GNU package, but it does <b>not</b> mean that you transfer the rights of your work to the FSF, it's just so the FSF can legally manage them).</p>
<p>In any case, translating nano is very easy. Just grab the <b>nano.pot</b> file from the latest and greatest nano distribution (it's in the <b>po/</b> directory) and translate each line into your native language on the <b>msgstr</b> line. When you're done, you should send it to the TP's central po repository.</p></blockquote>
<h2><a name="5.2"></a>5.2. I don't like the translation for &lt;x&gt; in my language. How can I fix it?</h2>
<blockquote><p>The best way would probably be to e-mail the person listed in the <code>Last-Translator:</code> field in the <b>&lt;your_language&gt;.po</b> file with your suggested corrections and they can make the changes reach the nano-devel list.</p></blockquote>
@ -236,6 +231,7 @@
<h2><a name="8"></a>8. ChangeLog</h2>
<blockquote>
<p>
2006/03/30 - Update the Free Translation Project's address, and remove broken links to contributed RedHat nano packages. (DLR)<br>
2003/07/02 - Added question about nano's not showing color when it's compiled with color support (DLR; suggested by Jordi).<br>
2003/02/23 - Updated RPM links for nano 1.2.x. (DLR).<br>
2003/01/16 - Split section 4.5 into 4.5a and 4.5b for search string behavior. Added --enable-all docs.<br>

9
nano.c
View File

@ -3776,8 +3776,13 @@ int main(int argc, char *argv[])
keyhandled = 1;
/* Catch ^Z by hand when triggered also
407 == ^Z in Linux console when keypad() is used? */
if (kbinput == 26 || kbinput == 407) {
KEY_SUSPEND == ^Z in Linux console when keypad() is used and
nano is built with ncurses? */
#ifdef KEY_SUSPEND
if (kbinput == 26 || kbinput == KEY_SUSPEND) {
#else
if (kbinput == 26) {
#endif
if (ISSET(SUSPEND))
do_suspend(0);
keyhandled = 1;

416
po/ca.po

File diff suppressed because it is too large Load Diff

416
po/cs.po

File diff suppressed because it is too large Load Diff

416
po/da.po

File diff suppressed because it is too large Load Diff

416
po/de.po

File diff suppressed because it is too large Load Diff

416
po/es.po

File diff suppressed because it is too large Load Diff

416
po/eu.po

File diff suppressed because it is too large Load Diff

416
po/fi.po

File diff suppressed because it is too large Load Diff

416
po/fr.po

File diff suppressed because it is too large Load Diff

416
po/gl.po

File diff suppressed because it is too large Load Diff

416
po/hu.po

File diff suppressed because it is too large Load Diff

416
po/id.po

File diff suppressed because it is too large Load Diff

416
po/it.po

File diff suppressed because it is too large Load Diff

416
po/ms.po

File diff suppressed because it is too large Load Diff

416
po/nb.po

File diff suppressed because it is too large Load Diff

416
po/nl.po

File diff suppressed because it is too large Load Diff

416
po/nn.po

File diff suppressed because it is too large Load Diff

416
po/pl.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

416
po/ro.po

File diff suppressed because it is too large Load Diff

416
po/ru.po

File diff suppressed because it is too large Load Diff

416
po/sr.po

File diff suppressed because it is too large Load Diff

416
po/sv.po

File diff suppressed because it is too large Load Diff

416
po/tr.po

File diff suppressed because it is too large Load Diff

416
po/uk.po

File diff suppressed because it is too large Load Diff

27
winio.c
View File

@ -26,7 +26,6 @@
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <ctype.h>
#include <assert.h>
#include "proto.h"
@ -38,12 +37,17 @@ static int statblank = 0; /* Number of keystrokes left after
int blocking_wgetch(WINDOW *win)
{
int retval;
int retval, errcount = 0;
while ((retval = wgetch(win)) == ERR) {
/* If errno is EIO, it means that the input source that we were
* using is gone, so die gracefully. */
if (errno == EIO)
errcount++;
/* If we've failed to get a character 128 times in a row, assume
* that the input source we were using is gone and die
* gracefully. We could check if errno is set to EIO
* ("Input/output error") and die gracefully in that case, but
* it's not always set properly. Argh. */
if (errcount == 128)
handle_hupterm(0);
}
@ -291,16 +295,17 @@ int nanogetstr(int allowtabs, const char *buf, const char *def,
switch (kbinput) {
/* Stuff we want to equate with <enter>, ASCII 13 */
case 343:
case KEY_ENTER:
ungetch(13); /* Enter on iris-ansi $TERM, sometimes */
break;
/* Stuff we want to ignore */
#ifdef PDCURSES
case 541:
case 542:
case 543: /* Right ctrl again */
case 544:
case 545: /* Right alt again */
case KEY_SHIFT_L:
case KEY_SHIFT_R:
case KEY_CONTROL_L:
case KEY_CONTROL_R:
case KEY_ALT_L:
case KEY_ALT_R:
break;
#endif
#if !defined(DISABLE_MOUSE) && defined(NCURSES_MOUSE_VERSION)