トップ «前の日記(2006-01-18) 最新 次の日記(2006-02-06)» 編集

活動日誌


2006-01-30

[Meadow]Meadowのリビジョン番号をタイトルバーに出す

netinstall 版の Meadow では、(emacs-version) に

"GNU Emacs 22.0.50.1 (i386-mingw-nt5.0.2195)
 of 2005-11-07 on CUBE
URL: http://svn.meadowy.org/Meadow/trunk
Last Changed Rev: 3956
Last Changed Date: 2005-11-05 07:58:49 +0900 (Sat, 05 Nov 2005)"

のように、Subversion のリビジョン番号が含まれます。

このリビジョン番号をフレームのタイトルバーに出そうとして、 .emacs で (emacs-version) から string-match で番号を切り出そうとしたので すが、どうもうまく切り出せません。

調べてみたところ、リビジョン番号の付加は (emacs-version) に対する advice として定義されており、.emacs の読み込み時点ではリビジョン番号は (emacs-version) には含まれないようです。

そこで、packages/lisp/default.el から関連する処理をそっくりそのまま抜 き出して、次のようにしました。

(setq meadow-revision
      (let ((info (expand-file-name "../.svn.info" data-directory))
            str)
        (when (file-exists-p info)
          (save-excursion
            (set-buffer (find-file-noselect info))
            (setq str (buffer-substring-no-properties
                       (point-min) (- (point-max) 1)))
            (kill-buffer nil)
            (if (string-match "^Last Changed Rev: \\([0-9]+\\)" str)
                (match-string 1 str))))))

(setq frame-title-format
      (concat invocation-name
              "@"
              system-name
              " [ %f ]"
              "  -  "
              (if (featurep 'meadow)
                  (Meadow-version)
                (emacs-version))
              " Rev. "
              meadow-revision
              ))

これで、タイトルバーにリビジョン番号が出るようになりました。


2005|02|03|04|05|06|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|03|04|05|06|10|
2008|04|10|
2009|10|
2010|05|08|
2012|01|02|03|
2014|01|
2022|05|
トップ «前の日記(2006-01-18) 最新 次の日記(2006-02-06)»