GNU bug report logs - #54878
29.0.50; diary-fancy-display - with-current-buffer nil

Previous Next

Package: emacs;

Reported by: Andreas Röhler <andreas.roehler <at> easy-emacs.de>

Date: Tue, 12 Apr 2022 08:21:02 UTC

Severity: normal

Tags: moreinfo, notabug

Found in version 29.0.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 54878 in the body.
You can then email your comments to 54878 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#54878; Package emacs. (Tue, 12 Apr 2022 08:21:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Andreas Röhler <andreas.roehler <at> easy-emacs.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 12 Apr 2022 08:21:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; diary-fancy-display - with-current-buffer nil
Date: Tue, 12 Apr 2022 10:20:03 +0200
[Message part 1 (text/plain, inline)]
GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 2.24.32, 
cairo version 1.16.0) of 2022-04-06

Error from M-x calendar RET, backtrace below.

Caused by custom-file content of

 '(calendar-mark-diary-entries-flag t)
 '(calendar-view-diary-initially-flag t)

Error from ‘diary-fancy-display’

(with-current-buffer (find-buffer-visiting diary-file)

and get ‘nil’ from ‘(find-buffer-visiting diary-file)’.

Thanks,

Andreas

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  diary-fancy-display()
  diary-list-entries((4 12 2022) nil)
  diary-view-entries()
  calendar-basic-setup(nil)
  calendar(nil)
  funcall-interactively(calendar nil)
  call-interactively(calendar record nil)
  (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp 
cmd) (get cmd 'byte-obsolete-info) (not (get cmd 
'command-execute-obsolete-warned))) (progn (put cmd 
'command-execute-obsolete-warned t) (message "%s" 
(macroexp--obsolete-warning cmd (get cmd 'byte-obsolete-info) "command")))))
  (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd 'command-execute-obsolete-warned))) (progn (put cmd 
'command-execute-obsolete-warned t) (message "%s" 
(macroexp--obsolete-warning cmd (get cmd ...) "command")))))))
  (let ((final cmd)) (while (progn (setq final (indirect-function 
final)) (if (autoloadp final) (setq final (autoload-do-load final 
cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd ...))) (progn (put cmd 'command-execute-obsolete-warned t) 
(message "%s" (macroexp--obsolete-warning cmd ... "command"))))))))
  (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and 
(consp (get cmd ...)) (eq (car ...) 'query))) (not 
(command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history 'command-history (list ... final prefixarg) nil 
t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively 
cmd record-flag keys) (if (and (symbolp cmd) (get cmd ...) (not ...)) 
(progn (put cmd ... t) (message "%s" ...))))))))
  (let ((prefixarg (if special nil (prog1 prefix-arg (setq 
current-prefix-arg prefix-arg) (setq prefix-arg nil) (if 
current-prefix-arg (progn (prefix-command-update)))))) query) (if (and 
(symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp ...) 
(eq ... ...))) (not (command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history ... ... nil t))) (execute-kbd-macro final 
prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and 
... ... ...) (progn ... ...))))))))
  command-execute(calendar record)
  (let ((prefix-arg prefixarg)) (command-execute function 'record))
  (let* (#'(and (stringp command-name) (intern-soft command-name)) 
(binding (and suggest-key-bindings (not executing-kbd-macro) 
(where-is-internal function overriding-local-map t))) 
(delay-before-suggest 0) (find-shorter nil)) (if (commandp function) nil 
(error "`%s' is not a valid command name" command-name)) 
(set--this-command-keys (concat "\370" (symbol-name function) "\15")) 
(setq this-command function) (setq real-this-command function) (let 
((prefix-arg prefixarg)) (command-execute function 'record)) (if 
execute-extended-command--binding-timer (progn (cancel-timer 
execute-extended-command--binding-timer))) (if (and suggest-key-bindings 
(or binding (and extended-command-suggest-shorter typed))) (progn (setq 
delay-before-suggest (cond ((= 0 (length ...)) 0) ((numberp 
suggest-key-bindings) suggest-key-bindings) (t 2))) (if (and 
extended-command-suggest-shorter (not binding) (not executing-kbd-macro) 
(symbolp function) (> (length (symbol-name function)) 2)) (progn (setq 
find-shorter t))) (if (or binding find-shorter) (progn (setq 
execute-extended-command--binding-timer (run-at-time 
delay-before-suggest nil #'...)))))))
  execute-extended-command(nil "calendar" nil)
  funcall-interactively(execute-extended-command nil "calendar" nil)
  call-interactively(execute-extended-command nil nil)
  (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp 
cmd) (get cmd 'byte-obsolete-info) (not (get cmd 
'command-execute-obsolete-warned))) (progn (put cmd 
'command-execute-obsolete-warned t) (message "%s" 
(macroexp--obsolete-warning cmd (get cmd 'byte-obsolete-info) "command")))))
  (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd 'command-execute-obsolete-warned))) (progn (put cmd 
'command-execute-obsolete-warned t) (message "%s" 
(macroexp--obsolete-warning cmd (get cmd ...) "command")))))))
  (let ((final cmd)) (while (progn (setq final (indirect-function 
final)) (if (autoloadp final) (setq final (autoload-do-load final 
cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 
'command-history (list 'execute-kbd-macro final prefixarg) nil t))) 
(execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd 
record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) 
(not (get cmd ...))) (progn (put cmd 'command-execute-obsolete-warned t) 
(message "%s" (macroexp--obsolete-warning cmd ... "command"))))))))
  (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and 
(consp (get cmd ...)) (eq (car ...) 'query))) (not 
(command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history 'command-history (list ... final prefixarg) nil 
t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively 
cmd record-flag keys) (if (and (symbolp cmd) (get cmd ...) (not ...)) 
(progn (put cmd ... t) (message "%s" ...))))))))
  (let ((prefixarg (if special nil (prog1 prefix-arg (setq 
current-prefix-arg prefix-arg) (setq prefix-arg nil) (if 
current-prefix-arg (progn (prefix-command-update)))))) query) (if (and 
(symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp ...) 
(eq ... ...))) (not (command-execute--query cmd))) (and (not query) 
disabled-command-function))) (if (not query) (progn (run-hooks 
'disabled-command-function))) (let ((final cmd)) (while (progn (setq 
final (indirect-function final)) (if (autoloadp final) (setq final 
(autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag 
(progn (add-to-history ... ... nil t))) (execute-kbd-macro final 
prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and 
... ... ...) (progn ... ...))))))))
  command-execute(execute-extended-command)
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54878; Package emacs. (Tue, 12 Apr 2022 10:20:02 GMT) Full text and rfc822 format available.

Message #8 received at 54878 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
Cc: 54878 <at> debbugs.gnu.org
Subject: Re: bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
Date: Tue, 12 Apr 2022 12:19:00 +0200
Andreas Röhler <andreas.roehler <at> easy-emacs.de> writes:

> Error from M-x calendar RET, backtrace below.
>
> Caused by custom-file content of
>
>  '(calendar-mark-diary-entries-flag t)
>  '(calendar-view-diary-initially-flag t)
>
> Error from ‘diary-fancy-display’ 
>
> (with-current-buffer (find-buffer-visiting diary-file)
>
> and get ‘nil’ from ‘(find-buffer-visiting diary-file)’.

I'm unable to reproduce this in Emacs 29.

emacs -Q
M-:  (setq calendar-mark-diary-entries-flag t
       calendar-view-diary-initially-flag t)
M-x calendar

I don't get any errors.  I guess I need a diary file for today to
reproduce the problem?  What do you have?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 12 Apr 2022 10:20:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54878; Package emacs. (Tue, 12 Apr 2022 19:14:02 GMT) Full text and rfc822 format available.

Message #13 received at 54878 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 54878 <at> debbugs.gnu.org
Subject: Re: bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
Date: Tue, 12 Apr 2022 21:13:43 +0200
[Message part 1 (text/plain, inline)]
Am 12.04.22 um 12:19 schrieb Lars Ingebrigtsen:
> Andreas Röhler<andreas.roehler <at> easy-emacs.de>  writes:
>
>> Error from M-x calendar RET, backtrace below.
>>
>> Caused by custom-file content of
>>
>>   '(calendar-mark-diary-entries-flag t)
>>   '(calendar-view-diary-initially-flag t)
>>
>> Error from ‘diary-fancy-display’
>>
>> (with-current-buffer (find-buffer-visiting diary-file)
>>
>> and get ‘nil’ from ‘(find-buffer-visiting diary-file)’.
> I'm unable to reproduce this in Emacs 29.
>
> emacs -Q
> M-:  (setq calendar-mark-diary-entries-flag t
>         calendar-view-diary-initially-flag t)
> M-x calendar
>
> I don't get any errors.  I guess I need a diary file for today to
> reproduce the problem?  What do you have?
>
 In ~/.emacs.d/diary exists an empty foo.org

Getting in *Messages*:

diary-list-entries: Wrong type argument: stringp, nil
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54878; Package emacs. (Tue, 12 Apr 2022 19:33:01 GMT) Full text and rfc822 format available.

Message #16 received at 54878 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
Cc: 54878 <at> debbugs.gnu.org
Subject: Re: bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
Date: Tue, 12 Apr 2022 21:32:19 +0200
Andreas Röhler <andreas.roehler <at> easy-emacs.de> writes:

> I don't get any errors.  I guess I need a diary file for today to
> reproduce the problem?  What do you have?
>
>  In ~/.emacs.d/diary exists an empty foo.org

Sorry, I don't understand what that means.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54878; Package emacs. (Tue, 12 Apr 2022 19:46:02 GMT) Full text and rfc822 format available.

Message #19 received at 54878 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 54878 <at> debbugs.gnu.org
Subject: Re: bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
Date: Tue, 12 Apr 2022 21:45:03 +0200
[Message part 1 (text/plain, inline)]
Am 12.04.22 um 21:32 schrieb Lars Ingebrigtsen:
> Andreas Röhler<andreas.roehler <at> easy-emacs.de>  writes:
>
>> I don't get any errors.  I guess I need a diary file for today to
>> reproduce the problem?  What do you have?
>>
>>   In ~/.emacs.d/diary exists an empty foo.org
> Sorry, I don't understand what that means.
You asked for a diary file. Don't have that. But have a file SOME.org in 
that directory, where
diary-fancy-display is looking into. Which shouldn't matter WRT bug, 
just because you asked.

BTW the whole point is to care for the case, that no diary-file exists 
but the custom-vars are set like given.
Exclude (with-current-buffer nil)
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54878; Package emacs. (Wed, 13 Apr 2022 00:10:02 GMT) Full text and rfc822 format available.

Message #22 received at 54878 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
Cc: 54878 <at> debbugs.gnu.org
Subject: Re: bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
Date: Wed, 13 Apr 2022 02:09:10 +0200
Andreas Röhler <andreas.roehler <at> easy-emacs.de> writes:

> You asked for a diary file. Don't have that. But have a file SOME.org
> in that directory, where diary-fancy-display is looking into. Which
> shouldn't matter WRT bug, just because you asked.

~/.emacs.d/diary should be a file, not a directory.  Having that be a
directory is not supported.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54878; Package emacs. (Wed, 13 Apr 2022 05:44:01 GMT) Full text and rfc822 format available.

Message #25 received at 54878 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 54878 <at> debbugs.gnu.org
Subject: Re: bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
Date: Wed, 13 Apr 2022 07:43:12 +0200
[Message part 1 (text/plain, inline)]
Am 13.04.22 um 02:09 schrieb Lars Ingebrigtsen:
> Andreas Röhler<andreas.roehler <at> easy-emacs.de>  writes:
>
>> You asked for a diary file. Don't have that. But have a file SOME.org
>> in that directory, where diary-fancy-display is looking into. Which
>> shouldn't matter WRT bug, just because you asked.
> ~/.emacs.d/diary should be a file, not a directory.  Having that be a
> directory is not supported.
>

Let assume the user had such a file. Now it got deleted. Which results 
in that spurious error.

Instead of that opaque error, a warning could be sent - likewise, 
preventing it internally seems an option.
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54878; Package emacs. (Wed, 13 Apr 2022 11:55:01 GMT) Full text and rfc822 format available.

Message #28 received at 54878 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
Cc: 54878 <at> debbugs.gnu.org
Subject: Re: bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
Date: Wed, 13 Apr 2022 13:54:35 +0200
Andreas Röhler <andreas.roehler <at> easy-emacs.de> writes:

> Let assume the user had such a file. Now it got deleted. Which results in that
> spurious error.

No, the problem is that you have a directory where a file is expected.
If neither file nor directory exists, you won't get an error.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54878; Package emacs. (Wed, 13 Apr 2022 14:06:01 GMT) Full text and rfc822 format available.

Message #31 received at 54878 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 54878 <at> debbugs.gnu.org
Subject: Re: bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
Date: Wed, 13 Apr 2022 16:04:59 +0200
[Message part 1 (text/plain, inline)]
Am 13.04.22 um 13:54 schrieb Lars Ingebrigtsen:
> Andreas Röhler<andreas.roehler <at> easy-emacs.de>  writes:
>
>> Let assume the user had such a file. Now it got deleted. Which results in that
>> spurious error.
> No, the problem is that you have a directory where a file is expected.


Have an empty org-file there - i.e. deleted the previous entries.


> If neither file nor directory exists, you won't get an error.
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#54878; Package emacs. (Wed, 13 Apr 2022 14:28:02 GMT) Full text and rfc822 format available.

Message #34 received at 54878 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
Cc: 54878 <at> debbugs.gnu.org
Subject: Re: bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
Date: Wed, 13 Apr 2022 16:27:32 +0200
Andreas Röhler <andreas.roehler <at> easy-emacs.de> writes:

> Have an empty org-file there - i.e. deleted the previous entries.

The problem is that ~/.emacs.d/diary is a directory, and not a file as
it's documented to be supposed to be.  It doesn't matter which files are
in the directory.

I'm closing this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) notabug. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 13 Apr 2022 14:28:03 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 54878 <at> debbugs.gnu.org and Andreas Röhler <andreas.roehler <at> easy-emacs.de> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 13 Apr 2022 14:28:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 12 May 2022 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 132 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.