DARCS_PAGER='less -F'

以前,とあるオープンソース・ソフトウェアの開発版コードをチェックアウトする必要に迫られてDarcsをほんのわずか使ったとき,ヘルプとかをページャ経由で見るために DARCS_PAGER='less -F' とやったら「less -F なんてコマンドはねーよ」と怒られてすごく残念な気持ちになった.何が残念って

  • 自分のやりたいことが実現できなかった
  • こんな基本的な問題が放置されているとはDarcsってどんだけ実用されてないんだ
  • それなのに主要機能は一通り完成するくらいの工数をDarcs開発者は注ぎ込んでいる
  • 上記オープンソース・ソフトウェアの開発者もGitかMercurial選んでくれてればよかったのに...

みたいな.まぁどうでもいいが.
しかしそのしばらく後に直っていたようだ:

>  viewDocWith pr msg = do
>    isTerminal <- hIsTerminalDevice stdout
>    if isTerminal && lengthGreaterThan (20 :: Int) (lines $ renderString msg)
> -     then do viewer <- get_viewer
> -             pipeDocToPager viewer [] pr msg
> +     then do viewerPlusArgs <- get_viewer
> +             let (viewer:args) = words viewerPlusArgs
> +             pipeDocToPager viewer args pr msg
>                 `ortryrunning` pipeDocToPager  "less" [] pr msg
>                 `ortryrunning` pipeDocToPager  "more" [] pr msg

ちなみに「less(1)コマンドライン引数の代わりに環境変数 LESS を設定することでオプションが制御できるよ」という突っ込みが続いていた.へぇへぇ.

Environment Variables

...
LESS
Options which are passed to less automatically.