| READLINE PATCH REPORT |
| ===================== |
| |
| Readline-Release: 8.2 |
| Patch-ID: readline82-009 |
| |
| Bug-Reported-by: Stefan H. Holek <stefan@epy.co.at> |
| 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'): |
| |
| Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/] |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| |
| *** ../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 |