私が文書を書いている時によく行う間違いは,カットアンドペーストな どで同じ言葉を繰り返してしまうことです.このような間違いは単語自体 は正しいのでスペルチェッカではみつけにくいことと, 繰り返しがあるからといって間違いということもない こともこの間違いをみつけにくくしています.同僚の Alexander が以 前からこの間違いをみつけるプログラムがあっていいはずと言っており, 今回書いてみました.
実は Emacs 付属の文書 -- Emacs Lisp Intro -- にこの問題が述べら れており,その regexp による解答が示されています.その文書でこの問 題が the-the 問題と呼ばれているので,ここでもそれにならいました.
Emacs の解答は簡潔で良いものです.プログラム全体,コメントと文書 まで含めて11行しかありません.ただ,著者がこれは十分だが完全ではな いと説明しています.私は十分だなと思っていたのですが,使いはじめて 次の2つの問題があることに気がつきました.
私の the-the プログラムは,Emacs の文書の拡張で,上記の二つの問 題にも解答を与えるものです.
;; find the-the pattern (autoload 'the-the-search-forward "the-the" nil t) (autoload 'the-the-region "the-the" nil t) (autoload 'the-the-buffer "the-the" nil t)