diff options
| author | Jonas Maier <> | 2026-03-07 10:00:29 +0100 |
|---|---|---|
| committer | Jonas Maier <> | 2026-03-07 10:00:29 +0100 |
| commit | 9631f04f81b9f155f85ba1c868f3d7b3bf0d7d69 (patch) | |
| tree | 82b0c1de3595a4d3697f5b826eff6e3e31a5b378 /src/run/builtin.rs | |
| parent | 8d3c8ecd9f750d9dcfc1d49935f078446e767b2a (diff) | |
| download | pish-9631f04f81b9f155f85ba1c868f3d7b3bf0d7d69.tar.gz | |
prevent reload crash
Diffstat (limited to 'src/run/builtin.rs')
| -rw-r--r-- | src/run/builtin.rs | 9 |
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)?; |
