calendar.el在日历中显示假日出现错误: (wrong-type-argument integer-or-marker-p nil),有人遇到过这个问题吗?

;; 在日历中显示假日

 (setq! calendar-mark-holidays-flag t)

执行org-schedule出现错误,当关闭显示假日时正常 (setq! calendar-mark-holidays-flag nil)

debug 错误信息:

Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil)
  move-overlay(#<overlay from 225 to 302 in *Calendar*> nil 283)
  remove-overlays(283 285)
  cal-china-x-remove-exising-overlays(283 285)
  apply(cal-china-x-remove-exising-overlays (283 285))
  make-overlay(283 285)
  calendar-mark-visible-date((3 8 2022) holiday)
  #f(compiled-function (&optional event) "Mark notable days in the calendar window.\nIf EVENT is non-nil, it's an event indicating the buffer position to\nuse instead of point." (interactive (list last-nonmenu-event)) #<bytecode 0xa5426feee9b4fa5>)()
  apply(#f(compiled-function (&optional event) "Mark notable days in the calendar window.\nIf EVENT is non-nil, it's an event indicating the buffer position to\nuse instead of point." (interactive (list last-nonmenu-event)) #<bytecode 0xa5426feee9b4fa5>) nil)
  cal-china-x-mark-holidays(#f(compiled-function (&optional event) "Mark notable days in the calendar window.\nIf EVENT is non-nil, it's an event indicating the buffer position to\nuse instead of point." (interactive (list last-nonmenu-event)) #<bytecode 0xa5426feee9b4fa5>))
  apply(cal-china-x-mark-holidays #f(compiled-function (&optional event) "Mark notable days in the calendar window.\nIf EVENT is non-nil, it's an event indicating the buffer position to\nuse instead of point." (interactive (list last-nonmenu-event)) #<bytecode 0xa5426feee9b4fa5>) nil)
  calendar-mark-holidays()
  calendar-generate-window(2 2022)
  calendar-basic-setup(nil)
  calendar()
  org-read-date(nil to-time nil "SCHEDULED" nil nil)
  org-add-planning-info(scheduled nil closed)
  #f(compiled-function () #<bytecode -0x1faabae1d8283320>)()
  org--deadline-or-schedule(nil scheduled nil)
  org-schedule(nil)
  funcall-interactively(org-schedule nil)
  call-interactively(org-schedule nil nil)
  command-execute(org-schedule)

同样的错误,知道问题出在哪里,但不知道怎么改。

暂时暴力屏蔽掉函数

  (defun cal-china-x-remove-exising-overlays (beg end &rest args)
 
    )

能讲讲哪里的问题吗? 我也有同样的问题。

应该是在 make-overlay 上加了个 advice cal-china-x-remove-exising-overlays , 但没有做环境检测

好像跟cal-china-x没有关系,我就简单定义了calendar-holidays,也有这个问题:

我今天把diary文件中的

%%(org-calendar-holiday)

这一行注释了,就好像没这问题了,具体原因不清楚。

然后用emacs -Q测试了一下,又没问题,不知道跟什么冲突了。