unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* bzr is dying; Emacs needs to move
@ 2014-01-02  9:53 Eric S. Raymond
  2014-01-02 11:52 ` Thien-Thi Nguyen
                   ` (4 more replies)
  0 siblings, 5 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-02  9:53 UTC (permalink / raw)
  To: emacs-devel

I am posting this because I think it is my duty as a topic expert in
version-control systems and the surrounding tools to do so, not because
I have any desire to be in the argument that is certain to ensue.

The bzr version control system is dying; by most measures it is
already moribund.  The dev list has flatlined, most of Canonical's
in-house projects have abandoned bzr for git, and one of its senior
developers has written a remarkably candid assessment of why bzr
failed:

http://www.stationary-traveller.eu/pages/bzr-a-retrospective.html

I urge all Emacs developers to read this, then sleep on it, then read
it again - not least because I think Emacs development has fallen into
some of the same traps the author decribes.  But *that* is a discussion for
another day; the conversation we need to have now is about escaping
the gravitational pull of bzr's failure.

In theory, that failure need not affect us at all providing the bzr
codebase is sufficently mature to continue in use as a production
tool.  I judge that, in fact, it *is* sufficiently mature.

In practice, I judge that sticking with bzr would have social and
signaling effects damaging to Emacs's prospects. Sticking to a 
moribund version-control system will compound and exacerbate the 
project's difficulty in attracting new talent.

The uncomfortable truth is that many younger hackers already think
Emacs is a dinosaur - difficult, bulky, armor-plated, and generally
stuck in the last century. If we're going to fight off that image, we
cannot afford to make or adhere to choices that further cast the
project as crusty, insular, and backward-looking.

As of right about now, continuing with bzr is such a choice.  We'll
lose potential recruits, not merely because bzr has a learning cost
but because crusty, insular, etc.  The opportunity cost of not getting
out will only rise with time.

git won the mindshare war.  I regret this - I would have preferred
Mercurial, but it too is not looking real healthy these days.  I have
made my peace with git's victory and switched.  I urge the Emacs
project to do likewise.

I can be technical lead on the migration - as the author of
reposurgeon I have the skills and experience for that (I recently
moved GNU troff from CVS to git). But the project leadership needs
to make the go decision first.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

No one who's seen it in action can say the phrase "government help" without
either laughing or crying.



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

* Re: bzr is dying; Emacs needs to move
  2014-01-02  9:53 bzr is dying; Emacs needs to move Eric S. Raymond
@ 2014-01-02 11:52 ` Thien-Thi Nguyen
  2014-01-02 12:20   ` Bozhidar Batsov
                     ` (2 more replies)
  2014-01-02 12:30 ` bzr is dying; Emacs needs to move Bozhidar Batsov
                   ` (3 subsequent siblings)
  4 siblings, 3 replies; 401+ messages in thread
From: Thien-Thi Nguyen @ 2014-01-02 11:52 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: emacs-devel

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

() esr@thyrsus.com (Eric S. Raymond)
() Thu,  2 Jan 2014 04:53:47 -0500 (EST)

   Sticking to a moribund version-control system will compound and
   exacerbate the project's difficulty in attracting new talent.

It impedes people stuck on old (low spec) computers, too.  For example,
in my adventures w/ git-bzr, i have managed to do the initial clone, but
512M RAM is not enough to achieve the tantalizingly compact footprint
that "git gc --aggressive" purports.  I'm a stubborn fool and will find
a way eventually (suggestions from git-bzr / git experts welcome!), but
it's an unqualified slog that i imagine is just not worth the trouble
for others in similar straits.

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 11:52 ` Thien-Thi Nguyen
@ 2014-01-02 12:20   ` Bozhidar Batsov
  2014-01-02 12:28     ` Bozhidar Batsov
  2014-01-02 13:05     ` Rüdiger Sonderfeld
  2014-01-02 18:15   ` James Cloos
  2014-01-04  2:14   ` Samuel Bronson
  2 siblings, 2 replies; 401+ messages in thread
From: Bozhidar Batsov @ 2014-01-02 12:20 UTC (permalink / raw)
  To: emacs-devel

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

On Thursday, January 2, 2014 at 1:52 PM, Thien-Thi Nguyen wrote:
> () esr@thyrsus.com (mailto:esr@thyrsus.com) (Eric S. Raymond)
> () Thu, 2 Jan 2014 04:53:47 -0500 (EST)
>  
> Sticking to a moribund version-control system will compound and
> exacerbate the project's difficulty in attracting new talent.
>  
> It impedes people stuck on old (low spec) computers, too. For example,
> in my adventures w/ git-bzr, i have managed to do the initial clone, but
> 512M RAM is not enough to achieve the tantalizingly compact footprint
> that "git gc --aggressive" purports. I'm a stubborn fool and will find
> a way eventually (suggestions from git-bzr / git experts welcome!), but
> it's an unqualified slog that i imagine is just not worth the trouble
> for others in similar straits.
>  
>  

I’m using git-bzr myself and one of my computers overheats while doing the initial clone from bzr :-)  
>  
> --  
> Thien-Thi Nguyen
> GPG key: 4C807502
> (if you're human and you know it)
> read my lisp: (responsep (questions 'technical)
> (not (via 'mailing-list)))
> => nil
>  
>  



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

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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 12:20   ` Bozhidar Batsov
@ 2014-01-02 12:28     ` Bozhidar Batsov
  2014-01-02 13:05     ` Rüdiger Sonderfeld
  1 sibling, 0 replies; 401+ messages in thread
From: Bozhidar Batsov @ 2014-01-02 12:28 UTC (permalink / raw)
  To: emacs-devel

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

I agree with most of the points you make and I’d love for Emacs to adopt git, but judging from the last discussion on the topic a few months ago (http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00776.html), I don’t think that’s going to happen any time soon.

Btw, Richard said then he wanted to give bzr’s maintainer a reasonable amount of time to fix some bugs (or so I recall). If this hasn’t happened - there’s one more argument in favour of using git. Relying on a poorly maintained project is generally worse than relying on a unpopular project.  

--  
Cheers,
Bozhidar


On Thursday, January 2, 2014 at 2:20 PM, Bozhidar Batsov wrote:

> On Thursday, January 2, 2014 at 1:52 PM, Thien-Thi Nguyen wrote:
> > () esr@thyrsus.com (mailto:esr@thyrsus.com) (Eric S. Raymond)
> > () Thu, 2 Jan 2014 04:53:47 -0500 (EST)
> >  
> > Sticking to a moribund version-control system will compound and
> > exacerbate the project's difficulty in attracting new talent.
> >  
> > It impedes people stuck on old (low spec) computers, too. For example,
> > in my adventures w/ git-bzr, i have managed to do the initial clone, but
> > 512M RAM is not enough to achieve the tantalizingly compact footprint
> > that "git gc --aggressive" purports. I'm a stubborn fool and will find
> > a way eventually (suggestions from git-bzr / git experts welcome!), but
> > it's an unqualified slog that i imagine is just not worth the trouble
> > for others in similar straits.
> >  
> >  
> >  
>  
> I’m using git-bzr myself and one of my computers overheats while doing the initial clone from bzr :-)  
> >  
> > --  
> > Thien-Thi Nguyen
> > GPG key: 4C807502
> > (if you're human and you know it)
> > read my lisp: (responsep (questions 'technical)
> > (not (via 'mailing-list)))
> > => nil
> >  
> >  
> >  
>  
>  


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

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

* Re: bzr is dying; Emacs needs to move
  2014-01-02  9:53 bzr is dying; Emacs needs to move Eric S. Raymond
  2014-01-02 11:52 ` Thien-Thi Nguyen
@ 2014-01-02 12:30 ` Bozhidar Batsov
  2014-01-02 13:08   ` Rüdiger Sonderfeld
  2014-01-02 15:04 ` Richard Stallman
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 401+ messages in thread
From: Bozhidar Batsov @ 2014-01-02 12:30 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: emacs-devel

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

I agree with most of the points you make and I’d love for Emacs to adopt git, but judging from the last discussion on the topic a few months ago (http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00776.html), I don’t think that’s going to happen any time soon.

Btw, Richard said then he wanted to give bzr’s maintainer a reasonable amount of time to fix some bugs (or so I recall). If this hasn’t happened - there’s one more argument in favour of using git. Relying on a poorly maintained project is generally worse than relying on a unpopular project.  

--  
Cheers,
Bozhidar


On Thursday, January 2, 2014 at 11:53 AM, Eric S. Raymond wrote:

> I am posting this because I think it is my duty as a topic expert in
> version-control systems and the surrounding tools to do so, not because
> I have any desire to be in the argument that is certain to ensue.
>  
> The bzr version control system is dying; by most measures it is
> already moribund. The dev list has flatlined, most of Canonical's
> in-house projects have abandoned bzr for git, and one of its senior
> developers has written a remarkably candid assessment of why bzr
> failed:
>  
> http://www.stationary-traveller.eu/pages/bzr-a-retrospective.html
>  
> I urge all Emacs developers to read this, then sleep on it, then read
> it again - not least because I think Emacs development has fallen into
> some of the same traps the author decribes. But *that* is a discussion for
> another day; the conversation we need to have now is about escaping
> the gravitational pull of bzr's failure.
>  
> In theory, that failure need not affect us at all providing the bzr
> codebase is sufficently mature to continue in use as a production
> tool. I judge that, in fact, it *is* sufficiently mature.
>  
> In practice, I judge that sticking with bzr would have social and
> signaling effects damaging to Emacs's prospects. Sticking to a  
> moribund version-control system will compound and exacerbate the  
> project's difficulty in attracting new talent.
>  
> The uncomfortable truth is that many younger hackers already think
> Emacs is a dinosaur - difficult, bulky, armor-plated, and generally
> stuck in the last century. If we're going to fight off that image, we
> cannot afford to make or adhere to choices that further cast the
> project as crusty, insular, and backward-looking.
>  
> As of right about now, continuing with bzr is such a choice. We'll
> lose potential recruits, not merely because bzr has a learning cost
> but because crusty, insular, etc. The opportunity cost of not getting
> out will only rise with time.
>  
> git won the mindshare war. I regret this - I would have preferred
> Mercurial, but it too is not looking real healthy these days. I have
> made my peace with git's victory and switched. I urge the Emacs
> project to do likewise.
>  
> I can be technical lead on the migration - as the author of
> reposurgeon I have the skills and experience for that (I recently
> moved GNU troff from CVS to git). But the project leadership needs
> to make the go decision first.
> --  
> <a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
>  
> No one who's seen it in action can say the phrase "government help" without
> either laughing or crying.
>  
>  



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

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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 12:20   ` Bozhidar Batsov
  2014-01-02 12:28     ` Bozhidar Batsov
@ 2014-01-02 13:05     ` Rüdiger Sonderfeld
  2014-01-02 13:29       ` Andreas Schwab
  1 sibling, 1 reply; 401+ messages in thread
From: Rüdiger Sonderfeld @ 2014-01-02 13:05 UTC (permalink / raw)
  To: emacs-devel; +Cc: Bozhidar Batsov

On Thursday 02 January 2014 14:20:32 Bozhidar Batsov wrote:
> I’m using git-bzr myself and one of my computers overheats while doing the
> initial clone from bzr :-)

It's certainly something for cold winter nights to utilise your computer as a 
heat source...

Emacsmirror had a repo which could be used to "jump start" git-bzr.  But sadly 
it is now 404: https://github.com/emacsmirror/emacs  I don't know what git-bzr 
exactly needs.  Maybe the official savannah git mirror could provide the 
information for git-bzr.

But overall I think Emacs development should switch to git.

Regards,
Rüdiger




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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 12:30 ` bzr is dying; Emacs needs to move Bozhidar Batsov
@ 2014-01-02 13:08   ` Rüdiger Sonderfeld
  0 siblings, 0 replies; 401+ messages in thread
From: Rüdiger Sonderfeld @ 2014-01-02 13:08 UTC (permalink / raw)
  To: emacs-devel; +Cc: Eric S. Raymond, Bozhidar Batsov

On Thursday 02 January 2014 14:30:31 Bozhidar Batsov wrote:
> Btw, Richard said then he wanted to give bzr’s maintainer a reasonable
> amount of time to fix some bugs (or so I recall). If this hasn’t happened -
> there’s one more argument in favour of using git. Relying on a poorly
> maintained project is generally worse than relying on a unpopular project.

The bug was finally fixed and a new version of bzr released.  But IIRC this 
only happened after Richard contacted the developers.  I'm not sure if other 
bugs get similar attention.

Regards
Rüdiger




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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 13:05     ` Rüdiger Sonderfeld
@ 2014-01-02 13:29       ` Andreas Schwab
  0 siblings, 0 replies; 401+ messages in thread
From: Andreas Schwab @ 2014-01-02 13:29 UTC (permalink / raw)
  To: Rüdiger Sonderfeld; +Cc: Bozhidar Batsov, emacs-devel

Rüdiger Sonderfeld <ruediger@c-plusplus.de> writes:

> Maybe the official savannah git mirror could provide the information
> for git-bzr.

It will help seeding with fairly well-packed objects of all the blobs
and trees in the repository (all commit objects will differ, but that's
only a small fraction of the objects).

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



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

* Re: bzr is dying; Emacs needs to move
  2014-01-02  9:53 bzr is dying; Emacs needs to move Eric S. Raymond
  2014-01-02 11:52 ` Thien-Thi Nguyen
  2014-01-02 12:30 ` bzr is dying; Emacs needs to move Bozhidar Batsov
@ 2014-01-02 15:04 ` Richard Stallman
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
  2014-01-02 16:12   ` bzr is dying; Emacs needs to move Eric S. Raymond
  2014-01-02 17:53 ` Sam Steingold
  2014-01-03 20:03 ` David Reitter
  4 siblings, 2 replies; 401+ messages in thread
From: Richard Stallman @ 2014-01-02 15:04 UTC (permalink / raw)
  To: Eric S. Raymond; +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 don't insist that Emacs should stay with bzr.  I chose to support
bzr because it was still a contender at the time.


-- 
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] 401+ messages in thread

* PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:04 ` Richard Stallman
@ 2014-01-02 15:41   ` Karl Fogel
  2014-01-02 15:56     ` Bastien
                       ` (9 more replies)
  2014-01-02 16:12   ` bzr is dying; Emacs needs to move Eric S. Raymond
  1 sibling, 10 replies; 401+ messages in thread
From: Karl Fogel @ 2014-01-02 15:41 UTC (permalink / raw)
  To: emacs-devel

Richard Stallman <rms@gnu.org> writes:
>I don't insist that Emacs should stay with bzr.  I chose to support
>bzr because it was still a contender at the time.

Now that RMS has dropped the bzr requirement, I propose we move to git.
ESR has graciously offered to be technical lead for such a migration.

Does anyone think we should stay on bzr, or choose a VCS other than git?

If there is significant support for a different system, then I guess we
should hold a poll.  But my (tentative) expectation is that there will
be a pretty clear overall group preference for git -- I'm mainly posting
this so there's a place for people to follow up to express their
preference, so we can quickly get a sense of whether moving to git is
the obvious call for the group as a whole, not just for those of us who
have been been expressing that preference for some time.

-Karl



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
@ 2014-01-02 15:56     ` Bastien
  2014-01-02 16:12       ` Nathan Trapuzzano
                         ` (3 more replies)
  2014-01-02 16:29     ` Fabián Ezequiel Gallina
                       ` (8 subsequent siblings)
  9 siblings, 4 replies; 401+ messages in thread
From: Bastien @ 2014-01-02 15:56 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

> Does anyone think we should stay on bzr, or choose a VCS other than
> git?

+1 for using Git.

-- 
 Bastien



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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 15:04 ` Richard Stallman
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
@ 2014-01-02 16:12   ` Eric S. Raymond
  1 sibling, 0 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-02 16:12 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

Richard Stallman <rms@gnu.org>:
> I don't insist that Emacs should stay with bzr.  I chose to support
> bzr because it was still a contender at the time.

Thank you.

And yes, it was.  It wouldn't have been my choice, but it was
light-years better than CVS and a clear improvement over any
possibility other than hg or git.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:56     ` Bastien
@ 2014-01-02 16:12       ` Nathan Trapuzzano
  2014-01-02 16:29         ` Toby Cubitt
  2014-01-02 17:10       ` Jose E. Marchesi
                         ` (2 subsequent siblings)
  3 siblings, 1 reply; 401+ messages in thread
From: Nathan Trapuzzano @ 2014-01-02 16:12 UTC (permalink / raw)
  To: Bastien; +Cc: Karl Fogel, emacs-devel

Bastien <bzg@gnu.org> writes:

> +1 for using Git.

Ditto.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 16:12       ` Nathan Trapuzzano
@ 2014-01-02 16:29         ` Toby Cubitt
  0 siblings, 0 replies; 401+ messages in thread
From: Toby Cubitt @ 2014-01-02 16:29 UTC (permalink / raw)
  To: Nathan Trapuzzano; +Cc: Bastien, Karl Fogel, emacs-devel

On Thu, Jan 02, 2014 at 11:12:42AM -0500, Nathan Trapuzzano wrote:
> Bastien <bzg@gnu.org> writes:
> 
> > +1 for using Git.
> 
> Ditto.

For what it's worth, I agree with moving to git.

It seems clear that it'll happen eventually, even if the decision gets
postponed again this time. But ESR makes a good case for doing it sooner
rather than later.

Toby
-- 
Dr T. S. Cubitt
Royal Society University Research Fellow
and Fellow of Churchill College, Cambridge
Centre for Quantum Information
DAMTP, University of Cambridge

email: tsc25@cantab.net
web:   www.dr-qubit.org



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
  2014-01-02 15:56     ` Bastien
@ 2014-01-02 16:29     ` Fabián Ezequiel Gallina
  2014-01-02 16:39     ` Eric S. Raymond
                       ` (7 subsequent siblings)
  9 siblings, 0 replies; 401+ messages in thread
From: Fabián Ezequiel Gallina @ 2014-01-02 16:29 UTC (permalink / raw)
  To: emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

> Richard Stallman <rms@gnu.org> writes:
>>I don't insist that Emacs should stay with bzr.  I chose to support
>>bzr because it was still a contender at the time.
>
> Now that RMS has dropped the bzr requirement, I propose we move to git.
> ESR has graciously offered to be technical lead for such a migration.
>
> Does anyone think we should stay on bzr, or choose a VCS other than git?
>

I'm +1 to git. Currently a fair amount of third party packages (and even
the GNU ELPA repository) are using git, making it a sensible choice.

--
Regards,
Fabián.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
  2014-01-02 15:56     ` Bastien
  2014-01-02 16:29     ` Fabián Ezequiel Gallina
@ 2014-01-02 16:39     ` Eric S. Raymond
  2014-01-02 16:44       ` Andreas Schwab
  2014-01-02 17:10     ` Eli Zaretskii
                       ` (6 subsequent siblings)
  9 siblings, 1 reply; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-02 16:39 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

Karl Fogel <kfogel@red-bean.com>:
> ESR has graciously offered to be technical lead for such a migration.

Because reposurgeon. I should have known the doom that would fall on 
me when I wrote it - to become the go-to buy for messy repo conversions.
Like groff a couple of weeks ago.

This one *should* be relatively easy, DVCS to DVCS usually is. Cross 
your fingers.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 16:39     ` Eric S. Raymond
@ 2014-01-02 16:44       ` Andreas Schwab
  2014-01-02 16:57         ` Eric S. Raymond
  0 siblings, 1 reply; 401+ messages in thread
From: Andreas Schwab @ 2014-01-02 16:44 UTC (permalink / raw)
  To: esr; +Cc: Karl Fogel, emacs-devel

"Eric S. Raymond" <esr@thyrsus.com> writes:

> This one *should* be relatively easy, DVCS to DVCS usually is. Cross 
> your fingers.

There is already git://git.sv.gnu.org/emacs, so there shouldn't be much
to do, if any.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 16:44       ` Andreas Schwab
@ 2014-01-02 16:57         ` Eric S. Raymond
  2014-01-02 17:00           ` Andreas Schwab
  0 siblings, 1 reply; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-02 16:57 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Karl Fogel, emacs-devel

Andreas Schwab <schwab@linux-m68k.org>:
> There is already git://git.sv.gnu.org/emacs, so there shouldn't be much
> to do, if any.

Who owns that mirror?
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 16:57         ` Eric S. Raymond
@ 2014-01-02 17:00           ` Andreas Schwab
  2014-01-02 17:14             ` Eric S. Raymond
  0 siblings, 1 reply; 401+ messages in thread
From: Andreas Schwab @ 2014-01-02 17:00 UTC (permalink / raw)
  To: esr; +Cc: Karl Fogel, emacs-devel

"Eric S. Raymond" <esr@thyrsus.com> writes:

> Andreas Schwab <schwab@linux-m68k.org>:
>> There is already git://git.sv.gnu.org/emacs, so there shouldn't be much
>> to do, if any.
>
> Who owns that mirror?

I'm maintaining the mirroring.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:56     ` Bastien
  2014-01-02 16:12       ` Nathan Trapuzzano
@ 2014-01-02 17:10       ` Jose E. Marchesi
  2014-01-02 18:26       ` Ulrich Mueller
  2014-01-02 21:30       ` Mitchel Humpherys
  3 siblings, 0 replies; 401+ messages in thread
From: Jose E. Marchesi @ 2014-01-02 17:10 UTC (permalink / raw)
  To: Bastien; +Cc: Karl Fogel, emacs-devel

    
    > Does anyone think we should stay on bzr, or choose a VCS other than
    > git?
    
    +1 for using Git.

Same here.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
                       ` (2 preceding siblings ...)
  2014-01-02 16:39     ` Eric S. Raymond
@ 2014-01-02 17:10     ` Eli Zaretskii
  2014-01-02 17:28       ` Eric S. Raymond
                         ` (2 more replies)
  2014-01-02 17:17     ` Christoph
                       ` (5 subsequent siblings)
  9 siblings, 3 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-02 17:10 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

> From: Karl Fogel <kfogel@red-bean.com>
> Date: Thu, 02 Jan 2014 09:41:06 -0600
> 
> Now that RMS has dropped the bzr requirement, I propose we move to git.
> ESR has graciously offered to be technical lead for such a migration.

As Andreas points out, there's nothing to migrate, except ourselves.

> Does anyone think we should stay on bzr, or choose a VCS other than git?

I love bzr and hate git.  I hope Emacs will not switch from bzr in my
lifetime, not to git anyway.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 17:00           ` Andreas Schwab
@ 2014-01-02 17:14             ` Eric S. Raymond
  2014-01-02 17:27               ` Andreas Schwab
  0 siblings, 1 reply; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-02 17:14 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Karl Fogel, emacs-devel

Andreas Schwab <schwab@linux-m68k.org>:
> "Eric S. Raymond" <esr@thyrsus.com> writes:
> 
> > Andreas Schwab <schwab@linux-m68k.org>:
> >> There is already git://git.sv.gnu.org/emacs, so there shouldn't be much
> >> to do, if any.
> >
> > Who owns that mirror?
> 
> I'm maintaining the mirroring.
> 
> Andreas.

As you say, there may be nothing that needs doing other than decommissioning
the bzr repo and changing documentation to point to the git one.

Are you aware of any CVS conversion artifacts that should be cleaned up?  I'm
thinking of, in particular:

1. Unmerged commit cliques.

2. Out-of-place release tags.

3. Fossil CVS commit references in commit comments.

If there is any of this sort of cruft, the time to fix it is before the
git repo goes official.  I have good tools for this.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
                       ` (3 preceding siblings ...)
  2014-01-02 17:10     ` Eli Zaretskii
@ 2014-01-02 17:17     ` Christoph
  2014-01-02 18:05     ` Bozhidar Batsov
                       ` (4 subsequent siblings)
  9 siblings, 0 replies; 401+ messages in thread
From: Christoph @ 2014-01-02 17:17 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

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

On Thu, Jan 2, 2014 at 8:41 AM, Karl Fogel <kfogel@red-bean.com> wrote:

>
> Does anyone think we should stay on bzr, or choose a VCS other than git?
>

+1 for git.

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 17:14             ` Eric S. Raymond
@ 2014-01-02 17:27               ` Andreas Schwab
  2014-01-02 18:06                 ` Eric S. Raymond
  0 siblings, 1 reply; 401+ messages in thread
From: Andreas Schwab @ 2014-01-02 17:27 UTC (permalink / raw)
  To: esr; +Cc: Karl Fogel, emacs-devel

"Eric S. Raymond" <esr@thyrsus.com> writes:

> Are you aware of any CVS conversion artifacts that should be cleaned
> up?

I did a lot of cleanup when I converted the old CVS repository to bzr.
That included stitching in sources of history in other repositories
(even some tla archives), creating merge commits where the commit
message would indicate, removing dummy commits that were created by CVS
due to files appearing on branches.

> I'm thinking of, in particular:
>
> 1. Unmerged commit cliques.

I don't know what that means.

> 2. Out-of-place release tags.

I think I fixed them all up.

> 3. Fossil CVS commit references in commit comments.

I didn't change any of the commit comments, on purpose.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 17:10     ` Eli Zaretskii
@ 2014-01-02 17:28       ` Eric S. Raymond
  2014-01-02 17:56         ` Eli Zaretskii
                           ` (2 more replies)
  2014-01-02 19:48       ` Stefan Monnier
  2014-01-02 22:31       ` Lars Magne Ingebrigtsen
  2 siblings, 3 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-02 17:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Karl Fogel, emacs-devel

Eli Zaretskii <eliz@gnu.org>:
> I love bzr and hate git.  I hope Emacs will not switch from bzr in my
> lifetime, not to git anyway.

I can understand hating git; the UI is pretty nasty, and there is at least
a colorable argument that containerlessness is a bug.  I use git in spite 
of its defects, not because I don't know they're there.

I don't understand loving bzr; my experiences with it have been unpleasant. 
I would be interested to hear your apologia for it.  

Mind you, I think opposing git adoption is like trying to stop the tide
from coming in, at this point (and have my own mixed feelings about that).
But I am genuinely curious about your reasons.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: bzr is dying; Emacs needs to move
  2014-01-02  9:53 bzr is dying; Emacs needs to move Eric S. Raymond
                   ` (2 preceding siblings ...)
  2014-01-02 15:04 ` Richard Stallman
@ 2014-01-02 17:53 ` Sam Steingold
  2014-01-02 18:03   ` Samuel El-Borai
  2014-01-03 20:03 ` David Reitter
  4 siblings, 1 reply; 401+ messages in thread
From: Sam Steingold @ 2014-01-02 17:53 UTC (permalink / raw)
  To: emacs-devel

> * Eric S. Raymond <rfe@gulefhf.pbz> [2014-01-02 04:53:47 -0500]:
>
> git won the mindshare war.  I regret this - I would have preferred
> Mercurial, but it too is not looking real healthy these days.

I too prefer Mercurial.

What is your basis for asserting its ill health?
(this is a genuine request for information, all I know is that hg wins
against git in googlefight: http://www.googlefight.com/index.php?word1=hg&word2=git)

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1265
http://www.childpsy.net/ http://mideasttruth.com http://dhimmi.com
http://think-israel.org http://truepeace.org http://memri.org
My inferiority complex is not as good as yours.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 17:28       ` Eric S. Raymond
@ 2014-01-02 17:56         ` Eli Zaretskii
  2014-01-02 18:34           ` Apologia for bzr Eric S. Raymond
  2014-01-02 18:40           ` PROPOSAL: Move to git, now that bzr is no longer a req Bozhidar Batsov
  2014-01-02 18:02         ` Óscar Fuentes
  2014-01-03 17:54         ` Stephen J. Turnbull
  2 siblings, 2 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-02 17:56 UTC (permalink / raw)
  To: esr; +Cc: kfogel, emacs-devel

> Date: Thu, 2 Jan 2014 12:28:04 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: Karl Fogel <kfogel@red-bean.com>, emacs-devel@gnu.org
> 
> Eli Zaretskii <eliz@gnu.org>:
> > I love bzr and hate git.  I hope Emacs will not switch from bzr in my
> > lifetime, not to git anyway.
> 
> I can understand hating git; the UI is pretty nasty, and there is at least
> a colorable argument that containerlessness is a bug.  I use git in spite 
> of its defects, not because I don't know they're there.

I use git, too.  That's why I hate it, not because I've read about it
in some blog.

> I don't understand loving bzr; my experiences with it have been unpleasant. 
> I would be interested to hear your apologia for it.  

I don't know where to begin.  In a nutshell, it is simple to use, yet
powerful enough to give me several important workflows, and an easy
way to fix any mistakes I happen to make (although lately there are
almost none).  It works on Unix and on Windows alike, and does both
seamlessly.  The UI is orders of magnitude simpler and easier to grasp
that that of git.  The documentation, while it can use some serious
improvement, is nevertheless orders of magnitude more clear than git's
man pages, which seem to have been written by some math professor who
can produce rigorous formal papers, but doesn't have the slightest
idea how to write useful and efficient user documentation.

And of course, everything is similar but subtly different from bzr, to
the point that I need to consult my notes on every step, for fear of
making a mistake.  The switch from CVS to bzr was very simple by
comparison, even though the d in dVCS did require some mind shift.

> Mind you, I think opposing git adoption is like trying to stop the tide
> from coming in, at this point (and have my own mixed feelings about that).

You probably don't know me well enough, if you are surprised by my
trying to stop the tide.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 17:28       ` Eric S. Raymond
  2014-01-02 17:56         ` Eli Zaretskii
@ 2014-01-02 18:02         ` Óscar Fuentes
  2014-01-03 17:54         ` Stephen J. Turnbull
  2 siblings, 0 replies; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-02 18:02 UTC (permalink / raw)
  To: emacs-devel

"Eric S. Raymond" <esr@thyrsus.com> writes:

> Eli Zaretskii <eliz@gnu.org>:
>> I love bzr and hate git.  I hope Emacs will not switch from bzr in my
>> lifetime, not to git anyway.
>
> I can understand hating git; the UI is pretty nasty,
[snip]

Emacs has some superb front-ends for git. They do a great job at hiding
the underlying UI. I loathe git command line but Magit is among the
tools that makes me enjoy my job.




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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 17:53 ` Sam Steingold
@ 2014-01-02 18:03   ` Samuel El-Borai
  0 siblings, 0 replies; 401+ messages in thread
From: Samuel El-Borai @ 2014-01-02 18:03 UTC (permalink / raw)
  To: sds; +Cc: emacs-devel

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

2014/1/2 Sam Steingold <sds@gnu.org>
>
> (this is a genuine request for information, all I know is that hg wins
> against git in googlefight:
> http://www.googlefight.com/index.php?word1=hg&word2=git)


That's not really true
http://www.googlefight.com/index.php?lang=en_GB&word1=hg+dvcs&word2=git+dvcs

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
                       ` (4 preceding siblings ...)
  2014-01-02 17:17     ` Christoph
@ 2014-01-02 18:05     ` Bozhidar Batsov
  2014-01-02 19:05     ` Daniel Colascione
                       ` (3 subsequent siblings)
  9 siblings, 0 replies; 401+ messages in thread
From: Bozhidar Batsov @ 2014-01-02 18:05 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

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

+1 from me for migration to git.

On 2 January 2014 17:41, Karl Fogel <kfogel@red-bean.com> wrote:

> Richard Stallman <rms@gnu.org> writes:
> >I don't insist that Emacs should stay with bzr.  I chose to support
> >bzr because it was still a contender at the time.
>
> Now that RMS has dropped the bzr requirement, I propose we move to git.
> ESR has graciously offered to be technical lead for such a migration.
>
> Does anyone think we should stay on bzr, or choose a VCS other than git?
>
> If there is significant support for a different system, then I guess we
> should hold a poll.  But my (tentative) expectation is that there will
> be a pretty clear overall group preference for git -- I'm mainly posting
> this so there's a place for people to follow up to express their
> preference, so we can quickly get a sense of whether moving to git is
> the obvious call for the group as a whole, not just for those of us who
> have been been expressing that preference for some time.
>
> -Karl
>
>

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 17:27               ` Andreas Schwab
@ 2014-01-02 18:06                 ` Eric S. Raymond
  2014-01-02 18:12                   ` Eli Zaretskii
  2014-01-02 18:25                   ` Andreas Schwab
  0 siblings, 2 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-02 18:06 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Karl Fogel, emacs-devel

Andreas Schwab <schwab@linux-m68k.org>:
> "Eric S. Raymond" <esr@thyrsus.com> writes:
> 
> > Are you aware of any CVS conversion artifacts that should be cleaned
> > up?
> 
> I did a lot of cleanup when I converted the old CVS repository to bzr.

Great.  Less work for me. Maybe none; that would be nice.  

What did you use for the cleanup? reposurgeon?  Something else? 

> > I'm thinking of, in particular:
> >
> > 1. Unmerged commit cliques.
> 
> I don't know what that means.

Many converters don't do a perfect job of detecting CVS file commit cliques
that ought to be merged to changesets.  The symptom of this is runs of 
single-file commits with identical comments.  One way it can happen is if
the CVS exporter's commit-time-difference window was set too small.

(It has many other uses now, but I originally wrote reposurgeon to make
cleaning up this kind of artifact easy to do.)

> > 2. Out-of-place release tags.
> 
> I think I fixed them all up.

Oh, good.  One less tedious task.
 
> > 3. Fossil CVS commit references in commit comments.
> 
> I didn't change any of the commit comments, on purpose.

That is one philosophy. 

I, on the other hand, have way too much experience with repositories that
have geological strata of crap from multiple previous conversions in
them. My goal that for someone browsing a history I have converted,
the VCS transitions should be *invisible*.

This means:

1. Changing source-system ignore files to target-system conventions, not
just in the head revision but in the entire history.

3. Fixing up commit references in change comments so they are either in
the target system's native format or in a VCS-independent form.

We may decide these things should not be done in this case.  But I have
the tools and experience to do them, and that option should be on the
table.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 18:06                 ` Eric S. Raymond
@ 2014-01-02 18:12                   ` Eli Zaretskii
  2014-01-02 18:28                     ` Andreas Schwab
  2014-01-02 18:25                   ` Andreas Schwab
  1 sibling, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-02 18:12 UTC (permalink / raw)
  To: esr; +Cc: kfogel, schwab, emacs-devel

> Date: Thu, 2 Jan 2014 13:06:13 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: Karl Fogel <kfogel@red-bean.com>, emacs-devel@gnu.org
> 
> > > 1. Unmerged commit cliques.
> > 
> > I don't know what that means.
> 
> Many converters don't do a perfect job of detecting CVS file commit cliques
> that ought to be merged to changesets.  The symptom of this is runs of 
> single-file commits with identical comments.  One way it can happen is if
> the CVS exporter's commit-time-difference window was set too small.

When Emacs used CVS, we almost never committed several files at once
with the same commit message.  Every file was a separate commit.



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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 11:52 ` Thien-Thi Nguyen
  2014-01-02 12:20   ` Bozhidar Batsov
@ 2014-01-02 18:15   ` James Cloos
  2014-01-02 22:27     ` Thien-Thi Nguyen
  2014-01-04  2:14   ` Samuel Bronson
  2 siblings, 1 reply; 401+ messages in thread
From: James Cloos @ 2014-01-02 18:15 UTC (permalink / raw)
  To: emacs-devel

>>>>> "TN" == Thien-Thi Nguyen <ttn@gnu.org> writes:

TN> in my adventures w/ git-bzr, i have managed to do the initial clone,
TN> but 512M RAM is not enough to achieve the tantalizingly compact
TN> footprint that "git gc --aggressive" purports.  I'm a stubborn fool
TN> and will find a way eventually (suggestions from git-bzr / git
TN> experts welcome!),

Rent a large enough cloud box for an hour, do the git-bzr clone and
aggressive gc there, and then rsync the .git directory to your box.
Or tar and wget it.  Once downloaded, git checkout will complete things.

DigitalOcean.com, Atlantic.net, iwStack.com, as well as Goog and Amazon
have suitable offerings which would cost less than USD1 for the hour or
two it would take for the clone and gc.  (A swap file may be needed for
some of the hourly plans to complete the gc.)

-JimC
--
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 18:06                 ` Eric S. Raymond
  2014-01-02 18:12                   ` Eli Zaretskii
@ 2014-01-02 18:25                   ` Andreas Schwab
  1 sibling, 0 replies; 401+ messages in thread
From: Andreas Schwab @ 2014-01-02 18:25 UTC (permalink / raw)
  To: esr; +Cc: Karl Fogel, emacs-devel

"Eric S. Raymond" <esr@thyrsus.com> writes:

> What did you use for the cleanup? reposurgeon?  Something else? 

I've used my own scripts.

> Many converters don't do a perfect job of detecting CVS file commit cliques
> that ought to be merged to changesets.  The symptom of this is runs of 
> single-file commits with identical comments.  One way it can happen is if
> the CVS exporter's commit-time-difference window was set too small.

I don't think there are any such occurrences left.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:56     ` Bastien
  2014-01-02 16:12       ` Nathan Trapuzzano
  2014-01-02 17:10       ` Jose E. Marchesi
@ 2014-01-02 18:26       ` Ulrich Mueller
  2014-01-02 21:30       ` Mitchel Humpherys
  3 siblings, 0 replies; 401+ messages in thread
From: Ulrich Mueller @ 2014-01-02 18:26 UTC (permalink / raw)
  To: Bastien; +Cc: Karl Fogel, emacs-devel

>>>>> On Thu, 02 Jan 2014, Bastien  wrote:

> Karl Fogel <kfogel@red-bean.com> writes:
>> Does anyone think we should stay on bzr, or choose a VCS other than
>> git?

> +1 for using Git.

+1

Using Git would improve my workflow both for maintaining distro
specific patches and for submitting them upstream.

Ulrich



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 18:12                   ` Eli Zaretskii
@ 2014-01-02 18:28                     ` Andreas Schwab
  0 siblings, 0 replies; 401+ messages in thread
From: Andreas Schwab @ 2014-01-02 18:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, kfogel, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> When Emacs used CVS, we almost never committed several files at once
> with the same commit message.  Every file was a separate commit.

That is generally not a problem for convertors, since they have to use a
commit-time window anyway (even if you commit all files with one
command, commit times may still differ, especially for files in separate
directories).

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



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

* Apologia for bzr
  2014-01-02 17:56         ` Eli Zaretskii
@ 2014-01-02 18:34           ` Eric S. Raymond
  2014-01-02 20:44             ` Eli Zaretskii
  2014-01-02 18:40           ` PROPOSAL: Move to git, now that bzr is no longer a req Bozhidar Batsov
  1 sibling, 1 reply; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-02 18:34 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: kfogel, emacs-devel

Eli Zaretskii <eliz@gnu.org>:
> I don't know where to begin.  In a nutshell, [bzr] is simple to use, yet
> powerful enough to give me several important workflows, and an easy
> way to fix any mistakes I happen to make (although lately there are
> almost none).

git is powerful, and what it can do it can also undo; that part is a wash.
I don't think it is in any danger of being described as simple to use, though;
nobody but the blindest git fanboys are going to argue with you on that.

>                It works on Unix and on Windows alike, and does both
> seamlessly.

Not any more.  One of the reported symptoms of decline is that Windows 
support has fallen by the wayside.  I don't care about this, so I
haven't checked myself.

>       The UI is orders of magnitude simpler and easier to grasp
> that that of git.

Agreed, from my experience.  Mercurial's UI is better, too.

>                  The documentation, while it can use some serious
> improvement, is nevertheless orders of magnitude more clear than git's
> man pages, which seem to have been written by some math professor who
> can produce rigorous formal papers, but doesn't have the slightest
> idea how to write useful and efficient user documentation.

I think this is a bit unfair.  In my experience the git pages are
terrible as tutorials, but pretty clear as references once you have an
overall grasp of how things work.  They could easily be far, *far* worse.

And I have to say my experience with bzr documentation was little better.
Less forbiddingly dry and formal, perhaps, but with the same property that
you have to get your head inside bzr's assumptions before much of it makes
sense.  This may be unavoidable; DVCSes are not simple creatures.

> And of course, everything is similar but subtly different from bzr, to
> the point that I need to consult my notes on every step, for fear of
> making a mistake.  The switch from CVS to bzr was very simple by
> comparison, even though the d in dVCS did require some mind shift.

Fair enough.  Similar enough to trip you up is often worse than very different.
I don't think this counts as an argument for bzr, though; if you has absorbed
git first you might have sumilar feelings in an opposite direction.

> > Mind you, I think opposing git adoption is like trying to stop the tide
> > from coming in, at this point (and have my own mixed feelings about that).
> 
> You probably don't know me well enough, if you are surprised by my
> trying to stop the tide.

I don't know you personally, but we've been moving in the same circles
for enough decades that I'm...not very surprised.

If it helps any, I'm sympathetic.  I still wish Mercurial had won.  It
didn't.  I have faced reality and coped.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 17:56         ` Eli Zaretskii
  2014-01-02 18:34           ` Apologia for bzr Eric S. Raymond
@ 2014-01-02 18:40           ` Bozhidar Batsov
  2014-01-02 20:49             ` Eli Zaretskii
  1 sibling, 1 reply; 401+ messages in thread
From: Bozhidar Batsov @ 2014-01-02 18:40 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Eric Raymond, Karl Fogel, emacs-devel

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

On 2 January 2014 19:56, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Thu, 2 Jan 2014 12:28:04 -0500
> > From: "Eric S. Raymond" <esr@thyrsus.com>
> > Cc: Karl Fogel <kfogel@red-bean.com>, emacs-devel@gnu.org
> >
> > Eli Zaretskii <eliz@gnu.org>:
> > > I love bzr and hate git.  I hope Emacs will not switch from bzr in my
> > > lifetime, not to git anyway.
> >
> > I can understand hating git; the UI is pretty nasty, and there is at
> least
> > a colorable argument that containerlessness is a bug.  I use git in spite
> > of its defects, not because I don't know they're there.
>
> I use git, too.  That's why I hate it, not because I've read about it
> in some blog.
>
> > I don't understand loving bzr; my experiences with it have been
> unpleasant.
> > I would be interested to hear your apologia for it.
>
> I don't know where to begin.  In a nutshell, it is simple to use, yet
> powerful enough to give me several important workflows, and an easy
> way to fix any mistakes I happen to make (although lately there are
> almost none).  It works on Unix and on Windows alike, and does both
> seamlessly.


Try running bzr with Python 3 for instance... Probably this is never going
to happen. I took quite some time for
bzr to become compatible with Python 2.7. Git works pretty well on Windows
these days, but admitted this was not the situation
few years ago.


> The UI is orders of magnitude simpler and easier to grasp
> that that of git.


Is this so? Many things in bzr seem like black magic to me. Such assertions
are extremely subjective, of course.


> The documentation, while it can use some serious
> improvement, is nevertheless orders of magnitude more clear than git's
> man pages, which seem to have been written by some math professor who
> can produce rigorous formal papers, but doesn't have the slightest
> idea how to write useful and efficient user documentation.
>

I think the git man pages are pretty decent and the online docs are superb.


>
> And of course, everything is similar but subtly different from bzr, to
> the point that I need to consult my notes on every step, for fear of
> making a mistake.  The switch from CVS to bzr was very simple by
> comparison, even though the d in dVCS did require some mind shift.
>

I have the same problem using bzr - as everything is different from git in
subtle and not
so subtle ways.


>
> > Mind you, I think opposing git adoption is like trying to stop the tide
> > from coming in, at this point (and have my own mixed feelings about
> that).
>
> You probably don't know me well enough, if you are surprised by my
> trying to stop the tide.
>

bzr has some pretty serious weaknesses - its conflict resolution mechanism
is terrible for instance.
On the Emacs side of things - git users can benefit from the power of magit
and with bzr we have only vc-dir to work with.
I think this is a tide not worth fighting. I had some problems years ago
migrating from SVN (and the associated mindset) to
git, but once I grokked git I've never looked back.

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
                       ` (5 preceding siblings ...)
  2014-01-02 18:05     ` Bozhidar Batsov
@ 2014-01-02 19:05     ` Daniel Colascione
  2014-01-02 20:49       ` Paul Eggert
  2014-01-02 22:54     ` Michael Albinus
                       ` (2 subsequent siblings)
  9 siblings, 1 reply; 401+ messages in thread
From: Daniel Colascione @ 2014-01-02 19:05 UTC (permalink / raw)
  To: Karl Fogel, emacs-devel

On 01/02/2014 07:41 AM, Karl Fogel wrote:
> Now that RMS has dropped the bzr requirement, I propose we move to git.
> ESR has graciously offered to be technical lead for such a migration.

+1 for git. Mercurial would be acceptable as well, but I prefer git: hg 
got branching wrong and git got it right. Sure, git's UI is finnicky, 
but it's the emerging standard, and there's an incredibly rich ecosystem 
built around it.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 17:10     ` Eli Zaretskii
  2014-01-02 17:28       ` Eric S. Raymond
@ 2014-01-02 19:48       ` Stefan Monnier
  2014-01-02 19:51         ` Daniel Colascione
  2014-01-02 20:58         ` Eli Zaretskii
  2014-01-02 22:31       ` Lars Magne Ingebrigtsen
  2 siblings, 2 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-02 19:48 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Karl Fogel, emacs-devel

> I love bzr and hate git.  I hope Emacs will not switch from bzr in my
> lifetime, not to git anyway.

I've learned to appreciate Bzr and have trouble reproducing my
workflow with Git (especially the shared repository which Git seems only
able to somewhat approximate in a half-assed way, not mentioning the
lightweight checkouts which Git seems unable to handle).

But I really hope you don't die before Emacs switches to Git, because
I think this switch will happen pretty soon.


        Stefan



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 19:48       ` Stefan Monnier
@ 2014-01-02 19:51         ` Daniel Colascione
  2014-01-02 21:05           ` Stefan Monnier
  2014-01-02 20:58         ` Eli Zaretskii
  1 sibling, 1 reply; 401+ messages in thread
From: Daniel Colascione @ 2014-01-02 19:51 UTC (permalink / raw)
  To: Stefan Monnier, Eli Zaretskii; +Cc: Karl Fogel, emacs-devel

On 01/02/2014 11:48 AM, Stefan Monnier wrote:
> I've learned to appreciate Bzr and have trouble reproducing my
> workflow with Git (especially the shared repository which Git seems only
> able to somewhat approximate in a half-assed way, not mentioning the
> lightweight checkouts which Git seems unable to handle).

What do you mean? git clone will use hardlinks when cloning a local 
repository, so it's very fast for me. Isn't speed (and some space 
efficiency) the reason to use bzr shared repositories?



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

* Re: Apologia for bzr
  2014-01-02 18:34           ` Apologia for bzr Eric S. Raymond
@ 2014-01-02 20:44             ` Eli Zaretskii
  2014-01-02 20:51               ` Eric S. Raymond
                                 ` (2 more replies)
  0 siblings, 3 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-02 20:44 UTC (permalink / raw)
  To: esr; +Cc: kfogel, emacs-devel

> Date: Thu, 2 Jan 2014 13:34:32 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: kfogel@red-bean.com, emacs-devel@gnu.org
> 
> >                It works on Unix and on Windows alike, and does both
> > seamlessly.
> 
> Not any more.  One of the reported symptoms of decline is that Windows 
> support has fallen by the wayside.  I don't care about this, so I
> haven't checked myself.

Don't believe it.  I use bzr on Windows all the time.

> >                  The documentation, while it can use some serious
> > improvement, is nevertheless orders of magnitude more clear than git's
> > man pages, which seem to have been written by some math professor who
> > can produce rigorous formal papers, but doesn't have the slightest
> > idea how to write useful and efficient user documentation.
> 
> I think this is a bit unfair.  In my experience the git pages are
> terrible as tutorials, but pretty clear as references once you have an
> overall grasp of how things work.

They are impenetrable.  The very first words will get you in a "WTF?"
mode.  Just try to read the first sentences of any random man page
through a newbie's eyes.  No term is ever explained before used -- do
these guys even understand what it means to _explain_ things?  It's as
if you need to learn a whole new language.  Here, a typical example
from git-commit:

  DESCRIPTION 

  Stores the current contents of the index in a new commit along with
   a log message from the user describing the changes.

Huh?  "Contents of the index"?  I used to know what commit was, now I
don't.

> They could easily be far, *far* worse.

Yeah, but that's hardly a compliment.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 19:05     ` Daniel Colascione
@ 2014-01-02 20:49       ` Paul Eggert
  0 siblings, 0 replies; 401+ messages in thread
From: Paul Eggert @ 2014-01-02 20:49 UTC (permalink / raw)
  To: Karl Fogel, emacs-devel

+1 for git as well.  It has its flaws but it's significantly better
for my usage.  Disclaimer: I'm biased, as the lead git developer
is a friend of mine.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 18:40           ` PROPOSAL: Move to git, now that bzr is no longer a req Bozhidar Batsov
@ 2014-01-02 20:49             ` Eli Zaretskii
  2014-01-02 21:22               ` Óscar Fuentes
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-02 20:49 UTC (permalink / raw)
  To: Bozhidar Batsov; +Cc: esr, kfogel, emacs-devel

> Date: Thu, 2 Jan 2014 20:40:40 +0200
> From: Bozhidar Batsov <bozhidar@batsov.com>
> Cc: Eric Raymond <esr@thyrsus.com>, Karl Fogel <kfogel@red-bean.com>, 
> 	emacs-devel <emacs-devel@gnu.org>
> 
> Try running bzr with Python 3 for instance... Probably this is never going
> to happen. I took quite some time for
> bzr to become compatible with Python 2.7.

Why should I care what version of Python is used under the hood?
(Mine is 2.6.6, btw.)

> Git works pretty well on Windows these days

Pretty well my foot: it requires a complete separate shell set up with
a separate PATH, to keep its singular version of MSYS out of my main
development environment.

> bzr has some pretty serious weaknesses - its conflict resolution mechanism
> is terrible for instance.

There's a single command to learn, and once you done that, you will
never have any problems with conflicts.

> On the Emacs side of things - git users can benefit from the power of magit
> and with bzr we have only vc-dir to work with.
> I think this is a tide not worth fighting. I had some problems years ago
> migrating from SVN (and the associated mindset) to
> git, but once I grokked git I've never looked back.

Didn't I tell that I do use git?



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

* Re: Apologia for bzr
  2014-01-02 20:44             ` Eli Zaretskii
@ 2014-01-02 20:51               ` Eric S. Raymond
  2014-01-02 21:03                 ` Eli Zaretskii
  2014-01-02 21:14               ` Toby Cubitt
  2014-01-03  9:44               ` Tassilo Horn
  2 siblings, 1 reply; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-02 20:51 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: kfogel, emacs-devel

Eli Zaretskii <eliz@gnu.org>:
> > Date: Thu, 2 Jan 2014 13:34:32 -0500
> > From: "Eric S. Raymond" <esr@thyrsus.com>
> > Cc: kfogel@red-bean.com, emacs-devel@gnu.org
> > 
> > >                It works on Unix and on Windows alike, and does both
> > > seamlessly.
> > 
> > Not any more.  One of the reported symptoms of decline is that Windows 
> > support has fallen by the wayside.  I don't care about this, so I
> > haven't checked myself.
> 
> Don't believe it.  I use bzr on Windows all the time.

In newer versions, I mean.
 
> They are impenetrable.

I didn't find them so.  Tough, but not impemetrable.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 19:48       ` Stefan Monnier
  2014-01-02 19:51         ` Daniel Colascione
@ 2014-01-02 20:58         ` Eli Zaretskii
  2014-01-03  6:33           ` joakim
  1 sibling, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-02 20:58 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: kfogel, emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Karl Fogel <kfogel@red-bean.com>,  emacs-devel@gnu.org
> Date: Thu, 02 Jan 2014 14:48:56 -0500
> 
> But I really hope you don't die before Emacs switches to Git

I might die of sadness.



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

* Re: Apologia for bzr
  2014-01-02 20:51               ` Eric S. Raymond
@ 2014-01-02 21:03                 ` Eli Zaretskii
  2014-01-02 21:15                   ` Juanma Barranquero
  2014-01-02 21:31                   ` Óscar Fuentes
  0 siblings, 2 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-02 21:03 UTC (permalink / raw)
  To: esr; +Cc: kfogel, emacs-devel

> Date: Thu, 2 Jan 2014 15:51:54 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: kfogel@red-bean.com, emacs-devel@gnu.org
> 
> Eli Zaretskii <eliz@gnu.org>:
> > > Date: Thu, 2 Jan 2014 13:34:32 -0500
> > > From: "Eric S. Raymond" <esr@thyrsus.com>
> > > Cc: kfogel@red-bean.com, emacs-devel@gnu.org
> > > 
> > > >                It works on Unix and on Windows alike, and does both
> > > > seamlessly.
> > > 
> > > Not any more.  One of the reported symptoms of decline is that Windows 
> > > support has fallen by the wayside.  I don't care about this, so I
> > > haven't checked myself.
> > 
> > Don't believe it.  I use bzr on Windows all the time.
> 
> In newer versions, I mean.

Yes, I mean that too.  Mine is 2.6.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 19:51         ` Daniel Colascione
@ 2014-01-02 21:05           ` Stefan Monnier
  2014-01-02 21:53             ` David De La Harpe Golden
  0 siblings, 1 reply; 401+ messages in thread
From: Stefan Monnier @ 2014-01-02 21:05 UTC (permalink / raw)
  To: Daniel Colascione; +Cc: Karl Fogel, Eli Zaretskii, emacs-devel

>> I've learned to appreciate Bzr and have trouble reproducing my
>> workflow with Git (especially the shared repository which Git seems only
>> able to somewhat approximate in a half-assed way, not mentioning the
>> lightweight checkouts which Git seems unable to handle).
> What do you mean? git clone will use hardlinks when cloning a local
> repository, so it's very fast for me.

Yes, it's shared when you "git clone" but 3 years down the line, there's
not much sharing left.  I.e. the sharing is only approximated.

> Isn't speed (and some space efficiency) the reason to use bzr
> shared repositories?

Yes, speed and space (inefficient space usage is a problem both for
speed and for backup purposes).


        Stefan



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

* Re: Apologia for bzr
  2014-01-02 20:44             ` Eli Zaretskii
  2014-01-02 20:51               ` Eric S. Raymond
@ 2014-01-02 21:14               ` Toby Cubitt
  2014-01-03  8:57                 ` Eli Zaretskii
  2014-01-03 14:37                 ` Apologia for bzr Richard Stallman
  2014-01-03  9:44               ` Tassilo Horn
  2 siblings, 2 replies; 401+ messages in thread
From: Toby Cubitt @ 2014-01-02 21:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, kfogel, emacs-devel

On Thu, Jan 02, 2014 at 10:44:03PM +0200, Eli Zaretskii wrote:
> > >                  The documentation, while it can use some serious
> > > improvement, is nevertheless orders of magnitude more clear than git's
> > > man pages, which seem to have been written by some math professor who
> > > can produce rigorous formal papers, but doesn't have the slightest
> > > idea how to write useful and efficient user documentation.
> > 
> > I think this is a bit unfair.  In my experience the git pages are
> > terrible as tutorials, but pretty clear as references once you have an
> > overall grasp of how things work.
> 
> They are impenetrable.  The very first words will get you in a "WTF?"
> mode.  Just try to read the first sentences of any random man page
> through a newbie's eyes.  No term is ever explained before used -- do
> these guys even understand what it means to _explain_ things?  It's as
> if you need to learn a whole new language.

This is the Emacs mailing list I'm on, right? Emacs of "find" a file to
open it, files live in "buffers", "windows" aren't windows but "frames"
are, "kill" to cut and "yank" to paste fame? ;-)

> Here, a typical example from git-commit:
> 
>   DESCRIPTION 
> 
>   Stores the current contents of the index in a new commit along with
>    a log message from the user describing the changes.
> 
> Huh?  "Contents of the index"?  I used to know what commit was, now I
> don't.

The same could be said of most unix man pages. Good man pages aren't
supposed to be tutorials. They're supposed to be reference manuals, for
looking up a terse and comprehensive description of usage, options,
switches, flags etc. Or at least, that's how I've always understood (and
used) them.

And there *are* decent git tutorials available from the official web site
that explain things without assuming you already know how git works
(e.g. http://git-scm.com/book isn't bad).

I'm not a great fan of the git UI. But complaining that the git man pages
are precisely what man pages are supposed to be is a little disingenuous.

Or maybe my problem is I'm a maths professor :)

Toby
-- 
Dr T. S. Cubitt
Royal Society University Research Fellow
and Fellow of Churchill College, Cambridge
Centre for Quantum Information
DAMTP, University of Cambridge

email: tsc25@cantab.net
web:   www.dr-qubit.org



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

* Re: Apologia for bzr
  2014-01-02 21:03                 ` Eli Zaretskii
@ 2014-01-02 21:15                   ` Juanma Barranquero
  2014-01-03  7:47                     ` Eli Zaretskii
  2014-01-02 21:31                   ` Óscar Fuentes
  1 sibling, 1 reply; 401+ messages in thread
From: Juanma Barranquero @ 2014-01-02 21:15 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Eric Raymond, Karl Fogel, Emacs developers

On Thu, Jan 2, 2014 at 10:03 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> Yes, I mean that too.  Mine is 2.6.

2.6b1, unless you build your own Windows binary. Neither the 2.6b2 nor
the official 2.6 releases have been distributed as Windows binaries.
As you well know.

I happen to like Bazaar and dislike git, but I don't think supporting
Windows is a strong point of the Bazaar project (nor git's, truth be
told).

    J



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 20:49             ` Eli Zaretskii
@ 2014-01-02 21:22               ` Óscar Fuentes
  2014-01-03  7:49                 ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-02 21:22 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> Git works pretty well on Windows these days
>
> Pretty well my foot: it requires a complete separate shell set up with
> a separate PATH, to keep its singular version of MSYS out of my main
> development environment.

This is not correct. You only need git.cmd in the PATH and, IIRC, that
is avoidable too if you use git from Emacs interfaces (VC and/or Magit).

As a curiosity, I'll mention that MSYSGit git.exe doesn't depend on
MSYS.dll (it is a "native" Windows executable.) It would be interesting
to know which functionality is missing if you remove the stuff that
depends on MSYS.dll from MSYSGit package.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:56     ` Bastien
                         ` (2 preceding siblings ...)
  2014-01-02 18:26       ` Ulrich Mueller
@ 2014-01-02 21:30       ` Mitchel Humpherys
  2014-01-02 22:19         ` Sebastian Wiesner
  3 siblings, 1 reply; 401+ messages in thread
From: Mitchel Humpherys @ 2014-01-02 21:30 UTC (permalink / raw)
  To: Bastien; +Cc: Karl Fogel, emacs-devel

On Thu, Jan 02 2014 at 07:56:34 AM, Bastien <bzg@gnu.org> wrote:
> Karl Fogel <kfogel@red-bean.com> writes:
>
>> Does anyone think we should stay on bzr, or choose a VCS other than
>> git?
>
> +1 for using Git.

+1

I recently submitted my first (trivial) patch to Emacs. It was painful
enough to deter me from making a few other changes that I've wanted to
make recently... In contrast, I shoot off "drive-by" patches to
third-party Elisp projects about once a week because it's dead simple
with Git. I know that I could become proficient in bzr with a little
effort but it's just not worth the time investment since there are only
2 or 3 projects that I care about using bzr, while everyone else is
using git.


-- 
Mitch



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

* Re: Apologia for bzr
  2014-01-02 21:03                 ` Eli Zaretskii
  2014-01-02 21:15                   ` Juanma Barranquero
@ 2014-01-02 21:31                   ` Óscar Fuentes
  1 sibling, 0 replies; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-02 21:31 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> > Don't believe it.  I use bzr on Windows all the time.
>> 
>> In newer versions, I mean.
>
> Yes, I mean that too.  Mine is 2.6.

My recalls from the last time I browsed the bzr mailing lists (possibly
two years ago) is that the few remaining maintainers are not terribly
interested on enhancing bzr (for any platform) and simply unconcerned
about Windows support.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 21:05           ` Stefan Monnier
@ 2014-01-02 21:53             ` David De La Harpe Golden
  2014-01-02 22:59               ` Andreas Schwab
  2014-01-03  2:46               ` Stefan Monnier
  0 siblings, 2 replies; 401+ messages in thread
From: David De La Harpe Golden @ 2014-01-02 21:53 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Karl Fogel, Eli Zaretskii, Daniel Colascione, emacs-devel

On 02/01/14 21:05, Stefan Monnier wrote:

> Yes, it's shared when you "git clone" but 3 years down the line, there's
> not much sharing left.  I.e. the sharing is only approximated.
>

Hmm. Is it really git-new-workdir you're wanting? So you can have a few 
working trees for different branches from the one repo live at once?

On a typical debian box, it'll be squirreled away in
/usr/share/doc/git/contrib/workdir/git-new-workdir

(along with a whole bunch of other sorta-useful probably-working things 
that haven't quite made it into git's grab-bag of official commands.)

Someone's got a blog post here about it:

http://nuclearsquid.com/writings/git-new-workdir/





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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 21:30       ` Mitchel Humpherys
@ 2014-01-02 22:19         ` Sebastian Wiesner
  0 siblings, 0 replies; 401+ messages in thread
From: Sebastian Wiesner @ 2014-01-02 22:19 UTC (permalink / raw)
  To: emacs-devel

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

Am 02.01.2014 22:30 schrieb "Mitchel Humpherys" <mitch.special@gmail.com>:
>
> On Thu, Jan 02 2014 at 07:56:34 AM, Bastien <bzg@gnu.org> wrote:
> > Karl Fogel <kfogel@red-bean.com> writes:
> >
> >> Does anyone think we should stay on bzr, or choose a VCS other than
> >> git?
> >
> > +1 for using Git.
>
> +1
>
> I recently submitted my first (trivial) patch to Emacs. It was painful
> enough to deter me from making a few other changes that I've wanted to
> make recently... In contrast, I shoot off "drive-by" patches to
> third-party Elisp projects about once a week because it's dead simple
> with Git. I know that I could become proficient in bzr with a little
> effort but it's just not worth the time investment since there are only
> 2 or 3 projects that I care about using bzr, while everyone else is
> using git.

+1

That's exactly the situation I found in.  I contributed my first patch some
weeks ago, and found Bazaar alone daunting enough to put me off making any
further contributions.

>
>
> --
> Mitch
>

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

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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 18:15   ` James Cloos
@ 2014-01-02 22:27     ` Thien-Thi Nguyen
  2014-01-02 23:57       ` James Cloos
  2014-01-03  6:15       ` joakim
  0 siblings, 2 replies; 401+ messages in thread
From: Thien-Thi Nguyen @ 2014-01-02 22:27 UTC (permalink / raw)
  To: James Cloos; +Cc: emacs-devel

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

() James Cloos <cloos@jhcloos.com>
() Thu, 02 Jan 2014 13:15:35 -0500

   > [512M not enough for "git gc --aggressive"]

   Rent a large enough cloud box for an hour, do the git-bzr clone
   and aggressive gc there, and then rsync the .git directory to
   your box.  Or tar and wget it.  Once downloaded, git checkout
   will complete things.

   DigitalOcean.com, Atlantic.net, iwStack.com, as well as Goog
   and Amazon have suitable offerings which would cost less than
   USD1 for the hour or two it would take for the clone and gc.

Thanks for the tip.  Using such services never occurred to me.

   (A swap file may be needed for some of the hourly plans to
   complete the gc.)

Do you happen to know the maximum transient memory usage for
"git gc --aggressive"?

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 17:10     ` Eli Zaretskii
  2014-01-02 17:28       ` Eric S. Raymond
  2014-01-02 19:48       ` Stefan Monnier
@ 2014-01-02 22:31       ` Lars Magne Ingebrigtsen
  2014-01-03 17:09         ` Ted Zlatanov
  2 siblings, 1 reply; 401+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-01-02 22:31 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Karl Fogel, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> I love bzr and hate git.  I hope Emacs will not switch from bzr in my
> lifetime, not to git anyway.

I have no fondness for git (it has a way of complicating things
unnecessarily), but I do think it would be a good idea to switch over.
And if we do make the switch, I hope your hope doesn't come true.  >"?

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



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
                       ` (6 preceding siblings ...)
  2014-01-02 19:05     ` Daniel Colascione
@ 2014-01-02 22:54     ` Michael Albinus
  2014-01-02 23:32     ` Xue Fuqiao
  2014-01-02 23:55     ` Stephen Eglen
  9 siblings, 0 replies; 401+ messages in thread
From: Michael Albinus @ 2014-01-02 22:54 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

> Does anyone think we should stay on bzr, or choose a VCS other than git?

+1 for git. No tremendous technical reason (I can live with any VCS
supported by vc.el), but Tramp lives already in git, and the sync
between Tramp and Emacs might be easier then.

> -Karl

Best regards, Michael.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 21:53             ` David De La Harpe Golden
@ 2014-01-02 22:59               ` Andreas Schwab
  2014-01-03  2:46               ` Stefan Monnier
  1 sibling, 0 replies; 401+ messages in thread
From: Andreas Schwab @ 2014-01-02 22:59 UTC (permalink / raw)
  To: David De La Harpe Golden
  Cc: Karl Fogel, Eli Zaretskii, Daniel Colascione, Stefan Monnier,
	emacs-devel

David De La Harpe Golden <david@harpegolden.net> writes:

> Hmm. Is it really git-new-workdir you're wanting? So you can have a few
> working trees for different branches from the one repo live at once?
>
> On a typical debian box, it'll be squirreled away in
> /usr/share/doc/git/contrib/workdir/git-new-workdir

FWIW, there is work in progress making git new-workdir a first class git
citizen (ie. moving its functionality to git-core and fixing its
shortcomings).

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
                       ` (7 preceding siblings ...)
  2014-01-02 22:54     ` Michael Albinus
@ 2014-01-02 23:32     ` Xue Fuqiao
  2014-01-02 23:55     ` Stephen Eglen
  9 siblings, 0 replies; 401+ messages in thread
From: Xue Fuqiao @ 2014-01-02 23:32 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

On Thu, Jan 2, 2014 at 11:41 PM, Karl Fogel <kfogel@red-bean.com> wrote:
> Now that RMS has dropped the bzr requirement, I propose we move to git.
> ESR has graciously offered to be technical lead for such a migration.
>
> Does anyone think we should stay on bzr, or choose a VCS other than git?

+1 for using Git.  IIRC there are major bugs which have been in their
bug-tracker for years now.

And this problem has troubled me for a long time:
http://thread.gmane.org/gmane.comp.version-control.bazaar-ng.general/75075

-- 
http://www.gnu.org/software/emacs/



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
                       ` (8 preceding siblings ...)
  2014-01-02 23:32     ` Xue Fuqiao
@ 2014-01-02 23:55     ` Stephen Eglen
  2014-01-03  5:27       ` Thierry Volpiatto
  9 siblings, 1 reply; 401+ messages in thread
From: Stephen Eglen @ 2014-01-02 23:55 UTC (permalink / raw)
  To: emacs-devel

On Thu, Jan 02 2014, Karl Fogel wrote:

> If there is significant support for a different system, then I guess we
> should hold a poll.  But my (tentative) expectation is that there will
> be a pretty clear overall group preference for git -- I'm mainly posting
> this so there's a place for people to follow up to express their
> preference, so we can quickly get a sense of whether moving to git is
> the obvious call for the group as a whole, not just for those of us who
> have been been expressing that preference for some time.

+1 for git.

John Wiegley's posts in this thread convinced me of this last year, and
it seems nothing has changed to weaken the usefulness of git.

  http://comments.gmane.org/gmane.emacs.devel/158242

Stephen




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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 22:27     ` Thien-Thi Nguyen
@ 2014-01-02 23:57       ` James Cloos
  2014-01-03  0:05         ` James Cloos
  2014-01-03  9:57         ` Andreas Schwab
  2014-01-03  6:15       ` joakim
  1 sibling, 2 replies; 401+ messages in thread
From: James Cloos @ 2014-01-02 23:57 UTC (permalink / raw)
  To: emacs-devel

>>>>> "TN" == Thien-Thi Nguyen <ttn@gnu.org> writes:

TN> Do you happen to know the maximum transient memory usage for
TN> "git gc --aggressive"?

I just tried it in a clone of git://git.savannah.gnu.org/emacs,
which should be similar.

Before the gc, .git/objects used about 1 Gig of disk space, per du(1).

Git gc --aggressive allocated just over 5 (binary) Gig of VM, and
dirtied most of it, to compress 733141 objects, according to top(1).

An 8 Gig VM should do it without paging.
(DO's price for an 8 Gig is 11.9 cents/hr; Atlantic's is about the same.)

The gnu time(1) output is:

	Command being timed: "git gc --aggressive"
	User time (seconds): 7540.15
	System time (seconds): 22.91
	Percent of CPU this job got: 346%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 36:21.75
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 19393776
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 12574
	Minor (reclaiming a frame) page faults: 6147439
	Voluntary context switches: 105240
	Involuntary context switches: 1550786
	Swaps: 0
	File system inputs: 3066072
	File system outputs: 428408
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

-JimC
--
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6



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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 23:57       ` James Cloos
@ 2014-01-03  0:05         ` James Cloos
  2014-01-03  9:57         ` Andreas Schwab
  1 sibling, 0 replies; 401+ messages in thread
From: James Cloos @ 2014-01-03  0:05 UTC (permalink / raw)
  To: emacs-devel

>>>>> "JC" == James Cloos <cloos@jhcloos.com> writes:

JC> Before the gc, .git/objects used about 1 Gig of disk space, per du(1).

And I forgot to add, after the gc --agressive, du(1) reports 209M.

So, if you have at least 1.5M worth of bandwidth, the clone + gc + download
should fit into one hour of VM time.

-JimC
--
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 21:53             ` David De La Harpe Golden
  2014-01-02 22:59               ` Andreas Schwab
@ 2014-01-03  2:46               ` Stefan Monnier
  1 sibling, 0 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-03  2:46 UTC (permalink / raw)
  To: David De La Harpe Golden
  Cc: Karl Fogel, Eli Zaretskii, Daniel Colascione, emacs-devel

> Hmm.  Is it really git-new-workdir you're wanting?

Yes, but without its shortcomings.


        Stefan



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 23:55     ` Stephen Eglen
@ 2014-01-03  5:27       ` Thierry Volpiatto
  2014-01-03  7:39         ` Michael Albinus
  2014-01-03 17:50         ` Eric S. Raymond
  0 siblings, 2 replies; 401+ messages in thread
From: Thierry Volpiatto @ 2014-01-03  5:27 UTC (permalink / raw)
  To: emacs-devel


+1 for git.
I have stopped contributing to emacs to avoid using bzr.
I have even removed myself from emacs savanah.
Also would be great to stop writing unuseful changelog files.

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 




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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 22:27     ` Thien-Thi Nguyen
  2014-01-02 23:57       ` James Cloos
@ 2014-01-03  6:15       ` joakim
  2014-01-03  9:05         ` Rüdiger Sonderfeld
  1 sibling, 1 reply; 401+ messages in thread
From: joakim @ 2014-01-03  6:15 UTC (permalink / raw)
  To: emacs-devel

Thien-Thi Nguyen <ttn@gnu.org> writes:

> () James Cloos <cloos@jhcloos.com>
> () Thu, 02 Jan 2014 13:15:35 -0500
>
>    > [512M not enough for "git gc --aggressive"]
>
>    Rent a large enough cloud box for an hour, do the git-bzr clone
>    and aggressive gc there, and then rsync the .git directory to
>    your box.  Or tar and wget it.  Once downloaded, git checkout
>    will complete things.
>
>    DigitalOcean.com, Atlantic.net, iwStack.com, as well as Goog
>    and Amazon have suitable offerings which would cost less than
>    USD1 for the hour or two it would take for the clone and gc.
>
> Thanks for the tip.  Using such services never occurred to me.
>
>    (A swap file may be needed for some of the hourly plans to
>    complete the gc.)
>
> Do you happen to know the maximum transient memory usage for
> "git gc --aggressive"?


I have a box at www.verona.se where i could offer such a service free of
charge to emacs devs, if anyone wants it. It sits in my cupboard, but
has 100mbit link.


I already have plenty of emacs stuff on that box.
-- 
Joakim Verona



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 20:58         ` Eli Zaretskii
@ 2014-01-03  6:33           ` joakim
  2014-01-03  8:10             ` Eli Zaretskii
  2014-01-03 11:14             ` Juanma Barranquero
  0 siblings, 2 replies; 401+ messages in thread
From: joakim @ 2014-01-03  6:33 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: kfogel, Stefan Monnier, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Stefan Monnier <monnier@iro.umontreal.ca>
>> Cc: Karl Fogel <kfogel@red-bean.com>,  emacs-devel@gnu.org
>> Date: Thu, 02 Jan 2014 14:48:56 -0500
>> 
>> But I really hope you don't die before Emacs switches to Git
>
> I might die of sadness.
>

Keeping Eli happy is imho a pretty important use case for the vcs used
by Emacs. No, really. We don't have many hard-core contributors.

I prefer git, but I think I get along pretty well with the git-bzr
bridge.

Perhaps it would be possible to use bzr on top of a git repo, such that
everyone can be happy?
-- 
Joakim Verona



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  5:27       ` Thierry Volpiatto
@ 2014-01-03  7:39         ` Michael Albinus
  2014-01-03  9:07           ` Thierry Volpiatto
                             ` (3 more replies)
  2014-01-03 17:50         ` Eric S. Raymond
  1 sibling, 4 replies; 401+ messages in thread
From: Michael Albinus @ 2014-01-03  7:39 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: emacs-devel

Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:

> Also would be great to stop writing unuseful changelog files.

They are useful. A tar distribution does not contain the git repo with
the history of commitments.

Another question is, whether we still want to write ChangeLogs manually,
or whether we want to extract them from commit comments. That's not such
easy, see all the "fix typo" comments.

Best regards, Michael.



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

* Re: Apologia for bzr
  2014-01-02 21:15                   ` Juanma Barranquero
@ 2014-01-03  7:47                     ` Eli Zaretskii
  2014-01-03 11:11                       ` Juanma Barranquero
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03  7:47 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: esr, kfogel, emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Thu, 2 Jan 2014 22:15:58 +0100
> Cc: Eric Raymond <esr@thyrsus.com>, Karl Fogel <kfogel@red-bean.com>, 
> 	Emacs developers <emacs-devel@gnu.org>
> 
> On Thu, Jan 2, 2014 at 10:03 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > Yes, I mean that too.  Mine is 2.6.
> 
> 2.6b1, unless you build your own Windows binary.

Yes, but so what? there were no changes since that beta.

> I don't think supporting Windows is a strong point of the Bazaar
> project

It is for me.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 21:22               ` Óscar Fuentes
@ 2014-01-03  7:49                 ` Eli Zaretskii
  2014-01-03 14:53                   ` Óscar Fuentes
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03  7:49 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Thu, 02 Jan 2014 22:22:17 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Git works pretty well on Windows these days
> >
> > Pretty well my foot: it requires a complete separate shell set up with
> > a separate PATH, to keep its singular version of MSYS out of my main
> > development environment.
> 
> This is not correct. You only need git.cmd in the PATH and, IIRC, that
> is avoidable too if you use git from Emacs interfaces (VC and/or Magit).

That is only a solution if you don't use git from the command line.

> As a curiosity, I'll mention that MSYSGit git.exe doesn't depend on
> MSYS.dll

No, but some git commands need Bash and shell scripts, and thus invoke
MSYS programs that do need the MSYS DLL.

> It would be interesting to know which functionality is missing if
> you remove the stuff that depends on MSYS.dll from MSYSGit package.

If someone knows where to find this information, please speak up.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  6:33           ` joakim
@ 2014-01-03  8:10             ` Eli Zaretskii
  2014-01-03 11:14             ` Juanma Barranquero
  1 sibling, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03  8:10 UTC (permalink / raw)
  To: joakim; +Cc: kfogel, monnier, emacs-devel

> From: joakim@verona.se
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>,  kfogel@red-bean.com,  emacs-devel@gnu.org
> Date: Fri, 03 Jan 2014 07:33:00 +0100
> 
> Keeping Eli happy is imho a pretty important use case for the vcs used
> by Emacs. No, really. We don't have many hard-core contributors.

Thank you.

> Perhaps it would be possible to use bzr on top of a git repo, such that
> everyone can be happy?

No, this isn't workable.  I tried that in the past with several git
repositories.  The bzr-git plugin is unfinished (the biggest
shortcoming is that it doesn't support pushing), and its developer
officially announced he no longer works on it.



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

* Re: Apologia for bzr
  2014-01-02 21:14               ` Toby Cubitt
@ 2014-01-03  8:57                 ` Eli Zaretskii
  2014-01-03  9:21                   ` Yuri Khan
  2014-01-03 20:34                   ` Apologia for bzr Stephen J. Turnbull
  2014-01-03 14:37                 ` Apologia for bzr Richard Stallman
  1 sibling, 2 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03  8:57 UTC (permalink / raw)
  To: Toby Cubitt; +Cc: esr, kfogel, emacs-devel

> Date: Thu, 2 Jan 2014 21:14:52 +0000
> From: Toby Cubitt <tsc25@cantab.net>
> Cc: esr@thyrsus.com, kfogel@red-bean.com, emacs-devel@gnu.org
> 
> > They are impenetrable.  The very first words will get you in a "WTF?"
> > mode.  Just try to read the first sentences of any random man page
> > through a newbie's eyes.  No term is ever explained before used -- do
> > these guys even understand what it means to _explain_ things?  It's as
> > if you need to learn a whole new language.
> 
> This is the Emacs mailing list I'm on, right? Emacs of "find" a file to
> open it, files live in "buffers", "windows" aren't windows but "frames"
> are, "kill" to cut and "yank" to paste fame? ;-)

Indeed, and we all know that these are obstacles to newbies, so wise
people (and git development is full of them, right?) shouldn't have
gone that way.  At least in Emacs we have an excuse that the bulk of
the terminology developed when no other software provided any similar
features; there's no such excuse for git (or bzr or hg).

Anyway, there's a big difference here: in Emacs documentation, every
term is explained before it is used, and rarely used terms have
cross-references to where they are described.

> > Here, a typical example from git-commit:
> > 
> >   DESCRIPTION 
> > 
> >   Stores the current contents of the index in a new commit along with
> >    a log message from the user describing the changes.
> > 
> > Huh?  "Contents of the index"?  I used to know what commit was, now I
> > don't.
> 
> The same could be said of most unix man pages.

I'm reading Unix man pages for many years, and I must disagree: they
are generally quite self-explanatory.  Git is exceptional in this
regard.

> Good man pages aren't supposed to be tutorials. They're supposed to
> be reference manuals, for looking up a terse and comprehensive
> description of usage, options, switches, flags etc. Or at least,
> that's how I've always understood (and used) them.

You are missing the point: I didn't want a tutorial.  I use VCSes for
many years, and dVCSes for some; I already know what it means to
commit a changeset and what is the basic workflow of using a dVCS.  I
wanted a "terse and comprehensive description" of the git's commit
command, including all of its options.  But when I read the above
"Description" line, I start to question the correctness of my notion
of what a commit is.  Here, look at these "descriptions" of options:

  -a 
  --all 
    Tell the command to automatically stage files that have been
    modified and deleted, but new files you have not told Git about are
    not affected.

If you don't already know what is "staging", you will never understand
that this is one of the most important and useful options.  Also,
"haven't told Git about new files" fails to mention "git add".  Once
I've managed to grasp all that, I've made an alias for "commit -a",
because that's what I almost always want.  (And why isn't that the
default, dammit?)

  --reuse-message=<commit> 
    Take an existing commit object, and reuse the log message and the
    authorship information (including the timestamp) when creating the
    commit.

"Commit object"? what's that?  There's no reference to where this is
explained; without such a reference, this "description" is
non-instrumental, and thus useless.  This problem is, of course,
common to all the other options that refer to a "commit object", of
which there are many on this page.

  --allow-empty 
    Usually recording a commit that has the exact same tree as its
    sole parent commit is a mistake, and the command prevents you from
    making such a commit. This option bypasses the safety, and is
    primarily for use by foreign SCM interface scripts.

"Recording a commit"? what's that?  And is "commit that has the exact
same tree as its sole parent commit" a complicated way of saying "no
changes since the last commit", or is there some important subtlety
here that I'm missing?  Even bzr's commit docs does much better:

  --unchanged   Commit even if nothing has changed.

Etc., etc. -- I could go for hours on end with these examples.

Mind you, I have this and other important git man pages open on my
desktop at all times, and I consult them all the time.  And I still
don't get some of the details.

And if you are still not convinced, let me show you what this
"documentation" style would mean if the Emacs manual would use it.
Let's take for example what the C-f key does in Emacs.  You think you
know what it does?  Here's what the Emacs manual says:

  `C-f'
       Move forward one character (`forward-char').

Simple, self-explanatory, and concise.  Also inaccurate, because
that's not what really happens when you press C-f.  Here's what does
happen:

  `C-f'
       Move forward to the next visible buffer position, skipping any
       invisible text and lines hidden by selective display.  The next
       redisplay cycle will display the cursor on the grapheme cluster
       to which the new buffer position belongs.  If the new buffer
       position is the newline character, display the cursor on the
       empty glyph beyond the end of the line.  If the new buffer
       position has a display property defined for it, display the
       cursor on the first glyph produced from that display property,
       or on the glyph that has the 'cursor' property defined for it.

This is the accurate description of what C-f does, complete with
references to about half a dozen of highly technical terms that I
didn't bother to explain.  I managed to be an efficient and happy
Emacs user and hacker for 15 years without knowing most of this.  It's
not until I started seriously hacking the display engine 5 years ago
that I became aware of all those details -- because I needed them then
to be able to make the changes in the Emacs display.

> And there *are* decent git tutorials available from the official web site
> that explain things without assuming you already know how git works
> (e.g. http://git-scm.com/book isn't bad).

I DON'T WANT TUTORIALS, I've already read them.  I want some decent
reference documentation.  I just don't want all the details about
what's going on under the hood crammed down my throat every time I
want to learn what some option does, or find an option that does what
I need to accomplish.

> Or maybe my problem is I'm a maths professor :)

I didn't say that ;-)



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

* Re: bzr is dying; Emacs needs to move
  2014-01-03  6:15       ` joakim
@ 2014-01-03  9:05         ` Rüdiger Sonderfeld
  2014-01-03 11:11           ` joakim
  0 siblings, 1 reply; 401+ messages in thread
From: Rüdiger Sonderfeld @ 2014-01-03  9:05 UTC (permalink / raw)
  To: emacs-devel; +Cc: joakim

On Friday 03 January 2014 07:15:41 joakim@verona.se wrote:
> I have a box at www.verona.se where i could offer such a service free of
> charge to emacs devs, if anyone wants it. It sits in my cupboard, but
> has 100mbit link.
> 
> 
> I already have plenty of emacs stuff on that box.

As I said, it shouldn't be necessary to do the import all over again every 
time.  The git mirror should be able to provide the additional 
objects/information which git-bzr needs.  Maybe we could contact the git-bzr 
developer for more information.  But emacsmirror used to do exactly that but 
took down the mirror.  I'm not sure exactly why.

I've created an issue for emacsmirror and asked Jonas for comments.

https://github.com/emacsmirror/p/issues/29

(Unless you want to use your box as a cupboard heater, of course.)

Regards
Rüdiger




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  7:39         ` Michael Albinus
@ 2014-01-03  9:07           ` Thierry Volpiatto
  2014-01-03  9:19             ` Bastien
  2014-01-03  9:17           ` Bastien
                             ` (2 subsequent siblings)
  3 siblings, 1 reply; 401+ messages in thread
From: Thierry Volpiatto @ 2014-01-03  9:07 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel

Michael Albinus <michael.albinus@gmx.de> writes:

> They are useful. A tar distribution does not contain the git repo with
> the history of commitments.

Not sure people getting their emacs from tarball read changelog files...
Anyway they can read these infos online.

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  7:39         ` Michael Albinus
  2014-01-03  9:07           ` Thierry Volpiatto
@ 2014-01-03  9:17           ` Bastien
  2014-01-03  9:35             ` Rüdiger Sonderfeld
  2014-01-03 10:08             ` Tassilo Horn
  2014-01-03  9:31           ` Generating ChangeLog files Rüdiger Sonderfeld
  2014-01-03 14:48           ` PROPOSAL: Move to git, now that bzr is no longer a req Stefan Monnier
  3 siblings, 2 replies; 401+ messages in thread
From: Bastien @ 2014-01-03  9:17 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel, Thierry Volpiatto

Michael Albinus <michael.albinus@gmx.de> writes:

> They are useful. A tar distribution does not contain the git repo with
> the history of commitments.

+1.

> Another question is, whether we still want to write ChangeLogs manually,
> or whether we want to extract them from commit comments. That's not such
> easy, see all the "fix typo" comments.

I'm all for writing them manually, it's a useful exercise.

IMHO git commit messages should reproduce ChangeLogs, not the
other way around.

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  9:07           ` Thierry Volpiatto
@ 2014-01-03  9:19             ` Bastien
  0 siblings, 0 replies; 401+ messages in thread
From: Bastien @ 2014-01-03  9:19 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: Michael Albinus, emacs-devel

Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:

> Michael Albinus <michael.albinus@gmx.de> writes:
>
>> They are useful. A tar distribution does not contain the git repo with
>> the history of commitments.
>
> Not sure people getting their emacs from tarball read changelog
> files...

I do, when testing release candidates.

> Anyway they can read these infos online.

Grep'ing through Changelogs is really fast, and thanks to the
uniformity of style, really useful.  I know I can grep through
commit messages using git grep (or magit, FWIW), but there is
a layer of UI between me and the Changelogs then.

-- 
 Bastien



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

* Re: Apologia for bzr
  2014-01-03  8:57                 ` Eli Zaretskii
@ 2014-01-03  9:21                   ` Yuri Khan
  2014-01-03 10:08                     ` Eli Zaretskii
  2014-01-03 10:29                     ` vc.el support for staging hunks/files João Távora
  2014-01-03 20:34                   ` Apologia for bzr Stephen J. Turnbull
  1 sibling, 2 replies; 401+ messages in thread
From: Yuri Khan @ 2014-01-03  9:21 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Eric Raymond, kfogel, Toby Cubitt, Emacs developers

On Fri, Jan 3, 2014 at 3:57 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>
> If you don't already know what is "staging", you will never understand
> that this is one of the most important and useful options.  Also,
> "haven't told Git about new files" fails to mention "git add".  Once
> I've managed to grasp all that, I've made an alias for "commit -a",
> because that's what I almost always want.  (And why isn't that the
> default, dammit?)

Because staging is a key concept in git and it enables a whole lot of
useful workflows. E.g. you can work all day and half the next day on a
feature, making small formatting changes and fix coding style
violations on your way as you spot them, then fire up a commit tool
and make three commits, one for trivial formatting changes, another
for coding style fixes, and a third one with the feature you actually
worked on.

Without staging, you would have to look at the diff, back up and
revert some changes so that the working directory looks the way you
want for one commit, then the other, then the next one. Or you would
hold off fixing small things until you have committed the feature, and
risk forgetting to do them.



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

* Generating ChangeLog files.
  2014-01-03  7:39         ` Michael Albinus
  2014-01-03  9:07           ` Thierry Volpiatto
  2014-01-03  9:17           ` Bastien
@ 2014-01-03  9:31           ` Rüdiger Sonderfeld
  2014-01-03 10:12             ` Eli Zaretskii
  2014-01-03 14:48           ` PROPOSAL: Move to git, now that bzr is no longer a req Stefan Monnier
  3 siblings, 1 reply; 401+ messages in thread
From: Rüdiger Sonderfeld @ 2014-01-03  9:31 UTC (permalink / raw)
  To: emacs-devel; +Cc: Michael Albinus, Thierry Volpiatto

On Friday 03 January 2014 08:39:04 Michael Albinus wrote:
> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:
> > Also would be great to stop writing unuseful changelog files.
> 
> They are useful. A tar distribution does not contain the git repo with
> the history of commitments.
> 
> Another question is, whether we still want to write ChangeLogs manually,
> or whether we want to extract them from commit comments. That's not such
> easy, see all the "fix typo" comments.

I think we should generate the ChangeLogs from commit messages.  I know that 
one argument raised in the past was that the commit message and ChangeLog can 
differ.  But I don't see a reason why it shouldn't be possible to have both in 
the commit message.  Only the ChangeLog part is added to the generated 
ChangeLog.  This would also allow "fix typo" commits not to be added.

IMO ChangeLogs are an atavism from times when VCS's were not as sophisticated 
as today.  They cause more problems for developers than they are useful.  A 
modern VCS provides tools to more easily match changes to commits than 
searching a ChangeLog can.  They are a pain when merging or rebasing patches.  
I usually write patches on a branch and rebase them when they are ready to be 
pushed.  This always causes merge conflicts for the ChangeLog.  (Maybe [1] 
could help a bit.)

E.g., GNU Octave replaced ChangeLog with an auto-generated ChangeLog from 
commit messages and they seem to be quite happy with that solution.

I know the topic has been discussed several times and it seems a bit pointless 
to start the discussion again.  But in my opinion ChangeLogs are an even 
bigger issue than the VC because at least I can work around the latter by 
using git-bzr.

[1] http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/git-merge-changelog.c

Regards
Rüdiger




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  9:17           ` Bastien
@ 2014-01-03  9:35             ` Rüdiger Sonderfeld
  2014-01-03  9:53               ` Daniel Colascione
  2014-01-03 10:05               ` Bastien
  2014-01-03 10:08             ` Tassilo Horn
  1 sibling, 2 replies; 401+ messages in thread
From: Rüdiger Sonderfeld @ 2014-01-03  9:35 UTC (permalink / raw)
  To: emacs-devel; +Cc: Bastien, Michael Albinus, Thierry Volpiatto

On Friday 03 January 2014 10:17:00 Bastien wrote:
> > Another question is, whether we still want to write ChangeLogs manually,
> > or whether we want to extract them from commit comments. That's not such
> > easy, see all the "fix typo" comments.
> 
> I'm all for writing them manually, it's a useful exercise.
> 
> IMHO git commit messages should reproduce ChangeLogs, not the
> other way around.

Generating them from commit messages would do exactly that.  Right now most 
people copy all or at least parts of the ChangeLog entry to the commit message 
anyway.  I agree that the format is useful and I absolutely agree that the 
commit message should not necessarily only be a copy of the ChangeLog entry.

But those points are not really an obstacle or argument against auto-
generation of the ChangeLog _files_ from the commit messages

Regards,
Rüdiger




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

* Re: Apologia for bzr
  2014-01-02 20:44             ` Eli Zaretskii
  2014-01-02 20:51               ` Eric S. Raymond
  2014-01-02 21:14               ` Toby Cubitt
@ 2014-01-03  9:44               ` Tassilo Horn
  2014-01-03 10:26                 ` Eli Zaretskii
  2 siblings, 1 reply; 401+ messages in thread
From: Tassilo Horn @ 2014-01-03  9:44 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, kfogel, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> They are impenetrable.  The very first words will get you in a "WTF?"
> mode.

All the terminology that's referred to in the git command man pages is
defined in one central place, the gitglossary(7) man page.  But in fact,
basically every git command man page should list that under SEE ALSO but
doesn't.

> Just try to read the first sentences of any random man page through a
> newbie's eyes.  No term is ever explained before used -- do these guys
> even understand what it means to _explain_ things?

With respect to newby friendliness: probably bzr is easier to grasp if
you haven't used a (d)VCS before, but in the presence of extremely
popular sites such as gitorious and github, most potential (Emacs)
contributors have gotten in touch with git anyway.  That's the case for
me, and I sometimes mess up my bzr checkout just because I naively
transfer my usual git habits and workflow to bzr.  Of course, I
shouldn't do that, but that's probably a trap many people coming from
git to bzr will fall in.

Another strong point of git is getting support.  When I started with it,
I sometimes messed up my checkouts just as I'm messing up things with
bzr nowadays.  But just by explaining what I've done on
#git@irc.freenode.net (right now there are ~1000 users in there so
there's almost certainly someone with very deep git knowledge) I was
able to recover within minutes.  With bzr, I usually ask here on
emacs-devel because the bzr support channel is quite unresponsive
nowadays, and then you, Eli, will give me the answers I'm looking for
(thanks again!).  But nevertheless, with git you can really get 24/7
handholding if you want to.

Bye,
Tassilo



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  9:35             ` Rüdiger Sonderfeld
@ 2014-01-03  9:53               ` Daniel Colascione
  2014-01-03 10:27                 ` Eli Zaretskii
  2014-01-03 17:26                 ` Stephen J. Turnbull
  2014-01-03 10:05               ` Bastien
  1 sibling, 2 replies; 401+ messages in thread
From: Daniel Colascione @ 2014-01-03  9:53 UTC (permalink / raw)
  To: Rüdiger Sonderfeld, emacs-devel
  Cc: Bastien, Michael Albinus, Thierry Volpiatto

On 01/03/2014 01:35 AM, Rüdiger Sonderfeld wrote:
> On Friday 03 January 2014 10:17:00 Bastien wrote:
>>> Another question is, whether we still want to write ChangeLogs manually,
>>> or whether we want to extract them from commit comments. That's not such
>>> easy, see all the "fix typo" comments.
>>
>> I'm all for writing them manually, it's a useful exercise.
>>
>> IMHO git commit messages should reproduce ChangeLogs, not the
>> other way around.
>
> Generating them from commit messages would do exactly that.  Right now most
> people copy all or at least parts of the ChangeLog entry to the commit message
> anyway.  I agree that the format is useful and I absolutely agree that the
> commit message should not necessarily only be a copy of the ChangeLog entry.
>
> But those points are not really an obstacle or argument against auto-
> generation of the ChangeLog _files_ from the commit messages

It's a lot safer to fix an error in ChangeLog than to interactively 
rebase and force-push a new history. Would this automated ChangeLog 
generation system be tolerant of manual ChangeLog editing?

If we're going to have ChangeLog files anyway, we're still going to have 
to deal with merging. Since we have to write change descriptions in any 
case and since we already have mature tools for making ChangeLog 
additions, we might as well retain the current system. It would be nice, 
though, to auto-fill commit messages based on ChangeLog deltas.

By the way: git-merge-changelog from gnulib looks useful.



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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 23:57       ` James Cloos
  2014-01-03  0:05         ` James Cloos
@ 2014-01-03  9:57         ` Andreas Schwab
  1 sibling, 0 replies; 401+ messages in thread
From: Andreas Schwab @ 2014-01-03  9:57 UTC (permalink / raw)
  To: James Cloos; +Cc: emacs-devel

James Cloos <cloos@jhcloos.com> writes:

>>>>>> "TN" == Thien-Thi Nguyen <ttn@gnu.org> writes:
>
> TN> Do you happen to know the maximum transient memory usage for
> TN> "git gc --aggressive"?
>
> I just tried it in a clone of git://git.savannah.gnu.org/emacs,
> which should be similar.
>
> Before the gc, .git/objects used about 1 Gig of disk space, per du(1).
>
> Git gc --aggressive allocated just over 5 (binary) Gig of VM, and
> dirtied most of it, to compress 733141 objects, according to top(1).

You should not need --aggresssive if you start with a repository that is
already partly packed.  It won't give you the optimal packing, but it
shouldn't differ by much.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  9:35             ` Rüdiger Sonderfeld
  2014-01-03  9:53               ` Daniel Colascione
@ 2014-01-03 10:05               ` Bastien
  1 sibling, 0 replies; 401+ messages in thread
From: Bastien @ 2014-01-03 10:05 UTC (permalink / raw)
  To: Rüdiger Sonderfeld; +Cc: Thierry Volpiatto, Michael Albinus, emacs-devel

Rüdiger Sonderfeld <ruediger@c-plusplus.de> writes:

> But those points are not really an obstacle or argument against auto-
> generation of the ChangeLog _files_ from the commit messages

Commit messages are not meant to be edited, while it's good to be
able to edit Changelog files.

We use the workflow you suggest in Org (i.e. using only commit
messages and producing ChangeLogs from them) and I can tell how
frustrating this is: you need to review all typos and mistakes
from all contributors, because the script to generate the logs
will not do it for you.

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  9:17           ` Bastien
  2014-01-03  9:35             ` Rüdiger Sonderfeld
@ 2014-01-03 10:08             ` Tassilo Horn
  1 sibling, 0 replies; 401+ messages in thread
From: Tassilo Horn @ 2014-01-03 10:08 UTC (permalink / raw)
  To: Bastien; +Cc: Thierry Volpiatto, Michael Albinus, emacs-devel

Bastien <bzg@gnu.org> writes:

>> Another question is, whether we still want to write ChangeLogs
>> manually, or whether we want to extract them from commit comments.
>> That's not such easy, see all the "fix typo" comments.
>
> I'm all for writing them manually, it's a useful exercise.

The problem with ChangeLog files is that they provoke conflicts.

When I contribute to some git-using project that has manually written
ChangeLog files, I usually create a new branch, do my changes, write a
ChangeLog entry in a _temporary_ buffer, and then commit providing a
one-line description plus the ChangeLog entries (without the author/date
headline).

Then I sometimes rebase that branch onto master (which works just fine
since the ChangeLog hasn't been changed) until upstream is satisfied
with my changes.  At that point, I put my commit message as real entry
into the ChangeLog, commit, squash the ChangeLog commit with the commit
implementing my changes, and finally push/submit the patch/send the pull
request.

That said, bzr with its changelog_merge plugin is nice, too.  Then you
can make a real, persistent ChangeLog entry along with your commit
implementing the code changes, but once you merge your branch into trunk
you have to remember to pull your entry to the top of the ChangeLog and
re-date it.

Bye,
Tassilo



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

* Re: Apologia for bzr
  2014-01-03  9:21                   ` Yuri Khan
@ 2014-01-03 10:08                     ` Eli Zaretskii
  2014-01-03 10:29                     ` vc.el support for staging hunks/files João Távora
  1 sibling, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 10:08 UTC (permalink / raw)
  To: Yuri Khan; +Cc: esr, kfogel, toby-dated-1389906911.cc0ede, emacs-devel

> Date: Fri, 3 Jan 2014 16:21:26 +0700
> From: Yuri Khan <yuri.v.khan@gmail.com>
> Cc: Toby Cubitt <toby-dated-1389906911.cc0ede@dr-qubit.org>, 
> 	Eric Raymond <esr@thyrsus.com>, kfogel@red-bean.com, 
> 	Emacs developers <emacs-devel@gnu.org>
> 
> On Fri, Jan 3, 2014 at 3:57 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> >
> > If you don't already know what is "staging", you will never understand
> > that this is one of the most important and useful options.  Also,
> > "haven't told Git about new files" fails to mention "git add".  Once
> > I've managed to grasp all that, I've made an alias for "commit -a",
> > because that's what I almost always want.  (And why isn't that the
> > default, dammit?)
> 
> Because staging is a key concept in git and it enables a whole lot of
> useful workflows.

I know that.  Don't take my questions as indications that I'm
unfamiliar with basic git terminology (I was once, but no more).

> E.g. you can work all day and half the next day on a
> feature, making small formatting changes and fix coding style
> violations on your way as you spot them, then fire up a commit tool
> and make three commits, one for trivial formatting changes, another
> for coding style fixes, and a third one with the feature you actually
> worked on.

I was talking about the defaults.  For the defaults, the important
question is what would J. R. Hacker want in most of his commits.  It
seems to me that occasional contributors to projects (as opposed to
their core developers) will seldom if ever get to the complicated
workflows you describe.  It's definitely true for me in a couple of
projects in which I'm involved (not Emacs, obviously).

> Without staging, you would have to look at the diff, back up and
> revert some changes so that the working directory looks the way you
> want for one commit, then the other, then the next one. Or you would
> hold off fixing small things until you have committed the feature, and
> risk forgetting to do them.

Well, let's begin by agreeing that what you described is just bad
habit: you should commit very frequently, and so seldom if ever get to
the point where you have hacked for a day and a half without a single
commit.



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

* Re: Generating ChangeLog files.
  2014-01-03  9:31           ` Generating ChangeLog files Rüdiger Sonderfeld
@ 2014-01-03 10:12             ` Eli Zaretskii
  2014-01-03 18:09               ` Bozhidar Batsov
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 10:12 UTC (permalink / raw)
  To: Rüdiger Sonderfeld; +Cc: thierry.volpiatto, michael.albinus, emacs-devel

> From: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
> Date: Fri, 03 Jan 2014 10:31:39 +0100
> Cc: Michael Albinus <michael.albinus@gmx.de>,
> 	Thierry Volpiatto <thierry.volpiatto@gmail.com>
> 
> I usually write patches on a branch and rebase them when they are ready to be 
> pushed.  This always causes merge conflicts for the ChangeLog.  (Maybe [1] 
> could help a bit.)

There should be no merge conflicts with ChangeLog files.  I see an
absolute zero of them.  git-merge-changelog and the changelog_merge
plugin in bzr make this not an issue.

> E.g., GNU Octave replaced ChangeLog with an auto-generated ChangeLog from 
> commit messages and they seem to be quite happy with that solution.

I've seen a couple of projects that eliminated ChangeLogs.  In every
single case, the result was a drastic deterioration in the quality of
the commit log information.

> I know the topic has been discussed several times and it seems a bit pointless 
> to start the discussion again.  But in my opinion ChangeLogs are an even 
> bigger issue than the VC because at least I can work around the latter by 
> using git-bzr.

As pointed out above, you should be able to resolve the former as
well, in no time.




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

* Re: Apologia for bzr
  2014-01-03  9:44               ` Tassilo Horn
@ 2014-01-03 10:26                 ` Eli Zaretskii
  2014-01-03 10:56                   ` Nathan Trapuzzano
                                     ` (2 more replies)
  0 siblings, 3 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 10:26 UTC (permalink / raw)
  To: Tassilo Horn; +Cc: esr, kfogel, emacs-devel

> From: Tassilo Horn <tsdh@gnu.org>
> Cc: esr@thyrsus.com,  kfogel@red-bean.com,  emacs-devel@gnu.org
> Date: Fri, 03 Jan 2014 10:44:17 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > They are impenetrable.  The very first words will get you in a "WTF?"
> > mode.
> 
> All the terminology that's referred to in the git command man pages is
> defined in one central place, the gitglossary(7) man page.

First, there are no references to glossary in these places, and, as
you know well, references in man pages are a PITA to use (unlike in
Info).

More importantly, the glossary, at least git's glossary, is not going
to help here.  Let's take this example I showed earlier:

  --reuse-message=<commit> 
    Take an existing commit object, and reuse the log message and the
    authorship information (including the timestamp) when creating the
    commit.

Clearly, what I need to know here, and is never explained, is how do I
_reference_ a commit object.  Now, here's what the glossary tells me:

  commit object 
       An object which contains the information about a particular
       revision, such as parents, committer, author, date and the tree
       object which corresponds to the top directory of the stored
       revision.

I hope you will agree with me that after reading this, I'm none the
wiser.  (There are a few hyperlinks in the text I show above, but none
of them helps, either.)  It actually tells me things that I could
easily guessed myself, but never even hints at what I'm looking for.
Reminds me of Microsoft documentation: to open a file click File->Open.

> But in fact, basically every git command man page should list that
> under SEE ALSO but doesn't.

That's impractical: it would make the See Also section be of infinite
length.  Instead, the man page should either use a less formal style,
or give examples (e.g., in parentheses) showing how the formal
abstract terminology is related to practical issues.

IOW, the authors should recognize that when I'm reading a man page, I
usually look for answers to very practical questions, I'm not very
interested in abstract relations between abstract opaque objects and
concepts.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  9:53               ` Daniel Colascione
@ 2014-01-03 10:27                 ` Eli Zaretskii
  2014-01-03 17:26                 ` Stephen J. Turnbull
  1 sibling, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 10:27 UTC (permalink / raw)
  To: Daniel Colascione
  Cc: ruediger, bzg, thierry.volpiatto, michael.albinus, emacs-devel

> Date: Fri, 03 Jan 2014 01:53:05 -0800
> From: Daniel Colascione <dancol@dancol.org>
> Cc: Bastien <bzg@gnu.org>, Michael Albinus <michael.albinus@gmx.de>,
> 	Thierry Volpiatto <thierry.volpiatto@gmail.com>
> 
> By the way: git-merge-changelog from gnulib looks useful.

Yes.  And a native Windows binary is available, if anyone is
interested.



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

* vc.el support for staging hunks/files
  2014-01-03  9:21                   ` Yuri Khan
  2014-01-03 10:08                     ` Eli Zaretskii
@ 2014-01-03 10:29                     ` João Távora
  2014-01-09 17:49                       ` Dan Nicolaescu
  1 sibling, 1 reply; 401+ messages in thread
From: João Távora @ 2014-01-03 10:29 UTC (permalink / raw)
  To: Yuri Khan; +Cc: Emacs developers

> On Fri, Jan 3, 2014 at 3:57 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> I've managed to grasp all that, I've made an alias for "commit -a",
>> because that's what I almost always want.  (And why isn't that the
>> default, dammit?)

Yuri Khan <yuri.v.khan@gmail.com> writes:
> Because staging is a key concept in git and it enables a whole lot of
> useful workflows. E.g. you can work all day and half the next day on a
> feature, making small formatting changes and fix coding style
> violations on your way as you spot them, then fire up a commit tool
> and make three commits, one for trivial formatting changes, another
> for coding style fixes, and a third one with the feature you actually
> worked on.
>
> Without staging, you would have to look at the diff, back up and
> revert some changes so that the working directory looks the way you
> want for one commit, then the other, then the next one. Or you would
> hold off fixing small things until you have committed the feature, and
> risk forgetting to do them.

+1 for git and +1 for this technique in particular. This has to be the
most useful thing that git brought to the table for me.

I also thought git commit -a would be always what I wanted, but I was
obviously wrong. Now my favourite workflow is to prototype a change with
some initial commits, semantically independent, sometimes even
empty. Then hack away at everything at once like in pre-VCS days. Then
use git add -p (or git gui) to make many "fixup" commits that can be
squashed onto the initial ones first set using `git rebase
--interactive`. Finally, when the stage is set, `git push`.

I admit I also had trouble with the git docs at first, but the "stage""
metaphor couldn't be cleverer.

My question is, since we're on emacs-devel: could vc.el support this
workflow?

* git-add --edit seems to indicate so;

* diff-mode apparently has diff-marker calculation logic built in;

* magit supports it apparently and its git-rebase-mode.el could be used
  independently.

Is there interest in such a feature?

João



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

* Re: Apologia for bzr
  2014-01-03 10:26                 ` Eli Zaretskii
@ 2014-01-03 10:56                   ` Nathan Trapuzzano
  2014-01-03 11:45                     ` Eli Zaretskii
  2014-01-03 13:49                   ` Leo Liu
  2014-01-03 16:57                   ` Tassilo Horn
  2 siblings, 1 reply; 401+ messages in thread
From: Nathan Trapuzzano @ 2014-01-03 10:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, kfogel, emacs-devel, Tassilo Horn

Eli Zaretskii <eliz@gnu.org> writes:

> First, there are no references to glossary in these places, and, as
> you know well, references in man pages are a PITA to use (unlike in
> Info).

Few people probably know that Git can be compiled with Info
documentation.  The manual that gets built contains all the man-page
reference material in addition to the Git User's Manual, which is more
like a tutotial than a reference.



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

* Re: bzr is dying; Emacs needs to move
  2014-01-03  9:05         ` Rüdiger Sonderfeld
@ 2014-01-03 11:11           ` joakim
  0 siblings, 0 replies; 401+ messages in thread
From: joakim @ 2014-01-03 11:11 UTC (permalink / raw)
  To: Rüdiger Sonderfeld; +Cc: emacs-devel

Rüdiger Sonderfeld <ruediger@c-plusplus.de> writes:

> On Friday 03 January 2014 07:15:41 joakim@verona.se wrote:
>> I have a box at www.verona.se where i could offer such a service free of
>> charge to emacs devs, if anyone wants it. It sits in my cupboard, but
>> has 100mbit link.
>> 
>> 
>> I already have plenty of emacs stuff on that box.
>
> As I said, it shouldn't be necessary to do the import all over again every 
> time.  The git mirror should be able to provide the additional 
> objects/information which git-bzr needs.  Maybe we could contact the git-bzr 
> developer for more information.  But emacsmirror used to do exactly that but 
> took down the mirror.  I'm not sure exactly why.
>
> I've created an issue for emacsmirror and asked Jonas for comments.
>
> https://github.com/emacsmirror/p/issues/29
>
> (Unless you want to use your box as a cupboard heater, of course.)

Its cold in Sveden ;)

>
> Regards
> Rüdiger
>

-- 
Joakim Verona



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

* Re: Apologia for bzr
  2014-01-03  7:47                     ` Eli Zaretskii
@ 2014-01-03 11:11                       ` Juanma Barranquero
  2014-01-03 11:46                         ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: Juanma Barranquero @ 2014-01-03 11:11 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Eric Raymond, Karl Fogel, Emacs developers

On Fri, Jan 3, 2014 at 8:47 AM, Eli Zaretskii <eliz@gnu.org> wrote:

> Yes, but so what? there were no changes since that beta.

And yet, there's been no one able or willing to just change the version string
to 2.6, build for Windows and upload the tarball to the
official site. For a couple years, at least (I'm talking about 2.6b2
and 2.6 here). Which speaks volumes of the *commitment* to Windows...
or perhaps of the vitality of the Bazaar project as a whole.

   J



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  6:33           ` joakim
  2014-01-03  8:10             ` Eli Zaretskii
@ 2014-01-03 11:14             ` Juanma Barranquero
  2014-01-03 13:01               ` Bastien
  1 sibling, 1 reply; 401+ messages in thread
From: Juanma Barranquero @ 2014-01-03 11:14 UTC (permalink / raw)
  To: Joakim Verona; +Cc: Karl Fogel, Eli Zaretskii, Stefan Monnier, Emacs developers

On Fri, Jan 3, 2014 at 7:33 AM,  <joakim@verona.se> wrote:

> Keeping Eli happy is imho a pretty important use case for the vcs used
> by Emacs. No, really. We don't have many hard-core contributors.

+1



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

* Re: Apologia for bzr
  2014-01-03 10:56                   ` Nathan Trapuzzano
@ 2014-01-03 11:45                     ` Eli Zaretskii
  2014-01-03 11:49                       ` Nathan Trapuzzano
  2014-01-03 15:06                       ` Óscar Fuentes
  0 siblings, 2 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 11:45 UTC (permalink / raw)
  To: Nathan Trapuzzano; +Cc: esr, kfogel, emacs-devel, tsdh

> From: Nathan Trapuzzano <nbtrap@nbtrap.com>
> Cc: Tassilo Horn <tsdh@gnu.org>,  esr@thyrsus.com,  kfogel@red-bean.com,  emacs-devel@gnu.org
> Date: Fri, 03 Jan 2014 05:56:43 -0500
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > First, there are no references to glossary in these places, and, as
> > you know well, references in man pages are a PITA to use (unlike in
> > Info).
> 
> Few people probably know that Git can be compiled with Info
> documentation.

Hey, I don't compile mine, I just use whatever the msys-git
installation comes with, and what's installed on the Unix systems I
use.  None of them has anything pertinent in /usr/share/info/.



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

* Re: Apologia for bzr
  2014-01-03 11:11                       ` Juanma Barranquero
@ 2014-01-03 11:46                         ` Eli Zaretskii
  2014-01-03 11:55                           ` Juanma Barranquero
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 11:46 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: esr, kfogel, emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Fri, 3 Jan 2014 12:11:36 +0100
> Cc: Eric Raymond <esr@thyrsus.com>, Karl Fogel <kfogel@red-bean.com>, 
> 	Emacs developers <emacs-devel@gnu.org>
> 
> On Fri, Jan 3, 2014 at 8:47 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > Yes, but so what? there were no changes since that beta.
> 
> And yet, there's been no one able or willing to just change the version string
> to 2.6, build for Windows and upload the tarball to the
> official site. For a couple years, at least (I'm talking about 2.6b2
> and 2.6 here). Which speaks volumes of the *commitment* to Windows...
> or perhaps of the vitality of the Bazaar project as a whole.

When no new versions of bzr come out, the fact that no one produces
Windows installers is a moot point.

Anyway, the commitment to Windows is of no interest to me; the fact
that it works well there is.



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

* Re: Apologia for bzr
  2014-01-03 11:45                     ` Eli Zaretskii
@ 2014-01-03 11:49                       ` Nathan Trapuzzano
  2014-01-03 13:54                         ` Eli Zaretskii
  2014-01-03 15:06                       ` Óscar Fuentes
  1 sibling, 1 reply; 401+ messages in thread
From: Nathan Trapuzzano @ 2014-01-03 11:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, kfogel, tsdh, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> Hey, I don't compile mine, I just use whatever the msys-git
> installation comes with, and what's installed on the Unix systems I
> use.  None of them has anything pertinent in /usr/share/info/.

I really didn't either.  Just built and installed the info docs once.
If you don't want to do that, you can just google "Git User's Manual".
It's actually pretty decent.



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

* Re: Apologia for bzr
  2014-01-03 11:46                         ` Eli Zaretskii
@ 2014-01-03 11:55                           ` Juanma Barranquero
  0 siblings, 0 replies; 401+ messages in thread
From: Juanma Barranquero @ 2014-01-03 11:55 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Eric Raymond, Karl Fogel, Emacs developers

On Fri, Jan 3, 2014 at 12:46 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> When no new versions of bzr come out, the fact that no one produces
> Windows installers is a moot point.

But, there's been a new version. It's called 2.6. It has no official
Windows build. You know 2.6b1 is, to all practical effects, identical;
I know it, too. But a random prospective user who hits the Bazaar
homepage for the first time does not. How hard is (for people used to
it and with the building environment already set up) to fire the
building process and pack a new release?

> Anyway, the commitment to Windows is of no interest to me;

Perhaps not to you, but for me, it is because I fear the time when a
serious bug raises its ugly head and no one is willing to fix it, or
fixes it and nobody bothers to update the Windows binaries.

As I said, I like Bazaar much, *much* more than git. But it is hard to
shake the feeling that it currently stinks of death.

    J



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 11:14             ` Juanma Barranquero
@ 2014-01-03 13:01               ` Bastien
  2014-01-03 13:46                 ` David Engster
                                   ` (2 more replies)
  0 siblings, 3 replies; 401+ messages in thread
From: Bastien @ 2014-01-03 13:01 UTC (permalink / raw)
  To: Juanma Barranquero
  Cc: Karl Fogel, Eli Zaretskii, Stefan Monnier, Joakim Verona,
	Emacs developers

It seems to me that this thread is taking a wrong path:
it started as "please use Git" and continues as "please
keep Eli."

Maybe Eli if you could suggest an alternative to bzr
(that is not Git, which you hate) people would be open
to your suggestions?

I for one would be open to using another dVCS as long
as it makes current contributors happier and allows to
get more contributions.

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 13:01               ` Bastien
@ 2014-01-03 13:46                 ` David Engster
  2014-01-03 14:12                   ` Eli Zaretskii
                                     ` (2 more replies)
  2014-01-03 14:03                 ` Eli Zaretskii
  2014-01-03 14:54                 ` Stefan Monnier
  2 siblings, 3 replies; 401+ messages in thread
From: David Engster @ 2014-01-03 13:46 UTC (permalink / raw)
  To: Bastien
  Cc: Juanma Barranquero, Joakim Verona, Emacs developers, Karl Fogel,
	Stefan Monnier, Eli Zaretskii

Bastien writes:
> It seems to me that this thread is taking a wrong path:
> it started as "please use Git" and continues as "please
> keep Eli."

It's exactly the right path. There's a real danger of reducing the
productivity of one of the most important core developers.

> I for one would be open to using another dVCS as long
> as it makes current contributors happier and allows to
> get more contributions.

I predict there won't be a significant increase in new
contributions. The real hurdles to participate in Emacs development lie
elsewhere.

-David



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

* Re: Apologia for bzr
  2014-01-03 10:26                 ` Eli Zaretskii
  2014-01-03 10:56                   ` Nathan Trapuzzano
@ 2014-01-03 13:49                   ` Leo Liu
  2014-01-03 14:08                     ` Eli Zaretskii
  2014-01-03 17:45                     ` Eric S. Raymond
  2014-01-03 16:57                   ` Tassilo Horn
  2 siblings, 2 replies; 401+ messages in thread
From: Leo Liu @ 2014-01-03 13:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, kfogel, emacs-devel, Tassilo Horn

On 2014-01-03 18:26 +0800, Eli Zaretskii wrote:
> More importantly, the glossary, at least git's glossary, is not going
> to help here.  Let's take this example I showed earlier

GIT's manual pages, good or bad, is not the issue. The issue is
programmers using git have outnumbered bzr and hg combined. Most people
are already familiar with git's jargon or whatnot.

A few years ago I counted the number of users on #git, #hg and #bzr @
freenode. hg users were a quarter of git's. bzr users under two digits.
If you ask a question on #bzr, you can get a reply in half a day at
best.

I think getting new blood into emacs devel is critical or we might find
ourselves in the same situation as bzr a few years later.

Leo



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

* Re: Apologia for bzr
  2014-01-03 11:49                       ` Nathan Trapuzzano
@ 2014-01-03 13:54                         ` Eli Zaretskii
  2014-01-04 20:37                           ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 13:54 UTC (permalink / raw)
  To: Nathan Trapuzzano; +Cc: esr, kfogel, tsdh, emacs-devel

> From: Nathan Trapuzzano <nbtrap@nbtrap.com>
> Cc: esr@thyrsus.com,  kfogel@red-bean.com,  emacs-devel@gnu.org,  tsdh@gnu.org
> Date: Fri, 03 Jan 2014 06:49:15 -0500
> 
> If you don't want to do that, you can just google "Git User's Manual".

Thanks, will do.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 13:01               ` Bastien
  2014-01-03 13:46                 ` David Engster
@ 2014-01-03 14:03                 ` Eli Zaretskii
  2014-01-03 14:24                   ` Bastien
                                     ` (2 more replies)
  2014-01-03 14:54                 ` Stefan Monnier
  2 siblings, 3 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 14:03 UTC (permalink / raw)
  To: Bastien; +Cc: kfogel, lekktu, monnier, joakim, emacs-devel

> From: Bastien <bzg@gnu.org>
> Cc: Joakim Verona <joakim@verona.se>,  Karl Fogel <kfogel@red-bean.com>,  Eli Zaretskii <eliz@gnu.org>,  Stefan Monnier <monnier@iro.umontreal.ca>,  Emacs developers <emacs-devel@gnu.org>
> Date: Fri, 03 Jan 2014 14:01:19 +0100
> 
> It seems to me that this thread is taking a wrong path:
> it started as "please use Git" and continues as "please
> keep Eli."

I didn't feel it was that way.  Karl asked for opinions and I provided
mine.  I hope no one, including Karl, expected to hear only the YES
kind of responses.  I didn't ask anyone to please me, and didn't say I
will stop working on Emacs if it did switch.

> Maybe Eli if you could suggest an alternative to bzr
> (that is not Git, which you hate) people would be open
> to your suggestions?

I don't see the need.  Either we switch to git or we don't, it's that
simple.  No one will switch to anything else.

> I for one would be open to using another dVCS as long
> as it makes current contributors happier and allows to
> get more contributions.

As someone else said, git sucked all the oxygen there was, so here we
are.  As for more contributions, I hope you are right, but I have my
doubts.



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

* Re: Apologia for bzr
  2014-01-03 13:49                   ` Leo Liu
@ 2014-01-03 14:08                     ` Eli Zaretskii
  2014-01-03 15:12                       ` Óscar Fuentes
  2014-01-03 19:49                       ` Stefan Monnier
  2014-01-03 17:45                     ` Eric S. Raymond
  1 sibling, 2 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 14:08 UTC (permalink / raw)
  To: emacs-devel; +Cc: esr, kfogel, emacs-devel, tsdh

> From:  Leo Liu <sdl.web@gmail.com>
> Cc: Tassilo Horn <tsdh@gnu.org>,  esr@thyrsus.com,  kfogel@red-bean.com,  emacs-devel@gnu.org
> Date: Fri, 03 Jan 2014 21:49:05 +0800
> 
> On 2014-01-03 18:26 +0800, Eli Zaretskii wrote:
> > More importantly, the glossary, at least git's glossary, is not going
> > to help here.  Let's take this example I showed earlier
> 
> GIT's manual pages, good or bad, is not the issue.

They are the issue in this thread, because it started when I was asked
about my reasons for hating it.  Perhaps you meant to post in another
thread (of which there are too many)?

> I think getting new blood into emacs devel is critical or we might find
> ourselves in the same situation as bzr a few years later.

I agree about the need, but have my doubts about the results.  We've
heard similar arguments for switching from CVS, too.  I hope I will be
proven wrong.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 13:46                 ` David Engster
@ 2014-01-03 14:12                   ` Eli Zaretskii
  2014-01-03 15:19                   ` Tom
  2014-01-03 17:29                   ` Eric S. Raymond
  2 siblings, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 14:12 UTC (permalink / raw)
  To: David Engster; +Cc: kfogel, lekktu, joakim, emacs-devel, bzg, monnier

> From: David Engster <deng@randomsample.de>
> Date: Fri, 03 Jan 2014 14:46:56 +0100
> Cc: Juanma Barranquero <lekktu@gmail.com>, Joakim Verona <joakim@verona.se>,
> 	Emacs developers <emacs-devel@gnu.org>, Karl Fogel <kfogel@red-bean.com>,
> 	Stefan Monnier <monnier@iro.umontreal.ca>, Eli Zaretskii <eliz@gnu.org>
> 
> I predict there won't be a significant increase in new
> contributions. The real hurdles to participate in Emacs development
> lie elsewhere.

I'm afraid you are right.  What's more, I don't see new people coming
aboard who would advance Emacs into the future (as opposed to
contributing minor improvements and bugfixes -- which are, of course,
important as well).  I hope I'm wrong, and they will come, with or
without git.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 14:03                 ` Eli Zaretskii
@ 2014-01-03 14:24                   ` Bastien
  2014-01-03 17:32                     ` Eric S. Raymond
  2014-01-03 14:36                   ` Antonio Nikishaev
  2014-01-03 17:22                   ` Karl Fogel
  2 siblings, 1 reply; 401+ messages in thread
From: Bastien @ 2014-01-03 14:24 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: kfogel, lekktu, monnier, joakim, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> I didn't ask anyone to please me, and didn't say I
> will stop working on Emacs if it did switch.

Okay.  It was suggested that the switch would discourage
you from contributing, I'm glad to read otherwise.

>> Maybe Eli if you could suggest an alternative to bzr
>> (that is not Git, which you hate) people would be open
>> to your suggestions?
>
> I don't see the need.  Either we switch to git or we don't, it's that
> simple.  No one will switch to anything else.

(I thought Mercurial was another possible choice.)

>> I for one would be open to using another dVCS as long
>> as it makes current contributors happier and allows to
>> get more contributions.
>
> As someone else said, git sucked all the oxygen there was, so here we
> are.  As for more contributions, I hope you are right, but I have my
> doubts.

I don't think we will magically get tons of new contributors,
but I know that past contributors like Thierry V. and John W.
said they are more likely to contribute back again, which
already counts as "more contributors" for me.

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 14:03                 ` Eli Zaretskii
  2014-01-03 14:24                   ` Bastien
@ 2014-01-03 14:36                   ` Antonio Nikishaev
  2014-01-03 20:15                     ` Stephen J. Turnbull
  2014-01-03 17:22                   ` Karl Fogel
  2 siblings, 1 reply; 401+ messages in thread
From: Antonio Nikishaev @ 2014-01-03 14:36 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> Maybe Eli if you could suggest an alternative to bzr
>> (that is not Git, which you hate) people would be open
>> to your suggestions?
>
> I don't see the need.  Either we switch to git or we don't, it's that
> simple.  No one will switch to anything else.

There is hg. It's pretty popular.

(And it has nice ui and far less wtfs than git)






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

* Re: Apologia for bzr
  2014-01-02 21:14               ` Toby Cubitt
  2014-01-03  8:57                 ` Eli Zaretskii
@ 2014-01-03 14:37                 ` Richard Stallman
  2014-01-03 15:21                   ` Toby Cubitt
  1 sibling, 1 reply; 401+ messages in thread
From: Richard Stallman @ 2014-01-03 14:37 UTC (permalink / raw)
  To: Toby Cubitt; +Cc: esr, kfogel, eliz, 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. ]]]

    This is the Emacs mailing list I'm on, right? Emacs of "find" a file to
    open it, files live in "buffers", "windows" aren't windows but "frames"
    are, "kill" to cut and "yank" to paste fame? ;-)

Emacs did these things first, and our terminology came first.  If you
wish to complain about the use of incompatible terminology by other
systems inconvenient, you need to send your complaints to their
developers.

    The same could be said of most unix man pages. Good man pages aren't
    supposed to be tutorials.

That's true.  That's the job of a real manual.
Still, man pages should be comprehensible.

-- 
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] 401+ messages in thread

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  7:39         ` Michael Albinus
                             ` (2 preceding siblings ...)
  2014-01-03  9:31           ` Generating ChangeLog files Rüdiger Sonderfeld
@ 2014-01-03 14:48           ` Stefan Monnier
  2014-01-04  9:42             ` Bastien
  3 siblings, 1 reply; 401+ messages in thread
From: Stefan Monnier @ 2014-01-03 14:48 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel, Thierry Volpiatto

>> Also would be great to stop writing unuseful changelog files.
> They are useful.  A tar distribution does not contain the git repo with
> the history of commitments.

Please let's not rehash old arguments: the tarball contains many files
that are generated, so it would be trivial to include the "git log"
output in it.


        Stefan



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  7:49                 ` Eli Zaretskii
@ 2014-01-03 14:53                   ` Óscar Fuentes
  2014-01-03 15:08                     ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-03 14:53 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> This is not correct. You only need git.cmd in the PATH and, IIRC, that
>> is avoidable too if you use git from Emacs interfaces (VC and/or Magit).
>
> That is only a solution if you don't use git from the command line.

git.cmd can be used from the command line. BTW, on my latest install
there is no git.cmd, but a single git.exe executable in Git\cmd
directory.

>> As a curiosity, I'll mention that MSYSGit git.exe doesn't depend on
>> MSYS.dll
>
> No, but some git commands need Bash and shell scripts, and thus invoke
> MSYS programs that do need the MSYS DLL.

You don't need MSYS on the PATH, so whatever those commands use is an
interal implementation detail.

[snip]




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 13:01               ` Bastien
  2014-01-03 13:46                 ` David Engster
  2014-01-03 14:03                 ` Eli Zaretskii
@ 2014-01-03 14:54                 ` Stefan Monnier
  2014-01-03 17:12                   ` Ted Zlatanov
  2 siblings, 1 reply; 401+ messages in thread
From: Stefan Monnier @ 2014-01-03 14:54 UTC (permalink / raw)
  To: Bastien
  Cc: Karl Fogel, Juanma Barranquero, Eli Zaretskii, Joakim Verona,
	Emacs developers

> Maybe Eli if you could suggest an alternative to bzr
> (that is not Git, which you hate) people would be open
> to your suggestions?

That would be pointless.  As it stands currently, it's either Bzr
or Git.  The arguments in favor of Git aren't technical but social and
I can't see any other VCS where similar social pressure applies.

From where I stand, it seems pretty clear that Emacs will switch to Git,
the only remaining question is when.


        Stefan



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

* Re: Apologia for bzr
  2014-01-03 11:45                     ` Eli Zaretskii
  2014-01-03 11:49                       ` Nathan Trapuzzano
@ 2014-01-03 15:06                       ` Óscar Fuentes
  2014-01-03 15:34                         ` Eli Zaretskii
  1 sibling, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-03 15:06 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> Hey, I don't compile mine, I just use whatever the msys-git
> installation comes with, and what's installed on the Unix systems I
> use.  None of them has anything pertinent in /usr/share/info/.

MSYSGit `git help foo' launches a web browser showing the man page for
command `foo' with working hyperlinks. I tried a few commands and at the
bottom there is a link to git(1). From there you can access a tutorial,
a quick intro, a full manual and the glossary.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 14:53                   ` Óscar Fuentes
@ 2014-01-03 15:08                     ` Eli Zaretskii
  2014-01-03 15:32                       ` Óscar Fuentes
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 15:08 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Fri, 03 Jan 2014 15:53:01 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> This is not correct. You only need git.cmd in the PATH and, IIRC, that
> >> is avoidable too if you use git from Emacs interfaces (VC and/or Magit).
> >
> > That is only a solution if you don't use git from the command line.
> 
> git.cmd can be used from the command line.

Did you actually try that, for real?  git.cmd sets PATH to include
git's binaries, which include MSYS DLL.  This means you cannot use in
the same session any commands that might conflict.  E.g., consider
what would happen if you invoke git.cmd from a Makefile, or the other
way around.  I tried that, and got stuck and crashing programs.  No,
thanks.

> > No, but some git commands need Bash and shell scripts, and thus invoke
> > MSYS programs that do need the MSYS DLL.
> 
> You don't need MSYS on the PATH, so whatever those commands use is an
> interal implementation detail.

No, it isn't.  When MSYS DLL is loaded, any other program that is
linked to that DLL will try to use it -- and will fail if it needs an
incompatible version of that DLL.  Therefore, you can't invoke, say,
the MSYS 'make' from the Git Bash shell, or from any Git command.




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

* Re: Apologia for bzr
  2014-01-03 14:08                     ` Eli Zaretskii
@ 2014-01-03 15:12                       ` Óscar Fuentes
  2014-01-03 17:48                         ` Eric S. Raymond
  2014-01-03 19:39                         ` Stefan Monnier
  2014-01-03 19:49                       ` Stefan Monnier
  1 sibling, 2 replies; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-03 15:12 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> I think getting new blood into emacs devel is critical or we might find
>> ourselves in the same situation as bzr a few years later.
>
> I agree about the need, but have my doubts about the results.  We've
> heard similar arguments for switching from CVS, too.  I hope I will be
> proven wrong.

Switching from CVS to a dVCS was a good move (I think you agreed with
this on previous posts on this ml.) But, if you wished to attract users,
choosing a tool that requires from almost everybody to learn it for the
sole purpose of contributing to Emacs was most unfortunate. Emacs would
be better off with CVS on this regard.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 13:46                 ` David Engster
  2014-01-03 14:12                   ` Eli Zaretskii
@ 2014-01-03 15:19                   ` Tom
  2014-01-03 16:18                     ` David Engster
  2014-01-03 17:29                   ` Eric S. Raymond
  2 siblings, 1 reply; 401+ messages in thread
From: Tom @ 2014-01-03 15:19 UTC (permalink / raw)
  To: emacs-devel

David Engster <deng <at> randomsample.de> writes:
> 
> I predict there won't be a significant increase in new
> contributions. The real hurdles to participate in Emacs development lie
> elsewhere.

The more roadblocks are removed the better.

There were several people in this thread who said bzr kept them 
from contributing. (Unfamiliar DVCS while git is becoming the
DVCS which is pretty much known by everyone these days.)




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

* Re: Apologia for bzr
  2014-01-03 14:37                 ` Apologia for bzr Richard Stallman
@ 2014-01-03 15:21                   ` Toby Cubitt
  2014-01-04  7:59                     ` Richard Stallman
  0 siblings, 1 reply; 401+ messages in thread
From: Toby Cubitt @ 2014-01-03 15:21 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

On Fri, Jan 03, 2014 at 09:37:16AM -0500, Richard Stallman wrote:
> [[[ 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. ]]]
> 
>     This is the Emacs mailing list I'm on, right? Emacs of "find" a file to
>     open it, files live in "buffers", "windows" aren't windows but "frames"
>     are, "kill" to cut and "yank" to paste fame? ;-)
> 
> Emacs did these things first, and our terminology came first.  If you
> wish to complain about the use of incompatible terminology by other
> systems inconvenient, you need to send your complaints to their
> developers.

Do I really need to put a humour disclaimer after ever attempt at levity?
I thought the emoticon would be sufficient indication, but apparently not <sigh>.

OK, since you seem to need one, here you go: The above comment is a
joke. I'm well aware of the history of Emacs and its terminology, I don't
have a problem with it, I'm not advocating changing it, I don't think you
or anyone else is to blame because rest of the world chose to use
different terminology, nor do I feel any need to complain to developers
of other software about that choice.

>     The same could be said of most unix man pages. Good man pages aren't
>     supposed to be tutorials.
> 
> That's true.  That's the job of a real manual.
> Still, man pages should be comprehensible.

That's true. Personally, I find them comprehensible. If someone else
finds them hard to understand, perhaps they could help to improve them?
After all, they're released under a free software license. For better or
worse, git and its sometimes idiosyncratic interface is probably here to
stay.

Best wishes,
Toby
-- 
Dr T. S. Cubitt
Royal Society University Research Fellow
and Fellow of Churchill College, Cambridge
Centre for Quantum Information
DAMTP, University of Cambridge

email: tsc25@cantab.net
web:   www.dr-qubit.org



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 15:08                     ` Eli Zaretskii
@ 2014-01-03 15:32                       ` Óscar Fuentes
  2014-01-03 15:55                         ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-03 15:32 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> git.cmd can be used from the command line.
>
> Did you actually try that, for real?  git.cmd sets PATH to include
> git's binaries, which include MSYS DLL.  This means you cannot use in
> the same session any commands that might conflict.  E.g., consider
> what would happen if you invoke git.cmd from a Makefile, or the other
> way around.  I tried that, and got stuck and crashing programs.  No,
> thanks.

git.cmd is not meant to permanently set any variable. It is invoked from
a shell as

`git <args>'

Whatever environment variables it sets are effective only until the
command finishes, and for that sole command.

As previously mentioned, there is no git.cmd anymore but a git.exe that
knows where the other commands are located.

>> > No, but some git commands need Bash and shell scripts, and thus invoke
>> > MSYS programs that do need the MSYS DLL.
>> 
>> You don't need MSYS on the PATH, so whatever those commands use is an
>> interal implementation detail.
>
> No, it isn't.  When MSYS DLL is loaded, any other program that is
> linked to that DLL will try to use it -- and will fail if it needs an
> incompatible version of that DLL.  Therefore, you can't invoke, say,
> the MSYS 'make' from the Git Bash shell, or from any Git command.

Are you sure about this? Windows allows multiple DLLs with the same
names and every application will load one of them as per the effective
environment when the application is launched. So if you don't put
MSYSGit binary directory on the PATH, its existence shouldn't make a
difference for the rest of the system. A different history is if you
invoke an MSYS (or Cygwin) executable from MSYSGit, or vice-versa, but
that is an improbable scenario (please keep in mind that git.exe is not
a MSYS binary, so invoking it from Cygwin/MSYS shouldn't be problematic,
at least for the usual git commands.)




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

* Re: Apologia for bzr
  2014-01-03 15:06                       ` Óscar Fuentes
@ 2014-01-03 15:34                         ` Eli Zaretskii
  0 siblings, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 15:34 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Fri, 03 Jan 2014 16:06:06 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Hey, I don't compile mine, I just use whatever the msys-git
> > installation comes with, and what's installed on the Unix systems I
> > use.  None of them has anything pertinent in /usr/share/info/.
> 
> MSYSGit `git help foo' launches a web browser showing the man page for
> command `foo' with working hyperlinks. I tried a few commands and at the
> bottom there is a link to git(1). From there you can access a tutorial,
> a quick intro, a full manual and the glossary.

Yes, I use all that.  Useless, see my previous posts.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 15:32                       ` Óscar Fuentes
@ 2014-01-03 15:55                         ` Eli Zaretskii
  2014-01-03 16:28                           ` Óscar Fuentes
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 15:55 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Fri, 03 Jan 2014 16:32:46 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> git.cmd can be used from the command line.
> >
> > Did you actually try that, for real?  git.cmd sets PATH to include
> > git's binaries, which include MSYS DLL.  This means you cannot use in
> > the same session any commands that might conflict.  E.g., consider
> > what would happen if you invoke git.cmd from a Makefile, or the other
> > way around.  I tried that, and got stuck and crashing programs.  No,
> > thanks.
> 
> git.cmd is not meant to permanently set any variable. It is invoked from
> a shell as
> 
> `git <args>'
> 
> Whatever environment variables it sets are effective only until the
> command finishes, and for that sole command.

Yes, and what happens if that command then invokes something that is
not in the git's bin directory?

> As previously mentioned, there is no git.cmd anymore but a git.exe that
> knows where the other commands are located.

I still have git.cmd after installing the latest msysgit, FWIW.  Not
that I'm using it.

> >> > No, but some git commands need Bash and shell scripts, and thus invoke
> >> > MSYS programs that do need the MSYS DLL.
> >> 
> >> You don't need MSYS on the PATH, so whatever those commands use is an
> >> interal implementation detail.
> >
> > No, it isn't.  When MSYS DLL is loaded, any other program that is
> > linked to that DLL will try to use it -- and will fail if it needs an
> > incompatible version of that DLL.  Therefore, you can't invoke, say,
> > the MSYS 'make' from the Git Bash shell, or from any Git command.
> 
> Are you sure about this? Windows allows multiple DLLs with the same
> names and every application will load one of them as per the effective
> environment when the application is launched.

Not if they have the same name.  An application that was linked
against FOO.DLL will ask the OS to load the first FOO.DLL on the DLL
search path.  If a DLL with the same base name is already in memory,
Windows doesn't look for it, it just uses what's already in memory.
See this page for the details:

  http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586%28v=vs.85%29.aspx

You _can_ have different DLLs with the same functionality, but they
must have different names, as in libpng13.dll and libpng16.dll, and
each executable should specify the name it wants in its import table.

When you install both msysgit and MSYS that uses a different MSYS DLL,
you have a small DLL hell on your hands.  That's why I keep them
separate: to avoid that.

> A different history is if you invoke an MSYS (or Cygwin) executable
> from MSYSGit, or vice-versa, but that is an improbable scenario
> (please keep in mind that git.exe is not a MSYS binary, so invoking
> it from Cygwin/MSYS shouldn't be problematic, at least for the usual
> git commands.)

Well, I run git from Bash, so an MSYS binary is already in the air
when I invoke any git commands.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 15:19                   ` Tom
@ 2014-01-03 16:18                     ` David Engster
  0 siblings, 0 replies; 401+ messages in thread
From: David Engster @ 2014-01-03 16:18 UTC (permalink / raw)
  To: Tom; +Cc: emacs-devel

Tom writes:
> David Engster <deng <at> randomsample.de> writes:
>> 
>> I predict there won't be a significant increase in new
>> contributions. The real hurdles to participate in Emacs development lie
>> elsewhere.
>
> The more roadblocks are removed the better.

Well, the switch will happen, so let's just wait and see. I'd love to be
proven wrong.

> There were several people in this thread who said bzr kept them 
> from contributing.

No offense to those guys, but in my book, Eli's vote counts more.

-David



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 15:55                         ` Eli Zaretskii
@ 2014-01-03 16:28                           ` Óscar Fuentes
  2014-01-03 20:12                             ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-03 16:28 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> Whatever environment variables it sets are effective only until the
>> command finishes, and for that sole command.
>
> Yes, and what happens if that command then invokes something that is
> not in the git's bin directory?

How could that happen? MSYSGit is self-contained. You can set some git
configuration params for using external diff tools, for instance, but
then you should make sure that those tools are compatible with MSYSGit
(which means, essentially, that no Cygwin or MSYS binaries allowed.)

>> As previously mentioned, there is no git.cmd anymore but a git.exe that
>> knows where the other commands are located.
>
> I still have git.cmd after installing the latest msysgit, FWIW.  Not
> that I'm using it.

I'm using MSYSGit 1.8.4.msysgit.0 and int Git/cmd there is git.exe and
gitk.cmd. There is no git.cmd anywhere. Maybe they reverted that change.

>> Are you sure about this? Windows allows multiple DLLs with the same
>> names and every application will load one of them as per the effective
>> environment when the application is launched.
>
> Not if they have the same name.  An application that was linked
> against FOO.DLL will ask the OS to load the first FOO.DLL on the DLL
> search path.  If a DLL with the same base name is already in memory,
> Windows doesn't look for it, it just uses what's already in memory.
> See this page for the details:
>
>   http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586%28v=vs.85%29.aspx

Those rules affects a given process. That means that the fact that
process `foo' loaded certain DLLs does not affect which DLLs are loaded
for process `bar', even when `bar' is executed from `foo'.

For Cygwin and MSYS processes the incompatibility doesn't come from the
DLL loading system (assuming that each executable loads the correct DLL,
as it should because they live on the same directory) but from
collisions on objects that are used or created by Cygwin/MSYS.

[snip]

> Well, I run git from Bash, so an MSYS binary is already in the air
> when I invoke any git commands.

It would be quick enough to run some common git commands from MSYS shell
to see if it works: clone, pull, status, log...

BTW, there is MSYS2 [1], that comes with lots of packages (managed with
pacman, an awesome package manager) including git. I built Emacs from
MSYS2 a few days ago and it worked (just a small compile issue related
to MinGW-w64.) MSYSGit is quite faster than MSYS2 git, though.

[1] https://sourceforge.net/projects/msys2/




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

* Re: Apologia for bzr
  2014-01-03 10:26                 ` Eli Zaretskii
  2014-01-03 10:56                   ` Nathan Trapuzzano
  2014-01-03 13:49                   ` Leo Liu
@ 2014-01-03 16:57                   ` Tassilo Horn
  2014-01-03 20:02                     ` Ulrich Mueller
  2014-01-03 20:14                     ` Eli Zaretskii
  2 siblings, 2 replies; 401+ messages in thread
From: Tassilo Horn @ 2014-01-03 16:57 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, kfogel, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> All the terminology that's referred to in the git command man pages is
>> defined in one central place, the gitglossary(7) man page.
>
> First, there are no references to glossary in these places, and, as
> you know well, references in man pages are a PITA to use (unlike in
> Info).

On my Gentoo system, git installed an info manual.  But honestly, that's
just an index of the man pages but still better to browse than the
normal man pages, e.g., you have `l' to jump back to where you were
previously etc.

> More importantly, the glossary, at least git's glossary, is not going
> to help here.  Let's take this example I showed earlier:
>
>   --reuse-message=<commit> 
>     Take an existing commit object, and reuse the log message and the
>     authorship information (including the timestamp) when creating the
>     commit.
>
> Clearly, what I need to know here, and is never explained, is how do I
> _reference_ a commit object.  Now, here's what the glossary tells me:
>
>   commit object 
>        An object which contains the information about a particular
>        revision, such as parents, committer, author, date and the tree
>        object which corresponds to the top directory of the stored
>        revision.
>
> I hope you will agree with me that after reading this, I'm none the
> wiser.

Yes, true, but the gittutorial(7) does explain that.  And searching for
"git how to reference a commit" brings me to the git book's Revision
Selection chapter which discusses that in utmost details.

So the man pages could be better, but there are tons of additional
resources you can consult that are easy to find and probably better to
grasp.

Bye,
Tassilo



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 22:31       ` Lars Magne Ingebrigtsen
@ 2014-01-03 17:09         ` Ted Zlatanov
  2014-01-03 17:50           ` David Engster
  0 siblings, 1 reply; 401+ messages in thread
From: Ted Zlatanov @ 2014-01-03 17:09 UTC (permalink / raw)
  To: emacs-devel

On Thu, 02 Jan 2014 23:31:19 +0100 Lars Magne Ingebrigtsen <larsi@gnus.org> wrote: 

LMI> Eli Zaretskii <eliz@gnu.org> writes:
>> I love bzr and hate git.  I hope Emacs will not switch from bzr in my
>> lifetime, not to git anyway.

LMI> I have no fondness for git (it has a way of complicating things
LMI> unnecessarily), but I do think it would be a good idea to switch over.
LMI> And if we do make the switch, I hope your hope doesn't come true.  >"?

Predictably, I'm strongly in favor of moving to Git.  Besides the things
listed already, I think it will make the life of Katsumi Yamaoka, who
tirelessly synchronizes commits between Gnus and Emacs, a bit easier
when both those projects are using Git.

Ted




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 14:54                 ` Stefan Monnier
@ 2014-01-03 17:12                   ` Ted Zlatanov
  2014-01-03 17:25                     ` Karl Fogel
  0 siblings, 1 reply; 401+ messages in thread
From: Ted Zlatanov @ 2014-01-03 17:12 UTC (permalink / raw)
  To: emacs-devel

On Fri, 03 Jan 2014 09:54:39 -0500 Stefan Monnier <monnier@iro.umontreal.ca> wrote: 

SM> From where I stand, it seems pretty clear that Emacs will switch to Git,
SM> the only remaining question is when.

After the code freeze?  Pleeze?

Ted




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 14:03                 ` Eli Zaretskii
  2014-01-03 14:24                   ` Bastien
  2014-01-03 14:36                   ` Antonio Nikishaev
@ 2014-01-03 17:22                   ` Karl Fogel
  2 siblings, 0 replies; 401+ messages in thread
From: Karl Fogel @ 2014-01-03 17:22 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Bastien, lekktu, monnier, joakim, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:
>I didn't feel it was that way.  Karl asked for opinions and I provided
>mine.  I hope no one, including Karl, expected to hear only the YES
>kind of responses.  I didn't ask anyone to please me, and didn't say I
>will stop working on Emacs if it did switch.

Eli's response was exactly the kind of information I was hoping to
elicit, yes.

I also agree that a vote from someone like Eli should somehow count more
than a vote from (say) me.  But even adjusting for that, the total vote
weight in favor of switching to git is still pretty clear in this
thread, as others have noted.

>I don't see the need.  Either we switch to git or we don't, it's that
>simple.  No one will switch to anything else.

That does seem right.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 17:12                   ` Ted Zlatanov
@ 2014-01-03 17:25                     ` Karl Fogel
  0 siblings, 0 replies; 401+ messages in thread
From: Karl Fogel @ 2014-01-03 17:25 UTC (permalink / raw)
  To: emacs-devel

Ted Zlatanov <tzz@lifelogs.com> writes:
>On Fri, 03 Jan 2014 09:54:39 -0500 Stefan Monnier <monnier@iro.umontreal.ca> wrote: 
>
>SM> From where I stand, it seems pretty clear that Emacs will switch to Git,
>SM> the only remaining question is when.
>
>After the code freeze?  Pleeze?

+1.  No need for us to pick gratuitously inconvenient timing.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  9:53               ` Daniel Colascione
  2014-01-03 10:27                 ` Eli Zaretskii
@ 2014-01-03 17:26                 ` Stephen J. Turnbull
  1 sibling, 0 replies; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-03 17:26 UTC (permalink / raw)
  To: Daniel Colascione
  Cc: Rüdiger Sonderfeld, Bastien, Thierry Volpiatto,
	Michael Albinus, emacs-devel

Daniel Colascione writes:

 > It's a lot safer to fix an error in ChangeLog than to interactively 
 > rebase and force-push a new history. Would this automated ChangeLog 
 > generation system be tolerant of manual ChangeLog editing?

git help notes



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 13:46                 ` David Engster
  2014-01-03 14:12                   ` Eli Zaretskii
  2014-01-03 15:19                   ` Tom
@ 2014-01-03 17:29                   ` Eric S. Raymond
  2 siblings, 0 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-03 17:29 UTC (permalink / raw)
  To: Bastien, Juanma Barranquero, Karl Fogel, Eli Zaretskii,
	Stefan Monnier, Joakim Verona, Emacs developers

David Engster <deng@randomsample.de>:
> I predict there won't be a significant increase in new
> contributions. The real hurdles to participate in Emacs development lie
> elsewhere.

It's not "or", but "and".

The fact that there are other reasons contribution is difficult (and yes, I 
have a fairly long list in mind) does not mean that the friction losses 
inflicted by bzr are acceptable.

We have direct testimony in this thread from two people who wanted to
contribute but found bzr a crash landing.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 14:24                   ` Bastien
@ 2014-01-03 17:32                     ` Eric S. Raymond
  0 siblings, 0 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-03 17:32 UTC (permalink / raw)
  To: Bastien; +Cc: lekktu, joakim, emacs-devel, kfogel, monnier, Eli Zaretskii

Bastien <bzg@gnu.org>:
> I don't think we will magically get tons of new contributors,
> but I know that past contributors like Thierry V. and John W.
> said they are more likely to contribute back again, which
> already counts as "more contributors" for me.

Another one of those people is me.

There are other reasons I've been inactive, but I too have found 
bzr a significant blocker.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: Apologia for bzr
  2014-01-03 13:49                   ` Leo Liu
  2014-01-03 14:08                     ` Eli Zaretskii
@ 2014-01-03 17:45                     ` Eric S. Raymond
  2014-01-03 17:56                       ` Karl Fogel
  1 sibling, 1 reply; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-03 17:45 UTC (permalink / raw)
  To: emacs-devel; +Cc: kfogel, Eli Zaretskii, Tassilo Horn

Leo Liu <sdl.web@gmail.com>:
> I think getting new blood into emacs devel is critical or we might find
> ourselves in the same situation as bzr a few years later.

+1

This is my fear as well.  Switching to git is not sufficient to avert that 
outcome, but I think it is necessary.

There are other things we need to do to let sunlight and fresh air into the 
room.  The people who think of Emacs as a relic of bygone decades inhabited
by graying neckbeards are not, alas, entirely wrong.  And I say that as
arguably one of the neckbeards myself...
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: Apologia for bzr
  2014-01-03 15:12                       ` Óscar Fuentes
@ 2014-01-03 17:48                         ` Eric S. Raymond
  2014-01-03 19:39                         ` Stefan Monnier
  1 sibling, 0 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-03 17:48 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es>:
> Switching from CVS to a dVCS was a good move (I think you agreed with
> this on previous posts on this ml.) But, if you wished to attract users,
> choosing a tool that requires from almost everybody to learn it for the
> sole purpose of contributing to Emacs was most unfortunate. Emacs would
> be better off with CVS on this regard.

I wouldn't go *that* far. In 2013/2014, CVS is a bad joke. People laughed
and pointed.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03  5:27       ` Thierry Volpiatto
  2014-01-03  7:39         ` Michael Albinus
@ 2014-01-03 17:50         ` Eric S. Raymond
  2014-01-04  8:00           ` Richard Stallman
  1 sibling, 1 reply; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-03 17:50 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: emacs-devel

Thierry Volpiatto <thierry.volpiatto@gmail.com>:
> Also would be great to stop writing unuseful changelog files.

+1.  But that's the next battle, not this one.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 17:09         ` Ted Zlatanov
@ 2014-01-03 17:50           ` David Engster
  0 siblings, 0 replies; 401+ messages in thread
From: David Engster @ 2014-01-03 17:50 UTC (permalink / raw)
  To: emacs-devel

Ted Zlatanov writes:
> Besides the things listed already, I think it will make the life of
> Katsumi Yamaoka, who tirelessly synchronizes commits between Gnus and
> Emacs, a bit easier when both those projects are using Git.

It should at least be noted that CEDET is using bzr, and when Emacs
switches, we will probably have to do that as well; not really for
technical reasons, but simply to not be the last man standing.

I don't see which advantages git has w.r.t. cross-repository merges. It
really boils down to playing the patch|diff game.

-David



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-02 17:28       ` Eric S. Raymond
  2014-01-02 17:56         ` Eli Zaretskii
  2014-01-02 18:02         ` Óscar Fuentes
@ 2014-01-03 17:54         ` Stephen J. Turnbull
  2 siblings, 0 replies; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-03 17:54 UTC (permalink / raw)
  To: esr; +Cc: Karl Fogel, Eli Zaretskii, emacs-devel

Eric S. Raymond writes:

 > I don't understand loving bzr; my experiences with it have been
 > unpleasant.

If you use basically centralized workflows (and Emacs's *is* basically
centralized -- that's why people bitch so much about feature freeze,
for example), bzr has a lot of optimizations for that.

 > Mind you, I think opposing git adoption is like trying to stop the
 > tide from coming in, at this point (and have my own mixed feelings
 > about that).

You got that right.  I don't have any mixed feelings about it, though;
Bazaar does its best to prevent me from working the way I think, while
Mercurial got its colocated branching wrong, although the mq extension
makes up for that to a great extent.




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

* Re: Apologia for bzr
  2014-01-03 17:45                     ` Eric S. Raymond
@ 2014-01-03 17:56                       ` Karl Fogel
  2014-01-03 18:04                         ` Ted Zlatanov
                                           ` (2 more replies)
  0 siblings, 3 replies; 401+ messages in thread
From: Karl Fogel @ 2014-01-03 17:56 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: Eli Zaretskii, Tassilo Horn, emacs-devel

"Eric S. Raymond" <esr@thyrsus.com> writes:
>There are other things we need to do to let sunlight and fresh air into the 
>room.  The people who think of Emacs as a relic of bygone decades inhabited
>by graying neckbeards are not, alas, entirely wrong.  And I say that as
>arguably one of the neckbeards myself...

Right now, two of the biggest sources of hacking energy in the
Emacsosphere are in git repositories separate from Emacs' own bzr
repository: Org Mode and Gnus.  Our switching to git will help reduce at
least the degree of separation.

Whether those projects eventually host their "socially agreed on"
primary development branches in Emacs' repository is another question; I
don't know those dev communities well enough to say, despite being a
heavy user of both packages :-).  But the mere fact that I instinctively
consider them to be somewhat separate developer communities from Emacs
itself may be partly an artifact of our having been on bzr for so long.

-K



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

* Re: Apologia for bzr
  2014-01-03 17:56                       ` Karl Fogel
@ 2014-01-03 18:04                         ` Ted Zlatanov
  2014-01-03 18:21                           ` Karl Fogel
  2014-01-03 19:19                           ` chad
  2014-01-03 18:05                         ` David Engster
  2014-01-04 13:08                         ` Bastien
  2 siblings, 2 replies; 401+ messages in thread
From: Ted Zlatanov @ 2014-01-03 18:04 UTC (permalink / raw)
  To: emacs-devel

On Fri, 03 Jan 2014 11:56:51 -0600 Karl Fogel <kfogel@red-bean.com> wrote: 

KF> "Eric S. Raymond" <esr@thyrsus.com> writes:
>> There are other things we need to do to let sunlight and fresh air into the 
>> room.  The people who think of Emacs as a relic of bygone decades inhabited
>> by graying neckbeards are not, alas, entirely wrong.  And I say that as
>> arguably one of the neckbeards myself...

KF> Right now, two of the biggest sources of hacking energy in the
KF> Emacsosphere are in git repositories separate from Emacs' own bzr
KF> repository: Org Mode and Gnus.  Our switching to git will help reduce at
KF> least the degree of separation.

Have you seen the amount of activity on GNU ELPA, MELPA, el-get, and
others?  The amount and variety of packages are amazing.

KF> Whether those projects eventually host their "socially agreed on"
KF> primary development branches in Emacs' repository is another question; I
KF> don't know those dev communities well enough to say, despite being a
KF> heavy user of both packages :-).  But the mere fact that I instinctively
KF> consider them to be somewhat separate developer communities from Emacs
KF> itself may be partly an artifact of our having been on bzr for so long.

Heh heh.  As someone on both sides (Gnus and Emacs) I have to say
contributing to Gnus through Git has been much less stressful for me.

Ted




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

* Re: Apologia for bzr
  2014-01-03 17:56                       ` Karl Fogel
  2014-01-03 18:04                         ` Ted Zlatanov
@ 2014-01-03 18:05                         ` David Engster
  2014-01-04 13:08                         ` Bastien
  2 siblings, 0 replies; 401+ messages in thread
From: David Engster @ 2014-01-03 18:05 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Eric S. Raymond, Eli Zaretskii, emacs-devel, Tassilo Horn

Karl Fogel writes:
> Right now, two of the biggest sources of hacking energy in the
> Emacsosphere are in git repositories separate from Emacs' own bzr
> repository: Org Mode and Gnus.  Our switching to git will help reduce at
> least the degree of separation.

In what way? They are still different repositories; just because they
are both using git does not magically make things easier.

Unless of course you propose to include Gnus and Org as a submodule,
which would make sense, but is difficult to pull off.

-David



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

* Re: Generating ChangeLog files.
  2014-01-03 10:12             ` Eli Zaretskii
@ 2014-01-03 18:09               ` Bozhidar Batsov
  2014-01-03 18:41                 ` Juanma Barranquero
  0 siblings, 1 reply; 401+ messages in thread
From: Bozhidar Batsov @ 2014-01-03 18:09 UTC (permalink / raw)
  To: Eli Zaretskii
  Cc: Rüdiger Sonderfeld, emacs-devel, michael.albinus,
	thierry.volpiatto

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

On 3 January 2014 12:12, Eli Zaretskii <eliz@gnu.org> wrote:

> > From: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
> > Date: Fri, 03 Jan 2014 10:31:39 +0100
> > Cc: Michael Albinus <michael.albinus@gmx.de>,
> >       Thierry Volpiatto <thierry.volpiatto@gmail.com>
> >
> > I usually write patches on a branch and rebase them when they are ready
> to be
> > pushed.  This always causes merge conflicts for the ChangeLog.  (Maybe
> [1]
> > could help a bit.)
>
> There should be no merge conflicts with ChangeLog files.  I see an
> absolute zero of them.  git-merge-changelog and the changelog_merge
> plugin in bzr make this not an issue.
>
> > E.g., GNU Octave replaced ChangeLog with an auto-generated ChangeLog from
> > commit messages and they seem to be quite happy with that solution.
>
> I've seen a couple of projects that eliminated ChangeLogs.  In every
> single case, the result was a drastic deterioration in the quality of
> the commit log information.
>

I work on a lot of open-source projects and most them have changelogs
listing only non-trivial changes (as opposed to what
we do in Emacs - listing everything). While I definitely think a changelog
is usefu,l I don't think it's particularly
good idea to simply copy the commit messages in the changelog (or vice
versa). IMO the changelog should
strike some middle ground between the NEWS and the commit log. As it stands
now - it's mostly a duplication of
the commit log, so I rarely refer to it.


>
> > I know the topic has been discussed several times and it seems a bit
> pointless
> > to start the discussion again.  But in my opinion ChangeLogs are an even
> > bigger issue than the VC because at least I can work around the latter by
> > using git-bzr.
>
> As pointed out above, you should be able to resolve the former as
> well, in no time.
>
>
>

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

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

* Re: Apologia for bzr
  2014-01-03 18:04                         ` Ted Zlatanov
@ 2014-01-03 18:21                           ` Karl Fogel
  2014-01-03 19:52                             ` Stefan Monnier
  2014-01-03 19:19                           ` chad
  1 sibling, 1 reply; 401+ messages in thread
From: Karl Fogel @ 2014-01-03 18:21 UTC (permalink / raw)
  To: emacs-devel

Ted Zlatanov <tzz@lifelogs.com> writes:
>KF> Right now, two of the biggest sources of hacking energy in the
>KF> Emacsosphere are in git repositories separate from Emacs' own bzr
>KF> repository: Org Mode and Gnus.  Our switching to git will help reduce at
>KF> least the degree of separation.
>
>Have you seen the amount of activity on GNU ELPA, MELPA, el-get, and
>others?  The amount and variety of packages are amazing.

True; I didn't mean to slight other packages.

Emacs' extensible, modular nature probably means that activity on the
core development list and repository is not an accurate measure of how
the project is doing as a whole anyway.

David Engster wrote:
>In what way? They are still different repositories; just because they
>are both using git does not magically make things easier.
>
>Unless of course you propose to include Gnus and Org as a submodule,
>which would make sense, but is difficult to pull off.

I guess I really meant "If they switch to having a common branch history
with core Emacs, then merging and change porting gets a lot easier,
whether or not they use the same social master repository" (but that's
not what I said, so your question was quite reasonable).

-K



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

* Re: Generating ChangeLog files.
  2014-01-03 18:09               ` Bozhidar Batsov
@ 2014-01-03 18:41                 ` Juanma Barranquero
  2014-01-03 20:13                   ` Stefan Monnier
  0 siblings, 1 reply; 401+ messages in thread
From: Juanma Barranquero @ 2014-01-03 18:41 UTC (permalink / raw)
  To: Bozhidar Batsov
  Cc: Rüdiger Sonderfeld, Eli Zaretskii, Thierry Volpiatto,
	Michael Albinus, emacs-devel

On Fri, Jan 3, 2014 at 7:09 PM, Bozhidar Batsov <bozhidar@batsov.com> wrote:

> As it stands
> now - it's mostly a duplication of
> the commit log, so I rarely refer to it.

ChangeLogs are easier to access and search, and they have better
information (mistakes can be corrected). I rarely refer to the commit
log, other than the one-liners of "bzr log --line" to quickly locate a
recent commit, and these are less than helpful because many people
does not really adds a summary.

So count this as a strong +1 for keeping ChangeLogs.

   J



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

* Re: Apologia for bzr
  2014-01-03 18:04                         ` Ted Zlatanov
  2014-01-03 18:21                           ` Karl Fogel
@ 2014-01-03 19:19                           ` chad
  1 sibling, 0 replies; 401+ messages in thread
From: chad @ 2014-01-03 19:19 UTC (permalink / raw)
  To: EMACS development team

On 03 Jan 2014, at 10:04, Ted Zlatanov <tzz@lifelogs.com> wrote:

> Have you seen the amount of activity on GNU ELPA, MELPA, el-get, and
> others?  The amount and variety of packages are amazing.

Related note: anyone whos interested in this (primarily social)
topic, and doesnt mind using modern web sites, should consider
following emacs.reddit.com. Maybe its just me (kids these days,
etc, etc), but I was quite heartened to see so much activity around
emacs.

~Chad



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

* Re: Apologia for bzr
  2014-01-03 15:12                       ` Óscar Fuentes
  2014-01-03 17:48                         ` Eric S. Raymond
@ 2014-01-03 19:39                         ` Stefan Monnier
  1 sibling, 0 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-03 19:39 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> sole purpose of contributing to Emacs was most unfortunate.  Emacs would
> be better off with CVS on this regard.

Nowadays, CVS is only know by "old farts" and is otherwise a weird out-lier.


        Stefan



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

* Re: Apologia for bzr
  2014-01-03 14:08                     ` Eli Zaretskii
  2014-01-03 15:12                       ` Óscar Fuentes
@ 2014-01-03 19:49                       ` Stefan Monnier
  2014-01-03 20:27                         ` David Kastrup
                                           ` (2 more replies)
  1 sibling, 3 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-03 19:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, kfogel, tsdh, emacs-devel

>> I think getting new blood into emacs devel is critical or we might find
>> ourselves in the same situation as bzr a few years later.
> I agree about the need, but have my doubts about the results.  We've
> heard similar arguments for switching from CVS, too.  I hope I will be
> proven wrong.

Using Git won't magically give us any new blood.  But using Bzr is
a hindrance.  A few years ago, users seemed happy to use Hg for one
project, Git for another, DaRCS for yet a third, etc....

Nowadays most users complain when they have to learn another tool.


        Stefan



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

* Re: Apologia for bzr
  2014-01-03 18:21                           ` Karl Fogel
@ 2014-01-03 19:52                             ` Stefan Monnier
  2014-01-03 20:17                               ` Karl Fogel
  2014-01-04 10:01                               ` David Engster
  0 siblings, 2 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-03 19:52 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

> I guess I really meant "If they switch to having a common branch history
> with core Emacs, then merging and change porting gets a lot easier,

As you know, there is no VCS tool out there that can actually handle
such a thing.  Two-way syncs between different branches is still an
open problem.


        Stefan



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

* Re: Apologia for bzr
  2014-01-03 16:57                   ` Tassilo Horn
@ 2014-01-03 20:02                     ` Ulrich Mueller
  2014-01-03 20:13                       ` Tassilo Horn
  2014-01-03 20:32                       ` Eli Zaretskii
  2014-01-03 20:14                     ` Eli Zaretskii
  1 sibling, 2 replies; 401+ messages in thread
From: Ulrich Mueller @ 2014-01-03 20:02 UTC (permalink / raw)
  To: Tassilo Horn; +Cc: esr, kfogel, Eli Zaretskii, emacs-devel

>>>>> On Fri, 03 Jan 2014, Tassilo Horn wrote:

> On my Gentoo system, git installed an info manual. But honestly,
> that's just an index of the man pages [...]

Git should install the following two nodes:

* Git: (git).                   A fast distributed revision control system
* Git Man Pages: (gitman).      Manual pages for Git revision control system

The first is the Git User Manual, the second a collection of the man
pages. Is the first one missing on your system?

Ulrich



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

* Re: bzr is dying; Emacs needs to move
  2014-01-02  9:53 bzr is dying; Emacs needs to move Eric S. Raymond
                   ` (3 preceding siblings ...)
  2014-01-02 17:53 ` Sam Steingold
@ 2014-01-03 20:03 ` David Reitter
  4 siblings, 0 replies; 401+ messages in thread
From: David Reitter @ 2014-01-03 20:03 UTC (permalink / raw)
  To: emacs-devel@gnu.org developers

In support of the proposal:

1. Yes, please switch to git.

2. I am someone who had commit access in CVS days, but stopped making my small contributions when bzr was introduced, following extensive tries to adopt bzr for Aquamacs or to use it for small, infrequent contributions.  It didn't seem worth the effort.

3. Please use the official mirror as a basis.  It's a good mirror.  Anything else would be a PITA for downstream developers and anyone who maintains a separate git branch of Emacs.   After 50 merges from the mainline and >4500 commits, rebasing to preserve history seems like a big deal.

4. The Changelog files are a frequent cause of conflicts.  "git log --grep=" is fast.  What is the use?


On Jan 2, 2014, at 4:53 AM, Eric S. Raymond <esr@thyrsus.com> wrote:

> I am posting this because I think it is my duty as a topic expert in
> version-control systems and the surrounding tools to do so, not because
> I have any desire to be in the argument that is certain to ensue.
> 
> The bzr version control system is dying; by most measures it is
> already moribund.  The dev list has flatlined, most of Canonical's
> in-house projects have abandoned bzr for git, and one of its senior
> developers has written a remarkably candid assessment of why bzr
> failed:
> 
> http://www.stationary-traveller.eu/pages/bzr-a-retrospective.html
> 
> I urge all Emacs developers to read this, then sleep on it, then read
> it again - not least because I think Emacs development has fallen into
> some of the same traps the author decribes.  But *that* is a discussion for
> another day; the conversation we need to have now is about escaping
> the gravitational pull of bzr's failure.
> 
> In theory, that failure need not affect us at all providing the bzr
> codebase is sufficently mature to continue in use as a production
> tool.  I judge that, in fact, it *is* sufficiently mature.
> 
> In practice, I judge that sticking with bzr would have social and
> signaling effects damaging to Emacs's prospects. Sticking to a 
> moribund version-control system will compound and exacerbate the 
> project's difficulty in attracting new talent.
> 
> The uncomfortable truth is that many younger hackers already think
> Emacs is a dinosaur - difficult, bulky, armor-plated, and generally
> stuck in the last century. If we're going to fight off that image, we
> cannot afford to make or adhere to choices that further cast the
> project as crusty, insular, and backward-looking.
> 
> As of right about now, continuing with bzr is such a choice.  We'll
> lose potential recruits, not merely because bzr has a learning cost
> but because crusty, insular, etc.  The opportunity cost of not getting
> out will only rise with time.
> 
> git won the mindshare war.  I regret this - I would have preferred
> Mercurial, but it too is not looking real healthy these days.  I have
> made my peace with git's victory and switched.  I urge the Emacs
> project to do likewise.
> 
> I can be technical lead on the migration - as the author of
> reposurgeon I have the skills and experience for that (I recently
> moved GNU troff from CVS to git). But the project leadership needs
> to make the go decision first.
> -- 
> 		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
> 
> No one who's seen it in action can say the phrase "government help" without
> either laughing or crying.
> 




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 16:28                           ` Óscar Fuentes
@ 2014-01-03 20:12                             ` Eli Zaretskii
  2014-01-03 20:37                               ` Óscar Fuentes
  2014-01-03 21:00                               ` David De La Harpe Golden
  0 siblings, 2 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 20:12 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Fri, 03 Jan 2014 17:28:50 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Whatever environment variables it sets are effective only until the
> >> command finishes, and for that sole command.
> >
> > Yes, and what happens if that command then invokes something that is
> > not in the git's bin directory?
> 
> How could that happen?

You wanna bet?  I prefer an environment where I know what can and what
cannot happen.

> Those rules affects a given process. That means that the fact that
> process `foo' loaded certain DLLs does not affect which DLLs are loaded
> for process `bar', even when `bar' is executed from `foo'.

I invoked 'make' from the Bash that was installed by msysgit.  That
'make' hang.  The same command runs just fine from the MSYS Bash I use
for configuring and building packages.  That's a fact.  I think I know
the reasons, but if you want to disagree and live dangerously, that's
fine by me.

> It would be quick enough to run some common git commands from MSYS shell
> to see if it works: clone, pull, status, log...

I already tried, see above.

> BTW, there is MSYS2 [1], that comes with lots of packages (managed with
> pacman, an awesome package manager) including git. I built Emacs from
> MSYS2 a few days ago and it worked (just a small compile issue related
> to MinGW-w64.) MSYSGit is quite faster than MSYS2 git, though.

Thanks, I know about MSYS2.  My current MSYS environment is well tuned
and satisfies me, so I feel no need to switch.




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

* Re: Generating ChangeLog files.
  2014-01-03 18:41                 ` Juanma Barranquero
@ 2014-01-03 20:13                   ` Stefan Monnier
  2014-01-04  3:49                     ` Kenichi Handa
  0 siblings, 1 reply; 401+ messages in thread
From: Stefan Monnier @ 2014-01-03 20:13 UTC (permalink / raw)
  To: Juanma Barranquero
  Cc: emacs-devel, Rüdiger Sonderfeld, Michael Albinus,
	Bozhidar Batsov, Thierry Volpiatto, Eli Zaretskii

>> As it stands now - it's mostly a duplication of the commit log, so
>> I rarely refer to it.

It is a duplication, and that's on purpose.  The purpose being to
eventually be able to auto-generate the ChangeLog.

> ChangeLogs are easier to access and search, and they have better
> information (mistakes can be corrected).  I rarely refer to the commit
> log, other than the one-liners of "bzr log --line" to quickly locate a
> recent commit, and these are less than helpful because many people
> does not really adds a summary.

I stand on the other side: the only reason I ever look at the ChangeLog
files is because "bzr log" is so damn slow.  But even with this
slowness, I usually use "bzr log" (or rather vc-print-log), because
I can then easily get the corresponding diff.


        Stefan



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

* Re: Apologia for bzr
  2014-01-03 20:02                     ` Ulrich Mueller
@ 2014-01-03 20:13                       ` Tassilo Horn
  2014-01-03 20:32                       ` Eli Zaretskii
  1 sibling, 0 replies; 401+ messages in thread
From: Tassilo Horn @ 2014-01-03 20:13 UTC (permalink / raw)
  To: Ulrich Mueller; +Cc: esr, kfogel, Eli Zaretskii, emacs-devel

Ulrich Mueller <ulm@gentoo.org> writes:

Hi Ulrich,

>> On my Gentoo system, git installed an info manual. But honestly,
>> that's just an index of the man pages [...]
>
> Git should install the following two nodes:
>
> * Git: (git).                   A fast distributed revision control system
> * Git Man Pages: (gitman).      Manual pages for Git revision control system
>
> The first is the Git User Manual, the second a collection of the man
> pages. Is the first one missing on your system?

Ups, no.  I've only missed it so far. ;-)

BTW, another great git resource for getting an overview of git's
commands once you know the basic concepts is the git cheatsheet at

  http://ndpsoftware.com/git-cheatsheet.html

Bye,
Tassilo



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

* Re: Apologia for bzr
  2014-01-03 16:57                   ` Tassilo Horn
  2014-01-03 20:02                     ` Ulrich Mueller
@ 2014-01-03 20:14                     ` Eli Zaretskii
  2014-01-03 20:50                       ` Óscar Fuentes
  2014-01-03 21:10                       ` Tassilo Horn
  1 sibling, 2 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 20:14 UTC (permalink / raw)
  To: Tassilo Horn; +Cc: esr, kfogel, emacs-devel

> From: Tassilo Horn <tsdh@gnu.org>
> Cc: esr@thyrsus.com,  kfogel@red-bean.com,  emacs-devel@gnu.org
> Date: Fri, 03 Jan 2014 17:57:19 +0100
> 
> So the man pages could be better, but there are tons of additional
> resources you can consult that are easy to find and probably better to
> grasp.

I guess we should stop investing so much effort in the Emacs manuals,
then -- there's so much resources out there, let the users look for
them instead.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 14:36                   ` Antonio Nikishaev
@ 2014-01-03 20:15                     ` Stephen J. Turnbull
  2014-01-05  4:49                       ` Barry Warsaw
  0 siblings, 1 reply; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-03 20:15 UTC (permalink / raw)
  To: Antonio Nikishaev; +Cc: emacs-devel

Antonio Nikishaev writes:

 > There is hg. It's pretty popular.

True, but it doesn't have the momentum of git.

 > (And it has nice ui and far less wtfs than git)

Git has not WTF'ed me since the first week I used it.  But then, I
thought the concept was cool and read the whole theory of operations
part of the old man page (several times until I understood it).  Most
developers don't want to do that, which is not a problem.  But many of
those developers also want git to fit their preconceptions, which it
doesn't, and that is a problem.

Mercurial, OTOH, has several WTFs, sufficiently F-ed up that I don't
ever use the corresponding features ("named branches", rebase, there
are several others less important).

I also don't really understand the complaints about the git CLI.  I
have a fairly complex set of practices in git, but I use the same
number of commands and *fewer* options in git than I do in hg or bzr.
(This can be improved by using plugins.)  And when I want to do
something complex in git (like filter-branch), I *can* do it, whereas
I can't in hg or bzr.

I'll grant that git's ref-relative commit addressing (including the
whole ref algebra of HEAD^2~6^3) was a bit disconcerting at first, but
it saves me substantial keystrokes compared to the bzr and hg
equivalents (not to mention a lot of screen space that isn't used up
with log or id commands to get hold of a revno).

It's true that Bazaar has some useful features, such as shared repos,
whose performance characteristics are hard to emulate accurately in
git.  I can't speak to Stefan's experience, of course, but when I look
at my git repos, in fact sharing is quite high because branches in
separate repos tend to be very divergent (so only the original shared
objects *can* be shared), and when the main feature branch gets
merged, the whole repo usually gets deleted so the failure of "git
fetch" to hardlink pulled objects isn't a big space leak.  I also
periodically clean up dormant branches by pulling them into a
"warehouse" repo, and then deleting the separate repo.  (I have plenty
of space, this is to clean up the directory listing, not the disk
usage.  But it sure helps conserve disk.)

The only bzr features that I don't see how to emulate effectively in
git are "log -n ...", bound branches, and lightweight checkouts.  But
I've never missed them in git.  I suspect that when the move to git
happens, Stefan will find alternative, functionally equivalent,
workflows appropriate to git after a while.  Unfortunately I can't
promise that.  (In the case of log -n, I far prefer the graphical DAG
displays anyway.)

Steve




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

* Re: Apologia for bzr
  2014-01-03 19:52                             ` Stefan Monnier
@ 2014-01-03 20:17                               ` Karl Fogel
  2014-01-04 10:01                               ` David Engster
  1 sibling, 0 replies; 401+ messages in thread
From: Karl Fogel @ 2014-01-03 20:17 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> I guess I really meant "If they switch to having a common branch history
>> with core Emacs, then merging and change porting gets a lot easier,
>
>As you know, there is no VCS tool out there that can actually handle
>such a thing.  Two-way syncs between different branches is still an
>open problem.

?  No, I meant what I said, but it's possible I said it too compactly.
(If you want, I can explain in more detail off-list, but I won't go into
it more here as it's tangential to our immediate concerns -- i.e., feel
free to drop it, as I think it's an academic point given the accumulated
history of those projects on their own branches :-) ).

­K






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

* Re: Apologia for bzr
  2014-01-03 19:49                       ` Stefan Monnier
@ 2014-01-03 20:27                         ` David Kastrup
  2014-01-03 20:39                         ` Dmitry Gutov
  2014-01-04  2:00                         ` Josh
  2 siblings, 0 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-03 20:27 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: esr, kfogel, Eli Zaretskii, emacs-devel, tsdh

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> Using Git won't magically give us any new blood.  But using Bzr is
> a hindrance.  A few years ago, users seemed happy to use Hg for one
> project, Git for another, DaRCS for yet a third, etc....
>
> Nowadays most users complain when they have to learn another tool.

Nowadays most users complain when they have to learn.

Nowadays most users complain.

But that's, again, a side consideration.

I am currently involved with LilyPond, a music typesetter and working as
a fulltime programmer on it.  So I am doing plenty of additions.

Like one sees with many significant contributors and/or project leaders,
I spend so much working _on_ LilyPond that I have factually ceased
working _with_ LilyPond.  So quite a few significant usability
improvements happen when I

a) on a rare occasion actually have to transcribe some music piece and
get appalled at how weird something is
b) try explaining on a mailing list how to do some programming or
transcribing task with LilyPond and get appalled at how weird something
is.
c) try writing documentation for some problem and get appalled at how
weird...

You get the point.  Often the weirdness is decades old and people just
got used to it.

Now in this discussion here, for better or worse, there is the somewhat
handwavingly made contention "everybody uses Git nowadays".  Now if
Emacs is supposed to be useful to people, that means it should support
Git well.

If we stipulate that the main task several powerful Emacs contributors
are using Emacs for is, well, working on Emacs, then their focus to get
weird things or things not matching the tool well under control will be
on the version control system they are using in connection with working
on Emacs.

So if we don't have a particular axe to grind for a particular version
control system, it makes sense moving Emacs to what is used most often,
just so that the friction between Emacs' and PVCS' keybindings,
commands, documentation, workflow, concepts will be most obvious when
working with the most prevalent version control system.

When Eli says "working with Git under Windows is a pain", then it may be
nice to have as the ultimate goal the addition "unless you are working
with it from within Emacs".

Emacs is really great for working on Texinfo, Lisp, and C files.  And
part of the reason it has strong points there is that these are the
languages involved with working on Emacs itself.

-- 
David Kastrup



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

* Re: Apologia for bzr
  2014-01-03 20:02                     ` Ulrich Mueller
  2014-01-03 20:13                       ` Tassilo Horn
@ 2014-01-03 20:32                       ` Eli Zaretskii
  1 sibling, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 20:32 UTC (permalink / raw)
  To: Ulrich Mueller; +Cc: esr, kfogel, emacs-devel, tsdh

> Date: Fri, 3 Jan 2014 21:02:55 +0100
> Cc: Eli Zaretskii <eliz@gnu.org>, esr@thyrsus.com, kfogel@red-bean.com,
>         emacs-devel@gnu.org
> From: Ulrich Mueller <ulm@gentoo.org>
> 
> >>>>> On Fri, 03 Jan 2014, Tassilo Horn wrote:
> 
> > On my Gentoo system, git installed an info manual. But honestly,
> > that's just an index of the man pages [...]
> 
> Git should install the following two nodes:
> 
> * Git: (git).                   A fast distributed revision control system
> * Git Man Pages: (gitman).      Manual pages for Git revision control system

When you build Git, by default it doesn't build the Info docs.  You
need to insist (with "make info").  So it's a small wonder people
don't have that manual.



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

* Re: Apologia for bzr
  2014-01-03  8:57                 ` Eli Zaretskii
  2014-01-03  9:21                   ` Yuri Khan
@ 2014-01-03 20:34                   ` Stephen J. Turnbull
  2014-01-03 21:07                     ` Eli Zaretskii
  2020-10-29  7:11                     ` Drew Adams
  1 sibling, 2 replies; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-03 20:34 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, kfogel, Toby Cubitt, emacs-devel

Eli Zaretskii writes:

 > At least in Emacs we have an excuse that the bulk of the
 > terminology developed when no other software provided any similar
 > features; there's no such excuse for git (or bzr or hg).

You're wrong about git, you're arguably right about bzr and hg.

Git is fundamentally different from bzr and hg, almost as different as
it is from CVS and RCS.  Git is designed for use cases like "git
filter-branch", it's easy enough to implement it as a shell script
(though it would be slow), and probably it was prototyped that way
(although I would write the prototype in Lisp, not shell).  I really
wouldn't want to try to do that in hg or bzr: although it could be
done, it would be unusably slow (because they don't have a separate
index, so the work has to be done in-tree-on-disk, rather than only on
metadata in memory).

 > Anyway, there's a big difference here: in Emacs documentation,
 > every term is explained before it is used, and rarely used terms
 > have cross-references to where they are described.

I bet you can dip into any number of Info nodes where the terms
"buffer" and "window" are used without definition.  The git "index" is
equally fundamental to git.  It's what makes things like "git reset"
make sense.  It's what explains the sometimes disconcerting behavior
of git diff with respect to "git add"ed files.  It's what makes
staging workflows (which some people love even if you can't figure out
why they could love them :-) possible.

 > > > Here, a typical example from git-commit:
 > > > 
 > > >   DESCRIPTION 
 > > > 
 > > >   Stores the current contents of the index in a new commit along with
 > > >    a log message from the user describing the changes.
 > > > 
 > > > Huh?  "Contents of the index"?  I used to know what commit was, now I
 > > > don't.

Sure you do; commit hasn't changed.  What you now know is what the
index is: a data structure that contains the same information as a
commit, but isn't a commit and isn't a working tree, either.  It has
an independent life of its own.  Implicitly, it is volatile, and "git
commit" makes a persistent record of its current state.

Of course hg and bzr use indexes, too, but they're not exposed to the
user: they only exist during the process of committing.

 > You are missing the point: I didn't want a tutorial.  I use VCSes for
 > many years, and dVCSes for some; I already know what it means to
 > commit a changeset and what is the basic workflow of using a dVCS.

But I think you've misstated the case here.  Development has
workflows, and dVCS usage is adapted to them.  It doesn't make sense
to talk about "*the* basic workflow of using a dVCS".  You're actually
talking about *your* basic workflow, and how you use a dVCS in that
workflow.  Other people's workflows vary wildly, and from the point of
view of dVCS usage, they're just as basic.

 > "Recording a commit"? what's that?  And is "commit that has the exact
 > same tree as its sole parent commit" a complicated way of saying "no
 > changes since the last commit", or is there some important subtlety
 > here that I'm missing?

It's probably not important to you, so I won't go into detail, but
there are several subtleties that are missing from the simple
expression "no changes since the last commit".  But this is again
missing an important point about how git is different:

 > Even bzr's commit docs does much better:
 > 
 >   --unchanged   Commit even if nothing has changed.

This makes a lot of sense in Bazaar, because Bazaar makes it hard to
work nonlinearly without using multiple workspaces.  Nonlinear
workflows in a single repo/workspace are what git is designed for.  In
a nonlinear workflow, "nothing has changed" is meaningless until you
answer the question "since *when*?"  "The parent commit" is the
precise and meaningful answer.

 > I want some decent reference documentation.

AFAICT, you want your dVCS to be Bazaar.  Nothing wrong with that
(while I really dislike bzr, I don't think it's dead, at least not
yet, and that dislike is a personal thing, no reason why you should
change your mind).  But the overwhelming majority of posters (and I
suspect that means the majority of Emacs developers) want git, and git
is not, will not be, and should not be, Bazaar.  Sorry!




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 20:12                             ` Eli Zaretskii
@ 2014-01-03 20:37                               ` Óscar Fuentes
  2014-01-03 21:11                                 ` Eli Zaretskii
  2014-01-03 21:00                               ` David De La Harpe Golden
  1 sibling, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-03 20:37 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> You wanna bet?  I prefer an environment where I know what can and what
> cannot happen.

So yo do worry about hypothetical, unknown problems (unknown unknowns).
That's fine, but hardly a serious argument against MSYSGit.

>> Those rules affects a given process. That means that the fact that
>> process `foo' loaded certain DLLs does not affect which DLLs are loaded
>> for process `bar', even when `bar' is executed from `foo'.
>
> I invoked 'make' from the Bash that was installed by msysgit.  That
> 'make' hang.  The same command runs just fine from the MSYS Bash I use
> for configuring and building packages.  That's a fact.  I think I know
> the reasons, but if you want to disagree and live dangerously, that's
> fine by me.

IIUC you invoked MSYS `make' from MSYSGit `bash'. As I said multiple
times, that's not expected to work.

>> It would be quick enough to run some common git commands from MSYS shell
>> to see if it works: clone, pull, status, log...
>
> I already tried, see above.

No, you didn't. As git.exe does not depend on MSYS.dll, the problems you
experienced with `make' shouldn't happen. And, indeed, invoking MSYSGit
git.exe from a MSYS terminal worked fine for the commands I mentioned
above.

[snip]




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

* Re: Apologia for bzr
  2014-01-03 19:49                       ` Stefan Monnier
  2014-01-03 20:27                         ` David Kastrup
@ 2014-01-03 20:39                         ` Dmitry Gutov
  2014-01-03 20:54                           ` Eric S. Raymond
  2014-01-04  4:06                           ` Stefan Monnier
  2014-01-04  2:00                         ` Josh
  2 siblings, 2 replies; 401+ messages in thread
From: Dmitry Gutov @ 2014-01-03 20:39 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: esr, kfogel, Eli Zaretskii, emacs-devel, tsdh

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> Using Git won't magically give us any new blood.  But using Bzr is
> a hindrance.  A few years ago, users seemed happy to use Hg for one
> project, Git for another, DaRCS for yet a third, etc....
>
> Nowadays most users complain when they have to learn another tool.

It could mean the users are getting more spoiled, or it could indicate
increasing mainstream acceptance of Emacs, when it attracts more users
who don't really like to learn new tools.



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

* Re: Apologia for bzr
  2014-01-03 20:14                     ` Eli Zaretskii
@ 2014-01-03 20:50                       ` Óscar Fuentes
  2014-01-03 21:10                       ` Tassilo Horn
  1 sibling, 0 replies; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-03 20:50 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> I guess we should stop investing so much effort in the Emacs manuals,
> then -- there's so much resources out there, let the users look for
> them instead.

As already said, man pages are not for learning core concepts of the
tool (except for the specific man pages devoted to that purpose, of
course.) You can't expect to edit some files on a source tree versioned
under git and then do a `git help commit' and learn how to commit your
changes right away, because git uses some concepts which are not shared
by other VCS you might know. You need to understand how git works first
and learn the terminology.

Really, I see no difference with any other non-trivial software package.
It is not as if the output of C-h k M-w is self-contained and free of
Emacs-specific jargon.




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

* Re: Apologia for bzr
  2014-01-03 20:39                         ` Dmitry Gutov
@ 2014-01-03 20:54                           ` Eric S. Raymond
  2014-01-04  4:06                           ` Stefan Monnier
  1 sibling, 0 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-03 20:54 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: kfogel, Eli Zaretskii, emacs-devel, Stefan Monnier, tsdh

Dmitry Gutov <dgutov@yandex.ru>:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
> 
> > Using Git won't magically give us any new blood.  But using Bzr is
> > a hindrance.  A few years ago, users seemed happy to use Hg for one
> > project, Git for another, DaRCS for yet a third, etc....
> >
> > Nowadays most users complain when they have to learn another tool.
> 
> It could mean the users are getting more spoiled, or it could indicate
> increasing mainstream acceptance of Emacs, when it attracts more users
> who don't really like to learn new tools.

It could mean any of those things. 

What I think it means is that git has achieved ubiquity and become
part of most peoples' notion of a baseline toolkit, in the same way
that C compilers did after about 1985.

I don't think it has much of anything to do with the acceptance level of Emacs.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 20:12                             ` Eli Zaretskii
  2014-01-03 20:37                               ` Óscar Fuentes
@ 2014-01-03 21:00                               ` David De La Harpe Golden
  2014-01-03 21:18                                 ` Óscar Fuentes
  1 sibling, 1 reply; 401+ messages in thread
From: David De La Harpe Golden @ 2014-01-03 21:00 UTC (permalink / raw)
  To: emacs-devel

On 03/01/14 20:12, Eli Zaretskii wrote:

> Thanks, I know about MSYS2.  My current MSYS environment is well tuned
> and satisfies me, so I feel no need to switch.
>
>

Just had a weird idea, though after searching looks like I mightn't have 
been the only one in history to have it [1]:

Have you ever tried jgit [2] on windows i.e. that pure java 
reimplementation of git?  It was mostly developed by and for use with 
Eclipse (ugh), but actually has its own little standalone command line 
interface. Not as featureful as real git, but pretty self-contained, it 
looks like it might have just about enough for a reasonable dev workflow 
on its own [3].

This is not a recommendation, I've never used the thing, might be a dead 
end, but OTOH might be worth a look.

[1] 
http://sandeep.wordpress.com/2010/09/13/using-git-on-windows-without-any-of-the-cygwinmsysgit-nonsense/

[2] http://www.eclipse.org/jgit/
[3] http://wiki.eclipse.org/JGit/User_Guide#Running_the_JGit_CLI





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

* Re: Apologia for bzr
  2014-01-03 20:34                   ` Apologia for bzr Stephen J. Turnbull
@ 2014-01-03 21:07                     ` Eli Zaretskii
  2014-01-04  5:01                       ` Stephen J. Turnbull
  2020-10-29  7:11                     ` Drew Adams
  1 sibling, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 21:07 UTC (permalink / raw)
  To: Stephen J. Turnbull
  Cc: esr, kfogel, toby-dated-1389906911.cc0ede, emacs-devel

> From: "Stephen J. Turnbull" <stephen@xemacs.org>
> Cc: Toby Cubitt <toby-dated-1389906911.cc0ede@dr-qubit.org>,
>     esr@thyrsus.com,
>     kfogel@red-bean.com,
>     emacs-devel@gnu.org
> Date: Sat, 04 Jan 2014 05:34:06 +0900
> 
> Eli Zaretskii writes:
> 
>  > At least in Emacs we have an excuse that the bulk of the
>  > terminology developed when no other software provided any similar
>  > features; there's no such excuse for git (or bzr or hg).
> 
> You're wrong about git, you're arguably right about bzr and hg.

What, git was the first VCS, and needed to invent a new terminology?

> Git is fundamentally different from bzr and hg, almost as different as
> it is from CVS and RCS.  Git is designed for use cases like "git
> filter-branch", it's easy enough to implement it as a shell script
> (though it would be slow), and probably it was prototyped that way
> (although I would write the prototype in Lisp, not shell).  I really
> wouldn't want to try to do that in hg or bzr: although it could be
> done, it would be unusably slow (because they don't have a separate
> index, so the work has to be done in-tree-on-disk, rather than only on
> metadata in memory).

What does this have to do with clear and comprehensible documentation?

>  > Anyway, there's a big difference here: in Emacs documentation,
>  > every term is explained before it is used, and rarely used terms
>  > have cross-references to where they are described.
> 
> I bet you can dip into any number of Info nodes where the terms
> "buffer" and "window" are used without definition.

I said "rarely used terms".  Frequently used terms need to be
understood in advance, by reading the preceding chapters.

In any case, buffer and window can be intuitively understood, much
more than "index" and "staging".

> The git "index" is equally fundamental to git.

But there is a way to explain what a commit does without ever
mentioning the index, certainly not in the sentence that _defines_
what a commit is.

>  > > >   Stores the current contents of the index in a new commit along with
>  > > >    a log message from the user describing the changes.
>  > > > 
>  > > > Huh?  "Contents of the index"?  I used to know what commit was, now I
>  > > > don't.
> 
> Sure you do; commit hasn't changed.  What you now know is what the
> index is: a data structure that contains the same information as a
> commit, but isn't a commit and isn't a working tree, either.

No, I don't know any of this, because it wasn't explained, not even in
a few words that would help me make it past the obstacle.

>  > You are missing the point: I didn't want a tutorial.  I use VCSes for
>  > many years, and dVCSes for some; I already know what it means to
>  > commit a changeset and what is the basic workflow of using a dVCS.
> 
> But I think you've misstated the case here.  Development has
> workflows, and dVCS usage is adapted to them.  It doesn't make sense
> to talk about "*the* basic workflow of using a dVCS".  You're actually
> talking about *your* basic workflow, and how you use a dVCS in that
> workflow.

No, I'm talking about *the* basic workflow: make changes, then commit
them.  Tutorials seldom go beyond that.

>  > "Recording a commit"? what's that?  And is "commit that has the exact
>  > same tree as its sole parent commit" a complicated way of saying "no
>  > changes since the last commit", or is there some important subtlety
>  > here that I'm missing?
> 
> It's probably not important to you, so I won't go into detail, but
> there are several subtleties that are missing from the simple
> expression "no changes since the last commit".

As there were a few subtleties missing from my mock description of
C-f.

>  >   --unchanged   Commit even if nothing has changed.
> 
> This makes a lot of sense in Bazaar, because Bazaar makes it hard to
> work nonlinearly without using multiple workspaces.

I was talking about clear documentation, not about the differences
between git and bzr.

>  > I want some decent reference documentation.
> 
> AFAICT, you want your dVCS to be Bazaar.

It doesn't matter what I want in this case, we all know what I will
get, right?  Since that's what I will get, I want its documentation to
be helpful.  Please don't misrepresent what I wrote by turning it into
another "git is more powerful than bzr" thread.  That is not what I
was talking about.

Anyway, I'm beginning to regret that I answered esr's question.  I
should have known what kind of "tide" will be unleashed on me.



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

* Re: Apologia for bzr
  2014-01-03 20:14                     ` Eli Zaretskii
  2014-01-03 20:50                       ` Óscar Fuentes
@ 2014-01-03 21:10                       ` Tassilo Horn
  1 sibling, 0 replies; 401+ messages in thread
From: Tassilo Horn @ 2014-01-03 21:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, kfogel, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Tassilo Horn <tsdh@gnu.org>
>> Cc: esr@thyrsus.com,  kfogel@red-bean.com,  emacs-devel@gnu.org
>> Date: Fri, 03 Jan 2014 17:57:19 +0100
>> 
>> So the man pages could be better, but there are tons of additional
>> resources you can consult that are easy to find and probably better to
>> grasp.
>
> I guess we should stop investing so much effort in the Emacs manuals,
> then -- there's so much resources out there, let the users look for
> them instead.

That's not what I was saying.  Clearly, precise, up-to-date and
comprehensible first-party documentation is preferrable over third-party
documentation.  No doubt about that.

But given its large user base, git has the luxury that many people are
willing to support it by writing additional docs.  For example, the Git
Book is maintained and updated as a community effort (and completely
translated into 10 different languages with 19 more on-going translation
efforts).  Although it's not part of the official documentation, it's
still up-to-date and comprehensible for a much larger audience than the
official docs which are precise but not too comprehensible, especially
for newbie.

Anyway, I think we can safely stop this subthread.  I got your point,
and I guess you got mine.

Bye,
Tassilo



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 20:37                               ` Óscar Fuentes
@ 2014-01-03 21:11                                 ` Eli Zaretskii
  2014-01-03 21:38                                   ` Óscar Fuentes
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-03 21:11 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Fri, 03 Jan 2014 21:37:08 +0100
> 
> > I invoked 'make' from the Bash that was installed by msysgit.  That
> > 'make' hang.  The same command runs just fine from the MSYS Bash I use
> > for configuring and building packages.  That's a fact.  I think I know
> > the reasons, but if you want to disagree and live dangerously, that's
> > fine by me.
> 
> IIUC you invoked MSYS `make' from MSYSGit `bash'. As I said multiple
> times, that's not expected to work.

Right, and that's why I keep the two segregated.  That was all I was
saying from day one: it's a PITA to have two similar, but incompatible
environments.  E.g., I cannot build a package from the same shell
where I "git pull" it.

> >> It would be quick enough to run some common git commands from MSYS shell
> >> to see if it works: clone, pull, status, log...
> >
> > I already tried, see above.
> 
> No, you didn't. As git.exe does not depend on MSYS.dll, the problems you
> experienced with `make' shouldn't happen. And, indeed, invoking MSYSGit
> git.exe from a MSYS terminal worked fine for the commands I mentioned
> above.

Until that git.exe invokes a sub-command that needs Bash or Perl, and
will then invoke its own Bash pr Perl that need an incompatible
msys.dll (and other DLLs, like libiconv).




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 21:00                               ` David De La Harpe Golden
@ 2014-01-03 21:18                                 ` Óscar Fuentes
  0 siblings, 0 replies; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-03 21:18 UTC (permalink / raw)
  To: emacs-devel

David De La Harpe Golden <david@harpegolden.net> writes:

> Just had a weird idea, though after searching looks like I mightn't
> have been the only one in history to have it [1]:
>
> Have you ever tried jgit [2] on windows i.e. that pure java
> reimplementation of git?  It was mostly developed by and for use with
> Eclipse (ugh), but actually has its own little standalone command line
> interface. Not as featureful as real git, but pretty self-contained,
> it looks like it might have just about enough for a reasonable dev
> workflow on its own [3].
>
> This is not a recommendation, I've never used the thing, might be a
> dead end, but OTOH might be worth a look.
>
> [1]
> http://sandeep.wordpress.com/2010/09/13/using-git-on-windows-without-any-of-the-cygwinmsysgit-nonsense/
>
> [2] http://www.eclipse.org/jgit/
> [3] http://wiki.eclipse.org/JGit/User_Guide#Running_the_JGit_CLI

First of all, I object against the FUD on the blog post [1]. For all
practical effects, there is nothing *nixy about Git on Windows (as
implemented by MSYSGit) You can use git.exe from a Windows command
prompt and you are not required to use the *nixy tools that comes with
the MSYSGit package.

Second, there are some great Emacs front-ends for git you can use on
Windows (Magit) and Emacs own VC works fine. Even if that java tool is
compatible with git's command-line options required by Emacs (something
I doubt) using it from Emacs would be damn slow, unless it supports some
type of server functionality where a single instance serves multiple
requests.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 21:11                                 ` Eli Zaretskii
@ 2014-01-03 21:38                                   ` Óscar Fuentes
  2014-01-04  7:16                                     ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-03 21:38 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> IIUC you invoked MSYS `make' from MSYSGit `bash'. As I said multiple
>> times, that's not expected to work.
>
> Right, and that's why I keep the two segregated.  That was all I was
> saying from day one: it's a PITA to have two similar, but incompatible
> environments.  E.g., I cannot build a package from the same shell
> where I "git pull" it.

As already mentioned, you can `git pull' on a MSYS shell, so it is false
that you can't `make' on the same shell that you did the `pull'
operation.

>> No, you didn't. As git.exe does not depend on MSYS.dll, the problems you
>> experienced with `make' shouldn't happen. And, indeed, invoking MSYSGit
>> git.exe from a MSYS terminal worked fine for the commands I mentioned
>> above.
>
> Until that git.exe invokes a sub-command that needs Bash or Perl, and
> will then invoke its own Bash pr Perl that need an incompatible
> msys.dll (and other DLLs, like libiconv).

Curiously enough, `git pull' seems to be a Perl script (the executables
and scripts are on Git/libexec/git-core.) But it works from MSYS, hence
somehow the problem is not so serious.

I suggest that for the time being we stop worrying about what unkown
problems might be lurking and wait for something concrete to
materialize.




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

* Re: Apologia for bzr
  2014-01-03 19:49                       ` Stefan Monnier
  2014-01-03 20:27                         ` David Kastrup
  2014-01-03 20:39                         ` Dmitry Gutov
@ 2014-01-04  2:00                         ` Josh
  2 siblings, 0 replies; 401+ messages in thread
From: Josh @ 2014-01-04  2:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: esr, kfogel, Eli Zaretskii, emacs-devel, tsdh

On Fri, Jan 3, 2014 at 11:49 AM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:
>>> I think getting new blood into emacs devel is critical or we might find
>>> ourselves in the same situation as bzr a few years later.
>> I agree about the need, but have my doubts about the results.  We've
>> heard similar arguments for switching from CVS, too.  I hope I will be
>> proven wrong.
>
> Using Git won't magically give us any new blood.  But using Bzr is
> a hindrance.

Indeed, that removing hindrances to becoming a contributor should
result in new contributors is not magic, but common sense.

> A few years ago, users seemed happy to use Hg for one
> project, Git for another, DaRCS for yet a third, etc....

I suspect that in those days, as now, users decided whether or
not to invest the time to learn a new tool based mainly on their
assessment of the likely payoff of the investment.  Given Git's
present dominance[0] and the attendant benefits from network
effects, it's no surprise that a bias has emerged among users
that did not exist a few short years ago.

> Nowadays most users complain when they have to learn another tool.

Tsk, can you believe these kids today?! ;)

[0] http://qa.debian.org/popcon-graph.php?packages=cvs+git+bzr+mercurial+darcs+subversion+rcs++&show_vote=on&want_percent=on&want_legend=on&want_ticks=on&from_date=2008-01-01&to_date=2014-01-30&hlght_date=&date_fmt=%25Y&beenhere=1



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

* Re: bzr is dying; Emacs needs to move
  2014-01-02 11:52 ` Thien-Thi Nguyen
  2014-01-02 12:20   ` Bozhidar Batsov
  2014-01-02 18:15   ` James Cloos
@ 2014-01-04  2:14   ` Samuel Bronson
  2014-01-05  7:11     ` Thien-Thi Nguyen
  2 siblings, 1 reply; 401+ messages in thread
From: Samuel Bronson @ 2014-01-04  2:14 UTC (permalink / raw)
  To: emacs-devel

Thien-Thi Nguyen <ttn <at> gnu.org> writes:

> 512M RAM is not enough to achieve the tantalizingly compact footprint
> that "git gc --aggressive" purports.  I'm a stubborn fool and will find

I'm given to understand that "git gc --aggressive" does not actually pack
things more efficiently in practice, and is thus a waste of time, memory,
*and* disk space.

See
http://metalinguist.wordpress.com/2007/12/06/the-woes-of-git-gc-aggressive-and-how-git-deltas-work/

Also note Linus' suggestion to use "git repack" instead, perhaps with more
aggressive options than the defaults.




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

* Re: Generating ChangeLog files.
  2014-01-03 20:13                   ` Stefan Monnier
@ 2014-01-04  3:49                     ` Kenichi Handa
  2014-01-04  4:28                       ` Paul Eggert
  2014-01-04  7:31                       ` Eli Zaretskii
  0 siblings, 2 replies; 401+ messages in thread
From: Kenichi Handa @ 2014-01-04  3:49 UTC (permalink / raw)
  To: Stefan Monnier
  Cc: lekktu, emacs-devel, ruediger, michael.albinus, bozhidar,
	thierry.volpiatto, eliz

In article <jwvppo8subg.fsf-monnier+emacs@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca> writes:

> > ChangeLogs are easier to access and search, and they have better
> > information (mistakes can be corrected).  I rarely refer to the commit
> > log, other than the one-liners of "bzr log --line" to quickly locate a
> > recent commit, and these are less than helpful because many people
> > does not really adds a summary.

> I stand on the other side: the only reason I ever look at the ChangeLog
> files is because "bzr log" is so damn slow.  But even with this
> slowness, I usually use "bzr log" (or rather vc-print-log), because
> I can then easily get the corresponding diff.

I, in general, prefer ChangeLog files, but one point I don't
like it is that they are splitted into multiple directories.
I'd like to see all related changes for a single commit as a
single ChangeLog entry.  Isn't it possible to have a single
ChangeLog file in the top directory?

---
Kenichi Handa
handa@gnu.org



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

* Re: Apologia for bzr
  2014-01-03 20:39                         ` Dmitry Gutov
  2014-01-03 20:54                           ` Eric S. Raymond
@ 2014-01-04  4:06                           ` Stefan Monnier
  1 sibling, 0 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-04  4:06 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: esr, kfogel, Eli Zaretskii, emacs-devel, tsdh

>> Using Git won't magically give us any new blood.  But using Bzr is
>> a hindrance.  A few years ago, users seemed happy to use Hg for one
>> project, Git for another, DaRCS for yet a third, etc....
>> Nowadays most users complain when they have to learn another tool.
> It could mean the users are getting more spoiled,

Kind of, yes.  More specifically, people had no choice but to regularly
learn a new VCS tool every once in a while, whereas nowadays it's rare.
So people's understanding of what is a VCS used to be less
custom-tailored to a particular VCS than it is nowadays.

Kind of like when you have to use a different text editor in each one of
your web-browser, MUA, word processor, IDE, instant-messaging, ...
you end up only using the common-denominator bindings and you don't mind
having to use yet-another-editor.  But when you do all your text editing
in (say) Emacs, having to use another editor for your web-browsing needs
is really irksome.


        Stefan



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

* Re: Generating ChangeLog files.
  2014-01-04  3:49                     ` Kenichi Handa
@ 2014-01-04  4:28                       ` Paul Eggert
  2014-01-05  5:57                         ` Richard Stallman
  2014-01-04  7:31                       ` Eli Zaretskii
  1 sibling, 1 reply; 401+ messages in thread
From: Paul Eggert @ 2014-01-04  4:28 UTC (permalink / raw)
  To: emacs-devel

Kenichi Handa wrote:
> I'd like to see all related changes for a single commit as a
> single ChangeLog entry.  Isn't it possible to have a single
> ChangeLog file in the top directory?

I'd also prefer this.  I use vc-dwim to generate commit
logs automatically from ChangeLog entries.  It works better
when it doesn't have to merge ChangeLog entries from different
files.  I don't see much advantage to having ChangeLog files
all over the place; one per project is simpler and better.



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

* Re: Apologia for bzr
  2014-01-03 21:07                     ` Eli Zaretskii
@ 2014-01-04  5:01                       ` Stephen J. Turnbull
  2014-01-05 10:10                         ` Florian Weimer
  0 siblings, 1 reply; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-04  5:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, kfogel, toby-dated-1389906911.cc0ede, emacs-devel

Eli Zaretskii writes:

 > > Eli Zaretskii writes:
 > > 
 > >  > At least in Emacs we have an excuse that the bulk of the
 > >  > terminology developed when no other software provided any similar
 > >  > features; there's no such excuse for git (or bzr or hg).

And I replied:

 > > You're wrong about git, you're arguably right about bzr and hg.
 > 
 > What, git was the first VCS, and needed to invent a new terminology?

Not the first VCS, but certainly a leader in the generation of VCSes
first to provide the features that got new terminology (index, fetch,
pull, push).  For older features (such as commit, diff, and merge) it
uses the traditional terminology.

 > > Git is fundamentally different from bzr and hg, almost as
 > > different as it is from CVS and RCS.  [...]

 > What does this have to do with clear and comprehensible
 > documentation?

dVCS, being fundamentally different from cVCS, needs new terminology
(eg, at least one of the three concepts "commit", "push", and "commit
and push" needs a term not used in cVCS).  Similarly, git, being
fundamentally different from bzr and hg, *needs* more new terminology
than they do, specifically "index" and "reset".  Inventing it was not
avoidable.  The rest of that paragraph was justification for the claim
that git is different.

 > I said "rarely used terms".  Frequently used terms need to be
 > understood in advance, by reading the preceding chapters.

"Index" and "commit object" are used frequently in git documentation,
although perhaps not in the parts you have read.

 > In any case, buffer and window can be intuitively understood, much
 > more than "index" and "staging".

In fact, some people find "buffer" and "window" very unintuitive (they
don't know what a "buffer" is, they think they're looking at a "file"
or "document", and "window" means a GUI object, not a subdivision of
the GUI object).  Others (me, and at least one other person has
testified to finding "staging" very intuitive) find "staging" and
"index" quite intuitive, thank you very much.

 > > The git "index" is equally fundamental to git.
 > 
 > But there is a way to explain what a commit does without ever
 > mentioning the index, certainly not in the sentence that _defines_
 > what a commit is.

Sure, but to define commit in git, it also needs to describe what a
commit object is, which is (basically) a file containing a copy of the
index.  If you know what the index is, then you know what a commit
object is, and then you know what a commit is.  Understanding this is
important to understanding the performance characteristics of git, as
well as the operation of some features not available in other dVCSes.

 > > Sure you do; commit hasn't changed.  What you now know is what the
 > > index is: a data structure that contains the same information as a
 > > commit, but isn't a commit and isn't a working tree, either.
 > 
 > No, I don't know any of this, because it wasn't explained, not even in
 > a few words that would help me make it past the obstacle.

git help glossary

I agree that's inconvenient compared to an Info link, and that the
current version of the top-level git man page (which just lists the
other man pages) is pretty hideous -- IMO it ought to contain about half
the material in the glossary plus a description of the structure of the
git object database with a few key terms explained with reference to
the object database operations they perform.

 > No, I'm talking about *the* basic workflow: make changes, then commit
 > them.  Tutorials seldom go beyond that.

C'mon, I'm a coauthor of BzrForEmacsDevs, and did my homework (reading
other tutorials).  You should be able to guess that I know better than
that.  But taking your claim at face value: that requires no reading
of manpages to accomplish in git if you've used any VCS (including
RCS) before.  So you're just being contentious here.

You only run into problems by pretending that git is CVS or bzr if you
use facilities like reset (not possible in any other VCS, you have to
revert or commit -- both available in git) and rebase (way beyond your
"the *basic* workflow").

 > >  >   --unchanged   Commit even if nothing has changed.
 > > 
 > > This makes a lot of sense in Bazaar, because Bazaar makes it hard to
 > > work nonlinearly without using multiple workspaces.
 > 
 > I was talking about clear documentation, not about the differences
 > between git and bzr.

git documentation is *clear*[1] if you start by understanding how
git's purpose and implementation differs from other VCSes.  It's only
if you try to force it into your preconception of what a (d)VCS should
be that it becomes unclear.  *This is precisely why many people have
trouble grokking Emacs* -- they try to think about it as something
familiar like a wordprocessor or Notepad or a web browser, and when it
violates their preconceptions, they turn away from it in disgust.

 > >  > I want some decent reference documentation.
 > > 
 > > AFAICT, you want your dVCS to be Bazaar.
 > 
 > It doesn't matter what I want in this case, we all know what I will
 > get, right?

Now that Stefan has spoken, yes, I think we do know.  I'm genuinely
sorry for the folks who definitely prefer bzr (of whom Stefan is one,
of course).  It's a damn shame that Shuttleworth pissed off Tom Lord
-- who decided quite early on that the git object data base was the
way to go, and completely rewrote Arch/tla to use it in his
never-published "revc" aka Arch-ng -- and that the Bazaar developers
never came to the conclusion Tom did.

 > Since that's what I will get, I want its documentation to be
 > helpful.

Well, documentation can't help you if you won't help yourself.  Those
who find the git documentation completely unintelligible are going to
have to start by abandoning the idea that git is a poor implementation
of Bazaar.  (Certainly, it is, but that's not helpful in understanding
git or its documentation.)

 > Please don't misrepresent what I wrote by turning it into another
 > "git is more powerful than bzr" thread.  That is not what I was
 > talking about.

Nor is it what I was talking about.  If you want to make suggestions
that will improve git documentation[2], you are going to need to
accept that although overall it sucks, much of it is already written
in an appropriate fashion.  It's possible to discuss whether the word
"index" needs to be mentioned in the brief description of "git
commit"; although the reason for doing so I presented above is valid,
on balance it might not be the best brief description.  But effective
use of git (including understanding what "gurus" are recommending to
get a novice out of a wedge) requires the concepts of "index" and
"commit object".

The fact that bzr doesn't have that concept doesn't mean it's
unnecessary in git documentation, only that people who want git to be
bzr will think it's unnecessary.

 > Anyway, I'm beginning to regret that I answered esr's question.  I
 > should have known what kind of "tide" will be unleashed on me.

Again, you're mistaking what I'm talking about.  I'm also interested
in how to make git's documentation more useful to Emacs devs who don't
like git.

Funding from ORA or not, I'm thinking about taking the git docs and
reorganizing and supplementing them the way Nye et al did for the MIT
X docs.  But if you're going to maintain the attitude that the things
in git that aren't in bzr should be moved to appendices so you don't
need to learn about them, I'm not going to bother continuing to think
about that.

Footnotes: 
[1]  I've already acknowledged the poor organization.

[2]  Maybe Tim O'Reilly will recruit somebody to write the Git Version
Control System Series, or the Git: Essential Reference.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 21:38                                   ` Óscar Fuentes
@ 2014-01-04  7:16                                     ` Eli Zaretskii
  2014-01-04 17:30                                       ` Óscar Fuentes
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-04  7:16 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Fri, 03 Jan 2014 22:38:35 +0100
> 
> Curiously enough, `git pull' seems to be a Perl script (the executables
> and scripts are on Git/libexec/git-core.) But it works from MSYS, hence
> somehow the problem is not so serious.

For you, maybe, and with the current versions of the MSYS DLL that you
have in msysgit and in MSYS.  But relying on this is living
dangerously and _will_ some day require you to deal with strange
failures and crashes during a build.  No, thanks.  I've fought that
war once and decided that I never again want to go that way.

> I suggest that for the time being we stop worrying about what unkown
> problems might be lurking and wait for something concrete to
> materialize.

If you use MSYS and msysgit my way, you don't have to wait for
anything to materialize, because it won't.  It's just inconvenient, as
I need to have 2 separate shell sessions open at all times, and
remember to switch to the right one depending on what I want to do.




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

* Re: Generating ChangeLog files.
  2014-01-04  3:49                     ` Kenichi Handa
  2014-01-04  4:28                       ` Paul Eggert
@ 2014-01-04  7:31                       ` Eli Zaretskii
  1 sibling, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-04  7:31 UTC (permalink / raw)
  To: Kenichi Handa
  Cc: lekktu, emacs-devel, ruediger, michael.albinus, monnier, bozhidar,
	thierry.volpiatto

> From: Kenichi Handa <handa@gnu.org>
> Cc: lekktu@gmail.com, emacs-devel@gnu.org,
> 	ruediger@c-plusplus.de,
> 	michael.albinus@gmx.de,
> 	bozhidar@batsov.com,
> 	thierry.volpiatto@gmail.com,
> 	eliz@gnu.org
> Date: Sat, 04 Jan 2014 12:49:34 +0900
> 
> Isn't it possible to have a single ChangeLog file in the top
> directory?

It's definitely possible technically, add-change-log-entry already
searches for a ChangeLog file up the directory tree.



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

* Re: Apologia for bzr
  2014-01-03 15:21                   ` Toby Cubitt
@ 2014-01-04  7:59                     ` Richard Stallman
  2014-01-04  8:28                       ` Eric S. Raymond
  0 siblings, 1 reply; 401+ messages in thread
From: Richard Stallman @ 2014-01-04  7:59 UTC (permalink / raw)
  To: Toby Cubitt; +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. ]]]

    Do I really need to put a humour disclaimer after ever attempt at
    levity?  I thought the emoticon would be sufficient indication,
    but apparently not <sigh>.

You made it very clear this was a joke, but Ha Ha does not imply there
isn't an Only Serious.  That particular joke seemed to have a real
mean criticism in it.

I'm glad to know you didn't mean it that way.

It IS unfortunate for Emacs that other subsequent popular editors
all use different terms.  That's why the joke stung -- because it
implied this was due to a mistake on our part.

But even though we did not do anything wrong, it is unfortunate for us
nonetheless.  If it is possible to change Emacs to use some standard
modern terms instead of its current terms, it might be worth doing,
even if it means a series of renaming spread over a period of years.

-- 
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] 401+ messages in thread

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 17:50         ` Eric S. Raymond
@ 2014-01-04  8:00           ` Richard Stallman
  2014-01-04  9:44             ` Bastien
                               ` (2 more replies)
  0 siblings, 3 replies; 401+ messages in thread
From: Richard Stallman @ 2014-01-04  8:00 UTC (permalink / raw)
  To: esr; +Cc: emacs-devel, thierry.volpiatto

[[[ 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. ]]]

Our ChangeLog files are very useful in debugging.
They complement the diffs between versions of the source files.

-- 
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] 401+ messages in thread

* Re: Apologia for bzr
  2014-01-04  7:59                     ` Richard Stallman
@ 2014-01-04  8:28                       ` Eric S. Raymond
  2014-01-04 12:09                         ` Lennart Borgman
  2014-01-05 20:20                         ` Richard Stallman
  0 siblings, 2 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-04  8:28 UTC (permalink / raw)
  To: Richard Stallman; +Cc: Toby Cubitt, emacs-devel

Richard Stallman <rms@gnu.org>:
> But even though we did not do anything wrong, it is unfortunate for us
> nonetheless.  If it is possible to change Emacs to use some standard
> modern terms instead of its current terms, it might be worth doing,
> even if it means a series of renaming spread over a period of years.

Mostly there *aren't* any "standard modern terms", because there are
no other editors in which there is so much decoupling between the 
local equivalents of our core concepts that they need to be described
separately.

There's a parallel with git jargon here...
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 14:48           ` PROPOSAL: Move to git, now that bzr is no longer a req Stefan Monnier
@ 2014-01-04  9:42             ` Bastien
  2014-01-04 12:49               ` Achim Gratz
  2014-01-05 10:14               ` Florian Weimer
  0 siblings, 2 replies; 401+ messages in thread
From: Bastien @ 2014-01-04  9:42 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Thierry Volpiatto, Michael Albinus, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> Please let's not rehash old arguments: the tarball contains many files
> that are generated, so it would be trivial to include the "git log"
> output in it.

How would we handle fixing in such generated logs?
By revising the git history through rebasing?

Not a rhetorical question, just curious, as I do have a
problem with the current way Org generates its ChangeLogs.

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04  8:00           ` Richard Stallman
@ 2014-01-04  9:44             ` Bastien
  2014-01-04  9:57               ` Eric S. Raymond
                                 ` (4 more replies)
  2014-01-04 10:29             ` David Kastrup
  2014-01-05 10:25             ` Florian Weimer
  2 siblings, 5 replies; 401+ messages in thread
From: Bastien @ 2014-01-04  9:44 UTC (permalink / raw)
  To: Richard Stallman; +Cc: esr, thierry.volpiatto, emacs-devel

Richard Stallman <rms@gnu.org> writes:

> Our ChangeLog files are very useful in debugging.
> They complement the diffs between versions of the source files.

I think everyone agrees with this.

The question is whether we should edit them separately
from the commit messages, or if we should produce them
by (programmatically) extracting them from the commit
messages.

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04  9:44             ` Bastien
@ 2014-01-04  9:57               ` Eric S. Raymond
  2014-01-04  9:58               ` Lars Magne Ingebrigtsen
                                 ` (3 subsequent siblings)
  4 siblings, 0 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-04  9:57 UTC (permalink / raw)
  To: Bastien; +Cc: thierry.volpiatto, Richard Stallman, emacs-devel

Bastien <bzg@gnu.org>:
> Richard Stallman <rms@gnu.org> writes:
> 
> > Our ChangeLog files are very useful in debugging.
> > They complement the diffs between versions of the source files.
> 
> I think everyone agrees with this.

I don't.  I think Changelogs are, while not completely without value,
not worth the maintainance load when your VCS has changesets.  I've
seem the same objection from others in the discussion.  But this is a
separate argument from which DVCS we should be using.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04  9:44             ` Bastien
  2014-01-04  9:57               ` Eric S. Raymond
@ 2014-01-04  9:58               ` Lars Magne Ingebrigtsen
  2014-01-04 11:31               ` Thierry Volpiatto
                                 ` (2 subsequent siblings)
  4 siblings, 0 replies; 401+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-01-04  9:58 UTC (permalink / raw)
  To: Bastien; +Cc: esr, emacs-devel, Richard Stallman, thierry.volpiatto

Bastien <bzg@gnu.org> writes:

> The question is whether we should edit them separately
> from the commit messages, or if we should produce them
> by (programmatically) extracting them from the commit
> messages.

If we decided on having a vc-log commit mode for Emacs that would
enforce the ChangeLog style, then that would be interesting.  But I
don't really see a super-obvious way of implementing that.

Here's a typical ChangeLog entry from a single commit (I think):

2013-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* icomplete.el (icomplete-show-matches-on-no-input): Default to nil
	(bug#16251).

	* electric.el: Move all electric-pair-* to elec-pair.el.
	* elec-pair.el: New file, split from electric.el.

When I edit stuff, I usually change a function, hit `C-x 4 a' (well, I
have that bound to `Hyper-a'), type in what I did, then perhaps change
the caller, and `C-x 4 a' again, and write what I did there.

Then I commit what I've done.

When I'm programming without a ChangeLog, I edit the first function,
edit the second function, and then commit, writing a summary of what I
did, but I don't mention the function names affected, for instance.

So there's no way to reconstruct a full ChangeLog entry from a normal
commit message, unless we make a `C-x 4 a' equivalent that works without
an actual ChangeLog file.

A temporary ChangeLog file?  A temporary ChangeLog "vc check in" buffer?

A different question is whether this style of change tracking is
valuable or not...

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



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

* Re: Apologia for bzr
  2014-01-03 19:52                             ` Stefan Monnier
  2014-01-03 20:17                               ` Karl Fogel
@ 2014-01-04 10:01                               ` David Engster
  2014-01-04 19:53                                 ` Stefan Monnier
  1 sibling, 1 reply; 401+ messages in thread
From: David Engster @ 2014-01-04 10:01 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Karl Fogel, emacs-devel

Stefan Monnier writes:
>> I guess I really meant "If they switch to having a common branch history
>> with core Emacs, then merging and change porting gets a lot easier,
>
> As you know, there is no VCS tool out there that can actually handle
> such a thing.  Two-way syncs between different branches is still an
> open problem.

The question is whether you would consider adding projects as submodules
to the Emacs repository. I think this would make sense for CEDET; we
already have a branch upstream which mirrors the lisp/cedet directory in
Emacs. This would of course imply that we move our repository from
Sourceforge to Savannah, and sync our user lists so that people can
push.

It'd be premature to discuss details now, of course, but I know that not
everyone is fond of submodules, and I'd just like to know if you're one
of those. :-)

-David



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04  8:00           ` Richard Stallman
  2014-01-04  9:44             ` Bastien
@ 2014-01-04 10:29             ` David Kastrup
  2014-01-05 10:25             ` Florian Weimer
  2 siblings, 0 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-04 10:29 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. ]]]
>
> Our ChangeLog files are very useful in debugging.
> They complement the diffs between versions of the source files.

So do commit messages.  What makes Git commit messages eternally more
useful in practice is the versatility: I can _immediately_ view just the
messages pertaining to a subdirectory, or a file, or a branch (without
checking it out), and when I use the --grep option, I get the matching
commit messages in full rather than a -3 style context when using grep
on a ChangeLog file.  And even when I want to search for a flat text in
the single ChangeLog of the top directory, the best use case for a
ChangeLog file, this is less convenient the moment a ChangeLog file has
to be split.

And git log is reliable.  When I ask Git for all commit messages
touching a certain file, it will not miss changes.  It will, when I
want, give the respective diffs (-p option) along with the commit
messages, or just a list of changed files (--stat).

-- 
David Kastrup




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04  9:44             ` Bastien
  2014-01-04  9:57               ` Eric S. Raymond
  2014-01-04  9:58               ` Lars Magne Ingebrigtsen
@ 2014-01-04 11:31               ` Thierry Volpiatto
  2014-01-04 13:01                 ` Bastien
  2014-01-04 13:03                 ` David Kastrup
  2014-01-04 13:07               ` Achim Gratz
  2014-01-05 20:20               ` Richard Stallman
  4 siblings, 2 replies; 401+ messages in thread
From: Thierry Volpiatto @ 2014-01-04 11:31 UTC (permalink / raw)
  To: Bastien; +Cc: esr, Richard Stallman, emacs-devel

Bastien <bzg@gnu.org> writes:

> Richard Stallman <rms@gnu.org> writes:
>
>> Our ChangeLog files are very useful in debugging.
>> They complement the diffs between versions of the source files.
>
> I think everyone agrees with this.

No, I still think changelog files are unuseful when using a decent dVCS.
With git you have "git-log --grep" and "git-grep" and even
"git-log -p --grep", and "git-log" is also just _working_.

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 



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

* Re: Apologia for bzr
  2014-01-04  8:28                       ` Eric S. Raymond
@ 2014-01-04 12:09                         ` Lennart Borgman
  2014-01-04 15:44                           ` Tom
  2014-01-05 10:03                           ` Apologia for bzr Stephen J. Turnbull
  2014-01-05 20:20                         ` Richard Stallman
  1 sibling, 2 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-04 12:09 UTC (permalink / raw)
  To: esr; +Cc: Toby Cubitt, Richard Stallman, Emacs-Devel devel

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

On Sat, Jan 4, 2014 at 9:28 AM, Eric S. Raymond <esr@thyrsus.com> wrote:

> Richard Stallman <rms@gnu.org>:
> > But even though we did not do anything wrong, it is unfortunate for us
> > nonetheless.  If it is possible to change Emacs to use some standard
> > modern terms instead of its current terms, it might be worth doing,
> > even if it means a series of renaming spread over a period of years.
>
> Mostly there *aren't* any "standard modern terms", because there are
> no other editors in which there is so much decoupling between the
> local equivalents of our core concepts that they need to be described
> separately.
>
> There's a parallel with git jargon here...
>

It is very different in one way. An editor is a tool you start with. It
should be convenient for everyone. Beginners may face a high complexity and
different terms (and keyboard shortcuts) for rather familiar commands makes
it much more difficult.

The difference might seem small, but since it raises complexity for
beginners it waists time for them. Human beings (not even the best) are not
very good at logical things. Complexity comes at a cost because of our
limited working memory. (Which is just a few pieces, mostly somewhere
between 5 to 12. If I may simplify a bit.)

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04  9:42             ` Bastien
@ 2014-01-04 12:49               ` Achim Gratz
  2014-01-04 12:58                 ` Bastien
  2014-01-05 10:14               ` Florian Weimer
  1 sibling, 1 reply; 401+ messages in thread
From: Achim Gratz @ 2014-01-04 12:49 UTC (permalink / raw)
  To: emacs-devel

Bastien writes:
> How would we handle fixing in such generated logs?

The same way we do today if we only care about the Changelog file.
Otherwise, we'd have to come up with something using Git notes (as
already mentioned earlier in this thread).

> By revising the git history through rebasing?

Nope.

> Not a rhetorical question, just curious, as I do have a
> problem with the current way Org generates its ChangeLogs.

For the benefit of other participants in this discussion you might
mention that Org doesn't have a ChangeLog and the only reason we
generate one is that when changes are imported into Emacs there is
suddenly a need to document that merge (typically produced by ~1000
commits from Org) in Emacs' ChangeLog.  Since that operation throws away
all history from Org, it also means you can't use the commit messages
directly for the ChangeLog, no matter how hard you'd wish you could.
That wouldn't necessarily be a problem in Emacs' case where the
correspondence between commit and ChangeLog would be 1:1.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 12:49               ` Achim Gratz
@ 2014-01-04 12:58                 ` Bastien
  2014-01-04 13:15                   ` Achim Gratz
  0 siblings, 1 reply; 401+ messages in thread
From: Bastien @ 2014-01-04 12:58 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-devel

Achim Gratz <Stromeko@nexgo.de> writes:

> Bastien writes:
>> How would we handle fixing in such generated logs?
>
> The same way we do today if we only care about the Changelog file.

We don't do "it" today.

Org ChangeLogs are generated using a script, and these changelogs are
added to Emacs when we merge Org.  It's fine fixing these changelogs
manually because newly generated Changelogs don't overwrite previous
ones.

My question is: if Emacs generates Changelogs from commit messages,
and if commit messages contain ill-formated changelogs, how do you
fix generated changelogs?

One idea is to generate only new changes (and fix them manually if
needed), not to generate all ChangeLogs.

> Otherwise, we'd have to come up with something using Git notes (as
> already mentioned earlier in this thread).
>
>> By revising the git history through rebasing?
>
> Nope.
>
>> Not a rhetorical question, just curious, as I do have a
>> problem with the current way Org generates its ChangeLogs.
>
> For the benefit of other participants in this discussion you might
> mention that Org doesn't have a ChangeLog

I did: http://article.gmane.org/gmane.emacs.devel/167136

> and the only reason we
> generate one is that when changes are imported into Emacs there is
> suddenly a need to document that merge (typically produced by ~1000
> commits from Org) in Emacs' ChangeLog.  Since that operation throws away
> all history from Org, it also means you can't use the commit messages
> directly for the ChangeLog, no matter how hard you'd wish you could.

It's a matter of convention: if Emacs generates Changelog files from
commit messages, I guess we will enforce some policy on how to write
suitable commit messages.

Additional (not suitable for ChangeLogs) information could then be
stored in git notes.

> That wouldn't necessarily be a problem in Emacs' case where the
> correspondence between commit and ChangeLog would be 1:1.

Yes.

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 11:31               ` Thierry Volpiatto
@ 2014-01-04 13:01                 ` Bastien
  2014-01-04 13:03                 ` David Kastrup
  1 sibling, 0 replies; 401+ messages in thread
From: Bastien @ 2014-01-04 13:01 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: esr, Richard Stallman, emacs-devel

Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:

> No, I still think changelog files are unuseful when using a decent dVCS.
> With git you have "git-log --grep" and "git-grep" and even
> "git-log -p --grep", and "git-log" is also just _working_.

This is for developers.

It's nice for advanced Emacs users to be able to read Changelog
files and check when a new command has been introduced.  If we
require users to know how to use Git for this, the audience shrinks.

My point about keeping Changelogs is that they a useful read for
advanced users *and* for developers who want to know how to format a
correct commit message.

I spend *a lot* of time educating Org's contributors on how to write
a correct commit message.  If we had a Changelog directly in Org, I'd
spend less time, because occasional contributors would immediately
spot those tiny conventions.

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 11:31               ` Thierry Volpiatto
  2014-01-04 13:01                 ` Bastien
@ 2014-01-04 13:03                 ` David Kastrup
  2014-01-04 13:11                   ` Bastien
  1 sibling, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-04 13:03 UTC (permalink / raw)
  To: emacs-devel

Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:

> Bastien <bzg@gnu.org> writes:
>
>> Richard Stallman <rms@gnu.org> writes:
>>
>>> Our ChangeLog files are very useful in debugging.
>>> They complement the diffs between versions of the source files.
>>
>> I think everyone agrees with this.
>
> No, I still think changelog files are unuseful when using a decent dVCS.
> With git you have "git-log --grep" and "git-grep" and even
> "git-log -p --grep", and "git-log" is also just _working_.

I actually use git repositories for working with Subversion based
projects, and obviously also for working with Bazaar based projects.
The first thing I do is checking out a Git mirror or running the (often
expensive) import from Subversion.

And the most important reason for that is not the workflow for
_creating_ new patches (though being able to privately rebase is good),
but for navigating the history of a project and searching its
information.

This is so much more workable than using the _native_ tools of the
respective repositories that it isn't funny.

Now the one thing that will _always_ cause trouble when creating/vetting
a contribution for Emacs is the ChangeLog.  Since Emacs is a reasonably
fast-moving project and the ChangeLog is a central contention point like
the Windows registry, you will _always_ get ChangeLog merge conflicts
when committing.

Now as long as the "native" repository of Emacs is Bazaar with its
absurdly slow log generation, discussing the usefulness or uselessness
of ChangeLog for daily work independently from Git migration seems
pointless: the pros and cons cannot really be estimated by people not
yet using Git.

I'm quite convinced that nobody will miss ChangeLog files when working
with Git.  It's not even a tradeoff.  In my book, that's one of the most
important advantages of Git, but of course it is a hen-and-egg problem
to convince people of that when their current experience tells them a
ChangeLog file can be useful in the course of daily work.

-- 
David Kastrup




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04  9:44             ` Bastien
                                 ` (2 preceding siblings ...)
  2014-01-04 11:31               ` Thierry Volpiatto
@ 2014-01-04 13:07               ` Achim Gratz
  2014-01-04 20:03                 ` Juanma Barranquero
  2014-01-04 20:04                 ` Stefan Monnier
  2014-01-05 20:20               ` Richard Stallman
  4 siblings, 2 replies; 401+ messages in thread
From: Achim Gratz @ 2014-01-04 13:07 UTC (permalink / raw)
  To: emacs-devel

Bastien writes:
> Richard Stallman <rms@gnu.org> writes:
>> Our ChangeLog files are very useful in debugging.
>> They complement the diffs between versions of the source files.
>
> I think everyone agrees with this.

FWIW, I don't.  I've used ChangeLogs and Journals while I was still
using RCS and I'm glad I don't have to anymore.  With properly written
commit messages, I get more easily accessible and much more accurate
information than by just looking at a ChangeLog or trying to align
ChangeLog entries with a diff.

> The question is whether we should edit them separately
> from the commit messages, or if we should produce them
> by (programmatically) extracting them from the commit
> messages.

If the information in the commit message and the ChangeLog is different
to begin with, then you're doing something wrong.  If it is (supposed to
be) identical, then manually entering the same information in two
different places is unnecessarily complex and error-prone, so generating
one format from the other is the only sane option.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




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

* Re: Apologia for bzr
  2014-01-03 17:56                       ` Karl Fogel
  2014-01-03 18:04                         ` Ted Zlatanov
  2014-01-03 18:05                         ` David Engster
@ 2014-01-04 13:08                         ` Bastien
  2 siblings, 0 replies; 401+ messages in thread
From: Bastien @ 2014-01-04 13:08 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Eric S. Raymond, Eli Zaretskii, emacs-devel, Tassilo Horn

Karl Fogel <kfogel@red-bean.com> writes:

> "Eric S. Raymond" <esr@thyrsus.com> writes:
>>There are other things we need to do to let sunlight and fresh air into the 
>>room.  The people who think of Emacs as a relic of bygone decades inhabited
>>by graying neckbeards are not, alas, entirely wrong.  And I say that as
>>arguably one of the neckbeards myself...
>
> Right now, two of the biggest sources of hacking energy in the
> Emacsosphere are in git repositories separate from Emacs' own bzr
> repository: Org Mode and Gnus.  Our switching to git will help reduce at
> least the degree of separation.

Well, I don't really know where Emacs hacking energy is really spent
on, but I discover new Emacs stuff every day so my impression is that
the ecosystem at large is quite productive.
 
> Whether those projects eventually host their "socially agreed on"
> primary development branches in Emacs' repository is another question; I
> don't know those dev communities well enough to say, despite being a
> heavy user of both packages :-).  But the mere fact that I instinctively
> consider them to be somewhat separate developer communities from Emacs
> itself may be partly an artifact of our having been on bzr for so
> long.

Emacs maintainers and Carsten should really have the last word on
this, but directly hacking Org from within Emacs would be a plus.

With a tighter release schedule, we will all gain from this: users
(no more separate install) and Emacs (expose Org contributors to Emacs
directly.)

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 13:03                 ` David Kastrup
@ 2014-01-04 13:11                   ` Bastien
  2014-01-04 13:15                     ` David Kastrup
  0 siblings, 1 reply; 401+ messages in thread
From: Bastien @ 2014-01-04 13:11 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

David Kastrup <dak@gnu.org> writes:

> I'm quite convinced that nobody will miss ChangeLog files when working
> with Git.

Users?  Especially those who use Emacs from a preinstalled version,
not from a Git clone.

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 12:58                 ` Bastien
@ 2014-01-04 13:15                   ` Achim Gratz
  2014-01-04 13:20                     ` Bastien
  2014-01-04 20:07                     ` Stefan Monnier
  0 siblings, 2 replies; 401+ messages in thread
From: Achim Gratz @ 2014-01-04 13:15 UTC (permalink / raw)
  To: emacs-devel

Bastien writes:
> My question is: if Emacs generates Changelogs from commit messages,
> and if commit messages contain ill-formated changelogs, how do you
> fix generated changelogs?

If you've got a version-controlled ChangeLog file (status quo), it is
completely immaterial of how the entries are produced.  Even if they are
all generated, you can still edit the file, just as you've done all the
time.

> One idea is to generate only new changes (and fix them manually if
> needed), not to generate all ChangeLogs.

Generating all ChangeLogs is superfluous since then you don't need a
ChangeLog at all.

> It's a matter of convention: if Emacs generates Changelog files from
> commit messages, I guess we will enforce some policy on how to write
> suitable commit messages.

Again, this is an argument to abolish ChangeLogs altogether.

> Additional (not suitable for ChangeLogs) information could then be
> stored in git notes.

Git notes are simply a way to augment or correct the original commit
message (which can't be separated from the commit without rewriting
history).  As such it should be used sparingly, if at all.  I'd rather
have code review that ensures the commit messages are good than git
notes.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptation for Waldorf microQ V2.22R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 13:11                   ` Bastien
@ 2014-01-04 13:15                     ` David Kastrup
  2014-01-04 13:27                       ` Bastien
  0 siblings, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-04 13:15 UTC (permalink / raw)
  To: Bastien; +Cc: emacs-devel

Bastien <bzg@gnu.org> writes:

> David Kastrup <dak@gnu.org> writes:
>
>> I'm quite convinced that nobody will miss ChangeLog files when working
>> with Git.
>
> Users?

What about "when working with Git" did you not understand?

> Especially those who use Emacs from a preinstalled version, not from a
> Git clone.

So?  You can generate a ChangeLog file from Git, and we likely would do
so.  But frankly: it is quite unlikely for users to look at a ChangeLog
file.  What's interesting for users is NEWS.  For anything beyond that,
you'll likely just clone the git repository as it is

a) cheap to do (we are not talking about Bazaar here)
b) so much more convenient to search.

-- 
David Kastrup



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 13:15                   ` Achim Gratz
@ 2014-01-04 13:20                     ` Bastien
  2014-01-04 20:07                     ` Stefan Monnier
  1 sibling, 0 replies; 401+ messages in thread
From: Bastien @ 2014-01-04 13:20 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-devel

Achim Gratz <Stromeko@nexgo.de> writes:

> If you've got a version-controlled ChangeLog file (status quo), it is
> completely immaterial of how the entries are produced.  Even if they are
> all generated, you can still edit the file, just as you've done all the
> time.

I wish I didn't have to do it all the time, hence my question.

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 13:15                     ` David Kastrup
@ 2014-01-04 13:27                       ` Bastien
  2014-01-09 14:34                         ` Per Starbäck
  0 siblings, 1 reply; 401+ messages in thread
From: Bastien @ 2014-01-04 13:27 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

David Kastrup <dak@gnu.org> writes:

> Bastien <bzg@gnu.org> writes:
>
>> David Kastrup <dak@gnu.org> writes:
>>
>>> I'm quite convinced that nobody will miss ChangeLog files when working
>>> with Git.
>>
>> Users?
>
> What about "when working with Git" did you not understand?

I'm not a native english speaker, I may have misunderstood.

I've read the sentence above as "I'm quite convinced that nobody will
miss ChangeLog files whenever we will be working with Git" -- which I
disagree with.

>> Especially those who use Emacs from a preinstalled version, not from a
>> Git clone.
>
> So?  You can generate a ChangeLog file from Git, and we likely would do
> so.  But frankly: it is quite unlikely for users to look at a ChangeLog
> file.  

I did so when I was just a user.  But sure, that's probably a minority.

> What's interesting for users is NEWS.  For anything beyond that,
> you'll likely just clone the git repository as it is
>
> a) cheap to do (we are not talking about Bazaar here)
> b) so much more convenient to search.

I don't see anything to gain in preventing mere users from reading
ChangeLog files, and I see nothing to lose in editing Changelogs that
you copy into commit messages.  It does not even take more time thanks
to C-x v v inserting Changelogs in commit messages directly.

-- 
 Bastien



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

* Re: Apologia for bzr
  2014-01-04 12:09                         ` Lennart Borgman
@ 2014-01-04 15:44                           ` Tom
  2014-01-04 19:00                             ` David Kastrup
  2014-01-04 21:55                             ` Apologia for CUA mode (was: Apologia for bzr) Christophe Poncy
  2014-01-05 10:03                           ` Apologia for bzr Stephen J. Turnbull
  1 sibling, 2 replies; 401+ messages in thread
From: Tom @ 2014-01-04 15:44 UTC (permalink / raw)
  To: emacs-devel

Lennart Borgman <lennart.borgman <at> gmail.com> writes:
> 
> It is very different in one way. An editor is a tool you start
> with. It should be convenient for everyone. Beginners may face
> a high complexity and different terms (and keyboard shortcuts)
> for rather familiar commands makes it much more difficult.The
> difference might seem small, but since it raises complexity for
> beginners it waists time for them. 

Kill/yank comes to mind as obvious example. The copy/cut/paste
terminology is pretty much standard, so the various kill/yank
operations (kill-region, copy-region-as-kill, etc.) should 
be mapped to these terms.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04  7:16                                     ` Eli Zaretskii
@ 2014-01-04 17:30                                       ` Óscar Fuentes
  2014-01-04 19:58                                         ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-04 17:30 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

[snip]

> If you use MSYS and msysgit my way, you don't have to wait for
> anything to materialize, because it won't.  It's just inconvenient, as
> I need to have 2 separate shell sessions open at all times, and
> remember to switch to the right one depending on what I want to do.

Why do you need an MSYSGit shell open at all times? Have you tried any
of the Emacs interfaces for Git? (I highly recommend Magit, which is
*immensely* more convenient than the command line for everyday's work)




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

* Re: Apologia for bzr
  2014-01-04 15:44                           ` Tom
@ 2014-01-04 19:00                             ` David Kastrup
  2014-01-04 19:38                               ` Lennart Borgman
                                                 ` (2 more replies)
  2014-01-04 21:55                             ` Apologia for CUA mode (was: Apologia for bzr) Christophe Poncy
  1 sibling, 3 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-04 19:00 UTC (permalink / raw)
  To: emacs-devel

Tom <adatgyujto@gmail.com> writes:

> Lennart Borgman <lennart.borgman <at> gmail.com> writes:
>> 
>> It is very different in one way. An editor is a tool you start
>> with. It should be convenient for everyone. Beginners may face
>> a high complexity and different terms (and keyboard shortcuts)
>> for rather familiar commands makes it much more difficult.The
>> difference might seem small, but since it raises complexity for
>> beginners it waists time for them. 
>
> Kill/yank comes to mind as obvious example. The copy/cut/paste
> terminology is pretty much standard, so the various kill/yank
> operations (kill-region, copy-region-as-kill, etc.) should 
> be mapped to these terms.

The problem I see with that is that the terms are mnemonics for the
keybindings: the kill bindings contain "k", the yank bindings "y".

-- 
David Kastrup




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

* Re: Apologia for bzr
  2014-01-04 19:00                             ` David Kastrup
@ 2014-01-04 19:38                               ` Lennart Borgman
  2014-01-04 22:09                                 ` Apologia for CUA mode Christophe Poncy
  2014-01-04 19:39                               ` CUA mode??? Joshua Judson Rosen
  2014-01-04 20:48                               ` Apologia for bzr Tom
  2 siblings, 1 reply; 401+ messages in thread
From: Lennart Borgman @ 2014-01-04 19:38 UTC (permalink / raw)
  To: David Kastrup; +Cc: Emacs-Devel devel

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

On Sat, Jan 4, 2014 at 8:00 PM, David Kastrup <dak@gnu.org> wrote:

> Tom <adatgyujto@gmail.com> writes:
>
> > Kill/yank comes to mind as obvious example. The copy/cut/paste
> > terminology is pretty much standard, so the various kill/yank
> > operations (kill-region, copy-region-as-kill, etc.) should
> > be mapped to these terms.
>
> The problem I see with that is that the terms are mnemonics for the
> keybindings: the kill bindings contain "k", the yank bindings "y".
>
> And (as you probably remember) the problem with that as I see it is the
key bindings. Users expect CUA. ;-)

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

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

* CUA mode???
  2014-01-04 19:00                             ` David Kastrup
  2014-01-04 19:38                               ` Lennart Borgman
@ 2014-01-04 19:39                               ` Joshua Judson Rosen
  2014-01-04 23:38                                 ` Lennart Borgman
  2014-01-04 20:48                               ` Apologia for bzr Tom
  2 siblings, 1 reply; 401+ messages in thread
From: Joshua Judson Rosen @ 2014-01-04 19:39 UTC (permalink / raw)
  To: emacs-devel

David Kastrup <dak@gnu.org> writes:
>
> Tom <adatgyujto@gmail.com> writes:
>
> > Lennart Borgman <lennart.borgman <at> gmail.com> writes:
> >> 
> >> Beginners may face a high complexity and different terms (and
> >> keyboard shortcuts) for rather familiar commands makes it much more
> >> difficult.The difference might seem small, but since it raises
> >> complexity for beginners it waists time for them.
> >
> > Kill/yank comes to mind as obvious example. The copy/cut/paste
> > terminology is pretty much standard, so the various kill/yank
> > operations (kill-region, copy-region-as-kill, etc.) should 
> > be mapped to these terms.
>
> The problem I see with that is that the terms are mnemonics for the
> keybindings: the kill bindings contain "k", the yank bindings "y".

"copY" and... "Kut" (with a "K" for extra hardness because it's a
destructive operation?)?

Also, didn't cua-mode already `fix' this:

    http://www.gnu.org/software/emacs/manual/html_node/emacs/CUA-Bindings.html

Though that brings me to something that's been bugging me since someone
first told me (last year) that cua-mode had actually gone into emacs:
my recollection from the early 1990s was that the CUA keystrokes for
cut, copy, and paste were *not* C-x, C-c, and C-v; but rather
S-delete, C-insert, and S-insert (respectively). These were the
keystrokes that I remember using in Windows at the time, and
what I've also been using in Emacs and other applications in X11
since about that time, and even what I used in applications on
Mac OS X when I needed to use it just a couple of years ago.

Wikipedia seems to agree with my memory rather than what's in the Emacs
manual:

    https://en.wikipedia.org/wiki/Common_User_Access

Did the CUA spec actually change to use C-x, C-c, C-v at some point, or
is Emacs cua-mode mistaken about which standard it's implementing?

-- 
"'tis an ill wind that blows no minds."



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

* Re: Apologia for bzr
  2014-01-04 10:01                               ` David Engster
@ 2014-01-04 19:53                                 ` Stefan Monnier
  0 siblings, 0 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-04 19:53 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

> It'd be premature to discuss details now, of course, but I know that not
> everyone is fond of submodules, and I'd just like to know if you're one
> of those. :-)

I'm not in love with them, but I would not rule them out.
And I do feel like it would be good to avoid the two-way sync, so
something like a submodule is indeed an attractive option.


        Stefan



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 17:30                                       ` Óscar Fuentes
@ 2014-01-04 19:58                                         ` Eli Zaretskii
  2014-01-04 20:19                                           ` Óscar Fuentes
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-04 19:58 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Sat, 04 Jan 2014 18:30:53 +0100
> 
> Why do you need an MSYSGit shell open at all times?

Because that's the only way to ensure everything in git will work as
best as it can.

> Have you tried any of the Emacs interfaces for Git? (I highly
> recommend Magit, which is *immensely* more convenient than the
> command line for everyday's work)

I don't trust any of these interfaces to work correctly with MSYS
based commands and scripts, sorry.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 13:07               ` Achim Gratz
@ 2014-01-04 20:03                 ` Juanma Barranquero
  2014-01-04 20:12                   ` Jarek Czekalski
  2014-01-04 20:37                   ` Achim Gratz
  2014-01-04 20:04                 ` Stefan Monnier
  1 sibling, 2 replies; 401+ messages in thread
From: Juanma Barranquero @ 2014-01-04 20:03 UTC (permalink / raw)
  To: Achim Gratz; +Cc: Emacs developers

On Sat, Jan 4, 2014 at 2:07 PM, Achim Gratz <Stromeko@nexgo.de> wrote:

> With properly written
> commit messages

And how will we get that? Something as obvious as making the first
line a summary so it shows correctly in --line logs has been suggested
(repeatedly) in the past, and yet it's often ignored, even by some
highly experienced developers.

Generating ChangeLogs from commit messages will be easier and faster
that what we do now, but I'm willing to bet a few euros it will give
us *much* worse ChangeLogs.

    J



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 13:07               ` Achim Gratz
  2014-01-04 20:03                 ` Juanma Barranquero
@ 2014-01-04 20:04                 ` Stefan Monnier
  2014-01-04 20:22                   ` Achim Gratz
  2014-01-05  8:34                   ` Stephen J. Turnbull
  1 sibling, 2 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-04 20:04 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-devel

> be) identical, then manually entering the same information in two
> different places is unnecessarily complex and error-prone, so generating

If you enter it twice, you're not using your tool right.  Emacs can
extract the commit message from the ChangeLog file right before you
commit, so you don't have to enter it twice.

IOW, please guys re-read the corresponding thread from a few years back.
Nothing much has changed.

The main issues were (and are) the following:
- How to edit past commit messages when they're incorrect/incomplete/...?
- How to do C-x 4 a when there's no ChangeLog file?
- This last one can get a bit more delicate if you want to be able to do

     hack..hack..hack
     C-x 4 a
     hack..hack..
     C-x C-c
     restart Emacs
     ...
     commit

  since this requires saving the commit message which you started
  writing in the first Emacs session: the ChangeLog file naturally lives
  across Emacs sessions, whereas the *VC-Log* buffer doesn't.
  

        Stefan



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 13:15                   ` Achim Gratz
  2014-01-04 13:20                     ` Bastien
@ 2014-01-04 20:07                     ` Stefan Monnier
  1 sibling, 0 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-04 20:07 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-devel

> Generating all ChangeLogs is superfluous since then you don't need a
> ChangeLog at all.

Hello?  This thread is about removing Emacs's ChangeLog files because
they are (by design) redundant.


        Stefan



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 20:03                 ` Juanma Barranquero
@ 2014-01-04 20:12                   ` Jarek Czekalski
  2014-01-04 20:37                   ` Achim Gratz
  1 sibling, 0 replies; 401+ messages in thread
From: Jarek Czekalski @ 2014-01-04 20:12 UTC (permalink / raw)
  To: emacs-devel

W dniu 01/04/2014 09:03 PM, Juanma Barranquero pisze:
> (...) Something as obvious as making the first
> line a summary so it shows correctly in --line logs has been suggested
> (repeatedly) in the past, and yet it's often ignored, even by some
> highly experienced developers.

You will have to repeat it many times more if you don't put it in the 
right place, which is
http://www.emacswiki.org/emacs/BzrForEmacsDevs

Jarek




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 19:58                                         ` Eli Zaretskii
@ 2014-01-04 20:19                                           ` Óscar Fuentes
  2014-01-04 20:39                                             ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-04 20:19 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> Why do you need an MSYSGit shell open at all times?
>
> Because that's the only way to ensure everything in git will work as
> best as it can.
>
>> Have you tried any of the Emacs interfaces for Git? (I highly
>> recommend Magit, which is *immensely* more convenient than the
>> command line for everyday's work)
>
> I don't trust any of these interfaces to work correctly with MSYS
> based commands and scripts, sorry.

So you are using an inconvenient setup because you are afraid of
hypothetical problems and refuse to switch to an alternative, convenient
setup because you are afraid of other, even more hypothetical problems?
:-)

I'm using MSYSGit + VC + Magit on Windows for several years and it never
caused a single data-loss issue. At the very beginning, long time ago, I
had problems with line-endings but then MSYSGit was "fixed".

OTOH I have a hack on my .emacs to prevent Emacs + Bzr from garbling the
commit messages. Something related to character encodings.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 20:04                 ` Stefan Monnier
@ 2014-01-04 20:22                   ` Achim Gratz
  2014-01-04 21:06                     ` Stefan Monnier
  2014-01-05  8:34                   ` Stephen J. Turnbull
  1 sibling, 1 reply; 401+ messages in thread
From: Achim Gratz @ 2014-01-04 20:22 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier writes:
>> be) identical, then manually entering the same information in two
>> different places is unnecessarily complex and error-prone, so generating
>
> If you enter it twice, you're not using your tool right.  Emacs can
> extract the commit message from the ChangeLog file right before you
> commit, so you don't have to enter it twice.

That's exactly what I said in the next line of that sentence which you
didn't quote.  I purposefully avoided the contentious issue of saying
which direction I might prefer.

> The main issues were (and are) the following:
> - How to edit past commit messages when they're
> incorrect/incomplete/...?

Git notes still seems like a good solution.

> - How to do C-x 4 a when there's no ChangeLog file?

You don't need to.  I'm usually writing the commit messages as I stage
the diffs for the upcoming commit.  I also frequently rewrite commits
before pushing them upstream.  Extracting that information from a
ChangeLog to build the commit message is completely backwards with that
kind of workflow and easily leads to typical errors like documenting
changes that aren't actually committed or implemented differently or
additional undocumented changes that might or might not be intended to
be part of the commit.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 20:03                 ` Juanma Barranquero
  2014-01-04 20:12                   ` Jarek Czekalski
@ 2014-01-04 20:37                   ` Achim Gratz
  2014-01-04 20:53                     ` Juanma Barranquero
  1 sibling, 1 reply; 401+ messages in thread
From: Achim Gratz @ 2014-01-04 20:37 UTC (permalink / raw)
  To: emacs-devel

Juanma Barranquero writes:
>> With properly written commit messages
>
> And how will we get that?

Where do the ChangeLog entries come from today, then?

> Something as obvious as making the first line a summary so it shows
> correctly in --line logs has been suggested (repeatedly) in the past,
> and yet it's often ignored, even by some highly experienced
> developers.

There are various ways to prevent such commits wending their way into
the official repo and there are also ways to add fixes if necessary.
These would perhaps trigger workflow changes that have little if
anything to do with Git, although it might be a good time to discuss
them before switching from Bzr.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf rackAttack:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




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

* Re: Apologia for bzr
  2014-01-03 13:54                         ` Eli Zaretskii
@ 2014-01-04 20:37                           ` Eli Zaretskii
  0 siblings, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-04 20:37 UTC (permalink / raw)
  To: nbtrap; +Cc: esr, kfogel, emacs-devel, tsdh

> Date: Fri, 03 Jan 2014 15:54:38 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: esr@thyrsus.com, kfogel@red-bean.com, tsdh@gnu.org, emacs-devel@gnu.org
> 
> > From: Nathan Trapuzzano <nbtrap@nbtrap.com>
> > Cc: esr@thyrsus.com,  kfogel@red-bean.com,  emacs-devel@gnu.org,  tsdh@gnu.org
> > Date: Fri, 03 Jan 2014 06:49:15 -0500
> > 
> > If you don't want to do that, you can just google "Git User's Manual".
> 
> Thanks, will do.

I ended up building the git Info docs myself.  It was an uphill
battle, but I won.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 20:19                                           ` Óscar Fuentes
@ 2014-01-04 20:39                                             ` Eli Zaretskii
  2014-01-04 20:47                                               ` Óscar Fuentes
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-04 20:39 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Sat, 04 Jan 2014 21:19:43 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Why do you need an MSYSGit shell open at all times?
> >
> > Because that's the only way to ensure everything in git will work as
> > best as it can.
> >
> >> Have you tried any of the Emacs interfaces for Git? (I highly
> >> recommend Magit, which is *immensely* more convenient than the
> >> command line for everyday's work)
> >
> > I don't trust any of these interfaces to work correctly with MSYS
> > based commands and scripts, sorry.
> 
> So you are using an inconvenient setup because you are afraid of
> hypothetical problems and refuse to switch to an alternative, convenient
> setup because you are afraid of other, even more hypothetical problems?
> :-)

They are not hypothetical, believe me.  I have a lot gray hair to
vouch for that, and too little time to waste on this again.

> I'm using MSYSGit + VC + Magit on Windows for several years and it never
> caused a single data-loss issue.

Good for you.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 20:39                                             ` Eli Zaretskii
@ 2014-01-04 20:47                                               ` Óscar Fuentes
  2014-01-04 21:07                                                 ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-04 20:47 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> They are not hypothetical, believe me.  I have a lot gray hair to
> vouch for that, and too little time to waste on this again.

If you experienced problems, Magit/MSYSGit/Emacs maintainers will be
happy to address them.

>> I'm using MSYSGit + VC + Magit on Windows for several years and it never
>> caused a single data-loss issue.
>
> Good for you.

Thanks. I think it is important that people reading this ml should not
end under the impression that using Git on Windows is problematic.




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

* Re: Apologia for bzr
  2014-01-04 19:00                             ` David Kastrup
  2014-01-04 19:38                               ` Lennart Borgman
  2014-01-04 19:39                               ` CUA mode??? Joshua Judson Rosen
@ 2014-01-04 20:48                               ` Tom
  2 siblings, 0 replies; 401+ messages in thread
From: Tom @ 2014-01-04 20:48 UTC (permalink / raw)
  To: emacs-devel

David Kastrup <dak <at> gnu.org> writes:
> 
> The problem I see with that is that the terms are mnemonics for the
> keybindings: the kill bindings contain "k", the yank bindings "y".
> 

Killing the region is C-w.  Not really a mnemonic. Copying a region
is M-w. Only C-y has a mnemonic binding.

But users expect C-c/v/x anyway, so why force them to learn new keys
*and* new terminology. At least the terminology could follow the 
generally accepted names (copy/paste/cut) if CUA keys cannot be 
used by default.






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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 20:37                   ` Achim Gratz
@ 2014-01-04 20:53                     ` Juanma Barranquero
  2014-01-04 21:13                       ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: Juanma Barranquero @ 2014-01-04 20:53 UTC (permalink / raw)
  To: Achim Gratz; +Cc: Emacs developers

On Sat, Jan 4, 2014 at 9:37 PM, Achim Gratz <Stromeko@nexgo.de> wrote:

> Where do the ChangeLog entries come from today, then?

People write them, obviously. Somehow, many people seem more careful
when writing the ChangeLog than doing the same in the commit log
buffer or the commit command in the command line.

Also, many ChangeLog entries are fixed or reworded afterwards (and I'm
not talking about obvious typos and whitespace, but duplicates,
factual errors, etc.). You can not fix a commit log message.

   J



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 20:22                   ` Achim Gratz
@ 2014-01-04 21:06                     ` Stefan Monnier
  0 siblings, 0 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-04 21:06 UTC (permalink / raw)
  To: Achim Gratz; +Cc: emacs-devel

>> The main issues were (and are) the following:
>> - How to edit past commit messages when they're
>> incorrect/incomplete/...?
> Git notes still seems like a good solution.

AFAIK "git notes" is a low-level tool which clever scripts might be able
to leverage to provide the ability to "edit past commit messages".
I've never seen those clever scripts, tho.

>> - How to do C-x 4 a when there's no ChangeLog file?
> You don't need to.

I do.

> I'm usually writing the commit messages as I stage
> the diffs for the upcoming commit.  I also frequently rewrite commits
> before pushing them upstream.  Extracting that information from a
> ChangeLog to build the commit message is completely backwards with that

C-x 4 a has nothing to do with extracting the message from
the ChangeLog.  I usually use C-x 4 a from the *vc-diff* buffer.


        Stefan



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 20:47                                               ` Óscar Fuentes
@ 2014-01-04 21:07                                                 ` Eli Zaretskii
  0 siblings, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-04 21:07 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Sat, 04 Jan 2014 21:47:43 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > They are not hypothetical, believe me.  I have a lot gray hair to
> > vouch for that, and too little time to waste on this again.
> 
> If you experienced problems, Magit/MSYSGit/Emacs maintainers will be
> happy to address them.

These problems cannot be helped, because they stem from fundamental
incompatibilities between native and MSYS programs.

> I think it is important that people reading this ml should not end
> under the impression that using Git on Windows is problematic.

It's not problematic, but it has its annoyances.  I think it's
important that people reading this ml know the truth, even if it is
not entirely nice.




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 20:53                     ` Juanma Barranquero
@ 2014-01-04 21:13                       ` Eli Zaretskii
  2014-01-04 21:38                         ` Juanma Barranquero
  2014-01-05  2:17                         ` Nathan Trapuzzano
  0 siblings, 2 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-04 21:13 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Stromeko, emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Sat, 4 Jan 2014 21:53:14 +0100
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> You can not fix a commit log message.

If git is supported as well as we are told, perhaps the git developers
can be asked to add a feature that will allow commit messages to be
fixed, at least as far as the output of "git log" etc. is concerned.
CVS allowed such changes, btw.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 21:13                       ` Eli Zaretskii
@ 2014-01-04 21:38                         ` Juanma Barranquero
  2014-01-05  2:17                         ` Nathan Trapuzzano
  1 sibling, 0 replies; 401+ messages in thread
From: Juanma Barranquero @ 2014-01-04 21:38 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Stromeko, Emacs developers

On Sat, Jan 4, 2014 at 10:13 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> If git is supported as well as we are told, perhaps the git developers
> can be asked to add a feature that will allow commit messages to be
> fixed, at least as far as the output of "git log" etc. is concerned.

There's notes (git notes etc.). Perhaps it would make sense to use
some commit hook to move the commit log message to a note
automagically... That wouldn't be ideal, but it would go a long way to
make losing the ChangeLogs palatable.

    J



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

* Apologia for CUA mode (was: Apologia for bzr)
  2014-01-04 15:44                           ` Tom
  2014-01-04 19:00                             ` David Kastrup
@ 2014-01-04 21:55                             ` Christophe Poncy
  1 sibling, 0 replies; 401+ messages in thread
From: Christophe Poncy @ 2014-01-04 21:55 UTC (permalink / raw)
  To: emacs-devel

On 2014-01-04 16:44, Tom wrote:
> Lennart Borgman <lennart.borgman <at> gmail.com> writes:
>> 
>> It is very different in one way. An editor is a tool you start
>> with. It should be convenient for everyone. Beginners may face
>> a high complexity and different terms (and keyboard shortcuts)
>> for rather familiar commands makes it much more difficult.The
>> difference might seem small, but since it raises complexity for
>> beginners it waists time for them.
> 
> Kill/yank comes to mind as obvious example. The copy/cut/paste
> terminology is pretty much standard, so the various kill/yank
> operations (kill-region, copy-region-as-kill, etc.) should
> be mapped to these terms.

FWIW, I miss those things outside emacs, it's why I am using firemacs on 
firefox…

-- 
Support free software! Join FSF:
https://my.fsf.org/associate/support_freedom?referrer=4574



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

* Apologia for CUA mode
  2014-01-04 19:38                               ` Lennart Borgman
@ 2014-01-04 22:09                                 ` Christophe Poncy
  2014-01-04 23:39                                   ` Lennart Borgman
  0 siblings, 1 reply; 401+ messages in thread
From: Christophe Poncy @ 2014-01-04 22:09 UTC (permalink / raw)
  To: emacs-devel

On 2014-01-04 20:38, Lennart Borgman wrote:
> On Sat, Jan 4, 2014 at 8:00 PM, David Kastrup <dak@gnu.org> wrote:
> 
>> Tom <adatgyujto@gmail.com> writes:
>> 
>> > Kill/yank comes to mind as obvious example. The copy/cut/paste
>> > terminology is pretty much standard, so the various kill/yank
>> > operations (kill-region, copy-region-as-kill, etc.) should
>> > be mapped to these terms.
>> 
>> The problem I see with that is that the terms are mnemonics for the
>> keybindings: the kill bindings contain "k", the yank bindings "y".
>> 
>> And (as you probably remember) the problem with that as I see it is 
>> the
> key bindings. Users expect CUA. ;-)

Not all. My mother who never touched a PC in its entire life likes emacs 
as it is :)

-- 
Support free software! Join FSF:
https://my.fsf.org/associate/support_freedom?referrer=4574



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

* Re: CUA mode???
  2014-01-04 19:39                               ` CUA mode??? Joshua Judson Rosen
@ 2014-01-04 23:38                                 ` Lennart Borgman
  2014-01-05 23:15                                   ` Xue Fuqiao
  0 siblings, 1 reply; 401+ messages in thread
From: Lennart Borgman @ 2014-01-04 23:38 UTC (permalink / raw)
  To: Joshua Judson Rosen; +Cc: Emacs-Devel devel

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

On Jan 4, 2014 9:17 PM, "Joshua Judson Rosen" <rozzin@geekspace.com> wrote:
>
>
> Also, didn't cua-mode already `fix' this:
>
>
http://www.gnu.org/software/emacs/manual/html_node/emacs/CUA-Bindings.html
>
> Though that brings me to something that's been bugging me since someone
> first told me (last year) that cua-mode had actually gone into emacs:
> my recollection from the early 1990s was that the CUA keystrokes for
> cut, copy, and paste were *not* C-x, C-c, and C-v; but rather
> S-delete, C-insert, and S-insert (respectively). These were the
> keystrokes that I remember using in Windows at the time, and
> what I've also been using in Emacs and other applications in X11
> since about that time, and even what I used in applications on
> Mac OS X when I needed to use it just a couple of years ago.
>
> Wikipedia seems to agree with my memory rather than what's in the Emacs
> manual:
>
>     https://en.wikipedia.org/wiki/Common_User_Access
>
> Did the CUA spec actually change to use C-x, C-c, C-v at some point, or
> is Emacs cua-mode mistaken about which standard it's implementing?

Ah, so you mean that cua-mode was also badly named in Emacs in should be
renamed? ;-)

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

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

* Re: Apologia for CUA mode
  2014-01-04 22:09                                 ` Apologia for CUA mode Christophe Poncy
@ 2014-01-04 23:39                                   ` Lennart Borgman
  0 siblings, 0 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-04 23:39 UTC (permalink / raw)
  To: Christophe Poncy; +Cc: Emacs-Devel devel

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

On Sat, Jan 4, 2014 at 11:09 PM, Christophe Poncy <cp@genium.fr> wrote:

> And (as you probably remember) the problem with that as I see it is the
>>>
>> key bindings. Users expect CUA. ;-)
>>
>
> Not all. My mother who never touched a PC in its entire life likes emacs
> as it is :)
>
>
Either she has a very special talent. Or, perhaps, it is You that she
likes. ;-)

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 21:13                       ` Eli Zaretskii
  2014-01-04 21:38                         ` Juanma Barranquero
@ 2014-01-05  2:17                         ` Nathan Trapuzzano
  2014-01-05  5:17                           ` Stefan Monnier
  1 sibling, 1 reply; 401+ messages in thread
From: Nathan Trapuzzano @ 2014-01-05  2:17 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Juanma Barranquero, Stromeko, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> If git is supported as well as we are told, perhaps the git developers
> can be asked to add a feature that will allow commit messages to be
> fixed, at least as far as the output of "git log" etc. is concerned.
> CVS allowed such changes, btw.

git rebase --interactive

With a source repository like Emacs', which is shared by so many people,
doing that is a terrible idea.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-03 20:15                     ` Stephen J. Turnbull
@ 2014-01-05  4:49                       ` Barry Warsaw
  0 siblings, 0 replies; 401+ messages in thread
From: Barry Warsaw @ 2014-01-05  4:49 UTC (permalink / raw)
  To: emacs-devel

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

On Jan 04, 2014, at 05:15 AM, Stephen J. Turnbull wrote:

>It's true that Bazaar has some useful features, such as shared repos,
>whose performance characteristics are hard to emulate accurately in
>git.  I can't speak to Stefan's experience, of course, but when I look
>at my git repos, in fact sharing is quite high because branches in
>separate repos tend to be very divergent (so only the original shared
>objects *can* be shared), and when the main feature branch gets
>merged, the whole repo usually gets deleted so the failure of "git
>fetch" to hardlink pulled objects isn't a big space leak.

I know Stephen knows this, but Bazaar shared repos are really just a way to
efficiently store revision objects in a parent directory, such that you can
have a number of subdirectories inside there that represent working
directories of different branches.  Or put it another way, it just moves the
.bzr directory up one level so everything underneath it can share that.  In
most cases, most branches share probably 90% of their revisions, and that's
what makes local branching and remote pulling into a shared repo pretty fast.

I'm another big bzr fan, and while colocated branches are interesting, I find
them to be completely counter to my way of working.  If I'm going to be
working on a number of branches, I want separate working directories for each.
So for example, in Mailman (under bzr) I'll have a shared repo directory
containing working directories each containing a different in-progress feature
(topic) branch.

For Python hg's and other projects git repos, I basically have multiple clones
inside a parent directory that's nothing special.  It works, but doesn't map
to my way of working as well as bzr.

The other thing I sorely miss when working with git repositories is bzr's main
line of development approach.  Once you understand this, and use it correctly
(i.e. merges in the right direction), it's a very nice simplifying feature.
It allows you to have human friendly revision numbers[1], with dotted revision
numbers for side branches.  More importantly, it means that there's no cultural
pressure for history changing rebases, `bzr log` by default only follows the
main line (so side branches are hidden by default, unless you *want* to see
them), and bisect doesn't make you unhappy by landing you in non-working
revisions.

I think if git had this concept and --help text that wasn't 20 pages long (629
lines for `git merge --help`!) it would go a long way to improving the user
friendliness of git, IMHO of course.

That said, it's pretty clear that git has won this round of dVCS wars.
Mercurial will probably hang on and hopefully even thrive as a viable
alternative, but network effects have given git most of the mindshare.  At
least until something better comes along, as it has with CVS and svn in their
times.

-Barry

[1] Yes, they are local-only, and yes they can change, and yes you still have
unique hashes to unambiguously reference a revision, but it's still darn
convenient.  I'd much rather say "Are you on revision 7250 of branch
lp:mailman?"

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05  2:17                         ` Nathan Trapuzzano
@ 2014-01-05  5:17                           ` Stefan Monnier
  2014-01-05  8:39                             ` Stephen J. Turnbull
  0 siblings, 1 reply; 401+ messages in thread
From: Stefan Monnier @ 2014-01-05  5:17 UTC (permalink / raw)
  To: Nathan Trapuzzano
  Cc: Juanma Barranquero, Eli Zaretskii, Stromeko, emacs-devel

>> If git is supported as well as we are told, perhaps the git developers
>> can be asked to add a feature that will allow commit messages to be
>> fixed, at least as far as the output of "git log" etc. is concerned.
>> CVS allowed such changes, btw.
> git rebase --interactive
> With a source repository like Emacs', which is shared by so many people,
> doing that is a terrible idea.

Right: by "edit past commit messages" we mean "without rewriting
history".  I know it sounds contradictory, but it is only paradoxical.


        Stefan



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

* Re: Generating ChangeLog files.
  2014-01-04  4:28                       ` Paul Eggert
@ 2014-01-05  5:57                         ` Richard Stallman
  0 siblings, 0 replies; 401+ messages in thread
From: Richard Stallman @ 2014-01-05  5:57 UTC (permalink / raw)
  To: Paul Eggert; +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. ]]]

The reason I put separate change log files in several directories was
just so they would be somewhat shorter, so each one would be less
cumbersome to look through.  Most changes are limited to one of
the change log files.  A few changes include some Lisp code and some C code,
but since they are a small fraction, they didn't cancel out the benefit.

-- 
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] 401+ messages in thread

* Re: bzr is dying; Emacs needs to move
  2014-01-04  2:14   ` Samuel Bronson
@ 2014-01-05  7:11     ` Thien-Thi Nguyen
  2014-01-05 16:13       ` "No safeguard against rewriting upstream bzr history" (was: bzr is dying; Emacs needs to move) Joshua Judson Rosen
  0 siblings, 1 reply; 401+ messages in thread
From: Thien-Thi Nguyen @ 2014-01-05  7:11 UTC (permalink / raw)
  To: Samuel Bronson; +Cc: emacs-devel

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

() Samuel Bronson <naesten@gmail.com>
() Sat, 4 Jan 2014 02:14:04 +0000 (UTC)

   I'm given to understand that "git gc --aggressive" does not actually
   pack things more efficiently in practice, and is thus a waste of
   time, memory, *and* disk space.  See [URL]

IIUC, the criticism w/ "git gc --aggressive" is that it inhibits the
normal incremental (reusing deltas) operation of the underlying repack,
and thus counter-indicated for day-to-day (post init phase) use.

Since i'm still in the init phase, "git gc --aggressive" is fine, in
principle.  (It's the practice, w/ old computer, that's the problem!)

   Also note Linus' suggestion to use "git repack" instead, perhaps with
   more aggressive options than the defaults.

Yes, this did the trick.  Some observations:

 First attempt -- 3h 10m, 1.5G
 $ git repack -a -d -f

 Second attempt -- 11h 55m, 559M
 $ git repack -a -d -f --window=250 --depth=250 --window-memory=200m

Actually, i report only those attempts that completed.  The others
either died or i interrupted out of annoyance w/ swap-disk-grunting.

559M is not optimal, but i (and old computer :-D) can live w/ it.

Next steps:

- Sanity check.  In the repo, i see HEAD is 6f7f591e (2013-12-07)
  w/ title (and entirety of commit message) "Mention bug 16049.".

  Could someone please confirm this exists in their git-bzr repo?

- Investigate "no safeguard against rewriting upstream bzr repo history":
  <http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00098.html>.

  I'd like to determine if the "doesn't work" part lies in bzrlib or
  in git-remote-bzr.  I suspect the latter, since there is no call
  to ‘die’ in that code.  Hmmm, time to snapshot the (relatively)
  svelte repo and see what damage a tweaked git-remote-bzr can do,
  i suppose...

"But ttn, why not just wait for Emacs to move to Git?"  Well, i've
waited many years and that was a suffering.  Playing w/ git-bzr is
another.  Life is such.

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 20:04                 ` Stefan Monnier
  2014-01-04 20:22                   ` Achim Gratz
@ 2014-01-05  8:34                   ` Stephen J. Turnbull
  2014-01-05 16:35                     ` Eli Zaretskii
  2014-01-05 17:23                     ` Stefan Monnier
  1 sibling, 2 replies; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-05  8:34 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Achim Gratz, emacs-devel

Stefan Monnier writes:

 > The main issues were (and are) the following:

 > - How to edit past commit messages when they're
 >   incorrect/incomplete/...?

Best solution: no commit without review.  Not gonna happen :-) so,
"git notes".

 > - How to do C-x 4 a when there's no ChangeLog file?

ln -s $PROJECT_ROOT/.tmp_commit_log $PROJECT_ROOT/ChangeLog

works for me in private projects.  The commit alias removes
.tmp_commit_log, so I can't commit without writing a commit log
("fatal: could not read log file '.tmp_commit_log': No such file or
directory").

 > - This last one can get a bit more delicate if you want to be able
 >   to do

Yeah, probably it's still a bit delicate.

 >   since this requires saving the commit message which you started
 >   writing in the first Emacs session: the ChangeLog file naturally lives
 >   across Emacs sessions, whereas the *VC-Log* buffer doesn't.

but not for that reason. ;-)  Dunno if that trick works on Windows,
for one.

Steve





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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05  5:17                           ` Stefan Monnier
@ 2014-01-05  8:39                             ` Stephen J. Turnbull
  0 siblings, 0 replies; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-05  8:39 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier writes:

 > Right: by "edit past commit messages" we mean "without rewriting
 > history".  I know it sounds contradictory, but it is only paradoxical.

It's neither.  It's an artifact of git implementation.

I'm pretty sure there are VCSes that don't make the commit message
part of history, but I think that's disgusting and don't allow VCSes
like that in my house.




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

* Re: Apologia for bzr
  2014-01-04 12:09                         ` Lennart Borgman
  2014-01-04 15:44                           ` Tom
@ 2014-01-05 10:03                           ` Stephen J. Turnbull
  2014-01-05 11:52                             ` Eric S. Raymond
  2014-01-05 14:27                             ` Lennart Borgman
  1 sibling, 2 replies; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-05 10:03 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: esr, Richard Stallman, Emacs-Devel devel

Lennart Borgman writes:
 > On Sat, Jan 4, 2014 at 9:28 AM, Eric S. Raymond <esr@thyrsus.com> wrote:
 >> Richard Stallman <rms@gnu.org>:

 >>> But even though we did not do anything wrong, it is unfortunate
 >>> for us nonetheless.  If it is possible to change Emacs to use some
 >>> standard modern terms instead of its current terms, it might be
 >>> worth doing, even if it means a series of renaming spread over a
 >>> period of years.

I don't know if it's absolutely necessary to rename the functions,
although it probably would help many potential developers, including
many who don't have a very good grasp of English and know "cut" as a
sound that describes a computer operation that has nothing to do with
knives or card tricks.  Rewriting the tutorial might be more
appropriate.

 >> Mostly there *aren't* any "standard modern terms",

You're getting too deep here.  I'm pretty sure what's under discussion
is cut vs. kill, paste v. yank.

 >> because there are no other editors in which there is so much
 >> decoupling between the local equivalents of our core concepts that
 >> they need to be described separately.

True of buffer, I guess, but not of window vs. frame.

 >> There's a parallel with git jargon here...

Indeed.

 > It is very different in one way. An editor is a tool you start
 > with.

That's not what Eric's talking about.  The point he is making, it
seems to me, is that Emacs is not an editor, it is a text editing
environment or toolkit.  Similarly, git is not a VCS, it is an
environment for developing a VCS.  Not to the same extent that today's
Emacs is a development environment for editors, but then Richard had
several years of experience with using a editor language to create the
Emacs Lisp and GNU Emacs that is the direct ancestor of today's Emacs.



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

* Re: Apologia for bzr
  2014-01-04  5:01                       ` Stephen J. Turnbull
@ 2014-01-05 10:10                         ` Florian Weimer
  0 siblings, 0 replies; 401+ messages in thread
From: Florian Weimer @ 2014-01-05 10:10 UTC (permalink / raw)
  To: Stephen J. Turnbull
  Cc: esr, kfogel, Eli Zaretskii, toby-dated-1389906911.cc0ede,
	emacs-devel

* Stephen J. Turnbull:

> Not the first VCS, but certainly a leader in the generation of VCSes
> first to provide the features that got new terminology (index, fetch,
> pull, push).  For older features (such as commit, diff, and merge) it
> uses the traditional terminology.

"pull" and "push" came from Bitkeeper (like "clone"), so those were
existing terminology as well.  "fetch" might have been new, but many
users don't need it.

"git-update-cache" for constructing commits was certainly new.  I
think even today, the concept of a persistent staging area for commits
which can be edited by the user (and from within shell scripts) is
unique to git, and "git add" behaves differently from other systems:
git will not automatically make changes part of a commit even if the
file is being tracked by version control.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04  9:42             ` Bastien
  2014-01-04 12:49               ` Achim Gratz
@ 2014-01-05 10:14               ` Florian Weimer
  1 sibling, 0 replies; 401+ messages in thread
From: Florian Weimer @ 2014-01-05 10:14 UTC (permalink / raw)
  To: Bastien; +Cc: emacs-devel, Michael Albinus, Stefan Monnier, Thierry Volpiatto

* Bastien:

> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>> Please let's not rehash old arguments: the tarball contains many files
>> that are generated, so it would be trivial to include the "git log"
>> output in it.
>
> How would we handle fixing in such generated logs?
> By revising the git history through rebasing?

There's also "git notes".  It would provide a clean way of amending
log entries, but I haven't seen it used in the wild yet.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04  8:00           ` Richard Stallman
  2014-01-04  9:44             ` Bastien
  2014-01-04 10:29             ` David Kastrup
@ 2014-01-05 10:25             ` Florian Weimer
  2014-01-05 20:23               ` Richard Stallman
  2 siblings, 1 reply; 401+ messages in thread
From: Florian Weimer @ 2014-01-05 10:25 UTC (permalink / raw)
  To: rms; +Cc: esr, thierry.volpiatto, emacs-devel

* Richard Stallman:

> Our ChangeLog files are very useful in debugging.

Then you're not following the GNU Coding Standards. :-)



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

* Re: Apologia for bzr
  2014-01-05 10:03                           ` Apologia for bzr Stephen J. Turnbull
@ 2014-01-05 11:52                             ` Eric S. Raymond
  2014-01-05 18:14                               ` Stephen J. Turnbull
  2014-01-05 14:27                             ` Lennart Borgman
  1 sibling, 1 reply; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-05 11:52 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Lennart Borgman, Richard Stallman, Emacs-Devel devel

Stephen J. Turnbull <stephen@xemacs.org>:
>  >> Mostly there *aren't* any "standard modern terms",
> 
> You're getting too deep here.  I'm pretty sure what's under discussion
> is cut vs. kill, paste v. yank.

Well, at that level, yes.
 
> That's not what Eric's talking about.  The point he is making, it
> seems to me, is that Emacs is not an editor, it is a text editing
> environment or toolkit.  Similarly, git is not a VCS, it is an
> environment for developing a VCS.

That's exactly correct. Of the level git folks call "plumbing", anyway
- it's almost pure mechanism, no policy. What they call "porcelain" is
a layer on top of that which provides policy and UI.

The analogy between the C core and Emacs Lisp is not perfect, but
neither is it strained or silly. Emacs jargon is complex in the
same way git jargon is because both bottom layers provide a richness
and degree of orthogonality that mone of the competition quite matches.

An important difference is that git porcelain is rather a shambles
compared to Emacs Lisp - usable, but ugly and sharp-edged.  Eli's
complaints are not without justice.

Alas for git's competition, the power of the plumbing combined with
the social momentum of the project as a whole has more than
compensated for the porcelain's deficiencies.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: Apologia for bzr
  2014-01-05 10:03                           ` Apologia for bzr Stephen J. Turnbull
  2014-01-05 11:52                             ` Eric S. Raymond
@ 2014-01-05 14:27                             ` Lennart Borgman
  2014-01-05 15:27                               ` David Kastrup
  1 sibling, 1 reply; 401+ messages in thread
From: Lennart Borgman @ 2014-01-05 14:27 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Eric Raymond, Richard Stallman, Emacs-Devel devel

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

On Sun, Jan 5, 2014 at 11:03 AM, Stephen J. Turnbull <stephen@xemacs.org>wrote:

> Lennart Borgman writes:
>  > On Sat, Jan 4, 2014 at 9:28 AM, Eric S. Raymond <esr@thyrsus.com>
> wrote:
>   > It is very different in one way. An editor is a tool you start
>  > with.
>
> That's not what Eric's talking about.  The point he is making, it
> seems to me, is that Emacs is not an editor, it is a text editing
> environment or toolkit.  Similarly, git is not a VCS, it is an
> environment for developing a VCS.  Not to the same extent that today's
> Emacs is a development environment for editors, but then Richard had
> several years of experience with using a editor language to create the
> Emacs Lisp and GNU Emacs that is the direct ancestor of today's Emacs.
>


When you start with Emacs it is just an editor, nothing more.

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

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

* Re: Apologia for bzr
  2014-01-05 14:27                             ` Lennart Borgman
@ 2014-01-05 15:27                               ` David Kastrup
  2014-01-05 15:56                                 ` Werner LEMBERG
  0 siblings, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-05 15:27 UTC (permalink / raw)
  To: Lennart Borgman
  Cc: Eric Raymond, Stephen J. Turnbull, Richard Stallman,
	Emacs-Devel devel

Lennart Borgman <lennart.borgman@gmail.com> writes:

> On Sun, Jan 5, 2014 at 11:03 AM, Stephen J. Turnbull <stephen@xemacs.org>wrote:
>
>> Lennart Borgman writes:
>>  > On Sat, Jan 4, 2014 at 9:28 AM, Eric S. Raymond <esr@thyrsus.com>
>> wrote:
>>   > It is very different in one way. An editor is a tool you start
>>  > with.
>>
>> That's not what Eric's talking about.  The point he is making, it
>> seems to me, is that Emacs is not an editor, it is a text editing
>> environment or toolkit.  Similarly, git is not a VCS, it is an
>> environment for developing a VCS.  Not to the same extent that today's
>> Emacs is a development environment for editors, but then Richard had
>> several years of experience with using a editor language to create the
>> Emacs Lisp and GNU Emacs that is the direct ancestor of today's Emacs.
>
> When you start with Emacs it is just an editor, nothing more.

You mean, like an arranged marriage just starts with a spouse, nothing
more?

Women start with vi in the hope it will change, men with Emacs in the
hope it will stay the same.  Both are disappointed.

-- 
David Kastrup



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

* Re: Apologia for bzr
  2014-01-05 15:27                               ` David Kastrup
@ 2014-01-05 15:56                                 ` Werner LEMBERG
  0 siblings, 0 replies; 401+ messages in thread
From: Werner LEMBERG @ 2014-01-05 15:56 UTC (permalink / raw)
  To: dak; +Cc: esr, stephen, lennart.borgman, rms, emacs-devel


> Women start with vi in the hope it will change, men with Emacs in
> the hope it will stay the same.  Both are disappointed.

Hehe!  This made my day.


    Werner



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

* "No safeguard against rewriting upstream bzr history" (was: bzr is dying; Emacs needs to move)
  2014-01-05  7:11     ` Thien-Thi Nguyen
@ 2014-01-05 16:13       ` Joshua Judson Rosen
  2014-01-05 18:29         ` "No safeguard against rewriting upstream bzr history" Glenn Morris
  2014-01-05 18:38         ` Wolfgang Jenkner
  0 siblings, 2 replies; 401+ messages in thread
From: Joshua Judson Rosen @ 2014-01-05 16:13 UTC (permalink / raw)
  To: emacs-devel

Thien-Thi Nguyen <ttn@gnu.org> writes:
>
> - Investigate "no safeguard against rewriting upstream bzr repo history":
>   <http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00098.html>.
>
>   I'd like to determine if the "doesn't work" part lies in bzrlib or
>   in git-remote-bzr.  I suspect the latter, since there is no call
>   to ‘die’ in that code.  Hmmm, time to snapshot the (relatively)
>   svelte repo and see what damage a tweaked git-remote-bzr can do,
>   i suppose...

If it's true, one could also say that the upstream branches
are misconfigured: if you set "append_revisions_only = True"
in the branch's .bzr/branch/branch.conf, then the bzr
server will enforce that revisions are only ever added to
the left hand side (mainline edge) of the DAG and never
removed (either by uncommitting or by re-orienting the DAG).

In the case where "append_revisions_only = False", then
"bzr push" is allowed to reorient the DAG so that
a different edge becomes the left hand side (which happens
if someone merges trunk down _into their branch_ and then
pushes their branch up), "bzr uncommit" is allowed to
remove revisions, and "bzr push --overwrite" is allowed
to stomp all over things.

When creating new branches, there's an argument to "bzr init"
that sets this option; if you have write access to the upstream
emacs branches through SFTP, you should probably be able to set
options like append_revisions_only on the existing branch by
SFTP'ing up a new branch.conf file.

-- 
"'tis an ill wind that blows no minds."



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05  8:34                   ` Stephen J. Turnbull
@ 2014-01-05 16:35                     ` Eli Zaretskii
  2014-01-06  3:40                       ` Stephen J. Turnbull
  2014-01-05 17:23                     ` Stefan Monnier
  1 sibling, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-05 16:35 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Stromeko, monnier, emacs-devel

> From: "Stephen J. Turnbull" <stephen@xemacs.org>
> Date: Sun, 05 Jan 2014 17:34:47 +0900
> Cc: Achim Gratz <Stromeko@nexgo.de>, emacs-devel@gnu.org
> 
>  > - How to do C-x 4 a when there's no ChangeLog file?
> 
> ln -s $PROJECT_ROOT/.tmp_commit_log $PROJECT_ROOT/ChangeLog
> 
> works for me in private projects.

I don't understand why you need the symlink.  Why not let Emacs create
ChangeLog, then delete it when the commit is done?  Or use any other
file name (if you don't want to see ChangeLog for some reason): the
Change Log mode can be turned on in any file, regardless of its name.
For that matter, why not reuse .git/COMMIT_EDITMSG?



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05  8:34                   ` Stephen J. Turnbull
  2014-01-05 16:35                     ` Eli Zaretskii
@ 2014-01-05 17:23                     ` Stefan Monnier
  2014-01-06  3:44                       ` Stephen J. Turnbull
  1 sibling, 1 reply; 401+ messages in thread
From: Stefan Monnier @ 2014-01-05 17:23 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Achim Gratz, emacs-devel

>> - How to do C-x 4 a when there's no ChangeLog file?
> ln -s $PROJECT_ROOT/.tmp_commit_log $PROJECT_ROOT/ChangeLog
> works for me in private projects.  The commit alias removes
> .tmp_commit_log, so I can't commit without writing a commit log
> ("fatal: could not read log file '.tmp_commit_log': No such file or
> directory").

Right, that's the kind of direction I'd like to go.  But this
.tmp_commit_log file seems to be a personal convention, so making `C-x
4 a' use such a thing by default is more difficult.


        Stefan



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

* Re: Apologia for bzr
  2014-01-05 11:52                             ` Eric S. Raymond
@ 2014-01-05 18:14                               ` Stephen J. Turnbull
  0 siblings, 0 replies; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-05 18:14 UTC (permalink / raw)
  To: esr; +Cc: Lennart Borgman, Richard Stallman, Emacs-Devel devel

Eric S. Raymond writes:

 > An important difference is that git porcelain is rather a shambles
 > compared to Emacs Lisp - usable, but ugly and sharp-edged.

Yeah, but in computer time Elisp is to git as David is to Jesus: the
great^24-grandfather.  That's a bit of an unfair comparison.  When
Emacs was git's age, its extension language was TECO and when you
typed C-g in a minibuffer it laughed at you and refused to quit!




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

* Re: "No safeguard against rewriting upstream bzr history"
  2014-01-05 16:13       ` "No safeguard against rewriting upstream bzr history" (was: bzr is dying; Emacs needs to move) Joshua Judson Rosen
@ 2014-01-05 18:29         ` Glenn Morris
  2014-01-05 18:38         ` Wolfgang Jenkner
  1 sibling, 0 replies; 401+ messages in thread
From: Glenn Morris @ 2014-01-05 18:29 UTC (permalink / raw)
  To: Joshua Judson Rosen; +Cc: emacs-devel

Joshua Judson Rosen wrote:

> if you set "append_revisions_only = True" in the branch's
> .bzr/branch/branch.conf, then the bzr server will enforce that
> revisions are only ever added to the left hand side

We know. The Emacs repo is so configured.
On the rare occasions when really needed, this can be changed by anyone
with write access using `bzr config', as noted in admin/notes/bzr.



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

* Re: "No safeguard against rewriting upstream bzr history"
  2014-01-05 16:13       ` "No safeguard against rewriting upstream bzr history" (was: bzr is dying; Emacs needs to move) Joshua Judson Rosen
  2014-01-05 18:29         ` "No safeguard against rewriting upstream bzr history" Glenn Morris
@ 2014-01-05 18:38         ` Wolfgang Jenkner
  2014-01-06  9:00           ` Thien-Thi Nguyen
  1 sibling, 1 reply; 401+ messages in thread
From: Wolfgang Jenkner @ 2014-01-05 18:38 UTC (permalink / raw)
  To: Joshua Judson Rosen; +Cc: Felipe Contreras Garza, emacs-devel

On Sun, Jan 05 2014, Joshua Judson Rosen wrote:

> Thien-Thi Nguyen <ttn@gnu.org> writes:
>>
>> - Investigate "no safeguard against rewriting upstream bzr repo history":
>>   <http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00098.html>.
>>
>>   I'd like to determine if the "doesn't work" part lies in bzrlib or
>>   in git-remote-bzr.  I suspect the latter, since there is no call
>>   to ‘die’ in that code.  Hmmm, time to snapshot the (relatively)
>>   svelte repo and see what damage a tweaked git-remote-bzr can do,
>>   i suppose...
>
> If it's true, one could also say that the upstream branches
> are misconfigured: if you set "append_revisions_only = True"
> in the branch's .bzr/branch/branch.conf, then the bzr
> server will enforce that revisions are only ever added to
> the left hand side (mainline edge) of the DAG and never
> removed (either by uncommitting or by re-orienting the DAG).
[...]
> When creating new branches, there's an argument to "bzr init"
> that sets this option;

Thank you very much for this explanation!  Indeed, with this switch, the
local experiment in

http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00094.html

gives the following:

[1 /tmp]$ bzr init --append-revisions-only trunk
Created a standalone tree (format: 2a)
[2 /tmp]$ cat trunk/.bzr/branch/branch.conf
append_revisions_only = True
[3 /tmp]$ (cd trunk && touch foo && bzr add $_ && bzr commit -m X && bzr log --line)
adding foo
Committing to: /tmp/trunk/
added foo
Committed revision 1.
1: Wolfgang Jenkner 2014-01-05 X
[4 /tmp]$ git clone bzr::trunk local
Cloning into 'local'...
Checking connectivity... done.
[5 /tmp]$ (cd trunk && echo "trunk change" >foo && bzr commit -m A && bzr log --line)
Committing to: /tmp/trunk/
modified foo
Committed revision 2.
2: Wolfgang Jenkner 2014-01-05 A
1: Wolfgang Jenkner 2014-01-05 X
[6 /tmp]$ (cd local && echo "local change" >foo && git commit -a -m B && git log --oneline && git push)
[master d494366] B
 1 file changed, 1 insertion(+)
d494366 B
2fa9952 X
Traceback (most recent call last):
  File "/home/wolfgang/bin/git-remote-bzr", line 947, in <module>
    sys.exit(main(sys.argv))
  File "/home/wolfgang/bin/git-remote-bzr", line 933, in main
    do_export(parser)
  File "/home/wolfgang/bin/git-remote-bzr", line 682, in do_export
    branch.generate_revision_history(revid, marks.get_tip(name))
  File "<string>", line 4, in generate_revision_history_write_locked
  File "/usr/local/lib/python2.7/site-packages/bzrlib/branch.py", line 816, in generate_revision_history
    self.set_last_revision_info(revno, revision_id)
  File "<string>", line 4, in set_last_revision_info_write_locked
  File "/usr/local/lib/python2.7/site-packages/bzrlib/branch.py", line 2524, in set_last_revision_info
    self._check_history_violation(revision_id)
  File "/usr/local/lib/python2.7/site-packages/bzrlib/branch.py", line 2727, in _check_history_violation
    raise errors.AppendRevisionsOnlyViolation(self.user_url)
bzrlib.errors.AppendRevisionsOnlyViolation: Operation denied because it would change the main history, which is not permitted by the append_revisions_only setting on branch "/tmp/trunk/".
[7 /tmp]$ (cd trunk && bzr log --line)
2: Wolfgang Jenkner 2014-01-05 A
1: Wolfgang Jenkner 2014-01-05 X
[8 /tmp]$ (cd trunk && bzr status)
[9 /tmp]$ (cd trunk && bzr diff)
[10 /tmp]$ 

So part of the bzrlib safeguard against rewriting history is actually in
one of the callees of generate_revision_history, while git-remote-bzr
seems to assume that it is all in push_branch.

Wolfgang



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

* Re: Apologia for bzr
  2014-01-04  8:28                       ` Eric S. Raymond
  2014-01-04 12:09                         ` Lennart Borgman
@ 2014-01-05 20:20                         ` Richard Stallman
  2014-01-05 20:35                           ` Gabriel Beauchamp
                                             ` (2 more replies)
  1 sibling, 3 replies; 401+ messages in thread
From: Richard Stallman @ 2014-01-05 20:20 UTC (permalink / raw)
  To: esr; +Cc: toby-dated-1389972095.0848dd, 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. ]]]

    Mostly there *aren't* any "standard modern terms", because there are
    no other editors in which there is so much decoupling between the 
    local equivalents of our core concepts that they need to be described
    separately.

There are the standard modern terms cut, paste and copy.

In regard to windows, buffers and frames, we could have a mode of
operation which ties each buffer to a one-window frame.  That would
eliminate a lot of complexity.

We could even offer that as the mode of use for beginners, if that
would make it easier for a new generation of hackers to become Emacs
users.  I don't know whether it WOULD have that effect, but if it
would, I think it is a good idea.

Do beginners typically run Emacs under a graphical window system?

-- 
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] 401+ messages in thread

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04  9:44             ` Bastien
                                 ` (3 preceding siblings ...)
  2014-01-04 13:07               ` Achim Gratz
@ 2014-01-05 20:20               ` Richard Stallman
  2014-01-05 23:58                 ` David Kastrup
                                   ` (2 more replies)
  4 siblings, 3 replies; 401+ messages in thread
From: Richard Stallman @ 2014-01-05 20:20 UTC (permalink / raw)
  To: Bastien; +Cc: esr, thierry.volpiatto, 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. ]]]

    The question is whether we should edit them separately
    from the commit messages, or if we should produce them
    by (programmatically) extracting them from the commit
    messages.

I think it is best for commit messages to be brief high-level 
summaries of the changes, and put the details only in ChangeLog.
I think that these two forms of desription complement each other
and that it is useful to have both available.

-- 
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] 401+ messages in thread

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05 10:25             ` Florian Weimer
@ 2014-01-05 20:23               ` Richard Stallman
  2014-01-05 20:43                 ` Florian Weimer
  0 siblings, 1 reply; 401+ messages in thread
From: Richard Stallman @ 2014-01-05 20:23 UTC (permalink / raw)
  To: Florian Weimer; +Cc: esr, thierry.volpiatto, 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. ]]]

    > Our ChangeLog files are very useful in debugging.

    Then you're not following the GNU Coding Standards. :-)

There is no constructive point there, only an insult.

If you have some constructive criticism, please state it clearly.

-- 
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] 401+ messages in thread

* Re: Apologia for bzr
  2014-01-05 20:20                         ` Richard Stallman
@ 2014-01-05 20:35                           ` Gabriel Beauchamp
  2014-01-06  4:07                             ` Yuri Khan
  2014-01-05 20:41                           ` Lennart Borgman
  2014-01-05 20:56                           ` Eric S. Raymond
  2 siblings, 1 reply; 401+ messages in thread
From: Gabriel Beauchamp @ 2014-01-05 20:35 UTC (permalink / raw)
  To: rms; +Cc: esr, toby-dated-1389972095.0848dd, emacs-devel

As still quite beginner myself, I used Emacs in a term for a while, but
now mainly with a graphical environment. And I have only one frame
up. And I don't see the point (at least for me) to have more than one
frame. If I may, I think that most people beggining with Emacs don't see
the point of frames either. If they even know of the existences of
thoses.


2014/1/5, Richard Stallman <rms@gnu.org>:
> [[[ 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. ]]]
>
>     Mostly there *aren't* any "standard modern terms", because there are
>     no other editors in which there is so much decoupling between the
>     local equivalents of our core concepts that they need to be described
>     separately.
>
> There are the standard modern terms cut, paste and copy.
>
> In regard to windows, buffers and frames, we could have a mode of
> operation which ties each buffer to a one-window frame.  That would
> eliminate a lot of complexity.
>
> We could even offer that as the mode of use for beginners, if that
> would make it easier for a new generation of hackers to become Emacs
> users.  I don't know whether it WOULD have that effect, but if it
> would, I think it is a good idea.
>
> Do beginners typically run Emacs under a graphical window system?
>
> --
> 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] 401+ messages in thread

* Re: Apologia for bzr
  2014-01-05 20:20                         ` Richard Stallman
  2014-01-05 20:35                           ` Gabriel Beauchamp
@ 2014-01-05 20:41                           ` Lennart Borgman
  2014-01-05 21:31                             ` Tom
  2014-01-06 14:00                             ` Richard Stallman
  2014-01-05 20:56                           ` Eric S. Raymond
  2 siblings, 2 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-05 20:41 UTC (permalink / raw)
  To: Richard M. Stallman; +Cc: Eric Raymond, Toby Cubitt, Emacs-Devel devel

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

On Sun, Jan 5, 2014 at 9:20 PM, Richard Stallman <rms@gnu.org> wrote:

> There are the standard modern terms cut, paste and copy.
>
> It is also about the key-bindings. cua-mode should be a first class
citizen in Emacs. As it is now enabling cua-mode is possible, but the
manuals does not fit entirely when you do. And that is of course troubles
for new users.


> In regard to windows, buffers and frames, we could have a mode of
> operation which ties each buffer to a one-window frame.  That would
> eliminate a lot of complexity.
>

Buffer is a new concept and it is fine. But "frames" and "windows" in Emacs
is of course confusing for beginners. More standard terms would be good for
them, I guess.


> We could even offer that as the mode of use for beginners, if that
> would make it easier for a new generation of hackers to become Emacs
> users.  I don't know whether it WOULD have that effect, but if it
> would, I think it is a good idea.
>
> A mode for beginners would be good, but the exact content of such a mode
is worth considering. As you know I did something like this in the EmacsW32
distribution for MS Windows (which I do not have time to maintain any more,
merging took me too much time since my addiitons took too long to be
accepted into Emacs).


> Do beginners typically run Emacs under a graphical window system?
>

Yes, of course.

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05 20:23               ` Richard Stallman
@ 2014-01-05 20:43                 ` Florian Weimer
  2014-01-06 14:00                   ` Richard Stallman
  0 siblings, 1 reply; 401+ messages in thread
From: Florian Weimer @ 2014-01-05 20:43 UTC (permalink / raw)
  To: rms; +Cc: esr, thierry.volpiatto, emacs-devel

* Richard Stallman:

>     > Our ChangeLog files are very useful in debugging.
>
>     Then you're not following the GNU Coding Standards. :-)
>
> There is no constructive point there, only an insult.

It was not intended as such, I'm sorry if it came across this way.

> If you have some constructive criticism, please state it clearly.

In particular, this advice does not make much sense to me:

| For changes to code, there’s no need to describe the full purpose of
| the changes or how they work together. If you think that a change
| calls for explanation, you’re probably right. Please do explain it—but
| please put the full explanation in comments in the code, where people
| will see it whenever they see the code. For example, “New function” is
| enough for the change log when you add a function, because there
| should be a comment before the function definition to explain what it
| does.

<http://www.gnu.org/prep/standards/html_node/Change-Log-Concepts.html>

I find this pretty strange because adding comments typically does not
make sense when one removes code (which sometimes needs *more*
explanation than adding code).  And when rearranging code, there is
often no single place to put a comment *why* this was done.

I never consult changelog files if I have the full VCS history.  In my
experience, grepping diffs, annotate/blame, or bisecting is more
helpful (assuming that I have a hunch history provides an explanation)
because the raw bits are usually less misleading, and the changelog
files are often deliberately devoid of any additional information.
The lisp/ changelog seems to deviate from this a bit, but there are
other GNU projects where the changelog rules are enforced through
review.



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

* Re: Apologia for bzr
  2014-01-05 20:20                         ` Richard Stallman
  2014-01-05 20:35                           ` Gabriel Beauchamp
  2014-01-05 20:41                           ` Lennart Borgman
@ 2014-01-05 20:56                           ` Eric S. Raymond
  2014-01-05 21:58                             ` Florian Weimer
                                               ` (3 more replies)
  2 siblings, 4 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-05 20:56 UTC (permalink / raw)
  To: Richard Stallman; +Cc: toby-dated-1389972095.0848dd, emacs-devel

Richard Stallman <rms@gnu.org>:
> In regard to windows, buffers and frames, we could have a mode of
> operation which ties each buffer to a one-window frame.  That would
> eliminate a lot of complexity.
> 
> We could even offer that as the mode of use for beginners, if that
> would make it easier for a new generation of hackers to become Emacs
> users.  I don't know whether it WOULD have that effect, but if it
> would, I think it is a good idea.

I'm somewhat doubtful this would be well-directed effort.  In my
experience, he complexity that beginners react badly to is not
multi-window/multi-buffer, it's 1,001 spiky keystroke sequences.
 
> Do beginners typically run Emacs under a graphical window system?

Yes.  It's actually pretty rare for even old-school types to run 
emacs in a hard or soft terminal these days; normally it is launched
from a window system.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: Apologia for bzr
  2014-01-05 20:41                           ` Lennart Borgman
@ 2014-01-05 21:31                             ` Tom
  2014-01-06 14:00                             ` Richard Stallman
  1 sibling, 0 replies; 401+ messages in thread
From: Tom @ 2014-01-05 21:31 UTC (permalink / raw)
  To: emacs-devel

Lennart Borgman <lennart.borgman <at> gmail.com> writes:
> 
> A mode for beginners would be good, but the exact content of such a mode is 
worth considering. 

There are various starter kits for beginners already, so there is
existing "research" in this direction. Here's a list of them:

http://ergoemacs.org/misc/list_of_emacs_starter_kits.html







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

* Re: Apologia for bzr
  2014-01-05 20:56                           ` Eric S. Raymond
@ 2014-01-05 21:58                             ` Florian Weimer
  2014-01-05 22:13                               ` chad
  2014-01-05 23:41                             ` James Cloos
                                               ` (2 subsequent siblings)
  3 siblings, 1 reply; 401+ messages in thread
From: Florian Weimer @ 2014-01-05 21:58 UTC (permalink / raw)
  To: esr; +Cc: toby-dated-1389972095.0848dd, Richard Stallman, emacs-devel

* Eric S. Raymond:

> Richard Stallman <rms@gnu.org>:
>> We could even offer that as the mode of use for beginners, if that
>> would make it easier for a new generation of hackers to become Emacs
>> users.  I don't know whether it WOULD have that effect, but if it
>> would, I think it is a good idea.
>
> I'm somewhat doubtful this would be well-directed effort.  In my
> experience, he complexity that beginners react badly to is not
> multi-window/multi-buffer, it's 1,001 spiky keystroke sequences.

Probably.  But exposing windows as tabs by default could be both
familiar and a bit helpful.  Relocating the modeline and minibuffer to
the top of the frame might increase familiarity as well.



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

* Re: Apologia for bzr
  2014-01-05 21:58                             ` Florian Weimer
@ 2014-01-05 22:13                               ` chad
  2014-01-05 22:25                                 ` Lennart Borgman
  2014-01-05 22:54                                 ` Stefan Monnier
  0 siblings, 2 replies; 401+ messages in thread
From: chad @ 2014-01-05 22:13 UTC (permalink / raw)
  To: Florian Weimer
  Cc: esr, toby-dated-1389972095.0848dd, Richard Stallman,
	EMACS development team

On 05 Jan 2014, at 13:58, Florian Weimer <fw@deneb.enyo.de> wrote:

> Probably.  But exposing windows as tabs by default could be both
> familiar and a bit helpful.  Relocating the modeline and minibuffer to
> the top of the frame might increase familiarity as well.

Windows as tabs by default would almost certainly improve familiarity by default. The problem with moving windows to tabs is that you need to treat ephemeral buffers differently - you don’t want completions or help hidden on another tab. If anyone is willing to cross the Rubicon, the various gui vim clients do a good job with this kind of tabs-and-windows.

On the other hand, I’ve showed emacs to a very large number of new college students over the years, both programmers and non. The keybindings are confusing to many people. People who accidentally split-window are very confused. Nobody was ever confused by the location of the modeline, and it’s normal for common apps like web browsers to have a “Status Bar” down there. 

~Chad


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

* Re: Apologia for bzr
  2014-01-05 22:13                               ` chad
@ 2014-01-05 22:25                                 ` Lennart Borgman
  2014-01-05 23:01                                   ` chad
  2014-01-05 22:54                                 ` Stefan Monnier
  1 sibling, 1 reply; 401+ messages in thread
From: Lennart Borgman @ 2014-01-05 22:25 UTC (permalink / raw)
  To: chad
  Cc: Eric Raymond, Florian Weimer, Toby Cubitt, Richard Stallman,
	EMACS development team

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

On Sun, Jan 5, 2014 at 11:13 PM, chad <yandros@gmail.com> wrote:

>
> Windows as tabs by default would almost certainly improve familiarity by
> default.
> The keybindings are confusing to many people. People who accidentally
> split-window are very confused.
>
> Tabs is a very good feature, but it can't replace "split windows". The
latter must be taught to beginners.

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

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

* Re: Apologia for bzr
  2014-01-05 22:13                               ` chad
  2014-01-05 22:25                                 ` Lennart Borgman
@ 2014-01-05 22:54                                 ` Stefan Monnier
  2014-01-06 14:09                                   ` Sivaram Neelakantan
  1 sibling, 1 reply; 401+ messages in thread
From: Stefan Monnier @ 2014-01-05 22:54 UTC (permalink / raw)
  To: chad
  Cc: esr, Florian Weimer, toby-dated-1389972095.0848dd,
	Richard Stallman, EMACS development team

> On the other hand, I’ve showed emacs to a very large number of new college
> students over the years, both programmers and non.  The keybindings are
> confusing to many people. People who accidentally split-window are very
> confused.  Nobody was ever confused by the location of the modeline, and it’s
> normal for common apps like web browsers to have a “Status Bar” down there. 

That corresponds to my experience.  The main sources of trouble, AFAICT are:
- window management:
  - how to get rid of a window (e.g. when *Help* introduced a split).
  - how to get back to a buffer that was somehow buried.
- keybindings like C-a, C-x, C-c, C-v
- naming (things like windows, frames, kill, yank).


        Stefan



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

* Re: Apologia for bzr
  2014-01-05 22:25                                 ` Lennart Borgman
@ 2014-01-05 23:01                                   ` chad
  2014-01-06  2:32                                     ` Lennart Borgman
  0 siblings, 1 reply; 401+ messages in thread
From: chad @ 2014-01-05 23:01 UTC (permalink / raw)
  To: Lennart Borgman
  Cc: Eric Raymond, Florian Weimer, Toby Cubitt, Richard Stallman,
	EMACS development team

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


On 05 Jan 2014, at 14:25, Lennart Borgman <lennart.borgman@gmail.com> wrote:

> On Sun, Jan 5, 2014 at 11:13 PM, chad <yandros@gmail.com> wrote:
> 
> Windows as tabs by default would almost certainly improve familiarity by default. 
> The keybindings are confusing to many people. People who accidentally split-window are very confused.
> 
> Tabs is a very good feature, but it can't replace "split windows". The latter must be taught to beginners. 

As stated, I disagree (and this is coming from a person who lived inside emacs-as-window-system for most of a year). It might come from seeing dozens (maybe hundreds) of smart people decide that “Quit Emacs” was the best way to accomplish what I would do with "C-x 1”, and that was before tabs.

I think that *help* and *completions* can teach beginners about split windows just fine, and from there they can learn about split-window-{below,right}, winner/windmove, pop-up-windows, frames, and tabs as fits their preferences.

All that’s IMHO, of course.

~Chad

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

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

* Re: CUA mode???
  2014-01-04 23:38                                 ` Lennart Borgman
@ 2014-01-05 23:15                                   ` Xue Fuqiao
  2014-01-06  1:34                                     ` Lennart Borgman
  0 siblings, 1 reply; 401+ messages in thread
From: Xue Fuqiao @ 2014-01-05 23:15 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: Emacs-Devel devel, Joshua Judson Rosen

On Sun, Jan 5, 2014 at 7:38 AM, Lennart Borgman
<lennart.borgman@gmail.com> wrote:
>> Also, didn't cua-mode already `fix' this:
>>
>> http://www.gnu.org/software/emacs/manual/html_node/emacs/CUA-Bindings.html
>>
>> Though that brings me to something that's been bugging me since someone
>> first told me (last year) that cua-mode had actually gone into emacs:
>> my recollection from the early 1990s was that the CUA keystrokes for
>> cut, copy, and paste were *not* C-x, C-c, and C-v; but rather
>> S-delete, C-insert, and S-insert (respectively). These were the
>> keystrokes that I remember using in Windows at the time, and
>> what I've also been using in Emacs and other applications in X11
>> since about that time, and even what I used in applications on
>> Mac OS X when I needed to use it just a couple of years ago.
>>
>> Wikipedia seems to agree with my memory rather than what's in the Emacs
>> manual:
>>
>>     https://en.wikipedia.org/wiki/Common_User_Access
>>
>> Did the CUA spec actually change to use C-x, C-c, C-v at some point, or
>> is Emacs cua-mode mistaken about which standard it's implementing?
>
> Ah, so you mean that cua-mode was also badly named in Emacs in should be
> renamed? ;-)

Eli said that there's more than one interpretation of CUA:
http://lists.gnu.org/archive/html/help-gnu-emacs/2013-04/msg00499.html

-- 
http://www.gnu.org/software/emacs/



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

* Re: Apologia for bzr
  2014-01-05 20:56                           ` Eric S. Raymond
  2014-01-05 21:58                             ` Florian Weimer
@ 2014-01-05 23:41                             ` James Cloos
  2014-01-06  0:27                               ` Karl Fogel
                                                 ` (2 more replies)
  2014-01-06 18:47                             ` Eric Brown
  2014-01-09 20:30                             ` Rogerio Senna
  3 siblings, 3 replies; 401+ messages in thread
From: James Cloos @ 2014-01-05 23:41 UTC (permalink / raw)
  To: Eric S. Raymond
  Cc: toby-dated-1389972095.0848dd, Richard Stallman, emacs-devel

>>>>> "ESR" == Eric S Raymond <esr@thyrsus.com> writes:

ESR> Yes.  It's actually pretty rare for even old-school types to run
ESR> emacs in a hard or soft terminal these days; normally it is
ESR> launched from a window system.

Except when using emacs on a remote server.

Emacs in a terminal emulator is often superior to gui-emacs with the X
protocol tunneled over ssh.

I just tried the latter (using lucid; gtk is known to be especially
awful over tcp) and it took (in fact is taking) minutes to get the
initial frame up and responsive.

-JimC
--
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6





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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05 20:20               ` Richard Stallman
@ 2014-01-05 23:58                 ` David Kastrup
  2014-01-06  0:26                   ` Glenn Morris
  2014-01-06  3:59                 ` Stephen J. Turnbull
  2014-01-06  6:58                 ` Bastien
  2 siblings, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-05 23:58 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. ]]]
>
>     The question is whether we should edit them separately
>     from the commit messages, or if we should produce them
>     by (programmatically) extracting them from the commit
>     messages.
>
> I think it is best for commit messages to be brief high-level 
> summaries of the changes, and put the details only in ChangeLog.
> I think that these two forms of desription complement each other
> and that it is useful to have both available.

Git treats the first line of a commit message specifically as a summary.
When formatting a commit for mailing, this line is used as the subject
of the mail while the rest of the commit message appears in the mail
body.

This inherent subdivision of commit messages maps well enough to the GNU
subdivision of complementing summary/detail that it becomes mostly
pointless in practice to maintain a separate file for storing this
information.

-- 
David Kastrup




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05 23:58                 ` David Kastrup
@ 2014-01-06  0:26                   ` Glenn Morris
  2014-01-06  3:47                     ` Stefan Monnier
  0 siblings, 1 reply; 401+ messages in thread
From: Glenn Morris @ 2014-01-06  0:26 UTC (permalink / raw)
  To: emacs-devel

David Kastrup wrote:

> Git treats the first line of a commit message specifically as a summary.
> When formatting a commit for mailing, this line is used as the subject
> of the mail

That would be nice. Please fix the emacs-elpa-diffs list accordingly:

http://lists.gnu.org/archive/html/emacs-elpa-diffs/2013-12/index.html

Because currently I find it less useful than it was under bzr.



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

* Re: Apologia for bzr
  2014-01-05 23:41                             ` James Cloos
@ 2014-01-06  0:27                               ` Karl Fogel
  2014-01-06  0:35                               ` Eric S. Raymond
  2014-01-06  0:45                               ` David Kastrup
  2 siblings, 0 replies; 401+ messages in thread
From: Karl Fogel @ 2014-01-06  0:27 UTC (permalink / raw)
  To: James Cloos
  Cc: Eric S. Raymond, toby-dated-1389972095.0848dd, Richard Stallman,
	emacs-devel

James Cloos <cloos@jhcloos.com> writes:
>>>>>> "ESR" == Eric S Raymond <esr@thyrsus.com> writes:
>ESR> Yes.  It's actually pretty rare for even old-school types to run
>ESR> emacs in a hard or soft terminal these days; normally it is
>ESR> launched from a window system.
>
>Except when using emacs on a remote server.

FWIW, I do this (appx) daily, as do many admins I know.

>Emacs in a terminal emulator is often superior to gui-emacs with the X
>protocol tunneled over ssh.

Ezzactly :-).



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

* Re: Apologia for bzr
  2014-01-05 23:41                             ` James Cloos
  2014-01-06  0:27                               ` Karl Fogel
@ 2014-01-06  0:35                               ` Eric S. Raymond
  2014-01-06  0:45                               ` David Kastrup
  2 siblings, 0 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-06  0:35 UTC (permalink / raw)
  To: James Cloos; +Cc: toby-dated-1389972095.0848dd, Richard Stallman, emacs-devel

James Cloos <cloos@jhcloos.com>:
> >>>>> "ESR" == Eric S Raymond <esr@thyrsus.com> writes:
> 
> ESR> Yes.  It's actually pretty rare for even old-school types to run
> ESR> emacs in a hard or soft terminal these days; normally it is
> ESR> launched from a window system.
> 
> Except when using emacs on a remote server.

Agreed.  That's the same exception case I was thinking of.  Happens
to me maybe twice a year.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: Apologia for bzr
  2014-01-05 23:41                             ` James Cloos
  2014-01-06  0:27                               ` Karl Fogel
  2014-01-06  0:35                               ` Eric S. Raymond
@ 2014-01-06  0:45                               ` David Kastrup
  2014-01-06  1:52                                 ` Eric Brown
                                                   ` (2 more replies)
  2 siblings, 3 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-06  0:45 UTC (permalink / raw)
  To: emacs-devel

James Cloos <cloos@jhcloos.com> writes:

>>>>>> "ESR" == Eric S Raymond <esr@thyrsus.com> writes:
>
> ESR> Yes.  It's actually pretty rare for even old-school types to run
> ESR> emacs in a hard or soft terminal these days; normally it is
> ESR> launched from a window system.
>
> Except when using emacs on a remote server.
>
> Emacs in a terminal emulator is often superior to gui-emacs with the X
> protocol tunneled over ssh.

Why would you do that?

It's so much easier and faster to just do

C-x C-f /ssh:user@hostname.netword:myfile.c RET

and you don't even need an Emacs on the other end of the connection.
Similarly for editing things like

C-x C-f /sudo::/etc/fstab RET

-- 
David Kastrup




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

* Re: CUA mode???
  2014-01-05 23:15                                   ` Xue Fuqiao
@ 2014-01-06  1:34                                     ` Lennart Borgman
  0 siblings, 0 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-06  1:34 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: Emacs-Devel devel, Joshua Judson Rosen

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

On Mon, Jan 6, 2014 at 12:15 AM, Xue Fuqiao <xfq.free@gmail.com> wrote:

> On Sun, Jan 5, 2014 at 7:38 AM, Lennart Borgman
> <lennart.borgman@gmail.com> wrote:
> >> Also, didn't cua-mode already `fix' this:
> >>
> >>
> http://www.gnu.org/software/emacs/manual/html_node/emacs/CUA-Bindings.html
> >>
> >> Though that brings me to something that's been bugging me since someone
> >> first told me (last year) that cua-mode had actually gone into emacs:
> >> my recollection from the early 1990s was that the CUA keystrokes for
> >> cut, copy, and paste were *not* C-x, C-c, and C-v; but rather
> >> S-delete, C-insert, and S-insert (respectively). These were the
> >> keystrokes that I remember using in Windows at the time, and
> >> what I've also been using in Emacs and other applications in X11
> >> since about that time, and even what I used in applications on
> >> Mac OS X when I needed to use it just a couple of years ago.
> >>
> >> Wikipedia seems to agree with my memory rather than what's in the Emacs
> >> manual:
> >>
> >>     https://en.wikipedia.org/wiki/Common_User_Access
> >>
> >> Did the CUA spec actually change to use C-x, C-c, C-v at some point, or
> >> is Emacs cua-mode mistaken about which standard it's implementing?
> >
> > Ah, so you mean that cua-mode was also badly named in Emacs in should be
> > renamed? ;-)
>
> Eli said that there's more than one interpretation of CUA:
> http://lists.gnu.org/archive/html/help-gnu-emacs/2013-04/msg00499.html
>
> --
> http://www.gnu.org/software/emacs/
>

Yes, but here is the important point from that page:

"The subset of CUA implemented in Microsoft
Windows<http://en.wikipedia.org/wiki/Microsoft_Windows>
 or OSF/Motif <http://en.wikipedia.org/wiki/Motif_(software)> is generally
considered a de facto standard to be followed by any new Unix GUI
environment."

Using the Alt+underlined letter to open a menu is still a problem in Emacs.
(I have, or had, a patch for that, but it was never accepted.)

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

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

* Re: Apologia for bzr
  2014-01-06  0:45                               ` David Kastrup
@ 2014-01-06  1:52                                 ` Eric Brown
  2014-01-06  2:08                                   ` David Kastrup
  2014-01-06  4:27                                 ` Yuri Khan
  2014-01-06 15:40                                 ` James Cloos
  2 siblings, 1 reply; 401+ messages in thread
From: Eric Brown @ 2014-01-06  1:52 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

David Kastrup <dak@gnu.org> writes:

> Why would you do that?
>
> It's so much easier and faster to just do
>
> C-x C-f /ssh:user@hostname.netword:myfile.c RET
>
> and you don't even need an Emacs on the other end of the connection.
> Similarly for editing things like
>
> C-x C-f /sudo::/etc/fstab RET

As an example of where this does not work, I must use Citrix software to
connect the my server.  Unfortunately, I do not have direct ssh access.

Also, does this transfer the file to a local temporary directory?  If
the edited files are large/manifold, this could be a problem.

(Citrix is mandated by my employer, and its unlikely they will be
moved to change. I'm grateful that I can access free software albeit via
this proprietary mechanism.)



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

* Re: Apologia for bzr
  2014-01-06  1:52                                 ` Eric Brown
@ 2014-01-06  2:08                                   ` David Kastrup
  0 siblings, 0 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-06  2:08 UTC (permalink / raw)
  To: Eric Brown; +Cc: emacs-devel

Eric Brown <eric.c.brown@mac.com> writes:

> David Kastrup <dak@gnu.org> writes:
>
>> Why would you do that?
>>
>> It's so much easier and faster to just do
>>
>> C-x C-f /ssh:user@hostname.netword:myfile.c RET
>>
>> and you don't even need an Emacs on the other end of the connection.
>> Similarly for editing things like
>>
>> C-x C-f /sudo::/etc/fstab RET
>
> As an example of where this does not work, I must use Citrix software to
> connect the my server.  Unfortunately, I do not have direct ssh access.

Tramp can be configured to use a lot of different transfer methods.  As
long as you have any kind of remote shell access...

> Also, does this transfer the file to a local temporary directory?  If
> the edited files are large/manifold, this could be a problem.

If bandwidth is scarce, a transparent X session will be awful too.

-- 
David Kastrup



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

* Re: Apologia for bzr
  2014-01-05 23:01                                   ` chad
@ 2014-01-06  2:32                                     ` Lennart Borgman
  0 siblings, 0 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-06  2:32 UTC (permalink / raw)
  To: chad
  Cc: Eric Raymond, Florian Weimer, Toby Cubitt, Richard Stallman,
	EMACS development team

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

On Mon, Jan 6, 2014 at 12:01 AM, chad <yandros@gmail.com> wrote:

>
> On 05 Jan 2014, at 14:25, Lennart Borgman <lennart.borgman@gmail.com>
> wrote:
>
> On Sun, Jan 5, 2014 at 11:13 PM, chad <yandros@gmail.com> wrote:
>
>>
>> Windows as tabs by default would almost certainly improve familiarity by
>> default.
>> The keybindings are confusing to many people. People who accidentally
>> split-window are very confused.
>>
>> Tabs is a very good feature, but it can't replace "split windows". The
> latter must be taught to beginners.
>
>
> As stated, I disagree (and this is coming from a person who lived inside
> emacs-as-window-system for most of a year). It might come from seeing
> dozens (maybe hundreds) of smart people decide that “Quit Emacs” was the
> best way to accomplish what I would do with "C-x 1”, and that was before
> tabs.
>
> I think that *help* and *completions* can teach beginners about split
> windows just fine, and from there they can learn about
> split-window-{below,right}, winner/windmove, pop-up-windows, frames, and
> tabs as fits their preferences.
>
> All that’s IMHO, of course.
>


Eh, I do not think we disagree. ;-)
I just misread you. I thought you said split windows should be replaced by
tabs. Sorry.

I think your suggestion is fine.

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05 16:35                     ` Eli Zaretskii
@ 2014-01-06  3:40                       ` Stephen J. Turnbull
  0 siblings, 0 replies; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-06  3:40 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Stromeko, monnier, emacs-devel

Eli Zaretskii writes:
 > > From: "Stephen J. Turnbull" <stephen@xemacs.org>
 > > Date: Sun, 05 Jan 2014 17:34:47 +0900
 > > Cc: Achim Gratz <Stromeko@nexgo.de>, emacs-devel@gnu.org
 > > 
 > >  > - How to do C-x 4 a when there's no ChangeLog file?
 > > 
 > > ln -s $PROJECT_ROOT/.tmp_commit_log $PROJECT_ROOT/ChangeLog
 > > 
 > > works for me in private projects.
 > 
 > I don't understand why you need the symlink.  Why not let Emacs create
 > ChangeLog, then delete it when the commit is done?

IIRC, it was as a marker, I only wanted one of them, and didn't feel
like debugging logic to find the project root by other means.

The point in mentioning it here is that there are trivial hacks that
don't require any changes to add-change-log-entry.

 > Or use any other file name (if you don't want to see ChangeLog for
 > some reason): the Change Log mode can be turned on in any file,
 > regardless of its name.

As above, it was important (maybe only to my paranoia) that ChangeLog
be present in the directory but not be a readable file.

 > For that matter, why not reuse .git/COMMIT_EDITMSG?

Caution.  Who knows what else git might be using it for?  Or maybe I
just didn't know that was the name of the editmsg file at that time --
it was a long time ago.










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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05 17:23                     ` Stefan Monnier
@ 2014-01-06  3:44                       ` Stephen J. Turnbull
  2014-01-06  4:32                         ` Stefan Monnier
  0 siblings, 1 reply; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-06  3:44 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Achim Gratz, emacs-devel

Stefan Monnier writes:
 > >> - How to do C-x 4 a when there's no ChangeLog file?
 > > ln -s $PROJECT_ROOT/.tmp_commit_log $PROJECT_ROOT/ChangeLog

 > Right, that's the kind of direction I'd like to go.  But this
 > .tmp_commit_log file seems to be a personal convention, so making `C-x
 > 4 a' use such a thing by default is more difficult.

C-x 4 a doesn't know about .tmp_commit_log, that's the point of the
symlink.  It just does what it always does.

I don't see why this can't be a project convention, perhaps using
.git/GIT_EDITMSG as Eli suggests.






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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-06  0:26                   ` Glenn Morris
@ 2014-01-06  3:47                     ` Stefan Monnier
  0 siblings, 0 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-06  3:47 UTC (permalink / raw)
  To: Glenn Morris; +Cc: emacs-devel

>> Git treats the first line of a commit message specifically as a summary.
>> When formatting a commit for mailing, this line is used as the subject
>> of the mail
> That would be nice. Please fix the emacs-elpa-diffs list accordingly:
> http://lists.gnu.org/archive/html/emacs-elpa-diffs/2013-12/index.html

Yes, please.

> Because currently I find it less useful than it was under bzr.

Quite!


        Stefan



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05 20:20               ` Richard Stallman
  2014-01-05 23:58                 ` David Kastrup
@ 2014-01-06  3:59                 ` Stephen J. Turnbull
  2014-01-06  6:58                 ` Bastien
  2 siblings, 0 replies; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-06  3:59 UTC (permalink / raw)
  To: rms; +Cc: Bastien, esr, emacs-devel, thierry.volpiatto

Richard Stallman writes:

 > I think it is best for commit messages to be brief high-level 
 > summaries of the changes, and put the details only in ChangeLog.

This violates the "don't repeat yourself" principle to some extent,
and conflicts with habits formed in other projects.  Some projects
don't have ChangeLogs (or don't bother about commit messages, but
that's very rare), so the preferred format gets all data, usually with
some convention about a single line that *identifies* the commit, but
may not be a full "executive summary".  (For those who know Darcs,
think "patch name".)

I also get the feeling that a lot of committers feel that they receive
ambiguous, even conflicting, advice about commit message and ChangeLog
entries (eg, "follow the GNU Coding Standard" vs. "here's how you
should do it" if Florian's characterization is correct).

 > I think that these two forms of desription complement each other
 > and that it is useful to have both available.

There's absolutely no reason why both can't be in a single "place".
The implementation in commit messages could be done via a VCS feature
like "git notes" (resp, a special log formatter -- Jordi says
Mercurial has a whole template language that can be used in logs), so
you don't see the detail unless you ask for notes (resp, the verbose
form).  It could be done via a log-viewer Emacs mode.

But as Eric says, this is not the thread to discuss that, because it
changes workflow.




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

* Re: Apologia for bzr
  2014-01-05 20:35                           ` Gabriel Beauchamp
@ 2014-01-06  4:07                             ` Yuri Khan
  0 siblings, 0 replies; 401+ messages in thread
From: Yuri Khan @ 2014-01-06  4:07 UTC (permalink / raw)
  To: Gabriel Beauchamp
  Cc: Eric Raymond, toby-dated-1389972095.0848dd, rms, Emacs developers

On Mon, Jan 6, 2014 at 3:35 AM, Gabriel Beauchamp
<beauchampgabriel@gmail.com> wrote:
> As still quite beginner myself, I used Emacs in a term for a while, but
> now mainly with a graphical environment. And I have only one frame
> up. And I don't see the point (at least for me) to have more than one
> frame.

One starts wanting a second frame as soon as one gets a second monitor.



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

* Re: Apologia for bzr
  2014-01-06  0:45                               ` David Kastrup
  2014-01-06  1:52                                 ` Eric Brown
@ 2014-01-06  4:27                                 ` Yuri Khan
  2014-01-06  7:18                                   ` Michael Albinus
  2014-01-06  7:32                                   ` chad
  2014-01-06 15:40                                 ` James Cloos
  2 siblings, 2 replies; 401+ messages in thread
From: Yuri Khan @ 2014-01-06  4:27 UTC (permalink / raw)
  To: David Kastrup; +Cc: Emacs developers

On Mon, Jan 6, 2014 at 7:45 AM, David Kastrup <dak@gnu.org> wrote:
> James Cloos <cloos@jhcloos.com> writes:
>>
>> Emacs in a terminal emulator is often superior to gui-emacs with the X
>> protocol tunneled over ssh.
>
> Why would you do that?
>
> It's so much easier and faster to just [use TRAMP]

Because workflow.

You ssh into a remote server, perhaps with a need to investigate a
problem. You see the process list; a critical service process is dead.
You read some logs (probably with tail and/or less); they are not
detailed enough. You try to restart the service, but it still dies
soon and logs are still not detailed enough for you to understand what
is happening.

At this point, the natural next thing is to say “editor
/etc/foo/bar.conf” to raise the logging level a bit. But this fires up
the default editor at the remote server, not a TRAMP editing session
on your local Emacs.

Or you have to switch to a different application (from terminal
emulator to Emacs), and then press C-x C-f, and then type out that
whole remote path, and possibly enter your password again.


Maybe you have a solution to this issue? What incantation on the
remote server do I need to invoke in order to edit a remote file,
specified by its remote path (absolute or relative to the remote
current directory), in a local Emacs via TRAMP? What non-default setup
will be needed on the remote and/or local? (E.g. run Emacs server on
local/tcp and tunnel the server port to the remote, then use remote
emacsclient? Will it be secure against concurrent other users of the
same remote?)



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-06  3:44                       ` Stephen J. Turnbull
@ 2014-01-06  4:32                         ` Stefan Monnier
  2014-01-06  7:10                           ` Stephen J. Turnbull
  0 siblings, 1 reply; 401+ messages in thread
From: Stefan Monnier @ 2014-01-06  4:32 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Achim Gratz, emacs-devel

> I don't see why this can't be a project convention, perhaps using
> .git/GIT_EDITMSG as Eli suggests.

I'd like Emacs to support it for all projects.


        Stefan



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05 20:20               ` Richard Stallman
  2014-01-05 23:58                 ` David Kastrup
  2014-01-06  3:59                 ` Stephen J. Turnbull
@ 2014-01-06  6:58                 ` Bastien
  2 siblings, 0 replies; 401+ messages in thread
From: Bastien @ 2014-01-06  6:58 UTC (permalink / raw)
  To: Richard Stallman; +Cc: esr, thierry.volpiatto, 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. ]]]
>
>     The question is whether we should edit them separately
>     from the commit messages, or if we should produce them
>     by (programmatically) extracting them from the commit
>     messages.
>
> I think it is best for commit messages to be brief high-level 
> summaries of the changes, and put the details only in ChangeLog.
> I think that these two forms of desription complement each other
> and that it is useful to have both available.

FWIW, I fully agree.

-- 
 Bastien



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-06  4:32                         ` Stefan Monnier
@ 2014-01-06  7:10                           ` Stephen J. Turnbull
  2014-01-06 14:53                             ` Stefan Monnier
  0 siblings, 1 reply; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-06  7:10 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Achim Gratz, emacs-devel

Stefan Monnier writes:
 > > I don't see why this can't be a project convention, perhaps using
 > > .git/GIT_EDITMSG as Eli suggests.
 > 
 > I'd like Emacs to support it for all projects.

And?  I don't see a problem:

  (setq vc-message-file (format (vc-message-file-fmt vc-backend)
                                project-root))

with the "obvious" (== I'm in a hurry, ask me if not) semantics for
`vc-message-file' and `vc-message-file-fmt' (and don't shoot me if
there are obviously better ways to implement it in vc.el or
add-log.el, just do it! ;-)




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

* Re: Apologia for bzr
  2014-01-06  4:27                                 ` Yuri Khan
@ 2014-01-06  7:18                                   ` Michael Albinus
  2014-01-06  7:32                                   ` chad
  1 sibling, 0 replies; 401+ messages in thread
From: Michael Albinus @ 2014-01-06  7:18 UTC (permalink / raw)
  To: Yuri Khan; +Cc: David Kastrup, Emacs developers

Yuri Khan <yuri.v.khan@gmail.com> writes:

> Because workflow.
>
> You ssh into a remote server, perhaps with a need to investigate a
> problem. You see the process list; a critical service process is dead.
> You read some logs (probably with tail and/or less); they are not
> detailed enough. You try to restart the service, but it still dies
> soon and logs are still not detailed enough for you to understand what
> is happening.
>
> At this point, the natural next thing is to say “editor
> /etc/foo/bar.conf” to raise the logging level a bit. But this fires up
> the default editor at the remote server, not a TRAMP editing session
> on your local Emacs.
>
> Or you have to switch to a different application (from terminal
> emulator to Emacs), and then press C-x C-f, and then type out that
> whole remote path, and possibly enter your password again.
>
>
> Maybe you have a solution to this issue? What incantation on the
> remote server do I need to invoke in order to edit a remote file,
> specified by its remote path (absolute or relative to the remote
> current directory), in a local Emacs via TRAMP? What non-default setup
> will be needed on the remote and/or local? (E.g. run Emacs server on
> local/tcp and tunnel the server port to the remote, then use remote
> emacsclient? Will it be secure against concurrent other users of the
> same remote?)

Using Tramp in this workflow makes sense if your primary investigations
are already performed inside Emacs, using `M-x shell' or `M-x eshell'.

Reading a log tail-wise is possible with `M-x auto-revert-tail-mode'.

That's what I do daily, but maybe I'm biased in favor of Tramp.

Best regards, Michael.



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

* Re: Apologia for bzr
  2014-01-06  4:27                                 ` Yuri Khan
  2014-01-06  7:18                                   ` Michael Albinus
@ 2014-01-06  7:32                                   ` chad
  1 sibling, 0 replies; 401+ messages in thread
From: chad @ 2014-01-06  7:32 UTC (permalink / raw)
  To: Yuri Khan; +Cc: Emacs developers

On 05 Jan 2014, at 20:27, Yuri Khan <yuri.v.khan@gmail.com> wrote:

> On Mon, Jan 6, 2014 at 7:45 AM, David Kastrup <dak@gnu.org> wrote:
>> James Cloos <cloos@jhcloos.com> writes:
>>> 
>>> Emacs in a terminal emulator is often superior to gui-emacs with the X
>>> protocol tunneled over ssh.
>> 
>> Why would you do that?
>> 
>> It's so much easier and faster to just [use TRAMP]
> 
> Because workflow.

Thats what leads emacs users to Tramp, also: emacs users tend to
do everything in emacs (until gnus/etc freeze emacs while updating,
at which point they tend to:

	Get annoyed.
	Think about adding threading/coroutines/etc to elisp.
	Start a second emacs.
	Get something to drink.

Its quite common to choose more than one at a time, of course.

More seriously, tramp users would probably be sshing in from within
emacs, and even if they didnt for some reason, theyre first instinct
to edit is switch to emacs and, not start an editor. Ive seen people
make emacsclient work in that situation, but I dunno what the current
state of the art is.

At the end of the day, though, Ive frequently been glad that emacs
works well in a terminal, and a limited remote link is the major
reason. I doubt its going away any time soon.

~Chad





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

* Re: "No safeguard against rewriting upstream bzr history"
  2014-01-05 18:38         ` Wolfgang Jenkner
@ 2014-01-06  9:00           ` Thien-Thi Nguyen
  0 siblings, 0 replies; 401+ messages in thread
From: Thien-Thi Nguyen @ 2014-01-06  9:00 UTC (permalink / raw)
  To: emacs-devel; +Cc: Felipe Contreras Garza


[-- Attachment #1.1: Type: text/plain, Size: 609 bytes --]

() Wolfgang Jenkner <wjenkner@inode.at>
() Sun, 05 Jan 2014 19:38:18 +0100

   So part of the bzrlib safeguard against rewriting history is actually
   in one of the callees of generate_revision_history, while
   git-remote-bzr seems to assume that it is all in push_branch.

Given that the Emacs repo does indeed have that configuration variable
set, sounds like the situation is not actually critical.  Cool.

Nobody has confirmed the sanity check, but w/ this safeguard in place, i
suppose that won't be necessary.  Full speed ahead...

BTW, here is a small patch that makes git-remote-bzr better-behaved:

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: git-remote-bzr.diff --]
[-- Type: text/x-diff, Size: 1164 bytes --]

diff -u /etc/alternatives/ /tmp/git-remote-bzr
--- /etc/alternatives/git-remote-bzr	2013-12-07 00:20:48.000000000 +0100
+++ /tmp/git-remote-bzr	2014-01-06 09:18:59.000000000 +0100
@@ -679,7 +679,21 @@
         if ref.startswith('refs/heads/'):
             name = ref[len('refs/heads/'):]
             branch = get_remote_branch(name)
-            branch.generate_revision_history(revid, marks.get_tip(name))
+
+            # This alone is not sufficient:
+            #- branch.generate_revision_history(revid, marks.get_tip(name))
+            #
+            # Instead, we need to also handle the situation
+            # where the remote branch is configured with:
+            #   append_revisions_only = True
+            #
+            # TODO: Refactor the "error message and continue".
+
+            try:
+                branch.generate_revision_history(revid, marks.get_tip(name))
+            except bzrlib.errors.AppendRevisionsOnlyViolation:
+                print "error %s non-fast forward" % ref
+                continue
 
             if name in peers:
                 peer = bzrlib.branch.Branch.open(peers[name],



[-- Attachment #1.3: Type: text/plain, Size: 351 bytes --]

I haven't tested it (yet), but anyway hope it, or its essence, can be
incorporated into the next git-remote-bzr release.

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: Apologia for bzr
  2014-01-05 20:41                           ` Lennart Borgman
  2014-01-05 21:31                             ` Tom
@ 2014-01-06 14:00                             ` Richard Stallman
  2014-01-06 14:29                               ` Lennart Borgman
                                                 ` (2 more replies)
  1 sibling, 3 replies; 401+ messages in thread
From: Richard Stallman @ 2014-01-06 14:00 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: esr, toby-dated-1389972095.0848dd, 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 "frames" and "windows" in Emacs
    is of course confusing for beginners. More standard terms would be good for
    them, I guess.

What is the standard term for what we call windows 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] 401+ messages in thread

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-05 20:43                 ` Florian Weimer
@ 2014-01-06 14:00                   ` Richard Stallman
  2014-01-06 14:53                     ` David Kastrup
  0 siblings, 1 reply; 401+ messages in thread
From: Richard Stallman @ 2014-01-06 14:00 UTC (permalink / raw)
  To: Florian Weimer; +Cc: esr, thierry.volpiatto, 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 find this pretty strange because adding comments typically does not
    make sense when one removes code (which sometimes needs *more*
    explanation than adding code).  And when rearranging code, there is
    often no single place to put a comment *why* this was done.

I find there is generally some place in the source file where
the explanation belongs.  It can be in some related place in the code,
someplace where people will see it when it is relevant.

But why not put it in ChangeLog?  It wouldn't be horrible to put it
there, from time to time.  But preferably not often.

One ChangeLog file covers many source files, and if we generally put
the explanations in ChangeLog, it would become cumbersome.  So it is
better to put those explanations in the source code.

Also, most often an explanation is directly relevant to existing code,
and the best way to make sure people see it is to put it there.

    I never consult changelog files if I have the full VCS history.

I do.  I use the ChangeLog files to see what changes affected
a certain function.  Then I use VC history to look at the changes
that are relevant to the issue.

-- 
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] 401+ messages in thread

* Re: Apologia for bzr
  2014-01-05 22:54                                 ` Stefan Monnier
@ 2014-01-06 14:09                                   ` Sivaram Neelakantan
  2014-01-06 14:54                                     ` David Kastrup
                                                       ` (2 more replies)
  0 siblings, 3 replies; 401+ messages in thread
From: Sivaram Neelakantan @ 2014-01-06 14:09 UTC (permalink / raw)
  To: emacs-devel

On Mon, Jan 06 2014,Stefan Monnier wrote:

>> On the other hand, I’ve showed emacs to a very large number of new college
>> students over the years, both programmers and non.  The keybindings are
>> confusing to many people. People who accidentally split-window are very
>> confused.  Nobody was ever confused by the location of the modeline, and it’s
>> normal for common apps like web browsers to have a “Status Bar” down there. 
>
> That corresponds to my experience.  The main sources of trouble, AFAICT are:
> - window management:
>   - how to get rid of a window (e.g. when *Help* introduced a split).
>   - how to get back to a buffer that was somehow buried.
> - keybindings like C-a, C-x, C-c, C-v
> - naming (things like windows, frames, kill, yank).
>

Speaking as an Emacs user,  I don't understand this line of
reasoning.  The same logic above could be applied to vi/vim, any
programming language at all.  I ran into the same issues above and I
got help from this list or from the docs and even rereading the
tutorial.  What's the issue with new users nowadays?  All the
definitions are there in the manual...erm...somewhere but there.

Back in high school in India, I took French as an optional language to
learn.  Flunked badly.  And my teacher had only one thing to say to me

"Stop thinking in your native language when learning another language"

which I think is the only way to gain a reasonable fluency in using
Emacs i.e. learn Emacs concepts/terminology before proceeding.  And
the Tutorial is more than adequate for the purpose.


 sivaram
 -- 




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

* Re: Apologia for bzr
  2014-01-06 14:00                             ` Richard Stallman
@ 2014-01-06 14:29                               ` Lennart Borgman
  2014-01-06 15:14                                 ` John Yates
                                                   ` (3 more replies)
  2014-01-06 14:55                               ` Stefan Monnier
  2014-01-07  5:58                               ` Christophe Poncy
  2 siblings, 4 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-06 14:29 UTC (permalink / raw)
  To: Richard M. Stallman; +Cc: Eric Raymond, Toby Cubitt, Emacs-Devel devel

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

On Mon, Jan 6, 2014 at 3:00 PM, Richard Stallman <rms@gnu.org> wrote:

> [[[ 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 "frames" and "windows" in Emacs
>     is of course confusing for beginners. More standard terms would be
> good for
>     them, I guess.
>
> What is the standard term for what we call windows in Emacs?
>
>
> Probably this: http://en.wikipedia.org/wiki/Paned_window

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-06 14:00                   ` Richard Stallman
@ 2014-01-06 14:53                     ` David Kastrup
  2014-01-06 16:09                       ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-06 14:53 UTC (permalink / raw)
  To: emacs-devel

Richard Stallman <rms@gnu.org> writes:

>     I never consult changelog files if I have the full VCS history.
>
> I do.  I use the ChangeLog files to see what changes affected a
> certain function.

I tend to use C-x v g for that (it maps to git blame).  Its drawback is
that it also reflects whitespace changes, but then it's easy to navigate
across them with the proper keybindings (usually A) until finding the
change one is looking for, then getting the corresponding log with l.

> Then I use VC history to look at the changes that are relevant to the
> issue.

I'm not saying that this is an "invalid" workflow.  However, the generic
VC support of Emacs allows, when coupled with a version control system
that is reasonably fast, to use alternate workflows that do not suffer
from significant drawbacks compared to the benefits from not having to
maintain manual ChangeLog files separately.

This is not specific to Git (actually, it was already available in CVS).
What is noticeable, however, is that Git's performance does not make
this a waiting game, and that Git is often able to track the origin of
lines even when material was rearranged beyond the renaming of files.

Git offers several options for the amount of history searching it should
perform: what is intransparent is just which options vc.el happens to be
using and how one can change them in case something goes wrong.

In general, it's more often than not the case that Git finds out more
than one expected, but when the reverse happens, vc-git does not make it
easily discoverable how one can tell Git to search more thoroughly.

I digress: what I wanted to say is that one gets a few tools (and with
an Emacs interface) that work reasonably well for addressing most of the
tasks one would otherwise use a ChangeLog to get done.

-- 
David Kastrup




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-06  7:10                           ` Stephen J. Turnbull
@ 2014-01-06 14:53                             ` Stefan Monnier
  0 siblings, 0 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-06 14:53 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Achim Gratz, emacs-devel

>> > I don't see why this can't be a project convention, perhaps using
>> > .git/GIT_EDITMSG as Eli suggests.
>> I'd like Emacs to support it for all projects.
> And?  I don't see a problem:
>   (setq vc-message-file (format (vc-message-file-fmt vc-backend)
>                                 project-root))
> with the "obvious" (== I'm in a hurry, ask me if not) semantics for
> `vc-message-file' and `vc-message-file-fmt' (and don't shoot me if
> there are obviously better ways to implement it in vc.el or
> add-log.el, just do it! ;-)

That's the idea, yes.  But then you want to make sure the file is
ignored by the VCS; that it gets erased after commit, and things
like that.

Also, you'd probably want to "unify" that file and *VC-Log*, which
brings in more details with which to deal.

I'm not saying it's fundamentally necessarily hard.  But someone has to
write the code, and deal with the problems that can show up.


        Stefan



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

* Re: Apologia for bzr
  2014-01-06 14:09                                   ` Sivaram Neelakantan
@ 2014-01-06 14:54                                     ` David Kastrup
  2014-01-06 14:56                                     ` Stefan Monnier
  2014-01-07  6:00                                     ` Christophe Poncy
  2 siblings, 0 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-06 14:54 UTC (permalink / raw)
  To: emacs-devel

Sivaram Neelakantan <nsivaram.net@gmail.com> writes:

> On Mon, Jan 06 2014,Stefan Monnier wrote:
>
>>> On the other hand, I’ve showed emacs to a very large number of new college
>>> students over the years, both programmers and non.  The keybindings are
>>> confusing to many people. People who accidentally split-window are very
>>> confused.  Nobody was ever confused by the location of the modeline, and it’s
>>> normal for common apps like web browsers to have a “Status Bar” down there. 
>>
>> That corresponds to my experience.  The main sources of trouble, AFAICT are:
>> - window management:
>>   - how to get rid of a window (e.g. when *Help* introduced a split).
>>   - how to get back to a buffer that was somehow buried.
>> - keybindings like C-a, C-x, C-c, C-v
>> - naming (things like windows, frames, kill, yank).
>>
>
> Speaking as an Emacs user,  I don't understand this line of
> reasoning.  The same logic above could be applied to vi/vim, any
> programming language at all.  I ran into the same issues above and I
> got help from this list or from the docs and even rereading the
> tutorial.  What's the issue with new users nowadays?  All the
> definitions are there in the manual...erm...somewhere but there.

Help/Search Documentation/Emacs Terminology.

-- 
David Kastrup




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

* Re: Apologia for bzr
  2014-01-06 14:00                             ` Richard Stallman
  2014-01-06 14:29                               ` Lennart Borgman
@ 2014-01-06 14:55                               ` Stefan Monnier
  2014-01-07  5:58                               ` Christophe Poncy
  2 siblings, 0 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-06 14:55 UTC (permalink / raw)
  To: Richard Stallman
  Cc: esr, toby-dated-1389972095.0848dd, Lennart Borgman, emacs-devel

>     But "frames" and "windows" in Emacs is of course confusing for
>     beginners. More standard terms would be good for them, I guess.

> What is the standard term for what we call windows in Emacs?

Probably "pane"?


        Stefan



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

* Re: Apologia for bzr
  2014-01-06 14:09                                   ` Sivaram Neelakantan
  2014-01-06 14:54                                     ` David Kastrup
@ 2014-01-06 14:56                                     ` Stefan Monnier
  2014-01-07  6:00                                     ` Christophe Poncy
  2 siblings, 0 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-06 14:56 UTC (permalink / raw)
  To: Sivaram Neelakantan; +Cc: emacs-devel

> which I think is the only way to gain a reasonable fluency in using
> Emacs i.e. learn Emacs concepts/terminology before proceeding.  And
> the Tutorial is more than adequate for the purpose.

Probably most Emacs users agree.  And those who don't just move on to
greener pastures.


        Stefan



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

* Re: Apologia for bzr
  2014-01-06 14:29                               ` Lennart Borgman
@ 2014-01-06 15:14                                 ` John Yates
  2014-01-06 20:27                                 ` Richard Stallman
                                                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 401+ messages in thread
From: John Yates @ 2014-01-06 15:14 UTC (permalink / raw)
  To: Lennart Borgman
  Cc: Eric Raymond, Toby Cubitt, Richard M. Stallman, Emacs-Devel devel

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

On Mon, Jan 6, 2014 at 9:29 AM, Lennart Borgman <lennart.borgman@gmail.com>
 wrote:
>
> Probably this: http://en.wikipedia.org/wiki/Paned_window
>

Pane was exactly the term used by the Apollo Computer Display Manager back
in the early 80s.  A shell window included a line separating unconsumed
editable type-ahead from immutable history.  The two areas were know
respectively as the input pane and the transcript pane.  You can see two
examples in the following image:

http://www.typewritten.org/Media/Images/apollo-dm.png

Window pad0001 displays a privileged shell prompt (#) in the input pane.
 Window pad0002 display a cpscr program executing so no shell prompt ($)
yet.

/john

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

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

* Re: Apologia for bzr
  2014-01-06  0:45                               ` David Kastrup
  2014-01-06  1:52                                 ` Eric Brown
  2014-01-06  4:27                                 ` Yuri Khan
@ 2014-01-06 15:40                                 ` James Cloos
  2 siblings, 0 replies; 401+ messages in thread
From: James Cloos @ 2014-01-06 15:40 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

>>>>> "DK" == David Kastrup <dak@gnu.org> writes:

JC>> Emacs in a terminal emulator is often superior to gui-emacs with the X
JC>> protocol tunneled over ssh.

DK> Why would you do that?

DK> It's so much easier and faster to just do

DK> C-x C-f /ssh:user@hostname.netword:myfile.c RET

No it is not faster.

If I need to edit something, I'll alread have an ssh session open to
that box.  >emacs foo< is a hell of a lot faster than switching to a
different (window manager) workspace and typing all of that....

And, often, the editing I'm doing is an automated call to $EDITOR.
So it has to run local to the remote box anyway.

Further, testing shows that although tramp logs in to the remote box, it
never gets past waiting for prompts.  So it isn't just slower; it doesn't
work at all.

(Not to mention the secondary gnus instance I run on one of my servers.)

-JimC
--
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-06 14:53                     ` David Kastrup
@ 2014-01-06 16:09                       ` Eli Zaretskii
  2014-01-06 17:57                         ` Jordi Gutiérrez Hermoso
                                           ` (2 more replies)
  0 siblings, 3 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-06 16:09 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

> From: David Kastrup <dak@gnu.org>
> Date: Mon, 06 Jan 2014 15:53:28 +0100
> 
> Richard Stallman <rms@gnu.org> writes:
> 
> >     I never consult changelog files if I have the full VCS history.
> >
> > I do.  I use the ChangeLog files to see what changes affected a
> > certain function.
> 
> I tend to use C-x v g for that (it maps to git blame).

This can be annoyingly slow (and with git is slower than with bzr).
E.g., try xdisp.c: it takes git more than 4 minutes to display
anything in response to "C-x v g" (2 minutes if done from the shell).
Looking into ChangeLog's is surely faster.

Someone, I think it was you, once told me that the slow operation of
'git blame' was a deliberate design decision of the git developers.
So it doesn't sound like this is supposed to be the first tool to be
used for such jobs.  FWIW, I use that only after I already have some
idea about what I'm looking for and in which time period.



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-06 16:09                       ` Eli Zaretskii
@ 2014-01-06 17:57                         ` Jordi Gutiérrez Hermoso
  2014-01-06 18:09                           ` Eli Zaretskii
  2014-01-06 18:07                         ` David Kastrup
  2014-01-07 19:17                         ` David Kastrup
  2 siblings, 1 reply; 401+ messages in thread
From: Jordi Gutiérrez Hermoso @ 2014-01-06 17:57 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: David Kastrup, emacs-devel

On Mon, 2014-01-06 at 18:09 +0200, Eli Zaretskii wrote:

> E.g., try xdisp.c: it takes git more than 4 minutes to display
> anything in response to "C-x v g" (2 minutes if done from the
> shell). Looking into ChangeLog's is surely faster.

As a point of comparsion, on my system

    $ time hg blame xdisp.c > foo

    real  0m55.426s
    user  0m54.083s
    sys   0m1.032s

    $ time git blame xdisp.c > foo

    real  3m24.979s
    user  3m5.920s
    sys   0m3.032s

I suppose this is because git's data structures aren't very fast for
single-file operations. The only way to get data for a single file in
git is to walk the entire changelog and grab all associated tree
objects looking for the blob you care about. Hg's data structures
instead, changes across a single file using a so-called revlog, which
is a series per-file deltas with occasional full file copies (the
analogy for revlogs is video compression with key frames).

- Jordi G. H.






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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-06 16:09                       ` Eli Zaretskii
  2014-01-06 17:57                         ` Jordi Gutiérrez Hermoso
@ 2014-01-06 18:07                         ` David Kastrup
  2014-01-06 18:21                           ` Eli Zaretskii
  2014-01-07 19:17                         ` David Kastrup
  2 siblings, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-06 18:07 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: David Kastrup <dak@gnu.org>
>> Date: Mon, 06 Jan 2014 15:53:28 +0100
>> 
>> Richard Stallman <rms@gnu.org> writes:
>> 
>> >     I never consult changelog files if I have the full VCS history.
>> >
>> > I do.  I use the ChangeLog files to see what changes affected a
>> > certain function.
>> 
>> I tend to use C-x v g for that (it maps to git blame).
>
> This can be annoyingly slow (and with git is slower than with bzr).
> E.g., try xdisp.c: it takes git more than 4 minutes to display
> anything in response to "C-x v g" (2 minutes if done from the shell).

Oh wow.  Impressive.  Not my average experience, but certainly a
sobering outlier.

> Someone, I think it was you, once told me that the slow operation of
> 'git blame' was a deliberate design decision of the git developers.

Yes and no.  The information is reconstructed rather than stored, but in
general the information is reconstructed rather fast.

git blame also has an incremental mode.  For cases such like this, it
might make sense trying to find a way to integrate this into the
operation of C-x v g though I have to admit that I am somewhat at a loss
regarding how to do this in a pleasant way.

> So it doesn't sound like this is supposed to be the first tool to be
> used for such jobs.  FWIW, I use that only after I already have some
> idea about what I'm looking for and in which time period.

In general, it works pretty well for me.  I have to admit that xdisp.c
is convincingly bad in that regard.

-- 
David Kastrup



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-06 17:57                         ` Jordi Gutiérrez Hermoso
@ 2014-01-06 18:09                           ` Eli Zaretskii
  0 siblings, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-06 18:09 UTC (permalink / raw)
  To: Jordi Gutiérrez Hermoso; +Cc: dak, emacs-devel

> From: Jordi Gutiérrez Hermoso <jordigh@octave.org>
> Cc: David Kastrup <dak@gnu.org>, emacs-devel@gnu.org
> Date: Mon, 06 Jan 2014 12:57:49 -0500
> 
> On Mon, 2014-01-06 at 18:09 +0200, Eli Zaretskii wrote:
> 
> > E.g., try xdisp.c: it takes git more than 4 minutes to display
> > anything in response to "C-x v g" (2 minutes if done from the
> > shell). Looking into ChangeLog's is surely faster.
> 
> As a point of comparsion, on my system
> 
>     $ time hg blame xdisp.c > foo
> 
>     real  0m55.426s
>     user  0m54.083s
>     sys   0m1.032s
> 
>     $ time git blame xdisp.c > foo
> 
>     real  3m24.979s
>     user  3m5.920s
>     sys   0m3.032s

I don't see any point in these comparisons (having been there before),
but since you started...

  D:\gnu\bzr\emacs\trunk>timep bzr annotate src/xdisp.c > foo
  real    00h00m29.265s
  user    00h00m26.578s
  sys     00h00m00.843s

  $ time git blame src/xdisp.c > foo
  real    2m5.281s
  user    0m0.015s
  sys     0m0.000s

(This is on Windows, so in the case of git, the user and system times
are bogus, because Windows provides no means of accounting for
grandchildren subprocesses.)




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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-06 18:07                         ` David Kastrup
@ 2014-01-06 18:21                           ` Eli Zaretskii
  0 siblings, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-06 18:21 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

> From: David Kastrup <dak@gnu.org>
> Cc: emacs-devel@gnu.org
> Date: Mon, 06 Jan 2014 19:07:02 +0100
> 
> I have to admit that xdisp.c is convincingly bad in that regard.

Well, it's a monster file which gets a lot of changes, so it's
definitely not the average.



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

* Re: Apologia for bzr
  2014-01-05 20:56                           ` Eric S. Raymond
  2014-01-05 21:58                             ` Florian Weimer
  2014-01-05 23:41                             ` James Cloos
@ 2014-01-06 18:47                             ` Eric Brown
  2014-01-09 20:30                             ` Rogerio Senna
  3 siblings, 0 replies; 401+ messages in thread
From: Eric Brown @ 2014-01-06 18:47 UTC (permalink / raw)
  To: esr; +Cc: toby-dated-1389972095.0848dd, Richard Stallman, emacs-devel

"Eric S. Raymond" <esr@thyrsus.com> writes:

> Richard Stallman <rms@gnu.org>:

>> We could even offer that as the mode of use for beginners, if that
>> would make it easier for a new generation of hackers to become Emacs
>> users.  I don't know whether it WOULD have that effect, but if it
>> would, I think it is a good idea.

>> Do beginners typically run Emacs under a graphical window system?
>
> Yes.  It's actually pretty rare for even old-school types to run 
> emacs in a hard or soft terminal these days; normally it is launched
> from a window system.

The "beginners" and "experts" that I work with are expected (and
desire!) to be able to work with Emacs being run through GNU screen, in
a old-school terminal window.

This allows us to easily reconnect to Emacs sessions that serve as the
REPL for long-running code written in, e.g. GNU R.

Unfortunately, we haven't had much luck reconnecting to X11 sessions
(hence GUI Emacs).  It turns out, we really don't need it for our
particular purposes.

Also, one of Eli's recent patches makes drop-down menus in terminal
windows; this removes one of terminal Emacs' "less-pretty" features and
increases accessibility through familiarity.



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

* Re: Apologia for bzr
  2014-01-06 14:29                               ` Lennart Borgman
  2014-01-06 15:14                                 ` John Yates
@ 2014-01-06 20:27                                 ` Richard Stallman
  2014-01-06 20:32                                   ` Daniel Colascione
  2014-01-07  0:12                                   ` Stefan Monnier
  2014-01-06 20:27                                 ` Richard Stallman
  2014-01-07  6:03                                 ` Christophe Poncy
  3 siblings, 2 replies; 401+ messages in thread
From: Richard Stallman @ 2014-01-06 20:27 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: esr, toby-dated-1389972095.0848dd, 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. ]]]

Conceivably we could rename "window" to "pane" and "frame" to "window".
I think the two renamings would have to be done in two different releases,
perhaps a year or two apart.

Whether it is worth the trouble, I don'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] 401+ messages in thread

* Re: Apologia for bzr
  2014-01-06 14:29                               ` Lennart Borgman
  2014-01-06 15:14                                 ` John Yates
  2014-01-06 20:27                                 ` Richard Stallman
@ 2014-01-06 20:27                                 ` Richard Stallman
  2014-01-07  6:03                                 ` Christophe Poncy
  3 siblings, 0 replies; 401+ messages in thread
From: Richard Stallman @ 2014-01-06 20:27 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: esr, toby-dated-1389972095.0848dd, 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. ]]]

IBM rewrote X Windows and called the new version "Panes".
Thus, users had AIX and Panes on their RTPC machines.

-- 
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] 401+ messages in thread

* Re: Apologia for bzr
  2014-01-06 20:27                                 ` Richard Stallman
@ 2014-01-06 20:32                                   ` Daniel Colascione
  2014-01-06 23:43                                     ` Lennart Borgman
                                                       ` (2 more replies)
  2014-01-07  0:12                                   ` Stefan Monnier
  1 sibling, 3 replies; 401+ messages in thread
From: Daniel Colascione @ 2014-01-06 20:32 UTC (permalink / raw)
  To: rms, Lennart Borgman; +Cc: esr, toby-dated-1389972095.0848dd, emacs-devel

On 01/06/2014 12:27 PM, Richard Stallman wrote:
> Conceivably we could rename "window" to "pane" and "frame" to "window".
> I think the two renamings would have to be done in two different releases,
> perhaps a year or two apart.

I don't think we could pull off this renaming. At least on the lisp 
level, we would have to maintain compatibility aliases effectively 
forever, doubling the number of lisp symbols dealing with these 
concepts. One does not simply rename a function that's been in constant 
use for 20 years. Sure, you might argue, we could change the labels we 
assign these concepts in the UI and leave lisp alone, but the lisp 
symbols are too closely tied to the UI (with respect to keybindings and 
M-x) to change the two independently.

The best thing we can do is explain in the tutorial and manual the 
correspondence between Emacs and common terms.



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

* Re: Apologia for bzr
  2014-01-06 20:32                                   ` Daniel Colascione
@ 2014-01-06 23:43                                     ` Lennart Borgman
  2014-01-06 23:50                                       ` David Kastrup
  2014-01-07  6:05                                     ` Christophe Poncy
  2014-01-07 16:53                                     ` Richard Stallman
  2 siblings, 1 reply; 401+ messages in thread
From: Lennart Borgman @ 2014-01-06 23:43 UTC (permalink / raw)
  To: Daniel Colascione
  Cc: Eric Raymond, Toby Cubitt, Richard M. Stallman, Emacs-Devel devel

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

On Mon, Jan 6, 2014 at 9:32 PM, Daniel Colascione <dancol@dancol.org> wrote:

> On 01/06/2014 12:27 PM, Richard Stallman wrote:
>
>> Conceivably we could rename "window" to "pane" and "frame" to "window".
>> I think the two renamings would have to be done in two different releases,
>> perhaps a year or two apart.
>>
>
> I don't think we could pull off this renaming. At least on the lisp level,
> we would have to maintain compatibility aliases effectively forever,
> doubling the number of lisp symbols dealing with these concepts. One does
> not simply rename a function that's been in constant use for 20 years.
> Sure, you might argue, we could change the labels we assign these concepts
> in the UI and leave lisp alone, but the lisp symbols are too closely tied
> to the UI (with respect to keybindings and M-x) to change the two
> independently.
>
> The best thing we can do is explain in the tutorial and manual the
> correspondence between Emacs and common terms.
>

We are talking about the user level. Interactive function names can be
duplicated.

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

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

* Re: Apologia for bzr
  2014-01-06 23:43                                     ` Lennart Borgman
@ 2014-01-06 23:50                                       ` David Kastrup
  2014-01-07  0:02                                         ` Lennart Borgman
  0 siblings, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-06 23:50 UTC (permalink / raw)
  To: emacs-devel

Lennart Borgman <lennart.borgman@gmail.com> writes:

> On Mon, Jan 6, 2014 at 9:32 PM, Daniel Colascione <dancol@dancol.org> wrote:
>
>> On 01/06/2014 12:27 PM, Richard Stallman wrote:
>>
>>> Conceivably we could rename "window" to "pane" and "frame" to "window".
>>> I think the two renamings would have to be done in two different releases,
>>> perhaps a year or two apart.
>>>
>>
>> I don't think we could pull off this renaming. At least on the lisp level,
>> we would have to maintain compatibility aliases effectively forever,
>> doubling the number of lisp symbols dealing with these concepts. One does
>> not simply rename a function that's been in constant use for 20 years.
>> Sure, you might argue, we could change the labels we assign these concepts
>> in the UI and leave lisp alone, but the lisp symbols are too closely tied
>> to the UI (with respect to keybindings and M-x) to change the two
>> independently.
>>
>> The best thing we can do is explain in the tutorial and manual the
>> correspondence between Emacs and common terms.
>>
>
> We are talking about the user level. Interactive function names can be
> duplicated.

That's a bad idea since a fundamental part of the "interactive" user
interface is completion, so if you are trying to find some
functionality, getting two names in the set of completions that look
like they might do different things because of using different terms,
this will not help the user figuring out what to do.

-- 
David Kastrup




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

* Re: Apologia for bzr
  2014-01-06 23:50                                       ` David Kastrup
@ 2014-01-07  0:02                                         ` Lennart Borgman
  2014-01-07  8:27                                           ` Thien-Thi Nguyen
  0 siblings, 1 reply; 401+ messages in thread
From: Lennart Borgman @ 2014-01-07  0:02 UTC (permalink / raw)
  To: David Kastrup; +Cc: Emacs-Devel devel

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

On Tue, Jan 7, 2014 at 12:50 AM, David Kastrup <dak@gnu.org> wrote:

> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
> > On Mon, Jan 6, 2014 at 9:32 PM, Daniel Colascione <dancol@dancol.org>
> wrote:
> >
> >> On 01/06/2014 12:27 PM, Richard Stallman wrote:
> >>
> >>> Conceivably we could rename "window" to "pane" and "frame" to "window".
> >>> I think the two renamings would have to be done in two different
> releases,
> >>> perhaps a year or two apart.
> >>>
> >>
> >> I don't think we could pull off this renaming. At least on the lisp
> level,
> >> we would have to maintain compatibility aliases effectively forever,
> >> doubling the number of lisp symbols dealing with these concepts. One
> does
> >> not simply rename a function that's been in constant use for 20 years.
> >> Sure, you might argue, we could change the labels we assign these
> concepts
> >> in the UI and leave lisp alone, but the lisp symbols are too closely
> tied
> >> to the UI (with respect to keybindings and M-x) to change the two
> >> independently.
> >>
> >> The best thing we can do is explain in the tutorial and manual the
> >> correspondence between Emacs and common terms.
> >>
> >
> > We are talking about the user level. Interactive function names can be
> > duplicated.
>
> That's a bad idea since a fundamental part of the "interactive" user
> interface is completion, so if you are trying to find some
> functionality, getting two names in the set of completions that look
> like they might do different things because of using different terms,
> this will not help the user figuring out what to do.
>
>
There are trade offs, but it is bad logic to say it is a bad idea just
because of that of course.

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

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

* Re: Apologia for bzr
  2014-01-06 20:27                                 ` Richard Stallman
  2014-01-06 20:32                                   ` Daniel Colascione
@ 2014-01-07  0:12                                   ` Stefan Monnier
  2014-01-07  6:21                                     ` Lars Magne Ingebrigtsen
  2014-01-07  6:22                                     ` Apologia for bzr Christophe Poncy
  1 sibling, 2 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-07  0:12 UTC (permalink / raw)
  To: Richard Stallman
  Cc: esr, toby-dated-1389972095.0848dd, Lennart Borgman, emacs-devel

> Conceivably we could rename "window" to "pane" and "frame" to "window".
> I think the two renamings would have to be done in two different releases,
> perhaps a year or two apart.

Yup, it'd have to be a many-steps process:
- first, rename "window" to "pane"
- then rename "frame" to "window" (so frames would have 3 names:
  screens, frames, and windows; tho admittedly we did finally get rid of
  the "screen" aliases a few years ago).

With a distinction between the Texinfo+docstring level and the Elisp
code level.

At the Lisp level, after renaming selected-window to selected-pane, we'd
have to wait for the selected-window compatibility alias to disappear
before we can rename selected-frame to selected-window.  I'd estimate
that getting rid of the selected-window compatibility alias would take at
least 20 years.

This said, the "what you call a window is called a frame" is not nearly
as problematic as "what we call window is not what you think", so maybe
renaming "window" to "pane" would get us most of the benefit.

So maybe the first step is the only one that really matters, and maybe
my grand children can consider the second step when their time comes.

I'm not sure how much change that represents, but if someone wants to
take a stab at it... I'd be interested to see what it looks like.


        Stefan



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

* Re: Apologia for bzr
  2014-01-06 14:00                             ` Richard Stallman
  2014-01-06 14:29                               ` Lennart Borgman
  2014-01-06 14:55                               ` Stefan Monnier
@ 2014-01-07  5:58                               ` Christophe Poncy
  2 siblings, 0 replies; 401+ messages in thread
From: Christophe Poncy @ 2014-01-07  5:58 UTC (permalink / raw)
  To: emacs-devel

On 2014-01-06 15:00, Richard Stallman wrote:
> […]
> 
> What is the standard term for what we call windows in Emacs?

No standard there:

* windows in tiling window managers
* frames/iframes in HTML
* windows in Conkeror
* panes in some environments

What we call windows in Emacs can't be produced similarly in most 
applications.


-- 
Support free software! Join FSF:
https://my.fsf.org/associate/support_freedom



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

* Re: Apologia for bzr
  2014-01-06 14:09                                   ` Sivaram Neelakantan
  2014-01-06 14:54                                     ` David Kastrup
  2014-01-06 14:56                                     ` Stefan Monnier
@ 2014-01-07  6:00                                     ` Christophe Poncy
  2 siblings, 0 replies; 401+ messages in thread
From: Christophe Poncy @ 2014-01-07  6:00 UTC (permalink / raw)
  To: emacs-devel

On 2014-01-06 15:09, Sivaram Neelakantan wrote:
> […]
> 
> "Stop thinking in your native language when learning another language"
> 
> which I think is the only way to gain a reasonable fluency in using
> Emacs i.e. learn Emacs concepts/terminology before proceeding.  And
> the Tutorial is more than adequate for the purpose.
> 

+1

-- 
Support free software! Join FSF:
https://my.fsf.org/associate/support_freedom?referrer=4574



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

* Re: Apologia for bzr
  2014-01-06 14:29                               ` Lennart Borgman
                                                   ` (2 preceding siblings ...)
  2014-01-06 20:27                                 ` Richard Stallman
@ 2014-01-07  6:03                                 ` Christophe Poncy
  3 siblings, 0 replies; 401+ messages in thread
From: Christophe Poncy @ 2014-01-07  6:03 UTC (permalink / raw)
  To: emacs-devel

On 2014-01-06 15:29, Lennart Borgman wrote:
> […]
> 
> Probably this: http://en.wikipedia.org/wiki/Paned_window

Here is a short article that has one single interwiki, meaning no 
standard term for that.

-- 
Support free software! Join FSF:
https://my.fsf.org/associate/support_freedom?referrer=4574



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

* Re: Apologia for bzr
  2014-01-06 20:32                                   ` Daniel Colascione
  2014-01-06 23:43                                     ` Lennart Borgman
@ 2014-01-07  6:05                                     ` Christophe Poncy
  2014-01-07 16:53                                     ` Richard Stallman
  2 siblings, 0 replies; 401+ messages in thread
From: Christophe Poncy @ 2014-01-07  6:05 UTC (permalink / raw)
  To: emacs-devel

On 2014-01-06 21:32, Daniel Colascione wrote:
> […]
> 
> The best thing we can do is explain in the tutorial and manual the
> correspondence between Emacs and common terms.

+1

-- 
Support free software! Join FSF:
https://my.fsf.org/associate/support_freedom



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

* Re: Apologia for bzr
  2014-01-07  0:12                                   ` Stefan Monnier
@ 2014-01-07  6:21                                     ` Lars Magne Ingebrigtsen
  2014-01-07  7:30                                       ` Emacs terminology (not again!?) [was: Apologia for bzr] Drew Adams
  2014-01-07 10:30                                       ` Apologia for bzr Jose E. Marchesi
  2014-01-07  6:22                                     ` Apologia for bzr Christophe Poncy
  1 sibling, 2 replies; 401+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-01-07  6:21 UTC (permalink / raw)
  To: Stefan Monnier
  Cc: esr, Lennart Borgman, toby-dated-1389972095.0848dd,
	Richard Stallman, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> This said, the "what you call a window is called a frame" is not nearly
> as problematic as "what we call window is not what you think", so maybe
> renaming "window" to "pane" would get us most of the benefit.

I think you're right there.  If we just get rid of the word "window", I
think that'll fix most confusions.  "Pane" and "frame" are more
"technical" terms, and people aren't as apt to make assumptions about
what they mean.

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



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

* Re: Apologia for bzr
  2014-01-07  0:12                                   ` Stefan Monnier
  2014-01-07  6:21                                     ` Lars Magne Ingebrigtsen
@ 2014-01-07  6:22                                     ` Christophe Poncy
  2014-01-07  6:41                                       ` joakim
  1 sibling, 1 reply; 401+ messages in thread
From: Christophe Poncy @ 2014-01-07  6:22 UTC (permalink / raw)
  To: emacs-devel

> Conceivably we could rename "window" to "pane" and "frame" to "window".
> I think the two renamings would have to be done in two different 
> releases,
> perhaps a year or two apart.
> 

I think that "window" is the correct term, it's just that emacs can see 
reality with another dimension, we don't have to put windows side by 
side on the desktop…

-- 
Support free software! Join FSF:
https://my.fsf.org/associate/support_freedom



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

* Re: Apologia for bzr
  2014-01-07  6:22                                     ` Apologia for bzr Christophe Poncy
@ 2014-01-07  6:41                                       ` joakim
  0 siblings, 0 replies; 401+ messages in thread
From: joakim @ 2014-01-07  6:41 UTC (permalink / raw)
  To: Christophe Poncy; +Cc: emacs-devel

Christophe Poncy <cp@genium.fr> writes:

>> Conceivably we could rename "window" to "pane" and "frame" to "window".
>> I think the two renamings would have to be done in two different
>> releases,
>> perhaps a year or two apart.
>>
>
> I think that "window" is the correct term, it's just that emacs can
> see reality with another dimension, we don't have to put windows side
> by side on the desktop…

I agree. If you see Emacs as a window manager, most terms Emacs uses
makes good sense IMHO.

-- 
Joakim Verona



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

* Emacs terminology (not again!?)   [was: Apologia for bzr]
  2014-01-07  6:21                                     ` Lars Magne Ingebrigtsen
@ 2014-01-07  7:30                                       ` Drew Adams
  2014-01-07 10:30                                         ` Lennart Borgman
  2014-01-07 11:13                                         ` Stephen J. Turnbull
  2014-01-07 10:30                                       ` Apologia for bzr Jose E. Marchesi
  1 sibling, 2 replies; 401+ messages in thread
From: Drew Adams @ 2014-01-07  7:30 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen, Stefan Monnier
  Cc: esr, toby-dated-1389972095.0848dd, Lennart Borgman,
	Richard Stallman, emacs-devel

> > This said, the "what you call a window is called a frame"
> > is not nearly as problematic as "what we call window is
> > not what you think", so maybe renaming "window" to "pane"
> > would get us most of the benefit.
> 
> I think you're right there.  If we just get rid of the word
> "window", I think that'll fix most confusions.  

What confusion?  Is there really a problem?  Are you sure?

I've been dealing with newbie Emacs questions and confusion
for as long as most of you, and I don't think I have ever
encountered a user who had difficulting understanding what
we mean, once the terms are presented.

IOW, any contact at all with either the Emacs docs or a quick
Q & A has always answered any user questions I've come across
in this regard.  I have never, ever, encountered any
"confusion" here.  There is sometimes confusion elsewhere
(menu structure, keymaps, font-lock-keywords...), but no
confusion about windows and frames, once the terms are
explained.  No confusion, just initial ignorance, which is
not the same thing and which is easily remedied.

Seriously, have any of you encounted a user who could not
understand what an Emacs window and frame are?  Ever?
Really?

It's a faux probleme.  It says more about you who see it as
a problem than it does about any potential Emacs newbies.

And you ain't gonna get no mileage out of making a big
attempt to clothe Emacs in terminology the Emacs-ignorant
will immediately recognize.  There really is a wolf under
those sheepskins - Emacs is a different beast.  Everything
worth its salt has its own jargon.  Including Emacs.

Gratuitous differences in terminology for identical things
are something else.  But (a) that is rare (the Emacs thingies
are not really the same), and (b) even then it is not
important to toe the line.  Especially if the things are
identical, it is easy to learn new terms for them.

Examples of exceptional things that are identical in Emacs,
or nearly so, are "cut" and "paste" operations.  And as
others have already said, it is enough to point out the
Emacs terminology and the correspondences (when there are
close correspondences and not just faux amis) - which we
already do, AFAIK.

If you think that initiation into the ways and jargon of
Emacs is just too darn hard for today's kiddies, I'd say
you're not only pandering (demagogy), you're selling the
kiddies short.  Have confidence.  You learned Emacs, and
no, you ain't no smarter or tougher than they are.

(Now if we just get rid of Emacs, I think that would take
care of most confusion...)



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

* Re: Apologia for bzr
  2014-01-07  0:02                                         ` Lennart Borgman
@ 2014-01-07  8:27                                           ` Thien-Thi Nguyen
  0 siblings, 0 replies; 401+ messages in thread
From: Thien-Thi Nguyen @ 2014-01-07  8:27 UTC (permalink / raw)
  To: emacs-devel

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

() Lennart Borgman <lennart.borgman@gmail.com>
() Tue, 7 Jan 2014 01:02:53 +0100

   There are trade offs, but it is bad logic to say it is a bad idea
   just because of that of course.

The idea may or may not be bad, but what's that have to do w/ reality?

I think the consequence would be a rapid influx of new users, keen to
experience the Emacs phenomenon, who just as rapidly leave, disgusted,
when all the net.wisdom is largely for the "old (crufty, not the groovy
spectacle i was promised, this sucks, where's my refund)" Emacs.

If they do manage to stick around, OTOH, they will need to join the rest
of us in contemplating, working around, justifying, and (in the end)
condemning the "wanton bifurcation" to their non-Emacs-using and (what's
worse) Emacs-using non-programmer friends.

All archived (thanks NSA), and now net.wisdom is net.dissipation.  Ugh.

On the third hand, who [hn]eeds commentary/code more than 3 solar cycles
past, right?  The sages of Pompeii, they [dl]ie like fools.  Carry on!

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07  7:30                                       ` Emacs terminology (not again!?) [was: Apologia for bzr] Drew Adams
@ 2014-01-07 10:30                                         ` Lennart Borgman
  2014-01-07 18:05                                           ` Joel Mccracken
  2014-01-07 11:13                                         ` Stephen J. Turnbull
  1 sibling, 1 reply; 401+ messages in thread
From: Lennart Borgman @ 2014-01-07 10:30 UTC (permalink / raw)
  To: Drew Adams
  Cc: Richard Stallman, Toby Cubitt, Emacs-Devel devel, Eric Raymond,
	Stefan Monnier, Lars Magne Ingebrigtsen

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

On Tue, Jan 7, 2014 at 8:30 AM, Drew Adams <drew.adams@oracle.com> wrote:

>
> What confusion?  Is there really a problem?  Are you sure?
>
> I've been dealing with newbie Emacs questions and confusion
> for as long as most of you, and I don't think I have ever
> encountered a user who had difficulting understanding what
> we mean, once the terms are presented.
>
> The difficulty is not understanding, but rather remembering. "What a h-ll
did they call that?"

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

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

* Re: Apologia for bzr
  2014-01-07  6:21                                     ` Lars Magne Ingebrigtsen
  2014-01-07  7:30                                       ` Emacs terminology (not again!?) [was: Apologia for bzr] Drew Adams
@ 2014-01-07 10:30                                       ` Jose E. Marchesi
  2014-01-09 14:10                                         ` Per Starbäck
  1 sibling, 1 reply; 401+ messages in thread
From: Jose E. Marchesi @ 2014-01-07 10:30 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen
  Cc: Richard Stallman, Lennart Borgman, toby-dated-1389972095.0848dd,
	emacs-devel, esr, Stefan Monnier

    
    > This said, the "what you call a window is called a frame" is not nearly
    > as problematic as "what we call window is not what you think", so maybe
    > renaming "window" to "pane" would get us most of the benefit.
    
    I think you're right there.  If we just get rid of the word
    "window", I think that'll fix most confusions.  "Pane" and "frame"
    are more "technical" terms, and people aren't as apt to make
    assumptions about what they mean.

Aren't we underestimating users's natural ability to abstract terms and
concepts?  For the average person the "confusion" regarding windows will
least for no more than two minutes, if ever, given that both the
tutorial and the manual explain what a window is...



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

* Emacs terminology (not again!?)   [was: Apologia for bzr]
  2014-01-07  7:30                                       ` Emacs terminology (not again!?) [was: Apologia for bzr] Drew Adams
  2014-01-07 10:30                                         ` Lennart Borgman
@ 2014-01-07 11:13                                         ` Stephen J. Turnbull
  2014-01-07 11:27                                           ` Lennart Borgman
  1 sibling, 1 reply; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-07 11:13 UTC (permalink / raw)
  To: Drew Adams
  Cc: Richard Stallman, toby-dated-1389972095.0848dd, Lennart Borgman,
	emacs-devel, esr, Stefan Monnier, Lars Magne Ingebrigtsen

Drew Adams writes:

 > > I think you're right there.  If we just get rid of the word
 > > "window", I think that'll fix most confusions.  
 > 
 > What confusion?  Is there really a problem?  Are you sure?

Agreed.  The important disconnect is between windows and buffers, and
even that isn't so hard for users to figure out.  I think people used
to recent browser interfaces will call buffers "tabs".



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 11:13                                         ` Stephen J. Turnbull
@ 2014-01-07 11:27                                           ` Lennart Borgman
  2014-01-07 12:13                                             ` Yuri Khan
  2014-01-07 14:07                                             ` Stephen J. Turnbull
  0 siblings, 2 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-07 11:27 UTC (permalink / raw)
  To: Stephen J. Turnbull
  Cc: Richard Stallman, Toby Cubitt, Emacs-Devel devel, Eric Raymond,
	Stefan Monnier, Lars Magne Ingebrigtsen, Drew Adams

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

On Tue, Jan 7, 2014 at 12:13 PM, Stephen J. Turnbull <stephen@xemacs.org>wrote:

>
> Agreed.  The important disconnect is between windows and buffers, and
> even that isn't so hard for users to figure out.  I think people used
> to recent browser interfaces will call buffers "tabs".
>

I think that is a good illustration of how confusing different terms can
be... ;-)

"Tabs" is a UI thing. Calling buffers "tabs" would be very, very confusing
for most new users.

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

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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 11:27                                           ` Lennart Borgman
@ 2014-01-07 12:13                                             ` Yuri Khan
  2014-01-07 14:07                                             ` Stephen J. Turnbull
  1 sibling, 0 replies; 401+ messages in thread
From: Yuri Khan @ 2014-01-07 12:13 UTC (permalink / raw)
  To: Lennart Borgman
  Cc: Toby Cubitt, Emacs-Devel devel, Eric Raymond, Stefan Monnier,
	Lars Magne Ingebrigtsen, Stephen J. Turnbull, Drew Adams

On Tue, Jan 7, 2014 at 6:27 PM, Lennart Borgman
<lennart.borgman@gmail.com> wrote:
>
> "Tabs" is a UI thing. Calling buffers "tabs" would be very, very confusing
> for most new users.

+1.

The difficulty with Emacs that I had when I was a beginner Emacs user
and still have not completely gotten over, is the relationships
between buffers and windows.

In a typical $another_application, you have at the top level a window
or several windows. Each window may be split into panes, and each pane
may contain several tabs, each tab displaying a document. (In rare
cases, a tab may display a secondary view into a document that is also
displayed by another tab. Opening a secondary view is always a
conscious action on part of the user.) Closing the last view into a
document signals that the user is done with this document — this is
the time to ask any “would you like to save” questions. Otherwise, the
user is free to rearrange tabs between panes and windows. At every
point in time, there is a well-defined spatial position of each
document view — e.g. “the third tab in the upper pane of the window on
my left monitor”.

In Emacs, what you primarily have is a bunch of buffers which exist
without any permanent attachment with the UI. Then, you have frames
that may be split into windows, each window being a view into some
buffer. You cannot meaningfully talk about spatial positions of
buffers — they are essentially “everywhere” or “inside”. Or, if a
buffer is not displayed in any window, it’s “nowhere” and also
“inside”.

The model of Emacs is more flexible, but I find myself struggling with
it because I have to remember that there are hidden buffers and cannot
rely on the spatial model that my mind is accustomed to.

(Curiously, my other always-open application is Firefox that *does*
adhere to the spatial model. I end up opening a single window on each
monitor, and around a dozen tabs in each window. Then I have trouble
locating the tab I need since there are so many of them. So maybe the
problem surfaces when the number of entities exceeds my short-term
memory capacity, regardless of their organization.)



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 11:27                                           ` Lennart Borgman
  2014-01-07 12:13                                             ` Yuri Khan
@ 2014-01-07 14:07                                             ` Stephen J. Turnbull
  2014-01-07 14:16                                               ` Lennart Borgman
  1 sibling, 1 reply; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-07 14:07 UTC (permalink / raw)
  To: Lennart Borgman
  Cc: Richard Stallman, Toby Cubitt, Emacs-Devel devel, Eric Raymond,
	Stefan Monnier, Lars Magne Ingebrigtsen, Drew Adams

Lennart Borgman writes:
 > On Tue, Jan 7, 2014 at 12:13 PM, Stephen J. Turnbull <stephen@xemacs.org> wrote:

 >> Agreed.  The important disconnect is between windows and buffers,
 >> and even that isn't so hard for users to figure out.  I think
 >> people used to recent browser interfaces will call buffers "tabs".

 > I think that is a good illustration of how confusing different
 > terms can be... ;-)  "Tabs" is a UI thing. Calling buffers "tabs"
 > would be very, very confusing for most new users.

Agreed.  I'm not suggesting that as Emacs terminology.  I'm saying
that users are going to see buffers as ways to show different content
in the same (GUI) window just like tabs do.








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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 14:07                                             ` Stephen J. Turnbull
@ 2014-01-07 14:16                                               ` Lennart Borgman
  0 siblings, 0 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-07 14:16 UTC (permalink / raw)
  To: Stephen J. Turnbull
  Cc: Richard Stallman, Toby Cubitt, Emacs-Devel devel, Eric Raymond,
	Stefan Monnier, Lars Magne Ingebrigtsen, Drew Adams

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

On Tue, Jan 7, 2014 at 3:07 PM, Stephen J. Turnbull <stephen@xemacs.org>wrote:

> Lennart Borgman writes:
>  > On Tue, Jan 7, 2014 at 12:13 PM, Stephen J. Turnbull <
> stephen@xemacs.org> wrote:
>
>  >> Agreed.  The important disconnect is between windows and buffers,
>  >> and even that isn't so hard for users to figure out.  I think
>  >> people used to recent browser interfaces will call buffers "tabs".
>
>  > I think that is a good illustration of how confusing different
>  > terms can be... ;-)  "Tabs" is a UI thing. Calling buffers "tabs"
>  > would be very, very confusing for most new users.
>
> Agreed.  I'm not suggesting that as Emacs terminology.  I'm saying
> that users are going to see buffers as ways to show different content
> in the same (GUI) window just like tabs do.
>
> I see. ;-)
In a way, yes. It is a very useful concept. And one of the few things I
think should be presented to new users. The rest should be so familiar so
they should be able to start without knowing more. (If they are just to
Notepad or something similar.

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

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

* Re: Apologia for bzr
  2014-01-06 20:32                                   ` Daniel Colascione
  2014-01-06 23:43                                     ` Lennart Borgman
  2014-01-07  6:05                                     ` Christophe Poncy
@ 2014-01-07 16:53                                     ` Richard Stallman
  2 siblings, 0 replies; 401+ messages in thread
From: Richard Stallman @ 2014-01-07 16:53 UTC (permalink / raw)
  To: Daniel Colascione
  Cc: esr, toby-dated-1389972095.0848dd, lennart.borgman, 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. ]]]

    At least on the lisp 
    level, we would have to maintain compatibility aliases effectively 
    forever, doubling the number of lisp symbols dealing with these 
    concepts.

I don't think it has to be forever.  After a few years,
we could drop the old names.

We could rename `window' to `pane', but not rename `frame'.
That way, there would be no incompatibility, and only one stage
of renaming would be required.

I am still not saying we _should_ do this.

-- 
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] 401+ messages in thread

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 10:30                                         ` Lennart Borgman
@ 2014-01-07 18:05                                           ` Joel Mccracken
  2014-01-07 19:06                                             ` Drew Adams
  2014-01-07 19:37                                             ` David Kastrup
  0 siblings, 2 replies; 401+ messages in thread
From: Joel Mccracken @ 2014-01-07 18:05 UTC (permalink / raw)
  To: Lennart Borgman
  Cc: Richard Stallman, Toby Cubitt, Emacs-Devel devel, Eric Raymond,
	Stefan Monnier, Lars Magne Ingebrigtsen, Drew Adams

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

Beyond trying to remember, using current terminology is sends the message that Emacs is old, stubborn, and crufty, which is a problem when trying to introduce new users to Emacs.

On Jan 7, 2014, at 5:30 AM, Lennart Borgman <lennart.borgman@gmail.com> wrote:

> On Tue, Jan 7, 2014 at 8:30 AM, Drew Adams <drew.adams@oracle.com> wrote:
> 
> What confusion?  Is there really a problem?  Are you sure?
> 
> I've been dealing with newbie Emacs questions and confusion
> for as long as most of you, and I don't think I have ever
> encountered a user who had difficulting understanding what
> we mean, once the terms are presented.
> 
> The difficulty is not understanding, but rather remembering. "What a h-ll did they call that?"
> 


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

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

* RE: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 18:05                                           ` Joel Mccracken
@ 2014-01-07 19:06                                             ` Drew Adams
  2014-01-07 19:17                                               ` Lennart Borgman
  2014-01-07 19:56                                               ` David Reitter
  2014-01-07 19:37                                             ` David Kastrup
  1 sibling, 2 replies; 401+ messages in thread
From: Drew Adams @ 2014-01-07 19:06 UTC (permalink / raw)
  To: Joel Mccracken, Lennart Borgman
  Cc: Richard Stallman, Toby Cubitt, Emacs-Devel devel, Eric Raymond,
	Stefan Monnier, Lars Magne Ingebrigtsen

> Beyond trying to remember, using current terminology is sends
> the message that Emacs is old, stubborn, and crufty, which is a
> problem when trying to introduce new users to Emacs.

No, it does not.  If Emacs were invented from scratch today, it
would still need its own jargon.  Some of the particulars would
no doubt be different, but Emacs would still stand apart in both
behavior and terminology.

Emacs happens to be old.  And it happens to be different.
Being different does not send a message that Emacs is old, or
stubborn, or crufty.  Being old means that it is, well, old.
But that too does not send a message that it is stubborn or
crufty.

You are sending that message, by proposing that the terminology
be updated etc.  Someone new to Emacs and aware of this kind of
discussion can be forgiven for getting the mistaken impression
that Emacs behavior is just the same as other apps but the
terminology is out-of-date and so makes learning it unnecessarily
difficult.  That's the wrong message entirely - quite misleading.

The right takeaway for a new user is that learning Emacs is
learning something new and different - it is not your momma's
editor.  And it rightfully has its own terminology, which you
had better learn also.

The Greek philosopher Proclus records that when Ptolemy asked
if there wasn't perhaps an easier way to learn Emacs than Emacs,
Euclid replied, "Sire, there is no royal road to Emacs."



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-06 16:09                       ` Eli Zaretskii
  2014-01-06 17:57                         ` Jordi Gutiérrez Hermoso
  2014-01-06 18:07                         ` David Kastrup
@ 2014-01-07 19:17                         ` David Kastrup
  2014-01-07 19:20                           ` Eli Zaretskii
  2014-01-07 20:24                           ` Rüdiger Sonderfeld
  2 siblings, 2 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-07 19:17 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: David Kastrup <dak@gnu.org>
>> Date: Mon, 06 Jan 2014 15:53:28 +0100
>> 
>> Richard Stallman <rms@gnu.org> writes:
>> 
>> >     I never consult changelog files if I have the full VCS history.
>> >
>> > I do.  I use the ChangeLog files to see what changes affected a
>> > certain function.
>> 
>> I tend to use C-x v g for that (it maps to git blame).
>
> This can be annoyingly slow (and with git is slower than with bzr).
> E.g., try xdisp.c: it takes git more than 4 minutes to display
> anything in response to "C-x v g" (2 minutes if done from the shell).
> Looking into ChangeLog's is surely faster.
>
> Someone, I think it was you, once told me that the slow operation of
> 'git blame' was a deliberate design decision of the git developers.

No, not really: it's just that blaming a file is not cheaper than
blaming a directory.

At any rate, I'm currently just analyzing the code for git-blame, and
for better or worse, it's appallingly bad (quadratic in file size, times
number of commits).  It should be fairly straightforward to bring down
the time rather dramatically.  Several inner loops are run more than
2^32 times for "git blame src/xdisp.c".

It's not a design decision, it is just bad programming.  Salvageable.
Considering how much life time I spent waiting for some git-gui blame (I
conveniently forgot about that, I have to admit) it's sort of amusing
that I never thought of looking at its code (several years ago,
I improved some of the performance-critical but already efficient parts
of git).  This should be rather low-hanging fruit.

Of course, it will likely take a year to trickle down even if I
contribute something in the next weeks.

-- 
David Kastrup




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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 19:06                                             ` Drew Adams
@ 2014-01-07 19:17                                               ` Lennart Borgman
  2014-01-07 19:56                                               ` David Reitter
  1 sibling, 0 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-07 19:17 UTC (permalink / raw)
  To: Drew Adams
  Cc: Richard Stallman, Toby Cubitt, Emacs-Devel devel, Eric Raymond,
	Stefan Monnier, Joel Mccracken, Lars Magne Ingebrigtsen

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

On Tue, Jan 7, 2014 at 8:06 PM, Drew Adams <drew.adams@oracle.com> wrote:

>
> The right takeaway for a new user is that learning Emacs is
> learning something new and different - it is not your momma's
> editor.  And it rightfully has its own terminology, which you
> had better learn also.
>
>
Did not someone say it was his momma's editor? ;-)
I think you are taking your points too far. For me the problem is how to
make a good road into Emacs for new users. I want a feeling like "this is
what I am used to and now I am glad I discovered the new possibilities". It
should be both familiar and new at the same time.


> The Greek philosopher Proclus records that when Ptolemy asked
> if there wasn't perhaps an easier way to learn Emacs than Emacs,
> Euclid replied, "Sire, there is no royal road to Emacs."
>

There might be some translation error or misunderstanding there. ;-)

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-07 19:17                         ` David Kastrup
@ 2014-01-07 19:20                           ` Eli Zaretskii
  2014-01-07 20:24                           ` Rüdiger Sonderfeld
  1 sibling, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-07 19:20 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

> From: David Kastrup <dak@gnu.org>
> Date: Tue, 07 Jan 2014 20:17:15 +0100
> 
> At any rate, I'm currently just analyzing the code for git-blame, and
> for better or worse, it's appallingly bad (quadratic in file size, times
> number of commits).  It should be fairly straightforward to bring down
> the time rather dramatically.  Several inner loops are run more than
> 2^32 times for "git blame src/xdisp.c".
> 
> It's not a design decision, it is just bad programming.  Salvageable.
> Considering how much life time I spent waiting for some git-gui blame (I
> conveniently forgot about that, I have to admit) it's sort of amusing
> that I never thought of looking at its code (several years ago,
> I improved some of the performance-critical but already efficient parts
> of git).  This should be rather low-hanging fruit.

It would be nice, as for me xdisp.c is a file into whose history I
must dig very frequently.

Thanks.




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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 18:05                                           ` Joel Mccracken
  2014-01-07 19:06                                             ` Drew Adams
@ 2014-01-07 19:37                                             ` David Kastrup
  2014-01-07 19:50                                               ` Lennart Borgman
                                                                 ` (2 more replies)
  1 sibling, 3 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-07 19:37 UTC (permalink / raw)
  To: emacs-devel

Joel Mccracken <mccracken.joel@gmail.com> writes:

> Beyond trying to remember, using current terminology is sends the
> message that Emacs is old, stubborn, and crufty, which is a problem
> when trying to introduce new users to Emacs.

Emacs _is_ one of the old great ones.  You are trying to make Gandalf
more popular by plucking his nose hairs.

-- 
David Kastrup




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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 19:37                                             ` David Kastrup
@ 2014-01-07 19:50                                               ` Lennart Borgman
  2014-01-07 22:24                                               ` Great Old One? Eric S. Raymond
  2014-01-08  3:41                                               ` Emacs terminology (not again!?) [was: Apologia for bzr] Richard Stallman
  2 siblings, 0 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-07 19:50 UTC (permalink / raw)
  To: David Kastrup; +Cc: Emacs-Devel devel

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

On Tue, Jan 7, 2014 at 8:37 PM, David Kastrup <dak@gnu.org> wrote:

> Joel Mccracken <mccracken.joel@gmail.com> writes:
>
> > Beyond trying to remember, using current terminology is sends the
> > message that Emacs is old, stubborn, and crufty, which is a problem
> > when trying to introduce new users to Emacs.
>
> Emacs _is_ one of the old great ones.  You are trying to make Gandalf
> more popular by plucking his nose hairs.
>
> The great thing lives in its power, not in the nose hairs. Just pick them.
;-)

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

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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 19:06                                             ` Drew Adams
  2014-01-07 19:17                                               ` Lennart Borgman
@ 2014-01-07 19:56                                               ` David Reitter
  2014-01-07 20:31                                                 ` Drew Adams
  1 sibling, 1 reply; 401+ messages in thread
From: David Reitter @ 2014-01-07 19:56 UTC (permalink / raw)
  To: Drew Adams; +Cc: Emacs-Devel devel

On Jan 7, 2014, at 2:06 PM, Drew Adams <drew.adams@oracle.com> wrote:

>> Beyond trying to remember, using current terminology is sends
>> the message that Emacs is old, stubborn, and crufty, which is a
>> problem when trying to introduce new users to Emacs.
> 
> No, it does not.  If Emacs were invented from scratch today, it
> would still need its own jargon.  Some of the particulars would
> no doubt be different, but Emacs would still stand apart in both
> behavior and terminology.

Yes, but the jargon would not conflict with widely used terminology.  Would you really redefine a common word like "window", and invent another one referring to the established meaning of windows?  

Other things are actually different, and different terms are appropriate. "Mark" comes to mind, or "major" and "minor" modes.

You're right in that Emacs is not yet another editor, and you want to send that message.  But, don't people see this soon enough when they actually use it?

The UI experiment that I have been interested in with Aquamacs, is to allow people to gradually transition from a newbie user to a proficient one with high routinized sequences of actions.  This is actually something that other editors and IDEs can't provide to the extent that Emacs does.  Netbeans, Eclipse, Xcode - they're great IDEs and very integrated, and certainly useful for proficient users, but they're nowhere nearly as efficient as Emacs.







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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-07 19:17                         ` David Kastrup
  2014-01-07 19:20                           ` Eli Zaretskii
@ 2014-01-07 20:24                           ` Rüdiger Sonderfeld
  1 sibling, 0 replies; 401+ messages in thread
From: Rüdiger Sonderfeld @ 2014-01-07 20:24 UTC (permalink / raw)
  To: emacs-devel; +Cc: David Kastrup

On Tuesday 07 January 2014 20:17:15 David Kastrup wrote:
> It's not a design decision, it is just bad programming.  Salvageable.
> Considering how much life time I spent waiting for some git-gui blame (I
> conveniently forgot about that, I have to admit) it's sort of amusing
> that I never thought of looking at its code (several years ago,
> I improved some of the performance-critical but already efficient parts
> of git).  This should be rather low-hanging fruit.
> 
> Of course, it will likely take a year to trickle down even if I
> contribute something in the next weeks.

Please fix this.  Running git blame on a large file is quite a pain 
(especially when done through `magit-blame-mode' or other synchronous emacs 
blame mode).

Regards
Rüdiger




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

* RE: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 19:56                                               ` David Reitter
@ 2014-01-07 20:31                                                 ` Drew Adams
  2014-01-07 20:42                                                   ` Lennart Borgman
  2014-01-10  2:12                                                   ` David Reitter
  0 siblings, 2 replies; 401+ messages in thread
From: Drew Adams @ 2014-01-07 20:31 UTC (permalink / raw)
  To: David Reitter; +Cc: Emacs-Devel devel

> > If Emacs were invented from scratch today, it
> > would still need its own jargon.  Some of the particulars would
> > no doubt be different, but Emacs would still stand apart in both
> > behavior and terminology.
> 
> Yes, but the jargon would not conflict with widely used terminology.

Preferably, yes; agreed.  Other things being equal...

> Would you really redefine a common word like "window", and invent
> another one referring to the established meaning of windows?

No, I would not.  This is what I meant by "Some of the particulars
would no doubt be different."

> Other things are actually different, and different terms are
> appropriate. "Mark" comes to mind, or "major" and "minor" modes.

Yes, in general.  (Dunno about "mark", but let's not get into
particulars right now.)

> You're right in that Emacs is not yet another editor, and you want
> to send that message.  But, don't people see this soon enough when
> they actually use it?

Yes.  I am not suggesting that that message is not getting across.
You are mistaken that I feel a need to send that message.  My point
was that Emacs behavior is different, and it necessarily has its
own terminology to some extent.  That is not something to be wished
away or papered over.

> The UI experiment that I have been interested in with Aquamacs, is
> to allow people to gradually transition from a newbie user to a
> proficient one with high routinized sequences of actions.  This is
> actually something that other editors and IDEs can't provide to the
> extent that Emacs does.  Netbeans, Eclipse, Xcode - they're great
> IDEs and very integrated, and certainly useful for proficient users,
> but they're nowhere nearly as efficient as Emacs.

Concrete suggestions about that might well be helpful.  So far,
the discussion has just rehashed previous ones.  What you suggest
is not a bad goal, but the starting point should not be to short-sell
newbie Emacs users (not suggesting your approach does that; I don't
know).  They are as bright as past newbies, no doubt.

Yes, they have more experience with other approaches that could
mislead them - Emacs is not often their first editor/UI.  But that
does not mean they cannot "get" Emacs.  What is true today, as it
always has been, is that some effort to learn is needed.  You
cannot just pick up Emacs expecting it to do what you are used to,
without being disappointed or missing the boat.

One has only to look at the questions on a site such as
StackOverflow, not especially those about Emacs, but generally
(and apparently about PHP in particular), to see that some users
expect instant familiarity with a product without any effort - not
even a cursory look at the doc or a Google search.  The SO site
leaders are continually lamenting the poor quality of (some)
questions and askers.  Some people really do expect a royal road
to learning.  Encouraging them in that does not help them or
anyone else.



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 20:31                                                 ` Drew Adams
@ 2014-01-07 20:42                                                   ` Lennart Borgman
  2014-01-10  2:12                                                   ` David Reitter
  1 sibling, 0 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-07 20:42 UTC (permalink / raw)
  To: Drew Adams; +Cc: David Reitter, Emacs-Devel devel

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

On Tue, Jan 7, 2014 at 9:31 PM, Drew Adams <drew.adams@oracle.com> wrote:

>
> One has only to look at the questions on a site such as
> StackOverflow, not especially those about Emacs, but generally
> (and apparently about PHP in particular), to see that some users
> expect instant familiarity with a product without any effort - not
> even a cursory look at the doc or a Google search.  The SO site
> leaders are continually lamenting the poor quality of (some)
> questions and askers.  Some people really do expect a royal road
> to learning.  Encouraging them in that does not help them or
> anyone else.
>
>
The main road to learning is probably that it is fun. That is how our
brains work. Learning new names for wellknown things is not that fun. It is
just trivial. (Unless you are learning a new language, of course.)

I would expect Emacs new comers to look for the real interesting things in
Emacs. And those who do that are perhaps those that have most to gain from
Emacs. They might just stop because of the boring trivial things.

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

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

* Great Old One?
  2014-01-07 19:37                                             ` David Kastrup
  2014-01-07 19:50                                               ` Lennart Borgman
@ 2014-01-07 22:24                                               ` Eric S. Raymond
  2014-01-08  1:20                                                 ` Bob Bobeck
  2014-01-08  2:19                                                 ` Jay Belanger
  2014-01-08  3:41                                               ` Emacs terminology (not again!?) [was: Apologia for bzr] Richard Stallman
  2 siblings, 2 replies; 401+ messages in thread
From: Eric S. Raymond @ 2014-01-07 22:24 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

David Kastrup <dak@gnu.org>:
> Emacs _is_ one of the old great ones.  You are trying to make Gandalf
> more popular by plucking his nose hairs.

I could not help reading that as "Emacs is one of the Great Old Ones"

It's...all so obvious now. The keystrokes, the barbarous keystrokes!
Ctrl-Alt-Double-Bucky-PENTAGRAM (U+26E4) - what are these but
invocations of Emacsthulhu who lies sleeping beneath 545 Tech Square,
until the dread day when the stars align and he rises to claim his
dominion?
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: Great Old One?
  2014-01-07 22:24                                               ` Great Old One? Eric S. Raymond
@ 2014-01-08  1:20                                                 ` Bob Bobeck
  2014-01-08 17:24                                                   ` Jordi Gutiérrez Hermoso
  2014-01-08  2:19                                                 ` Jay Belanger
  1 sibling, 1 reply; 401+ messages in thread
From: Bob Bobeck @ 2014-01-08  1:20 UTC (permalink / raw)
  To: esr; +Cc: David Kastrup, emacs-devel

*crickets*

On 1/7/14, Eric S. Raymond <esr@thyrsus.com> wrote:
> David Kastrup <dak@gnu.org>:
>> Emacs _is_ one of the old great ones.  You are trying to make Gandalf
>> more popular by plucking his nose hairs.
>
> I could not help reading that as "Emacs is one of the Great Old Ones"
>
> It's...all so obvious now. The keystrokes, the barbarous keystrokes!
> Ctrl-Alt-Double-Bucky-PENTAGRAM (U+26E4) - what are these but
> invocations of Emacsthulhu who lies sleeping beneath 545 Tech Square,
> until the dread day when the stars align and he rises to claim his
> dominion?
> --
> 		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
>
>
>



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

* Re: Great Old One?
  2014-01-07 22:24                                               ` Great Old One? Eric S. Raymond
  2014-01-08  1:20                                                 ` Bob Bobeck
@ 2014-01-08  2:19                                                 ` Jay Belanger
  2014-01-08  4:55                                                   ` Joel Mccracken
  1 sibling, 1 reply; 401+ messages in thread
From: Jay Belanger @ 2014-01-08  2:19 UTC (permalink / raw)
  To: emacs-devel; +Cc: jay.p.belanger


>> Emacs _is_ one of the old great ones.  You are trying to make Gandalf
>> more popular by plucking his nose hairs.
>
> I could not help reading that as "Emacs is one of the Great Old Ones"
>
> It's...all so obvious now. The keystrokes, the barbarous keystrokes!
> Ctrl-Alt-Double-Bucky-PENTAGRAM (U+26E4) - what are these but
> invocations of Emacsthulhu who lies sleeping beneath 545 Tech Square,
> until the dread day when the stars align and he rises to claim his
> dominion?

Now that it's been pointed out, we should just rename Emacs as CTHULHU:
 CTHULHU's Top Hacks Using Lisp, Horrifying Users
For CTHULHU 25, M-x doctor should be replaced by M-x cthulhu, which no
one should ever call.



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 19:37                                             ` David Kastrup
  2014-01-07 19:50                                               ` Lennart Borgman
  2014-01-07 22:24                                               ` Great Old One? Eric S. Raymond
@ 2014-01-08  3:41                                               ` Richard Stallman
  2014-01-08  4:14                                                 ` Bob Bobeck
  2 siblings, 1 reply; 401+ messages in thread
From: Richard Stallman @ 2014-01-08  3:41 UTC (permalink / raw)
  To: David Kastrup; +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. ]]]

    Emacs _is_ one of the old great ones.  You are trying to make Gandalf
    more popular by plucking his nose hairs.

It's not a good analogy.  People can like Gandalf as a character
without having to learn lots of incantations.

Learning Emacs is never going to be easy.  But we might be able
to change Emacs so that learning it is a little less hard,
and that would be a substantial improvement.

-- 
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] 401+ messages in thread

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-08  3:41                                               ` Emacs terminology (not again!?) [was: Apologia for bzr] Richard Stallman
@ 2014-01-08  4:14                                                 ` Bob Bobeck
  0 siblings, 0 replies; 401+ messages in thread
From: Bob Bobeck @ 2014-01-08  4:14 UTC (permalink / raw)
  To: rms; +Cc: esr, David Kastrup, emacs-devel

I think it's more like Dumbledwarf. He gets killed in the end. Bwahahhahaha.

On 1/7/14, Richard Stallman <rms@gnu.org> wrote:
> [[[ 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. ]]]
>
>     Emacs _is_ one of the old great ones.  You are trying to make Gandalf
>     more popular by plucking his nose hairs.
>
> It's not a good analogy.  People can like Gandalf as a character
> without having to learn lots of incantations.
>
> Learning Emacs is never going to be easy.  But we might be able
> to change Emacs so that learning it is a little less hard,
> and that would be a substantial improvement.
>
> --
> 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] 401+ messages in thread

* Re: Great Old One?
  2014-01-08  2:19                                                 ` Jay Belanger
@ 2014-01-08  4:55                                                   ` Joel Mccracken
  0 siblings, 0 replies; 401+ messages in thread
From: Joel Mccracken @ 2014-01-08  4:55 UTC (permalink / raw)
  To: jay.p.belanger; +Cc: emacs-devel

I *was* wondering about that Emacs user group at Miskatonic University…


Joel

On Jan 7, 2014, at 9:19 PM, Jay Belanger <jay.p.belanger@gmail.com> wrote:

> 
>>> Emacs _is_ one of the old great ones.  You are trying to make Gandalf
>>> more popular by plucking his nose hairs.
>> 
>> I could not help reading that as "Emacs is one of the Great Old Ones"
>> 
>> It's...all so obvious now. The keystrokes, the barbarous keystrokes!
>> Ctrl-Alt-Double-Bucky-PENTAGRAM (U+26E4) - what are these but
>> invocations of Emacsthulhu who lies sleeping beneath 545 Tech Square,
>> until the dread day when the stars align and he rises to claim his
>> dominion?
> 
> Now that it's been pointed out, we should just rename Emacs as CTHULHU:
> CTHULHU's Top Hacks Using Lisp, Horrifying Users
> For CTHULHU 25, M-x doctor should be replaced by M-x cthulhu, which no
> one should ever call.
> 




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

* Re: Great Old One?
  2014-01-08  1:20                                                 ` Bob Bobeck
@ 2014-01-08 17:24                                                   ` Jordi Gutiérrez Hermoso
  0 siblings, 0 replies; 401+ messages in thread
From: Jordi Gutiérrez Hermoso @ 2014-01-08 17:24 UTC (permalink / raw)
  To: Bob Bobeck; +Cc: esr, David Kastrup, emacs-devel

On Tue, 2014-01-07 at 20:20 -0500, Bob Bobeck wrote:
> On 1/7/14, Eric S. Raymond <esr@thyrsus.com> wrote:
> > David Kastrup <dak@gnu.org>:
> >> Emacs _is_ one of the old great ones.  You are trying to make Gandalf
> >> more popular by plucking his nose hairs.
> >
> > I could not help reading that as "Emacs is one of the Great Old Ones"
> >
> > It's...all so obvious now. The keystrokes, the barbarous keystrokes!
> > Ctrl-Alt-Double-Bucky-PENTAGRAM (U+26E4) - what are these but
> > invocations of Emacsthulhu who lies sleeping beneath 545 Tech Square,
> > until the dread day when the stars align and he rises to claim his
> > dominion?

> *crickets*

Nah, I lol'ed. :-)

- Jordi G. H.





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

* Re: Apologia for bzr
  2014-01-07 10:30                                       ` Apologia for bzr Jose E. Marchesi
@ 2014-01-09 14:10                                         ` Per Starbäck
  2014-01-09 14:48                                           ` Emacs terminology (not again!?) [was: Apologia for bzr] Drew Adams
  0 siblings, 1 reply; 401+ messages in thread
From: Per Starbäck @ 2014-01-09 14:10 UTC (permalink / raw)
  To: emacs-devel@gnu.org

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

>
>     > This said, the "what you call a window is called a frame" is not
> nearly
>     > as problematic as "what we call window is not what you think", so
> maybe
>     > renaming "window" to "pane" would get us most of the benefit.
>
>     I think you're right there.  If we just get rid of the word
>     "window", I think that'll fix most confusions.  "Pane" and "frame"
>     are more "technical" terms, and people aren't as apt to make
>     assumptions about what they mean.
>
>
+1 to switching from "window", and leave it for a later time to decide when
we're ready to take the next step. That will certainly be a long time from
now, but the long run is what counts the most. And also there is a
significant gain already from step 1.

Aren't we underestimating users's natural ability to abstract terms and
> concepts?  For the average person the "confusion" regarding windows will
> least for no more than two minutes, if ever, given that both the
> tutorial and the manual explain what a window is...
>
>
Users *can* cope, but they have reason to choose not to do that. This is
one of several things where beginning users can get the impression that
Emacs is not for them because it's weird.  If they in just the first half
hour of using Emacs meet several such things they may conclude that working
with Emacs will continue to be like this; now and then it will turn out
that it doesn't work as "expected" and that there are new names for
everything, etc. Why not use That Other Editor that some other people
suggested instead?

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

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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-04 13:27                       ` Bastien
@ 2014-01-09 14:34                         ` Per Starbäck
  2014-01-09 14:49                           ` David Kastrup
  2014-01-09 16:56                           ` Glenn Morris
  0 siblings, 2 replies; 401+ messages in thread
From: Per Starbäck @ 2014-01-09 14:34 UTC (permalink / raw)
  To: emacs-devel@gnu.org; +Cc: Bastien, David Kastrup

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

>
> > So?  You can generate a ChangeLog file from Git, and we likely would do
> > so.  But frankly: it is quite unlikely for users to look at a ChangeLog
> > file.
>
> I did so when I was just a user.  But sure, that's probably a minority.
>
>
I do that as well.

Also, there is a point about credit that I don't think has been made: Even
though I don't have write access to the Emacs repository I'm mentioned in
some Changelogs because of fixes I've mailed when reporting bugs. I think I
was somewhat thrilled the first times developers put my name there instead
of their own when checking in those fixes. It is maybe not a big point, but
still a point, since that feeling can be an impetus to making more fixes.

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

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

* RE: Emacs terminology (not again!?)  [was: Apologia for bzr]
  2014-01-09 14:10                                         ` Per Starbäck
@ 2014-01-09 14:48                                           ` Drew Adams
  2014-01-09 15:21                                             ` Per Starbäck
  0 siblings, 1 reply; 401+ messages in thread
From: Drew Adams @ 2014-01-09 14:48 UTC (permalink / raw)
  To: Per Starbäck, emacs-devel

> users can get the impression that Emacs is not for them because it's weird.
> If they in just the first half hour of using Emacs meet several such things
> they may conclude that working with Emacs will continue to be like this;
> now and then it will turn out that it doesn't work as "expected" and that
> there are new names for everything, etc.  Why not use That Other Editor
> that some other people suggested instead?

Why not, indeed?  Problem solved.

At ease; false alarm.  Circulez ; il n'y a rien a voir.

(And _you_ are not using That Other Editor why?  Did you perhaps spend
more than 1/2 hour learning This Old Editor?)



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-09 14:34                         ` Per Starbäck
@ 2014-01-09 14:49                           ` David Kastrup
  2014-01-09 16:56                           ` Glenn Morris
  1 sibling, 0 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-09 14:49 UTC (permalink / raw)
  To: Per Starbäck; +Cc: Bastien, emacs-devel@gnu.org

Per Starbäck <per@starback.se> writes:

>>
>> > So?  You can generate a ChangeLog file from Git, and we likely would do
>> > so.  But frankly: it is quite unlikely for users to look at a ChangeLog
>> > file.
>>
>> I did so when I was just a user.  But sure, that's probably a minority.
>>
>>
> I do that as well.
>
> Also, there is a point about credit that I don't think has been made:
> Even though I don't have write access to the Emacs repository I'm
> mentioned in some Changelogs because of fixes I've mailed when
> reporting bugs. I think I was somewhat thrilled the first times
> developers put my name there instead of their own when checking in
> those fixes. It is maybe not a big point, but still a point, since
> that feeling can be an impetus to making more fixes.

So what?  If you send in a patch formatted with git format-patch, you
will be listed the author of the patch automatically when the patch is
applied with git am, regardless of who pushes it (the pusher of a patch
is only a minor information you have to ask explicitly for: the normal
log does not mention him or her, the main information being the author
of a patch).

Even if you send in just a diff, it can be committed using the --author
option in order to preserve proper credit.

So your "point about credit" is not more than a misconception.

-- 
David Kastrup



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-09 14:48                                           ` Emacs terminology (not again!?) [was: Apologia for bzr] Drew Adams
@ 2014-01-09 15:21                                             ` Per Starbäck
  2014-01-09 16:44                                               ` Drew Adams
  0 siblings, 1 reply; 401+ messages in thread
From: Per Starbäck @ 2014-01-09 15:21 UTC (permalink / raw)
  To: emacs-devel@gnu.org; +Cc: Drew Adams

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

2014/1/9 Drew Adams <drew.adams@oracle.com>

> > users can get the impression that Emacs is not for them because it's
> weird.
> > If they in just the first half hour of using Emacs meet several such
> things
> > they may conclude that working with Emacs will continue to be like this;
> > now and then it will turn out that it doesn't work as "expected" and that
> > there are new names for everything, etc.  Why not use That Other Editor
> > that some other people suggested instead?
>
> Why not, indeed?  Problem solved.
>

Then you are talking about another problem than I am. Functionality (and
attitudes) that turn away those people is indeed a problem for Emacs. It is
sometimes direct, but often indirect (they don't even try Emacs because a
distro maintainer thought that it shouldn't be installed by default). We
want those users. Especially the part of them that would have become
developers.

(And _you_ are not using That Other Editor why?  Did you perhaps spend
> more than 1/2 hour learning This Old Editor?)
>

This seems irrelevant to me. What is your point?

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

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

* RE: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-09 15:21                                             ` Per Starbäck
@ 2014-01-09 16:44                                               ` Drew Adams
  2014-01-09 17:27                                                 ` Per Starbäck
  0 siblings, 1 reply; 401+ messages in thread
From: Drew Adams @ 2014-01-09 16:44 UTC (permalink / raw)
  To: Per Starbäck, emacs-devel

>>> users can get the impression that Emacs is not for them because it's weird.
>>> If they in just the first half hour of using Emacs meet several such things
>>> they may conclude that working with Emacs will continue to be like this;
>>> now and then it will turn out that it doesn't work as "expected" and that
>>> there are new names for everything, etc.  Why not use That Other Editor
>>> that some other people suggested instead?
>>
>> Why not, indeed?  Problem solved.
>
> Then you are talking about another problem than I am.  Functionality (and
> attitudes) that turn away those people is indeed a problem for Emacs.

Are you sure that turning away "those people" is a problem for Emacs?

>> (And _you_ are not using That Other Editor why?  Did you perhaps
>> spend more than 1/2 hour learning This Old Editor?)
>
> This seems irrelevant to me. What is your point?

Emacs _is_ a better mousetrap.
http://en.wikipedia.org/wiki/Build_a_better_mousetrap,_and_the_world_will_beat_a_path_to_your_door

To really appreciate it, some people, if not most, need to give it more
than 1/2 hour, before jumping to the conclusion that it is not worth
their spending more time with it.  As Richard put it, "Learning Emacs is
never going to be easy."  Or as I said:

  Learning Emacs is learning something new and different - it is not
  your momma's editor.  And it rightfully has its own terminology.

"Those people" who don't feel they need to bother - well, they will
either get it later, by way of others, or they will not.  Tant pis.

Emacs losing out because Eclipse or whatever offers more code-refactoring
(or whatever) power, out of the box - that's one thing.  Emacs has room
for improvement in lots of areas, no doubt about that.

But Emacs being "weird" because it uses the word "window" differently -
that's another thing.  I have never encountered a newbie taking Emacs
for a test drive who could not understand, when told what an Emacs
window is.  Have you?

But yes, it might take more than 1/2 hour for Emacs to introduce itself
properly to a user.  ("Hello there, I'm GNU Emacs. Who are you?")

This isn't a cocktail party!  But even if it were, there are some people
who, if given the opportunity, would give up in 5 minutes after being
introduced to the likes of <INSERT HERE your favorite respected
luminaries and Great Ones>, even if they spoke the same language.  Some
people are unfortunately "those people".

Other things being equal, of course we want to make things easy to learn.
Of course we do not want to throw up unnecessary obstacles.  Gratuitous
differences in terminology for identical things should be dealt with -
and they generally are.

  But (a) that is rare (the Emacs thingies are not really the same), and
  (b) even then it is not important to toe the line.  Especially if the
  things are identical, it is easy to learn new terms for them.

The Emacs UI and doc have been dealing with this for almost 4 decades
now.  It does take at least a few minutes and a few examples to get the
notion and behavior of an Emacs "buffer".  Weird!  Not what you're used
to.  Give it a little time.  A better mousetrap - you'll see.

That kind of hand-holding encouragement is fine.  But there is no reason
to underestimate potential users.  Some people will give up without
giving Emacs a chance.  So what?  Others will not - just as you did not.
Why suppose that potential Emacs users are less patient or curious or
intelligent than we are?



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

* Re: PROPOSAL: Move to git, now that bzr is no longer a req.
  2014-01-09 14:34                         ` Per Starbäck
  2014-01-09 14:49                           ` David Kastrup
@ 2014-01-09 16:56                           ` Glenn Morris
  1 sibling, 0 replies; 401+ messages in thread
From: Glenn Morris @ 2014-01-09 16:56 UTC (permalink / raw)
  To: Per Starbäck; +Cc: emacs-devel@gnu.org

Per Starbäck wrote:

> Also, there is a point about credit that I don't think has been made: Even
> though I don't have write access to the Emacs repository I'm mentioned in
> some Changelogs because of fixes I've mailed when reporting bugs. I think I
> was somewhat thrilled the first times developers put my name there instead
> of their own when checking in those fixes. It is maybe not a big point, but
> still a point, since that feeling can be an impetus to making more fixes.

That's why we encourage use of --author when committing things by other
people.



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-09 16:44                                               ` Drew Adams
@ 2014-01-09 17:27                                                 ` Per Starbäck
  2014-01-09 17:42                                                   ` David Kastrup
  0 siblings, 1 reply; 401+ messages in thread
From: Per Starbäck @ 2014-01-09 17:27 UTC (permalink / raw)
  To: emacs-devel@gnu.org; +Cc: Drew Adams

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

2014/1/9 Drew Adams <drew.adams@oracle.com>

> > Then you are talking about another problem than I am.  Functionality (and
> > attitudes) that turn away those people is indeed a problem for Emacs.
>
> Are you sure that turning away "those people" is a problem for Emacs?
>
>
Yes. Any attitude of "it should be hard to learn because the good people
can learn things that are hard to learn" is just contraproductive.


> >> (And _you_ are not using That Other Editor why?  Did you perhaps
> >> spend more than 1/2 hour learning This Old Editor?)
> >
> > This seems irrelevant to me. What is your point?
>
> Emacs _is_ a better mousetrap.
>
> http://en.wikipedia.org/wiki/Build_a_better_mousetrap,_and_the_world_will_beat_a_path_to_your_door
>
> To really appreciate it, some people, if not most, need to give it more
> than 1/2 hour, before jumping to the conclusion that it is not worth
> their spending more time with it.  As Richard put it, "Learning Emacs is
> never going to be easy."  Or as I said:
>
>   Learning Emacs is learning something new and different - it is not
>   your momma's editor.  And it rightfully has its own terminology.
>

Those are not comparable quotes at all. Richard wants Emacs to be easier to
learn for beginners, and I doubt he would write something like your momma
quote. Emacs is the text editor for a GNU system. It shouldn't need some
other text editor for "your momma" besides it, but have Emacs be the
program used for any user who need plain text editing. That Gnome had to
create a new text editor to be the default editor for Gnome was a *big*
setback for Emacs.

To really appreciate any text editor takes time.


> "Those people" who don't feel they need to bother - well, they will
> either get it later, by way of others, or they will not.  Tant pis.
>

That works only if your goal is this elite Emacs. The "right" users will
find it eventually anyway. Not all people have that idea about Emacs.


> But Emacs being "weird" because it uses the word "window" differently -
> that's another thing.  I have never encountered a newbie taking Emacs
> for a test drive who could not understand, when told what an Emacs
> window is.  Have you?
>
>
That's rehashing. It's not about understanding. It's about what impression
you make.


>
> Other things being equal, of course we want to make things easy to learn.
> Of course we do not want to throw up unnecessary obstacles.  Gratuitous
> differences in terminology for identical things should be dealt with -
> and they generally are.
>

So why do you object when people want to deal with this particular
gratuitous difference in terminology? The proposed window->pane change
doesn't affect other stuff. Yes, an Emacs "buffer" for instance is an Emacs
concept that you have to learn because it's different from what you've used
elsewhere, but that's not part of this at all.


> That kind of hand-holding encouragement is fine.  But there is no reason
> to underestimate potential users.  Some people will give up without
> giving Emacs a chance.  So what?  Others will not - just as you did not.
> Why suppose that potential Emacs users are less patient or curious or
> intelligent than we are?
>

My using Emacs is irrelevant. One reason is that I learned (Teco) Emacs in
the 1980s, when expectations on how to learn programs were very different
from now, and with not really any other text editors to choose from anyway.
Another is that the main reason I'm using (GNU) Emacs now is that it's the
editor of the GNU system. If GNU had gone with something else I would
probably have started using that instead, even though that would have been
a much bigger transition than going from one Emacs to another.

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

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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-09 17:27                                                 ` Per Starbäck
@ 2014-01-09 17:42                                                   ` David Kastrup
  2014-01-09 19:11                                                     ` Tom
  2014-01-10 14:37                                                     ` Richard Stallman
  0 siblings, 2 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-09 17:42 UTC (permalink / raw)
  To: emacs-devel

Per Starbäck <per@starback.se> writes:

> 2014/1/9 Drew Adams <drew.adams@oracle.com>
>
>> > Then you are talking about another problem than I am.  Functionality (and
>> > attitudes) that turn away those people is indeed a problem for Emacs.
>>
>> Are you sure that turning away "those people" is a problem for Emacs?
>>
> Yes. Any attitude of "it should be hard to learn because the good
> people can learn things that are hard to learn" is just
> contraproductive.

It's more like "it's unavoidable to provide difficulties to learning
because it can do a lot, and when a lot is easily accessible, you'll
have stuff getting in your hair accidentally".

Musicians learn their instruments, craftsmen learn their tools.
Unfretted bowed string instruments remain a favorite even though the
possibilities for producing wrong notes or sounds that cannot in good
conscience even be called "tones" are staggering when compared to, say,
a piano.  Attempts to cut down on variables the player can get wrong,
like the hurdy gurdy, did not really take off.

A programmer will spend most of his life interacting with an editor and
texts.

> Those are not comparable quotes at all. Richard wants Emacs to be
> easier to learn for beginners, and I doubt he would write something
> like your momma quote.

A carving knife with an exploding handle is not going to be popular.
But you won't be able to sell one with a blunt edge "for safety" either.
Within the variables, one wants to make things as simple as possible but
not simpler.

-- 
David Kastrup




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

* Re: vc.el support for staging hunks/files
  2014-01-03 10:29                     ` vc.el support for staging hunks/files João Távora
@ 2014-01-09 17:49                       ` Dan Nicolaescu
  0 siblings, 0 replies; 401+ messages in thread
From: Dan Nicolaescu @ 2014-01-09 17:49 UTC (permalink / raw)
  To: João Távora; +Cc: Emacs developers, Yuri Khan

joaotavora@gmail.com (João Távora) writes:

>> On Fri, Jan 3, 2014 at 3:57 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>>> I've managed to grasp all that, I've made an alias for "commit -a",
>>> because that's what I almost always want.  (And why isn't that the
>>> default, dammit?)
>
> Yuri Khan <yuri.v.khan@gmail.com> writes:
>> Because staging is a key concept in git and it enables a whole lot of
>> useful workflows. E.g. you can work all day and half the next day on a
>> feature, making small formatting changes and fix coding style
>> violations on your way as you spot them, then fire up a commit tool
>> and make three commits, one for trivial formatting changes, another
>> for coding style fixes, and a third one with the feature you actually
>> worked on.
>>
>> Without staging, you would have to look at the diff, back up and
>> revert some changes so that the working directory looks the way you
>> want for one commit, then the other, then the next one. Or you would
>> hold off fixing small things until you have committed the feature, and
>> risk forgetting to do them.
>
> +1 for git and +1 for this technique in particular. This has to be the
> most useful thing that git brought to the table for me.
>
> I also thought git commit -a would be always what I wanted, but I was
> obviously wrong. Now my favourite workflow is to prototype a change with
> some initial commits, semantically independent, sometimes even
> empty. Then hack away at everything at once like in pre-VCS days. Then
> use git add -p (or git gui) to make many "fixup" commits that can be
> squashed onto the initial ones first set using `git rebase
> --interactive`. Finally, when the stage is set, `git push`.
>
> I admit I also had trouble with the git docs at first, but the "stage""
> metaphor couldn't be cleverer.
>
> My question is, since we're on emacs-devel: could vc.el support this
> workflow?
>
> * git-add --edit seems to indicate so;
>
> * diff-mode apparently has diff-marker calculation logic built in;
>
> * magit supports it apparently and its git-rebase-mode.el could be used
>   independently.
>

IMHO there would be quite a bit of interest if such a feature was
properly integrated in vc.
You might want to first post the design here before doing any
implementation work..

               



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-09 17:42                                                   ` David Kastrup
@ 2014-01-09 19:11                                                     ` Tom
  2014-01-09 19:38                                                       ` David Kastrup
  2014-01-09 22:24                                                       ` Drew Adams
  2014-01-10 14:37                                                     ` Richard Stallman
  1 sibling, 2 replies; 401+ messages in thread
From: Tom @ 2014-01-09 19:11 UTC (permalink / raw)
  To: emacs-devel

David Kastrup <dak <at> gnu.org> writes:
> 
> It's more like "it's unavoidable to provide difficulties to learning
> because it can do a lot, and when a lot is easily accessible, you'll
> have stuff getting in your hair accidentally".

Arbitrary roadblocks can be removed, though.

For example, yank is not a superior term to paste, so paste could be
used instead. One unnecessary difference less. And it is only one example,
there are others.

Emacs provides enough material to learn without these arbitrary (legacy)
differences, so these should be eliminated where possible.




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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-09 19:11                                                     ` Tom
@ 2014-01-09 19:38                                                       ` David Kastrup
  2014-01-10 18:10                                                         ` Davis Herring
  2014-01-09 22:24                                                       ` Drew Adams
  1 sibling, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-09 19:38 UTC (permalink / raw)
  To: emacs-devel

Tom <adatgyujto@gmail.com> writes:

> David Kastrup <dak <at> gnu.org> writes:
>> 
>> It's more like "it's unavoidable to provide difficulties to learning
>> because it can do a lot, and when a lot is easily accessible, you'll
>> have stuff getting in your hair accidentally".
>
> Arbitrary roadblocks can be removed, though.
>
> For example, yank is not a superior term to paste, so paste could be
> used instead. One unnecessary difference less.

You mean, unnecessary similarity.  This has a C-y keyboard binding, and
vi uses y and Y bindings for yanking as well.

> Emacs provides enough material to learn without these arbitrary
> (legacy) differences, so these should be eliminated where possible.

The problem is that they are not "arbitrary" but deeply ingrained into
the choice of keyboard sequences.  And C-x and C-c are pretty much the
most reliably accessible control characters, so they make good sense for
starting multiple keystroke sequences.

What _is_ somewhat annoying in contrast is the positioning of C-b C-n
C-p and C-f.  The hjkl sequences of vi or C-s C-x C-e C-d sequences of
WordStar make more sense.

-- 
David Kastrup




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

* Re: Apologia for bzr
  2014-01-05 20:56                           ` Eric S. Raymond
                                               ` (2 preceding siblings ...)
  2014-01-06 18:47                             ` Eric Brown
@ 2014-01-09 20:30                             ` Rogerio Senna
  2014-01-09 22:05                               ` Drew Adams
  3 siblings, 1 reply; 401+ messages in thread
From: Rogerio Senna @ 2014-01-09 20:30 UTC (permalink / raw)
  To: emacs-devel

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

On Sun, Jan 5, 2014 at 6:56 PM, Eric S. Raymond <esr@thyrsus.com> wrote:

> Richard Stallman <rms@gnu.org>:
> > In regard to windows, buffers and frames, we could have a mode of
> > operation which ties each buffer to a one-window frame.  That would
> > eliminate a lot of complexity.
> >
> > We could even offer that as the mode of use for beginners, if that
> > would make it easier for a new generation of hackers to become Emacs
> > users.  I don't know whether it WOULD have that effect, but if it
> > would, I think it is a good idea.
>
> I'm somewhat doubtful this would be well-directed effort.  In my
> experience, he complexity that beginners react badly to is not
> multi-window/multi-buffer, it's 1,001 spiky keystroke sequences.
>

I couldn't help but notice that this (having each buffer tied to a single
frame) really sounds like One On One
Emacs<http://www.emacswiki.org/emacs/OneOnOneEmacs>
.

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

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

* RE: Apologia for bzr
  2014-01-09 20:30                             ` Rogerio Senna
@ 2014-01-09 22:05                               ` Drew Adams
  0 siblings, 0 replies; 401+ messages in thread
From: Drew Adams @ 2014-01-09 22:05 UTC (permalink / raw)
  To: Rogerio Senna, emacs-devel

>>> In regard to windows, buffers and frames, we could have a mode of
>>> operation which ties each buffer to a one-window frame.  That would
>>> eliminate a lot of complexity.
>>>
>>> We could even offer that as the mode of use for beginners, if that
>>> would make it easier for a new generation of hackers to become Emacs
>>> users.  I don't know whether it WOULD have that effect, but if it
>>> would, I think it is a good idea.
>>
>> I'm somewhat doubtful this would be well-directed effort.  In my
>> experience, he complexity that beginners react badly to is not
>> multi-window/multi-buffer, it's 1,001 spiky keystroke sequences.
>
> I couldn't help but notice that this (having each buffer tied to a
> single frame) really sounds like One On One Emacs.

;-)

But One On One Emacs does *not* tie a buffer to a frame.  Only
*Help*, *Completions*, and special-display buffers have dedicated
windows (by default).

You can split windows, visit a different buffer in the same frame,
or do anything else that you might normally do in Emacs.  The main
difference is that when you display a buffer it typically pops up
in a separate frame.



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

* RE: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-09 19:11                                                     ` Tom
  2014-01-09 19:38                                                       ` David Kastrup
@ 2014-01-09 22:24                                                       ` Drew Adams
  1 sibling, 0 replies; 401+ messages in thread
From: Drew Adams @ 2014-01-09 22:24 UTC (permalink / raw)
  To: Tom, emacs-devel

> Arbitrary roadblocks can be removed, though.

I said as much:

  Gratuitous differences in terminology for identical things
  are something else.  But (a) that is rare (the Emacs thingies
  are not really the same), and (b) even then it is not
  important to toe the line.  Especially if the things are
  identical, it is easy to learn new terms for them.

IOW, the truly arbitrary differences are rare and not a problem.
Learning Emacs is hard, but not because of them.
 
> For example, yank is not a superior term to paste, so paste could be
> used instead. One unnecessary difference less. And it is only one
> example, there are others.
> 
> Emacs provides enough material to learn without these arbitrary
> (legacy) differences, so these should be eliminated where possible.

To repeat (you might want to read the thread):

  Examples of exceptional things that are identical in Emacs,
  or nearly so, are "cut" and "paste" operations.  And as
  others have already said, it is enough to point out the
  Emacs terminology and the correspondences (when there are
  close correspondences and not just faux amis) - which we
  already do, AFAIK.

We already make clear in the menus and doc that "yank" means
something very similar to "paste".

And (to repeat, again) far more importantly: this is NOT a
point of "confusion" for newbies.

Initial ignorance, yes. But the slightest contact with the
Emacs docs or google or a quick Q & A has always been enough to
let newbies know what "yank" means.  I have never seen anyone
become "confused" after they were introduced to the term "yank".

This is simply a non-problem.  But it gets rehashed here every
so often.

NOT because newbies say they are confused and don't get it.
But only because some well meaning soles here get the bright
idea that this must be confusing to new arrivals and that if
this important obstacle were removed then Emacs would have a
brighter future.

This essentially short-sells newbies, and touches on demagogy.
_You_ learned "yank".  Did you stay up at night in turmoil,
trying to grasp its meaning?  No.  Don't you think that other
newbies are just as bright as you were?  Please, think about it.



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-07 20:31                                                 ` Drew Adams
  2014-01-07 20:42                                                   ` Lennart Borgman
@ 2014-01-10  2:12                                                   ` David Reitter
  2014-01-10 19:10                                                     ` Tom
  1 sibling, 1 reply; 401+ messages in thread
From: David Reitter @ 2014-01-10  2:12 UTC (permalink / raw)
  To: Drew Adams; +Cc: Emacs-Devel devel

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

On Jan 7, 2014, at 3:31 PM, Drew Adams <drew.adams@oracle.com> wrote:

> Concrete suggestions about that might well be helpful.

I had some suggestions or questions back in 2005 or thereabouts, when I was less familiar with Emacs,
and I asked questions on this mailing list.  Perhaps now the time is better (although I have less time).

Many things are vastly improved from what they were back then - better default key bindings, ELPA, copy&paste with other apps working out of the box, and so on.  

At this time, my concrete suggestion I would have is to make semantic, CEDET and etags work out-of-the-box for all major programming paradigms, and make them work without noticeable performance penalty.  Standard IDEs like Netbeans, Eclipse or Xcode give me that.  Emacs 24 has come a long way, but it's not quite there yet.  For instance, I can enable Semantic from the menu, but then I'd try C-M-/ for a completion, next to [win ...] in nsterm.m, and that doesn't give me all the members of the class of "win", in the correct capitalization.  In .c files, I get at least some helpful echo area messages, but scrolling gets sluggish.  Netbeans doesn't do that.   And it just-in-time compiles, marks syntax errors automatically right in the source code, and so on, and so forth.

The second suggestion is better project management, integrated with Semantic.  Some ingredients, like Speedbar and Desktop, are there, but they do not provide an integrated experience. 

Other people will have other suggestions...

>  What you suggest
> is not a bad goal, but the starting point should not be to short-sell
> newbie Emacs users (not suggesting your approach does that; I don't
> know).  They are as bright as past newbies, no doubt.

Indeed, that's not what I meant.  It's just that even intelligent people prefer to spend their cognitive resources on the actual tasks they are employed to do, or the tasks they intend to do, rather than to learn the tool.  We're in a world where software has become obvious to use, or at least very discoverable.

> You
> cannot just pick up Emacs expecting it to do what you are used to,
> without being disappointed or missing the boat.

The idea in Aquamacs is that you can do that, and transition to faster routines as you go along.
It's probably true that the proportion of highly proficient users is smaller, but the overall number of users is greater.

> One has only to look at the questions on a site such as
> StackOverflow, not especially those about Emacs, but generally
> (and apparently about PHP in particular), to see that some users
> expect instant familiarity with a product without any effort - not
> even a cursory look at the doc or a Google search.  The SO site
> leaders are continually lamenting the poor quality of (some)
> questions and askers. 

Yes, programming has become very much a copy&paste (sorry, kill&yank) effort.  For many programming projects, that is sufficient.  You won't get to hack away at Google, Inc., or at Oracle Corp that way, but that's probably OK. 


[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 4151 bytes --]

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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-09 17:42                                                   ` David Kastrup
  2014-01-09 19:11                                                     ` Tom
@ 2014-01-10 14:37                                                     ` Richard Stallman
  2014-01-17 23:13                                                       ` Per Starbäck
  1 sibling, 1 reply; 401+ messages in thread
From: Richard Stallman @ 2014-01-10 14:37 UTC (permalink / raw)
  To: David Kastrup; +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. ]]]

Emacs is never going to be as easy to learn as simple
editors, because ease of learning is not its priority.
The priority is effective editing for people willing to learn.
We won't sacrifice that goal for ease of learning.

However, when we can make Emacs easier to learn
at the cost of only _development work_, with no sacrifice in
the principal goal, why not do 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] 401+ messages in thread

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-09 19:38                                                       ` David Kastrup
@ 2014-01-10 18:10                                                         ` Davis Herring
  2014-01-10 18:12                                                           ` David Kastrup
  0 siblings, 1 reply; 401+ messages in thread
From: Davis Herring @ 2014-01-10 18:10 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

>> For example, yank is not a superior term to paste, so paste could be
>> used instead. One unnecessary difference less.
> 
> You mean, unnecessary similarity.  This has a C-y keyboard binding, and
> vi uses y and Y bindings for yanking as well.

Except that "yank" means "copy" in vi, not "paste".  (This is the source
of most confusion I see about the word.)

Davis

-- 
This product is sold by volume, not by mass.  If it appears too dense or
too sparse, it is because mass-energy conversion has occurred during
shipping.



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-10 18:10                                                         ` Davis Herring
@ 2014-01-10 18:12                                                           ` David Kastrup
  0 siblings, 0 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-10 18:12 UTC (permalink / raw)
  To: Davis Herring; +Cc: emacs-devel

Davis Herring <herring@lanl.gov> writes:

>>> For example, yank is not a superior term to paste, so paste could be
>>> used instead. One unnecessary difference less.
>> 
>> You mean, unnecessary similarity.  This has a C-y keyboard binding, and
>> vi uses y and Y bindings for yanking as well.
>
> Except that "yank" means "copy" in vi, not "paste".

Uh yeah, forgot about that...

> (This is the source of most confusion I see about the word.)

-- 
David Kastrup



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-10  2:12                                                   ` David Reitter
@ 2014-01-10 19:10                                                     ` Tom
  0 siblings, 0 replies; 401+ messages in thread
From: Tom @ 2014-01-10 19:10 UTC (permalink / raw)
  To: emacs-devel

David Reitter <david.reitter <at> gmail.com> writes:
> 
> At this time, my concrete suggestion I would have is to make semantic, CEDET 
and etags work out-of-the-box for all major programming paradigms, and make 
them work without noticeable performance penalty. 

I'd suggest giving some attention to Eclim too. It can do things which
other tools cannot AFAIK. E.g. offering code fixes and stuff. See here:

http://www.skybert.net/emacs/java/

Of course, it requires Eclipse, but it's not necessarily a disadvantage,
because lots of users use Eclipse today and they try emacs beside that.
So it can even be an advantage, because the user can work in eclipse
as usual and at the same time he can work with the same project in
emacs. It makes very easy to try working in emacs, because the user
does not have to create a new environment for developing with emacs,
emacs simply connects to the running eclipse instance.

And Eclim has lots of low hanging fruits, so it can be improved 
with little effort. It only needs some attention, because the current
maintainer said he wouldn't implement stuff he didn't use:

http://fredrik.appelberg.me/2013/06/10/maintainer-blues.html

So a polished/improved Eclim would be very useful for newbie users
even if it's not part of core Emacs, because it makes easy to
try working in emacs.

Here's a list of what Eclim is capable of, and only a fraction of
this is implemented by the emacs interface, though it's not hard
to implement them (it involves only calling the relevant operations
and presenting the results to the user):


Eclipse Projects

Create, update, and delete Eclipse projects.
Easily manage Eclipse .classpath files (support for maven and ivy).
Quickly and easily manage settings globally or on a project basis.

Java

Automatic source code validation (w/ visual marking of errors and warnings).
Context sensitive code completion.
Code correction suggestions with option to apply a suggestion.
Class constructor generation.
Java Bean getter and setter generation.
Generation of delegate methods.
Java source and java doc searching capabilities.
Generate stub methods from implemented interfaces or super classes.
Generate stub methods for junit testing.
Quickly clean and sort imports and easily import new classes.
Automatic generation of logging initialization code, upon first usage of a 
logger.
Javadoc generation for package, class, field, method, etc.
Java regular expression testing.
Support for Checkstyle.
Validation of log4j xml files.

C/C++

Context sensitive code completion.
Searching.
Source code validation.

Css
Context sensitive code completion.
Source code validation.

Html

Context sensitive code completion.
Automatic validation (w/ visual marking of errors and warnings).

Android

Support for creating android projects

Ant

Ant execution from any file.
Context sensitive code completion when editing build files.
Automatic validation of build files (w/ visual marking of errors and warnings).
Quick access to ant documentation.

Maven

Maven execution from any file.
Maven repository searching and ability to add results to pom file.

JavaScript

File validation using jsl.

Php

Code completion.
Searching.
Source code validation.

Python

Context sensitive code completion.
Find element definition support.
Regular expression testing.
Django functionality.
Validation via python compiler, pyflakes, and pylint.

Ruby

Context sensitive code completion.
Searching.
Source code validation.

Xml / Dtd / Xsd

Automatic validation (w/ visual marking of errors and warnings).
Quickly look up element definition from the current xml file's dtd or xsd.
Context sensitive code completion.

And more...


http://eclim.org/features.html





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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-10 14:37                                                     ` Richard Stallman
@ 2014-01-17 23:13                                                       ` Per Starbäck
  2014-01-17 23:38                                                         ` David Kastrup
                                                                           ` (2 more replies)
  0 siblings, 3 replies; 401+ messages in thread
From: Per Starbäck @ 2014-01-17 23:13 UTC (permalink / raw)
  To: rms; +Cc: David Kastrup, emacs-devel@gnu.org

Richard wrote:

> Emacs is never going to be as easy to learn as simple
> editors, because ease of learning is not its priority.
> The priority is effective editing for people willing to learn.
> We won't sacrifice that goal for ease of learning.

I find this remark about "simple editors" interesting, not just in
terms of Emacs, but of the
whole GNU system. I have always thought of GNU Emacs as *the* editor
in GNU, that is
the default editor. Do you think a GNU system ideally instead should
have some other
("simple") editor as the default editor? And that using Emacs should
be an active choice for
those who are ready to learn something more powerful? This is news to
me in that case.

I still think Emacs should be *the* editor in GNU, and that it is
perfectly possible to have it
like that without sacrificing the goal of effective editing. New users
that only have used at
most simple text editors don't really need or expect much in my
experience. They type text, move around with scrolling wheel and arrow
keys, and look for anything else in toolbars
and menus. They can certainly do that in Emacs.

(What's the point of them doing this in Emacs instead of in a simple
text editor? Because
some of them will become power users, and then they'll already be in
Emacs when they
start looking for more functionality. It's also a point that they can
be thought of as doing
their stuff in Emacs, because then distribution maintainers are more
likely to steer users
into using Emacs. It's not as if all new users make a choice between a
"simple" and a
"powerful" editor, but most of them will use whatever is the default
one on their system, at
least in the beginning, not knowing about the alternatives, and I
think several GNU/Linux
distributions currently don't install Emacs by default at all.)

> However, when we can make Emacs easier to learn
> at the cost of only _development work_, with no sacrifice in
> the principal goal, why not do it?

I agree. But there is another cost as well, which I think is what we
much more often hear
experienced users object to, namely adjustment costs *for them*.

I like the suggestion of renaming "window" into "pane". It removes one part of
(nowadays) peculiar terminology without big adjustment costs at all
(because of aliases
that would exist).



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-17 23:13                                                       ` Per Starbäck
@ 2014-01-17 23:38                                                         ` David Kastrup
  2014-01-18  0:11                                                         ` Emacs terminology (not again!?) Glenn Morris
  2014-01-18  8:28                                                         ` Emacs terminology (not again!?) [was: Apologia for bzr] Eli Zaretskii
  2 siblings, 0 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-17 23:38 UTC (permalink / raw)
  To: Per Starbäck; +Cc: rms, emacs-devel@gnu.org

Per Starbäck <per@starback.se> writes:

> Richard wrote:
>
>> Emacs is never going to be as easy to learn as simple
>> editors, because ease of learning is not its priority.
>> The priority is effective editing for people willing to learn.
>> We won't sacrifice that goal for ease of learning.
>
> I find this remark about "simple editors" interesting, not just in
> terms of Emacs, but of the whole GNU system. I have always thought of
> GNU Emacs as *the* editor in GNU, that is the default editor. Do you
> think a GNU system ideally instead should have some other ("simple")
> editor as the default editor? And that using Emacs should be an active
> choice for those who are ready to learn something more powerful? This
> is news to me in that case.

That's like music instruments that are missing notes to make them
"simpler to learn".  It will always come to bite you eventually.

-- 
David Kastrup



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

* Re: Emacs terminology (not again!?)
  2014-01-17 23:13                                                       ` Per Starbäck
  2014-01-17 23:38                                                         ` David Kastrup
@ 2014-01-18  0:11                                                         ` Glenn Morris
  2014-01-18  1:47                                                           ` Lennart Borgman
  2014-01-18  8:28                                                         ` Emacs terminology (not again!?) [was: Apologia for bzr] Eli Zaretskii
  2 siblings, 1 reply; 401+ messages in thread
From: Glenn Morris @ 2014-01-18  0:11 UTC (permalink / raw)
  To: Per Starbäck; +Cc: David Kastrup, rms, emacs-devel@gnu.org

Per Starbäck wrote:

> I have always thought of GNU Emacs as *the* editor in GNU, that is the
> default editor. Do you think a GNU system ideally instead should have
> some other ("simple") editor as the default editor?

If GNU has a default editor, I guess it is the default GNOME one, gedit.
It advertises itself as "aiming at simplicity and ease of use".



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

* Re: Emacs terminology (not again!?)
  2014-01-18  0:11                                                         ` Emacs terminology (not again!?) Glenn Morris
@ 2014-01-18  1:47                                                           ` Lennart Borgman
  2014-01-18  1:59                                                             ` Daniel Colascione
  2014-01-18 12:34                                                             ` Richard Stallman
  0 siblings, 2 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-18  1:47 UTC (permalink / raw)
  To: Glenn Morris
  Cc: Per Starbäck, Richard M. Stallman, David Kastrup,
	emacs-devel@gnu.org

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

On Sat, Jan 18, 2014 at 1:11 AM, Glenn Morris <rgm@gnu.org> wrote:

> Per Starbäck wrote:
>
> > I have always thought of GNU Emacs as *the* editor in GNU, that is the
> > default editor. Do you think a GNU system ideally instead should have
> > some other ("simple") editor as the default editor?
>
> If GNU has a default editor, I guess it is the default GNOME one, gedit.
> It advertises itself as "aiming at simplicity and ease of use".
>
>
Why was gedit developed? It looks advanced to me. (I have never used it.)
Why was not Emacs used as a basis for gedit?

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

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

* Re: Emacs terminology (not again!?)
  2014-01-18  1:47                                                           ` Lennart Borgman
@ 2014-01-18  1:59                                                             ` Daniel Colascione
  2014-01-18  2:59                                                               ` Lennart Borgman
  2014-01-18 12:34                                                             ` Richard Stallman
  1 sibling, 1 reply; 401+ messages in thread
From: Daniel Colascione @ 2014-01-18  1:59 UTC (permalink / raw)
  To: Lennart Borgman, Glenn Morris
  Cc: Per Starbäck, Richard M. Stallman, David Kastrup,
	emacs-devel@gnu.org

On 01/17/2014 05:47 PM, Lennart Borgman wrote:
> On Sat, Jan 18, 2014 at 1:11 AM, Glenn Morris <rgm@gnu.org
> <mailto:rgm@gnu.org>> wrote:
>
>     Per Starbäck wrote:
>
>      > I have always thought of GNU Emacs as *the* editor in GNU, that
>     is the
>      > default editor. Do you think a GNU system ideally instead should have
>      > some other ("simple") editor as the default editor?
>
>     If GNU has a default editor, I guess it is the default GNOME one, gedit.
>     It advertises itself as "aiming at simplicity and ease of use".
>
>
> Why was gedit developed? It looks advanced to me. (I have never used
> it.) Why was not Emacs used as a basis for gedit?

What does C-s do in Emacs? What do most novice users expect C-s to do? 
In order to use Emacs as a base for gedit, Emacs would have had to have 
been warped beyond all recognition. Emacs is a great environment, but 
let's not pretend that it's what users migrating from proprietary 
desktop operating systems should face when trying to edit a simple 
cookie recipe for themselves should have to face.



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

* Re: Emacs terminology (not again!?)
  2014-01-18  1:59                                                             ` Daniel Colascione
@ 2014-01-18  2:59                                                               ` Lennart Borgman
  2014-01-18  3:02                                                                 ` Daniel Colascione
  0 siblings, 1 reply; 401+ messages in thread
From: Lennart Borgman @ 2014-01-18  2:59 UTC (permalink / raw)
  To: Daniel Colascione
  Cc: Per Starbäck, Richard M. Stallman, David Kastrup,
	emacs-devel@gnu.org

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

On Sat, Jan 18, 2014 at 2:59 AM, Daniel Colascione <dancol@dancol.org>wrote:

> On 01/17/2014 05:47 PM, Lennart Borgman wrote:
>
>> On Sat, Jan 18, 2014 at 1:11 AM, Glenn Morris <rgm@gnu.org
>>  <mailto:rgm@gnu.org>> wrote:
>>
>>     Per Starbäck wrote:
>>
>>      > I have always thought of GNU Emacs as *the* editor in GNU, that
>>     is the
>>      > default editor. Do you think a GNU system ideally instead should
>> have
>>      > some other ("simple") editor as the default editor?
>>
>>     If GNU has a default editor, I guess it is the default GNOME one,
>> gedit.
>>     It advertises itself as "aiming at simplicity and ease of use".
>>
>>
>> Why was gedit developed? It looks advanced to me. (I have never used
>> it.) Why was not Emacs used as a basis for gedit?
>>
>
> What does C-s do in Emacs? What do most novice users expect C-s to do? In
> order to use Emacs as a base for gedit, Emacs would have had to have been
> warped beyond all recognition. Emacs is a great environment, but let's not
> pretend that it's what users migrating from proprietary desktop operating
> systems should face when trying to edit a simple cookie recipe for
> themselves should have to face.
>


Wouldn't you still have recognized the elisp? ;-)

I would have been much more comfortable with Emacs as the basis for gedit.
Emacs was made to be customize-able, but somehow it still failed to form
the basis for gedit. Is not that a bit unfortunate? (Maybe not, but what
about the future of Emacs then?)

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

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

* Re: Emacs terminology (not again!?)
  2014-01-18  2:59                                                               ` Lennart Borgman
@ 2014-01-18  3:02                                                                 ` Daniel Colascione
  2014-01-18  8:34                                                                   ` Eli Zaretskii
  2014-01-18  8:35                                                                   ` Lennart Borgman
  0 siblings, 2 replies; 401+ messages in thread
From: Daniel Colascione @ 2014-01-18  3:02 UTC (permalink / raw)
  To: Lennart Borgman
  Cc: Per Starbäck, Richard M. Stallman, David Kastrup,
	emacs-devel@gnu.org

On 01/17/2014 06:59 PM, Lennart Borgman wrote:
> On Sat, Jan 18, 2014 at 2:59 AM, Daniel Colascione <dancol@dancol.org
> <mailto:dancol@dancol.org>> wrote:
>     What does C-s do in Emacs? What do most novice users expect C-s to
>     do? In order to use Emacs as a base for gedit, Emacs would have had
>     to have been warped beyond all recognition. Emacs is a great
>     environment, but let's not pretend that it's what users migrating
>     from proprietary desktop operating systems should face when trying
>     to edit a simple cookie recipe for themselves should have to face.
>
> Wouldn't you still have recognized the elisp? ;-)
>
> I would have been much more comfortable with Emacs as the basis for
> gedit. Emacs was made to be customize-able, but somehow it still failed
> to form the basis for gedit. Is not that a bit unfortunate? (Maybe not,
> but what about the future of Emacs then?)

Parts of Emacs are very rigid. Try making a mode that allows point to be 
off-screen while scrolling like it can be in most other editors.

Bear in mind also that when gedit was new, Emacs didn't have 
transient-mark-mode or shift-marking on by default and it didn't support 
bidirectional text. The Emacs configuration system is also completely 
different. Would you have integrated customize with gconf? How?



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-17 23:13                                                       ` Per Starbäck
  2014-01-17 23:38                                                         ` David Kastrup
  2014-01-18  0:11                                                         ` Emacs terminology (not again!?) Glenn Morris
@ 2014-01-18  8:28                                                         ` Eli Zaretskii
  2014-01-18  8:48                                                           ` Lennart Borgman
  2 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-18  8:28 UTC (permalink / raw)
  To: Per Starbäck; +Cc: dak, rms, emacs-devel

> Date: Sat, 18 Jan 2014 00:13:50 +0100
> From: Per Starbäck <per@starback.se>
> Cc: David Kastrup <dak@gnu.org>, "emacs-devel@gnu.org" <emacs-devel@gnu.org>
> 
> Richard wrote:
> 
> > Emacs is never going to be as easy to learn as simple
> > editors, because ease of learning is not its priority.
> > The priority is effective editing for people willing to learn.
> > We won't sacrifice that goal for ease of learning.
> 
> I find this remark about "simple editors" interesting, not just in
> terms of Emacs, but of the whole GNU system. I have always thought
> of GNU Emacs as *the* editor in GNU, that is the default editor. Do
> you think a GNU system ideally instead should have some other
> ("simple") editor as the default editor?

That's not what Richard was saying, not at all.  There could very well
be a "simple" editor that is part of the GNU project (perhaps there is
one already).  No one said the GNU project must have only one editor.




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

* Re: Emacs terminology (not again!?)
  2014-01-18  3:02                                                                 ` Daniel Colascione
@ 2014-01-18  8:34                                                                   ` Eli Zaretskii
  2014-01-18  8:53                                                                     ` Daniel Colascione
  2014-01-18  8:55                                                                     ` David Kastrup
  2014-01-18  8:35                                                                   ` Lennart Borgman
  1 sibling, 2 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-18  8:34 UTC (permalink / raw)
  To: Daniel Colascione; +Cc: per, lennart.borgman, rms, dak, emacs-devel

> Date: Fri, 17 Jan 2014 19:02:53 -0800
> From: Daniel Colascione <dancol@dancol.org>
> Cc: Per Starbäck <per@starback.se>,
> 	"Richard M. Stallman" <rms@gnu.org>, David Kastrup <dak@gnu.org>,
> 	"emacs-devel@gnu.org" <emacs-devel@gnu.org>
> 
> Try making a mode that allows point to be off-screen while scrolling
> like it can be in most other editors.

It is a common misconception that Emacs cannot do this.  It can.  How
do you think it pulls the trick of allowing you to scroll pixel-wise
through a very large image?

It is a UI design decision in Emacs to always show point on screen.
But nothing prevents us from writing a mode that leaves point off
screen, or even abandoning that decision if we want (and I'm not
saying we do).  The infrastructure is there, check out the vscroll
thingy and window-vscroll.




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

* Re: Emacs terminology (not again!?)
  2014-01-18  3:02                                                                 ` Daniel Colascione
  2014-01-18  8:34                                                                   ` Eli Zaretskii
@ 2014-01-18  8:35                                                                   ` Lennart Borgman
  2014-01-18  8:48                                                                     ` Eli Zaretskii
  1 sibling, 1 reply; 401+ messages in thread
From: Lennart Borgman @ 2014-01-18  8:35 UTC (permalink / raw)
  To: Daniel Colascione
  Cc: Per Starbäck, Richard M. Stallman, David Kastrup,
	emacs-devel@gnu.org

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

On Sat, Jan 18, 2014 at 4:02 AM, Daniel Colascione <dancol@dancol.org>wrote:

> On 01/17/2014 06:59 PM, Lennart Borgman wrote:
>
>> On Sat, Jan 18, 2014 at 2:59 AM, Daniel Colascione <dancol@dancol.org
>>  <mailto:dancol@dancol.org>> wrote:
>>     What does C-s do in Emacs? What do most novice users expect C-s to
>>     do? In order to use Emacs as a base for gedit, Emacs would have had
>>     to have been warped beyond all recognition. Emacs is a great
>>     environment, but let's not pretend that it's what users migrating
>>     from proprietary desktop operating systems should face when trying
>>     to edit a simple cookie recipe for themselves should have to face.
>>
>> Wouldn't you still have recognized the elisp? ;-)
>>
>> I would have been much more comfortable with Emacs as the basis for
>> gedit. Emacs was made to be customize-able, but somehow it still failed
>> to form the basis for gedit. Is not that a bit unfortunate? (Maybe not,
>> but what about the future of Emacs then?)
>>
>
> Parts of Emacs are very rigid. Try making a mode that allows point to be
> off-screen while scrolling like it can be in most other editors.
>
> Bear in mind also that when gedit was new, Emacs didn't have
> transient-mark-mode or shift-marking on by default and it didn't support
> bidirectional text. The Emacs configuration system is also completely
> different. Would you have integrated customize with gconf? How?
>

I am not sure what you are trying to say there, Daniel, but all these
points looks to me like things that could be (or are now) solved. (The
bidirectional text which Eli worked on was probably the hardest, of course.)

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

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

* Re: Emacs terminology (not again!?)
  2014-01-18  8:35                                                                   ` Lennart Borgman
@ 2014-01-18  8:48                                                                     ` Eli Zaretskii
  0 siblings, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-18  8:48 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: per, dancol, rms, dak, emacs-devel

> From: Lennart Borgman <lennart.borgman@gmail.com>
> Date: Sat, 18 Jan 2014 09:35:17 +0100
> Cc: Per Starbäck <per@starback.se>,
> 	"Richard M. Stallman" <rms@gnu.org>, David Kastrup <dak@gnu.org>,
> 	"emacs-devel@gnu.org" <emacs-devel@gnu.org>
> 
> > Bear in mind also that when gedit was new, Emacs didn't have
> > transient-mark-mode or shift-marking on by default and it didn't support
> > bidirectional text. The Emacs configuration system is also completely
> > different. Would you have integrated customize with gconf? How?
> >
> 
> I am not sure what you are trying to say there, Daniel, but all these
> points looks to me like things that could be (or are now) solved. (The
> bidirectional text which Eli worked on was probably the hardest, of course.)

Gedit's bidirectional editing support is woefully inadequate.  It's
not enough for an editor to link against Pango/Cairo/whatever that can
bidi-reorder a given string, to claim that it supports bidirectional
text.




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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-18  8:28                                                         ` Emacs terminology (not again!?) [was: Apologia for bzr] Eli Zaretskii
@ 2014-01-18  8:48                                                           ` Lennart Borgman
  2014-01-18 10:02                                                             ` David Kastrup
                                                                               ` (2 more replies)
  0 siblings, 3 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-18  8:48 UTC (permalink / raw)
  To: Eli Zaretskii
  Cc: Per Starbäck, Richard M. Stallman, David Kastrup,
	Emacs-Devel devel

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

On Sat, Jan 18, 2014 at 9:28 AM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Sat, 18 Jan 2014 00:13:50 +0100
> > From: Per Starbäck <per@starback.se>
> > Cc: David Kastrup <dak@gnu.org>, "emacs-devel@gnu.org" <
> emacs-devel@gnu.org>
> >
> > Richard wrote:
> >
> > > Emacs is never going to be as easy to learn as simple
> > > editors, because ease of learning is not its priority.
> > > The priority is effective editing for people willing to learn.
> > > We won't sacrifice that goal for ease of learning.
> >
> > I find this remark about "simple editors" interesting, not just in
> > terms of Emacs, but of the whole GNU system. I have always thought
> > of GNU Emacs as *the* editor in GNU, that is the default editor. Do
> > you think a GNU system ideally instead should have some other
> > ("simple") editor as the default editor?
>
> That's not what Richard was saying, not at all.  There could very well
> be a "simple" editor that is part of the GNU project (perhaps there is
> one already).  No one said the GNU project must have only one editor.
>
>
>
But this is of course not really true:

> > Emacs is never going to be as easy to learn as simple
> > editors, because ease of learning is not its priority.

There could be a setup of Emacs that is as easy as any editor to learn. It
is the advanced features that will take time to learn.

I guess that we are really discussing is if there is an advantage of such a
setup. In the light of that there was a whole new editor (gedit) created I
think there could have been a better route. Emacs could probably have
provided everything that gedit gives.

I also guess it would have been less work. And there would have been a
larger community using and working on Emacs.

This does not mean, I think, that the creating of gedit was a bad thing.
There are of course things on the positive side too. Those that created
gedit might speak better about that.

I believe the way forward is being open minded about plus and minus. In the
history and future. Everybody here has the capacity to be that. That is
what lead us to use Emacs, isn't it? ;-)

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

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

* Re: Emacs terminology (not again!?)
  2014-01-18  8:34                                                                   ` Eli Zaretskii
@ 2014-01-18  8:53                                                                     ` Daniel Colascione
  2014-01-18 10:45                                                                       ` Eli Zaretskii
  2014-01-18  8:55                                                                     ` David Kastrup
  1 sibling, 1 reply; 401+ messages in thread
From: Daniel Colascione @ 2014-01-18  8:53 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: per, lennart.borgman, rms, dak, emacs-devel

On 01/18/2014 12:34 AM, Eli Zaretskii wrote:
>> Date: Fri, 17 Jan 2014 19:02:53 -0800
>> From: Daniel Colascione <dancol@dancol.org>
>> Cc: Per Starbäck <per@starback.se>,
>> 	"Richard M. Stallman" <rms@gnu.org>, David Kastrup <dak@gnu.org>,
>> 	"emacs-devel@gnu.org" <emacs-devel@gnu.org>
>>
>> Try making a mode that allows point to be off-screen while scrolling
>> like it can be in most other editors.
>
> It is a common misconception that Emacs cannot do this.  It can.  How
> do you think it pulls the trick of allowing you to scroll pixel-wise
> through a very large image?

Thanks. I never use Emacs to view images, so I didn't know we could do that.

> It is a UI design decision in Emacs to always show point on screen.
> But nothing prevents us from writing a mode that leaves point off
> screen, or even abandoning that decision if we want (and I'm not
> saying we do).  The infrastructure is there, check out the vscroll
> thingy and window-vscroll.

Interesting. I may have to play with this functionality more after the 
feature freeze. Is (set-window-vscroll nil 500 t) supposed to move the 
window viewport? I didn't see anything change when I tried it in a quick 
test.



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

* Re: Emacs terminology (not again!?)
  2014-01-18  8:34                                                                   ` Eli Zaretskii
  2014-01-18  8:53                                                                     ` Daniel Colascione
@ 2014-01-18  8:55                                                                     ` David Kastrup
  2014-01-18 10:52                                                                       ` Eli Zaretskii
  1 sibling, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-18  8:55 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Fri, 17 Jan 2014 19:02:53 -0800
>> From: Daniel Colascione <dancol@dancol.org>
>> Cc: Per Starbäck <per@starback.se>,
>> 	"Richard M. Stallman" <rms@gnu.org>, David Kastrup <dak@gnu.org>,
>> 	"emacs-devel@gnu.org" <emacs-devel@gnu.org>
>> 
>> Try making a mode that allows point to be off-screen while scrolling
>> like it can be in most other editors.
>
> It is a common misconception that Emacs cannot do this.  It can.  How
> do you think it pulls the trick of allowing you to scroll pixel-wise
> through a very large image?
>
> It is a UI design decision in Emacs to always show point on screen.
> But nothing prevents us from writing a mode that leaves point off
> screen, or even abandoning that decision if we want (and I'm not
> saying we do).  The infrastructure is there, check out the vscroll
> thingy and window-vscroll.

That scrolls "graphically" (no idea whether it works on text terminals):
basically it displaces your screen window by a given distance.  There is
no concept of a "window start" in terms of a text position that can move
away from point, and no real way to implement that.

Also I don't think you can mouse-mark a vscrolled off-screen region
(which would require not setting point when drag-marking a region, but
that seems conceivable) and paste it somewhere afterwards.

It would be possible to experiment around with some of those things.
Judging from my experience with pre-21.1 code (in connection with
preview-latex), this would lead to quite a number of problem reports,
just because it is an area that has been minimally exercised.  Nothing
wrong with that: cleaning out bugs is always a good idea.  But it means
that anybody experimenting with user interface design around that
functionality would be well-advised to compile Emacs from Git and be in
close communication with the developer list.  Even when "nominally"
Emacs has all the functionality he'll be needing.

-- 
David Kastrup




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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-18  8:48                                                           ` Lennart Borgman
@ 2014-01-18 10:02                                                             ` David Kastrup
  2014-01-18 11:03                                                               ` Lennart Borgman
  2014-01-18 16:28                                                               ` Óscar Fuentes
  2014-01-19 12:10                                                             ` Emacs terminology (not again!?) [was: Apologia for bzr] Richard Stallman
  2014-01-20 12:22                                                             ` Phillip Lord
  2 siblings, 2 replies; 401+ messages in thread
From: David Kastrup @ 2014-01-18 10:02 UTC (permalink / raw)
  To: emacs-devel

Lennart Borgman <lennart.borgman@gmail.com> writes:

> On Sat, Jan 18, 2014 at 9:28 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> > Emacs is never going to be as easy to learn as simple
>> > editors, because ease of learning is not its priority.
>
> There could be a setup of Emacs that is as easy as any editor to
> learn.

That's a red herring.  What people are looking for are not editors that
are easy to learn, but editors that can be used without learning
anything at all.

I encounter this situation as an accordion player: the joke in
<URL:http://eu.art.com/products/p24328669009-sa-i7924441/uli-stein-akkordeon-kleiner.htm>,
namely somebody asking for a smaller-size accordion, is not without a
serious background: people imagine that capsizing a piano will make for
a good user interface.  It doesn't.  Back problems are frequent with
accordion players, and particularly women are often slumped in their
chairs in order to accommodate the vertical dimension of their keyboard.
I play a chromatic button accordion which has buttons rather than piano
keys, and I have 62 notes accessible where a piano accordion has at most
45, and even a small piano accordion with 37 keys has a larger height
than my instrument and its key mechanics take from the immediate
airflow/valve/button interaction facilitating good leggiero play and
bellows control.

If you take a look at nations where accordions are "mainstream" music
instruments, like Finland, France, Russia, you'll find a prevalence of
button instruments.  Internationally, it's about evenly split for
accordion soloists, and about 90% piano accordion for accordion
orchestra players (accordion orchestras are collection of accordionists
no other instrumentalists want to play with).  The ratio would be even
higher except for orchestras from those accordion nations where piano
accordions are considered outlandish altogether.

If viewed in the grand overall scheme of things, it begs the question if
we are doing Emacs a favor by giving it the piano keyboard more people
think they know how to work with.

Yes, it makes it easier to employ Emacs as a throwaway editor you
occasionally use and forget again.

> I guess that we are really discussing is if there is an advantage of
> such a setup. In the light of that there was a whole new editor
> (gedit) created I think there could have been a better route. Emacs
> could probably have provided everything that gedit gives.
>
> I also guess it would have been less work. And there would have been a
> larger community using and working on Emacs.

In countries where the piano accordion is prevalent, accordions are more
often associated with music styles, groups, and shows that "serious"
musicians consider a laughing stock.  That definitely impacts the influx
of new players.  And in particular, new virtuosi.

The future of Emacs depends on people with an attention span and
perseverence sufficient for extending it.  Those are the people who are
most likely to be annoyed at the inconsistency of concepts and
operations of things like the full CUA mode (the one which uses
heuristics to decide whether to use C-x and C-c in the Emacs or the CUA
sense).

We should not try to be too clever about looking simple: we will only
fool those people who don't actually count towards the well-being of
Emacs.  So any changes should be done while keeping the coherence of the
result closely in check.

-- 
David Kastrup




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

* Re: Emacs terminology (not again!?)
  2014-01-18  8:53                                                                     ` Daniel Colascione
@ 2014-01-18 10:45                                                                       ` Eli Zaretskii
  0 siblings, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-18 10:45 UTC (permalink / raw)
  To: Daniel Colascione; +Cc: per, lennart.borgman, rms, dak, emacs-devel

> Date: Sat, 18 Jan 2014 00:53:50 -0800
> From: Daniel Colascione <dancol@dancol.org>
> CC: lennart.borgman@gmail.com, per@starback.se, rms@gnu.org, dak@gnu.org, 
>  emacs-devel@gnu.org
> 
> Is (set-window-vscroll nil 500 t) supposed to move the window
> viewport?

Yes and now.  As I said, Emacs currently deliberately resists this,
except where we explicitly allow it.

> I didn't see anything change when I tried it in a quick test.

See line-move-partial in simple.el for some enlightenment.

Note that an editor that allows point to be off screen needs a lot of
supporting functionality to make this a really useful feature.



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

* Re: Emacs terminology (not again!?)
  2014-01-18  8:55                                                                     ` David Kastrup
@ 2014-01-18 10:52                                                                       ` Eli Zaretskii
  2014-01-18 11:01                                                                         ` David Kastrup
  0 siblings, 1 reply; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-18 10:52 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

> From: David Kastrup <dak@gnu.org>
> Date: Sat, 18 Jan 2014 09:55:13 +0100
> 
> > It is a UI design decision in Emacs to always show point on screen.
> > But nothing prevents us from writing a mode that leaves point off
> > screen, or even abandoning that decision if we want (and I'm not
> > saying we do).  The infrastructure is there, check out the vscroll
> > thingy and window-vscroll.
> 
> That scrolls "graphically"

Yes, I don't see how this is important for the issue at hand.  On a
text terminal, each character counts as a single pixel.

> (no idea whether it works on text terminals):

It doesn't currently, but that's just because no one bothered to
implement that.

> basically it displaces your screen window by a given distance.

Yes.

> There is no concept of a "window start" in terms of a text position
> that can move away from point

A window start is just a buffer position, so I'm not following your
argument here.

> and no real way to implement that.

??? Why not?  Perhaps you mean no way to implement that easily, or
maybe in Lisp alone.

> Also I don't think you can mouse-mark a vscrolled off-screen region
> (which would require not setting point when drag-marking a region, but
> that seems conceivable) and paste it somewhere afterwards.

Indeed, exposing such functionality will need a lot of supporting code
and features.  But that happens with every such endeavor: e.g., when I
introduced menus on a TTY, quite a few of the changes I needed were
because some places hard-coded the assumption that TTYs cannot
possibly have any menus.  Simply lifting that condition was all that
was needed.

> It would be possible to experiment around with some of those things.
> Judging from my experience with pre-21.1 code (in connection with
> preview-latex), this would lead to quite a number of problem reports,
> just because it is an area that has been minimally exercised.  Nothing
> wrong with that: cleaning out bugs is always a good idea.  But it means
> that anybody experimenting with user interface design around that
> functionality would be well-advised to compile Emacs from Git and be in
> close communication with the developer list.  Even when "nominally"
> Emacs has all the functionality he'll be needing.

Very true.



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

* Re: Emacs terminology (not again!?)
  2014-01-18 10:52                                                                       ` Eli Zaretskii
@ 2014-01-18 11:01                                                                         ` David Kastrup
  2014-01-18 11:53                                                                           ` Eli Zaretskii
  0 siblings, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-18 11:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: David Kastrup <dak@gnu.org>
>> Date: Sat, 18 Jan 2014 09:55:13 +0100
>> 
>> > It is a UI design decision in Emacs to always show point on screen.
>> > But nothing prevents us from writing a mode that leaves point off
>> > screen, or even abandoning that decision if we want (and I'm not
>> > saying we do).  The infrastructure is there, check out the vscroll
>> > thingy and window-vscroll.
>> 
>> That scrolls "graphically"
>
> Yes, I don't see how this is important for the issue at hand.  On a
> text terminal, each character counts as a single pixel.
>
>> (no idea whether it works on text terminals):
>
> It doesn't currently, but that's just because no one bothered to
> implement that.
>
>> basically it displaces your screen window by a given distance.
>
> Yes.
>
>> There is no concept of a "window start" in terms of a text position
>> that can move away from point
>
> A window start is just a buffer position, so I'm not following your
> argument here.
>
>> and no real way to implement that.
>
> ??? Why not?  Perhaps you mean no way to implement that easily, or
> maybe in Lisp alone.

If the task is "let the window start with the given buffer position even
if this makes point go off-screen", a reasonably simple task
description, window-vscroll does not seem like a useful tool for that.

-- 
David Kastrup



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-18 10:02                                                             ` David Kastrup
@ 2014-01-18 11:03                                                               ` Lennart Borgman
  2014-01-18 11:32                                                                 ` David Kastrup
  2014-01-18 16:28                                                               ` Óscar Fuentes
  1 sibling, 1 reply; 401+ messages in thread
From: Lennart Borgman @ 2014-01-18 11:03 UTC (permalink / raw)
  To: David Kastrup; +Cc: Emacs-Devel devel

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

On Sat, Jan 18, 2014 at 11:02 AM, David Kastrup <dak@gnu.org> wrote:

> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
> > On Sat, Jan 18, 2014 at 9:28 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> >
> >> > Emacs is never going to be as easy to learn as simple
> >> > editors, because ease of learning is not its priority.
> >
> > There could be a setup of Emacs that is as easy as any editor to
> > learn.
>
> That's a red herring.  What people are looking for are not editors that
> are easy to learn, but editors that can be used without learning
> anything at all.
>

Do you believe you will convince me with this, or? ;-)
Facts are much better if we do not agree. If we agreed this might have been
better, more fun, of course... ;-)


>
>
 > I guess that we are really discussing is if there is an advantage of
> > such a setup. In the light of that there was a whole new editor
> > (gedit) created I think there could have been a better route. Emacs
> > could probably have provided everything that gedit gives.
> >
> > I also guess it would have been less work. And there would have been a
> > larger community using and working on Emacs.
>
> The future of Emacs depends on people with an attention span and
> perseverence sufficient for extending it.  Those are the people who are
> most likely to be annoyed at the inconsistency of concepts and
> operations of things like the full CUA mode (the one which uses
> heuristics to decide whether to use C-x and C-c in the Emacs or the CUA
> sense).
>
> Are you really sure you want to look down upon those that do not agree? ;-)

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

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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-18 11:03                                                               ` Lennart Borgman
@ 2014-01-18 11:32                                                                 ` David Kastrup
  2014-01-18 13:13                                                                   ` Sivaram Neelakantan
  0 siblings, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-18 11:32 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: Emacs-Devel devel

Lennart Borgman <lennart.borgman@gmail.com> writes:

> On Sat, Jan 18, 2014 at 11:02 AM, David Kastrup <dak@gnu.org> wrote:
>
>> Lennart Borgman <lennart.borgman@gmail.com> writes:

>> > I guess that we are really discussing is if there is an advantage of
>> > such a setup. In the light of that there was a whole new editor
>> > (gedit) created I think there could have been a better route. Emacs
>> > could probably have provided everything that gedit gives.
>> >
>> > I also guess it would have been less work. And there would have been a
>> > larger community using and working on Emacs.
>>
>> The future of Emacs depends on people with an attention span and
>> perseverence sufficient for extending it.  Those are the people who are
>> most likely to be annoyed at the inconsistency of concepts and
>> operations of things like the full CUA mode (the one which uses
>> heuristics to decide whether to use C-x and C-c in the Emacs or the CUA
>> sense).
>
> Are you really sure you want to look down upon those that do not
> agree? ;-)

It's not a question on looking up or down.  Let me quote from the CUA
mode section in the Emacs manual:

    The command ‘M-x cua-mode’ sets up key bindings that are compatible with
    the Common User Access (CUA) system used in many other applications.

       When CUA mode is enabled, the keys ‘C-x’, ‘C-c’, ‘C-v’, and ‘C-z’
    invoke commands that cut (kill), copy, paste (yank), and undo
    respectively.  The ‘C-x’ and ‘C-c’ keys perform cut and copy only if the
    region is active.  Otherwise, they still act as prefix keys, so that
    standard Emacs commands like ‘C-x C-c’ still work.  Note that this means
    the variable ‘mark-even-if-inactive’ has no effect for ‘C-x’ and ‘C-c’
    (*note Using Region::).

       To enter an Emacs command like ‘C-x C-f’ while the mark is active,
    use one of the following methods: either hold ‘Shift’ together with the
    prefix key, e.g., ‘S-C-x C-f’, or quickly type the prefix key twice,
    e.g., ‘C-x C-x C-f’.

Now this is touted as a feature to make things _simple_ for people.  In
reality, _competent_ use of it requires _lots_ of learning and
surprises.  If I enable CUA mode and type C-h k C-x C-c, I read

    C-x C-c runs the command save-buffers-kill-terminal, which is an
    interactive compiled Lisp function in `files.el'.

    It is bound to C-x C-c, <menu-bar> <file> <exit-emacs>.

    (save-buffers-kill-terminal &optional ARG)

    Offer to save each buffer, then kill the current connection.
    If the current frame has no client, kill Emacs itself.

    With prefix ARG, silently save all file-visiting buffers, then kill.

    If emacsclient was started with a list of filenames to edit, then
    only these files will be asked to be saved.

    [back]

But if there is an active region, C-h k C-x prints

    C-x runs the command cua--prefix-override-handler, which is an
    interactive compiled Lisp function in `cua-base.el'.

    It is bound to C-c, C-x.

    (cua--prefix-override-handler ARG)

    Start timer waiting for prefix key to be followed by another key.
    Repeating prefix key when region is active works as a single prefix key.

    [back]

This kind of mode dependency is what Emacs proponents in the editor wars
tend to describe as a disadvantage of vi.

This kind of "do the expected thing" setup may delay the time until
cursory Emacs users will hit a wall of learning.  But when they do, the
wall is higher.

This puts a larger complexity gap between "simple users" and "power
users or programmers" who actually can work their tool with confidence.

I don't see that making Emacs fit the Gedit task space would have
yielded a result where Gedmacs users would have grown into active
participants of the Emacs universe.

In the long run, we need to make sure that Emacs remains comprehensible
to Emacs users.  That does not preclude changing keybindings and
concepts, but getting multiple concurrent warring keybindings and
concepts sorted by various heuristics is not the way to simplicity.

-- 
David Kastrup



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

* Re: Emacs terminology (not again!?)
  2014-01-18 11:01                                                                         ` David Kastrup
@ 2014-01-18 11:53                                                                           ` Eli Zaretskii
  0 siblings, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-18 11:53 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

> From: David Kastrup <dak@gnu.org>
> Cc: emacs-devel@gnu.org
> Date: Sat, 18 Jan 2014 12:01:21 +0100
> 
> >> There is no concept of a "window start" in terms of a text position
> >> that can move away from point
> >
> > A window start is just a buffer position, so I'm not following your
> > argument here.
> >
> >> and no real way to implement that.
> >
> > ??? Why not?  Perhaps you mean no way to implement that easily, or
> > maybe in Lisp alone.
> 
> If the task is "let the window start with the given buffer position even
> if this makes point go off-screen", a reasonably simple task
> description, window-vscroll does not seem like a useful tool for that.

Maybe not.  I'm just saying that there's no relation between point and
window-start that is somehow hardcoded in the design.  I'm also saying
that window-vscroll and its supporting code is evidence how we can
show stuff on screen without showing point.



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

* Re: Emacs terminology (not again!?)
  2014-01-18  1:47                                                           ` Lennart Borgman
  2014-01-18  1:59                                                             ` Daniel Colascione
@ 2014-01-18 12:34                                                             ` Richard Stallman
  1 sibling, 0 replies; 401+ messages in thread
From: Richard Stallman @ 2014-01-18 12:34 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: per, dak, 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 was gedit developed? It looks advanced to me. (I have never used it.)
    Why was not Emacs used as a basis for gedit?

I don't know why gedit was developed, but I'd guess it was intended
to be 100% as simple as the editors of otherGUI systems.
-- 
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] 401+ messages in thread

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-18 11:32                                                                 ` David Kastrup
@ 2014-01-18 13:13                                                                   ` Sivaram Neelakantan
  2014-01-18 16:24                                                                     ` Emacs terminology (not again!?) Óscar Fuentes
  2014-01-18 17:22                                                                     ` Emacs terminology (not again!?) [was: Apologia for bzr] Tom
  0 siblings, 2 replies; 401+ messages in thread
From: Sivaram Neelakantan @ 2014-01-18 13:13 UTC (permalink / raw)
  To: emacs-devel

On Sat, Jan 18 2014,David Kastrup wrote:

[snipped 92 lines]

> In the long run, we need to make sure that Emacs remains comprehensible
> to Emacs users.  That does not preclude changing keybindings and
> concepts, but getting multiple concurrent warring keybindings and
> concepts sorted by various heuristics is not the way to simplicity.

No offence to the CUA/EVIL developers but don't these 2 modes get in
the way of Emacs mastery as David says.  I can understand someone
asking for the vi . (dot command) functionality equivalent in Emacs
but why humour them with modes that are at cross purposes to Emacs
proficiency?  

Here, simplicity begets simple users(with no offence to their
intelligence, just Emacs mastery)

 sivaram
 -- 




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

* Re: Emacs terminology (not again!?)
  2014-01-18 13:13                                                                   ` Sivaram Neelakantan
@ 2014-01-18 16:24                                                                     ` Óscar Fuentes
  2014-01-18 17:46                                                                       ` David Kastrup
  2014-01-18 17:22                                                                     ` Emacs terminology (not again!?) [was: Apologia for bzr] Tom
  1 sibling, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-18 16:24 UTC (permalink / raw)
  To: emacs-devel

Sivaram Neelakantan <nsivaram.net@gmail.com> writes:

> No offence to the CUA/EVIL developers but don't these 2 modes get in
> the way of Emacs mastery as David says.  I can understand someone
> asking for the vi . (dot command) functionality equivalent in Emacs
> but why humour them with modes that are at cross purposes to Emacs
> proficiency?  

After 12+ years of kosher Emacs use, some months ago I started to use
Evil and my editing proficiency (not to mention my RSSI) improved
noticeably.

We all agree that not everything that Emacs does is the best for
everybody. I'll go further and say that some Emacs things are quite bad.
Default keybindings, for instance.

[snip]




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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-18 10:02                                                             ` David Kastrup
  2014-01-18 11:03                                                               ` Lennart Borgman
@ 2014-01-18 16:28                                                               ` Óscar Fuentes
  2014-01-18 17:55                                                                 ` David Kastrup
  1 sibling, 1 reply; 401+ messages in thread
From: Óscar Fuentes @ 2014-01-18 16:28 UTC (permalink / raw)
  To: emacs-devel

David Kastrup <dak@gnu.org> writes:

> That's a red herring.  What people are looking for are not editors that
> are easy to learn, but editors that can be used without learning
> anything at all.

People are looking for editors that work similar enough to those that
they already know.

For most people, the *promise* of improved efficiency is not credible
enough to invest the required time to learn Emacs.

[snip]




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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-18 13:13                                                                   ` Sivaram Neelakantan
  2014-01-18 16:24                                                                     ` Emacs terminology (not again!?) Óscar Fuentes
@ 2014-01-18 17:22                                                                     ` Tom
  1 sibling, 0 replies; 401+ messages in thread
From: Tom @ 2014-01-18 17:22 UTC (permalink / raw)
  To: emacs-devel

Sivaram Neelakantan <nsivaram.net <at> gmail.com> writes:
> 
> No offence to the CUA/EVIL developers but don't these 2 modes get in
> the way of Emacs mastery as David says.  I can understand someone
> asking for the vi . (dot command) functionality equivalent in Emacs
> but why humour them with modes that are at cross purposes to Emacs
> proficiency?  

Emacs mastery is not about using the default keys, it's about 
understanding how you can transform Emacs, so it adapts to you,
not the other way around.

I often read from beginners in forums that they think the
keybindings give emacs its power, though the real power is
the lisp environment which allows you to create your own
personal working environment including completely revamping
them and using vi bindings if you want.

So Emacs proficiency has nothing to do with the keys. They
are only the legacy defaults which can be changed as any other
custom aspects of emacs.






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

* Re: Emacs terminology (not again!?)
  2014-01-18 16:24                                                                     ` Emacs terminology (not again!?) Óscar Fuentes
@ 2014-01-18 17:46                                                                       ` David Kastrup
  2014-01-18 18:55                                                                         ` Sven Axelsson
  0 siblings, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-18 17:46 UTC (permalink / raw)
  To: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

> Sivaram Neelakantan <nsivaram.net@gmail.com> writes:
>
>> No offence to the CUA/EVIL developers but don't these 2 modes get in
>> the way of Emacs mastery as David says.  I can understand someone
>> asking for the vi . (dot command) functionality equivalent in Emacs
>> but why humour them with modes that are at cross purposes to Emacs
>> proficiency?  
>
> After 12+ years of kosher Emacs use, some months ago I started to use
> Evil and my editing proficiency (not to mention my RSSI) improved
> noticeably.
>
> We all agree that not everything that Emacs does is the best for
> everybody. I'll go further and say that some Emacs things are quite
> bad.  Default keybindings, for instance.

Regarding cursor movements, I tend to agree.  I'm using the cursor block
instead here: it's not as well located as on my first computer, a
Nascom II where it it's in home-position reach, but one can get used to
working with it.

Emacs improves when telling your keyboard that it should employ the
CapsLock key (who needs that?) as Control.  I've not used viper mode
myself: I think it has fewer conflicts with the standard Emacs
keybindings than CUA-mode has.  Of course, it still makes your Emacs
diverge from the Emacs explained in the manuals, so in that respect
alone, it is not a learner's environment.

-- 
David Kastrup




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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-18 16:28                                                               ` Óscar Fuentes
@ 2014-01-18 17:55                                                                 ` David Kastrup
  2014-01-19  0:59                                                                   ` Emacs terminology (not again!?) Stephen J. Turnbull
  0 siblings, 1 reply; 401+ messages in thread
From: David Kastrup @ 2014-01-18 17:55 UTC (permalink / raw)
  To: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

> David Kastrup <dak@gnu.org> writes:
>
>> That's a red herring.  What people are looking for are not editors that
>> are easy to learn, but editors that can be used without learning
>> anything at all.
>
> People are looking for editors that work similar enough to those that
> they already know.
>
> For most people, the *promise* of improved efficiency is not credible
> enough to invest the required time to learn Emacs.

I'm not convinced that this should overly influence our priorities.
It's like trying to make a piano appealing to iPod users.  Both are used
for producing music.

What _should_ be making us think about our priorities is when we lose
the input of heavy Emacs users like RMS, Ben Wing, Nix, to Repetitive
Strain Injury, and it appears like users of other editors are not
affected to a similar degree.

No idea about the actual numbers, though.  If they turned out to be more
than just anecdotal, that would at least provide an incentive for
long-term replanning of the default keybindings to be offered.

To me, that would carry more weight than "everybody else does x".

-- 
David Kastrup




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

* Re: Emacs terminology (not again!?)
  2014-01-18 17:46                                                                       ` David Kastrup
@ 2014-01-18 18:55                                                                         ` Sven Axelsson
  2014-01-18 19:10                                                                           ` Tom
  2014-01-18 20:57                                                                           ` chad
  0 siblings, 2 replies; 401+ messages in thread
From: Sven Axelsson @ 2014-01-18 18:55 UTC (permalink / raw)
  To: emacs

As a new Emacs user (well, I have tried several times before
but always given up after a while), I'd really like to ask this:

Cursor movement - I see in the documentation and all over the
Internet stated that you should use the default movement
shortcuts because they are much more efficient than the arrow
key bindings. Do people really find this true? OK, They are
somewhat mnemonic, but efficient? Especially on keyboards
missing a right Ctrl key I find them pretty awkward.

Maybe I should try EVIL and see if that makes me more efficient.

-- 
Sven Axelsson
++++++++++[>++++++++++>+++++++++++>++++++++++>++++++
>++++<<<<<-]>++++.+.++++.>+++++.>+.<<-.>>+.>++++.<<.
+++.>-.<<++.>>----.<++.>>>++++++.<<<<.>>++++.<----.



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

* Re: Emacs terminology (not again!?)
  2014-01-18 18:55                                                                         ` Sven Axelsson
@ 2014-01-18 19:10                                                                           ` Tom
  2014-01-18 20:57                                                                           ` chad
  1 sibling, 0 replies; 401+ messages in thread
From: Tom @ 2014-01-18 19:10 UTC (permalink / raw)
  To: emacs-devel

Sven Axelsson <sven.axelsson <at> gmail.com> writes:
> 
> Cursor movement - I see in the documentation and all over the
> Internet stated that you should use the default movement
> shortcuts because they are much more efficient than the arrow
> key bindings. Do people really find this true? 

I'm a longtime emacs users (>15 years) and I don't use those
keys. I use the arrow keys. Use what you find comfortable.

As far as I'm concerned most of the default bindings are
uncomfortable (C-f, C-n, C-n, C-p etc.) and I don't use them.

Create your own Emacs experience. The great thing with emacs is
that you can do that. There is no single optimal way which fits
everybody.




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

* Re: Emacs terminology (not again!?)
  2014-01-18 18:55                                                                         ` Sven Axelsson
  2014-01-18 19:10                                                                           ` Tom
@ 2014-01-18 20:57                                                                           ` chad
  1 sibling, 0 replies; 401+ messages in thread
From: chad @ 2014-01-18 20:57 UTC (permalink / raw)
  To: Sven Axelsson; +Cc: emacs

On 18 Jan 2014, at 13:55, Sven Axelsson <sven.axelsson@gmail.com> wrote:

> Cursor movement - I see in the documentation and all over the
> Internet stated that you should use the default movement
> shortcuts because they are much more efficient than the arrow
> key bindings. Do people really find this true? OK, They are
> somewhat mnemonic, but efficient? Especially on keyboards
> missing a right Ctrl key I find them pretty awkward.
> 
> Maybe I should try EVIL and see if that makes me more efficient.

Its not so much about using n, p, f, and b as it is about keeping
your hands in position above the home row. This is also why so many
emacs users make Caps_Lock into a control key - easy access from
the home row.

The RSI angle is similar - moving your hand from the home row
position to the arrow key cluster position _quickly_ often involves
twisting ones wrist in a way that can exacerbate RSI problems. When
youre primarily navigating around a buffer, you probably move your
arm so that yours fingers rest naturally above the arrow keys, but
if youre doing a lot of mixed typing and navigation, then youre
more likely to be twisting your wrist to keep your hand nearer to
that home row position (I think this is adduction/abduction, but
my physiology classes were a long time ago).

Early on, emacs users were especially likely to be using big
battleship keyboards, with arrow key clusters so far away that
moving the arm was required (lowering efficiency) or requiring a
more severe twist to the wrist. I believe this is where the efficiency
argument comes from, but thats just a theory.

Hope that helps,
~Chad




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

* Re: Emacs terminology (not again!?)
  2014-01-18 17:55                                                                 ` David Kastrup
@ 2014-01-19  0:59                                                                   ` Stephen J. Turnbull
  2014-01-20  3:01                                                                     ` Xue Fuqiao
  0 siblings, 1 reply; 401+ messages in thread
From: Stephen J. Turnbull @ 2014-01-19  0:59 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

David Kastrup writes:

 > What _should_ be making us think about our priorities is when we lose
 > the input of heavy Emacs users like RMS, Ben Wing, Nix, to Repetitive
 > Strain Injury, and it appears like users of other editors are not
 > affected to a similar degree.

Ben wasn't RSI (the disease affected all of his joints) although the
end effect was very similar.  As for those three examples, I suspect
the controlling factor is that they can write code faster than even
Emacs can help them type it.  I haven't met the other two, but I've
watched Ben work, and his runs of non-stop typing run to minutes, as
if he was a court stenographer trying to keep up with the Devil and
Daniel Webster.[1]

But I think the important point is the one that Lennart made: Emacs's
editing primitives and editor construction language are the important
thing, and the default keymaps are just a way for the community to
standardize things like tutorials and organize new addition to the set
of key-bound commands.  It's a shame that there isn't a powerful
facility for theming keymaps.

Footnotes: 
[1]  American folklore -- Daniel Webster was a lawyer who argued Satan
to a standstill when he came to collect on a sold soul deal.  It took
a while. :-)




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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-18  8:48                                                           ` Lennart Borgman
  2014-01-18 10:02                                                             ` David Kastrup
@ 2014-01-19 12:10                                                             ` Richard Stallman
  2014-01-19 12:21                                                               ` Lennart Borgman
  2014-01-20 12:22                                                             ` Phillip Lord
  2 siblings, 1 reply; 401+ messages in thread
From: Richard Stallman @ 2014-01-19 12:10 UTC (permalink / raw)
  To: Lennart Borgman; +Cc: eliz, per, dak, 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. ]]]

    There could be a setup of Emacs that is as easy as any editor to learn. It
    is the advanced features that will take time to learn.

    I guess that we are really discussing is if there is an advantage of such a
    setup.

We could make an incompatible "simple" interface for Emacs and make it
easy to learn.  It could look just like gedit, perhaps.

It might be better, overall, if gedit were implemented as such an
interface to Emacs.  I am not sure it would have been less work, though.

However, if you change it that much, it won't give people an easy pathway
to using Emacs.  Its commands would be all different.



-- 
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] 401+ messages in thread

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-19 12:10                                                             ` Emacs terminology (not again!?) [was: Apologia for bzr] Richard Stallman
@ 2014-01-19 12:21                                                               ` Lennart Borgman
  0 siblings, 0 replies; 401+ messages in thread
From: Lennart Borgman @ 2014-01-19 12:21 UTC (permalink / raw)
  To: Richard M. Stallman
  Cc: Eli Zaretskii, Per Starbäck, David Kastrup,
	Emacs-Devel devel

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

On Sun, Jan 19, 2014 at 1:10 PM, Richard Stallman <rms@gnu.org> wrote:

>
> We could make an incompatible "simple" interface for Emacs and make it
> easy to learn.  It could look just like gedit, perhaps.
>
> It might be better, overall, if gedit were implemented as such an
> interface to Emacs.  I am not sure it would have been less work, though.
>

Perhaps it does not matter if it would have been less work in the
beginning. Perhaps the long term outcome matters more.


>
> However, if you change it that much, it won't give people an easy pathway
> to using Emacs.  Its commands would be all different.
>
> I see no reason the commands would be different. Not at the beginners
level.

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

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

* Re: Emacs terminology (not again!?)
  2014-01-19  0:59                                                                   ` Emacs terminology (not again!?) Stephen J. Turnbull
@ 2014-01-20  3:01                                                                     ` Xue Fuqiao
  0 siblings, 0 replies; 401+ messages in thread
From: Xue Fuqiao @ 2014-01-20  3:01 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: David Kastrup, emacs-devel

On Sun, Jan 19, 2014 at 8:59 AM, Stephen J. Turnbull <stephen@xemacs.org> wrote:
> But I think the important point is the one that Lennart made: Emacs's
> editing primitives and editor construction language are the important
> thing, and the default keymaps are just a way for the community to
> standardize things like tutorials and organize new addition to the set
> of key-bound commands.  It's a shame that there isn't a powerful
> facility for theming keymaps.

+1

FWIW ergoemacs-mode can let you theme keymaps:

https://github.com/ergoemacs/ergoemacs-mode

-- 
http://www.gnu.org/software/emacs/



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-18  8:48                                                           ` Lennart Borgman
  2014-01-18 10:02                                                             ` David Kastrup
  2014-01-19 12:10                                                             ` Emacs terminology (not again!?) [was: Apologia for bzr] Richard Stallman
@ 2014-01-20 12:22                                                             ` Phillip Lord
  2014-01-20 14:06                                                               ` New tutorial (was: Emacs terminology (not again!?) [was: Apologia for bzr]) Stefan Monnier
                                                                                 ` (2 more replies)
  2 siblings, 3 replies; 401+ messages in thread
From: Phillip Lord @ 2014-01-20 12:22 UTC (permalink / raw)
  To: Emacs-Devel devel


Lennart Borgman <lennart.borgman@gmail.com> writes:
>> > Emacs is never going to be as easy to learn as simple
>> > editors, because ease of learning is not its priority.
>
> There could be a setup of Emacs that is as easy as any editor to learn. It
> is the advanced features that will take time to learn.

For what it is worth, I think Emacs could do with some considerable
improvement on the "self-documenting" front. A student of mine recently
asked about tutorials for Emacs. Of course, I said, it's got one
built-in, to which the response was that it was rubbish.

So I went and looked at it for the first time in many years. I think he
has a point. As the warning notice that you get if you change things says:

"The main purpose of the Emacs tutorial is to teach you
the most important standard Emacs commands (key bindings)."

Are key bindings the main thing we want to teach new users?

Worse the first 200 lines are all about how to move the cursor; I mean,
most new users are just going to use the cursor keys, or a mouse. It's
what I do, even after years of using Emacs with a few exceptions
(Ctrl-A, E and M-<,> if you are interested).

It isn't till line 199 that you get something powerful (repeat commands)
rather than painful. Then, we move onto Ctrl-G (line 236) which is what
happens when it breaks. And line 274 get us to Windows. And line 470
before we find out how to open a file.

There are also 4 "If you are on a windowing system" statements: lets be
honest, any new user is going to be on a windowing system. People
starting to use computers today are likely to be unaware that it is
possible to not be on a windowing system.

Other things that seem to be missing, are links to the rest of the
world. Why no links to web pages, or videos? Or indeed, in-line images.

Perhaps, users would be less confused by "windows", "buffers" and so on,
if they hadn't got bored long before the point where these are
explained?

If there is interest in incorporating it, I'd be willing to rewrite it.

Phil




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

* New tutorial (was: Emacs terminology (not again!?) [was: Apologia for bzr])
  2014-01-20 12:22                                                             ` Phillip Lord
@ 2014-01-20 14:06                                                               ` Stefan Monnier
  2014-01-20 15:24                                                               ` Emacs terminology (not again!?) [was: Apologia for bzr] Eli Zaretskii
  2014-01-20 16:54                                                               ` Emacs terminology (not again!?) Glenn Morris
  2 siblings, 0 replies; 401+ messages in thread
From: Stefan Monnier @ 2014-01-20 14:06 UTC (permalink / raw)
  To: Phillip Lord; +Cc: Emacs-Devel devel

> Other things that seem to be missing, are links to the rest of the
> world.  Why no links to web pages, or videos? Or indeed, in-line images.

There aren't many web pages worthy of being linked to, but yes, the few
out there should be shown.

> If there is interest in incorporating it, I'd be willing to rewrite it.

I'd welcome a new tutorial, that takes the same idea as the original one
(i.e. a kind of "participative reading") but focuses on more powerful
features such as keyboard macros, sexp-based movement.  Of course, it
should still include explanations about the C-foo notation, the concept
of buffers and windows, etc... Advertising things like Org mode would
also make a lot of sense.

If it could be visually more appealing, it would be a plus.


        Stefan



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

* Re: Emacs terminology (not again!?) [was: Apologia for bzr]
  2014-01-20 12:22                                                             ` Phillip Lord
  2014-01-20 14:06                                                               ` New tutorial (was: Emacs terminology (not again!?) [was: Apologia for bzr]) Stefan Monnier
@ 2014-01-20 15:24                                                               ` Eli Zaretskii
  2014-01-20 16:54                                                               ` Emacs terminology (not again!?) Glenn Morris
  2 siblings, 0 replies; 401+ messages in thread
From: Eli Zaretskii @ 2014-01-20 15:24 UTC (permalink / raw)
  To: Phillip Lord; +Cc: emacs-devel

> From: phillip.lord@newcastle.ac.uk (Phillip Lord)
> Date: Mon, 20 Jan 2014 12:22:45 +0000
> 
> For what it is worth, I think Emacs could do with some considerable
> improvement on the "self-documenting" front. A student of mine recently
> asked about tutorials for Emacs. Of course, I said, it's got one
> built-in, to which the response was that it was rubbish.
> 
> So I went and looked at it for the first time in many years. I think he
> has a point.

Indeed.  Volunteers are welcome to work on this.

> Worse the first 200 lines are all about how to move the cursor;

But let's be fair: the tutorial starts by saying that arrow keys and
PgUp/PgDn are also supported.

> If there is interest in incorporating it, I'd be willing to rewrite it.

Please do, and thanks in advance.



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

* Re: Emacs terminology (not again!?)
  2014-01-20 12:22                                                             ` Phillip Lord
  2014-01-20 14:06                                                               ` New tutorial (was: Emacs terminology (not again!?) [was: Apologia for bzr]) Stefan Monnier
  2014-01-20 15:24                                                               ` Emacs terminology (not again!?) [was: Apologia for bzr] Eli Zaretskii
@ 2014-01-20 16:54                                                               ` Glenn Morris
  2014-01-20 18:00                                                                 ` Stefan Monnier
  2014-01-21 11:19                                                                 ` Emacs terminology (not again!?) Phillip Lord
  2 siblings, 2 replies; 401+ messages in thread
From: Glenn Morris @ 2014-01-20 16:54 UTC (permalink / raw)
  To: Phillip Lord; +Cc: Emacs-Devel devel

Phillip Lord wrote:

> Other things that seem to be missing, are links to the rest of the
> world. Why no links to web pages, or videos? Or indeed, in-line images.

You may prefer http://www.gnu.org/software/emacs/tour/

Yes, the built-in tutorial is old. Updating it (and its translations) is
a big task that no-one has had the energy for.



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

* Re: Emacs terminology (not again!?)
  2014-01-20 16:54                                                               ` Emacs terminology (not again!?) Glenn Morris
@ 2014-01-20 18:00                                                                 ` Stefan Monnier
  2014-01-21 11:39                                                                   ` New tutorial (was: Emacs terminology (not again!?) [was: Apologia for bzr]) Phillip Lord
  2014-01-21 11:19                                                                 ` Emacs terminology (not again!?) Phillip Lord
  1 sibling, 1 reply; 401+ messages in thread
From: Stefan Monnier @ 2014-01-20 18:00 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Phillip Lord, Emacs-Devel devel

> Yes, the built-in tutorial is old.  Updating it (and its translations) is
> a big task that no-one has had the energy for.

It's not necessary for all translations to be updated at the same time.


        Stefan



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

* Re: Emacs terminology (not again!?)
  2014-01-20 16:54                                                               ` Emacs terminology (not again!?) Glenn Morris
  2014-01-20 18:00                                                                 ` Stefan Monnier
@ 2014-01-21 11:19                                                                 ` Phillip Lord
  1 sibling, 0 replies; 401+ messages in thread
From: Phillip Lord @ 2014-01-21 11:19 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Emacs-Devel devel

Glenn Morris <rgm@gnu.org> writes:

> Phillip Lord wrote:
>
>> Other things that seem to be missing, are links to the rest of the
>> world. Why no links to web pages, or videos? Or indeed, in-line images.
>
> You may prefer http://www.gnu.org/software/emacs/tour/
>
> Yes, the built-in tutorial is old. Updating it (and its translations) is
> a big task that no-one has had the energy for.

Maybe it is. I was offering to do so.

Phil



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

* New tutorial (was: Emacs terminology (not again!?) [was: Apologia for bzr])
  2014-01-20 18:00                                                                 ` Stefan Monnier
@ 2014-01-21 11:39                                                                   ` Phillip Lord
  0 siblings, 0 replies; 401+ messages in thread
From: Phillip Lord @ 2014-01-21 11:39 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs-Devel devel


>> If there is interest in incorporating it, I'd be willing to rewrite it.

> I'd welcome a new tutorial, that takes the same idea as the original
> one (i.e. a kind of "participative reading") but focuses on more
> powerful features such as keyboard macros, sexp-based movement. Of
> course, it should still include explanations about the C-foo notation,
> the concept of buffers and windows, etc... 

This was my idea. There is nothing wrong with talking about keyboard
controlled motion, but there is too much of it, and it should not be at
the start.

> Advertising things like Org mode would also make a lot of sense.

I think more "where to go from here" stuff would be an important
addition. Actually, I was thinking of writing it using org, then
exporting to text (minus markup).

> If it could be visually more appealing, it would be a plus.

Again, I agree, while noting that "visually appealing" is not one of my
big skills in life.

I'll have a think about it, and post here when I have more news. I'll
probably set up a repo somewhere to get going. Anyone got any options
about which VCS I should use?

Phil

(last sentence was an attempt at humour)



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

* RE: Apologia for bzr
  2014-01-03 20:34                   ` Apologia for bzr Stephen J. Turnbull
  2014-01-03 21:07                     ` Eli Zaretskii
@ 2020-10-29  7:11                     ` Drew Adams
  2020-10-30  7:35                       ` glossary terms linked Jean Louis
  1 sibling, 1 reply; 401+ messages in thread
From: Drew Adams @ 2020-10-29  7:11 UTC (permalink / raw)
  To: Stephen J. Turnbull, Eli Zaretskii; +Cc: esr, kfogel, Toby Cubitt, emacs-devel

>> Anyway, there's a big difference here: in Emacs documentation,
>> every term is explained before it is used, and rarely used terms
>> have cross-references to where they are described.
> 
> I bet you can dip into any number of Info nodes where the
> terms "buffer" and "window" are used without definition.

FWIW -

I submitted Emacs bug #16333, to request linking first
occurrences (in a node) of words that are defined in
the Glossary to their definitions.

I finally got around to doing this, in my library
info+.el.  (It could be done for vanilla Emacs too.)
___

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16333

https://www.emacswiki.org/emacs/download/info%2b.el



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

* glossary terms linked
  2020-10-29  7:11                     ` Drew Adams
@ 2020-10-30  7:35                       ` Jean Louis
  0 siblings, 0 replies; 401+ messages in thread
From: Jean Louis @ 2020-10-30  7:35 UTC (permalink / raw)
  To: Drew Adams
  Cc: kfogel, emacs-devel, esr, Stephen J. Turnbull, Toby Cubitt,
	Eli Zaretskii

* Drew Adams <drew.adams@oracle.com> [2020-10-29 10:12]:
> >> Anyway, there's a big difference here: in Emacs documentation,
> >> every term is explained before it is used, and rarely used terms
> >> have cross-references to where they are described.
> > 
> > I bet you can dip into any number of Info nodes where the
> > terms "buffer" and "window" are used without definition.
> 
> FWIW -
> 
> I submitted Emacs bug #16333, to request linking first
> occurrences (in a node) of words that are defined in
> the Glossary to their definitions.
> 
> I finally got around to doing this, in my library
> info+.el.  (It could be done for vanilla Emacs too.)
> ___
> 
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16333
> 
> https://www.emacswiki.org/emacs/download/info%2b.el

Thank you, that is great feature.

info+ show buttons with my theme little embossed or opposite of
embossed.

I hope similar enters Emacs to make terminology easier accessible.


-- 
Jean Louis



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

end of thread, other threads:[~2020-10-30  7:35 UTC | newest]

Thread overview: 401+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-02  9:53 bzr is dying; Emacs needs to move Eric S. Raymond
2014-01-02 11:52 ` Thien-Thi Nguyen
2014-01-02 12:20   ` Bozhidar Batsov
2014-01-02 12:28     ` Bozhidar Batsov
2014-01-02 13:05     ` Rüdiger Sonderfeld
2014-01-02 13:29       ` Andreas Schwab
2014-01-02 18:15   ` James Cloos
2014-01-02 22:27     ` Thien-Thi Nguyen
2014-01-02 23:57       ` James Cloos
2014-01-03  0:05         ` James Cloos
2014-01-03  9:57         ` Andreas Schwab
2014-01-03  6:15       ` joakim
2014-01-03  9:05         ` Rüdiger Sonderfeld
2014-01-03 11:11           ` joakim
2014-01-04  2:14   ` Samuel Bronson
2014-01-05  7:11     ` Thien-Thi Nguyen
2014-01-05 16:13       ` "No safeguard against rewriting upstream bzr history" (was: bzr is dying; Emacs needs to move) Joshua Judson Rosen
2014-01-05 18:29         ` "No safeguard against rewriting upstream bzr history" Glenn Morris
2014-01-05 18:38         ` Wolfgang Jenkner
2014-01-06  9:00           ` Thien-Thi Nguyen
2014-01-02 12:30 ` bzr is dying; Emacs needs to move Bozhidar Batsov
2014-01-02 13:08   ` Rüdiger Sonderfeld
2014-01-02 15:04 ` Richard Stallman
2014-01-02 15:41   ` PROPOSAL: Move to git, now that bzr is no longer a req Karl Fogel
2014-01-02 15:56     ` Bastien
2014-01-02 16:12       ` Nathan Trapuzzano
2014-01-02 16:29         ` Toby Cubitt
2014-01-02 17:10       ` Jose E. Marchesi
2014-01-02 18:26       ` Ulrich Mueller
2014-01-02 21:30       ` Mitchel Humpherys
2014-01-02 22:19         ` Sebastian Wiesner
2014-01-02 16:29     ` Fabián Ezequiel Gallina
2014-01-02 16:39     ` Eric S. Raymond
2014-01-02 16:44       ` Andreas Schwab
2014-01-02 16:57         ` Eric S. Raymond
2014-01-02 17:00           ` Andreas Schwab
2014-01-02 17:14             ` Eric S. Raymond
2014-01-02 17:27               ` Andreas Schwab
2014-01-02 18:06                 ` Eric S. Raymond
2014-01-02 18:12                   ` Eli Zaretskii
2014-01-02 18:28                     ` Andreas Schwab
2014-01-02 18:25                   ` Andreas Schwab
2014-01-02 17:10     ` Eli Zaretskii
2014-01-02 17:28       ` Eric S. Raymond
2014-01-02 17:56         ` Eli Zaretskii
2014-01-02 18:34           ` Apologia for bzr Eric S. Raymond
2014-01-02 20:44             ` Eli Zaretskii
2014-01-02 20:51               ` Eric S. Raymond
2014-01-02 21:03                 ` Eli Zaretskii
2014-01-02 21:15                   ` Juanma Barranquero
2014-01-03  7:47                     ` Eli Zaretskii
2014-01-03 11:11                       ` Juanma Barranquero
2014-01-03 11:46                         ` Eli Zaretskii
2014-01-03 11:55                           ` Juanma Barranquero
2014-01-02 21:31                   ` Óscar Fuentes
2014-01-02 21:14               ` Toby Cubitt
2014-01-03  8:57                 ` Eli Zaretskii
2014-01-03  9:21                   ` Yuri Khan
2014-01-03 10:08                     ` Eli Zaretskii
2014-01-03 10:29                     ` vc.el support for staging hunks/files João Távora
2014-01-09 17:49                       ` Dan Nicolaescu
2014-01-03 20:34                   ` Apologia for bzr Stephen J. Turnbull
2014-01-03 21:07                     ` Eli Zaretskii
2014-01-04  5:01                       ` Stephen J. Turnbull
2014-01-05 10:10                         ` Florian Weimer
2020-10-29  7:11                     ` Drew Adams
2020-10-30  7:35                       ` glossary terms linked Jean Louis
2014-01-03 14:37                 ` Apologia for bzr Richard Stallman
2014-01-03 15:21                   ` Toby Cubitt
2014-01-04  7:59                     ` Richard Stallman
2014-01-04  8:28                       ` Eric S. Raymond
2014-01-04 12:09                         ` Lennart Borgman
2014-01-04 15:44                           ` Tom
2014-01-04 19:00                             ` David Kastrup
2014-01-04 19:38                               ` Lennart Borgman
2014-01-04 22:09                                 ` Apologia for CUA mode Christophe Poncy
2014-01-04 23:39                                   ` Lennart Borgman
2014-01-04 19:39                               ` CUA mode??? Joshua Judson Rosen
2014-01-04 23:38                                 ` Lennart Borgman
2014-01-05 23:15                                   ` Xue Fuqiao
2014-01-06  1:34                                     ` Lennart Borgman
2014-01-04 20:48                               ` Apologia for bzr Tom
2014-01-04 21:55                             ` Apologia for CUA mode (was: Apologia for bzr) Christophe Poncy
2014-01-05 10:03                           ` Apologia for bzr Stephen J. Turnbull
2014-01-05 11:52                             ` Eric S. Raymond
2014-01-05 18:14                               ` Stephen J. Turnbull
2014-01-05 14:27                             ` Lennart Borgman
2014-01-05 15:27                               ` David Kastrup
2014-01-05 15:56                                 ` Werner LEMBERG
2014-01-05 20:20                         ` Richard Stallman
2014-01-05 20:35                           ` Gabriel Beauchamp
2014-01-06  4:07                             ` Yuri Khan
2014-01-05 20:41                           ` Lennart Borgman
2014-01-05 21:31                             ` Tom
2014-01-06 14:00                             ` Richard Stallman
2014-01-06 14:29                               ` Lennart Borgman
2014-01-06 15:14                                 ` John Yates
2014-01-06 20:27                                 ` Richard Stallman
2014-01-06 20:32                                   ` Daniel Colascione
2014-01-06 23:43                                     ` Lennart Borgman
2014-01-06 23:50                                       ` David Kastrup
2014-01-07  0:02                                         ` Lennart Borgman
2014-01-07  8:27                                           ` Thien-Thi Nguyen
2014-01-07  6:05                                     ` Christophe Poncy
2014-01-07 16:53                                     ` Richard Stallman
2014-01-07  0:12                                   ` Stefan Monnier
2014-01-07  6:21                                     ` Lars Magne Ingebrigtsen
2014-01-07  7:30                                       ` Emacs terminology (not again!?) [was: Apologia for bzr] Drew Adams
2014-01-07 10:30                                         ` Lennart Borgman
2014-01-07 18:05                                           ` Joel Mccracken
2014-01-07 19:06                                             ` Drew Adams
2014-01-07 19:17                                               ` Lennart Borgman
2014-01-07 19:56                                               ` David Reitter
2014-01-07 20:31                                                 ` Drew Adams
2014-01-07 20:42                                                   ` Lennart Borgman
2014-01-10  2:12                                                   ` David Reitter
2014-01-10 19:10                                                     ` Tom
2014-01-07 19:37                                             ` David Kastrup
2014-01-07 19:50                                               ` Lennart Borgman
2014-01-07 22:24                                               ` Great Old One? Eric S. Raymond
2014-01-08  1:20                                                 ` Bob Bobeck
2014-01-08 17:24                                                   ` Jordi Gutiérrez Hermoso
2014-01-08  2:19                                                 ` Jay Belanger
2014-01-08  4:55                                                   ` Joel Mccracken
2014-01-08  3:41                                               ` Emacs terminology (not again!?) [was: Apologia for bzr] Richard Stallman
2014-01-08  4:14                                                 ` Bob Bobeck
2014-01-07 11:13                                         ` Stephen J. Turnbull
2014-01-07 11:27                                           ` Lennart Borgman
2014-01-07 12:13                                             ` Yuri Khan
2014-01-07 14:07                                             ` Stephen J. Turnbull
2014-01-07 14:16                                               ` Lennart Borgman
2014-01-07 10:30                                       ` Apologia for bzr Jose E. Marchesi
2014-01-09 14:10                                         ` Per Starbäck
2014-01-09 14:48                                           ` Emacs terminology (not again!?) [was: Apologia for bzr] Drew Adams
2014-01-09 15:21                                             ` Per Starbäck
2014-01-09 16:44                                               ` Drew Adams
2014-01-09 17:27                                                 ` Per Starbäck
2014-01-09 17:42                                                   ` David Kastrup
2014-01-09 19:11                                                     ` Tom
2014-01-09 19:38                                                       ` David Kastrup
2014-01-10 18:10                                                         ` Davis Herring
2014-01-10 18:12                                                           ` David Kastrup
2014-01-09 22:24                                                       ` Drew Adams
2014-01-10 14:37                                                     ` Richard Stallman
2014-01-17 23:13                                                       ` Per Starbäck
2014-01-17 23:38                                                         ` David Kastrup
2014-01-18  0:11                                                         ` Emacs terminology (not again!?) Glenn Morris
2014-01-18  1:47                                                           ` Lennart Borgman
2014-01-18  1:59                                                             ` Daniel Colascione
2014-01-18  2:59                                                               ` Lennart Borgman
2014-01-18  3:02                                                                 ` Daniel Colascione
2014-01-18  8:34                                                                   ` Eli Zaretskii
2014-01-18  8:53                                                                     ` Daniel Colascione
2014-01-18 10:45                                                                       ` Eli Zaretskii
2014-01-18  8:55                                                                     ` David Kastrup
2014-01-18 10:52                                                                       ` Eli Zaretskii
2014-01-18 11:01                                                                         ` David Kastrup
2014-01-18 11:53                                                                           ` Eli Zaretskii
2014-01-18  8:35                                                                   ` Lennart Borgman
2014-01-18  8:48                                                                     ` Eli Zaretskii
2014-01-18 12:34                                                             ` Richard Stallman
2014-01-18  8:28                                                         ` Emacs terminology (not again!?) [was: Apologia for bzr] Eli Zaretskii
2014-01-18  8:48                                                           ` Lennart Borgman
2014-01-18 10:02                                                             ` David Kastrup
2014-01-18 11:03                                                               ` Lennart Borgman
2014-01-18 11:32                                                                 ` David Kastrup
2014-01-18 13:13                                                                   ` Sivaram Neelakantan
2014-01-18 16:24                                                                     ` Emacs terminology (not again!?) Óscar Fuentes
2014-01-18 17:46                                                                       ` David Kastrup
2014-01-18 18:55                                                                         ` Sven Axelsson
2014-01-18 19:10                                                                           ` Tom
2014-01-18 20:57                                                                           ` chad
2014-01-18 17:22                                                                     ` Emacs terminology (not again!?) [was: Apologia for bzr] Tom
2014-01-18 16:28                                                               ` Óscar Fuentes
2014-01-18 17:55                                                                 ` David Kastrup
2014-01-19  0:59                                                                   ` Emacs terminology (not again!?) Stephen J. Turnbull
2014-01-20  3:01                                                                     ` Xue Fuqiao
2014-01-19 12:10                                                             ` Emacs terminology (not again!?) [was: Apologia for bzr] Richard Stallman
2014-01-19 12:21                                                               ` Lennart Borgman
2014-01-20 12:22                                                             ` Phillip Lord
2014-01-20 14:06                                                               ` New tutorial (was: Emacs terminology (not again!?) [was: Apologia for bzr]) Stefan Monnier
2014-01-20 15:24                                                               ` Emacs terminology (not again!?) [was: Apologia for bzr] Eli Zaretskii
2014-01-20 16:54                                                               ` Emacs terminology (not again!?) Glenn Morris
2014-01-20 18:00                                                                 ` Stefan Monnier
2014-01-21 11:39                                                                   ` New tutorial (was: Emacs terminology (not again!?) [was: Apologia for bzr]) Phillip Lord
2014-01-21 11:19                                                                 ` Emacs terminology (not again!?) Phillip Lord
2014-01-07  6:22                                     ` Apologia for bzr Christophe Poncy
2014-01-07  6:41                                       ` joakim
2014-01-06 20:27                                 ` Richard Stallman
2014-01-07  6:03                                 ` Christophe Poncy
2014-01-06 14:55                               ` Stefan Monnier
2014-01-07  5:58                               ` Christophe Poncy
2014-01-05 20:56                           ` Eric S. Raymond
2014-01-05 21:58                             ` Florian Weimer
2014-01-05 22:13                               ` chad
2014-01-05 22:25                                 ` Lennart Borgman
2014-01-05 23:01                                   ` chad
2014-01-06  2:32                                     ` Lennart Borgman
2014-01-05 22:54                                 ` Stefan Monnier
2014-01-06 14:09                                   ` Sivaram Neelakantan
2014-01-06 14:54                                     ` David Kastrup
2014-01-06 14:56                                     ` Stefan Monnier
2014-01-07  6:00                                     ` Christophe Poncy
2014-01-05 23:41                             ` James Cloos
2014-01-06  0:27                               ` Karl Fogel
2014-01-06  0:35                               ` Eric S. Raymond
2014-01-06  0:45                               ` David Kastrup
2014-01-06  1:52                                 ` Eric Brown
2014-01-06  2:08                                   ` David Kastrup
2014-01-06  4:27                                 ` Yuri Khan
2014-01-06  7:18                                   ` Michael Albinus
2014-01-06  7:32                                   ` chad
2014-01-06 15:40                                 ` James Cloos
2014-01-06 18:47                             ` Eric Brown
2014-01-09 20:30                             ` Rogerio Senna
2014-01-09 22:05                               ` Drew Adams
2014-01-03  9:44               ` Tassilo Horn
2014-01-03 10:26                 ` Eli Zaretskii
2014-01-03 10:56                   ` Nathan Trapuzzano
2014-01-03 11:45                     ` Eli Zaretskii
2014-01-03 11:49                       ` Nathan Trapuzzano
2014-01-03 13:54                         ` Eli Zaretskii
2014-01-04 20:37                           ` Eli Zaretskii
2014-01-03 15:06                       ` Óscar Fuentes
2014-01-03 15:34                         ` Eli Zaretskii
2014-01-03 13:49                   ` Leo Liu
2014-01-03 14:08                     ` Eli Zaretskii
2014-01-03 15:12                       ` Óscar Fuentes
2014-01-03 17:48                         ` Eric S. Raymond
2014-01-03 19:39                         ` Stefan Monnier
2014-01-03 19:49                       ` Stefan Monnier
2014-01-03 20:27                         ` David Kastrup
2014-01-03 20:39                         ` Dmitry Gutov
2014-01-03 20:54                           ` Eric S. Raymond
2014-01-04  4:06                           ` Stefan Monnier
2014-01-04  2:00                         ` Josh
2014-01-03 17:45                     ` Eric S. Raymond
2014-01-03 17:56                       ` Karl Fogel
2014-01-03 18:04                         ` Ted Zlatanov
2014-01-03 18:21                           ` Karl Fogel
2014-01-03 19:52                             ` Stefan Monnier
2014-01-03 20:17                               ` Karl Fogel
2014-01-04 10:01                               ` David Engster
2014-01-04 19:53                                 ` Stefan Monnier
2014-01-03 19:19                           ` chad
2014-01-03 18:05                         ` David Engster
2014-01-04 13:08                         ` Bastien
2014-01-03 16:57                   ` Tassilo Horn
2014-01-03 20:02                     ` Ulrich Mueller
2014-01-03 20:13                       ` Tassilo Horn
2014-01-03 20:32                       ` Eli Zaretskii
2014-01-03 20:14                     ` Eli Zaretskii
2014-01-03 20:50                       ` Óscar Fuentes
2014-01-03 21:10                       ` Tassilo Horn
2014-01-02 18:40           ` PROPOSAL: Move to git, now that bzr is no longer a req Bozhidar Batsov
2014-01-02 20:49             ` Eli Zaretskii
2014-01-02 21:22               ` Óscar Fuentes
2014-01-03  7:49                 ` Eli Zaretskii
2014-01-03 14:53                   ` Óscar Fuentes
2014-01-03 15:08                     ` Eli Zaretskii
2014-01-03 15:32                       ` Óscar Fuentes
2014-01-03 15:55                         ` Eli Zaretskii
2014-01-03 16:28                           ` Óscar Fuentes
2014-01-03 20:12                             ` Eli Zaretskii
2014-01-03 20:37                               ` Óscar Fuentes
2014-01-03 21:11                                 ` Eli Zaretskii
2014-01-03 21:38                                   ` Óscar Fuentes
2014-01-04  7:16                                     ` Eli Zaretskii
2014-01-04 17:30                                       ` Óscar Fuentes
2014-01-04 19:58                                         ` Eli Zaretskii
2014-01-04 20:19                                           ` Óscar Fuentes
2014-01-04 20:39                                             ` Eli Zaretskii
2014-01-04 20:47                                               ` Óscar Fuentes
2014-01-04 21:07                                                 ` Eli Zaretskii
2014-01-03 21:00                               ` David De La Harpe Golden
2014-01-03 21:18                                 ` Óscar Fuentes
2014-01-02 18:02         ` Óscar Fuentes
2014-01-03 17:54         ` Stephen J. Turnbull
2014-01-02 19:48       ` Stefan Monnier
2014-01-02 19:51         ` Daniel Colascione
2014-01-02 21:05           ` Stefan Monnier
2014-01-02 21:53             ` David De La Harpe Golden
2014-01-02 22:59               ` Andreas Schwab
2014-01-03  2:46               ` Stefan Monnier
2014-01-02 20:58         ` Eli Zaretskii
2014-01-03  6:33           ` joakim
2014-01-03  8:10             ` Eli Zaretskii
2014-01-03 11:14             ` Juanma Barranquero
2014-01-03 13:01               ` Bastien
2014-01-03 13:46                 ` David Engster
2014-01-03 14:12                   ` Eli Zaretskii
2014-01-03 15:19                   ` Tom
2014-01-03 16:18                     ` David Engster
2014-01-03 17:29                   ` Eric S. Raymond
2014-01-03 14:03                 ` Eli Zaretskii
2014-01-03 14:24                   ` Bastien
2014-01-03 17:32                     ` Eric S. Raymond
2014-01-03 14:36                   ` Antonio Nikishaev
2014-01-03 20:15                     ` Stephen J. Turnbull
2014-01-05  4:49                       ` Barry Warsaw
2014-01-03 17:22                   ` Karl Fogel
2014-01-03 14:54                 ` Stefan Monnier
2014-01-03 17:12                   ` Ted Zlatanov
2014-01-03 17:25                     ` Karl Fogel
2014-01-02 22:31       ` Lars Magne Ingebrigtsen
2014-01-03 17:09         ` Ted Zlatanov
2014-01-03 17:50           ` David Engster
2014-01-02 17:17     ` Christoph
2014-01-02 18:05     ` Bozhidar Batsov
2014-01-02 19:05     ` Daniel Colascione
2014-01-02 20:49       ` Paul Eggert
2014-01-02 22:54     ` Michael Albinus
2014-01-02 23:32     ` Xue Fuqiao
2014-01-02 23:55     ` Stephen Eglen
2014-01-03  5:27       ` Thierry Volpiatto
2014-01-03  7:39         ` Michael Albinus
2014-01-03  9:07           ` Thierry Volpiatto
2014-01-03  9:19             ` Bastien
2014-01-03  9:17           ` Bastien
2014-01-03  9:35             ` Rüdiger Sonderfeld
2014-01-03  9:53               ` Daniel Colascione
2014-01-03 10:27                 ` Eli Zaretskii
2014-01-03 17:26                 ` Stephen J. Turnbull
2014-01-03 10:05               ` Bastien
2014-01-03 10:08             ` Tassilo Horn
2014-01-03  9:31           ` Generating ChangeLog files Rüdiger Sonderfeld
2014-01-03 10:12             ` Eli Zaretskii
2014-01-03 18:09               ` Bozhidar Batsov
2014-01-03 18:41                 ` Juanma Barranquero
2014-01-03 20:13                   ` Stefan Monnier
2014-01-04  3:49                     ` Kenichi Handa
2014-01-04  4:28                       ` Paul Eggert
2014-01-05  5:57                         ` Richard Stallman
2014-01-04  7:31                       ` Eli Zaretskii
2014-01-03 14:48           ` PROPOSAL: Move to git, now that bzr is no longer a req Stefan Monnier
2014-01-04  9:42             ` Bastien
2014-01-04 12:49               ` Achim Gratz
2014-01-04 12:58                 ` Bastien
2014-01-04 13:15                   ` Achim Gratz
2014-01-04 13:20                     ` Bastien
2014-01-04 20:07                     ` Stefan Monnier
2014-01-05 10:14               ` Florian Weimer
2014-01-03 17:50         ` Eric S. Raymond
2014-01-04  8:00           ` Richard Stallman
2014-01-04  9:44             ` Bastien
2014-01-04  9:57               ` Eric S. Raymond
2014-01-04  9:58               ` Lars Magne Ingebrigtsen
2014-01-04 11:31               ` Thierry Volpiatto
2014-01-04 13:01                 ` Bastien
2014-01-04 13:03                 ` David Kastrup
2014-01-04 13:11                   ` Bastien
2014-01-04 13:15                     ` David Kastrup
2014-01-04 13:27                       ` Bastien
2014-01-09 14:34                         ` Per Starbäck
2014-01-09 14:49                           ` David Kastrup
2014-01-09 16:56                           ` Glenn Morris
2014-01-04 13:07               ` Achim Gratz
2014-01-04 20:03                 ` Juanma Barranquero
2014-01-04 20:12                   ` Jarek Czekalski
2014-01-04 20:37                   ` Achim Gratz
2014-01-04 20:53                     ` Juanma Barranquero
2014-01-04 21:13                       ` Eli Zaretskii
2014-01-04 21:38                         ` Juanma Barranquero
2014-01-05  2:17                         ` Nathan Trapuzzano
2014-01-05  5:17                           ` Stefan Monnier
2014-01-05  8:39                             ` Stephen J. Turnbull
2014-01-04 20:04                 ` Stefan Monnier
2014-01-04 20:22                   ` Achim Gratz
2014-01-04 21:06                     ` Stefan Monnier
2014-01-05  8:34                   ` Stephen J. Turnbull
2014-01-05 16:35                     ` Eli Zaretskii
2014-01-06  3:40                       ` Stephen J. Turnbull
2014-01-05 17:23                     ` Stefan Monnier
2014-01-06  3:44                       ` Stephen J. Turnbull
2014-01-06  4:32                         ` Stefan Monnier
2014-01-06  7:10                           ` Stephen J. Turnbull
2014-01-06 14:53                             ` Stefan Monnier
2014-01-05 20:20               ` Richard Stallman
2014-01-05 23:58                 ` David Kastrup
2014-01-06  0:26                   ` Glenn Morris
2014-01-06  3:47                     ` Stefan Monnier
2014-01-06  3:59                 ` Stephen J. Turnbull
2014-01-06  6:58                 ` Bastien
2014-01-04 10:29             ` David Kastrup
2014-01-05 10:25             ` Florian Weimer
2014-01-05 20:23               ` Richard Stallman
2014-01-05 20:43                 ` Florian Weimer
2014-01-06 14:00                   ` Richard Stallman
2014-01-06 14:53                     ` David Kastrup
2014-01-06 16:09                       ` Eli Zaretskii
2014-01-06 17:57                         ` Jordi Gutiérrez Hermoso
2014-01-06 18:09                           ` Eli Zaretskii
2014-01-06 18:07                         ` David Kastrup
2014-01-06 18:21                           ` Eli Zaretskii
2014-01-07 19:17                         ` David Kastrup
2014-01-07 19:20                           ` Eli Zaretskii
2014-01-07 20:24                           ` Rüdiger Sonderfeld
2014-01-02 16:12   ` bzr is dying; Emacs needs to move Eric S. Raymond
2014-01-02 17:53 ` Sam Steingold
2014-01-02 18:03   ` Samuel El-Borai
2014-01-03 20:03 ` David Reitter

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).