Subject: bug#58283: 29.0.50; calendar-goto-day-of-year => wrong-type-argument numberp

From: Stephen Berman <[email-masked]>
Date: Tue, 04 Oct 2022 12:07:54 +0200

On Tue, 04 Oct 2022 12:58:38 +0300 Eli Zaretskii <[email-masked]> wrote:

>> Cc: [email-masked]
>> From: Stephen Berman <[email-masked]>
>> Date: Tue, 04 Oct 2022 10:54:55 +0200
>>
>> On Tue, 04 Oct 2022 09:36:49 +0530 Pankaj Jangid <[email-masked]> wrote:
>>
>> > Steps:
>> >
>> > 1. emacs -Q
>> > 2. M-x calendar RET g D RET RET
>> >
>> > =>
>> >
>> > Debugger entered--Lisp error: (wrong-type-argument numberp nil)
>> >   abs(nil)
>> >   #f(compiled-function (x) #<bytecode 0x1f4df5e08d503a2b>)(nil)
>> >   calendar-read-sexp("Day number (+/- 1-%d)" #f(compiled-function (x)
>> > #<bytecode 0x1f4df5e08d503a2b>) nil 365)
>> >   byte-code("\300\301\302\303
>> > \304\18\262\1#\211\211\305W\203\30\0\306\1!S\262\1\211\307\246\305U\205.\0\211\310\246\305U?\206.\0\211\311\246\305U\262\1\2037..."
>> > [calendar-read-sexp "Year (>0)" #f(compiled-function (x) #<bytecode
>> > -0x1433d194a6bf3cb2>) calendar-current-date 2 0 abs 4 100 400 366 365 "Day
>> > number (+/- 1-%d)" make-closure #f(compiled-function (x) #<bytecode
>> > 0x79fd4d90378a2b>) nil] 7)
>> >   call-interactively(calendar-goto-day-of-year nil nil)
>> >   command-execute(calendar-goto-day-of-year)
>>
>> The value of the `default' argument in the calendar-read-sexp call here
>> has to be a number instead of nil.
>> But what number?  1, 365, (random 365), ...?
>
> I decided that today's day number is a good default.

Seems reasonable (though displaying that default value in the prompt
("Day number (+/- 1-365) (default 277): ") may make innocent users of
the command wonder about it; though maybe that's not so bad...).

> Please see if the latest master solves this, and thanks.

Works for me.

Steve Berman