Error: clock scan "-100000 minutes" -base 1

Error: clock scan "-100000 minutes" -base 1

我只是偶然发现了这个遗留代码,它使用了已弃用的时钟 FreeScan:

clock scan "-100000 minutes" -base 1 

这会导致错误。然而,

clock scan "-99999 minutes" -base 1 

似乎有效。我想知道这个限制的原因,或者这是一个错误?

这确实是一个错误,而且不会被修复。

问题是六位(或更多)数字可以解释为数字或时间戳或时间或日期。解析器(从 yacc 的输出中破解的可怕东西)变得混乱,当我们遇到混乱时,我们吐出一个错误。现在我们可以在理论上修复它,但这并不是解析器中最严重的问题。 (那个自由文本解析器绝对是愚蠢的。)

当我们弄清楚这一切有多严重时,我们创建了定义格式的解析器和 clock add 作为替代品。它们不那么神奇,也更不错误。