summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/readline/readline/readline82-009.patch
blob: 1fcf7b3535b4c1262c85c524702b42a2aafb9892 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
			   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