]> git.wh0rd.org Git - nano.git/commitdiff
- winio.c:do_cursorpos() - Rewritten to show col place as well as charcter place...
authorChris Allegretta <chrisa@asty.org>
Tue, 12 Feb 2002 01:57:24 +0000 (01:57 +0000)
committerChris Allegretta <chrisa@asty.org>
Tue, 12 Feb 2002 01:57:24 +0000 (01:57 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1067 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
nano.c
winio.c

index ffd1a40dadc010117d3556beaebc2ba68cb3a9ce..bc38b72b7caf2dd028fe536d4d76fcbb7dee366f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,15 +1,15 @@
 CVS code -
-- General
-       - New flag RELATIVECHARS to show column positino relative to
-         the current line instead of the current file.  New flag 
-         -C, --relative, changes to do_cursorpos().
 - Makefile.am:
        - Add SYSCONFDIR to DEFS, so we can have an /etc/nanorc.
        - Change localedir line to 1.0's version.
-- rcfile.c
+- rcfile.c:
   parse_next_rege()
        - Allow " symbol to be in regex without leading \ by checking
          for *ptr+1 is not the end of the regex.
+- winio.c:
+  do_cursorpos()
+       - Rewritten to show col place as well as charcter place, without
+         needing an entirely separate flag.
 - utils.c:
   strstrwrapper()
        - NANO_SMALL test was backwards (Ken Tyler).
diff --git a/nano.c b/nano.c
index c93cde08e8f595281f365bb1eb827beb9ccf257a..61f4564280d9603d3daad4cece6355df4731b482 100644 (file)
--- a/nano.c
+++ b/nano.c
@@ -409,9 +409,6 @@ void usage(void)
     printf(_("Usage: nano [GNU long option] [option] +LINE <file>\n\n"));
     printf(_("Option           Long option             Meaning\n"));
 
-    printf
-       (_
-        (" -C          --relative              Show relative col position with ^C\n"));
 #ifndef NANO_SMALL
     printf
        (_
@@ -492,7 +489,6 @@ void usage(void)
 #else
     printf(_("Usage: nano [option] +LINE <file>\n\n"));
     printf(_("Option           Meaning\n"));
-    printf(_(" -C              Show relative col position with ^C\n"));
 #ifndef NANO_SMALL
     printf(_(" -D              Write file in DOS format\n"));
 #endif
@@ -2740,7 +2736,6 @@ int main(int argc, char *argv[])
        {"smooth", 0, 0, 'S'},
 #endif
        {"keypad", 0, 0, 'K'},
-       {"relative", 0, 0, 'C'},
        {0, 0, 0, 0}
     };
 #endif
@@ -2761,18 +2756,15 @@ int main(int argc, char *argv[])
 #endif /* ENABLE_NANORC */
 
 #ifdef HAVE_GETOPT_LONG
-    while ((optchr = getopt_long(argc, argv, "h?CDFKMRST:Vabcefgijklmo:pr:s:tvwxz",
+    while ((optchr = getopt_long(argc, argv, "h?DFKMRST:Vabcefgijklmo:pr:s:tvwxz",
                                 long_options, &option_index)) != EOF) {
 #else
     while ((optchr =
-           getopt(argc, argv, "h?CDFKMRST:Vabcefgijklmo:pr:s:tvwxz")) != EOF) {
+           getopt(argc, argv, "h?DFKMRST:Vabcefgijklmo:pr:s:tvwxz")) != EOF) {
 #endif
 
        switch (optchr) {
 
-       case 'C':
-           SET(RELATIVECHARS);
-           break;
 #ifndef NANO_SMALL
        case 'D':
            SET(DOS_FILE);
diff --git a/winio.c b/winio.c
index e685e2d8d52bf5f0618da39dc264d1ad2f88b224..9d7826bdeb8875ddbf783b999b5d27594c8e86a5 100644 (file)
--- a/winio.c
+++ b/winio.c
@@ -1585,7 +1585,7 @@ void previous_line(void)
 int do_cursorpos(int constant)
 {
     filestruct *fileptr;
-    float linepct = 0.0, bytepct = 0.0;
+    float linepct = 0.0, bytepct = 0.0, colpct = 0.0;
     long i = 0, j = 0;
     static long old_i = -1, old_totsize = -1;
 
@@ -1598,32 +1598,24 @@ int do_cursorpos(int constant)
     if (old_totsize == -1)
        old_totsize = totsize;
 
-    if (ISSET(RELATIVECHARS)) {
-
-       if (strlen(current->data) == 0)
-           bytepct = 0;
-       else
-           bytepct = 100 * current_x / strlen(current->data);
-
-       old_i = -1;
-       i = current_x;
-       j = strlen(current->data);
+    if (strlen(current->data) == 0)
+       colpct = 0;
+    else
+       colpct = 100 * current_x / strlen(current->data);
 
-    } else {
-       for (fileptr = fileage; fileptr != current && fileptr != NULL;
-            fileptr = fileptr->next)
-           i += strlen(fileptr->data) + 1;
+    for (fileptr = fileage; fileptr != current && fileptr != NULL;
+        fileptr = fileptr->next)
+       i += strlen(fileptr->data) + 1;
 
-       if (fileptr == NULL)
-           return -1;
+    if (fileptr == NULL)
+       return -1;
 
-       i += current_x;
+    i += current_x;
 
-       j = totsize;
+    j = totsize;
 
-       if (totsize > 0)
-           bytepct = 100 * i / totsize;
-    }
+    if (totsize > 0)
+       bytepct = 100 * i / totsize;
 
     if (totlines > 0)
         linepct = 100 * current->lineno / totlines;
@@ -1638,8 +1630,9 @@ int do_cursorpos(int constant)
        character values have changed */
     if (!constant || (old_i != i || old_totsize != totsize)) {
        statusbar(_
-                 ("line %d of %d (%.0f%%), character %ld of %ld (%.0f%%)"),
-                 current->lineno, totlines, linepct, i, j, bytepct);
+                 ("line %d/%d (%.0f%%), col %ld/%ld (%.0f%%), char %ld/%ld (%.0f%%)"),
+                 current->lineno, totlines, linepct, current_x, 
+                 strlen(current->data), colpct, i, j, bytepct);
     }
 
     old_i = i;