]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid encoding commonplace characters in tree names
authorPo Lu <luangruo@yahoo.com>
Fri, 4 Aug 2023 00:32:05 +0000 (08:32 +0800)
committerPo Lu <luangruo@yahoo.com>
Fri, 4 Aug 2023 00:32:05 +0000 (08:32 +0800)
* 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

index a3dea36827256bd19723c2062a3c54f92c9bb824..036bc9cf098d75c426d7274e09efec8037f5fab3 100644 (file)
@@ -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]);