Ink

Contents related to tech, hobby, etc

"Clock start time is gone" エラーを解消する

|

"Clock start time is gone" エラーを解消する

Org captureから戻る時とか、たまに

Clock start time is gone

とか言われて戻れないことがあります。 この時の対処法についてです。

原因: org-clock-marker がずれている

これは珍しい事例なのでは?と思うのですが、 最後の Clock-in した場所を保持している org-clock-marker が ずれている場合があります。

このマーカーは、 CLOCK: ~ 等の行の先頭に位置する必要がありますが、 私の見た環境では ~:LOGBOOK: の行に存在していました。 この場合、 org-clock.el の以下の部分で弾かれてエラーになってしまいます。

  (if (and (looking-at (concat "[ \t]*" org-keyword-time-regexp))
(equal (match-string 1) org-clock-string))
  (setq ts (match-string 2))
(if fail-quietly (throw 'exit nil) (error "Clock start time is gone")))

source code(オフライン用)

解決策: マーカーをずらす

凄く愚直ですがまぁ。 help:move-marker でマーカーを動かせるので、それを使用します。

マーカーは CLOCK: の行の最初にある必要があるので、まずはそこの 位置を調べる必要があります。 カーソルの位置を調べる方法は何かありそうではありますが、 今回はマーカーを置きたい位置にカーソルを置き、そこのtext Propertyを調べます。

(describe-text-properties)

そうすると、以下のように表示されます。この場合位置は 1411 ということになります。

Text content at position 1411:


There are text properties here:
  fontified            t

[back]

で、その番号を new-pt と仮置きすると、

(move-marker org-clock-marker new-pt)

で設定しなおせます。