From: Nicholas Drozd <nicholasdrozd@gmail.com>
To: 34291@debbugs.gnu.org
Subject: bug#34291: Some EWW patches
Date: Sat, 2 Feb 2019 13:26:16 -0600 [thread overview]
Message-ID: <CABAiW0pZZWeh+kL+kc_HbRoEGjcMk4+94OygjP=KFVvZqyE2+Q@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 153 bytes --]
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.
[-- Attachment #2: 0003-lisp-net-eww.el-eww-download-callback-Fix-download-U.patch --]
[-- Type: text/x-patch, Size: 1455 bytes --]
From 6e491a94b0d7853931c96ebdcc39cd045da59fc5 Mon Sep 17 00:00:00 2001
From: Nick Drozd <nicholasdrozd@gmail.com>
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
[-- Attachment #3: 0001-doc-misc-eww.texi-Basics-Fix-eww-manual-keybinding.patch --]
[-- Type: text/x-patch, Size: 824 bytes --]
From fb95cdd55641a8ea9b48176604a1420ff2cbb7bf Mon Sep 17 00:00:00 2001
From: Nick Drozd <nicholasdrozd@gmail.com>
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
[-- Attachment #4: 0002-eww-download-Use-link-under-point-or-current-URL.patch --]
[-- Type: text/x-patch, Size: 1915 bytes --]
From 9d60ec71260f627940d179e3bd559014b6c5a15d Mon Sep 17 00:00:00 2001
From: Nick Drozd <nicholasdrozd@gmail.com>
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
next reply other threads:[~2019-02-02 19:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-02 19:26 Nicholas Drozd [this message]
2019-02-02 19:53 ` bug#34291: Some EWW patches Eli Zaretskii
2019-02-05 0:26 ` Nicholas Drozd
2019-02-08 7:53 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CABAiW0pZZWeh+kL+kc_HbRoEGjcMk4+94OygjP=KFVvZqyE2+Q@mail.gmail.com' \
--to=nicholasdrozd@gmail.com \
--cc=34291@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.