«前の日記(2006.12.21 / Thursday) 最新 次の日記(2006.12.24 / Sunday)» 編集

Hena Hena Nikki

2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|10|11|12|
2012|01|02|03|04|05|06|07|08|10|12|
2013|01|02|04|06|

2006.12.23 / Saturday [長年日記]

* [computer/update] AquaSKK ver.3.2

Mac OS X 向け SKK 環境。 約 5 ヶ月ぶりの version up。

* [computer/update] Wine ver.0.9.28

UNIX 系 OS 上で動く Windows API の実装。

* [computer/update] Mew ver.5.2RC2

emacsen な定番 mail user agent。 所謂人柱版。

* [computer/emacsen] ps2pdf.el

深い意味もなくパッチを書いてみた。

--- ps2pdf.el.orig      2006-12-23 13:47:31.000000000 +0900
+++ ps2pdf.el   2006-12-23 19:45:01.000000000 +0900
@@ -43,6 +43,9 @@
 
 ;;; Code:
 
+(require 'advice)
+(require 'ps-print)
+
 (defcustom ps2pdf-gs-program "gs"
   "Path to GhostView program.
 For GNU/Linux and Unix-ish systems, this will typically just be
@@ -51,8 +54,14 @@
   :type 'string
   :group 'ps2pdf)
 
+(defcustom ps2pdf-open-program (if (eq system-type 'darwin) "open" "gpdf")
+  "Path to PDF document viewer (not for w32)."
+  :type 'string
+  :group 'ps2pdf)
+
 (defun ps2pdf-convert (file)
   "Convert Postscript FILE to PDF."
+  (setq file (expand-file-name file))
   (let* ((pdf-file (concat (file-name-sans-extension file) ".pdf"))
          (result
           (call-process ps2pdf-gs-program nil nil t
@@ -69,9 +78,14 @@
   (let ((pdf-file (ps2pdf-convert file)))
     (message "PDF file %s created successfully" pdf-file)))
 
+(defun ps2pdf-make-temp-file (prefix &optional dir-flag suffix)
+  (if (< 3 (length (ad-arglist (symbol-function 'make-temp-file))))
+      (make-temp-file prefix dir-flag suffix)
+    (make-temp-file prefix dir-flag)))
+
 (defun ps2pdf-with-faces (type)
   "Create PDF from buffer or region."
-  (let ((fname (make-temp-file "ps2pdf-buffer" nil ".ps"))
+  (let ((fname (ps2pdf-make-temp-file "ps2pdf-buffer" nil ".ps"))
          (pdf-file))
     (cond ((eq type 'buffer)
            (ps-print-buffer-with-faces fname))
@@ -83,23 +97,21 @@
     (message "PDF file %s created successfully" pdf-file)
     pdf-file))
 
-(defun ps2pdf-from-buffer ()
-  "Create PDF from buffer."
-  (ps2pdf-with-faces 'buffer))
-
 (defun ps2pdf-from-region ()
-  "Create PDF from region."
-  (ps2pdf-with-faces 'region))
-
-(defun w32-ps2pdf-from-region ()
   "Create PDF from region and open it."
   (interactive)
-  (w32-shell-execute "Open" (ps2pdf-from-region)))
+  (if (fboundp 'w32-shell-execute)
+      (w32-shell-execute "Open" (ps2pdf-with-faces 'region))
+    (shell-command
+     (format "%s %s" ps2pdf-open-program (ps2pdf-with-faces 'region)))))
 
-(defun w32-ps2pdf-from-buffer ()
+(defun ps2pdf-from-buffer ()
   "Create PDF from buffer and open it."
   (interactive)
-  (w32-shell-execute "Open" (ps2pdf-from-buffer)))
+  (if (fboundp 'w32-shell-execute)
+      (w32-shell-execute "Open" (ps2pdf-with-faces 'buffer))
+    (shell-command
+     (format "%s %s" ps2pdf-open-program (ps2pdf-with-faces 'buffer)))))
 
 (defun ps2pdf-reset-faces ()
   "Reset faces.

Mac OS X 10.4 on G4 上の GNU Emacs 22.0.50 では動いた。 make-temp-file() の引数をいじれば Debian sarge 上の GNU Emacs 21.4 でも動く (まだ確認してないけど、これって単純なバージョンの問題なのかな?)。

最初に書いた修正を適用していただいた。 適用報告のメールに「arigato gosaimashita」と書いてあった。 :-)

* [computer][bookmark] Gauche クックブック

オレンジニュースから。 とりあえず読もうかな。


  • この日記には本日 名の方が訪問してくださっているようです。 また、昨日は 名の方が訪問してくださったようです。
  • この日記の更新情報の取得には antenna.lirs を利用するのがおすすめです。