From 709195fea6a082e3512c14fe16c4f9ea2f99824c Mon Sep 17 00:00:00 2001 From: Po Lu Date: Fri, 4 Aug 2023 08:32:05 +0800 Subject: [PATCH] Avoid encoding commonplace characters in tree names * java/org/gnu/emacs/EmacsService.java (getDocumentTrees): Don't encode some characters that need not be escaped within file names. --- java/org/gnu/emacs/EmacsService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/org/gnu/emacs/EmacsService.java b/java/org/gnu/emacs/EmacsService.java index a3dea368272..036bc9cf098 100644 --- a/java/org/gnu/emacs/EmacsService.java +++ b/java/org/gnu/emacs/EmacsService.java @@ -1294,8 +1294,12 @@ public final class EmacsService extends Service if (DocumentsContract.isTreeUri (uri) && uri.getAuthority ().equals (providerName) && permission.isReadPermission ()) - /* Make sure the tree document ID is encoded. */ - treeList.add (Uri.encode (DocumentsContract.getTreeDocumentId (uri))); + /* Make sure the tree document ID is encoded. Refrain from + encoding characters such as +:&?#, since they don't + conflict with file name separators or other special + characters. */ + treeList.add (Uri.encode (DocumentsContract.getTreeDocumentId (uri), + " +:&?#")); } return treeList.toArray (new String[0]); -- 2.39.2