fixedpoint.jp


2007/11/09

po-unfuzzy-region in po-mode

gettext の .po 翻訳ファイルを編集するには、Emacs の po-mode が非常に便利です。お馴染みの font-lock による強調表示で読みやすいですし、最初に簡単ないくつかのキーバインドさえ覚えてしまえば編集も効率的です。

例えばポイントの下の「fuzzy なエントリを unfuzzy する」なら、M-x po-unfuzzy、もしくはこのコマンドの既定のキーバインド <TAB> で済んでしまいます。つまりタブを一回タイプするだけでいいのです。

さらに、大きな .po ファイルを編集する際に「多くのエントリを一度に unfuzzy する」という操作をしたくなります。指定方法としては、リージョンで囲んでそこに含まれるエントリを削除する、というのが良さそうです。そのための関数 po-unfuzzy-region を作成しました:

po-unfuzzy-region.el
(require 'po-mode)
(defun po-unfuzzy-region (beg end)
  "Remove the fuzzy attribute for entries in region."
  (interactive "r")
  (save-excursion
    (goto-char beg)
    (let ((here beg))
      (while (and (< 0 po-fuzzy-counter)
                  (< here end))
        (po-unfuzzy)
        (goto-char here)
        (cond ((re-search-forward po-fuzzy-regexp end t)
               (setq here (match-end 0))
               (goto-char (match-beginning 0)))
              (t
               (setq here end)))
        ))))

これをそのまま M-x po-unfuzzy-region と呼ぶか、あるいはさらに

po-unfuzzy-with-or-without-region.el
(defadvice po-unfuzzy (around po-unfuzzy-with-or-without-region activate)
  (if (and (interactive-p)
           mark-active)
      (po-unfuzzy-region (region-beginning) (region-end))
    ad-do-it))

を追加して <TAB> に引っ掛けておくのもオススメです。いずれにしても関数 po-undo は期待通り動作します。

***

Fedora 8 on Sony VAIO PCG-883

Fedora 8 が2007/11/08にリリースされました。今回から日本語のリリースノートが用意されており便利です。

2007/06/01に記しているように、手元のSony VAIO PCG-883 には Fedora 7 がインストールされていました。早速そのアップグレードを試み、以下の手順で作業を行いました:

アップグレード前に最新の状態にする。
前もって Fedora 7 の最近の更新を全て適用します:
$ sudo yum update
$ sudo yum upgrade
リリース情報を導入する
Fedora Project のミラーサイトから2つのパッケージのみを取得し、rpm でインストールします:
$ sudo rpm -Uvh fedora-release-8-3.noarch.rpm fedora-release-notes-8.0.0-3.noarch.rpm
古いパッケージ情報を削除する
$ sudo yum clean all
システム全体をアップグレードする
ここからの作業は直接端末から行います:
$ su -
# exec init 1
# service network start
# yum -y upgrade

なお

参考


© 2006-2023 fixedpoint.jp