]> asedeno.scripts.mit.edu Git - git.git/commitdiff
Merge branch 'master' of git://repo.or.cz/git-gui
authorJunio C Hamano <gitster@pobox.com>
Sat, 1 Mar 2008 05:22:52 +0000 (21:22 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sat, 1 Mar 2008 05:22:52 +0000 (21:22 -0800)
* 'master' of git://repo.or.cz/git-gui:
  git-gui: fix typo in lib/spellcheck.tcl
  git-gui: Shorten Aspell version strings to just Aspell version number
  git-gui: Gracefully display non-aspell version errors to users
  git-gui: Catch and display aspell startup failures to the user
  git-gui: Only bind the spellcheck popup suggestion hook once
  git-gui: Remove explicit references to 'aspell' in message strings
  git-gui: Ensure all spellchecker 'class' variables are initialized
  git-gui: Update German translation.
  git-gui: (i18n) Add newly added translation strings to template.

1  2 
git-gui/lib/about.tcl
git-gui/lib/spellcheck.tcl
git-gui/po/de.po
git-gui/po/git-gui.pot
git-gui/po/glossary/de.po

diff --combined git-gui/lib/about.tcl
index 47be8eb97ab79188bba8dca18f3784327302ba9a,241ab892cd5b731f07571acf7a0ca3150a763f4f..241ab892cd5b731f07571acf7a0ca3150a763f4f
@@@ -41,7 -41,8 +41,8 @@@ proc do_about {} 
                append v "Tcl version $tcl_patchLevel"
                append v ", Tk version $tk_patchLevel"
        }
-       if {[info exists ui_comm_spell]} {
+       if {[info exists ui_comm_spell]
+               && [$ui_comm_spell version] ne {}} {
                append v "\n"
                append v [$ui_comm_spell version]
        }
index 7f018e4009dd17941d93bc9146fee7e3a2e07f0e,9be748683ce101821a91bf9461ccadfd58c8adf1..9be748683ce101821a91bf9461ccadfd58c8adf1
@@@ -1,27 -1,31 +1,31 @@@
- # git-gui spellchecking support through aspell
+ # git-gui spellchecking support through ispell/aspell
  # Copyright (C) 2008 Shawn Pearce
  
  class spellcheck {
  
- field s_fd     {} ; # pipe to aspell
- field s_version   ; # aspell version string
- field s_lang      ; # current language code
+ field s_fd      {} ; # pipe to ispell/aspell
+ field s_version {} ; # ispell/aspell version string
+ field s_lang    {} ; # current language code
+ field s_prog aspell; # are we actually old ispell?
+ field s_failed   0 ; # is $s_prog bogus and not working?
  
  field w_text      ; # text widget we are spelling
  field w_menu      ; # context menu for the widget
  field s_menuidx 0 ; # last index of insertion into $w_menu
  
- field s_i              ; # timer registration for _run callbacks
+ field s_i           {} ; # timer registration for _run callbacks
  field s_clear        0 ; # did we erase mispelled tags yet?
  field s_seen    [list] ; # lines last seen from $w_text in _run
  field s_checked [list] ; # lines already checked
- field s_pending [list] ; # [$line $data] sent to aspell
+ field s_pending [list] ; # [$line $data] sent to ispell/aspell
  field s_suggest        ; # array, list of suggestions, keyed by misspelling
  
  constructor init {pipe_fd ui_text ui_menu} {
        set w_text $ui_text
        set w_menu $ui_menu
+       array unset s_suggest
  
+       bind_button3 $w_text [cb _popup_suggest %X %Y @%x,%y]
        _connect $this $pipe_fd
        return $this
  }
@@@ -33,14 -37,53 +37,53 @@@ method _connect {pipe_fd} 
                -translation lf
  
        if {[gets $pipe_fd s_version] <= 0} {
-               close $pipe_fd
-               error [mc "Not connected to aspell"]
+               if {[catch {close $pipe_fd} err]} {
+                       # Eh?  Is this actually ispell choking on aspell options?
+                       #
+                       if {$s_prog eq {aspell}
+                               && [regexp -nocase {^Usage: } $err]
+                               && ![catch {
+                                               set pipe_fd [open [list | $s_prog -v] r]
+                                               gets $pipe_fd s_version
+                                               close $pipe_fd
+                               }]
+                               && $s_version ne {}} {
+                               if {{@(#) } eq [string range $s_version 0 4]} {
+                                       set s_version [string range $s_version 5 end]
+                               }
+                               set s_failed 1
+                               error_popup [strcat \
+                                       [mc "Unsupported spell checker"] \
+                                       ":\n\n$s_version"]
+                               set s_version {}
+                               return
+                       }
+                       regsub -nocase {^Error: } $err {} err
+                       if {$s_fd eq {}} {
+                               error_popup [strcat [mc "Spell checking is unavailable"] ":\n\n$err"]
+                       } else {
+                               error_popup [strcat \
+                                       [mc "Invalid spell checking configuration"] \
+                                       ":\n\n$err\n\n" \
+                                       [mc "Reverting dictionary to %s." $s_lang]]
+                       }
+               } else {
+                       error_popup [mc "Spell checker silently failed on startup"]
+               }
+               return
        }
        if {{@(#) } ne [string range $s_version 0 4]} {
-               close $pipe_fd
-               error [strcat [mc "Unrecognized aspell version"] ": $s_version"]
+               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]
+       regexp \
+               {International Ispell Version .* \(but really (Aspell .*?)\)$} \
+               $s_version _junk s_version
  
        puts $pipe_fd !             ; # enable terse mode
        puts $pipe_fd {$$cr master} ; # fetch the language
        $w_text tag conf misspelled \
                -foreground red \
                -underline 1
-       bind_button3 $w_text [cb _popup_suggest %X %Y @%x,%y]
  
        array unset s_suggest
        set s_seen    [list]
  }
  
  method lang {{n {}}} {
-       if {$n ne {} && $s_lang ne $n} {
+       if {$n ne {} && $s_lang ne $n && !$s_failed} {
                set spell_cmd [list |]
                lappend spell_cmd aspell
                lappend spell_cmd --master=$n
  }
  
  method version {} {
-       return "$s_version, $s_lang"
+       if {$s_version ne {}} {
+               return "$s_version, $s_lang"
+       }
+       return {}
  }
  
  method stop {} {
@@@ -333,11 -378,11 +378,11 @@@ method _read {} 
        fconfigure $s_fd -block 1
        if {[eof $s_fd]} {
                if {![catch {close $s_fd} err]} {
-                       set err [mc "unexpected eof from aspell"]
+                       set err [mc "Unexpected EOF from spell checker"]
                }
                catch {after cancel $s_i}
                $w_text tag remove misspelled 1.0 end
-               error_popup [strcat "Spell Checker Failed" "\n\n" $err]
+               error_popup [strcat [mc "Spell Checker Failed"] "\n\n" $err]
                return
        }
        fconfigure $s_fd -block 0
diff --combined git-gui/po/de.po
index d7c38f9c73fbeb887f8e0dcfe73af84d3edf8138,e84e1c7e087b1c64245124643d798a4f74d39f22..e84e1c7e087b1c64245124643d798a4f74d39f22
@@@ -7,8 -7,8 +7,8 @@@ msgid "
  msgstr ""
  "Project-Id-Version: git-gui\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2008-02-02 10:14+0100\n"
- "PO-Revision-Date: 2008-02-02 10:18+0100\n"
+ "POT-Creation-Date: 2008-02-16 21:24+0100\n"
+ "PO-Revision-Date: 2008-02-16 21:52+0100\n"
  "Last-Translator: Christian Stimming <stimming@tuhh.de>\n"
  "Language-Team: German\n"
  "MIME-Version: 1.0\n"
@@@ -653,7 -653,7 +653,7 @@@ msgstr "Lokale Zweige
  
  #: lib/branch_delete.tcl:52
  msgid "Delete Only If Merged Into"
- msgstr "Nur löschen, wenn darin zusammengeführt"
+ msgstr "Nur löschen, wenn zusammengeführt nach"
  
  #: lib/branch_delete.tcl:54
  msgid "Always (Do not perform merge test.)"
@@@ -1292,19 -1292,19 +1292,19 @@@ msgstr "Warning: Tcl/Tk unterstützt di
  
  #: lib/commit.tcl:221
  msgid "Calling pre-commit hook..."
- msgstr ""
+ msgstr "Aufrufen der Vor-Eintragen-Kontrolle..."
  
  #: lib/commit.tcl:236
  msgid "Commit declined by pre-commit hook."
- msgstr ""
+ msgstr "Eintragen abgelehnt durch Vor-Eintragen-Kontrolle (»pre-commit hook«)."
  
  #: lib/commit.tcl:259
  msgid "Calling commit-msg hook..."
- msgstr ""
+ msgstr "Aufrufen der Versionsbeschreibungs-Kontrolle..."
  
  #: lib/commit.tcl:274
  msgid "Commit declined by commit-msg hook."
- msgstr ""
+ msgstr "Eintragen abgelehnt durch Versionsbeschreibungs-Kontrolle (»commit-message hook«)."
  
  #: lib/commit.tcl:287
  msgid "Committing changes..."
@@@ -1389,7 -1389,7 +1389,7 @@@ msgstr "Festplattenplatz von komprimier
  
  #: lib/database.tcl:48
  msgid "Packed objects waiting for pruning"
- msgstr "Komprimierte Objekte, die zum Entfernen vorgesehen sind"
+ msgstr "Komprimierte Objekte, die zum Aufräumen vorgesehen sind"
  
  #: lib/database.tcl:49
  msgid "Garbage files"
@@@ -1622,10 -1622,10 +1622,10 @@@ msgstr "%s von %s
  
  #: lib/merge.tcl:119
  #, tcl-format
- msgid "Merging %s and %s"
- msgstr "Zusammenführen von %s und %s"
+ msgid "Merging %s and %s..."
+ msgstr "Zusammenführen von %s und %s..."
  
- #: lib/merge.tcl:131
+ #: lib/merge.tcl:130
  msgid "Merge completed successfully."
  msgstr "Zusammenführen erfolgreich abgeschlossen."
  
@@@ -1636,7 -1636,7 +1636,7 @@@ msgstr "Zusammenführen fehlgeschlagen
  #: lib/merge.tcl:158
  #, tcl-format
  msgid "Merge Into %s"
- msgstr "Zusammenführen in %s"
+ msgstr "Zusammenführen in »%s«"
  
  #: lib/merge.tcl:177
  msgid "Revision To Merge"
@@@ -1741,7 -1741,7 +1741,7 @@@ msgstr "Auf Dateiänderungsdatum verlas
  
  #: lib/option.tcl:111
  msgid "Prune Tracking Branches During Fetch"
- msgstr "Übernahmezweige entfernen während Anforderung"
+ msgstr "Übernahmezweige aufräumen während Anforderung"
  
  #: lib/option.tcl:112
  msgid "Match Tracking Branches"
@@@ -1755,7 -1755,11 +1755,11 @@@ msgstr "Anzahl der Kontextzeilen beim V
  msgid "New Branch Name Template"
  msgstr "Namensvorschlag für neue Zweige"
  
- #: lib/option.tcl:176
+ #: lib/option.tcl:191
+ msgid "Spelling Dictionary:"
+ msgstr "Wörterbuch Rechtschreibprüfung:"
+ #: lib/option.tcl:215
  msgid "Change Font"
  msgstr "Schriftart ändern"
  
@@@ -1778,11 -1782,11 +1782,11 @@@ msgstr "Optionen konnten nicht gespeich
  
  #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34
  msgid "Delete Remote Branch"
- msgstr "Zweig aus anderem Projektarchiv löschen"
+ msgstr "Zweig in anderem Projektarchiv löschen"
  
  #: lib/remote_branch_delete.tcl:47
  msgid "From Repository"
- msgstr "Von Projektarchiv"
+ msgstr "In Projektarchiv"
  
  #: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123
  msgid "Remote:"
@@@ -1790,7 -1794,7 +1794,7 @@@ msgstr "Anderes Archiv:
  
  #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138
  msgid "Arbitrary URL:"
- msgstr "Kommunikation mit URL:"
+ msgstr "Archiv-URL:"
  
  #: lib/remote_branch_delete.tcl:84
  msgid "Branches"
@@@ -1798,11 -1802,11 +1802,11 @@@ msgstr "Zweige
  
  #: lib/remote_branch_delete.tcl:109
  msgid "Delete Only If"
- msgstr "Löschen, falls"
+ msgstr "Nur löschen, wenn"
  
  #: lib/remote_branch_delete.tcl:111
  msgid "Merged Into:"
- msgstr "Zusammenführen mit:"
+ msgstr "Zusammengeführt mit:"
  
  #: lib/remote_branch_delete.tcl:119
  msgid "Always (Do not perform merge checks)"
@@@ -1864,7 -1868,7 +1868,7 @@@ msgstr "»%s« laden...
  
  #: lib/remote.tcl:165
  msgid "Prune from"
- msgstr "Entfernen von"
+ msgstr "Aufräumen von"
  
  #: lib/remote.tcl:170
  msgid "Fetch from"
@@@ -1882,6 -1886,26 +1886,26 @@@ msgstr "Fehler beim Schreiben der Verkn
  msgid "Cannot write icon:"
  msgstr "Fehler beim Erstellen des Icons:"
  
+ #: lib/spellcheck.tcl:37
+ msgid "Not connected to aspell"
+ msgstr "Keine Verbindung zu »aspell«"
+ #: lib/spellcheck.tcl:41
+ msgid "Unrecognized aspell version"
+ msgstr "Unbekannte Version von »aspell«"
+ #: lib/spellcheck.tcl:135
+ msgid "No Suggestions"
+ msgstr "Keine Vorschläge"
+ #: lib/spellcheck.tcl:336
+ msgid "Unexpected EOF from aspell"
+ msgstr "Unerwartetes EOF von »aspell«"
+ #: lib/spellcheck.tcl:340
+ msgid "Spell Checker Failed"
+ msgstr "Rechtschreibprüfung fehlgeschlagen"
  #: lib/status_bar.tcl:83
  #, tcl-format
  msgid "%s ... %*i of %*i %s (%3i%%)"
@@@ -1900,12 -1924,12 +1924,12 @@@ msgstr "Neue Änderungen von »%s« hol
  #: lib/transport.tcl:18
  #, tcl-format
  msgid "remote prune %s"
- msgstr "Entfernen von »%s« aus anderem Archiv"
+ msgstr "Aufräumen von »%s«"
  
  #: lib/transport.tcl:19
  #, tcl-format
  msgid "Pruning tracking branches deleted from %s"
- msgstr "Übernahmezweige entfernen, die in »%s« gelöscht wurden"
+ msgstr "Übernahmezweige aufräumen und entfernen, die in »%s« gelöscht wurden"
  
  #: lib/transport.tcl:25 lib/transport.tcl:71
  #, tcl-format
@@@ -1928,7 -1952,7 +1952,7 @@@ msgstr "Zweige versenden
  
  #: lib/transport.tcl:103
  msgid "Source Branches"
- msgstr "Herkunftszweige"
+ msgstr "Lokale Zweige"
  
  #: lib/transport.tcl:120
  msgid "Destination Repository"
diff --combined git-gui/po/git-gui.pot
index 3f139da6c7aae3cdc81312289083c1752c6e2629,2e332849fb21ab6931f671bd918e740c01589edc..2e332849fb21ab6931f671bd918e740c01589edc
@@@ -8,7 -8,7 +8,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: PACKAGE VERSION\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2008-02-02 10:14+0100\n"
+ "POT-Creation-Date: 2008-02-16 21:24+0100\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@@ -1474,10 -1474,10 +1474,10 @@@ msgstr "
  
  #: lib/merge.tcl:119
  #, tcl-format
- msgid "Merging %s and %s"
+ msgid "Merging %s and %s..."
  msgstr ""
  
- #: lib/merge.tcl:131
+ #: lib/merge.tcl:130
  msgid "Merge completed successfully."
  msgstr ""
  
@@@ -1592,7 -1592,11 +1592,11 @@@ msgstr "
  msgid "New Branch Name Template"
  msgstr ""
  
- #: lib/option.tcl:176
+ #: lib/option.tcl:191
+ msgid "Spelling Dictionary:"
+ msgstr ""
+ #: lib/option.tcl:215
  msgid "Change Font"
  msgstr ""
  
@@@ -1709,6 -1713,26 +1713,26 @@@ msgstr "
  msgid "Cannot write icon:"
  msgstr ""
  
+ #: lib/spellcheck.tcl:37
+ msgid "Not connected to aspell"
+ msgstr ""
+ #: lib/spellcheck.tcl:41
+ msgid "Unrecognized aspell version"
+ msgstr ""
+ #: lib/spellcheck.tcl:135
+ msgid "No Suggestions"
+ msgstr ""
+ #: lib/spellcheck.tcl:336
+ msgid "Unexpected EOF from aspell"
+ msgstr ""
+ #: lib/spellcheck.tcl:340
+ msgid "Spell Checker Failed"
+ msgstr ""
  #: lib/status_bar.tcl:83
  #, tcl-format
  msgid "%s ... %*i of %*i %s (%3i%%)"
index 0b33c572bf769a7e5ca0c93875c1adc3a2697079,35764d1d22da45e90638b2db3e0bfbcb332e8696..35764d1d22da45e90638b2db3e0bfbcb332e8696
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: git-gui glossary\n"
  "POT-Creation-Date: 2008-01-07 21:20+0100\n"
- "PO-Revision-Date: 2008-01-15 20:32+0100\n"
+ "PO-Revision-Date: 2008-02-16 21:48+0100\n"
  "Last-Translator: Christian Stimming <stimming@tuhh.de>\n"
  "Language-Team: German \n"
  "MIME-Version: 1.0\n"
@@@ -114,7 -114,7 +114,7 @@@ msgstr "Beschreibung (Meldung?, Nachric
  
  #. "Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in 'remotes/<name>'."
  msgid "prune"
- msgstr "entfernen"
+ msgstr "aufräumen (entfernen?)"
  
  #. "Pulling a branch means to fetch it and merge it."
  msgid "pull"