トップページunix
1001コメント304KB

Navi2ch for Emacs (Part 12)

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
Emacsen で動く 2ch 用ブラウザ、Navi2ch スレッド Part 12 です。

* Navi2ch Project Home Page
http://navi2ch.sourceforge.net/

* よくある質問とその答え
http://navi2ch.sourceforge.net/doc/navi2ch/FAQ.html

* 前スレ Navi2ch for Emacs (Part 11)
http://pc.2ch.net/test/read.cgi/unix/1065246418/

* テストは以下で。このスレでテストするのはやめてちょ。
運用情報板 http://qb.2ch.net/operate/ の書き込みテストスレ
navi2chテスト板 http://jbbs.shitaraba.com/computer/2452/

過去スレなどは >>2-10 あたり。
0124122NGNG
>>123
んじゃ、とりあえず載せてみます。

navi2ch が起動してなくても、
M-x my-navi2ch-headline-auto-check
で開始します。スレ自動取得後は、sleep-for するので、
解除したいときには C-g で。

(defun my-navi2ch-headline-auto-check ()
(interactive)
(unless (featurep 'navi2ch) (navi2ch))
(let ((target-board "bbynews")
(sleeping-minute 30))
(my-navi2ch-list-goto-board target-board)
(while t
(my-navi2ch-headline-check))))

;; 次に続く...
0125122NGNG
>>124 の続き

(defun my-navi2ch-headline-check ()
(sit-for 0)
(navi2ch-bm-mark-by-query "^[ ]*[0-9]+[ ][ %][^CU]")
(sit-for 0)
(navi2ch-bm-fetch-mark-article)
(message
(concat "Finishing checking at "
(format-time-string "%p%l:%M:%S" (current-time))
". Re-checking after " sleeping-minute " minute(s) ..." ))
(redraw-frame (selected-frame))
(sit-for 0)
(sleep-for (* sleeping-minute 60))
(navi2ch-board-sync))

;; 次に続く...
0126122NGNG
>>125 の続き

;; 以下、navi2ch-list-goto-board からのパクリ
(defun my-navi2ch-list-goto-board (target-board)
;;(interactive)
(let (alist board)
(setq alist (mapcar (lambda (x) (cons (cdr (assq 'id x)) x))
navi2ch-list-board-name-list))
(save-window-excursion
(setq board (cdr (assoc
;;(completing-read
;; (concat "board name"
;; (when default
;; (format "(%s)" (cdr (assq 'id default))))
;; ": ")
;; alist nil t)
target-board
alist))))
;;(setq board (or board
;; (assoc (cdr (assq 'id default)) alist)))
(when board
(when (eq (navi2ch-get-major-mode navi2ch-board-buffer-name)
'navi2ch-board-mode)
(navi2ch-board-save-info))
(navi2ch-list-select-board board))))

;; おしまい
0127名無しさん@お腹いっぱい。NGNG
開くスレの数の制限を、init.el に
(setq navi2ch-article-auto-expunge t)
(setq navi2ch-article-max-buffers 10)
と書いてやってるのですが、
この navi2ch-article-max-buffers の数字を一時的に変えることってできますか?

bookmark したスレのフィルター処理をまとめてしたくて、
m a m . とやったりする時に、1 とかに減らしたいんですけど。
init.el 書き換えて、navi2ch 起動しなおした方がいいですか?
0128名無しさん@お腹いっぱい。NGNG
>>127
*scratch* バッファで
(setq navi2ch-article-max-buffers 1) C-j とかじゃ駄目ですか?

もしくはこんなので m . の時だけ
navi2ch-article-max-buffers を 1 にするとか。(検証はしてません)

(defun my-navi2ch-bm-display-mark-article ()
(interactive)
(let ((navi2ch-article-max-buffers 1))
(navi2ch-bm-display-mark-article)))
0129名無しさん@お腹いっぱい。NGNG
>>127
ちなみになんで減らしたいの? 処理が早くなるのかな。
0130127NGNG
>>128 ありがとうございました。
my-navi2ch-bm-display-mark-article できました。
m a のあとで M-x my-navi2ch-bm-display-mark-article ですね。

数字変えて、名前変えた物も defun で用意して切替えられるようにしてみました。
# 数字を自分で入れられるようにできると良さそうですが。。lisp 勉強してみます。

*scratch* バッファの方でもやってみたけど、
ちゃんと動いてるのかどうか分かりません。一度できたような気がするのですが。
navi2ch-article-expunge-buffers の使い方とかも調べてみます。

>>129
! でいろいろ NG ワード増やしてたらだいぶ時間がかかるようになってしまって、
(bookmark をいくつか分けてあるのですが、)180 個くらいあるところで、
m a m . やって、だんだん遅くなって、下のようなメッセージが出て emacs が固まりました。
それで、過去スレ part 4 で制限できることを知って、
でも普段はそれほど必要ないのでかえられたらいいなと。
 bookmark ももっとちゃんと分類しなきゃなんですけど。

Warning: memory in use exceeds lisp pointer size
Killing some buffers may delay running out of memory.
However, certainly by the time you receive the 95% warning,
you should clean up, kill this Emacs, and start a new one.
0131128NGNG
>>130
> # 数字を自分で入れられるようにできると良さそうですが。。lisp 勉強してみます。
勉強中だと思いますがこんなのどうでしょう。

(defun my-navi2ch-bm-display-mark-article (&optional num)
(interactive "p")
(let ((navi2ch-article-max-buffers num))
(navi2ch-bm-display-mark-article)))
(define-key navi2ch-bm-mode-map "m." 'my-navi2ch-bm-display-mark-article)

C-u 数字 m . で navi2ch-bm-display-mark-article の値を変更できます。
m . だけなら navi2ch-bm-display-mark-article は 1 です。
0132名無しさん@お腹いっぱい。NGNG
書き込む時に空白を に変換してくれる、ってことできますか?
0133名無しさん@お腹いっぱい。NGNG
>>132
navi2ch-message-before-send-hook あたりでどうよ。
0134名無しさん@お腹いっぱい。NGNG
過去にその手のコードが貼られていたな
0135名無しさん@お腹いっぱい。NGNG
頭の悪い発言を色違いで表示できたら面白くないですか?
0136名無しさん@お腹いっぱい。NGNG
135が真っ赤に表示されました。
0137名無しさん@お腹いっぱい。NGNG
自分の出した記事を全部ログにとっておくことはできませんか?
info を見た限りでは出来なそうですけど。
0138名無しさん@お腹いっぱい。NGNG
>>137
出した記事って何ですか?
履歴? それとも 送信控え?
0139127NGNG
>>131 レスありがとうございます。短いコードだけどいろいろ分かった気がします。

Emacs Lisp の説明のサイトとかみながらいじってたらこんなのできました。
テスト,添削お願いします。

(defun my-navi2ch-change-article-max-buffers (numbers)
"navi2ch-article-max-buffers を変更し、越えていたら閉じる。"
(interactive "p")
(setq navi2ch-article-max-buffers numbers)
(navi2ch-article-expunge-buffers)
)
0140名無しさん@お腹いっぱい。NGNG
>>1-5 ってアンカーでエラー出るの漏れだけ?前はちゃんといけてた気がするんだが…

Emacs21,cvs 最新でつ。
0141名無しさん@お腹いっぱい。NGNG
>>140
w3m-async で emacs-w3m を使っているのに 200 レス。
0142名無しさん@お腹いっぱい。NGNG
>>141
もちっとヒントキボンヌ
0143名無しさん@お腹いっぱい。NGNG
書き込みで「もうちょっと待ってください」等のエラーが出た場合、message
ウィンドウが消えてしまいますが、どうやって復活させればいいんでしょうか?
0144名無しさん@お腹いっぱい。NGNG
C-c C-i とかいう話?
0145名無しさん@お腹いっぱい。NGNG
>>140
俺は無問題。どんなエラーが出るか書くべし。
0146名無しさん@お腹いっぱい。NGNG
>>143
FAQ 読んどけ。
0147名無しさん@お腹いっぱい。NGNG
navi2ch-logo.elを使ってみたいのですがどうやって
導入すればよいのかわかりません。
とりあえず~/.navi2chに放り込んでinit.elいじればよいのでしょうが
イマイチわからないのでご教示願います。クダ質ですいません。
0148147NGNG
と環境も書かずにすいません。emacs21でCDE上で動かしてます。
で,過去ログ漁っていると
(require 'navi2ch-logo)
(add-hook 'navi2ch-hook 'navi2ch-logo-init)
だけで逝けると書いてありますがnavi2ch-logoが見つからないと
怒られます。これはどこにあるのでしょうか?
ググっても見つかりませんでした・・・
0149名無しさん@お腹いっぱい。NGNG
インストールしろよ…
0150147NGNG
いや。navi2ch-logoってのがググっても見あたらないのです。
navi2ch-logo.elとかnavi2ch-logo.xpmってのはあるんですけど。
navi2ch-logo.elをrenameしてみたりしたのですが
それじゃ動きませんでした。
0151名無しさん@お腹いっぱい。NGNG
とりあえず>147は一般的なelispアプリケーションについて最低限の知識を得ることを薦める。
今の無知なままグダグダ書かれてもスレ汚しなだけ。
0152名無しさん@お腹いっぱい。NGNG
>>150
それはだね、navi2ch.el が load-path のとおった所に置かれてないから。
~/.navi2ch の下に置いてんだろ。
そこに load-path をとおすか(普通やらない)、load-path のとおった場所に
置きなさい。
0153147NGNG
elispとは何か。から調べてみます。
load-pathを調べて出てきたところにnavi2ch-logo.elを突っ込んだら
怒られなくなりました。
今度はスレを開こうとするとcovertが見つからないと出ます。
外部プログラムとはいうもののconvert .tar.gz XPM とかキーワード煎れても
全く見つかりません。あまりにもクダ質ですがどこにあるかご教示願います。
あるいは
0154名無しさん@お腹いっぱい。NGNG
>>153 ImageMagick をインスコしる!!
0155名無しさん@お腹いっぱい。NGNG
>154
もうやめとけって釣りだろ釣り
0156名無しさん@お腹いっぱい。NGNG
ところで 1.7.1 と cvs との機能差ってどれぐらいあるの?
(´-`)。oO(やはり cvs を追ったほうが良いのかのぅ…
0157名無しさん@お腹いっぱい。NGNG
↓らしいですよ。

Meadowについて語るスレ その4

From: [54] 名無しさん@お腹いっぱい。 <sage>
Date: 04/02/25 18:39 ID:JJn6VohN

>>34
> Meadow2.00pre1でnavi2chを使っています。

beta2 でもなるから、navi2ch か BBS の問題では。
0158名無しさん@お腹いっぱい。NGNG
Emacs 21.3 on FreeBSD、Meadow 1.15 だと平気だけどね
0159名無しさん@お腹いっぱい。NGNG
メッセージモードで書き込みのプレビューをaa-viewで見ることはできますか?
0160名無しさん@お腹いっぱい。NGNG
>>159
(setq navi2ch-mona-on-message-mode t) じゃ駄目か?
0161名無しさん@お腹いっぱい。NGNG
次スレに移行する時とかに navi2ch-mona-enable-article-list を
イチイチ設定するの面倒なんだけど、なんかイイ方法ない?
0162名無しさん@お腹いっぱい。NGNG
>>161 navi2ch-tugisure-hook を使う
0163名無しさん@お腹いっぱい。NGNG
>>161
navi2ch-mona.el:1.33 以降で
(add-to-list 'navi2ch-mona-disable-list
(lambda ()
(let ((case-fold-search t)
(subject (cdr (assq 'subject
navi2ch-article-current-article))))
(and (stringp subject)
(string-match "navi2ch" subject)))))
みたいなことをできるようにしてみた。
0164名無しさん@お腹いっぱい。NGNG
さっきcoしてきたやつ、configureでエラーがでまつ。
./configure: line 1137: syntax error near unexpected token `link-lisp,'
./configure: line 1137: ` AC_CONFIG_COMMANDS(link-lisp,'
0165名無しさん@お腹いっぱい。NGNG
>>164
俺は出ないよ.Emacs 21.3.50 を使ってる.
0166名無しさん@お腹いっぱい。NGNG
AC_CONFIG_COMMANDS なんてのが残ってるってことは、自分で autoconf
したのかな。
0167名無しさん@お腹いっぱい。NGNG
>>166
自分で作ったらしいファイルを消して
coし直しでOKでした。ありがとうございました。
0168名無しさん@お腹いっぱい。NGNG
まちBBS関東 を見ているのですが、次スレの誘導とかで、
下のように kanto.machi.to ではなく 203.192.159.253 と書かれていると、
navi2ch で開けず、ブラウザーで開くようになってしまうのですが、
どこかいじると開くことができるようになりますか?
たとえば、こんな URL
http://kanto.machi.to/bbs/read.pl?BBS=kanto&KEY=1038315936&LAST=50
http://203.192.159.253/bbs/read.pl?BBS=kanto&KEY=1038315936&LAST=50

それともうひとつ、フィルター処理なんですけど、
h キーで hide と そうじゃないものを切替える時に、
毎回フィルター処理が実行されるのですが、そういうものなのでしょうか。
d で hide を解除したレスが h を押すと再びフィルター処理で隠されてしまう。
! で登録したものじゃなくて自分で d で消したレスは平気なのですが。
0169名無しさん@お腹いっぱい。NGNG
パッと思い付くのは
(setq navi2ch-article-filter-list
'((lambda () (replace-string "http://203.192.159.253/" "http://kanto.machi.to/"))))
などとして、記事にフィルタをかけるとか。

後半に関しては、自分も面倒だと思うことがあるけど、どのみち引っ掛かっている
フィルタ条件を調整する必要があるだろうし。以前、この辺りの挙動を変える
オプションがあったような。統合されたときになくなったのかな。

単に hide されたレスを見たいだけのときは、F で一時的に filter を切ってから
行き来することがあるけどね。
0170名無しさん@お腹いっぱい。NGNG
こんなんでどうかな。

(defvar my-navi2ch-translate-url-regexp-list
'(("\\`http://203.192.159.253/" . "http://kanto.machi.to/")))

(defadvice navi2ch-article-select-current-link-url
(before my-translate-url-navi2ch-article-select-current-link-url activate)
(dolist (elt my-navi2ch-translate-url-regexp-list)
(catch :break
(when (string-match (car elt) url)
(setq url (replace-match (cdr elt) nil nil url))
(throw :break nil)))))
0171名無しさん@お腹いっぱい。NGNG
>>170
問題は my-navi2ch-translate-url-regexp-list をどうやって管理するかだな。
0172168NGNG
>>169 >>170-171 ありがとうございました。
一個だけの状態だと、>>169 だと TAB で URL のところに移動したときに、
板の名前を表示できたので便利に感じました。

数字のままで表示されていたほうがいいのか、書き換えられたほうがいいのか、
ちょっと分かりませんが。

> フィルタ処理
フィルタ処理の動作全体を把握しないとダメですかね。
素直に F で切ったほうが楽な気がしてきたけど、のんびり読んでみます。
0173名無しさん@お腹いっぱい。NGNG
既出かも知れませんが、メニュー画面で例えば "k" を押すと今日の日付のファイル
を検索するようにするにはどうすれば良いでしょうか? 押すキーは "k" でなくても
何でもいいのですし、「今日の日付のファイル」でなく「今日の日付」の検索でも
構いません。要は今日書いたメモを素早くリストしたいということです。
0174173NGNG
すいません。誤爆です。 はづかし。。。
0175名無しさん@お腹いっぱい。NGNG
C-Dでレス消しちゃったんですけど、どうやったらまた見れるようになります?
0176名無しさん@お腹いっぱい。NGNG
h d
0177extraNGNG
>>168
> d で hide を解除したレスが h を押すと再びフィルター処理で隠されてしまう。
d ではなく C-u d で解除すると、再びフィルタされないようになります。

>>169
> フィルタ条件を調整する必要があるだろうし。以前、この辺りの挙動を変える
> オプションがあったような。統合されたときになくなったのかな。
この辺はどうしようか迷ったんですが、cancel は結局繁雑になるので廃止し
ました。その代わりが上記 C-u d という形になっています。
0178名無しさん@お腹いっぱい。NGNG
別個に保存しておいたdatを見るキーバインドって何だっけ(忘れた)
0179名無しさん@お腹いっぱい。NGNG
C-c C-f
0180名無しさん@お腹いっぱい。NGNG
Meadow2.00b2+navi2ch cvs + spamfilter + navi2ch-spamfilter
でtokenizerにchasenを使ってみようと思ったのですが、
'chasen-sync-tokenize-stringの実行時にオプションが渡されなくてこんなエラーが出ます。

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
call-process("chasen" nil nil nil nil "-o" "c:/home/tmp/chasen-tmp-3244z4U.cha" "c:/home/tmp/chasen-tmp-3244z4U")

chasen.elの'execute-chasen-program部分に直接オプションを書くとうまくいったのですが、
'chasen-default-bindマクロがうまく動いていないみたいです。
elisp環境に何か問題があるのでしょうか?
0181名無しさん@お腹いっぱい。NGNG
navi2chでhttp://nych.infoは読めないな?

0182168NGNG
>>177
> d ではなく C-u d で解除すると、再びフィルタされないようになります。
読めるようになりました。ありがとうございました。
0183名無しさん@お腹いっぱい。NGNG
>>180 うちでもそうなりました。ちょっと調べてみます。
0184名無しさん@お腹いっぱい。NGNG
04/03/07 更新の http://www.ff.iij4u.or.jp/~ch2/bbsmenu.html
でboard.txtを消したら板一覧が表示されなくなったよー
0185名無しさん@お腹いっぱい。NGNG
未読処理するのに,I (or mami) した後で t で offline にして読んでるのですが,
filtering が遅いのであまり快適ではありません.mam. すると未読フラグがクリア
されてしまうし.みなさんどうやって未読処理をされてるのでしょうか?
0186名無しさん@お腹いっぱい。NGNG
>>184
List モード で C-u s したらどう?
0187139NGNG
>>185
処理したいスレだけ * でマークして、mA で midoku とかそんな名前のブックマークグループに
一時的にブックマークしてしまえばいいかと。
読み終わったら、D で midoku ごと削除してしまうとか。

手前味噌ですが、スレがそれほど多くなければ、
>>139 をつかって表示スレ数を処理したいスレの数にしてから、
* でマークして m. とやってもいいかと。これだと処理したスレだけ V になります。

とりあえず、ma ではなくて * でスレを選べばいろいろできると思います。
0188名無しさん@お腹いっぱい。NGNG
>>186
ありがとう。あまりに基礎的なことを忘れてたよ。
吊ってきます・・。
0189名無しさん@お腹いっぱい。NGNG
A Boneのスレッド倉庫みたいな機能ってありますでしょか?
0190名無しさん@お腹いっぱい。NGNG
Articleモードで"RET"でリンク先に飛べますが、
そこから元の場所に戻るにはどうしたら良いのでしょう?
0191名無しさん@お腹いっぱい。NGNG
Articleモードで C-h m して表示される内容を読めば分かる。
navi2chってかemacsの基本。
0192名無しさん@お腹いっぱい。NGNG
>>189
A Boneのスレッド倉庫がどういったものかを説明してくれないと
0193名無しさん@お腹いっぱい。NGNG
>>192
自分専用ローカルな板を作成して、そこにexpireしなくてdat追ちもしない
スレッドをstock出来るということです。
0194名無しさん@お腹いっぱい。NGNG
グローバルブックマークに入れとけば?
0195名無しさん@お腹いっぱい。NGNG
「自分専用ローカルな板」ってイマイチ使い道がピンと来ないな…
0196名無しさん@お腹いっぱい。NGNG
グローバルブックマークだな。
0197名無しさん@お腹いっぱい。NGNG
>>196
> グローバルブックマークだな。

それって、dat落ちしても大丈夫なんですか?
0198名無しさん@お腹いっぱい。NGNG
navi2chのほうにキャッシュが残ってればね。
0199名無しさん@お腹いっぱい。NGNG
xemacsのversion上げたら外部ブラウザーの起動が出来なくなったよ。
URLにカーソルおいてRETしても"loading executable...done"って
でるだけで変化なし。2ch内は問題なく移動できるだけど。

FreeBSDで
ja-xemacs-canna-21.1.14 から ja-xemacs-mule-canna-21.4.14_1

navi2chはcvsの最新です。

0200名無しさん@お腹いっぱい。NGNG
ブラウザを起動してるのは Navi2ch じゃないからスレ違い。
0201199NGNG
>>200

やっぱり、そうですか。
あんまりlisp詳しくないので調べられない。
ググルりたいのでヒントでも頂戴。
0202名無しさん@お腹いっぱい。NGNG
うざい。
0203名無しさん@お腹いっぱい。NGNG
>>202
約36,600件も出ます。もっと絞り込みたいんですが。
0204名無しさん@お腹いっぱい。NGNG
>>199
browse-url の問題じゃないですか? emacs スレで聞けば?

ところで、
板に現在ないスレで、しかもキャッシュしてあるスレを一覧することできないですか?
0205名無しさん@お腹いっぱい。NGNG
>>201
.emacsが最後まで、というか browse-url の設定のところまでも
エラーで設定が反映されていないのに、1票。後は、emacsスレで・・・
0206名無しさん@お腹いっぱい。NGNG
>>204
? o
0207名無しさん@お腹いっぱい。NGNG
>>206
ありがとうございます。
でも UNIX 板でやったら 10 分くらいガリガリいって止まらなくなったので C-g しました。
4 年分くらいあるからな。
一回やって、大事そうなスレは global bookmark しといた方がいいですね。
0208名無しさん@お腹いっぱい。NGNG
~/.navi2ch の下にごみディレクトリが一杯残っているんだけど、何かの処理がまずいのかな
0209名無しさん@お腹いっぱい。NGNG
>>208
ごみディレクトリって?
0210名無しさん@お腹いっぱい。NGNG
エディタはGvim
メールはBecky2
2chはnavi2ch

だあああああ!!ゴルア!!
0211名無しさん@お腹いっぱい。NGNG
はいはい。
0212名無しさん@お腹いっぱい。NGNG
何故あげるw
0213名無しさん@お腹いっぱい。NGNG
>>210
becky!じゃねえの?
「!」ぷ
0214名無しさん@お腹いっぱい。NGNG
グローバルブックマークって、フォルダーを作って
階層構造に出来ないですか?
0215名無しさん@お腹いっぱい。NGNG
>>214
どういうこと?
0216名無しさん@お腹いっぱい。NGNG
ブックマーク
 └モナー板
   └ふわしぃ


みたいに、階層構造に出来ないかと思いまして。
0217名無しさん@お腹いっぱい。NGNG
>>216
グローバルブックマークを複数作るだけじゃだめ?
0218名無しさん@お腹いっぱい。NGNG
ブックマーク名で先頭にスペース入れて、それっぽく見えるようにするとか。
0219名無しさん@お腹いっぱい。NGNG
たまにマシンのフリーズ他で、navi2chを結果的に異常終了させる事があります。
すると、その時見ていた新規スレッドは履歴に残りません。
履歴の更新タイミングを、navi2chの終了時ではなく、
板を開いた時に行う事は出来ませんか?
0220名無しさん@お腹いっぱい。NGNG
navi2ch-board-mode-hook にでも仕込めば。navi2ch-save-status を呼ぶのは
重いし無駄だから、navi2ch-save-status-hook にあるもののうち好きなのだけを
選えばよかろう
0221名無しさん@お腹いっぱい。NGNG
そうだね。自分は一時期 21.3.50 がたまに落ちてたので idle-timer で暇な時
にセーブするようにしてる。
0222名無しさん@お腹いっぱい。NGNG
実況などをみるときのために、
全てのfilter機能を一時的にOFFにする方法はありますか?
0223名無しさん@お腹いっぱい。NGNG
つーか、実況板で1行1レスの lisp って実装されてたっけ?(前スレで貼られてたやつ)
■ このスレッドは過去ログ倉庫に格納されています