仕事しようと思って休日出勤したら、このエラーで2時間。つらい。
現象
Wanderlustで、inboxフォルダに移動すると「wrong-type-argument number-or-marker-p nil」とミニバッファに表示される。この結果、新着メール(すべてinboxに届く)が読めない。
対応
前回、おなじことあったなぁと思ってGoogleで検索したところ微妙に違うけど似たような事例があった。
まず、エラーメッセージを表示させる。エラーメッセージが前回と違う。
Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) <(nil 58521) sort((〜省略〜) <) elmo-list-diff((〜省略〜) (〜省略〜)) wl-summary-sync-update(unset-cursor nil nil nil) wl-summary-sync-force-update(unset-cursor) byte-code(〜省略〜) wl-summary-goto-folder-subr(#("+inbox" 0 6 (wl-folder-entity-id 1 wl-folder-is-group nil)) update nil nil t) wl-folder-jump-to-current-entity(nil) call-interactively(wl-folder-jump-to-current-entity nil nil) command-execute(wl-folder-jump-to-current-entity)
現象としては、inboxから別のフォルダに移動させたメール(メールID 58521を含む)がいまだにinboxに表示されている。実際の~/Mail/inboxには当該メールは存在しない。その結果、elmo-list-diffなどで失敗している雰囲気。
いろいろ試行錯誤した結果、「wl-summary-sync-update」で検索して見つかった 公式マニュアルに記載されている wl-summary-sync を実行してmsgdbを作りなおすことでうまくいった。
- all-entirely 現在の msgdb の内容を破棄し、全情報を取り寄せ直します。killed メッセージも取り寄せ直します。
今回、不具合があった inboxに移動し、「M-x wl-summary-sync」で、Rangeを「all-entirely」とした。
以上、メモ。