2008-08-13 Sven Joachim * po-mode.el (po-check-file-header): Use forward-line with negative argument instead of previous-line. (po-add-attribute): Use forward-line instead of next-line. 2008-05-25 Bruno Haible * po-mode.el (po-replace-revision-date): Return nil. Patch by Kobayashi Noritada . 2008-05-07 Bruno Haible * po-mode.el (po-team-name-to-code): Add Beja. Remove Adangme, Banda, Batak. Update Scottish Gaelic, Central Khmer, Romansh. 2008-05-07 Bruno Haible Fix editing of plural forms. * po-mode.el (po-mode-version-string): Bump to 2.11. (po-any-msgstr-block-regexp): Must start with msgstr or msgstr[0]; needed for re-search-backward. (po-get-msgstr-flavor): Set the point to po-start-of-msgstr-form, not to the beginning of the line. Reported by Stéphane Raimbault . 2007-12-02 Bruno Haible * po-mode.el: Use modern backquote syntax. Report and patch by Agustin Martin via Santiago Vila . --- gettext-0.17/gettext-tools/misc/po-mode.el 2007-10-18 01:27:56.000000000 +0200 +++ gettext/gettext-tools/misc/po-mode.el 2008-08-14 10:34:09.000000000 +0200 @@ -1,28 +1,26 @@ ;;; po-mode.el -- major mode for GNU gettext PO files -;; Copyright (C) 1995-1999, 2000-2002, 2005-2007 Free Software Foundation, Inc. +;; Copyright (C) 1995-1999, 2000-2002, 2005-2008 Free Software Foundation, Inc. -;; Authors: François Pinard +;; Authors: François Pinard ;; Greg McGary ;; Keywords: i18n gettext ;; Created: 1995 ;; This file is part of GNU gettext. -;; GNU gettext is free software; you can redistribute it and/or modify +;; This program is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. +;; the Free Software Foundation; either version 3 of the License, or +;; (at your option) any later version. -;; GNU gettext is distributed in the hope that it will be useful, +;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with this program. If not, see . ;;; Commentary: @@ -64,7 +62,7 @@ ;;; Code: -(defconst po-mode-version-string "2.1" "\ +(defconst po-mode-version-string "2.11" "\ Version number of this version of po-mode.el.") ;;; Emacs portability matters - part I. @@ -101,7 +99,7 @@ (defmacro defgroup (&rest args) nil) (defmacro defcustom (var value doc &rest args) - (` (defvar (, var) (, value) (, doc)))))) + `(defvar ,var ,value ,doc)))) ;;; Customisation. @@ -188,7 +186,6 @@ ("(Afan) Oromo" . "om") ("Abkhazian" . "ab") ("Achinese" . "ace") - ("Adangme" . "ad") ("Afar" . "aa") ("Afrikaans" . "af") ("Akan" . "ak") @@ -208,10 +205,9 @@ ("Balinese" . "ban") ("Baluchi" . "bal") ("Bambara" . "bm") - ("Banda" . "bad") ("Bashkir" . "ba") ("Basque" . "eu") - ("Batak" . "btk") + ("Beja" . "bej") ("Belarusian" . "be") ("Bemba" . "bem") ("Bengali" . "bn") @@ -228,6 +224,7 @@ ("Burmese" . "my") ("Catalan" . "ca") ("Cebuano" . "ceb") + ("Central Khmer" . "km") ("Chamorro" . "ch") ("Chechen" . "ce") ("Chinese" . "zh") @@ -302,7 +299,7 @@ ("Kashmiri" . "ks") ("Kashubian" . "csb") ("Kazakh" . "kk") - ("Khmer" . "km") + ("Khmer" . "km") ; old name ("Kikuyu" . "ki") ("Kimbundu" . "kmb") ("Kinyarwanda" . "rw") @@ -369,7 +366,7 @@ ("Old English" . "ang") ("Oriya" . "or") ("Ossetian" . "os") - ("Páez" . "pbb") + ("Páez" . "pbb") ("Pali" . "pi") ("Pampanga" . "pam") ("Pangasinan" . "pag") @@ -380,8 +377,9 @@ ("Punjabi" . "pa") ("Quechua" . "qu") ("Rajasthani" . "raj") - ("Rhaeto-Roman" . "rm") + ("Rhaeto-Roman" . "rm") ; old name ("Romanian" . "ro") + ("Romansh" . "rm") ("Russian" . "ru") ("Samoan" . "sm") ("Sango" . "sg") @@ -389,7 +387,8 @@ ("Santali" . "sat") ("Sardinian" . "sc") ("Sasak" . "sas") - ("Scots" . "gd") + ("Scots" . "gd") ; old name + ("Scottish Gaelic" . "gd") ("Serbian" . "sr") ("Serer" . "srr") ("Sesotho" . "st") @@ -1011,7 +1010,7 @@ "Regexp matching a whole msgid field, whether obsolete or not.") (defvar po-any-msgstr-block-regexp - "^\\(#~[ \t]*\\)?msgstr.*\n\\(\\(#~[ \t]*\\)?\".*\n\\)*\\(\\(#~[ \t]*\\)?msgstr\\[[0-9]\\].*\n\\(\\(#~[ \t]*\\)?\".*\n\\)*\\)*" + "^\\(#~[ \t]*\\)?msgstr\\([ \t]\\|\\[0\\]\\).*\n\\(\\(#~[ \t]*\\)?\".*\n\\)*\\(\\(#~[ \t]*\\)?msgstr\\[[0-9]\\].*\n\\(\\(#~[ \t]*\\)?\".*\n\\)*\\)*" "Regexp matching a whole msgstr or msgstr[] field, whether obsolete or not.") (defvar po-any-msgstr-form-regexp @@ -1343,7 +1342,7 @@ (progn ;; There is at least one entry. (goto-char (match-beginning 0)) - (previous-line 1) + (forward-line -1) (setq end-of-header (match-end 0)) (if (looking-at "msgid \"\"\n") ;; There is indeed a PO file header. @@ -1353,7 +1352,7 @@ ;; This is an oldish header. Replace it all. (goto-char end-of-header) (while (> (point) (point-min)) - (previous-line 1) + (forward-line -1) (insert "#~ ") (beginning-of-line)) (beginning-of-line) @@ -1392,7 +1391,9 @@ zone "\\n\"") t t)))) (message "")) - (message (_"PO-Revision-Date should be adjusted...")))) + (message (_"PO-Revision-Date should be adjusted..."))) + ;; Return nil to indicate that the buffer has not yet been saved. + nil) ;;; Handling span of entry, entry type and entry attributes. @@ -1497,7 +1498,7 @@ (insert ", " name))) (skip-chars-forward "\n") (while (eq (following-char) ?#) - (next-line 1)) + (forward-line 1)) (insert "#, " name "\n"))))) (defun po-delete-attribute (name) @@ -1893,7 +1894,7 @@ (defun po-get-msgstr-flavor () "Helper function to detect msgstr and msgstr[] variants." - (beginning-of-line) + (goto-char po-start-of-msgstr-form) (re-search-forward "^\\(#~[ \t]*\\)?\\(msgstr\\(\\[[0-9]\\]\\)?\\)") (match-string 2)) @@ -3450,6 +3451,7 @@ ;; Hey Emacs! ;; Local Variables: ;; indent-tabs-mode: nil +;; coding: utf-8 ;; End: ;;; po-mode.el ends here