Closed gcrtnst closed 3 years ago
I'm trying to make the arguments for ?vmark clear
and ?vmark clearlocal
optional. If you clear all local markers by mistake, you can't undo it, but since local markers are a minor feature, I don't think many people will be unhappy with this.
?vmark clear
と ?vmark clearlocal
の引数を省略可能とすることにした。間違えてローカルマーカーを一括消去してしまうと元に戻せないが、ローカルマーカーはマイナーな機能なので、これで不幸になる人はあまり居ないだろうと判断した。
I want to satisfy the following items as much as possible.
?vmark clear
and?vmark clearlocal
should be the sameIf the argument is omitted, it would be natural to erase all markers.
If we make the argument of
?vmark clear
optional, we should also make the argument of?vmark clearlocal
optional according to 2. However, since there is no way to recover markers that have been cleared in bulk with?vmark clearlocal
, 1. cannot be satisfied. (Since?vmark clear
has?vmark restore
,?vmark clear
satisfies 1. Also, if?vmark clearlocal
does not allow the omission of arguments, it is necessary to explicitly specify that all markers should be erased, so erasing mistakes do not occur and 1. is satisfied.) Implementing?vmark restorelocal
would satisfy 1. but is it really necessary? The number of local markers to be set at a time is at most two, so even if all markers are deleted by mistake, it won't take much time to recover them.下記の項目をなるべく満たしたい。
?vmark clear
と?vmark clearlocal
の引数仕様は合わせる引数を省略した場合は、全てのマーカーを消去するのが自然だろう。
?vmark clear
の引数を省略可能にする場合、2. に従い?vmark clearlocal
の引数も省略可能にしたい。しかし、?vmark clearlocal
で一括消去したマーカーを回復する手段はないため、1. を満たせなくなってしまう(?vmark clear
は?vmark restore
があるので 1. を満たしている。また、?vmark clearlocal
が引数省略不能な場合、明示的にマーカー全消去を指定する必要があるため、消し間違いは起こらず 1. を満たす)。?vmark restorelocal
を実装すれば 1. を満たせるようになるが、それは本当に必要だろうか?一度に設定するローカルマーカーはせいぜい2個くらいであり、仮に間違えて全消去しても復旧にはそれほど手間は掛からないのでは?