(add-hook 'w3m-mode-hook
(lambda ()
(define-key w3m-mode-map "\M-k" 'w3m-shimbun-noextract)
(define-key w3m-mode-map "\M-K" 'w3m-cookie)))
(setq w3m-use-filter t)
(setq w3m-filter-rules
`( ;; ....
("\\`http://www.?\\.yomiuri\\.co\\.jp/" w3m-filter-yomiuri-kiji)
("\\`http://www.?\\.sankei\\.co\\.jp/" w3m-filter-sankei-kiji)
("\\`http://www.?\\.asahi\\.com/" w3m-filter-asahi-kiji)))
(defun w3m-shimbun-noextract ()
(interactive)
(if (not (and w3m-current-url
(or
(string-match "\\`http://[^.]+\\.asahi\\.com/" w3m-current-url)
(string-match "\\`http://[^.]+\\.sankei\\.co\\.jp/" w3m-current-url)
(string-match "\\`http://[^.]+\\.yomiuri\\.co\\.jp/" w3m-current-url))))
(message "読売新聞/産経新聞/朝日新聞だけよ")
(w3m-redisplay-this-page)))
(defun w3m-filter-yomiuri-kiji (url)
(when (and (or (featurep 'shimbun) (require 'shimbun))
(fboundp 'shimbun-japanese-hankaku-buffer))
(shimbun-japanese-hankaku-buffer t))
(unless (eq this-command 'w3m-shimbun-noextract)
(let (start end)
(goto-char (point-min))
(when (search-forward "</head>" nil t)
(setq start (match-end 0))
(when (search-forward "<!--// headline_start //-->" nil t)
(delete-region start (match-beginning 0))
(when (search-forward "<!--// article_end //-->" nil t)
(setq start (match-end 0))
(when (search-forward "</body>" nil t)
(delete-region start (match-beginning 0))
(when (search-forward "</html>" nil t)
(delete-region (match-end 0) (point-max))))))))))
(defun w3m-filter-sankei-kiji (url)
(when (and (or (featurep 'shimbun) (require 'shimbun))
(fboundp 'shimbun-japanese-hankaku-buffer))
(shimbun-japanese-hankaku-buffer t))
(unless (eq this-command 'w3m-shimbun-noextract)
(let (start end)
(goto-char (point-min))
(when (search-forward "<body>" nil t)
(setq start (match-end 0))
(when (search-forward "<!--▼記事本文▼-->" nil t)
(delete-region start (match-beginning 0))
(when (search-forward "<!--▲記事本文▲-->" nil t)
(setq start (match-end 0))
(when (search-forward "</body>" nil t)
(delete-region start (match-beginning 0))
(when (search-forward "</html>" nil t)
(delete-region (match-end 0) (point-max))))))))))
(defun w3m-filter-asahi-kiji (url)
(when w3m-use-mule-ucs
(goto-char (point-min))
(let ((case-fold-search t)
end ucs)
(while (re-search-forward "alt=\"\\([^\"]+\\)" nil t)
(goto-char (match-beginning 1))
(setq end (set-marker (make-marker) (match-end 1)))
(while (re-search-forward "\\([0-9]+\\);" (max end (point)) t)
(setq ucs (string-to-number (match-string 1)))
(delete-region (match-beginning 0) (match-end 0))
(insert-char (w3m-ucs-to-char ucs) 1)))))
(when (and (or (featurep 'shimbun) (require 'shimbun))
(fboundp 'shimbun-japanese-hankaku-buffer))
(shimbun-japanese-hankaku-buffer t))
(unless (eq this-command 'w3m-shimbun-noextract)
(let (start end)
(goto-char (point-min))
(when (search-forward "</head>" nil t)
(setq start (match-end 0))
(when (or (search-forward "<h1 class=\"kijimidashi\">" nil t)
(search-forward "<!-- Start of Headline -->" nil t)
(search-forward "<!-- Start of photo -->" nil t)
(search-forward "<!-- Start of Kiji -->" nil t))
(delete-region start (match-beginning 0))
(when (or (search-forward "<!-- google_ad_section_end" nil t)
(search-forward "<div class=\"clear\">" nil t)
(search-forward "<div class=\"pr\">" nil t)
(search-forward "<div class=\"list\">" nil t))
(setq start (match-beginning 0))
(when (search-forward "</body>" nil t)
(delete-region start (match-beginning 0)))
(goto-char (point-min))
(while (re-search-forward "<table [^>]+>" nil t)
(delete-region (match-beginning 0) (match-end 0)))
(goto-char (point-min))
(while (search-forward "</table>" nil t)
(delete-region (match-beginning 0) (match-end 0)))))))))
本文だけになった記事の全部をみたいときは、M-k を押す。もともと M-k だった w3m-cookie() は M-K へ移動ふと気づくと、ダンの左後ろ足の(人間で言えば)くるぶしの部分が赤く剥けてしまっている。
2年ほど前に発疹が出たときに同じようになって、そのときは何箇所もだめだったんだけど、今回はからだ中探しても変なのはくるぶしの部分だけだ。
どうしたのかなぁ?と考えたのだけど、もしかするとストレスかも。だって、お雛様を上の写真のように出しちゃったので、土曜日からの食事は下の写真のように昔の座って食べるテーブル引っ張り出して食べているのだが、ダンにしてみれば、朝、(だれかいるときは)昼、晩と今までにやらせたことが無いぐらいの長時間の『待て!!』を一日何回もやっているようなもんだもんな。
土曜日にお雛様をしまってから、じっくりと薬用シャンプーで揉み洗いしますか。
で、ここにダンが待てをしている写真を貼る予定
もうすぐ息子の卒業式なのだが、すでに 165cm もあるために、知合いの子供が使った卒業式キットの服が全然着れない。最初、コナカかどこかでスーツ買おうかとも思ったんだけど、1〜2回しか着ないのにもったいない。
というわけで、女房が仕事先の若いにいちゃんからスーツ一式を借りてきてくれた。ちょっと大きいけど許容範囲。
ちなみに、革靴はぼくが足が今よりもちょっとだけ小さかった 10年前の綺麗な革靴を流用なので、にいちゃんへのお礼とクリーニング代だけで済みますよ。あと、ワイシャツを留めるゴムバンドぐらいかな。
で、ここに息子のコスプレの写真を貼る予定
3年ぶりぐらいの大阪。だって、明日 10時から会議なんだもん。朝5時過ぎに家を出ればぎりちょんで間に合うのだけど、そんなハードなことをやったら一週間の残りが潰れちゃうので、素直に前泊を選択。だれも文句を言わず。
会社を出る前にちょっと余裕があったので w3m-session.el の拡張をしたのだが、ちょっと(?)失敗していて 30分ぐらいの時間 NG なコードを CVS に登録してしまっていた。会社を出る直前に気づいて大慌てで直したのは内緒だ。
そこは、東京じゃない!千葉だ!!浦安だ!!!と思ったのは、すでに 20年以上前か > ネズミーランド
なにも無い埋立地のど真中にシンデレラ城だけ建っていたなぁ。
本家ららぽーとは東京湾だからセーフ。
ネズミーランドと違って、新横浜もりっぱに横浜市内なんだから横浜でいいじゃん。このあたりは東の方に住んでいるか、西の方に住んでいるかの感覚の違いかな。
emacs-w3m で複数のタブ(というかバッファ)を開いているときに、他のバッファに移動するには思いつくままに感想付きで書くと
というものが揃っている。ちょっとだけ不便に感じるのは、
というときかな。
(add-hook 'w3m-mode-hook
(lambda ()
(let ((key1 ?\C-0)
(key2 ?\M-0)
(ch 0))
(while (< ch 10)
(define-key w3m-mode-map (vector (+ key1 ch)) 'w3m-goto-buffer)
(define-key w3m-mode-map (vector (+ key2 ch)) 'w3m-goto-buffer)
(setq ch (1+ ch))))))
(defun w3m-goto-buffer (&optional arg)
"Goto w3m buffer to accompany inputed numbers.
C-2 => *w3m*<2>
M-0 => *w3m*<max>
12M-3 => *w3m*<123>"
(interactive "p")
(let* ((num (+ (- (logand last-command-char ?\177) ?0)
(if (not current-prefix-arg)
0
(* arg 10))))
(max (length (w3m-list-buffers 'nosort)))
(bufname (cond
((or (= num 1) (= max 1))
"*w3m*")
((or (= num 0) (> num max))
(format "*w3m*<%d>" max))
(t
(format "*w3m*<%d>" num))))
(buf (get-buffer bufname))
win)
(if (not (and buf (buffer-live-p buf)))
(message "No exist w3m buffer \"%s\"" bufname)
(cond
((eq major-mode 'w3m-mode)
(set-window-buffer (selected-window) buf))
((setq win (catch 'win
(walk-windows
(lambda (w)
(save-excursion
(set-buffer (window-buffer w))
(when (eq major-mode 'w3m-mode)
(throw 'win w)))))))
(select-window win)
(set-window-buffer win buf))
(t
(pop-to-buffer buf)))
(message "Goto w3m buffer \"%s\"" bufname))))
C-2 とか M-5 とか押すとそのバッファに直接ジャンプ。C-0, M-0 は一番右側。必要ないと思うけど、もし、二桁以上の emacs-w3m のバッファがあってそいつに跳びたかったら 1 2 C-3 で *w3m*<123>に跳ぶ。墓参りに自転車で行くときに、前を走っていた娘の自転車にわき見運転で突っこんで、自転車から前方に飛び出して前まわり受身をしてしまったんだが、ちょっとだけ左ひざと右肩が痛い。ちょっとなのでラッキーか。
4月の頭に通勤定期が切れるので、気合を入れて二駅先の窓口に行って PASMO定期券を作ってきた。ついでに 5000円チャージ。Suica定期券って出た当初から結構憧れていたのよね。
パスネットや共通バス券はこの日のために「0円」になっても新たに買わなかったし、必要がなくなった Suica は娘にあげて有効利用。
朝、息子とその仲間の四人を送ってきた。8時開場なので 7:30 には現地に着くように行ったのだが、いやぁ、めちゃめちゃ混みそうな人の出足でしたぞ。今日だけちょっと花冷えで寒い。特に浦安の海沿いは寒いぞ。
ちなみに知っている人は知っていると思うが、ランドもシーも駐車場のゲートで「送迎で〜〜す」と言うと無料で(10分間だったと思う)入り口近くの乗り降り場まで行けるので便利。
帰りは周辺が無茶苦茶混んでいて嫌なので、京葉線で葛西臨海公園駅まで来させて、そっちに迎えにいくように決めた。なので、花見には行けないの ;_;
△ kose [不動産屋がつける名前は地名からではなくて、値があがりそうな駅名だったりしますからね。(それが最寄り駅ではなくても) ..]