> icon 取得を非同期にしておき、定期 redisplay 時に取得済み
> かどうかを判断して描画するようにすれば icon の非同期更新
> にも利用できると思います。

icon取得を非同期にして、そのcallbackで描画してもいいのかな、
と思います。


ところで、twittering-get-tweetsでtwittering-retrieve-image
を実行している理由が判らないのですが、どうしてでしたっけ?

twittering-make-display-spec-for-iconでも取得しているので、
ここで取得しなくてもよいと思うのですが、何か理由があったの
かなあ…


> 松尾です。

> b21fce6e486d1ff16929ddd15d42675ebd11d158
> でtimeline表示の部分更新を導入したため�...@での表示が
> 更新されなくなっていた問題に対処しました。

> http://github.com/cvmat/twittering-mode/tree/auto-redisplay

> にcommitしてあります。色々試していただけると助かります。


> 新しい timer 変数 twittering-timer-for-redisplaying を
> 用意して、この timer で定期的に関数
> twittering-redisplay-status-on-buffer が呼び出される
> 仕組みになっています。

> twittering-redisplay-status-on-buffer は *twittering*
> buffer 内の 'need-to-be-updated property がnon-nilの値を
> 持つ部分を探して更新します。
> 更新時には need-to-be-updated property の値をLISPの
> 関数呼び出しのS式と思って解釈し、その結果の文字列で
> 該当箇所を置き換えています。

> icon 取得を非同期にしておき、定期 redisplay 時に取得済み
> かどうかを判断して描画するようにすれば icon の非同期更新
> にも利用できると思います。


> 現状、ひとつよく分からない点があって、
> 「scroll-modeにしておき、*twittering* bufferをC-x b等で
> 非表示にした状況」で放置しておいて、
> 再び *twittering* buffer に戻るとカーソル位置のstatusが
> 元々のものとは違うものになっている場合があります。

> *twittering* buffer を表示している場合にはこの現象は
> 起こらないようです。
> また、 windows.el で window-configuration を保持した
> まま非表示にしている場合も起こらないようです。

> ある twittering-timer-for-redisplaying が起動している
> ときに twittering-timer が起動すると何か問題があるのかも
> しれません。実際、現状は以下のようになってますが、

> (defun twittering-redisplay-status-on-buffer (&optional buffer)
> (let ((buffer (or buffer (twittering-buffer)))
> (deactivate-mark deactivate-mark))
> (with-current-buffer buffer
> (save-excursion
> (twittering-for-each-property-region
> 'need-to-be-updated
> (lambda (beg end value)
> (let* ((func (car value))
> (args (cdr value))
> (updated-str (apply func args))
> (buffer-read-only nil))
> (delete-region beg end)
> (goto-char beg)
> (insert updated-str)))
> buffer)))))

> これのbuffer-read-onlyを束縛する場所をずらして

> (defun twittering-redisplay-status-on-buffer (&optional buffer)
> (let ((buffer (or buffer (twittering-buffer)))
> (deactivate-mark deactivate-mark))
> (with-current-buffer buffer
> (setq buffer-read-only nil)
> (save-excursion
> (twittering-for-each-property-region
> 'need-to-be-updated
> (lambda (beg end value)
> (let* ((func (car value))
> (args (cdr value))
> (updated-str (apply func args)))
> (delete-region beg end)
> (goto-char beg)
> (insert updated-str)))
> buffer))
> (setq buffer-read-only t))))

> とすると時折 read-only 関連の警告が表示されます。

> ---
> 松尾 直志 <t...@mymail.twin.jp>

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
twmode-users mailing list
twmode-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/twmode-users

メールによる返信