python/rapidfuzz: update to 3.11.0
[oi-userland.git] / components / shell / bash / patches / bash52-037.patch
blob99c9bede4b674c583bb3b80fb7bb65b5ed6e5bfd
1 BASH PATCH REPORT
2 =================
4 Bash-Release: 5.2
5 Patch-ID: bash52-037
7 Bug-Reported-by: Martin Castillo <castilma@uni-bremen.de>
8 Bug-Reference-ID: <2d42153b-cf65-caba-dff1-cd3bc6268c7e@uni-bremen.de>
9 Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2023-01/msg00000.html
11 Bug-Description:
13 Fix the case where text to be completed from the line buffer (quoted) is
14 compared to the common prefix of the possible matches (unquoted) and the
15 quoting makes the former appear to be longer than the latter. Readline
16 assumes the match doesn't add any characters to the word and doesn't display
17 multiple matches.
19 Patch (apply with `patch -p0'):
21 *** ../bash-5.2-patched/lib/readline/complete.c Tue Apr 5 10:47:06 2022
22 --- lib/readline/complete.c Sat Jan 7 14:19:45 2023
23 ***************
24 *** 2032,2038 ****
25 text = rl_copy_text (start, end);
26 matches = gen_completion_matches (text, start, end, our_func, found_quote, quote_char);
27 /* nontrivial_lcd is set if the common prefix adds something to the word
28 being completed. */
29 ! nontrivial_lcd = matches && compare_match (text, matches[0]) != 0;
30 if (what_to_do == '!' || what_to_do == '@')
31 tlen = strlen (text);
32 --- 2038,2060 ----
33 text = rl_copy_text (start, end);
34 matches = gen_completion_matches (text, start, end, our_func, found_quote, quote_char);
35 + /* If TEXT contains quote characters, it will be dequoted as part of
36 + generating the matches, and the matches will not contain any quote
37 + characters. We need to dequote TEXT before performing the comparison.
38 + Since compare_match performs the dequoting, and we only want to do it
39 + once, we don't call compare_matches after dequoting TEXT; we call
40 + strcmp directly. */
41 /* nontrivial_lcd is set if the common prefix adds something to the word
42 being completed. */
43 ! if (rl_filename_completion_desired && rl_filename_quoting_desired &&
44 ! rl_completion_found_quote && rl_filename_dequoting_function)
45 ! {
46 ! char *t;
47 ! t = (*rl_filename_dequoting_function) (text, rl_completion_quote_character);
48 ! xfree (text);
49 ! text = t;
50 ! nontrivial_lcd = matches && strcmp (text, matches[0]) != 0;
51 ! }
52 ! else
53 ! nontrivial_lcd = matches && strcmp (text, matches[0]) != 0;
54 if (what_to_do == '!' || what_to_do == '@')
55 tlen = strlen (text);
57 *** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400
58 --- patchlevel.h 2020-10-01 11:01:28.000000000 -0400
59 ***************
60 *** 26,30 ****
61 looks for to find the patch level (for the sccs version string). */
63 ! #define PATCHLEVEL 36
65 #endif /* _PATCHLEVEL_H_ */
66 --- 26,30 ----
67 looks for to find the patch level (for the sccs version string). */
69 ! #define PATCHLEVEL 37
71 #endif /* _PATCHLEVEL_H_ */