From 8418224f32f4dda85019cae063370c18bbd2d036 Mon Sep 17 00:00:00 2001
From: Chet Ramey <chet.ramey@case.edu>
Date: Tue, 25 Jul 2023 10:18:35 -0400
Subject: [PATCH] changes for quoting special and multibyte characters in glob
 patterns; changes to filename unicode normalization on macOS for globbing and
 filename completion; send SIGCONT unconditionally to just-restarted job in
 fg/bg

Conflict:partial round, only added function bashline_set_filename_hooks for this round
Reference:https://git.savannah.gnu.org/cgit/bash.git/commit/?id=8418224f32f4dda85019cae063370c18bbd2d036
---
 bashline.c | 13 +++++++++++++
 bashline.h |  1 +
 2 files changed, 14 insertions(+)

diff --git a/bashline.c b/bashline.c
index a0e9044..4799de2 100644
--- a/bashline.c
+++ b/bashline.c
@@ -3257,6 +3257,19 @@ restore_directory_hook (hookf)
     rl_directory_rewrite_hook = hookf;
 }
 
+/* Set the readline hooks that affect how directories and filenames are
+   converted. Extern so other parts of the shell can use. */
+void
+bashline_set_filename_hooks (void)
+{
+  /* Tell the completer that we might want to follow symbolic links or
+     do other expansion on directory names. */
+  set_directory_hook ();
+
+  rl_filename_rewrite_hook = bash_filename_rewrite_hook;
+  rl_filename_stat_hook = bash_filename_stat_hook;
+}
+
 /* Check whether not DIRNAME, with any trailing slash removed, exists.  If
    SHOULD_DEQUOTE is non-zero, we dequote the directory name first. */
 static int
diff --git a/bashline.h b/bashline.h
index 48c9fec..7dfa913 100644
--- a/bashline.h
+++ b/bashline.h
@@ -53,6 +53,7 @@ extern int unbind_unix_command PARAMS((char *));
 
 extern char **bash_default_completion PARAMS((const char *, int, int, int, int));
 
+extern void bashline_set_filename_hooks (void);
 void set_directory_hook PARAMS((void));
 
 /* Used by programmable completion code. */
-- 
2.33.0

