X-Spam-Check-By: sourceware.org Message-ID: <45BEF11A.2030201@x-ray.at> Date: Tue, 30 Jan 2007 08:17:46 +0100 From: Reini Urban User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.8.1.2pre) Gecko/20070111 SeaMonkey/1.1 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Compile-time detection of EOL translation mode (CLISP) References: <001b01c73033$ee617c20$0708090a AT CAM DOT ARTIMI DOT COM> <6910a60701090934iff9bd94h3157e3b7d09bb31b AT mail DOT gmail DOT com> <6910a60701111339g28b22ae7y30077e33709c739e AT mail DOT gmail DOT com> <45BBD6F9 DOT 3010704 AT x-ray DOT at> In-Reply-To: <45BBD6F9.3010704@x-ray.at> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Reini Urban schrieb: > Aaron Brown schrieb: >> Reini Urban wrote: >> >>> Confirmed. >>> Bug patched at >>> http://sourceforge.net/tracker/index.php?func=detail&aid=1633552&group_id=1355&atid=101355 >>> >> >> It's been moved to with the >> following comment from Sam Steingold: >> >>> This patch does not seem right. >>> on linux O_BINARY==0 and I see no reason to default line >>> termination to :DOS there. >>> I am rejecting it pending your convincing me that I am >>> wrong here. >> >> To be honest, it didn't seem quite right to me either, but I >> figured that was down to me not knowing the ins and outs of >> how Cygwin handles text modes. >> >> The original logic was: >> >>> #if defined(WIN32) || (defined(UNIX) && (O_BINARY != 0)) >>> pushSTACK(S(Kdos)); /* :line-terminator */ >>> #else >>> pushSTACK(S(Kunix)); /* :line-terminator */ >> >> which translates to "if O_BINARY is something other than 0, >> then this unix must differentiate between text and binary >> streams, so assume that text streams use dos EOLs". That >> makes sense, except that O_BINARY is nonzero even on (for >> instance) my Cygwin installation, where I selected unix EOLs >> as the default with setup.exe. >> >> The patch changes the condition to: >> >>> #if defined(WIN32) || (defined(UNIX) && (O_BINARY == 0)) >> >> which, as Sam pointed out, would make most unixes (on which >> O_BINARY is 0) use dos EOLs. > > I tought the UNIX O_BINARY logic was only for CYGWIN and wondered what > other UNIX that could be. > Ok, so we'll have to use > #if defined(WIN32) || \ > (defined(UNIX) && (O_BINARY != 0) && !defined(__CYGWIN__)) > > or make the call slower by doing a dynamic textmount check. > But I really don't want to do that. This issue was solved here https://sourceforge.net/tracker/?func=detail&atid=301355&aid=1633552&group_id=1355 by adding a documentation chapter to clisp's next version: http://clisp.podval.org/impnotes/encoding.html#line-term-default See also: http://clisp.cons.org/impnotes/clhs-newline.html http://www.unicode.org/reports/tr13/tr13-9.html The original problem is best solved by a (setq *default-file-encoding* :unix) in ~/.clisprc.lisp -- Reini Urban http://phpwiki.org/ http://murbreak.at/ http://helsinki.at/ http://spacemovie.mur.at/ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/