From: Junio C Hamano <junkio@cox.net>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mark Levedahl <mdl123@verizon.net>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Alexander Litvinov <litvinov2004@gmail.com>,
Mark Levedahl <mlevedahl@verizon.net>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: mingw, windows, crlf/lf, and git
Date: Wed, 14 Feb 2007 08:39:55 -0800 [thread overview]
Message-ID: <7v64a4snfo.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <Pine.LNX.4.64.0702140745110.3604@woody.linux-foundation.org> (Linus Torvalds's message of "Wed, 14 Feb 2007 07:51:00 -0800 (PST)")
Linus Torvalds <torvalds@linux-foundation.org> writes:
> Actually, my patch already had one that you didn't mention:
> 6) CR never shows up alone.
Older Macs ;-)?
> So the patch I sent out basicallyhad the following rules:
> - no more than ~10% of all characters being other than regular printable
> ASCII (where any control character except for newline/cr/tab was deemed
> nonprintable)
> - any "lonely" CR automatically means it's binary, and I would refuse
> to convert that to a LF (the test in the code is that CRLF count must
> match CR count)
> ...
> I think that to help asian languages (or strange text-files in utf8 or
> Latin1 too, for that matter: test-files with _just_ special characters), I
> should probably make the rule be that only the 0-31 range is special.
I would agree. 0-31 except HT, CR, LF and ESC would be a good
idea; that would not harm text in UTF-8, EUC based various
locales nor ISO 2022.
Patch is relative to 'pu'.
-- >8 --
diff --git a/convert.c b/convert.c
index ebcf717..b6b7c66 100644
--- a/convert.c
+++ b/convert.c
@@ -13,7 +13,7 @@ struct text_stat {
unsigned cr, lf, crlf;
/* These are just approximations! */
- unsigned printable, nonprintable, nul;
+ unsigned printable, nonprintable;
};
static void gather_stats(const char *buf, unsigned long size, struct text_stat *stats)
@@ -34,13 +34,11 @@ static void gather_stats(const char *buf, unsigned long size, struct text_stat *
stats->lf++;
continue;
}
- if (c == '\t' || (c >= 32 && c < 127)) {
- stats->printable++;
+ if ((c < 32) && (c != '\t' && c != '\033')) {
+ stats->nonprintable++;
continue;
}
- if (!c)
- stats->nul++;
- stats->nonprintable++;
+ stats->printable++;
}
}
@@ -50,7 +48,7 @@ static void gather_stats(const char *buf, unsigned long size, struct text_stat *
static int is_binary(unsigned long size, struct text_stat *stats)
{
- if (stats->nul)
+ if (stats->nonprintable)
return 1;
/*
* Other heuristics? Average line length might be relevant,
next prev parent reply other threads:[~2007-02-14 16:40 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-11 23:13 mingw, windows, crlf/lf, and git Mark Levedahl
2007-02-11 23:34 ` Johannes Schindelin
2007-02-12 0:46 ` Jakub Narebski
2007-02-12 2:36 ` Mark Levedahl
2007-02-12 11:21 ` Johannes Schindelin
2007-02-12 0:14 ` Robin Rosenberg
2007-02-12 2:37 ` Mark Levedahl
2007-02-12 4:24 ` Theodore Tso
2007-02-12 7:28 ` David Lang
2007-02-12 11:36 ` Johannes Schindelin
2007-02-12 17:20 ` Linus Torvalds
2007-02-12 22:37 ` Johannes Schindelin
2007-02-12 23:02 ` Linus Torvalds
2007-02-12 22:54 ` Junio C Hamano
2007-02-12 23:02 ` Junio C Hamano
2007-02-12 23:09 ` Linus Torvalds
2007-02-12 23:25 ` Linus Torvalds
2007-02-12 23:23 ` David Lang
2007-02-12 23:24 ` Johannes Schindelin
2007-02-12 23:42 ` Junio C Hamano
2007-02-12 23:46 ` David Lang
2007-02-12 23:50 ` Johannes Schindelin
2007-02-13 0:59 ` Mark Levedahl
2007-02-13 1:06 ` Johannes Schindelin
2007-02-13 1:13 ` Shawn O. Pearce
2007-02-13 1:20 ` David Lang
2007-02-13 1:36 ` Mark Levedahl
2007-02-13 5:18 ` Jeff King
2007-02-13 0:32 ` Mark Levedahl
2007-02-13 2:02 ` Junio C Hamano
2007-02-13 3:21 ` Mark Levedahl
2007-02-13 6:05 ` Junio C Hamano
2007-02-13 3:32 ` Alexander Litvinov
2007-02-13 10:06 ` Johannes Schindelin
2007-02-13 12:16 ` Alexander Litvinov
2007-02-13 12:37 ` Johannes Schindelin
2007-02-13 19:36 ` Mark Levedahl
2007-02-13 20:32 ` Linus Torvalds
2007-02-14 1:42 ` Mark Levedahl
2007-02-14 2:16 ` Linus Torvalds
2007-02-13 21:58 ` Robin Rosenberg
2007-02-14 1:18 ` Mark Levedahl
2007-02-13 16:52 ` Linus Torvalds
2007-02-13 17:23 ` Linus Torvalds
2007-02-13 17:23 ` Linus Torvalds
2007-02-13 18:00 ` Junio C Hamano
2007-02-13 19:07 ` Linus Torvalds
2007-02-13 20:42 ` Sam Ravnborg
2007-02-13 21:08 ` Nicolas Pitre
2007-02-13 23:19 ` David Lang
2007-02-13 23:28 ` Linus Torvalds
2007-02-14 8:41 ` Sam Ravnborg
2007-02-14 16:28 ` Linus Torvalds
2007-02-14 16:47 ` Sam Ravnborg
2007-02-14 3:47 ` Alexander Litvinov
2007-02-14 5:16 ` Junio C Hamano
2007-02-14 5:36 ` Linus Torvalds
2007-02-14 11:10 ` Johannes Schindelin
2007-02-14 14:26 ` Mark Levedahl
2007-02-14 15:51 ` Linus Torvalds
2007-02-14 16:39 ` Junio C Hamano [this message]
2007-02-14 17:01 ` Linus Torvalds
2007-02-14 17:29 ` Junio C Hamano
2007-02-14 17:43 ` Linus Torvalds
2007-02-14 15:56 ` Johannes Schindelin
2007-02-14 16:23 ` Linus Torvalds
2007-02-14 17:28 ` Mark Levedahl
2007-02-14 18:17 ` Robin Rosenberg
2007-02-14 18:31 ` Linus Torvalds
2007-02-14 20:24 ` Robin Rosenberg
2007-02-14 15:44 ` Linus Torvalds
2007-02-14 15:53 ` Johannes Schindelin
2007-02-14 11:36 ` Alexander Litvinov
2007-02-14 16:37 ` Linus Torvalds
2007-02-14 17:18 ` Junio C Hamano
2007-02-14 16:16 ` Johannes Sixt
2007-02-14 16:53 ` Linus Torvalds
2007-02-13 18:05 ` Johannes Schindelin
2007-02-13 17:25 ` Nicolas Pitre
2007-02-13 18:04 ` Johannes Schindelin
2007-02-13 18:11 ` Junio C Hamano
2007-02-13 18:39 ` Linus Torvalds
2007-02-13 18:42 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7v64a4snfo.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=litvinov2004@gmail.com \
--cc=mdl123@verizon.net \
--cc=mlevedahl@verizon.net \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.