X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:mime-version :content-type:content-transfer-encoding; q=dns; s=default; b=p5E JFr4Bh6bjuoZJteGQg0IKNXKisp3vxMK1zkL8d0FfGV/Gc/zpKUIKAEsv9rJ1XUG JiA60dXuYpkN5B9ZEk8PqFJ9+DB5uWjyjJoQoNTtN1/gbBRiRjZ/ex7KBymSUaQJ EcQxMTMLBu7pLf+l+ZRsGiz8+WfE3bDvAthBsnGs= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:mime-version :content-type:content-transfer-encoding; s=default; bh=ksxuKkSaX oiVB6TWJGWoBRTtHRQ=; b=bfsCMt/E5nihktoJ/ocmRZwy9bAjbQ7KRaO3nkELZ kfP7hKNM7c0M6kakJN8ykabpNfogXEtPBUfU90eN3W6uxadiTquJ/yHQG/epp7/i h9nUiOzNmy7IbxjrFSE9P3EDVYycTIcrTNpDfEFvbdXfy+l68bVQbC3LdvhlCkQg wk= 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 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-0.2 required=5.0 tests=AWL,BAYES_50,HTML_MESSAGE autolearn=ham version=3.3.1 spammy=ancient, chairperson, 10-12, Chairperson X-HELO: mga18.intel.com From: "Soegtrop, Michael" To: "cygwin AT cygwin DOT com" Subject: Interest in Emacs patched to handle Windows paths? Date: Fri, 26 Jul 2019 17:11:57 +0000 Message-ID: <0F7D3B1B3C4B894D824F5B822E3E5A178FDB3DF2@IRSMSX102.ger.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-IsSubscribed: yes Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id x6QHCbgp020714 Dear Cygwin Team and Users, In May I modified Emacs for Cygwin so that it can truly handle Windows paths. I do a lot of MinGW cross compilation on Windows and want to seamlessly use tools like debuggers compiled for MinGW in Cygwin Emacs, so I need this. I also tried the Windows Emacs distrubution, but it didn't find it very convincing, because it comes with yet another Posix layer for Windows, and a rather heavy one. Cygwin Emacs is a substantially more elegant solution. One can find some emacs lisp packages to help with this, but they all rely on path translation, so an open works but the path Emacs uses internally is the Cygwin path then. This is in many cases not good enough. I found that I have to modify the core C file handling file (src/fileio.c) to make it really work. I wanted to ask if there is general interest in this. If so I would like to publish this work. But to do so I would need some advice on how to do this. The path handling code of Emacs is localized (src/fileio.c) but quite obscure and I would even call it messy so it requires quite a few changes and it is hard to tell if my changes to support Posix and Windows paths in one build don't break compatibility with some ancient operating systems. For this reason it might be hard to get these changes into Emacs upstream, so that this would just be a compile time option. The alternatives would be to have a separate package in Cygwin which applies a patch to emacs, say an emacs-winpath package I could maintain. Of cause I would try to get it upstream to reduce maintenance effort, but as I said, it might get tricky because I don't have access to a computer museum to test Emacs on all platforms it supports. Please let me know your thoughts on this. Best regards, Michael Intel Deutschland GmbH Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Christin Eisenschmid, Gary Kershaw Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928 -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple