From 48f36784a808857af9b6450263c1454195433aaf Mon Sep 17 00:00:00 2001
From: Bart Schaefer <schaefer@zsh.org>
Date: Fri, 9 Dec 2022 19:21:45 -0800
Subject: [PATCH] 51047: fix quoting of completion matches when
 _canonical_paths -N option is used

---
 ChangeLog                             | 7 ++++++-
 Completion/Unix/Type/_canonical_paths | 3 ++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 77dfc0377..f65712ccf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2022-12-09  Bart Schaefer  <schaefer@zsh.org>
+
+	* 51047: Completion/Unix/Type/_canonical_paths: fix quoting
+	of completion matches when _canonical_paths -N option is used
+
 2022-12-09  Daniel Shahaf  <d.s@daniel.shahaf.name>
 
 	* 51144, 51146:
@@ -187,7 +192,7 @@
 	* 50418: Src/zsh_system.h, configure.ac: use setenv(3)/getenv(3)
 	on newer macOS
 
-2022-07-16  Bart Schaefer  <schaefer@Macadamia>
+2022-07-16  Bart Schaefer  <schaefer@zsh.org>
 
 	* users/27852: Completion/Unix/Command/_python: Make a local copy
 	of $_compskip to avoid propagating outward any changes by _normal
diff --git a/Completion/Unix/Type/_canonical_paths b/Completion/Unix/Type/_canonical_paths
index a8fbbb524..1444bc165 100644
--- a/Completion/Unix/Type/_canonical_paths
+++ b/Completion/Unix/Type/_canonical_paths
@@ -42,7 +42,8 @@ _canonical_paths_add_paths () {
     # ### Ideally, this codepath would do what the 'if' above does,
     # ### but telling compadd to pretend the "word on the command line"
     # ### is ${"the word on the command line"/$origpref/$canpref}.
-    matches+=(${${(M)files:#$canpref*}/$canpref/$origpref})
+    # ### The following approximates that.
+    matches+=(${(q)${(M)files:#$canpref*}/$canpref/$origpref})
   fi
 
   for subdir in $expref?*(@); do