というわけで、今さらですが 10月30日の日曜日に、今年も子供会でホテル三日月の龍宮城に行ってきた。塩サウナでお肌すべすべ。
久しぶりに Solaris と cygwin で作ったら、どっちも anthy.dic が 64byte しかない。うーーむ。ぼくが悪いのか?
とりあえず、ML に報告しつつ、丸山さんの Zaurus パッケージの share/anthy/* で上書きしたら動いたのでヨシとしよう。
ちょっと前は cygwin でまったく make できなかったので大進歩だし。
(require 'jisx0213) しているときは大丈夫なコードができたと思うのだが、あとはよくわからん。修行不足。もうちょっと時間がかかりそう。四連休だし ^^;;;
こんなに年は喰ったのに、未だにまったく理解できない。「狸でもわかる CCL」はないものか?まったくもって修行不足。
世間では 11月 3日(木)〜11月 6日(日) は飛石連休だったろうけど、なぜだかうちの会社は 4日(金) が会社自体が休みで四連休だったのだ。けっしてサボったわけではない。
ちょっと自分の DELL のパソコンをいじって、なんとか Meadow がいろいろと動き出した。予定より数ヵ月遅れだが、これで、自宅でもいろいろと遊べるようになるのよ。
朝っぱらから野球の練習&練習試合。その後、若干ビールで乾杯していたら一日が終わってしまった。夜、ふと気付くと、ちょっと熱っぽい。野球のときに風邪をひいていた奴に移されたか?
女房がちょっとだけ働きに行って、その後二人で船橋ララポートへ。Dog Dept とか Eddie Bauer とか。ララポートも平日は空いていてよろしい。が、やっぱりちょっとだけ熱っぽい。
子供達の授業参観。うーむ熱っぽい。36.9℃程度だが、平熱よりは 1℃以上高い。
ここ 10年ほど、連続テレビドラマというのは、NHK 朝の連続テレビ小説以外まったく見ていなかったのだが、土曜日 21時からの野ブタ。をプロデュースを見ている。しかし、第一回目を見逃したのが痛いかも。
あいかわらず熱っぽいので、ぼーっとしていたり、子供のベッドで昼寝をしていたり。
夕方から野球(久しぶりのナイタ)の予定だったが、雨でお流れで助かった。その代わりに TV でビートたけしの座頭市を見て興奮。勝新太郎の泥くさい殺陣も良かったけど、こういう座頭市もかっこいいな。
辞書が 64Byte だよ、と嘆いていたが、環境変数 TMPDIR を unset することで、きちんとした辞書ができた。田畑さんに感謝。「こっそり予測変換」に tamago で対応できるとかっこいいかもしれないが、'C' レベルでわからないとだめだな。。。
ひゃー何が始まったのかと驚いた。こりゃ M-x grep とか M-x grep-find が簡単にはできなくなるなと思ったが、ぼくが常用している lgrep は大丈夫だった。ほっと一安心。
というわけで、無事 Elscreen 1.4.0 が公開された。某所であった、右?左? の話はとりあえずペンディング。
(define-key elscreen-map "z" 'elscreen-select-and-goto2) (define-key elscreen-map "\C-z" 'elscreen-select-and-goto2) (defface elscreen-selected-face `((((class color) (type tty)) (:foreground "blue")) (((class color) (background light)) (:foreground "white" :background "dark blue" :bold t)) (((class color) (background dark)) (:foreground "LimeGreen" :background "white" :bold t)) (t (:bold t :underline t))) "Face of selected screen." :group 'elscreen) (defface elscreen-select-face `((((class color) (type tty)) (:foreground "black")) (((class color) (background light)) (:foreground "black")) (((class color) (background dark)) (:foreground "white")) (t nil)) "Face screens." :group 'elscreen) (defun elscreen-select-and-goto2 () (interactive) (let* ((showbuf (get-buffer-create " *Elscreen select*")) (wheight (max (+ (elscreen-get-number-of-screens) 4) window-min-height)) (msgs "") (minimsg "Select SCREEN number or (c)reate, (k)ill, (f)ind-file, e(x)ecute") (names (elscreen-get-screen-to-name-alist (- (frame-width) 10))) (cscrn (elscreen-get-current-screen)) (command-list '((?c . elscreen-create) (?k . (continue . (elscreen-kill . num))) (?f . elscreen-find-file) (?x . elscreen-execute-extended-command))) window last-window num c num-or-func continue tmp) (setq tmp minimsg) (setq minimsg "") (while (string-match "(\\(.\\))" tmp) (setq minimsg (concat minimsg (substring tmp 0 (match-beginning 1)))) (setq c (match-string 1 tmp)) (setq tmp (substring tmp (match-end 0))) (put-text-property 0 1 'face 'bold c) (setq minimsg (concat minimsg c ")"))) (setq minimsg (concat minimsg tmp)) (setq c nil) (setq names (sort names (lambda (x y) (< (car x) (car y))))) (if (not names) (message "No screen") (mapcar (lambda (x) (setq num (car x)) (setq x (format " %d: %s %s" (car x) (elscreen-status-label (car x)) (cdr x))) (add-text-properties 0 (length x) `(elscreen-select-number ,num face elscreen-select-face) x) (setq msgs (concat msgs "\n" x))) names) (unwind-protect (save-window-excursion (setq last-window (previous-window (static-if elscreen-on-xemacs (frame-highest-window) (frame-first-window)))) (while (minibuffer-window-active-p last-window) (setq last-window (previous-window last-window))) (while (and (not (one-window-p)) (or (< (window-width last-window) (frame-width)) (< (window-height last-window) (+ wheight window-min-height)))) (setq window last-window) (setq last-window (previous-window window)) (delete-window window)) (select-window (split-window last-window)) (shrink-window (- (window-height) wheight)) (switch-to-buffer showbuf) (setq buffer-read-only nil) (erase-buffer) (shrink-window (- (window-height) wheight)) (insert "Select SCREEN:\n" msgs "\n") (goto-char (point-min)) (when (re-search-forward (format "^ +%d:" cscrn) nil t) (beginning-of-line)) (add-text-properties (1+ (point)) (line-end-position) '(face elscreen-selected-face)) (while (null c) (set-buffer-modified-p nil) (setq c (static-if (fboundp 'read-event) (read-event minimsg) (message minimsg) (read-char-exclusive))) (cond ((memq c '(?q ? )) (setq num-or-func 'exit)) ((and (numberp c) (assq (- c ?0) names)) (add-text-properties (point) (line-end-position) '(face elscreen-select-face)) (goto-char (point-min)) (let ((case-fold-search nil)) (when (re-search-forward (format "^ %c:" c) nil t) (beginning-of-line) (add-text-properties (1+ (point)) (line-end-position) '(face elscreen-selected-face)) (sit-for 0.5))) (setq num-or-func (get-text-property (point) 'elscreen-select-number))) ((memq c '(?\C-m return)) (setq num-or-func (get-text-property (point) 'elscreen-select-number))) ((assq c command-list) (setq num (get-text-property (point) 'elscreen-select-number)) (setq num-or-func (cdr (assq c command-list)))) ((memq c '(?\C-n ?n down)) (setq c nil) (add-text-properties (point) (line-end-position) '(face elscreen-select-face)) (forward-line) (unless (get-text-property (point) 'elscreen-select-number) (goto-char (next-single-property-change (point-min) 'elscreen-select-number))) (add-text-properties (1+ (point)) (line-end-position) '(face elscreen-selected-face))) ((memq c '(?\C-p ?p up)) (setq c nil) (add-text-properties (point) (line-end-position) '(face elscreen-select-face)) (forward-line -1) (beginning-of-line) (unless (get-text-property (point) 'elscreen-select-number) (goto-char (point-max)) (forward-line -1) (beginning-of-line)) (add-text-properties (1+ (point)) (line-end-position) '(face elscreen-selected-face))) (t (setq c nil) (unless (string-match "retry$" minimsg) (setq minimsg (concat minimsg ", retry"))))))) (kill-buffer showbuf)) (when (and (consp num-or-func) (eq (car num-or-func) 'continue)) (setq continue t) (setq num-or-func (cdr num-or-func))) (cond ((numberp num-or-func) (message "Goto screen %d" num-or-func) (funcall 'elscreen-goto num-or-func)) ((functionp num-or-func) (message "Execute %s" (symbol-name num-or-func)) (call-interactively num-or-func)) ((and (consp num-or-func) (functionp (car num-or-func)) (eq 'num (cdr num-or-func))) (message "Execute %s with %d" (symbol-name (car num-or-func)) num) (funcall (car num-or-func) num))) (when continue (elscreen-select-and-goto2)))))
こんな感じかぁ。もしかすると、洩れがあるかも。
でございます。継ぎ足し、継ぎ足しで作ったから結構冗長化。
(defvar w3m-pop-elscreen t) (defadvice w3m-popup-buffer (around w3m-elscreen-poup-buffer activate) (if (or (not w3m-pop-elscreen) (memq this-command '(w3m-copy-buffer ;; w3m-goto-url-new-session w3m-view-this-url-new-session)) (not (featurep 'elscreen)) (save-window-excursion (catch 'detwin (let ((owin (selected-window)) (oframe (selected-frame))) (mapcar (lambda (frame) (unless (eq frame oframe) (select-frame frame) (mapcar (lambda (win) (set-buffer (window-buffer win)) (when (eq major-mode 'w3m-mode) (throw 'detwin t))) (window-list)))) (frame-list)) nil)))) (let ((w3m-pop-up-frames nil) (w3m-pop-up-windows nil)) ad-do-it) (if (stringp buffer) (setq buffer (get-buffer buffer))) (let ((screen (elscreen-find-screen-by-buffer buffer)) (create t)) (when (and (not screen) (memq this-command '(w3m-goto-url-new-session))) (if (not (eq major-mode 'w3m-mode)) (setq create nil) (setq screen (elscreen-find-screen (lambda (num) (elscreen-goto-internal num) (save-selected-window (catch 'find (mapcar (lambda (window) (select-window window) (when (and (eq major-mode 'w3m-mode) (not (eq (current-buffer) buffer))) (throw 'find num))) (window-list)) nil))))))) (if screen (progn (when (/= (elscreen-get-current-screen) screen) (elscreen-goto screen)) (if (not (or (one-window-p) (eq major-mode 'w3m-mode))) (let* ((cwin (selected-window)) (win (previous-window cwin)) buf) (catch 'detect (while (not (eq cwin win)) (setq buf (window-buffer win)) (set-buffer buf) (when (eq major-mode 'w3m-mode) (select-window win) (throw 'detect 'ok)) (setq win (previous-window win))) (elscreen-create) (set-window-buffer (selected-window) buffer))) (unless (eq (current-buffer) buffer) (set-window-buffer (selected-window) buffer)))) (when create (elscreen-create))
(defun w3m-no-elscreen (&optional url) (interactive (let ((url (w3m-examine-command-line-args)) new) (list (or url (let ((default (if (w3m-alive-p) 'popup w3m-home-page))) (setq new (if current-prefix-arg default (w3m-input-url nil nil default (not (get-buffer "*w3m*")))))))))) (let (w3m-pop-elscreen) (cond ((eq url 'popup) (w3m)) (t (w3m url)))))
(add-hook 'mew-suspend-hook 'elscreen-kill-buffer-force) (add-hook 'mew-quit-hook 'elscreen-kill-buffer-force) (add-hook 'navi2ch-exit-hook 'elscreen-kill-buffer-force) (defadvice w3m-close-window (after elscreen-kill-buffer activate) "Kill elscreen." (elscreen-kill-buffer-force)) (defadvice w3m-quit (after elscreen-kill-buffer activate) "Kill elscreen." (elscreen-kill-buffer-force)) (defadvice kill-buffer (after elscreen-kill-buffer activate) "Kill elscreen." (elscreen-kill-buffer)) (defun elscreen-kill-buffer-force () (elscreen-kill-buffer 'force)) (defun elscreen-kill-buffer (&optional force) (when (and (not (elscreen-one-screen-p)) (or force (memq this-command '(kill-buffer)))) (let* ((cur (elscreen-get-current-screen)) (buffer (current-buffer)) (new (elscreen-find-screen (lambda (screen) (if (= cur screen) nil (elscreen-goto-internal screen) (member buffer (mapcar (lambda (window) (window-buffer window)) (window-list)))))))) (cond (force (elscreen-kill) (when new (elscreen-goto new))) (t (when new (elscreen-kill) (elscreen-goto new)))))))
(define-key elscreen-map "d" 'elscreen-dired)
(defvar elscreen-dnd-buffers nil) (defadvice x-dnd-handle-drag-n-drop-event (around elscreen-dnd-buffers activate) (setq elscreen-dnd-buffers nil) (save-window-excursion ad-do-it) (when elscreen-dnd-buffers (elscreen-goto (car (mapcar (lambda (buffer) (elscreen-find-screen-by-buffer buffer 'create)) elscreen-dnd-buffers))) (setq elscreen-dnd-buffers nil) (elscreen-notify-screen-modification 'force-immediately))) (defadvice w32-drag-n-drop (around elscreen-dnd-buffers activate) (setq elscreen-dnd-buffers nil) (save-window-excursion ad-do-it) (when elscreen-dnd-buffers (elscreen-goto (car (mapcar (lambda (buffer) (elscreen-find-screen-by-buffer buffer 'create)) elscreen-dnd-buffers))) (setq elscreen-dnd-buffers nil) (elscreen-notify-screen-modification 'force-immediately))) (defadvice dnd-handle-one-url (after elscreen-get-dnd-buffers activate) (setq elscreen-dnd-buffers (cons (current-buffer) elscreen-dnd-buffers)))
すでに小関さんが紹介しているので表紙とかは無しだが、うちの日記の大屋さん達が書いた本。よろしく。
ちゅうわけで、サイン所望。いつでもメール or 電話待つ。
でした。学芸会は三年に一度で、後の二年は音楽会、展覧会なのだ。息子は三年前の学芸会だと狼の親分だったのだが、今度は狼の子分で『おやびん』とか言っていた。
娘は「べろだしちょんま」の妹の「うめ」。
△ den8 [ご無沙汰しております。 書籍の紹介ありがとうございました! 生まれてからサインなんてしたこと無いので 恥ずかしいの..]
(defun pobox-undo () (interactive) (cond ...snip... (t (if (= (length pobox-pat) 1) (pobox-conv-cancel-all) (setq pobox-pat (substring pobox-pat 0 -1)) (pobox-set-cands pobox-pat) (pobox-erase-cand-list) (pobox-erase-curstr) (condition-case nil ;; buffer の最後だとエラーになるよ (pobox-disp-curstr) (error nil)) (pobox-disp-cand-list) ;; (pobox-disp-input) (setq pobox-input-column (1- pobox-input-column)) (unless (eq (char-before) ?\]) (when (search-backward "]" nil t) (goto-char (match-end 0))))))))しかし、あまりといえば、あまりに適当な逃げだな。
(substitute-key-definition 'self-insert-command 'pobox-keyin map global-map)な感じのところは、なぜだかめちゃくちゃ時間がかかってしまうので、三ケ所ほど、
(let ((i 33)) (while (< i 127) (define-key map (vector i) 'pobox-keyin) (setq i (1+ i))))な風に変えた。最後の一個は 'pobox-narrow-keyin ね。
% cd ~/Documents % ln -s /home/zaurus homeとかやっていたのだが、さっき、GUI でソフトをインストールしようと思ったら、ソフトウェアインストーラがリンクをたどって無限ループに入ってしまったようだ。うーーむ。
△ TrackBack [http://tty0.exblog.jp/2661744 徒然な覚書 ElScreen, Emacs 22.0.5..]