まだ煙草買っていない
2003-07-03
昨日も今日も、煙草は買っていません。もちろん買いだめもしていません。吸っていなわけではないです。量はだいぶ減らしました。なかなかすっぱりやめると言うわけにはいかないようです。しかし、いいかげんシケモクも切れてきました。:p)
「まだ煙草買っていない」へコメントをつける
- この記事の永続的 URI ならびに トラックバック ping URI
- http://diary.noasobi.net/2003/07/diary_030703a.html
2003-07-03
昨日も今日も、煙草は買っていません。もちろん買いだめもしていません。吸っていなわけではないです。量はだいぶ減らしました。なかなかすっぱりやめると言うわけにはいかないようです。しかし、いいかげんシケモクも切れてきました。:p)
2003-07-01
煙草が値上がりした。私はハイライトを1日1箱くらい吸っているのですが、250円から270円に20円値上がりしたわけです。ちなみに買いだめはしませんでした。
で、こういう計算をしてみた。50個買いだめしたとしたとすると、20*50=1000 で1000円得する。しかし、これは煙草4個分程度の金額である。4日間煙草をやめたら元が取れる金額ともいえる。
ということで、買いだめしたつもりになって今持っている煙草がなくなったら煙草を吸うのをやめようと思う。
2003-07-01
Xalan-C を入れてみたを見て、なるほどと導入してみた。デフォルトのC-c tで確かに Xalan が*XML Command output* バッファに xslt 変換した結果を出力してくれた。しかし、C-u C-c tと引数付きで起動した時の動作が違う気がしたので、以下のように書き換えてみました。xml-mode.lの書き換えは、凪沢さんのものそのままです。
;;xml-mode 用
(require "xml/xml-mode")
(use-package 'xml)
(pushnew '("\\.\\(xml\\|xsl\\|rdf\\|svg\\)"
. xml-mode)
*auto-mode-alist* :test #'equal)
(setq *xsl-transform-command* *xsl-xalan*)
(push '(xml::xalan
"~A ~A ~A ~A"
*xalan-command*
(or xml::*xml-user-option* *xalan-default-options*)
(get-buffer-file-name)
(read-file-name "stylesheet: " :history 'stylesheet))
*xml-command-alist*)
こんなんでいいのかな。ちょっと心配。:p)
2003-06-27
ねこめし日記 (2003/06/27)を読んでいたら、本題とは別の XSLT プロセッサ、Xalan-C について書かれている部分に目が行った。:p)
今手元では、XT やら Xalan やら msxsl.exe やら、話題の eXtyle やらが動いていて、私がゴニョゴニョする分にはどれでも大差無いみたいなんですが、XT も Xalan も Java 版で速度的に msxsl.exe に負けるのが悔しかったので(何故)、実行形式の Xalan ならばそれに対抗できるかもと思い、検索してみたらあっさり見つかりました。
このサイトを見てみると、Xerces の実行形式バージョン(Xercec-C)もあったので、いっそこれはこっちに乗り換えるのが得策と、ごっそりと落としてきました。まずは、Index of /dist/xalan-cから、Xalan-C_1_5-win32.zip(22MB) という巨大なものを落としました。次に、Index of /dist/xerces-c/stableから、一番新しい xerces-c_2_3_0-win32.zip(7.7MB) というのを落としてみました。
しかし、結果的にこれは間違いでした。Xalan-C が要求する Xerces-C のバージョンが違うために動作しませんでした。Xalan-C1.5 を動作させるために、Xerces-C2.2 が必要みたいです。気を取り直してIndex of /dist/xerces-c/stable/archives/Xerces-C_2_2_0から xerces-c2_2_0-win32.zip を落とし直しました。
それにしても何がいっぱい入っているのか知りませんが:p)、解凍してみるとやたらといろいろ入っています。カン(何)で必要そうなものだけを選んでパスの通ったディレクトリ(c:\bin\xalan-c)にコピーしました。ちなみに、xalan のほうは、ml-xalan\c\Build\Win32\VC6\Release 以下のファイル。xerces のほうは、bin 以下のファイルを選んで、同じディレクトリに放り込みました。:p)
こんな適当なことでいいのかどうか知りませんが、つか多分駄目なんだろうと思いますが、とりあえず手元の環境では素晴らしいスピードで動いています。
あとはこれをどうやってxml-modeから呼び出すかなんですが、そこらあたりになるとさっぱり駄目なヘタレな私です。:p)
2003-06-26
今日、.xyzzy と Siteinit.l を整理しようと一念発起してあれこれしていました。で、どうにかいい感じになってきたのでこれでいいかなというところで、誤って.xyzzy を削除してしまいました。ウワーン、というようなことをはてな日記のほうに書いていたら、そりゃバックアップを兼ねて日記にウプすべしとのことでしたので、未整理なままの状態の会社のマシンの.xyzzy をウプしてみます。つか、Siteinit.l とセットでないとあまり意味がないような気もするんですが。また整理できたらセットでウプしてみますです。つかはずかちいなぁ。:p)
ついでにどなたか添削してくれるとうれしい、とか言ってみたり。:p)
(load-library "info")
(require "ni/setup")
(defun kill-forward-line ()
(interactive)
(let ((a (point))
(b (progn (goto-bol) (point))))
(delete-region a b)))
(set-extended-key-translate-table exkey-C-backspace #\F24)
(global-set-key #\F24 'kill-forward-line)
(setq *keyword-load-path* '("c:/Progra~1/xyzzy/keyword/"))
(defun dt-dd ()
(interactive)
(save-excursion
(goto-char (point-min))
(replace-buffer "\\([^\n]\\)\t" "\\1\n\t" :regexp t)
(goto-char (point-min))
(replace-buffer "\t\\([^\n]+\\)" "\t<dd>\\1</dd>" :regexp t)
(goto-char (point-min))
(replace-buffer "^\\([^\t\n]+\\)$" "<dt>\\1</dt>" :regexp t)))
(define-key ed::*html+-mode-map* '(#\C-c #\d) 'dt-dd)
;; ジャンプディレクトリ
(defvar *my-favorites-directory*
'(("web" . "c:/web")
("desktop" . "c:/windows/デスクトップ")
("xyzzy" . "c:/progra~1/xyzzy")
("Profile" . "C:/WINDOWS/Application Data/Phoenix/Profiles/default/uk643b4i.slt/")
)
)
(setq *filer-directories*
(cons (cons "xyzzy/site-lisp" (concat (si:system-root) "site-lisp"))
*my-favorites-directory*))
;; 一発インデント
(defun indent-current-buffer ()
(interactive)
(indent-region (point-min) (point-max))
(message "indent buffer"))
(global-set-key #\C-F8 'indent-current-buffer)
;; ファイラーのマスク
(setq *filer-primary-file-mask* '("*"))
(setq *filer-secondary-file-mask* '("*"))
;; html+-mode でインデントは空白で
(add-hook 'ed::*html+-mode-hook*
#'(lambda () (setq indent-tabs-mode *c-indent-tabs-mode*)))
;; xml-mode
(require "xml/xml-mode")
(use-package 'xml)
(require "xml/xhtml")
(require "xml/xslt")
(pushnew '("\\.\\(xml\\|xsl\\|rdf\\|svg\\|fo\\|xi\\)" . xml-mode) *auto-mode-alist* :test 'equal)
;;; chcolor
(load-library "chcolor/chcolor")
(global-set-key #\M-e 'chcolor)
;; リージョンを反転表示
(load-library "rv-region")
;;; あらかじめ用意されたコマンド(rv-set-mark-command)実行時のみ、反転
;;; 表示を開始する。以下の設定では、C-@ でマークを設定すると、リージョ
;;; ンの反転表示を開始する。M-SPC では、反転表示しない。
(global-set-key #\C-@ 'rv-set-mark-command)
;;; ・反転されていないリージョンに対し反転を開始する。(M-R)
(global-set-key #\M-R 'rv-region-start)
;;; ・反転されていないリージョンを一時的に反転する。(M-V)
(global-set-key #\M-V 'rv-region-check)
;;css-mode 時にC-iで補完
(add-hook 'ed::*css-mode-hook*
#'(lambda ()
(define-key ed::*css-mode-map* #\c-i 'ed::css-completion)))
;;; css-enhance
; library
(load-library "css-mode")
; indent (お好みでどうぞ)
(defvar *css-indent-level* 4)
(defvar *css-continued-statement-offset* 4)
(defvar *css-brace-offset* -4)
(defvar *css-brace-imaginary-offset* 0)
(defvar *css-argdecl-indent* 0)
(defvar *css-label-offset* 0)
; keymap (お好みでどうぞ)
(define-key *css-mode-map* #\{ 'c-electric-insert)
(define-key *css-mode-map* #\: 'c-electric-insert)
(define-key *css-mode-map* #\} 'c-electric-close)
(define-key *css-mode-map* #\C-h 'backward-delete-char-untabify-or-selection)
(define-key *css-mode-map* #\TAB 'c-indent-line)
(define-key *css-mode-map* #\C-M-q 'indent-sexp)
(define-key *css-mode-map* #\RET 'c-newline-and-indent)
; function for hook
(defun css-enhance ()
;; inent command
(make-local-variable 'mode-specific-indent-command)
(make-local-variable 'c-comment-indent-variable)
(setq c-comment-indent-variable 'c-comment-indent)
(setq mode-specific-indent-command 'c-indent-line)
; indent
(make-local-variable 'c-indent-level)
(make-local-variable 'c-continued-statement-offset)
(make-local-variable 'c-brace-offset)
(make-local-variable 'c-brace-imaginary-offset)
(make-local-variable 'c-argdecl-indent)
(make-local-variable 'c-label-offset)
(setq c-indent-level *css-indent-level*)
(setq c-continued-statement-offset *css-continued-statement-offset*)
(setq c-brace-offset *css-brace-offset*)
(setq c-brace-imaginary-offset *css-brace-imaginary-offset*)
(setq c-argdecl-indent *css-argdecl-indent*)
(setq c-label-offset *css-label-offset*)
; comment
(setq comment-indent-function 'c-comment-indent)
(setq comment-start "/* " comment-end " */")
(setq comment-start-skip "/\\(\\*+\\|/\\)[ \t]*"))
; hook
(add-hook '*css-mode-hook* 'css-enhance)
;; バッファから送るのリスト
; http://www.geocities.jp/madoinu/xyzzy/note/dialog-box.html#buffer-sendto-dialog
(defvar *buffer-send-to-list*
(list
'(" Sleipnir" . "C:/progra~1/Sleipnir/sleipnir.exe")
'(" Phoenix" . "C:/progra~1/MozillaFirebird/MozillaFirebird.exe")
'(" Mozilla" . "C:/progra~1/Mozilla/mozilla.exe")
'(" 6Opera" . "C:/progra~1/opera/opera.exe")
'(" 7Opera" . "C:/progra~1/opera7/opera.exe")
'(" NN4" . "C:/progra~1/netscape/communicator/progaram/netscape.exe")
))
;; バッファから送る
(defun buffer-sendto-dialog ()
(interactive)
(let ((file (get-buffer-file-name)))
(when file
(multiple-value-bind (result data)
(dialog-box
'(dialog 0 0 219 100
(:caption "送っちゃうよ")
(:font 9 "MS Pゴシック")
(:control
(:listbox list nil #x50b10111 7 7 150 82)
(:button IDOK "送る" #x50010001 162 7 50 14)
(:button IDCANCEL "送らない" #x50010000 162 24 50 14)))
(list (cons 'list *buffer-send-to-list*))
nil)
(when result
(let
((cmd (cddr (assoc 'list data))))
(if cmd
(call-process (map-slash-to-backslash (concat cmd " " file)) :wait nil)
(message "なにもえらんでない。"))))))))
(global-set-key #\C-] 'buffer-sendto-dialog)
;; 全角スペースを使わない
;; http://www5e.biglobe.ne.jp/~fukafuka/xyzzy/
(defun transfer-auto-quad-space ()
(interactive "*")
(when (eq *this-command* 'self-insert-command)
(let ((cur (preceding-char)))
(if (eq cur #\ )
(progn (forward-char -1) (delete-char) (insert #\SPC))))))
(add-hook '*post-command-hook* 'transfer-auto-quad-space)
;; exchange-region-and-selection
;; リージョンとセレクションとトグル変換
(global-set-key '(#\C-x #\SPC) 'exchange-region-and-selection)
(global-set-key #\C-F6 'exchange-region-and-selection)
(set-function-bar-label #\C-F6 "選択<->Region")
;; diff
(setq ed::*diff-command-name*
(map-slash-to-backslash (merge-pathnames "bin/diff.exe" (user-homedir-pathname))))
;; ステータスバーに文字コード表示
(setq *status-bar-format* "%t%c%u")
;; xml-mode 用
(push '(xml::msxsl
"~A ~S ~S ~A"
*msxsl-command*
(get-buffer-file-name)
(read-file-name "stylesheet: " :history 'stylesheet)
(or xml::*xml-user-option* *msxsl-default-options*))
*xml-command-alist*)