#spamコメントがrejectされても元ページのタイムスタンプが変わっちゃうのは、cmd-commit-editがrejectしたかどうかを上に伝える方法がないってのが根本的な理由だな。
#汎用的に解決するのは難しい。cmd-commit-editで編集処理が完結するとは限らないんだな (conflictが起きた場合、一度ユーザに制御が戻される)。
#cmd-commit-editが付加的な値を返すとか例外を上げるとかしても、他のcaller siteでは綺麗に末尾呼び出しで通ってるのを変えて回らないとならないのはどうもなあ。今のところ呼んでる場所は2箇所しかないんだけれども。
#コメントシステム側でローカルに解決するには、cmd-commit-editでコメントページがつくられたことを事後に確認するって手がある。泥臭いけどレイヤがはっきり切り分けられるからこの方がいいかな。
#どうして Gauchebox のページがよくターゲットになるんでしょうね。
#ところで全然違う話なんですけど、3バイト長の整数って pack / unpack では直接扱えないですよね?
#動画フォーマットの FLV を扱ってみようとしたらそういう中途半端なサイズなところがあって…
#packには無いですね。1バイトづつ読んで組み立ててもらうしか。
#@cametan_001 (って届かないかな?) psetqはsymbol-macroletを考慮しなければR5RS macroで書くのは簡単なはずだけど、symbol-macroletも何とかしようとしている?
#multiple-value-bindも中間リストを作って良いならそんなに大変じゃないと思うけれど。
#(define-syntax pset!
(syntax-rules ()
[(_ v0 e0) (set! v0 e0)]
[(_ v0 e0 v1 e1 other ...)
(pset!-aux (v0 v1) (e0 e1) (t0 t1) (other ...))]))
(define-syntax pset!-aux
(syntax-rules ()
[(_ (vs ...) (es ...) (ts ...) ())
(begin (let ((ts es) ...) (set! vs ts) ...))]
[(_ (vs ...) (es ...) (ts ...) (v e other ...))
(pset!-aux (vs ... v) (es ... e) (ts ... t) (other ...))]))
#こういう話ではない?
#m-v-bは、足りない値を#fで埋めるなら:
#(define-syntax multiple-value-bind
(syntax-rules ()
[(_ (v ...) mv-expr body ...)
(call-with-values (lambda () mv-expr)
(lambda vals
(apply (lambda (v ...) body ...)
(let loop ((ts vals) (ss '(v ...)) (rs '()))
(cond [(null? ss) (reverse rs)]
[(null? ts) (loop () (cdr ss) (cons #f rs))]
[else (loop (cdr ts) (cdr ss) (cons (car ts) rs))]))
)))]))
#とか。
#あれ、 @cametan_001 さんの返事がこっちに来ないのは直接followしてもらっていないからかな。twitter-bridgeのログを見る限りはブリッジ自体は動いているようだが…
#@cametan_001 フォローしてもらうのは全然構わないです。ただ、chatonってバースト的に発言が連続するので、TLがいきなりchatonだけで埋め尽くされることがあります。それが気にならないのであれば。
#了解しました。ではフォローさせていただきます。あと、いつぞやのread-lineの件ではお世話になりました。ありがとうございます。