READLINE PATCH REPORT ===================== Readline-Release: 8.2 Patch-ID: readline82-009 Bug-Reported-by: Stefan H. Holek Bug-Reference-ID: <50F8DA45-B7F3-4DE1-AB94-19AE42649CDC@epy.co.at> Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2022-10/msg00021.html Bug-Description: Fix issue where the directory name portion of the word to be completed (the part that is passed to opendir()) requires both tilde expansion and dequoting. Readline only performed tilde expansion in this case, so filename completion would fail. Patch (apply with `patch -p0'): *** ../readline-8.2-patched/complete.c 2022-04-05 10:47:06.000000000 -0400 --- complete.c 2022-10-26 15:08:51.000000000 -0400 *************** *** 2527,2531 **** xfree (dirname); dirname = temp; ! tilde_dirname = 1; } --- 2527,2532 ---- xfree (dirname); dirname = temp; ! if (*dirname != '~') ! tilde_dirname = 1; /* indicate successful tilde expansion */ } *************** *** 2546,2554 **** users_dirname = savestring (dirname); } ! else if (tilde_dirname == 0 && rl_completion_found_quote && rl_filename_dequoting_function) { ! /* delete single and double quotes */ xfree (dirname); ! dirname = savestring (users_dirname); } directory = opendir (dirname); --- 2547,2560 ---- users_dirname = savestring (dirname); } ! else if (rl_completion_found_quote && rl_filename_dequoting_function) { ! /* We already ran users_dirname through the dequoting function. ! If tilde_dirname == 1, we successfully performed tilde expansion ! on dirname. Now we need to reconcile those results. We either ! just copy the already-dequoted users_dirname or tilde expand it ! if we tilde-expanded dirname. */ ! temp = tilde_dirname ? tilde_expand (users_dirname) : savestring (users_dirname); xfree (dirname); ! dirname = temp; } directory = opendir (dirname); *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 --- patchlevel 2014-03-21 08:28:40.000000000 -0400 *************** *** 1,3 **** # Do not edit -- exists only for use by patch ! 8 --- 1,3 ---- # Do not edit -- exists only for use by patch ! 9