]> git.wh0rd.org Git - nano.git/commitdiff
Added -b, -e and -f compatibility flags, updated man pages, added Alt-Alt-x functionality
authorChris Allegretta <chrisa@asty.org>
Mon, 18 Dec 2000 02:23:50 +0000 (02:23 +0000)
committerChris Allegretta <chrisa@asty.org>
Mon, 18 Dec 2000 02:23:50 +0000 (02:23 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@411 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
faq.html
nano.1
nano.1.html
nano.c

index 68de2c2ad176aed5055c920f3a89fc154233eeed..79c51c555145d944e69fbbfc2bf9124aad05da2a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,9 +6,11 @@ General
          HURD.  Changes in files.c:write_file(), new function
          nano.c:clear_filename(), many changed in main(), a few other
          places.  Please test this!
+       - Added -b, -e, and -f flags, which we ignore as nano provides 
+         their functionality already.
 - cut.c:
   do_uncut_text()
-       - Fix renumbering bug when uncutting marked test at filebot.
+       - Fix renumbering bug when uncutting marked text at filebot.
        - Fix screen not being displayed when we are uncutting marked
          text at editbot (Bug discovered by Ken Tyler).
        - Fix magic line not getting created when (you guessed it)
@@ -26,6 +28,14 @@ General
 - nano.c:
   renumber()
        - Dont stupidly assign the value of prev->lineno if prev == NULL!
+  main()
+       - Added code to check for Alt-Alt (27-27) keystrokes and set the
+         next keystroke as a control sequence.  New variable 
+         modify_control_key.  Removed #ifdef _POSIX_VDISABLE check
+         around Control-S,Q,Z handlers because we need it now for
+         the Alt-Alt-x code.
+- nano.1, nano.1.html:
+       - Updated man page for -b, -e, -f and expanded explanation for -p.
 - utils.c:
   new_magicline()
        - Increment totsize!!  We decrement it when we've read a file, 
index 088ec32dbea57095dc57b7a1308410e480187ec3..233be9b224b06a5cd9b92c656315ac6c2ed2058c 100644 (file)
--- a/faq.html
+++ b/faq.html
@@ -21,7 +21,7 @@
 nano?</a></font>
 <br><font color="#330000"><a href="#1.5">1.5. Why the name change from
 TIP?</a></font>
-<br><font color="#330000"><a href="#1.6">1.6 What is the current version
+<br><font color="#330000"><a href="#1.6">1.6. What is the current version
 of nano?</a></font>
 <br><font color="#330000"><a href="#1.7">1.7. I want to read the man page
 without having to download the program!</a></font></blockquote>
diff --git a/nano.1 b/nano.1
index e308df753e40489eaba9a51bd20915ab353c8fea..9d9541aed78a6e0db67fe850fae1636968f9ea60 100644 (file)
--- a/nano.1
+++ b/nano.1
@@ -64,7 +64,9 @@ a new file, do not follow it.  Good for editing files in /tmp perhaps?
 Enable mouse support (if available for your system).
 .TP
 .B \-p (\-\-pico)
-Emulate Pico as closely as possible.
+Emulate Pico as closely as possible.  This affects both the "shortcut list"
+at the bottom of the screen, as well as the display and entry of previous
+search and replace strings.
 .TP
 .B \-s (\-\-speller)
 Enable alternative spell checker command.
@@ -84,6 +86,9 @@ Disable help screen at bottom of editor.
 .B \-z (\-\-suspend)
 Enable suspend ability.
 .TP
+.B \-b, \-e, \-f
+Ignored, for compatibility with Pico.
+.TP
 .B \+LINE
 Places cursor at LINE on startup.
 .SH NOTES
index 1234256de0734ce04bd42b90b70ccf347b0aa13b..d035155bde096810cba8a2a861668d305325a721 100644 (file)
@@ -86,7 +86,9 @@ Enable mouse support (if available for your system).
 <DT><B>-p (--pico)</B>
 
 <DD>
-Emulate Pico as closely as possible.
+Emulate Pico as closely as possible.  This affects both the &quot;shortcut list&quot;
+at the bottom of the screen, as well as the display and entry of previous
+search and replace strings.
 <DT><B>-s (--speller)</B>
 
 <DD>
@@ -111,6 +113,10 @@ Disable help screen at bottom of editor.
 
 <DD>
 Enable suspend ability.
+<DT><B>-b, -e, -f</B>
+
+<DD>
+Ignored, for compatibility with Pico.
 <DT><B>+LINE</B>
 
 <DD>
@@ -171,6 +177,6 @@ used by others).
 This document was created by
 <A HREF="http://localhost/cgi-bin/man/man2html">man2html</A>,
 using the manual pages.<BR>
-Time: 04:21:24 GMT, December 03, 2000
+Time: 02:16:52 GMT, December 18, 2000
 </BODY>
 </HTML>
diff --git a/nano.c b/nano.c
index 12e3ba4c8061ce945406bc0c2b2b13ddc723ed3d..890293bc3b1ea27c3fbfa95284f1729bab8c88da 100644 (file)
--- a/nano.c
+++ b/nano.c
@@ -2034,7 +2034,7 @@ int main(int argc, char *argv[])
     int kbinput;               /* Input from keyboard */
     long startline = 0;                /* Line to try and start at */
     int keyhandled = 0;                /* Have we handled the keystroke yet? */
-    int i;
+    int i, modify_control_seq = 0;
     char *argv0;
 #ifdef _POSIX_VDISABLE
     struct termios term;
@@ -2077,10 +2077,10 @@ int main(int argc, char *argv[])
 #endif
 
 #ifdef HAVE_GETOPT_LONG
-    while ((optchr = getopt_long(argc, argv, "?T:RVchiklmpr:s:tvwxz",
+    while ((optchr = getopt_long(argc, argv, "?T:RVbcefhiklmpr:s:tvwxz",
                                 long_options, &option_index)) != EOF) {
 #else
-    while ((optchr = getopt(argc, argv, "h?T:RVciklmpr:s:tvwxz")) != EOF) {
+    while ((optchr = getopt(argc, argv, "h?T:RVbcefiklmpr:s:tvwxz")) != EOF) {
 #endif
 
        switch (optchr) {
@@ -2099,6 +2099,11 @@ int main(int argc, char *argv[])
        case 'V':
            version();
            exit(0);
+       case 'b':
+       case 'e':
+       case 'f':
+               /* Pico compatibility flags */
+               break;
        case 'c':
            SET(CONSTUPDATE);
            break;
@@ -2275,6 +2280,12 @@ int main(int argc, char *argv[])
                }
 #endif
                break;
+           case 27:
+               /* If we get Alt-Alt, the next keystroke should be the same as a
+                  control sequence */
+               modify_control_seq = 1;
+               keyhandled = 1;
+               break;
            case 91:
 
                switch (kbinput = wgetch(edit)) {
@@ -2404,6 +2415,18 @@ int main(int argc, char *argv[])
                break;
            }
        }
+       /* If the modify_control_seq is set, we received an Alt-Alt 
+          sequence before this, so we make this key a control sequence 
+          by subtracting 64 or 96, depending on its value. */
+       if (!keyhandled && modify_control_seq) {
+           if (kbinput >= 'A' && kbinput < 'a')
+               kbinput -= 64;
+           else if (kbinput >= 'a' && kbinput <= 'z')
+               kbinput -= 96;
+
+           modify_control_seq = 0;
+       }
+
        /* Look through the main shortcut list to see if we've hit a
           shortcut key */
        for (i = 0; i < MAIN_LIST_LEN && !keyhandled; i++) {
@@ -2417,18 +2440,17 @@ int main(int argc, char *argv[])
                keyhandled = 1;
            }
        }
-#ifndef _POSIX_VDISABLE
-       /* Since we're in raw mode, we have to catch ^Q and ^S */
+       /* If we're in raw mode or using Alt-Alt-x, we have to catch
+          Control-S and Control-Q */
        if (kbinput == 17 || kbinput == 19)
            keyhandled = 1;
 
-       /* And catch ^Z by hand when triggered */
+       /* Catch ^Z by hand when triggered also */
        if (kbinput == 26) {
            if (ISSET(SUSPEND))
                do_suspend(0);
            keyhandled = 1;
        }
-#endif
 
        /* Last gasp, stuff that's not in the main lists */
        if (!keyhandled)