unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
@ 2022-04-12  8:20 Andreas Röhler
  2022-04-12 10:19 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Röhler @ 2022-04-12  8:20 UTC (permalink / raw)
  To: 54878

[-- Attachment #1: Type: text/plain, Size: 7872 bytes --]

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)

[-- Attachment #2: Type: text/html, Size: 9048 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
  2022-04-12  8:20 bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil Andreas Röhler
@ 2022-04-12 10:19 ` Lars Ingebrigtsen
  2022-04-12 19:13   ` Andreas Röhler
  0 siblings, 1 reply; 10+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-12 10:19 UTC (permalink / raw)
  To: Andreas Röhler; +Cc: 54878

Andreas Röhler <andreas.roehler@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





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
  2022-04-12 10:19 ` Lars Ingebrigtsen
@ 2022-04-12 19:13   ` Andreas Röhler
  2022-04-12 19:32     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Röhler @ 2022-04-12 19:13 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 54878

[-- Attachment #1: Type: text/plain, Size: 872 bytes --]


Am 12.04.22 um 12:19 schrieb Lars Ingebrigtsen:
> Andreas Röhler<andreas.roehler@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

[-- Attachment #2: Type: text/html, Size: 1481 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
  2022-04-12 19:13   ` Andreas Röhler
@ 2022-04-12 19:32     ` Lars Ingebrigtsen
  2022-04-12 19:45       ` Andreas Röhler
  0 siblings, 1 reply; 10+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-12 19:32 UTC (permalink / raw)
  To: Andreas Röhler; +Cc: 54878

Andreas Röhler <andreas.roehler@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





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
  2022-04-12 19:32     ` Lars Ingebrigtsen
@ 2022-04-12 19:45       ` Andreas Röhler
  2022-04-13  0:09         ` Lars Ingebrigtsen
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Röhler @ 2022-04-12 19:45 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 54878

[-- Attachment #1: Type: text/plain, Size: 657 bytes --]


Am 12.04.22 um 21:32 schrieb Lars Ingebrigtsen:
> Andreas Röhler<andreas.roehler@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)

[-- Attachment #2: Type: text/html, Size: 1401 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
  2022-04-12 19:45       ` Andreas Röhler
@ 2022-04-13  0:09         ` Lars Ingebrigtsen
  2022-04-13  5:43           ` Andreas Röhler
  0 siblings, 1 reply; 10+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-13  0:09 UTC (permalink / raw)
  To: Andreas Röhler; +Cc: 54878

Andreas Röhler <andreas.roehler@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





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
  2022-04-13  0:09         ` Lars Ingebrigtsen
@ 2022-04-13  5:43           ` Andreas Röhler
  2022-04-13 11:54             ` Lars Ingebrigtsen
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Röhler @ 2022-04-13  5:43 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 54878

[-- Attachment #1: Type: text/plain, Size: 617 bytes --]


Am 13.04.22 um 02:09 schrieb Lars Ingebrigtsen:
> Andreas Röhler<andreas.roehler@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.

[-- Attachment #2: Type: text/html, Size: 1283 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
  2022-04-13  5:43           ` Andreas Röhler
@ 2022-04-13 11:54             ` Lars Ingebrigtsen
  2022-04-13 14:04               ` Andreas Röhler
  0 siblings, 1 reply; 10+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-13 11:54 UTC (permalink / raw)
  To: Andreas Röhler; +Cc: 54878

Andreas Röhler <andreas.roehler@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





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
  2022-04-13 11:54             ` Lars Ingebrigtsen
@ 2022-04-13 14:04               ` Andreas Röhler
  2022-04-13 14:27                 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Röhler @ 2022-04-13 14:04 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 54878

[-- Attachment #1: Type: text/plain, Size: 418 bytes --]


Am 13.04.22 um 13:54 schrieb Lars Ingebrigtsen:
> Andreas Röhler<andreas.roehler@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.
>

[-- Attachment #2: Type: text/html, Size: 1207 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil
  2022-04-13 14:04               ` Andreas Röhler
@ 2022-04-13 14:27                 ` Lars Ingebrigtsen
  0 siblings, 0 replies; 10+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-13 14:27 UTC (permalink / raw)
  To: Andreas Röhler; +Cc: 54878

Andreas Röhler <andreas.roehler@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





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-04-13 14:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-12  8:20 bug#54878: 29.0.50; diary-fancy-display - with-current-buffer nil Andreas Röhler
2022-04-12 10:19 ` Lars Ingebrigtsen
2022-04-12 19:13   ` Andreas Röhler
2022-04-12 19:32     ` Lars Ingebrigtsen
2022-04-12 19:45       ` Andreas Röhler
2022-04-13  0:09         ` Lars Ingebrigtsen
2022-04-13  5:43           ` Andreas Röhler
2022-04-13 11:54             ` Lars Ingebrigtsen
2022-04-13 14:04               ` Andreas Röhler
2022-04-13 14:27                 ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).