bug#32989: 26.1; Opening PDF attachments in Gnus with doc-view-mode causes error on Windows

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

bug#32989: 26.1; Opening PDF attachments in Gnus with doc-view-mode causes error on Windows

Jordan Wilson-2

Hi,

I'm running Emacs 26.1 on Windows 10. I've replicated this with "emacs -Q"

In a gnus article buffer, opening a PDF attachment in doc-view causes
doc-view to fail with the error:
  File error: "Opening output file", "Invalid argument", "c:/Users/Jordan/Emacs/.cache/docview-cache/ *mm*-012345"

this leaves a buffer showing the file literally. If I rename that buffer
to something not containing an asterisk, it displays fine when running
"doc-view-mode". Windows apparently can't handle asterisks in
directory/file names.

Thanks



In GNU Emacs 26.1 (build 1, x86_64-w64-mingw32)
 of 2018-05-29 built on TPW550S
Windowing system distributor 'Microsoft Corp.', version 10.0.17134

Configured using:
 'configure --without-compress-install --without-dbus --with-modules
 'CFLAGS= -O2 -g3''

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND NOTIFY ACL GNUTLS LIBXML2
ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS LCMS2

Important settings:
  value of $LANG: ENG
  locale-coding-system: cp1252

--
Jordan Wilson
    Sent from Gnus v5.13, GNU Emacs 26.1



Reply | Threaded
Open this post in threaded view
|

bug#32989: 26.1; Opening PDF attachments in Gnus with doc-view-mode causes error on Windows

Eli Zaretskii
> From: Jordan Wilson <[hidden email]>
> Date: Mon, 08 Oct 2018 15:44:55 +0100
>
>   File error: "Opening output file", "Invalid argument", "c:/Users/Jordan/Emacs/.cache/docview-cache/ *mm*-012345"
>
> this leaves a buffer showing the file literally. If I rename that buffer
> to something not containing an asterisk, it displays fine when running
> "doc-view-mode". Windows apparently can't handle asterisks in
> directory/file names.

Windows doesn't allow '*' (and a few other characters) in any file
name, not just in directory name.  Gnus should run the file name
through convert-standard-filename to get something that is guaranteed
to work on any filesystem.



Reply | Threaded
Open this post in threaded view
|

bug#32989: 26.1; Opening PDF attachments in Gnus with doc-view-mode causes error on Windows

Jordan Wilson-2
On 2018-10-08 (Mon) at 23:02 (ZZZ), Eli Zaretskii <[hidden email]> wrote:

>> From: Jordan Wilson <[hidden email]>
>> Date: Mon, 08 Oct 2018 15:44:55 +0100
>>
>>   File error: "Opening output file", "Invalid argument", "c:/Users/Jordan/Emacs/.cache/docview-cache/ *mm*-012345"
>>
>> this leaves a buffer showing the file literally. If I rename that buffer
>> to something not containing an asterisk, it displays fine when running
>> "doc-view-mode". Windows apparently can't handle asterisks in
>> directory/file names.
>
> Windows doesn't allow '*' (and a few other characters) in any file
> name, not just in directory name.  Gnus should run the file name
> through convert-standard-filename to get something that is guaranteed
> to work on any filesystem.
Looking, it seems to be on doc-view's side -- if a buffer isn't
associated with a file, it uses the buffer name for the file's cache
directory. Here's a patch to the 26 and trunk branches of doc-view.el to
run the file names through `convert-standard-filename'. It fixes the
problem for me, at least.

--
Jordan Wilson
    Sent from Gnus v5.13, GNU Emacs 26.1

doc-view-26.diff (2K) Download Attachment
doc-view-trunk.diff (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

bug#32989: 26.1; Opening PDF attachments in Gnus with doc-view-mode causes error on Windows

Jordan Wilson-2
I was just wondering if these are going to be applied? It's a pretty
easy fix.

On 2018-10-10 (Wed) at 11:45 (+01), Jordan Wilson <[hidden email]> wrote:
>Here's a patch to the 26 and trunk branches of doc-view.el to
> run the file names through `convert-standard-filename'. It fixes the
> problem for me, at least.
--
Jordan Wilson
    Sent from Gnus v5.13, GNU Emacs 26.1



Reply | Threaded
Open this post in threaded view
|

bug#32989: 26.1; Opening PDF attachments in Gnus with doc-view-mode causes error on Windows

Eli Zaretskii
In reply to this post by Jordan Wilson-2
> From: Jordan Wilson <[hidden email]>
> Cc: [hidden email]
> Date: Wed, 10 Oct 2018 11:45:57 +0100
>
>
> [1:text/plain Hide]
>
> On 2018-10-08 (Mon) at 23:02 (ZZZ), Eli Zaretskii <[hidden email]> wrote:
> >> From: Jordan Wilson <[hidden email]>
> >> Date: Mon, 08 Oct 2018 15:44:55 +0100
> >>
> >>   File error: "Opening output file", "Invalid argument", "c:/Users/Jordan/Emacs/.cache/docview-cache/ *mm*-012345"
> >>
> >> this leaves a buffer showing the file literally. If I rename that buffer
> >> to something not containing an asterisk, it displays fine when running
> >> "doc-view-mode". Windows apparently can't handle asterisks in
> >> directory/file names.
> >
> > Windows doesn't allow '*' (and a few other characters) in any file
> > name, not just in directory name.  Gnus should run the file name
> > through convert-standard-filename to get something that is guaranteed
> > to work on any filesystem.
> Looking, it seems to be on doc-view's side -- if a buffer isn't
> associated with a file, it uses the buffer name for the file's cache
> directory. Here's a patch to the 26 and trunk branches of doc-view.el to
> run the file names through `convert-standard-filename'. It fixes the
> problem for me, at least.

Thanks, pushed to the emacs-26 branch (will be merged to master from
there shortly).