git-gui: Make Ctrl-T safe to use for conflicting files.
[gitweb.git] / lib / spellcheck.tcl
index 05a1ceb85b355fe77efd644ff2da79d91c46d3b2..a479b2f2857751d4d573c7bfe00f9e671d437aed 100644 (file)
@@ -70,23 +70,33 @@ method _connect {pipe_fd} {
                                        [mc "Reverting dictionary to %s." $s_lang]]
                        }
                } else {
-                       error_popup [mc "Spell checker sliently failed on startup"]
+                       error_popup [mc "Spell checker silently failed on startup"]
                }
                return
        }
+
        if {{@(#) } ne [string range $s_version 0 4]} {
                catch {close $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 {}} {