unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Antero Mejr via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 62800@debbugs.gnu.org
Subject: bug#62800: [PATCH] eww: Use completion in URL/keyword prompt.
Date: Sun, 23 Apr 2023 18:03:34 +0000	[thread overview]
Message-ID: <87v8hmv5l5.fsf@mailbox.org> (raw)
In-Reply-To: <83zg701e6n.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 22 Apr 2023 12:03:44 +0300")

[-- Attachment #1: Type: text/plain, Size: 1455 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

>> Cc: 62800@debbugs.gnu.org
>> Date: Thu, 13 Apr 2023 17:16:53 +0000
>> From:  Antero Mejr via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>> 
>> New patches are attached. The first adds tab completion and is just
>> slightly reworded. The second adds "eww-suggested-uris" to the
>> completion options, and adds bookmark URIs to the "eww-suggest-uris"
>> list, since browsers suggest bookmarks too.
>
> Thanks.  The patches don't apply to the Emacs master branch.  Could
> you please update them and re-post?  When you do so, please mention
> the bug number in the commit log messages, to minimize the amount of
> manual work required when installing the changes.

Updated patches are attached.

> Also, this and your previous contributions exhaust the amount of
> changes we can accept without a copyright assignment.  Would you like
> to start the legal paperwork of assigning the copyright at this time,
> so we could accept contributions from you in the future without
> limitations?

I submitted all the paperwork in early March for my other pending patch,
but haven't gotten the counter-signed copy yet. Hopefully it's in the
queue somewhere. I wrote another patch mentioning the assignment time
frame in the CONTRIBUTING file, since new contributors might assume
something is wrong if they haven't heard back, but based on what I've
read 6+ weeks is normal.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: v4-0001-eww-Enable-completion-in-URL-keyword-prompt.patch --]
[-- Type: text/x-patch, Size: 2468 bytes --]

From 1779ea789e6478a48a2503eda735ab34edce79e4 Mon Sep 17 00:00:00 2001
From: Antero Mejr <antero@mailbox.org>
Date: Wed, 12 Apr 2023 17:56:01 +0000
Subject: [PATCH v4 1/3] eww: Enable completion in URL/keyword prompt.

* lisp/net/eww.el (eww): Use 'completing-read' when prompting for a URL
or keywords.
(eww-minibuffer-url-keymap): New keymap for use in the URL/keyword
prompt.
* etc/NEWS (EWW): Add NEWS entry for the change.  (Bug#62800)
---
 etc/NEWS        |  5 +++++
 lisp/net/eww.el | 16 ++++++++++++----
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index ca529be7aa1..df749a12743 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -226,6 +226,11 @@ the new argument NEW-BUFFER non-nil, it will use a new buffer instead.
 Interactively, invoke 'eww-open-file' with a prefix argument to
 activate this behavior.
 
++++
+*** 'eww' URL or keyword prompt now has tab completion.
+The interactive minibuffer prompt when invoking 'eww' now has support
+for tab completion.
+
 ** go-ts-mode
 
 +++
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 99450356b7c..eb123864973 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -329,6 +329,12 @@ parameter, and should return the (possibly) transformed URL."
   :parent shr-image-map
   "RET" #'eww-follow-link)
 
+(defvar-keymap eww-minibuffer-url-keymap
+  :doc "Keymap used in the minibuffer prompt for URLs or keywords."
+  :parent minibuffer-local-completion-map
+  "SPC" #'self-insert-command
+  "?" #'self-insert-command)
+
 (defun eww-suggested-uris nil
   "Return the list of URIs to suggest at the `eww' prompt.
 This list can be customized via `eww-suggest-uris'."
@@ -377,10 +383,12 @@ killed after rendering.
 
 For more information, see Info node `(eww) Top'."
   (interactive
-   (let ((uris (eww-suggested-uris)))
-     (list (read-string (format-prompt "Enter URL or keywords"
-                                       (and uris (car uris)))
-                        nil 'eww-prompt-history uris)
+   (let ((uris (eww-suggested-uris))
+         (minibuffer-local-completion-map eww-minibuffer-url-keymap))
+     (list (completing-read (format-prompt "Enter URL or keywords"
+                                           (and uris (car uris)))
+                            eww-prompt-history nil nil nil
+                            'eww-prompt-history uris)
            current-prefix-arg)))
   (setq url (eww--dwim-expand-url url))
   (pop-to-buffer-same-window
-- 
2.39.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: v4-0002-eww-Provide-completions-for-bookmarks-and-suggest.patch --]
[-- Type: text/x-patch, Size: 3141 bytes --]

From 4832f508748e8c3e6c94e8e5c4bf7ddc057b5265 Mon Sep 17 00:00:00 2001
From: Antero Mejr <antero@mailbox.org>
Date: Thu, 13 Apr 2023 15:59:54 +0000
Subject: [PATCH v4 2/3] eww: Provide completions for bookmarks and suggested
 URIs.

* lisp/net/eww.el (eww): Add the result of 'eww-suggest-uris' to the
completion collection argument.
(eww-bookmark-urls): New procedure.
(eww-suggest-uris): Add "eww-bookmark-urls" to the default list.
* etc/NEWS (EWW): Add NEWS entry for the change.  (Bug#62800)
---
 etc/NEWS        |  6 ++++++
 lisp/net/eww.el | 16 ++++++++++++----
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index df749a12743..286cfcad4f3 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -231,6 +231,12 @@ activate this behavior.
 The interactive minibuffer prompt when invoking 'eww' now has support
 for tab completion.
 
++++
+*** 'eww' URL and keyword prompt now completes suggested URIs and bookmarks.
+The interactive minibuffer prompt when invoking 'eww' now provides
+completions from 'eww-suggest-uris'. 'eww-suggest-uris' now includes
+bookmark URIs.
+
 ** go-ts-mode
 
 +++
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index eb123864973..61f0f47373d 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -94,7 +94,8 @@ no parameters) that returns a directory name."
 (defcustom eww-suggest-uris
   '(eww-links-at-point
     thing-at-point-url-at-point
-    eww-current-url)
+    eww-current-url
+    eww-bookmark-urls)
   "List of functions called to form the list of default URIs for `eww'.
 Each of the elements is a function returning either a string or a list
 of strings.  The results will be joined into a single list with
@@ -104,7 +105,8 @@ duplicate entries (if any) removed."
   :type 'hook
   :options '(eww-links-at-point
              thing-at-point-url-at-point
-             eww-current-url))
+             eww-current-url
+             eww-bookmark-urls))
 
 (defcustom eww-bookmarks-directory user-emacs-directory
   "Directory where bookmark files will be stored."
@@ -387,8 +389,8 @@ For more information, see Info node `(eww) Top'."
          (minibuffer-local-completion-map eww-minibuffer-url-keymap))
      (list (completing-read (format-prompt "Enter URL or keywords"
                                            (and uris (car uris)))
-                            eww-prompt-history nil nil nil
-                            'eww-prompt-history uris)
+                            (seq-uniq (append eww-prompt-history uris))
+                            nil nil nil 'eww-prompt-history uris)
            current-prefix-arg)))
   (setq url (eww--dwim-expand-url url))
   (pop-to-buffer-same-window
@@ -2235,6 +2237,12 @@ If ERROR-OUT, signal user-error if there are no bookmarks."
 					'eww-bookmark)))
     (eww-browse-url (plist-get bookmark :url))))
 
+(defun eww-bookmark-urls ()
+  "Get the URLs from the current list of bookmarks."
+  (interactive nil eww-boomark-mode)
+  (eww-read-bookmarks)
+  (mapcar (lambda (x) (plist-get x :url)) eww-bookmarks))
+
 (defvar-keymap eww-bookmark-mode-map
   "C-k" #'eww-bookmark-kill
   "C-y" #'eww-bookmark-yank
-- 
2.39.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0001-Mention-copyright-assignment-time-frame.patch --]
[-- Type: text/x-patch, Size: 1026 bytes --]

From ef1abee64d9826ce0c29413738c171bc012c2942 Mon Sep 17 00:00:00 2001
From: Antero Mejr <antero@mailbox.org>
Date: Sun, 23 Apr 2023 17:40:39 +0000
Subject: [PATCH] Mention copyright assignment time frame.

* CONTRIBUTE (Getting involved with development): Mention copyright
assignment time frame and add a reminder to make sure patches apply.
---
 CONTRIBUTE | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CONTRIBUTE b/CONTRIBUTE
index 464b800adfb..85fc485646f 100644
--- a/CONTRIBUTE
+++ b/CONTRIBUTE
@@ -81,6 +81,9 @@ and return the completed information to the address at the top.
 (There are other assignment options, but they are much less commonly used.)
 If you have questions about the assignment process, you can ask the
 address listed on the form, and/or emacs-devel@gnu.org.
+The assignment process may take 6-8 weeks, so please ensure your
+pending patches still apply on the relevant branch, if the branch
+moves forward during that time period.
 
 ** Issue tracker (a.k.a. "bug tracker")
 
-- 
2.39.2


  reply	other threads:[~2023-04-23 18:03 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-12 18:10 bug#62800: [PATCH] eww: Use completion in URL/keyword prompt Antero Mejr via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-12 18:32 ` Juri Linkov
2023-04-12 19:44   ` Antero Mejr via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-12 21:43     ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-13  1:31       ` Antero Mejr via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-13  6:41         ` Juri Linkov
2023-04-13  6:40     ` Juri Linkov
2023-04-13 17:16       ` Antero Mejr via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-22  9:03         ` Eli Zaretskii
2023-04-23 18:03           ` Antero Mejr via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2023-04-23 18:31             ` Eli Zaretskii
2023-04-24 11:56             ` Eli Zaretskii
2023-04-25 14:33             ` 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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v8hmv5l5.fsf@mailbox.org \
    --to=bug-gnu-emacs@gnu.org \
    --cc=62800@debbugs.gnu.org \
    --cc=antero@mailbox.org \
    --cc=eliz@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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).