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

Navi2ch for Emacs (Part 12)

レス数が900を超えています。1000を超えると表示できなくなるよ。
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 あたり。
0849名無しさん@お腹いっぱい。NGNG
>>848
(setq navi2ch-display-splash-screen nil)
あたり?


M-x describe-variable で、navi2ch- まで入れてスペース打って、
補完候補リストのバッファに移り、C-s で splash で検索かければ
すぐにわかる。この手の「探り方」は Emacs 使う上では必修ですよ。
0850名無しさん@お腹いっぱい。NGNG
pc5.2ch.net が keep-alive になりません。
0851名無しさん@お腹いっぱい。NGNG
スプラッシュアニメ化キボン。
0852名無しさん@お腹いっぱい。NGNG
site-lisp/navi2ch/以下をgrepでもすぐみつかると思われ
0853名無しさん@お腹いっぱい。NGNG
いつぞやのnavi2chを一日一回に起動制限するのは
emacs起動しっぱなしだと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名無しさん@お腹いっぱい。NGNG
>>850
navi2ch にかぎったことじゃない。
0855名無しさん@お腹いっぱい。NGNG
>>849

あと、Boardモードで、新着レスは、有無しかわからないのでしょうか。p2とかだと、新着レスの数がわかるので、祭スレ/もりsagaりスレがすぐに見付かるのですが。
0856名無しさん@お腹いっぱい。NGNG
Q. ○○にある××という機能はないの?
A. ○○使えば?
0857ヽ(´ー`)ノ ◆.ogCuANUcE NGNG
>>855
既出。過去ログ嫁。
0858名無しさん@お腹いっぱい。NGNG
Q. ○○にある××という機能はないの?
A. 欲しかったら創れば?
0859名無しさん@お腹いっぱい。NGNG
>>237,262 の件だけど、

(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
>>857
> >>855
> 既出。過去ログ嫁。

どうもです。>>281,>>283のことでしょうか。
俺の環境では、この様に表示されていませんが、何か設定が必要になるのでしょうか。

0861名無しさん@お腹いっぱい。NGNG
あ、別に>>357みたいな機能はいらないです。ただ増分さえ表示されれば。
0862名無しさん@お腹いっぱい。NGNG
「俺の環境」てあーた
0863名無しさん@お腹いっぱい。NGNG
すまそ。もうちとあとの環境にパッチがあるのね。Σ(゚д゚lll)
0864名無しさん@お腹いっぱい。NGNG
s/環境/レス/g
0865名無しさん@お腹いっぱい。NGNG
>>812って誰か再うpしてくれませぬか。
0866名無しさん@お腹いっぱい。NGNG
よくみると>>855に、レス安価だけ書いて、お礼書いていなかった。

スマソ。



ありがとうございました。
0867名無しさん@お腹いっぱい。NGNG
なんだ普通に(setq navi2ch-board-insert-sub(ryでよかったのか。

俺ばかり書いてスマソ
0868名無しさん@お腹いっぱい。NGNG
変なとこで略すな。
ま、どうせおまいのレスに価値などないからいいけどさ。。。
0869名無しさん@お腹いっぱい。NGNG
おれのレスより価値のないレスなどない。
0870名無しさん@お腹いっぱい。NGNG
869のレス:priceless
0871名無しさん@お腹いっぱい。NGNG
>>870
priceless {形}
金で買えない、極めて貴重な、すごく面白{おもしろ}い、非常にばかげた、
金で買えないほどの、非常に貴重な、千金の値打ちがある
0872名無しさん@お腹いっぱい。NGNG
Boardモードで、+キーを押すと、見た覚えのないスレがあるんですが、これはなんなんでしょうか。

しかも、新着スレ数は1。意味不明。

0873872 NGNG
GNU Emacs 21.3.1
Navi2ch 1.7.3です。
0874859NGNG
> ファイル名を filter.el に変えるとエラー出ないので間違いないと思う。
ごめん、嘘。ファイル名変えてもエラー出た_| ̄|○

Emacs 起動直後は

-!-'()

で forward-sexp() すると

'()-!-

になるんだけど(これが正しい動作だよね?)、しばらく Emacs 使っててエラー
が出るようになると

'-!-()

何故かこうなる。どいつが悪さしてるんだろう…。ちなみに Emacs は
21.3.50.
0875名無しさん@お腹いっぱい。NGNG
(setq navi2ch-board-insert-subject-with-unread t)の設定で
スレ一覧で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名無しさん@お腹いっぱい。NGNG
nil にすれば?
0877821NGNG
>>875
821 を使ってますか?
821 を使用すると同様の現象を生じることを、こちらでも確認しました。

修正版を uploader にあげときます。
ttp://uploader.org/normal/data/up7276.tgz
他の修正や機能変更を行なっているので、readme には必ず目を通してください。

【使用者にお願い】
導入後に navi2ch に何らかの不具合が生じた場合は、
バグレポート時に、導入したことを明記してください。
また 875 さんのように、バックトレースがあると大変助かります。
0878872 NGNG
*navi2ch artcileで始まるバッファを、全て削除したいのですが、どうすればよいのでしょうか。
一々C-k *navi2ch article TAB TAB ryとやって逝くしかないのでしょうか。(´・ω・`)
0879872 NGNG
あ、名前に821が残っていましたがこれは別にどうでもいいです。イラネ
0880名無しさん@お腹いっぱい。NGNG
>878
(navi2ch-article-expunge-buffers 0)
適当なキーにバインドするヨロシ。
0881名無しさん@お腹いっぱい。NGNG
C-x C-b
% n navi2ch article
D
with ibufferという手も。
0882名無しさん@お腹いっぱい。NGNG
>>878
板一覧で Navi2ch → 表示スレ一覧 を選んで
m a m d
0883名無しさん@お腹いっぱい。NGNG
>>882
> 板一覧で Navi2ch → 表示スレ一覧 を選んで
g articles
0884名無しさん@お腹いっぱい。NGNG
board モードでは常に S-s で表示させるようにしたいのですが、
navi2ch-bm-* に navi2ch-bookmark-remember-order-after-sort
に相当するものはあるでしょうか。emacs 21.3, navi2h 1.7.3-dev です。
0885名無しさん@お腹いっぱい。NGNG
>>884
board の内容は変わってくから記憶してもしゃーないっしょ。そんかし俺はこ
んなんしてる。
(add-hook 'navi2ch-board-after-sync-hook 'navi2ch-bm-sort-by-state)
0886878NGNG
どーもー。助かりましたー。

0887877(821)NGNG
877 であげたものは、増分表示がバグります。
修正版に差し替えてください。
ttp://uploader.org/normal/data/up7308.tgz
0888884NGNG
>>885
希望通りに表示できました! ありがとう。
0889名無しさん@お腹いっぱい。NGNG
>>877
821を使ってました。

~/.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
>>889
ミスったのは 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名無しさん@お腹いっぱい。NGNG
いちいち書きこみのときに質問されるのうざい。
0892名無しさん@お腹いっぱい。NGNG
>>891

(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名無しさん@お腹いっぱい。NGNG
>892
navi2ch-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 参照)
0894892NGNG
>>893
そっちのほうがよさそう> comfirm-function. スペル間違いは放置なんだろうか。

クオートとfunctionクオートの違いをよく理解してなかったのでリンク先のサ
イトはかなり勉強になりました。ありがとう。comfirm-function が funcall
されるからなんとなく #' の方が安全かな、と思ったけど関係ないですね。
0895名無しさん@お腹いっぱい。NGNG
navi2ch を起動して n 分経過すると、
1 分おきに終了を促すようにするコードきぼん。
0896名無しさん@お腹いっぱい。NGNG
>>895
この 2ch 中毒者め。
0897名無しさん@お腹いっぱい。NGNG
#'の有無の違いは理解してるけど、俺は#'が好きだな。
0898名無しさん@お腹いっぱい。NGNG
見づらい。
0899名無しさん@お腹いっぱい。NGNG
直接 (lambda () ...)と書いてあるより、
#'(lambda () ...)のほうが、把握しやすいかな。
0900名無しさん@お腹いっぱい。NGNG
よそでやれ。
0901名無しさん@お腹いっぱい。NGNG
FAQかもしれませんが、dでレスを隠す際、regionで消す場合はどうするんですか?
0902名無しさん@お腹いっぱい。NGNG
>>901
m r m d
0903902NGNG
おっと、スレじゃなくてレスか。
0904名無しさん@お腹いっぱい。NGNG
右栗でカレント窓閉じる方法ないかなぁ。あればサイコーなんだけど・・
0905名無しさん@お腹いっぱい。NGNG
バインドのしかたと関数名が分かればすぐできる。
0906名無しさん@お腹いっぱい。NGNG
で? できたの?
0907名無しさん@お腹いっぱい。NGNG
W3Mとかみたいにクリックでオペレート出来るように改造してるんだけど
誰かてつだってくんねえ?
主にWinからのターミナルで使うから。その方が便利なんだよな
0908名無しさん@お腹いっぱい。NGNG
>>906
これじゃ、だめ?
(global-set-key [mouse-3] 'delete-window) ;;; 2ボタンは「2」、ホイール付きは「3」

0909名無しさん@お腹いっぱい。NGNG
>>908
おあーっ、す、すげーっ!

サンクス!!これで、重い p2 使わずに済むかも。
イやー祭の予感・・
0910名無しさん@お腹いっぱい。NGNG
祭の予感って……。
0911名無しさん@お腹いっぱい。NGNG
めちゃめちゃ小規模な祭だな。
0912名無しさん@お腹いっぱい。NGNG
自分が祭りあげられることを予感しているのでは。
0913名無しさん@お腹いっぱい。NGNG
   ∧∧
   /⌒ヽ)
  i三 ∪
 ○三 |   も う だ め ぽ
  (/~∪    
  三三
 三三  
三三
0914名無しさん@お腹いっぱい。NGNG
確かに発想自体は良いのかも知れないが・・
現に愛用していた。

だが、在る程度アクセスした段階でオーバーヘッドとなり
バスエラーであポーんする事あり。

やはり、p2にはかなわないか?
0915名無しさん@お腹いっぱい。NGNG
>>914
釣れないみたいね。ポイントかえたら?
0916名無しさん@お腹いっぱい。NGNG
>>890
板を開いてすぐにbは大丈夫になったけど、
スレを開いてqで戻ってからbだと
(response . 数値)が入っててまずいみたい。

Debugger entered--Lisp error: (wrong-type-argument stringp 646)
string-to-number(646)
navi2ch-board-insert-subjects((
((subject . "\xd22a\xd25e\xd228\xd269\xd268\xd26a\xd936\xd24e\xd25b\xd226\xd22c\xd2b9\xd2ad\xd2eb\xdf65")
(response . "17") (artid . "1084443241"))
((subject . "Sun Microsystems\xdd47\xdc65\xd24e\xe455\xddc1")
(response . "501") (artid . "1083085439"))
((subject . "\xe0b4\xe538\xdc21\xdd77\xd2a8\xd2f3\xd2b8\xd2f3Namazu")
(response . 646) (artid . "1009715036")) ...
0917877(821)NGNG
>>916
ttp://uploader.org/normal/data/up7481.tgz
これで、どうでしょうか?
info には (response . "数値") で保存するようにしました。
0918名無しさん@お腹いっぱい。NGNG
いままでnavi2ch-1.7.1を使用していたのですが、
さっきnavi2ch-1.7.3に乗りかえようとしてインストールをした後、
emacsを起動したところ、

An error has occurred while loading `d:/cygwin/home/Administrator/.emacs.elc':
Invalid function: (macro . #[(then &rest else) "\302\303\304BF\207" [then else if (string-match "windowsce" system-configuration) progn] 5 ("d:/cygwin/home/Administrator/site-lisp/navi2ch-1.7.3-2/navi2ch-util.elc" . 9046)])

のようなエラーがでてしまいます。 どうもnavi2ch-util.elのnavi2ch-ifemacsce
マクロのところでエラーがでているようです。

誰か同じ経験している人いませんか?
環境は NTEmacs 21.3 on W2k pro です。
0919名無しさん@お腹いっぱい。NGNG
>>918
> An error has occurred while loading `d:/cygwin/home/Administrator/.emacs.elc':
何じゃこれは?
.emacs.elc を消すか、もう一度バイトコンパイル汁。
0920名無しさん@お腹いっぱい。NGNG
>>919
> 何じゃこれは?
> .emacs.elc を消すか、もう一度バイトコンパイル汁。
えっ、だめなんですか? ちょっとばかし起動が早くなるんですけどね。
バイトコンパイルは.emacs.el閉じるごとにするので.emacsが問題
ではないと思うのですが・・・
0921名無しさん@お腹いっぱい。NGNG
.emacs で (require 'navi2ch) するのをやめ、>>3 にしたがい
エラー箇所を見つける。
0922名無しさん@お腹いっぱい。NGNG
【緊急募集】第3回2chプロ固定募集公示【締め切り迫る】
http://pc5.2ch.net/test/read.cgi/unix/9240002223/

↑こういうのに対処するにはどうしたら良いのか…。いい判定法が
思い付かん。
0923名無しさん@お腹いっぱい。NGNG
>>922
スレIDの先頭が924

【実験】書き込めなスレッド スレッド924について2
http://qb5.2ch.net/test/read.cgi/operate/1075184383/
0924名無しさん@お腹いっぱい。NGNG
navi2ch-1.7.3 ですが、jbbs.したらばのスレッドへのリンクを辿ると、
ブラウザで開かれてしまいました。

C-cC-uでURLを貼ると、navi2chで開かれました。

何か思い当たることあります?
0925名無しさん@お腹いっぱい。NGNG
>>924
(add-to-list 'navi2ch-2ch-host-list "jbbs.shitaraba.com")
0926名無しさん@お腹いっぱい。NGNG
がんばれ!
0927名無しさん@お腹いっぱい。NGNG
meadow 2.00pre2
navi2ch 1.7.3
gzip.exe 1.3.5 (cygwin)
という環境で
(setq navi2ch-net-accept-gzip t)
していると、記事の類が上手く取得できていないようです。
エラーは"Failed to execute gzip."です。
板はソフトウェア板(pc5.2ch.net)やニュース速報(news12.2ch.net)ですが、
gzipなデータを扱う時点でアウトっぽいです。

edebugで追ってみると、navi2ch-net-get-content-subr-region の中の
call-process-regionが128を返しているようです。生gzipなデータ見てもピン
と来ないので諦めました。gzipの「相性」なのでしょうか?

(setq navi2ch-net-accept-gzip nil)にすれば、やり過ごせるのですが、鯖負
荷を考えると、なんとかgzipなデータを扱いたいです。

というわけで、同じような環境の方で動いているgzip.exeがあったら教えてく
ださい。
0928名無しさん@お腹いっぱい。NGNG
`I' (`mami')でチェックする時、
鯖落ちしてるスレがいくつかあるといちいち C-gして
`mi'で続行するのが面倒なんだけど、なんか便利な方法ないっすかね。
0929名無しさん@お腹いっぱい。NGNG
>>928
せめて、スレをチェックするときのタイムアウトが設定できれば
楽なんだけどね。
0930名無しさん@お腹いっぱい。NGNG
できるよ。たとえば netcat を使うなら
(setq navi2ch-open-network-stream-function #'navi2ch-open-network-stream-via-command
navi2ch-open-network-stream-command "nc -w 1 %s %s")
とかすればいい。
0931名無しさん@お腹いっぱい。NGNG
historyにもレス情報が出せるマクロが前にあったんですが入れ方が分かりません教えて下さい
0932名無しさん@お腹いっぱい。NGNG
;ホイールつきマウスのホイールで、スクロールするための設定
(define-key global-map 'button4
'(lambda (&rest args)
(interactive)
(let ((curwin (selected-window)))
(select-window (car (mouse-pixel-position)))
(scroll-down 5)
(select-window curwin)
)))
(define-key global-map 'button5
'(lambda (&rest args)
(interactive)
(let ((curwin (selected-window)))
(select-window (car (mouse-pixel-position)))
(scroll-up 5)
(select-window curwin)
)))

....というのを見て.emacsに貼りますたがemacsを際起動したあとも
効きませんですた。どうやればいいのでせう?
この書き込みをnavi2chで書こうとしシフトスペースで変換が起きない
ことに気づいておちゅーしゃで書いてます。
0933名無しさん@お腹いっぱい。NGNG
>>930
ついでに、foo鯖が落ちてたら、一連の mamiでのチェック中は
foo鯖にあるスレは最初から飛ばすようにして。
タイムアウトは長めにとりたいけど、落ちてるかどうかの確認は
一回だけでいい。
0934名無しさん@お腹いっぱい。NGNG
文字列処理をperl並にしてください。
0935名無しさん@お腹いっぱい。NGNG
誤爆
0936名無しさん@お腹いっぱい。NGNG
おまえら M-x navi2ch にキーを割りあててますか?試しに
(define-key ctl-x-map "n2" 'navi2ch)
ってやってみたら快適よ。無意識に2ch始めてる自分を見つけて鬱になるけど。
0937名無しさん@お腹いっぱい。NGNG
>>936
日本人?
0938名無しさん@お腹いっぱい。NGNG
Emacsで使えるからnavi2chを導入したんだが、
最近はnavi2ch使うためにEmacsを使ってるような気がしてならない。
0939名無しさん@お腹いっぱい。NGNG
>>936
`2'に指を伸ばすのはおっくうだ。
M-xnavC-m で十分。
0940名無しさん@お腹いっぱい。NGNG
>>939
M-xnavC-iC-m
0941名無しさん@お腹いっぱい。NGNG
書き込むときに、Mail蘭にデフォルトで"sage"が入っているように
するにはどうしたらいいのでしょうか?
0942名無しさん@お腹いっぱい。NGNG
init.elに
(setq navi2ch-message-mail-address "sage")
と記述してもダメでした。
0943名無しさん@お腹いっぱい。NGNG
Wを押す、ではあかんの
0944名無しさん@お腹いっぱい。NGNG
>>943
あ、これいいです。どうもありがとうございました。
0945名無しさん@お腹いっぱい。NGNG
>>942
評価した?
0946名無しさん@お腹いっぱい。NGNG
>>945
ええと、C-h v navi2ch-message-mail-address
として、値がsageになっていることは確認しています。

navi2ch-message-mail-address's value is "sage"
*デフォルトのメールアドレス。
........

使っているnavi2chは1.7.3です。
0947名無しさん@お腹いっぱい。NGNG
>>946
前回書込み時のを覚えちゃってるんでは。
(setq navi2ch-message-remember-user-name nil) とか?
0948名無しさん@お腹いっぱい。NGNG
>>947
あ、なるほど。そこらへんの優先順位としては、

Wでsage指定 > 前回書き込み時の値 > message-mail-address

ということなんですね。新規に取得したスレッドにwとしたら、
"sage"と入力されていました。
レス数が900を超えています。1000を超えると表示できなくなるよ。