From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Tramp and conversion of \r\n into \n Date: Sat, 07 Aug 2021 18:04:29 -0400 Message-ID: References: <193e76e900f64f01a39893b12cf7c4ff@3ds.com> <871rfw900w.fsf@gmx.de> <87sg8c7i5w.fsf@gmx.de> <4f2b42e36d924f83883e120e601d40f7@3ds.com> <87tuslzrw1.fsf@gmx.de> <7135a39a200c4f8397c8bddb9da8d3fc@3ds.com> <8736014u95.fsf@gmx.de> <3474731f-eada-8185-1a21-f337fd55b38b@thomasross.io> <87k0kzj3wr.fsf@gmx.de> <87a6lvhwpz.fsf@gmx.de> <875ywhicr4.fsf@gmx.de> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34321"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Thomas Ross , yyoncho , APEL Martin , "emacs-devel@gnu.org" To: Michael Albinus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Aug 08 00:05:45 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mCURs-0008hD-4N for ged-emacs-devel@m.gmane-mx.org; Sun, 08 Aug 2021 00:05:44 +0200 Original-Received: from localhost ([::1]:45622 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mCURq-0004xO-Uq for ged-emacs-devel@m.gmane-mx.org; Sat, 07 Aug 2021 18:05:42 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45740) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mCUQo-0002Ev-Pu for emacs-devel@gnu.org; Sat, 07 Aug 2021 18:04:39 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:57445) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mCUQk-0002A5-Q2 for emacs-devel@gnu.org; Sat, 07 Aug 2021 18:04:36 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 0F0A31001F4; Sat, 7 Aug 2021 18:04:32 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id D65DA1000CF; Sat, 7 Aug 2021 18:04:30 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1628373870; bh=h4Q84DiBQR1qbpxaWFcjyea5KGdH9D91qM5+LtrcIds=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=W6SiBo4dwzGMhPU3FxmUDJaaQe1+DjQd6c1F/FdjVEzib1u40mu3y7yPQ78DR/xYj Yg80gV5PEcUY/C8JJFJiyB+IYuofigV6v6aUiK0ZbGV/u9TRUtf89EOhQmpbWgK5FK fm14QD7mbvNNtDlIBiNrFuyWkMVLpGNJoU7H5kefd6B6YZA9rG3Mj1nwmECBQkeSS1 IzCBmODI8bziLY6baKaPSAiDqr/h2XwfqHHkJezHwg2M31RDStfe6dRluHTLp46g7G MWLvADhuNEjkAoiDbZVsoeVT0rPwhdINGMsk7aEe8JYZAUyiaJJkbBx9bcK/f0iM7H u16CYWguJFbUg== Original-Received: from alfajor (unknown [216.154.29.138]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 951561201C9; Sat, 7 Aug 2021 18:04:30 -0400 (EDT) In-Reply-To: <875ywhicr4.fsf@gmx.de> (Michael Albinus's message of "Sat, 07 Aug 2021 15:51:43 +0200") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:272180 Archived-At: Michael Albinus [2021-08-07 15:51:43] wrote: > In general, a remote shell is opened, and the command is executed > there. So we have a tty. > > An exception are the "direct async processes", introduced in Tramp > 2.5. They call the command directly, w/o a remote shell. But they have > their limitations. Ah, right , that makes sense. I guess if we wanted to more faithfully simulate a pipe, we'd have to send the process input via something like a base64 decoder and get the output via a base64 encoder: this way not only stdin/stdout is a pipe but we can protect ourselves from the way ttys can mess with some bytes (as seen in this thread) and also overcome some of the limits of some ttys when sending "large" amounts of data at a time (IIRC on some systems this can either freeze the tty or the tty may insert extra chars like ^A or some such; my memory says the macOS kernel was such a culprits some years ago). The cure way be worse than the disease, tho. Stefan