Browse Source

git-gui: Don't use '$$cr master' with aspell earlier than 0.60

Apparently aspell 0.50 does not recognize "$$cr master" as a command,
but instead tries to offer suggestions for how to correctly spell
the word "cr".  This is not quite what we are after when we want
the name of the current dictionary.

Instead of locking up git-gui waiting for a response that may never
come back from aspell we avoid sending this command if the binary
we have started claims to be before version 0.60.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
maint
Shawn O. Pearce 17 years ago
parent
commit
ddc3603145
  1. 14
      lib/spellcheck.tcl

14
lib/spellcheck.tcl

@ -84,13 +84,19 @@ method _connect {pipe_fd} { @@ -84,13 +84,19 @@ method _connect {pipe_fd} {
regexp \
{International Ispell Version .* \(but really (Aspell .*?)\)$} \
$s_version _junk s_version
regexp {^Aspell (\d)+\.(\d+)} $s_version _junk major minor

puts $pipe_fd ! ; # enable terse mode
puts $pipe_fd {$$cr master} ; # fetch the language
flush $pipe_fd

gets $pipe_fd s_lang
regexp {[/\\]([^/\\]+)\.[^\.]+$} $s_lang _ s_lang
# fetch the language
if {$major > 0 || ($major == 0 && $minor >= 60)} {
puts $pipe_fd {$$cr master}
flush $pipe_fd
gets $pipe_fd s_lang
regexp {[/\\]([^/\\]+)\.[^\.]+$} $s_lang _ s_lang
} else {
set s_lang {}
}

if {$::default_config(gui.spellingdictionary) eq {}
&& [get_config gui.spellingdictionary] eq {}} {

Loading…
Cancel
Save