「C-x`」 で行きはよいよい帰りは怖い。

どうもりんこです。
文房具版が復活したようでなによりです。
文房具屋でジェスト 4+1 の0.5mm の試し書きしてきたけど,
やはりグリップが気に入らん。ので諦めた。
それから,0.7mm は新軸になってなかったけど,なんでだろう?
ノートを切らしていて困っていたので,B5ノート5冊パックと,
Campus の計算用紙を購入。サマーウォーズに影響されまくり。
いやいや,メモ帳として,以前から買ってますよーだ。

「C-x`」でエラー箇所へジャンプするのは便利です。

重宝しています。大変助かってます。
しかし・・・。エラー部分を修正-->コンパイル-->コンパイル通った!!-->ん?
ゴクリ・・・。ここはどこだ?


なんていうシナリオを多々繰り返して学んだことは,
C-x` する前に,C-spc しておくということ。
が,なかなか身につかん。困った。
迷子になるのをわかったうえでの,C-x` はリスクがデカイ。

C-x` する前に,C-spc を自動で行えばいいんじゃね?

と,短絡的に考えてしまうわけで,そのためには,ワタシの中では,今ではすっかり
忘れられた感のある,advice ですよ。
C-x` は,関数 next-error を実行しているようなので,
こいつにアドバイスしてみます。

以下を .emacs に追加

(defadvice next-error (before save-current-location)
  "Save the current location in the buffer before jumping to the next error."
  (let ()
    (push-mark (point) nil)))
(ad-activate 'next-error)

確認してみると,C-uC-spc で,C-x` した場所に戻ってこれるね。よしよし。

けど,これ,エラーが2個以上ある場合は,各エラーに飛ぶ際に,
push しちゃうよなぁ。
どうやったら実現できるんだろう。
オレの阿呆な頭だと,static 変数を思いついちゃうけど,
これはいかんだろうなぁ。let を使っているのはそんな時に備えてです(^^;
なんかうまい方法ないかなぁ。。。
まぁ,各エラー箇所で push していくのも,便利っちゃー便利なんだけどね。


あとバッファをまたぐと,もといたバッファにもどるのは手動だね。
これもなんとかできないかな。


さらにさらに。
以前言っていた,mark-ring の可視化的なことからの移動を実装してみようかなぁと。
kill-summary.el 参考にすればいけそうじゃね?
あれば,すげー使いたいし。