ok nicm The no_error argument to icharset() is now unused and could go too.
On Fri, Nov 06, 2015 at 11:47:46AM -0500, Ted Unangst wrote: > Ted Unangst wrote: > > Having to define LESSCHARSET to print the special characters doesn't seem > > that > > useful. It doesn't do translation. So setting it to ebcdic isn't going to > > magically make such files appear correctly in my xterm. > > > > There seem to be two possibilities: > > 1. You have LESSCHARSET and LC_CTYPE set to the same thing. Things work. > > 2. They are different. Things will not work. > > > > Removing the possibility that they are different would seem to be an > > improvement. > > Oops, that was the big bomb diff. We want to keep the nl_langinfo and some > charset support. Just remove the environment variable and pare down some of > the stranger charsets. > > Index: charset.c > =================================================================== > RCS file: /cvs/src/usr.bin/less/charset.c,v > retrieving revision 1.14 > diff -u -p -r1.14 charset.c > --- charset.c 6 Nov 2015 16:20:37 -0000 1.14 > +++ charset.c 6 Nov 2015 16:37:42 -0000 > @@ -35,24 +35,6 @@ struct charset { > /* BEGIN CSTYLED */ > { "ascii", NULL, "8bcccbcc18b95.b" }, > { "utf-8", &utf_mode, "8bcccbcc18b95.b126.bb" }, > - { "iso8859", NULL, "8bcccbcc18b95.33b." }, > - { "latin3", NULL, > "8bcccbcc18b95.33b5.b8.b15.b4.b12.b18.b12.b." }, > - { "arabic", NULL, > "8bcccbcc18b95.33b.3b.7b2.13b.3b.b26.5b19.b" }, > - { "greek", NULL, "8bcccbcc18b95.33b4.2b4.b3.b35.b44.b" }, > - { "greek2005", NULL, "8bcccbcc18b95.33b14.b35.b44.b" }, > - { "hebrew", NULL, "8bcccbcc18b95.33b.b29.32b28.2b2.b" }, > - { "koi8-r", NULL, "8bcccbcc18b95.b." }, > - { "KOI8-T", NULL, > "8bcccbcc18b95.b8.b6.b8.b.b.5b7.3b4.b4.b3.b.b.3b." }, > - { "georgianps", NULL, "8bcccbcc18b95.3b11.4b12.2b." }, > - { "tcvn", NULL, "b..b...bcccbccbbb7.8b95.b48.5b." }, > - { "TIS-620", NULL, "8bcccbcc18b95.b.4b.11b7.8b." }, > - { "next", NULL, "8bcccbcc18b95.bb125.bb" }, > - { "dos", NULL, "8bcccbcc12bc5b95.b." }, > - { "windows-1251", NULL, "8bcccbcc12bc5b95.b24.b." }, > - { "windows-1252", NULL, "8bcccbcc12bc5b95.b.b11.b.2b12.b." }, > - { "windows-1255", NULL, "8bcccbcc12bc5b95.b.b8.b.5b9.b.4b." }, > - { "ebcdic", NULL, > "5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b." > }, > - { "IBM-1047", NULL, > "4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc191.b" }, > { NULL, NULL, NULL } > /* END CSTYLED */ > }; > @@ -69,43 +51,6 @@ struct cs_alias { > { "US-ASCII", "ascii" }, > { "646", "ascii" }, > { "C", "ascii" }, > - { "latin1", "iso8859" }, > - { "ISO-8859-1", "iso8859" }, > - { "latin9", "iso8859" }, > - { "ISO-8859-15", "iso8859" }, > - { "latin2", "iso8859" }, > - { "ISO-8859-2", "iso8859" }, > - { "ISO-8859-3", "latin3" }, > - { "latin4", "iso8859" }, > - { "ISO-8859-4", "iso8859" }, > - { "cyrillic", "iso8859" }, > - { "ISO-8859-5", "iso8859" }, > - { "ISO-8859-6", "arabic" }, > - { "ISO-8859-7", "greek" }, > - { "IBM9005", "greek2005" }, > - { "ISO-8859-8", "hebrew" }, > - { "latin5", "iso8859" }, > - { "ISO-8859-9", "iso8859" }, > - { "latin6", "iso8859" }, > - { "ISO-8859-10", "iso8859" }, > - { "latin7", "iso8859" }, > - { "ISO-8859-13", "iso8859" }, > - { "latin8", "iso8859" }, > - { "ISO-8859-14", "iso8859" }, > - { "latin10", "iso8859" }, > - { "ISO-8859-16", "iso8859" }, > - { "IBM437", "dos" }, > - { "EBCDIC-US", "ebcdic" }, > - { "IBM1047", "IBM-1047" }, > - { "KOI8-R", "koi8-r" }, > - { "KOI8-U", "koi8-r" }, > - { "GEORGIAN-PS", "georgianps" }, > - { "TCVN5712-1", "tcvn" }, > - { "NEXTSTEP", "next" }, > - { "windows", "windows-1252" }, /* backward compatibility */ > - { "CP1251", "windows-1251" }, > - { "CP1252", "windows-1252" }, > - { "CP1255", "windows-1255" }, > { NULL, NULL } > }; > > @@ -341,13 +286,6 @@ static void > set_charset(void) > { > char *s; > - > - /* > - * See if environment variable LESSCHARSET is defined. > - */ > - s = lgetenv("LESSCHARSET"); > - if (icharset(s, 0)) > - return; > > /* > * Try using the codeset name as the charset name. >