emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/comint-mime 080921d967 2/2: Handle file URIs correctly


From: ELPA Syncer
Subject: [elpa] externals/comint-mime 080921d967 2/2: Handle file URIs correctly on Windows
Date: Sun, 14 Aug 2022 05:57:22 -0400 (EDT)

branch: externals/comint-mime
commit 080921d96725564b3b85904d60596bebd8f49533
Author: Augusto Stoffel <arstoffel@gmail.com>
Commit: Augusto Stoffel <arstoffel@gmail.com>

    Handle file URIs correctly on Windows
    
    Closes #15.
---
 comint-mime.el | 8 ++++++--
 comint-mime.py | 3 ++-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/comint-mime.el b/comint-mime.el
index 7d43004272..7289d10324 100644
--- a/comint-mime.el
+++ b/comint-mime.el
@@ -49,6 +49,7 @@
 (require 'svg)
 (require 'text-property-search)
 (require 'url-parse)
+(eval-when-compile (require 'subr-x))
 
 (defvar comint-mime-enabled-types 'all
   "MIME types which the inferior process may send to Emacs.
@@ -97,8 +98,11 @@ This function is intended to be used as an entry of
          (data (if (string-match "\\(tmp\\)?file:" payload)
                    (let* ((tmp (match-beginning 1))
                           (url (url-generic-parse-url payload))
-                          (file (concat (file-remote-p default-directory)
-                                        (url-filename url))))
+                          (remote (file-remote-p default-directory))
+                          (file (cond (remote (concat remote (url-filename 
url)))
+                                      ((eq system-type 'windows-nt)
+                                       (string-remove-prefix "/" (url-filename 
url)))
+                                      (t (url-filename url)))))
                      (with-temp-buffer
                        (set-buffer-multibyte nil)
                        (insert-file-contents-literally file)
diff --git a/comint-mime.py b/comint-mime.py
index c70593f919..d55698c611 100644
--- a/comint-mime.py
+++ b/comint-mime.py
@@ -11,6 +11,7 @@ def __COMINT_MIME_setup(types):
     from base64 import encodebytes
     from functools import partial
     from json import dumps as to_json
+    from pathlib import Path
 
     def encoding_workaround(data):
         if isinstance(data, str):
@@ -42,7 +43,7 @@ def __COMINT_MIME_setup(types):
             from tempfile import mkstemp
             fdesc, fname = mkstemp()
             with open(fdesc, "wb") as f: f.write(data)
-            payload = "tmpfile://" + fname
+            payload = "tmp" + Path(fname).as_uri()
         else:
             payload = encodebytes(data).decode()
         print(f"\033]5151;{header}\n{payload}\033\\")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]