unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Rename `eww' to `web'
@ 2013-06-29 14:26 Richard Stallman
  2013-06-29 15:33 ` Daimrod
                   ` (2 more replies)
  0 siblings, 3 replies; 110+ messages in thread
From: Richard Stallman @ 2013-06-29 14:26 UTC (permalink / raw)
  To: emacs-devel

One way we can make Emacs more usable is by giving commands
natural names that make no demand on users' memory.

Since `eww' has never been in a release, let's rename it `web'
now, before users get it.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* RE: Rename `eww' to `web'
       [not found] <<E1Usw6G-0001Et-0A@fencepost.gnu.org>
@ 2013-06-29 15:05 ` Drew Adams
  2013-06-29 15:15   ` Nic Ferrier
                     ` (2 more replies)
  0 siblings, 3 replies; 110+ messages in thread
From: Drew Adams @ 2013-06-29 15:05 UTC (permalink / raw)
  To: rms, emacs-devel

> let's rename it `web' now, before users get it.

I gnu ewe might say that.
But I nominate ewe.
Web is pedestrian - not so gnu.
There is none gnuer than ewe.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 15:05 ` Drew Adams
@ 2013-06-29 15:15   ` Nic Ferrier
  2013-06-29 20:30     ` Richard Stallman
  2013-07-01  2:03     ` Miles Bader
  2013-06-29 20:30   ` Richard Stallman
       [not found]   ` <<E1Ut1mo-0004ns-A6@fencepost.gnu.org>
  2 siblings, 2 replies; 110+ messages in thread
From: Nic Ferrier @ 2013-06-29 15:15 UTC (permalink / raw)
  To: Drew Adams; +Cc: rms, emacs-devel

Wait a second.

I already have an HTTP client called web.

So it would be a little unfair to just pinch the name?

https://github.com/nicferrier/emacs-web

Drew Adams <drew.adams@oracle.com> writes:

>> let's rename it `web' now, before users get it.
>
> I gnu ewe might say that.
> But I nominate ewe.
> Web is pedestrian - not so gnu.
> There is none gnuer than ewe.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 14:26 Rename `eww' to `web' Richard Stallman
@ 2013-06-29 15:33 ` Daimrod
  2013-06-29 20:30   ` Richard Stallman
  2013-06-29 23:20   ` Xue Fuqiao
  2013-06-30  5:49 ` Jambunathan K
  2013-07-06 15:15 ` Lars Ingebrigtsen
  2 siblings, 2 replies; 110+ messages in thread
From: Daimrod @ 2013-06-29 15:33 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

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

Richard Stallman <rms@gnu.org> writes:

> One way we can make Emacs more usable is by giving commands
> natural names that make no demand on users' memory.
>
> Since `eww' has never been in a release, let's rename it `web'
> now, before users get it.

We could add an alias.  The advantage of a "real" name is to simplify
search ("emacs eww rendering problem" vs "emacs web rendering problem").

-- 
Daimrod/Greg

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 835 bytes --]

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 15:05 ` Drew Adams
  2013-06-29 15:15   ` Nic Ferrier
@ 2013-06-29 20:30   ` Richard Stallman
  2013-06-29 20:52     ` Pascal J. Bourguignon
       [not found]   ` <<E1Ut1mo-0004ns-A6@fencepost.gnu.org>
  2 siblings, 1 reply; 110+ messages in thread
From: Richard Stallman @ 2013-06-29 20:30 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    I gnu ewe might say that.
    But I nominate ewe.
    Web is pedestrian - not so gnu.
    There is none gnuer than ewe.

This is a serious issue of usability.

There is nothing particularly wrong with "ewe" in a command name,
but it's not a very natural name for a command to browse the web.
Few users, when straining to remember or trying to guess the way
to browse the web in Emacs, will hit on M-x ewe.  If it is
M-x web, they will find it easy to remember and to guess.

We already have M-x browse-url.  If eww is a suitable replacement for
that feature perhaps we should make M-x browse-url run eww.

Or maybe both.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 15:15   ` Nic Ferrier
@ 2013-06-29 20:30     ` Richard Stallman
  2013-06-29 20:45       ` Nic Ferrier
                         ` (2 more replies)
  2013-07-01  2:03     ` Miles Bader
  1 sibling, 3 replies; 110+ messages in thread
From: Richard Stallman @ 2013-06-29 20:30 UTC (permalink / raw)
  To: Nic Ferrier; +Cc: drew.adams, emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    I already have an HTTP client called web.

    So it would be a little unfair to just pinch the name?

Making things easy for users must take priority.  We cannot regard a
name as somehow "occupied" by code that we don't somehow distribute or
recommend.

Even if we did somehow distribute or recommend that code, we might
still want to use that name for something else.  Making Emacs
good for users is they point.


-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 15:33 ` Daimrod
@ 2013-06-29 20:30   ` Richard Stallman
  2013-06-30  1:45     ` Stefan Monnier
  2013-06-29 23:20   ` Xue Fuqiao
  1 sibling, 1 reply; 110+ messages in thread
From: Richard Stallman @ 2013-06-29 20:30 UTC (permalink / raw)
  To: Daimrod; +Cc: emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    > Since `eww' has never been in a release, let's rename it `web'
    > now, before users get it.

    We could add an alias.

It's a question of the user interface.
An alias is an ok method, if that is really better overall.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* RE: Rename `eww' to `web'
       [not found]   ` <<E1Ut1mo-0004ns-A6@fencepost.gnu.org>
@ 2013-06-29 20:40     ` Drew Adams
  2013-06-30  2:49       ` Richard Stallman
       [not found]       ` <<E1Ut7hQ-0000Eq-Tt@fencepost.gnu.org>
  0 siblings, 2 replies; 110+ messages in thread
From: Drew Adams @ 2013-06-29 20:40 UTC (permalink / raw)
  To: rms, Drew Adams; +Cc: emacs-devel

>     I gnu ewe might say that.
>     But I nominate ewe.
>     Web is pedestrian - not so gnu.
>     There is none gnuer than ewe.
> 
> This is a serious issue of usability.
> 
> There is nothing particularly wrong with "ewe" in a command name,
> but it's not a very natural name for a command to browse the web.
> Few users, when straining to remember or trying to guess the way
> to browse the web in Emacs, will hit on M-x ewe.  If it is
> M-x web, they will find it easy to remember and to guess.
> 
> We already have M-x browse-url.  If eww is a suitable replacement for
> that feature perhaps we should make M-x browse-url run eww.
> 
> Or maybe both.

M-x emacs-web-explorer

(defalias 'ewe 'emacs-web-explorer) ; Pseudonyme pour Mlle Gnu.[*]


[*] Yes, it seems the more correct term for a female gnu is "cow",
not "ewe" or "doe".



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 20:30     ` Richard Stallman
@ 2013-06-29 20:45       ` Nic Ferrier
  2013-06-29 21:33       ` Dmitry Gutov
  2013-06-29 23:30       ` Xue Fuqiao
  2 siblings, 0 replies; 110+ messages in thread
From: Nic Ferrier @ 2013-06-29 20:45 UTC (permalink / raw)
  To: rms; +Cc: drew.adams, emacs-devel

Richard Stallman <rms@gnu.org> writes:

>     So it would be a little unfair to just pinch the name?
>
> Making things easy for users must take priority.  We cannot regard a
> name as somehow "occupied" by code that we don't somehow distribute or
> recommend.
>
> Even if we did somehow distribute or recommend that code, we might
> still want to use that name for something else.  Making Emacs
> good for users is they point.

I agree with this.

But there is also the question of encouraging users (like me) to
contribute to the large available code.

If you consider Emacs to be successful just because of the code included
in the distribution that would seem to me to be a rather restricted of
things.

Simple alternative entry commands for an Emacs browser are easy to come
up with:

browse-web

open-web

even web-open would not interfere with my package.


Having said that I agree that the word "web" is important and probably
should be reserved in some way by Emacs.

I'd be more than happy to contribute my web library to Emacs. In summary
it is a simpler programming API of what the current url offers as an
HTTP library which offering more complex functionality (like streaming).


Nic



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 20:30   ` Richard Stallman
@ 2013-06-29 20:52     ` Pascal J. Bourguignon
  2013-06-30  2:49       ` Richard Stallman
  0 siblings, 1 reply; 110+ messages in thread
From: Pascal J. Bourguignon @ 2013-06-29 20:52 UTC (permalink / raw)
  To: emacs-devel

Richard Stallman <rms@gnu.org> writes:

>         [ To any NSA and FBI agents reading my email: please consider
>         [ whether defending the US Constitution against all enemies,
>         [ foreign or domestic, requires you to follow Snowden's example.

Does that include the NSA and FBI AIs? ;-)


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.  
You know you've been lisping too long when you see a recent picture of George 
Lucas and think "Wait, I thought John McCarthy was dead!" -- Dalek_Baldwin




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 20:30     ` Richard Stallman
  2013-06-29 20:45       ` Nic Ferrier
@ 2013-06-29 21:33       ` Dmitry Gutov
  2013-06-29 21:42         ` Pascal J. Bourguignon
                           ` (2 more replies)
  2013-06-29 23:30       ` Xue Fuqiao
  2 siblings, 3 replies; 110+ messages in thread
From: Dmitry Gutov @ 2013-06-29 21:33 UTC (permalink / raw)
  To: Richard Stallman; +Cc: drew.adams, Nic Ferrier, emacs-devel

Richard Stallman <rms@gnu.org> writes:

> Making things easy for users must take priority.  We cannot regard a
> name as somehow "occupied" by code that we don't somehow distribute or
> recommend.

I think this approach is offensive to the community. The Emacs ecosystem
is not limited to code that GNU distributes. You better have a good
reason to take over the name of an established package.

> Even if we did somehow distribute or recommend that code, we might
> still want to use that name for something else.  Making Emacs
> good for users is they point.

Making third-party developers unhappy is not a very good way to make
users happy.

That said, I don't feel that `web' is a particularly good name for a
browser package. It's too generic and bland - if I was looking for such
package, I probably would search for `browser' or `internet', not `web'.

And making `browse-url' default to `eww-browse-url' doesn't require
changing the name of the latter.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 21:33       ` Dmitry Gutov
@ 2013-06-29 21:42         ` Pascal J. Bourguignon
  2013-06-29 21:48           ` Bastien
  2013-06-30  2:49         ` Richard Stallman
  2013-06-30  5:54         ` Jambunathan K
  2 siblings, 1 reply; 110+ messages in thread
From: Pascal J. Bourguignon @ 2013-06-29 21:42 UTC (permalink / raw)
  To: emacs-devel

Dmitry Gutov <dgutov@yandex.ru> writes:

> That said, I don't feel that `web' is a particularly good name for a
> browser package. It's too generic and bland - if I was looking for such
> package, I probably would search for `browser' or `internet', not `web'.

Let's call it EarthWeasel.  so M-x ew RET…

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.  
You know you've been lisping too long when you see a recent picture of George 
Lucas and think "Wait, I thought John McCarthy was dead!" -- Dalek_Baldwin




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 21:42         ` Pascal J. Bourguignon
@ 2013-06-29 21:48           ` Bastien
  2013-06-29 23:01             ` Xue Fuqiao
  2013-06-30  2:49             ` Richard Stallman
  0 siblings, 2 replies; 110+ messages in thread
From: Bastien @ 2013-06-29 21:48 UTC (permalink / raw)
  To: Pascal J. Bourguignon; +Cc: emacs-devel

"Pascal J. Bourguignon" <pjb@informatimago.com> writes:

> Let's call it EarthWeasel.

M-x ewb RET

Emacs Web Browser

It's unique, and also an acronym for web.

Anyway, Lars should have the last word on this IMO.

-- 
 Bastien



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 21:48           ` Bastien
@ 2013-06-29 23:01             ` Xue Fuqiao
  2013-06-30  6:36               ` Bastien
  2013-06-30  2:49             ` Richard Stallman
  1 sibling, 1 reply; 110+ messages in thread
From: Xue Fuqiao @ 2013-06-29 23:01 UTC (permalink / raw)
  To: Bastien; +Cc: emacs-devel

On Sun, Jun 30, 2013 at 5:48 AM, Bastien <bzg@gnu.org> wrote:
> M-x ewb RET
>
> Emacs Web Browser
>
> It's unique, and also an acronym for web.

But there's already one:
http://www.emacswiki.org/emacs/ewb.el

> Anyway, Lars should have the last word on this IMO.

+1

--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 15:33 ` Daimrod
  2013-06-29 20:30   ` Richard Stallman
@ 2013-06-29 23:20   ` Xue Fuqiao
  1 sibling, 0 replies; 110+ messages in thread
From: Xue Fuqiao @ 2013-06-29 23:20 UTC (permalink / raw)
  To: Daimrod; +Cc: Richard Stallman, emacs-devel

On Sat, Jun 29, 2013 at 11:33 PM, Daimrod <daimrod@gmail.com> wrote:
> Richard Stallman <rms@gnu.org> writes:
>
>> One way we can make Emacs more usable is by giving commands
>> natural names that make no demand on users' memory.
>>
>> Since `eww' has never been in a release, let's rename it `web'
>> now, before users get it.
>
> We could add an alias.  The advantage of a "real" name is to simplify
> search ("emacs eww rendering problem" vs "emacs web rendering problem").

All for it.  There are many hard-to-search examples, for example:

* C, D, Basic, Go (programming languages)
* X (windowing system)

It can often be difficult to search related stuff about them.  If Emacs
is called "Edit" or "Editor", I'll be annoyed, too.

--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 20:30     ` Richard Stallman
  2013-06-29 20:45       ` Nic Ferrier
  2013-06-29 21:33       ` Dmitry Gutov
@ 2013-06-29 23:30       ` Xue Fuqiao
  2013-06-30  7:56         ` Jan Djärv
  2 siblings, 1 reply; 110+ messages in thread
From: Xue Fuqiao @ 2013-06-29 23:30 UTC (permalink / raw)
  To: Richard Stallman; +Cc: drew.adams, Nic Ferrier, emacs-devel

On Sun, Jun 30, 2013 at 4:30 AM, Richard Stallman <rms@gnu.org> wrote:
>     I already have an HTTP client called web.
>
>     So it would be a little unfair to just pinch the name?
>
> Making things easy for users must take priority.

Well, we can do many things that can make (most) users easy.  For
example:

* Turn on cua-mode by default
* Add a "redo" command
* Change the terminology of “kill” to “cut”, and “yank” to “paste”
* Switch the terminology of “window” and “frame”
* Change the terminology of “car” to “first”, and “cdr” to “rest”
...

But we can't, since many of them will break existing users'
configuration.  Although eww doesn't have this problem, I think we
should think twice before "making things easy for users".

--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 20:30   ` Richard Stallman
@ 2013-06-30  1:45     ` Stefan Monnier
  2013-06-30  2:35       ` Xue Fuqiao
  0 siblings, 1 reply; 110+ messages in thread
From: Stefan Monnier @ 2013-06-30  1:45 UTC (permalink / raw)
  To: Richard Stallman; +Cc: Daimrod, emacs-devel


Same as for "epa-*", this is a general problem of how to map general
functionality to the name of the particular package offering it.

So far we've mostly used the menu bar or M-x apropos for that.

But maybe we should try and develop something better specifically
for that.  E.g. M-x aliases with intuitive names which then let you
choose which package to use for that feature.


        Stefan



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30  1:45     ` Stefan Monnier
@ 2013-06-30  2:35       ` Xue Fuqiao
  0 siblings, 0 replies; 110+ messages in thread
From: Xue Fuqiao @ 2013-06-30  2:35 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Daimrod, Richard Stallman, emacs-devel

On Sun, Jun 30, 2013 at 9:45 AM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:
>
> Same as for "epa-*", this is a general problem of how to map general
> functionality to the name of the particular package offering it.
>
> So far we've mostly used the menu bar or M-x apropos for that.
>
> But maybe we should try and develop something better specifically
> for that.  E.g. M-x aliases with intuitive names which then let you
> choose which package to use for that feature.

Agreed.  It's a better approach than `(defalias 'irc 'rcirc)'.

--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 20:40     ` Drew Adams
@ 2013-06-30  2:49       ` Richard Stallman
       [not found]       ` <<E1Ut7hQ-0000Eq-Tt@fencepost.gnu.org>
  1 sibling, 0 replies; 110+ messages in thread
From: Richard Stallman @ 2013-06-30  2:49 UTC (permalink / raw)
  To: Drew Adams; +Cc: drew.adams, emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    M-x emacs-web-explorer

    (defalias 'ewe 'emacs-web-explorer) ; Pseudonyme pour Mlle Gnu.[*]

Neither of these names is very helpful to a user who is
trying to figure out what to type after M-x to do some browsing.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 20:52     ` Pascal J. Bourguignon
@ 2013-06-30  2:49       ` Richard Stallman
  0 siblings, 0 replies; 110+ messages in thread
From: Richard Stallman @ 2013-06-30  2:49 UTC (permalink / raw)
  To: Pascal J. Bourguignon; +Cc: emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    Does that include the NSA and FBI AIs? ;-)

Not really.  I doubt they ask the AIs to swear loyalty to the Constitution.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 21:33       ` Dmitry Gutov
  2013-06-29 21:42         ` Pascal J. Bourguignon
@ 2013-06-30  2:49         ` Richard Stallman
  2013-06-30  3:01           ` Dmitry Gutov
  2013-06-30  5:54         ` Jambunathan K
  2 siblings, 1 reply; 110+ messages in thread
From: Richard Stallman @ 2013-06-30  2:49 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: drew.adams, nferrier, emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    I think this approach is offensive to the community. The Emacs ecosystem
    is not limited to code that GNU distributes. You better have a good
    reason to take over the name of an established package.

We develop Emacs as we see fit.  You can write your own code as you
see fit.  However, merely developing your own code does not give you a
veto over ours.

You're welcome to propose some sort of cooperation, and we might agree
to it -- but you can't just order us around like that.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 21:48           ` Bastien
  2013-06-29 23:01             ` Xue Fuqiao
@ 2013-06-30  2:49             ` Richard Stallman
  1 sibling, 0 replies; 110+ messages in thread
From: Richard Stallman @ 2013-06-30  2:49 UTC (permalink / raw)
  To: Bastien; +Cc: pjb, emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    M-x ewb RET

It is not a helpful name.

    Anyway, Lars should have the last word on this IMO.

We should decide this for the sake of Emacs usability.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30  2:49         ` Richard Stallman
@ 2013-06-30  3:01           ` Dmitry Gutov
  2013-06-30 13:40             ` Richard Stallman
  0 siblings, 1 reply; 110+ messages in thread
From: Dmitry Gutov @ 2013-06-30  3:01 UTC (permalink / raw)
  To: rms; +Cc: drew.adams, nferrier, emacs-devel

On 30.06.2013 6:49, Richard Stallman wrote:
> We develop Emacs as we see fit.

You might be astonished to know that I am also, in fact, an Emacs developer.

> You can write your own code as you
> see fit.  However, merely developing your own code does not give you a
> veto over ours.

Would you take a name of an existing, live project for a new GNU project 
with similar functionality, even if it were a good-sounding name and it 
were convenient to do so?

I don't believe Emacs packages are any different in any relevant respects.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* RE: Rename `eww' to `web'
       [not found]       ` <<E1Ut7hQ-0000Eq-Tt@fencepost.gnu.org>
@ 2013-06-30  3:23         ` Drew Adams
  2013-06-30 13:40           ` Richard Stallman
  0 siblings, 1 reply; 110+ messages in thread
From: Drew Adams @ 2013-06-30  3:23 UTC (permalink / raw)
  To: rms; +Cc: emacs-devel

>     M-x emacs-web-explorer
>     (defalias 'ewe 'emacs-web-explorer)
> 
> Neither of these names is very helpful to a user who is
> trying to figure out what to type after M-x to do some browsing.

Many people think "browser" when they see "explorer" (and vice
versa), just as they did at one time when they saw "navigator".
But yes, it's no doubt true that "browser" is the more generally
recognized term now.

It seems that Mozilla Firefox and Google Chrome, at least, do not
refer to themselves as "browser" or anything else, beyond their
names.  Clearly they didn't worry too much about finding a name
that suggests "browsing" to potential users.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 14:26 Rename `eww' to `web' Richard Stallman
  2013-06-29 15:33 ` Daimrod
@ 2013-06-30  5:49 ` Jambunathan K
  2013-06-30 13:40   ` Richard Stallman
  2013-07-06 15:15 ` Lars Ingebrigtsen
  2 siblings, 1 reply; 110+ messages in thread
From: Jambunathan K @ 2013-06-30  5:49 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

Richard Stallman <rms@gnu.org> writes:

> One way we can make Emacs more usable is by giving commands
> natural names that make no demand on users' memory.
>
> Since `eww' has never been in a release, let's rename it `web'
> now, before users get it.

Why refuse the right of someone to name a package his own
quirky/creative way.  Quirky names are easy to remember.

eww is not a lisp library but a functional package.

Just provide means - a toolbar icon and a key binding - to start the
web.  This way the user never has to do a 

        M-x eww



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 21:33       ` Dmitry Gutov
  2013-06-29 21:42         ` Pascal J. Bourguignon
  2013-06-30  2:49         ` Richard Stallman
@ 2013-06-30  5:54         ` Jambunathan K
  2 siblings, 0 replies; 110+ messages in thread
From: Jambunathan K @ 2013-06-30  5:54 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: Nic Ferrier, Richard Stallman, drew.adams, emacs-devel

Dmitry Gutov <dgutov@yandex.ru> writes:

> And making `browse-url' default to `eww-browse-url' doesn't require
> changing the name of the latter.

What is a url, btw? M-x browse should suffice.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 23:01             ` Xue Fuqiao
@ 2013-06-30  6:36               ` Bastien
  2013-06-30 10:30                 ` Pascal J. Bourguignon
  0 siblings, 1 reply; 110+ messages in thread
From: Bastien @ 2013-06-30  6:36 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: emacs-devel

Xue Fuqiao <xfq.free@gmail.com> writes:

> On Sun, Jun 30, 2013 at 5:48 AM, Bastien <bzg@gnu.org> wrote:
>> M-x ewb RET
>>
>> Emacs Web Browser
>>
>> It's unique, and also an acronym for web.
>
> But there's already one:
> http://www.emacswiki.org/emacs/ewb.el

Oh, that's right, thanks for the pointer.

Then I'd suggest "www":

  M-x www RET

Easily remembered, and just one letter from "eww".

-- 
 Bastien



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 23:30       ` Xue Fuqiao
@ 2013-06-30  7:56         ` Jan Djärv
  2013-06-30  9:18           ` Xue Fuqiao
  0 siblings, 1 reply; 110+ messages in thread
From: Jan Djärv @ 2013-06-30  7:56 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: Nic Ferrier, Richard Stallman, drew.adams, emacs-devel

Hello.

30 jun 2013 kl. 01:30 skrev Xue Fuqiao <xfq.free@gmail.com>:

> On Sun, Jun 30, 2013 at 4:30 AM, Richard Stallman <rms@gnu.org> wrote:
>>    I already have an HTTP client called web.
>> 
>>    So it would be a little unfair to just pinch the name?
>> 
>> Making things easy for users must take priority.
> 
> Well, we can do many things that can make (most) users easy.  For
> example:
> 
> * Turn on cua-mode by default

This user would hate that.

> * Add a "redo" command

Might be nice.

> * Change the terminology of “kill” to “cut”, and “yank” to “paste”

But kill is strictly not the same as cut, and yank is not the same as paste.

> * Switch the terminology of “window” and “frame”

Should reduce some confusion.

> * Change the terminology of “car” to “first”, and “cdr” to “rest”

Not sure many users care.  Most users don't program lisp.

> ...
> 
> But we can't, since many of them will break existing users'
> configuration.  Although eww doesn't have this problem, I think we
> should think twice before "making things easy for users".


Also, what is easy for one user is a pain for another.  Not all you suggestions are even obviously easier for a user.

	Jan D.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30  7:56         ` Jan Djärv
@ 2013-06-30  9:18           ` Xue Fuqiao
  2013-06-30 10:04             ` Jan Djärv
  0 siblings, 1 reply; 110+ messages in thread
From: Xue Fuqiao @ 2013-06-30  9:18 UTC (permalink / raw)
  To: Jan Djärv; +Cc: Nic Ferrier, Richard Stallman, drew.adams, emacs-devel

On Sun, Jun 30, 2013 at 3:56 PM, Jan Djärv <jan.h.d@swipnet.se> wrote:
> Hello.

Hi Jan,

> 30 jun 2013 kl. 01:30 skrev Xue Fuqiao <xfq.free@gmail.com>:
>
>> On Sun, Jun 30, 2013 at 4:30 AM, Richard Stallman <rms@gnu.org> wrote:
>>> Making things easy for users must take priority.
>>
>> Well, we can do many things that can make (most) users easy.  For
>> example:
>>
>> * Turn on cua-mode by default
>
> This user would hate that.
>
>> * Add a "redo" command
>
> Might be nice.
>
>> * Change the terminology of “kill” to “cut”, and “yank” to “paste”
>
> But kill is strictly not the same as cut, and yank is not the same as paste.

Or, as Bob suggested, change "kill" to "clip".  See (info "(eintr)
Cutting & Storing Text").  BTW what's  the difference of kill and cut
(and yank/paste)?

>> * Switch the terminology of “window” and “frame”
>
> Should reduce some confusion.
>
>> * Change the terminology of “car” to “first”, and “cdr” to “rest”
>
> Not sure many users care.  Most users don't program lisp.

I agree.  I just picked some random examples in my mind, and haven't
done any research.

>> But we can't, since many of them will break existing users'
>> configuration.  Although eww doesn't have this problem, I think we
>> should think twice before "making things easy for users".
>
> Also, what is easy for one user is a pain for another.  Not all you
> suggestions are even obviously easier for a user.

So I said "most" (just in my opinion) users.  Maybe we should do some
social researches (polls) or systematic analysis, like this
survey[fn:1].  If we can't, picking something in etc/TODO and implement
it is better than span this thread into hundreds of messages and
debates.  (And in the end, typically nothing is done or changed.)

Footnotes:

[fn:1] http://orgmode.org/worg/org-configs/org-customization-survey.html

--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30  9:18           ` Xue Fuqiao
@ 2013-06-30 10:04             ` Jan Djärv
  0 siblings, 0 replies; 110+ messages in thread
From: Jan Djärv @ 2013-06-30 10:04 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: Nic Ferrier, Richard Stallman, drew.adams, emacs-devel

Hello.

30 jun 2013 kl. 11:18 skrev Xue Fuqiao <xfq.free@gmail.com>:

> On Sun, Jun 30, 2013 at 3:56 PM, Jan Djärv <jan.h.d@swipnet.se> wrote:
>> 
>> But kill is strictly not the same as cut, and yank is not the same as paste.
> 
> Or, as Bob suggested, change "kill" to "clip".  See (info "(eintr)
> Cutting & Storing Text").  BTW what's  the difference of kill and cut
> (and yank/paste)?

Kill in Emacs saves to the kill ring, there is no cut ring that applications share.
Corresponding for yank.

	Jan D.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30  6:36               ` Bastien
@ 2013-06-30 10:30                 ` Pascal J. Bourguignon
  0 siblings, 0 replies; 110+ messages in thread
From: Pascal J. Bourguignon @ 2013-06-30 10:30 UTC (permalink / raw)
  To: emacs-devel

Bastien <bzg@gnu.org> writes:

> Xue Fuqiao <xfq.free@gmail.com> writes:
>
>> On Sun, Jun 30, 2013 at 5:48 AM, Bastien <bzg@gnu.org> wrote:
>>> M-x ewb RET
>>>
>>> Emacs Web Browser
>>>
>>> It's unique, and also an acronym for web.
>>
>> But there's already one:
>> http://www.emacswiki.org/emacs/ewb.el
>
> Oh, that's right, thanks for the pointer.
>
> Then I'd suggest "www":
>
>   M-x www RET
>
> Easily remembered, and just one letter from "eww".

M-x web RET can be typed faster.

-- 
__Pascal Bourguignon__




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30  3:01           ` Dmitry Gutov
@ 2013-06-30 13:40             ` Richard Stallman
  2013-06-30 15:26               ` Dmitry Gutov
  0 siblings, 1 reply; 110+ messages in thread
From: Richard Stallman @ 2013-06-30 13:40 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: drew.adams, nferrier, emacs-devel

    You might be astonished to know that I am also, in fact, an Emacs developer.

Thanks for your contributions, but they don't entitle you to make demands
of this sort.

    Would you take a name of an existing, live project for a new GNU project 
    with similar functionality, even if it were a good-sounding name and it 
    were convenient to do so?

The issue is about command names, so you've changed the subject.

If we're talking about package names, then we want to avoid confusing
users.  Therefore, when we give a package the same name as some other,
we normally add "GNU" to distinguish.

For instance, I wrote a program called Emacs even though there were
other programs called "Emacs" at the time, and we made a Tar program
even though there were other programs called "tar" at the time.  To
avoid confusion, we refer to them as "GNU Emacs" and "GNU tar".

However, the issue at hand is about command names.  We use the same
command names used by various other packages whenever that seems
convenient.  For instance, the command to run GNU Emacs is just
`emacs' and the command to run GNU tar is just `tar'.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30  3:23         ` Drew Adams
@ 2013-06-30 13:40           ` Richard Stallman
  0 siblings, 0 replies; 110+ messages in thread
From: Richard Stallman @ 2013-06-30 13:40 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    It seems that Mozilla Firefox and Google Chrome, at least, do not
    refer to themselves as "browser" or anything else, beyond their
    names.  Clearly they didn't worry too much about finding a name
    that suggests "browsing" to potential users.

Perhaps they expect users to run them via icons or menus
and not with M-x.

Also, those programs are extremely well known, and the people who
use them use them daily.  So people don't have a problem of wanting
to use them and not recalling their names.

It is otherwise with lots of facilities in Emacs.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30  5:49 ` Jambunathan K
@ 2013-06-30 13:40   ` Richard Stallman
  2013-07-01 12:57     ` Ted Zlatanov
  0 siblings, 1 reply; 110+ messages in thread
From: Richard Stallman @ 2013-06-30 13:40 UTC (permalink / raw)
  To: Jambunathan K; +Cc: emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    Why refuse the right of someone to name a package his own
    quirky/creative way.  Quirky names are easy to remember.

Alas, it is not so.  Quirky names are easy to forget, especially when
there are lots of them and you only rarely think about them.  Especially
if you're getting old.

Moreover, users who have never have seen the quirky name have no
chance of guessing it.

    eww is not a lisp library but a functional package.

The fact that this is not only for Lisp programmers makes the issue
more important.

    Just provide means - a toolbar icon and a key binding - to start the
    web.  This way the user never has to do a 

Emacs has lots of key bindings, and people remember only the ones they
use often.  The command name is supposed to be easier to remember than
the key binding.  It is impossible to find natural key bindings for
all the commands of Emacs, but we can give them all natural command
names.

Web browsing may be important enough to justify a toolbar icon.
But the command name should be natural too.  Ideally a command
should have the name you would guess it has (if you didn't know).

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30 13:40             ` Richard Stallman
@ 2013-06-30 15:26               ` Dmitry Gutov
  2013-06-30 17:53                 ` chad
  0 siblings, 1 reply; 110+ messages in thread
From: Dmitry Gutov @ 2013-06-30 15:26 UTC (permalink / raw)
  To: rms; +Cc: drew.adams, nferrier, emacs-devel

On 30.06.2013 17:40, Richard Stallman wrote:
> Thanks for your contributions, but they don't entitle you to make demands
> of this sort.

I do not recall making any demands. If you mean "you better" (should've 
been "you'd better"), see 3a here: 
http://www.ldoceonline.com/dictionary/better_2.

>      Would you take a name of an existing, live project for a new GNU project
>      with similar functionality, even if it were a good-sounding name and it
>      were convenient to do so?
>
> The issue is about command names, so you've changed the subject.

You've got a point there, but with Emacs' lack of modularity command 
names usually unambiguously map to package names. Some commands in the 
Emacs core being the exceptions.

> If we're talking about package names, then we want to avoid confusing
> users.  Therefore, when we give a package the same name as some other,
> we normally add "GNU" to distinguish.
>
> For instance, I wrote a program called Emacs even though there were
> other programs called "Emacs" at the time, and we made a Tar program
> even though there were other programs called "tar" at the time.  To
> avoid confusion, we refer to them as "GNU Emacs" and "GNU tar".

I don't know the history very well, but it seems to me that either the 
programs you replaced were incompatible with systems you were targeting 
(so you did, essentially, port them), or you didn't care about pissing 
their authors off, for example because the original programs were 
proprietary software. Or both.

Neither is likely to be the case with third-party Emacs Lisp packages.

> However, the issue at hand is about command names.  We use the same
> command names used by various other packages whenever that seems
> convenient.  For instance, the command to run GNU Emacs is just
> `emacs' and the command to run GNU tar is just `tar'.

I think this approach is based on the assumption that no user would want 
to have both programs installed on their system at the same time.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30 15:26               ` Dmitry Gutov
@ 2013-06-30 17:53                 ` chad
  2013-06-30 18:21                   ` Jambunathan K
  2013-06-30 19:04                   ` Stefan Monnier
  0 siblings, 2 replies; 110+ messages in thread
From: chad @ 2013-06-30 17:53 UTC (permalink / raw)
  To: emacs-devel@gnu.org developers

There's a lot of debate about respecting developers, making things
easier for users, and preserving the fun of quirky names here, but
it seems to me that most of it might be missing the goal in favor
of arguing about potential details (and potential details of
potentially related but different topics).

Richard's goal (as I understand it) is making sure that users can
find important features in Emacs, not to enshrine or take over any
particular piece of code. For browsing the web inside emacs, there
are at least 4 packages: emacs-w3, emacs-w3m, emacs-web, and now/soon
Lars' new eww. These are all more and less hidden from straightforward
user behavior like `look through the menus', `try obvious command
names' and `internet search engine'.

I think most of us agree that emacs should have an easily-guessable
and -remembered command name for this functionality, and that `M-x
eww' might not  be it. This doesn't mean that we need to rename any
of the four packages above, but rather that we need to provide an
intuitive entry point. Emacs itself already provides such an entry
point, in browse-url.

We should make sure that browse-url works with eww - this is already
being done.

We might also want to discuss whether or not `M-x browse-url' is
itself the best choice of name for an intuitive entry point.

We should add a menu-bar entry for whatever name we decide to use
for browse-url above.

I hope this helps,
~Chad




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30 17:53                 ` chad
@ 2013-06-30 18:21                   ` Jambunathan K
  2013-06-30 19:04                   ` Stefan Monnier
  1 sibling, 0 replies; 110+ messages in thread
From: Jambunathan K @ 2013-06-30 18:21 UTC (permalink / raw)
  To: chad; +Cc: emacs-devel@gnu.org developers


May be the discussion should move to -

       http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14751



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30 17:53                 ` chad
  2013-06-30 18:21                   ` Jambunathan K
@ 2013-06-30 19:04                   ` Stefan Monnier
  1 sibling, 0 replies; 110+ messages in thread
From: Stefan Monnier @ 2013-06-30 19:04 UTC (permalink / raw)
  To: chad; +Cc: emacs-devel@gnu.org developers

> it seems to me that most of it might be missing the goal in favor
> of arguing about potential details (and potential details of

Very much so.  Can we get back to trying to find an actual solution?


        Stefan



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 15:15   ` Nic Ferrier
  2013-06-29 20:30     ` Richard Stallman
@ 2013-07-01  2:03     ` Miles Bader
  1 sibling, 0 replies; 110+ messages in thread
From: Miles Bader @ 2013-07-01  2:03 UTC (permalink / raw)
  To: Nic Ferrier; +Cc: rms, Drew Adams, emacs-devel

Nic Ferrier <nferrier@ferrier.me.uk> writes:
> Wait a second.
>
> I already have an HTTP client called web.
>
> So it would be a little unfair to just pinch the name?

It would be perfectly "fair."  If you use a highly generic name for a
package, you shouldn't be surprised when somebody else uses the same
name, and there's little justification for feeling wronged by it.

For that reason, it's obviously a bad idea to choose highly generic
names for packages...

[See the whole stupid mess with "*Step" and their apps called
"Terminal", etc... ><  Sure that made sense in a highly controlled
closed ecosystem; it makes zero sense in a shared open ecosystem.]

*However*, such names are desirable for the user when they want to just
start the app.

So the most practical thing to do seems to be use non-generic names for
packages and specific apps ("eww"), and generic names for shared thin
invocation layers [e.g. the simple (defalias 'web 'eww) dicussed
before].

-miles

-- 
Would you like fries with that?



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-30 13:40   ` Richard Stallman
@ 2013-07-01 12:57     ` Ted Zlatanov
  2013-07-03  8:29       ` Miles Bader
  0 siblings, 1 reply; 110+ messages in thread
From: Ted Zlatanov @ 2013-07-01 12:57 UTC (permalink / raw)
  To: emacs-devel

On Sun, 30 Jun 2013 09:40:52 -0400 Richard Stallman <rms@gnu.org> wrote: 

RS> Web browsing may be important enough to justify a toolbar icon.
RS> But the command name should be natural too.  Ideally a command
RS> should have the name you would guess it has (if you didn't know).

If the goal is to improve usability, forget command names.

The user wants to open a URL.  Make a menubar entry File->Open URL.
That will take care of most new users' needs.  Maybe give it a toolbar
icon, but that's IMHO much less useful.

Then make `C-x C-f' open a web browser (through `browse-url' or
whatever) by default.  Right now there are ways to open the contents of
the URL as a file, which will be disabled by this change, but IMHO
that's the way to improve usability.

Alternatively, reserve `C-x C-u' or something like that for web browsing
specifically.  But I really think piggybacking on the familiar `C-x C-f'
sequence is the right way.

Ted




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-01 12:57     ` Ted Zlatanov
@ 2013-07-03  8:29       ` Miles Bader
  2013-07-03 16:09         ` Ted Zlatanov
  0 siblings, 1 reply; 110+ messages in thread
From: Miles Bader @ 2013-07-03  8:29 UTC (permalink / raw)
  To: emacs-devel

Ted Zlatanov <tzz@lifelogs.com> writes:
> RS> Web browsing may be important enough to justify a toolbar icon.
> RS> But the command name should be natural too.  Ideally a command
> RS> should have the name you would guess it has (if you didn't know).
>
> If the goal is to improve usability, forget command names.

Er, what?  This is Emacs.  M-x is important, and lots of people use it.

This is especially true for something like this browser, which I
expect people will only use occasionally (most people will have a
standard web browser available most of the time)

A defalias is trivial and works well anyway, so there's no reason
_not_ to have it...

-miles

-- 
Non-combatant, n. A dead Quaker.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-03  8:29       ` Miles Bader
@ 2013-07-03 16:09         ` Ted Zlatanov
  2013-07-03 16:22           ` Glenn Morris
  2013-07-04  0:06           ` Richard Stallman
  0 siblings, 2 replies; 110+ messages in thread
From: Ted Zlatanov @ 2013-07-03 16:09 UTC (permalink / raw)
  To: emacs-devel

On Wed, 03 Jul 2013 17:29:34 +0900 Miles Bader <miles@gnu.org> wrote: 

MB> Ted Zlatanov <tzz@lifelogs.com> writes:
RS> Web browsing may be important enough to justify a toolbar icon.
RS> But the command name should be natural too.  Ideally a command
RS> should have the name you would guess it has (if you didn't know).
>> 
>> If the goal is to improve usability, forget command names.

MB> Er, what?  This is Emacs.  M-x is important, and lots of people use it.

There are different ways to use Emacs or indeed any bundle of methods
and information.  You can zoom in on a specific thing, which `M-x
command' does, or you can explore a visual hierarchy, like the menus or
a tree of packages and options, or you can search (with partial command
completion or the manual's index or other means).

But all of the above imply there's a tool intervening between you and
the URL, and you're trying to discover the tool's name (the command name
in Emacs).  Most users just want to enter a URL and browse it.  So my
main suggestion is to make `C-x C-f' on a URL open a web browser like
`eww', or call `browse-url', or do something like that.

MB> This is especially true for something like this browser, which I
MB> expect people will only use occasionally (most people will have a
MB> standard web browser available most of the time)

MB> A defalias is trivial and works well anyway, so there's no reason
MB> _not_ to have it...

I didn't imply otherwise :)  I just don't think `defalias' will enhance
usability.

Ted




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-03 16:09         ` Ted Zlatanov
@ 2013-07-03 16:22           ` Glenn Morris
  2013-07-03 19:57             ` Ted Zlatanov
  2013-07-04  0:06           ` Richard Stallman
  1 sibling, 1 reply; 110+ messages in thread
From: Glenn Morris @ 2013-07-03 16:22 UTC (permalink / raw)
  To: emacs-devel

Ted Zlatanov wrote:

> in Emacs).  Most users just want to enter a URL and browse it.  So my
> main suggestion is to make `C-x C-f' on a URL open a web browser like
> `eww', or call `browse-url', or do something like that.

There's url-handler-mode.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-03 16:22           ` Glenn Morris
@ 2013-07-03 19:57             ` Ted Zlatanov
  2013-07-03 22:50               ` Tim Cross
  0 siblings, 1 reply; 110+ messages in thread
From: Ted Zlatanov @ 2013-07-03 19:57 UTC (permalink / raw)
  To: emacs-devel

On Wed, 03 Jul 2013 12:22:16 -0400 Glenn Morris <rgm@gnu.org> wrote: 

GM> Ted Zlatanov wrote:
>> in Emacs).  Most users just want to enter a URL and browse it.  So my
>> main suggestion is to make `C-x C-f' on a URL open a web browser like
>> `eww', or call `browse-url', or do something like that.

GM> There's url-handler-mode.

Yes, something like it should be the default, if it can call `eww' when
libxml is available and just get the URL contents otherwise.

Ted




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-03 19:57             ` Ted Zlatanov
@ 2013-07-03 22:50               ` Tim Cross
  2013-07-04  0:24                 ` Drew Adams
  2013-07-04 18:49                 ` Richard Stallman
  0 siblings, 2 replies; 110+ messages in thread
From: Tim Cross @ 2013-07-03 22:50 UTC (permalink / raw)
  To: Emacs developers

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

This is all fine, but seems to totally miss RMS' point. We can debate
default settings, type handlers etc as much as we like, but I think
Richard's point was that since we are introducing a new feature, lets make
it easier for the user by calling it someting obvious rather than the more
cryptic. Using 'eww' may be considered 'cute', but it certainly isn't
'natural'. You will have to put in real memory effort to remember that
emacs' in built support for web browsing is 'eww'. Sure, with the great
searching mechanisms of emacs, most users will be able to find this
procedure fairly easily, but surely it is better if they don't even have to
look or use any effort. This is especially relevant for a feature like this
which is unlikely to be used by a lot of people every day.

Years ago, I had a real problem remembering M-x ielm. Because I only used
this command occasionally, I was never able to remember it. Even with
apropos et al. it often took longer than necessary to get the right memory
jog. Using names which are as 'natural' and reflect purpose as much as
possible will help and certainly won't make things worse.

Tim


On 4 July 2013 05:57, Ted Zlatanov <tzz@lifelogs.com> wrote:

> On Wed, 03 Jul 2013 12:22:16 -0400 Glenn Morris <rgm@gnu.org> wrote:
>
> GM> Ted Zlatanov wrote:
> >> in Emacs).  Most users just want to enter a URL and browse it.  So my
> >> main suggestion is to make `C-x C-f' on a URL open a web browser like
> >> `eww', or call `browse-url', or do something like that.
>
> GM> There's url-handler-mode.
>
> Yes, something like it should be the default, if it can call `eww' when
> libxml is available and just get the URL contents otherwise.
>
> Ted
>
>
>


-- 
Tim Cross

[-- Attachment #2: Type: text/html, Size: 2422 bytes --]

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-03 16:09         ` Ted Zlatanov
  2013-07-03 16:22           ` Glenn Morris
@ 2013-07-04  0:06           ` Richard Stallman
  2013-07-04  1:51             ` Ted Zlatanov
  2013-07-04  2:09             ` Katsumi Yamaoka
  1 sibling, 2 replies; 110+ messages in thread
From: Richard Stallman @ 2013-07-04  0:06 UTC (permalink / raw)
  To: emacs-devel; +Cc: emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    But all of the above imply there's a tool intervening between you and
    the URL, and you're trying to discover the tool's name (the command name
    in Emacs).

That's a very common kind of case in Emacs.

		Most users just want to enter a URL and browse it.  So my
    main suggestion is to make `C-x C-f' on a URL open a web browser like
    `eww', or call `browse-url', or do something like that.

This would be a convenient interface.  We just have to solve the
problem of ambiguity: a file name can look like a URL.  We could make
some way to indicate it is a file name -- perhaps some way to quote
the colon that would follow the URL type.


-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* RE: Rename `eww' to `web'
  2013-07-03 22:50               ` Tim Cross
@ 2013-07-04  0:24                 ` Drew Adams
  2013-07-04  1:43                   ` Ted Zlatanov
  2013-07-04 18:49                 ` Richard Stallman
  1 sibling, 1 reply; 110+ messages in thread
From: Drew Adams @ 2013-07-04  0:24 UTC (permalink / raw)
  To: Tim Cross, Emacs developers

> make it easier for the user by calling it someting obvious rather
> than the more cryptic.  Using 'eww' may be considered 'cute', but
> it certainly isn't 'natural'.
> ...
> Using names which are as 'natural' and reflect purpose as much
> as possible will help and certainly won't make things worse. 

+1.  There is really little excuse for such names as Emacs commands.
A command name should preferably be something that `apropos' can
help with.  In general it should have components that are
recognizable keywords.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  0:24                 ` Drew Adams
@ 2013-07-04  1:43                   ` Ted Zlatanov
  2013-07-04  1:58                     ` chad
                                       ` (2 more replies)
  0 siblings, 3 replies; 110+ messages in thread
From: Ted Zlatanov @ 2013-07-04  1:43 UTC (permalink / raw)
  To: emacs-devel

On Wed, 3 Jul 2013 17:24:03 -0700 (PDT) Drew Adams <drew.adams@oracle.com> wrote: 

>> make it easier for the user by calling it someting obvious rather
>> than the more cryptic.  Using 'eww' may be considered 'cute', but
>> it certainly isn't 'natural'.
>> ...
>> Using names which are as 'natural' and reflect purpose as much
>> as possible will help and certainly won't make things worse. 

DA> +1.  There is really little excuse for such names as Emacs commands.
DA> A command name should preferably be something that `apropos' can
DA> help with.  In general it should have components that are
DA> recognizable keywords.

I think the package author should decide this.  The "natural" name you
suggest is bland and generic.  Do you really want to use a text editor
named "text-editor" and a web browser named "web-browser"?

eww is just as good as Chrome or Firefox/Netscape/Mozilla or Lynx or...

Or, in Emacs land, let's take helm, or gnus, or eieio, or...

OTOH as Stefan suggested, there is a case for generic commands to do a
task like encryption or web browsing.  I'm in favor of that, as I
mentioned, and those commands should be named as generically helpfully
as possible.

Ted




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  0:06           ` Richard Stallman
@ 2013-07-04  1:51             ` Ted Zlatanov
  2013-07-04  7:30               ` Andreas Schwab
  2013-07-04  2:09             ` Katsumi Yamaoka
  1 sibling, 1 reply; 110+ messages in thread
From: Ted Zlatanov @ 2013-07-04  1:51 UTC (permalink / raw)
  To: emacs-devel

On Wed, 03 Jul 2013 20:06:02 -0400 Richard Stallman <rms@gnu.org> wrote: 

RS> 		Most users just want to enter a URL and browse it.  So my
RS>     main suggestion is to make `C-x C-f' on a URL open a web browser like
RS>     `eww', or call `browse-url', or do something like that.

RS> This would be a convenient interface.  We just have to solve the
RS> problem of ambiguity: a file name can look like a URL.  We could make
RS> some way to indicate it is a file name -- perhaps some way to quote
RS> the colon that would follow the URL type.

I think it's pretty easy to tell a URL (we already do that in many
packages), and the user can always use `find-file-literally'.  So I
think this is not going to be a problem and doesn't require any special
treatment.  Just in case we could check if there is a file named the
same as the URL, since a stat call is cheap.  But otherwise this should
be DWIM for the users.

Ted




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  1:43                   ` Ted Zlatanov
@ 2013-07-04  1:58                     ` chad
  2013-07-04  5:11                       ` Stephen J. Turnbull
  2013-07-04 23:36                       ` Richard Stallman
  2013-07-04  3:16                     ` Drew Adams
  2013-07-04 23:36                     ` Richard Stallman
  2 siblings, 2 replies; 110+ messages in thread
From: chad @ 2013-07-04  1:58 UTC (permalink / raw)
  To: emacs-devel

On 03 Jul 2013, at 18:43, Ted Zlatanov <tzz@lifelogs.com> wrote:
> eww is just as good as Chrome or Firefox/Netscape/Mozilla or Lynx or...

Especially when there are several of them. This particular `new
functionality' in emacs has existed for almost two decades.

> I think it's pretty easy to tell a URL (we already do that in many
> packages), and the user can always use `find-file-literally'.  So I

Unencoded full URL's cannot be valid filenames under the vast
majority of filesystems, including GNU/Linux and macosx. I think
they might theoretically be valid in w32 systems like ntfs, but
many (most?) of those systems already allow the user to enter URLs
where filenames are requested, so it doesn't seem likely to be a
problem there, either.  Anyone know for sure?

> OTOH as Stefan suggested, there is a case for generic commands to do a
> task like encryption or web browsing.  I'm in favor of that, as I
> mentioned, and those commands should be named as generically helpfully
> as possible.

It seems like we just recently built this dispatcher functionality
for sending email from emacs, didn't we?  If not, perhaps it's as
simple as a set of standardized aliases for common functionality,
with the defaults set to a choose-from-a-list function?

~Chad




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  0:06           ` Richard Stallman
  2013-07-04  1:51             ` Ted Zlatanov
@ 2013-07-04  2:09             ` Katsumi Yamaoka
  2013-07-04  2:17               ` Glenn Morris
  1 sibling, 1 reply; 110+ messages in thread
From: Katsumi Yamaoka @ 2013-07-04  2:09 UTC (permalink / raw)
  To: emacs-devel

Richard Stallman wrote:
> 		Most users just want to enter a URL and browse it.  So my
>     main suggestion is to make `C-x C-f' on a URL open a web browser like
>     `eww', or call `browse-url', or do something like that.

> This would be a convenient interface.  We just have to solve the
> problem of ambiguity: a file name can look like a URL.  We could make
> some way to indicate it is a file name -- perhaps some way to quote
> the colon that would follow the URL type.

This is off-topic, sorry.  I'm using a wrapper[1] that modifies
`C-x C-f' and `C-x d' so as to work for ftp://.  I can imagine
making those commands work for https?:// is not so troublesome.
Note that a url containing non-ASCII characters needs to be encoded
properly.

[1] http://www.jpl.org/ftp/pub/elisp/dired-utils.el.gz



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  2:09             ` Katsumi Yamaoka
@ 2013-07-04  2:17               ` Glenn Morris
  2013-07-04  3:44                 ` Katsumi Yamaoka
  2013-07-04 15:08                 ` Ted Zlatanov
  0 siblings, 2 replies; 110+ messages in thread
From: Glenn Morris @ 2013-07-04  2:17 UTC (permalink / raw)
  To: Katsumi Yamaoka; +Cc: emacs-devel

Katsumi Yamaoka wrote:

> This is off-topic, sorry.

Yeah, actually having written code is off-topic for emacs-devel! ;)
Don't you know this list is exclusively for giving opinions of How
Things Should Be? ;)

> I'm using a wrapper[1] that modifies `C-x C-f' and `C-x d' so as to
> work for ftp://. I can imagine making those commands work for
> https?:// is not so troublesome.

Again, this sounds like the existing url-handler-mode.

emacs -Q -f url-handler-mode
C-x C-f ftp://ftp.gnu.org
C-x C-f http://www.gnu.org



^ permalink raw reply	[flat|nested] 110+ messages in thread

* RE: Rename `eww' to `web'
  2013-07-04  1:43                   ` Ted Zlatanov
  2013-07-04  1:58                     ` chad
@ 2013-07-04  3:16                     ` Drew Adams
  2013-07-04 23:36                     ` Richard Stallman
  2 siblings, 0 replies; 110+ messages in thread
From: Drew Adams @ 2013-07-04  3:16 UTC (permalink / raw)
  To: emacs-devel

> >> make it easier for the user by calling it someting obvious rather
> >> than the more cryptic.  Using 'eww' may be considered 'cute', but
> >> it certainly isn't 'natural'.
> >> ...
> >> Using names which are as 'natural' and reflect purpose as much
> >> as possible will help and certainly won't make things worse.
> 
> DA> +1.  There is really little excuse for such names as Emacs commands.
> DA> A command name should preferably be something that `apropos' can
> DA> help with.  In general it should have components that are
> DA> recognizable keywords.
> 
> I think the package author should decide this.  The "natural" name you
> suggest is bland and generic.  Do you really want to use a text editor
> named "text-editor" and a web browser named "web-browser"?

No one suggested that.  What "natural" name did you think I suggested?

> eww is just as good as Chrome or Firefox/Netscape/Mozilla or Lynx or...

Richard responded adequately to that claim.  Of course, with enough
recognition any name becomes recognizable! ;-)  "EMACS", for instance.

> Or, in Emacs land, let's take helm, or gnus, or eieio, or...

Have you been following?  Those are package names, not command names.

 EIEIO: a package
 `eieio-browse': a command

 Icicles: a package
 `icicle-complete-keys': a command

Again, `apropos' can help a user find a well named command, one
whose name suggests something about what it does.

But by all means, the package name can well be something that stands
out, in particular for a web search.  That can help, once there is
some general recognition.

On the other hand, "Emacs" already stands out in a search for web
browsers.  If you were looking for an Emacs web browser today (and
there are some), I'd be willing to bet that you would search for
"emacs web browser" or some such.  Why so prosaic and unimaginative?
Because that's what works.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  2:17               ` Glenn Morris
@ 2013-07-04  3:44                 ` Katsumi Yamaoka
  2013-07-04  4:10                   ` Jambunathan K
  2013-07-04 23:36                   ` Richard Stallman
  2013-07-04 15:08                 ` Ted Zlatanov
  1 sibling, 2 replies; 110+ messages in thread
From: Katsumi Yamaoka @ 2013-07-04  3:44 UTC (permalink / raw)
  To: Glenn Morris; +Cc: emacs-devel

Glenn Morris wrote:
> Katsumi Yamaoka wrote:

>> This is off-topic, sorry.

> Yeah, actually having written code is off-topic for emacs-devel! ;)
> Don't you know this list is exclusively for giving opinions of How
> Things Should Be? ;)

>> I'm using a wrapper[1] that modifies `C-x C-f' and `C-x d' so as to
>> work for ftp://. I can imagine making those commands work for
>> https?:// is not so troublesome.

> Again, this sounds like the existing url-handler-mode.

> emacs -Q -f url-handler-mode
> C-x C-f ftp://ftp.gnu.org
> C-x C-f http://www.gnu.org

Oh, I didn't know it.
And what is more surprising, the functionality is sealed.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  3:44                 ` Katsumi Yamaoka
@ 2013-07-04  4:10                   ` Jambunathan K
  2013-07-04  4:48                     ` Stephen J. Turnbull
                                       ` (2 more replies)
  2013-07-04 23:36                   ` Richard Stallman
  1 sibling, 3 replies; 110+ messages in thread
From: Jambunathan K @ 2013-07-04  4:10 UTC (permalink / raw)
  To: Katsumi Yamaoka; +Cc: emacs-devel

Katsumi Yamaoka <yamaoka@jpl.org> writes:

>> emacs -Q -f url-handler-mode
>> C-x C-f ftp://ftp.gnu.org
>> C-x C-f http://www.gnu.org
>
> Oh, I didn't know it.
> And what is more surprising, the functionality is sealed.

emacs -Q
C-x C-f http://www.gnu.org

I see the HTML code verbatim.  The buffer is on Org mode.  (This is a
buglet).  ISTM the magic glue to render - I used shr-render-buffer - is
missing.









^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  4:10                   ` Jambunathan K
@ 2013-07-04  4:48                     ` Stephen J. Turnbull
  2013-07-05  3:23                       ` Jambunathan K
  2013-07-04  9:55                     ` Stefan Monnier
  2013-07-04 14:28                     ` Katsumi Yamaoka
  2 siblings, 1 reply; 110+ messages in thread
From: Stephen J. Turnbull @ 2013-07-04  4:48 UTC (permalink / raw)
  To: Jambunathan K; +Cc: emacs-devel

Jambunathan K writes:

 > emacs -Q
 > C-x C-f http://www.gnu.org
 > 
 > I see the HTML code verbatim.  The buffer is on Org mode.  (This is a
 > buglet).

Really?  I thought org-mode was the mode-to-end-all-modes? ;-)

 > ISTM the magic glue to render - I used shr-render-buffer - is missing.

No, it's not.  find-file is a prelude to *editing*, so you should
receive the "preferred form for editing".  One could argue that Emacs
should try WebDAV to get its insdels on the source of dynamic pages,
but that seems unlikely to work without substantial configuration,
perhaps on a file-by-file basis.

The interface you are looking for is M-x view-file in my installation
(Emacs may have that bound to key by default).

Of course that's not quite right because the name says "file", but the
same applies to C-x C-f == find-file.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  1:58                     ` chad
@ 2013-07-04  5:11                       ` Stephen J. Turnbull
  2013-07-04 15:09                         ` Ted Zlatanov
  2013-07-04 23:36                       ` Richard Stallman
  1 sibling, 1 reply; 110+ messages in thread
From: Stephen J. Turnbull @ 2013-07-04  5:11 UTC (permalink / raw)
  To: chad; +Cc: emacs-devel

 > On 03 Jul 2013, at 18:43, Ted Zlatanov <tzz@lifelogs.com> wrote:

 > > I think it's pretty easy to tell a URL (we already do that in many
 > > packages), and the user can always use `find-file-literally'.

@tzz: That's hardly likely to make the user happy.  f-f-l delivers the
bytes found on disk, completely uninterpreted.

chad writes:

 > Unencoded full URL's cannot be valid filenames under the vast

"Valid *canonical* filenames".  In most cases the "//" marking the
authority will be interpreted as a single path separator.

 > majority of filesystems, including GNU/Linux and macosx. I think
 > they might theoretically be valid in w32 systems like ntfs, but

I don't think so; the "//" prefix for a share can't be preceded by a
drive letter.

 > many (most?) of those systems already allow the user to enter URLs
 > where filenames are requested, so it doesn't seem likely to be a
 > problem there, either.  Anyone know for sure?

Where's the system issue?  Inside Emacs, URL-encode whatever you're
given and prefix "file:///" to it.  If that exists, ask the user if
the local file is what they want.  Otherwise, try the URL-encoded form
literally.  This try-and-prompt behavior should be optional, as I
suspect it's rarely applicable and even more rarely wanted.

The issue here is going to be edge cases involving `default-directory',
which should probably be renamed `default-base-url'.

 > It seems like we just recently built this dispatcher functionality
 > for sending email from emacs, didn't we?

No, that's been around for decade, at least.

 > If not, perhaps it's as simple as a set of standardized aliases for
 > common functionality, with the defaults set to a choose-from-a-list
 > function?

It's not that simple.  The base case is, but users typically want to
be able to tune their preferred implementation.  For common options,
there should be standard custom variables in Emacs, but people should
also be able to drill down to the implementation and use its option
names.  Building a generic way to handle all this functionality for
different applications is not going to be trivial.

For the moment I think building dispatchers on a case-by-case basis
isn't so hard, and eventually somebody will get the itch.





^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  1:51             ` Ted Zlatanov
@ 2013-07-04  7:30               ` Andreas Schwab
  0 siblings, 0 replies; 110+ messages in thread
From: Andreas Schwab @ 2013-07-04  7:30 UTC (permalink / raw)
  To: emacs-devel

Ted Zlatanov <tzz@lifelogs.com> writes:

> and the user can always use `find-file-literally'.

find-file-literally has nothing to do with the interpretation of the
file name, only of the contents.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  4:10                   ` Jambunathan K
  2013-07-04  4:48                     ` Stephen J. Turnbull
@ 2013-07-04  9:55                     ` Stefan Monnier
  2013-07-04 15:04                       ` Ted Zlatanov
  2013-07-04 14:28                     ` Katsumi Yamaoka
  2 siblings, 1 reply; 110+ messages in thread
From: Stefan Monnier @ 2013-07-04  9:55 UTC (permalink / raw)
  To: Jambunathan K; +Cc: Katsumi Yamaoka, emacs-devel

> emacs -Q
> C-x C-f http://www.gnu.org

> I see the HTML code verbatim.

That's arguably right.

> The buffer is on Org mode.  (This is a buglet).

Actually, it's the main problem: url-handler-mode only affects the way
files are accessed, but not the way we try to find/guess meta-data, so
the HTTP header's info (mostly Content-Type:) is completely ignored and
instead we rely on the URL itself via auto-mode-alist.

It would be nice to extend url-handler-mode so that the meta-info from
things the transfer protocol gets preserved and used to choose the
major mode.

> ISTM the magic glue to render - I used shr-render-buffer - is
> missing.

This is yet another needed change, which is to make it show a rendering,
just like opening a PDF file gives us the rendering (via doc-view)
by default.


        Stefan



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  4:10                   ` Jambunathan K
  2013-07-04  4:48                     ` Stephen J. Turnbull
  2013-07-04  9:55                     ` Stefan Monnier
@ 2013-07-04 14:28                     ` Katsumi Yamaoka
  2013-07-04 15:08                       ` Stephen Berman
  2013-07-05  3:04                       ` Jambunathan K
  2 siblings, 2 replies; 110+ messages in thread
From: Katsumi Yamaoka @ 2013-07-04 14:28 UTC (permalink / raw)
  To: emacs-devel

Jambunathan K <kjambunathan@gmail.com> wrote:
> Katsumi Yamaoka <yamaoka@jpl.org> writes:

>>> emacs -Q -f url-handler-mode
>>> C-x C-f ftp://ftp.gnu.org
>>> C-x C-f http://www.gnu.org

>> Oh, I didn't know it.
>> And what is more surprising, the functionality is sealed.

I meant both end up with the "Unimplemented" error (on Cygwin).
Though I haven't yet investigated why it's so, I confirmed Emacs
on Linux behaves like Jambunathan said.

> emacs -Q
> C-x C-f http://www.gnu.org

> I see the HTML code verbatim.  The buffer is on Org mode.  (This is a
> buglet).  ISTM the magic glue to render - I used shr-render-buffer - is
> missing.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  9:55                     ` Stefan Monnier
@ 2013-07-04 15:04                       ` Ted Zlatanov
  2013-07-05 11:02                         ` Stefan Monnier
  0 siblings, 1 reply; 110+ messages in thread
From: Ted Zlatanov @ 2013-07-04 15:04 UTC (permalink / raw)
  To: emacs-devel

On Thu, 04 Jul 2013 05:55:52 -0400 Stefan Monnier <monnier@IRO.UMontreal.CA> wrote: 

>> emacs -Q
>> C-x C-f http://www.gnu.org

>> I see the HTML code verbatim.

SM> That's arguably right.

>> The buffer is on Org mode.  (This is a buglet).

SM> Actually, it's the main problem: url-handler-mode only affects the way
SM> files are accessed, but not the way we try to find/guess meta-data, so
SM> the HTTP header's info (mostly Content-Type:) is completely ignored and
SM> instead we rely on the URL itself via auto-mode-alist.

SM> It would be nice to extend url-handler-mode so that the meta-info from
SM> things the transfer protocol gets preserved and used to choose the
SM> major mode.

I would rather just open URLs the same way consistently with `eww' than
try to guess what treatment each one merits.  `eww' or other web
browsers should DTRT once they get the content and the headers.

>> ISTM the magic glue to render - I used shr-render-buffer - is
>> missing.

SM> This is yet another needed change, which is to make it show a rendering,
SM> just like opening a PDF file gives us the rendering (via doc-view)
SM> by default.

Opening a HTML *file* should open it as a file, and rendering should be
easily accessible in a menu (through `shr' or whatever).  A PDF is not
the same use case, because viewing and editing a binary PDF as a file is
pretty useless.

Opening a URL may produce HTML or something else, but there's no editing
model here--you can't write back a URL (yeah, there's PUT, and for file:
URLs you can open the actual file, but let's stick to the common case).

So I think it makes sense to go straight to `eww' for that case: opening
a URL with `C-x C-f'.  Like I said, it's DWIMmery.  There will be a
small percentage of users unhappy with it, who will want to just view
the file, and we should make that easy (I guessed `find-file-literally'
incorrectly but it can be something simple to set in `url-handler-mode'
defcustoms).  The key thing is that there are no command names to
discover--opening a URL Just Works.

Any of the developers can make the change easily but it's a pretty major
change and that's why we're discussing it instead of just doing it.  I
hope you agree with me.

Ted




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  2:17               ` Glenn Morris
  2013-07-04  3:44                 ` Katsumi Yamaoka
@ 2013-07-04 15:08                 ` Ted Zlatanov
  1 sibling, 0 replies; 110+ messages in thread
From: Ted Zlatanov @ 2013-07-04 15:08 UTC (permalink / raw)
  To: emacs-devel

On Wed, 03 Jul 2013 22:17:54 -0400 Glenn Morris <rgm@gnu.org> wrote: 

GM> Katsumi Yamaoka wrote:
>> I'm using a wrapper[1] that modifies `C-x C-f' and `C-x d' so as to
>> work for ftp://. I can imagine making those commands work for
>> https?:// is not so troublesome.

GM> Again, this sounds like the existing url-handler-mode.

GM> emacs -Q -f url-handler-mode
GM> C-x C-f ftp://ftp.gnu.org
GM> C-x C-f http://www.gnu.org

Yup.  The necessary changes to make this usable IMHO are:

1) make it call `eww' by default and provide for a way to instead look
at file contents (current behavior, right?)

2) enable `url-handler-mode' by default

I'm trying to get agreement on these two.

Ted




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 14:28                     ` Katsumi Yamaoka
@ 2013-07-04 15:08                       ` Stephen Berman
  2013-07-04 22:35                         ` Xue Fuqiao
  2013-07-05  3:04                       ` Jambunathan K
  1 sibling, 1 reply; 110+ messages in thread
From: Stephen Berman @ 2013-07-04 15:08 UTC (permalink / raw)
  To: Katsumi Yamaoka; +Cc: emacs-devel

On Thu, 04 Jul 2013 23:28:14 +0900 Katsumi Yamaoka <yamaoka@jpl.org> wrote:

>>>> emacs -Q -f url-handler-mode
>>>> C-x C-f ftp://ftp.gnu.org
>>>> C-x C-f http://www.gnu.org
>
>>> Oh, I didn't know it.
>>> And what is more surprising, the functionality is sealed.
>
> I meant both end up with the "Unimplemented" error (on Cygwin).
> Though I haven't yet investigated why it's so, I confirmed Emacs
> on Linux behaves like Jambunathan said.

I see the same "Unimplemented" error on GNU Emacs 24.3.50.5
(x86_64-suse-linux-gnu, GTK+ Version 3.4.4) of 2013-07-03 -- but only
with my initializations.  With -Q it's as Jambunathan reported.  I
haven't yet tried bisecting my init file.

Steve Berman




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  5:11                       ` Stephen J. Turnbull
@ 2013-07-04 15:09                         ` Ted Zlatanov
  0 siblings, 0 replies; 110+ messages in thread
From: Ted Zlatanov @ 2013-07-04 15:09 UTC (permalink / raw)
  To: emacs-devel

On Thu, 04 Jul 2013 14:11:22 +0900 "Stephen J. Turnbull" <stephen@xemacs.org> wrote: 

SJT> The issue here is going to be edge cases involving `default-directory',
SJT> which should probably be renamed `default-base-url'.

I would only accept absolute URLs.  Relative URLs should be handled by
the web browser itself.  But you're right that this could be annoying.

Ted




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-03 22:50               ` Tim Cross
  2013-07-04  0:24                 ` Drew Adams
@ 2013-07-04 18:49                 ` Richard Stallman
  2013-07-04 19:15                   ` Pascal J. Bourguignon
  2013-07-04 22:53                   ` Josh
  1 sibling, 2 replies; 110+ messages in thread
From: Richard Stallman @ 2013-07-04 18:49 UTC (permalink / raw)
  To: Tim Cross; +Cc: emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    Years ago, I had a real problem remembering M-x ielm. Because I only used
    this command occasionally, I was never able to remember it.

I never remember ielm, and when I see that name, I have no idea what
it does.  I recall I looked it up once, perhaps a year ago, but
nothing stuck.  I had to look it up again now.

`ielm' might be a good file name prefix, if this had multiple files.
A prefix needs to be short.  But the package should have a natural
name for users.

One thing I don't understand is why this is better than the *scratch*
buffer and Lisp Interaction Mode.  What are the advantages of ielm?
Should the *scratch* buffer be implemented by ielm?  Or would that
have some drawback?

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 18:49                 ` Richard Stallman
@ 2013-07-04 19:15                   ` Pascal J. Bourguignon
  2013-07-04 21:08                     ` Mathias Dahl
                                       ` (4 more replies)
  2013-07-04 22:53                   ` Josh
  1 sibling, 5 replies; 110+ messages in thread
From: Pascal J. Bourguignon @ 2013-07-04 19:15 UTC (permalink / raw)
  To: emacs-devel

Richard Stallman <rms@gnu.org> writes:

>         [ To any NSA and FBI agents reading my email: please consider
>         [ whether defending the US Constitution against all enemies,
>         [ foreign or domestic, requires you to follow Snowden's example.
>
>     Years ago, I had a real problem remembering M-x ielm. Because I only used
>     this command occasionally, I was never able to remember it.
>
> I never remember ielm, and when I see that name, I have no idea what
> it does.  I recall I looked it up once, perhaps a year ago, but
> nothing stuck.  I had to look it up again now.
>
> `ielm' might be a good file name prefix, if this had multiple files.
> A prefix needs to be short.  But the package should have a natural
> name for users.

Let's just have a configuration module that let map user interface
commands to the selected package.

M-x mail --> vm, gnus, mew, or whatever.
M-x news --> gnus or something else.
M-x web --> w3m, www, eww or whatever.
M-x elisp -> ielm or *scratch*


> One thing I don't understand is why this is better than the *scratch*
> buffer and Lisp Interaction Mode.  What are the advantages of ielm?
> Should the *scratch* buffer be implemented by ielm?  Or would that
> have some drawback?

It's not the same kind of interaction.  ielm simulates an "interactive"
REPL, like other lisps or shells.  Even slime has both kinds of
interactions available, the *scratch* like, and the repl one.

Also, compare the results:

(+ 1 2) C-u C-x C-e (+ 3 4) C-u C-x C-e (or perhaps with C-j) in *scratch* displays:

    (+ 1 2)3 (#o3, #x3, ?\C-c) (+ 3 4)7


(+ 1 2)RET(+ 3 4)RET  in *ielm* displays:

    ELISP> (+ 1 2)
    3
    ELISP> (+ 3 4)
    7
    ELISP> 


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.  
You know you've been lisping too long when you see a recent picture of George 
Lucas and think "Wait, I thought John McCarthy was dead!" -- Dalek_Baldwin




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 19:15                   ` Pascal J. Bourguignon
@ 2013-07-04 21:08                     ` Mathias Dahl
  2013-07-04 21:58                       ` Drew Adams
  2013-07-05  2:50                       ` Jambunathan K
  2013-07-04 22:41                     ` Xue Fuqiao
                                       ` (3 subsequent siblings)
  4 siblings, 2 replies; 110+ messages in thread
From: Mathias Dahl @ 2013-07-04 21:08 UTC (permalink / raw)
  To: emacs-devel

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

Hi all,

It's interesting to see how much one can discuss around a name... ;)

When my `tumme' (now `image-dired') package was added to Emacs many moons
ago, the question about its name came up. Since I was the author and the
one who had picked the name ("tumme" means thumb, in Swedish, so it was a
good name for a package aimed at working with image thumbnails), and it
also had been used by people for a while, I felt... something (a small
disturbance in the force, maybe)... when the name change came up.

However, the arguments back then was about the same as now; it is
beneficial if users can find commands by guessing and it was reasonable to
assume that someone might try typing "image" to see what nice commands
there might exist for working with images. Also, since I was glad/proud
that someone asked if this could be included in Emacs, my favorite piece of
software, it was a small thing to change the name. And, I see now, the name
"tumme" is still there in the form of an alias for one of the commands in
the package.

So, that was my little insignificant story...

/Mathias

[-- Attachment #2: Type: text/html, Size: 1358 bytes --]

^ permalink raw reply	[flat|nested] 110+ messages in thread

* RE: Rename `eww' to `web'
  2013-07-04 21:08                     ` Mathias Dahl
@ 2013-07-04 21:58                       ` Drew Adams
  2013-07-05  2:50                       ` Jambunathan K
  1 sibling, 0 replies; 110+ messages in thread
From: Drew Adams @ 2013-07-04 21:58 UTC (permalink / raw)
  To: Mathias Dahl, emacs-devel

Hi Mathias,

> When my `tumme' (now `image-dired') package was added to Emacs many
> moons ago, the question about its name came up. Since I was the
> author and the one who had picked the name ("tumme" means thumb, in
> Swedish, so it was a good name for a package aimed at working with
> image thumbnails),

So you explicitly chose a name that had a meaning related to what
the package and its commands are for.

> and it also had been used by people for a while, I felt... something
> (a small disturbance in the force, maybe)... when the name change
> came up.

Understandable.

> However, the arguments back then was about the same as now; it is
> beneficial if users can find commands by guessing

Which was the same principle you applied, using "thumb" instead of
"image".  It's just that your version of "thumb" was a Swedish one.

> and it was reasonable to assume that someone might try typing
> "image" to see what nice commands there might exist for working
> with images.

Yes, "image" is good, as is "thumb".  Depends what to put the emphasis
on, since `image-dired' can do more than show thumbnail images.  But
either is helpful, IMO.  And "tumme" is less helpful than either,
unless one understands Swedish.

> ... So, that was my little insignificant story...

Not so insignificant - a couple of lessons there, I think.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 15:08                       ` Stephen Berman
@ 2013-07-04 22:35                         ` Xue Fuqiao
  2013-07-06 20:02                           ` Stephen Berman
  0 siblings, 1 reply; 110+ messages in thread
From: Xue Fuqiao @ 2013-07-04 22:35 UTC (permalink / raw)
  To: Stephen Berman; +Cc: Katsumi Yamaoka, emacs-devel

On Thu, Jul 4, 2013 at 11:08 PM, Stephen Berman <stephen.berman@gmx.net> wrote:
> On Thu, 04 Jul 2013 23:28:14 +0900 Katsumi Yamaoka <yamaoka@jpl.org> wrote:
>
>>>>> emacs -Q -f url-handler-mode
>>>>> C-x C-f ftp://ftp.gnu.org
>>>>> C-x C-f http://www.gnu.org
>>
>>>> Oh, I didn't know it.
>>>> And what is more surprising, the functionality is sealed.
>>
>> I meant both end up with the "Unimplemented" error (on Cygwin).
>> Though I haven't yet investigated why it's so, I confirmed Emacs
>> on Linux behaves like Jambunathan said.
>
> I see the same "Unimplemented" error on GNU Emacs 24.3.50.5
> (x86_64-suse-linux-gnu, GTK+ Version 3.4.4) of 2013-07-03 -- but only
> with my initializations.  With -Q it's as Jambunathan reported.  I
> haven't yet tried bisecting my init file.

Strange.  I see the same "Unimplemented" error on r113216
(x86_64-apple-darwin12.4.0, NS apple-appkit-1187.39 of 2013-06-29,
configured using `configure --with-ns --enable-checking'), not only with
my initializations, but also with -Q.  Maybe we need to discuss it in
bug-gnu-emacs.

--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 19:15                   ` Pascal J. Bourguignon
  2013-07-04 21:08                     ` Mathias Dahl
@ 2013-07-04 22:41                     ` Xue Fuqiao
  2013-07-04 23:45                       ` Juri Linkov
  2013-07-04 23:40                     ` Glenn Morris
                                       ` (2 subsequent siblings)
  4 siblings, 1 reply; 110+ messages in thread
From: Xue Fuqiao @ 2013-07-04 22:41 UTC (permalink / raw)
  To: Pascal J. Bourguignon; +Cc: emacs-devel

On Fri, Jul 5, 2013 at 3:15 AM, Pascal J. Bourguignon
<pjb@informatimago.com> wrote:
> Richard Stallman <rms@gnu.org> writes:
>
>>         [ To any NSA and FBI agents reading my email: please consider
>>         [ whether defending the US Constitution against all enemies,
>>         [ foreign or domestic, requires you to follow Snowden's example.
>>
>>     Years ago, I had a real problem remembering M-x ielm. Because I only used
>>     this command occasionally, I was never able to remember it.
>> One thing I don't understand is why this is better than the *scratch*
>> buffer and Lisp Interaction Mode.  What are the advantages of ielm?
>> Should the *scratch* buffer be implemented by ielm?  Or would that
>> have some drawback?
>
> It's not the same kind of interaction.  ielm simulates an "interactive"
> REPL, like other lisps or shells.  Even slime has both kinds of
> interactions available, the *scratch* like, and the repl one.
>
> Also, compare the results:
>
> (+ 1 2) C-u C-x C-e (+ 3 4) C-u C-x C-e (or perhaps with C-j) in *scratch* displays:
>
>     (+ 1 2)3 (#o3, #x3, ?\C-c) (+ 3 4)7

What does the "(#o3, #x3, ?\C-c)" mean?  I can't see it in my *scratch*
buffer.

--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 18:49                 ` Richard Stallman
  2013-07-04 19:15                   ` Pascal J. Bourguignon
@ 2013-07-04 22:53                   ` Josh
  2013-07-05 17:20                     ` Richard Stallman
  1 sibling, 1 reply; 110+ messages in thread
From: Josh @ 2013-07-04 22:53 UTC (permalink / raw)
  To: rms; +Cc: Tim Cross, emacs-devel

On Thu, Jul 4, 2013 at 11:49 AM, Richard Stallman <rms@gnu.org> wrote:
>     Years ago, I had a real problem remembering M-x ielm. Because I only used
>     this command occasionally, I was never able to remember it.

I had the same problem for a long time until finally I read that it stands for
(I)nteractive (E)macs (L)isp (M)ode.

> `ielm' might be a good file name prefix, if this had multiple files.
> A prefix needs to be short.  But the package should have a natural
> name for users.

It seems likely that those who go looking for an Emacs Lisp REPL might try
M-x repl -- perhaps a defalias is in order.

Josh



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  1:43                   ` Ted Zlatanov
  2013-07-04  1:58                     ` chad
  2013-07-04  3:16                     ` Drew Adams
@ 2013-07-04 23:36                     ` Richard Stallman
  2013-07-05  2:19                       ` Jambunathan K
  2 siblings, 1 reply; 110+ messages in thread
From: Richard Stallman @ 2013-07-04 23:36 UTC (permalink / raw)
  To: emacs-devel; +Cc: emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    I think the package author should decide this.

The Emacs developers should decide this.

Emacs is meant to be a coherent useful program -- not a platform
for various people to publish packages.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  1:58                     ` chad
  2013-07-04  5:11                       ` Stephen J. Turnbull
@ 2013-07-04 23:36                       ` Richard Stallman
  1 sibling, 0 replies; 110+ messages in thread
From: Richard Stallman @ 2013-07-04 23:36 UTC (permalink / raw)
  To: chad; +Cc: emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    Unencoded full URL's cannot be valid filenames under the vast
    majority of filesystems, including GNU/Linux and macosx.

http://gnu.org/index.html is a valid file name.  In Emacs, it is
equivalent to /gnu.org/index.html.

That name probably does not exist, but it is valid.
Nothing stops you from creating that file on your machine
if you have root access.

  mkdir /gnu.org
  touch /gnu.org/index.html

It is a problem to block access to that file if it exists.

I think this problem can be solved.  My point is that we need
to solve it, not ignore it.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  3:44                 ` Katsumi Yamaoka
  2013-07-04  4:10                   ` Jambunathan K
@ 2013-07-04 23:36                   ` Richard Stallman
  1 sibling, 0 replies; 110+ messages in thread
From: Richard Stallman @ 2013-07-04 23:36 UTC (permalink / raw)
  To: Katsumi Yamaoka; +Cc: emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    And what is more surprising, the functionality is sealed.

What does "sealed" mean?  The only meaning I can imagine
is that users can't change it.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 19:15                   ` Pascal J. Bourguignon
  2013-07-04 21:08                     ` Mathias Dahl
  2013-07-04 22:41                     ` Xue Fuqiao
@ 2013-07-04 23:40                     ` Glenn Morris
  2013-07-05  1:14                       ` Juanma Barranquero
  2013-07-05  0:04                     ` Juri Linkov
  2013-07-05 17:19                     ` Richard Stallman
  4 siblings, 1 reply; 110+ messages in thread
From: Glenn Morris @ 2013-07-04 23:40 UTC (permalink / raw)
  To: emacs-devel

"Pascal J. Bourguignon" wrote:

> Let's just have a configuration module that let map user interface
> commands to the selected package.
>
> M-x mail --> vm, gnus, mew, or whatever.
> M-x news --> gnus or something else.
> M-x web --> w3m, www, eww or whatever.
> M-x elisp -> ielm or *scratch*

Which is exactly the sensible suggestion that Stefan made some days ago.

http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg01427.html

If someone would like to actually DO this, that would be useful.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 22:41                     ` Xue Fuqiao
@ 2013-07-04 23:45                       ` Juri Linkov
  2013-07-05 23:41                         ` Xue Fuqiao
  0 siblings, 1 reply; 110+ messages in thread
From: Juri Linkov @ 2013-07-04 23:45 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: Pascal J. Bourguignon, emacs-devel

>> It's not the same kind of interaction.  ielm simulates an "interactive"
>> REPL, like other lisps or shells.  Even slime has both kinds of
>> interactions available, the *scratch* like, and the repl one.
>>
>> Also, compare the results:
>>
>> (+ 1 2) C-u C-x C-e (+ 3 4) C-u C-x C-e (or perhaps with C-j) in *scratch* displays:
>>
>>     (+ 1 2)3 (#o3, #x3, ?\C-c) (+ 3 4)7
>
> What does the "(#o3, #x3, ?\C-c)" mean?  I can't see it in my *scratch*
> buffer.

"(#o3, #x3, ?\C-c)" should not be inserted to the *scratch* buffer
unless it is prefixed by `C-u'.  This should be fixed by the patch in
bug#12985 that will insert "(#o3, #x3, ?\C-c)" only to the ielm buffer,
and not to the *scratch* buffer.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 19:15                   ` Pascal J. Bourguignon
                                       ` (2 preceding siblings ...)
  2013-07-04 23:40                     ` Glenn Morris
@ 2013-07-05  0:04                     ` Juri Linkov
  2013-07-05  5:37                       ` Pascal J. Bourguignon
  2013-07-05 17:19                     ` Richard Stallman
  4 siblings, 1 reply; 110+ messages in thread
From: Juri Linkov @ 2013-07-05  0:04 UTC (permalink / raw)
  To: Pascal J. Bourguignon; +Cc: emacs-devel

> Let's just have a configuration module that let map user interface
> commands to the selected package.
>
> M-x mail --> vm, gnus, mew, or whatever.
> M-x news --> gnus or something else.
> M-x web --> w3m, www, eww or whatever.
> M-x elisp -> ielm or *scratch*

Maybe something like

(defcustom browse-web-function 'eww
  "Function to start WWW browsing."
  :type '(choice
	  (function-item :tag "eww" :value eww)
          ...))

(defun browse-web (url)
  (interactive "sEnter URL or keywords: ")
  (funcall browse-web-function url))

Then external packages could register themselves by adding more alternatives
to this user option by calling at the end of e.g. the w3m package:

  (custom-add-option 'browse-web-function '(function-item :tag "w3m" :value w3m))



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 23:40                     ` Glenn Morris
@ 2013-07-05  1:14                       ` Juanma Barranquero
  2013-07-05 10:23                         ` Stefan Monnier
  0 siblings, 1 reply; 110+ messages in thread
From: Juanma Barranquero @ 2013-07-05  1:14 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Emacs developers

On Fri, Jul 5, 2013 at 1:40 AM, Glenn Morris <rgm@gnu.org> wrote:

> If someone would like to actually DO this, that would be useful.

(defgroup dispatcher nil
  "Generic dispatcher")

(defmacro def-dispatcher (command)
  (let* ((commandn (symbol-name command))
         (varaltn (concat commandn "-alternatives"))
         (varalts (intern varaltn))
         (varimps (intern (concat commandn "-implementation"))))
    `(progn

       (defcustom ,varalts nil
         ,(format "Alist of alternative implementations for the `%s' command.

Each entry must be a pair (ALTNAME . ALTFUN), where:
ALTNAME - The name shown at user to describe the alternative implementation.
ALTFUN  - The function called to implement this alternative."
                  commandn)
         :type '(alist :key-type string :value-type function))

       (defcustom ,varimps nil "Internal use only.")

       (defun ,command (&optional arg)
         ,(format "Run the generic command `%s'.
If used for the first time, or with interactive ARG, ask the user
which implementation to use for `%s'.  The variable `%s'
contains the list of implementations currently supported for this command."
                  commandn commandn varaltn)
         (interactive "P")
         (when (or arg (null ,varimps))
           (let ((val (completing-read
                       ,(format "Select implementation for command
`%s': " commandn)
                       ,varalts nil t)))
             (unless (string-equal val "")
               (customize-save-variable ',varimps (cdr (assoc-string
val ,varalts))))))
         (if ,varimps
             (funcall ,varimps)
           (message ,(format "No implementation selected for commmand
`%s'" commandn)))))))



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 23:36                     ` Richard Stallman
@ 2013-07-05  2:19                       ` Jambunathan K
  0 siblings, 0 replies; 110+ messages in thread
From: Jambunathan K @ 2013-07-05  2:19 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

Richard Stallman <rms@gnu.org> writes:

> The Emacs developers should decide this.

Hmm! "Emacs developers", I don't understand what the term means.  By
this you mean people who are paid by or contracted by FSF to work on
Emacs.  Does this deliberately exclude people who aren't the control of
FSF but who nevertheless share useful packages.

> Emacs is meant to be a coherent useful program -- not a platform
> for various people to publish packages.

Eww is a useful program.  You group Lars under various people.  I find
it a bit redeeming.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 21:08                     ` Mathias Dahl
  2013-07-04 21:58                       ` Drew Adams
@ 2013-07-05  2:50                       ` Jambunathan K
  1 sibling, 0 replies; 110+ messages in thread
From: Jambunathan K @ 2013-07-05  2:50 UTC (permalink / raw)
  To: Mathias Dahl; +Cc: emacs-devel


> I felt... something (a small disturbance in the force, maybe)... when
> the name change came up.

> And, I see now, the name "tumme" is still there in the form of an
> alias for one of the commands in the package.

Retaining "tumme" as a command is a good and smart gesture on the part
of whoever took that decision.  

I am happy that aliasing route has gained lots of traction and that some
traces of "eww" will remain.  Who knows the non-sensical sounding "eww"
could have some meaning in Norsk (or whatever)

> So, that was my little insignificant story...

What if tumme had been erased altogether? Would you be here to tell the
story?

ps: Question in last para is rhetorical, btw.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 14:28                     ` Katsumi Yamaoka
  2013-07-04 15:08                       ` Stephen Berman
@ 2013-07-05  3:04                       ` Jambunathan K
  1 sibling, 0 replies; 110+ messages in thread
From: Jambunathan K @ 2013-07-05  3:04 UTC (permalink / raw)
  To: Katsumi Yamaoka; +Cc: emacs-devel

Katsumi Yamaoka <yamaoka@jpl.org> writes:

> Jambunathan K <kjambunathan@gmail.com> wrote:
>> Katsumi Yamaoka <yamaoka@jpl.org> writes:
>
>>>> emacs -Q -f url-handler-mode
>>>> C-x C-f ftp://ftp.gnu.org
>>>> C-x C-f http://www.gnu.org
>
>>> Oh, I didn't know it.
>>> And what is more surprising, the functionality is sealed.
>
> I meant both end up with the "Unimplemented" error (on Cygwin).
> Though I haven't yet investigated why it's so, I confirmed Emacs
> on Linux behaves like Jambunathan said.

Did you press TAB habitually 

Or 

Most likely it is the ido-mode (or icomplete-mode) doing an eager
expansion.

,----
|  ** ./url/url-handlers.el:314:  (error "Unimplemented"))
|  ** ./url/url-handlers.el:318:  (error "Unimplemented"))
`----

,----
| Error in post-command-hook (#[nil "\301\302\303!)\207" [non-essential
| t run-hooks icomplete-post-command-hook] 2]): (error "Unimplemented")
`----

>
>> emacs -Q
>> C-x C-f http://www.gnu.org
>
>> I see the HTML code verbatim.  The buffer is on Org mode.  (This is a
>> buglet).  ISTM the magic glue to render - I used shr-render-buffer - is
>> missing.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04  4:48                     ` Stephen J. Turnbull
@ 2013-07-05  3:23                       ` Jambunathan K
  0 siblings, 0 replies; 110+ messages in thread
From: Jambunathan K @ 2013-07-05  3:23 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: emacs-devel

"Stephen J. Turnbull" <turnbull@sk.tsukuba.ac.jp> writes:

> Jambunathan K writes:
>
>  > emacs -Q
>  > C-x C-f http://www.gnu.org
>  > 
>  > I see the HTML code verbatim.  The buffer is on Org mode.  (This is a
>  > buglet).
>
> Really?  I thought org-mode was the mode-to-end-all-modes? ;-)

It is a mode that uses all other modes, but puts or gives it's own name.
That would mean either assimilation or appropriation.  I wouldn't get
there :-)

>  WebDAV

Don't forget the Wikis.  It will be awesome, if I could just 


        C-x C-f http://www.emacswiki.org/emacs/EmacsNiftyTricks
        C-x C-s

and let the URL handler - I believe it uses the same "file interface" as
TRAMP does - do the right thing in the background.

----------------------------------------------------------------

There has been some discussion surrounding saving (auto-?), killing
notes buffers.  Now the Notes buffers need not be local buffers.  It
could be a buffer that will be eventually saved via a POST to a wiki
backend.

So plugging in URL handling to a standard "interface" for file handling
could have it's benefits when it comes to autosaving, taking backups
etc. 





^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05  0:04                     ` Juri Linkov
@ 2013-07-05  5:37                       ` Pascal J. Bourguignon
  0 siblings, 0 replies; 110+ messages in thread
From: Pascal J. Bourguignon @ 2013-07-05  5:37 UTC (permalink / raw)
  To: Juri Linkov; +Cc: emacs-devel@gnu.org




On 05/07/2013, at 02:04, Juri Linkov <juri@jurta.org> wrote:

>> Let's just have a configuration module that let map user interface
>> commands to the selected package.
>> 
>> M-x mail --> vm, gnus, mew, or whatever.
>> M-x news --> gnus or something else.
>> M-x web --> w3m, www, eww or whatever.
>> M-x elisp -> ielm or *scratch*
> 
> Maybe something like
> 
> (defcustom browse-web-function 'eww
>  "Function to start WWW browsing."
>  :type '(choice
>      (function-item :tag "eww" :value eww)
>          ...))
> 
> (defun browse-web (url)
>  (interactive "sEnter URL or keywords: ")
>  (funcall browse-web-function url))
> 
> Then external packages could register themselves by adding more alternatives
> to this user option by calling at the end of e.g. the w3m package:
> 
>  (custom-add-option 'browse-web-function '(function-item :tag "w3m" :value w3m))


Indeed, for browse-url, there's already something in place.  I'm suggesting it could be generalized, by defining generic user interface commands for several applications.

-- 
__Pascal Bourguignon__


^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05  1:14                       ` Juanma Barranquero
@ 2013-07-05 10:23                         ` Stefan Monnier
  2013-07-05 11:50                           ` Juanma Barranquero
  0 siblings, 1 reply; 110+ messages in thread
From: Stefan Monnier @ 2013-07-05 10:23 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Emacs developers

> (defmacro def-dispatcher (command)

I'd use "define-" rather than "def" (and I'd keep "dispatcher-" as the
prefix).

Looks good (tho obviously, we still need to actually use it to define
entry points).


        Stefan



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 15:04                       ` Ted Zlatanov
@ 2013-07-05 11:02                         ` Stefan Monnier
  2013-07-05 18:03                           ` Ted Zlatanov
  0 siblings, 1 reply; 110+ messages in thread
From: Stefan Monnier @ 2013-07-05 11:02 UTC (permalink / raw)
  To: emacs-devel

> So I think it makes sense to go straight to `eww' for that case: opening
> a URL with `C-x C-f'.  Like I said, it's DWIMmery.  There will be a
> small percentage of users unhappy with it, who will want to just view
> the file, and we should make that easy (I guessed `find-file-literally'
> incorrectly but it can be something simple to set in `url-handler-mode'
> defcustoms).  The key thing is that there are no command names to
> discover--opening a URL Just Works.

I currently use C-x C-f with url-handler-mode on a regular basis to open
PDF, tarballs, and Elisp files.  Sometime it gets it wrong because it
only uses the URL name rather than the content-type metadata to choose
the major mode, but want to make sure this keeps working.

But I don't see any reason why this should collide with using eww in
other cases: eww can't do anything particularly useful with PDF,
tarballs and Elisp code anyway.

> GM> emacs -Q -f url-handler-mode
> GM> C-x C-f ftp://ftp.gnu.org
> GM> C-x C-f http://www.gnu.org
> Yup.  The necessary changes to make this usable IMHO are:
> 1) make it call `eww' by default and provide for a way to instead look
> at file contents (current behavior, right?)

Why would you want to use eww for all URLs, since it only handles HTML
in a useful way, AFAIU?

> 2) enable `url-handler-mode' by default

Fine by me (BTW, I've been using the hack below to ape completion
on http URLs).


        Stefan


Using submit branch file:///home/monnier/src/emacs/bzr/trunk/
=== modified file 'lisp/url/url-handlers.el'
--- lisp/url/url-handlers.el	2013-05-22 07:30:44 +0000
+++ lisp/url/url-handlers.el	2013-05-24 19:52:40 +0000
@@ -311,11 +311,45 @@
 (put 'insert-file-contents 'url-file-handlers 'url-insert-file-contents)
 
 (defun url-file-name-completion (url directory &optional predicate)
-  (error "Unimplemented"))
+  (let ((all (url-file-name-all-completions url directory)))
+    (if (null all)
+        ;; If `url' is the empty string, don't return nil, so as to prevent
+        ;; partial-completion from recursing into the parent directory.
+        (if (equal url "") url)
+      (try-completion url all predicate))))
 (put 'file-name-completion 'url-file-handlers 'url-file-name-completion)
 
 (defun url-file-name-all-completions (file directory)
-  (error "Unimplemented"))
+  ;; FIXME: Cache the "directory" buffers between completion requests.
+  (let ((buf (get-file-buffer directory)))
+    (unless buf
+      (setq buf (ignore-errors (find-file-noselect directory)))
+      (when buf
+        (with-current-buffer buf
+          (set (make-local-variable 'url-handler-temp-buf) t))))
+    (when buf
+      (unwind-protect
+          (with-current-buffer buf
+            (save-excursion
+              (let ((all ())
+                    (case-fold-search t)
+                    ;; FIXME: Handle URL-quoting.
+                    (regexp (format "<a href=\"\\(%s[^\"]+\\)\"" file)))
+                (goto-char (point-min))
+                (while (re-search-forward regexp nil t)
+                  (let ((url (match-string 1)))
+                    (unless (string-match
+                             "\\`\\(?:\\.\\.\\|[#?/]\\|[-a-z]+:/\\)\\|" url)
+                      ;; It's a relative URL.
+                      (when (string-match "[#?]\\|/\\(.\\)" url)
+                        (setq url (substring url (or (match-beginning 1)
+                                                     (match-beginning 0)))))
+                      ;; FIXME: Handle URL-unquoting.
+                      (push url all))))
+                all)))
+        (and (buffer-live-p buf)
+             (buffer-local-value 'url-handler-temp-buf buf)
+             (kill-buffer buf))))))
 (put 'file-name-all-completions
      'url-file-handlers 'url-file-name-all-completions)
 




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 10:23                         ` Stefan Monnier
@ 2013-07-05 11:50                           ` Juanma Barranquero
  2013-07-05 12:59                             ` Juanma Barranquero
                                               ` (2 more replies)
  0 siblings, 3 replies; 110+ messages in thread
From: Juanma Barranquero @ 2013-07-05 11:50 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs developers

On Fri, Jul 5, 2013 at 12:23 PM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:

> I'd use "define-" rather than "def"

OK.

> (and I'd keep "dispatcher-" as the prefix).

For the variables, I suppose.

> Looks good (tho obviously, we still need to actually use it to define
> entry points).

Defining entry points is as easy as

;;;###autoload
(define-dispatcher browse)

etc. Where would they go? In dispatcher.el?

As for pushing values to dispatcher-*-alternatives, that's something
for the different packages to do.

   J



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 11:50                           ` Juanma Barranquero
@ 2013-07-05 12:59                             ` Juanma Barranquero
  2013-07-05 22:38                             ` Stefan Monnier
  2013-07-05 23:29                             ` Juri Linkov
  2 siblings, 0 replies; 110+ messages in thread
From: Juanma Barranquero @ 2013-07-05 12:59 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs developers

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

;;; dispatcher.el --- generic command dispatcher  -*- lexical-binding: t -*-

;; Copyright (C) 2013 Free Software Foundation, Inc.

;; Author: Juanma Barranquero <lekktu@gmail.com>
;; Maintainer: FSF
;; Keywords:

;; This file is part of GNU Emacs.

;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.

;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

;;; Commentary:

;; Defines a new macro `define-dispatcher' to create generic commands.
;; Generic commands are ones (like web, mail, news, encrypt, irc, etc.)
;; that can have different alternative implementations where choosing
;; among them is exclusively a matter of user preference.

;; (define-dispatcher COMMAND) creates a new interactive command
;; M-x COMMAND and a customizable variable dispatcher-COMMAND-alternatives.
;; Typically, the user will not need to customize this variable; packages
;; wanting to add alternative implementations should use
;;
;; ;;;###autoload (push '("My impl name" . my-impl-symbol)
dispatcher-COMMAND-alternatives


;;; Code:

(defgroup dispatcher nil
  "Generic dispatcher"
  :group 'applications)

(defmacro define-dispatcher (command &rest customizations)
  "Define new command `COMMAND'.
The variable `dispatcher-COMMAND-alternatives' will contain
alternative implementations of COMMAND, so that running
`C-u M-x COMMAND' will allow the user to chose among them.
CUSTOMIZATIONS, if non-nil, should be composed of alternating
`defcustom' keywords and values to add to the declaration of
`dispatcher-COMMAND-alternatives' (typically to add new groups)."
  (let* ((command-name (symbol-name command))
         (varalt-name (concat "dispatcher-" command-name "-alternatives"))
         (varalt-sym (intern varalt-name))
         (varimp-sym (intern (concat "dispatcher--" command-name
"-implementation"))))
    `(progn

       (defcustom ,varalt-sym nil
         ,(format "Alist of alternative implementations for the `%s' command.

Each entry must be a pair (ALTNAME . ALTFUN), where:
ALTNAME - The name shown at user to describe the alternative implementation.
ALTFUN  - The function called to implement this alternative."
                  command-name)
         :type '(alist :key-type string :value-type function)
         :group 'dispatcher
         ,@customizations)

       (defvar ,varimp-sym nil "Internal use only.")

       (defun ,command (&optional arg)
         ,(format "Run generic command `%s'.
If used for the first time, or with interactive ARG, ask the user which
implementation to use for `%s'.  The variable `%s'
contains the list of implementations currently supported for this command."
                  command-name command-name varalt-name)
         (interactive "P")
         (when (or arg (null ,varimp-sym))
           (let ((val (completing-read
                       ,(format "Select implementation for command
`%s': " command-name)
                       ,varalt-sym nil t)))
             (unless (string-equal val "")
               (customize-save-variable ',varimp-sym
                                        (cdr (assoc-string val ,varalt-sym))))))
         (if ,varimp-sym
             (funcall ,varimp-sym)
           (message ,(format "No implementation selected for commmand `%s'"
                             command-name)))))))

(provide 'dispatcher)

;;; dispatcher.el ends here

[-- Attachment #2: dispatcher.el --]
[-- Type: application/octet-stream, Size: 3943 bytes --]

;;; dispatcher.el --- generic command dispatcher  -*- lexical-binding: t -*-

;; Copyright (C) 2013 Free Software Foundation, Inc.

;; Author: Juanma Barranquero <lekktu@gmail.com>
;; Maintainer: FSF
;; Keywords:

;; This file is part of GNU Emacs.

;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.

;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

;;; Commentary:

;; Defines a new macro `define-dispatcher' to create generic commands.
;; Generic commands are ones (like web, mail, news, encrypt, irc, etc.)
;; that can have different alternative implementations where choosing
;; among them is exclusively a matter of user preference.

;; (define-dispatcher COMMAND) creates a new interactive command
;; M-x COMMAND and a customizable variable dispatcher-COMMAND-alternatives.
;; Typically, the user will not need to customize this variable; packages
;; wanting to add alternative implementations should use
;;
;; ;;;###autoload (push '("My impl name" . my-impl-symbol) dispatcher-COMMAND-alternatives


;;; Code:

(defgroup dispatcher nil
  "Generic dispatcher"
  :group 'applications)

(defmacro define-dispatcher (command &rest customizations)
  "Define new command `COMMAND'.
The variable `dispatcher-COMMAND-alternatives' will contain
alternative implementations of COMMAND, so that running
`C-u M-x COMMAND' will allow the user to chose among them.
CUSTOMIZATIONS, if non-nil, should be composed of alternating
`defcustom' keywords and values to add to the declaration of
`dispatcher-COMMAND-alternatives' (typically to add new groups)."
  (let* ((command-name (symbol-name command))
         (varalt-name (concat "dispatcher-" command-name "-alternatives"))
         (varalt-sym (intern varalt-name))
         (varimp-sym (intern (concat "dispatcher--" command-name "-implementation"))))
    `(progn

       (defcustom ,varalt-sym nil
         ,(format "Alist of alternative implementations for the `%s' command.

Each entry must be a pair (ALTNAME . ALTFUN), where:
ALTNAME - The name shown at user to describe the alternative implementation.
ALTFUN  - The function called to implement this alternative."
                  command-name)
         :type '(alist :key-type string :value-type function)
         :group 'dispatcher
         ,@customizations)

       (defvar ,varimp-sym nil "Internal use only.")

       (defun ,command (&optional arg)
         ,(format "Run generic command `%s'.
If used for the first time, or with interactive ARG, ask the user which
implementation to use for `%s'.  The variable `%s'
contains the list of implementations currently supported for this command."
                  command-name command-name varalt-name)
         (interactive "P")
         (when (or arg (null ,varimp-sym))
           (let ((val (completing-read
                       ,(format "Select implementation for command `%s': " command-name)
                       ,varalt-sym nil t)))
             (unless (string-equal val "")
               (customize-save-variable ',varimp-sym
                                        (cdr (assoc-string val ,varalt-sym))))))
         (if ,varimp-sym
             (funcall ,varimp-sym)
           (message ,(format "No implementation selected for commmand `%s'"
                             command-name)))))))

(provide 'dispatcher)

;;; dispatcher.el ends here

^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 19:15                   ` Pascal J. Bourguignon
                                       ` (3 preceding siblings ...)
  2013-07-05  0:04                     ` Juri Linkov
@ 2013-07-05 17:19                     ` Richard Stallman
  2013-07-07  0:24                       ` Pascal J. Bourguignon
  4 siblings, 1 reply; 110+ messages in thread
From: Richard Stallman @ 2013-07-05 17:19 UTC (permalink / raw)
  To: Pascal J. Bourguignon; +Cc: emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    It's not the same kind of interaction.  ielm simulates an "interactive"
    REPL, like other lisps or shells.

That doesn't enlighten me -- I would say *scratch*, using C-j to end
an expression, is "interactive".

Evaluation with C-j does not display the character equivalent
of a number.

The only two differences I see in ielm are (1) use of RET instead of
C-j, and (2) a prompt.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 22:53                   ` Josh
@ 2013-07-05 17:20                     ` Richard Stallman
  0 siblings, 0 replies; 110+ messages in thread
From: Richard Stallman @ 2013-07-05 17:20 UTC (permalink / raw)
  To: Josh; +Cc: theophilusx, emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

    >     Years ago, I had a real problem remembering M-x ielm. Because I only used
    >     this command occasionally, I was never able to remember it.

    I had the same problem for a long time until finally I read that it stands for
    (I)nteractive (E)macs (L)isp (M)ode.

I don't think that mnemonic will help me remember, the next time I see
the name "IELM", what it means.  It will probably be a year from now
and I will have had plenty of chance to forget.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 11:02                         ` Stefan Monnier
@ 2013-07-05 18:03                           ` Ted Zlatanov
  2013-07-06  0:14                             ` Stefan Monnier
  0 siblings, 1 reply; 110+ messages in thread
From: Ted Zlatanov @ 2013-07-05 18:03 UTC (permalink / raw)
  To: emacs-devel

On Fri, 05 Jul 2013 07:02:18 -0400 Stefan Monnier <monnier@IRO.UMontreal.CA> wrote: 

>> So I think it makes sense to go straight to `eww' for that case: opening
>> a URL with `C-x C-f'.  Like I said, it's DWIMmery.  There will be a
>> small percentage of users unhappy with it, who will want to just view
>> the file, and we should make that easy (I guessed `find-file-literally'
>> incorrectly but it can be something simple to set in `url-handler-mode'
>> defcustoms).  The key thing is that there are no command names to
>> discover--opening a URL Just Works.

SM> I currently use C-x C-f with url-handler-mode on a regular basis to open
SM> PDF, tarballs, and Elisp files.  Sometime it gets it wrong because it
SM> only uses the URL name rather than the content-type metadata to choose
SM> the major mode, but want to make sure this keeps working.

So `eww' should pass data to the registered handler for that
MIME type, like most web browsers?  I think that's sensible and would
simply shift the dispatch responsibility.

SM> But I don't see any reason why this should collide with using eww in
SM> other cases: eww can't do anything particularly useful with PDF,
SM> tarballs and Elisp code anyway.

OK.  IOW, `eww' and web browsers in general are supposed to be
navigators between content, while the content itself is rendered by
either a HTML/CSS/etc display engine (`eww' uses `shr') or passed off to
an external handler.  So I think this is a manageable problem, if we
simply say Emacs is the fallback handler for any content `eww' doesn't
handle, and provide a way in `eww' to pass the content off to Emacs.

GM> emacs -Q -f url-handler-mode
GM> C-x C-f ftp://ftp.gnu.org
GM> C-x C-f http://www.gnu.org
>> Yup.  The necessary changes to make this usable IMHO are:
>> 1) make it call `eww' by default and provide for a way to instead look
>> at file contents (current behavior, right?)

SM> Why would you want to use eww for all URLs, since it only handles HTML
SM> in a useful way, AFAIU?

`eww' browses the URL, then decides how it should be rendered or
downloaded.  You don't know the type of the URL until you retrieve it,
so a generic dispatcher/navigator like `eww' is your best bet.

I don't care too much about the dispatcher, though, so it's OK with me
if Emacs is the default dispatcher (the current status) and we make it
easy to make `eww' the default instead.  Perhaps with Juanma's
dispatcher.el.

>> 2) enable `url-handler-mode' by default

SM> Fine by me

Cool!  Any objections to enabling it by default from anyone else?

SM> (BTW, I've been using the hack below to ape completion on http
SM> URLs).

Nice.  I'm not sure if it should be a package or a built-in feature, but
it probably needs more discussion.

Ted




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 11:50                           ` Juanma Barranquero
  2013-07-05 12:59                             ` Juanma Barranquero
@ 2013-07-05 22:38                             ` Stefan Monnier
  2013-07-05 23:37                               ` Juanma Barranquero
  2013-07-05 23:29                             ` Juri Linkov
  2 siblings, 1 reply; 110+ messages in thread
From: Stefan Monnier @ 2013-07-05 22:38 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Emacs developers

>> I'd use "define-" rather than "def"
> OK.
>> (and I'd keep "dispatcher-" as the prefix).
> For the variables, I suppose.

I really meant it for "define-dispatcher" (i.e. for "dispatcher-define").

>> Looks good (tho obviously, we still need to actually use it to define
>> entry points).

> Defining entry points is as easy as

> ;;;###autoload
> (define-dispatcher browse)

Right.

> etc. Where would they go? In dispatcher.el?

Either that or in simple.el.

> As for pushing values to dispatcher-*-alternatives, that's something
> for the different packages to do.

That's right.


        Stefan



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 11:50                           ` Juanma Barranquero
  2013-07-05 12:59                             ` Juanma Barranquero
  2013-07-05 22:38                             ` Stefan Monnier
@ 2013-07-05 23:29                             ` Juri Linkov
  2013-07-05 23:43                               ` Juanma Barranquero
  2 siblings, 1 reply; 110+ messages in thread
From: Juri Linkov @ 2013-07-05 23:29 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Stefan Monnier, Emacs developers

> Defining entry points is as easy as
>
> ;;;###autoload
> (define-dispatcher browse)
>
> etc. Where would they go? In dispatcher.el?

`dispatcher' is a too technical term.  A more user-friendly term would be
`alternatives' like you can see on GNU/Linux in /etc/alternatives/ that
can be customized with such commands:

  update-alternatives --config x-www-browser
  update-alternatives --config gnome-www-browser

Using similar names like `alternatives-define' and more specific
`www-browser-alternatives' or `browse-web-alternatives'
would be more familiar to the users of GNU/Linux.

IOW, you took the subject of http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg01427.html
too literally.  There is no word "dispatcher" anywhere in command and variables
proposed by Stefan in this message.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 22:38                             ` Stefan Monnier
@ 2013-07-05 23:37                               ` Juanma Barranquero
  2013-07-06  0:44                                 ` Stefan Monnier
  0 siblings, 1 reply; 110+ messages in thread
From: Juanma Barranquero @ 2013-07-05 23:37 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs developers

On Sat, Jul 6, 2013 at 12:38 AM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:

> I really meant it for "define-dispatcher" (i.e. for "dispatcher-define").

Oh. OK.

> Either that or in simple.el.

Well, if we install this code, someone else can add these
dispatcher-define calls for the agreed upon generic commands.


As for this dispatcher-define, two questions:

- Do you want installed?
- If so, in its own dispatcher.el, or as part of an existing package?

   J



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 23:45                       ` Juri Linkov
@ 2013-07-05 23:41                         ` Xue Fuqiao
  2013-07-05 23:59                           ` Juri Linkov
  0 siblings, 1 reply; 110+ messages in thread
From: Xue Fuqiao @ 2013-07-05 23:41 UTC (permalink / raw)
  To: Juri Linkov; +Cc: emacs-devel

On Fri, Jul 5, 2013 at 7:45 AM, Juri Linkov <juri@jurta.org> wrote:
>>> It's not the same kind of interaction.  ielm simulates an "interactive"
>>> REPL, like other lisps or shells.  Even slime has both kinds of
>>> interactions available, the *scratch* like, and the repl one.
>>>
>>> Also, compare the results:
>>>
>>> (+ 1 2) C-u C-x C-e (+ 3 4) C-u C-x C-e (or perhaps with C-j) in *scratch* displays:
>>>
>>>     (+ 1 2)3 (#o3, #x3, ?\C-c) (+ 3 4)7
>>
>> What does the "(#o3, #x3, ?\C-c)" mean?  I can't see it in my *scratch*
>> buffer.
>
> "(#o3, #x3, ?\C-c)" should not be inserted to the *scratch* buffer
> unless it is prefixed by `C-u'.  This should be fixed by the patch in
> bug#12985 that will insert "(#o3, #x3, ?\C-c)" only to the ielm buffer,
> and not to the *scratch* buffer.

Thanks, but I still can't see it (with or without prefix argument, in
*scratch* or in *ielm*).  I'm using r113216 (trunk in 2013-6-29).

I just see:

  (+ 1 2)3 (+ 3 4)7  ; in *scratch*

and:

ELISP> (+ 1 2)
3
ELISP> (+ 3 4)
7

and:

ELISP> (+ 1 2)3 (+ 3 4)7  ; C-u C-x C-e here

--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 23:29                             ` Juri Linkov
@ 2013-07-05 23:43                               ` Juanma Barranquero
  2013-07-05 23:55                                 ` Juri Linkov
  2013-07-06  0:42                                 ` Stefan Monnier
  0 siblings, 2 replies; 110+ messages in thread
From: Juanma Barranquero @ 2013-07-05 23:43 UTC (permalink / raw)
  To: Juri Linkov; +Cc: Stefan Monnier, Emacs developers

On Sat, Jul 6, 2013 at 1:29 AM, Juri Linkov <juri@jurta.org> wrote:

> `dispatcher' is a too technical term.  A more user-friendly term would be
> `alternatives' like you can see on GNU/Linux in /etc/alternatives/ that
> can be customized with such commands:
>
>   update-alternatives --config x-www-browser
>   update-alternatives --config gnome-www-browser

IIUC, you're proposing that the macro be called "alternatives-define".

> Using similar names like `alternatives-define' and more specific
> `www-browser-alternatives' or `browse-web-alternatives'
> would be more familiar to the users of GNU/Linux.

I don't understand in which context would "www-browser-alternatives"
or "browse-web-alternatives" be used. For which commands are these
options? www-browser and/or browse-web?

> IOW, you took the subject of http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg01427.html
> too literally.  There is no word "dispatcher" anywhere in command and variables
> proposed by Stefan in this message.

I'm low on bikesheding. I choose one name knowing full well someone
would complain. I don't have any preference. Your proposal suits me as
well as any other. Now, if someone else has a different proposal,
let's hear it, please.

    J



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 23:43                               ` Juanma Barranquero
@ 2013-07-05 23:55                                 ` Juri Linkov
  2013-07-06  0:11                                   ` Juanma Barranquero
  2013-07-06  0:42                                 ` Stefan Monnier
  1 sibling, 1 reply; 110+ messages in thread
From: Juri Linkov @ 2013-07-05 23:55 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Stefan Monnier, Emacs developers

>> `dispatcher' is a too technical term.  A more user-friendly term would be
>> `alternatives' like you can see on GNU/Linux in /etc/alternatives/ that
>> can be customized with such commands:
>>
>>   update-alternatives --config x-www-browser
>>   update-alternatives --config gnome-www-browser
>
> IIUC, you're proposing that the macro be called "alternatives-define".

I don't know whether `alternatives-define' or `define-alternatives',
but something without "dispatch" in its name.

> I don't understand in which context would "www-browser-alternatives"
> or "browse-web-alternatives" be used. For which commands are these
> options? www-browser and/or browse-web?

If the command name is `browse-web' then the user option
`browse-web-alternatives' could define alternatives for this command.

This is like what the command `browse-url' already provides
where you can customize `browse-url-browser-function'.

But it seems that there is a need for two separate commands
`browse-url' and `browse-web' where `browse-url' is used to visit
a link from the buffer in a preferably external browser,
and `browse-web' to start browsing the Web in a native Emacs browser.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 23:41                         ` Xue Fuqiao
@ 2013-07-05 23:59                           ` Juri Linkov
  2013-07-06  3:26                             ` Xue Fuqiao
  0 siblings, 1 reply; 110+ messages in thread
From: Juri Linkov @ 2013-07-05 23:59 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: emacs-devel

>>> What does the "(#o3, #x3, ?\C-c)" mean?  I can't see it in my *scratch*
>>> buffer.
>>
>> "(#o3, #x3, ?\C-c)" should not be inserted to the *scratch* buffer
>> unless it is prefixed by `C-u'.  This should be fixed by the patch in
>> bug#12985 that will insert "(#o3, #x3, ?\C-c)" only to the ielm buffer,
>> and not to the *scratch* buffer.
>
> Thanks, but I still can't see it (with or without prefix argument, in
> *scratch* or in *ielm*).  I'm using r113216 (trunk in 2013-6-29).
>
> I just see:
>
>   (+ 1 2)3 (+ 3 4)7  ; in *scratch*
>
> and:
>
> ELISP> (+ 1 2)
> 3
> ELISP> (+ 3 4)
> 7
>
> and:
>
> ELISP> (+ 1 2)3 (+ 3 4)7  ; C-u C-x C-e here

There is an obscure feature that typing `C-x C-e' twice displays
full information in the echo area, and typing `C-u C-x C-e' twice
inserts full information to the *scratch* buffer.

bug#12985 proposes to fix this (mis-)feature to insert full information
to the *scratch* buffer only when you type the C-u arg, i.e. `C-u C-x C-e',
and always display full information in the each area and in ielm.



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 23:55                                 ` Juri Linkov
@ 2013-07-06  0:11                                   ` Juanma Barranquero
  0 siblings, 0 replies; 110+ messages in thread
From: Juanma Barranquero @ 2013-07-06  0:11 UTC (permalink / raw)
  To: Juri Linkov; +Cc: Stefan Monnier, Emacs developers

On Sat, Jul 6, 2013 at 1:55 AM, Juri Linkov <juri@jurta.org> wrote:

> I don't know whether `alternatives-define' or `define-alternatives',
> but something without "dispatch" in its name.

If it is in its own package alternatives.el, then alternatives-define.
If we add this as a new command in some other package,
define-alternatives is fine.

> If the command name is `browse-web' then the user option
> `browse-web-alternatives' could define alternatives for this command.

Currently, it would be dispatcher-browse-web-alternatives.
browse-web-alternatives is OK, though we lose the common prefix.

> But it seems that there is a need for two separate commands
> `browse-url' and `browse-web' where `browse-url' is used to visit
> a link from the buffer in a preferably external browser,
> and `browse-web' to start browsing the Web in a native Emacs browser.

That's something to decide afterwards. I don't really care which
generic commands we define or how many do we need.

   J



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 18:03                           ` Ted Zlatanov
@ 2013-07-06  0:14                             ` Stefan Monnier
  2013-07-06  4:28                               ` Jambunathan K
  0 siblings, 1 reply; 110+ messages in thread
From: Stefan Monnier @ 2013-07-06  0:14 UTC (permalink / raw)
  To: emacs-devel

> I don't care too much about the dispatcher, though, so it's OK with me
> if Emacs is the default dispatcher (the current status) and we make it
> easy to make `eww' the default instead.

Maybe it's fine to let eww handle the mime-type -> major-mode mapping.
But it's still unclear how to cleanly cause url-handler-mode to affect
C-x C-f such that eww is called.


        Stefan



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 23:43                               ` Juanma Barranquero
  2013-07-05 23:55                                 ` Juri Linkov
@ 2013-07-06  0:42                                 ` Stefan Monnier
  2013-07-06 22:00                                   ` Richard Stallman
  1 sibling, 1 reply; 110+ messages in thread
From: Stefan Monnier @ 2013-07-06  0:42 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Juri Linkov, Emacs developers

> IIUC, you're proposing that the macro be called "alternatives-define".

Great, let's go with alternatives-define.  Not that it matters.


        Stefan



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 23:37                               ` Juanma Barranquero
@ 2013-07-06  0:44                                 ` Stefan Monnier
  0 siblings, 0 replies; 110+ messages in thread
From: Stefan Monnier @ 2013-07-06  0:44 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Emacs developers

>> I really meant it for "define-dispatcher" (i.e. for "dispatcher-define").
> Oh. OK.
>> Either that or in simple.el.
> Well, if we install this code, someone else can add these
> dispatcher-define calls for the agreed upon generic commands.
> As for this dispatcher-define, two questions:
> - Do you want installed?

Sure.

> - If so, in its own dispatcher.el, or as part of an existing package?

For now we can keep it in simple.el, I guess, since it's very small.


        Stefan



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 23:59                           ` Juri Linkov
@ 2013-07-06  3:26                             ` Xue Fuqiao
  0 siblings, 0 replies; 110+ messages in thread
From: Xue Fuqiao @ 2013-07-06  3:26 UTC (permalink / raw)
  To: Juri Linkov; +Cc: emacs-devel

On Sat, Jul 6, 2013 at 7:59 AM, Juri Linkov <juri@jurta.org> wrote:
> There is an obscure feature that typing `C-x C-e' twice displays
> full information in the echo area, and typing `C-u C-x C-e' twice
> inserts full information to the *scratch* buffer.
>
> bug#12985 proposes to fix this (mis-)feature to insert full information
> to the *scratch* buffer only when you type the C-u arg, i.e. `C-u C-x C-e',
> and always display full information in the each area and in ielm.

Ah, I see, thank you!  I saw it with two successive `C-u C-x C-e's just
now.

--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-06  0:14                             ` Stefan Monnier
@ 2013-07-06  4:28                               ` Jambunathan K
  2013-07-06  5:28                                 ` Jambunathan K
  2013-07-06  9:31                                 ` Stefan Monnier
  0 siblings, 2 replies; 110+ messages in thread
From: Jambunathan K @ 2013-07-06  4:28 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>> I don't care too much about the dispatcher, though, so it's OK with me
>> if Emacs is the default dispatcher (the current status) and we make it
>> easy to make `eww' the default instead.
>
> Maybe it's fine to let eww handle the mime-type -> major-mode mapping.
> But it's still unclear how to cleanly cause url-handler-mode to affect
> C-x C-f such that eww is called.

I believe, the actual gluing could be achieved with minimal investments.

The magic seems to happen so.

   (get operation 'url-file-handlers)
   (put 'insert-file-contents 'url-file-handlers 'url-insert-file-contents)


So `url-file-handlers' (actually `url-insert') need to check for
`(mm-handle-media-type handle)' and call one of the handlers (See
`eww-render').

	  (cond
	   ((equal (car content-type) "text/html")
	    (eww-display-html charset url))
	   ((string-match "^image/" (car content-type))
	    (eww-display-image))
	   (t
	    (eww-display-raw charset)))


Are there any intervening operation between `insert-file-contents' and
`find-file-hook'.

   (add-hook 'find-file-hook 'url-handlers-set-buffer-mode)

----------------------------------------------------------------

Is `find-file-hook' the right place for a `renderer'? For "multipart"
buffers are there renderers on a per-part/region basis.  

----------------------------------------------------------------

Btw, url-handler-mode seems to be doing synchronous fetch while eww
seems to do an aynch fetch.  Should C-x C-f be "blocking" or can it be
an "asynchronous" C-x C-f?

----------------------------------------------------------------

As for write operation, "Wiki URLs" are "writable" and can also be
"renamed".

   ;; These are operations that we do not support yet (DAV!!!)
   (put 'file-writable-p 'url-file-handlers 'ignore)

>
>
>         Stefan



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-06  4:28                               ` Jambunathan K
@ 2013-07-06  5:28                                 ` Jambunathan K
  2013-07-06  9:31                                 ` Stefan Monnier
  1 sibling, 0 replies; 110+ messages in thread
From: Jambunathan K @ 2013-07-06  5:28 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Jambunathan K <kjambunathan@gmail.com> writes:

> Are there any intervening operation between `insert-file-contents' and
> `find-file-hook'.
>

The answer seems to be `format-decode'r.

How about...

1. Pass the Content Type from HTTP headers to `buffer-file-format'

2. Augment `format-alist' with "text/html" format and make `eww' (or
   shr or whatever) a decoder for it.

The advantage would be that HTML rendering is isolated from URL
retrieval operations.

,----
| (defun format-decode (format length &optional visit-flag)
|   ;; This function is called by insert-file-contents whenever a file is read.
|   "Decode text from any known FORMAT.
| FORMAT is a symbol appearing in `format-alist' or a list of such symbols,
| or nil, in which case this function tries to guess the format of the data by
| matching against the regular expressions in `format-alist'.  After a match is
| found and the region decoded, the alist is searched again from the beginning
| for another match.
| 
| Second arg LENGTH is the number of characters following point to operate on.
| If optional third arg VISIT-FLAG is true, set `buffer-file-format'
| to the reverted list of formats used, and call any mode functions defined
| for those formats.
| 
| Return the new length of the decoded region.
| 
| For most purposes, consider using `format-decode-region' instead."
`----




>    (add-hook 'find-file-hook 'url-handlers-set-buffer-mode)
>
>
> Is `find-file-hook' the right place for a `renderer'? For "multipart"
> buffers are there renderers on a per-part/region basis.  









^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-06  4:28                               ` Jambunathan K
  2013-07-06  5:28                                 ` Jambunathan K
@ 2013-07-06  9:31                                 ` Stefan Monnier
  1 sibling, 0 replies; 110+ messages in thread
From: Stefan Monnier @ 2013-07-06  9:31 UTC (permalink / raw)
  To: Jambunathan K; +Cc: emacs-devel

> The magic seems to happen so.

>    (get operation 'url-file-handlers)
>    (put 'insert-file-contents 'url-file-handlers 'url-insert-file-contents)

> So `url-file-handlers' (actually `url-insert') need to check for
> `(mm-handle-media-type handle)' and call one of the handlers (See
> `eww-render').

> 	  (cond
> 	   ((equal (car content-type) "text/html")
> 	    (eww-display-html charset url))
> 	   ((string-match "^image/" (car content-type))
> 	    (eww-display-image))
> 	   (t
> 	    (eww-display-raw charset)))

The problem is indeed that find-file's code separates the "fetch data"
from "setup major mode", so the way it works is fairly different from
the way eww works.

> Are there any intervening operation between `insert-file-contents' and
> `find-file-hook'.
>    (add-hook 'find-file-hook 'url-handlers-set-buffer-mode)

That doesn't sound very reliable.

> Btw, url-handler-mode seems to be doing synchronous fetch while eww
> seems to do an aynch fetch.  Should C-x C-f be "blocking" or can it be
> an "asynchronous" C-x C-f?

Indeed, that's another important difference.  Maybe if we want to invoke
eww from C-x C-f we need to do it at a higher level than in
insert-file-contents and/or find-file-hook, e.g. something more like
find-directory-functions (tho not for directories), and only if
find-file is called interactively.


        Stefan



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-06-29 14:26 Rename `eww' to `web' Richard Stallman
  2013-06-29 15:33 ` Daimrod
  2013-06-30  5:49 ` Jambunathan K
@ 2013-07-06 15:15 ` Lars Ingebrigtsen
  2 siblings, 0 replies; 110+ messages in thread
From: Lars Ingebrigtsen @ 2013-07-06 15:15 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

Richard Stallman <rms@gnu.org> writes:

> One way we can make Emacs more usable is by giving commands
> natural names that make no demand on users' memory.
>
> Since `eww' has never been in a release, let's rename it `web'
> now, before users get it.

I think that it's nice that things have names that enables users to
search for help for that thing.  Searching for "web" isn't very helpful.

But the idea of having a command called `web' that would call (for
instance) eww sounds good to me.  But I think we have to keep in mind
that there are typically two distinct things that people want when they
say "Emacs, here's an URL".  The vastly most common thing to want is to
start an external web browser like Firefox.  But some people want to use
an Emacs-based browser for specific things, so I'm not sure having a
command like `web' would be of much convenience in practice.

There's also the issue of "what does the user expect to happen when they
tap a link in eww?"  I think the natural thing to happen is to open tat
link in eww -- i.e., continue to browse in the browser you're using.
But sometimes you want to browse using an external browser, even from
eww, which is why eww offers that as a separate command.

So, in short: I don't think eww should be renamed web, and I think
having a command named `web' at all won't be of much use, even as an
alias/dispatcher. 

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-04 22:35                         ` Xue Fuqiao
@ 2013-07-06 20:02                           ` Stephen Berman
  0 siblings, 0 replies; 110+ messages in thread
From: Stephen Berman @ 2013-07-06 20:02 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: Katsumi Yamaoka, emacs-devel

On Fri, 5 Jul 2013 06:35:23 +0800 Xue Fuqiao <xfq.free@gmail.com> wrote:

> On Thu, Jul 4, 2013 at 11:08 PM, Stephen Berman <stephen.berman@gmx.net> wrote:
>> On Thu, 04 Jul 2013 23:28:14 +0900 Katsumi Yamaoka <yamaoka@jpl.org> wrote:
>>
>>>>>> emacs -Q -f url-handler-mode
>>>>>> C-x C-f ftp://ftp.gnu.org
>>>>>> C-x C-f http://www.gnu.org
>>>
>>>>> Oh, I didn't know it.
>>>>> And what is more surprising, the functionality is sealed.
>>>
>>> I meant both end up with the "Unimplemented" error (on Cygwin).
>>> Though I haven't yet investigated why it's so, I confirmed Emacs
>>> on Linux behaves like Jambunathan said.
>>
>> I see the same "Unimplemented" error on GNU Emacs 24.3.50.5
>> (x86_64-suse-linux-gnu, GTK+ Version 3.4.4) of 2013-07-03 -- but only
>> with my initializations.  With -Q it's as Jambunathan reported.  I
>> haven't yet tried bisecting my init file.
>
> Strange.  I see the same "Unimplemented" error on r113216
> (x86_64-apple-darwin12.4.0, NS apple-appkit-1187.39 of 2013-06-29,
> configured using `configure --with-ns --enable-checking'), not only with
> my initializations, but also with -Q.  Maybe we need to discuss it in
> bug-gnu-emacs.

I've now bisected my init file.  The "Unimplemented" error is due to
enabling read-file-name-completion-ignore-case.  I've filed a bug report
(bug#14806).

Maybe fixing this will also fix bug#11339 (file name completion
involving non-ascii characters with
read-file-name-completion-ignore-case).  I've been hoping a long time
for that to be fixed.

Steve Berman



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-06  0:42                                 ` Stefan Monnier
@ 2013-07-06 22:00                                   ` Richard Stallman
  0 siblings, 0 replies; 110+ messages in thread
From: Richard Stallman @ 2013-07-06 22:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: juri, lekktu, emacs-devel

        [ To any NSA and FBI agents reading my email: please consider
        [ whether defending the US Constitution against all enemies,
        [ foreign or domestic, requires you to follow Snowden's example.

`define-alternatives' or `define-dispatch' might be better than
`alternatives-define', because some tools will recognize the former
two as definitions of the name that is the first argument.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call.




^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-05 17:19                     ` Richard Stallman
@ 2013-07-07  0:24                       ` Pascal J. Bourguignon
  2013-07-07  0:55                         ` Juanma Barranquero
  0 siblings, 1 reply; 110+ messages in thread
From: Pascal J. Bourguignon @ 2013-07-07  0:24 UTC (permalink / raw)
  To: rms; +Cc: emacs-devel

Richard Stallman <rms@gnu.org> writes:

>         [ To any NSA and FBI agents reading my email: please consider
>         [ whether defending the US Constitution against all enemies,
>         [ foreign or domestic, requires you to follow Snowden's example.
>
>     It's not the same kind of interaction.  ielm simulates an "interactive"
>     REPL, like other lisps or shells.
>
> That doesn't enlighten me -- I would say *scratch*, using C-j to end
> an expression, is "interactive".
>
> Evaluation with C-j does not display the character equivalent
> of a number.
>
> The only two differences I see in ielm are (1) use of RET instead of
> C-j, and (2) a prompt.

Yes, and the order in which the different parts are inserted, when using
C-p C-e or M-p:

     M-x ielm RET (defvar *i*) RET (setq *i* 0) RET (list (+ 1 2) (setq
     *i* (+ 1 *i*))) RET M-p RET 

results in:

    ELISP> (defvar *i*)
    *i*
    ELISP> (setq *i* 0)
    0
    ELISP> (list (+ 1 2) (setq  *i* (+ 1 *i*)))
    (3 1)

    ELISP> (list (+ 1 2) (setq  *i* (+ 1 *i*)))
    (3 2)

    ELISP> 

vs.

     C-x b *scratch* RET (defvar *i*) C-j (setq *i* 0) C-j (list (+ 1 2) (setq
     *i* (+ 1 *i*))) C-j C-p C-e C-j

results in:

    (defvar *i*)
    *i*
    (setq *i* 0)
    0
    (list (+ 1 2)  (setq *i* (+ 1 *i*)))
    (3 2)

    (3 1)

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.  
You know you've been lisping too long when you see a recent picture of George 
Lucas and think "Wait, I thought John McCarthy was dead!" -- Dalek_Baldwin



^ permalink raw reply	[flat|nested] 110+ messages in thread

* Re: Rename `eww' to `web'
  2013-07-07  0:24                       ` Pascal J. Bourguignon
@ 2013-07-07  0:55                         ` Juanma Barranquero
  0 siblings, 0 replies; 110+ messages in thread
From: Juanma Barranquero @ 2013-07-07  0:55 UTC (permalink / raw)
  To: Pascal J. Bourguignon; +Cc: Richard Stallman, Emacs developers

On Sun, Jul 7, 2013 at 2:24 AM, Pascal J. Bourguignon
<pjb@informatimago.com> wrote:
> Richard Stallman <rms@gnu.org> writes:

>> The only two differences I see in ielm are (1) use of RET instead of
>> C-j, and (2) a prompt.
>
> Yes, and the order in which the different parts are inserted, when using
> C-p C-e or M-p:

- Variables *, ** and *** which store the last three results.
- M-n/p i.e. comint-(next|previous)-input
- Expressions are evaluated in the context of another buffer (which
can be changed with C-c C-b)



^ permalink raw reply	[flat|nested] 110+ messages in thread

end of thread, other threads:[~2013-07-07  0:55 UTC | newest]

Thread overview: 110+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-29 14:26 Rename `eww' to `web' Richard Stallman
2013-06-29 15:33 ` Daimrod
2013-06-29 20:30   ` Richard Stallman
2013-06-30  1:45     ` Stefan Monnier
2013-06-30  2:35       ` Xue Fuqiao
2013-06-29 23:20   ` Xue Fuqiao
2013-06-30  5:49 ` Jambunathan K
2013-06-30 13:40   ` Richard Stallman
2013-07-01 12:57     ` Ted Zlatanov
2013-07-03  8:29       ` Miles Bader
2013-07-03 16:09         ` Ted Zlatanov
2013-07-03 16:22           ` Glenn Morris
2013-07-03 19:57             ` Ted Zlatanov
2013-07-03 22:50               ` Tim Cross
2013-07-04  0:24                 ` Drew Adams
2013-07-04  1:43                   ` Ted Zlatanov
2013-07-04  1:58                     ` chad
2013-07-04  5:11                       ` Stephen J. Turnbull
2013-07-04 15:09                         ` Ted Zlatanov
2013-07-04 23:36                       ` Richard Stallman
2013-07-04  3:16                     ` Drew Adams
2013-07-04 23:36                     ` Richard Stallman
2013-07-05  2:19                       ` Jambunathan K
2013-07-04 18:49                 ` Richard Stallman
2013-07-04 19:15                   ` Pascal J. Bourguignon
2013-07-04 21:08                     ` Mathias Dahl
2013-07-04 21:58                       ` Drew Adams
2013-07-05  2:50                       ` Jambunathan K
2013-07-04 22:41                     ` Xue Fuqiao
2013-07-04 23:45                       ` Juri Linkov
2013-07-05 23:41                         ` Xue Fuqiao
2013-07-05 23:59                           ` Juri Linkov
2013-07-06  3:26                             ` Xue Fuqiao
2013-07-04 23:40                     ` Glenn Morris
2013-07-05  1:14                       ` Juanma Barranquero
2013-07-05 10:23                         ` Stefan Monnier
2013-07-05 11:50                           ` Juanma Barranquero
2013-07-05 12:59                             ` Juanma Barranquero
2013-07-05 22:38                             ` Stefan Monnier
2013-07-05 23:37                               ` Juanma Barranquero
2013-07-06  0:44                                 ` Stefan Monnier
2013-07-05 23:29                             ` Juri Linkov
2013-07-05 23:43                               ` Juanma Barranquero
2013-07-05 23:55                                 ` Juri Linkov
2013-07-06  0:11                                   ` Juanma Barranquero
2013-07-06  0:42                                 ` Stefan Monnier
2013-07-06 22:00                                   ` Richard Stallman
2013-07-05  0:04                     ` Juri Linkov
2013-07-05  5:37                       ` Pascal J. Bourguignon
2013-07-05 17:19                     ` Richard Stallman
2013-07-07  0:24                       ` Pascal J. Bourguignon
2013-07-07  0:55                         ` Juanma Barranquero
2013-07-04 22:53                   ` Josh
2013-07-05 17:20                     ` Richard Stallman
2013-07-04  0:06           ` Richard Stallman
2013-07-04  1:51             ` Ted Zlatanov
2013-07-04  7:30               ` Andreas Schwab
2013-07-04  2:09             ` Katsumi Yamaoka
2013-07-04  2:17               ` Glenn Morris
2013-07-04  3:44                 ` Katsumi Yamaoka
2013-07-04  4:10                   ` Jambunathan K
2013-07-04  4:48                     ` Stephen J. Turnbull
2013-07-05  3:23                       ` Jambunathan K
2013-07-04  9:55                     ` Stefan Monnier
2013-07-04 15:04                       ` Ted Zlatanov
2013-07-05 11:02                         ` Stefan Monnier
2013-07-05 18:03                           ` Ted Zlatanov
2013-07-06  0:14                             ` Stefan Monnier
2013-07-06  4:28                               ` Jambunathan K
2013-07-06  5:28                                 ` Jambunathan K
2013-07-06  9:31                                 ` Stefan Monnier
2013-07-04 14:28                     ` Katsumi Yamaoka
2013-07-04 15:08                       ` Stephen Berman
2013-07-04 22:35                         ` Xue Fuqiao
2013-07-06 20:02                           ` Stephen Berman
2013-07-05  3:04                       ` Jambunathan K
2013-07-04 23:36                   ` Richard Stallman
2013-07-04 15:08                 ` Ted Zlatanov
2013-07-06 15:15 ` Lars Ingebrigtsen
     [not found] <<E1Usw6G-0001Et-0A@fencepost.gnu.org>
2013-06-29 15:05 ` Drew Adams
2013-06-29 15:15   ` Nic Ferrier
2013-06-29 20:30     ` Richard Stallman
2013-06-29 20:45       ` Nic Ferrier
2013-06-29 21:33       ` Dmitry Gutov
2013-06-29 21:42         ` Pascal J. Bourguignon
2013-06-29 21:48           ` Bastien
2013-06-29 23:01             ` Xue Fuqiao
2013-06-30  6:36               ` Bastien
2013-06-30 10:30                 ` Pascal J. Bourguignon
2013-06-30  2:49             ` Richard Stallman
2013-06-30  2:49         ` Richard Stallman
2013-06-30  3:01           ` Dmitry Gutov
2013-06-30 13:40             ` Richard Stallman
2013-06-30 15:26               ` Dmitry Gutov
2013-06-30 17:53                 ` chad
2013-06-30 18:21                   ` Jambunathan K
2013-06-30 19:04                   ` Stefan Monnier
2013-06-30  5:54         ` Jambunathan K
2013-06-29 23:30       ` Xue Fuqiao
2013-06-30  7:56         ` Jan Djärv
2013-06-30  9:18           ` Xue Fuqiao
2013-06-30 10:04             ` Jan Djärv
2013-07-01  2:03     ` Miles Bader
2013-06-29 20:30   ` Richard Stallman
2013-06-29 20:52     ` Pascal J. Bourguignon
2013-06-30  2:49       ` Richard Stallman
     [not found]   ` <<E1Ut1mo-0004ns-A6@fencepost.gnu.org>
2013-06-29 20:40     ` Drew Adams
2013-06-30  2:49       ` Richard Stallman
     [not found]       ` <<E1Ut7hQ-0000Eq-Tt@fencepost.gnu.org>
2013-06-30  3:23         ` Drew Adams
2013-06-30 13:40           ` Richard Stallman

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).