On 2008-03-20 11:51:33 -0500, Kyle Wheeler wrote: > On Thursday, March 20 at 03:47 PM, quoth Vincent Lefevre: >> set charset=`codeset 2> /dev/null || locale charmap`//TRANSLIT > > Part of the problem there is that it isn't particularly portable...
A .muttrc file doesn't have to be portable. It just needs to work on all the platforms I use, and this is the case. > I mean, neither `codeset` nor `locale charmap` do anything on my > OSX 10.4.x box "codeset" is a little C program I wrote because of the "locale charmap" bug on Mac OS X. > ---it doesn't have a "codeset" binary, and "locale charmap" isn't > something that conforms to the POSIX locale standard as far as I can > determine. "locale charmap" is specified by POSIX: http://www.opengroup.org/onlinepubs/009695399/utilities/locale.html The following operand shall be supported: name The name of a locale category as defined in the Base Definitions volume of IEEE Std 1003.1-2001, Chapter 7, Locale, the name of a keyword in a locale category, or the reserved name charmap. [...] ^^^^^^^ > Detecting the local characterset is more complicated... "locale charmap" should give it. Otherwise this means that the LC_* environment variables are not correctly set, hence many problems; so, the real fix is to fix them first. > But assuming that either `codeset` or `locale charmap` work for all the > machines you care about, and assuming your $SHELL is bash (so that it > recognizes the pattern matching), I would suggest something like this: > > `charmap=$(codeset 2>/dev/null || locale charmap); \ > [[ $charmap =~ *UTF* || $charmap =~ *utf* ]] && \ > echo set my_mutt_autodetects_utf8="" || \ > echo set charset=$charmap//TRANSLIT` That's bloated and not portable ($SHELL is not always bash or something compatible with bash in my case). > That's just me. Then again, mutt makes the mistake of assuming that > $charset is a good fall-back that will always be a valid MIME charset > encoding name. That's a bug. -- Vincent Lefèvre <[EMAIL PROTECTED]> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
