Clean up cruft made visible by the unifdefing:
* remove setlocale() calls
* remove write-only variable AsciiOnly 
* remove now unused string constants STRLANG, STRLC_CTYPE
* remove hardcoded support for ISO8859-1

OK?

Index: char.c
===================================================================
RCS file: /cvs/src/bin/csh/char.c,v
retrieving revision 1.5
diff -u -p -r1.5 char.c
--- char.c      26 Oct 2015 15:01:15 -0000      1.5
+++ char.c      26 Oct 2015 15:27:45 -0000
@@ -130,101 +130,8 @@ unsigned short _cmap[256] = {
        _META|_CMD,     0,              0,              _CTR,
 
 /****************************************************************/
-/* 128 - 255 The below is supposedly ISO 8859/1                        */
+/* 128 - 255                                                   */
 /****************************************************************/
-/*     (undef)         (undef)         (undef)         (undef)         */
-       _CTR,           _CTR,           _CTR,           _CTR,
-
-/*     (undef)         (undef)         (undef)         (undef)         */
-       _CTR,           _CTR,           _CTR,           _CTR,
-
-/*     (undef)         (undef)         (undef)         (undef)         */
-       _CTR,           _CTR,           _CTR,           _CTR,
-
-/*     (undef)         (undef)         (undef)         (undef)         */
-       _CTR,           _CTR,           _CTR,           _CTR,
-
-/*     (undef)         (undef)         (undef)         (undef)         */
-       _CTR,           _CTR,           _CTR,           _CTR,
-
-/*     (undef)         (undef)         (undef)         (undef)         */
-       _CTR,           _CTR,           _CTR,           _CTR,
-
-/*     (undef)         (undef)         (undef)         (undef)         */
-       _CTR,           _CTR,           _CTR,           _CTR,
-
-/*     (undef)         (undef)         (undef)         (undef)         */
-       _CTR,           _CTR,           _CTR,           _CTR,
-
-/*     nobreakspace    exclamdown      cent            sterling        */
-       _SP,            0,              0,              0,
-
-/*     currency        yen             brokenbar       section         */
-       0,              0,              0,              0,
-
-/*     diaeresis       copyright       ordfeminine     guillemotleft   */
-       0,              0,              0,              0,
-
-/*     notsign         hyphen          registered      macron          */
-       0,              0,              0,              0,
-
-/*     degree          plusminus       twosuperior     threesuperior   */
-       0,              0,              0,              0,
-
-/*     acute           mu              paragraph       periodcentered  */
-       0,              0,              0,              0,
-
-/*     cedilla         onesuperior     masculine       guillemotright  */
-       0,              0,              0,              0,
-
-/*     onequarter      onehalf         threequarters   questiondown    */
-       0,              0,              0,              0,
-
-/*     Agrave          Aacute          Acircumflex     Atilde          */
-       _LET|_UP,       _LET|_UP,       _LET|_UP,       _LET|_UP,
-
-/*     Adiaeresis      Aring           AE              Ccedilla        */
-       _LET|_UP,       _LET|_UP,       _LET|_UP,       _LET|_UP,
-
-/*     Egrave          Eacute          Ecircumflex     Ediaeresis      */
-       _LET|_UP,       _LET|_UP,       _LET|_UP,       _LET|_UP,
-
-/*     Igrave          Iacute          Icircumflex     Idiaeresis      */
-       _LET|_UP,       _LET|_UP,       _LET|_UP,       _LET|_UP,
-
-/*     ETH             Ntilde          Ograve          Oacute          */
-       _LET|_UP,       _LET|_UP,       _LET|_UP,       _LET|_UP,
-
-/*     Ocircumflex     Otilde          Odiaeresis      multiply        */
-       _LET|_UP,       _LET|_UP,       _LET|_UP,       0,
-
-/*     Ooblique        Ugrave          Uacute          Ucircumflex     */
-       _LET|_UP,       _LET|_UP,       _LET|_UP,       _LET|_UP,
-
-/*     Udiaeresis      Yacute          THORN           ssharp          */
-       _LET|_UP,       _LET|_UP,       _LET|_UP,       _LET|_LOW,
-
-/*     agrave          aacute          acircumflex     atilde          */
-       _LET|_LOW,      _LET|_LOW,      _LET|_LOW,      _LET|_LOW,
-
-/*     adiaeresis      aring           ae              ccedilla        */
-       _LET|_LOW,      _LET|_LOW,      _LET|_LOW,      _LET|_LOW,
-
-/*     egrave          eacute          ecircumflex     ediaeresis      */
-       _LET|_LOW,      _LET|_LOW,      _LET|_LOW,      _LET|_LOW,
-
-/*     igrave          iacute          icircumflex     idiaeresis      */
-       _LET|_LOW,      _LET|_LOW,      _LET|_LOW,      _LET|_LOW,
-
-/*     eth             ntilde          ograve          oacute          */
-       _LET|_LOW,      _LET|_LOW,      _LET|_LOW,      _LET|_LOW,
-
-/*     ocircumflex     otilde          odiaeresis      division        */
-       _LET|_LOW,      _LET|_LOW,      _LET|_LOW,      0,
-
-/*     oslash          ugrave          uacute          ucircumflex     */
-       _LET|_LOW,      _LET|_LOW,      _LET|_LOW,      _LET|_LOW,
-
-/*     udiaeresis      yacute          thorn           ydiaeresis      */
-       _LET|_LOW,      _LET|_LOW,      _LET|_LOW,      _LET|_LOW,
+/*     (undef)         ...                                     */
+       0,
 };
Index: const.c
===================================================================
RCS file: /cvs/src/bin/csh/const.c,v
retrieving revision 1.7
diff -u -p -r1.7 const.c
--- const.c     17 Jun 2015 03:48:21 -0000      1.7
+++ const.c     26 Oct 2015 15:27:45 -0000
@@ -39,8 +39,6 @@
 Char STR0[]            = { '0', '\0' };
 Char STR1[]            = { '1', '\0' };
 Char STRHOME[]         = { 'H', 'O', 'M', 'E', '\0' };
-Char STRLANG[]         = { 'L', 'A', 'N', 'G', '\0' };
-Char STRLC_CTYPE[]     = { 'L', 'C', '_', 'C', 'T', 'Y', 'P', 'E' ,'\0' };
 Char STRLOGNAME[]      = { 'L', 'O', 'G', 'N', 'A', 'M', 'E', '\0' };
 Char STRLbrace[]       = { '{', '\0' };
 Char STRLparen[]       = { '(', '\0' };
Index: csh.c
===================================================================
RCS file: /cvs/src/bin/csh/csh.c,v
retrieving revision 1.31
diff -u -p -r1.31 csh.c
--- csh.c       26 Oct 2015 15:01:15 -0000      1.31
+++ csh.c       26 Oct 2015 15:27:46 -0000
@@ -155,22 +155,10 @@ main(int argc, char *argv[])
     if (loginsh)
        (void) time(&chktim);
 
-    AsciiOnly = 1;
-
-    (void) setlocale(LC_ALL, "");
-
     if (pledge("stdio rpath wpath cpath fattr getpw proc exec tty",
        NULL) == -1)
            perror("pledge");
 
-    {
-       int     k;
-
-       for (k = 0200; k <= 0377 && !Isprint(k); k++)
-           continue;
-       AsciiOnly = k > 0377;
-    }
-
     /*
      * Move the descriptors to safe places. The variable didfds is 0 while we
      * have only FSH* to work with. When didfds is true, we have 0,1,2 and
@@ -1247,10 +1235,6 @@ vis_fputc(int ch, FILE *fp)
 
     if (ch & QUOTE)
        return fputc(ch & TRIM, fp);
-    /*
-     * XXX: When we are in AsciiOnly we want all characters >= 0200 to
-     * be encoded, but currently there is no way in vis to do that.
-     */
     (void) vis(uenc, ch & TRIM, VIS_NOSLASH, 0);
     return fputs(uenc, fp);
 }
Index: csh.h
===================================================================
RCS file: /cvs/src/bin/csh/csh.h,v
retrieving revision 1.23
diff -u -p -r1.23 csh.h
--- csh.h       26 Oct 2015 15:01:15 -0000      1.23
+++ csh.h       26 Oct 2015 15:27:46 -0000
@@ -193,8 +193,6 @@ sig_t parterm;                      /* Parents terminate ca
 #define        QUOTE           0100000U /* 16nth char bit used for 'ing */
 #define        TRIM            0077777 /* Mask to strip quote bit */
 
-int     AsciiOnly;             /* If set only 7 bits is expected in characters 
*/
-
 /*
  * Each level of input has a buffered input structure.
  * There are one or more blocks of buffered input for each level,
Index: func.c
===================================================================
RCS file: /cvs/src/bin/csh/func.c,v
retrieving revision 1.30
diff -u -p -r1.30 func.c
--- func.c      26 Oct 2015 15:01:15 -0000      1.30
+++ func.c      26 Oct 2015 15:27:46 -0000
@@ -917,14 +917,6 @@ dosetenv(Char **v, struct command *t)
        importpath(lp);
        dohash(NULL, NULL);
     }
-    else if (eq(vp, STRLANG) || eq(vp, STRLC_CTYPE)) {
-       int     k;
-
-       (void) setlocale(LC_ALL, "");
-       for (k = 0200; k <= 0377 && !Isprint(k); k++)
-               continue;
-       AsciiOnly = k > 0377;
-    }
     xfree(lp);
 }
 
@@ -959,14 +951,6 @@ dounsetenv(Char **v, struct command *t)
                if (!Gmatch(name, *v))
                    continue;
                maxi = 1;
-               if (eq(name, STRLANG) || eq(name, STRLC_CTYPE)) {
-                   int     k;
-
-                   (void) setlocale(LC_ALL, "");
-                   for (k = 0200; k <= 0377 && !Isprint(k); k++)
-                       continue;
-                   AsciiOnly = k > 0377;
-               }
                /*
                 * Delete name, and start again cause the environment changes
                 */
Index: str.c
===================================================================
RCS file: /cvs/src/bin/csh/str.c,v
retrieving revision 1.17
diff -u -p -r1.17 str.c
--- str.c       26 Oct 2015 15:01:15 -0000      1.17
+++ str.c       26 Oct 2015 15:27:46 -0000
@@ -399,10 +399,6 @@ vis_str(Char *cp)
        sdst = xreallocarray(sdst, n, sizeof(char));
        dstsize = n;
     }
-    /*
-     * XXX: When we are in AsciiOnly we want all characters >= 0200 to
-     * be encoded, but currently there is no way in vis to do that.
-     */
     (void) strnvis(sdst, short2str(cp), dstsize, VIS_NOSLASH);
     return (sdst);
 }
-- 
Christian "naddy" Weisgerber                          na...@mips.inka.de

Reply via email to