Subject: bug#38034:

From: Lars Ingebrigtsen <[email-masked]>
Date: Sun, 19 Jul 2020 22:18:44 +0200

Saša Janiška <[email-masked]> writes:

> I'm exepriencing the same problem and did comment in
> https://github.com/dengste/org-caldav/issues/189
>
> Here is the output when using NextCloud-17.x:
>
> tree’s value is
> ((DAV:error
>       (((#1="http://www.w3.org/2000/xmlns/" . "d")
>         . "DAV:")
>        ((#1# . "s")
>         . "http://sabredav.org/ns"))
>       (http://sabredav\.org/nsexception nil "Sabre\\DAV\\Exception\\NotFound")
>       (http://sabredav\.org/nsmessage nil "Calendar object not found")))

Right, so you're getting back an error message, which means that we hit
the "else" bit here.

    (if (eq (xml-node-name (car tree)) 'DAV:multistatus)
	(url-dav-dispatch-node (car tree))
      (url-debug 'dav "Got back singleton response for URL(%S)" url)
      (let ((properties (url-dav-dispatch-node (car tree))))
	;; We need to make sure we have a DAV:status node in there for
	;; higher-level code;
	(setq properties (plist-put properties 'DAV:status overall-status))
	;; Make this look like a DAV:multistatus parse tree so that
	;; nobody but us needs to know the difference.
	(list (cons url properties))))))

And

(url-dav-dispatch-node (car tree))
=> " "

which means that the plist-put fails, of course.

But I'm totally unfamiliar with url-dav (and DAV), so I have no idea
what it really should be doing here.  It says that it tries to return a
DAV:multistatus parse tree...  but what do those look like (when you
don't have an error)?

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