bug-readline
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Readline-8.2 patch 9


From: Chet Ramey
Subject: Readline-8.2 patch 9
Date: Sun, 14 Jan 2024 15:40:24 -0500

                           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'):

*** ../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

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    chet@case.edu    http://tiswww.cwru.edu/~chet/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]