git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/2] utf8: accept "latin-1" as ISO-8859-1

From
Jeff King <peff@peff.net>
Date
Sep 27, 2016, 05:57 UTC
Message-ID
<20160927055744.el2jbxzdqfhjl6qt@sigill.intra.peff.net>
In-Reply-To
<20160927012211.9378-3-gitster@pobox.com>
On Mon, Sep 26, 2016 at 06:22:11PM -0700, Junio C Hamano wrote:
Show 7 quoted lines
> Even though latin-1 is still seen in e-mail headers, some platforms
> only install ISO-8859-1.  "iconv -f ISO-8859-1" succeeds, while
> "iconv -f latin-1" fails on such a system.
> 
> Using the same fallback_encoding() mechanism factored out in the
> previous step, teach ourselves that "ISO-8859-1" has a better chance
> of being accepted than "latin-1".

I was curious if this was the most official or accepted spelling. Grepping a few hundred thousand messages from my mail archives, it does seem to be the most common.

Show 15 quoted lines
> diff --git a/utf8.c b/utf8.c
> index 550e785..0c8e011 100644
> --- a/utf8.c
> +++ b/utf8.c
> @@ -501,6 +501,13 @@ static const char *fallback_encoding(const char *name)
>  	if (is_encoding_utf8(name))
>  		return "UTF-8";
>  
> +	/*
> +	 * Even though latin-1 is still seen in e-mail
> +	 * headers, some platforms only install ISO-8859-1.
> +	 */
> +	if (!strcasecmp(name, "latin-1"))
> +		return "ISO-8859-1";
> +

For the UTF-8 fallbacks, we actually detect their equivalence via same_encoding() before even hitting iconv. Is it worth doing the same here?

I have to admit that I don't care too deeply about performance for somebody who wants to convert "latin1" to "ISO-8859-1". If one of your encodings is not UTF-8, you are probably Doing It Wrong. :)

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 6 of 7 in “Locally alias "latin-1" to "ISO-8859-1"”
  1. 0/2 Locally alias "latin-1" to "ISO-8859-1"Junio C Hamano, Sep 27, 2016
  2. 1/2 utf8: refactor code to decide fallback encodingJunio C Hamano, Sep 27, 2016
  3. Jeff KingSep 27, 2016
  4. Junio C HamanoSep 27, 2016
  5. 2/2 utf8: accept "latin-1" as ISO-8859-1Junio C Hamano, Sep 27, 2016
  6. Jeff KingSep 27, 2016
  7. Junio C HamanoSep 27, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.