<<< Date Index >>>     <<< Thread Index >>>

Re: Message-hook problem



Hi Kyle, Breen,

 On Monday, August 20, 2007 at 9:50:11 -0600, Kyle Wheeler wrote:

> The best way to fix this is with [...] sed "s/\o302\o271/'/g"

    However this notation will not be portable to non-UTF-8 locales.
I'd suggest to just write the superscript one itself in muttrc, and let
Mutt's $config_charset feature convert it to whatever is the current
locale:

| set config_charset=utf-8      # muttrc's charset
|
| message-hook .        "unset display_filter"
| message-hook pattern  'set display_filter="sed s/¹/\\\047/g"'


    While at it, Breen could sed it to the original curly apostrophe
(HTML's "&#8217;"). Make it maximally portable would then need some help
from the iconv //TRANSLIT feature:

| set config_charset=utf-8      # muttrc's charset
| set charset=//TRANSLIT        # locale's charset with transliterations
|
| message-hook .        "unset display_filter"
| message-hook pattern  'set display_filter="sed s/¹/’/g"'
|
| reset charset                 # locale's charset without transliterations

    The exact result depends on iconv and locale, but for me this prints
the proper curly apostrophe >’< in locales having it, and a replacement
acute accent >´< in Latin-1 or -9 locales. It would print a single
quote >'< in the C locale, but this quote breaks muttrc syntax.

    That's a good usage example of transliterated muttrc: Does magic,
but must be thoroughly triple-checked against syntax breakages in
obscure corner conditions.


Bye!    Alain.
-- 
Mutt muttrc tip for mailing lists: set followup_to=yes and declare the list as
 - subscribe ^list@ddress$ if you are subscribed and don't want courtesy copy.
 - lists ^list@ddress$     if you are not subscribed or want a courtesy copy.