Mercurial > mxe-octave
view src/readline-0-009-fix-issue-where-directory-name-.patch @ 7186:19a46de50b18 default tip @
* src/jasper.mk: update to v4.2.4
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Thu, 02 May 2024 09:22:30 -0400 |
parents | 142471155843 |
children |
line wrap: on
line source
From 3853739c28a9777d30ff65e8448e8f1a2898f3f2 Mon Sep 17 00:00:00 2001 From: Chet Ramey <chet.ramey@case.edu> Date: Sun, 14 Jan 2024 15:20:44 -0500 Subject: [PATCH 09/10] Readline-8.2 patch 9: fix issue where directory name being completed needs both tilde expansion and dequoting --- complete.c | 14 ++++++++++---- patchlevel | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/complete.c b/complete.c index e5d224e..c9e0098 100644 --- a/complete.c +++ b/complete.c @@ -2526,7 +2526,8 @@ rl_filename_completion_function (const char *text, int state) temp = tilde_expand (dirname); xfree (dirname); dirname = temp; - tilde_dirname = 1; + if (*dirname != '~') + tilde_dirname = 1; /* indicate successful tilde expansion */ } /* We have saved the possibly-dequoted version of the directory name @@ -2545,11 +2546,16 @@ rl_filename_completion_function (const char *text, int state) xfree (users_dirname); users_dirname = savestring (dirname); } - else if (tilde_dirname == 0 && rl_completion_found_quote && rl_filename_dequoting_function) + else if (rl_completion_found_quote && rl_filename_dequoting_function) { - /* delete single and double quotes */ + /* 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 = savestring (users_dirname); + dirname = temp; } directory = opendir (dirname); diff --git a/patchlevel b/patchlevel index 6c10f12..c0ac809 100644 --- a/patchlevel +++ b/patchlevel @@ -1,3 +1,3 @@ # Do not edit -- exists only for use by patch -8 +9 -- 2.38.0.windows.1