fix: Windows core build, embedded init, byte-exact paths, version info
Closes the remaining core/lib/termio/GTK rows (final-Z2.md): - ghostty-core compiles for Windows (Unix-only exec fields and file modes gated); checked with cargo check --target x86_64-pc-windows-gnu. - Embedded init: ensure_locale, SIGPIPE ignored in ghostty_init for C/Swift hosts, Apple crash tags; the argv passed to ghostty_init feeds ghostty_config_load_cli_args; ghostty_config_load_file accepts non-UTF-8 paths. - OSC 7 pwd, embedded surface cwd/command/env/initial input, ghostty_surface_text and GTK file drops keep raw bytes. - XTVERSION, TERM_PROGRAM_VERSION, the About dialog and crash metadata use ghostty_build_info instead of hardcoded versions. Test Plan: - cargo test --workspace (3327 passed) - cargo clippy --workspace --all-targets -- -D warnings
This commit is contained in:
1 parent
8519f1ba1b
commit
ebefad5031
30 files changed
+863
-80
No files matched your search
@@ -114,6 +114,24 @@ fn pwd_osc7() {
|
||||
assert_eq!(h.surface.pwd().as_deref(), Some("/tmp/a b"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pwd_osc7_keeps_non_utf8_bytes() {
|
||||
let h = harness!(Harness::recorder(
|
||||
r"\033]7;file://localhost/tmp/a%%FFb\033\\",
|
||||
&[]
|
||||
));
|
||||
let pwd = h.wait_action("pwd", |a| match a {
|
||||
Action::Pwd(p) if !p.pwd.is_empty() => Some(p.pwd.clone()),
|
||||
_ => None,
|
||||
});
|
||||
assert_eq!(
|
||||
ghostty_os::osbytes::config_str_to_bytes(&pwd),
|
||||
b"/tmp/a\xffb"
|
||||
);
|
||||
assert_eq!(h.surface.pwd_bytes().as_deref(), Some(&b"/tmp/a\xffb"[..]));
|
||||
assert_eq!(h.surface.pwd().as_deref(), Some(pwd.as_str()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn bell_rings_once_per_burst() {
|
||||
let h = harness!(Harness::recorder(r"\007", &[]));
|
||||
|
||||
Reference in new issue
Block a user