Subject: Re: bug#26063: 26.0.50; url-insert-file-contents signals error for HTTP 304 response

From: "Basil L. Contovounesios" <[email-masked]>
Date: Sun, 30 Jun 2019 01:25:18 +0100

tags 26063 - unreproducible
quit

Lars Ingebrigtsen <[email-masked]> writes:

> Andreas Politz <[email-masked]> writes:
>
>> Start from emacs -Q .
>>
>> 1. Install debbugs (http://elpa.gnu.org/packages/debbugs.html)
>> 2. Enable url-automatic-caching
>> 3. M-x debbugs-gnu-search RET change-group RET
>>
>> This should pop-up some results in a new buffer.  Now hit RET
>> (debbugs-gnu-select-report) on one of them, which will popup a gnus
>> buffer displaying the related articles.  Close that buffer via q
>> (gnus-summary-exit).  Back in the debbugs buffer, hit RET again, which
>> will lead to the following (abbreviated) backtrace.
>>
>> Debugger entered--Lisp error: (file-error
>> "http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23906;mboxmaint=yes;mboxstat=yes"
>> "Not modified")
>
> This seems to work for me in Emacs 27.
>
>> I think url-insert-file-contents should not raise an error when the
>> status code is 304, because it just means that the result comes from the
>> cache, instead of the server.
>
> Yup.  I seem to recall somebody else fixing the status code issue a
> while back.  Is this still a problem for you?

Yes:

0. HOME=$(mktemp -d) emacs -Q &
1. (progn
     (setq url-automatic-caching t)
     (dotimes (_ 2)
       (with-temp-buffer
         (url-insert-file-contents "https://debbugs.gnu.org/26063"))))
2. C-x C-e

Debugger entered--Lisp error: (file-error "https://debbugs.gnu.org/26063" "Not modified")
  signal(file-error ("https://debbugs.gnu.org/26063" "Not modified"))
  url-http--insert-file-helper(#<killed buffer> "https://debbugs.gnu.org/26063" nil)
  url-insert-file-contents("https://debbugs.gnu.org/26063")
  (progn (url-insert-file-contents "https://debbugs.gnu.org/26063"))
  ...

This happens on both emacs-26 and master.

Thanks,

-- 
Basil