aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJonas Maier <>2026-03-07 10:00:29 +0100
committerJonas Maier <>2026-03-07 10:00:29 +0100
commit9631f04f81b9f155f85ba1c868f3d7b3bf0d7d69 (patch)
tree82b0c1de3595a4d3697f5b826eff6e3e31a5b378 /src
parent8d3c8ecd9f750d9dcfc1d49935f078446e767b2a (diff)
downloadpish-9631f04f81b9f155f85ba1c868f3d7b3bf0d7d69.tar.gz
prevent reload crash
Diffstat (limited to 'src')
-rw-r--r--src/run/builtin.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/run/builtin.rs b/src/run/builtin.rs
index 5bf7133..c71f10f 100644
--- a/src/run/builtin.rs
+++ b/src/run/builtin.rs
@@ -75,10 +75,9 @@ impl Builtin for re {
_stdin: &mut dyn Read,
_stdout: &mut dyn Write,
) -> Result {
- let session = session.lock().unwrap();
- session.raw.disable();
+ session.lock().unwrap().raw.disable();
crate::reload::begin_reload();
- session.raw.enable(); // something went wrong, let's restore raw mode
+ session.lock().unwrap().raw.enable(); // something went wrong, let's restore raw mode
Ok(())
}
}
@@ -189,7 +188,9 @@ impl Builtin for builtins {
_stdin: &mut dyn Read,
stdout: &mut dyn Write,
) -> Result {
- for b in super::BUILTINS {
+ let mut bs = super::BUILTINS.to_vec();
+ bs.sort_by_key(|b| b.name());
+ for b in bs.into_iter() {
write!(stdout, "{} ", b.name())?;
}
writeln!(stdout)?;