好みの問題もあると思うのですが、

emacs-major-versionで場合分けをするのは、最小限に
しませんか。以下を例にして言うと、

(if (fboundp 'delete-dups)
    ;; delete-dupsをつかったコード
  ;; 自前で実装したコード

にしたほうが、保守する際に前提となる知識が少なくて
済むからです。

もっとも、今回のケースでは、completing-read()には
常にalistを渡すようにしてもよいと思いますが。。


> Emacs22以降ではcompleting-read()に与える補完候補として
> stringのlistを使えますが、Emacs21以前では使うことが
> できません(alistにする必要があります)。

> completing-read()を呼び出す場面で一々対処するのは見通しも
> よくないのでtwittering-completing-read()という関数を追加
> してそちらで対処するようにしてみました。

> また、補完候補から重複を除くのに使っていたdelete-dups()は
> Emacs21以前では定義されていません。
> こちらもtwittering-remove-duplicates()という関数を作って
> Emacs21以前の環境では自前で実装したものを使うようにして
> います。
> delete-dups()は引数のlistに対して破壊的に働きますが、
> twittering-remove-duplicates()は引数のオブジェクトを
> 変更しないようにしてあります。

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

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
twmode-users mailing list
twmode-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/twmode-users

メールによる返信