[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\\")