* EWW improvements: open in new buffer, tags, quickmarks, search engines, ... @ 2018-04-16 10:26 Pierre Neidhardt 2018-04-16 10:54 ` Lars Ingebrigtsen ` (2 more replies) 0 siblings, 3 replies; 37+ messages in thread From: Pierre Neidhardt @ 2018-04-16 10:26 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 3660 bytes --] I've recently hacked around EWW and since it's coming into good shape I'm thinking of committing this upstream. Before sending a patch, here is the current state of my hacks: https://github.com/Ambrevar/dotfiles/blob/master/.emacs.d/lisp/init-eww.el Summary: - Add `eww-copy-page-title' that mirrors `eww-copy-page-url', it's useful enough. - Enhances eww-next-url / eww-previous-url so that when there is no next / previous links, it tries to increment / decrement the last number in the last element of the URL. ("do what you mean" style.) - Add a `eww-reload-all' command to reload all *eww* buffers, it's useful when using desktop-mode but when `eww-restore-desktop' is nil. - Make `eww' so that the default value is in the prompt, ready to be edited by the user. Very convenient in my opinion. - Change `eww-open-in-new-buffer' so that it queries for a URL instead of cloning the current buffer (which is not very useful in my opinion). - Make eww-update-header-line-format also update the buffer name so that it contains the page title. _Very useful_ to browse / search *eww* buffers (think Ivy/Helm). - Ask for tags when saving a bookmark. Tags are stored under the key :tags as a list of strings. - Make `eww-add-bookmark' run a customizable function to decide when. to error out. For instance, error out when a duplicate is detected with protocol stripped out (https://foo.bar is seen as a duplicate of http://foo.bar). - Make `eww-write-bookmarks' run a customizable function before saving the file. That function can be used, for instance, to detect duplicates or to sort the bookmarks. This would make the eww-bookmarks file more friendly to versioning. - Bookmarks can have a mark which is a string saved under the key :mark. The mark should be unique. It could be used like the "quickmark" function found in some browsers: use it to quickly load a bookmark. (Work in progress.) - Bookmarks can have a search engine which is either appended to the bookmark' URL if it does not start with "https?://", or used as-is otherwise. The search engine is stored as a string under the key :search. A "%s" must be present in the search engine string as a place-holder for the query. - Make `eww-bookmark-prepare' only load bookmarks from file if not already set. This makes it possible to display a custom / narrowed list of bookmarks in the bookmark buffer. - Make `eww-bookmark-prepare' display the mark, the tags and the search engine, if available. Work in progress. I'm thinking of using a different face for the mark if a search engine is present. - Add a `eww-bookmarks-by-tags' command which queries the user for a completing list of tags and then displays a bookmark buffers of all the bookmarks which match the tags. The matching can be either inclusive or exclusive (bookmarks which match at least one tag vs. all of them). - Make `eww--dwim-expand-url' follow a different logic to bind it all together: - With a multi-word query, if first word is a mark of a bookmark with a search engine, then use the said search engine over the rest of the query. - With a single word query, if first word is a mark then open the corresponding bookmark. - Else query the default search engine. - Fix `eww-forward-url' as it seems to corrupt the history. (Work in progress.) Of course in its present state my hacks are what they are, very hacky. It needs to be made more customizable and interfaceable. What do you think? -- Pierre Neidhardt Power corrupts. Absolute power is kind of neat. -- John Lehman, Secretary of the Navy, 1981-1987 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-16 10:26 EWW improvements: open in new buffer, tags, quickmarks, search engines, Pierre Neidhardt @ 2018-04-16 10:54 ` Lars Ingebrigtsen 2018-04-16 11:18 ` Pierre Neidhardt 2018-04-17 11:18 ` Charles A. Roelli 2018-04-17 19:01 ` Lars Ingebrigtsen 2 siblings, 1 reply; 37+ messages in thread From: Lars Ingebrigtsen @ 2018-04-16 10:54 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: emacs-devel Pierre Neidhardt <ambrevar@gmail.com> writes: > I've recently hacked around EWW and since it's coming into good shape > I'm thinking of committing this upstream. > > Before sending a patch, here is the current state of my hacks: Please send separate patches for each feature. :-) > - Add `eww-copy-page-title' that mirrors `eww-copy-page-url', it's > useful enough. Yup. > - Enhances eww-next-url / eww-previous-url so that when there is no next / > previous links, it tries to increment / decrement the last number in > the last element of the URL. ("do what you mean" style.) Hm... Are there many web sites where that is meaningful? > - Add a `eww-reload-all' command to reload all *eww* buffers, it's > useful when using desktop-mode but when `eww-restore-desktop' is nil. Sure. > - Make `eww' so that the default value is in the prompt, ready to be > edited by the user. Very convenient in my opinion. No, that's against Emacs' convention for prompting. The default is always stashed in `M-n'. > - Change `eww-open-in-new-buffer' so that it queries for a URL instead > of cloning the current buffer (which is not very useful in my > opinion). That's not what it's supposed to do -- it opens the link under point in a new buffer. > - Make eww-update-header-line-format also update the buffer name so that > it contains the page title. _Very useful_ to browse / search *eww* > buffers (think Ivy/Helm). Sounds nice, but also sounds like something not everybody would want, so it should have a configuration option to switch on/off (but can default to on). > - Ask for tags when saving a bookmark. Tags are stored under the key > :tags as a list of strings. Good idea. > - Make `eww-add-bookmark' run a customizable function to decide when. > to error out. For instance, error out when a duplicate is detected > with protocol stripped out (https://foo.bar is seen as a duplicate of > http://foo.bar). Hm... Doesn't really sound all that useful? But having that command give feedback (and perhaps query the user about what to do) in that situation would be handy. > - Make `eww-write-bookmarks' run a customizable function before saving > the file. That function can be used, for instance, to detect > duplicates or to sort the bookmarks. This would make the eww-bookmarks > file more friendly to versioning. Sure. > - Bookmarks can have a mark which is a string saved under the key :mark. > The mark should be unique. It could be used like the "quickmark" > function found in some browsers: use it to quickly load a > bookmark. (Work in progress.) A mark in addition to a tag? Sounds like a bit more than most users would want to invest in a bookmarking system, but I don't object. > - Bookmarks can have a search engine which is either appended to the > bookmark' URL if it does not start with "https?://", or used as-is > otherwise. > The search engine is stored as a string under the key :search. > A "%s" must be present in the search engine string as a place-holder > for the query. Hm. Sounds more complicated than users will want to do to me. > - Make `eww-bookmark-prepare' only load bookmarks from file if not > already set. This makes it possible to display a custom / narrowed > list of bookmarks in the bookmark buffer. I don't quite follow... What about just adding narrowing and sorting to that mode? > - Make `eww-bookmark-prepare' display the mark, the tags and the search > engine, if available. Work in progress. I'm thinking of using a > different face for the mark if a search engine is present. Sure. > - Add a `eww-bookmarks-by-tags' command which queries the user for a > completing list of tags and then displays a bookmark buffers of all > the bookmarks which match the tags. The matching can be either > inclusive or exclusive (bookmarks which match at least one tag vs. all > of them). Sounds nice. > - Make `eww--dwim-expand-url' follow a different logic to bind it all together: > > - With a multi-word query, if first word is a mark of a bookmark with a search engine, > then use the said search engine over the rest of the query. > > - With a single word query, if first word is a mark then open the > corresponding bookmark. > > - Else query the default search engine. Sounds confusing. :-) But also quite DWIM, which I like. > - Fix `eww-forward-url' as it seems to corrupt the history. (Work in progress.) > > Of course in its present state my hacks are what they are, very hacky. > It needs to be made more customizable and interfaceable. > > What do you think? Sounds great to me. :-) Make each thing into a patch (with documentation) and let the apply-to-Emacs-fest commence. That is, if you've been through the assign-copyright-to-the-FSF-process. I don't see you in the copyright.list file, but that's apparently out of date these days... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-16 10:54 ` Lars Ingebrigtsen @ 2018-04-16 11:18 ` Pierre Neidhardt 2018-04-16 12:08 ` Lars Ingebrigtsen 0 siblings, 1 reply; 37+ messages in thread From: Pierre Neidhardt @ 2018-04-16 11:18 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 5058 bytes --] Lars Ingebrigtsen <larsi@gnus.org> writes: >> - Enhances eww-next-url / eww-previous-url so that when there is no next / >> previous links, it tries to increment / decrement the last number in >> the last element of the URL. ("do what you mean" style.) > > Hm... Are there many web sites where that is meaningful? Emacs (and all GNU) mailing list archives for a start! :) Many websites use increments in URL while they forget the previous/next hint. >> - Change `eww-open-in-new-buffer' so that it queries for a URL instead >> of cloning the current buffer (which is not very useful in my >> opinion). > > That's not what it's supposed to do -- it opens the link under point in > a new buffer. Sorry, I meant when there is no link under point. Right now there is no way to just open a new eww buffer. >> - Make eww-update-header-line-format also update the buffer name so that >> it contains the page title. _Very useful_ to browse / search *eww* >> buffers (think Ivy/Helm). > > Sounds nice, but also sounds like something not everybody would want, so > it should have a configuration option to switch on/off (but can default > to on). Sure. >> - Make `eww-add-bookmark' run a customizable function to decide when. >> to error out. For instance, error out when a duplicate is detected >> with protocol stripped out (https://foo.bar is seen as a duplicate of >> http://foo.bar). > > Hm... Doesn't really sound all that useful? But having that command > give feedback (and perhaps query the user about what to do) in that > situation would be handy. Why not useful? `eww-add-bookmark' already does duplicate detection, except that it's very dumb: it won't realize if two bookmarks are the same up to the protocol. The command would obviously explain what's wrong when erroring out. >> - Bookmarks can have a mark which is a string saved under the key :mark. >> The mark should be unique. It could be used like the "quickmark" >> function found in some browsers: use it to quickly load a >> bookmark. (Work in progress.) > > A mark in addition to a tag? Sounds like a bit more than most users > would want to invest in a bookmarking system, but I don't object. Maybe I should have explained the overall bookmark logic beforehand :p - "tags" are optional words used to categorize bookmarks, e.g. "cinema", "emacs", "books". They can be used to filter & lookup bookmarks. - "mark" serves two purposes: it allows to open a link with a simple keybinding (optional) + it serves as a prefix for search engines (in which case it's no longer optional). For example, say github has mark "gh", then M-x eww RET gh opens github, so does `C-c e g h' if `C-c e' is quickmark prefix key. If github comes with a search engine `:search "/search?q=%s", then M-x eww RET gh foobar opens a github search query of "foobar". The point of centralizing search engines, quickmarks and bookmarks is that it makes it easier to configure and, most importantly, it allows for searching for all URLs at the same spot (name the bookmarks). >> - Bookmarks can have a search engine which is either appended to the >> bookmark' URL if it does not start with "https?://", or used as-is >> otherwise. >> The search engine is stored as a string under the key :search. >> A "%s" must be present in the search engine string as a place-holder >> for the query. > > Hm. Sounds more complicated than users will want to do to me. See my previous comment. I think this is actually simpler that adding search engine support with seperate functions and variables. With my suggestion we re-use the current implementation without adding any new variable / function. >> - Make `eww-bookmark-prepare' only load bookmarks from file if not >> already set. This makes it possible to display a custom / narrowed >> list of bookmarks in the bookmark buffer. > > I don't quite follow... What about just adding narrowing and sorting to > that mode? We could also do, but that does not compose as well as my suggestion. For instance, how would you filter bookmarks by tags? Narrowind and sorting would not be enough. >> - Make `eww--dwim-expand-url' follow a different logic to bind it all together: >> >> - With a multi-word query, if first word is a mark of a bookmark with a search engine, >> then use the said search engine over the rest of the query. >> >> - With a single word query, if first word is a mark then open the >> corresponding bookmark. >> >> - Else query the default search engine. > > Sounds confusing. :-) But also quite DWIM, which I like. The description is, but in practice it's crystal clear and always does what you want. > Sounds great to me. :-) Make each thing into a patch (with > documentation) and let the apply-to-Emacs-fest commence. That is, if > you've been through the assign-copyright-to-the-FSF-process. I don't > see you in the copyright.list file, but that's apparently out of date > these days... I am assigned to Emms, does it count? -- Pierre Neidhardt [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-16 11:18 ` Pierre Neidhardt @ 2018-04-16 12:08 ` Lars Ingebrigtsen 2018-04-16 12:22 ` Pierre Neidhardt 0 siblings, 1 reply; 37+ messages in thread From: Lars Ingebrigtsen @ 2018-04-16 12:08 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: emacs-devel Pierre Neidhardt <ambrevar@gmail.com> writes: >>> - Enhances eww-next-url / eww-previous-url so that when there is no next / >>> previous links, it tries to increment / decrement the last number in >>> the last element of the URL. ("do what you mean" style.) >> >> Hm... Are there many web sites where that is meaningful? > > Emacs (and all GNU) mailing list archives for a start! :) > Many websites use increments in URL while they forget the previous/next > hint. Hm... The numbers in the URLs often (usually) don't refer to the next/previous article, but are a global thing that count upwards. But perhaps it'll work out nice on many web sites. I'm not against adding this and see how it works out. If it turns out to be less than helpful, we can remove it again. >>> - Change `eww-open-in-new-buffer' so that it queries for a URL instead >>> of cloning the current buffer (which is not very useful in my >>> opinion). >> >> That's not what it's supposed to do -- it opens the link under point in >> a new buffer. > > Sorry, I meant when there is no link under point. > Right now there is no way to just open a new eww buffer. Oh, I see. Yes, that's a good idea. >>> - Make `eww-add-bookmark' run a customizable function to decide when. >>> to error out. For instance, error out when a duplicate is detected >>> with protocol stripped out (https://foo.bar is seen as a duplicate of >>> http://foo.bar). >> >> Hm... Doesn't really sound all that useful? But having that command >> give feedback (and perhaps query the user about what to do) in that >> situation would be handy. > > Why not useful? Because the vast majority of users won't create such a function. It's more useful (i.e., for more people) if things work the way it should be default. > `eww-add-bookmark' already does duplicate detection, except that it's > very dumb: it won't realize if two bookmarks are the same up to the > protocol. But then it should be smarter, I think. :-) >> A mark in addition to a tag? Sounds like a bit more than most users >> would want to invest in a bookmarking system, but I don't object. > > Maybe I should have explained the overall bookmark logic beforehand :p > > - "tags" are optional words used to categorize bookmarks, e.g. "cinema", "emacs", > "books". They can be used to filter & lookup bookmarks. > > - "mark" serves two purposes: it allows to open a link with a simple > keybinding (optional) + it serves as a prefix for search engines (in > which case it's no longer optional). For example, say github has mark > "gh", then > > M-x eww RET gh > > opens github, so does `C-c e g h' if `C-c e' is quickmark prefix key. > If github comes with a search engine `:search "/search?q=%s", then > > M-x eww RET gh foobar > > opens a github search query of "foobar". Ah, I see. Yes, that sounds very nice and useful. >>> - Make `eww-bookmark-prepare' only load bookmarks from file if not >>> already set. This makes it possible to display a custom / narrowed >>> list of bookmarks in the bookmark buffer. >> >> I don't quite follow... What about just adding narrowing and sorting to >> that mode? > > We could also do, but that does not compose as well as my suggestion. > For instance, how would you filter bookmarks by tags? Add a "narrow to tag" command to the mode? >> Sounds great to me. :-) Make each thing into a patch (with >> documentation) and let the apply-to-Emacs-fest commence. That is, if >> you've been through the assign-copyright-to-the-FSF-process. I don't >> see you in the copyright.list file, but that's apparently out of date >> these days... > > I am assigned to Emms, does it count? Hm... If it's specific to Emms, I don't think it's enough? Anybody know? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-16 12:08 ` Lars Ingebrigtsen @ 2018-04-16 12:22 ` Pierre Neidhardt 2018-04-16 12:27 ` Lars Ingebrigtsen 2018-04-16 12:32 ` Lars Ingebrigtsen 0 siblings, 2 replies; 37+ messages in thread From: Pierre Neidhardt @ 2018-04-16 12:22 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 2006 bytes --] Lars Ingebrigtsen <larsi@gnus.org> writes: >>>> - Make `eww-add-bookmark' run a customizable function to decide when. >>>> to error out. For instance, error out when a duplicate is detected >>>> with protocol stripped out (https://foo.bar is seen as a duplicate of >>>> http://foo.bar). >>> >>> Hm... Doesn't really sound all that useful? But having that command >>> give feedback (and perhaps query the user about what to do) in that >>> situation would be handy. >> >> Why not useful? > > Because the vast majority of users won't create such a function. It's > more useful (i.e., for more people) if things work the way it should be > default. > >> `eww-add-bookmark' already does duplicate detection, except that it's >> very dumb: it won't realize if two bookmarks are the same up to the >> protocol. > > But then it should be smarter, I think. :-) Sorry if I wasn't clear: I would not only make it customizable but also set the default to a smart function, so that both `eww-write-bookmark' and `eww-add-bookmark' exhibit a smarter behaviour. If that would not be smart enough to the users, they could still customize it. > We could also do, but that does not compose as well as my suggestion. >> For instance, how would you filter bookmarks by tags? > > Add a "narrow to tag" command to the mode? I have to think about it a little more. >>> Sounds great to me. :-) Make each thing into a patch (with >>> documentation) and let the apply-to-Emacs-fest commence. That is, if >>> you've been through the assign-copyright-to-the-FSF-process. I don't >>> see you in the copyright.list file, but that's apparently out of date >>> these days... >> >> I am assigned to Emms, does it count? > > Hm... If it's specific to Emms, I don't think it's enough? Anybody > know? I can sign another assignment, no problem with that :) -- Pierre Neidhardt It will be advantageous to cross the great stream ... the Dragon is on the wing in the Sky ... the Great Man rouses himself to his Work. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-16 12:22 ` Pierre Neidhardt @ 2018-04-16 12:27 ` Lars Ingebrigtsen 2018-04-16 12:32 ` Lars Ingebrigtsen 1 sibling, 0 replies; 37+ messages in thread From: Lars Ingebrigtsen @ 2018-04-16 12:27 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: emacs-devel Pierre Neidhardt <ambrevar@gmail.com> writes: > Sorry if I wasn't clear: I would not only make it customizable but also > set the default to a smart function, so that both `eww-write-bookmark' > and `eww-add-bookmark' exhibit a smarter behaviour. If that would not > be smart enough to the users, they could still customize it. Oh, OK. Sounds good to me. > I can sign another assignment, no problem with that :) Great; I'll send you the form off-list. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-16 12:22 ` Pierre Neidhardt 2018-04-16 12:27 ` Lars Ingebrigtsen @ 2018-04-16 12:32 ` Lars Ingebrigtsen 2018-04-16 17:55 ` Eli Zaretskii 1 sibling, 1 reply; 37+ messages in thread From: Lars Ingebrigtsen @ 2018-04-16 12:32 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: emacs-devel Pierre Neidhardt <ambrevar@gmail.com> writes: > I can sign another assignment, no problem with that :) Uhm, I can't seem to find the assignment template now... Can somebody else send it to Pierre? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-16 12:32 ` Lars Ingebrigtsen @ 2018-04-16 17:55 ` Eli Zaretskii 0 siblings, 0 replies; 37+ messages in thread From: Eli Zaretskii @ 2018-04-16 17:55 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel, ambrevar > From: Lars Ingebrigtsen <larsi@gnus.org> > Date: Mon, 16 Apr 2018 14:32:11 +0200 > Cc: emacs-devel@gnu.org > > Pierre Neidhardt <ambrevar@gmail.com> writes: > > > I can sign another assignment, no problem with that :) > > Uhm, I can't seem to find the assignment template now... Can somebody > else send it to Pierre? Sent off-list. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-16 10:26 EWW improvements: open in new buffer, tags, quickmarks, search engines, Pierre Neidhardt 2018-04-16 10:54 ` Lars Ingebrigtsen @ 2018-04-17 11:18 ` Charles A. Roelli 2018-04-17 19:18 ` Pierre Neidhardt 2018-04-17 19:01 ` Lars Ingebrigtsen 2 siblings, 1 reply; 37+ messages in thread From: Charles A. Roelli @ 2018-04-17 11:18 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: emacs-devel > From: Pierre Neidhardt <ambrevar@gmail.com> > Date: Mon, 16 Apr 2018 15:56:40 +0530 > > I've recently hacked around EWW and since it's coming into good shape > I'm thinking of committing this upstream. > > Before sending a patch, here is the current state of my hacks: > > https://github.com/Ambrevar/dotfiles/blob/master/.emacs.d/lisp/init-eww.el > > Summary: > > - ... BTW, you may also be interested in Bookmark+'s support for EWW, which includes: - changing EWW to use standard Emacs bookmarks instead of EWW's own implementation (so you get the annotation and position-saving features for free!), - automatic renaming of EWW buffers based on their URL or page title (not switched on by default), - and more generically (for every bookmark type under the sun), - tagging and searching bookmarks via these tags, - and dynamically sorting the bookmark list. The Bookmark+ code specifically for EWW is at: https://www.emacswiki.org/emacs/bookmark%2b-1.el I don't know how interested people here would be in integrating Bookmark+ (or just its EWW support) into Emacs itself, but it may be worth looking at. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-17 11:18 ` Charles A. Roelli @ 2018-04-17 19:18 ` Pierre Neidhardt 2018-04-24 5:56 ` Pierre Neidhardt 0 siblings, 1 reply; 37+ messages in thread From: Pierre Neidhardt @ 2018-04-17 19:18 UTC (permalink / raw) To: Charles A. Roelli; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1020 bytes --] Charles A. Roelli <charles@aurox.ch> writes: > BTW, you may also be interested in Bookmark+'s support for EWW, which > includes: > > - changing EWW to use standard Emacs bookmarks instead of EWW's own > implementation (so you get the annotation and position-saving > features for free!), > - automatic renaming of EWW buffers based on their URL or page title > (not switched on by default), > > - and more generically (for every bookmark type under the sun), > - tagging and searching bookmarks via these tags, > - and dynamically sorting the bookmark list. > > The Bookmark+ code specifically for EWW is at: > > https://www.emacswiki.org/emacs/bookmark%2b-1.el > > I don't know how interested people here would be in integrating > Bookmark+ (or just its EWW support) into Emacs itself, but it may be > worth looking at. Very good point, thanks for bringing it up! I'll see if it's possible to embed the mark and the search engine then. -- Pierre Neidhardt [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-17 19:18 ` Pierre Neidhardt @ 2018-04-24 5:56 ` Pierre Neidhardt 2018-04-24 14:50 ` Lars Ingebrigtsen ` (3 more replies) 0 siblings, 4 replies; 37+ messages in thread From: Pierre Neidhardt @ 2018-04-24 5:56 UTC (permalink / raw) To: Charles A. Roelli; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 594 bytes --] Another feature I'd like to add: a global "history" file. It would record all visited URI. It's convenient to search URLs that we know we've visited, but not necessarily only from a specific buffer. To make the history persistent, I would store it in a format similar to bookmarks but without any of the additional features I'm planning to add (tags, search engine, etc.). There would be the following keys: - URL - TITLE - TIME Defcustoms would include: - The persistent file. - The max number of entries to keep (0 for unlimited). Older entries get deleted first. -- Pierre Neidhardt [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-24 5:56 ` Pierre Neidhardt @ 2018-04-24 14:50 ` Lars Ingebrigtsen 2018-04-24 17:57 ` The importance of secrecy (was: EWW improvements: open in new buffer, tags, quickmarks, search engines, ...) Stefan Monnier 2018-04-24 15:58 ` EWW improvements: open in new buffer, tags, quickmarks, search engines, T.V Raman ` (2 subsequent siblings) 3 siblings, 1 reply; 37+ messages in thread From: Lars Ingebrigtsen @ 2018-04-24 14:50 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: Charles A. Roelli, emacs-devel Pierre Neidhardt <ambrevar@gmail.com> writes: > Another feature I'd like to add: a global "history" file. > It would record all visited URI. Yes, that would be very nice. And then ecomplete completion over the results, like most other browsers have. There's a privacy issue here, though, so it should be possible to switch it off. And perhaps eww should have a porn, I mean anonymous, mode where nothing is recorded: Neither cookies nor history. > To make the history persistent, I would store it in a format similar to > bookmarks but without any of the additional features I'm planning to add > (tags, search engine, etc.). > There would be the following keys: > - URL > - TITLE > - TIME Also the number of times it's been visited so that ecomplete can rank the things you're most interested in first. > Defcustoms would include: > > - The persistent file. > - The max number of entries to keep (0 for unlimited). Older entries > get deleted first. These can be stored directly in ecomplete, so that's not necessary. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 37+ messages in thread
* The importance of secrecy (was: EWW improvements: open in new buffer, tags, quickmarks, search engines, ...) 2018-04-24 14:50 ` Lars Ingebrigtsen @ 2018-04-24 17:57 ` Stefan Monnier 2018-04-24 19:45 ` The importance of secrecy John Wiegley 2018-04-24 20:16 ` The importance of secrecy (was: EWW improvements: open in new buffer, tags, quickmarks, search engines, ...) Joost Kremers 0 siblings, 2 replies; 37+ messages in thread From: Stefan Monnier @ 2018-04-24 17:57 UTC (permalink / raw) To: emacs-devel > There's a privacy issue here, though, so it should be possible to switch > it off. And perhaps eww should have a porn, I mean anonymous, mode BTW, I think using "porn" as a humorous justification for secrecy is detrimental since it promotes the view that secrecy is only used for objectionable activities, along the lines of "I don't need secrecy because I have nothing to hide". The recent Cambridge Analytica blip (it seems to have already disappeared from the media, sadly) is a prime example of why "no-secrecy" ultimately means "no democracy" or "no power". Stefan "who does realize that EWW's history probably won't be shared on Facebook, so maybe he didn't choose the best moment to bring up this general issue" ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: The importance of secrecy 2018-04-24 17:57 ` The importance of secrecy (was: EWW improvements: open in new buffer, tags, quickmarks, search engines, ...) Stefan Monnier @ 2018-04-24 19:45 ` John Wiegley 2018-04-24 20:16 ` The importance of secrecy (was: EWW improvements: open in new buffer, tags, quickmarks, search engines, ...) Joost Kremers 1 sibling, 0 replies; 37+ messages in thread From: John Wiegley @ 2018-04-24 19:45 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel >>>>> "SM" == Stefan Monnier <monnier@iro.umontreal.ca> writes: SM> BTW, I think using "porn" as a humorous justification for secrecy is SM> detrimental since it promotes the view that secrecy is only used for SM> objectionable activities, along the lines of "I don't need secrecy because SM> I have nothing to hide". Indeed. As someone whose wife's friends in Iran are actually being imprisoned on religious groups, the ability to promote education and other activities deemed "subversive" by the current regime depends entirely on one's ability to maintain private communications. This is what I think about when these issues come up. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: The importance of secrecy (was: EWW improvements: open in new buffer, tags, quickmarks, search engines, ...) 2018-04-24 17:57 ` The importance of secrecy (was: EWW improvements: open in new buffer, tags, quickmarks, search engines, ...) Stefan Monnier 2018-04-24 19:45 ` The importance of secrecy John Wiegley @ 2018-04-24 20:16 ` Joost Kremers 2018-04-24 20:53 ` The importance of secrecy Stefan Monnier 2018-04-24 22:40 ` Lars Ingebrigtsen 1 sibling, 2 replies; 37+ messages in thread From: Joost Kremers @ 2018-04-24 20:16 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel On Tue, Apr 24 2018, Stefan Monnier wrote: >> There's a privacy issue here, though, so it should be possible >> to switch >> it off. And perhaps eww should have a porn, I mean anonymous, >> mode > > BTW, I think using "porn" as a humorous justification for > secrecy is > detrimental since it promotes the view that secrecy is only used > for > objectionable activities, along the lines of "I don't need > secrecy > because I have nothing to hide". Note that these "anonymous" modes that modern browser implement really only serve to hide one's browsing history from family members and flat/room/office mates that you share your computer with. It has nothing to do with secrecy or anonymity on the internet. So porn-mode really isn't that much of a misnomer. -- Joost Kremers Life has its moments ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: The importance of secrecy 2018-04-24 20:16 ` The importance of secrecy (was: EWW improvements: open in new buffer, tags, quickmarks, search engines, ...) Joost Kremers @ 2018-04-24 20:53 ` Stefan Monnier 2018-04-24 22:40 ` Lars Ingebrigtsen 1 sibling, 0 replies; 37+ messages in thread From: Stefan Monnier @ 2018-04-24 20:53 UTC (permalink / raw) To: emacs-devel > Note that these "anonymous" modes that modern browser implement really only > serve to hide one's browsing history from family members and > flat/room/office mates that you share your computer with. Until your computer is subpoena'd, stolen, hacked into, accidentally mishandled, ... Whether you personally feel like these are serious threats to you right now is not the point. Information can easily be preserved for years, so even those same pieces of data about which you don't care right now might turn into very serious matters 10 years from now because your situation or the world around you has changed. To be honest, I feel like using exclusively Free Software, shying away from cell phones and centralized systems like Facebook/Whatsapp/..., and preferring good'ol cash makes me look pretty close to the prototypical sophisticated criminal living "off-the-grid" in your average policial TV series. The only saving grace is that I constantly post to public mailing-lists like this one ;-) Stefan ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: The importance of secrecy 2018-04-24 20:16 ` The importance of secrecy (was: EWW improvements: open in new buffer, tags, quickmarks, search engines, ...) Joost Kremers 2018-04-24 20:53 ` The importance of secrecy Stefan Monnier @ 2018-04-24 22:40 ` Lars Ingebrigtsen 2018-04-24 22:44 ` Stefan Monnier 1 sibling, 1 reply; 37+ messages in thread From: Lars Ingebrigtsen @ 2018-04-24 22:40 UTC (permalink / raw) To: Joost Kremers; +Cc: Stefan Monnier, emacs-devel Joost Kremers <joostkremers@fastmail.fm> writes: > Note that these "anonymous" modes that modern browser implement really > only serve to hide one's browsing history from family members and > flat/room/office mates that you share your computer with. It has > nothing to do with secrecy or anonymity on the internet. So porn-mode > really isn't that much of a misnomer. Indeed. I had no idea that my lame joke would get Stefan's serious reaction, but in this reality, all we can expect from "anonymous browsing" is that the next person who opens our web browser won't be confronted by our browsing history. That's not nothing -- it's a valuable thing -- but we can't in any serious way present that mode as being "anonymous". We're still being tracked, and people at risk have to use completely different methods to remain safe. I mean, safer. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: The importance of secrecy 2018-04-24 22:40 ` Lars Ingebrigtsen @ 2018-04-24 22:44 ` Stefan Monnier 0 siblings, 0 replies; 37+ messages in thread From: Stefan Monnier @ 2018-04-24 22:44 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Joost Kremers, emacs-devel > Indeed. I had no idea that my lame joke would get Stefan's serious > reaction, but in this reality, all we can expect from "anonymous > browsing" is that the next person who opens our web browser won't be > confronted by our browsing history. That's not nothing -- it's a > valuable thing -- but we can't in any serious way present that mode as > being "anonymous". As mentioned in my signature, my response was not directed specifically to the issue of the browsing history, but the use of "porn" as the prototypical example of a need for secrecy. It trivializes secrecy and makes it sound like something objectionable. Stefan ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-24 5:56 ` Pierre Neidhardt 2018-04-24 14:50 ` Lars Ingebrigtsen @ 2018-04-24 15:58 ` T.V Raman 2018-04-25 6:48 ` Pierre Neidhardt 2018-04-24 16:24 ` Drew Adams 2018-04-24 16:49 ` Eli Zaretskii 3 siblings, 1 reply; 37+ messages in thread From: T.V Raman @ 2018-04-24 15:58 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: Charles A. Roelli, emacs-devel The url library already does this? -- ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-24 15:58 ` EWW improvements: open in new buffer, tags, quickmarks, search engines, T.V Raman @ 2018-04-25 6:48 ` Pierre Neidhardt 2018-04-25 15:25 ` T.V Raman 0 siblings, 1 reply; 37+ messages in thread From: Pierre Neidhardt @ 2018-04-25 6:48 UTC (permalink / raw) To: T.V Raman; +Cc: Charles A. Roelli, emacs-devel [-- Attachment #1: Type: text/plain, Size: 418 bytes --] > The url library already does this? I did not know about this library. I had a quick look and my first setup (setq url-history-track t url-history-file (expand-file-name "url/history" user-emacs-directory)) does not seem to be enough as it does not save anything with EWW. I'm not sure how to link the two libraries. Actually, which part of Emacs uses url-history? -- Pierre Neidhardt [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-25 6:48 ` Pierre Neidhardt @ 2018-04-25 15:25 ` T.V Raman 2018-04-25 16:25 ` Pierre Neidhardt 0 siblings, 1 reply; 37+ messages in thread From: T.V Raman @ 2018-04-25 15:25 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: Charles A. Roelli, emacs-devel The URL library was originally part of the old w3 browser; it was refactored out as a separate url library about 15 years ago from memory. I thought parts of EWW used the underlying url library --guess it's not enabling the history bits. -- ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-25 15:25 ` T.V Raman @ 2018-04-25 16:25 ` Pierre Neidhardt 2018-04-25 23:36 ` T.V Raman 0 siblings, 1 reply; 37+ messages in thread From: Pierre Neidhardt @ 2018-04-25 16:25 UTC (permalink / raw) To: T.V Raman; +Cc: Charles A. Roelli, emacs-devel [-- Attachment #1: Type: text/plain, Size: 413 bytes --] T.V Raman <raman@google.com> writes: > The URL library was originally part of the old w3 browser; it was > refactored out as a separate url library about 15 years ago from > memory. I thought parts of EWW used the underlying url library --guess > it's not enabling the history bits. Do you have any example usage? -- Pierre Neidhardt Procrastination means never having to say you're sorry. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-25 16:25 ` Pierre Neidhardt @ 2018-04-25 23:36 ` T.V Raman 2018-04-26 12:46 ` Stefan Monnier 0 siblings, 1 reply; 37+ messages in thread From: T.V Raman @ 2018-04-25 23:36 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: Charles A. Roelli, emacs-devel Look in the w3 browser codebase, -- ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-25 23:36 ` T.V Raman @ 2018-04-26 12:46 ` Stefan Monnier 0 siblings, 0 replies; 37+ messages in thread From: Stefan Monnier @ 2018-04-26 12:46 UTC (permalink / raw) To: emacs-devel > Look in the w3 browser codebase, Which is conveniently available from GNU ELPA, of course, Stefan ^ permalink raw reply [flat|nested] 37+ messages in thread
* RE: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-24 5:56 ` Pierre Neidhardt 2018-04-24 14:50 ` Lars Ingebrigtsen 2018-04-24 15:58 ` EWW improvements: open in new buffer, tags, quickmarks, search engines, T.V Raman @ 2018-04-24 16:24 ` Drew Adams 2018-04-25 7:00 ` Pierre Neidhardt 2018-04-24 16:49 ` Eli Zaretskii 3 siblings, 1 reply; 37+ messages in thread From: Drew Adams @ 2018-04-24 16:24 UTC (permalink / raw) To: Pierre Neidhardt, Charles A. Roelli; +Cc: emacs-devel > Another feature I'd like to add: a global "history" file. > It would record all visited URI. > > It's convenient to search URLs that we know we've visited, but not > necessarily only from a specific buffer. > > To make the history persistent, I would store it in a format similar to > bookmarks but without any of the additional features I'm planning to add > (tags, search engine, etc.). There would be the following keys: > - URL > - TITLE > - TIME > > Defcustoms would include: > - The persistent file. > - The max number of entries to keep (0 for unlimited). Older entries > get deleted first. FWIW - Charles mentioned earlier some of the Bookmark+ support for EWW (normal Emacs bookmarks vs EWW's pseudo-bookmarks, plus arbitrary tagging, sorting, filtering, multiple bookmark files, org-mode annotations...). It seems a bit silly for EWW to have its own, limited form of "bookmarking". Perhaps it's time for it to graduate to Emacs bookmarks? Another Bookmark+ feature for EWW, relevant to your mail, is minor mode `bmkp-eww-auto-bookmark-mode'. When it's enabled a bookmark is automatically set whenever you visit a URL with EWW. (A similar feature exists for Info nodes.) When enabled, if user option `bmkp-eww-auto-type' is `create-or-update' then such a bookmark is created for the URL if none exists. If the option value is `update-only' (the default) then no new bookmark is created automatically, but an existing bookmark gets updated. You can toggle the option value with command `bmkp-toggle-eww-auto-type'. Emacs (real) bookmarks record not only the time of last visit but also the number of visits. You can sort by the number of visits, to easily see your weighted URL visit history. (You can also edit the number of recorded visits.) In addition, EWW bookmarks with Bookmark+ have their own visit history. You can cycle among just the EWW bookmarks or a subset of them (e.g., those currently visible in the bookmark-list display, in sort order and filtered). So you can cycle among any set of EWW bookmarks, visiting them in an order you choose. You need no programming to do any of this - no knowledge of Lisp. You can also bookmark a given bookmark-list display, which persists its visibility/filtering settings and sort order. So you can quickly switch among any number of sequences (navigation lists) of EWW bookmarks to cycle among. Bookmark+ navigation lists give you, in this sense, any number of EWW histories, easy to define and switch among. And you can tag those different histories any way you like, and switch among them by tag or tag combinations, in addition to doing so by bookmark name. AFAICT, everything you've mentioned so far as possible improvements of EWW pseudo-bookmarking is already available with Bookmark+ real bookmarks. Why reinvent the wheel and remain incompatible with Emacs bookmarks? Bookmark+ is in fact a superset of vanilla `bookmark.el'. It could just replace it in Emacs. https://www.emacswiki.org/emacs/BookmarkPlus#CyclingNavlist ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-24 16:24 ` Drew Adams @ 2018-04-25 7:00 ` Pierre Neidhardt 2018-04-25 12:30 ` Lars Ingebrigtsen 2018-04-25 15:29 ` Drew Adams 0 siblings, 2 replies; 37+ messages in thread From: Pierre Neidhardt @ 2018-04-25 7:00 UTC (permalink / raw) To: Drew Adams; +Cc: Charles A. Roelli, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1503 bytes --] Drew Adams <drew.adams@oracle.com> writes: > It seems a bit silly for EWW to have its own, limited form > of "bookmarking". Perhaps it's time for it to graduate to > Emacs bookmarks? You mean bookmark+, right? As far as I understand, Emacs native bookmarks won't work with EWW. `M-x bookmark-set' complains the the EWW buffer does not point to a real file. AFAICT, everything you've mentioned so far as possible > improvements of EWW pseudo-bookmarking is already > available with Bookmark+ real bookmarks. Why reinvent > the wheel and remain incompatible with Emacs bookmarks? > > Bookmark+ is in fact a superset of vanilla `bookmark.el'. > It could just replace it in Emacs. > > https://www.emacswiki.org/emacs/BookmarkPlus#CyclingNavlist Thanks for all those good points. For clarification, I never said I was opposed to bookmark+, I agree merging it (or parts of it) would probably be the best path to follow. I need to work on it. That said, a few issues I can see at first glance: - The package is published on Emacs Wiki. There does not seem to be any version control. - It's under GPL license, but I wonder if the lack of version control could hinder the copyright assignment process. From the comments, Drew Adams and Thierry Volpiatto seem to be the only two authors. Drew, can you confirm? - The package is _huge_! About 30k+ lines. It might require a lot of work to review it and to integrate the needed parts into Emacs. What do you think? -- Pierre Neidhardt [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-25 7:00 ` Pierre Neidhardt @ 2018-04-25 12:30 ` Lars Ingebrigtsen 2018-04-25 15:29 ` Drew Adams 1 sibling, 0 replies; 37+ messages in thread From: Lars Ingebrigtsen @ 2018-04-25 12:30 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: Charles A. Roelli, Drew Adams, emacs-devel Pierre Neidhardt <ambrevar@gmail.com> writes: > For clarification, I never said I was opposed to bookmark+, I agree > merging it (or parts of it) would probably be the best path to follow. > I need to work on it. The eww history seems like a perfect fit for ecomplete, so I think you should use that instead. :-) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 37+ messages in thread
* RE: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-25 7:00 ` Pierre Neidhardt 2018-04-25 12:30 ` Lars Ingebrigtsen @ 2018-04-25 15:29 ` Drew Adams 2018-05-03 6:52 ` Pierre Neidhardt 2018-05-03 6:54 ` Pierre Neidhardt 1 sibling, 2 replies; 37+ messages in thread From: Drew Adams @ 2018-04-25 15:29 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: Charles A. Roelli, emacs-devel > > It seems a bit silly for EWW to have its own, limited form > > of "bookmarking". Perhaps it's time for it to graduate to > > Emacs bookmarks? > > You mean bookmark+, right? No, there I meant Emacs normal bookmarks vs the pseudo-bookmarks that EWW currently uses. Bookmark+ uses normal Emacs bookmarks. It does provide additional features, some of which have been mentioned (EWW support, tags, etc.). But the point I was making there was that it seems silly for EWW not to be using normal Emacs bookmarks. The only reasons I can guess, so far, for why that was done are (1) possibly the EWW author was not familiar with Emacs bookmarks (but I doubt it) or (2) there was a wish to let you keep EWW bookmarks separate from other bookmarks. #2 is not an issue at all with Bookmark+. It lets you have all kinds of bookmarks and yet keep them as separate as you like. It even has specific "jumping" commands for different types of bookmarks, e.g., complete only against names of bookmarks of a specific type. There is no problem of mixing or not mixing EWW bookmarks with other bookmarks. But perhaps the EWW author can defend his choice not to use normal Emacs bookmarks for EWW? Why go against Occam's razor this way? What's the advantage? > As far as I understand, Emacs native bookmarks won't work with EWW. > `M-x bookmark-set' complains the the EWW buffer does not point to a real > file. No, normal Emacs bookmarks do not need a file as target. Even vanilla Emacs can bookmark Dired and Info nodes (albeit not so well). A bookmark handler can do anything you want it to do. The point is that vanilla Emacs, out of the box, provides a healthy framework for bookmarking. That includes the ability for anyone to define new kinds of bookmarks. Bookmark+ has defined new kinds of bookmarks, but the framework (enhanced somewhat by Bookmark+) is what Emacs provides. My argument, first and foremost, is for EWW to use Emacs bookmarks, not some ersatz, alternative bookmarking system cooked up just for EWW. Secondarily, I point out that Bookmark+ already provides support for EWW using ordinary Emacs bookmarks. What it does could be incorporated as is, or Emacs could look to its code for inspiration. The code is available for GNU Emacs/FSF, if it wants. > Thanks for all those good points. > > For clarification, I never said I was opposed to bookmark+, I agree > merging it (or parts of it) would probably be the best path to follow. > I need to work on it. Sounds good to me. Let me know how I might help. > That said, a few issues I can see at first glance: > > - The package is published on Emacs Wiki. There does not seem to be any > version control. It could be included in Emacs itself, maintained by Emacs. For that, instead of requiring `bookmark.el', its code that is needed would just be included in the Bookmark+ files. Bookmark+ subsumes `bookmark.el'. I have no special need to maintain it. I will do so, if it's not included in Emacs. And I might do so even if it is included. I still have improvements I want to make to it, when I get time. But a priori I have no objection to Emacs taking it over. As for the doc: The doc I have for Bookmark+ is in the form of comments - Commentary in file `bookmark+-doc.el'. You can see the doc as readable plain-text in Finder mode by using `M-x finder-commentary bookmark+-doc.el'. The same doc is also in the form of HTML on Emacs Wiki (maintained there by hand). If the doc is to be used by Emacs it would presumably need to be converted to texinfo/Info. Or it could just be dropped, providing only the doc strings. I would not want to do the conversion to texinfo/Info. I have no special expertise in that. But I'd be glad to help with any content questions or wording, if needed. > - It's under GPL license, but I wonder if the lack of version control > could hinder the copyright assignment process. From the comments, > Drew Adams and Thierry Volpiatto seem to be the only two authors. > Drew, can you confirm? I am the author, and have been from the outset, at least as far back as 2004. Thierry worked only on a couple features for a few months in 2009. Both of us have signed FSF papers and have contributed previously to GNU Emacs, AFAIK. There's no problem with our contributing. > - The package is _huge_! About 30k+ lines. It might require a lot of > work to review it and to integrate the needed parts into Emacs. > > What do you think? 23,114 lines, much of which is Commentary. 16,876 lines without comment-only or blank lines. Much of the code is there to support multiple Emacs versions. The byte-compiled code is 950KB. It's not difficult to integrate. All that's needed is: 1. Integrate the little bit of `bookmark.el' code that is currently needed by `require'. I've always tried to supplement, replacing something only when I needed to change its code. At this point, there is little remaining of `bookmark.el' that is needed. 2. Remove support for older Emacs versions, if desired. I try to support as many older versions as possible, but Emacs doesn't do that. (Bookmark+ currently works with Emacs releases back through Emacs 20.) 3. Remove optional support for other libraries when they are available in `load-path': soft-required e.g. (require 'thingatpt+ nil t) or via `fboundp' or `boundp'. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-25 15:29 ` Drew Adams @ 2018-05-03 6:52 ` Pierre Neidhardt 2018-05-03 6:54 ` Pierre Neidhardt 1 sibling, 0 replies; 37+ messages in thread From: Pierre Neidhardt @ 2018-05-03 6:52 UTC (permalink / raw) To: Drew Adams; +Cc: Charles A. Roelli, emacs-devel [-- Attachment #1: Type: text/plain, Size: 219 bytes --] What do Emacs maintainers think about this? Should we merge Bookmark+ (or parts of it) into Emacs to improve the bookmark functionalities and extend its field of application to programs like EWW? -- Pierre Neidhardt [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-25 15:29 ` Drew Adams 2018-05-03 6:52 ` Pierre Neidhardt @ 2018-05-03 6:54 ` Pierre Neidhardt 2018-05-03 15:12 ` Drew Adams 1 sibling, 1 reply; 37+ messages in thread From: Pierre Neidhardt @ 2018-05-03 6:54 UTC (permalink / raw) To: Drew Adams; +Cc: Charles A. Roelli, emacs-devel [-- Attachment #1: Type: text/plain, Size: 858 bytes --] Drew Adams <drew.adams@oracle.com> writes: >> As far as I understand, Emacs native bookmarks won't work with EWW. >> `M-x bookmark-set' complains the the EWW buffer does not point to a real >> file. > > No, normal Emacs bookmarks do not need a file as > target. Even vanilla Emacs can bookmark Dired and > Info nodes (albeit not so well). A bookmark handler > can do anything you want it to do. Can you explain how you bookmark an EWW buffer with Emacs vanilla bookmarks? Besides it does not seem to effectively work with many other modes. For instance, bookmarking a *Help* buffer works at first glance, but Emacs fails to look read the bookmarks file upon restart. -- Pierre Neidhardt Captain Penny's Law: You can fool all of the people some of the time, and some of the people all of the time, but you Can't Fool Mom. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* RE: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-05-03 6:54 ` Pierre Neidhardt @ 2018-05-03 15:12 ` Drew Adams 0 siblings, 0 replies; 37+ messages in thread From: Drew Adams @ 2018-05-03 15:12 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: Charles A. Roelli, emacs-devel > >> As far as I understand, Emacs native bookmarks won't work with EWW. > >> `M-x bookmark-set' complains the the EWW buffer does not point to a > >> real file. > > > > No, normal Emacs bookmarks do not need a file as > > target. Even vanilla Emacs can bookmark Dired and > > Info nodes (albeit not so well). A bookmark handler > > can do anything you want it to do. > > Can you explain how you bookmark an EWW buffer with Emacs > vanilla bookmarks? A new type of bookmark needs to be defined, with a handler that "jumps" to the URL. Code from Bookmark+ or similar could be used. My point was that just to add EWW support for (real) Emacs bookmarks it's not required to add all of Bookmark+ to Emacs. All that's needed are to define a format for the bookmarks and define a hander function to jump to such a bookmark. In Bookmark+, the handler function is `bmkp-jump-eww', and a bookmark with EWW format is made by function `bmkp-make-eww-record'. (defun bmkp-make-eww-record () "Make a record for an EWW buffer." `(,(bmkp-eww-title) (buffer-name . ,(bmkp-eww-new-buffer-name)) ,@(bookmark-make-record-default 'NO-FILE) (location . ,(bmkp-eww-url)) (handler . bmkp-jump-eww))) The logic behind jumping to an EWW bookmark, and how that is hooked into EWW is more complicated - see the Bookmark+ code for how Bookmark+ does it. > Besides it does not seem to effectively work with many other modes. For > instance, bookmarking a *Help* buffer works at first glance, but Emacs > fails to look read the bookmarks file upon restart. Dunno what that means. But yes, vanilla Emacs needs to have some support for bookmarking arbitrary buffers, as does Bookmark+, or else it needs to at least have support for bookmarking some specific kinds of bookmarks (*Info*, *Help* or whatever). But I believe that vanilla Emacs already does have support for bookmarking some kinds of buffers, such as Info and Dired. I don't recall really, but I was thinking it does when I wrote that. Emacs added bookmark field `location', for example, and its value need not be a file name. In any case, the infrastructure is there in vanilla Emacs to do any of this. My point was: 1. Bookmark+ is freely available. It can be integrated into Emacs; and it already provides EWW support. 2. It's not _necessary_ to integrate Bookmark+ to add EWW support to Emacs. That could be done either by just copying the Bookmark+ EWW-support code to Emacs or by Emacs rolling its own support. 3. In reply to your statement that vanilla Emacs requires that a bookmark target a file I replied that I don't think that's true. Grepping the Emacs source code for "'location" shows only one use of that property, in `gnus-summary-bookmark-jump', and I might be reading that wrong, so I could be wrong about this. There are other ways than property `location' to do this, so grepping `location" (no preceding quote') might tell more. And I see that an Info bookmark records both the Info file and the node (so it does record a file name). Grepping for `bookmark-default-handler' can also tell us whether some bookmark types do not record a file name. Maybe `Man-bookmark-jump'? `doc-view-bookmark-jump'? ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-24 5:56 ` Pierre Neidhardt ` (2 preceding siblings ...) 2018-04-24 16:24 ` Drew Adams @ 2018-04-24 16:49 ` Eli Zaretskii 2018-04-25 6:32 ` Pierre Neidhardt 3 siblings, 1 reply; 37+ messages in thread From: Eli Zaretskii @ 2018-04-24 16:49 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: charles, emacs-devel > From: Pierre Neidhardt <ambrevar@gmail.com> > Date: Tue, 24 Apr 2018 11:26:58 +0530 > Cc: emacs-devel@gnu.org > > To make the history persistent, I would store it in a format similar to > bookmarks but without any of the additional features I'm planning to add > (tags, search engine, etc.). We already have features that save and restore various history lists (savehist and desktop, to name just 2). Can this new history just be added to those handled by these packages? ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-24 16:49 ` Eli Zaretskii @ 2018-04-25 6:32 ` Pierre Neidhardt 2018-04-25 15:55 ` Eli Zaretskii 0 siblings, 1 reply; 37+ messages in thread From: Pierre Neidhardt @ 2018-04-25 6:32 UTC (permalink / raw) To: Eli Zaretskii; +Cc: charles, emacs-devel [-- Attachment #1: Type: text/plain, Size: 822 bytes --] Eli Zaretskii <eliz@gnu.org> writes: >> To make the history persistent, I would store it in a format similar to >> bookmarks but without any of the additional features I'm planning to add >> (tags, search engine, etc.). > > We already have features that save and restore various history lists > (savehist and desktop, to name just 2). Can this new history just be > added to those handled by these packages? I did not think about desktop-mode and you are right, I think it's a right fit for a persistant history. Unless bookmark+ can do better (see the rest of this thread). Regarding savehist, I'm not sure how it could be used here since it seems to be taylored for the minibuffer. EWW can visit URLs without going through the minibuffer. Did I misunderstand you here? -- Pierre Neidhardt [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-25 6:32 ` Pierre Neidhardt @ 2018-04-25 15:55 ` Eli Zaretskii 2018-04-25 16:13 ` Pierre Neidhardt 0 siblings, 1 reply; 37+ messages in thread From: Eli Zaretskii @ 2018-04-25 15:55 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: charles, emacs-devel > From: Pierre Neidhardt <ambrevar@gmail.com> > Cc: charles@aurox.ch, emacs-devel@gnu.org > Date: Wed, 25 Apr 2018 12:02:39 +0530 > > Regarding savehist, I'm not sure how it could be used here since it > seems to be taylored for the minibuffer. EWW can visit URLs without > going through the minibuffer. Did I misunderstand you here? savehist.el provides a defcustom, savehist-additional-variables, which can be used to save and restore additional history variables. The minibuffer history is just the default. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-25 15:55 ` Eli Zaretskii @ 2018-04-25 16:13 ` Pierre Neidhardt 2018-04-25 16:19 ` Eli Zaretskii 0 siblings, 1 reply; 37+ messages in thread From: Pierre Neidhardt @ 2018-04-25 16:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: charles, emacs-devel [-- Attachment #1: Type: text/plain, Size: 391 bytes --] Eli Zaretskii <eliz@gnu.org> writes: > savehist.el provides a defcustom, savehist-additional-variables, which > can be used to save and restore additional history variables. The > minibuffer history is just the default. OK, can we save additional information such as the page title and the last-access date? If not, that would be too limiting I think. -- Pierre Neidhardt [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-25 16:13 ` Pierre Neidhardt @ 2018-04-25 16:19 ` Eli Zaretskii 0 siblings, 0 replies; 37+ messages in thread From: Eli Zaretskii @ 2018-04-25 16:19 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: charles, emacs-devel > From: Pierre Neidhardt <ambrevar@gmail.com> > Cc: charles@aurox.ch, emacs-devel@gnu.org > Date: Wed, 25 Apr 2018 21:43:28 +0530 > > > savehist.el provides a defcustom, savehist-additional-variables, which > > can be used to save and restore additional history variables. The > > minibuffer history is just the default. > > OK, can we save additional information such as the page title and > the last-access date? If not, that would be too limiting I think. It's fine with me if you decide savehist is not up to this job. My point was that the candidate existing packages should be explored before you decide that you need to roll your own. I'd be surprised to learn that none of the existing capabilities fits your bill. Thanks. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: EWW improvements: open in new buffer, tags, quickmarks, search engines, ... 2018-04-16 10:26 EWW improvements: open in new buffer, tags, quickmarks, search engines, Pierre Neidhardt 2018-04-16 10:54 ` Lars Ingebrigtsen 2018-04-17 11:18 ` Charles A. Roelli @ 2018-04-17 19:01 ` Lars Ingebrigtsen 2 siblings, 0 replies; 37+ messages in thread From: Lars Ingebrigtsen @ 2018-04-17 19:01 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: emacs-devel Pierre Neidhardt <ambrevar@gmail.com> writes: > - Enhances eww-next-url / eww-previous-url so that when there is no next / > previous links, it tries to increment / decrement the last number in > the last element of the URL. ("do what you mean" style.) Apropos of this, have you by any chance read this news item? http://www.cbc.ca/news/canada/nova-scotia/freedom-of-information-request-privacy-breach-teen-speaks-out-1.4621970 This teenager was put in jail for decrementing the number in an URL and downloading the contents. Will this functionality open up all eww users for prosecution? :-) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 37+ messages in thread
end of thread, other threads:[~2018-05-03 15:12 UTC | newest] Thread overview: 37+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-04-16 10:26 EWW improvements: open in new buffer, tags, quickmarks, search engines, Pierre Neidhardt 2018-04-16 10:54 ` Lars Ingebrigtsen 2018-04-16 11:18 ` Pierre Neidhardt 2018-04-16 12:08 ` Lars Ingebrigtsen 2018-04-16 12:22 ` Pierre Neidhardt 2018-04-16 12:27 ` Lars Ingebrigtsen 2018-04-16 12:32 ` Lars Ingebrigtsen 2018-04-16 17:55 ` Eli Zaretskii 2018-04-17 11:18 ` Charles A. Roelli 2018-04-17 19:18 ` Pierre Neidhardt 2018-04-24 5:56 ` Pierre Neidhardt 2018-04-24 14:50 ` Lars Ingebrigtsen 2018-04-24 17:57 ` The importance of secrecy (was: EWW improvements: open in new buffer, tags, quickmarks, search engines, ...) Stefan Monnier 2018-04-24 19:45 ` The importance of secrecy John Wiegley 2018-04-24 20:16 ` The importance of secrecy (was: EWW improvements: open in new buffer, tags, quickmarks, search engines, ...) Joost Kremers 2018-04-24 20:53 ` The importance of secrecy Stefan Monnier 2018-04-24 22:40 ` Lars Ingebrigtsen 2018-04-24 22:44 ` Stefan Monnier 2018-04-24 15:58 ` EWW improvements: open in new buffer, tags, quickmarks, search engines, T.V Raman 2018-04-25 6:48 ` Pierre Neidhardt 2018-04-25 15:25 ` T.V Raman 2018-04-25 16:25 ` Pierre Neidhardt 2018-04-25 23:36 ` T.V Raman 2018-04-26 12:46 ` Stefan Monnier 2018-04-24 16:24 ` Drew Adams 2018-04-25 7:00 ` Pierre Neidhardt 2018-04-25 12:30 ` Lars Ingebrigtsen 2018-04-25 15:29 ` Drew Adams 2018-05-03 6:52 ` Pierre Neidhardt 2018-05-03 6:54 ` Pierre Neidhardt 2018-05-03 15:12 ` Drew Adams 2018-04-24 16:49 ` Eli Zaretskii 2018-04-25 6:32 ` Pierre Neidhardt 2018-04-25 15:55 ` Eli Zaretskii 2018-04-25 16:13 ` Pierre Neidhardt 2018-04-25 16:19 ` Eli Zaretskii 2018-04-17 19:01 ` Lars Ingebrigtsen
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).