Navi2ch for Emacs (Part 12)
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。
NGNG* 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 あたり。
0813名無しさん@お腹いっぱい。
NGNG1.7.2 でも emacs20 だと化けました。% が %% になってしまいます
0814名無しさん@お腹いっぱい。
NGNGhttp://prdownloads.sourceforge.net/navi2ch/navi2ch-1.7.3.tar.gz?download
0815名無しさん@お腹いっぱい。
NGNG0816名無しさん@お腹いっぱい。
NGNG気のせいですか?
0817名無しさん@お腹いっぱい。
NGNG- navi2ch-multibbs-send-message-retry-comfirm-function
+ navi2ch-multibbs-send-message-retry-confirm-function
実害は無いけど
0818名無しさん@お腹いっぱい。
NGNGnavi2ch-board-insert-subject-with-{diff,unread} の値に従って、増分と未読数を
表示します。
(defun navi2ch-bookmark-insert-subject (num item &optional res)
(let* ((brd (navi2ch-bookmark-get-board item))
(art (navi2ch-bookmark-get-article item))
(name (cdr (assq 'name brd)))
(sbj (cdr (assq 'subject art)))
(newres (navi2ch-bookmark-get-article-responses item))
(read (navi2ch-article-get-last-read-number brd art))
(resstr
(concat "("
(format "%d" newres)
(and navi2ch-board-insert-subject-with-diff
res
(format "/%+d" (- newres res)))
(and navi2ch-board-insert-subject-with-unread
read
(format "/Δ%d" (max 0 (- newres read))))
")"))
(navi2ch-bm-subject-width (+ (- navi2ch-bm-subject-width
(string-width resstr))
5;depend on frame-width
)))
(navi2ch-bm-insert-subject
item num sbj (format "%s [%s]" resstr name))))
0819818
NGNG(defun navi2ch-bookmark-get-article-responses (item)
(let ((file (navi2ch-article-get-file-name
(navi2ch-bookmark-get-board item)
(navi2ch-bookmark-get-article item))))
(if (file-exists-p file)
(navi2ch-count-lines-file file)
0)))
(defadvice navi2ch-bookmark-fetch-article
(after navi2ch-bookmark-fetch-article-redraw-line activate)
(when ad-return-value
(save-excursion
(let ((item (navi2ch-bookmark-get-property (point)))
(buffer-read-only nil) num res)
(beginning-of-line)
(when (looking-at (concat " *\\([0-9]+\\).*( *\\([0-9]+\\)"
"\\(/ *\\+[+0-9]+\\)?\\(/ *Δ[0-9]+\\)?)"
" +\\[[^]]+\\]$"))
(setq num (string-to-number (match-string 1)))
(when (match-string 2)
(setq res (string-to-number (match-string 2))))
(delete-region (point) (navi2ch-line-beginning-position 2))
(navi2ch-bookmark-insert-subject num item res))))))
0820818
NGNGしやすいです。Mew から mew-substring をパクってきて (例えば navi2ch-substring
とかの名前で defun して)、navi2ch-bookmark-insert-subject の最後で
(navi2ch-bm-insert-subject item num
(navi2ch-substring sbj (1- navi2ch-bm-subject-width) t)
(format "%s [%s]" resstr name))
とかすると、長すぎる分を切り詰めてくれます。
0821名無しさん@お腹いっぱい。
NGNGttp://uploader.org/normal/data/up6645.tgz
【内容】
・既出の「D マーク」「増分」「総レス数」パッチなどの機能強化 & 履歴対応
・global bookmark を対象とした自動巡回
【使い方】
・以下の 3 つの関数をインライン関数では無く、通常の関数として定義し、
navi2ch 全体を make する(もしくは elc を全部消す)。
・navi2ch-bm-set-property
・navi2ch-bm-get-state-from-article
・navi2ch-bm-insert-subject
・init.el に (require 'my-navi2ch-patrol) を記入。
自動巡回がいらないなら (require 'my-navi2ch-article-info) で OK。
・自動巡回は M-x my-navi2ch-patrol
増分等は global bookmark 等で c を押す。
こまかい設定は doc-string を参照。
【注意】
info に幾つかデータを追加します(総レス数等)。
【おまけ】
(add-hook 'navi2ch-bm-mode-hook (lambda () (setq truncate-lines t)))
を init.el に書いとくことを推奨。
0822名無しさん@お腹いっぱい。
NGNG0823名無しさん@お腹いっぱい。
NGNG荒らしツール認定されかねない機能は実装しない方がいいかと。
0824名無しさん@お腹いっぱい。
NGNGなるほど。確かにそうですね。
それで荒されたらたまりませんね。
規制対策としではタイマーのような物が最適ということに
なりそうですね。
0825名無しさん@お腹いっぱい。
NGNGw C-c C-i ってことじゃなくて?
0826名無しさん@お腹いっぱい。
NGNG∩
( ⌒) ∩_ _グッジョブ !!
/,. ノ i .,,E)
./ /" / /"
_n グッジョブ!! ./ /_、_ / ノ'
( l _、 _ / / ,_ノ` )/ / _、 _ グッジョブ!!
\ \ ( <_,` )( /( ,_ノ` ) n
ヽ___ ̄ ̄ ノ ヽ |  ̄ \ ( E)
/ / \ ヽフ / ヽ ヽ_//
0827名無しさん@お腹いっぱい。
NGNG移さなくてはいけないデータ(バックアップリスト)みたいなものって
ありませんか?
.emacs
.navi2ch
site-lisp/navi2ch/*
を移したのですが書き込みができなくなってしまいました。
0828名無しさん@お腹いっぱい。
NGNG0829名無しさん@お腹いっぱい。
NGNGHOSTCACHE=/tmp/dropem.host.cache
BBSMENU=/tmp/dropem.bbsmenu
wget -q -O $BBSMENU http://www.ff.iij4u.or.jp/~ch2/bbsmenu.html
sed -n -e 's,.*http://,,p' $BBSMENU | cut -d/ -f 1 | \
egrep "(2ch\.net|machi\.to|bbspink\.com)" | \
egrep '^[A-Za-z0-9\.]+$' | sort | uniq | \
while read h; do
host $h | cut -d ' ' -f 4 | egrep '^[0-9\.]+$' >> $HOSTCACHE
done
sort $HOSTCACHE | uniq | while read ip; do
iptables -A ppp-out -d $ip -j DROP
done
0830名無しさん@お腹いっぱい。
NGNG一度 navi2chを起ち上げなおさないと反映されない?
0831名無しさん@お腹いっぱい。
NGNG0832名無しさん@お腹いっぱい。
NGNG○○板がサーバ移転で見られなくなったみたい。どうしたらいい?
A.
変数 `navi2ch-list-moved-board-alist' で新旧 URL を変換できるよ。
(setq navi2ch-list-moved-board-alist
(("http://pc.2ch.net/unix/" . "http://pc3.2ch.net/unix/")
("http://pc.2ch.net/linux/" . "http://pc3.2ch.net/linux/")))
--------
cvs最新版のinfoですが、上の部分でクォートが抜けてますよね?
0833名無しさん@お腹いっぱい。
NGNG> Q. ○○板がサーバ移転で見られなくなったみたい。どうしたらいい?
A. *navi2ch list* で S
0834名無しさん@お腹いっぱい。
NGNG0836名無しさん@お腹いっぱい。
NGNGbbsmenu が更新される前は、ってことでしょ。
0837名無しさん@お腹いっぱい。
NGNGこれは仕様ですか?
0838名無しさん@お腹いっぱい。
NGNGnavi2ch-offline が non-nil だとまったく呼び出されてないよ。
837 の設定が変なんじゃないの?
0839名無しさん@お腹いっぱい。
NGNG再現手順の詳細きぼんん
それ俺も珠にある。
でも、これnavi2chの問題と違う気がする。
なんとなく。
>>839
ただ起動しるだけでなったりならなかったり。
navi2ch-offlineをnilにてC-u M-x navi2chで起動してもなる。
0841名無しさん@お腹いっぱい。
NGNGそりゃ、そういう実装だし。
0843名無しさん@お腹いっぱい。
NGNGとでもして、どこから呼び出されてるのかの確認でもしてろよ、キチガイ。
0844837
NGNGnavi2chはcvsのheadを使ってます。init.elを使わない状態でofflineにしても
回線切ったままスレを選ぶと
now connecting...
Error: pc5.2ch.net/80 No address associated with nodename
Error: Wrong type argument: processp, nil
if: Wrong type argument: stringp, nil
こんなメッセージが出ます。バッファに読み込み済みのスレはエラーが出ませ
ん。MacOS Xのcarbon emacsで動かしてるんですけど環境依存?
0845名無しさん@お腹いっぱい。
NGNG0846名無しさん@お腹いっぱい。
NGNG0847名無しさん@お腹いっぱい。
NGNG0848名無しさん@お腹いっぱい。
NGNG0849名無しさん@お腹いっぱい。
NGNG(setq navi2ch-display-splash-screen nil)
あたり?
M-x describe-variable で、navi2ch- まで入れてスペース打って、
補完候補リストのバッファに移り、C-s で splash で検索かければ
すぐにわかる。この手の「探り方」は Emacs 使う上では必修ですよ。
0850名無しさん@お腹いっぱい。
NGNG0851名無しさん@お腹いっぱい。
NGNG0852名無しさん@お腹いっぱい。
NGNG0853名無しさん@お腹いっぱい。
NGNGemacs起動しっぱなしだとnavi2chも終了しないために敗北しました。
そこで板ごとに一日一回に制限するadvice。
これで何とかなるといいなあ、ホント。
履歴とかブックマークとか考えると結局はスレ単位でやらないといけないと思うけど、
それだと実況スレとか同様に更新が激しいところで不幸になるのが悩みどころ。
(defvar my-navi2ch-board-last-seen (make-hash-table :test 'equal))
(defvar my-navi2ch-board-do-your-business-message
"この板は今日はもう見ました。もっと有意義なことをしましょう!"
"24時間以内に同じ板をsyncしようとしたときに表示するメッセージ。")
(defadvice navi2ch-board-sync (around my-navi2ch-board-once-a-day
activate)
(let* ((board-uri (assq 'id navi2ch-board-current-board))
(this-time (format-time-string "%Y%m%d"))
(last-time (and board-uri
(gethash board-uri
my-navi2ch-board-last-seen)))
(navi2ch-offline navi2ch-offline))
(if (string= this-time last-time)
(progn
(beep)
(message my-navi2ch-board-do-your-business-message)
(setq navi2ch-offline t))
(if board-uri
(puthash board-uri this-time my-navi2ch-board-last-seen)))
ad-do-it))
0854名無しさん@お腹いっぱい。
NGNGnavi2ch にかぎったことじゃない。
0855名無しさん@お腹いっぱい。
NGNGあと、Boardモードで、新着レスは、有無しかわからないのでしょうか。p2とかだと、新着レスの数がわかるので、祭スレ/もりsagaりスレがすぐに見付かるのですが。
0856名無しさん@お腹いっぱい。
NGNGA. ○○使えば?
0858名無しさん@お腹いっぱい。
NGNGA. 欲しかったら創れば?
0859名無しさん@お腹いっぱい。
NGNG(setq navi2ch-auto-modify-file (expand-file-name "filter" navi2ch-directory))
みたいにフィルタをサフィックスなしのファイル名にしていると
navi2ch-auto-modify-save-variables() の対象バッファが fundamental-mode
になるので forward-sexp() が意図した動作にならないのが原因みたい。
ファイル名を filter.el に変えるとエラー出ないので間違いないと思う。
対象バッファを emacs-lisp-mode に変更した上で処理してくれると嬉しいす。
0860名無しさん@お腹いっぱい。
NGNG> >>855
> 既出。過去ログ嫁。
どうもです。>>281,>>283のことでしょうか。
俺の環境では、この様に表示されていませんが、何か設定が必要になるのでしょうか。
0861名無しさん@お腹いっぱい。
NGNG0862名無しさん@お腹いっぱい。
NGNG0863名無しさん@お腹いっぱい。
NGNG0864名無しさん@お腹いっぱい。
NGNG0865名無しさん@お腹いっぱい。
NGNG0866名無しさん@お腹いっぱい。
NGNGスマソ。
ありがとうございました。
0867名無しさん@お腹いっぱい。
NGNG俺ばかり書いてスマソ
0868名無しさん@お腹いっぱい。
NGNGま、どうせおまいのレスに価値などないからいいけどさ。。。
0869名無しさん@お腹いっぱい。
NGNG0870名無しさん@お腹いっぱい。
NGNG0871名無しさん@お腹いっぱい。
NGNGpriceless {形}
金で買えない、極めて貴重な、すごく面白{おもしろ}い、非常にばかげた、
金で買えないほどの、非常に貴重な、千金の値打ちがある
0872名無しさん@お腹いっぱい。
NGNGしかも、新着スレ数は1。意味不明。
0873872
NGNGNavi2ch 1.7.3です。
0874859
NGNGごめん、嘘。ファイル名変えてもエラー出た_| ̄|○
Emacs 起動直後は
-!-'()
で forward-sexp() すると
'()-!-
になるんだけど(これが正しい動作だよね?)、しばらく Emacs 使っててエラー
が出るようになると
'-!-()
何故かこうなる。どいつが悪さしてるんだろう…。ちなみに Emacs は
21.3.50.
0875名無しさん@お腹いっぱい。
NGNGスレ一覧でbを押してbookmarkに切り替えようとしたら
wrong-type-argumentになってしまいました。
Debugger entered--Lisp error: (wrong-type-argument stringp 628)
string-to-number(628)
navi2ch-board-insert-subjects((((subject . "\xe0b4\xe538\xdc21\xdd77\xd2a8\xd2f3\xd2b8\xd2f3Namazu") (response . 628) (artid . "1009715036")) ...))
navi2ch-board-toggle-minor-mode(navi2ch-board-bookmark-mode)
navi2ch-board-toggle-bookmark()
call-interactively(navi2ch-board-toggle-bookmark)
0876名無しさん@お腹いっぱい。
NGNG0877821
NGNG821 を使ってますか?
821 を使用すると同様の現象を生じることを、こちらでも確認しました。
修正版を uploader にあげときます。
ttp://uploader.org/normal/data/up7276.tgz
他の修正や機能変更を行なっているので、readme には必ず目を通してください。
【使用者にお願い】
導入後に navi2ch に何らかの不具合が生じた場合は、
バグレポート時に、導入したことを明記してください。
また 875 さんのように、バックトレースがあると大変助かります。
0878872
NGNG一々C-k *navi2ch article TAB TAB ryとやって逝くしかないのでしょうか。(´・ω・`)
0879872
NGNG0880名無しさん@お腹いっぱい。
NGNG(navi2ch-article-expunge-buffers 0)
適当なキーにバインドするヨロシ。
0881名無しさん@お腹いっぱい。
NGNG% n navi2ch article
D
with ibufferという手も。
0882名無しさん@お腹いっぱい。
NGNG板一覧で Navi2ch → 表示スレ一覧 を選んで
m a m d
0883名無しさん@お腹いっぱい。
NGNG> 板一覧で Navi2ch → 表示スレ一覧 を選んで
g articles
0884名無しさん@お腹いっぱい。
NGNGnavi2ch-bm-* に navi2ch-bookmark-remember-order-after-sort
に相当するものはあるでしょうか。emacs 21.3, navi2h 1.7.3-dev です。
0885名無しさん@お腹いっぱい。
NGNGboard の内容は変わってくから記憶してもしゃーないっしょ。そんかし俺はこ
んなんしてる。
(add-hook 'navi2ch-board-after-sync-hook 'navi2ch-bm-sort-by-state)
0886878
NGNG0887877(821)
NGNG修正版に差し替えてください。
ttp://uploader.org/normal/data/up7308.tgz
0889名無しさん@お腹いっぱい。
NGNG821を使ってました。
~/.navi2chがないアカウントで
emacs --no-init-file
(add-to-list 'load-path navi2chをcheckoutしたディレクトリ)
(require 'navi2ch)
(setq navi2ch-board-insert-subject-with-unread t)
M-x navi2ch
g unix
スレ開いたり板に戻ってbを何度か押すというテストを
やってみたつもりだったんですが、
どっかでミスってたようです。 _no
0890877(821)
NGNGミスったのは 100% 私です。
821(887) で上げたものを使用すると、info に response を記録するようになります。
で、保存形式が (response . 数値) という形式のため、
navi2ch-article-load-info() が call されると、
article の情報に (respons . 数値) と読みこまれます。
問題は navi2ch は article の情報の response は (respons . "数値") の形である
必要があります(増分、未読を表示する場合)。
そのため 821(887) を使用した後は、821(887) を使用するのを止めても、
新たに info がセーブされるまでは (response . 数値) が残りますので、
board-mode で増分、未読を表示するようにしてるとエラーを起します。
# 板を開く時は、subject.txt から article の情報が作られるので
# article の情報は (respons . "数値") となる
# navi2ch-board-insert-subjects() が call 後に (respons . 数値) となるので
# 板を開くだけなら問題が生じず、bookmark に切り替えるとエラーとなる。
今回のバグへの対応は navi2ch-article-load-info() に advice を設定して、
article の情報が (respons . "数値") となるようにしましたので、
887 を使用するのを止める場合は、my-navi2ch-article-info.el 内の
navi2ch-article-load-info() の advice を init.el へ追加する必要があります。
# info の保存形式を (respons . "数値") とするのが最良だとは思うのですが
# info に保存される他のデータは (number . 数値) の様に数値データなら
# 数値として保持されるので、(respons . 数値) のままにしております。
0891名無しさん@お腹いっぱい。
NGNG0892名無しさん@お腹いっぱい。
NGNG(setq navi2ch-message-ask-before-write nil
navi2ch-message-ask-before-send nil
navi2ch-multibbs-send-message-retry-comfirm-function #'y-or-n-p)
とかどうよ?
0893名無しさん@お腹いっぱい。
NGNGnavi2ch-message-ask-before-write はデフォルトで nil なのでいいとして、
navi2ch-message-ask-before-send を nil にすると誤爆が怖いですね。
多分初回書き込み時の cookie 確認がうざいんだろうから、
(setq navi2ch-multibbs-send-message-retry-comfirm-function (lambda (dummy) t))
とかどうでしょう?
ところで、上の例でも、navi2ch-multibbs.el で ...-retry-comfirm-function を見てる
ところでも、function クオート (#') を使ってますが、Elisp の癖として、このへんは
単なるクオート (') でも変わりないんですよね。ご参考まで。
(ttp://www.mew.org/~kazu/doc/elisp/function.html 参照)
0894892
NGNGそっちのほうがよさそう> comfirm-function. スペル間違いは放置なんだろうか。
クオートとfunctionクオートの違いをよく理解してなかったのでリンク先のサ
イトはかなり勉強になりました。ありがとう。comfirm-function が funcall
されるからなんとなく #' の方が安全かな、と思ったけど関係ないですね。
0895名無しさん@お腹いっぱい。
NGNG1 分おきに終了を促すようにするコードきぼん。
0896名無しさん@お腹いっぱい。
NGNGこの 2ch 中毒者め。
0897名無しさん@お腹いっぱい。
NGNG0898名無しさん@お腹いっぱい。
NGNG0899名無しさん@お腹いっぱい。
NGNG#'(lambda () ...)のほうが、把握しやすいかな。
0900名無しさん@お腹いっぱい。
NGNG0901名無しさん@お腹いっぱい。
NGNG0902名無しさん@お腹いっぱい。
NGNGm r m d
0903902
NGNG0904名無しさん@お腹いっぱい。
NGNG0905名無しさん@お腹いっぱい。
NGNG0906名無しさん@お腹いっぱい。
NGNG0907名無しさん@お腹いっぱい。
NGNG誰かてつだってくんねえ?
主にWinからのターミナルで使うから。その方が便利なんだよな
0908名無しさん@お腹いっぱい。
NGNGこれじゃ、だめ?
(global-set-key [mouse-3] 'delete-window) ;;; 2ボタンは「2」、ホイール付きは「3」
0909名無しさん@お腹いっぱい。
NGNGおあーっ、す、すげーっ!
サンクス!!これで、重い p2 使わずに済むかも。
イやー祭の予感・・
0910名無しさん@お腹いっぱい。
NGNG0911名無しさん@お腹いっぱい。
NGNG0912名無しさん@お腹いっぱい。
NGNGレス数が900を超えています。1000を超えると表示できなくなるよ。