]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Fix error when invoking po-mode on an empty file.
authorBruno Haible <bruno@clisp.org>
Mon, 13 Aug 2001 14:01:18 +0000 (14:01 +0000)
committerBruno Haible <bruno@clisp.org>
Mon, 13 Aug 2001 14:01:18 +0000 (14:01 +0000)
misc/ChangeLog
misc/po-mode.el

index 6128a4aa1f133660d254292afa6b971fb7bce03e..5dfdb0db618be8a506880474465f3318f424eb03 100644 (file)
@@ -1,3 +1,10 @@
+2001-08-02  Karl Eichwalder  <ke@suse.de>
+
+       * po-mode.el (po-find-file-coding-system-guts): Use ascii instead of
+       none.
+       (po-compute-counters): Don't start counting if there is not even a
+       header entry.
+
 2001-07-26  Bruno Haible  <haible@clisp.cons.org>
 
        * automake.diff: Update for automake-1.4-p5.
index 2f987b2a42e5c6dcb671ca98eb83522a97d58817..25fb42998e4ce8ca34f4e9855133ea907b2d3313 100644 (file)
@@ -769,7 +769,7 @@ Called through file-coding-system-alist, before the file is visited for real."
             (with-temp-buffer
               (let ((coding-system-for-read 'no-conversion))
                  (let* ((charset (or (po-find-charset filename)
-                                    "none"))
+                                    "ascii"))
                         (charset-upper (intern (upcase charset)))
                         (charset-lower (intern (downcase charset))))
                    (list (or (cdr (assq charset-upper
@@ -982,31 +982,33 @@ Then, update the mode line counters."
       ;; While counting, skip the header entry, for consistency with msgfmt.
       (po-find-span-of-entry)
       (if (string-equal (po-get-msgid nil) "")
-        (po-next-entry))
-      ;; Start counting
-      (while (re-search-forward po-any-msgstr-regexp nil t)
-       (and (= (% total 20) 0)
-            (if flag
-                (message (_"Position %d/%d") position total)
-              (message (_"Position %d") total)))
-       (setq here (point))
-       (goto-char (match-beginning 0))
-       (setq total (1+ total))
-       (and flag (eq (point) po-start-of-msgstr) (setq position total))
-       (cond ((eq (following-char) ?#)
-              (setq po-obsolete-counter (1+ po-obsolete-counter)))
-             ((looking-at po-untranslated-regexp)
-              (setq po-untranslated-counter (1+ po-untranslated-counter)))
-             (t (setq po-translated-counter (1+ po-translated-counter))))
-       (goto-char here))
-
-      ;; Make another pass just for the fuzzy entries, kind of kludgey.
-      ;; FIXME: Counts will be wrong if untranslated entries are fuzzy, yet
-      ;; this should not normally happen.
-      (goto-char (point-min))
-      (while (re-search-forward po-fuzzy-regexp nil t)
-       (setq po-fuzzy-counter (1+ po-fuzzy-counter)))
-      (setq po-translated-counter (- po-translated-counter po-fuzzy-counter)))
+         (if (po-next-entry)
+             (progn
+               ;; Start counting
+               (while (re-search-forward po-any-msgstr-regexp nil t)
+                 (and (= (% total 20) 0)
+                      (if flag
+                          (message (_"Position %d/%d") position total)
+                        (message (_"Position %d") total)))
+                 (setq here (point))
+                 (goto-char (match-beginning 0))
+                 (setq total (1+ total))
+                 (and flag (eq (point) po-start-of-msgstr) (setq position total))
+                 (cond ((eq (following-char) ?#)
+                        (setq po-obsolete-counter (1+ po-obsolete-counter)))
+                       ((looking-at po-untranslated-regexp)
+                        (setq po-untranslated-counter (1+ po-untranslated-counter)))
+                       (t (setq po-translated-counter (1+ po-translated-counter))))
+                 (goto-char here))
+
+               ;; Make another pass just for the fuzzy entries, kind of kludgey.
+               ;; FIXME: Counts will be wrong if untranslated entries are fuzzy, yet
+               ;; this should not normally happen.
+               (goto-char (point-min))
+               (while (re-search-forward po-fuzzy-regexp nil t)
+                 (setq po-fuzzy-counter (1+ po-fuzzy-counter)))
+               (setq po-translated-counter (- po-translated-counter po-fuzzy-counter)))
+           '())))
 
     ;; Push the results out.
     (if flag