diff options
Diffstat (limited to 'git-gui/lib/spellcheck.tcl')
-rw-r--r-- | git-gui/lib/spellcheck.tcl | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/git-gui/lib/spellcheck.tcl b/git-gui/lib/spellcheck.tcl index 9be748683c..e6120303e9 100644 --- a/git-gui/lib/spellcheck.tcl +++ b/git-gui/lib/spellcheck.tcl @@ -80,17 +80,23 @@ method _connect {pipe_fd} { error_popup [strcat [mc "Unrecognized spell checker"] ":\n\n$s_version"] return } - set s_version [string range $s_version 5 end] + set s_version [string range [string trim $s_version] 5 end] 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 {}} { @@ -308,6 +314,7 @@ method _run {} { method _read {} { while {[gets $s_fd line] >= 0} { set lineno [lindex $s_pending 0 0] + set line [string trim $line] if {$s_clear} { $w_text tag remove misspelled "$lineno.0" "$lineno.end" |