松尾です。

githubのmaster branchにmerge timelineとexclude-if timelineに
対応するための変更をcommitしました。

TwitterのAPIで取得できるtimelineを組み合わせた複合timelineです。

・exclude-if timeline
  exclude-if timelineは :exclude-if/FUNC/SPEC のように記述します。
  SPECで指定されたtimeline中のtweetから、関数FUNCがnon-nilを返す
  ものを「省いた」timelineとなります。

  FUNCはtweetに対応した連想リストをひとつ受け取る関数で、λ式か
  関数のシンボルで指定できます。
  例えば
  :exclude-if/(lambda (tweet) (string-match "WORD" (cdr (assq 'text 
tweet))))/:home
  はhome timelineから、本文中に"WORD"を含むものを除外したtimeline
  となります。この例では引数として与えられた連想リストからtextを
  引いていますが、他にもid, user-name, user-screen-name, user-id,
  source, source-uri等の情報が使えます。

・merge timeline
  merge timelineは (SPEC1+SPEC2+SPEC3) のように記述します。
  指定したSPECのtimelineを合併させたtimelineになります。
  例えば (:home+:mentions) とするとhome timelineに加えて自分宛の
  mentionも同じbufferにまとめて表示されます。
  (:direct_messages+:direct_messages_sent)も見やすいと思います。
  tweetは投稿時間順に並びますので、更新のタイミングによっては新しく
  取得したtweetがbufferの端ではなく途中に追加されることもあります。

  merge timeline上で同一のtweetが重複して表示されることはありません。
  但し、別のユーザによる公式RTに関しては再表示される場合もあります。

NEWS、NEWS.jaも参照ください。

また、twittering-new-tweets-rendered-hookというhookを追加しました。
既存のtwittering-new-tweets-hookは「新規tweetを取得した時」に呼び
出されるので、exclude-if timeline等で実際には表示されないtweetに
対しても呼び出されます。また、取得指示後にbufferを閉じていた場合に
も呼び出されてしまいます。

新しいtwittering-new-tweets-rendered-hookは「新規tweetが描画された時」
に呼び出され、実際に表示されるtweetだけが対象となります。

---
松尾 直志 <[email protected]>


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
twmode-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/twmode-users

メールによる返信