Repository: clap-rs/clap (language: rust)

Issue:
Bash outputs everything as one completion, rather than a list of completions
This is with `clap_complete` 4.5.26, reproduced with `cargo` and the `exhaustive` example

I put the following in my `PATH`:
```bash
#!/usr/bin/env bash

cargo run --manifest-path ~/src/personal/clap/clap_complete/Cargo.toml --example exhaustive -F unstable-dynamic -- "$@" 2> /dev/null
```
I then ran
```console
$ source <(COMPLETE=bash exhaustive)
$ exhaustive [TAB]
--generate
--help
--version
-h
-V
action
alias
help
hint
last
pacman
quote
value [CURSOR]
```
If I hit `[ENTER]`, it runs each of those values *as a command*


Discussion / hints:
CC @shannmu 

Fix patch:
diff --git a/clap_complete/src/env/shells.rs b/clap_complete/src/env/shells.rs
index eb2cb10a080..1b71c8dd0ee 100644
--- a/clap_complete/src/env/shells.rs
+++ b/clap_complete/src/env/shells.rs
@@ -40,7 +40,7 @@ _clap_complete_NAME() {
         local _CLAP_COMPLETE_SPACE=true
     fi
     COMPREPLY=( $( \
-        IFS="$IFS" \
+        _CLAP_IFS="$IFS" \
         _CLAP_COMPLETE_INDEX="$_CLAP_COMPLETE_INDEX" \
         _CLAP_COMPLETE_COMP_TYPE="$_CLAP_COMPLETE_COMP_TYPE" \
         VAR="bash" \
@@ -85,7 +85,7 @@ fi
         let _space: Option<bool> = std::env::var("_CLAP_COMPLETE_SPACE")
             .ok()
             .and_then(|i| i.parse().ok());
-        let ifs: Option<String> = std::env::var("IFS").ok().and_then(|i| i.parse().ok());
+        let ifs: Option<String> = std::env::var("_CLAP_IFS").ok().and_then(|i| i.parse().ok());
         let completions = crate::engine::complete(cmd, args, index, current_dir)?;
 
         for (i, candidate) in completions.iter().enumerate() {


Test patch:
diff --git a/clap_complete/tests/snapshots/home/dynamic-env/exhaustive/bash/.bashrc b/clap_complete/tests/snapshots/home/dynamic-env/exhaustive/bash/.bashrc
index ffc7e7907bb..c07acde95fc 100644
--- a/clap_complete/tests/snapshots/home/dynamic-env/exhaustive/bash/.bashrc
+++ b/clap_complete/tests/snapshots/home/dynamic-env/exhaustive/bash/.bashrc
@@ -11,7 +11,7 @@ _clap_complete_exhaustive() {
         local _CLAP_COMPLETE_SPACE=true
     fi
     COMPREPLY=( $( \
-        IFS="$IFS" \
+        _CLAP_IFS="$IFS" \
         _CLAP_COMPLETE_INDEX="$_CLAP_COMPLETE_INDEX" \
         _CLAP_COMPLETE_COMP_TYPE="$_CLAP_COMPLETE_COMP_TYPE" \
         COMPLETE="bash" \