Subject: bug#34291: closed (Re: bug#34291: Some EWW patches)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 08 Feb 2019 07:54:03 +0000

Your bug report

#34291: Some EWW patches

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
34291: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34291
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#34291: Some EWW patches
From: Eli Zaretskii <[email-masked]>
To: Nicholas Drozd <[email-masked]>
Cc: [email-masked]
Date: Fri, 08 Feb 2019 09:53:23 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Nicholas Drozd <[email-masked]>
> Date: Mon, 4 Feb 2019 18:26:49 -0600
> Cc: [email-masked]
> 
> Feel free to fix any remaining formatting / style issues.

Done.  Please note that user-visible changes in behavior (PATCH 1/3
below) should also be called out in NEWS.

Closing the bug report.  Thanks for working on this.

Subject: Some EWW patches
From: Nicholas Drozd <[email-masked]>
To: [email-masked]
Date: Sat, 2 Feb 2019 13:26:16 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

One doc fix, one minor feature, one minor bug fix.

Let me know if these attachments are a problem, and I can send the
text of the patches individually.
From 6e491a94b0d7853931c96ebdcc39cd045da59fc5 Mon Sep 17 00:00:00 2001
From: Nick Drozd <[email-masked]>
Date: Sat, 2 Feb 2019 12:50:03 -0600
Subject: [PATCH 3/3] * lisp/net/eww.el (eww-download-callback): Fix download
 URL path

Previously this wasn't handling download URLs correctly, resulting in
all downloaded pages being named "!", "!(1)", etc.

Take "https://emptysqua.re/blog/getaddrinfo-cpython-mac-and-bsd/" as
an example. `url-path-and-query' breaks this down to
"/blog/getaddrinfo-cpython-mac-and-bsd/", and this gets passed to
`file-name-nondirectory'. But that path looks like a directory because
of the trailing slash, so `eww-decode-url-file-name' would end up with
an empty string. Instead, remove the trailing slash so that a nonempty
file name is passed in.
---
 lisp/net/eww.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 0c8bffa579..da18535fdb 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -1544,7 +1544,7 @@ eww-download
 (defun eww-download-callback (status url)
   (unless (plist-get status :error)
     (let* ((obj (url-generic-parse-url url))
-           (path (car (url-path-and-query obj)))
+           (path (string-remove-suffix "/" (car (url-path-and-query obj))))
            (file (eww-make-unique-file-name
                   (eww-decode-url-file-name (file-name-nondirectory path))
                   eww-download-directory)))
-- 
2.17.1

From fb95cdd55641a8ea9b48176604a1420ff2cbb7bf Mon Sep 17 00:00:00 2001
From: Nick Drozd <[email-masked]>
Date: Sat, 2 Feb 2019 12:31:44 -0600
Subject: [PATCH 1/3] * doc/misc/eww.texi (Basics): Fix eww manual keybinding

C is bound to url-cookie-list.
---
 doc/misc/eww.texi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi
index b299ea1fb7..088da6f5fe 100644
--- a/doc/misc/eww.texi
+++ b/doc/misc/eww.texi
@@ -118,7 +118,7 @@ Basics
 @findex eww-toggle-colors
 @findex shr-use-colors
 @kindex F
-  The @kbd{C} command (@code{eww-toggle-colors}) toggles whether to use
+  The @kbd{M-C} command (@code{eww-toggle-colors}) toggles whether to use
 HTML-specified colors or not.  This sets the @code{shr-use-colors} variable.
 
 @findex eww-download
-- 
2.17.1

From 9d60ec71260f627940d179e3bd559014b6c5a15d Mon Sep 17 00:00:00 2001
From: Nick Drozd <[email-masked]>
Date: Sat, 2 Feb 2019 12:35:02 -0600
Subject: [PATCH 2/3] eww-download: Use link under point or current URL

* lisp/net/eww.el (eww-download)
* doc/misc/eww.texi (Basics)
---
 doc/misc/eww.texi | 7 ++++---
 lisp/net/eww.el   | 6 ++++--
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi
index 088da6f5fe..79175d10a9 100644
--- a/doc/misc/eww.texi
+++ b/doc/misc/eww.texi
@@ -125,9 +125,10 @@ Basics
 @vindex eww-download-directory
 @kindex d
 @cindex Download
-  A URL under the point can be downloaded with @kbd{d}
-(@code{eww-download}).  The file will be written to the directory
-specified in @code{eww-download-directory} (Default: @file{~/Downloads/}).
+  A URL can be downloaded with @kbd{d} (@code{eww-download}).  This
+will download the link under point if there is one, or else the URL of
+the current page. The file will be written to the directory specified
+in @code{eww-download-directory} (Default: @file{~/Downloads/}).
 
 @findex eww-back-url
 @findex eww-forward-url
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 3b7d9d5c2f..0c8bffa579 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -1531,10 +1531,12 @@ eww-copy-page-url
   (kill-new (plist-get eww-data :url)))
 
 (defun eww-download ()
-  "Download URL under point to `eww-download-directory'."
+  "Download URL to `eww-download-directory'.
+Use link under point if there is one, else the current page URL."
   (interactive)
   (access-file eww-download-directory "Download failed")
-  (let ((url (get-text-property (point) 'shr-url)))
+  (let ((url (or (get-text-property (point) 'shr-url)
+                 (eww-current-url))))
     (if (not url)
         (message "No URL under point")
       (url-retrieve url 'eww-download-callback (list url)))))
-- 
2.17.1