Properly detect content files in Doc View

* lisp/doc-view.el (doc-view-mode): Detect if file name starts
with /content or /assets, and don't regard it as available to
subprocesses in that case.
This commit is contained in:
Po Lu 2023-09-08 16:12:12 +08:00
parent 46249f6139
commit 237cadf246

View file

@ -2238,8 +2238,15 @@ toggle between displaying the document or editing it as text.
;; supposed to return nil for things like local files accessed
;; via `su' or via file://...
((let ((file-name-handler-alist nil))
(not (and buffer-file-name
(file-readable-p buffer-file-name))))
(or (not (and buffer-file-name
(file-readable-p buffer-file-name)))
;; If the system is Android and the file name
;; begins with /content or /assets, it's not
;; readable by local processes.
(and (eq system-type 'android)
(string-match-p "/\\(content\\|assets\\)[/$]"
(expand-file-name
buffer-file-name)))))
;; FIXME: there's a risk of name conflicts here.
(expand-file-name
(if buffer-file-name