unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
       [not found] ` <E1XwAvL-0006M3-CA@vcs.savannah.gnu.org>
@ 2014-12-03 15:31   ` Stefan Monnier
  2014-12-03 19:31     ` Eric S. Raymond
  2014-12-03 19:32     ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el David Engster
  2014-12-03 15:34   ` Stefan Monnier
  2014-12-05 18:37   ` master e820f16: Added file-tree-walk to files.el Michael Heerdegen
  2 siblings, 2 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-03 15:31 UTC (permalink / raw)
  To: emacs-devel; +Cc: Eric S. Raymond

> +(defun file-tree-walk (dir action &rest args)
> +  "Walk DIR executing ACTION.  Each call gets as arguments DIR, a file path,

The first line should be self-sufficient, so better add a newline after
the ".".

> +and optional ARGS. The ACTION is applied to each subdirectory
                    ^^
Use two spaces to separate sentences.

> +before descending into it, and if nil is returned at that point
> +the descent will be prevented.  Directory entries are sorted with
> +string-lessp"
             ^^^
Don't forget to punctuate your docstrings.

I think C-u M-x checkdoc-current-buffer RET would have caught all those.

We really should try and setup flymake.el automatically for Elisp
buffers to flag those things on-the-fly.

> +  (cond ((file-directory-p dir)
> +	 (or (char-equal ?/ (aref dir (1- (length dir))))
> +	     (setq dir (file-name-as-directory dir)))
> +	 (let ((lst (directory-files dir nil nil t))

Experience taught me that file-name-all-completions followed by testing
the presence of a trailing "/" is *much* faster because calling
file-directory-p on each entry ends up costly.

I got this trick from Eshell's code for ** globbing, where the speed
difference was a factor 10 when I tested it.


        Stefan



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
       [not found] ` <E1XwAvL-0006M3-CA@vcs.savannah.gnu.org>
  2014-12-03 15:31   ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Stefan Monnier
@ 2014-12-03 15:34   ` Stefan Monnier
  2014-12-03 16:41     ` Thien-Thi Nguyen
  2014-12-03 19:27     ` Eric S. Raymond
  2014-12-05 18:37   ` master e820f16: Added file-tree-walk to files.el Michael Heerdegen
  2 siblings, 2 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-03 15:34 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: emacs-devel

>     Added file-tree-walk to files.el.

How many freaking times will i have to tell you include
ChangeLog-formatted entries in the commit messages?


        Stefan



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 15:34   ` Stefan Monnier
@ 2014-12-03 16:41     ` Thien-Thi Nguyen
  2014-12-03 18:08       ` Eli Zaretskii
  2014-12-03 19:27     ` Eric S. Raymond
  1 sibling, 1 reply; 249+ messages in thread
From: Thien-Thi Nguyen @ 2014-12-03 16:41 UTC (permalink / raw)
  To: emacs-devel

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

() Stefan Monnier <monnier@iro.umontreal.ca>
() Wed, 03 Dec 2014 10:34:14 -0500

   How many freaking times will i have to tell you include
   ChangeLog-formatted entries in the commit messages?

To reduce stress, you should draw a line in the sand:
- write it down;
- adopt a conformance-gate policy (and write THAT down);
- enforce it dispassionately.

By "write it down" i mean add it to HACKING or similar.
E.g., that's what i do for GNU Serveez:

 http://git.sv.gnu.org/cgit/serveez.git/tree/HACKING?h=p#n262

Alternatively, big projects (e.g., Linux) have a hierarchical
"pull priv" structures.  People push to public, but ephemeral,
branches and someone higher (in authority) only merges into
the "mainline" (via pulls) when satisfied that the candidate
branch has the right characteristics (form and content).

Otherwise, you will have to continue to play babysitter, and
(i think my fellow babysitters will concur) that's not so much
fun after the Nth "accident"...

In sum: Tough Love -- Just Do It -- Invest Wisely Soon.  :-D

-- 
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: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 16:41     ` Thien-Thi Nguyen
@ 2014-12-03 18:08       ` Eli Zaretskii
  2014-12-03 18:36         ` Tom
                           ` (2 more replies)
  0 siblings, 3 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-03 18:08 UTC (permalink / raw)
  To: emacs-devel

> From: Thien-Thi Nguyen <ttn@gnu.org>
> Date: Wed, 03 Dec 2014 17:41:01 +0100
> 
> Otherwise, you will have to continue to play babysitter, and
> (i think my fellow babysitters will concur) that's not so much
> fun after the Nth "accident"...

There's an easier way: after Nth accident, revoke the write access to
the repo.



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 18:08       ` Eli Zaretskii
@ 2014-12-03 18:36         ` Tom
  2014-12-03 19:21           ` Paul Eggert
  2014-12-03 18:58         ` Lars Magne Ingebrigtsen
  2014-12-03 19:11         ` Thien-Thi Nguyen
  2 siblings, 1 reply; 249+ messages in thread
From: Tom @ 2014-12-03 18:36 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz <at> gnu.org> writes:

> > 
> > Otherwise, you will have to continue to play babysitter, and
> > (i think my fellow babysitters will concur) that's not so much
> > fun after the Nth "accident"...
> 
> There's an easier way: after Nth accident, revoke the write access to
> the repo.
> 

There is a better way. Git like other VC tools has precommit hooks.

Just add a script which checks the commit message and if there
is no proper changeLog-formatted entry in the commit message then
it rejects the commit.





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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 18:08       ` Eli Zaretskii
  2014-12-03 18:36         ` Tom
@ 2014-12-03 18:58         ` Lars Magne Ingebrigtsen
  2014-12-03 19:26           ` Eric S. Raymond
  2014-12-03 19:11         ` Thien-Thi Nguyen
  2 siblings, 1 reply; 249+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-03 18:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Eric S. Raymond, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Thien-Thi Nguyen <ttn@gnu.org>
>> Date: Wed, 03 Dec 2014 17:41:01 +0100
>> 
>> Otherwise, you will have to continue to play babysitter, and
>> (i think my fellow babysitters will concur) that's not so much
>> fun after the Nth "accident"...
>
> There's an easier way: after Nth accident, revoke the write access to
> the repo.

The current thing going on here is kinda unusual, though.  Perhaps Eric
has lost email access without knowing?  Someone could send him an SMS or
something...

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



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 18:08       ` Eli Zaretskii
  2014-12-03 18:36         ` Tom
  2014-12-03 18:58         ` Lars Magne Ingebrigtsen
@ 2014-12-03 19:11         ` Thien-Thi Nguyen
  2 siblings, 0 replies; 249+ messages in thread
From: Thien-Thi Nguyen @ 2014-12-03 19:11 UTC (permalink / raw)
  To: emacs-devel

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

() Eli Zaretskii <eliz@gnu.org>
() Wed, 03 Dec 2014 20:08:13 +0200

   There's an easier way: after Nth accident,
   revoke the write access to the repo.

Yes, that's the "enforce" part of "enforce it".
It's the "it" part that requires timely finessing.

-- 
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: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 18:36         ` Tom
@ 2014-12-03 19:21           ` Paul Eggert
  2014-12-03 19:27             ` Tom
  0 siblings, 1 reply; 249+ messages in thread
From: Paul Eggert @ 2014-12-03 19:21 UTC (permalink / raw)
  To: Tom, emacs-devel

On 12/03/2014 10:36 AM, Tom wrote:
> Just add a script which checks the commit message and if there
> is no proper changeLog-formatted entry in the commit message then
> it rejects the commit.
>

We already have such scripts in build-aux/git-hooks/*, which I wrote 
recently and which are installed in .git/hooks when you run autogen.sh.  
I made them reasonably permissive, since I figured that people would 
have enough trouble with the bzr-to-git transition that they wouldn't 
appreciate nagging about ChangeLog format too.  Also, the hooks are 
optional, in the sense that not everybody runs autogen.sh, or it may be 
a while before they run autogen.sh, or perhaps they commit in some way 
that bypasses the hooks.  At some point I suppose we could tighten up 
the hooks and make them less easy to bypass..



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 18:58         ` Lars Magne Ingebrigtsen
@ 2014-12-03 19:26           ` Eric S. Raymond
  0 siblings, 0 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-03 19:26 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: Eli Zaretskii, emacs-devel

Lars Magne Ingebrigtsen <larsi@gnus.org>:
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Thien-Thi Nguyen <ttn@gnu.org>
> >> Date: Wed, 03 Dec 2014 17:41:01 +0100
> >> 
> >> Otherwise, you will have to continue to play babysitter, and
> >> (i think my fellow babysitters will concur) that's not so much
> >> fun after the Nth "accident"...
> >
> > There's an easier way: after Nth accident, revoke the write access to
> > the repo.
> 
> The current thing going on here is kinda unusual, though.  Perhaps Eric
> has lost email access without knowing?  Someone could send him an SMS or
> something...

No, I was asleep while this thread was going on.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 15:34   ` Stefan Monnier
  2014-12-03 16:41     ` Thien-Thi Nguyen
@ 2014-12-03 19:27     ` Eric S. Raymond
  2014-12-03 19:41       ` Paul Eggert
  1 sibling, 1 reply; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-03 19:27 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca>:
> How many freaking times will i have to tell you include
> ChangeLog-formatted entries in the commit messages?

I've been doing that.  You want it even when the ChangeLog part is a trivial
repetition of the summary line?
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 19:21           ` Paul Eggert
@ 2014-12-03 19:27             ` Tom
  0 siblings, 0 replies; 249+ messages in thread
From: Tom @ 2014-12-03 19:27 UTC (permalink / raw)
  To: emacs-devel

Paul Eggert <eggert <at> cs.ucla.edu> writes:
> 
> Also, the hooks are 
> optional, in the sense that not everybody runs autogen.sh, or it may be 
> a while before they run autogen.sh, or perhaps they commit in some way 
> that bypasses the hooks.  

Git has client and server side hooks. This should be a server side
hook, so it can't be bypassed:


In addition to the client-side hooks, you can use a couple of important
server-side hooks as a system administrator to enforce nearly any kind of
policy for your project. These scripts run before and after pushes to the
server. The pre hooks can exit non-zero at any time to reject the push as
well as print an error message back to the client; you can set up a push
policy that’s as complex as you wish.

http://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks






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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 15:31   ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Stefan Monnier
@ 2014-12-03 19:31     ` Eric S. Raymond
  2014-12-03 21:19       ` Stefan Monnier
  2014-12-03 19:32     ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el David Engster
  1 sibling, 1 reply; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-03 19:31 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca>:
> > +(defun file-tree-walk (dir action &rest args)
> > +  "Walk DIR executing ACTION.  Each call gets as arguments DIR, a file path,
> 
> The first line should be self-sufficient, so better add a newline after
> the ".".
> 
> > +and optional ARGS. The ACTION is applied to each subdirectory
>                     ^^
> Use two spaces to separate sentences.
> 
> > +before descending into it, and if nil is returned at that point
> > +the descent will be prevented.  Directory entries are sorted with
> > +string-lessp"
>              ^^^
> Don't forget to punctuate your docstrings.
> 
> I think C-u M-x checkdoc-current-buffer RET would have caught all those.
> 
> We really should try and setup flymake.el automatically for Elisp
> buffers to flag those things on-the-fly.
> 
> > +  (cond ((file-directory-p dir)
> > +	 (or (char-equal ?/ (aref dir (1- (length dir))))
> > +	     (setq dir (file-name-as-directory dir)))
> > +	 (let ((lst (directory-files dir nil nil t))
> 
> Experience taught me that file-name-all-completions followed by testing
> the presence of a trailing "/" is *much* faster because calling
> file-directory-p on each entry ends up costly.
> 
> I got this trick from Eshell's code for ** globbing, where the speed
> difference was a factor 10 when I tested it.

I can fix these things easily enough, of course.  But since you got annoyed
about the last commit message, I need to know of this kind of fix requires
a ChangeLog entry.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 15:31   ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Stefan Monnier
  2014-12-03 19:31     ` Eric S. Raymond
@ 2014-12-03 19:32     ` David Engster
  2014-12-03 19:53       ` Eric S. Raymond
  1 sibling, 1 reply; 249+ messages in thread
From: David Engster @ 2014-12-03 19:32 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eric S. Raymond, emacs-devel

Stefan Monnier writes:
>> +before descending into it, and if nil is returned at that point
>> +the descent will be prevented.  Directory entries are sorted with
>> +string-lessp"
>              ^^^
> Don't forget to punctuate your docstrings.

And string-lessp should be quoted, but it doesn't matter since AFAICS
that sentence isn't true anyway.

>> +  (cond ((file-directory-p dir)
>> +	 (or (char-equal ?/ (aref dir (1- (length dir))))
>> +	     (setq dir (file-name-as-directory dir)))
>> +	 (let ((lst (directory-files dir nil nil t))
>
> Experience taught me that file-name-all-completions followed by testing
> the presence of a trailing "/" is *much* faster because calling
> file-directory-p on each entry ends up costly.
>
> I got this trick from Eshell's code for ** globbing, where the speed
> difference was a factor 10 when I tested it.

Apart from that, I find this function confusing. Why not simply call
ACTION with the full filename instead of splitting in into DIR and the
filename sans the directory part (where the latter might actually be a
subdirectory)?

-David



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 19:27     ` Eric S. Raymond
@ 2014-12-03 19:41       ` Paul Eggert
  2014-12-03 20:03         ` Commit comment rules - and a metaproblem Eric S. Raymond
  2014-12-03 20:26         ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Eli Zaretskii
  0 siblings, 2 replies; 249+ messages in thread
From: Paul Eggert @ 2014-12-03 19:41 UTC (permalink / raw)
  To: esr, Stefan Monnier; +Cc: emacs-devel

On 12/03/2014 11:27 AM, Eric S. Raymond wrote:
> You want it even when the ChangeLog part is a trivial
> repetition of the summary line?

It's not needed for one-liners.  For commit 
e820f16c06a5a6be4bc87910b349c7c3c6eca0f4, for example, your ChangeLog 
entry was "* files.el (file-tree-walk): Lisp translation of ANSI 
ftw(3).", and that one-liner should have been the git commit message, too.

For longer messages, please use the same text for both the ChangeLog 
file as for the commit message, except omit the 2nd-blank-line in the 
former and omit the leading tabs in the latter.  For commit 
b1a765b3a8586cd53c21579982c8fbc0ce534336, in contrast, it would have 
been better to use the following text (removing indentation) as the 
commit message:

     In vc, abolish the dir-status method.

     *  vc.el, all backends: API simplification: Abolish dir-status.
     It's replaced by dir-status-files.

and to use the same text (with indentation, but without the blank line) 
as the ChangeLog entry.

It is a pain to have to have essentially two copies of the same text, 
one in the ChangeLog file and the other in the commit message, but we 
haven't yet had strong consensus on fixing this.



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 19:32     ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el David Engster
@ 2014-12-03 19:53       ` Eric S. Raymond
  2014-12-03 19:58         ` David Engster
  0 siblings, 1 reply; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-03 19:53 UTC (permalink / raw)
  To: David Engster; +Cc: Stefan Monnier, emacs-devel

David Engster <deng@randomsample.de>:
> Stefan Monnier writes:
> >> +before descending into it, and if nil is returned at that point
> >> +the descent will be prevented.  Directory entries are sorted with
> >> +string-lessp"
> >              ^^^
> > Don't forget to punctuate your docstrings.
> 
> And string-lessp should be quoted, but it doesn't matter since AFAICS
> that sentence isn't true anyway.

Huh?  They're from directory-files, which according to its documentation
sorts the names with string-lessp.
 
> Apart from that, I find this function confusing. Why not simply call
> ACTION with the full filename instead of splitting in into DIR and the
> filename sans the directory part (where the latter might actually be a
> subdirectory)?

Because that's how the well-tested code I found in the EmacsWiki 
cookbook section worked.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 19:53       ` Eric S. Raymond
@ 2014-12-03 19:58         ` David Engster
  2014-12-03 20:08           ` Eric S. Raymond
  0 siblings, 1 reply; 249+ messages in thread
From: David Engster @ 2014-12-03 19:58 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: Stefan Monnier, emacs-devel

Eric S. Raymond writes:
> David Engster <deng@randomsample.de>:
>> Stefan Monnier writes:
>> >> +before descending into it, and if nil is returned at that point
>> >> +the descent will be prevented.  Directory entries are sorted with
>> >> +string-lessp"
>> >              ^^^
>> > Don't forget to punctuate your docstrings.
>> 
>> And string-lessp should be quoted, but it doesn't matter since AFAICS
>> that sentence isn't true anyway.
>
> Huh?  They're from directory-files, which according to its documentation
> sorts the names with string-lessp.

Yes, unless you set NOSORT.

>> Apart from that, I find this function confusing. Why not simply call
>> ACTION with the full filename instead of splitting in into DIR and the
>> filename sans the directory part (where the latter might actually be a
>> subdirectory)?
>
> Because that's how the well-tested code I found in the EmacsWiki 
> cookbook section worked.

Oh, I didn't know it was from the EmacsWiki. Please forget I said
something.

-David



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

* Commit comment rules - and a metaproblem
  2014-12-03 19:41       ` Paul Eggert
@ 2014-12-03 20:03         ` Eric S. Raymond
  2014-12-03 20:26         ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Eli Zaretskii
  1 sibling, 0 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-03 20:03 UTC (permalink / raw)
  To: Paul Eggert; +Cc: Stefan Monnier, emacs-devel

Paul Eggert <eggert@cs.ucla.edu>:
> On 12/03/2014 11:27 AM, Eric S. Raymond wrote:
> >You want it even when the ChangeLog part is a trivial
> >repetition of the summary line?
> 
> It's not needed for one-liners.  For commit
> e820f16c06a5a6be4bc87910b349c7c3c6eca0f4, for example, your
> ChangeLog entry was "* files.el (file-tree-walk): Lisp translation
> of ANSI ftw(3).", and that one-liner should have been the git commit
> message, too.
> 
> For longer messages, please use the same text for both the ChangeLog
> file as for the commit message, except omit the 2nd-blank-line in
> the former and omit the leading tabs in the latter.  For commit
> b1a765b3a8586cd53c21579982c8fbc0ce534336, in contrast, it would have
> been better to use the following text (removing indentation) as the
> commit message:
> 
>     In vc, abolish the dir-status method.
> 
>     *  vc.el, all backends: API simplification: Abolish dir-status.
>     It's replaced by dir-status-files.
> 
> and to use the same text (with indentation, but without the blank
> line) as the ChangeLog entry.
> 
> It is a pain to have to have essentially two copies of the same
> text, one in the ChangeLog file and the other in the commit message,
> but we haven't yet had strong consensus on fixing this.

A larger problem is that these rules are both fussy and poorly documented -
in fact I don't know that they're documented at all.

And then there was talk of revoking commit access for violation of fussy
and poorly documented rules.

Emacs has very few contributors for its size.  It desperately needs new
blood, but has chronic trouble attracting any.

Connect the dots.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 19:58         ` David Engster
@ 2014-12-03 20:08           ` Eric S. Raymond
  2014-12-03 20:28             ` David Engster
  0 siblings, 1 reply; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-03 20:08 UTC (permalink / raw)
  To: David Engster; +Cc: Stefan Monnier, emacs-devel

David Engster <deng@randomsample.de>:
> > Because that's how the well-tested code I found in the EmacsWiki 
> > cookbook section worked.
> 
> Oh, I didn't know it was from the EmacsWiki. Please forget I said
> something.

No problem.  BTW, in case it's not obvious, the reason I added this was for
VC mode.  There is presently a rather ad-hoc implementation in vc-file-tree-walk
and I had been about to add another in order to inmplement vc-dir-status-files
for RCS and SCCS more cleanly.  Now I can unify those two with much simpler
code.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 19:41       ` Paul Eggert
  2014-12-03 20:03         ` Commit comment rules - and a metaproblem Eric S. Raymond
@ 2014-12-03 20:26         ` Eli Zaretskii
  2014-12-03 21:14           ` More metaproblem Eric S. Raymond
  1 sibling, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-03 20:26 UTC (permalink / raw)
  To: Paul Eggert; +Cc: esr, monnier, emacs-devel

> Date: Wed, 03 Dec 2014 11:41:40 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> Cc: emacs-devel@gnu.org
> 
> On 12/03/2014 11:27 AM, Eric S. Raymond wrote:
> > You want it even when the ChangeLog part is a trivial
> > repetition of the summary line?
> 
> It's not needed for one-liners.

I agree.

> For commit 
> e820f16c06a5a6be4bc87910b349c7c3c6eca0f4, for example, your ChangeLog 
> entry was "* files.el (file-tree-walk): Lisp translation of ANSI 
> ftw(3).", and that one-liner should have been the git commit message, too.

Yes, but please lose the "*" part, it just wastes precious real estate.

>      In vc, abolish the dir-status method.
> 
>      *  vc.el, all backends: API simplification: Abolish dir-status.
>      It's replaced by dir-status-files.

Likewise here: no need to keep the asterisks.



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 20:08           ` Eric S. Raymond
@ 2014-12-03 20:28             ` David Engster
  2014-12-03 20:58               ` Eric S. Raymond
  0 siblings, 1 reply; 249+ messages in thread
From: David Engster @ 2014-12-03 20:28 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: Stefan Monnier, emacs-devel

Eric S. Raymond writes:
> David Engster <deng@randomsample.de>:
>> > Because that's how the well-tested code I found in the EmacsWiki 
>> > cookbook section worked.
>> 
>> Oh, I didn't know it was from the EmacsWiki. Please forget I said
>> something.
>
> No problem.  BTW, in case it's not obvious, the reason I added this was for
> VC mode.  There is presently a rather ad-hoc implementation in vc-file-tree-walk

Yes, that ad-hoc implementation is actually rather sound compared to
that code you got from the Wiki. BTW, when you write "found in the
Emacswiki", you surely mean you put it there in the first place, right?
Because otherwise you couldn't really add it to Emacs under your name.

-David



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 20:28             ` David Engster
@ 2014-12-03 20:58               ` Eric S. Raymond
  2014-12-04 20:28                 ` David Engster
  0 siblings, 1 reply; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-03 20:58 UTC (permalink / raw)
  To: David Engster; +Cc: Stefan Monnier, emacs-devel

David Engster <deng@randomsample.de>:
> > No problem.  BTW, in case it's not obvious, the reason I added this was for
> > VC mode.  There is presently a rather ad-hoc implementation in vc-file-tree-walk
> 
> Yes, that ad-hoc implementation is actually rather sound compared to
> that code you got from the Wiki.

That's nice.  I wrote the one in VC mode.

>                                    BTW, when you write "found in the
> Emacswiki", you surely mean you put it there in the first place, right?
> Because otherwise you couldn't really add it to Emacs under your name.

I thought the point of the cookbook was to make code free for re-use.
I have no idea who wrote that one, and don't see how it matters.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* More metaproblem
  2014-12-03 20:26         ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Eli Zaretskii
@ 2014-12-03 21:14           ` Eric S. Raymond
  2014-12-03 22:13             ` Karl Fogel
                               ` (3 more replies)
  0 siblings, 4 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-03 21:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Paul Eggert, monnier, emacs-devel

Eli Zaretskii <eliz@gnu.org>:
> > On 12/03/2014 11:27 AM, Eric S. Raymond wrote:
> > > You want it even when the ChangeLog part is a trivial
> > > repetition of the summary line?
> > 
> > It's not needed for one-liners.
> 
> I agree.
> 
> > For commit 
> > e820f16c06a5a6be4bc87910b349c7c3c6eca0f4, for example, your ChangeLog 
> > entry was "* files.el (file-tree-walk): Lisp translation of ANSI 
> > ftw(3).", and that one-liner should have been the git commit message, too.
> 
> Yes, but please lose the "*" part, it just wastes precious real estate.
> 
> >      In vc, abolish the dir-status method.
> > 
> >      *  vc.el, all backends: API simplification: Abolish dir-status.
> >      It's replaced by dir-status-files.
> 
> Likewise here: no need to keep the asterisks.

I realize you both mean well, but have you actually thought about the
effect of adding more edge cases to commenting rules that are already
rather fussy?  (And undocumented.)

The overhead from all these picky requirements adds to big ones like
"you must execute a copyright assignment" in ways I don't think people
here understand. What looks reasonable and easy to you, from long
practice, is a wilderness of brambles to outsiders.

Once I've finished cleaning up and extending VC mode I'm going to
clean out the dusty attic in /etc (RMS and I discussed this and
basically agreed on a plan about 11 month ago).  If you don't see how
that's relevant, stop and think until you get it.

For Emacs to attract new developers, its code and the culture need to
be discoverable.  As part of this, practice rules need to be *clear*,
*documented*, and *minimal*.  Right now they fail all three tests.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 19:31     ` Eric S. Raymond
@ 2014-12-03 21:19       ` Stefan Monnier
  2014-12-03 21:54         ` Metaproblem, part 3 Eric S. Raymond
  0 siblings, 1 reply; 249+ messages in thread
From: Stefan Monnier @ 2014-12-03 21:19 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: emacs-devel

> I can fix these things easily enough, of course.  But since you got annoyed
> about the last commit message, I need to know of this kind of fix requires
> a ChangeLog entry.

Every commit should come with a commit message, yes.
And every commit message should use the ChangeLog format (plus
a summary if appropriate).
And every commit message should be duplicated in the ChangeLog file.


        Stefan



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

* Metaproblem, part 3
  2014-12-03 21:19       ` Stefan Monnier
@ 2014-12-03 21:54         ` Eric S. Raymond
  2014-12-03 22:13           ` Stefan Monnier
                             ` (3 more replies)
  0 siblings, 4 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-03 21:54 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca>:
> Every commit should come with a commit message, yes.
> And every commit message should use the ChangeLog format (plus
> a summary if appropriate).
> And every commit message should be duplicated in the ChangeLog file.

But Paul Eggert said: "It's not needed for one-liners."

So not only do we have commenting conventions that are duplicative,
fussy, and undocumented, the senior developers seem not to agree on the
details.

Hello?  Hello?  Am I the only one that sees a problem here?

I've been hacking on Emacs since before it was GNU Emacs and now *I*
feel like I'm walking on eggshells and the overhead of contributing is
irritatingly high.  How much more forbidding do you suppose it is for
J. Random Junior Hacker?

Put differently: #emacs has over 500 regulars.  It appears to me that
no more than a dozen, if that, have contributed a line of code to the
development tree.  Does nobody in the project leadership ever think
about what that implies?

My next commit will be me diligently attempting to comply with
Stefan's instruction.  And thinking that a hell of a lot besides the
version-control system needs to change around here.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: Metaproblem, part 3
  2014-12-03 21:54         ` Metaproblem, part 3 Eric S. Raymond
@ 2014-12-03 22:13           ` Stefan Monnier
  2014-12-04  6:30           ` Eli Zaretskii
                             ` (2 subsequent siblings)
  3 siblings, 0 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-03 22:13 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: emacs-devel

> But Paul Eggert said: "It's not needed for one-liners."

That meant that if the ChangeLog is a one-liner, you can use it as
the summary.

> My next commit will be me diligently attempting to comply with
> Stefan's instruction.

As explained earlier, write the ChangeLog first and then use C-c C-a
from the *VC-Log* buffer.


        Stefan



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

* Re: More metaproblem
  2014-12-03 21:14           ` More metaproblem Eric S. Raymond
@ 2014-12-03 22:13             ` Karl Fogel
  2014-12-04  6:38               ` Eli Zaretskii
  2014-12-03 22:14             ` Stefan Monnier
                               ` (2 subsequent siblings)
  3 siblings, 1 reply; 249+ messages in thread
From: Karl Fogel @ 2014-12-03 22:13 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: Eli Zaretskii, Paul Eggert, monnier, emacs-devel

"Eric S. Raymond" <esr@thyrsus.com> writes:
>For Emacs to attract new developers, its code and the culture need to
>be discoverable.  As part of this, practice rules need to be *clear*,
>*documented*, and *minimal*.  Right now they fail all three tests.

+1 all over that.

For example, as far as I can see -- and I've looked, though maybe in the
wrong places -- there's never been a permanent sign anywhere, like on a
web page, telling developers when they should commit to release branches
versus when they should commit to master (trunk).

Sometimes trunk is locked down and most commits are supposed to go to
the current emacs-NN branch.  Other times it's not locked down.  And
you're just supposed to know, somehow, I guess by saving random bits of
state gleaned from a rather high-traffic mailing list.

Emacs is not an easy project for newcomers or drive-by contributors.
(And somebody please stop me before I start ranting about debbugs as a
primary bug tracker even when email-enabled things like Redmine are
available, since it's been discussed elsewhere.  Apparently for the
Emacs project in 2014, "send email" is still considered an acceptable UI
gesture for manipulating a bug ticket.)

-K



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

* Re: More metaproblem
  2014-12-03 21:14           ` More metaproblem Eric S. Raymond
  2014-12-03 22:13             ` Karl Fogel
@ 2014-12-03 22:14             ` Stefan Monnier
  2014-12-04  3:32             ` Stephen Leake
  2014-12-04  6:25             ` Eli Zaretskii
  3 siblings, 0 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-03 22:14 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: Eli Zaretskii, Paul Eggert, emacs-devel

> I realize you both mean well, but have you actually thought about the
> effect of adding more edge cases to commenting rules that are already
> rather fussy?  (And undocumented.)

Agreed.  I keep the asteriks and don't see the need for this edge case.


        Stefan



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

* Re: More metaproblem
  2014-12-03 21:14           ` More metaproblem Eric S. Raymond
  2014-12-03 22:13             ` Karl Fogel
  2014-12-03 22:14             ` Stefan Monnier
@ 2014-12-04  3:32             ` Stephen Leake
  2014-12-04  6:25             ` Eli Zaretskii
  3 siblings, 0 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-04  3:32 UTC (permalink / raw)
  To: emacs-devel

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

> For Emacs to attract new developers, its code and the culture need to
> be discoverable.  As part of this, practice rules need to be *clear*,
> *documented*, and *minimal*.  Right now they fail all three tests.

+1

-- 
-- Stephe



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

* Re: More metaproblem
  2014-12-03 21:14           ` More metaproblem Eric S. Raymond
                               ` (2 preceding siblings ...)
  2014-12-04  3:32             ` Stephen Leake
@ 2014-12-04  6:25             ` Eli Zaretskii
  3 siblings, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-04  6:25 UTC (permalink / raw)
  To: esr; +Cc: eggert, monnier, emacs-devel

> Date: Wed, 3 Dec 2014 16:14:47 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: Paul Eggert <eggert@cs.ucla.edu>, monnier@iro.umontreal.ca,
> 	emacs-devel@gnu.org
> 
> > > For commit 
> > > e820f16c06a5a6be4bc87910b349c7c3c6eca0f4, for example, your ChangeLog 
> > > entry was "* files.el (file-tree-walk): Lisp translation of ANSI 
> > > ftw(3).", and that one-liner should have been the git commit message, too.
> > 
> > Yes, but please lose the "*" part, it just wastes precious real estate.
> > 
> > >      In vc, abolish the dir-status method.
> > > 
> > >      *  vc.el, all backends: API simplification: Abolish dir-status.
> > >      It's replaced by dir-status-files.
> > 
> > Likewise here: no need to keep the asterisks.
> 
> I realize you both mean well, but have you actually thought about the
> effect of adding more edge cases to commenting rules that are already
> rather fussy?  (And undocumented.)

If you don't want to do the above, feel free to ignore.  I promise I
won't be mad at you, and won't revoke your write access.  It was just
a suggestion (that I personally follow, Paul does with his).  Many
people here don't follow them (though many do), so it's not a disaster
if you don't, either.

> The overhead from all these picky requirements adds to big ones like
> "you must execute a copyright assignment" in ways I don't think people
> here understand. What looks reasonable and easy to you, from long
> practice, is a wilderness of brambles to outsiders.
> 
> Once I've finished cleaning up and extending VC mode I'm going to
> clean out the dusty attic in /etc (RMS and I discussed this and
> basically agreed on a plan about 11 month ago).  If you don't see how
> that's relevant, stop and think until you get it.

The main requirement is to make a point of including ChangeLog-like
entries in the commit log message, all the rest is wishlist.  I'm
allowed to have that, am I?

> For Emacs to attract new developers, its code and the culture need to
> be discoverable.  As part of this, practice rules need to be *clear*,
> *documented*, and *minimal*.  Right now they fail all three tests.

Feel free to contribute the missing documentation, and thanks in
advance.



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

* Re: Metaproblem, part 3
  2014-12-03 21:54         ` Metaproblem, part 3 Eric S. Raymond
  2014-12-03 22:13           ` Stefan Monnier
@ 2014-12-04  6:30           ` Eli Zaretskii
  2014-12-04  6:32           ` Paul Eggert
  2014-12-04 13:58           ` Metaproblem, part 3 Phillip Lord
  3 siblings, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-04  6:30 UTC (permalink / raw)
  To: esr; +Cc: monnier, emacs-devel

> Date: Wed, 3 Dec 2014 16:54:26 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: emacs-devel@gnu.org
> 
> Stefan Monnier <monnier@iro.umontreal.ca>:
> > Every commit should come with a commit message, yes.
> > And every commit message should use the ChangeLog format (plus
> > a summary if appropriate).
> > And every commit message should be duplicated in the ChangeLog file.
> 
> But Paul Eggert said: "It's not needed for one-liners."

Yes, a single one line ChangeLog-style entry can serve also as a
summary for itself.

> So not only do we have commenting conventions that are duplicative,
> fussy, and undocumented, the senior developers seem not to agree on the
> details.
> 
> Hello?  Hello?  Am I the only one that sees a problem here?

There is no problem, see above.

> I've been hacking on Emacs since before it was GNU Emacs and now *I*
> feel like I'm walking on eggshells and the overhead of contributing is
> irritatingly high.  How much more forbidding do you suppose it is for
> J. Random Junior Hacker?

They usually get told once, or even just read the previous commit log
messages and understand the style by themselves.

> Put differently: #emacs has over 500 regulars.  It appears to me that
> no more than a dozen, if that, have contributed a line of code to the
> development tree.  Does nobody in the project leadership ever think
> about what that implies?

We do.  I do.

> My next commit will be me diligently attempting to comply with
> Stefan's instruction.  And thinking that a hell of a lot besides the
> version-control system needs to change around here.

I agree.  The question, as always, is what should change and in what
ways.  "The devil is in the details."



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

* Re: Metaproblem, part 3
  2014-12-03 21:54         ` Metaproblem, part 3 Eric S. Raymond
  2014-12-03 22:13           ` Stefan Monnier
  2014-12-04  6:30           ` Eli Zaretskii
@ 2014-12-04  6:32           ` Paul Eggert
  2014-12-04 15:37             ` Stefan Monnier
  2014-12-04 15:40             ` Generate ChangeLogs (was: Metaproblem, part 3) Lars Magne Ingebrigtsen
  2014-12-04 13:58           ` Metaproblem, part 3 Phillip Lord
  3 siblings, 2 replies; 249+ messages in thread
From: Paul Eggert @ 2014-12-04  6:32 UTC (permalink / raw)
  To: esr, Stefan Monnier; +Cc: emacs-devel

Eric S. Raymond wrote:
> Am I the only one that sees a problem here?

As I mentioned earlier, I use vc-dwim.  You might want to try it out.  It'll 
save you the hassle of remembering these niggly details, since it generates the 
commit message automatically from the ChangeLog entries.

I've also suggested that we generate the ChangeLog automatically.  This would 
address the problem even better, since it would be simpler for most contributors 
than our current practice of having to deal with vc-dwim or its equivalent to 
generate commit messages that are near-duplicates of ChangeLogs.  However, 
Stefan wanted explicit agreement from all the core developers on that, which 
I've taken as a polite "no".  (Maybe someday he'll change his mind and say 
"yes"....)



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

* Re: More metaproblem
  2014-12-03 22:13             ` Karl Fogel
@ 2014-12-04  6:38               ` Eli Zaretskii
  2014-12-04  8:38                 ` Stephen Leake
                                   ` (2 more replies)
  0 siblings, 3 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-04  6:38 UTC (permalink / raw)
  To: Karl Fogel; +Cc: esr, eggert, monnier, emacs-devel

> From: Karl Fogel <kfogel@red-bean.com>
> Cc: Eli Zaretskii <eliz@gnu.org>,  Paul Eggert <eggert@cs.ucla.edu>,  monnier@iro.umontreal.ca,  emacs-devel@gnu.org
> Date: Wed, 03 Dec 2014 16:13:55 -0600
> 
> "Eric S. Raymond" <esr@thyrsus.com> writes:
> >For Emacs to attract new developers, its code and the culture need to
> >be discoverable.  As part of this, practice rules need to be *clear*,
> >*documented*, and *minimal*.  Right now they fail all three tests.
> 
> +1 all over that.
> 
> For example, as far as I can see -- and I've looked, though maybe in the
> wrong places -- there's never been a permanent sign anywhere, like on a
> web page, telling developers when they should commit to release branches
> versus when they should commit to master (trunk).

See admin/notes/repo and admin/notes/commits.  What else is missing?

> Sometimes trunk is locked down and most commits are supposed to go to
> the current emacs-NN branch.

Thats a thing of a distant past.  Trunk (a.k.a. "master") is nowadays
never locked, but there are (usually short) periods before a new
release branch is cut, when there's a "feature freeze", i.e. commits
that introduce new features should not be pushed to master.

> Other times it's not locked down.  And you're just supposed to know,
> somehow, I guess by saving random bits of state gleaned from a
> rather high-traffic mailing list.

You need to read this list, yes.  Emacs is not the only project that
uses this practice, though.  GDB is another one.  Publishing such
ephemeral information on the developer's list is an established
practice; posting that on Web pages is IMO worse, because this kind of
information quickly becomes obsolete, and Google searches will then
bring wrong info to people.

> Emacs is not an easy project for newcomers or drive-by contributors.

Which large and complex project _is_ easy for newcomers?

> (And somebody please stop me before I start ranting about debbugs as a
> primary bug tracker even when email-enabled things like Redmine are
> available, since it's been discussed elsewhere.  Apparently for the
> Emacs project in 2014, "send email" is still considered an acceptable UI
> gesture for manipulating a bug ticket.)

I think if you dislike so much in Emacs development practices, you
should become much more active than you are, and then you maybe stand
a chance to start changing all that.



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

* Re: More metaproblem
  2014-12-04  6:38               ` Eli Zaretskii
@ 2014-12-04  8:38                 ` Stephen Leake
  2014-12-04 10:11                   ` Eli Zaretskii
                                     ` (2 more replies)
  2014-12-04  9:08                 ` Stephen Leake
  2014-12-04 18:33                 ` Karl Fogel
  2 siblings, 3 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-04  8:38 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Karl Fogel <kfogel@red-bean.com>
>> For example, as far as I can see -- and I've looked, though maybe in the
>> wrong places -- there's never been a permanent sign anywhere, like on a
>> web page, telling developers when they should commit to release branches
>> versus when they should commit to master (trunk).
>
> See admin/notes/repo and admin/notes/commits.  What else is missing?

That says that there is such a thing as a "freeze". It does not say "the
trunk is currently frozen".

>> Sometimes trunk is locked down and most commits are supposed to go to
>> the current emacs-NN branch.
>
> Thats a thing of a distant past.  Trunk (a.k.a. "master") is nowadays
> never locked, but there are (usually short) periods before a new
> release branch is cut, when there's a "feature freeze", i.e. commits
> that introduce new features should not be pushed to master.

That's not what admin/notes/repo says:

    Sometime before the release of a new major version of Emacs
    a "feature freeze" is imposed on the trunk.  No new features may be
    added after this point.  This is usually some months before the release.

"some months" is not "short". (see below for suggested patch)

(there is also the issue that "trunk" is now spelled "master")

>> Other times it's not locked down.  And you're just supposed to know,
>> somehow, I guess by saving random bits of state gleaned from a
>> rather high-traffic mailing list.
>
> You need to read this list, yes.  Emacs is not the only project that
> uses this practice, though.  GDB is another one.  Publishing such
> ephemeral information on the developer's list is an established
> practice; posting that on Web pages is IMO worse, because this kind of
> information quickly becomes obsolete, and Google searches will then
> bring wrong info to people.

admin/notes/repo goes on:

    Consult emacs-devel to know exactly what kinds of changes are
    allowed on what branch at any time.

"consult" an email list can mean several things:

1) Search the archive to find the information

2) Post a question

3) Follow the list, and record the information privately

Strategy 1 is problematic; searching for "freeze" on
http://lists.gnu.org/archive/cgi-bin/namazu.cgi?idxname=emacs-devel
turns up a couple start dates, but no end date, in the first page of
hits. Searching for '+from:"stefan monnier" freeze' does not change the
results, which appears to be a bug in the search engine.

Strategy 2 is annoying to the list.

Strategy 3 is problematic due to the fairly high volume on emacs-devel.
That could be improved by establishing a second list for "important
announcments", or using a unique identifier string in the email subject.

>
>> Emacs is not an easy project for newcomers or drive-by contributors.
>
> Which large and complex project _is_ easy for newcomers?

Good point. But there are still those (like me) with some experience who
are considering contributing; the issues raised here are barriers to
them.


Possible patch to admin/notes/repo:

--- a/admin/notes/repo
+++ b/admin/notes/repo
@@ -23,18 +23,17 @@ before possibly being merged to the trunk.

 Development is discussed on the emacs-devel mailing list.

-Sometime before the release of a new major version of Emacs
-a "feature freeze" is imposed on the trunk.  No new features may be
-added after this point.  This is usually some months before the release.
-
-Shortly before the release, a release branch is created, and the
-trunk is then free for development.
+Sometime before the release of a new major version of Emacs a "feature
+freeze" is imposed on the trunk, to prepare for creating a release
+branch.  No new features may be added to the trunk after this point,
+until the release branch is created. This freeze is announced on the
+emacs-devel mailing list, and not anywhere else.

 For example, "emacs-23" for Emacs 23.2 and later, "EMACS_23_1_RC" for
 23.1, "EMACS_22_BASE" for 22.x, and "EMACS_21_1_RC" for 21.x.

-Consult emacs-devel for exactly what kinds of changes are allowed
-on what branch at any time.
+You must follow emacs-devel to know exactly what kinds of changes are
+allowed on what branch at any time. Announcements about the freeze
+(and other important events) will contain "ANNOUNCE" in the subject.

 ** elpa



--
-- Stephe



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

* Re: More metaproblem
  2014-12-04  6:38               ` Eli Zaretskii
  2014-12-04  8:38                 ` Stephen Leake
@ 2014-12-04  9:08                 ` Stephen Leake
  2014-12-04 10:01                   ` Eli Zaretskii
  2014-12-04 18:33                 ` Karl Fogel
  2 siblings, 1 reply; 249+ messages in thread
From: Stephen Leake @ 2014-12-04  9:08 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> "Eric S. Raymond" <esr@thyrsus.com> writes:
>> >For Emacs to attract new developers, its code and the culture need to
>> >be discoverable.  As part of this, practice rules need to be *clear*,
>> >*documented*, and *minimal*.  Right now they fail all three tests.
>>
> See admin/notes/repo and admin/notes/commits.  What else is missing?

That does not describe the changelog entry/commit message format. There
is admin/notes/changelog, which contains a reference to the Gnu coding
standards and some hints.

admin/notes/commits explictly says the commit message does _not_ need to
contain all the info the Changelog entry does; that is apparently
incorrect.

It also assumes CVS, while at the same time allowing for other systems;
confusing.

It would help if the emails that say "please follow the standard style"
would mention these documents, so people get used to refering to them.

Proposed patch for repo in another email; patches for commits,
changelogs:

diff --git a/admin/notes/changelogs b/admin/notes/changelogs
index e815806..503b73a 100644
--- a/admin/notes/changelogs
+++ b/admin/notes/changelogs
@@ -30,3 +30,13 @@ Preferred form for several entries with the same content:
    * edmacro.el (edit-kbd-macro): Fix docstring, lossage is now 300 keys.

 (Rather than anything involving "ditto" and suchlike.)
+
+In ChangeLog files, it is best to use ways of identifying revisions
+that are not dependent on a particular version control system.  (At
+time of writing Emacs has just moved to its fourth VCS and another
+move in the future is not impossible.)  An excellent way to identify
+commits is by quoting their summary line.  Another is with an action
+stamp - an RFC3339 date followed by ! followed by the committer's
+email - for example, "2014-01-16T05:43:35Z!esr@thyrsus.com". Often,
+"my previous commit" will suffice.
+
diff --git a/admin/notes/commits b/admin/notes/commits
index f33c690..5371b2b 100644
--- a/admin/notes/commits
+++ b/admin/notes/commits
@@ -1,70 +1,27 @@
 HOW TO COMMIT CHANGES TO EMACS

-Most of these points are from:
-
-http://lists.gnu.org/archive/html/emacs-devel/2009-03/msg00555.html
-From: 	 Miles Bader
-Subject: commit style redux
-Date: 	 Tue, 31 Mar 2009 12:21:20 +0900
-
 (0) Each commit should correspond to a single change (whether spread
     over multiple files or not).  Do not mix different changes in the
     same commit (eg adding a feature in one file, fixing a bug in
     another should be two commits, not one).

-(1) Commit all changed files at once with a single log message (which
-    in CVS will result in an identical log message for all committed
-    files), not one-by-one.  This is pretty easy using vc-dir now.
-
-(2) Make the log message describe the entire changeset, perhaps
-    including relevant changelog entries (I often don't bother with
-    the latter if it's a trivial sort of change).
-
-    Many modern source-control systems vaguely distinguish the first
-    line of the log message to use as a short summary for abbreviated
-    history listing (in arch this was explicitly called the summary,
-    but many other systems have a similar concept).  So it's nice if
-    you can format the log entry like:
-
-        SHORTISH ONE-LINE SUMMARY
-
-        MULTIPLE-LINE DETAILED DESCRIPTION POSSIBLY INCLUDING (OR
-        CONSISTING OF) CHANGELOG ENTRIES
+(1) Commit all changed files at once with a single log message (the
+    default behavior in git).

-    [Even with CVS this style is useful, because web CVS browsing
-    interfaces often include the first N words of the log message of
-    the most recent commit as a short "most recent change"
-    description.]
-
-(3) Don't phrase log messages assuming the filename is known, because
-    in non-file-oriented systems (everything modern other than CVS),
-    the log listing tends to be treated as global information, and the
-    connection with specific files is less explicit.
-
-    For instance, currently I often see log messages like "Regenerate";
-    for modern source-control systems with a global log, it's better to
-    have something like "Regenerate configure".
-
-(4) (Added in 2014) In commit comments, and ChangeLog files, it is best
-    to use ways of identifying revisions that are not dependent on a
-    particular version control system.  (At time of writing Emacs is
-    about to move to its fourth VCS and another move in the future is
-    not impossible.)  An excellent way to identify commits is by
-    quoting their summary line.  Another is with an action stamp - an
-    RFC3339 date followed by ! followed by the committer's email - for
-    example, "2014-01-16T05:43:35Z!esr@thyrsus.com". Often, "my
-    previous commit" will suffice.
-
-Followup discussion:
-http://lists.gnu.org/archive/html/emacs-devel/2010-01/msg00897.html
-http://lists.gnu.org/archive/html/emacs-devel/2010-02/msg00401.html
+(2) Make the log message describe the entire changeset. The log
+    message should be the same as the Changelog entry, without the
+    date line. You can write the Changelog first, then use C-c C-a
+    from the *VC-Log* buffer to copy it to the commit log message. See
+    the file 'changelog' for information on the Changelog entry
+    format.

+(3) If committing changes written by someone else, make the ChangeLog
+    entry in their name, not yours. git distinguishes between the
+    author and the committer; use the --author option on the commit
+    command to specify the actual author; the committer defaults to
+    you.

 PREVIOUS GUIDELINES FOR CVS

 For historical interest only, here is the old-style advice for CVS logs:
 http://lists.gnu.org/archive/html/emacs-devel/2007-12/msg01208.html
-
-From: Eli Zaretskii
-Subject: Re: Log messages in CVS
-Date: Sat, 29 Dec 2007 16:06:29 +0200


--
-- Stephe



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

* Re: More metaproblem
  2014-12-04  9:08                 ` Stephen Leake
@ 2014-12-04 10:01                   ` Eli Zaretskii
  2014-12-04 10:11                     ` David Kastrup
  2014-12-04 10:27                     ` Eric S. Raymond
  0 siblings, 2 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-04 10:01 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

> From: Stephen Leake <stephen_leake@stephe-leake.org>
> Date: Thu, 04 Dec 2014 03:08:14 -0600
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> "Eric S. Raymond" <esr@thyrsus.com> writes:
> >> >For Emacs to attract new developers, its code and the culture need to
> >> >be discoverable.  As part of this, practice rules need to be *clear*,
> >> >*documented*, and *minimal*.  Right now they fail all three tests.
> >>
> > See admin/notes/repo and admin/notes/commits.  What else is missing?
> 
> That does not describe the changelog entry/commit message format. There
> is admin/notes/changelog, which contains a reference to the Gnu coding
> standards and some hints.

Maybe we should simply move all that into etc/CONTRIBUTE, and leave in
admin/notes only stuff that is minor/obscure etc.



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

* Re: More metaproblem
  2014-12-04  8:38                 ` Stephen Leake
@ 2014-12-04 10:11                   ` Eli Zaretskii
  2014-12-04 10:23                   ` David Kastrup
  2014-12-04 15:35                   ` Stefan Monnier
  2 siblings, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-04 10:11 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

> From: Stephen Leake <stephen_leake@stephe-leake.org>
> Date: Thu, 04 Dec 2014 02:38:52 -0600

Thanks for the feedback.  A few comments below.

> >> Sometimes trunk is locked down and most commits are supposed to go to
> >> the current emacs-NN branch.
> >
> > Thats a thing of a distant past.  Trunk (a.k.a. "master") is nowadays
> > never locked, but there are (usually short) periods before a new
> > release branch is cut, when there's a "feature freeze", i.e. commits
> > that introduce new features should not be pushed to master.
> 
> That's not what admin/notes/repo says:
> 
>     Sometime before the release of a new major version of Emacs
>     a "feature freeze" is imposed on the trunk.  No new features may be
>     added after this point.  This is usually some months before the release.
> 
> "some months" is not "short".

The text doesn't say anything about the duration of the freeze, only
about the timing of its beginning.

The tendency lately is to make the freeze "as short as possible".  But
making a decision that master is stable enough to cut a release branch
requires human judgment, and cannot be too fast with Emacs.  E.g.,
blatant bugs sometimes take more than a week to be reported after they
are committed.

> (see below for suggested patch)

I don't think it's accurate, but I'll let Stefan and Glenn comment.

> >> Emacs is not an easy project for newcomers or drive-by contributors.
> >
> > Which large and complex project _is_ easy for newcomers?
> 
> Good point. But there are still those (like me) with some experience who
> are considering contributing; the issues raised here are barriers to
> them.

I think we are all for that; the problem, as always, is how to do
that, not if we want doing it.



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

* Re: More metaproblem
  2014-12-04 10:01                   ` Eli Zaretskii
@ 2014-12-04 10:11                     ` David Kastrup
  2014-12-04 10:27                     ` Eric S. Raymond
  1 sibling, 0 replies; 249+ messages in thread
From: David Kastrup @ 2014-12-04 10:11 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Stephen Leake <stephen_leake@stephe-leake.org>
>> Date: Thu, 04 Dec 2014 03:08:14 -0600
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> "Eric S. Raymond" <esr@thyrsus.com> writes:
>> >> >For Emacs to attract new developers, its code and the culture need to
>> >> >be discoverable.  As part of this, practice rules need to be *clear*,
>> >> >*documented*, and *minimal*.  Right now they fail all three tests.
>> >>
>> > See admin/notes/repo and admin/notes/commits.  What else is missing?
>> 
>> That does not describe the changelog entry/commit message format. There
>> is admin/notes/changelog, which contains a reference to the Gnu coding
>> standards and some hints.
>
> Maybe we should simply move all that into etc/CONTRIBUTE, and leave in
> admin/notes only stuff that is minor/obscure etc.

etc/CONTRIBUTE should contain everything necessary to create a patch
submission that can just be applied with "git am" without modification
(well, apart from another git commit --amend -s for adding a
"Signed-off-by" from the person picking up and pushing the patch).

While less polished submissions may be processed, that requires more of
a personal investment from "somebody" picking them up.  So it's a good
idea to have everything necessary in that file.

That does not mean that the file can't start with an encouragement to
submit less complete contributions if people get stuck getting the full
thing accomplished.

-- 
David Kastrup




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

* Re: More metaproblem
  2014-12-04  8:38                 ` Stephen Leake
  2014-12-04 10:11                   ` Eli Zaretskii
@ 2014-12-04 10:23                   ` David Kastrup
  2014-12-04 15:35                   ` Stefan Monnier
  2 siblings, 0 replies; 249+ messages in thread
From: David Kastrup @ 2014-12-04 10:23 UTC (permalink / raw)
  To: emacs-devel

Stephen Leake <stephen_leake@stephe-leake.org> writes:

> That's not what admin/notes/repo says:
>
>     Sometime before the release of a new major version of Emacs
>     a "feature freeze" is imposed on the trunk.  No new features may be
>     added after this point.  This is usually some months before the release.
>
> "some months" is not "short". (see below for suggested patch)

Shrug.  In project life cycles, it tends to be short.  When the move to
Git became an imminent topic, Eli complained about the performance of
git-blame like on src/xdisp.c.  I said that I probably could do
something about that in some reasonably short amount of time.  Took me
probably half a year to come through on that promise.  And
lo-and-behold, when we converted to Git, most stable (rather than
long-term) distributions of software containing Git had the fix in time
for Emacs' move.

I was pretty sure I had dropped the ball, but apparently there is not a
lot of gravity.

For quality-delayed releases rather than fixed schedule releases,
I don't think I've seen freezes that turned out shorter than a few
months at least.

-- 
David Kastrup




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

* Re: More metaproblem
  2014-12-04 10:01                   ` Eli Zaretskii
  2014-12-04 10:11                     ` David Kastrup
@ 2014-12-04 10:27                     ` Eric S. Raymond
  2014-12-04 10:35                       ` David Kastrup
  2014-12-05  1:23                       ` Stephen J. Turnbull
  1 sibling, 2 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-04 10:27 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Stephen Leake, emacs-devel

Eli Zaretskii <eliz@gnu.org>:
> > From: Stephen Leake <stephen_leake@stephe-leake.org>
> > Date: Thu, 04 Dec 2014 03:08:14 -0600
> > 
> > Eli Zaretskii <eliz@gnu.org> writes:
> > 
> > >> "Eric S. Raymond" <esr@thyrsus.com> writes:
> > >> >For Emacs to attract new developers, its code and the culture need to
> > >> >be discoverable.  As part of this, practice rules need to be *clear*,
> > >> >*documented*, and *minimal*.  Right now they fail all three tests.
> > >>
> > > See admin/notes/repo and admin/notes/commits.  What else is missing?
> > 
> > That does not describe the changelog entry/commit message format. There
> > is admin/notes/changelog, which contains a reference to the Gnu coding
> > standards and some hints.
> 
> Maybe we should simply move all that into etc/CONTRIBUTE, and leave in
> admin/notes only stuff that is minor/obscure etc.

I agree, and was intending to suggest that myself.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: More metaproblem
  2014-12-04 10:27                     ` Eric S. Raymond
@ 2014-12-04 10:35                       ` David Kastrup
  2014-12-04 11:01                         ` Eli Zaretskii
  2014-12-05  1:23                       ` Stephen J. Turnbull
  1 sibling, 1 reply; 249+ messages in thread
From: David Kastrup @ 2014-12-04 10:35 UTC (permalink / raw)
  To: emacs-devel

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

> Eli Zaretskii <eliz@gnu.org>:
>> > From: Stephen Leake <stephen_leake@stephe-leake.org>
>> > Date: Thu, 04 Dec 2014 03:08:14 -0600
>> > 
>> > Eli Zaretskii <eliz@gnu.org> writes:
>> > 
>> > >> "Eric S. Raymond" <esr@thyrsus.com> writes:
>> > >> >For Emacs to attract new developers, its code and the culture need to
>> > >> >be discoverable.  As part of this, practice rules need to be *clear*,
>> > >> >*documented*, and *minimal*.  Right now they fail all three tests.
>> > >>
>> > > See admin/notes/repo and admin/notes/commits.  What else is missing?
>> > 
>> > That does not describe the changelog entry/commit message format. There
>> > is admin/notes/changelog, which contains a reference to the Gnu coding
>> > standards and some hints.
>> 
>> Maybe we should simply move all that into etc/CONTRIBUTE, and leave in
>> admin/notes only stuff that is minor/obscure etc.
>
> I agree, and was intending to suggest that myself.

admin/notes should only contain stuff relevant for people with push
access.  Preparing a patch does not entail that.

-- 
David Kastrup




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

* Re: More metaproblem
  2014-12-04 10:35                       ` David Kastrup
@ 2014-12-04 11:01                         ` Eli Zaretskii
  2014-12-04 11:07                           ` Eric S. Raymond
  0 siblings, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-04 11:01 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

> From: David Kastrup <dak@gnu.org>
> Date: Thu, 04 Dec 2014 11:35:03 +0100
> 
> >> Maybe we should simply move all that into etc/CONTRIBUTE, and leave in
> >> admin/notes only stuff that is minor/obscure etc.
> >
> > I agree, and was intending to suggest that myself.
> 
> admin/notes should only contain stuff relevant for people with push
> access.  Preparing a patch does not entail that.

We can have a section there labeled "if you have write access to the
repository".  I see nothing wrong with that, and no need to have yet
another file with possibly contradictory instructions.



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

* Re: More metaproblem
  2014-12-04 11:01                         ` Eli Zaretskii
@ 2014-12-04 11:07                           ` Eric S. Raymond
  0 siblings, 0 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-04 11:07 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: David Kastrup, emacs-devel

Eli Zaretskii <eliz@gnu.org>:
> > From: David Kastrup <dak@gnu.org>
> > Date: Thu, 04 Dec 2014 11:35:03 +0100
> > 
> > >> Maybe we should simply move all that into etc/CONTRIBUTE, and leave in
> > >> admin/notes only stuff that is minor/obscure etc.
> > >
> > > I agree, and was intending to suggest that myself.
> > 
> > admin/notes should only contain stuff relevant for people with push
> > access.  Preparing a patch does not entail that.
> 
> We can have a section there labeled "if you have write access to the
> repository".  I see nothing wrong with that, and no need to have yet
> another file with possibly contradictory instructions.

+1
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: Metaproblem, part 3
  2014-12-03 21:54         ` Metaproblem, part 3 Eric S. Raymond
                             ` (2 preceding siblings ...)
  2014-12-04  6:32           ` Paul Eggert
@ 2014-12-04 13:58           ` Phillip Lord
  2014-12-04 14:32             ` João Távora
  3 siblings, 1 reply; 249+ messages in thread
From: Phillip Lord @ 2014-12-04 13:58 UTC (permalink / raw)
  To: esr; +Cc: emacs-devel

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

> Stefan Monnier <monnier@iro.umontreal.ca>:
>> Every commit should come with a commit message, yes.
>> And every commit message should use the ChangeLog format (plus
>> a summary if appropriate).
>> And every commit message should be duplicated in the ChangeLog file.
>
> But Paul Eggert said: "It's not needed for one-liners."
>
> So not only do we have commenting conventions that are duplicative,
> fussy, and undocumented, the senior developers seem not to agree on the
> details.
>
> Hello?  Hello?  Am I the only one that sees a problem here?
>
> I've been hacking on Emacs since before it was GNU Emacs and now *I*
> feel like I'm walking on eggshells and the overhead of contributing is
> irritatingly high.  How much more forbidding do you suppose it is for
> J. Random Junior Hacker?

I would like to contribute a little, as my time and skills (both very
limited) allow. So, I've been on the mailing list for a while. I've got
the repo checkout out (on git, thanks Eric!), and am running my daily
emacs of trunk. It's take me quite a while to achieve this. I was
genuinely quite nervous about pushing to ELPA -- normally, I just push
to my own repos and if I trash then, its my problem, no one elses.

I've mailed Stefan a few times about things (out-of-band). I feel a
little guilty about this because I know his time is limited. Ultimately,
though, it's his own fault because he gives simple, clear and thoughtful
anwsers that I understand. How we has managed to survive in academia
while doing this, I don't understand.

Cheesy as it sounds, perhaps, what is needed is "mentors". So, someone
wants to fix something or change something about Emacs, they get a short
term mentor to help them through the process (both at a code level, and
at a rules of community level). So, the first piece of advice in
contribute wouldn't be "do this, do that", it would be "think of a
problem, ask for a mentor".

Eli is right, Emacs is complex because it's a big project and some of
this will remain. There may be ways to reduce the initimidation levels.

Phil



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

* Re: Metaproblem, part 3
  2014-12-04 13:58           ` Metaproblem, part 3 Phillip Lord
@ 2014-12-04 14:32             ` João Távora
  2014-12-04 17:40               ` Eli Zaretskii
  0 siblings, 1 reply; 249+ messages in thread
From: João Távora @ 2014-12-04 14:32 UTC (permalink / raw)
  To: Phillip Lord; +Cc: esr, emacs-devel

phillip.lord@newcastle.ac.uk (Phillip Lord) writes:

> Cheesy as it sounds, perhaps, what is needed is "mentors". So, someone
> wants to fix something or change something about Emacs, they get a short
> term mentor to help them through the process (both at a code level, and
> at a rules of community level). So, the first piece of advice in
> contribute wouldn't be "do this, do that", it would be "think of a
> problem, ask for a mentor".

+1 to this. In every software project I've worked on, some form of
mentorship has proven essential in every first-time
contribution. Including projects that I started, and including Emacs
(thanks Stefan!).

</delurk>

João



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

* Re: More metaproblem
  2014-12-04  8:38                 ` Stephen Leake
  2014-12-04 10:11                   ` Eli Zaretskii
  2014-12-04 10:23                   ` David Kastrup
@ 2014-12-04 15:35                   ` Stefan Monnier
  2014-12-04 16:33                     ` Stephen Leake
                                       ` (2 more replies)
  2 siblings, 3 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-04 15:35 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

>>> For example, as far as I can see -- and I've looked, though maybe in the
>>> wrong places -- there's never been a permanent sign anywhere, like on a
>>> web page, telling developers when they should commit to release branches
>>> versus when they should commit to master (trunk).

I'd be happy to put such info somewhere, but I'm not sure where that
should go.  I see two problems to solve:
- Make sure people don't commit to the wrong branch.
- Help people find out where to commit.
The two are closely related, yet different: many contributors end up
contributing to the wrong branch because they don't even know that
there's a decision to make about which branch to use.

Since most pople aren't going to check a docfile or webpage every time
they commit, just on the off-chance that the rules have changed, it's
important for these rules to be permanent, if we want them to work well.

So, I think we should say that we always have 2 branches:
- master, for the bleeding edge.
- stable, for bug fixes.

And to avoid errors, "master" should never be frozen (so far, this has
not been the case, although I have tried to shorten the freeze time over
the years).

> That's not what admin/notes/repo says:
>
>     Sometime before the release of a new major version of Emacs
>     a "feature freeze" is imposed on the trunk.  No new features may be
>     added after this point.  This is usually some months before the release.
>
> "some months" is not "short". (see below for suggested patch)

For the last few releases, the process has been:
- when we're ready to start the release: freeze the trunk.
- a month or so later: cut a release branch from the trunk, re-open the
  trunk to changes.
- keep on fixing bugs on the release branch, updating the doc, then make
  pretest releases, and finally after several more months: make a release.

The purpose of the "freeze the trunk" is to try and get people to focus
on fixing bugs for a while.  I'm not sure it's very effective, tho.

> (there is also the issue that "trunk" is now spelled "master")

Indeed.

> > >> Maybe we should simply move all that into etc/CONTRIBUTE, and leave in
> > >> admin/notes only stuff that is minor/obscure etc.
[...]
> We can have a section there labeled "if you have write access to the
> repository".  I see nothing wrong with that, and no need to have yet
> another file with possibly contradictory instructions.

I don't have a strong opinion on any of this, but if we want this info
to be effective, we should make it as visible as possible, i.e. not in
admin/notes (which no newcomer would think of consulting) but in
./CONTRIBUTE (that's right: not in `etc' either but at the toplevel).

And it should be kept as short as possible (e.g. things like formatting
of references to particular revisions is the kind of nitpicking we
don't need in there).


        Stefan



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

* Re: Metaproblem, part 3
  2014-12-04  6:32           ` Paul Eggert
@ 2014-12-04 15:37             ` Stefan Monnier
  2014-12-04 16:06               ` Lars Magne Ingebrigtsen
  2014-12-04 15:40             ` Generate ChangeLogs (was: Metaproblem, part 3) Lars Magne Ingebrigtsen
  1 sibling, 1 reply; 249+ messages in thread
From: Stefan Monnier @ 2014-12-04 15:37 UTC (permalink / raw)
  To: Paul Eggert; +Cc: esr, emacs-devel

> ChangeLogs.  However, Stefan wanted explicit agreement from all the core
> developers on that, which I've taken as a polite "no".

It's not.  It's just that I'm tired of being the maintainer.


        Stefan



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

* Generate ChangeLogs (was: Metaproblem, part 3)
  2014-12-04  6:32           ` Paul Eggert
  2014-12-04 15:37             ` Stefan Monnier
@ 2014-12-04 15:40             ` Lars Magne Ingebrigtsen
  2014-12-04 17:23               ` Generate ChangeLogs Karl Fogel
                                 ` (2 more replies)
  1 sibling, 3 replies; 249+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-04 15:40 UTC (permalink / raw)
  To: Paul Eggert; +Cc: esr, Stefan Monnier, emacs-devel

Paul Eggert <eggert@cs.ucla.edu> writes:

> However, Stefan wanted explicit agreement from all the core developers
> on that, which I've taken as a polite "no".  (Maybe someday he'll
> change his mind and say "yes"....)

Hey, is this where we start the explicit agreement list?

In that case, I say "yes" to start generating the ChangeLogs.

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



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

* Re: Metaproblem, part 3
  2014-12-04 15:37             ` Stefan Monnier
@ 2014-12-04 16:06               ` Lars Magne Ingebrigtsen
  2014-12-04 17:53                 ` Stefan Monnier
  0 siblings, 1 reply; 249+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-04 16:06 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> It's not.  It's just that I'm tired of being the maintainer.

Eek.  That's not good.  Er...  is there anything we can do to un-tire
you somehow?

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



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

* Re: More metaproblem
  2014-12-04 15:35                   ` Stefan Monnier
@ 2014-12-04 16:33                     ` Stephen Leake
  2014-12-04 17:37                     ` Eli Zaretskii
  2014-12-05 23:03                     ` chad
  2 siblings, 0 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-04 16:33 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>>> For example, as far as I can see -- and I've looked, though maybe in the
>>>> wrong places -- there's never been a permanent sign anywhere, like on a
>>>> web page, telling developers when they should commit to release branches
>>>> versus when they should commit to master (trunk).
>
> I'd be happy to put such info somewhere, but I'm not sure where that
> should go.  I see two problems to solve:
> - Make sure people don't commit to the wrong branch.
> - Help people find out where to commit.
> The two are closely related, yet different: many contributors end up
> contributing to the wrong branch because they don't even know that
> there's a decision to make about which branch to use.
>
> Since most pople aren't going to check a docfile or webpage every time
> they commit, just on the off-chance that the rules have changed, it's
> important for these rules to be permanent, if we want them to work
> well.

Good point.

> So, I think we should say that we always have 2 branches:
> - master, for the bleeding edge.
> - stable, for bug fixes.

+1

> For the last few releases, the process has been:
> - when we're ready to start the release: freeze the trunk.
> - a month or so later: cut a release branch from the trunk, re-open the
>   trunk to changes.
> - keep on fixing bugs on the release branch, updating the doc, then make
>   pretest releases, and finally after several more months: make a release.
>
> The purpose of the "freeze the trunk" is to try and get people to focus
> on fixing bugs for a while.  I'm not sure it's very effective, tho.

We could try to leave trunk open, but put in a commit preprocessor that
looks for "fixes bug [0-9]+". It could then either refuse the commit, or
issue a stern warning.

>> > >> Maybe we should simply move all that into etc/CONTRIBUTE, and leave in
>> > >> admin/notes only stuff that is minor/obscure etc.
> [...]
>> We can have a section there labeled "if you have write access to the
>> repository".  I see nothing wrong with that, and no need to have yet
>> another file with possibly contradictory instructions.
>
> I don't have a strong opinion on any of this, but if we want this info
> to be effective, we should make it as visible as possible, i.e. not in
> admin/notes (which no newcomer would think of consulting) but in
> ./CONTRIBUTE (that's right: not in `etc' either but at the toplevel).

I'll take a stab at writing that. 

> And it should be kept as short as possible (e.g. things like formatting
> of references to particular revisions is the kind of nitpicking we
> don't need in there).

I'll refer to admin/notes/* for "more advanced developers".

-- 
-- Stephe



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

* Re: Generate ChangeLogs
  2014-12-04 15:40             ` Generate ChangeLogs (was: Metaproblem, part 3) Lars Magne Ingebrigtsen
@ 2014-12-04 17:23               ` Karl Fogel
  2014-12-04 17:28                 ` Eric S. Raymond
  2014-12-04 17:40               ` Paul Eggert
  2014-12-04 18:18               ` Ted Zlatanov
  2 siblings, 1 reply; 249+ messages in thread
From: Karl Fogel @ 2014-12-04 17:23 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: esr, Paul Eggert, Stefan Monnier, emacs-devel

Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
>Paul Eggert <eggert@cs.ucla.edu> writes:
>
>> However, Stefan wanted explicit agreement from all the core developers
>> on that, which I've taken as a polite "no".  (Maybe someday he'll
>> change his mind and say "yes"....)
>
>Hey, is this where we start the explicit agreement list?
>
>In that case, I say "yes" to start generating the ChangeLogs.

Same here, FWIW.



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

* Re: Generate ChangeLogs
  2014-12-04 17:23               ` Generate ChangeLogs Karl Fogel
@ 2014-12-04 17:28                 ` Eric S. Raymond
  0 siblings, 0 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-04 17:28 UTC (permalink / raw)
  To: Karl Fogel
  Cc: Lars Magne Ingebrigtsen, Paul Eggert, Stefan Monnier, emacs-devel

Karl Fogel <kfogel@red-bean.com>:
> Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
> >Paul Eggert <eggert@cs.ucla.edu> writes:
> >
> >> However, Stefan wanted explicit agreement from all the core developers
> >> on that, which I've taken as a polite "no".  (Maybe someday he'll
> >> change his mind and say "yes"....)
> >
> >Hey, is this where we start the explicit agreement list?
> >
> >In that case, I say "yes" to start generating the ChangeLogs.
> 
> Same here, FWIW.

And here.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: More metaproblem
  2014-12-04 15:35                   ` Stefan Monnier
  2014-12-04 16:33                     ` Stephen Leake
@ 2014-12-04 17:37                     ` Eli Zaretskii
  2014-12-04 20:43                       ` Stefan Monnier
  2014-12-05 23:03                     ` chad
  2 siblings, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-04 17:37 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: stephen_leake, emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Thu, 04 Dec 2014 10:35:24 -0500
> Cc: emacs-devel@gnu.org
> 
> And it should be kept as short as possible (e.g. things like formatting
> of references to particular revisions is the kind of nitpicking we
> don't need in there).

I think this requirement raises the bar impossibly high.  You cannot
have a useful set of instructions that leave those out.  E.g., this
whole discussion started because of such "nitpicking".

Neither do I see why would we need to restrict ourselves like that.  A
document with a clear structure and a list of topics at the beginning
can be longish and still useful.  OTOH, having instructions scattered
over several files makes discovery harder.



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

* Re: Generate ChangeLogs
  2014-12-04 15:40             ` Generate ChangeLogs (was: Metaproblem, part 3) Lars Magne Ingebrigtsen
  2014-12-04 17:23               ` Generate ChangeLogs Karl Fogel
@ 2014-12-04 17:40               ` Paul Eggert
  2014-12-04 19:09                 ` Achim Gratz
  2014-12-05  8:07                 ` Glenn Morris
  2014-12-04 18:18               ` Ted Zlatanov
  2 siblings, 2 replies; 249+ messages in thread
From: Paul Eggert @ 2014-12-04 17:40 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: esr, Stefan Monnier, emacs-devel

On 12/04/2014 07:40 AM, Lars Magne Ingebrigtsen wrote:
> In that case, I say "yes" to start generating the ChangeLogs.

Stefan wrote that he's in favor of the idea, so there's a+1 there, too.  
(I wrote the patch to do it, so it should be pretty obvious that I'm in 
favor.)

My biggest worry, to be honest, is Glenn, who tidies up ChangeLogs more 
than anyone else does.  It's more of a hassle to do that when ChangeLogs 
are generated automatically.  My own feeling is that, although I 
understand the pull of having the logs look good, our limited resources 
can be put to better use in areas other than tidying up ChangeLogs, and 
I'm willing to live with somewhat-messier ChangeLogs if we can trade 
that for a simpler workflow and/or other improvements elsewhere.



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

* Re: Metaproblem, part 3
  2014-12-04 14:32             ` João Távora
@ 2014-12-04 17:40               ` Eli Zaretskii
  2014-12-05 10:27                 ` João Távora
  2014-12-05 10:56                 ` Phillip Lord
  0 siblings, 2 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-04 17:40 UTC (permalink / raw)
  To: João Távora; +Cc: esr, phillip.lord, emacs-devel

> From: joaotavora@gmail.com (João Távora)
> Date: Thu, 04 Dec 2014 14:32:23 +0000
> Cc: esr@thyrsus.com, emacs-devel@gnu.org
> 
> phillip.lord@newcastle.ac.uk (Phillip Lord) writes:
> 
> > Cheesy as it sounds, perhaps, what is needed is "mentors". So, someone
> > wants to fix something or change something about Emacs, they get a short
> > term mentor to help them through the process (both at a code level, and
> > at a rules of community level). So, the first piece of advice in
> > contribute wouldn't be "do this, do that", it would be "think of a
> > problem, ask for a mentor".
> 
> +1 to this. In every software project I've worked on, some form of
> mentorship has proven essential in every first-time
> contribution. Including projects that I started, and including Emacs
> (thanks Stefan!).

I also think that we have mentoring here, so I don't understand what
exactly is this gripe about.  People ask questions, both here and on
bug-gnu-emacs, and get helpful answers and guidance even when the
questions are only tangentially related to Emacs (or even not at
all).  What exactly is missing?

Or maybe I don't understand what "mentoring" is being alluded to here.




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

* Re: Metaproblem, part 3
  2014-12-04 16:06               ` Lars Magne Ingebrigtsen
@ 2014-12-04 17:53                 ` Stefan Monnier
  2014-12-04 21:48                   ` Lars Magne Ingebrigtsen
  2014-12-04 22:53                   ` Paul Eggert
  0 siblings, 2 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-04 17:53 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: emacs-devel

>> It's not.  It's just that I'm tired of being the maintainer.
> Eek.  That's not good.  Er...  is there anything we can do to un-tire
> you somehow?

You could volunteer to take over as new maintainer,


        Stefan



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

* Re: Generate ChangeLogs
  2014-12-04 15:40             ` Generate ChangeLogs (was: Metaproblem, part 3) Lars Magne Ingebrigtsen
  2014-12-04 17:23               ` Generate ChangeLogs Karl Fogel
  2014-12-04 17:40               ` Paul Eggert
@ 2014-12-04 18:18               ` Ted Zlatanov
  2 siblings, 0 replies; 249+ messages in thread
From: Ted Zlatanov @ 2014-12-04 18:18 UTC (permalink / raw)
  To: emacs-devel

On Thu, 04 Dec 2014 16:40:49 +0100 Lars Magne Ingebrigtsen <larsi@gnus.org> wrote: 

LMI> Hey, is this where we start the explicit agreement list?

LMI> In that case, I say "yes" to start generating the ChangeLogs.

I agree. I haven't reviewed Paul's patches. For instance, I don't know
how hard it will be to override specific commit messages, or to amend
them. And we need server-side hooks to prevent badly formatted commit
messages.

But those are technological problems we can overcome, so I'm not worried
about them.

Ted




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

* Re: More metaproblem
  2014-12-04  6:38               ` Eli Zaretskii
  2014-12-04  8:38                 ` Stephen Leake
  2014-12-04  9:08                 ` Stephen Leake
@ 2014-12-04 18:33                 ` Karl Fogel
  2014-12-04 21:21                   ` Eli Zaretskii
                                     ` (2 more replies)
  2 siblings, 3 replies; 249+ messages in thread
From: Karl Fogel @ 2014-12-04 18:33 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, eggert, monnier, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:
>> "Eric S. Raymond" <esr@thyrsus.com> writes:
>>> For Emacs to attract new developers, its code and the culture need to
>>> be discoverable.  As part of this, practice rules need to be *clear*,
>>> *documented*, and *minimal*.  Right now they fail all three tests.
>> 
>> +1 all over that.
>> 
>> For example, as far as I can see -- and I've looked, though maybe in the
>> wrong places -- there's never been a permanent sign anywhere, like on a
>> web page, telling developers when they should commit to release branches
>> versus when they should commit to master (trunk).
>
>See admin/notes/repo and admin/notes/commits.  What else is missing?

New developers are somehow supposed to know that those random files in
admin/notes/ are what they need to read?

What most projects do is have a development web page. linked to from
their main user-facing web page.  The development page organizes all
this stuff and provides links to source code repository, dev guidelines
& documentation, etc.

For Emacs, the main web page is http://www.gnu.org/software/emacs/.

It links to two possible candidates for the "developer page":

  https://savannah.gnu.org/projects/emacs
  https://savannah.gnu.org/bzr/?group=emacs

But neither of those automatically-generated pages provides what a real
development web page provides.  Instead they just tell you how to get
the development sources and where the mailing lists are.  They don't
tell you to look in admin/notes/ (for example).

Compare those with develompent pages for projects that are trying to
make it easy for new developers to come on board:

  http://subversion.apache.org/contributing.html
  http://www.libreoffice.org/community/developers/

(both of which are easy to find from their projects' respective main
home pages, by the way.)

I hope the contrast between those examples and the way Emacs currently
is is sufficiently clear as to not require much elucidation.

Else-thread you wrote this:

> > For Emacs to attract new developers, its code and the culture need to
> > be discoverable.  As part of this, practice rules need to be *clear*,
> > *documented*, and *minimal*.  Right now they fail all three tests.
> 
> Feel free to contribute the missing documentation, and thanks in
> advance.

It's not just a matter of contributing documentation.  We don't even
*have a place to put such documentation* right now.

Heck, for all I know there _is_ a "Contributing to Emacs" guide
somewhere on the Net at this moment.  Maybe more than one.  What would
be needed is for the Emacs project to make it official by moving it to
somewhere under an official-ish Emacs URL, linking to it from the
obvious places, and helping to maintain it.

(I'm not volunteering to take ownership of that task, though I'd
participate in maintaining such a guide.  I only have time to do
occasional patching, and to write emails like this one that try to point
out specifically the ways in which the project is currently
developer-hostile and stagnating.)

>> Emacs is not an easy project for newcomers or drive-by contributors.
>
>Which large and complex project _is_ easy for newcomers?

Mozilla Firefox or LibreOffice, to name two off the top of my head.
There are many more.

Like others here, I contribute to plenty of free software projects.  As
it happens, I also study the development procedures of many more --
doing so is, in fact, my full time job.  Emacs is one of the least
developer-friendly.  I have time to explain some of the ways in which it
is so, though not enough time to explain all the ways.

I think the fact that several people on this mailing list -- people who
also have lots of experience with other projects -- have repeatedly said
so, should also indicate that most likely there is a bigger problem here
than elsewhere.  And the fact that we don't see a comparable number of
similarly experienced people making this complaint in the forums of,
say, Mozilla Firefox or LibreOffice, is further evidence.  (Btw, yes I
have actually asked about this among contributors to those projects.
See also, e.g., https://wiki.mozilla.org/Good_first_bug.)

>> (And somebody please stop me before I start ranting about debbugs as a
>> primary bug tracker even when email-enabled things like Redmine are
>> available, since it's been discussed elsewhere.  Apparently for the
>> Emacs project in 2014, "send email" is still considered an acceptable UI
>> gesture for manipulating a bug ticket.)
>
>I think if you dislike so much in Emacs development practices, you
>should become much more active than you are, and then you maybe stand
>a chance to start changing all that.

It's precisely that I don't have time to be more active than I am, that
leads me to want the project's development procedures to be more
conducive to developers like me -- there are many of them out there.

Look, it might be reasonable to say "There's an inevitable tradeoff
between being easy for new developers and being efficient for expert,
long-time developers, and the Emacs project has chosen the latter side
of that tradeoff."  That's fine.

But to deny that the project is difficult for incoming developers?  That
seems to me empirically wrong; as a simple fact, the difficulty should
not be in doubt by this point.

Embrace the tradeoff, if you wish -- I think choosing that side of the
tradeoff is a mistake, but at least it's reasonable discussion to have.
But claiming there is no problem, that the phenomenon is not real, does
not seem plausible to me.  For a widely used *programmer's tool*, that
is self-documenting and has an extension language, Emacs has an
astonishingly low rate of lightweight contributed development.

Can you help make your hypothesis falsifiable?  (In the intellectually
rigorous sense, I mean, not the "make it false" sense.)  I might be able
to find some time to do that.  In other words, can you tell me what
measurable signs *you* would look for to determine if a free software
project were stagnating, and then we can look to see if Emacs is
exhibiting those signs?  (For example: rate at which developers slow
down or stop contributing; relatively greater slowdown in rate of
acquisition of new developers compared to other projects; shrinking
diversity in first responders to bug reports; etc, etc.)

Committers sorted by commit count since 1985, in case it's interesting
(obviously doesn't count patches and many other things, so this is only
semi-data, not data):

  20572 Richard M. Stallman 
  10107 Glenn Morris 
   7395 Stefan Monnier 
   7099 Eli Zaretskii 
   6637 Kenichi Handa 
   6011 Chong Yidong 
   4803 Gerd Moellmann 
   4416 Juanma Barranquero 
   3767 Karl Heuer 
   3374 Paul Eggert 
   3320 Dave Love 
   3025 Kim F. Storm 
   1860 Miles Bader 
   1781 Jim Blandy 
   1511 Jason Rumney 
   1474 Dan Nicolaescu 
   1472 Andreas Schwab 
   1458 Juri Linkov 
   1421 Nick Roberts 
   1397 Michael Albinus 
   1390 Jan Djärv 
   1284 Luc Teirlinck 
    940 Jay Belanger 
    907 YAMAMOTO Mitsuharu 
    826 Lars Magne Ingebrigtsen 
    749 Pavel Janík 
    697 Martin Rudalics 
    638 Dmitry Antipov 
    615 Carsten Dominik 
    596 Karoly Lorentey 
    584 Roland McGrath 
    583 Thien-Thi Nguyen 
    518 Katsumi Yamaoka 
    470 Eric S. Raymond 
    445 Alan Mackenzie 
    436 Andrew Innes 
    435 Francesco Potortì 
    427 Bill Wohler 
    420 Geoff Voelker 
    407 Lute Kamstra 
    399 André Spiegel 
    337 Leo Liu 
    320 Colin Walters 
    317 Sam Steingold 
    312 Romain Francoise 
    299 John Paul Wallington 
    279 Vinicius Jose Latorre 
    273 Fabián Ezequiel Gallina 
    266 Xue Fuqiao 
    259 Markus Rost 
    254 Ken Raeburn 
    242 Adrian Robert 
    235 Simon Marshall 
    211 Dmitry Gutov 
    206 Reiner Steib 
    205 Lars Ingebrigtsen 
    191 Michael Kifer 
    182 Tassilo Horn 
    180 John Wiegley 
    178 Daniel Colascione 
    174 Erik Naggum 
    167 Stephen Berman 
    159 Bastien Guerry 
    152 Kai Großjohann 
    149 Gnus developers 
    136 Daiki Ueno 
    129 Steven Tamm 
    127 Karl Berry 
    125 David Kastrup 
    122 Robert J. Chassell 
    119 Masatake YAMATO 
    114 Edward M. Reingold 
    113 Roland Winkler 
    112 Simon Josefsson 
    112 Julien Danjou 
    111 Daniel Pfeiffer 
    110 Karl Fogel 
    106 Ted Zlatanov 
    106 Noah Friedman 
    101 Lars Hansen 
     99 Andrew Choi 
     97 Jan D 
     94 Michael Olson 
     86 Stephen Eglen 
     84 Teodor Zlatanov 
     83 Ulf Jasper 
     82 Per Abrahamsen 
     80 Tom Tromey 
     80 David J. MacKenzie 
     77 ShengHuo ZHU 
     77 Mathias Dahl 
     75 Paul Reilly 
     69 Agustín Martín 
     68 Joseph Arceneaux 
     67 J.D. Smith 
     67 Boris Goldowsky 
     65 Michaël Cadilhac 
     64 Kevin Ryde 
     64 Ken Brown 
     61 David Engster 
     61 Brian Fox 
     60 Fred Pierresteguy 
     60 David Ponce 
     59 Martin Stjernholm 
     58 David Reitter 
     56 Eric M. Ludlam 
     56 Deniz Dogan 
     54 Werner LEMBERG 
     52 Richard Kenner 
     48 Ken Manheimer 
     47 Rüdiger Sonderfeld 
     47 Deepak Goel 
     43 Magnus Henoch 
     43 Andrew Cohen 
     41 Bozhidar Batsov 
     40 Mark A. Hershberger 
     39 Christoph Scholtes 
     38 Oliver Seidel 
     38 Jim Meyering 
     37 Johan Bockgård 
     35 Dmitry Dzhus 
     35 Dani Moncayo 
     33 Joakim Verona 
     32 Jonathan Yavner 
     30 Peter Breton 
     30 Alex Schroeder 
     29 Vincent Belaïche 
     28 Per Bothner 
     27 Jesper Harder 
     26 Reuben Thomas 
     26 Ramprasad B 
     26 Christopher Schmidt 
     24 Mike Williams 
     23 Thierry Volpiatto 
     22 Michal Nazarewicz 
     22 Jeffrey C Honig 
     22 Aidan Gauland 
     21 Doug Evans 
     20 root <root>
     20 Michael I. Bushnell 
     19 Michael Mauger 
     19 Drew Adams 
     18 Phillip Rulon 
     18 Károly Lőrentey 
     18 Jambunathan K 
     18 Ivan Shmakov 
     17 Stefan Merten 
     17 Joel N. Weber II 
     16 Ulrich Drepper 
     16 João Távora 
     16 Christopher Zaborsky 
     16 Ben Key 
     16 Barry O'Reilly 
     16 Alp Aker 
     15 Ulrich Mueller 
     15 Rajesh Vaidheeswarran 
     15 Kelvin White 
     15 Ivan Kanis 
     15 Brian Preble 
     14 Rudy Gevaert 
     14 Marcelo Toledo 
     14 Fabrice Popineau 
     13 Stephen Gildea 
     13 Ian Lance Taylor 
     13 Charles Hannum 
     13 Aaron S. Hawley 
     12 Wolfgang Jenkner 
     12 Wilson Snyder 
     12 Seiji Zenitani 
     12 Lawrence Mitchell 
     12 Ben Elliston 
     11 thierry volpiatto 
     11 Melissa Weisshaus 
     11 Daniel LaLiberte 
     11 Dan Davison 
     11 Adam Sjøgren 
     10 Tomohiro Matsuyama 
     10 Michael Meissner 
     10 Kenjiro NAKAYAMA 
     10 Jan Tatarik 
      9 Ulrich Müller 
      9 Stephen Leake 
      9 Sebastian Kremer 
      9 Nicolas Richard 
      9 Jürgen Hötzel 
      9 Jeff Law 
      9 Christian Ohler 
      9 Bob Rogers 
      9 Antoine Levitt 
      8 Jari Aalto 
      8 Helmut Eller 
      8 Brian Youmans 
      7 Vivek Dasmohapatra 
      7 Peter Galbraith 
      7 Paul D. Smith 
      7 Matthias Meulien 
      7 Matthias Dahl 
      7 Luke Lee 
      7 Dima Kogan 
      7 Claudio Bley 
      7 Alexandre Julliard 
      6 Štěpán Němec 
      6 Samuel Bronson 
      6 Oscar Fuentes 
      6 Nathan Trapuzzano 
      6 Mark Lillibridge 
      6 Johan Vromans 
      6 Jim Wilson 
      6 Jarek Czekalski 
      6 Ivan Andrus 
      6 Fabrice Niessen 
      6 Eric Hanchrow 
      6 Eric Ding 
      5 William M. Perry 
      5 Vitalie Spinu 
      5 Troels Nielsen 
      5 Simon South 
      5 Santiago Payà i Miralta 
      5 Mohsen BANAN 
      5 Michael Heerdegen 
      5 Mario Lang 
      5 Kelly Dean 
      5 Kan-Ru Chen 
      5 Jonas Bernoulli 
      5 John Gilmore 
      5 Jean-Philippe Gravel 
      5 Jaeyoun Chung 
      5 Grégoire Jadi 
      5 enami tsugutomo 
      5 Elias Pipping 
      5 Eduard Wiebe 
      5 Andreas Politz 
      5 Albert Krewinkel 
      4 William Xu 
      4 Tom Willemse 
      4 Thomas Bushnell, BSG 
      4 Teemu Likonen 
      4 Sven Joachim 
      4 Satyaki Das 
      4 Reto Zimmermann 
      4 Ralf Angeli 
      4 Phil Hagelberg 
      4 Morten Welinder 
      4 Matthew Swift 
      4 Mark D. Baushke 
      4 Kazuhiro Ito 
      4 Karel Klíc 
      4 Jérémy Compostella 
      4 Erich Stefan Boleyn 
      4 Dave Abrahams 
      4 Darren Hoo 
      4 Daniel Hackney 
      4 Alex Harsanyi 
      3 Ulf Jasper <>
      3 Toby Cubitt 
      3 Takafumi Arakaki 
      3 Simon Leinen 
      3 Sergio Durigan Junior 
      3 Ray Blaak 
      3 Ralph Schleicher 
      3 Per Starbäck 
      3 Óscar Fuentes 
      3 MON KEY 
      3 Mike Lamb 
      3 Michael Witten 
      3 Mark Oteiza 
      3 Ken Olum 
      3 Jorgen Schaefer 
      3 John Anthony 
      3 gnulists <gnulists>
      3 Feng Li 
      3 Erik Charlebois 
      3 Emilio C. Lopes 
      3 Eli Barzilay 
      3 David Lawrence 
      3 David Edmondson 
      3 Cameron Desautels 
      3 Arni Magnusson 
      3 Ari Roponen 
      3 Anders Lindgren 
      3 Alexander Klimov 
      3 Akinori MUSHA 
      2 Zachary Kanfer 
      2 Yoni Rabkin 
      2 Yann Hodique 
      2 William Stevenson 
      2 T.V. Raman 
      2 Torbjorn Granlund 
      2 Tetsurou Okazaki 
      2 Sylvain Chouleur 
      2 Steve Morningthunder 
      2 Steve Chamberlain 
      2 Stan Cox 
      2 Ron Schnell 
      2 Rob Browning 
      2 Richard Copley 
      2 Phil Sainty 
      2 Peter Oliver 
      2 Peter O'Gorman 
      2 Peter J. Weisberg 
      2 OKAZAKI Tetsurou 
      2 Nobuyoshi Nakada 
      2 Nix 
      2 Nicolas Avrutin 
      2 Nguyen Thai Ngoc Duy 
      2 Nathan Weizenbaum 
      2 Mike Stump 
      2 Michael R. Mauger 
      2 Matthew Leach 
      2 Martin Blais 
      2 Le Wang 
      2 Leonard Randall 
      2 Lennart Borgman 
      2 Lars Ljung 
      2 Kevin Rodgers 
      2 Kevin Gallagher 
      2 Kaushik Srenevasan 
      2 Josh Feinstein 
      2 Jim Elgin 
      2 Jeff Bailey 
      2 Jan Nieuwenhuizen 
      2 Jan Moringen 
      2 Ingo Lohmar 
      2 Giorgos Keramidas 
      2 Gabor Vida 
      2 Francesc Rocher 
      2 Eyal Lotem 
      2 E Sabof 
      2 Eric Abrahamsen 
      2 era eriksson 
      2 Ed Reingold 
      2 Dmitry Kurochkin 
      2 Didier Verna 
      2 David Röthlisberger 
      2 Daniel Dehennin 
      2 Brian Jenkins 
      2 Barry A. Warsaw 
      2 Alex Ott 
      2 Aleksei Gusev 
      2 Alan Schmitt 
      2 Adam Spiers 
      1 Йордан Миладинов 
      1 Yves Baumes 
      1 Yuya Nishihara 
      1 Yuri Karaban 
      1 Yuanle Song 
      1 Yoshiaki Kasahara 
      1 YE Qianchuan 
      1 Yavor Doganov 
      1 Yair Friedman 
      1 W. Trevor King 
      1 Wolfgang Schnerring 
      1 W. Martin Borgert 
      1 William Parsons 
      1 Wilfred Hughes 
      1 Wesley Dawson 
      1 Werner Meisner 
      1 Wang Diancheng 
      1 Volker Sobek 
      1 Vida Gabor 
      1 Vegard Øye 
      1 Vagn Johansen 
      1 Uwe Brauer 
      1 U. Ser 
      1 Uday S Reddy 
      1 Tsuyoshi Kitamoto 
      1 Toru TSUNEYOSHI 
      1 Tom Wood 
      1 Tom Seddon 
      1 Tom Regner 
      1 Tom Breton 
      1 Tomas Abrahamsson 
      1 Toke Høiland-Jørgensen 
      1 Tobias C. Rittweiler 
      1 Timo Myyrä 
      1 Tim Landscheidt 
      1 Thomas Fitzsimmons 
      1 Thierry Banel 
      1 Tetsuo Tsukamoto 
      1 Ted Phelps 
      1 Tak Ota 
      1 Syver Enstad 
      1 Svante Signell 
      1 Steve Yegge 
      1 Steve Chapel 
      1 Steinar Bang 
      1 Stefan-W. Hahn 
      1 Stefano Facchini 
      1 Stefan Bruda 
      1 Simon Schubert 
      1 Simon Law 
      1 Simen Heggestøyl 
      1 Shyam Karanatt 
      1 Shigeru Fukaya 
      1 shawn boles 
      1 Sergei Organov 
      1 Sébastien Gross 
      1 Sebastian Hermida 
      1 Sean Neakums 
      1 Scott Frazer 
      1 Samuel Thibault 
      1 rzl24ozi 
      1 Ryan Yeske 
      1 Ryan Twitchell 
      1 Ryan Crum 
      1 Ryan Barrett 
      1 Ryan 
      1 Rupert Swarbrick 
      1 Roy Hashimoto 
      1 Rod Whitby 
      1 Robert Pluim 
      1 Robert Brown (tiny change) 
      1 Richard Levitte 
      1 Richard Kim 
      1 René Kyllingstad 
      1 Raul Acevedo 
      1 Rasmus Pank Roulund 
      1 Ransom Williams 
      1 Rainer Orth 
      1 Primoz PETERLIN 
      1 Prestoo Ten 
      1 PJ Weisberg 
      1 Pieter Schoenmakers 
      1 Philipp Rumpf 
      1 Philipp Haselwarter 
      1 Petr Hracek 
      1 Peter S Galbraith 
      1 Peter Rosin 
      1 Peter Münster 
      1 Peter Kleiweg 
      1 Peder O. Klingenberg 
      1 Paul Rankin 
      1 Paul Pogonyshev 
      1 Paul Fisher 
      1 Olof Ohlsson Sax 
      1 Oliver Scholz 
      1 Oleksandr Gavenko 
      1 Oleh Krehel 
      1 Ognyan Kulev 
      1 oblique 
      1 Noam Postavsky 
      1 Nikolaj Schumacher 
      1 Nic Ferrier 
      1 Nelson Ferreira 
      1 Naohiro Aota 
      1 Nali Toja 
      1 Mitchel Humpherys 
      1 Mirek Kaim 
      1 Milan Zamazal 
      1 Mike Rowan 
      1 Mihir Rege 
      1 Michael Welsh Duggan 
      1 Michael Vehrs 
      1 Michael Shields 
      1 Michael McNamara 
      1 Michael Marchionna 
      1 Michael Hoffman 
      1 Michael Gauland 
      1 Micah Anderson 
      1 Matt McClure 
      1 Matt Fidler 
      1 Mats Lidell 
      1 Masashi Fujimoto 
      1 Martin Pohlack 
      1 Markus Triska 
      1 Mark Diekhans 
      1 Manuel Gómez 
      1 Manoj Srivastava 
      1 LynX 
      1 Lukas Huonker 
      1 Luis Felipe López Acevedo 
      1 Ludovic Courtès 
      1 Ludovic Courtes 
      1 Liang Wang 
      1 Liam Stitt 
      1 Leonardo Nobrega 
      1 Leonard H. Tower Jr 
      1 Laimonas V bra 
      1 l3thal 
      1 Kristoffer Grönlund 
      1 Knut Anders Hatlen 
      1 Kirk Kelsey 
      1 Kirill A. Korinskiy 
      1 Kevin Layer 
      1 Kenjiro Nakayama 
      1 Keitaro Miyazaki 
      1 Karol Ostrovsky 
      1 Karl Pflästerer 
      1 Karl Chen 
      1 Julian Scheid 
      1 Juergen Hoetzel 
      1 Jose Marino 
      1 Jose E. Marchesi 
      1 Jorge A. Alfaro Murillo 
      1 Joost Kremers 
      1 Jonathan Rockway 
      1 Jonathan Marchand 
      1 John Yates 
      1 John Mastro 
      1 John Marino 
      1 John Hassey 
      1 Joe Vornehm Jr. 
      1 Joe Matarazzo 
      1 Joel Ray Holveck 
      1 Joel Bion 
      1 Jirka Kosek 
      1 Jim Diamond 
      1 Jes Bodi Klinke 
      1 Jeremy Moore 
      1 Jed Brown 
      1 Jean Haidouk 
      1 Jason S. Cornez 
      1 Jason Merrill 
      1 Jason L. Wright 
      1 Jarosław Rzeszótko 
      1 Jan Beich 
      1 Jae-hyeon Park 
      1 Jack Duthen 
      1 IRIE Shinsuke 
      1 Ikumi Keita 
      1 Igor Kuzmin 
      1 Ian D 
      1 Hrvoje Niksic 
      1 HIROSHI OOTA 
      1 H. Dieter Wilhelm 
      1 HAMANO Kiyoto 
      1 Gustav Hållberg 
      1 Gregor Zattler 
      1 Giuseppe Scrivano 
      1 Gergely Risko 
      1 George McNinch 
      1 Geoff Gole 
      1 Fran Litterio 
      1 Florian Adamsky 
      1 Felix H. Dahlke 
      1 Esa Peuha 
      1 Eric Schulte 
      1 Eric Brown 
      1 Enami Tsugutomo 
      1 Edward Reingold 
      1 Edward O'Connor 
      1 Drake Wilson 
      1 Douglas Lewan 
      1 Don March 
      1 Dmitry Bolshakov 
      1 Dieter Schuster 
      1 Devon Sean McCullough 
      1 Detlev Zundel 
      1 David Raynes 
      1 David Michael 
      1 David Koppelman 
      1 David De La Harpe Golden 
      1 David Caldwell 
      1 David Cadé 
      1 David Burger 
      1 David Biesack 
      1 David Benjamin 
      1 David Abrahams 
      1 Dave Goldberg 
      1 Dato Simó 
      1 Daniel Hagerty 
      1 Daniel E. Doherty 
      1 Daniel Clemente 
      1 Daniel Bergey 
      1 Damyan Pepper 
      1 Damien Cassou 
      1 Dale Sedivec 
      1 Courtney Bane 
      1 Constantin Kulikov 
      1 Chris Zheng 
      1 Christoph Scholtes <>
      1 Christopher J. White 
      1 Christopher Genovese 
      1 Christoph Egger 
      1 Christoph 
      1 Christian Wittern 
      1 Chris Siebenmann 
      1 Chris Newton 
      1 Chris Hanson 
      1 Chris Foote 
      1 Charles Rendleman 
      1 cg 
      1 BT Templeton 
      1 Bruno Félix Rezende Ribeiro 
      1 Brian McKenna 
      1 Brent Goodrick 
      1 Bob Nnamtrop 
      1 Bill Carpenter 
      1 Benjamin Rutt 
      1 Bastien 
      1 Barry Fishman 
      1 Aurélien Aptel 
      1 Łukasz Stelmach 
      1 Atsuo Ohki 
      1 Artur Malabarba 
      1 Arne Jørgensen 
      1 “Martin 
      1 Anonymous 
      1 Anmol Khirbat 
      1 Andy Sawyer 
      1 Andy Moreton 
      1 Andrey Kotlarski 
      1 Andrew W. Nosenko 
      1 Andrew Schein 
      1 Andrew Beals 
      1 Andrei Chitu 
      1 Andreas Rottmann 
      1 Andrea Rossetti 
      1 Ami Fischman 
      1 Alvar Jesus Ibeas Martin 
      1 Adam W 
      1 Adam Sokolnicki 



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

* Re: Generate ChangeLogs
  2014-12-04 17:40               ` Paul Eggert
@ 2014-12-04 19:09                 ` Achim Gratz
  2014-12-05  8:07                 ` Glenn Morris
  1 sibling, 0 replies; 249+ messages in thread
From: Achim Gratz @ 2014-12-04 19:09 UTC (permalink / raw)
  To: emacs-devel

Paul Eggert writes:
> My biggest worry, to be honest, is Glenn, who tidies up ChangeLogs
> more than anyone else does.  It's more of a hassle to do that when
> ChangeLogs are generated automatically.

That's not more of a problem than it is at the moment when only the
changes to the ChangeLog were auto-generated instead of the whole
ChangeLog.


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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-03 20:58               ` Eric S. Raymond
@ 2014-12-04 20:28                 ` David Engster
  2014-12-04 20:46                   ` Eli Zaretskii
  2014-12-05  2:16                   ` Stefan Monnier
  0 siblings, 2 replies; 249+ messages in thread
From: David Engster @ 2014-12-04 20:28 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: Stefan Monnier, emacs-devel

Eric S. Raymond writes:
> David Engster <deng@randomsample.de>:
>>                                    BTW, when you write "found in the
>> Emacswiki", you surely mean you put it there in the first place, right?
>> Because otherwise you couldn't really add it to Emacs under your name.
>
> I thought the point of the cookbook was to make code free for re-use.
> I have no idea who wrote that one, and don't see how it matters.

I thought it matters because of copyright. But if no one else cares, I
certainly won't make a fuzz about it. It will make my life easier as
well: if a contributor does not want to go through this tedious paper
signing process, he can simply put in on a wiki page, and I can then
take it from there.

-David



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

* Re: More metaproblem
  2014-12-04 17:37                     ` Eli Zaretskii
@ 2014-12-04 20:43                       ` Stefan Monnier
  2014-12-04 21:26                         ` Eli Zaretskii
  0 siblings, 1 reply; 249+ messages in thread
From: Stefan Monnier @ 2014-12-04 20:43 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: stephen_leake, emacs-devel

> I think this requirement raises the bar impossibly high.  You cannot
> have a useful set of instructions that leave those out.  E.g., this
> whole discussion started because of such "nitpicking".

Actually no.  It started because of missing something important (for us
anyway) and which should be in ./CONTRIBUTE.

The formatting of references to revisions is a nitpick and should simply
not be mentioned anywhere.  We've survived quite happily for the last 30
years with "references to revisions" which are not machine-processable,
so if we leave people use the format they like, it's not going to be any
worse than what we've had so far.

> Neither do I see why would we need to restrict ourselves like that.  A
> document with a clear structure and a list of topics at the beginning
> can be longish and still useful.

People's attention span is much too limited for that.

> OTOH, having instructions scattered over several files makes
> discovery harder.

Agreed.


        Stefan



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-04 20:28                 ` David Engster
@ 2014-12-04 20:46                   ` Eli Zaretskii
  2014-12-05  2:16                   ` Stefan Monnier
  1 sibling, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-04 20:46 UTC (permalink / raw)
  To: David Engster; +Cc: esr, monnier, emacs-devel

> From: David Engster <deng@randomsample.de>
> Date: Thu, 04 Dec 2014 21:28:58 +0100
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
> 
> > I thought the point of the cookbook was to make code free for re-use.
> > I have no idea who wrote that one, and don't see how it matters.
> 
> I thought it matters because of copyright.

Of course, it does.



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

* Re: More metaproblem
  2014-12-04 18:33                 ` Karl Fogel
@ 2014-12-04 21:21                   ` Eli Zaretskii
  2014-12-04 22:01                     ` Jorgen Schaefer
  2014-12-05 16:51                     ` Karl Fogel
  2014-12-05  9:58                   ` Stephen Leake
  2014-12-05 11:45                   ` Phillip Lord
  2 siblings, 2 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-04 21:21 UTC (permalink / raw)
  To: Karl Fogel; +Cc: esr, eggert, monnier, emacs-devel

> From: Karl Fogel <kfogel@red-bean.com>
> Cc: esr@thyrsus.com,  eggert@cs.ucla.edu,  monnier@iro.umontreal.ca,  emacs-devel@gnu.org
> Date: Thu, 04 Dec 2014 12:33:10 -0600

Not really sure how to respond to this.  What exactly is the purpose
of what you wrote?

Anyway, some random comments.

> >See admin/notes/repo and admin/notes/commits.  What else is missing?
> 
> New developers are somehow supposed to know that those random files in
> admin/notes/ are what they need to read?

They usually ask and get told about that.

> What most projects do is have a development web page. linked to from
> their main user-facing web page.  The development page organizes all
> this stuff and provides links to source code repository, dev guidelines
> & documentation, etc.

Volunteers are welcome to take similar care of the Emacs Web page.
I'm sure they will be most welcome if and when they come.

> > Feel free to contribute the missing documentation, and thanks in
> > advance.
> 
> It's not just a matter of contributing documentation.  We don't even
> *have a place to put such documentation* right now.

Of course we do: etc/CONTRIBUTE.  We just decided to move it to the
top-level directory.

> >> Emacs is not an easy project for newcomers or drive-by contributors.
> >
> >Which large and complex project _is_ easy for newcomers?
> 
> Mozilla Firefox or LibreOffice, to name two off the top of my head.

Don't know anything about those.  I do know about GCC, GDB, Groff,
Guile, heck, even Make.  Nothing easy there for newcomers.

> There are many more.

Please name them.

And what counts as "easy", anyway? having a "contribute" Web page?
Are you really going to seriously claim that this is all that stands
between a project and being "easy" on newcomers?  If so, perhaps we
have been contributing to 2 very different classes of software
projects, because the main obstacle in my experience is not the
mundane rules like that, it's the need to understand the architecture
and the design of a complex piece of software, enough so to be able to
contribute non-trivial changes.

> >I think if you dislike so much in Emacs development practices, you
> >should become much more active than you are, and then you maybe stand
> >a chance to start changing all that.
> 
> It's precisely that I don't have time to be more active than I am, that
> leads me to want the project's development procedures to be more
> conducive to developers like me -- there are many of them out there.

Then you don't have the right to whine about how the project is being
managed.  Any serious change in management comes from within, not from
the outside.  This is Free Software; each one scratches the itches
that bother them.  You cannot force me or anyone else to do things we
don't like or don't feel qualified doing.  You think it's important --
get your own sleeves up, and get to work.  If you don't, then you need
to learn to live in peace with what others do for you, however they
decide to do it.  Not working on something you consider important, and
instead pouncing on those who do work is just plain rude.

> But to deny that the project is difficult for incoming developers?

Who denied it?  I didn't.

> But claiming there is no problem, that the phenomenon is not real, does
> not seem plausible to me.

Who claimed that?  I didn't!

> For a widely used *programmer's tool*, that is self-documenting and
> has an extension language, Emacs has an astonishingly low rate of
> lightweight contributed development.

There's any number of small jobs described both in etc/TODO and on the
bug tracker.  If there are indeed people who want to contribute on
some small scale, there's a lot to be done, and such contributions
will and always were very welcome.

> Can you help make your hypothesis falsifiable?  (In the intellectually
> rigorous sense, I mean, not the "make it false" sense.)  I might be able
> to find some time to do that.  In other words, can you tell me what
> measurable signs *you* would look for to determine if a free software
> project were stagnating, and then we can look to see if Emacs is
> exhibiting those signs?  (For example: rate at which developers slow
> down or stop contributing; relatively greater slowdown in rate of
> acquisition of new developers compared to other projects; shrinking
> diversity in first responders to bug reports; etc, etc.)

I have neither time nor motivation for that.  I do what I can for
Emacs; I cannot do more.  I only hope what I do is enough.  I'm sure
the same is true for Stefan, and Glenn, and a handful of other "core
maintainers".  If you or someone else think what we do is not good
enough in some area, you are invited to come aboard and change how
things are done.

> Committers sorted by commit count since 1985, in case it's interesting
> (obviously doesn't count patches and many other things, so this is only
> semi-data, not data):

And what was that all about?  What did you post the list for?

To summarize, my analysis of what you wrote is that you expect too
much of the handful of volunteers who develop and maintain Emacs
entirely on their free time.  A few people can only do this much.  You
want to improve things -- come aboard and be welcome.



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

* Re: More metaproblem
  2014-12-04 20:43                       ` Stefan Monnier
@ 2014-12-04 21:26                         ` Eli Zaretskii
  0 siblings, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-04 21:26 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: stephen_leake, emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: stephen_leake@stephe-leake.org,  emacs-devel@gnu.org
> Date: Thu, 04 Dec 2014 15:43:47 -0500
> 
> The formatting of references to revisions is a nitpick and should simply
> not be mentioned anywhere.

You've elided your original text, to which I responded:

> And it should be kept as short as possible (e.g. things like formatting
> of references to particular revisions is the kind of nitpicking we
> don't need in there).

"Things LIKE formatting of references", IOW not _just_ those
references.

If you meant _only_ those references, we are in violent agreement.

But other small details like that do need to be mentioned, if we want
to standardize and codify the process, and have it documented.

> > Neither do I see why would we need to restrict ourselves like that.  A
> > document with a clear structure and a list of topics at the beginning
> > can be longish and still useful.
> 
> People's attention span is much too limited for that.

They don't have to read all of the stuff, only what they need at any
given moment.



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

* Re: Metaproblem, part 3
  2014-12-04 17:53                 ` Stefan Monnier
@ 2014-12-04 21:48                   ` Lars Magne Ingebrigtsen
  2014-12-04 22:53                   ` Paul Eggert
  1 sibling, 0 replies; 249+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-04 21:48 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> You could volunteer to take over as new maintainer,

I could, but I'm a total ditz, so it wouldn't really work.

I know we're a taciturn bunch of people here on emacs-devel, so we don't
compliment each other much.  But you've (along with Chong the first
years) been the best maintainer Emacs has had.  (Sorry, other
maintainers.)  So the thought that you're contemplating resigning is
kinda depressing.

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



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

* Re: More metaproblem
  2014-12-04 21:21                   ` Eli Zaretskii
@ 2014-12-04 22:01                     ` Jorgen Schaefer
  2014-12-05  7:08                       ` Eli Zaretskii
  2014-12-05 11:52                       ` Nicolas Richard
  2014-12-05 16:51                     ` Karl Fogel
  1 sibling, 2 replies; 249+ messages in thread
From: Jorgen Schaefer @ 2014-12-04 22:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Karl Fogel, esr, monnier, emacs-devel

On Thu, 04 Dec 2014 23:21:33 +0200
Eli Zaretskii <eliz@gnu.org> wrote:

> > It's precisely that I don't have time to be more active than I am,
> > that leads me to want the project's development procedures to be
> > more conducive to developers like me -- there are many of them out
> > there.
> 
> Then you don't have the right to whine about how the project is being
> managed.

Do you realize how incredibly hostile this comes across as?

As a possible contributor, reading this, how inclined do you think this
makes me to bring up possible stumbling blocks I might have when trying
to contribute to Emacs?

And let me tell you, my experience with *trying* to contribute to Emacs
so far mainly has left me with the impression that I might be able to
contribute to Emacs *despite*, not *because*, of the best efforts of
"the management". But only if I work really hard for it.

Of course, I should not bring this up, because my time is limited and I
am only interested in some minor contributions, so my opinion is
irrelevant, and I "don't have the right to whine" about this, right?

On this topic, I can highly recommend Brenda Lynne Chawner's thesis
_Factors Influencing Participant Satisfaction with Free/Libre and Open
Source Software Projects._[1] Section 9.3 includes this rather hands-on
list of suggestions (p. 213):

| - ensure that the project’s ‘About’ page and documentation include
|   information about what types of contributions are most needed, and
|   how to contribute
| - acknowledge and celebrate contributions, so that people who do
|   contribute feel appreciated and motivated to continue;
| - monitor questions in the project’s email discussion list and/or
|   forums, particularly those from newcomers, to ensure that they are
|   answered;
| - provide information to the project’s community about the project’s
|   future development, perhaps in the form of a ‘road map’ that lists
|   the planned changes and enhancements;
| - ensure that documentation is up-to-date, and that aspects of the
|   software that may be perceived as complex are explained clearly;
|   and
| - find out what barriers participants encounter when making a
|   contribution to the project, and take steps to minimise or
|   eliminate them.

It is probably not obvious to you, but Emacs fails at every single one
of those to various degrees.

And only somewhat related, for you especially, Eli, I can highly
recommend John E. Vincent's essay on _Software Empathy_.[2]


(As a balancing point, I should add that it's not all bleak. I have
received very kind and helpful responses to some questions on this
list, and especially - but not only - Stefan can be very friendly and
supportive.)


Regards,
Jorgen


[1]
http://researcharchive.vuw.ac.nz/bitstream/handle/10063/1710/thesis.pdf?sequence=4
Summary at
http://opensource.com/business/14/8/study-participant-satisfaction-open-source-projects

[2] http://blog.lusis.org/blog/2014/10/19/software-empathy/



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

* Re: Metaproblem, part 3
  2014-12-04 17:53                 ` Stefan Monnier
  2014-12-04 21:48                   ` Lars Magne Ingebrigtsen
@ 2014-12-04 22:53                   ` Paul Eggert
  2014-12-05  4:40                     ` Stefan Monnier
  1 sibling, 1 reply; 249+ messages in thread
From: Paul Eggert @ 2014-12-04 22:53 UTC (permalink / raw)
  To: Stefan Monnier, Lars Magne Ingebrigtsen; +Cc: emacs-devel

On 12/04/2014 09:53 AM, Stefan Monnier wrote:
> You could volunteer to take over as new maintainer,

Hey, maybe we could ask RMS to be maintainer again.  Isn't it his turn 
again yet?

But seriously -- if there's some way we can help you recharge your 
batteries please let us know.  Sometimes all it takes is a little break, 
but often it takes more than that.



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

* Re: More metaproblem
  2014-12-04 10:27                     ` Eric S. Raymond
  2014-12-04 10:35                       ` David Kastrup
@ 2014-12-05  1:23                       ` Stephen J. Turnbull
  2014-12-05  6:53                         ` Eli Zaretskii
  1 sibling, 1 reply; 249+ messages in thread
From: Stephen J. Turnbull @ 2014-12-05  1:23 UTC (permalink / raw)
  To: esr; +Cc: Eli Zaretskii, Stephen Leake, emacs-devel

Eric S. Raymond writes:

 > I agree, and was intending to suggest that myself.

I think we've had way too many suggestions and way too little actual
text.  It would be better if somebody would write a GEEP[1] containing
the full proposed CONTRIBUTE text.  I nominate Stephen Leake because
he's the one who's shown the most tendency to actually write text, but
if he's lucky somebody else will raise their hand.[2][3]

Footnotes: 
[1]  GNU Emacs Enhancement Proposal.

[2]  It would be a bad idea to counternominate me -- I'll just dump
the XEmacs DevGuide verbatim, explicit recruiting text and all. ;-)

[3]  Besides, the date would embarrass both me (for not updating) and
Emacs (since I would guess I first published it in '03 or so).




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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-04 20:28                 ` David Engster
  2014-12-04 20:46                   ` Eli Zaretskii
@ 2014-12-05  2:16                   ` Stefan Monnier
  2014-12-05  8:06                     ` Glenn Morris
  1 sibling, 1 reply; 249+ messages in thread
From: Stefan Monnier @ 2014-12-05  2:16 UTC (permalink / raw)
  To: David Engster; +Cc: Eric S. Raymond, emacs-devel

> I thought it matters because of copyright.

Indeed, it does matter.  We can't take such random code.


        Stefan



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

* Re: Metaproblem, part 3
  2014-12-04 22:53                   ` Paul Eggert
@ 2014-12-05  4:40                     ` Stefan Monnier
  2014-12-05  7:20                       ` Stephen J. Turnbull
                                         ` (4 more replies)
  0 siblings, 5 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-05  4:40 UTC (permalink / raw)
  To: Paul Eggert; +Cc: Lars Magne Ingebrigtsen, emacs-devel

> But seriously -- if there's some way we can help you recharge your batteries
> please let us know.

The issue is not just to recharge my batteries but to lighten the load.
I see various ways that could happen:
- Someone else could take care of GNU ELPA (look for new packages, collect
  signatures, improve the infrastructure, ...).
- More people helping deal with bug-reports at all levels: classify
  bugs, tag them, make sure we reply to each one of them, make sure we
  have enough data from the reporter, help pinpoint the actual bug,
  write a sample patch.
- Setup some kind of patch-queue-manager so we can review patches and
  let the pqm do the commit/push itself.
- I find the bug-tracker not helpful enough.  Not sure if it's my fault
  for not using it well enough, maybe.  I keep feeling like I can't get
  a good overview of which bugs I should focus on, and to make sure all
  bugs receive enough attention (I hate this constant feeling I have
  that most bug reports go simply unanswered).
- Spend less time arguing and more time coding.  E.g. package.el still
  doesn't keep track of which packages have been explicitly installed by
  the user.  There's still no code to bundle GNU ELPA packages in the
  tarball releases.
- The resistance to change on CC-mode's side didn't help my morale.

But also I think on the coding side I don't have that much to contribute
to Emacs nowadays, and it's time for someone else to take over, with
fresh new ideas.


        Stefan



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

* Re: More metaproblem
  2014-12-05  1:23                       ` Stephen J. Turnbull
@ 2014-12-05  6:53                         ` Eli Zaretskii
  0 siblings, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05  6:53 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: esr, stephen_leake, emacs-devel

> From: "Stephen J. Turnbull" <stephen@xemacs.org>
> Cc: Eli Zaretskii <eliz@gnu.org>,
>     Stephen Leake <stephen_leake@stephe-leake.org>,
>     emacs-devel@gnu.org
> Date: Fri, 05 Dec 2014 10:23:35 +0900
> 
> Eric S. Raymond writes:
> 
>  > I agree, and was intending to suggest that myself.
> 
> I think we've had way too many suggestions and way too little actual
> text.  It would be better if somebody would write a GEEP[1] containing
> the full proposed CONTRIBUTE text.

I was going to, but then Stephen Leake said he will, so I guessed
he'll beat me up to that.



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

* Re: More metaproblem
  2014-12-04 22:01                     ` Jorgen Schaefer
@ 2014-12-05  7:08                       ` Eli Zaretskii
  2014-12-05  7:55                         ` Aurélien Aptel
  2014-12-06  5:11                         ` More metaproblem Stephen J. Turnbull
  2014-12-05 11:52                       ` Nicolas Richard
  1 sibling, 2 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05  7:08 UTC (permalink / raw)
  To: Jorgen Schaefer; +Cc: kfogel, esr, monnier, emacs-devel

> Date: Thu, 4 Dec 2014 23:01:31 +0100
> From: Jorgen Schaefer <forcer@forcix.cx>
> Cc: Karl Fogel <kfogel@red-bean.com>, esr@thyrsus.com,
>  monnier@iro.umontreal.ca, emacs-devel@gnu.org
> 
> On Thu, 04 Dec 2014 23:21:33 +0200
> Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > > It's precisely that I don't have time to be more active than I am,
> > > that leads me to want the project's development procedures to be
> > > more conducive to developers like me -- there are many of them out
> > > there.
> > 
> > Then you don't have the right to whine about how the project is being
> > managed.
> 
> Do you realize how incredibly hostile this comes across as?

It's not.  Just try reading it with fresh eyes.

In any case, it's no more hostile than Karl's attack.

And it's the truth.

> As a possible contributor, reading this, how inclined do you think this
> makes me to bring up possible stumbling blocks I might have when trying
> to contribute to Emacs?

I hope the same as you were before.  People bring up stumbling blocks
here all the time, and I think we try to eliminate the ones that we
can.

> And let me tell you, my experience with *trying* to contribute to Emacs
> so far mainly has left me with the impression that I might be able to
> contribute to Emacs *despite*, not *because*, of the best efforts of
> "the management". But only if I work really hard for it.

If you imply that "the management" consciously makes it harder for you
to contribute, then I certainly disagree and object.

> Of course, I should not bring this up, because my time is limited and I
> am only interested in some minor contributions, so my opinion is
> irrelevant, and I "don't have the right to whine" about this, right?

No, that's not what I said.  And it all depends what you say and how.
For now, I have no idea yet what bothers you and why, so I really
cannot comment.

> | - ensure that the project’s ‘About’ page and documentation include
> |   information about what types of contributions are most needed, and
> |   how to contribute
> | - acknowledge and celebrate contributions, so that people who do
> |   contribute feel appreciated and motivated to continue;
> | - monitor questions in the project’s email discussion list and/or
> |   forums, particularly those from newcomers, to ensure that they are
> |   answered;
> | - provide information to the project’s community about the project’s
> |   future development, perhaps in the form of a ‘road map’ that lists
> |   the planned changes and enhancements;
> | - ensure that documentation is up-to-date, and that aspects of the
> |   software that may be perceived as complex are explained clearly;
> |   and
> | - find out what barriers participants encounter when making a
> |   contribution to the project, and take steps to minimise or
> |   eliminate them.

I think we do most of that.

> It is probably not obvious to you, but Emacs fails at every single one
> of those to various degrees.

I disagree.  But I'd be delighted to see more people participate in
these efforts, and I'm sure so will Stefan and others.

> And only somewhat related, for you especially, Eli, I can highly
> recommend John E. Vincent's essay on _Software Empathy_.[2]

That's simply unfair and uncalled for.




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

* Re: Metaproblem, part 3
  2014-12-05  4:40                     ` Stefan Monnier
@ 2014-12-05  7:20                       ` Stephen J. Turnbull
  2014-12-05  8:06                       ` Glenn Morris
                                         ` (3 subsequent siblings)
  4 siblings, 0 replies; 249+ messages in thread
From: Stephen J. Turnbull @ 2014-12-05  7:20 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Lars Magne Ingebrigtsen, Paul Eggert, emacs-devel

Stefan Monnier writes:

 > - The resistance to change on CC-mode's side didn't help my morale.

That's one reason why XEmacs has a fiercely enforced rule that all
changes to external packages go through the list maintainer, whose
decisions are final.  I don't always like those decisions, but
conformance is a no-brainer with little stress.

N.B. Now that it's clear that breaking that rule means I resign,
nobody even thinks about it.

BTW, you've been a great maintainer so far.  Thanks!




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

* Re: More metaproblem
  2014-12-05  7:08                       ` Eli Zaretskii
@ 2014-12-05  7:55                         ` Aurélien Aptel
  2014-12-05  8:44                           ` Eli Zaretskii
  2014-12-06 10:41                           ` the Emacs wiki Stephen Leake
  2014-12-06  5:11                         ` More metaproblem Stephen J. Turnbull
  1 sibling, 2 replies; 249+ messages in thread
From: Aurélien Aptel @ 2014-12-05  7:55 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: kfogel, esr, Jorgen Schaefer, Stefan Monnier, emacs-devel

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

Concerning the new developer resources and architectural complexity:
there's the HackerGuide buried on the wiki which could be improved and get
more exposition.

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

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

* Re: Metaproblem, part 3
  2014-12-05  4:40                     ` Stefan Monnier
  2014-12-05  7:20                       ` Stephen J. Turnbull
@ 2014-12-05  8:06                       ` Glenn Morris
  2014-12-05 11:24                         ` andres.ramirez
  2014-12-05 14:26                       ` Stefan Monnier
                                         ` (2 subsequent siblings)
  4 siblings, 1 reply; 249+ messages in thread
From: Glenn Morris @ 2014-12-05  8:06 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Lars Magne Ingebrigtsen, Paul Eggert, emacs-devel


Stefan,

You do a wonderful job maintaining Emacs. I can't think of anyone else
who could do it anywhere near as well, from the point of view of either
your technical accomplishments, or being so damnably nice to people...
Many thanks for all the work you put in.

I can quite understand you being tired of it.
I'm sorry that I can't help with any of the specific points you raised.
(Well, I've been trying to stay out of arguments.)
I really hope people step up in response. Eg, there seem to be several
people interested in package-related matters.

Yours really-worried-about-the-future-ly,



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

* Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
  2014-12-05  2:16                   ` Stefan Monnier
@ 2014-12-05  8:06                     ` Glenn Morris
  0 siblings, 0 replies; 249+ messages in thread
From: Glenn Morris @ 2014-12-05  8:06 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eric S. Raymond, David Engster, emacs-devel

Stefan Monnier wrote:

>> I thought it matters because of copyright.
>
> Indeed, it does matter.  We can't take such random code.

For the record, that is the first point in "summary for the impatient"
in admin/notes/copyright; and adding changes under the name of the true
author is also the first point in admin/notes/repo. (Even if copyright
assignment did not require it, surely it's common courtesy.)



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

* Re: Generate ChangeLogs
  2014-12-04 17:40               ` Paul Eggert
  2014-12-04 19:09                 ` Achim Gratz
@ 2014-12-05  8:07                 ` Glenn Morris
  2014-12-06  2:24                   ` Paul Eggert
  1 sibling, 1 reply; 249+ messages in thread
From: Glenn Morris @ 2014-12-05  8:07 UTC (permalink / raw)
  To: Paul Eggert; +Cc: esr, Lars Magne Ingebrigtsen, Stefan Monnier, emacs-devel

Paul Eggert wrote:

> My biggest worry, to be honest, is Glenn, who tidies up ChangeLogs
> more than anyone else does.  It's more of a hassle to do that when
> ChangeLogs are generated automatically.  My own feeling is that,
> although I understand the pull of having the logs look good, our
> limited resources can be put to better use in areas other than tidying
> up ChangeLogs, and I'm willing to live with somewhat-messier
> ChangeLogs if we can trade that for a simpler workflow and/or other
> improvements elsewhere.

You don't have to worry, because I'll simply stop doing that.

I feel like you mischaracterized my position as some such of obsession
with making things look pretty. Rather I care about things being
well-documented. But, good news! I don't care any more.

I wrote a more detailed response to your bug report.
Short answer: do what you like.



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

* Re: More metaproblem
  2014-12-05  7:55                         ` Aurélien Aptel
@ 2014-12-05  8:44                           ` Eli Zaretskii
  2014-12-06 10:41                           ` the Emacs wiki Stephen Leake
  1 sibling, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05  8:44 UTC (permalink / raw)
  To: Aurélien Aptel; +Cc: kfogel, esr, forcer, monnier, emacs-devel

> Date: Fri, 5 Dec 2014 08:55:06 +0100
> From: Aurélien Aptel <aurelien.aptel@gmail.com>
> Cc: kfogel@red-bean.com, Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org, 
> 	Jorgen Schaefer <forcer@forcix.cx>, esr@thyrsus.com
> 
> Concerning the new developer resources and architectural complexity: there's
> the HackerGuide buried on the wiki which could be improved and get more
> exposition.

Indeed, thanks.  I've posted some comments on that in

  http://lists.gnu.org/archive/html/help-gnu-emacs/2013-03/msg00006.html





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

* Re: More metaproblem
  2014-12-04 18:33                 ` Karl Fogel
  2014-12-04 21:21                   ` Eli Zaretskii
@ 2014-12-05  9:58                   ` Stephen Leake
  2014-12-05 15:44                     ` Stefan Monnier
  2014-12-05 17:34                     ` Karl Fogel
  2014-12-05 11:45                   ` Phillip Lord
  2 siblings, 2 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-05  9:58 UTC (permalink / raw)
  To: emacs-devel

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

> What most projects do is have a development web page. linked to from
> their main user-facing web page.  

Emacs was around long before "web pages". It has been slow to embrace
web pages, because it already has a culture that works well without
them.

Perhaps that needs to change to attract new blood, but I'm not sure.
Emacs has a _very_ different feel than "typical" development
environments; using a unique development environment for creating Emacs
can ensure that is maintained.

> The development page organizes all this stuff and provides links to
> source code repository, dev guidelines & documentation, etc.
>
> For Emacs, the main web page is http://www.gnu.org/software/emacs/.
>
> It links to two possible candidates for the "developer page":
>
>   https://savannah.gnu.org/projects/emacs
>   https://savannah.gnu.org/bzr/?group=emacs
>
> But neither of those automatically-generated pages provides what a real
> development web page provides.  Instead they just tell you how to get
> the development sources and where the mailing lists are.  They don't
> tell you to look in admin/notes/ (for example).

I agree this could be improved; it should have a "Contributing" section,
which should point to the current documentation.

What is the mechanism for editing that web page?

>> Feel free to contribute the missing documentation, and thanks in
>> advance.
>
> It's not just a matter of contributing documentation.  We don't even
> *have a place to put such documentation* right now.

As others have pointed out, we do have such a place, but most people are
not aware of it. That needs to change, and I'm working on implementing
the changes suggested so far.


-- 
-- Stephe



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

* Re: Metaproblem, part 3
  2014-12-04 17:40               ` Eli Zaretskii
@ 2014-12-05 10:27                 ` João Távora
  2014-12-05 10:45                   ` Eli Zaretskii
  2014-12-05 10:56                 ` Phillip Lord
  1 sibling, 1 reply; 249+ messages in thread
From: João Távora @ 2014-12-05 10:27 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, phillip.lord, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: joaotavora@gmail.com (João Távora)
>> Date: Thu, 04 Dec 2014 14:32:23 +0000
>> Cc: esr@thyrsus.com, emacs-devel@gnu.org
>> 
>> phillip.lord@newcastle.ac.uk (Phillip Lord) writes:
>> 
>> > Cheesy as it sounds, perhaps, what is needed is "mentors". So, someone
>> > wants to fix something or change something about Emacs, they get a short
>> > term mentor to help them through the process (both at a code level, and
>> > at a rules of community level). So, the first piece of advice in
>> > contribute wouldn't be "do this, do that", it would be "think of a
>> > problem, ask for a mentor".
>> 
>> +1 to this. In every software project I've worked on, some form of
>> mentorship has proven essential in every first-time
>> contribution. Including projects that I started, and including Emacs
>> (thanks Stefan!).
>
> I also think that we have mentoring here, so I don't understand what
> exactly is this gripe about.  People ask questions, both here and on
> bug-gnu-emacs, and get helpful answers and guidance even when the
> questions are only tangentially related to Emacs (or even not at
> all).  What exactly is missing?

As you pointed out, mentorship happens on emacs-devel and on
bug-gnu-emacs. But also as you pointed out, a lot of effort goes into
questions only tangentially related to Emacs.

The proposed mentoring would be targeted at first time code
contributions only and administered by anyone with a reasonably solid
grasp of Emacs's and GNU's red tape.

From my (limited) perspective this is frequently channeled to Stefan,
who is really good at it, but is possibly overloaded.

So what is being proposed, or what at least what I understood from
Phillip's message, is that a new broad guideline is added to the top of
the contribution guide [1] reading something like:

  "If this is your first time contributing to Emacs, ask for a mentor on
  emacs-devel first. A mentor can be anyone who has contributed to Emacs
  at least once, and will guide you through the instructions [linked]
  below, as well as any extra documentation. He/she can also answer
  specific questions about copyright assignment, version control,
  changelogs, coding style, etc."

The phrasing could be improved of course, I'm not a native
speaker. Also, perhaps the ideas of "friendliness" and "tolerance" could
be made explicit there, though "mentorship" should imply them.

Note that I'm *not* saying that having a mentor guarantees code quality
or pertinence (indeed, ideally, the mentor should be reasonably agnostic
about the contribution's pertinence, unless it really *is* a waste of
time :-) ). This is to say that reviews and discussion still take place,
but at the very least the boring bits will be taken care of, and more
frequently the first-time contributor will be on the right track.

> Or maybe I don't understand what "mentoring" is being alluded to here.

Your idea of mentoring described earlier is pretty much the same as
mine.

João

[1]: either
https://www.gnu.org/software/emacs/manual/html_node/emacs/Contributing.html
or in the linked etc/CONTRIBUTE file



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

* Re: Metaproblem, part 3
  2014-12-05 10:27                 ` João Távora
@ 2014-12-05 10:45                   ` Eli Zaretskii
  2014-12-05 11:21                     ` João Távora
  2014-12-05 13:20                     ` Eric Abrahamsen
  0 siblings, 2 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05 10:45 UTC (permalink / raw)
  To: João Távora; +Cc: esr, phillip.lord, emacs-devel

> From: joaotavora@gmail.com (João Távora)
> Date: Fri, 05 Dec 2014 10:27:49 +0000
> Cc: esr@thyrsus.com, phillip.lord@newcastle.ac.uk, emacs-devel@gnu.org
> 
> As you pointed out, mentorship happens on emacs-devel and on
> bug-gnu-emacs. But also as you pointed out, a lot of effort goes into
> questions only tangentially related to Emacs.
> 
> The proposed mentoring would be targeted at first time code
> contributions only and administered by anyone with a reasonably solid
> grasp of Emacs's and GNU's red tape.
> 
> >From my (limited) perspective this is frequently channeled to Stefan,
> who is really good at it, but is possibly overloaded.
> 
> So what is being proposed, or what at least what I understood from
> Phillip's message, is that a new broad guideline is added to the top of
> the contribution guide [1] reading something like:
> 
>   "If this is your first time contributing to Emacs, ask for a mentor on
>   emacs-devel first. A mentor can be anyone who has contributed to Emacs
>   at least once, and will guide you through the instructions [linked]
>   below, as well as any extra documentation. He/she can also answer
>   specific questions about copyright assignment, version control,
>   changelogs, coding style, etc."

OK, so how would this mentoring be different from what we have now?
Does it happen in private email instead of on the list?  If it's still
on the list, do we formally tell people stay out of the
mentor/mentoree dialog and let the mentor alone handle that?  Or is
the only difference that a specific person will step forward and say
he/she will be the mentor for a particular J.R. Hacker, and all the
rest should stay as it is today?

IOW, I have a difficulty translating the above principles (with which
I agree) into practical steps that need to be made, to make the
procedure different from what it is now.  Can you please clarify?

Thanks.




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

* Re: Metaproblem, part 3
  2014-12-04 17:40               ` Eli Zaretskii
  2014-12-05 10:27                 ` João Távora
@ 2014-12-05 10:56                 ` Phillip Lord
  2014-12-05 11:15                   ` Eli Zaretskii
  1 sibling, 1 reply; 249+ messages in thread
From: Phillip Lord @ 2014-12-05 10:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, João Távora, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: joaotavora@gmail.com (João Távora)
>> Date: Thu, 04 Dec 2014 14:32:23 +0000
>> Cc: esr@thyrsus.com, emacs-devel@gnu.org
>> 
>> phillip.lord@newcastle.ac.uk (Phillip Lord) writes:
>> 
>> > Cheesy as it sounds, perhaps, what is needed is "mentors". So, someone
>> > wants to fix something or change something about Emacs, they get a short
>> > term mentor to help them through the process (both at a code level, and
>> > at a rules of community level). So, the first piece of advice in
>> > contribute wouldn't be "do this, do that", it would be "think of a
>> > problem, ask for a mentor".
>> 
>> +1 to this. In every software project I've worked on, some form of
>> mentorship has proven essential in every first-time
>> contribution. Including projects that I started, and including Emacs
>> (thanks Stefan!).
>
> I also think that we have mentoring here, so I don't understand what
> exactly is this gripe about.  People ask questions, both here and on
> bug-gnu-emacs, and get helpful answers and guidance even when the
> questions are only tangentially related to Emacs (or even not at
> all).  What exactly is missing?

I've gone back and read what I wrote. I can't see where it is a gripe.
It seems to me to be a positive suggestion. I understand that you do not
see the problem, but then you've been committing to Emacs for ages, so
it's clear that it's not a problem you have.

Phil



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

* Re: Metaproblem, part 3
  2014-12-05 10:56                 ` Phillip Lord
@ 2014-12-05 11:15                   ` Eli Zaretskii
  2014-12-05 12:09                     ` Phillip Lord
  0 siblings, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05 11:15 UTC (permalink / raw)
  To: Phillip Lord; +Cc: esr, joaotavora, emacs-devel

> From: phillip.lord@newcastle.ac.uk (Phillip Lord)
> Cc: João Távora <joaotavora@gmail.com>,
>   <esr@thyrsus.com>,  <emacs-devel@gnu.org>
> Date: Fri, 05 Dec 2014 10:56:17 +0000
> 
> > I also think that we have mentoring here, so I don't understand what
> > exactly is this gripe about.  People ask questions, both here and on
> > bug-gnu-emacs, and get helpful answers and guidance even when the
> > questions are only tangentially related to Emacs (or even not at
> > all).  What exactly is missing?
> 
> I've gone back and read what I wrote. I can't see where it is a gripe.

I apologize for using the word "gripe".  Let me rephrase: what is
missing in the current practices on emacs-devel to make them eligible
to be called "mentoring", in your opinion?

> It seems to me to be a positive suggestion.

I didn't perceive it as negative.  I just didn't understand what was
being suggested in practical terms.  Please elaborate.




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

* Re: Metaproblem, part 3
  2014-12-05 10:45                   ` Eli Zaretskii
@ 2014-12-05 11:21                     ` João Távora
  2014-12-05 11:31                       ` Eli Zaretskii
  2014-12-05 12:16                       ` Metaproblem, part 3 Phillip Lord
  2014-12-05 13:20                     ` Eric Abrahamsen
  1 sibling, 2 replies; 249+ messages in thread
From: João Távora @ 2014-12-05 11:21 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, phillip.lord, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>>   "If this is your first time contributing to Emacs, ask for a mentor on
>>   emacs-devel first. A mentor can be anyone who has contributed to Emacs
>>   at least once, and will guide you through the instructions [linked]
>>   below, as well as any extra documentation. He/she can also answer
>>   specific questions about copyright assignment, version control,
>>   changelogs, coding style, etc."
>
> OK, so how would this mentoring be different from what we have now?

Right, the devil in is the details. So let me make a concrete
example. JR Well-Behaved Hacker reads the above guideline writes to
emacs-devel:

   Hi, I started working on some code/have an idea to add/modify a
   frankinbogen-mode to Emacs. It's my first time contributing, and I
   have no idea:

     * if it should go into Emacs or Elpa,
     * if I have to assign copyright
     * if I need commit rights or, make a branch in my clone or, send some patches
     * how to write those curious ChangeLogs/format commit messages
     * how to organize code in files
     * etc etc etc (any more?)
     
   Can anyone mentor me off-list so that my contribution can be
   evaluated?

The "I have no idea" bit could also be "I have no idea about anything"
:-D

> Does it happen in private email instead of on the list?

I would say off-list, yes

> If it's still on the list, do we formally tell people stay out of the
> mentor/mentoree dialog and let the mentor alone handle that?

It can happen on list, and we would advise people to stay out of the dialog.

> the only difference that a specific person will step forward and say
> he/she will be the mentor for a particular J.R. Hacker, and all the
> rest should stay as it is today?

Imagine that this is working already. The idea is that the next email
from JR Well-Behaved Hacker would be.

  So, I have cleaned up my frankinbogen-mode with the help of my mentor
  JR Mentor.

  The code lives at a feature branch on blabla, and even though JR
  Mentor thinks it is not very useful for him personally, he thinks that
  we can discuss it here. Would the maintainers have a look?

> IOW, I have a difficulty translating the above principles (with which
> I agree) into practical steps that need to be made, to make the
> procedure different from what it is now.  Can you please clarify?

I agree it is not *very* different from what we have now, and indeed if
it's not going to be concise and clearly different and effective, it's
best not to add the additional overhead. Which is not a lot, I think,
but it's too early to be estimating that.

I hope I did clarify a bit, but ideally others can pitch in. I think
simulating a hypothetic platonic dialog between "JR Hacker" and "JR
Mentor" would be a good format to pitch in. Phillip, what would be the
ideal dialog between mentor and mentoree be?

João



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

* Re: Metaproblem, part 3
  2014-12-05  8:06                       ` Glenn Morris
@ 2014-12-05 11:24                         ` andres.ramirez
  0 siblings, 0 replies; 249+ messages in thread
From: andres.ramirez @ 2014-12-05 11:24 UTC (permalink / raw)
  To: Glenn Morris
  Cc: Lars Magne Ingebrigtsen, Paul Eggert, Stefan Monnier, emacs-devel

+1 to this.

Thanks Stefan. and Thank You guys who keep this great product and an
active community alive. I am always thinking about You guys, how do
You organize your time, not knowing details about it. I think It is a
very demanding task, besides Emacs you have Work, Family, and Life.

Even Glenn, who was very worried lately trying to release emacs
24.4. I think that process tired Chong before.

Best Regards
At Fri, 05 Dec 2014 03:06:30 -0500,
Glenn Morris wrote:
> 
> 
> Stefan,
> 
> You do a wonderful job maintaining Emacs. I can't think of anyone else
> who could do it anywhere near as well, from the point of view of either
> your technical accomplishments, or being so damnably nice to people...
> Many thanks for all the work you put in.
> 
> I can quite understand you being tired of it.
> I'm sorry that I can't help with any of the specific points you raised.
> (Well, I've been trying to stay out of arguments.)
> I really hope people step up in response. Eg, there seem to be several
> people interested in package-related matters.
> 
> Yours really-worried-about-the-future-ly,
> 
> 



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

* Re: Metaproblem, part 3
  2014-12-05 11:21                     ` João Távora
@ 2014-12-05 11:31                       ` Eli Zaretskii
  2014-12-05 12:20                         ` João Távora
  2014-12-05 12:16                       ` Metaproblem, part 3 Phillip Lord
  1 sibling, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05 11:31 UTC (permalink / raw)
  To: João Távora; +Cc: esr, phillip.lord, emacs-devel

> From: joaotavora@gmail.com (João Távora)
> Cc: esr@thyrsus.com,  phillip.lord@newcastle.ac.uk,  emacs-devel@gnu.org
> Date: Fri, 05 Dec 2014 11:21:29 +0000
> 
> > Does it happen in private email instead of on the list?
> 
> I would say off-list, yes

If that would help newcomers, it's easy to do.  OTOH, doing that on
the list has the advantage that others can chime in and make
alternative suggestions or draw attention to details that evaded the
"main mentor".




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

* Re: More metaproblem
  2014-12-04 18:33                 ` Karl Fogel
  2014-12-04 21:21                   ` Eli Zaretskii
  2014-12-05  9:58                   ` Stephen Leake
@ 2014-12-05 11:45                   ` Phillip Lord
  2014-12-06  5:17                     ` Stephen J. Turnbull
  2 siblings, 1 reply; 249+ messages in thread
From: Phillip Lord @ 2014-12-05 11:45 UTC (permalink / raw)
  To: Karl Fogel; +Cc: esr, Eli Zaretskii, eggert, monnier, emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:
> What most projects do is have a development web page. linked to from
> their main user-facing web page.  The development page organizes all
> this stuff and provides links to source code repository, dev guidelines
> & documentation, etc.
>
> For Emacs, the main web page is http://www.gnu.org/software/emacs/.
>
> It links to two possible candidates for the "developer page":
>
>   https://savannah.gnu.org/projects/emacs
>   https://savannah.gnu.org/bzr/?group=emacs
>
> But neither of those automatically-generated pages provides what a real
> development web page provides.  Instead they just tell you how to get
> the development sources and where the mailing lists are.  They don't
> tell you to look in admin/notes/ (for example).
>
> Compare those with develompent pages for projects that are trying to
> make it easy for new developers to come on board:
>
>   http://subversion.apache.org/contributing.html
>   http://www.libreoffice.org/community/developers/
>
> (both of which are easy to find from their projects' respective main
> home pages, by the way.)
>
> I hope the contrast between those examples and the way Emacs currently
> is is sufficiently clear as to not require much elucidation.


A nicer example is here...

http://orgmode.org/
http://orgmode.org/worg/org-contribute.html

Interesting because org-mode is part of Emacs core.

Would be good to have the same thing for the rest of Emacs.

Phil



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

* Re: More metaproblem
  2014-12-04 22:01                     ` Jorgen Schaefer
  2014-12-05  7:08                       ` Eli Zaretskii
@ 2014-12-05 11:52                       ` Nicolas Richard
  2014-12-05 22:43                         ` Richard Stallman
  1 sibling, 1 reply; 249+ messages in thread
From: Nicolas Richard @ 2014-12-05 11:52 UTC (permalink / raw)
  To: Jorgen Schaefer; +Cc: Karl Fogel, esr, Eli Zaretskii, monnier, emacs-devel

Jorgen Schaefer <forcer@forcix.cx> writes:
> And only somewhat related, for you especially, Eli, I can highly
> recommend John E. Vincent's essay on _Software Empathy_.[2]

FWIW, it took me a bit of getting used to his style, but I found Eli's
answer helpful at all times. I don't know if the above comment was meant
as an honest suggestion, but I can see how it can be taken as a
personnal attack and that saddens me some.

-- 
Nicolas



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

* Re: Metaproblem, part 3
  2014-12-05 11:15                   ` Eli Zaretskii
@ 2014-12-05 12:09                     ` Phillip Lord
  2014-12-05 14:50                       ` Eli Zaretskii
  0 siblings, 1 reply; 249+ messages in thread
From: Phillip Lord @ 2014-12-05 12:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, joaotavora, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> I've gone back and read what I wrote. I can't see where it is a gripe.
>
> I apologize for using the word "gripe".  Let me rephrase: what is
> missing in the current practices on emacs-devel to make them eligible
> to be called "mentoring", in your opinion?


Oh, well, the idea is that when someone wants to do something they get a
person to talk to, to help them through, away from the main line traffic
of emacs-devel.

What is missing on the current emacs-devel? It's not that anything in
missing, it's more the opposite. Emacs-devel is a high-traffic, complex
mailing list with lots of discussion going on. The discussion can get
heated also, but even when it's not it's somewhat intimidating; partly
this is because of the high level of technical competance of many of the
developers here. Obviously, having skilled developers is an asset to
Emacs, but it can have some occasional consequences.

Now, emacs-devel is not the worse I have seen. Years ago, I submitted a
potential patch once to the cygwin mailing list. I would have been quite
understanding of a "no, it does fit without objectives because of a, b
and c". What I got was "no, and you would have known that it was going
to be no, if you knew anything about it, which you would have, if you'd
read the mailing list for several months before posting".

I have commit rights to ELPA (and I guess therefore Emacs core). I've
used the former, but never the latter, because I am worried about
screwing things up. I never worried about this with cider, or clojure
mode because I committed to my own repo and send a pull request (several
of which were refused, with reasonable explanations as to why).


>> It seems to me to be a positive suggestion.
>
> I didn't perceive it as negative.  I just didn't understand what was
> being suggested in practical terms.  Please elaborate.

I hope that I have.

Probably I talk to much, and don't code enough, so after this I will
take Stefan's advice and do some more of the latter.

Phil





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

* Re: Metaproblem, part 3
  2014-12-05 11:21                     ` João Távora
  2014-12-05 11:31                       ` Eli Zaretskii
@ 2014-12-05 12:16                       ` Phillip Lord
  1 sibling, 0 replies; 249+ messages in thread
From: Phillip Lord @ 2014-12-05 12:16 UTC (permalink / raw)
  To: João Távora; +Cc: esr, Eli Zaretskii, emacs-devel

João Távora <joaotavora@gmail.com> writes:
> I hope I did clarify a bit, but ideally others can pitch in. I think
> simulating a hypothetic platonic dialog between "JR Hacker" and "JR
> Mentor" would be a good format to pitch in. Phillip, what would be the
> ideal dialog between mentor and mentoree be?


I think you have got it about right. As an example, I had two
discussions with Stefan off-list. One about ELPA (where I contributed a
package). I told him what my problem was (that I synchronize my work
between machines and cloning all of ELPA was problematic for me). He
hold me the solution.

Another time I asked what I know is a stupid question, which is, why is
my ssh private key not working. He said, can't help you with that, but
the savannah mailing list will. And they did.

I know it's a stupid question because I'd been teaching my students
about it ssh keys two days before. It's very frustrating to have a
problem that you know you should be able to fix.

Right, said I would say no more in the last post!

Phil



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

* Re: Metaproblem, part 3
  2014-12-05 11:31                       ` Eli Zaretskii
@ 2014-12-05 12:20                         ` João Távora
  2014-12-05 13:16                           ` Kelvin White
  2014-12-05 14:52                           ` Eli Zaretskii
  0 siblings, 2 replies; 249+ messages in thread
From: João Távora @ 2014-12-05 12:20 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, phillip.lord, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: joaotavora@gmail.com (João Távora)
>> Cc: esr@thyrsus.com,  phillip.lord@newcastle.ac.uk,  emacs-devel@gnu.org
>> Date: Fri, 05 Dec 2014 11:21:29 +0000
>> 
>> > Does it happen in private email instead of on the list?
>> 
>> I would say off-list, yes
>
> If that would help newcomers, it's easy to do.  OTOH, doing that on
> the list has the advantage that others can chime in and make
> alternative suggestions or draw attention to details that evaded the
> "main mentor".

An idea would be to prefix the subject line in the on-list dialog with
"[mentoring]" so people know that a newcomer is being tutored and so can
avoid contributing tangential matters or topics too advanced that will
confuse the effort. Ideally, only a maintainer or someone who is quite
sure of what he is about to say would pitch in with something like this:

    This 20-line contribution doesn't need a copyright assignment

    Don't make a feature branch for this particular one, share a link
    to you github/gitorious fork instead.

    Remember that the first line of the commit message should be in the
     XYZ format

    This contribution should be targeting ELPA, not Emacs.

These are all in the scope of red tape, and not exactly code review or
pertinence evaluation. Though in practice, and especially on-list, I
think it will be almost impossible to separate the two. I think it is
also not so desirable, so the mentor and maintainers alike should be
able to say things about code quality like from simple stuff like

    Remember to provide a docstring for this functions

to

    This has to be made to work with foo-mode and all the bar-related
    modes, that bit has to be redesigned. Have you tried using defbaz?

but everyone that sees a "[mentoring]" tag should generally avoid

    You could write a macro for that.

    Even though I'm not going to work with it, this is going to break my
    super-special use-case.

    This raises the greater question of the usefulness of quux-mode in
    general. Shouldn't we be trying to deprecate them instead using the
    zglorb-mode.?

We can leave those objections for the second phase, where perhaps the
subject like would read "[mentored]".

João



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

* Re: Metaproblem, part 3
  2014-12-05 12:20                         ` João Távora
@ 2014-12-05 13:16                           ` Kelvin White
  2014-12-05 14:52                           ` Eli Zaretskii
  1 sibling, 0 replies; 249+ messages in thread
From: Kelvin White @ 2014-12-05 13:16 UTC (permalink / raw)
  To: João Távora
  Cc: Eric Raymond, Eli Zaretskii, phillip.lord,
	Emacs development discussions

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

Hello,

I am a new maintainer here, and just wanted to chime in as I've experienced
the process of getting acclimated to the common procedures and such, as a
new dev. First of all I want to say thanks to Stefan for taking the time to
help
me get started, and for his patience with my ignorance. Also, I wanted to
make
a point that the "mentorship" here on emacs-devel is great. I have asked any
question to the list I may have had and gotten prompt, helpful guidance
from
many. I also think that any change to make "mentorship" some process with
more policies to remember would not only be counter intuitive but it would
take away from the camaraderie we have here and make it seem too corporate
I think. Some things you just need to leave natural and not try to
automate,
and streamline, even though it's against our nature.

Thanks again!

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

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

* Re: Metaproblem, part 3
  2014-12-05 10:45                   ` Eli Zaretskii
  2014-12-05 11:21                     ` João Távora
@ 2014-12-05 13:20                     ` Eric Abrahamsen
  2014-12-05 14:59                       ` Eli Zaretskii
  2014-12-06  5:45                       ` Stephen J. Turnbull
  1 sibling, 2 replies; 249+ messages in thread
From: Eric Abrahamsen @ 2014-12-05 13:20 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: joaotavora@gmail.com (João Távora)
>> Date: Fri, 05 Dec 2014 10:27:49 +0000
>> Cc: esr@thyrsus.com, phillip.lord@newcastle.ac.uk, emacs-devel@gnu.org
>> 
>> As you pointed out, mentorship happens on emacs-devel and on
>> bug-gnu-emacs. But also as you pointed out, a lot of effort goes into
>> questions only tangentially related to Emacs.
>> 
>> The proposed mentoring would be targeted at first time code
>> contributions only and administered by anyone with a reasonably solid
>> grasp of Emacs's and GNU's red tape.
>> 
>> >From my (limited) perspective this is frequently channeled to Stefan,
>> who is really good at it, but is possibly overloaded.
>> 
>> So what is being proposed, or what at least what I understood from
>> Phillip's message, is that a new broad guideline is added to the top of
>> the contribution guide [1] reading something like:
>> 
>>   "If this is your first time contributing to Emacs, ask for a mentor on
>>   emacs-devel first. A mentor can be anyone who has contributed to Emacs
>>   at least once, and will guide you through the instructions [linked]
>>   below, as well as any extra documentation. He/she can also answer
>>   specific questions about copyright assignment, version control,
>>   changelogs, coding style, etc."
>
> OK, so how would this mentoring be different from what we have now?
> Does it happen in private email instead of on the list?  If it's still
> on the list, do we formally tell people stay out of the
> mentor/mentoree dialog and let the mentor alone handle that?  Or is
> the only difference that a specific person will step forward and say
> he/she will be the mentor for a particular J.R. Hacker, and all the
> rest should stay as it is today?
>
> IOW, I have a difficulty translating the above principles (with which
> I agree) into practical steps that need to be made, to make the
> procedure different from what it is now.  Can you please clarify?

A brief two cents to add to Phillip, who seems to be in exactly the same
position as me:

It would be nice to explicitly let posters know that they can ask
someone for help with implementing a feature/squashing a bug. There's
lots of helpful advice here and on emacs.help, but that's not quite the
same as knowing that someone has committed (to some extent) to assisting
you.

"Mentoring", to me, also implies that the purpose of the process is, in
large part, the education of the mentoreee.

The above is totally contingent on someone having the time and patience
to take on "students", and I think silence in response to a request for
mentoring should be quite normal.

I'd lean towards on-list discussions, with the assumption that most
people will ignore them.

Eric




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

* Re: Metaproblem, part 3
  2014-12-05  4:40                     ` Stefan Monnier
  2014-12-05  7:20                       ` Stephen J. Turnbull
  2014-12-05  8:06                       ` Glenn Morris
@ 2014-12-05 14:26                       ` Stefan Monnier
  2014-12-05 14:46                         ` David Kastrup
  2014-12-05 14:47                       ` Lars Magne Ingebrigtsen
  2014-12-13 22:03                       ` Alan Mackenzie
  4 siblings, 1 reply; 249+ messages in thread
From: Stefan Monnier @ 2014-12-05 14:26 UTC (permalink / raw)
  To: emacs-devel

Lots of people sent their thanks, and told me how great a maintainer
I am and how nice I am, and despite the fact that some of you forgot to
mention how good I look and how well I sing, I really thank you all for
it, it's really super fun to read.


        Stefan


PS: Of course, it doesn't lighten the load very much.
PPS: And do remember that life wasn't that bad with previous
maintainers, so I'm sure things can be even better with the next.



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

* Re: Metaproblem, part 3
  2014-12-05 14:26                       ` Stefan Monnier
@ 2014-12-05 14:46                         ` David Kastrup
  0 siblings, 0 replies; 249+ messages in thread
From: David Kastrup @ 2014-12-05 14:46 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> Lots of people sent their thanks, and told me how great a maintainer
> I am and how nice I am, and despite the fact that some of you forgot to
> mention how good I look and how well I sing, I really thank you all for
> it, it's really super fun to read.

Well, I can't remember having a problem with you.  If that is not an
outstanding achievement, I don't know what is.

-- 
David Kastrup




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

* Re: Metaproblem, part 3
  2014-12-05  4:40                     ` Stefan Monnier
                                         ` (2 preceding siblings ...)
  2014-12-05 14:26                       ` Stefan Monnier
@ 2014-12-05 14:47                       ` Lars Magne Ingebrigtsen
  2014-12-05 18:38                         ` Stefan Monnier
  2014-12-13 22:03                       ` Alan Mackenzie
  4 siblings, 1 reply; 249+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-05 14:47 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Paul Eggert, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> - I find the bug-tracker not helpful enough.  Not sure if it's my fault
>   for not using it well enough, maybe.  I keep feeling like I can't get
>   a good overview of which bugs I should focus on, and to make sure all
>   bugs receive enough attention (I hate this constant feeling I have
>   that most bug reports go simply unanswered).

Do you use `M-x debbugs-gnu'?  It sorts and displays bug reports based
on whether they have been responded to at all, or followed up recently.

If there's something we could add there that makes it more easy to work
with, let me know.

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



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

* Re: Metaproblem, part 3
  2014-12-05 12:09                     ` Phillip Lord
@ 2014-12-05 14:50                       ` Eli Zaretskii
  0 siblings, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05 14:50 UTC (permalink / raw)
  To: Phillip Lord; +Cc: esr, joaotavora, emacs-devel

> From: phillip.lord@newcastle.ac.uk (Phillip Lord)
> Cc: <joaotavora@gmail.com>,  <esr@thyrsus.com>,  <emacs-devel@gnu.org>
> Date: Fri, 05 Dec 2014 12:09:09 +0000
> 
> Oh, well, the idea is that when someone wants to do something they get a
> person to talk to, to help them through, away from the main line traffic
> of emacs-devel.

If people would feel better getting advice in private email, they can
ask for it, and I don't see any problem with that.  I know I had a few
requests like that in the past.

> I have commit rights to ELPA (and I guess therefore Emacs core). I've
> used the former, but never the latter, because I am worried about
> screwing things up. I never worried about this with cider, or clojure
> mode because I committed to my own repo and send a pull request (several
> of which were refused, with reasonable explanations as to why).

You can always post the patch to bug-gnu-emacs@gnu.org, if you aren't
sure it's good to go, and ask for a review.

Thanks.



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

* Re: Metaproblem, part 3
  2014-12-05 12:20                         ` João Távora
  2014-12-05 13:16                           ` Kelvin White
@ 2014-12-05 14:52                           ` Eli Zaretskii
  2014-12-06  5:38                             ` Stephen J. Turnbull
  1 sibling, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05 14:52 UTC (permalink / raw)
  To: João Távora; +Cc: esr, phillip.lord, emacs-devel

> From: joaotavora@gmail.com (João Távora)
> Cc: esr@thyrsus.com,  phillip.lord@newcastle.ac.uk,  emacs-devel@gnu.org
> Date: Fri, 05 Dec 2014 12:20:47 +0000
> 
> An idea would be to prefix the subject line in the on-list dialog with
> "[mentoring]" so people know that a newcomer is being tutored and so can
> avoid contributing tangential matters or topics too advanced that will
> confuse the effort.

We can certainly try that, and see if it helps.




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

* Re: Metaproblem, part 3
  2014-12-05 13:20                     ` Eric Abrahamsen
@ 2014-12-05 14:59                       ` Eli Zaretskii
  2014-12-06  5:45                       ` Stephen J. Turnbull
  1 sibling, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05 14:59 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: emacs-devel

> From: Eric Abrahamsen <eric@ericabrahamsen.net>
> Date: Fri, 05 Dec 2014 21:20:22 +0800
> 
> It would be nice to explicitly let posters know that they can ask
> someone for help with implementing a feature/squashing a bug. There's
> lots of helpful advice here and on emacs.help, but that's not quite the
> same as knowing that someone has committed (to some extent) to assisting
> you.

I don't know how to do that.  The offer of help is implicit on this
list, and if someone needs to see it explicitly, then here it is.

> The above is totally contingent on someone having the time and patience
> to take on "students", and I think silence in response to a request for
> mentoring should be quite normal.
> 
> I'd lean towards on-list discussions, with the assumption that most
> people will ignore them.

I think we already have quite a lot of that going on, but if some
labels on the subject line could help, let's do it.



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

* Re: More metaproblem
  2014-12-05  9:58                   ` Stephen Leake
@ 2014-12-05 15:44                     ` Stefan Monnier
  2014-12-05 17:37                       ` Karl Fogel
  2014-12-05 17:34                     ` Karl Fogel
  1 sibling, 1 reply; 249+ messages in thread
From: Stefan Monnier @ 2014-12-05 15:44 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

>> https://savannah.gnu.org/projects/emacs
>> https://savannah.gnu.org/bzr/?group=emacs
[...]
> What is the mechanism for editing that web page?

I think the second is fully-automatically generated.
The first is under control of the project admins.  The current source
is:

    Emacs is the extensible, customizable, self-documenting real-time
    display editor.
    
    For information about Emacs, visit our
    [http://www.gnu.org/software/emacs/ webpage].  The development
    sources are hosted on Savannah, via Git for the main source and for
    GNU ELPA.
    
    You can access the main repository with
    
    +verbatim+
    git clone -b master git://git.sv.gnu.org/emacs.git
    -verbatim-
    or
    +verbatim+
    git clone -b emacs-24 git://git.sv.gnu.org/emacs.git
    -verbatim-
    
    Where "emacs-24" is the recommended branch if you want to help us
    test&debug the code before the next release.  "master" is if you're
    actively working on Emacs's own code.
    
    You can access the ELPA repository with (see the README file in
    there for how to get the "external" packages).
    
    +verbatim+
    git clone git://git.sv.gnu.org/emacs/elpa
    -verbatim-
    
    For developer access,
    [http://www.emacswiki.org/emacs/GitForEmacsDevs read these
    instructions].

If you want to send me an update, I can install it.

> As others have pointed out, we do have such a place, but most people are
> not aware of it. That needs to change, and I'm working on implementing
> the changes suggested so far.

Thank you,


        Stefan



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

* Re: More metaproblem
  2014-12-04 21:21                   ` Eli Zaretskii
  2014-12-04 22:01                     ` Jorgen Schaefer
@ 2014-12-05 16:51                     ` Karl Fogel
  2014-12-05 16:57                       ` Lars Magne Ingebrigtsen
                                         ` (5 more replies)
  1 sibling, 6 replies; 249+ messages in thread
From: Karl Fogel @ 2014-12-05 16:51 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, eggert, monnier, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:
>Not really sure how to respond to this.  What exactly is the purpose
>of what you wrote?

I'm trying to spell out the nature of the problem in order to persuade
influential Emacs developers (like you) that there is a problem.  If
enough agree, that can make it easier to fix, even if those people
aren't the ones who fix it.

For example, momentum is building around auto-generated ChangeLogs now,
largely because developers who contribute a lot to Emacs are either
supporting it or no longer actively resisting it.

I'd like to build momentum similarly around the idea of revamping the
way we treat contributors, especially new or lightly-contributing ones.

If we had a consensus about how to improve the contributor intake
process, that might make people who are currently too afraid to
volunteer to do it less afraid.  Currently, volunteering to do it
implies long arguments on this list with people who think things are
fine the way they are, which is prospectively exhausting, so no one's
likely to come out of the woodwork and even try right now.

>> What most projects do is have a development web page. linked to from
>> their main user-facing web page.  The development page organizes all
>> this stuff and provides links to source code repository, dev guidelines
>> & documentation, etc.
>
>Volunteers are welcome to take similar care of the Emacs Web page.
>I'm sure they will be most welcome if and when they come.

Hmm, what is the path for such volunteers?

That site & page are maintained by the FSF -- they're not in the Emacs
tree anywhere.  In other words, whatever the procedures are for
improving the Emacs home page (and creating a developer welcome page),
they are completely different from the procedures for improving the
Emacs code.  So, yay, now I have to learn *two* contribution paths.

>> > Feel free to contribute the missing documentation, and thanks in
>> > advance.
>> 
>> It's not just a matter of contributing documentation.  We don't even
>> *have a place to put such documentation* right now.
>
>Of course we do: etc/CONTRIBUTE.  We just decided to move it to the
>top-level directory.

It should be a web page.  That's how things work now.

But my hypothesis is that anyone who tried to convert it to web page
right now would face multiple obstacles, including not just technical
obstacles but resistance to goal itself.

I'd love to be wrong about that.  Am I?

Specifically:

If we could work out the technical details to have a "www/" directory at
the top level of the Emacs source tree, and have that be where both the
home page http://www.gnu.org/software/emacs/ *and* soon-to-be-written
new developer-oriented pages are maintained, would you be in favor of
that?

(I don't mean volunteer to help, I just mean support the goal or anyway
not oppose it.)

>> Mozilla Firefox or LibreOffice, to name two off the top of my head.
>
>Don't know anything about those.  I do know about GCC, GDB, Groff,
>Guile, heck, even Make.  Nothing easy there for newcomers.

You've named some of the oldest free software projects on the Net, and
ones specifically oriented toward GNU toolchain programmers.  I think
there *might* be some selection bias at work here :-).

>And what counts as "easy", anyway? having a "contribute" Web page?
>Are you really going to seriously claim that this is all that stands
>between a project and being "easy" on newcomers?  If so, perhaps we
>have been contributing to 2 very different classes of software
>projects, because the main obstacle in my experience is not the
>mundane rules like that, it's the need to understand the architecture
>and the design of a complex piece of software, enough so to be able to
>contribute non-trivial changes.

(See above about selection bias.)

My claim was specific:

I claimed that in the other projects I named, you *don't* see people
complaining about how hard it is to contribute, the way we regularly see
here.  I'll add to that the claim that you *do* see new contributor
acquisition and retention at a better rate in well-run projects.  I have
seen this myself in projects I know well, and I've checked my
impressions with people in other projects and they confirm it.

Above, you seem to be confirming my assertion that you don't think
there's a real problem here -- that is, you think that the changes I
describe would not make Emacs easier to contribute to, because the real
causes that make Emacs hard to contribute to have to do with the nature
of the code base.  I don't think that's true, especially in Emacs' case:
it has a well-documented extension language and gazillions of lines of
Elisp code for people to use as examples.  Few projects should be as
easy to contribute to as Emacs should be.

>To summarize, my analysis of what you wrote is that you expect too
>much of the handful of volunteers who develop and maintain Emacs
>entirely on their free time.  A few people can only do this much.  You
>want to improve things -- come aboard and be welcome.

My request is simple and specific:

I'm asking the biggest contributors to Emacs (you, among others) to

  - Not oppose a revamp of the contributor documentation along the lines
    I described;

  - Not oppose using a modern bug tracker -- one that supports email
    manipulation but *also* supports manipulation via a web browser.
    (Redmine, for example.)

Those two changes alone would lower the barrier to entry significantly.

Senior developer resistance to those changes effectively means they can
never take place.  Absence of such resistance doesn't guarantee that
they will take place, but is certainly a necessary precondition.

Right now, any volunteer energy toward such changes is pre-quashed:
anyone who might think of doing them, but who reads this list, would
quickly come to the conclusion that it would be a huge fight, a
months-long abuse fest, and give up in advance.

So I'd love to see that barrier go away, just to see what would happen.

-K



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

* Re: More metaproblem
  2014-12-05 16:51                     ` Karl Fogel
@ 2014-12-05 16:57                       ` Lars Magne Ingebrigtsen
  2014-12-05 18:24                         ` Eric S. Raymond
  2014-12-05 18:56                         ` Stefan Monnier
  2014-12-05 17:27                       ` Eli Zaretskii
                                         ` (4 subsequent siblings)
  5 siblings, 2 replies; 249+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-05 16:57 UTC (permalink / raw)
  To: Karl Fogel; +Cc: esr, Eli Zaretskii, eggert, monnier, emacs-devel

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

> If we could work out the technical details to have a "www/" directory at
> the top level of the Emacs source tree, and have that be where both the
> home page http://www.gnu.org/software/emacs/ *and* soon-to-be-written
> new developer-oriented pages are maintained, would you be in favor of
> that?

I think that's a great idea.  

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



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

* Re: More metaproblem
  2014-12-05 16:51                     ` Karl Fogel
  2014-12-05 16:57                       ` Lars Magne Ingebrigtsen
@ 2014-12-05 17:27                       ` Eli Zaretskii
  2014-12-05 17:52                         ` Karl Fogel
  2014-12-05 18:19                       ` Eric S. Raymond
                                         ` (3 subsequent siblings)
  5 siblings, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05 17:27 UTC (permalink / raw)
  To: Karl Fogel; +Cc: esr, eggert, monnier, emacs-devel

> From: Karl Fogel <kfogel@red-bean.com>
> Cc: esr@thyrsus.com,  eggert@cs.ucla.edu,  monnier@iro.umontreal.ca,  emacs-devel@gnu.org
> Date: Fri, 05 Dec 2014 10:51:40 -0600
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> >Not really sure how to respond to this.  What exactly is the purpose
> >of what you wrote?
> 
> I'm trying to spell out the nature of the problem in order to persuade
> influential Emacs developers (like you) that there is a problem.

In that case, you are wasting your energy, at least on me.  I have no
doubt there is a problem.  The question, as always, is how to solve
it, not whether it exists.

> I'd like to build momentum similarly around the idea of revamping the
> way we treat contributors, especially new or lightly-contributing ones.

We don't need a momentum.  We need specific practical actions, which
boils down to have volunteers step forward and make that happen.

> If we had a consensus about how to improve the contributor intake
> process, that might make people who are currently too afraid to
> volunteer to do it less afraid.  Currently, volunteering to do it
> implies long arguments on this list with people who think things are
> fine the way they are, which is prospectively exhausting, so no one's
> likely to come out of the woodwork and even try right now.

The arguments happen _solely_ because instead of volunteering, people
try to steam about how wrong the current situation is.  The moment
someone actually does something to improve things, I assure you there
will be no arguments, at least not long ones and not involving the
core maintainers.  (Yes, there will be a few requests here and there,
but that's understandable.)

> >> What most projects do is have a development web page. linked to from
> >> their main user-facing web page.  The development page organizes all
> >> this stuff and provides links to source code repository, dev guidelines
> >> & documentation, etc.
> >
> >Volunteers are welcome to take similar care of the Emacs Web page.
> >I'm sure they will be most welcome if and when they come.
> 
> Hmm, what is the path for such volunteers?

Err... just say that you do, and ask Stefan for instructions on how to
modify the relevant pages?

> That site & page are maintained by the FSF -- they're not in the Emacs
> tree anywhere.  In other words, whatever the procedures are for
> improving the Emacs home page (and creating a developer welcome page),
> they are completely different from the procedures for improving the
> Emacs code.  So, yay, now I have to learn *two* contribution paths.

So you want to change the way FSF maintains Savannah at the same time
you improve Emacs?  And you are still saying this is the practical way
towards improving Emacs, with good chances of success?

> >> It's not just a matter of contributing documentation.  We don't even
> >> *have a place to put such documentation* right now.
> >
> >Of course we do: etc/CONTRIBUTE.  We just decided to move it to the
> >top-level directory.
> 
> It should be a web page.  That's how things work now.
> 
> But my hypothesis is that anyone who tried to convert it to web page
> right now would face multiple obstacles, including not just technical
> obstacles but resistance to goal itself.
> 
> I'd love to be wrong about that.  Am I?

Yes, you are.  AFAIR, no one ever tried that, and therefore there
could be no resistance.

> >> Mozilla Firefox or LibreOffice, to name two off the top of my head.
> >
> >Don't know anything about those.  I do know about GCC, GDB, Groff,
> >Guile, heck, even Make.  Nothing easy there for newcomers.
> 
> You've named some of the oldest free software projects on the Net, and
> ones specifically oriented toward GNU toolchain programmers.  I think
> there *might* be some selection bias at work here :-).

The only bias here is that those are projects I actively participate
in, on some more or less meaningful level.  I can only speak about
things I'm familiar with.

> Above, you seem to be confirming my assertion that you don't think
> there's a real problem here -- that is, you think that the changes I
> describe would not make Emacs easier to contribute to, because the real
> causes that make Emacs hard to contribute to have to do with the nature
> of the code base.

Yes.

> I don't think that's true, especially in Emacs' case: it has a
> well-documented extension language and gazillions of lines of Elisp
> code for people to use as examples.  Few projects should be as easy
> to contribute to as Emacs should be.

What we sorely miss is not random contributions -- these are
important, but they won't help enough.  What we need is to widen the
very small circle of people who can be called "core maintainers" --
those who can review patches, mentor newcomers, write meaningful and
correct "contribute" Web pages, and do all the other tasks that were
discussed here.  And, btw, also develop major new features for Emacs,
without which this project is doomed.

It is impossible to do all that without good familiarity with at least
some areas of the Emacs core.  Without that, you cannot do all those
tasks that everyone wants to be done.  If you don't understand this,
then I'm sorry, but your views on how to make Emacs a better project
in the long run are of no practical importance, because your accents
are all wrong.  Yes, it is very important to make the initiation for
new contributors easier and more friendly, but that will not "save" us
in the long run, unless we also have some practical way of drawing
those newcomers into the Emacs depths, until they become "core".

> I'm asking the biggest contributors to Emacs (you, among others) to
> 
>   - Not oppose a revamp of the contributor documentation along the lines
>     I described;

There's no opposition to that.  Never was, never will be.  The only
problem is to find volunteers capable of doing that and then
maintaining the results.

>   - Not oppose using a modern bug tracker -- one that supports email
>     manipulation but *also* supports manipulation via a web browser.
>     (Redmine, for example.)

I don't know anything about that, and personally never expressed any
opposition.  I do have a few simple requirements for a bug tracker,
but that's all.

> Those two changes alone would lower the barrier to entry significantly.

Then let's go!

> Senior developer resistance to those changes effectively means they can
> never take place.  Absence of such resistance doesn't guarantee that
> they will take place, but is certainly a necessary precondition.

THERE'S NO RESISTANCE!!  Please stop barking up the wrong tree.

> Right now, any volunteer energy toward such changes is pre-quashed:
> anyone who might think of doing them, but who reads this list, would
> quickly come to the conclusion that it would be a huge fight, a
> months-long abuse fest, and give up in advance.

I cannot read people's minds; maybe you can.  I don't know what anyone
might think about volunteering, unless they actually speak up and
volunteer.  I challenge you to find any examples of volunteers in this
area who were turned down by "senior developers".

> So I'd love to see that barrier go away, just to see what would happen.

That barrier doesn't exist!  You are imagining it.



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

* Re: More metaproblem
  2014-12-05  9:58                   ` Stephen Leake
  2014-12-05 15:44                     ` Stefan Monnier
@ 2014-12-05 17:34                     ` Karl Fogel
  2014-12-05 17:40                       ` Lars Magne Ingebrigtsen
                                         ` (2 more replies)
  1 sibling, 3 replies; 249+ messages in thread
From: Karl Fogel @ 2014-12-05 17:34 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

Stephen Leake <stephen_leake@stephe-leake.org> writes:
>> It's not just a matter of contributing documentation.  We don't even
>> *have a place to put such documentation* right now.
>
>As others have pointed out, we do have such a place, but most people are
>not aware of it. That needs to change, and I'm working on implementing
>the changes suggested so far.

Bravo to you!  Thank you.

I think a web page as the gateway is important, though:

There needs to be place where a developer *who has not yet decided to
contribute to Emacs* can land and quickly get an impression of how much
work is involved, and what the nature of that work is.

If that impression is only available from a place like etc/CONTRIBUTE,
then we're effectively asking people to have made that decision before
they've gotten the information they need to be able to make it.

It can be maintained in the Emacs tree, but it needs to be published in
a Web-standard way outside that tree (i.e., browsing to it in the
web-based git repository browser would be a poor user experience).

>Emacs was around long before "web pages". It has been slow to embrace
>web pages, because it already has a culture that works well without
>them.
>
>Perhaps that needs to change to attract new blood, but I'm not sure.
>Emacs has a _very_ different feel than "typical" development
>environments; using a unique development environment for creating Emacs
>can ensure that is maintained.

Even people who use Emacs for almost everything rarely use it as their
primary web browser.  A few do, but most don't.  As I think across all
the Emacs-first developers I know -- people like me who use Emacs as
their shell, as their mailreader, as their primary development
environment, as their primary text composition, and as their organizer
via Org Mode -- they still use a dedicated browser like Firefox for
browsing the web.

(No doubt a few people here use Emacs as their primary web browser, but
I'm pretty sure that's the exception, even among heavy Emacs users.)

So for information that people typically expect to be on the Web, such
as developer guidelines for contributing to a free software project,
we'll be better off putting that on the Web.  Because the people who
need to read it the most, the people who are the most important to us --
proficient Emacs users who are *considering* becoming contributors but
who have not decided yet -- will expect to find it on the Web anyway,
and will most likely first read it in an environment other than Emacs.

One solution would be to write those docs in (say) Markdown and
autogenerate the HTML pages, so that reading them and editing them in
Emacs is easy, but we still get HTML for the web site.

-Karl



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

* Re: More metaproblem
  2014-12-05 15:44                     ` Stefan Monnier
@ 2014-12-05 17:37                       ` Karl Fogel
  2014-12-05 19:36                         ` Stefan Monnier
  0 siblings, 1 reply; 249+ messages in thread
From: Karl Fogel @ 2014-12-05 17:37 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Stephen Leake, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:
>If you want to send me an update, I can install it.

Thank you, Stefan.

But having to send an update through one particular person is
sub-optimal in a multi-contributor free software project.  Imagine if it
were like that with the code.

Can we get a situation where committers can change that documentation
just as they would edit any other documentation?  (We might have
*social* controls on editing the front page -- that's fine.  I'm just
saying that a commit mechanism that involves a gateway human is not a
good long-term strategy.)

Best,
-K



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

* Re: More metaproblem
  2014-12-05 17:34                     ` Karl Fogel
@ 2014-12-05 17:40                       ` Lars Magne Ingebrigtsen
  2014-12-05 17:54                         ` Karl Fogel
  2014-12-06 12:04                         ` Richard Stallman
  2014-12-05 18:04                       ` More metaproblem Eric S. Raymond
  2014-12-06 10:19                       ` Stephen Leake
  2 siblings, 2 replies; 249+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-05 17:40 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Stephen Leake, emacs-devel

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

> There needs to be place where a developer *who has not yet decided to
> contribute to Emacs* can land and quickly get an impression of how much
> work is involved, and what the nature of that work is.

Contributing small patches to Emacs is easy.  You report a bug, include
the patch, and someone will look at it.

No instructions necessary beyond "git clone
git://git.savannah.gnu.org/emacs.git", really.

(See
http://lars.ingebrigtsen.no/2014/11/13/welcome-new-emacs-developers/
for details.)

If, however, you mean complete instructions on how to be an Emacs
maintainer, that would be a very long document indeed, and I don't think
it matters one iota whether that's on the web or in ./CONTRIBUTORS.

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



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

* Re: More metaproblem
  2014-12-05 17:27                       ` Eli Zaretskii
@ 2014-12-05 17:52                         ` Karl Fogel
  2014-12-05 18:39                           ` Glenn Morris
  2014-12-06  9:27                           ` Stephen Leake
  0 siblings, 2 replies; 249+ messages in thread
From: Karl Fogel @ 2014-12-05 17:52 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, eggert, monnier, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:
>> So I'd love to see that barrier go away, just to see what would happen.
>
>That barrier doesn't exist!  You are imagining it.

The barrier to the bug tracker change is well-documented on this list;
you're probably seen those conversations.  Explicit proposals to move
off debbugs have been made and have been equally explicitly shot down on
the grounds that debbugs is easier for senior maintainers who are
already familiar with it.

I'm very glad to hear you aren't one of those, though.

The barrier to the documentation change is when people see senior devs
pointing to etc/CONTRIBUTE as a fine place for dev documentation and
think "Oh, so the project thinks that's okay?  They point to that as a
solution, rather than as a problem?  I guess I'm in the wrong place."

Perhaps I shouldn't have characterized that as "resistance"; it's more
"active promotion of a sub-optimal thing as though it were perfectly
fine, with implied demotion of better things that could replace it".

I agree that's only an inference -- albeit one that many observers are
likely to make, even if inaccurate.  But if as you're saying the
inference is inaccurate, and that you're fine with the kinds of changes
I described, that's great.  Thanks.

-K



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

* Re: More metaproblem
  2014-12-05 17:40                       ` Lars Magne Ingebrigtsen
@ 2014-12-05 17:54                         ` Karl Fogel
  2014-12-06 12:04                         ` Richard Stallman
  1 sibling, 0 replies; 249+ messages in thread
From: Karl Fogel @ 2014-12-05 17:54 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: Stephen Leake, emacs-devel

Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
>> There needs to be place where a developer *who has not yet decided to
>> contribute to Emacs* can land and quickly get an impression of how much
>> work is involved, and what the nature of that work is.
>
>Contributing small patches to Emacs is easy.  You report a bug, include
>the patch, and someone will look at it.
>
>No instructions necessary beyond "git clone
>git://git.savannah.gnu.org/emacs.git", really.
>
>(See
>http://lars.ingebrigtsen.no/2014/11/13/welcome-new-emacs-developers/
>for details.)
>
>If, however, you mean complete instructions on how to be an Emacs
>maintainer, that would be a very long document indeed, and I don't think
>it matters one iota whether that's on the web or in ./CONTRIBUTORS.

It's the continuum in between those that I think is ill-served right
now.



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

* Re: More metaproblem
  2014-12-05 17:34                     ` Karl Fogel
  2014-12-05 17:40                       ` Lars Magne Ingebrigtsen
@ 2014-12-05 18:04                       ` Eric S. Raymond
  2014-12-06 10:19                       ` Stephen Leake
  2 siblings, 0 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-05 18:04 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Stephen Leake, emacs-devel

Karl Fogel <kfogel@red-bean.com>:
> So for information that people typically expect to be on the Web, such
> as developer guidelines for contributing to a free software project,
> we'll be better off putting that on the Web.  Because the people who
> need to read it the most, the people who are the most important to us --
> proficient Emacs users who are *considering* becoming contributors but
> who have not decided yet -- will expect to find it on the Web anyway,
> and will most likely first read it in an environment other than Emacs.

Precisely.  See also my remarks about much Emacs documentation being an
information ghetto.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: More metaproblem
  2014-12-05 16:51                     ` Karl Fogel
  2014-12-05 16:57                       ` Lars Magne Ingebrigtsen
  2014-12-05 17:27                       ` Eli Zaretskii
@ 2014-12-05 18:19                       ` Eric S. Raymond
  2014-12-05 21:14                         ` Karl Fogel
  2014-12-05 18:20                       ` Glenn Morris
                                         ` (2 subsequent siblings)
  5 siblings, 1 reply; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-05 18:19 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Eli Zaretskii, eggert, monnier, emacs-devel

Karl Fogel <kfogel@red-bean.com>:
> If we could work out the technical details to have a "www/" directory at
> the top level of the Emacs source tree, and have that be where both the
> home page http://www.gnu.org/software/emacs/ *and* soon-to-be-written
> new developer-oriented pages are maintained, would you be in favor of
> that?

Something at least roughly equivalent to this *needs to happen*.  

> Elisp code for people to use as examples.  Few projects should be as
> easy to contribute to as Emacs should be.

That is true.  The main barrier is not the codebase; it is guidance and
an uptake process that can best be described as shambolic.

> My request is simple and specific:
> 
> I'm asking the biggest contributors to Emacs (you, among others) to
> 
>   - Not oppose a revamp of the contributor documentation along the lines
>     I described;
> 
>   - Not oppose using a modern bug tracker -- one that supports email
>     manipulation but *also* supports manipulation via a web browser.
>     (Redmine, for example.)
> 
> Those two changes alone would lower the barrier to entry significantly.

Yes, they would.

We need to behave like a normal project with a normal interest in attracting
new developers, doing that in a normal way.  Practice in these areas has
long passed Emacs by.
 
> Senior developer resistance to those changes effectively means they can
> never take place.  Absence of such resistance doesn't guarantee that
> they will take place, but is certainly a necessary precondition.
> 
> Right now, any volunteer energy toward such changes is pre-quashed:
> anyone who might think of doing them, but who reads this list, would
> quickly come to the conclusion that it would be a huge fight, a
> months-long abuse fest, and give up in advance.

Alas, I certainly could not falsify that charge by what I went through
moving us to git.  The Emacs dev list has a culture and traditions
which, though not actually designed to suppress new contributors,
might as well have been.

> So I'd love to see that barrier go away, just to see what would happen.

My meta-plan is to identify barriers to new developers, one by one, 
and dynamite them.

Not being on git was a *biiiig* one. The disorganized and
undiscoverable state of Emacs's internal documentation is another,
which is one reason one of my next minor to-dos is cleaning out the /etc
attic.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: More metaproblem
  2014-12-05 16:51                     ` Karl Fogel
                                         ` (2 preceding siblings ...)
  2014-12-05 18:19                       ` Eric S. Raymond
@ 2014-12-05 18:20                       ` Glenn Morris
  2014-12-05 18:56                         ` Eric S. Raymond
  2014-12-06  9:10                       ` maintaining FSF Emacs web page Stephen Leake
  2014-12-06  9:19                       ` More metaproblem Stephen Leake
  5 siblings, 1 reply; 249+ messages in thread
From: Glenn Morris @ 2014-12-05 18:20 UTC (permalink / raw)
  To: Karl Fogel; +Cc: esr, Eli Zaretskii, eggert, monnier, emacs-devel

Karl Fogs wrote:

> That site & page are maintained by the FSF -- they're not in the Emacs
> tree anywhere.  In other words, whatever the procedures are for
> improving the Emacs home page (and creating a developer welcome page),
> they are completely different from the procedures for improving the
> Emacs code.  So, yay, now I have to learn *two* contribution paths.

The http://www.gnu.org/software/emacs/ Emacs web pages are maintained in
CVS. This is for technical reasons. CVS here functions mainly as a means
to get the stuff onto the gnu.org web server, rather than as a VCS. Yes,
amazingly, people have proposed changing that to something else. It
takes sysadmin time, which is in very short supply. And CVS works fine,
so it's not a priority.

Anyone who has write access to the Emacs code repo has write access to
the web repo. Changes go live almost immediately, so please be careful.

Instructions at:
http://savannah.gnu.org/cvs/?group=emacs



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

* Re: More metaproblem
  2014-12-05 16:57                       ` Lars Magne Ingebrigtsen
@ 2014-12-05 18:24                         ` Eric S. Raymond
  2014-12-05 21:16                           ` Karl Fogel
  2014-12-05 18:56                         ` Stefan Monnier
  1 sibling, 1 reply; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-05 18:24 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen
  Cc: Karl Fogel, Eli Zaretskii, eggert, monnier, emacs-devel

Lars Magne Ingebrigtsen <larsi@gnus.org>:
> Karl Fogel <kfogel@red-bean.com> writes:
> 
> > If we could work out the technical details to have a "www/" directory at
> > the top level of the Emacs source tree, and have that be where both the
> > home page http://www.gnu.org/software/emacs/ *and* soon-to-be-written
> > new developer-oriented pages are maintained, would you be in favor of
> > that?
> 
> I think that's a great idea.  

Yes.  Something like this needs to happen.  It is possible that this is
what the doc directory should become - home for the new, unified,
fully hypertexted document strucuture.  

But getting hung up on the name would be a mistake, and we mustn't 
bikeshed about that. The main points are: no more documentation ghettos,
full web exposure - and info, necessarily, taken out and shot. 
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: master e820f16: Added file-tree-walk to files.el.
       [not found] ` <E1XwAvL-0006M3-CA@vcs.savannah.gnu.org>
  2014-12-03 15:31   ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Stefan Monnier
  2014-12-03 15:34   ` Stefan Monnier
@ 2014-12-05 18:37   ` Michael Heerdegen
  2014-12-05 18:57     ` Eric S. Raymond
  2 siblings, 1 reply; 249+ messages in thread
From: Michael Heerdegen @ 2014-12-05 18:37 UTC (permalink / raw)
  To: emacs-devel

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

>     Added file-tree-walk to files.el.

FWIW, I recently wrote quite the same as addition to my iterator
package.  Whereby I use a recursion predicate of it's own, and the
action is to be applied after defining the iterator:

--8<---------------cut here---------------start------------->8---
(defun gen-of-files-df (dir &optional exclude-dirs)
  (cl-callf or exclude-dirs #'ignore)
  (let ((files (if (funcall exclude-dirs dir)
                   '()
                 (directory-files dir t)))
        subgen file)
    (gen-delq
     nil
     (gen-make 
      (if (not subgen)
          (if (not files)
              'gen-done
            (setq file (pop files))
            (if (string-match-p
                 "\\`\\.+\\'" (file-name-nondirectory file))
                nil
              (when (and (file-directory-p file)
                         (not (file-symlink-p file)))
                (setq subgen (gen-of-files-df file exclude-dirs)))
              file))
        (setq file (gen-next subgen))
        (if (not (eq file 'gen-done))
            file
          (setq subgen nil)
          nil))))))
--8<---------------cut here---------------end--------------->8---


And I guess it would be cool to have a breadth-first file-tree walker as
well?


Regards,

Michael.



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

* Re: Metaproblem, part 3
  2014-12-05 14:47                       ` Lars Magne Ingebrigtsen
@ 2014-12-05 18:38                         ` Stefan Monnier
  2014-12-06 17:29                           ` Lars Magne Ingebrigtsen
  0 siblings, 1 reply; 249+ messages in thread
From: Stefan Monnier @ 2014-12-05 18:38 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: Paul Eggert, emacs-devel

> Do you use `M-x debbugs-gnu'?

Kinda.

> It sorts and displays bug reports based on whether they have been
> responded to at all, or followed up recently.

Yes, it helps.  But there are still way too many reports in there so
I find it difficult to see which ones I should attend to.  I need to be
able to flush all those reports which are outside my field of expertise,
for example (Windows-specific, about the GUI, about the rendering, ...).

Worse yet: it doesn't fix the bugs on its own, I still have to go and
fix them by hand.


        Stefan



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

* Re: More metaproblem
  2014-12-05 17:52                         ` Karl Fogel
@ 2014-12-05 18:39                           ` Glenn Morris
  2014-12-05 21:23                             ` Karl Fogel
  2014-12-06  9:27                           ` Stephen Leake
  1 sibling, 1 reply; 249+ messages in thread
From: Glenn Morris @ 2014-12-05 18:39 UTC (permalink / raw)
  To: Karl Fogel; +Cc: esr, Eli Zaretskii, eggert, monnier, emacs-devel

Karl Fogel wrote:

> The barrier to the bug tracker change is well-documented on this list;
> you're probably seen those conversations.  Explicit proposals to move
> off debbugs have been made

[citation needed]

Mentioning Launchpad is not an explicit proposal.

> and have been equally explicitly shot down on the grounds that debbugs
> is easier for senior maintainers who are already familiar with it.

I have put a lot of work into debbugs.gnu.org.
I didn't much like it when we got it, but it was the system we had, so I
did work to make it better. Because although many people were
making a lot of noise, as usual not many people were doing anything.
In terms of using it, I've closed well over 1000 bugs.

It integrates pretty well with Emacs IMO, in part thanks to the add-ons
other developers have written.

If you want to replace it with something better, fine by me.
I'd find your arguments more compelling if you had contributed more to
Emacs, but perhaps the existing systems make it impossible for you to do
so. I take Stefan concerns with the tracker much more seriously.
But I have no energy left to make it any better.

Some other GNU projects are using debbugs.gnu.org, so my work won't be
totally wasted.

This and other discussions have pretty much demotivated me,
so I hope whatever new system you put in place works well for whoever is
left to use it.


Taking the weekend off now.



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

* Re: More metaproblem
  2014-12-05 16:57                       ` Lars Magne Ingebrigtsen
  2014-12-05 18:24                         ` Eric S. Raymond
@ 2014-12-05 18:56                         ` Stefan Monnier
  1 sibling, 0 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-05 18:56 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen
  Cc: Karl Fogel, esr, Eli Zaretskii, eggert, emacs-devel

>> If we could work out the technical details to have a "www/" directory at
>> the top level of the Emacs source tree, and have that be where both the
>> home page http://www.gnu.org/software/emacs/ *and* soon-to-be-written
>> new developer-oriented pages are maintained, would you be in favor of
>> that?
> I think that's a great idea.

The web pages are kept currently in a CVS repository, which requires the
same access rights as the Git repository.
See http://web.cvs.savannah.gnu.org/viewvc/?root=emacs

This is handled by Savannah and I have no idea how easy it would be to
change the setup such that the pages come out of the emacs.git instead.


        Stefan



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

* Re: More metaproblem
  2014-12-05 18:20                       ` Glenn Morris
@ 2014-12-05 18:56                         ` Eric S. Raymond
  2014-12-05 20:11                           ` Eli Zaretskii
  2014-12-06  9:41                           ` Stephen Leake
  0 siblings, 2 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-05 18:56 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Karl Fogel, Eli Zaretskii, eggert, monnier, emacs-devel

Glenn Morris <rgm@gnu.org>:
> Karl Fogs wrote:
> 
> > That site & page are maintained by the FSF -- they're not in the Emacs
> > tree anywhere.  In other words, whatever the procedures are for
> > improving the Emacs home page (and creating a developer welcome page),
> > they are completely different from the procedures for improving the
> > Emacs code.  So, yay, now I have to learn *two* contribution paths.
> 
> The http://www.gnu.org/software/emacs/ Emacs web pages are maintained in
> CVS.

Oh, holy jumping *fuck*.

And you still wonder why you can't get more help maintaining them?
There may be other reasons, but this is a sufficient one.  CVS, like
Texinfo and far too many of this project's inheritances from ancient
times, is a gigantic neon sign that says to new developers WE *LIVE*
TO INFLICT PROCESS PAIN ON YOU.

Let me expand on that.  It not only says WE *LIVE* TO INFLICT PROCESS
PAIN ON YOU, it also says GO AWAY, WE'RE STUCK IN 1990 AND WE LIKE IT
HERE.

Well, at least I can partly fix this. I'll get with Bob Proulx about
converting the repo.  Eventually it should almost certainly move into 
the source tree, but that's pending the big redesign of our
documentation structure.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: master e820f16: Added file-tree-walk to files.el.
  2014-12-05 18:37   ` master e820f16: Added file-tree-walk to files.el Michael Heerdegen
@ 2014-12-05 18:57     ` Eric S. Raymond
  0 siblings, 0 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-05 18:57 UTC (permalink / raw)
  To: Michael Heerdegen; +Cc: emacs-devel

Michael Heerdegen <michael_heerdegen@web.de>:
> And I guess it would be cool to have a breadth-first file-tree walker as
> well?

A good distinguishing feature.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: More metaproblem
  2014-12-05 17:37                       ` Karl Fogel
@ 2014-12-05 19:36                         ` Stefan Monnier
  0 siblings, 0 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-05 19:36 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Stephen Leake, emacs-devel

>> If you want to send me an update, I can install it.
> Thank you, Stefan.
> But having to send an update through one particular person is
> sub-optimal in a multi-contributor free software project.

We're only talking about the entry "project page" on Savannah (and it's
not even the whole page).  It's has to stay very short since the main
purpose of this page is to give you access to the other things on the page.
So there's not much room for lots of contributions and frequent
changes, really.  We can put a few well chosen links to web-pages which
can then change much more freely.

> Can we get a situation where committers can change that documentation
> just as they would edit any other documentation?

You'd have to take that up with the Savannah hackers, but it seems
highly unlikely.


        Stefan



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

* Re: More metaproblem
  2014-12-05 18:56                         ` Eric S. Raymond
@ 2014-12-05 20:11                           ` Eli Zaretskii
  2014-12-08 17:16                             ` Glenn Morris
  2014-12-06  9:41                           ` Stephen Leake
  1 sibling, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05 20:11 UTC (permalink / raw)
  To: esr; +Cc: kfogel, eggert, monnier, emacs-devel

> Date: Fri, 5 Dec 2014 13:56:36 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: Karl Fogel <kfogel@red-bean.com>, Eli Zaretskii <eliz@gnu.org>,
> 	eggert@cs.ucla.edu, monnier@iro.umontreal.ca, emacs-devel@gnu.org
> 
> > The http://www.gnu.org/software/emacs/ Emacs web pages are maintained in
> > CVS.
> 
> Oh, holy jumping *fuck*.
> 
> And you still wonder why you can't get more help maintaining them?
> There may be other reasons, but this is a sufficient one.  CVS, like
> Texinfo and far too many of this project's inheritances from ancient
> times, is a gigantic neon sign that says to new developers WE *LIVE*
> TO INFLICT PROCESS PAIN ON YOU.

THIS IS NOT OUR CVS!!  This is how Savannah handles all projects, it's
not our decision.

You want to change that, too, be my guest.  But don't blame us,
because we didn't invent it and we don't maintain Savannah.



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

* Re: More metaproblem
  2014-12-05 18:19                       ` Eric S. Raymond
@ 2014-12-05 21:14                         ` Karl Fogel
  2014-12-05 21:23                           ` Eric S. Raymond
  0 siblings, 1 reply; 249+ messages in thread
From: Karl Fogel @ 2014-12-05 21:14 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: Eli Zaretskii, eggert, monnier, emacs-devel

"Eric S. Raymond" <esr@thyrsus.com> writes:
>My meta-plan is to identify barriers to new developers, one by one, 
>and dynamite them.
>
>Not being on git was a *biiiig* one. The disorganized and
>undiscoverable state of Emacs's internal documentation is another,
>which is one reason one of my next minor to-dos is cleaning out the /etc
>attic.

  (setq beers_owed_esr (1+ beers_owed_esr))




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

* Re: More metaproblem
  2014-12-05 18:24                         ` Eric S. Raymond
@ 2014-12-05 21:16                           ` Karl Fogel
  0 siblings, 0 replies; 249+ messages in thread
From: Karl Fogel @ 2014-12-05 21:16 UTC (permalink / raw)
  To: Eric S. Raymond
  Cc: Lars Magne Ingebrigtsen, eggert, emacs-devel, Eli Zaretskii,
	monnier

"Eric S. Raymond" <esr@thyrsus.com> writes:
>> > If we could work out the technical details to have a "www/" directory at
>> > the top level of the Emacs source tree, and have that be where both the
>> > home page http://www.gnu.org/software/emacs/ *and* soon-to-be-written
>> > new developer-oriented pages are maintained, would you be in favor of
>> > that?
>> 
>> I think that's a great idea.  
>
>Yes.  Something like this needs to happen.  It is possible that this is
>what the doc directory should become - home for the new, unified,
>fully hypertexted document strucuture.  
>
>But getting hung up on the name would be a mistake, and we mustn't 
>bikeshed about that. The main points are: no more documentation ghettos,
>full web exposure - and info, necessarily, taken out and shot. 

Oh, agreed.  "doc" is fine instead of "www", whatever.  It's the thing,
not the name, that's most important here.



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

* Re: More metaproblem
  2014-12-05 18:39                           ` Glenn Morris
@ 2014-12-05 21:23                             ` Karl Fogel
  2014-12-05 22:24                               ` Eric S. Raymond
  0 siblings, 1 reply; 249+ messages in thread
From: Karl Fogel @ 2014-12-05 21:23 UTC (permalink / raw)
  To: Glenn Morris; +Cc: esr, Eli Zaretskii, eggert, monnier, emacs-devel

Glenn Morris <rgm@gnu.org> writes:
>> The barrier to the bug tracker change is well-documented on this list;
>> you're probably seen those conversations.  Explicit proposals to move
>> off debbugs have been made
>
>[citation needed]
>
>Mentioning Launchpad is not an explicit proposal.
>
>> and have been equally explicitly shot down on the grounds that debbugs
>> is easier for senior maintainers who are already familiar with it.
>
>I have put a lot of work into debbugs.gnu.org.
>I didn't much like it when we got it, but it was the system we had, so I
>did work to make it better. Because although many people were
>making a lot of noise, as usual not many people were doing anything.
>In terms of using it, I've closed well over 1000 bugs.
>
>It integrates pretty well with Emacs IMO, in part thanks to the add-ons
>other developers have written.
>
>If you want to replace it with something better, fine by me.
>I'd find your arguments more compelling if you had contributed more to
>Emacs, but perhaps the existing systems make it impossible for you to do
>so. I take Stefan concerns with the tracker much more seriously.
>But I have no energy left to make it any better.

The sentiment you express above, toward the end, is one I see more often
expressed in this project than in any other I work on.  I'm sorry to
hear it.

I'm also sorry you put so much work into debbugs only to have me
complain about it.  However, I don't think that the only possible way
people should be able to make proposals for new trackers (or whatever)
is to post gigantic, detailed proposals that anticipates every question
and technical difficulty -- and *then* get a "yes or no" answer.

Instead, the way this usually works is someone posts an overview
proposal first.

I don't have time to dig mine out of the archives now, but when I did it
was basically "How about we move to a modern, web-friendly bug tracker
that *also* integrates with email similarly to how debbugs does, so that
everyone has the functionality they want?"  I then named some systems
that do this, so people would know it wasn't just blue-sky dreaming.

This was shot down with "we senior devs like the way debbugs works, so
your proposal has little chance of happening".

So *after that*, I'm supposed to spend the time to write up the full,
detailed proposal?  As a way of maybe winning the argument anyway?
That's going to be a good investment of my time, after the initial
rejection of the idea?

I don't that's a reasonable way to expect volunteers to approach things.



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

* Re: More metaproblem
  2014-12-05 21:14                         ` Karl Fogel
@ 2014-12-05 21:23                           ` Eric S. Raymond
  0 siblings, 0 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-05 21:23 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Eli Zaretskii, eggert, monnier, emacs-devel

Karl Fogel <kfogel@red-bean.com>:
>   (setq beers_owed_esr (1+ beers_owed_esr))

No booze for me, I can't stand the taste of alcohol.  A good dark 
Jamaican-style ginger beer, on the other hand... :-)
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: More metaproblem
  2014-12-05 21:23                             ` Karl Fogel
@ 2014-12-05 22:24                               ` Eric S. Raymond
  2014-12-05 22:41                                 ` Ted Zlatanov
  2014-12-05 23:12                                 ` Eli Zaretskii
  0 siblings, 2 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-05 22:24 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Eli Zaretskii, eggert, monnier, emacs-devel

Karl Fogel <kfogel@red-bean.com>:
> That's going to be a good investment of my time, after the initial
> rejection of the idea?

There's another version of this that's common here.  It's "We will not
consider anything new unless you commit to doing *all* the hard work
yourself, up front, and also a whole bunch of related shitwork that we
haven't been able to find anyone to take on."

It's basically a way to day "Fuck off" while sounding pseudo-responsible.
It doesn't fool anyone, though.  The underlying message of reflexive
rejection of change is clear.

Heaven forfend anyone should offer to ... cooperate.  Spread the load.
When was the last time we heard anyone saying in reaction to a big new
proposal "That's a great idea you just had.  I'll do *this* piece."

And yet, we wonder why there are 500+ regulars on #emacs  who don't dare
set foot in here.  Well, why should they?  It's a hostile work environment.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: More metaproblem
  2014-12-05 22:24                               ` Eric S. Raymond
@ 2014-12-05 22:41                                 ` Ted Zlatanov
  2014-12-05 23:02                                   ` Eli Zaretskii
  2014-12-05 23:12                                 ` Eli Zaretskii
  1 sibling, 1 reply; 249+ messages in thread
From: Ted Zlatanov @ 2014-12-05 22:41 UTC (permalink / raw)
  To: emacs-devel

On Fri, 5 Dec 2014 17:24:16 -0500 "Eric S. Raymond" <esr@thyrsus.com> wrote: 

ESR> And yet, we wonder why there are 500+ regulars on #emacs  who don't dare
ESR> set foot in here.  Well, why should they?  It's a hostile work environment.

The environment here was actually pretty friendly and professional until recently.

Ted




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

* Re: More metaproblem
  2014-12-05 11:52                       ` Nicolas Richard
@ 2014-12-05 22:43                         ` Richard Stallman
  0 siblings, 0 replies; 249+ messages in thread
From: Richard Stallman @ 2014-12-05 22:43 UTC (permalink / raw)
  To: Nicolas Richard; +Cc: esr, emacs-devel, kfogel, monnier, forcer, eliz

[[[ 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. ]]]

Often it is hard to anticipate how our words might be taken
as personal criticism.  That is one of the bad aspects of email:
people perceive offense where no offense was meant.

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

* Re: More metaproblem
  2014-12-05 22:41                                 ` Ted Zlatanov
@ 2014-12-05 23:02                                   ` Eli Zaretskii
  0 siblings, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05 23:02 UTC (permalink / raw)
  To: emacs-devel; +Cc: emacs-devel

> From: Ted Zlatanov <tzz@lifelogs.com>
> Date: Fri, 05 Dec 2014 17:41:14 -0500
> 
> On Fri, 5 Dec 2014 17:24:16 -0500 "Eric S. Raymond" <esr@thyrsus.com> wrote: 
> 
> ESR> And yet, we wonder why there are 500+ regulars on #emacs  who don't dare
> ESR> set foot in here.  Well, why should they?  It's a hostile work environment.
> 
> The environment here was actually pretty friendly and professional until recently.

Indeed, and I wonder what exactly caused the change...



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

* Re: More metaproblem
  2014-12-04 15:35                   ` Stefan Monnier
  2014-12-04 16:33                     ` Stephen Leake
  2014-12-04 17:37                     ` Eli Zaretskii
@ 2014-12-05 23:03                     ` chad
  2 siblings, 0 replies; 249+ messages in thread
From: chad @ 2014-12-05 23:03 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Stephen Leake, emacs-devel


> On 04 Dec 2014, at 07:35, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> 
>>>> For example, as far as I can see -- and I've looked, though maybe in the
>>>> wrong places -- there's never been a permanent sign anywhere, like on a
>>>> web page, telling developers when they should commit to release branches
>>>> versus when they should commit to master (trunk).
> 
> I'd be happy to put such info somewhere, but I'm not sure where that
> should go.  I see two problems to solve:

This might be too much of a shotgun to the problem, but what if we
added a file FEATURE-FREEZE to the master when the feature freeze
was on, along with the email to emacs-dev? It could contain the
explicit details like "Hey, please hold on to the feature for now,
and try to help us test/finish the release candidate instead.
Thanks!"

~Chad



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

* Re: More metaproblem
  2014-12-05 22:24                               ` Eric S. Raymond
  2014-12-05 22:41                                 ` Ted Zlatanov
@ 2014-12-05 23:12                                 ` Eli Zaretskii
  2014-12-06  4:58                                   ` Eric S. Raymond
  1 sibling, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-05 23:12 UTC (permalink / raw)
  To: esr; +Cc: kfogel, eggert, monnier, emacs-devel

> Date: Fri, 5 Dec 2014 17:24:16 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: Glenn Morris <rgm@gnu.org>, Eli Zaretskii <eliz@gnu.org>,
> 	eggert@cs.ucla.edu, monnier@iro.umontreal.ca, emacs-devel@gnu.org
> 
> Karl Fogel <kfogel@red-bean.com>:
> > That's going to be a good investment of my time, after the initial
> > rejection of the idea?
> 
> There's another version of this that's common here.  It's "We will not
> consider anything new unless you commit to doing *all* the hard work
> yourself, up front, and also a whole bunch of related shitwork that we
> haven't been able to find anyone to take on."

Welcome to Free Software.

> It's basically a way to day "Fuck off" while sounding pseudo-responsible.
> It doesn't fool anyone, though.  The underlying message of reflexive
> rejection of change is clear.

It just means it's not my itch to scratch.  There's no rejection here,
quite the contrary: many times such suggestions are welcome.  But
someone still has to do the work, and the best candidate is the one
who is the most motivated to do it.

> Heaven forfend anyone should offer to ... cooperate.  Spread the load.
> When was the last time we heard anyone saying in reaction to a big new
> proposal "That's a great idea you just had.  I'll do *this* piece."

You don't see that because you don't want to.  Read this list more
carefully, and you will see plenty of examples of such cooperation.

> And yet, we wonder why there are 500+ regulars on #emacs  who don't dare
> set foot in here.  Well, why should they?  It's a hostile work environment.

Nonsense.  There's no hostility here.



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

* Re: Generate ChangeLogs
  2014-12-05  8:07                 ` Glenn Morris
@ 2014-12-06  2:24                   ` Paul Eggert
  0 siblings, 0 replies; 249+ messages in thread
From: Paul Eggert @ 2014-12-06  2:24 UTC (permalink / raw)
  To: Glenn Morris; +Cc: esr, Lars Magne Ingebrigtsen, Stefan Monnier, emacs-devel

Glenn Morris wrote:
> I feel like you mischaracterized my position as some such of obsession
> with making things look pretty.

Although I didn't intend that interpretation, in rereading my email I now see 
that it could easily be read that way, and that I should have used language like 
"fixes ChangeLogs" instead of "tidies up ChangeLogs".  My apologies.  There's 
nothing at all wrong with fixing ChangeLogs, of course.  I'll follow up further 
at Bug#19113.



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

* Re: More metaproblem
  2014-12-05 23:12                                 ` Eli Zaretskii
@ 2014-12-06  4:58                                   ` Eric S. Raymond
  2014-12-06  7:42                                     ` Eli Zaretskii
  0 siblings, 1 reply; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-06  4:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: kfogel, eggert, monnier, emacs-devel

Eli Zaretskii <eliz@gnu.org>:
> Nonsense.  There's no hostility here.

I think if you asked on #emacs you might discover that this opinion is ...
not widely shared.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: More metaproblem
  2014-12-05  7:08                       ` Eli Zaretskii
  2014-12-05  7:55                         ` Aurélien Aptel
@ 2014-12-06  5:11                         ` Stephen J. Turnbull
  2014-12-06  7:47                           ` Eli Zaretskii
  1 sibling, 1 reply; 249+ messages in thread
From: Stephen J. Turnbull @ 2014-12-06  5:11 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: kfogel, esr, emacs-devel, monnier, Jorgen Schaefer

Eli Zaretskii writes:

 > > Date: Thu, 4 Dec 2014 23:01:31 +0100
 > > From: Jorgen Schaefer <forcer@forcix.cx>
 > > Cc: Karl Fogel <kfogel@red-bean.com>, esr@thyrsus.com,
 > >  monnier@iro.umontreal.ca, emacs-devel@gnu.org
 > > 
 > > On Thu, 04 Dec 2014 23:21:33 +0200
 > > Eli Zaretskii <eliz@gnu.org> wrote:
 > > 
 > > > > It's precisely that I don't have time to be more active than I am,
 > > > > that leads me to want the project's development procedures to be
 > > > > more conducive to developers like me -- there are many of them out
 > > > > there.
 > > > 
 > > > Then you don't have the right to whine about how the project is
 > > > being managed.
 > > 
 > > Do you realize how incredibly hostile this comes across as?
 > 
 > It's not.  Just try reading it with fresh eyes.

That's also a "hostile" response.

In the brave new world, the writers are supposed to be responsible for
not offending the readers and considering the needs of the reader.
Sometimes this is taken too far, but in general it's very workable and
has some advantages.  In particular, it helps avoid long stupid
threads.  (It's not a vaccine, but it does help.)

In particular, the older "infrastructure" projects (the earlier GNU
projects such as gcc, glibc, Emacs, the Linux kernel, the BSDs) today
have a widespread reputation for hostility in general and
unfriendliness to "diversity" in particular.  One respected developer
in another community recently referred to GNU as a "cesspit" in the
same breath as condemning GitHub for its hostile internal environment.

I don't agree with this evaluation of Emacs or other GNU projects, but
it's only fair that you know that it is indeed widespread.

 > In any case, it's no more hostile than Karl's attack.

If "Karl's attack" refers to the text "It's precisely ... out there."
quoted above, your retort was indeed more hostile.  That quote nowhere
describes only the feelings of Karl himself, and therefore cannot be
considered hostile.  The word "whine", however, is hostile, however
justified.

 > And it's the truth.

It's not obvious he was whining.

What's true IMO is that Emacs doesn't necessarily need more drive-by
contributions (although ELPA does want them).

 > > As a possible contributor, reading this, how inclined do you think this
 > > makes me to bring up possible stumbling blocks I might have when trying
 > > to contribute to Emacs?
 > 
 > I hope the same as you were before.

Doesn't work that way in the brave new world, sorry.  Consider this
list:

 > > | - ensure that the project’s ‘About’ page and documentation include
 > > |   information about what types of contributions are most needed, and
 > > |   how to contribute
 > > | - acknowledge and celebrate contributions, so that people who do
 > > |   contribute feel appreciated and motivated to continue;
 > > | - monitor questions in the project’s email discussion list and/or
 > > |   forums, particularly those from newcomers, to ensure that they are
 > > |   answered;
 > > | - provide information to the project’s community about the project’s
 > > |   future development, perhaps in the form of a ‘road map’ that lists
 > > |   the planned changes and enhancements;
 > > | - ensure that documentation is up-to-date, and that aspects of the
 > > |   software that may be perceived as complex are explained clearly;
 > > |   and
 > > | - find out what barriers participants encounter when making a
 > > |   contribution to the project, and take steps to minimise or
 > > |   eliminate them.

Emacs indeed does not come up to current "standard" for these aspects
of project management.  But since when does GNU conform to standard,
rather than take it as suggestive?  OTOH, you might want to consider
that "current standard" does affect the desire of new contributor to
participate in the Emacs project.

 > > And only somewhat related, for you especially, Eli, I can highly
 > > recommend John E. Vincent's essay on _Software Empathy_.[2]
 > 
 > That's simply unfair and uncalled for.

Indeed, *that* was hostile.  Compare to the first quote in the stack
at the very beginning.




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

* Re: More metaproblem
  2014-12-05 11:45                   ` Phillip Lord
@ 2014-12-06  5:17                     ` Stephen J. Turnbull
  2014-12-06 10:17                       ` David Kastrup
  2014-12-06 10:30                       ` Stephen Leake
  0 siblings, 2 replies; 249+ messages in thread
From: Stephen J. Turnbull @ 2014-12-06  5:17 UTC (permalink / raw)
  To: Phillip Lord; +Cc: esr, eggert, emacs-devel, Karl Fogel, monnier, Eli Zaretskii

Phillip Lord writes:

 > > make it easy for new developers to come on board:
 > >
 > >   http://subversion.apache.org/contributing.html
 > >   http://www.libreoffice.org/community/developers/

 > A nicer example is here...
 > 
 > http://orgmode.org/
 > http://orgmode.org/worg/org-contribute.html

None of those examples are particularly relevant.  Emacs, despite
appearances, is not an app.  Rather, it is a platform.  And it is in
the forefront of the free software movement, which at least the first
two of those projects cannot claim.

Emacs's requirements for contribution, therefore, are likely to be
rather different.




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

* Re: Metaproblem, part 3
  2014-12-05 14:52                           ` Eli Zaretskii
@ 2014-12-06  5:38                             ` Stephen J. Turnbull
  2014-12-06  7:07                               ` João Távora
  0 siblings, 1 reply; 249+ messages in thread
From: Stephen J. Turnbull @ 2014-12-06  5:38 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, phillip.lord, João Távora, emacs-devel

Eli Zaretskii writes:
 > > From: joaotavora@gmail.com (João Távora)
 > > Cc: esr@thyrsus.com,  phillip.lord@newcastle.ac.uk,  emacs-devel@gnu.org
 > > Date: Fri, 05 Dec 2014 12:20:47 +0000
 > > 
 > > An idea would be to prefix the subject line in the on-list dialog with
 > > "[mentoring]" so people know that a newcomer is being tutored and so can
 > > avoid contributing tangential matters or topics too advanced that will
 > > confuse the effort.
 > 
 > We can certainly try that, and see if it helps.

You could try it, but in my experience with communities that have
evident mentoring efforts suggests that "tangential matters or topics
too advanced" are not that big a problem.  Newcomers generally detect
and ignore 2/3 or more of those posts.  If newcomers get confused by
those, they should go off-list.  If mentors detect that a newcomer is
getting confused, *they* should go off-list.

The bigger problem is the level of list traffic itself, which is
intimidating to newcomers, who often don't even want to subscribe.  If
there are people who have demonstrated interest in mentoring, a
separate list is a good idea.

Which reminds me: better than an ANNOUNCE tag in the subject line is a
separate -announce list which feeds into the main -devel list among
others.  If announcements of freezes etc double the number of
announcements (vs releases and major security events), I doubt anybody
will complain.




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

* Re: Metaproblem, part 3
  2014-12-05 13:20                     ` Eric Abrahamsen
  2014-12-05 14:59                       ` Eli Zaretskii
@ 2014-12-06  5:45                       ` Stephen J. Turnbull
  2014-12-06  6:18                         ` Eric S. Raymond
                                           ` (2 more replies)
  1 sibling, 3 replies; 249+ messages in thread
From: Stephen J. Turnbull @ 2014-12-06  5:45 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: emacs-devel

Eric Abrahamsen writes:

 > It would be nice to explicitly let posters know that they can ask
 > someone for help with implementing a feature/squashing a
 > bug. There's lots of helpful advice here and on emacs.help, but
 > that's not quite the same as knowing that someone has committed (to
 > some extent) to assisting you.

I see worries about "hostile" environment, and suggestions for making
things more welcoming to new contributors.  I have to ask, what do all
you folks who are suggesting Emacs change its procedures think is in
it for the mentors and core developers?




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

* Re: Metaproblem, part 3
  2014-12-06  5:45                       ` Stephen J. Turnbull
@ 2014-12-06  6:18                         ` Eric S. Raymond
  2014-12-06  8:01                           ` Eli Zaretskii
  2014-12-06 16:32                           ` Stephen J. Turnbull
  2014-12-06  8:29                         ` Eric Abrahamsen
  2014-12-06 10:51                         ` David Kastrup
  2 siblings, 2 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-06  6:18 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Eric Abrahamsen, emacs-devel

Stephen J. Turnbull <stephen@xemacs.org>:
> I see worries about "hostile" environment, and suggestions for making
> things more welcoming to new contributors.  I have to ask, what do all
> you folks who are suggesting Emacs change its procedures think is in
> it for the mentors and core developers?

A future for Emacs.

I'm trying to get the project moving in a direction that will lower
barriers to entry and attract new developers because I'm seriously
concerned that without such changes Emacs will ossify and dwindle into
irrelevance.

There are lots of other claims on my time.  There are many things I would
rather be doing than having the kinds of arguments this aim will 
inecitably land me in.

But I think it's important enough that I'm here.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: Metaproblem, part 3
  2014-12-06  5:38                             ` Stephen J. Turnbull
@ 2014-12-06  7:07                               ` João Távora
  2014-12-06  8:03                                 ` Eli Zaretskii
  0 siblings, 1 reply; 249+ messages in thread
From: João Távora @ 2014-12-06  7:07 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: esr, Eli Zaretskii, phillip.lord, emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

>  > We can certainly try that, and see if it helps.
>
> You could try it, but in my experience with communities that have
> evident mentoring efforts suggests that "tangential matters or topics
> too advanced" are not that big a problem.  Newcomers generally detect
> and ignore 2/3 or more of those posts.  If newcomers get confused by
> those, they should go off-list.  If mentors detect that a newcomer is
> getting confused, *they* should go off-list.

Yes, going off-list is useful. the [mentoring] tag is useful when the
effort decides to stay on-list, for some reason. IMO the benefit of
going off-list isn't avoiding distraction anyway, it's that intimacy
promotes confidence. 

The remaining things I said apply for both on-list and off-list dialog
anyway. It's those that I am unsure about, so wonder if you'd like to
comment.

> The bigger problem is the level of list traffic itself, which is
> intimidating to newcomers, who often don't even want to subscribe.  If
> there are people who have demonstrated interest in mentoring, a
> separate list is a good idea.

That should work too, but perhaps at a later phase. Right now, the
following can be done with relatively low overhead:

* Announce the mentoring idea to this list and/or to the contribution
  guide (advise newcomers to ask for a mentor on this list before
  posting code or starting a discussion).

* Detail mentor's role with some do's and don'ts. Detail non-mentor's
  role.
  
* Mentoring should be strictly on list and use [mentoring] tags?
  Off-list? Up to them?

To test the process, I can volunteer to submit a couple of reasonably
small ideas, between 100 and 300 LOC, that need a mentor (*). I have
contributed to emacs before, but got lost in the git transition and
recent discussion so I have a lot of doubts, from how to clone the
official repo, ELPA/Emacs decision, etc. The process should obviously be
Stefanless, i.e. someone should volunteer to mentor, otherwise there
will be two orphan "[mentor-request]" emails in the list, which will
also say something of the usefulness of the idea :-)

João

* I also have a bigger idea on yasnippet that is being mentored by
Stefan off-list, but that's too complex for an experiment right now.











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

* Re: More metaproblem
  2014-12-06  4:58                                   ` Eric S. Raymond
@ 2014-12-06  7:42                                     ` Eli Zaretskii
  2014-12-06 11:35                                       ` Eric S. Raymond
  0 siblings, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-06  7:42 UTC (permalink / raw)
  To: esr; +Cc: kfogel, eggert, monnier, emacs-devel

> Date: Fri, 5 Dec 2014 23:58:51 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: kfogel@red-bean.com, eggert@cs.ucla.edu, monnier@iro.umontreal.ca,
> 	emacs-devel@gnu.org
> 
> Eli Zaretskii <eliz@gnu.org>:
> > Nonsense.  There's no hostility here.
> 
> I think if you asked on #emacs you might discover that this opinion is ...
> not widely shared.

I challenge you to ask and then post the results here, including
similar results for other Free Software projects.  I'm old enough to
know the answer, having seen hostility, including towards myself, and
being able to tell when I see it.



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

* Re: More metaproblem
  2014-12-06  5:11                         ` More metaproblem Stephen J. Turnbull
@ 2014-12-06  7:47                           ` Eli Zaretskii
  0 siblings, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-06  7:47 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: kfogel, esr, emacs-devel, monnier, forcer

> From: "Stephen J. Turnbull" <stephen@xemacs.org>
> Cc: Jorgen Schaefer <forcer@forcix.cx>,
>     kfogel@red-bean.com,
>     esr@thyrsus.com,
>     monnier@iro.umontreal.ca,
>     emacs-devel@gnu.org
> Date: Sat, 06 Dec 2014 14:11:48 +0900
> 
> In particular, the older "infrastructure" projects (the earlier GNU
> projects such as gcc, glibc, Emacs, the Linux kernel, the BSDs) today
> have a widespread reputation for hostility in general and
> unfriendliness to "diversity" in particular.  One respected developer
> in another community recently referred to GNU as a "cesspit" in the
> same breath as condemning GitHub for its hostile internal environment.
> 
> I don't agree with this evaluation of Emacs or other GNU projects, but
> it's only fair that you know that it is indeed widespread.

I do know.

>  > In any case, it's no more hostile than Karl's attack.
> 
> If "Karl's attack" refers to the text "It's precisely ... out there."
> quoted above, your retort was indeed more hostile.

No, it refers to the entire series of his posts on the related issues
here, lately and in the past.  You need to read them in their entirety
to get the feeling.

>  > And it's the truth.
> 
> It's not obvious he was whining.

OK, if "whine" is the only hostile part, then I apologize for using
that word.  I should have replaced it with a less aggressive one, I
suppose.

But that was just one word.  Remove it from the text, and then tell me
whether it is still hostile.



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

* Re: Metaproblem, part 3
  2014-12-06  6:18                         ` Eric S. Raymond
@ 2014-12-06  8:01                           ` Eli Zaretskii
  2014-12-06 16:32                           ` Stephen J. Turnbull
  1 sibling, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-06  8:01 UTC (permalink / raw)
  To: esr; +Cc: eric, stephen, emacs-devel

> Date: Sat, 6 Dec 2014 01:18:07 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: Eric Abrahamsen <eric@ericabrahamsen.net>, emacs-devel@gnu.org
> 
> Stephen J. Turnbull <stephen@xemacs.org>:
> > I see worries about "hostile" environment, and suggestions for making
> > things more welcoming to new contributors.  I have to ask, what do all
> > you folks who are suggesting Emacs change its procedures think is in
> > it for the mentors and core developers?
> 
> A future for Emacs.

That's a slogan.  You are trying to sell that to us, but so far you've
failed.

> I'm trying to get the project moving in a direction that will lower
> barriers to entry and attract new developers because I'm seriously
> concerned that without such changes Emacs will ossify and dwindle into
> irrelevance.

A laudable goal, but doing so requires a good analysis of what are the
barriers and how to lower them in practice.  Your suggestions are a
clear evidence that your analysis, if it was done, is incorrect and
misguided, and as result you are trying to solve the wrong problems
using methods that are dead wrong.  The controversy that follows
speaks volumes about that.



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

* Re: Metaproblem, part 3
  2014-12-06  7:07                               ` João Távora
@ 2014-12-06  8:03                                 ` Eli Zaretskii
  2014-12-08 11:40                                   ` [mentor-request] a darkroom/writeroom mode for Emacs João Távora
                                                     ` (2 more replies)
  0 siblings, 3 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-06  8:03 UTC (permalink / raw)
  To: João Távora; +Cc: esr, stephen, phillip.lord, emacs-devel

> From: joaotavora@gmail.com (João Távora)
> Cc: Eli Zaretskii <eliz@gnu.org>,  esr@thyrsus.com,  phillip.lord@newcastle.ac.uk,  emacs-devel@gnu.org
> Date: Sat, 06 Dec 2014 07:07:21 +0000
> 
> To test the process, I can volunteer to submit a couple of reasonably
> small ideas, between 100 and 300 LOC, that need a mentor (*).

Please go ahead, and thanks.

Of course, to be practical, there's a need for a mentoree for each
such idea, but if that's you, then that issue is solved.




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

* Re: Metaproblem, part 3
  2014-12-06  5:45                       ` Stephen J. Turnbull
  2014-12-06  6:18                         ` Eric S. Raymond
@ 2014-12-06  8:29                         ` Eric Abrahamsen
  2014-12-06 10:11                           ` Eli Zaretskii
                                             ` (2 more replies)
  2014-12-06 10:51                         ` David Kastrup
  2 siblings, 3 replies; 249+ messages in thread
From: Eric Abrahamsen @ 2014-12-06  8:29 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Eric Abrahamsen writes:
>
>  > It would be nice to explicitly let posters know that they can ask
>  > someone for help with implementing a feature/squashing a
>  > bug. There's lots of helpful advice here and on emacs.help, but
>  > that's not quite the same as knowing that someone has committed (to
>  > some extent) to assisting you.
>
> I see worries about "hostile" environment, and suggestions for making
> things more welcoming to new contributors.  I have to ask, what do all
> you folks who are suggesting Emacs change its procedures think is in
> it for the mentors and core developers?

FWIW (not much), I have never felt any hostility here or in emacs.help,
and I'm not complaining about anything. Possibly I haven't felt it
because I'm coming in at such a low level that no nerves are touched --
I'm asking basic questions.

The only reason I chimed in is because I'm one of those who would love
to contribute more substantially, but needs guidance. For example, I've
got the basics of an epub-editing mode in place. I'd like it to be a
solid library, and would likely need assistance to get it there.

What's in it for the mentors and core developers is that, a few years
from now, I'd like to be making larger contributions to the Emacs core.
Mentoring would help me get there.

Eric




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

* Re: maintaining FSF Emacs web page
  2014-12-05 16:51                     ` Karl Fogel
                                         ` (3 preceding siblings ...)
  2014-12-05 18:20                       ` Glenn Morris
@ 2014-12-06  9:10                       ` Stephen Leake
  2014-12-06 17:57                         ` Karl Fogel
  2014-12-07  9:20                         ` Richard Stallman
  2014-12-06  9:19                       ` More metaproblem Stephen Leake
  5 siblings, 2 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-06  9:10 UTC (permalink / raw)
  To: emacs-devel

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

>>Volunteers are welcome to take similar care of the Emacs Web page.
>>I'm sure they will be most welcome if and when they come.
>
> Hmm, what is the path for such volunteers?
>
> That site & page are maintained by the FSF -- they're not in the Emacs
> tree anywhere.  In other words, whatever the procedures are for
> improving the Emacs home page (and creating a developer welcome page),
> they are completely different from the procedures for improving the
> Emacs code.  So, yay, now I have to learn *two* contribution paths.

One solution to this is to keep the FSF page very short, and have it
refer to a web page or other docs that we do maintain.

Currently, that would be http://www.emacswiki.org/

But that's not under any CM system, and there are at least some
developers here that don't want to use it.

I also work on monotone; their web page (http://www.monotone.ca/) is
a wiki that is automatically synced with a monotone repository, which
can also be edited by "normal" means. I find that very convenient.

Another choice is to simply keep the important docs as formatted text
files in the Emacs git repository, and leave the wiki as supplemental
but not required.

>>Of course we do: etc/CONTRIBUTE.  We just decided to move it to the
>>top-level directory.
>
> It should be a web page.  That's how things work now.

That may be what lots of people are used to, but we get to decide on how
we do things.

If we hear from potential new contributors that they are turned off by
having to read docs in Emacs instead of in a browser, there are several
possible responses:

- Emacs is a browser :)

- Emacs is all about editing files; get used to it

- Ok, maybe we should do more on the web.

> But my hypothesis is that anyone who tried to convert it to web page
> right now would face multiple obstacles, including not just technical
> obstacles but resistance to goal itself.

Yes.

I, for one, _much_ prefer editing text (markup or plain) to editing via
web browsers. I also prefer reading local files; Emacs is _very_ good at
searching and navigating among them (_much_ better than Firefox or
Chrome in a wiki).

I hope you are open to considering such arguments.

> If we could work out the technical details to have a "www/" directory at
> the top level of the Emacs source tree, and have that be where both the
> home page http://www.gnu.org/software/emacs/ *and* soon-to-be-written
> new developer-oriented pages are maintained, would you be in favor of
> that?

That implies that there is also a mechanism that mirrors that directory
to a web host somewhere (as monotone does). 

> (I don't mean volunteer to help, I just mean support the goal or anyway
> not oppose it.)

I would be ok with that, but _only_ if sufficient people step up to
support it, with reasonable hope that they wont disappear after an
initial effort.


-- 
-- Stephe



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

* Re: More metaproblem
  2014-12-05 16:51                     ` Karl Fogel
                                         ` (4 preceding siblings ...)
  2014-12-06  9:10                       ` maintaining FSF Emacs web page Stephen Leake
@ 2014-12-06  9:19                       ` Stephen Leake
  2014-12-06 16:44                         ` Drew Adams
  5 siblings, 1 reply; 249+ messages in thread
From: Stephen Leake @ 2014-12-06  9:19 UTC (permalink / raw)
  To: emacs-devel

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

> My request is simple and specific:
>
> I'm asking the biggest contributors to Emacs (you, among others) to
>
>   - Not oppose a revamp of the contributor documentation along the lines
>     I described;

(refering to moving contributor docs to the web)

I'm not at all convinced that would lower any barriers.

The only problems around contributing I've actually seen mentioned on
this list are lack of documentation for contributors, or lack of
awareness of such documentation.

It turns out there _is_ documentation, in several files in the Emacs
repository.

It needs some cleaning up, which I'm working on (see my recent commits).

More importantly, it needs _advertising_.

Whenever someone on this list says "please follow the standard", they
should _also_ mention ./CONTRIBUTORS, or one of the more detailed files
in admin/notes. That will get people used to refering to those files,
raise awareness of them, and encourage people to keep them up to date.

We also need to mention it on the FSF web page (I hope to find out how
to accomplish that). And on the wiki, if we can find the appropriate
places.


Simply moving the docs to a web page will not help with awareness.

>   - Not oppose using a modern bug tracker -- one that supports email
>     manipulation but *also* supports manipulation via a web browser.
>     (Redmine, for example.)

I have on occasion wished I could manipulate the bug tracker via the
web. But that is not a barrier to contributing for me; the email
interface is simple and well documented.

-- 
-- Stephe



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

* Re: More metaproblem
  2014-12-05 17:52                         ` Karl Fogel
  2014-12-05 18:39                           ` Glenn Morris
@ 2014-12-06  9:27                           ` Stephen Leake
  2014-12-06 10:20                             ` Eli Zaretskii
  2014-12-06 11:41                             ` Eric S. Raymond
  1 sibling, 2 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-06  9:27 UTC (permalink / raw)
  To: emacs-devel

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

> The barrier to the documentation change is when people see senior devs
> pointing to etc/CONTRIBUTE as a fine place for dev documentation and
> think "Oh, so the project thinks that's okay?  They point to that as a
> solution, rather than as a problem?  I guess I'm in the wrong place."

I have not seen anyone (other than you) state this.

Can you please give _detailed_ reasons why ./CONTRIBUTE (I just moved
it) is inadequate?

Not just "I prefer web pages", but _why_.

Not just "files are _so_ last century; the web is hip".

It was out of date; that's being fixed, and was not mentioned as a
problem anyway.

> Perhaps I shouldn't have characterized that as "resistance"; it's more
> "active promotion of a sub-optimal thing as though it were perfectly
> fine, with implied demotion of better things that could replace it".

I have given reasons why local files in git are better than web pages;
please explain your reasons.

-- 
-- Stephe



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

* Re: More metaproblem
  2014-12-05 18:56                         ` Eric S. Raymond
  2014-12-05 20:11                           ` Eli Zaretskii
@ 2014-12-06  9:41                           ` Stephen Leake
  1 sibling, 0 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-06  9:41 UTC (permalink / raw)
  To: emacs-devel

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

> Glenn Morris <rgm@gnu.org>:
>> Karl Fogs wrote:
>> 
>> > That site & page are maintained by the FSF -- they're not in the Emacs
>> > tree anywhere.  In other words, whatever the procedures are for
>> > improving the Emacs home page (and creating a developer welcome page),
>> > they are completely different from the procedures for improving the
>> > Emacs code.  So, yay, now I have to learn *two* contribution paths.
>> 
>> The http://www.gnu.org/software/emacs/ Emacs web pages are maintained in
>> CVS.
>
> Oh, holy jumping *fuck*.

-10

Please be more polite.

I'm happy to use CVS as a web publishing platform. As the text you
did not quote said, it is _not_ being used as a CM system.

> And you still wonder why you can't get more help maintaining them?

I have not seen anyone refuse to help maintain them, for any reason.


> CVS, like
> Texinfo and far too many of this project's inheritances from ancient
> times, is a gigantic neon sign that says to new developers WE *LIVE*
> TO INFLICT PROCESS PAIN ON YOU.

No, just that we have limited resources, and there's no reason to change
what ain't broke.

Learning how to publish via CVS is no harder than learning how to
publish by any other means.

> Well, at least I can partly fix this. I'll get with Bob Proulx about
> converting the repo.  

Thanks for volunteering.

> Eventually it should almost certainly move into the source tree, but
> that's pending the big redesign of our documentation structure.

There are legitimate reasons to have separate FSF and Emacs web pages,
so I'm not sure which ones you are talking about here.

-- 
-- Stephe



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

* Re: Metaproblem, part 3
  2014-12-06  8:29                         ` Eric Abrahamsen
@ 2014-12-06 10:11                           ` Eli Zaretskii
  2014-12-06 10:40                             ` Eric Abrahamsen
  2014-12-06 11:04                           ` David Kastrup
  2014-12-06 14:18                           ` Stephen J. Turnbull
  2 siblings, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-06 10:11 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: emacs-devel

> From: Eric Abrahamsen <eric@ericabrahamsen.net>
> Date: Sat, 06 Dec 2014 16:29:40 +0800
> 
> The only reason I chimed in is because I'm one of those who would love
> to contribute more substantially, but needs guidance. For example, I've
> got the basics of an epub-editing mode in place. I'd like it to be a
> solid library, and would likely need assistance to get it there.

Please feel free to ask your questions.  My suggestion would be to ask
here if the questions are general enough and not related to any
specific code.  Once you get to the stage where you have something
working that you aren't ashamed to publish, I suggest to submit it as
a patch to the bug tracker, and ask for review and specific advice
there.

TIA



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

* Re: More metaproblem
  2014-12-06  5:17                     ` Stephen J. Turnbull
@ 2014-12-06 10:17                       ` David Kastrup
  2014-12-06 16:45                         ` Drew Adams
  2014-12-06 10:30                       ` Stephen Leake
  1 sibling, 1 reply; 249+ messages in thread
From: David Kastrup @ 2014-12-06 10:17 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Phillip Lord writes:
>
>  > > make it easy for new developers to come on board:
>  > >
>  > >   http://subversion.apache.org/contributing.html
>  > >   http://www.libreoffice.org/community/developers/
>
>  > A nicer example is here...
>  > 
>  > http://orgmode.org/
>  > http://orgmode.org/worg/org-contribute.html
>
> None of those examples are particularly relevant.  Emacs, despite
> appearances, is not an app.  Rather, it is a platform.  And it is in
> the forefront of the free software movement, which at least the first
> two of those projects cannot claim.
>
> Emacs's requirements for contribution, therefore, are likely to be
> rather different.

LilyPond has a whole "Contributor's Guide"
<URL:http://lilypond.org/doc/v2.19/Documentation/contributor/>, of
course written in Texinfo like all of the documentation.  Contributing
to the documentation is covered in
<URL:http://lilypond.org/doc/v2.19/Documentation/contributor/documentation-work>.
This includes a primer of the basic Texinfo commands used in its
documentation.

-- 
David Kastrup




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

* Re: More metaproblem
  2014-12-05 17:34                     ` Karl Fogel
  2014-12-05 17:40                       ` Lars Magne Ingebrigtsen
  2014-12-05 18:04                       ` More metaproblem Eric S. Raymond
@ 2014-12-06 10:19                       ` Stephen Leake
  2 siblings, 0 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-06 10:19 UTC (permalink / raw)
  To: emacs-devel

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

> There needs to be place where a developer *who has not yet decided to
> contribute to Emacs* can land and quickly get an impression of how much
> work is involved, and what the nature of that work is.

The _first_ thing I do when considering a project is to download the
source code, and browse thru it. That tells me a lot about the culture,
and whether I could stand to edit the code.

The only things I get from project web pages are a sense of how many
developers there are, how involved they are, how long the project has
been around, what language and what CM system are used.

The mailing list archive and bug tracker are good sources of
information on the first few items.

Other information on a typical project web page is aimed at people who
might _use_ the project (ie a user guide/manual), as opposed to
contribute to it.

> If that impression is only available from a place like etc/CONTRIBUTE,
> then we're effectively asking people to have made that decision before
> they've gotten the information they need to be able to make it.

Having just edited CONTRIBUTE, I must disagree.

The sort of details that are in CONTRIBUTE are things that I would only
worry about _after_ I had decided to work on a project, based on the
above browse thru the code.

There is a brief list "things you can work on other than code"; it's
pretty standard, but it would make sense to have that on a prominent web
page. 

CONTRIBUTE mostly talks about Changelog formats and how to use git;
minor details (but frustrating when you don't know them).

I was put off by bzr; but the information about which CM system Emacs
uses is on the main Savannah web page, so there's no need to consult
CONTRIBUTE for that.

> It can be maintained in the Emacs tree, but it needs to be published in
> a Web-standard way outside that tree (i.e., browsing to it in the
> web-based git repository browser would be a poor user experience).

A direct link to CONTRIBUTE in the web-based repository browser would be
a good thing for the Savanah web page. Since CONTRIBUTE now
references the wiki, along with several other sources of information, it
might make sense that it be starting point.

Hmm. It would be nice if the web links in CONTRIBUTE were presented by
a non-Emacs browser as clickable links in that case. Currently, you
have to copy and paste to the address bar.

Of course, if you browse the web in Emacs, or just read the text file in
Emacs, they _are_ clickable!

So perhpas the first line of CONTRIBUTE should be "This file is best
read in Emacs" :).

But it's probably best to keep the wiki as the primary reference from
the Savannah web page, and have it explain about CONTRIBUTE.

I'll work on the wiki next, but it's much more of a mess than
admin/notes/*

Which is a big reason I prefer files in the repository over a wiki; the
repository is kept much cleaner, because people review it.

>>Emacs was around long before "web pages". It has been slow to embrace
>>web pages, because it already has a culture that works well without
>>them.
>>
>>Perhaps that needs to change to attract new blood, but I'm not sure.
>>Emacs has a _very_ different feel than "typical" development
>>environments; using a unique development environment for creating Emacs
>>can ensure that is maintained.
>
> Even people who use Emacs for almost everything rarely use it as their
> primary web browser.  A few do, but most don't.  As I think across all
> the Emacs-first developers I know -- people like me who use Emacs as
> their shell, as their mailreader, as their primary development
> environment, as their primary text composition, and as their organizer
> via Org Mode -- they still use a dedicated browser like Firefox for
> browsing the web.

True (I use Emacs as you do). But I don't see how that addresses the
question of where the information in CONTRIBUTE should reside.

> So for information that people typically expect to be on the Web, such
> as developer guidelines for contributing to a free software project,
> we'll be better off putting that on the Web.  

Every free software project I've worked on has the "how to use our CM
system" info in a file in the CM repository, not on the web. (that
includes monotone, emacs, opentoken, dvc).

So apparently we have very different experiences, or we are 
talking about different information.

> Because the people who need to read it the most, the people who are
> the most important to us -- proficient Emacs users who are
> *considering* becoming contributors but who have not decided yet --
> will expect to find it on the Web anyway, and will most likely first
> read it in an environment other than Emacs.

People who write elisp for Emacs must be used to reading the elisp
source.

That doesn't mean they have the repository checked out; the "binary"
install includes the elisp source, but not the full source tree.

Many people who use Emacs compile it from the release tarball, to get
the latest release.

For others, it's a pretty small step to either unpack the release
tarball or checkout the git repository.

So I don't see a significant barrier here.

> One solution would be to write those docs in (say) Markdown and
> autogenerate the HTML pages, so that reading them and editing them in
> Emacs is easy, but we still get HTML for the web site.

I would not mind doing that (that's how it works in monotone), but I
don't see how that addresses the original problem, which was that
several people who were contributing were unaware of the documentation
on the processes.

And it definitely takes resources to support; the machinery that does
this in monotone breaks occasionally.

-- 
-- Stephe



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

* Re: More metaproblem
  2014-12-06  9:27                           ` Stephen Leake
@ 2014-12-06 10:20                             ` Eli Zaretskii
  2014-12-06 11:41                             ` Eric S. Raymond
  1 sibling, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-06 10:20 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

> From: Stephen Leake <stephen_leake@stephe-leake.org>
> Date: Sat, 06 Dec 2014 03:27:10 -0600
> 
> Can you please give _detailed_ reasons why ./CONTRIBUTE (I just moved
> it) is inadequate?
> 
> Not just "I prefer web pages", but _why_.
> 
> Not just "files are _so_ last century; the web is hip".

Seconded.

More importantly, with the Emacs repository being a publicly
accessible place on the Web, CONTRIBUTE should already appear in every
Google search, and so can be considered to be a "Web page" for all
practical purposes, at least as far as discoverability and exposure
are considered.



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

* Re: More metaproblem
  2014-12-06  5:17                     ` Stephen J. Turnbull
  2014-12-06 10:17                       ` David Kastrup
@ 2014-12-06 10:30                       ` Stephen Leake
  1 sibling, 0 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-06 10:30 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Phillip Lord writes:
>
>  > > make it easy for new developers to come on board:
>  > >
>  > >   http://subversion.apache.org/contributing.html
>  > >   http://www.libreoffice.org/community/developers/
>
>  > A nicer example is here...
>  > 
>  > http://orgmode.org/
>  > http://orgmode.org/worg/org-contribute.html
>
> None of those examples are particularly relevant.  Emacs, despite
> appearances, is not an app.  Rather, it is a platform.  And it is in
> the forefront of the free software movement, which at least the first
> two of those projects cannot claim.
>
> Emacs's requirements for contribution, therefore, are likely to be
> rather different.

+2

-- 
-- Stephe



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

* Re: Metaproblem, part 3
  2014-12-06 10:11                           ` Eli Zaretskii
@ 2014-12-06 10:40                             ` Eric Abrahamsen
  2014-12-06 10:47                               ` Eli Zaretskii
  0 siblings, 1 reply; 249+ messages in thread
From: Eric Abrahamsen @ 2014-12-06 10:40 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Eric Abrahamsen <eric@ericabrahamsen.net>
>> Date: Sat, 06 Dec 2014 16:29:40 +0800
>> 
>> The only reason I chimed in is because I'm one of those who would love
>> to contribute more substantially, but needs guidance. For example, I've
>> got the basics of an epub-editing mode in place. I'd like it to be a
>> solid library, and would likely need assistance to get it there.
>
> Please feel free to ask your questions.  My suggestion would be to ask
> here if the questions are general enough and not related to any
> specific code.  Once you get to the stage where you have something
> working that you aren't ashamed to publish, I suggest to submit it as
> a patch to the bug tracker, and ask for review and specific advice
> there.

That's good guidance, actually -- general questions to the list,
code-specific questions to the bug tracker.

I'm imagining this package as destined for ELPA (no real reason, it just
seems to fit there). Is the bug tracker an appropriate place to discuss
external packages?

E




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

* Re: the Emacs wiki
  2014-12-05  7:55                         ` Aurélien Aptel
  2014-12-05  8:44                           ` Eli Zaretskii
@ 2014-12-06 10:41                           ` Stephen Leake
  2014-12-06 10:58                             ` Eli Zaretskii
  2014-12-06 21:28                             ` Nic Ferrier
  1 sibling, 2 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-06 10:41 UTC (permalink / raw)
  To: emacs-devel

Aurélien Aptel <aurelien.aptel@gmail.com> writes:

> Concerning the new developer resources and architectural complexity:
> there's the HackerGuide buried on the wiki which could be improved and get
> more exposition.

It starts with "Bazaar".

Most of the rest is better done in (info "(elisp)Top").

So I'd much rather _delete_ that page, and add a reference to CONTRIBUTE
to http://www.emacswiki.org/emacs/GitForEmacsDevs. CONTRIBUTE in turn
references the elisp manual.



What is the intended process for maintaining the wiki?

Suppose I want to clean up all references to Bazaar, and make sure the
wiki presents a clear and consistent picture of the Emacs development
process?

I can easily do that in ./CONTRIBUTE, because it will be reviewed by the
other Emacs developers.

Finding things in the wiki is a nightmare. Maintaining them is worse.

I don't mind maintaining one or two wiki pages, as long as they are referenced
from CONTRIBUTE as important web pages. That's my concession to the "we must
use the web" bandwagon. Anything more than that is unmaintainable.

It would make more sense if there was a higher-level wiki page that was
well maintained, that talked more about Emacs in general, not just how
to use git.

-- 
-- Stephe



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

* Re: Metaproblem, part 3
  2014-12-06 10:40                             ` Eric Abrahamsen
@ 2014-12-06 10:47                               ` Eli Zaretskii
  0 siblings, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-06 10:47 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: emacs-devel

> From: Eric Abrahamsen <eric@ericabrahamsen.net>
> Date: Sat, 06 Dec 2014 18:40:02 +0800
> 
> Is the bug tracker an appropriate place to discuss external
> packages?

I see no reason why not, but please wait for Glenn and/or Stefan to
reply.



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

* Re: Metaproblem, part 3
  2014-12-06  5:45                       ` Stephen J. Turnbull
  2014-12-06  6:18                         ` Eric S. Raymond
  2014-12-06  8:29                         ` Eric Abrahamsen
@ 2014-12-06 10:51                         ` David Kastrup
  2014-12-07  9:19                           ` Richard Stallman
  2 siblings, 1 reply; 249+ messages in thread
From: David Kastrup @ 2014-12-06 10:51 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Eric Abrahamsen writes:
>
>  > It would be nice to explicitly let posters know that they can ask
>  > someone for help with implementing a feature/squashing a
>  > bug. There's lots of helpful advice here and on emacs.help, but
>  > that's not quite the same as knowing that someone has committed (to
>  > some extent) to assisting you.
>
> I see worries about "hostile" environment, and suggestions for making
> things more welcoming to new contributors.  I have to ask, what do all
> you folks who are suggesting Emacs change its procedures think is in
> it for the mentors and core developers?

Profiting increasingly from work done by others.  That's actually a bit
more of expected payback than for the usual "you developers should jump
for joy when I have a good idea for your project that just needs some
working out by code runts" offering to free projects where the resulting
mailing list threads tend to get even more level-headed developers
marked for hostility.

The previous active maintainer of LilyPond, Graham Percival, chose to
try the effectiveness of mentoring, investing a large amount of work and
effort in individual mentoring of several would-be contributors.

The outcome overall was characterized as a huge disappointment by him,
with less work being done in the time the mentored persons stayed active
than he could have done himself in the time the tutoring took.

I have seen similar results for hiring outside people for doing free
software work: the return of investment tends to be hugely
disappointing.

The main reason for that is that the people commonly working on Free
Software projects tend to be self-motivated and skilled, and their skill
level leads to a reasonable return of satisfaction from their work.

So to get more people on board, it does not seem effective helping
single persons across some barriers of entry that are actually of the
kind that will stick around and that will continue to affect the balance
of freely contributed work and the satisfaction derived from a job well
done.  Instead you have to work on lowering the barriers of entry
altogether.  For better or worse, work will only get done by people
developing a vested interest and some loyalty to a project and its goals
and community.

And it is also useful to try breaking down the barriers between users,
power users, and developers as their numbers tend to be vastly different
and so even small changes can make quite a difference.

A system has to become usable and workable without too many of the
"please look aside while I fix this using some magic incantations that
you'll never understand" moments for users asking for assistance with
the problems encountered in daily work.

Texinfo is not really a relevant hurdle for getting Emacs documentation
written.  Elisp is.  Arguably things like lexical bindings have taken
far too long to arrive (and they still aren't in XEmacs if I remember
correctly) and there is not much in direction of making the language
more placatable.  Common Lisp compatibility might be one idea for
inheriting other people's work on making Lisp a general-purpose
commodity but, uh, Common Lisp has not exactly focused on being a
concise expressive language easily embraced by its users.

At any rate, I am suspicious of any promise of free software prosperity
to come from the hands of preachers rather than workers.  The danger
that one is left with less than what one started with when the
motivational Ponzi scheme of rewiring infrastructure to the newest fad
breaks down is real.

-- 
David Kastrup




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

* Re: the Emacs wiki
  2014-12-06 10:41                           ` the Emacs wiki Stephen Leake
@ 2014-12-06 10:58                             ` Eli Zaretskii
  2014-12-06 21:28                             ` Nic Ferrier
  1 sibling, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-06 10:58 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

> From: Stephen Leake <stephen_leake@stephe-leake.org>
> Date: Sat, 06 Dec 2014 04:41:49 -0600
> 
> What is the intended process for maintaining the wiki?
> 
> Suppose I want to clean up all references to Bazaar, and make sure the
> wiki presents a clear and consistent picture of the Emacs development
> process?
> 
> I can easily do that in ./CONTRIBUTE, because it will be reviewed by the
> other Emacs developers.
> 
> Finding things in the wiki is a nightmare. Maintaining them is worse.
> 
> I don't mind maintaining one or two wiki pages, as long as they are referenced
> from CONTRIBUTE as important web pages. That's my concession to the "we must
> use the web" bandwagon. Anything more than that is unmaintainable.
> 
> It would make more sense if there was a higher-level wiki page that was
> well maintained, that talked more about Emacs in general, not just how
> to use git.

(You forgot to mention that the Wiki stuff is uncontrolled and
therefore its quality sucks.)

Wiki is a hydra you cannot cut enough heads off to make it die.  I
tried, and failed miserably.  I suggest you don't waste your efforts
and time on that.

Ideally, everything that's valuable on the Wiki should be in some
manual under doc/misc/.  But there are people out there that just
cannot be convinced, and I stopped trying.

The best we can do is to add such manuals to Emacs, maintain them to
be always up to date, and hope that the Wiki will die of natural
causes, because it falls behind.  But adding that stuff under doc/
requires a dedicated volunteer, which is hard to get by, because the
job sounds like a waste of resources (and in some sense, it really
is).

Bottom line, I suggest that we make the best effort we can to have our
documentation in this area as good as it gets, and turn a blind eye
towards the Wiki.  Then, if people come up, here or on help-gnu-emacs,
complaining that the Wiki says something that isn't correct, we could
just tell them that the Wiki isn't supported by the project, and
advise them to look at our documents instead.



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

* Re: Metaproblem, part 3
  2014-12-06  8:29                         ` Eric Abrahamsen
  2014-12-06 10:11                           ` Eli Zaretskii
@ 2014-12-06 11:04                           ` David Kastrup
  2014-12-06 12:52                             ` Ivan Shmakov
  2014-12-07  1:41                             ` Eric Abrahamsen
  2014-12-06 14:18                           ` Stephen J. Turnbull
  2 siblings, 2 replies; 249+ messages in thread
From: David Kastrup @ 2014-12-06 11:04 UTC (permalink / raw)
  To: emacs-devel

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

> "Stephen J. Turnbull" <stephen@xemacs.org> writes:
>
>> Eric Abrahamsen writes:
>>
>>  > It would be nice to explicitly let posters know that they can ask
>>  > someone for help with implementing a feature/squashing a
>>  > bug. There's lots of helpful advice here and on emacs.help, but
>>  > that's not quite the same as knowing that someone has committed
>>  > (to some extent) to assisting you.
>>
>> I see worries about "hostile" environment, and suggestions for making
>> things more welcoming to new contributors.  I have to ask, what do
>> all you folks who are suggesting Emacs change its procedures think is
>> in it for the mentors and core developers?
>
> FWIW (not much), I have never felt any hostility here or in emacs.help,
> and I'm not complaining about anything. Possibly I haven't felt it
> because I'm coming in at such a low level that no nerves are touched --
> I'm asking basic questions.

See, that's your mistake.  The first steps towards feeling hostility on
developer lists is to tell people that they are doing it all wrong but
they are lucky you came around to tell them.  There are a lot of
variations on the theme, of course.  But if you feel that a technical
mailing list as such rather than, say, an isolated person having a bad
day, act hostile, chances are that you score in that area.

> The only reason I chimed in is because I'm one of those who would love
> to contribute more substantially, but needs guidance. For example,
> I've got the basics of an epub-editing mode in place. I'd like it to
> be a solid library, and would likely need assistance to get it there.

Can you figure out what is missing and phrase it into questions?  While
there is the phenomenon that if you are asking 10 people, you'll get 20
answers, I think that for basic problems the Emacs list will not split
into so many different factions of "do it my way" that you'll get much
more confusing answers from the group of people reading this list than
you would get from a single tutor.

-- 
David Kastrup




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

* Re: More metaproblem
  2014-12-06  7:42                                     ` Eli Zaretskii
@ 2014-12-06 11:35                                       ` Eric S. Raymond
  2014-12-06 11:58                                         ` David Kastrup
  2014-12-06 12:35                                         ` Eli Zaretskii
  0 siblings, 2 replies; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-06 11:35 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: kfogel, eggert, monnier, emacs-devel

Eli Zaretskii <eliz@gnu.org>:
> I challenge you to ask and then post the results here, including
> similar results for other Free Software projects.

Wow.  You are truly a *master* of subtle obstructionism. The second
clause in that sentence was a work of art, leaving you wiggle room to
disregard any survey numbers I might to bring back on grounds of
insufficient breadth of sample. And camouflaging this maneuver as an
appeal to scientific objectivity - genius, sheer genius!

Why, if I were a more naive person, I might have immediately gone
beavering off to #emacs, collected several hundred expressions of
frustration, and brought them back here only to have them
high-handedly dismissed.

That general tactic of "I will disregard you until you put in
an amount of work I have pre-defined to be effectively impossible",
yes. An old favorite on this list, a hardy perennial.  Very effective
for resisting any kind of innovation.

This is how Emacs dies.  Not with a bang, but with a whimper.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: More metaproblem
  2014-12-06  9:27                           ` Stephen Leake
  2014-12-06 10:20                             ` Eli Zaretskii
@ 2014-12-06 11:41                             ` Eric S. Raymond
  2014-12-06 12:37                               ` Eli Zaretskii
  1 sibling, 1 reply; 249+ messages in thread
From: Eric S. Raymond @ 2014-12-06 11:41 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

Stephen Leake <stephen_leake@stephe-leake.org>:
> Karl Fogel <kfogel@red-bean.com> writes:
> 
> > The barrier to the documentation change is when people see senior devs
> > pointing to etc/CONTRIBUTE as a fine place for dev documentation and
> > think "Oh, so the project thinks that's okay?  They point to that as a
> > solution, rather than as a problem?  I guess I'm in the wrong place."
> 
> I have not seen anyone (other than you) state this.

Potential developers look at things like this and they see a project
that has learned nothing and forgotten nothing since before 1996.

No one thing like this is a dealbreaker for any single person. It's
the accumulation of such details that acts as a KEEP OUT sign.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



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

* Re: More metaproblem
  2014-12-06 11:35                                       ` Eric S. Raymond
@ 2014-12-06 11:58                                         ` David Kastrup
  2014-12-06 12:35                                         ` Eli Zaretskii
  1 sibling, 0 replies; 249+ messages in thread
From: David Kastrup @ 2014-12-06 11:58 UTC (permalink / raw)
  To: emacs-devel

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

> Eli Zaretskii <eliz@gnu.org>:
>> I challenge you to ask and then post the results here, including
>> similar results for other Free Software projects.
>
> Wow.  You are truly a *master* of subtle obstructionism. The second
> clause in that sentence was a work of art, leaving you wiggle room to
> disregard any survey numbers I might to bring back on grounds of
> insufficient breadth of sample. And camouflaging this maneuver as an
> appeal to scientific objectivity - genius, sheer genius!
>
> Why, if I were a more naive person, I might have immediately gone
> beavering off to #emacs, collected several hundred expressions of
> frustration, and brought them back here only to have them
> high-handedly dismissed.
>
> That general tactic of "I will disregard you until you put in an
> amount of work I have pre-defined to be effectively impossible",
> yes. An old favorite on this list, a hardy perennial.  Very effective
> for resisting any kind of innovation.
>
> This is how Emacs dies.  Not with a bang, but with a whimper.

More like the way in which this thread dies.  In a large billow of
smokescreen masking a non-glamorous exit.

Let me quote Lichtenberg: "Ein Buch ist ein Spiegel: wenn ein Affe
hineinsieht, so kann kein Apostel herausgucken." (a book is a mirror:
when a monkey gazes into it, no apostle will be looking back from it).

You'll find that this aphorism is somewhat applicable to the hostility
of mailing lists.

-- 
David Kastrup




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

* Re: More metaproblem
  2014-12-05 17:40                       ` Lars Magne Ingebrigtsen
  2014-12-05 17:54                         ` Karl Fogel
@ 2014-12-06 12:04                         ` Richard Stallman
  2014-12-06 18:56                           ` publicizing Emacs contribute Stephen Leake
  1 sibling, 1 reply; 249+ messages in thread
From: Richard Stallman @ 2014-12-06 12:04 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: kfogel, stephen_leake, 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. ]]]

  > Contributing small patches to Emacs is easy.  You report a bug, include
  > the patch, and someone will look at it.

Perhaps we should present this information prominently in places
people will see 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] 249+ messages in thread

* Re: More metaproblem
  2014-12-06 11:35                                       ` Eric S. Raymond
  2014-12-06 11:58                                         ` David Kastrup
@ 2014-12-06 12:35                                         ` Eli Zaretskii
  2014-12-06 14:10                                           ` Werner LEMBERG
  1 sibling, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-06 12:35 UTC (permalink / raw)
  To: esr; +Cc: kfogel, eggert, monnier, emacs-devel

> Date: Sat, 6 Dec 2014 06:35:57 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: kfogel@red-bean.com, eggert@cs.ucla.edu, monnier@iro.umontreal.ca,
> 	emacs-devel@gnu.org
> 
> Eli Zaretskii <eliz@gnu.org>:
> > I challenge you to ask and then post the results here, including
> > similar results for other Free Software projects.
> 
> Wow.  You are truly a *master* of subtle obstructionism. The second
> clause in that sentence was a work of art, leaving you wiggle room to
> disregard any survey numbers I might to bring back on grounds of
> insufficient breadth of sample.

I didn't say anything about the sample size.  Please don't put words
in my mouth, I'm perfectly capable of expressing my intent myself.

All I asked for is to compare whatever level of dissatisfaction you
find on a feed which I never visit to something similar for other
projects.  I've seen enough talkback forums to know that the level of
flames there could be utterly unrelated to reality.

> And camouflaging this maneuver as an appeal to scientific
> objectivity - genius, sheer genius!
> 
> Why, if I were a more naive person, I might have immediately gone
> beavering off to #emacs, collected several hundred expressions of
> frustration, and brought them back here only to have them
> high-handedly dismissed.

What's to prevent me from interpreting this as a camouflaged attempt
to get off your high horse, because you have no real data to back up
your claims?

> That general tactic of "I will disregard you until you put in
> an amount of work I have pre-defined to be effectively impossible",
> yes. An old favorite on this list, a hardy perennial.  Very effective
> for resisting any kind of innovation.

The tactic to invent non-existing intentions to your opponents and
then label those inventions with derogatory labels is also
well-known.  Not very effective here, but known.

> This is how Emacs dies.  Not with a bang, but with a whimper.

Emacs doesn't die.  Look at the commit rate, if you really want to do
an objective analysis.  Not many live projects can compare with what
we have.



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

* Re: More metaproblem
  2014-12-06 11:41                             ` Eric S. Raymond
@ 2014-12-06 12:37                               ` Eli Zaretskii
  2014-12-06 13:16                                 ` David Kastrup
  0 siblings, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-06 12:37 UTC (permalink / raw)
  To: esr; +Cc: stephen_leake, emacs-devel

> Date: Sat, 6 Dec 2014 06:41:47 -0500
> From: "Eric S. Raymond" <esr@thyrsus.com>
> Cc: emacs-devel@gnu.org
> 
> > > The barrier to the documentation change is when people see senior devs
> > > pointing to etc/CONTRIBUTE as a fine place for dev documentation and
> > > think "Oh, so the project thinks that's okay?  They point to that as a
> > > solution, rather than as a problem?  I guess I'm in the wrong place."
> > 
> > I have not seen anyone (other than you) state this.
> 
> Potential developers look at things like this and they see a project
> that has learned nothing and forgotten nothing since before 1996.
> 
> No one thing like this is a dealbreaker for any single person. It's
> the accumulation of such details that acts as a KEEP OUT sign.

Slogans.  No real data to support that.



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

* Re: Metaproblem, part 3
  2014-12-06 11:04                           ` David Kastrup
@ 2014-12-06 12:52                             ` Ivan Shmakov
  2014-12-07  1:41                             ` Eric Abrahamsen
  1 sibling, 0 replies; 249+ messages in thread
From: Ivan Shmakov @ 2014-12-06 12:52 UTC (permalink / raw)
  To: emacs-devel

>>>>> David Kastrup <dak@gnu.org> writes:
>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:

[…]

 >> The only reason I chimed in is because I'm one of those who would
 >> love to contribute more substantially, but needs guidance.  For
 >> example, I've got the basics of an epub-editing mode in place.  I'd
 >> like it to be a solid library, and would likely need assistance to
 >> get it there.

 > Can you figure out what is missing and phrase it into questions?
 > While there is the phenomenon that if you are asking 10 people,
 > you'll get 20 answers, I think that for basic problems the Emacs list
 > will not split into so many different factions of "do it my way" that
 > you'll get much more confusing answers from the group of people
 > reading this list than you would get from a single tutor.

	Furthermore, that’s where the discrepancy between vocality and
	productivity (so to say) may come to be an issue.

	My personal approach to the “how should I do this?” problem is
	to read the existing code.  (Literacy is gained first and
	foremost by reading, – not writing; computer literacy isn’t all
	that different.)  Hence, when I have an idea for which I could
	readily think of several implementations, my better question
	would be not “what of the following should I choose?” but rather
	“I want to do X; could you please point me to the existing code
	that does something like that?”

	And there, the more of the code I’ll be pointed to, and the more
	of that I’ll read through, the more informed my choice will be.

-- 
FSF associate member #7257  http://boycottsystemd.org/  … 3013 B6A0 230E 334A



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

* Re: More metaproblem
  2014-12-06 12:37                               ` Eli Zaretskii
@ 2014-12-06 13:16                                 ` David Kastrup
  2014-12-06 14:22                                   ` Eli Zaretskii
  0 siblings, 1 reply; 249+ messages in thread
From: David Kastrup @ 2014-12-06 13:16 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Sat, 6 Dec 2014 06:41:47 -0500
>> From: "Eric S. Raymond" <esr@thyrsus.com>
>> Cc: emacs-devel@gnu.org
>> 
>> > > The barrier to the documentation change is when people see senior devs
>> > > pointing to etc/CONTRIBUTE as a fine place for dev documentation and
>> > > think "Oh, so the project thinks that's okay?  They point to that as a
>> > > solution, rather than as a problem?  I guess I'm in the wrong place."
>> > 
>> > I have not seen anyone (other than you) state this.
>> 
>> Potential developers look at things like this and they see a project
>> that has learned nothing and forgotten nothing since before 1996.
>> 
>> No one thing like this is a dealbreaker for any single person. It's
>> the accumulation of such details that acts as a KEEP OUT sign.
>
> Slogans.  No real data to support that.

It's an impression.  That is real data.  It's not like we have anything
better to offer: even being able to point to projects that have a
not-just-for-old-fogies web presence (by the way, anybody who can point
to some significant project maintaining its web pages in AsciiDoc?) is
anecdotal evidence since that does not detail the work that needs to get
invested to get to a similar level starting from the current situation
of Emacs.  And it does nothing to figure out how hard it is to recruit
the people actually doing the work.

However, we are not going to come to a useful discussion when people
assume that the only reason other people may come to different
conclusions is because they are mentally inferior even while
acknowledging that one has not even bothered looking at the data they
suggested as supporting their conclusions.

In that case, there is simply no base for consensus since consensus
implies agreement about the same things.  Which is different from
electing a leader in the expectation that he will get himself educated
in due time for making or following through with decisions, or shoulder
the consequences.

In this case, this approach is simply not an option since the
consequences can't be borne out by a single person.  It's just too much
work for that approach.

There is, if at all, a shortage of workers rather than of saviors.

-- 
David Kastrup




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

* Re: More metaproblem
  2014-12-06 12:35                                         ` Eli Zaretskii
@ 2014-12-06 14:10                                           ` Werner LEMBERG
  0 siblings, 0 replies; 249+ messages in thread
From: Werner LEMBERG @ 2014-12-06 14:10 UTC (permalink / raw)
  To: eliz; +Cc: esr, kfogel, eggert, monnier, emacs-devel


>> Wow.  You are truly a *master* of subtle obstructionism.  [...]
> 
> The tactic to invent non-existing intentions to your opponents and
> then label those inventions with derogatory labels is also
> well-known.  [...]

I strongly suggest that you two read a translation of Schopenhauer's
`Eristische Dialektik' (`The Art of Being Right: 38 Ways to Win an
Argument', 1831)...


    Werner



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

* Re: Metaproblem, part 3
  2014-12-06  8:29                         ` Eric Abrahamsen
  2014-12-06 10:11                           ` Eli Zaretskii
  2014-12-06 11:04                           ` David Kastrup
@ 2014-12-06 14:18                           ` Stephen J. Turnbull
  2014-12-07  1:38                             ` Eric Abrahamsen
  2 siblings, 1 reply; 249+ messages in thread
From: Stephen J. Turnbull @ 2014-12-06 14:18 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: emacs-devel

Eric Abrahamsen writes:

 > The only reason I chimed in

I need to get my finger off the "F" key.  I should have replied to
somebody else, as you definitely did not claim hostility on anybody's
part.  My apologies.

 > is because I'm one of those who would love to contribute more
 > substantially, but needs guidance. For example, I've got the basics
 > of an epub-editing mode in place. I'd like it to be a solid
 > library, and would likely need assistance to get it there.

Sure, and you'll find plenty of willing assistance once you figure out
how to ask for it.  Or you could just submit your code. :-) The people
you see posting here day-in-and-day-out will help you and *not* drop
the ball when they get bored.  Some more than others, of course, and
more at some times than others.

 > What's in it for the mentors and core developers is that, a few years
 > from now, I'd like to be making larger contributions to the Emacs core.
 > Mentoring would help me get there.

Sure.  My experience is that that works best with somebody who is, as
you are, already somewhat committed to the project.  But as a couple
people pointed out, mentoring anybody who comes in is not a profitable
strategy for adding core contributors (my definition is pretty broad,
that's anybody with some track record, who hangs out on project
channels, and who proposes to make "larger" contributions (plural) in
the future -- so the contributor you hope to be would be a core
contributor in my book).  That doesn't mean nobody will mentor you,
just that they'll do it at first for other reasons (not to forget that
it's a good way to sound out the actual intentions of the prospective
contributor).

Steve




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

* Re: More metaproblem
  2014-12-06 13:16                                 ` David Kastrup
@ 2014-12-06 14:22                                   ` Eli Zaretskii
  0 siblings, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-06 14:22 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

> From: David Kastrup <dak@gnu.org>
> Date: Sat, 06 Dec 2014 14:16:16 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Potential developers look at things like this and they see a project
> >> that has learned nothing and forgotten nothing since before 1996.
> >> 
> >> No one thing like this is a dealbreaker for any single person. It's
> >> the accumulation of such details that acts as a KEEP OUT sign.
> >
> > Slogans.  No real data to support that.
> 
> It's an impression.  That is real data.

I agree, but even that needs _some_ evidence.  Like a couple of blogs
or large postings (excluding the person who makes the claim), or some
article in some on-line journal, that show this tendency or express
similar views.  Coming up with this without _any_ evidence is not
serious.

> It's not like we have anything better to offer

We could analyze the hit rate of the project's Web pages, and see if
they diminish over the years, for example.  Or try looking for similar
claims and see  how many of them we had in the past.



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

* Re: Metaproblem, part 3
  2014-12-06  6:18                         ` Eric S. Raymond
  2014-12-06  8:01                           ` Eli Zaretskii
@ 2014-12-06 16:32                           ` Stephen J. Turnbull
  1 sibling, 0 replies; 249+ messages in thread
From: Stephen J. Turnbull @ 2014-12-06 16:32 UTC (permalink / raw)
  To: esr; +Cc: emacs-devel

Eric S. Raymond writes:
 > Stephen J. Turnbull <stephen@xemacs.org>:

 > > I see worries about "hostile" environment, and suggestions for
 > > making things more welcoming to new contributors.  I have to ask,
 > > what do all you folks who are suggesting Emacs change its
 > > procedures think is in it for the mentors and core developers?
 > 
 > A future for Emacs.

Nonsense.  Emacs surely has a future (!= "oblivion").  You want a
*different* future for Emacs than the one it's heading toward now.

My question is what is *that* future, and what's in it for the current
crew of developers?

 > I'm trying to get the project moving in a direction that will lower
 > barriers to entry and attract new developers

That would be nice, as long as they are able to contribute at the
level of coherence with existing facilities and the level of quality
demanded of a platform.  It's not obvious to me that the kinds of
changes you're insisting on will attract the kind of developer that
I believe Emacs needs.  OTOH, it might chase some of the ones it has
already into early retirement.

And note well: I'm not sure you meant it the way it sounds, but lower
barriers to entry don't attract entry.  Expected profits do.
Contributing to Emacs *is* like contributing to an OS kernel, or to a
production-quality language translator, or a debugger, or a security
library.  High quality is demanded, and a large fraction of
submissions require substantial rewrites and often design changes to
be acceptable.  That drives the cost for drive-bys way up (not to
mention a bit for the reviewers).

 > because I'm seriously concerned that without such changes Emacs
 > will ossify and dwindle into irrelevance.

I don't see ossification, nor do I expect it, and I'm not sure why you
do.  Nor can irrelevance be remedied by drive-by contributors.

I think you're likely making the same mistake that economic pundits
have made repeatedly concerning the decline of the US economy.  Emacs
development is very resilient, just as American industry has been.[1]

I'll also mention another analogy: note that many of the same business
practices that Japan has made famous have been of no help when grafted
into foreign firms, at least as the Japanese do them.  Sometimes they
were doomed to failure because they required ripping the organization
apart to fit it into the Japanese mold, and in other cases they
required careful adaptation to U.S. and European contexts.

Moral: I see no hurry to fix what could be better, but ain't yet
broke.  "To everything there is a season."  This season was git's.
It's time to rest on your laurels for a while.  Emacs will still be
here when you're again ready for it, and it for you. ;-)

 > There are many things I would rather be doing than having the kinds
 > of arguments this aim will inecitably land me in.

It's hardly inevitable that there be arguments about doing the things
being proposed here.  What makes the arguments inevitable is you want
to do them now, directly changing the current infrastructure (which
necessarily interferes with the work of the core developers), and with
promises of acceptance etc.

Karl wants to put the new "contributor docs" in www/ under source.
Why not create a subproject with a modern workflow (and modern
infrastructure)?  That might not be a good answer in other projects,
but it deserves consideration in Emacs because Emacs has a long
history of successful decentralized subprojects.  Savannah would host
them, I'm sure, in git.  You can use the existing emacs-devel list or
a new list (also GNU-hosted).  I don't know about tracker
infrastructure, but surely between the two of you you can scare up a
proof-of-concept host.

You want to move away from Texinfo.  The issue there IMHO is that all
of the HTML docs (even Sphinx) are beat by Info because (1) the
navigation tools provided are poor and nonstandard except for
hyperlinks (most important), (2) HTML is ugly in Emacs and therefore
requires starting up a browser (hardly agile and changes focus, as
well as affecting my browsing reflexes), and (3) they lack good
indexes (the indicies generated by Texinfo at
https://www.gnu.org/software/emacs/manual/html_node/emacs/ are better
than nothing, but hardly great).  On top of that, conversion of the
doc tree will be a large effort.  Why fix what really ain't broke?
It's not important that your opinion differs from mine -- what matters
is that an awful lot of people agree with me that the only immediately
available direction from the current doc system is *down*.

But OK, reasonable people might say Emacs doc system is broke.  So
port the Elisp manual to your proposed efficient and beautiful source
format, and demonstrate satisfactory navigation tools for several
target formats and an excellent target format that runs in Emacs, and
you'll have a *lot* of support and *much* less resistence.  And guess
what?  You can do this in a separate branch too, and the same
considerations as for the new website apply.  Of course the format
change will make merging changes between the branch and the mainline a
pain in the interim, but if it's not worth that small amount of pain,
I have to question the need for the whole project.

The issue tracker is a different dimension.  There are big gains
possible there, but yes, as somebody complained, *all* of the effort
needs to come from outside the maintainer group -- who are a key
constituency for a tracker.  The maintainers are definitely going to
suffer severe disruption in their time allocation (due to requirements
specification before the switch, and changes in workflow after) and in
their workflow post-switch.

For all of the above, build it and they will come, I'm pretty sure --
your time won't be wasted.  But ask them to do much of the work, or
buy a pig in a poke -- you'll get resistence.

The Emacs development community is in a box and not realizing its
potential, I'll admit, and out-of-the-box thinking is needed.  What
you and Karl are missing is that the projects on which you base your
New Conventional Wisdom are in their own box, and the thinking Emacs
needs is, IMHO, outside of *that* box too!

 > But I think it's important enough that I'm here.

<rant>
If you think it's that important, you'll stifle yourself and address
the single most important issue, which is making the population of
potential reviewers and mentors of the fresh blood happy with your
changes.  Those are the current core devs and maintainers.
</rant>

You say, "you build it and they (the fresh blood) will come".  My
guess is a trickle -- Lisp, let alone Emacs Lisp, is a barrier, as is
the collection of (by modern standards) crufty old coding idioms in C.
Again, I say "you (Eric and Karl) build it and they (the existing core
and maintainership) will come."  That's a no-brainer because they're
already here, aren't going anywhere, and your new infrastructure is
going to be as good as you say, right?  Anything *that* good, the
maintainers will notice![2]

"Even in Emacs"[sic], there is no shortage of drive-by contributors.
But Emacs Lisp is more than an "extension language"; along with Emacs
itself it is a complete application development and runtime support
platform.  What Emacs core needs, far more so than org-mode or "Battle
for Wesnoth" or even Subversion does, is developers who have a pretty
good knowledge of a fair slice of the code base and deep knowledge of
some piece of it, to be to able review and mentor others, as well as
to keep the code base sane.[3]  Of course, such developers must be
completely ignorant of Emacs at some point in their lives!  But to
bring them up to speed in reasonable time requires not only mentoring,
but dedicated unsexy study and repeated submission to correction on
the part of the wannabe core developer.  If Texinfo and debbugs scare
someone away, I doubt they were core material in the first place.
(That's not saying at least a better website and bug tracker aren't
obviously good ideas, just that I doubt they'll have that much effect
on new blood, and if not the impact on maintainers had better be
minimal.)


Footnotes: 
[1]  And yes, there are real problems, in both Emacs and the American
economy.  But no need to ask for Last Rites for either.

[2]  And no, they don't have to be fools to fail to see how wonderful
it will be.  They just have to be not-you.  I don't see it either, and
I work with a lot of the tools you espouse.

[3]  That's why the "bias" that Karl noticed in Eli's list of projects
whose practices are similar to Emacs's probably means that they are an
appropriate peer group for comparison, rather than a sample hopelessly
unrepresentative of best current practice.




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

* RE: More metaproblem
  2014-12-06  9:19                       ` More metaproblem Stephen Leake
@ 2014-12-06 16:44                         ` Drew Adams
  2014-12-06 18:41                           ` Stephen Leake
  0 siblings, 1 reply; 249+ messages in thread
From: Drew Adams @ 2014-12-06 16:44 UTC (permalink / raw)
  To: Stephen Leake, emacs-devel

> Whenever someone on this list says "please follow the standard",
> they should _also_ mention ./CONTRIBUTORS, or one of the more
> detailed files in admin/notes. That will get people used to
> refering to those files, raise awareness of them, and encourage
> people to keep them up to date.

Yes.

That's the same kind of thing we do for user questions about
Emacs Lisp coding conventions etc.: (a) answer the question,
but also (b) refer them to the relevant doc about it in the
manuals.

Would it hurt to put the information you refer to, which is
aimed at Emacs contributors, into the Emacs manual, as a
separate section?  A priori, that makes sense to me, but then
I don't see a logical separation between Emacs users and Emacs
contributors anyway.

IMO, it does not matter whether such info is detailed, boring,
internal stuff.  It would still be good to move it from other
files to the official doc, and give it the proper love that
such doc requires.

I think that doing this might have these benefits:

1. Put more of an accent on it, for everyone.  The content
   and form would need to be clear and complete, and kept
   up to date, but that should be the case anyway.

2. Let users know that they can contribute, and just
   what's involved (yes, in detail).

3. Encourage people to reference it, as they do now for
   questions about key-binding conventions etc.

And I do mean "move", not copy.  There should be a single
place where such info resides and is kept up to date.  My
thought is that that place should be the Emacs manual.

Just a thought.  Disclaimer: I'm not familiar with the
info I'm conjecturing about.  It just sounds to me like
this kind of info belongs in the manual, even if it is
not considered useful to the average Emacs user.

If you think that such info really does not belong in the
Emacs manual, then perhaps a separate manual for it makes
sense.



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

* RE: More metaproblem
  2014-12-06 10:17                       ` David Kastrup
@ 2014-12-06 16:45                         ` Drew Adams
  0 siblings, 0 replies; 249+ messages in thread
From: Drew Adams @ 2014-12-06 16:45 UTC (permalink / raw)
  To: David Kastrup, emacs-devel

> LilyPond has a whole "Contributor's Guide"
> <URL:http://lilypond.org/doc/v2.19/Documentation/contributor/>, of
> course written in Texinfo like all of the documentation.
> Contributing to the documentation is covered in
> <URL:http://lilypond.org/doc/v2.19/Documentation/contributor/documen
> tation-work>. This includes a primer of the basic Texinfo commands
> used in its documentation.

I second this approach.  See my other message about this.  Either
a separate manual (this approach) or (why not?) a new section in
the Emacs manual.



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

* Re: Metaproblem, part 3
  2014-12-05 18:38                         ` Stefan Monnier
@ 2014-12-06 17:29                           ` Lars Magne Ingebrigtsen
  2014-12-06 18:05                             ` Lars Magne Ingebrigtsen
  0 siblings, 1 reply; 249+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-06 17:29 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Paul Eggert, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> Yes, it helps.  But there are still way too many reports in there so
> I find it difficult to see which ones I should attend to.  I need to be
> able to flush all those reports which are outside my field of expertise,
> for example (Windows-specific, about the GUI, about the rendering, ...).

The `t' command toggles a local tag that makes the bug number be
displayed in red.  I use it to mark bug reports that I have no interest
in.

> Worse yet: it doesn't fix the bugs on its own, I still have to go and
> fix them by hand.

The next version of debbugs-gnu is sure to fix that.  Any month now.

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



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

* Re: maintaining FSF Emacs web page
  2014-12-06  9:10                       ` maintaining FSF Emacs web page Stephen Leake
@ 2014-12-06 17:57                         ` Karl Fogel
  2014-12-07  9:20                         ` Richard Stallman
  1 sibling, 0 replies; 249+ messages in thread
From: Karl Fogel @ 2014-12-06 17:57 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

Stephen Leake <stephen_leake@stephe-leake.org> writes:
>I, for one, _much_ prefer editing text (markup or plain) to editing via
>web browsers. I also prefer reading local files; Emacs is _very_ good at
>searching and navigating among them (_much_ better than Firefox or
>Chrome in a wiki).
>
>I hope you are open to considering such arguments.

Oh, that's all I was ever proposing; no disagreement here.  I was never
proposing *editing* via a web browser.  In a earlier post I gave the
same criteria you give -- I wrote:

  > - Raw source is readable as-is
  >
  > - Has free software tools to generate good HTML
  >   (and we then treat HTML as the default output format)
  >
  > - Markup syntax is not burdensome

>That implies that there is also a mechanism that mirrors that directory
>to a web host somewhere (as monotone does). 

Yes.  This is a pretty typical way of maintaining project web pages: a
post-commit / post-push trigger rebuilds the live web site HTML files.

>I would be ok with that, but _only_ if sufficient people step up to
>support it, with reasonable hope that they wont disappear after an
>initial effort.

Makes sense.  I wish I had time to help with the plumbing parts of this,
which are probably the hard parts (at least at first), but alas I don't.

Best,
-K



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

* Re: Metaproblem, part 3
  2014-12-06 17:29                           ` Lars Magne Ingebrigtsen
@ 2014-12-06 18:05                             ` Lars Magne Ingebrigtsen
  0 siblings, 0 replies; 249+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-06 18:05 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Paul Eggert, emacs-devel

Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

> The `t' command toggles a local tag that makes the bug number be
> displayed in red.  I use it to mark bug reports that I have no interest
> in.

I've now made the `x' command flush those, too, so that you get a
cleaner display after you've `t'agged all the reports you have no
interest in.

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



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

* Re: More metaproblem
  2014-12-06 16:44                         ` Drew Adams
@ 2014-12-06 18:41                           ` Stephen Leake
  2014-12-06 19:24                             ` Drew Adams
  0 siblings, 1 reply; 249+ messages in thread
From: Stephen Leake @ 2014-12-06 18:41 UTC (permalink / raw)
  To: emacs-devel

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

>> Whenever someone on this list says "please follow the standard",
>> they should _also_ mention ./CONTRIBUTORS, or one of the more
>> detailed files in admin/notes. That will get people used to
>> refering to those files, raise awareness of them, and encourage
>> people to keep them up to date.
>
> Yes.
>
> That's the same kind of thing we do for user questions about
> Emacs Lisp coding conventions etc.: (a) answer the question,
> but also (b) refer them to the relevant doc about it in the
> manuals.
>
> Would it hurt to put the information you refer to, which is
> aimed at Emacs contributors, into the Emacs manual, as a
> separate section?  

There is such a section; (info "(emacs)Contributing). It just references
emacs-devel@gnu.org, http://savannah.gnu.org/projects/emacs/ and
etc/CONTRIBUTE.

I'll fix the latter reference.

As you say below, I don't think we should duplicate the information in
the two files, but I would not be averse to moving the info into the
manual, and leaving ./CONTRIBUTE as a reference. That would allow the
links I just added to ./CONTRIBUTE to be more clickable, since the
texinfo is pushed to the web at
http://www.gnu.org/software/emacs/manual/emacs.html, and urls in Emacs
info also bring up a web browser.

> A priori, that makes sense to me, but then
> I don't see a logical separation between Emacs users and Emacs
> contributors anyway.

I certainly moved gradually from user to contributor.

> IMO, it does not matter whether such info is detailed, boring,
> internal stuff.  It would still be good to move it from other
> files to the official doc, and give it the proper love that
> such doc requires.

I consider ./CONTRIBUTE to _be_ "official doc". Why do you think
otherwise?

> I think that doing this might have these benefits:
>
> 1. Put more of an accent on it, for everyone.  

That comes from _advertising_, not from format.

It makes it a little more accessible. But ./CONTRIBUTE is on the web
now: http://git.savannah.gnu.org/cgit/emacs.git/tree/CONTRIBUTE

I just did a Google search for "Emacs contribute". The first two links
are:

http://www.gnu.org/software/emacs/manual/html_node/emacs/Contributing.html

    Excellent! I need to understand exactly how/when that is updated.

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

    a currently out of date copy; again, I need to understand exactly
    how/when that is updated.


followed by other not-so-relevant links.

How much more accessible does it need to be?

>    The content
>    and form would need to be clear and complete, 

That comes from editing skill (I have yet to hear if my edits are
acceptable). 

>    and kept up to date, but that should be the case anyway.

That comes from developer attention, which is mostly influenced by
advertising.

> 2. Let users know that they can contribute, 

That is certainly implied by the Free Software nature of Emacs.

Although the climate of other developers is a big factor once people
consider contributing.

> and just what's involved (yes, in detail).

I don't see why the format affects this.

Some have suggested that the current crop of potential contributors are
more comfortable reading web stuff than file stuff; do you agree with
that? 

> 3. Encourage people to reference it, as they do now for
>    questions about key-binding conventions etc.

I don't see why
http://www.gnu.org/software/emacs/manual/html_node/emacs/Contributing.html
would be a better/simpler/easier reference than ./CONTRIBUTE.

If you need to read ./CONTRIBUTE, you already have the source on your
disk.

Exception: the short list of "other ways to contribute" should be on a
web page somewhere.

> Just a thought.  Disclaimer: I'm not familiar with the
> info I'm conjecturing about.  

Please take a moment to read it; it's only 339 lines, about 1/3 white
space. 

-- 
-- Stephe



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

* Re: publicizing Emacs contribute
  2014-12-06 12:04                         ` Richard Stallman
@ 2014-12-06 18:56                           ` Stephen Leake
  2014-12-06 19:29                             ` Óscar Fuentes
  2014-12-07  9:21                             ` Richard Stallman
  0 siblings, 2 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-06 18:56 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. ]]]
>
>   > Contributing small patches to Emacs is easy.  You report a bug, include
>   > the patch, and someone will look at it.
>
> Perhaps we should present this information prominently in places
> people will see it.

I think we all agree on that. The problem is to figure out what
"prominent places" are appropriate.

Currently, if you do a Google search for "Emacs contribute", you find:

http://www.gnu.org/software/emacs/manual/html_node/emacs/Contributing.html

    The relevant section of the Emacs manual
    
http://www.gnu.org/software/emacs/CONTRIBUTE

    The official file

(I assume these are from the last release; they are not the current git
 working copy.)

(Is there a Free Software web search engine on the web? I feel a little
 guilty using Google for this.)

What other "prominent places" would you suggest?


Getting an article in some developer magazines would be very good, I
think; people on the Ada newsgroup get very excited when an article in a
developer magazine mentions Ada. I don't read any, so I don't know if
there have been any Emacs related articles recently.

Anybody up for writing "Emacs vs Microsoft Visual <language du jour>"? :).

-- 
-- Stephe



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

* RE: More metaproblem
  2014-12-06 18:41                           ` Stephen Leake
@ 2014-12-06 19:24                             ` Drew Adams
  2014-12-07 22:07                               ` Stephen Leake
  0 siblings, 1 reply; 249+ messages in thread
From: Drew Adams @ 2014-12-06 19:24 UTC (permalink / raw)
  To: Stephen Leake, emacs-devel

> > Would it hurt to put the information you refer to, which is
> > aimed at Emacs contributors, into the Emacs manual, as a
> > separate section?
> 
> There is such a section; (info "(emacs)Contributing). It just
> references
> emacs-devel@gnu.org, http://savannah.gnu.org/projects/emacs/ and
> etc/CONTRIBUTE.

Yes, I know.  That is not at all what I meant (and said), which was:

 "put the information you refer to, which is aimed at Emacs
  contributors, into the Emacs manual"

It's not about providing a reference to some local file or a
mailing list.  It's about *moving* the complete information to
the manual (the Emacs manual or a new, dedicated manual).

> As you say below, I don't think we should duplicate the information
> in the two files, but I would not be averse to moving the info
> into the manual, and leaving ./CONTRIBUTE as a reference.

If you agree that we should not duplicate the information, then
why would you leave ./CONTRIBUTE?  That's duplication, no?

The point is to let the manual be the single source of truth.
It is a mistake (asking for trouble), IMO, to have two or more
such sources.

But I'm probably missing something that you are trying to say here.

> > IMO, it does not matter whether such info is detailed, boring,
> > internal stuff.  It would still be good to move it from other
> > files to the official doc, and give it the proper love that
> > such doc requires.
> 
> I consider ./CONTRIBUTE to _be_ "official doc". Why do you think
> otherwise?

It is official.  But it is not in Info form, and it deserves
to be (users deserve it to be).  That's what I meant.  Perhaps
I should have said "move it from other files to where
the rest of the official is presented to users: in Info."

(And please don't bother to nitpick about there being still
other official doc that is also not in Info form.  That can
be ignored for now, or it can in turn be considered as a
candidate for moving to Info.)

> > I think that doing this might have these benefits:
> >
> > 1. Put more of an accent on it, for everyone.
> 
> That comes from _advertising_, not from format.
> 
> It makes it a little more accessible. But ./CONTRIBUTE is on the web
> now: http://git.savannah.gnu.org/cgit/emacs.git/tree/CONTRIBUTE

On the web is not in Info.  (That's in fact part of the other,
parallel discussion initiated by ESR.  *Web doc does not
sufficient Emacs doc make.*)

> I just did a Google search for "Emacs contribute"...
> How much more accessible does it need to be?

My (personal) answer is that it should be in Info, not just
on the web somewhere, and not just in a file in the Emacs
distribution somewhere, and not just as a pointer to a mailing
list somewhere.

Imagine if all of the important Emacs documentation had only
the form/accessibility you are referring to.  Would you be
content to replace the Emacs manual (Info) with a link to a
web page or a local plain-text file?  I wouldn't want that.

What's good for the Emacs-manual gander is good for the
CONTRIBUTE goose.  Make that information into a manual (Info)
or part of the Emacs manual. 

> > The content and form would need to be clear and complete,
> 
> That comes from editing skill (I have yet to hear if my edits are
> acceptable).

By that I meant also that ALL of the information about
contributing should be moved to Info.  A lot of work goes
into making sure that the information in the manuals is clear
and complete.  I can't speak to whether this is also true for
other, non-Info kinds of "official" Emacs doc.  If it is, so
much the better - just move it to Info.

> > 2. Let users know that they can contribute,
> 
> That is certainly implied by the Free Software nature of Emacs.

I think you are missing the point of my suggestion.  Putting this
information in the Emacs manual would make it much more visible
to "ordinary" users (and much more navigable).  (IMHO)

Both of my points #1 and #2 are introduced by this phrase:

  "I think that doing this might have these benefits:"

where "doing this" refers to moving such information completely
to the Emacs manual (to Info form, at least, with mirroring on
the web).

> > and just what's involved (yes, in detail).
> 
> I don't see why the format affects this.

Again, the point was to move the complete, detailed information
to the manual (Info format), NOT to simply have a reference from
the manual, as now.  The difference is whether the details are
in Info format or not, so yes, the format "affects this" - it's
all about the format (and location).

> Some have suggested that the current crop of potential contributors
> are more comfortable reading web stuff than file stuff; do you agree
> with that?

Probably.  But it doesn't matter whether I agree, or care.
My point is that this information belongs with the rest of the
Emacs information for users: in the manual.

It is of course important that the manuals be mirrored on the
web.  And as I (and others) made clear in the sister thread,
web access to the information is necessary but not sufficient.
Manuals on the web do not provide the features that manuals
provide *in Emacs*, from Info.  Not even close.

> > 3. Encourage people to reference it, as they do now for
> >    questions about key-binding conventions etc.
> 
> I don't see why
> http://www.gnu.org/software/emacs/manual/html_node/emacs/Contributin
> g.html would be a better/simpler/easier reference than ./CONTRIBUTE.

No one said it would be.  I think you have not understood my
suggestion well enough.

> If you need to read ./CONTRIBUTE, you already have the source on
> your disk.

Having the information on your disk is not enough.  Having it on
the web is not enough.  It should be available from Emacs, in
Info form.  It should be integrated with the other user doc.

> Exception: the short list of "other ways to contribute" should be on
> a web page somewhere.
> 
> > Just a thought.  Disclaimer: I'm not familiar with the
> > info I'm conjecturing about.
> 
> Please take a moment to read it; it's only 339 lines, about 1/3
> white space.

I'm talking also about details that explain conventions and
methods used for developing/maintaining Emacs.

(And (why not?) detailed information about Emacs internals -
such as the doc that exists for XEmacs.  But this is not
necessarily part of what I proposed in the immediate.)

It doesn't matter what I understand or think about the particular
detailed information.  Information about how to contribute and
develop Emacs should be available to users in Info form, IMO.
That's all.

I have no informed opinion about whether all of it belongs in
the Emacs manual or it should have its own, dedicated manual.
But *Info it should be* - and mirrored on the web in the same
way as the Emacs and Elisp manuals.



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

* Re: publicizing Emacs contribute
  2014-12-06 18:56                           ` publicizing Emacs contribute Stephen Leake
@ 2014-12-06 19:29                             ` Óscar Fuentes
  2014-12-07  1:00                               ` Dmitry Gutov
  2014-12-08  0:23                               ` Richard Stallman
  2014-12-07  9:21                             ` Richard Stallman
  1 sibling, 2 replies; 249+ messages in thread
From: Óscar Fuentes @ 2014-12-06 19:29 UTC (permalink / raw)
  To: emacs-devel

Stephen Leake <stephen_leake@stephe-leake.org> writes:

[snip]

> Anybody up for writing "Emacs vs Microsoft Visual <language du jour>"? :).

You'll better not compare Emacs with Visual Studio or some other modern
IDE for crowd-oriented languages. Emacs-as-the-IDE for C++/C#/Java is a
non-starter since long time ago, as far as the Tweeter Generation is
concerned. (For C#/Java (and possibly others) they are quite right,
IMO.)

Emacs still has lots of good things to offer. Let's advertise those.




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

* Re: the Emacs wiki
  2014-12-06 10:41                           ` the Emacs wiki Stephen Leake
  2014-12-06 10:58                             ` Eli Zaretskii
@ 2014-12-06 21:28                             ` Nic Ferrier
  2014-12-07 22:47                               ` Stephen Leake
  1 sibling, 1 reply; 249+ messages in thread
From: Nic Ferrier @ 2014-12-06 21:28 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

Stephen Leake <stephen_leake@stephe-leake.org> writes:

> What is the intended process for maintaining the wiki?

There's a git repo that backs it up so you can use that to do extensive
processing. You can't update that way though.

There are APIs for the emacswiki though. So it wouldn't be hard to right
a tool to batch process the git repo and send updates through the api.


Nic



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

* Re: publicizing Emacs contribute
  2014-12-06 19:29                             ` Óscar Fuentes
@ 2014-12-07  1:00                               ` Dmitry Gutov
  2014-12-07  1:33                                 ` Óscar Fuentes
  2014-12-08  0:23                               ` Richard Stallman
  1 sibling, 1 reply; 249+ messages in thread
From: Dmitry Gutov @ 2014-12-07  1:00 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:

> You'll better not compare Emacs with Visual Studio or some other modern
> IDE for crowd-oriented languages. Emacs-as-the-IDE for C++/C#/Java is a
> non-starter since long time ago, as far as the Tweeter Generation is
> concerned. (For C#/Java (and possibly others) they are quite right,

I've read good things about omnisharp-emacs.



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

* Re: publicizing Emacs contribute
  2014-12-07  1:00                               ` Dmitry Gutov
@ 2014-12-07  1:33                                 ` Óscar Fuentes
  0 siblings, 0 replies; 249+ messages in thread
From: Óscar Fuentes @ 2014-12-07  1:33 UTC (permalink / raw)
  To: emacs-devel

Dmitry Gutov <dgutov@yandex.ru> writes:

> I've read good things about omnisharp-emacs.

Thanks for the pointer. IIUC it requires to install an unreleased
version of ASP.NET that won't run on my platform, so I can't check it.
Sigh.




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

* Re: Metaproblem, part 3
  2014-12-06 14:18                           ` Stephen J. Turnbull
@ 2014-12-07  1:38                             ` Eric Abrahamsen
  0 siblings, 0 replies; 249+ messages in thread
From: Eric Abrahamsen @ 2014-12-07  1:38 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Eric Abrahamsen writes:
>
>  > The only reason I chimed in
>
> I need to get my finger off the "F" key.  I should have replied to
> somebody else, as you definitely did not claim hostility on anybody's
> part.  My apologies.

No worries!

>  > is because I'm one of those who would love to contribute more
>  > substantially, but needs guidance. For example, I've got the basics
>  > of an epub-editing mode in place. I'd like it to be a solid
>  > library, and would likely need assistance to get it there.
>
> Sure, and you'll find plenty of willing assistance once you figure out
> how to ask for it.  Or you could just submit your code. :-) The people
> you see posting here day-in-and-day-out will help you and *not* drop
> the ball when they get bored.  Some more than others, of course, and
> more at some times than others.
>
>  > What's in it for the mentors and core developers is that, a few years
>  > from now, I'd like to be making larger contributions to the Emacs core.
>  > Mentoring would help me get there.
>
> Sure.  My experience is that that works best with somebody who is, as
> you are, already somewhat committed to the project.  But as a couple
> people pointed out, mentoring anybody who comes in is not a profitable
> strategy for adding core contributors

I definitely agree with this part.




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

* Re: Metaproblem, part 3
  2014-12-06 11:04                           ` David Kastrup
  2014-12-06 12:52                             ` Ivan Shmakov
@ 2014-12-07  1:41                             ` Eric Abrahamsen
  2014-12-09 12:29                               ` João Távora
  1 sibling, 1 reply; 249+ messages in thread
From: Eric Abrahamsen @ 2014-12-07  1:41 UTC (permalink / raw)
  To: emacs-devel

David Kastrup <dak@gnu.org> writes:

> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> "Stephen J. Turnbull" <stephen@xemacs.org> writes:
>>
>>> Eric Abrahamsen writes:
>>>
>>>  > It would be nice to explicitly let posters know that they can ask
>>>  > someone for help with implementing a feature/squashing a
>>>  > bug. There's lots of helpful advice here and on emacs.help, but
>>>  > that's not quite the same as knowing that someone has committed
>>>  > (to some extent) to assisting you.
>>>
>>> I see worries about "hostile" environment, and suggestions for making
>>> things more welcoming to new contributors.  I have to ask, what do
>>> all you folks who are suggesting Emacs change its procedures think is
>>> in it for the mentors and core developers?
>>
>> FWIW (not much), I have never felt any hostility here or in emacs.help,
>> and I'm not complaining about anything. Possibly I haven't felt it
>> because I'm coming in at such a low level that no nerves are touched --
>> I'm asking basic questions.
>
> See, that's your mistake.  The first steps towards feeling hostility on
> developer lists is to tell people that they are doing it all wrong but
> they are lucky you came around to tell them.  There are a lot of
> variations on the theme, of course.  But if you feel that a technical
> mailing list as such rather than, say, an isolated person having a bad
> day, act hostile, chances are that you score in that area.
>
>> The only reason I chimed in is because I'm one of those who would love
>> to contribute more substantially, but needs guidance. For example,
>> I've got the basics of an epub-editing mode in place. I'd like it to
>> be a solid library, and would likely need assistance to get it there.
>
> Can you figure out what is missing and phrase it into questions?  While
> there is the phenomenon that if you are asking 10 people, you'll get 20
> answers, I think that for basic problems the Emacs list will not split
> into so many different factions of "do it my way" that you'll get much
> more confusing answers from the group of people reading this list than
> you would get from a single tutor.

Yeah, I'm not sure anything new has come out of the "mentoring"
discussion besides the possibility of using a tag in subject line. There
are obviously many people prepared to help mid-level programmers, and
that's probably good enough.




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

* Re: Metaproblem, part 3
  2014-12-06 10:51                         ` David Kastrup
@ 2014-12-07  9:19                           ` Richard Stallman
  0 siblings, 0 replies; 249+ messages in thread
From: Richard Stallman @ 2014-12-07  9:19 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. ]]]

  > The outcome overall was characterized as a huge disappointment by him,
  > with less work being done in the time the mentored persons stayed active
  > than he could have done himself in the time the tutoring took.

  > I have seen similar results for hiring outside people for doing free
  > software work: the return of investment tends to be hugely
  > disappointing.

I have also found that trying to actively help people learn how to
contribute, if they don't basically understand how to do so, consumes
more time than the contributions were worth.

If they do basically understand, and just need to know a few details,
then it's useful to show them.

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

* Re: maintaining FSF Emacs web page
  2014-12-06  9:10                       ` maintaining FSF Emacs web page Stephen Leake
  2014-12-06 17:57                         ` Karl Fogel
@ 2014-12-07  9:20                         ` Richard Stallman
  2014-12-09 12:30                           ` Alex Schroeder
  1 sibling, 1 reply; 249+ messages in thread
From: Richard Stallman @ 2014-12-07  9:20 UTC (permalink / raw)
  To: Stephen Leake; +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. ]]]

  > One solution to this is to keep the FSF page very short, and have it
  > refer to a web page or other docs that we do maintain.

  > Currently, that would be http://www.emacswiki.org/

I see no benefit in that, only a problem.

Using CVS is easy, through VC.  Meanwhile, since we don't control the
contents of emacswiki.org, it is not the right good place to publish
the text that we do maintain.

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

* Re: publicizing Emacs contribute
  2014-12-06 18:56                           ` publicizing Emacs contribute Stephen Leake
  2014-12-06 19:29                             ` Óscar Fuentes
@ 2014-12-07  9:21                             ` Richard Stallman
  2014-12-07 23:06                               ` Stephen Leake
  1 sibling, 1 reply; 249+ messages in thread
From: Richard Stallman @ 2014-12-07  9:21 UTC (permalink / raw)
  To: Stephen Leake; +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. ]]]

  > What other "prominent places" would you suggest?

I can think of two.
In gnu.org/software/emacs.
In the Savannah Emacs project web pages.

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

* Re: More metaproblem
  2014-12-06 19:24                             ` Drew Adams
@ 2014-12-07 22:07                               ` Stephen Leake
  2014-12-07 23:00                                 ` Drew Adams
  2014-12-08 21:23                                 ` Przemysław Wojnowski
  0 siblings, 2 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-07 22:07 UTC (permalink / raw)
  To: emacs-devel

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

>> As you say below, I don't think we should duplicate the information
>> in the two files, but I would not be averse to moving the info
>> into the manual, and leaving ./CONTRIBUTE as a reference.
>
> If you agree that we should not duplicate the information, then
> why would you leave ./CONTRIBUTE?  That's duplication, no?

I meant "change the content of ./CONTRIBUTE to refer to the manual". So
people who look for a file CONTRIBUTE will still find the information.

>> > IMO, it does not matter whether such info is detailed, boring,
>> > internal stuff.  It would still be good to move it from other
>> > files to the official doc, and give it the proper love that
>> > such doc requires.
>> 
>> I consider ./CONTRIBUTE to _be_ "official doc". Why do you think
>> otherwise?
>
> It is official.  But it is not in Info form, and it deserves
> to be (users deserve it to be).  That's what I meant.  Perhaps
> I should have said "move it from other files to where
> the rest of the official is presented to users: in Info."

But the information in ./CONTRIBUTE is _not_ for users; it is for
developers. 

> My (personal) answer is that it should be in Info, not just
> on the web somewhere, and not just in a file in the Emacs
> distribution somewhere, and not just as a pointer to a mailing
> list somewhere.
>
> Imagine if all of the important Emacs documentation had only
> the form/accessibility you are referring to.  Would you be
> content to replace the Emacs manual (Info) with a link to a
> web page or a local plain-text file?  I wouldn't want that.

As an Emacs _user_, I agree, I want the Emacs user manual in Info.

As an Emacs _developer_, it makes some sense to use Info, but it should
be in a separate manual (as you allow below).

Texinfo is _almost_ as easy to edit as plain text, but there is some
cost. What is the actual gain?

You have to know the file is there, or know how to look for it. That's
why is was move up from etc/; easier to find. It's also why it's
referenced from the Emacs manual.

However, I agree an "Emacs developers manual" in the top-level Info menu
would be even easier to find.

Whether it is in info or plain text (or some other format) is a
secondary issue.

We are only talking about 330 lines, that have been in plain text for a
long time. Is there really a big reason to change?

I hear you saying that you prefer Info. I'm still not clear _why_ you
prefer Info, for this specific information.

I think you would reply "everyone that uses Emacs simply _expects_ all
documentation to be in Info". I can see why that might be true. I fall
back on "developers are not everyone" and "having different conventions
for developers and users makes it clearer which is which". Not very
strong points, I'll admit.

For me, it really comes down to ease of maintenance and use. I find the
plain text format slightly easier to both maintain and use (partly
because I have a C-F12 function that does 'find-file-or-url-at-point').
But if someone else wants to put in the time to move it to texinfo, I
won't object.

If the file gets much longer, I would want to move it to texinfo.

>> > 2. Let users know that they can contribute,
>> 
>> That is certainly implied by the Free Software nature of Emacs.
>
> I think you are missing the point of my suggestion.  Putting this
> information in the Emacs manual would make it much more visible
> to "ordinary" users (and much more navigable).  (IMHO)

(info "(emacs)Contributing")

Feel free to submit patches.

>> > 3. Encourage people to reference it, as they do now for
>> >    questions about key-binding conventions etc.
>> 
>> I don't see why
>> http://www.gnu.org/software/emacs/manual/html_node/emacs/Contributin
>> g.html would be a better/simpler/easier reference than ./CONTRIBUTE.
>
> No one said it would be.  I think you have not understood my
> suggestion well enough.

You said "encourage people to reference it".

Hmm, since we are talking about info, the proper reference would be
(info "(emacs)Contributing"). Much better.

If it's a (slightly) longer string, that (slightly) discourages me from
referencing it.

Perhaps if everyone expects all docs to be in Info, you would feel
reluctant to reference something that is not in Info? That makes some
sense. 

>> If you need to read ./CONTRIBUTE, you already have the source on
>> your disk.
>
> Having the information on your disk is not enough.  Having it on
> the web is not enough.  It should be available from Emacs, 

It is, if it is on your disk.

> in Info form.

That is the issue under discussion.


>> Exception: the short list of "other ways to contribute" should be on
>> a web page somewhere.
>> 
>> > Just a thought.  Disclaimer: I'm not familiar with the
>> > info I'm conjecturing about.
>> 
>> Please take a moment to read it; it's only 339 lines, about 1/3
>> white space.
>
> I'm talking also about details that explain conventions and
> methods used for developing/maintaining Emacs.

Where are they? The ones I'm aware of are referenced from the current
trunk version of ./CONTRIBUTE. I am deliberately ignoring the wiki.

-- 
-- Stephe



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

* Re: the Emacs wiki
  2014-12-06 21:28                             ` Nic Ferrier
@ 2014-12-07 22:47                               ` Stephen Leake
  2014-12-09  8:04                                 ` Nic Ferrier
  0 siblings, 1 reply; 249+ messages in thread
From: Stephen Leake @ 2014-12-07 22:47 UTC (permalink / raw)
  To: emacs-devel

Nic Ferrier <nferrier@ferrier.me.uk> writes:

> Stephen Leake <stephen_leake@stephe-leake.org> writes:
>
>> What is the intended process for maintaining the wiki?
>
> There's a git repo that backs it up so you can use that to do extensive
> processing. You can't update that way though.
>
> There are APIs for the emacswiki though. So it wouldn't be hard to right
> a tool to batch process the git repo and send updates through the api.

What I get from this is:

    1) There is _no_ intended process for maintaining the wiki.

    2) The technical means are in place to do some editing.

A successful process requires much more than technical means; it
requires developer/editor/user buy in.

-- 
-- Stephe



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

* RE: More metaproblem
  2014-12-07 22:07                               ` Stephen Leake
@ 2014-12-07 23:00                                 ` Drew Adams
  2014-12-08 15:57                                   ` Eli Zaretskii
  2014-12-08 21:23                                 ` Przemysław Wojnowski
  1 sibling, 1 reply; 249+ messages in thread
From: Drew Adams @ 2014-12-07 23:00 UTC (permalink / raw)
  To: Stephen Leake, emacs-devel

> I meant "change the content of ./CONTRIBUTE to refer to the manual".
> So people who look for a file CONTRIBUTE will still find the
> information.

Good.

> >> > IMO, it does not matter whether such info is detailed, boring,
> >> > internal stuff.  It would still be good to move it from other
> >> > files to the official doc, and give it the proper love that
> >> > such doc requires.
> >>
> >> I consider ./CONTRIBUTE to _be_ "official doc". Why do you think
> >> otherwise?
> >
> > It is official.  But it is not in Info form, and it deserves
> > to be (users deserve it to be).  That's what I meant.  Perhaps
> > I should have said "move it from other files to where
> > the rest of the official is presented to users: in Info."
> 
> But the information in ./CONTRIBUTE is _not_ for users; it is for
> developers.

Developers are users.  Some users are developers.  There is no
reason not to provide such info for users in general (IMHO).
Especially if we want to encourage users to contribute.

> > My (personal) answer is that it should be in Info, not just
> > on the web somewhere, and not just in a file in the Emacs
> > distribution somewhere, and not just as a pointer to a mailing
> > list somewhere.
> >
> > Imagine if all of the important Emacs documentation had only
> > the form/accessibility you are referring to.  Would you be
> > content to replace the Emacs manual (Info) with a link to a
> > web page or a local plain-text file?  I wouldn't want that.
> 
> As an Emacs _user_, I agree, I want the Emacs user manual in Info.
> As an Emacs _developer_, it makes some sense to use Info, but it
> should be in a separate manual (as you allow below).

I don't have a problem with that.  My preference would probably
be to add it to the Emacs manual, a priori.  But I haven't heard
any argument to convince me that it should be in a separate
manual - perhaps I would change my mind if I did.

The argument that users are different from developers makes
little sense to me.  Might as well say that because some users
don't use the Calendar we should move all of the Calendar stuff
out of the Emacs manual into a separate one.  Or all of the
International stuff.  Or all of the Mail stuff.

Now there's a good candidate!  Move all of the Sending Mail,
Rmail, and Gnus stuff to a separate manual.  Yes, please. ;-)

> Texinfo is _almost_ as easy to edit as plain text, but there is some
> cost. What is the actual gain?

What is the gain of having this information in Info form?  See
my previous messages.  Should be a no-brainer.  And the gain
of having it in the Emacs manual is to invite Emacs users to
consider contributing, and how to do so.

> You have to know the file is there, or know how to look for it.

That's another argument for moving the information to the manual.

> That's why is was move up from etc/; easier to find. It's also
> why it's referenced from the Emacs manual.

Why just reference it when you can include it?  Why use a
plain-text file when you can use Info?  And it will automatically
end up as HTML on the web, in the same location as the other
Emacs information.

> However, I agree an "Emacs developers manual" in the top-level Info
> menu would be even easier to find.
> 
> Whether it is in info or plain text (or some other format) is a
> secondary issue.

OK.  I don't care which is considered primary and which secondary.
To me, both are good ideas: move it to Info, and put its node
link in the top-level `dir' menu or the top-level menu of the
Emacs manual.

> We are only talking about 330 lines, that have been in plain text
> for a long time. Is there really a big reason to change?

I imagine there are more than 330 lines for all of the "internal"
developer/contributor information.  At least I hope there are.

XEmacs has a nice internals manual, IIUC.  Doesn't GNU Emacs
deserve similar?

> I hear you saying that you prefer Info. I'm still not clear
> _why_ you prefer Info, for this specific information.

It is information for Emacs users on how to help develop Emacs.
We have some such info in the Elisp manual (the various
"conventions" nodes).  I think that other "developer" info
deserves a similar treatment, whatever manual it ends up in.

> I think you would reply "everyone that uses Emacs simply
> _expects_ all documentation to be in Info". 

I don't know whether they do.  But if you put it there they
will. ;-)  And why shouldn't they?

> I can see why that might be true. I fall back on "developers
> are not everyone" 

Not everyone uses Gnus, either.  Every developer is a user.
Some users contribute to development.  Some do so by filing
bugs.  Some by fixing bugs.  Some by testing bug fixes.
Some by maintaining releases & distribution.  Some by coming
up with new features (think how many features were originally
developed by users, in 3rd-party libraries - Emacs itself is
full of them).  

> and "having different conventions for developers and users
> makes it clearer which is which". Not very strong points,
> I'll admit.

It can only be clear in the sense of roles.  Now you wear
your user hat; now you wear your developer hat.  But yes,
the developer-oriented doc should be written with an Emacs
developer orientation, of course.  Just as the Elisp doc
is written with an Elisp user orientation.

> For me, it really comes down to ease of maintenance and use.

Use, fine.  Maintenance should not be a primary concern.
This is no different from maintaining and using any manual.

> I find the plain text format slightly easier to both maintain
> and use (partly because I have a C-F12 function that does
> 'find-file-or-url-at-point').  But if someone else wants to
> put in the time to move it to texinfo, I won't object.

I hope someone does.  I think Emacs would benefit.  Just
one opinion.

> > I'm talking also about details that explain conventions and
> > methods used for developing/maintaining Emacs.
> 
> Where are they? The ones I'm aware of are referenced from the
> current trunk version of ./CONTRIBUTE. I am deliberately
> ignoring the wiki.

Sorry; I don't know.  But if they were in the manual I would
be able to tell you.



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

* Re: publicizing Emacs contribute
  2014-12-07  9:21                             ` Richard Stallman
@ 2014-12-07 23:06                               ` Stephen Leake
  0 siblings, 0 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-07 23:06 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. ]]]
>
>   > What other "prominent places" would you suggest?
>
> I can think of two.
> In gnu.org/software/emacs.
> In the Savannah Emacs project web pages.

Right.

It's actually on my list to update those; I should have mentioned them.

-- 
-- Stephe



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

* Re: publicizing Emacs contribute
  2014-12-06 19:29                             ` Óscar Fuentes
  2014-12-07  1:00                               ` Dmitry Gutov
@ 2014-12-08  0:23                               ` Richard Stallman
  1 sibling, 0 replies; 249+ messages in thread
From: Richard Stallman @ 2014-12-08  0:23 UTC (permalink / raw)
  To: Óscar Fuentes; +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. ]]]

  > You'll better not compare Emacs with Visual Studio or some other modern
  > IDE for crowd-oriented languages. Emacs-as-the-IDE for C++/C#/Java is a
  > non-starter since long time ago, as far as the Tweeter Generation is
  > concerned. (For C#/Java (and possibly others) they are quite right,
  > IMO.)

You are welcome to your opinion, but I have a feeling you are
exaggerating the negative, so I won't follow your advice.

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

* [mentor-request] a darkroom/writeroom mode for Emacs
  2014-12-06  8:03                                 ` Eli Zaretskii
@ 2014-12-08 11:40                                   ` João Távora
  2014-12-08 12:15                                     ` joakim
  2014-12-08 12:40                                     ` Rasmus
  2014-12-08 11:46                                   ` [mentor-request] Ecco - a literate programming documentation generator João Távora
  2014-12-21 20:17                                   ` Results of the "mentoring" experiment Re: Metaproblem, part 3 João Távora
  2 siblings, 2 replies; 249+ messages in thread
From: João Távora @ 2014-12-08 11:40 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, stephen, phillip.lord, emacs-devel

   [ This message is a "mentor request" and part of an experiment
     described in this thread:
     
          https://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00541.html

     A mentor is any frequent Emacs contributor who directs newcomers to
     documentation and helps them polish code contributions, easing them
     through Emacs' specific procedures, aiming to lower the entry
     barrier to Emacs development. If possible, mentors should try to be
     reasonably agnostic to the proposal's pertinence or particular
     implementation - that can be discussed later. Discussion can happen
     in or off-list. If on-list, use a "[mentoring]" prefix to the
     subject line, so that other users can keep all but essential
     comments to a minimum. ]

Hi, I'm looking for a mentor who would help me clean up the code I have
in

   https://github.com/capitaomorte/darkroom-mode

This is my implementation of the popular "darkroom/writeroom" hack, of
which multiple versions can be found around the web. I believe mine can
be polished to make it into Emacs.

I'm looking for pointers on how to clone the Emacs repository after the
recent Git transition, whether to use Emacs or ELPA for it, plus any
other tips that increase my chances.

Waiting to hear from a mentor, or from any newcomer who wants to take
over the mentoree part of this project.

Thanks,
João

Eli Zaretskii <eliz@gnu.org> writes:

>> From: joaotavora@gmail.com (João Távora)
>> Cc: Eli Zaretskii <eliz@gnu.org>,  esr@thyrsus.com,  phillip.lord@newcastle.ac.uk,  emacs-devel@gnu.org
>> Date: Sat, 06 Dec 2014 07:07:21 +0000
>> 
>> To test the process, I can volunteer to submit a couple of reasonably
>> small ideas, between 100 and 300 LOC, that need a mentor (*).
>
> Please go ahead, and thanks.
> Of course, to be practical, there's a need for a mentoree for each
> such idea, but if that's you, then that issue is solved.



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

* [mentor-request] Ecco - a literate programming documentation generator
  2014-12-06  8:03                                 ` Eli Zaretskii
  2014-12-08 11:40                                   ` [mentor-request] a darkroom/writeroom mode for Emacs João Távora
@ 2014-12-08 11:46                                   ` João Távora
  2014-12-21 20:17                                   ` Results of the "mentoring" experiment Re: Metaproblem, part 3 João Távora
  2 siblings, 0 replies; 249+ messages in thread
From: João Távora @ 2014-12-08 11:46 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, stephen, phillip.lord, emacs-devel

   [ This message is a "mentor request" and part of an experiment
     described in this thread:
     
          https://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00541.html

     A mentor is any frequent Emacs contributor who directs newcomers to
     documentation and helps them polish code contributions, easing them
     through Emacs' specific procedures, aiming to lower the entry
     barrier to Emacs development. If possible, mentors should try to be
     reasonably agnostic to the proposal's pertinence or particular
     implementation - that can be discussed later. Discussion can happen
     in or off-list. If on-list, use a "[mentoring]" prefix to the
     subject line, so that other users can keep all but essential
     comments to a minimum. ]

Hi, I'm looking for a mentor who would help me clean up the code I have
in

   https://github.com/capitaomorte/ecco

"ecco" is a literate-programming style documentation generator for
emacs. Its a port of the "docco", "shocco" and "rocco" tools for other
languages found around the web.  An advantage of ecco is that it uses
Emacs's built-in comment processing funcionality and highlighting
functionality and so it works for any language.

I believe "ecco" can be polished to make it into Emacs.

I'm looking for pointers on how to clone the Emacs repository after the
recent Git transition, whether to use Emacs or ELPA for it, plus any
other tips that increase my chances.

Waiting to hear from a mentor, or from any newcomer who wants to take
over the mentoree part of this project.

Thanks,
João

Eli Zaretskii <eliz@gnu.org> writes:

>> From: joaotavora@gmail.com (João Távora)
>> Cc: Eli Zaretskii <eliz@gnu.org>,  esr@thyrsus.com,  phillip.lord@newcastle.ac.uk,  emacs-devel@gnu.org
>> Date: Sat, 06 Dec 2014 07:07:21 +0000
>> 
>> To test the process, I can volunteer to submit a couple of reasonably
>> small ideas, between 100 and 300 LOC, that need a mentor (*).
>
> Please go ahead, and thanks.
> Of course, to be practical, there's a need for a mentoree for each
> such idea, but if that's you, then that issue is solved.



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

* Re: [mentor-request] a darkroom/writeroom mode for Emacs
  2014-12-08 11:40                                   ` [mentor-request] a darkroom/writeroom mode for Emacs João Távora
@ 2014-12-08 12:15                                     ` joakim
  2014-12-09 11:46                                       ` João Távora
  2014-12-08 12:40                                     ` Rasmus
  1 sibling, 1 reply; 249+ messages in thread
From: joakim @ 2014-12-08 12:15 UTC (permalink / raw)
  To: João Távora
  Cc: esr, Eli Zaretskii, phillip.lord, stephen, emacs-devel

joaotavora@gmail.com (João Távora) writes:

>    [ This message is a "mentor request" and part of an experiment
>      described in this thread:
>      
>           https://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00541.html
>
>      A mentor is any frequent Emacs contributor who directs newcomers to
>      documentation and helps them polish code contributions, easing them
>      through Emacs' specific procedures, aiming to lower the entry
>      barrier to Emacs development. If possible, mentors should try to be
>      reasonably agnostic to the proposal's pertinence or particular
>      implementation - that can be discussed later. Discussion can happen
>      in or off-list. If on-list, use a "[mentoring]" prefix to the
>      subject line, so that other users can keep all but essential
>      comments to a minimum. ]
>
> Hi, I'm looking for a mentor who would help me clean up the code I have
> in
>
>    https://github.com/capitaomorte/darkroom-mode

- Did you get a copyright  assignment yet? Your code needs to be
  assigned to FSF. See http://www.gnu.org/software/emacs/CONTRIBUTE,
  copyright assignment section.

- I think your packages will live a happy life in ELPA. Heres a pointer:
http://www.emacswiki.org/emacs/ELPA#toc2

>
> This is my implementation of the popular "darkroom/writeroom" hack, of
> which multiple versions can be found around the web. I believe mine can
> be polished to make it into Emacs.
>
> I'm looking for pointers on how to clone the Emacs repository after the
> recent Git transition, whether to use Emacs or ELPA for it, plus any
> other tips that increase my chances.
>
> Waiting to hear from a mentor, or from any newcomer who wants to take
> over the mentoree part of this project.
>
> Thanks,
> João
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> From: joaotavora@gmail.com (João Távora)
>>> Cc: Eli Zaretskii <eliz@gnu.org>,  esr@thyrsus.com,  phillip.lord@newcastle.ac.uk,  emacs-devel@gnu.org
>>> Date: Sat, 06 Dec 2014 07:07:21 +0000
>>> 
>>> To test the process, I can volunteer to submit a couple of reasonably
>>> small ideas, between 100 and 300 LOC, that need a mentor (*).
>>
>> Please go ahead, and thanks.
>> Of course, to be practical, there's a need for a mentoree for each
>> such idea, but if that's you, then that issue is solved.
>

-- 
Joakim Verona



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

* Re: [mentor-request] a darkroom/writeroom mode for Emacs
  2014-12-08 11:40                                   ` [mentor-request] a darkroom/writeroom mode for Emacs João Távora
  2014-12-08 12:15                                     ` joakim
@ 2014-12-08 12:40                                     ` Rasmus
  2014-12-09 11:28                                       ` [mentoring] " João Távora
  1 sibling, 1 reply; 249+ messages in thread
From: Rasmus @ 2014-12-08 12:40 UTC (permalink / raw)
  To: emacs-devel

joaotavora@gmail.com (João Távora) writes:

> Hi, I'm looking for a mentor who would help me clean up the code I have
> in
>
>    https://github.com/capitaomorte/darkroom-mode
>
> This is my implementation of the popular "darkroom/writeroom" hack, of
> which multiple versions can be found around the web. I believe mine can
> be polished to make it into Emacs.

Why is your mode preferable?
Did you take care of the FSF paperwork?

> I'm looking for pointers on how to clone the Emacs repository after the
> recent Git transition, whether to use Emacs or ELPA for it, plus any
> other tips that increase my chances.

This is surely documented somewhere.

I guess it should go to ELPA, but you need to improve it.
BTW: I'm using writeroom.el for this.

Some quick comments follow.  Note, I'm not an expert, especially on the
Emacs display engine.  I'm not sure if this is the intended format of
[mentor-request] emails.


You need to start with a proper head of the file, including the commentary
section.  Further, for ELPA dependencies, version etc. should be listed (I
guess none).  See the top of any file in your ~/.emacs.d/elpa/ folder.

> (defvar darkroom-margins 0.15

This is a defcusom.  See (info "(elisp) Variable Definitions")


> (defvar darkroom-turns-on-visual-line-mode t

See above.  I think providing a hook is better.  People can add this
themselves if they want something different from the global value.
(info "(elisp) Hooks")


> (defvar darkroom-fringes-outside-margins t

defcustom 

> (defun darkroom-margins ()

IMO you should document every defun.


> (defun darkroom-float-to-columns (f)

As above.


> (defun darkroom-increase-margins ()
docstring 

>   (interactive)
>   (when (floatp darkroom-margins)
>     (setq darkroom-margins (+ 0.05 darkroom-margins))

0.05 should at the very least be a defconst but better a defcustom or from
some global variable.
Also, you provide three ways of setting margins. 

> (defun darkroom-decrease-margins ()
>   (interactive)
>   (when (floatp darkroom-margins)
>     (setq darkroom-margins (- darkroom-margins 0.05))
>     (darkroom-set-margins)))

> (defun darkroom-fill-paragraph-maybe (really)
>   (interactive "P")
>   (cond (visual-line-mode
>          (if (not really)
>              (message "not filling paragraph")
>            (call-interactively 'fill-paragraph)
>            (message "filled paragraph even in visual-line-mode")))
>         (t
>          (call-interactively 'fill-paragraph))))

This seems quite opinionated.  Why the need to deviate from ordinary Emacs
behavior?  You need to document these features an explain why they make
sense in the docstring and preferably in the commentary as well.

> (defvar darkroom-mode-map (let ((map (make-sparse-keymap)))
>                                   (define-key map (kbd "C-M-+") 'darkroom-increase-margins)
>                                   (define-key map (kbd "C-M--") 'darkroom-decrease-margins)
>                                   (define-key map (kbd "M-q") 'darkroom-fill-paragraph-maybe)
>                                   map))

> (defvar darkroom-saved-mode-line-format nil)
> (defvar darkroom-saved-header-line-format nil)
> (defvar darkroom-saved-visual-line-mode nil)

Please add docstring, last argument.

> (make-variable-buffer-local 'darkroom-saved-mode-line-format)
> (make-variable-buffer-local 'darkroom-saved-header-line-format)
> (make-variable-buffer-local 'darkroom-saved-visual-line-mode)

> (defun darkroom-visual-mode-maybe-enable ()
>   (when darkroom-turns-on-visual-line-mode
>     (cond (darkroom-mode
>            (setq darkroom-saved-visual-mode visual-line-mode)
>            (visual-line-mode 1))
>           (t
>            (unless darkroom-saved-visual-line-mode
>              (visual-line-mode -1))))))

Docstring.  I don't understand the need of this feature.

> (define-minor-mode darkroom-mode
>   "Minor mode emulating the darkroom editor that I never used."

This is a bad docstring since it contains uselsess info and I need to know
what darkroom is.

>   nil nil nil
>   (cond (darkroom-mode
>          (setq darkroom-saved-mode-line-format mode-line-format
>                mode-line-format nil
>                darkroom-saved-header-line-format header-line-format
>                header-line-format nil)
>          (darkroom-set-margins)
>          (darkroom-visual-mode-maybe-enable)
>          (text-scale-increase 2)

Should be a defcustom.

>          (add-hook 'window-configuration-change-hook 'darkroom-set-margins nil t))
>         (t
>          (setq mode-line-format darkroom-saved-mode-line-format
>                header-line-format darkroom-saved-header-line-format)
>          (text-scale-decrease 2)
>          (darkroom-set-margins '(0 . 0))

I guess my old margin should be recorded.

>          (darkroom-visual-mode-maybe-enable)
>          (remove-hook 'window-configuration-change-hook 'darkroom-set-margins t))))

> (defun darkroom-maybe-enable ()

Docstring. 

>   (cond ((and (not darkroom-mode) (= (count-windows) 1))

why count-windows?  Why would it not just use the buffer in focus?

>          (darkroom-mode 1)) 
>         ((and darkroom-mode (> (count-windows) 1))
>          (darkroom-mode -1))
>         (t
>          (message "Hmm buffer: %s windows: %s darkroom-mode: %s"
what does "hmm buffer" mean?
>                   (current-buffer)
>                   (count-windows)
>                   darkroom-mode))))


> (define-minor-mode darkroom-tentative-mode
>   "Minor mode that enters `darkroom-mode' when all windws are deleted"
>   nil "D" nil
>   (cond (darkroom-tentative-mode
>          (add-hook 'window-configuration-change-hook 'darkroom-maybe-enable nil t)
>          (darkroom-maybe-enable))
>         (t
>          (if darkroom-mode (darkroom-mode -1))
>          (remove-hook 'window-configuration-change-hook 'darkroom-maybe-enable t))))

Again, this seems like a feature and I have no idea about it cause you
never explain the intended design.

Hope it helps,
Rasmus

-- 
Enough with the bla bla!





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

* Re: More metaproblem
  2014-12-07 23:00                                 ` Drew Adams
@ 2014-12-08 15:57                                   ` Eli Zaretskii
  0 siblings, 0 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-08 15:57 UTC (permalink / raw)
  To: Drew Adams; +Cc: stephen_leake, emacs-devel

> Date: Sun, 7 Dec 2014 15:00:38 -0800 (PST)
> From: Drew Adams <drew.adams@oracle.com>
> 
> > > It is official.  But it is not in Info form, and it deserves
> > > to be (users deserve it to be).  That's what I meant.  Perhaps
> > > I should have said "move it from other files to where
> > > the rest of the official is presented to users: in Info."
> > 
> > But the information in ./CONTRIBUTE is _not_ for users; it is for
> > developers.
> 
> Developers are users.  Some users are developers.  There is no
> reason not to provide such info for users in general (IMHO).
> Especially if we want to encourage users to contribute.

I suggest to put this issue on hold for a moment.  We don't yet have
the contents of that file in its final form.  I suggest to wait until
we do, and decide whether to move it into some manual later.  There's
no rush.



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

* Re: More metaproblem
  2014-12-05 20:11                           ` Eli Zaretskii
@ 2014-12-08 17:16                             ` Glenn Morris
  2014-12-09 11:00                               ` Richard Stallman
  0 siblings, 1 reply; 249+ messages in thread
From: Glenn Morris @ 2014-12-08 17:16 UTC (permalink / raw)
  To: emacs-devel


>> > The http://www.gnu.org/software/emacs/ Emacs web pages are maintained in
>> > CVS.
>> 
>> Oh, holy jumping *fuck*.
>> 
>> And you still wonder why you can't get more help maintaining them?

Oh look. An abusive jump-to-conclusions that demonstrates a complete
ignorance of the facts. How surprising.



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

* Re: More metaproblem
  2014-12-07 22:07                               ` Stephen Leake
  2014-12-07 23:00                                 ` Drew Adams
@ 2014-12-08 21:23                                 ` Przemysław Wojnowski
  2014-12-09 16:54                                   ` Eli Zaretskii
  2014-12-10 20:09                                   ` Przemysław Wojnowski
  1 sibling, 2 replies; 249+ messages in thread
From: Przemysław Wojnowski @ 2014-12-08 21:23 UTC (permalink / raw)
  To: emacs-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi.

IMHO if you want to know what should be in CONTRIBUTE and/or Info doc just
look at some of successful Github projects. A common thing is to have
description of:

1. How to build a project from source
(http://lars.ingebrigtsen.no/2014/11/13/welcome-new-emacs-developers/ is a
good start).

2. How to run (automated) tests - IMHO a must if a project want to be
perceived as modern by young developers. Without automated tests young devs
will think that project stuck in 80's. Moreover, automated tests enable
refactoring, which is standard now. Writing tests is very good starting point
for new devs, because one can learn about the system and make it more
resistant to unintended changes at the same time.

3. What are coding conventions, if are not language-wide (K&R for C?, what
about elisp?). How about clean code
(http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882)?
Can split a long function into couple cohesive ones or you don't care about
readability?

4. GH has fantastic pull requests that make contribution easier to do and less
public, which is encouraging. Here, sending patches to the list, is
technically harder (less of a problem) and discouraging (send a patch and
watch 100 emails humiliating you :-) ).

If you are an agile developer, then just take it as a feedback. If you are
not, the please ignore. Hope it helps.

Cheers,
Przemyslaw

W dniu 07.12.2014 o 23:07, Stephen Leake pisze:
[...]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJUhha2AAoJEC3CE3LuBFUoNF0P+wZdvpxXkdLeFSqBPIWFbZkR
QobU1T805/cFoyOa9kFb43zL860QeYfboSVumdqhhDqbB4KftYyf36jajksvZ71F
yp2H+p+IBgy9xw+10pT6+X76GIe1h9ckvCTGKPMPW1IbSBpZnY6aPr4TMK3wgUh0
YdkzzIcC4btijaMhr9+LWfZWgWdK2ZKKMvJuI7r82ITDwugRH6Ls5zi/fLGKrIp2
jUXfuilCRd799yvDfTPotsX9rrdIl+c8rYkAUpeeVpnnvtTKUoyDk4UQhapC4TN2
H0B9bxt1w4gRGDQrmwz7GW+nJrytyANZSsirwFCOlHw1bpym8ckqz1+BEgCHJOjp
hnfItQXGkz+Vz9oU3HZEwdPc2dYqiU1ZZwexDLIRszJ74joyj4aEuT5y5eHY26Hk
nkUzSv8srneTfPJ75gIzPR6hl2H82fdCYXGRMAizfirCPsazhXc9OK5+1ljW8JnQ
c1lDK0gJY4cE2H9hd0gUIFIYOwZ3u/m7Sc8UQLLaDgYqR9+1S5rhQ7g/4axh5h9h
E5BpkvUlFqfG/+8JxKTpkYDaS9Ik8VVWMVGw43OF8J+LahU8PEzL2dMrwZLC+ItD
3tJW/QVUmU4OIq6uzy51mAhi+9cnBjPFTydhzoqZirSQbnjqvFb/FOrNHaCZTh6r
AmVQ9TYlhqx+5SNQDyBY
=KnDG
-----END PGP SIGNATURE-----



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

* Re: the Emacs wiki
  2014-12-07 22:47                               ` Stephen Leake
@ 2014-12-09  8:04                                 ` Nic Ferrier
  2014-12-09 22:28                                   ` Alexis
  0 siblings, 1 reply; 249+ messages in thread
From: Nic Ferrier @ 2014-12-09  8:04 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

Stephen Leake <stephen_leake@stephe-leake.org> writes:

> Nic Ferrier <nferrier@ferrier.me.uk> writes:
>
>> Stephen Leake <stephen_leake@stephe-leake.org> writes:
>>
>>> What is the intended process for maintaining the wiki?
>>
>> There's a git repo that backs it up so you can use that to do extensive
>> processing. You can't update that way though.
>>
>> There are APIs for the emacswiki though. So it wouldn't be hard to right
>> a tool to batch process the git repo and send updates through the api.
>
> What I get from this is:
>
>     1) There is _no_ intended process for maintaining the wiki.
>
>     2) The technical means are in place to do some editing.
>
> A successful process requires much more than technical means; it
> requires developer/editor/user buy in.

That's right. I would like to help move the wiki to a nicer place than
it is now but please note there are a whole bunch of people from whom
the chaotic nature (in opposition to a controlled one) is the principle
reason for using it.


Nic



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

* Re: More metaproblem
  2014-12-08 17:16                             ` Glenn Morris
@ 2014-12-09 11:00                               ` Richard Stallman
  0 siblings, 0 replies; 249+ messages in thread
From: Richard Stallman @ 2014-12-09 11:00 UTC (permalink / raw)
  To: Glenn Morris; +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. ]]]

  > >> Oh, holy jumping *fuck*.
  > >> 
  > >> And you still wonder why you can't get more help maintaining them?

  > Oh look. An abusive jump-to-conclusions that demonstrates a complete
  > ignorance of the facts. How surprising.

Both of those messages were harsh in their tone.  Glenn and Eric,
could you hold back from that?

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




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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-08 12:40                                     ` Rasmus
@ 2014-12-09 11:28                                       ` João Távora
  2014-12-09 12:20                                         ` Rasmus
  2014-12-09 16:32                                         ` Phillip Lord
  0 siblings, 2 replies; 249+ messages in thread
From: João Távora @ 2014-12-09 11:28 UTC (permalink / raw)
  To: Rasmus; +Cc: emacs-devel

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


   [ Hi Rasmus, I took it from your thorough review of the code that you
   accept to mentor this, in the framework discussed earlier. In the
   future, perhaps change the subject line to "mentoring".

   The code was indeed sketchy, a bit on purpose, and I've integrated
   almost all your suggestions, but read on.

   I'll be using these double-personality comments throughout my reply
   to comment on the mentoring meta-process :-)]

Rasmus <rasmus@gmx.us> writes:
> Why is your mode preferable?

    [ How convincing must the would-be-contributor be at this stage?
    Won't opening with this question intimidate him/her? ]

I haven't done a thorough survey of other extensions, but I remember
trying some that don't deal well with the margins, and none provide
something like `darkroom-tentative-mode'.

> Did you take care of the FSF paperwork?
    [ I've contributed to Emacs earlier, so yes. Again should this
      question be on top?]

Yes.

>> I'm looking for pointers on how to clone the Emacs repository after the
>> recent Git transition, whether to use Emacs or ELPA for it, plus any
>> other tips that increase my chances.
> This is surely documented somewhere.

   [ Either provide a pointer better than "somewhere", or defer to the
   future if you can't.]

Where?

> I guess it should go to ELPA, but you need to improve it.

OK, I'll improve it. Once it's in ELPA, how do I maintain it? Can I keep
using github for the upstream since I'm so familiar with it?

> Some quick comments follow.  Note, I'm not an expert, especially on the
> Emacs display engine.  I'm not sure if this is the intended format of
> [mentor-request] emails.

   [ There is no format, we're trying to figure it out. Yours is
   close enough.]

> You need to start with a proper head of the file, including the commentary
> section.  Further, for ELPA dependencies, version etc. should be listed (I
> guess none).  See the top of any file in your ~/.emacs.d/elpa/ folder.

Done. [ I used the badly named M-x auto-insert, but yours was a good
suggestion ]

>> (defvar darkroom-margins 0.15
>
> This is a defcusom.  See (info "(elisp) Variable Definitions")

Done.

>> (defvar darkroom-turns-on-visual-line-mode t
> See above.  I think providing a hook is better.  People can add this
> themselves 

Yes, I got rid of it. 

>> (defvar darkroom-fringes-outside-margins t
> defcustom

Done

>> (defun darkroom-margins ()
> IMO you should document every defun.

I've renamed this function `darkroom-compute-margins' and added a
minimal docstring.

>> (defun darkroom-float-to-columns (f)
> As above.

Will do in the future. [ Is this essential? ]

>> (defun darkroom-increase-margins ()
> docstring

Done. [ Interactive functions should indeed have a docstring. ]

>>     (setq darkroom-margins (+ 0.05 darkroom-margins))
> 0.05 should at the very least be a defconst but better a defcustom or from
> some global variable.

Done.

> Also, you provide three ways of setting margins.

This was redesigned. It should be better now. `darkroom-compute-margins'
is used only when entering `darkroom-mode', then the user can use
`darkroom-increase/decrease-margins' to tweak its decision.

>> (defun darkroom-fill-paragraph-maybe (really)
> This seems quite opinionated.  Why the need to deviate from ordinary Emacs
> behavior?  You need to document these features an explain why they make
> sense in the docstring and preferably in the commentary as well.

Yes, it's opinionated and not very useful. I've removed it.

>> (defvar darkroom-saved-mode-line-format nil)
>> (defvar darkroom-saved-header-line-format nil)
>> (defvar darkroom-saved-visual-line-mode nil)
> Please add docstring, last argument.

I made these internal variables (used the "--"), do I still need a
docstring?

>> (defun darkroom-visual-mode-maybe-enable ()
> Docstring.  I don't understand the need of this feature.

I've removed it, since it didn't work very well, but the idea is that a
buffer in visual-line-mode (with soft wrapping of long lines), will
always enter darkroom-mode with nice margins that perfectly center the
text on the screen. A buffer with hard linebreaks (like this message) is
not perfect for darkroom-mode, since the margins won't center it.

But I've added a utility function `darkroom-guess-margins' that can be
set as the value for `darkroom-margins' and attempts to guess that. In
the writing of this message, for example, where I `fill-pargraph' all
the time, it has guessed the "correct" margins (see screenshot). In
code, it normally defaults to 15% margins.

It's not perfect, and could be improved. Unfortunately, and more
seriously, it doesn't work when the text scale is increase with
`darkroom-text-scale-increase' set to anything but 0, because
`window-width' doesn't know about text scaling
apparently. `window-width' can return pixels, but then how can I know
the pixel width of the current buffer's font? `frame-char-width' was
promising, but also always returns a constant value.

>> (define-minor-mode darkroom-mode
>>   "Minor mode emulating the darkroom editor that I never used."
> This is a bad docstring since it contains uselsess info and I need to know
> what darkroom is.

   [ Lol. ]

Sorry, I fixed it.

>>          (text-scale-increase 2)
> Should be a defcustom.

Done.

>>          (darkroom-set-margins '(0 . 0))
> I guess my old margin should be recorded.

Done.

>> (defun darkroom-maybe-enable ()
> Docstring.

It's internal now.

>>   (cond ((and (not darkroom-mode) (= (count-windows) 1))
> why count-windows?  Why would it not just use the buffer in focus?

The idea in `darkroom-tentative-mode' here is that `darkroom-mode' is
entered if and only if all but one window on the frame are deleted.

>>          (message "Hmm buffer: %s windows: %s darkroom-mode: %s"
> what does "hmm buffer" mean?

It's debug code. I commented it out.

>> (define-minor-mode darkroom-tentative-mode
>>   "Minor mode that enters `darkroom-mode' when all windws are deleted"
> Again, this seems like a feature and I have no idea about it cause you
> never explain the intended design.

Well, minus typo I did very briefly. But it should be clearer now from
the commits I did.

> Hope it helps,

It did. [ It did. ]


[-- Attachment #2: darkroom-margins.png --]
[-- Type: image/png, Size: 258011 bytes --]

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

* Re: [mentor-request] a darkroom/writeroom mode for Emacs
  2014-12-08 12:15                                     ` joakim
@ 2014-12-09 11:46                                       ` João Távora
  2014-12-09 12:45                                         ` joakim
  2014-12-10  2:39                                         ` Stephen J. Turnbull
  0 siblings, 2 replies; 249+ messages in thread
From: João Távora @ 2014-12-09 11:46 UTC (permalink / raw)
  To: joakim; +Cc: esr, Eli Zaretskii, phillip.lord, stephen, emacs-devel

joakim@verona.se writes:
>> Hi, I'm looking for a mentor who would help me clean up the code I have
>> in
>>
>>    https://github.com/capitaomorte/darkroom-mode
>
> - Did you get a copyright  assignment yet? Your code needs to be
>   assigned to FSF. See http://www.gnu.org/software/emacs/CONTRIBUTE,
>   copyright assignment section.
>
> - I think your packages will live a happy life in ELPA. Heres a pointer:
> http://www.emacswiki.org/emacs/ELPA#toc2

Hi Joakim,

The goal of this "mentoring" experiment is that an experienced
contributor/maintainer makes a short-term commitment to help a new
contributor clean up his code for inclusion. (I volunteered to test the
process with two half-baked extensions I had lying around.)

Was that your idea as well when replying? If so, I think explicitly
stating "I'll mentor this" is a good idea. Anyway, Rasmus is also on
this, so maybe you'll want to take a look at the second "ecco"
extension?

Anyway:

* Your first pointer is useful for copyrights, but then it makes
  absolutely no mention of Git, it still mentions Bazaar. 

* Your second pointer is much better.

I wonder why these these two aren't integrated... (I guess this was
discussed to death already.)

João



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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-09 11:28                                       ` [mentoring] " João Távora
@ 2014-12-09 12:20                                         ` Rasmus
  2014-12-09 13:11                                           ` João Távora
  2014-12-09 16:32                                         ` Phillip Lord
  1 sibling, 1 reply; 249+ messages in thread
From: Rasmus @ 2014-12-09 12:20 UTC (permalink / raw)
  To: joaotavora; +Cc: emacs-devel

joaotavora@gmail.com (João Távora) writes:

>    [ Hi Rasmus, I took it from your thorough review of the code that you
>    accept to mentor this, in the framework discussed earlier. In the
>    future, perhaps change the subject line to "mentoring".

I hit F, write the message and then click C-c C-c.  Did you not include
the [mentoring] line to begin with?

> Rasmus <rasmus@gmx.us> writes:
>> Why is your mode preferable?
>
>     [ How convincing must the would-be-contributor be at this stage?
>     Won't opening with this question intimidate him/her? ]

Maybe.  This is the question my supervisor asks me every time I come up
with a new idea.  Indeed, it's a very unpleasant question, but one that
you need to consider no matter if you do code or try to write a thesis.

> I haven't done a thorough survey of other extensions, but I remember
> trying some that don't deal well with the margins, and none provide
> something like `darkroom-tentative-mode'.
>
>> Did you take care of the FSF paperwork?
>     [ I've contributed to Emacs earlier, so yes. Again should this
>       question be on top?]

Yeah, 'cause it takes time.  So the earlier the process the better.  If
you have not signed papers and do not intend to, I won't read your patch.


>>> I'm looking for pointers on how to clone the Emacs repository after the
>>> recent Git transition, whether to use Emacs or ELPA for it, plus any
>>> other tips that increase my chances.
>> This is surely documented somewhere.
>
>    [ Either provide a pointer better than "somewhere", or defer to the
>    future if you can't.]

OK.

> Where?

Check: http://www.emacswiki.org/emacs/ELPA#toc2

>> I guess it should go to ELPA, but you need to improve it.
>
> OK, I'll improve it. Once it's in ELPA, how do I maintain it? Can I keep
> using github for the upstream since I'm so familiar with it?

I guess, but it would require more work as you'd need to manually push it.
Perhaps Dmitry (of Company) could explain how he handles it.


>> (defvar darkroom-turns-on-visual-line-mode t
> See above.  I think providing a hook is better.  People can add this
> themselves 

Yes, I got rid of it.  You probably also need a hook when exiting.  Or the
functions in the hook are called with different argument when entering and
exiting the minor-mode.  (I did not reread your code).

>>> (defun darkroom-float-to-columns (f)
>> As above [docstring].
>
> Will do in the future. [ Is this essential? ]

Well, I'm going through your code.  Since my time is scare, I would rather
get a quick hint about what the function is doing.  I won't have to guess
everything then.

Take org-mode.  We have a bunch of weird little functions.  I do C-h f on
them.  If they have no docstring, I have to go a read the source (which I
probably don't care about).

>> Please add docstring, last argument.
>
> I made these internal variables (used the "--"), do I still need a
> docstring?

IMO: Yes.  I don't know if there's an establish consensus.

>>> (defun darkroom-visual-mode-maybe-enable ()
>> Docstring.  I don't understand the need of this feature.
>
> I've removed it, since it didn't work very well, but the idea is that a
> buffer in visual-line-mode (with soft wrapping of long lines), will
> always enter darkroom-mode with nice margins that perfectly center the
> text on the screen. A buffer with hard linebreaks (like this message) is
> not perfect for darkroom-mode, since the margins won't center it.

I agree.  Indeed if you can solve this issue it would be pretty cool.

> But I've added a utility function `darkroom-guess-margins' that can be
> set as the value for `darkroom-margins' and attempts to guess that. In
> the writing of this message, for example, where I `fill-pargraph' all
> the time, it has guessed the "correct" margins (see screenshot). In
> code, it normally defaults to 15% margins.

The screenshot looks nice.

> It's not perfect, and could be improved. Unfortunately, and more
> seriously, it doesn't work when the text scale is increase with
> `darkroom-text-scale-increase' set to anything but 0, because
> `window-width' doesn't know about text scaling
> apparently. `window-width' can return pixels, but then how can I know
> the pixel width of the current buffer's font? `frame-char-width' was
> promising, but also always returns a constant value.

To me, larger font would be essential.  And indeed, a problem is the
combination of auto-fill and larger font.  ATM I don't have a good idea on
how to solve this.

>>>   (cond ((and (not darkroom-mode) (= (count-windows) 1))
>> why count-windows?  Why would it not just use the buffer in focus?
>
> The idea in `darkroom-tentative-mode' here is that `darkroom-mode' is
> entered if and only if all but one window on the frame are deleted.
> 
>>> (define-minor-mode darkroom-tentative-mode
>>>   "Minor mode that enters `darkroom-mode' when all windws are deleted"
>> Again, this seems like a feature and I have no idea about it cause you
>> never explain the intended design.
>
> Well, minus typo I did very briefly. But it should be clearer now from
> the commits I did.

OK, as long as your document it, it's fine.

>> Hope it helps,
>
> It did. [ It did. ]
both of you are happy, that's good! 

—Rasmus

-- 
A page of history is worth a volume of logic



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

* Re: Metaproblem, part 3
  2014-12-07  1:41                             ` Eric Abrahamsen
@ 2014-12-09 12:29                               ` João Távora
  0 siblings, 0 replies; 249+ messages in thread
From: João Távora @ 2014-12-09 12:29 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: emacs-devel

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

> Yeah, I'm not sure anything new has come out of the "mentoring"
> discussion besides the possibility of using a tag in subject line. There
> are obviously many people prepared to help mid-level programmers, and
> that's probably good enough.

I do hope a little more comes out of it, that is the idea of a
short-term, one-on-one dialog, desirably backed by good docs/references,
so that even high-level programmers from other programming cultures
don't find a barrier in navigating Emacs's procedures.

Also, "hostility" is a subjective perception (and discussing it as a
universal is uninteresting), so the very word in the tag should
might/should modulate that perception in the right direction.

João





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

* Re: maintaining FSF Emacs web page
  2014-12-07  9:20                         ` Richard Stallman
@ 2014-12-09 12:30                           ` Alex Schroeder
  2014-12-10  8:24                             ` Richard Stallman
  0 siblings, 1 reply; 249+ messages in thread
From: Alex Schroeder @ 2014-12-09 12:30 UTC (permalink / raw)
  To: emacs-devel

Richard Stallman <rms <at> gnu.org> writes:

>   > One solution to this is to keep the FSF page very short, and have it
>   > refer to a web page or other docs that we do maintain.
>   > Currently, that would be http://www.emacswiki.org/
> 
> I see no benefit in that, only a problem.
> 
> Using CVS is easy, through VC.  Meanwhile, since we don't control the
> contents of emacswiki.org, it is not the right good place to publish
> the text that we do maintain.

Is control important? I keep the wiki up and running. I can lock some 
pages and give out passwords if control is important. If the real issue is 
a fear of vandalism and spam, then there seems to be little reason to 
worry: people like me are keeping an eye on Emacs Wiki, keeping it free of 
vandalism and spam.





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

* Re: [mentor-request] a darkroom/writeroom mode for Emacs
  2014-12-09 11:46                                       ` João Távora
@ 2014-12-09 12:45                                         ` joakim
  2014-12-10  2:39                                         ` Stephen J. Turnbull
  1 sibling, 0 replies; 249+ messages in thread
From: joakim @ 2014-12-09 12:45 UTC (permalink / raw)
  To: João Távora
  Cc: esr, Eli Zaretskii, phillip.lord, stephen, emacs-devel

joaotavora@gmail.com (João Távora) writes:

> joakim@verona.se writes:
>>> Hi, I'm looking for a mentor who would help me clean up the code I have
>>> in
>>>
>>>    https://github.com/capitaomorte/darkroom-mode>
>> - Did you get a copyright  assignment yet? Your code needs to be
>>   assigned to FSF. See http://www.gnu.org/software/emacs/CONTRIBUTE,>   copyright assignment section.
>>
>> - I think your packages will live a happy life in ELPA. Heres a pointer:
>> http://www.emacswiki.org/emacs/ELPA#toc2
>
> Hi Joakim,
>
> The goal of this "mentoring" experiment is that an experienced
> contributor/maintainer makes a short-term commitment to help a new
> contributor clean up his code for inclusion. (I volunteered to test the
> process with two half-baked extensions I had lying around.)
>
> Was that your idea as well when replying? If so, I think explicitly
> stating "I'll mentor this" is a good idea. Anyway, Rasmus is also on
> this, so maybe you'll want to take a look at the second "ecco"
> extension?

My idea in replying was to practice to become a better emacs mentor.
So your feedback is very welcome!

>
> Anyway:
>
> * Your first pointer is useful for copyrights, but then it makes
>   absolutely no mention of Git, it still mentions Bazaar. 
>
> * Your second pointer is much better.
>
> I wonder why these these two aren't integrated... (I guess this was
> discussed to death already.)
>
> João

-- 
Joakim Verona



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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-09 12:20                                         ` Rasmus
@ 2014-12-09 13:11                                           ` João Távora
  2014-12-09 14:56                                             ` Rasmus
  2014-12-09 22:25                                             ` Rasmus
  0 siblings, 2 replies; 249+ messages in thread
From: João Távora @ 2014-12-09 13:11 UTC (permalink / raw)
  To: Rasmus; +Cc: emacs-devel

Rasmus <rasmus@gmx.us> writes:
> joaotavora@gmail.com (João Távora) writes:
>
>>    [ Hi Rasmus, I took it from your thorough review of the code that you
>>    accept to mentor this, in the framework discussed earlier. In the
>>    future, perhaps change the subject line to "mentoring".
> I hit F, write the message and then click C-c C-c.  Did you not include
> the [mentoring] line to begin with?

No, I didn't. I used "[mentor-request]" hoping that a mentor would reply
with "[mentoring]" to make the commitment. After a few "Re: [mentoring]"
iterations, when it's done, change the subject again to "[mentored]". I
state that you mentored it and ask for final comments or stuff you
couldn't help with. If no blockers appear then, I or someone else
commits it. We can document this somewhere later if we find it warrants
it. Maybe it is too complicated, but think it's useful.

By the way I dropped the [] comments this time around.

>> Rasmus <rasmus@gmx.us> writes:
>>     [ How convincing must the would-be-contributor be at this stage?
>>     Won't opening with this question intimidate him/her? ]
> Maybe.  This is the question my supervisor asks me every time I come up
> with a new idea.  Indeed, it's a very unpleasant question, but one that
> you need to consider no matter if you do code or try to write a thesis.

OK. But he/she shouldn't be forced to make a bullet-proof case at this
point, the main goal is to cleanup the contribution of blockers. After
that its pertinence can be reevaluated. Of course, an objection would
be: "why do all the mentoring work then?". I don't have an answer, but I
still think its useful.

>>> Did you take care of the FSF paperwork?
>>     [ I've contributed to Emacs earlier, so yes. Again should this
>>       question be on top?]
> Yeah, 'cause it takes time.  So the earlier the process the better.  If
> you have not signed papers and do not intend to, I won't read your
> patch.

OK. Clearly, discovering if the author does not intend to do it is very
important. But if he doesn't object, reading the patch is probably still
useful in the meantime.

>> Where?
> Check: http://www.emacswiki.org/emacs/ELPA#toc2

Looks good indeed, though it states simply "Now you can push to the
repo". A look at the linked "Making Packages" should tell where to place
the file, for example, it doesn't. Perhaps I just need to mimic what
other packages do there in the repo. Anyway I think those intructions
could be improved, and made into a tutorial on how to add foo-mode.el to
the ELPA repo.

>>> I guess it should go to ELPA, but you need to improve it.
>> OK, I'll improve it. Once it's in ELPA, how do I maintain it? Can I keep
>> using github for the upstream since I'm so familiar with it?
> I guess, but it would require more work as you'd need to manually push it.
> Perhaps Dmitry (of Company) could explain how he handles it.

Yes, good idea. We can ask him after this mentoring phase: that's not a
blocker.

>>> (defvar darkroom-turns-on-visual-line-mode t
>> See above.  I think providing a hook is better.  People can add this
>> themselves 
> Yes, I got rid of it.  You probably also need a hook when exiting.  Or the
> functions in the hook are called with different argument when entering and
> exiting the minor-mode.

I didn't provide the hook. There is the minor mode hook that is normally
provided. Do you think any more are needed?

> (I did not reread your code).

I more or less expected you to, at least the diffs, or at least the new
"Commentary" header at the top, which explains the main functionality
that wasn't clear to you.

> Well, I'm going through your code.  Since my time is scare, I would rather
> get a quick hint about what the function is doing.  I won't have to guess
> everything then.

OK. Though, I would say understanding every little detail of the code is
unimportant at this step if you capture the overall functionality. You
didn't capture it, because I didn't describe it. Hence your other
questions, which I find more pertinent than this one at this stage.

>> I've removed it, since it didn't work very well, but the idea is that a
>> buffer in visual-line-mode (with soft wrapping of long lines), will
>> always enter darkroom-mode with nice margins that perfectly center the
>> text on the screen. A buffer with hard linebreaks (like this message) is
>> not perfect for darkroom-mode, since the margins won't center it.
> I agree.  Indeed if you can solve this issue it would be pretty cool.
>  [...]
> To me, larger font would be essential.  And indeed, a problem is the
> combination of auto-fill and larger font.  ATM I don't have a good idea on
> how to solve this.

We can ask here for solutions after this mentoring step is done: I'm
sure someone can come up with a solution.

>> Well, minus typo I did very briefly. But it should be clearer now from
>> the commits I did.
> OK, as long as your document it, it's fine.

I did. Hopefully well enough. But if you had a final quick look it would
be good. Then I can send another message to the list with the subject
line prefixed "[mentored]", with the final questions about the
outstanding problems and push it. (I should have write access to the
repo.).

>> It did. [ It did. ]
> both of you are happy, that's good!
We are all one now muahaha

João



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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-09 13:11                                           ` João Távora
@ 2014-12-09 14:56                                             ` Rasmus
  2014-12-10  0:54                                               ` Stefan Monnier
  2014-12-09 22:25                                             ` Rasmus
  1 sibling, 1 reply; 249+ messages in thread
From: Rasmus @ 2014-12-09 14:56 UTC (permalink / raw)
  To: joaotavora; +Cc: emacs-devel

First things first.

joaotavora@gmail.com (João Távora) writes:

>> (I did not reread your code).
>
> I more or less expected you to, at least the diffs, or at least the new
> "Commentary" header at the top, which explains the main functionality
> that wasn't clear to you.

OK, I will check this later.  ATM I need to work towards a deadline.

> Rasmus <rasmus@gmx.us> writes:
>> joaotavora@gmail.com (João Távora) writes:
>>
>>>    [ Hi Rasmus, I took it from your thorough review of the code that you
>>>    accept to mentor this, in the framework discussed earlier. In the
>>>    future, perhaps change the subject line to "mentoring".
>> I hit F, write the message and then click C-c C-c.  Did you not include
>> the [mentoring] line to begin with?
>
> No, I didn't. I used "[mentor-request]" hoping that a mentor would reply
> with "[mentoring]" to make the commitment. After a few "Re: [mentoring]"
> iterations, when it's done, change the subject again to "[mentored]". I
> state that you mentored it and ask for final comments or stuff you
> couldn't help with. If no blockers appear then, I or someone else
> commits it. We can document this somewhere later if we find it warrants
> it. Maybe it is too complicated, but think it's useful.

I guess it's nice, but it might be a bit to optimistic!

>>> Rasmus <rasmus@gmx.us> writes:
>>>     [ How convincing must the would-be-contributor be at this stage?
>>>     Won't opening with this question intimidate him/her? ]
>> Maybe.  This is the question my supervisor asks me every time I come up
>> with a new idea.  Indeed, it's a very unpleasant question, but one that
>> you need to consider no matter if you do code or try to write a thesis.
>
> OK. But he/she shouldn't be forced to make a bullet-proof case at this
> point, the main goal is to cleanup the contribution of blockers. After
> that its pertinence can be reevaluated. Of course, an objection would
> be: "why do all the mentoring work then?". I don't have an answer, but I
> still think its useful.

Nobody talks about bulletproof.  Here's a reason for your project: "the
current implementations do not center the contents and works poorly with
auto-fill-mode".  The idea is the first step, IMO.  Implementation can
then follow.  This is also why the commentary section is important.

>>>> Did you take care of the FSF paperwork?
>>>     [ I've contributed to Emacs earlier, so yes. Again should this
>>>       question be on top?]
>> Yeah, 'cause it takes time.  So the earlier the process the better.  If
>> you have not signed papers and do not intend to, I won't read your
>> patch.
>
> OK. Clearly, discovering if the author does not intend to do it is very
> important. But if he doesn't object, reading the patch is probably still
> useful in the meantime.

Sure.  The key is: "... have not signed papers *and do not intend to*".

>>> Where?
>> Check: http://www.emacswiki.org/emacs/ELPA#toc2
>
> Looks good indeed, though it states simply "Now you can push to the
> repo". A look at the linked "Making Packages" should tell where to place
> the file, for example, it doesn't. Perhaps I just need to mimic what
> other packages do there in the repo. Anyway I think those intructions
> could be improved, and made into a tutorial on how to add foo-mode.el to
> the ELPA repo.

OK.  I don't know the details (I don't have any ELPA-stuff), but the gist
is probably along:
     - You get access to the ELPA repo.
     - git clone <membername>@git.sv.gnu.org:/srv/git/emacs/elpa.git
     - make sure to read
       http://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/README
     - do your work and push it.  I think pixies rebuild packages
       automatically, but check the README.

>> Yes, I got rid of it.  You probably also need a hook when exiting.  Or the
>> functions in the hook are called with different argument when entering and
>> exiting the minor-mode.
>
> I didn't provide the hook. There is the minor mode hook that is normally
> provided. Do you think any more are needed?

IMO: Yes.  Cdlatex-org-mode is also a minor mode.  So is paredit.  I'm not
sure we want to use the same functions for these three projects.
E.g. visual-line-mode may be of interest to your mode, but not to paredit.
See `run-hook-with-args' and `run-hooks' and the like.

>> Well, I'm going through your code.  Since my time is scare, I would rather
>> get a quick hint about what the function is doing.  I won't have to guess
>> everything then.
>
> OK. Though, I would say understanding every little detail of the code is
> unimportant at this step if you capture the overall functionality. You
> didn't capture it, because I didn't describe it. Hence your other
> questions, which I find more pertinent than this one at this stage.

"I" could be your future self.  You just wrote 3 sentences about this
issue.  It's an opinion thing.  Gnus and Org has bunch of undocumented
functions, but it's nicer is there's one sentence on each function.

>>> I've removed it, since it didn't work very well, but the idea is that a
>>> buffer in visual-line-mode (with soft wrapping of long lines), will
>>> always enter darkroom-mode with nice margins that perfectly center the
>>> text on the screen. A buffer with hard linebreaks (like this message) is
>>> not perfect for darkroom-mode, since the margins won't center it.
>> I agree.  Indeed if you can solve this issue it would be pretty cool.
>>  [...]
>> To me, larger font would be essential.  And indeed, a problem is the
>> combination of auto-fill and larger font.  ATM I don't have a good idea on
>> how to solve this.
>
> We can ask here for solutions after this mentoring step is done: I'm
> sure someone can come up with a solution.

I will see if I can find a way to think about the centering display issue.
I do wonder if the window-width independence of font-size is a bug.  Note:
you might be able to estimate the actual width using `string-width` and
`{beginning, end}-of-visual-line'.

BTW: I remember having seen issues with auto-fill and large fonts.  Do you
have a reproducible example at hand?

> I did. Hopefully well enough. But if you had a final quick look it would
> be good. Then I can send another message to the list with the subject
> line prefixed "[mentored]", with the final questions about the
> outstanding problems and push it. (I should have write access to the
> repo.).

You are very keen on changing subject lines.  I will try to check your
code tonight.

—Rasmus

-- 
. . . It begins of course with The Internet.  A Net of Peers




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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-09 11:28                                       ` [mentoring] " João Távora
  2014-12-09 12:20                                         ` Rasmus
@ 2014-12-09 16:32                                         ` Phillip Lord
  1 sibling, 0 replies; 249+ messages in thread
From: Phillip Lord @ 2014-12-09 16:32 UTC (permalink / raw)
  To: João Távora; +Cc: Rasmus, emacs-devel

João Távora <joaotavora@gmail.com> writes:
>> I guess it should go to ELPA, but you need to improve it.
>
> OK, I'll improve it. Once it's in ELPA, how do I maintain it? Can I keep
> using github for the upstream since I'm so familiar with it?


I've just been through this with some of my packages (pabbrev and
omn-mode); they are in ELPA now as an external which seems to
work fairly well. I maintain it as I would normally, and just push
master up to github or ELPA (or both) as currently.

The only really difference is that to release I need to push a tag to
github (for melpa-stable), and bump the version number internally for
ELPA.

I wrote notes on this at the time, and will turn it into something
readable once my current workbomb has finished. But happy to try and
help before that if you want.

Phil



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

* Re: More metaproblem
  2014-12-08 21:23                                 ` Przemysław Wojnowski
@ 2014-12-09 16:54                                   ` Eli Zaretskii
  2014-12-10  9:16                                     ` Stephen Leake
  2014-12-10 19:46                                     ` Przemysław Wojnowski
  2014-12-10 20:09                                   ` Przemysław Wojnowski
  1 sibling, 2 replies; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-09 16:54 UTC (permalink / raw)
  To: Przemysław Wojnowski; +Cc: emacs-devel

> Date: Mon, 08 Dec 2014 22:23:10 +0100
> From: Przemysław Wojnowski <esperanto@cumego.com>
> 
> 1. How to build a project from source
> (http://lars.ingebrigtsen.no/2014/11/13/welcome-new-emacs-developers/ is a
> good start).

Is it different from INSTALL.REPO in the Emacs tree?

> 2. How to run (automated) tests - IMHO a must if a project want to be
> perceived as modern by young developers. Without automated tests young devs
> will think that project stuck in 80's. Moreover, automated tests enable
> refactoring, which is standard now. Writing tests is very good starting point
> for new devs, because one can learn about the system and make it more
> resistant to unintended changes at the same time.

Did you look in tests/ ?

> 4. GH has fantastic pull requests that make contribution easier to do and less
> public, which is encouraging. Here, sending patches to the list, is
> technically harder (less of a problem) and discouraging (send a patch and
> watch 100 emails humiliating you :-) ).

When did you see 100 humiliating emails in response to a patch?  I
think you have some other project/forum in mind.




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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-09 13:11                                           ` João Távora
  2014-12-09 14:56                                             ` Rasmus
@ 2014-12-09 22:25                                             ` Rasmus
  2014-12-11 11:22                                               ` João Távora
  1 sibling, 1 reply; 249+ messages in thread
From: Rasmus @ 2014-12-09 22:25 UTC (permalink / raw)
  To: joaotavora; +Cc: emacs-devel

joaotavora@gmail.com (João Távora) writes:

Some comments follow.  I did it quickly (as you may notice), but it still
took 1½ South Park episodes.

> ;;; darkroom.el --- Remove visual distractions and focus on writing  -*- lexical-binding: t; -*-

> ;; Copyright (C) 2014  João Távora

There's usually a clause somewhere about whether it's part of Emacs.  It's
probably not important.

> ;;; Commentary:

> ;; The main entrypoints to this extension are two minor modes

Colon IMO

> ;;
> ;;    M-x darkroom-mode
> ;;    M-x darkroom-tentative-mode
> ;;
> ;; The first makes current buffer to enter `darkroom-mode'
> ;; immediately: keeping the window configuration untouched, text is
> ;; enlarged, centered on the window with margins, and the modeline is
> ;; elided.

This paragraph is not clear and potentially tautologous.


> (defcustom darkroom-margins 0.15
>   "Margins to use in `darkroom-mode'.

> Its value can be:

> - a floating point value betweeen 0 and 1, specifies percentage of
>   window width in columns to use as a margin.

> - a cons cell (LEFT RIGHT) specifying the left and right margins
>   in columns.

> - a function of no arguments that returns a cons cell interpreted
>   like the previous option.

You might want to mention the function you wrote below.  Maybe it should
be default if you can sort out the FIXME  

> Value is effective when `darkroom-mode' is toggled, when
> changing window or by calling `darkroom-set-margins'"
>   :type 'float
>   :group 'darkroom)

So, there's both a function to calculate margins the possibility of
specifying it manually?  What takes priority?

> (defun darkroom-guess-margins ()
>   "Guess suitable margins for `darkroom-margins'.

I think there should be a blank line here.

> Collects some statistics about the buffer's line lengths, and
> apply a heuristic to figure out how wide to set the margins. If
> the buffer's paragraphs are mostly filled to `fill-column',
> margins should center it on the window, otherwise, margins of
> 0.15 percent are used."

Why the need for hardcoding?

>   ;;; FIXME: broken when darkroom-text-scale-increase is anything but
>   ;;; 0, since window-width ignores text scaling. Otherwise, a
>   ;;; suitable default to put in `darkroom-margins', I guess.

You can estimate the realized width rolling over some lines and measure.
Probably there's a more appropriate way of doing it.  

(save-excursion (- (progn (end-of-visual-line) (point))
                   (progn (beginning-of-visual-line) (point))))

Note, for understanding this you might get some insights from studying
`line-move' and `line-move-visual' (I don't know).

>   (if visual-line-mode
>       0.15
>     (let* ((window-width (window-width))
>            (line-widths (save-excursion
>                           (goto-char (point-min))
>                           (cl-loop for start = (point)
>                                    while (search-forward "\n"
>                                                          20000
>                                                          'no-error)
>                                    for width = (- (point) start 1)

I'm not sure this does what you want.  A quick test suggests it will find
the end of the line, not the "visual" end of the line.

You do you need to add this to the top of your file?

    (eval-when-compile (require 'cl))


>                                    unless (zerop width)
>                                    collect width)))
>            (_longest-width (cl-reduce #'max line-widths :initial-value 0))
>            (top-quartile-avg (cl-loop with n = (/ (length line-widths)
>                                                   4)
>                                       for width in (copy-sequence
>                                                     (sort line-widths #'>))
>                                       for i from 1 upto n
>                                       sum width into total
>                                       finally (return (/ total n 1.0)))))

This seems like overenginering.  What about something like this (not
tested, check that it works out with the floats).

(let ((n4 (/ (length n) 4)))
     (/ (apply '+ (subseq (sort line-width '>) 0 n4)) n4))

>       (cond
>        ((> top-quartile-avg
>            window-width)
>         (when (y-or-n-p
>                (format
>                 (mapconcat
>                  #'identity
>                  '("Long lines detected!"
>                    "(top 25%% average %s chars and window-width is %s)"
>                    "Perhaps turn on visual-line-mode for a better darkroom?")
>                  "\n")

Here you can use concat and format. . .  In general this functionally
seems a bit obstructive.  "Dont's ask me stuff..."

>                 top-quartile-avg window-width))
>           (visual-line-mode 1))
>         0.15)
>        ((> top-quartile-avg (* 0.9 fill-column))
>         (let ((margin (round (/ (- window-width top-quartile-avg) 2))))
>           (cons margin margin)))
>        (t
>         0.15)))))

I think you can simplify this and you should not hardcode .15.

> (defun darkroom-compute-margins ()
docstring, please.  What's the *idea* of this function. 

>   (let ((darkroom-margins
>          (if (functionp darkroom-margins)
>              (funcall darkroom-margins)
>            darkroom-margins)))
>     (cond ((consp darkroom-margins)
>            darkroom-margins)
>           ((and (floatp darkroom-margins)
>                 (< darkroom-margins 1))
>            (let ((delta (darkroom-float-to-columns darkroom-margins)))
>              (cons delta delta)))
>           (t
>            (error "Illegal value in `darkroom-margins'")))))



> (defun darkroom-float-to-columns (f)
>   (ceiling (* (let ((edges (window-edges)))
>                 (- (nth 2 edges) (nth 0 edges)))
>               f)))

(- (line-end-position) (line-beginning-position))

But you probably need to account for visual lines.

> (defvar darkroom-buffer-margins nil
>   "Buffer-local version of `darkroom-margins' defcustom.
> Set by `darkroom-set-margins'")

I think these should all be at the top of the file.

> (defun darkroom-set-margins (&optional margins)
>   "Set margins from MARGINS or `darkroom-buffer-margins'."
>   (let* ((window-configuration-change-hook nil))
>     (when margins
>       (when (null (car margins)) (setcar margins 0))
>       (when (null (cdr margins)) (setcdr margins 0)))
>     (set (make-local-variable 'darkroom-buffer-margins)
>          (or margins darkroom-buffer-margins))
>     (walk-windows #'(lambda (w)
>                       (when (eq (window-buffer w) (current-buffer))
>                         (setq fringes-outside-margins
>                               darkroom-fringes-outside-margins)
>                         ;; See description of
>                         ;; `fringes-outside-margins' for the reason
>                         ;; for this apparent noop
>                         (set-window-buffer w (current-buffer))
>                         (set-window-margins w (car darkroom-buffer-margins)
>                                             (cdr darkroom-buffer-margins))))
>                   nil
>                   'all-frames)))

Can't you use with-current-buffer?  The walk-windows seems excessive.  

You should test this when resizing windows and increasing fonts. . .

> (defun darkroom-increase-margins (increment)
>   (interactive (list darkroom-margin-increment))
>   (unless (and (consp darkroom-buffer-margins)
>                (numberp (car darkroom-buffer-margins))
>                (numberp (cdr darkroom-buffer-margins)))
>     (error "`darkroom-buffer-margins' corrupted. Must be a cons of numbers."))
>   (setcar darkroom-buffer-margins
>           (round (* (+ 1 increment) (car darkroom-buffer-margins))))
>   (setcdr darkroom-buffer-margins
>           (round (* (+ 1 increment) (cdr darkroom-buffer-margins))))

      (setq  darkroom-buffer-margins (cons · ·))

>   (darkroom-set-margins darkroom-buffer-margins))

> (defun darkroom-decrease-margins (decrement)

docstring

>   (interactive (list darkroom-margin-increment))
>   (darkroom-increase-margins (- decrement)))

> (defvar darkroom-mode-map

Top of file

>   (let ((map (make-sparse-keymap)))
>     (define-key map (kbd "C-M-+") 'darkroom-increase-margins)
>     (define-key map (kbd "C-M--") 'darkroom-decrease-margins)
>     map))

Ideally this should be unnecessary.  Maybe it should be called after
changing the font size or whatnot.

> (defvar darkroom-saved-mode-line-format nil)
> (defvar darkroom-saved-header-line-format nil)
> (defvar darkroom-saved-margins nil)

Top of file.  And docstring.

> (define-minor-mode darkroom-mode
>   "Remove visual distractions and focus on writing. When this
> mode is active, everything but the buffer's text is elided from
> view. The buffer margins are set so that text is centered on
> screen. Text size is increased (display engine allowing) by
> `darkroom-text-scale-increase'." nil nil nil
>   (cond (darkroom-mode
>          (set (make-local-variable 'darkroom-saved-margins) (window-margins))
>          (set (make-local-variable 'darkroom-saved-mode-line-format)
>               mode-line-format)
>          (set (make-local-variable 'darkroom-saved-header-line-format)
>               header-line-format)
>          (setq mode-line-format nil)
>          (setq header-line-format nil)
>          (text-scale-increase darkroom-text-scale-increase)
>          (darkroom-set-margins (darkroom-compute-margins))
>          (add-hook 'window-configuration-change-hook 'darkroom-set-margins
>                    nil t))
>         (t
>          (setq mode-line-format darkroom-saved-mode-line-format
>                header-line-format darkroom-saved-header-line-format)
>          (text-scale-decrease darkroom-text-scale-increase)

You need to actually record the size used before the mode is entered.  I
could increase the width after I enter darkroom. 

>          (let (darkroom-buffer-margins)
>            (darkroom-set-margins darkroom-saved-margins))
>          (remove-hook 'window-configuration-change-hook 'darkroom-set-margins
>                       t))))

> (defun darkroom-maybe-enable ()
>   (cond ((and (not darkroom-mode) (= (count-windows) 1))
>          (darkroom-mode 1))
>         ((and darkroom-mode (> (count-windows) 1))
>          (darkroom-mode -1))
>         (t
>          ;; (message "debug: buffer: %s windows: %s darkroom-mode: %s"
>          ;;          (current-buffer) (count-windows) darkroom-mode)
>          )))

You don't need the last clause.  Also, do you want to test if
(eq major-mode 'darkroom-mode) ?

Again, hope it helps.

—Rasmus

-- 
I feel emotional landscapes they puzzle me



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

* Re: the Emacs wiki
  2014-12-09  8:04                                 ` Nic Ferrier
@ 2014-12-09 22:28                                   ` Alexis
  2014-12-10 21:32                                     ` Nic Ferrier
  0 siblings, 1 reply; 249+ messages in thread
From: Alexis @ 2014-12-09 22:28 UTC (permalink / raw)
  To: emacs-devel


Nic Ferrier writes:

> That's right. I would like to help move the wiki to a nicer place than
> it is now but please note there are a whole bunch of people from whom
> the chaotic nature (in opposition to a controlled one) is the principle
> reason for using it.

Might it be possible/practical to have at least a /section/ of the wiki
set aside as a 'controlled' area for Emacs devs/maintainers to make use
of[1]?


Alexis.

[1] Should they feel it useful to do so, of course!



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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-09 14:56                                             ` Rasmus
@ 2014-12-10  0:54                                               ` Stefan Monnier
  2014-12-10  1:22                                                 ` Rasmus
  0 siblings, 1 reply; 249+ messages in thread
From: Stefan Monnier @ 2014-12-10  0:54 UTC (permalink / raw)
  To: Rasmus; +Cc: joaotavora, emacs-devel

>>> Yes, I got rid of it.  You probably also need a hook when exiting.  Or the
>>> functions in the hook are called with different argument when entering and
>>> exiting the minor-mode.
>> I didn't provide the hook. There is the minor mode hook that is normally
>> provided. Do you think any more are needed?
> IMO: Yes.  Cdlatex-org-mode is also a minor mode.  So is paredit.  I'm not
> sure we want to use the same functions for these three projects.
> E.g. visual-line-mode may be of interest to your mode, but not to paredit.
> See `run-hook-with-args' and `run-hooks' and the like.

I think João got it right here: define-minor-mode already defines a hook
for that particular minor mode and there shouldn't be a need to define
any extra one.


        Stefan



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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-10  0:54                                               ` Stefan Monnier
@ 2014-12-10  1:22                                                 ` Rasmus
  0 siblings, 0 replies; 249+ messages in thread
From: Rasmus @ 2014-12-10  1:22 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>>> exiting the minor-mode.
>>> I didn't provide the hook. There is the minor mode hook that is normally
>>> provided. Do you think any more are needed?
>> IMO: Yes.  Cdlatex-org-mode is also a minor mode.  So is paredit.  I'm not
>> sure we want to use the same functions for these three projects.
>> E.g. visual-line-mode may be of interest to your mode, but not to paredit.
>> See `run-hook-with-args' and `run-hooks' and the like.
>
> I think João got it right here: define-minor-mode already defines a hook
> for that particular minor mode and there shouldn't be a need to define
> any extra one.

Right. . .  Now I understand; Outsmarted by Emacs again.
Thanks!

—Rasmus

-- 
May contains speling mistake




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

* Re: [mentor-request] a darkroom/writeroom mode for Emacs
  2014-12-09 11:46                                       ` João Távora
  2014-12-09 12:45                                         ` joakim
@ 2014-12-10  2:39                                         ` Stephen J. Turnbull
  1 sibling, 0 replies; 249+ messages in thread
From: Stephen J. Turnbull @ 2014-12-10  2:39 UTC (permalink / raw)
  To: João Távora; +Cc: emacs-devel

João Távora writes:

 > Cc: esr@thyrsus.com,
 >     Eli Zaretskii <eliz@gnu.org>,
 >     phillip.lord@newcastle.ac.uk,
 >     "Stephen J. Turnbull" <turnbull@sk.tsukuba.ac.jp>

Please remove uninvolved 3rd parties from mentoring traffic.  You too,
Joakim.  Sheesh!  Mentors at least should know better.

I'm predicting an early demise of this experiment.




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

* Re: maintaining FSF Emacs web page
  2014-12-09 12:30                           ` Alex Schroeder
@ 2014-12-10  8:24                             ` Richard Stallman
  0 siblings, 0 replies; 249+ messages in thread
From: Richard Stallman @ 2014-12-10  8:24 UTC (permalink / raw)
  To: Alex Schroeder; +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. ]]]

  > Is control important?

We want to decide the message we communicate.

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

* Re: More metaproblem
  2014-12-09 16:54                                   ` Eli Zaretskii
@ 2014-12-10  9:16                                     ` Stephen Leake
  2014-12-10 19:46                                     ` Przemysław Wojnowski
  1 sibling, 0 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-10  9:16 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Mon, 08 Dec 2014 22:23:10 +0100
>> From: Przemysław Wojnowski <esperanto@cumego.com>
>> 
>> 1. How to build a project from source
>> (http://lars.ingebrigtsen.no/2014/11/13/welcome-new-emacs-developers/ is a
>> good start).
>
> Is it different from INSTALL.REPO in the Emacs tree?

INSTALL.REPO is mentioned in CONTRIBUTE.

>> 2. How to run (automated) tests - IMHO a must if a project want to be
>> perceived as modern by young developers. Without automated tests young devs
>> will think that project stuck in 80's. Moreover, automated tests enable
>> refactoring, which is standard now. Writing tests is very good starting point
>> for new devs, because one can learn about the system and make it more
>> resistant to unintended changes at the same time.
>
> Did you look in tests/ ?

We should mention that in the Emacs Developer's Manual (new name for
CONTRIBUTE).

-- 
-- Stephe



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

* Re: More metaproblem
  2014-12-09 16:54                                   ` Eli Zaretskii
  2014-12-10  9:16                                     ` Stephen Leake
@ 2014-12-10 19:46                                     ` Przemysław Wojnowski
  2014-12-10 20:48                                       ` Eli Zaretskii
  1 sibling, 1 reply; 249+ messages in thread
From: Przemysław Wojnowski @ 2014-12-10 19:46 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

W dniu 09.12.2014 o 17:54, Eli Zaretskii pisze:
>> Date: Mon, 08 Dec 2014 22:23:10 +0100 From: Przemysław Wojnowski
>> <esperanto@cumego.com>
>> 
>> 1. How to build a project from source 
>> (http://lars.ingebrigtsen.no/2014/11/13/welcome-new-emacs-developers/ is
>> a good start).
> 
> Is it different from INSTALL.REPO in the Emacs tree?
A bit. The blog has also good hints on installing deps:
sudo apt-get build-dep emacs24

>> 2. How to run (automated) tests - IMHO a must if a project want to be 
>> perceived as modern by young developers. Without automated tests young
>> devs will think that project stuck in 80's. Moreover, automated tests
>> enable refactoring, which is standard now. Writing tests is very good
>> starting point for new devs, because one can learn about the system and
>> make it more resistant to unintended changes at the same time.
> 
> Did you look in tests/ ?
Yes. It contains automated tests for elisp and IMHO instructions for new devs
should tell how to work with it.
What about tests for C code? IMHO even one test would be helpful, just to show
which test library should be used and how to run those tests.
AFAIK writing tests is standard way to join a project and gain knowledge about it.

>> 4. GH has fantastic pull requests that make contribution easier to do and
>> less public, which is encouraging. Here, sending patches to the list, is 
>> technically harder (less of a problem) and discouraging (send a patch
>> and watch 100 emails humiliating you :-) ).
> 
> When did you see 100 humiliating emails in response to a patch?  I think
> you have some other project/forum in mind.
It was just a metaphorical expression. I meant that it's discouraging to send
a patch seeing people fighting in other threads. Maybe for patches it's a bit
different - sorry, don't have time reading all emails on the list. :-|

Thanks for response,
Przemyslaw
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJUiKMJAAoJEC3CE3LuBFUoUNkQAIB57tQ8X3R3anqWjHQWIOLc
6AK0uD+MklOQm6TNz9oSau7p9BeNJsVyz4nBVBHyjmV3tScZPzs5H7TM2zEr0o24
UIijVIgWiyMc7gPkalReV8UwikB0h6BieZxqSlqDJT2waHPVvxrD3JOyGXEzD+ci
LLrBtiH/kcXdEYkkZZEVMPp+jIY6x050kZuALt/QiGGBxZM6MvvC47EDPpXL6xDH
hua7Epwdb+eh+nvwVaA/1uLvXS02GUeRigmygX1sXhYBrTuftrDMN9UkE5PhPIxx
ghm0eRk9qZ2Z7bMPiO914ikER6grBC7CvUDeoGPl9GbO9262dw3GleSU8yjdP3Lf
068HNQ5CKDDu3ieO/+PaT2a7BZqkWDg8zs9NhCNLNiKa1GE5JlAJBSh11Pw8jueR
mtBHhC0wJ5626LEzIRxanh88lT4LiqFiYyHr0nxTJsPNA9L9VdXYouj15eSWeUHH
AGt9puKuNxwmbC/0reAK1T8WMdUqb4uJCg673HY5pSy2qaF0wicEQBjX6ztCvgZa
CLhYbDUy51cGfldbaHleZxE90u0A7V1dzQmfCxYNaVOABjW3RIo+ebJlLMHa/DbX
eJGm/NDtuL75EV7mNmzpTF9LNDHPKbbGSxEqLr1IevHot9uGio503fGMZgcYaP7X
4wMwMoneeHbvckeQlp2x
=mnyd
-----END PGP SIGNATURE-----



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

* Re: More metaproblem
  2014-12-08 21:23                                 ` Przemysław Wojnowski
  2014-12-09 16:54                                   ` Eli Zaretskii
@ 2014-12-10 20:09                                   ` Przemysław Wojnowski
  2014-12-10 20:28                                     ` Stefan Monnier
  1 sibling, 1 reply; 249+ messages in thread
From: Przemysław Wojnowski @ 2014-12-10 20:09 UTC (permalink / raw)
  To: emacs-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

W dniu 08.12.2014 o 22:23, Przemysław Wojnowski pisze:
> Hi.
[...]
> 3. What are coding conventions, if are not language-wide (K&R for C?, what 
> about elisp?).
Coding standards are mentioned in CONTRIBUTE. Sorry, my bad.
I've found also the following:
https://github.com/bbatsov/emacs-lisp-style-guide
But don't know if you use it.

> How about clean code 
> (http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882)?
>
> 
Can split a long function into couple cohesive ones or you don't care about
> readability?
What about this one? Is refactoring to small, cohesive functions accepted?
For example function abbrev--before-point from the first elisp file abbrev.el
is quite big and I can imagine it's hard to test automatically. It could be
split into couple smaller ones on single level of abstraction. Such functions
would be easier to test and understand.

Cheers,
Przemyslaw
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJUiKh/AAoJEC3CE3LuBFUoHlkQAI1uB3u1g/S/fPD7dZIQaeEU
bRw6UbgmgFQJO+V2RJhkh0T+mfTvXUX9GoLVcVEgOdh7QBF435svgW4OXQt7S6tH
pXmXNhBWO7cqiKeoLyzJp3Il7E5mdvaqREGnxeuXQ0KBgipWW06/24U4oprudF6a
ntHjNyfSGlq8/hjR9uURQmNDvT5WS4FE3XtmOw+q0pWpnxh01eNHaepFXQY5qjOK
6MwhauveL5QmvMXbEIu7yYc+MYbWHscr1pRYBMjrM3GWJDjX0C/inriWiIlrZqXQ
cxq5jWXEh0wBEG3P89RCr3ppfgtwuHq3zZJNERJDrOR2fmtSw+vQXnD/8ds8Yw8Y
k9zkIR6H/rD8NVUMSlFzXGeDuA0sr4t/XH9l9cMt0sedkZ2B3/WUzYTRENmdJAro
mkoCZLTLjl0qP5YezRm3ONRwlwp8EVWLBSgC2AFqxP0/boMqIZ27NRrfoT8ohi/9
iWWKPjbZRsqC9xcvLFT+UxUJo/vNyFKBtxHKyxLB3M2K9jmCbQYZDRTAdj1BjmPj
mg+VtUDaEAmgiejHPh0ZCVNig+DCV6xBC6Klv3b9c0csXZgjKBFqgyb1PTKzlMOM
Y8vTaRSwONHTHv6uoY2FVHWS67TGYmjLpUT+VWDR+5L0PIFWwexEFH6ooUs2nT/Y
KK2Af4FdBQOevB0JS1lo
=z/B5
-----END PGP SIGNATURE-----



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

* Re: More metaproblem
  2014-12-10 20:09                                   ` Przemysław Wojnowski
@ 2014-12-10 20:28                                     ` Stefan Monnier
  0 siblings, 0 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-10 20:28 UTC (permalink / raw)
  To: Przemysław Wojnowski; +Cc: emacs-devel

> What about this one? Is refactoring to small, cohesive functions
> accepted?  For example function abbrev--before-point from the first
> elisp file abbrev.el is quite big and I can imagine it's hard to test
> automatically.  It could be split into couple smaller ones on single
> level of abstraction.  Such functions would be easier to test
> and understand.

Indeed, we have a good number of functions that are too large for
good taste.  I generally like breaking them up when I find a way to do
it cleanly.


        Stefan



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

* Re: More metaproblem
  2014-12-10 19:46                                     ` Przemysław Wojnowski
@ 2014-12-10 20:48                                       ` Eli Zaretskii
  2014-12-10 22:10                                         ` Stefan Monnier
  0 siblings, 1 reply; 249+ messages in thread
From: Eli Zaretskii @ 2014-12-10 20:48 UTC (permalink / raw)
  To: Przemysław Wojnowski; +Cc: emacs-devel

> Date: Wed, 10 Dec 2014 20:46:25 +0100
> From: Przemysław Wojnowski <esperanto@cumego.com>
> CC: emacs-devel@gnu.org
> 
> > Did you look in tests/ ?
> Yes. It contains automated tests for elisp and IMHO instructions for new devs
> should tell how to work with it.
> What about tests for C code?

Some of the tests test that as well.  There's no difference, really.




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

* Re: the Emacs wiki
  2014-12-09 22:28                                   ` Alexis
@ 2014-12-10 21:32                                     ` Nic Ferrier
  0 siblings, 0 replies; 249+ messages in thread
From: Nic Ferrier @ 2014-12-10 21:32 UTC (permalink / raw)
  To: Alexis; +Cc: emacs-devel

Alexis <flexibeast@gmail.com> writes:

> Nic Ferrier writes:
>
>> That's right. I would like to help move the wiki to a nicer place than
>> it is now but please note there are a whole bunch of people from whom
>> the chaotic nature (in opposition to a controlled one) is the principle
>> reason for using it.
>
> Might it be possible/practical to have at least a /section/ of the wiki
> set aside as a 'controlled' area for Emacs devs/maintainers to make use
> of[1]?

All sorts of things might be possible.

The current software might find that difficult... basically it's mostly
one guy making it. But he might be happy to help.

I and another chap are slowly making an alternative (but supporting)
wiki server. But I'm bogged down in work again now and won't be free for
months.


Nic



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

* Re: More metaproblem
  2014-12-10 20:48                                       ` Eli Zaretskii
@ 2014-12-10 22:10                                         ` Stefan Monnier
  0 siblings, 0 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-10 22:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Przemysław Wojnowski, emacs-devel

> Some of the tests test that as well.  There's no difference, really.

There is.  Currently, we don't have any C-level tests, so if you want to
test C code, you have to do it via Elisp-level tests, which of course
only works if you can reliably trigger the C code from Elisp.

It would be good to start adding C-level tests.


        Stefan



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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-09 22:25                                             ` Rasmus
@ 2014-12-11 11:22                                               ` João Távora
  2014-12-11 17:15                                                 ` Stefan Monnier
  2014-12-11 18:33                                                 ` Rasmus
  0 siblings, 2 replies; 249+ messages in thread
From: João Távora @ 2014-12-11 11:22 UTC (permalink / raw)
  To: Rasmus; +Cc: emacs-devel

Rasmus <rasmus@gmx.us> writes:

>> ;; Copyright (C) 2014  João Távora
> There's usually a clause somewhere about whether it's part of Emacs.  It's
> probably not important.

That's what M-x auto-insert gave me. I should assign it to the FSF
though.

> This paragraph is not clear and potentially tautologous.

The opening tautology is necessary to diffentiate it from
`darkroom-tentative-mode'. I wonder what else is not clear, but I have
rewritten it.

> You might want to mention the function you wrote below.  Maybe it should
> be default if you can sort out the FIXME

Yes, I had that in mind.

>> Value is effective when `darkroom-mode' is toggled, when
>> changing window or by calling `darkroom-set-margins'"
>>   :type 'float
>>   :group 'darkroom)
> So, there's both a function to calculate margins the possibility of
> specifying it manually?  What takes priority?

You found a bug, that second part of the docstring no longer applies.

>> (defun darkroom-guess-margins ()
>>   "Guess suitable margins for `darkroom-margins'.
> I think there should be a blank line here.

I don't think Emacs uses that particular blank, but OK.

>> Collects some statistics about the buffer's line lengths, and
>> apply a heuristic to figure out how wide to set the margins. If
>> the buffer's paragraphs are mostly filled to `fill-column',
>> margins should center it on the window, otherwise, margins of
>> 0.15 percent are used."

> Why the need for hardcoding?

To make time for southpark. Also it's cold, typing hurts and naming
variables is hard. I've fixed it.

>>   ;;; FIXME: broken when darkroom-text-scale-increase is anything but
>>   ;;; 0, since window-width ignores text scaling. Otherwise, a
>>   ;;; suitable default to put in `darkroom-margins', I guess.
>
> You can estimate the realized width rolling over some lines and measure.
> Probably there's a more appropriate way of doing it.  
>
> (save-excursion (- (progn (end-of-visual-line) (point))
>                    (progn (beginning-of-visual-line) (point))))
>
> Note, for understanding this you might get some insights from studying
> `line-move' and `line-move-visual' (I don't know).

It helped. I dealt with the FIXME with the ultra-horrible
`darkroom--real-window-width'. It fixes `window-width' basically. Seems
to work. The above won't work because I need to know about window
geometry, not line geometry. Unless there's a very big line. And that's
how `darkroom--real-window-width' hacks it.

>>     (let* ((window-width (window-width))
>>            (line-widths (save-excursion
> I'm not sure this does what you want.  A quick test suggests it will find
> the end of the line, not the "visual" end of the line.

Yes, but I want to collect actual line widths here. 

> You do you need to add this to the top of your file?
>
>     (eval-when-compile (require 'cl))

I don't think I need it. I use no compile-time cl-functions.

> This seems like overenginering.  What about something like this (not
> tested, check that it works out with the floats).

> (let ((n4 (/ (length n) 4)))
>      (/ (apply '+ (subseq (sort line-width '>) 0 n4)) n4))

Cleaner, needs cl-subseq..

>>                    "Perhaps turn on visual-line-mode for a better darkroom?")
>>                  "\n")
> Here you can use concat and format. . .  In general this functionally
> seems a bit obstructive.  "Dont's ask me stuff..."

OK removed it and replaced with a message.

>
>>                 top-quartile-avg window-width))
>>           (visual-line-mode 1))
>>         0.15)
>>        ((> top-quartile-avg (* 0.9 fill-column))
>>         (let ((margin (round (/ (- window-width top-quartile-avg) 2))))
>>           (cons margin margin)))
>>        (t
>>         0.15)))))
>
> I think you can simplify this and you should not hardcode .15.

Ideas welcome, I didn't think much about the heuristic, this one worked
ok. I fixed the hardcoding.

>> (defun darkroom-compute-margins ()
> docstring, please.  What's the *idea* of this function.

It's an internal function (what version of code were you looking
at). It, well, computes margins. This is a big discusison, but while I
very much sympathise with your thoroughness in documentation, docstrings
should explain the "what" carefully avoiding the "how", so you can
change that later. For internal functions, it might be a good idea to
leave them out, rather than risk them getting out of date, or hindering
others from redesigning your code. I know this from experience. Anyway,
to please my mentor, I added a docstring :-)

>> (defun darkroom-float-to-columns (f)
>>   (ceiling (* (let ((edges (window-edges)))
>>                 (- (nth 2 edges) (nth 0 edges)))
>>               f)))
>
> (- (line-end-position) (line-beginning-position))

No. Here I'm concerned with the window geometry, not the current line's
geometry.

>> (defvar darkroom-buffer-margins nil
>>   "Buffer-local version of `darkroom-margins' defcustom.
>> Set by `darkroom-set-margins'")
>
> I think these should all be at the top of the file.

I prefer nearer the users. Unless the file gets big and demands a
particular structure, in which case I try to first separate by
functionality, not programming construct.

>>     (walk-windows #'(lambda (w)
>>                       (when (eq (window-buffer w) (current-buffer))
>>                   'all-frames)))
>
> Can't you use with-current-buffer?  The walk-windows seems excessive.

Keep in mind I need to affect all windows that display that buffer. There
might be several.

> You should test this when resizing windows and increasing fonts. . .

You're right. I'll do that before I submit. Did you test it?

>>   (setcdr darkroom-buffer-margins
>>           (round (* (+ 1 increment) (cdr darkroom-buffer-margins))))
>       (setq  darkroom-buffer-margins (cons · ·))

I could, but there's no big benefit and this also make the consness
explicit.

>> (defun darkroom-decrease-margins (decrement)
> docstring

You either weren't looking at the latest version, or I didn't push it.

>>   (let ((map (make-sparse-keymap)))
>>     (define-key map (kbd "C-M-+") 'darkroom-increase-margins)
>>     (define-key map (kbd "C-M--") 'darkroom-decrease-margins)
>>     map))
>
> Ideally this should be unnecessary.  Maybe it should be called after
> changing the font size or whatnot.

Well, the user might want to tweak it for some reason. But yes,
`darkroom--set-margins' should be called from more hooks.

>> (defvar darkroom-saved-mode-line-format nil)
>> (defvar darkroom-saved-header-line-format nil)
>> (defvar darkroom-saved-margins nil)
>
> Top of file.  And docstring.

Docstring done.

>>         (t
>>          (setq mode-line-format darkroom-saved-mode-line-format
>>                header-line-format darkroom-saved-header-line-format)
>>          (text-scale-decrease darkroom-text-scale-increase)
>
> You need to actually record the size used before the mode is entered.  I
> could increase the width after I enter darkroom.

I started to implement this, then realized, maybe it needn't be so,
because it works by increments. Did you try it?

>>         (t
>>          ;; (message "debug: buffer: %s windows: %s darkroom-mode: %s"
>>          ;;          (current-buffer) (count-windows) darkroom-mode)
>>          )))
>
> You don't need the last clause.  Also, do you want to test if
> (eq major-mode 'darkroom-mode) ?

Keep it there for future debugging. I don't understand. `darkroom-mode'
is a minor mode.

> Some comments follow.  I did it quickly (as you may notice), but it still
> took 1½ South Park episodes.

Which ones are you watching?

João



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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-11 11:22                                               ` João Távora
@ 2014-12-11 17:15                                                 ` Stefan Monnier
  2014-12-12 11:19                                                   ` João Távora
  2014-12-11 18:33                                                 ` Rasmus
  1 sibling, 1 reply; 249+ messages in thread
From: Stefan Monnier @ 2014-12-11 17:15 UTC (permalink / raw)
  To: João Távora; +Cc: Rasmus, emacs-devel

>>> (walk-windows #'(lambda (w)
>>> (when (eq (window-buffer w) (current-buffer))
>>> 'all-frames)))
>> Can't you use with-current-buffer?  The walk-windows seems excessive.
> Keep in mind I need to affect all windows that display that buffer. There
> might be several.

[ Haven't really read all the message, but this just jumped at me.  ]

Why not get-buffer-window-list?


        Stefan



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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-11 11:22                                               ` João Távora
  2014-12-11 17:15                                                 ` Stefan Monnier
@ 2014-12-11 18:33                                                 ` Rasmus
  2014-12-12 11:16                                                   ` João Távora
  1 sibling, 1 reply; 249+ messages in thread
From: Rasmus @ 2014-12-11 18:33 UTC (permalink / raw)
  To: joaotavora; +Cc: emacs-devel

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

joaotavora@gmail.com (João Távora) writes:

>> This paragraph is not clear and potentially tautologous.
>
> The opening tautology is necessary to diffentiate it from
> `darkroom-tentative-mode'. I wonder what else is not clear, but I have
> rewritten it.

It's better now.

This is how I use it BTW:

(autoload 'darkroom-mode "darkroom" nil t)
(when (fboundp 'darkroom-mode) (global-set-key [f6] 'darkroom-mode))

(with-eval-after-load 'darkroom
  (setq darkroom-text-scale-increase 3)
  (add-hook 'darkroom-mode-hook 'variable-pitch-mode))

This also shows the problem with the hook that I spoke of earlier.  If I
for some reason have variable-pitch-mode enabled I will get disabled.  Of
course, I could just make a more sophisticated λ testing the value of
darkroom-mode.  So probably just stick with the default hook.

Changing theme could be another possibility, though I'm not sure one can
load a theme for single buffer...

>>>   ;;; FIXME: broken when darkroom-text-scale-increase is anything but
>>>   ;;; 0, since window-width ignores text scaling. Otherwise, a
>>>   ;;; suitable default to put in `darkroom-margins', I guess.
>>
>> You can estimate the realized width rolling over some lines and measure.
>> Probably there's a more appropriate way of doing it.  
>>
>> (save-excursion (- (progn (end-of-visual-line) (point))
>>                    (progn (beginning-of-visual-line) (point))))
>>
>> Note, for understanding this you might get some insights from studying
>> `line-move' and `line-move-visual' (I don't know).
>
> It helped. I dealt with the FIXME with the ultra-horrible
> `darkroom--real-window-width'. It fixes `window-width' basically. Seems
> to work. The above won't work because I need to know about window
> geometry, not line geometry. Unless there's a very big line. And that's
> how `darkroom--real-window-width' hacks it.

OK.  I must have mixed up the intention of this logic.  I will recheck
this at the moment.


Dogfooding you code, I find that the margin adjustment (still?) does not
work well on small screens when font-size is increased.  And font-size
increase is pretty central, IMO.


[-- Attachment #2: Screenshot from 2014-12-11 18:58:51.png --]
[-- Type: image/png, Size: 33062 bytes --]

[-- Attachment #3: Type: text/plain, Size: 5019 bytes --]


In the screenshot I have Emacs take up half of my screen (1440x900).  As
you can see, for this setting the margin is way to big.  This is using the
standard setting.  So the heuristic is not very good.  You write

    "If the buffer's paragraphs are mostly filled to `fill-column',
     margins should center it on the window, otherwise, margins of 0.15 percent
     are used."

When you have at least auto-fill, the objective should be something like
this I guess (I didn't think carefully about it):

(*)  Margin* = argmin  abs{real-line-with - shown-line-width(margin; font-size)}

where ";" reads "given" or "for fixed".  Maybe with some weight on margin
itself as well for aesthetic reasons (so + λ f(margin)).  In the
screenshot the margins are definitely too wide as it hinders a good
writing environment contrary to the objective.

I guess this is why I talk about the width of virtual lines (which are
functions of font-size and actual width).  Of course, the easiest way to
solve (*) is recursively.  I don't know if that works well with the
display engine, though.

I will go through `darkroom-guess-margins' again later.  I havne't got the
time right now.

>>>                 top-quartile-avg window-width))
>>>           (visual-line-mode 1))
>>>         0.15)
>>>        ((> top-quartile-avg (* 0.9 fill-column))
>>>         (let ((margin (round (/ (- window-width top-quartile-avg) 2))))
>>>           (cons margin margin)))
>>>        (t
>>>         0.15)))))
>>
>> I think you can simplify this and you should not hardcode .15.
>
> Ideas welcome, I didn't think much about the heuristic, this one worked
> ok. I fixed the hardcoding.

See discussion above.  IMO, this is not working well (but probably *also*
*not worse* than other packages with the same objective!).

>>> (defun darkroom-compute-margins ()
>> docstring, please.  What's the *idea* of this function.
>
> It's an internal function (what version of code were you looking
> at). It, well, computes margins. This is a big discusison, but while I
> very much sympathise with your thoroughness in documentation, docstrings
> should explain the "what" carefully avoiding the "how", so you can
> change that later. For internal functions, it might be a good idea to
> leave them out, rather than risk them getting out of date, or hindering
> others from redesigning your code. I know this from experience. Anyway,

What is what I call *idea*.  It's easier for me to read the current
*implementation* when I know what the *purpose/expected outcome*
of the function is.  We are arguing for the same thing, I think. 

>>> (defun darkroom-float-to-columns (f)
>>>   (ceiling (* (let ((edges (window-edges)))
>>>                 (- (nth 2 edges) (nth 0 edges)))
>>>               f)))
>>
>> (- (line-end-position) (line-beginning-position))
>
> No. Here I'm concerned with the window geometry, not the current line's
> geometry.

OK, I have to go back and understand why you care about window geometry.
I'm clearly missing part of the idea.

>>>   (let ((map (make-sparse-keymap)))
>>>     (define-key map (kbd "C-M-+") 'darkroom-increase-margins)
>>>     (define-key map (kbd "C-M--") 'darkroom-decrease-margins)
>>>     map))
>>
>> Ideally this should be unnecessary.  Maybe it should be called after
>> changing the font size or whatnot.
>
> Well, the user might want to tweak it for some reason. But yes,
> `darkroom--set-margins' should be called from more hooks.



>>>         (t
>>>          (setq mode-line-format darkroom-saved-mode-line-format
>>>                header-line-format darkroom-saved-header-line-format)
>>>          (text-scale-decrease darkroom-text-scale-increase)
>>
>> You need to actually record the size used before the mode is entered.  I
>> could increase the width after I enter darkroom.
>
> I started to implement this, then realized, maybe it needn't be so,
> because it works by increments. Did you try it?

It's a taste question then.  Enter darkroom increase font size n times.
Leave darkroom.  Now the font size is increased by n compared to when I
entered darkroom.  It could be a feature.  Another feature could "be what
happens in the dark room stays in the dark room".


I will comment more later.

—Rasmus

PS: 
>> Some comments follow.  I did it quickly (as you may notice), but it still
>> took 1½ South Park episodes.
>
> Which ones are you watching?

The two latest episodes.

>> Why the need for hardcoding?
>
> To make time for southpark. Also it's cold, typing hurts and naming
> variables is hard. I've fixed it.

It's getting colder, yes, and it's flabbergasting how Iberian[or at least
Catalonian(?)] houses do not have heating!

> to please my mentor, I added a docstring :-)

I find the title uncomfortable as it suggests I'd have greater insights,
which is probably (as in →ₐₛ) not the case; rather it's peer reviewing.

—Rasmus

-- 
Bang bang

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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-11 18:33                                                 ` Rasmus
@ 2014-12-12 11:16                                                   ` João Távora
  2014-12-12 12:09                                                     ` Rasmus
                                                                       ` (2 more replies)
  0 siblings, 3 replies; 249+ messages in thread
From: João Távora @ 2014-12-12 11:16 UTC (permalink / raw)
  To: Rasmus; +Cc: emacs-devel

Rasmus <rasmus@gmx.us> writes:

> This also shows the problem with the hook that I spoke of earlier.  If I
> for some reason have variable-pitch-mode enabled I will get disabled.

I going to say this is a bug in `variable-pitch-mode', since I read
somewhere (Stefan?) that a minor mode should always turn itself *on* when
called with a nil argument, precisely to support use cases such as
yours.

> Changing theme could be another possibility, though I'm not sure one can
> load a theme for single buffer...

I don't think one can, at least with "custom themes". I think "color
themes" used to provide that possibility, so the needed functionality
should be in Emacs. Perhaps someone wants to open that can of worms.

> Dogfooding you code, I find that the margin adjustment (still?) does not
> work well on small screens when font-size is increased.  And font-size
> increase is pretty central, IMO.

Can you provide a specific example?

> In the screenshot I have Emacs take up half of my screen (1440x900).  As
> you can see, for this setting the margin is way to big.  This is using the
> standard setting.  So the heuristic is not very good.  You write

Is the image provided in the screenshot resized? What did you expect the
image to be?

>     "If the buffer's paragraphs are mostly filled to `fill-column',
>      margins should center it on the window, otherwise, margins of 0.15 percent
>      are used."
>
> When you have at least auto-fill, the objective should be something like
> this I guess (I didn't think carefully about it):

We may be miscommunicating. I'm not checking for `auto-fill-mode'
anywhere. In `darkroom-guess-margins', I'm looking at statistics for the
real line lengths and estimating if the paragraphs are (mostly) filled
to `fill-column', be it with manual `fill-paragraph' or `auto-fill-mode'
maybe.

The intent of `darkroom-guess-margins' is then to choose suitable
margins to center on the window (not necessarily the "screen" or the
"frame"), without truncation, what it thinks are the main parts of your
text, possibly truncating (or adding "continuation lines") on any
spurious or exceptionally long lines.

This it does iff visual-line-mode is inactive. If it is active, it just
assumes that you want 0.15 (or `darkroom-margins-if-failed-guess'). It
also uses 0.15 if the guessing somehow "fails".

> (*)  Margin* = argmin  abs{real-line-with - shown-line-width(margin; font-size)}
>
> where ";" reads "given" or "for fixed".  Maybe with some weight on margin
> itself as well for aesthetic reasons (so + λ f(margin)).  In the
> screenshot the margins are definitely too wide as it hinders a good
> writing environment contrary to the objective.
>
> I guess this is why I talk about the width of virtual lines (which are
> functions of font-size and actual width).  Of course, the easiest way to
> solve (*) is recursively.  I don't know if that works well with the
> display engine, though.
>
> I will go through `darkroom-guess-margins' again later.  I havne't got the
> time right now.

Well, I'm not following your algorithm (though I admit I didn't try
super hard). Best would be to create fixture files that we know should
produce a certain correct behaviour. So, if I send you this very
paragraph, and run `darkroom-guess-margins' in a window that is 100
columns long (assuming `window-width' now knows afound font size), I
should (at least I want to) get left and right margins of 15 columns
each. So I could place this text in a file called
"darkroom-fixture-a-100-15-15.txt" and use that in an automated
test. Can you provide me with
"darkroom-fixture-<b-z>-<window-width>-<lmargin>-<rmargin>.txt" so I can
understand what kind of margin calculations you are talking about?

I can then create automated tests from this with ert-deftest.

> See discussion above.  IMO, this is not working well (but probably *also*
> *not worse* than other packages with the same objective!).

If we later find that we disagree in the heuristic, we can provide two
and let the user decide which one he wants.

Anyway I have a big thinko in darkroom.el. Window margins must be
calculated by window, not by buffer, because they're a property of
windows. I'm fixing that first.

>> To make time for southpark. Also it's cold, typing hurts and naming
>> variables is hard. I've fixed it.
> It's getting colder, yes, and it's flabbergasting how Iberian[or at least
> Catalonian(?)] houses do not have heating!

Iberian peninsula is big and has many weather types. The coldest it gets
in portugal is about +5c for about a month, so unless you're rich and
enjoy tshirting in the winter and think global warming is a cool new
club, you don't have heating and pine for the summer. I'm just lazy to
get a blanket.

>> to please my mentor, I added a docstring :-)
> I find the title uncomfortable as it suggests I'd have greater insights,
> which is probably (as in →ₐₛ) not the case; rather it's peer
> reviewing.

Sorry, but play along. Though I'll include this factor in the mentoring
conclusions, perhaps "[peer review]" would make a better tag.

Anyway this review (also tellingly) got very sidetracked into the
implementation details. Can I assume you are more or less happy with the
procedural and cosmetic aspects of darkroom.el that the "mentoring" part
is over? Then I might officially propose darkroom.el to elpa.git.n I've
already cloned the repo and have a reasonable idea how to commit
it. Then others that others can chime in about the implementation
(Stefan has already been doing so).

J



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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-11 17:15                                                 ` Stefan Monnier
@ 2014-12-12 11:19                                                   ` João Távora
  0 siblings, 0 replies; 249+ messages in thread
From: João Távora @ 2014-12-12 11:19 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Rasmus, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> Why not get-buffer-window-list?

Probably because I didn't know it existed, thanks.

João



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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-12 11:16                                                   ` João Távora
@ 2014-12-12 12:09                                                     ` Rasmus
  2014-12-15 12:01                                                       ` [mentoring-done] " João Távora
  2014-12-12 14:27                                                     ` [mentoring] " Drew Adams
  2014-12-12 14:38                                                     ` Stefan Monnier
  2 siblings, 1 reply; 249+ messages in thread
From: Rasmus @ 2014-12-12 12:09 UTC (permalink / raw)
  To: emacs-devel

Hi,

joaotavora@gmail.com (João Távora) writes:
>> This also shows the problem with the hook that I spoke of earlier.  If I
>> for some reason have variable-pitch-mode enabled I will get disabled.
>
> I going to say this is a bug in `variable-pitch-mode', since I read
> somewhere (Stefan?) that a minor mode should always turn itself *on* when
> called with a nil argument, precisely to support use cases such as
> yours.

Perhaps, the correct name would be `toggle-variable-pitch-mode'.  Which is
what is needed here.

>> In the screenshot I have Emacs take up half of my screen (1440x900).  As
>> you can see, for this setting the margin is way to big.  This is using the
>> standard setting.  So the heuristic is not very good.  You write
>
> Is the image provided in the screenshot resized? What did you expect the
> image to be?

Only cropped.  I expect the margins to be less wide.  Here's a comparison
between my normal view (right) and darkroom-view.  I use visual-line /and/
auto-fill.  When disabling visual-line-mode the margins are the same, but
I have to scroll left to see the whole line.

  http://i.imgur.com/ayvHqAW.png

The correct margin would (guesstimating) be somewhere between 0 and 2
characters here...

>>     "If the buffer's paragraphs are mostly filled to `fill-column',
>>      margins should center it on the window, otherwise, margins of 0.15 percent
>>      are used."
>>
>> When you have at least auto-fill, the objective should be something like
>> this I guess (I didn't think carefully about it):
>
> We may be miscommunicating. I'm not checking for `auto-fill-mode'
> anywhere. In `darkroom-guess-margins', I'm looking at statistics for the
> real line lengths and estimating if the paragraphs are (mostly) filled
> to `fill-column', be it with manual `fill-paragraph' or `auto-fill-mode'
> maybe.
>
> The intent of `darkroom-guess-margins' is then to choose suitable
> margins to center on the window (not necessarily the "screen" or the
> "frame"), without truncation, what it thinks are the main parts of your
> text, possibly truncating (or adding "continuation lines") on any
> spurious or exceptionally long lines.

OK.  Makes sense.  I think we have different problems in mind.  You are
talking of margin-width for centering-purposes, I'm talking of
margin-width to minimize annoyance (see below).

> This it does iff visual-line-mode is inactive. If it is active, it just
> assumes that you want 0.15 (or `darkroom-margins-if-failed-guess'). It
> also uses 0.15 if the guessing somehow "fails".

IMO this is wrong (but I guess what all other similar modes does as well).
It should choose margin so that the realized line with is approximately
the same as the real line width or so that the difference is as small as
possible.  This matters for small windows.  So, to center you need the
window geometry.  To choose the width, IMO, you need to look at the
difference between line width (be it visual or not) and realized width (in
the same of visual-line-mode).

> Well, I'm not following your algorithm (though I admit I didn't try
> super hard). Best would be to create fixture files that we know should
> produce a certain correct behaviour. So, if I send you this very
> paragraph, and run `darkroom-guess-margins' in a window that is 100
> columns long (assuming `window-width' now knows afound font size), I
> should (at least I want to) get left and right margins of 15 columns
> each. So I could place this text in a file called
> "darkroom-fixture-a-100-15-15.txt" and use that in an automated
> test. Can you provide me with
> "darkroom-fixture-<b-z>-<window-width>-<lmargin>-<rmargin>.txt" so I can
> understand what kind of margin calculations you are talking about?

As above, margin should /not/ be fixed a priori.  Rather, (and IMO) they
should be set to not be intrusive given the text.  Then centered.  what I
want is maybe too complicated, but I think it would be nice.

> Anyway this review (also tellingly) got very sidetracked into the
> implementation details. 

I don't understand the 'tellingly' here.

> Can I assume you are more or less happy with the procedural and cosmetic
> aspects of darkroom.el that the "mentoring" part is over? Then I might
> officially propose darkroom.el to elpa.git.n I'v already cloned the repo
> and have a reasonable idea how to commit it.

As you prefer.  Updates in ELPA are cheap.  Just change the version number
and push.

I have been working on a bug/patch for Org, but I'll look more into this
area of your code once I've tested that patch more.

I'll try to find time to go over it in the weekend and try to solve my
pet-grief as explained above (unless you bet me to it!).

> Then others that others can chime in about the implementation
> (Stefan has already been doing so).

I think they can already do so.  But everybody has got their own
constrains and issues to solve.  In general, I think the 'peer-review'
might be better in the sense that top-contributors may already have enough
on their plate as it is.

It also comes down to interest in the reviewed code.

However, the discussion aspect might be one place where GNU provides a
more compelling environment than the Github (I don't really use GH so I'm
guessing here).

—Rasmus

-- 
There are known knowns; there are things we know that we know




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

* RE: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-12 11:16                                                   ` João Távora
  2014-12-12 12:09                                                     ` Rasmus
@ 2014-12-12 14:27                                                     ` Drew Adams
  2014-12-12 14:38                                                     ` Stefan Monnier
  2 siblings, 0 replies; 249+ messages in thread
From: Drew Adams @ 2014-12-12 14:27 UTC (permalink / raw)
  To: joaotavora, Rasmus; +Cc: emacs-devel

> I don't think one can, at least with "custom themes". I think "color
> themes" used to provide that possibility, so the needed
> functionality should be in Emacs.

FWIW -

Whatever features color themes "used to provide" are still provided.
`color-theme.el' works fine, through Emacs 25 and probably beyond.

And color themes have some advantages over "custom" themes, just as
custom themes have some advantages over color themes.

It is too bad that users have been given the impression that since
Emacs added custom themes they somehow supersede color themes.
They could do so, if the limitations were addressed and fixed.

http://www.emacswiki.org/ColorAndCustomThemes

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15687
(erroneously renamed)

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



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

* Re: [mentoring] a darkroom/writeroom mode for Emacs
  2014-12-12 11:16                                                   ` João Távora
  2014-12-12 12:09                                                     ` Rasmus
  2014-12-12 14:27                                                     ` [mentoring] " Drew Adams
@ 2014-12-12 14:38                                                     ` Stefan Monnier
  2 siblings, 0 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-12 14:38 UTC (permalink / raw)
  To: João Távora; +Cc: Rasmus, emacs-devel

> I going to say this is a bug in `variable-pitch-mode', since I read
> somewhere (Stefan?) that a minor mode should always turn itself *on* when
> called with a nil argument, precisely to support use cases such as
> yours.

Indeed.  Could you make it a bug report?


        Stefan



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

* Re: Metaproblem, part 3
  2014-12-05  4:40                     ` Stefan Monnier
                                         ` (3 preceding siblings ...)
  2014-12-05 14:47                       ` Lars Magne Ingebrigtsen
@ 2014-12-13 22:03                       ` Alan Mackenzie
  4 siblings, 0 replies; 249+ messages in thread
From: Alan Mackenzie @ 2014-12-13 22:03 UTC (permalink / raw)
  To: emacs-devel

On Thu, Dec 04, 2014 at 11:40:35PM -0500, Stefan Monnier wrote:
> > But seriously -- if there's some way we can help you recharge your batteries
> > please let us know.

> The issue is not just to recharge my batteries but to lighten the load.
> I see various ways that could happen:
   ....
> - The resistance to change on CC-mode's side didn't help my morale.

Stefan and I have discussed the relevant issues in private mail, and
they have now been resolved.

>         Stefan

-- 
Alan Mackenzie (Nuremberg, Germany).



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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-12 12:09                                                     ` Rasmus
@ 2014-12-15 12:01                                                       ` João Távora
  2014-12-15 13:06                                                         ` Dmitry Gutov
  2014-12-15 13:19                                                         ` martin rudalics
  0 siblings, 2 replies; 249+ messages in thread
From: João Távora @ 2014-12-15 12:01 UTC (permalink / raw)
  To: emacs-devel, Rasmus

Hi List,

After some iterations with Rasmus, I have cleaned up darkroom.el library
of its most obvious problems and now consider it ready to push to
ELPA.git (as was suggested) if no-one objects.

The library lives in https://github.com/capitaomorte/darkroom if someone
is interesting in double checking or commenting.

The library still has an outstanding problem with "window-width", which
I have solved with an isolated hack. See the docstring for
`darkroom--real-window-width' for an explanation.

João

Rasmus <rasmus@gmx.us> writes:

>> I going to say this is a bug in `variable-pitch-mode', since I read
>> somewhere (Stefan?) that a minor mode should always turn itself *on* when
>> called with a nil argument, precisely to support use cases such as
>> yours.
> Perhaps, the correct name would be `toggle-variable-pitch-mode'.  Which is
> what is needed here.

I don't know if that would help you much, with just the minor-mode
hook. Saving the buffer's state and restoring is not trivial. Darkroom
implements it for the variables in the (internal)
`darkroom--saved-variables', but anything more complicated one has to
implement `darkroom-mode-hook' with some sophistication. This hook is
run when entering or leaving the minor mode.

> IMO this is wrong (but I guess what all other similar modes does as well).
> It should choose margin so that the realized line with is approximately
> the same as the real line width or so that the difference is as small as
> possible.  This matters for small windows.  So, to center you need the
> window geometry.  To choose the width, IMO, you need to look at the
> difference between line width (be it visual or not) and realized width (in
> the same of visual-line-mode).

> As above, margin should /not/ be fixed a priori.  Rather, (and IMO) they
> should be set to not be intrusive given the text.  Then centered.  what I
> want is maybe too complicated, but I think it would be nice.

I still don't understand, but I suspect it's related to your intent to
use variable pitch with darkroom-mode. In that scenario, indeed, the
concepts of "real line length" and "visual line length" start to make a
little sense to me, more or less. Also your idea of recursiveness. I'll
welcome an implementation for a "guess margins" function when you have
the time.

>> Anyway this review (also tellingly) got very sidetracked into the
>> implementation details. 
>
> I don't understand the 'tellingly' here.

In the context of the "mentoring" experiment, it's "telling" that this
discussion, initially supposed to be a relatively isolated, well-defined
and expedite step for cleaning up the proposed change in compliance with
Emacs procedures, quickly entered into the implementation details. It
"tells" me that maybe that separation may be too ambitious, at least
given the current awareness of the original "mentoring" intention. But
it's certainly not "your fault" or anything like that, it's just the way
it went.

>> Can I assume you are more or less happy with the procedural and cosmetic
>> aspects of darkroom.el that the "mentoring" part is over? Then I might
>> officially propose darkroom.el to elpa.git.n I'v already cloned the repo
>> and have a reasonable idea how to commit it.
>
> As you prefer.  Updates in ELPA are cheap.  Just change the version number
> and push.

As far as I understand it, this is the strategy to develop the upstream
on Github and publish to ELPA.git periodically. I will "git merge
--no-commit" my github repo into ELPA.git. Then issue whatever necessary
"git mv" I have to to place "darkroom.el" and any other files in the
correct place. Then commit with a suitable commit message. The following
updates also use "git merge --no commit".

> It also comes down to interest in the reviewed code.

Yes. I also suspected it, and I'll include this factor in my quick
debriefing of the "mentoring" experiment.





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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-15 12:01                                                       ` [mentoring-done] " João Távora
@ 2014-12-15 13:06                                                         ` Dmitry Gutov
  2014-12-15 13:20                                                           ` João Távora
  2014-12-15 13:19                                                         ` martin rudalics
  1 sibling, 1 reply; 249+ messages in thread
From: Dmitry Gutov @ 2014-12-15 13:06 UTC (permalink / raw)
  To: João Távora; +Cc: Rasmus, emacs-devel

joaotavora@gmail.com (João Távora) writes:

>> As you prefer.  Updates in ELPA are cheap.  Just change the version number
>> and push.
>
> As far as I understand it, this is the strategy to develop the upstream
> on Github and publish to ELPA.git periodically.

Not necessarily: the new version of the package is published when the
version header value is increased. So you can also push development
changes to GNU ELPA, then after some time increase the version number,
and only then the new version will be published.

> I will "git merge
> --no-commit" my github repo into ELPA.git. Then issue whatever necessary
> "git mv" I have to to place "darkroom.el" and any other files in the
> correct place. Then commit with a suitable commit message. The following
> updates also use "git merge --no commit".

Personally, I use `git subtree merge'. IIRC, Stefan usually does `git merge
--strategy=subtree` instead.



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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-15 12:01                                                       ` [mentoring-done] " João Távora
  2014-12-15 13:06                                                         ` Dmitry Gutov
@ 2014-12-15 13:19                                                         ` martin rudalics
  2014-12-15 13:37                                                           ` João Távora
  1 sibling, 1 reply; 249+ messages in thread
From: martin rudalics @ 2014-12-15 13:19 UTC (permalink / raw)
  To: João Távora, emacs-devel, Rasmus

 > The library still has an outstanding problem with "window-width", which
 > I have solved with an isolated hack. See the docstring for
 > `darkroom--real-window-width' for an explanation.

I'm not sure whether I understand well enough what you want to do but if
the idea is to horizontally center some block of text in a window then I
would (1) get rid of margins, (2) get the width of the text to be
displayed via `window-text-pixel-size' and (3) if the text fits into the
window and there is some space left, distribute that space evenly among
the fringes of the window.  You'll be missing one pixel, at most.

I have no idea whether and when to recenter text while typing but this
seems to be unresolved in your original proposal too.

martin



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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-15 13:06                                                         ` Dmitry Gutov
@ 2014-12-15 13:20                                                           ` João Távora
  2014-12-15 13:47                                                             ` Dmitry Gutov
  2014-12-15 14:38                                                             ` Stefan Monnier
  0 siblings, 2 replies; 249+ messages in thread
From: João Távora @ 2014-12-15 13:20 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: Rasmus, emacs-devel

Dmitry Gutov <dgutov@yandex.ru> writes:

> joaotavora@gmail.com (João Távora) writes:
>
>>> As you prefer.  Updates in ELPA are cheap.  Just change the version number
>>> and push.
>>
>> As far as I understand it, this is the strategy to develop the upstream
>> on Github and publish to ELPA.git periodically.
>
> Not necessarily: the new version of the package is published when the
> version header value is increased. So you can also push development
> changes to GNU ELPA, then after some time increase the version number,
> and only then the new version will be published.

Thanks for the clarification. When I wrote "publish to ELPA.git" I meant
"synch to ELPA.git". I have little experience with GNU ELPA and
package.el, so please confirm this: Publishing is what makes the package
accessible to users as they "M-x package-install" that's strictly
related to increases in version numbers.

>> I will "git merge
>> --no-commit" my github repo into ELPA.git. Then issue whatever necessary
>> "git mv" I have to to place "darkroom.el" and any other files in the
>> correct place. Then commit with a suitable commit message. The following
>> updates also use "git merge --no commit".
>
> Personally, I use `git subtree merge'. IIRC, Stefan usually does `git merge
> --strategy=subtree` instead.

Can you explain if this fundamentally different from my strategy, or is
it just a convenience that would save me some "git mv" and conflict
resolution before adding the merge commit to the graph? I ask because
"--strategy=subtree" seems to hint at this last hypothesis.

Thanks,
João




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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-15 13:19                                                         ` martin rudalics
@ 2014-12-15 13:37                                                           ` João Távora
  2014-12-15 14:15                                                             ` martin rudalics
  0 siblings, 1 reply; 249+ messages in thread
From: João Távora @ 2014-12-15 13:37 UTC (permalink / raw)
  To: martin rudalics; +Cc: Rasmus, emacs-devel

martin rudalics <rudalics@gmx.at> writes:

>> The library still has an outstanding problem with "window-width", which
>> I have solved with an isolated hack. See the docstring for
>> `darkroom--real-window-width' for an explanation.
>
> I'm not sure whether I understand well enough what you want to do but if
> the idea is to horizontally center some block of text in a window then I
> would (1) get rid of margins, (2) get the width of the text to be
> displayed via `window-text-pixel-size' and (3) if the text fits into
> the

How would you code the condition in (3)? To test "if fits" don't you
need the width of the window? I can more or less see how it could be
done if I could find a character position that I am sure is at the
window edge, but that would just be a rehash of what the hack of
`darkroom--real-window-width' already does

> window and there is some space left, distribute that space evenly among
> the fringes of the window.

If I understand correctly, this is related to (1) and independent of the
implementation in (2,3). I chose to use the margins to center because
(1) the term "margins" made sense for this purpose (2) I consider the
fringes more still useful for continuation markers and other bitmaps.

> I have no idea whether and when to recenter text while typing but this
> seems to be unresolved in your original proposal too.

Indeed, this is not the intent of darkroom.el, at least in its current
state. I don't even understand what how such a feature would work or
feel like. Do you mean like "center paragraph", where a typing a word
alone on a line makes it occupy the horizontal center?



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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-15 13:20                                                           ` João Távora
@ 2014-12-15 13:47                                                             ` Dmitry Gutov
  2014-12-15 13:55                                                               ` João Távora
  2014-12-15 14:38                                                             ` Stefan Monnier
  1 sibling, 1 reply; 249+ messages in thread
From: Dmitry Gutov @ 2014-12-15 13:47 UTC (permalink / raw)
  To: João Távora; +Cc: Rasmus, emacs-devel

On 12/15/2014 03:20 PM, João Távora wrote:

> package.el, so please confirm this: Publishing is what makes the package
> accessible to users as they "M-x package-install" that's strictly
> related to increases in version numbers.

That's right. Check out the README: 
http://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/README

> Can you explain if this fundamentally different from my strategy, or is
> it just a convenience that would save me some "git mv" and conflict
> resolution before adding the merge commit to the graph?

I think so, can't really say for sure if that's the only difference. I'm 
not clear on what your strategy will do under the covers.



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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-15 13:47                                                             ` Dmitry Gutov
@ 2014-12-15 13:55                                                               ` João Távora
  0 siblings, 0 replies; 249+ messages in thread
From: João Távora @ 2014-12-15 13:55 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: Rasmus, emacs-devel

Dmitry Gutov <dgutov@yandex.ru> writes:

> That's right. Check out the README:
> http://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/README

Indeed this README thing you speak of is quite useful. :-)

> I think so, can't really say for sure if that's the only
> difference. I'm not clear on what your strategy will do under the
> covers.

Actually, I'd expect both your approaches to do more "under the covers",
(mine just uses the more common "merge" and "mv" primitives). That's why
I want to understand them. It's just a question of "git merge --help" or
inspecting the local result before pushing.



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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-15 13:37                                                           ` João Távora
@ 2014-12-15 14:15                                                             ` martin rudalics
  2014-12-15 14:54                                                               ` João Távora
  0 siblings, 1 reply; 249+ messages in thread
From: martin rudalics @ 2014-12-15 14:15 UTC (permalink / raw)
  To: João Távora; +Cc: Rasmus, emacs-devel

 > How would you code the condition in (3)? To test "if fits" don't you
 > need the width of the window? I can more or less see how it could be
 > done if I could find a character position that I am sure is at the
 > window edge, but that would just be a rehash of what the hack of
 > `darkroom--real-window-width' already does

The function `window-text-pixel-size' gives you the width of some block
of text in pixels. The function `window-width' when called with
PIXELWISE non-nil gives you the width of the window in pixels.  The
difference of the two gives you the pixel width you can distribute.

 >> window and there is some space left, distribute that space evenly among
 >> the fringes of the window.
 >
 > If I understand correctly, this is related to (1) and independent of the
 > implementation in (2,3). I chose to use the margins to center because
 > (1) the term "margins" made sense for this purpose (2) I consider the
 > fringes more still useful for continuation markers and other bitmaps.

Presently we cannot resize margins pixelwise.  But we can set fringe
sizes pixelwise.  If you prefer using the margins, you have to round the
difference calculated above (which means that the text might not get
centerd exactly by at most one frame character width minus one pixel).

 > Indeed, this is not the intent of darkroom.el, at least in its current
 > state. I don't even understand what how such a feature would work or
 > feel like. Do you mean like "center paragraph", where a typing a word
 > alone on a line makes it occupy the horizontal center?

If it's not the intent of darkroom then don't bother.

martin



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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-15 13:20                                                           ` João Távora
  2014-12-15 13:47                                                             ` Dmitry Gutov
@ 2014-12-15 14:38                                                             ` Stefan Monnier
  1 sibling, 0 replies; 249+ messages in thread
From: Stefan Monnier @ 2014-12-15 14:38 UTC (permalink / raw)
  To: João Távora; +Cc: emacs-devel, Rasmus, Dmitry Gutov

>> Personally, I use `git subtree merge'. IIRC, Stefan usually does `git merge
>> --strategy=subtree` instead.

Actually, nowadays, rather than --strategy=subtree I more often use an
explicit "-X subtree=packages/foo" so Git doesn't have to guess (this
is particularly important in the initial merge, where Git can't really
guess).

> Can you explain if this fundamentally different from my strategy, or is

My strategy is indeed the "same as yours", except that the "mv" are
performed by Git, but that makes a hell of a difference in terms of
conflict resolution.

IIUC the "git subtree merge" approach is somewhat similar except that
the merge metadata is thrown away and replaced by a "note" in the log
the remember which external revision was merged.


        Stefan



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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-15 14:15                                                             ` martin rudalics
@ 2014-12-15 14:54                                                               ` João Távora
  2014-12-15 15:28                                                                 ` martin rudalics
  0 siblings, 1 reply; 249+ messages in thread
From: João Távora @ 2014-12-15 14:54 UTC (permalink / raw)
  To: martin rudalics; +Cc: Rasmus, emacs-devel

martin rudalics <rudalics@gmx.at> writes:

> The function `window-text-pixel-size' gives you the width of some block
> of text in pixels. The function `window-width' when called with
> PIXELWISE non-nil gives you the width of the window in pixels.  The
> difference of the two gives you the pixel width you can distribute.

Yes I got it: I can collect pixelwise statistics about the line
lengths and then use window width. (with one problem I can circumvent:
window-width does not count *existing* margins).

But to do comparisons with column based variables like `fill-column', I
still need the character (assumed fixed) pixel width, which I need to
extract like this.

  (window-text-pixel-size (selected-window)
                          (point-min) (1+ (point-min)))

This fails for empty buffers, but that case is negligible anyway.

The code is much cleaner now, so thanks.

Anyway, its a bit confusing that `window-width' can't take the font size
in consideration, while `window-text-pixel-size' can. Though it probably
makes sense since a window can display chars of many widths. But then
using it without PIXELWISE should be deprecated.

> Presently we cannot resize margins pixelwise.  But we can set fringe
> sizes pixelwise.  If you prefer using the margins, you have to round the
> difference calculated above (which means that the text might not get
> centerd exactly by at most one frame character width minus one pixel).

That's OK in my book.

>> Indeed, this is not the intent of darkroom.el, at least in its current
>> state. I don't even understand what how such a feature would work or
>> feel like. Do you mean like "center paragraph", where a typing a word
>> alone on a line makes it occupy the horizontal center?
>
> If it's not the intent of darkroom then don't bother.

It might *become* its intent, if you wish to explain what you had in
mind.

J



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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-15 14:54                                                               ` João Távora
@ 2014-12-15 15:28                                                                 ` martin rudalics
  2014-12-15 22:10                                                                   ` João Távora
  0 siblings, 1 reply; 249+ messages in thread
From: martin rudalics @ 2014-12-15 15:28 UTC (permalink / raw)
  To: João Távora; +Cc: Rasmus, emacs-devel

 > Yes I got it: I can collect pixelwise statistics about the line
 > lengths and then use window width. (with one problem I can circumvent:
 > window-width does not count *existing* margins).

You can always get the margins of a window via (window-margins).
Multiply the result with (frame-char-width) and you get the pixels
(beware of a nil return value).

 > But to do comparisons with column based variables like `fill-column',

`fill-column' might be a problem, indeed.  Do you really need it?

 > I
 > still need the character (assumed fixed) pixel width, which I need to
 > extract like this.
 >
 >    (window-text-pixel-size (selected-window)
 >                            (point-min) (1+ (point-min)))

This will fail miserably with variable character widths.

 > This fails for empty buffers, but that case is negligible anyway.
 >
 > The code is much cleaner now, so thanks.
 >
 > Anyway, its a bit confusing that `window-width' can't take the font size
 > in consideration, while `window-text-pixel-size' can.

It can't.  Nobody can, so far ... Eli might fix this eventually.

 > Though it probably
 > makes sense since a window can display chars of many widths. But then
 > using it without PIXELWISE should be deprecated.

For a human being it's easier to think in terms of columns rather than
in pixels.

 > It might *become* its intent, if you wish to explain what you had in
 > mind.

I only thought that if you add/remove characters to/from the longest
line you might also consider recentering the entire text on the fly.

martin



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

* Re: [mentoring-done] a darkroom/writeroom mode for Emacs
  2014-12-15 15:28                                                                 ` martin rudalics
@ 2014-12-15 22:10                                                                   ` João Távora
  0 siblings, 0 replies; 249+ messages in thread
From: João Távora @ 2014-12-15 22:10 UTC (permalink / raw)
  To: martin rudalics; +Cc: Rasmus, emacs-devel

martin rudalics <rudalics@gmx.at> writes:

>> Yes I got it: I can collect pixelwise statistics about the line
>> lengths and then use window width. (with one problem I can circumvent:
>> window-width does not count *existing* margins).
>
> You can always get the margins of a window via (window-margins).
> Multiply the result with (frame-char-width) and you get the pixels
> (beware of a nil return value).

That works too. I temporarily set margins to (0 . 0) then restore them.
>
>> But to do comparisons with column based variables like `fill-column',
>
> `fill-column' might be a problem, indeed.  Do you really need it?

Yes. Well, I guess. I estimate if "most" columns are filled to this
column, and if so set the window margins according to this length.

>> I
>> still need the character (assumed fixed) pixel width, which I need to
>> extract like this.
>>
>>    (window-text-pixel-size (selected-window)
>>                            (point-min) (1+ (point-min)))
>
> This will fail miserably with variable character widths.

I'm aware of that, the centering algorithm assumes fixed widths.

>> The code is much cleaner now, so thanks.
>>
>> Anyway, its a bit confusing that `window-width' can't take the font size
>> in consideration, while `window-text-pixel-size' can.
>
> It can't.  Nobody can, so far ... Eli might fix this eventually.
>> Though it probably
>> makes sense since a window can display chars of many widths. But then
>> using it without PIXELWISE should be deprecated.
>
> For a human being it's easier to think in terms of columns rather than
> in pixels.

I agree. But the contract for the new/fixed function must state that the
column value returned is only valid for one particular character width,
presumably the "main" size.

>> It might *become* its intent, if you wish to explain what you had in
>> mind.
>
> I only thought that if you add/remove characters to/from the longest
> line you might also consider recentering the entire text on the fly.

Oh, that's interesting indeed (and not tremendously hard to do.)

João



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

* Results of the "mentoring" experiment Re: Metaproblem, part 3
  2014-12-06  8:03                                 ` Eli Zaretskii
  2014-12-08 11:40                                   ` [mentor-request] a darkroom/writeroom mode for Emacs João Távora
  2014-12-08 11:46                                   ` [mentor-request] Ecco - a literate programming documentation generator João Távora
@ 2014-12-21 20:17                                   ` João Távora
  2014-12-21 21:22                                     ` Rasmus
  2014-12-22 14:14                                     ` Results of the "mentoring" experiment Stephen Leake
  2 siblings, 2 replies; 249+ messages in thread
From: João Távora @ 2014-12-21 20:17 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: esr, stephen, phillip.lord, rasmus, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: joaotavora@gmail.com (João Távora)
>> Cc: Eli Zaretskii <eliz@gnu.org>,  esr@thyrsus.com,  phillip.lord@newcastle.ac.uk,  emacs-devel@gnu.org
>> Date: Sat, 06 Dec 2014 07:07:21 +0000
>> 
>> To test the process, I can volunteer to submit a couple of reasonably
>> small ideas, between 100 and 300 LOC, that need a mentor (*).
>
> Please go ahead, and thanks.
>
> Of course, to be practical, there's a need for a mentoree for each
> such idea, but if that's you, then that issue is solved.

Hi,

On Friday, I pushed darkroom.el to ELPA.git, as one of my "reasonably
small ideas" that I setup for the "mentoring experiment" to ELPA.git. I
consider the experiment finished:

Here are some notes:

* I posted two emails with two "mentor requests". One had a couple of
  replies the other had none.

* From one of the replies (this thread or
  https://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00808.html),
  three or four iterations with Rasmus ensued until the code was mostly
  clean of obvious mistakes, according to Emacs coding-style rules and
  so on. Rasmus also helped clarify much of the functionality and
  insisted on good docstrings for example.

* Doing this on-list went OK, with not too much noise. Stefan
  contributed some very small, but useful comments. After Rasmus gave
  the go-ahead more or less informally, Dmitry Gutov and Martin Rudalics
  each gave some final advice and resolved the final blockers. I get the
  feeling there were some followers of the thread, because visits spiked
  at my github upstream. Richard Stallman also expressed curiosity about
  what the "darkroom hack" was. Stephen Turnbull complained about being
  in Cc. Sorry, for some reason I only say that mail today. You're in Cc
  now because you predicted "an early demise of this experiment."  and
  I'm interested in knowing your thoughts now that it's over.

  Anyway, after some silence, I pushed to git.

* According to Rasmus, the mentoree must do some effort in this phase to
  convincingly present the utility of his extension, and how it
  differentiates from the rest.

* According to Rasmus, and I agree, availability and commitment of
  mentors depends on the personal interest they have in the
  code. Apparently Rasmus had used something similar to darkroom.el

* Rasmus' interest motivated me to actually do the work and really clean
  it up.

* Changing subject line prefixes to express the state of the process
  didn't please Rasmus much. I guess it's a stupid way to emulate a bug
  tracker.

* It's really very easy to distract oneself into the implementation
  details (for example "loop" vs "reduce") during what I idealized that
  the mentoring phase should be. There has to be some force to focus on
  the procedure-based blockers (copyright assignment, git workflow, big
  flaws in code) and separate them from the rest of the analysis etc.

* My opinion is that this can work, but there have to be some guidelines
  in place (like manual, CONTRIBUTE or README) so that mentors and
  mentorees are aware of some minimal formality in their roles. It went
  OK without it, but could go better. Also Rasmus prefers it to be
  called "peer-review".

* I found that the information that is sought after in this phase is
  practically all written down and available already, but spread across
  the Elisp manual, wikipedia, the ELPA.git README, git tutorials,
  etc. A nice aggregation of this information would be useful, but this
  was in the original discussion I believe.

I guess the whole idea of mentoring is that a person with some
experience is the best aggregator and additionally provides (a lot of)
motivation to clean your stuff up and contribute.

Thanks everybody and bye!
João








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

* Re: Results of the "mentoring" experiment Re: Metaproblem, part 3
  2014-12-21 20:17                                   ` Results of the "mentoring" experiment Re: Metaproblem, part 3 João Távora
@ 2014-12-21 21:22                                     ` Rasmus
  2014-12-22 14:14                                     ` Results of the "mentoring" experiment Stephen Leake
  1 sibling, 0 replies; 249+ messages in thread
From: Rasmus @ 2014-12-21 21:22 UTC (permalink / raw)
  To: joaotavora; +Cc: emacs-devel

Hi,

joaotavora@gmail.com (João Távora) writes:

> On Friday, I pushed darkroom.el to ELPA.git, as one of my "reasonably
> small ideas" that I setup for the "mentoring experiment" to ELPA.git.

Thanks for pushing this to ELPA.

Some quick comments, mostly to clarify João's summaries of my comments.

> * According to Rasmus, the mentoree must do some effort in this phase to
>   convincingly present the utility of his extension, and how it
>   differentiates from the rest.

If you want somebody to spend time reviewing you new, "unproven" code, you
better be ready to justify why it's going to be — or already is — worth
the effort.  Mostly everybody has got 24h-days but would like to have a
many hours more.

> * According to Rasmus, and I agree, availability and commitment of
>   mentors depends on the personal interest they have in the
>   code. Apparently Rasmus had used something similar to darkroom.el

This is related to the above.

> * Rasmus' interest motivated me to actually do the work and really clean
>   it up.

Cool.  Darkroom is bound to F6 in my init.el now.  I'll look into

> * My opinion is that this can work, but there have to be some guidelines
>   in place (like manual, CONTRIBUTE or README) so that mentors and
>   mentorees are aware of some minimal formality in their roles. It went
>   OK without it, but could go better.

It could be formalized, if you think.  I'm not sure it would make a
difference.  People give advice according to their skills and preferences
already.

> Also Rasmus prefers it to be called "peer-review".

When Stefan, David, Eli, Dmitry, Drew, Stephen, Richard and mostly
everyone on this list give advice you can call it "mentoring".  But
clearly when someone like myself gives advice, it's peer-advice.

> I guess the whole idea of mentoring is that a person with some
> experience is the best aggregator and additionally
> *provides (a lot of) motivation to clean your stuff up and contribute*.

I agree strongly with this and I think it's one of the strengths of GNU.

—Rasmus

-- 
Tack, ni svenska vakttorn. Med plutonium tvingar vi dansken på knä!



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

* Re: Results of the "mentoring" experiment
  2014-12-21 20:17                                   ` Results of the "mentoring" experiment Re: Metaproblem, part 3 João Távora
  2014-12-21 21:22                                     ` Rasmus
@ 2014-12-22 14:14                                     ` Stephen Leake
  2014-12-22 16:01                                       ` João Távora
  2014-12-22 16:03                                       ` João Távora
  1 sibling, 2 replies; 249+ messages in thread
From: Stephen Leake @ 2014-12-22 14:14 UTC (permalink / raw)
  To: emacs-devel

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

joaotavora@gmail.com (João Távora) writes:

> * I found that the information that is sought after in this phase is
>   practically all written down and available already, but spread across
>   the Elisp manual, wikipedia, the ELPA.git README, git tutorials,
>   etc. A nice aggregation of this information would be useful, but this
>   was in the original discussion I believe.

I'm cleaning up this info; can you send me a list?

Attached is my current patch, splitting CONTRIBUTE into user vs
developer stuff; user stuff is now in the Emacs manual.

My intent is that CONTRIBUTE should state some developer information,
and reference any other useful developer information.

-- 
-- Stephe

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Move-user-level-information-from-CONTRIBUTE-to-doc-e.patch --]
[-- Type: text/x-patch, Size: 27158 bytes --]

From bb21df9a15aeb32482959c57b84a9cf5ba6d4c23 Mon Sep 17 00:00:00 2001
From: Stephen Leake <stephen_leake@stephe-leake.org>
Date: Fri, 19 Dec 2014 11:18:50 -0600
Subject: [PATCH] Move user-level information from CONTRIBUTE to
 doc/emacs/trouble.texi

Fixes bug#19299

* CONTRIBUTE: Move user-level information to doc/emacs/trouble.texi
  (commit messages): new, gathered from comments on emacs-devel
  (Changelog notes): add reference to GNU coding standards section 5.2;
  doc 'present tense', bug fix format
  (branches): freeze announcements are made on info-gnu-emacs mailing
  list
  (git vs rename): new

* doc/emacs/trouble.texi: Move user-level information from CONTRIBUTE

* lisp/startup.el (fancy-about-text): change buttons for etc/CONTRIBUTE
  to (info "(emacs)Contributing")
---
 CONTRIBUTE             | 267 ++++++++++++++-----------------------------------
 ChangeLog              |  19 ++++
 doc/emacs/trouble.texi | 240 ++++++++++++++++++++++++++++++++++++++++----
 lisp/startup.el        |   8 +-
 4 files changed, 317 insertions(+), 217 deletions(-)

diff --git a/CONTRIBUTE b/CONTRIBUTE
index dc6fd71..a190bd9 100644
--- a/CONTRIBUTE
+++ b/CONTRIBUTE
@@ -1,196 +1,14 @@
-Copyright (C) 2006-2014 Free Software Foundation, Inc.
-See end for license conditions.
+This file contains information on Emacs developer processes.
 
+For information on contributing to Emacs as a non-developer, see
+(info "(emacs)Contributing") or
+http://www.gnu.org/software/emacs/manual/html_node/emacs/Contributing.html
 
-			Contributing to Emacs
-
-Emacs is a collaborative project and we encourage contributions from
-anyone and everyone.  If you want to contribute in the way that will
-help us most, we recommend (1) fixing reported bugs and (2)
-implementing the feature ideas in etc/TODO.  However, if you think of
-new features to add, please suggest them too -- we might like your
-idea.  Porting to new platforms is also useful, when there is a new
-platform, but that is not common nowadays.
-
-For documentation on Emacs (to understand how to implement your
-desired change), refer to:
-
-- the Emacs Manual
-  http://www.gnu.org/software/emacs/manual/emacs.html
-  (info "(Emacs)Top")
-
-- the Emacs Lisp Reference Manual
-  http://www.gnu.org/software/emacs/manual/elisp.html
-  (info "(elisp)Top")
-
-- http://www.gnu.org/software/emacs
-
-- http://www.emacswiki.org/
-
-There are many ways to contribute to Emacs:
-
-- implement a new feature, and submit a patch (see "Submitting
-  Patches" below).
-
-- answer questions on the Emacs user mailing list
-  https://lists.gnu.org/mailman/listinfo/help-gnu-emacs
-
-- write documentation, either on the wiki, or in the Emacs source
-  repository (see "Submitting Patches" below)
-
-- find and report bugs; use M-x report-emacs-bug
-
-- check if existing bug reports are fixed in newer versions of Emacs
-  http://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&data=emacs
-
-- develop a package that works with Emacs, and publish it on your own
-  or in Gnu ELPA (see admin/notes/elpa).
-
-Here are some style and legal conventions for contributors to Emacs:
-
-
-* Coding Standards
-
-Contributed code should follow the GNU Coding Standards
-(http://www.gnu.org/prep/standards/ - may also be available in info on
-your system).
-
-If it doesn't, we'll need to find someone to fix the code before we
-can use it.
-
-Emacs has additional style and coding conventions:
-
-- the "Tips" Appendix in the Emacs Lisp Reference
-  http://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html
-  (info "(elisp)Tips").
-
-- Avoid using `defadvice' or `eval-after-load' for Lisp code to be
-  included in Emacs.
-
-- Remove all trailing whitespace in all source and text files.
-
-- Emacs has no convention on whether to use tabs in source code;
-  please don't change whitespace in the files you edit.
-
-- Use ?\s instead of ?  in Lisp code for a space character.
-
-* Copyright Assignment
-
-The FSF (Free Software Foundation) is the copyright holder for GNU Emacs.
-The FSF is a nonprofit with a worldwide mission to promote computer
-user freedom and to defend the rights of all free software users.
-For general information, see the website http://www.fsf.org/ .
-
-Generally speaking, for non-trivial contributions to GNU Emacs we
-require that the copyright be assigned to the FSF.  For the reasons
-behind this, see: http://www.gnu.org/licenses/why-assign.html .
-
-Copyright assignment is a simple process.  Residents of some countries
-can do it entirely electronically.  We can help you get started, and
-answer any questions you may have (or point you to the people with the
-answers), at the emacs-devel@gnu.org mailing list.
-
-(Please note: general discussion about why some GNU projects ask
-for a copyright assignment is off-topic for emacs-devel.
-See gnu-misc-discuss instead.)
-
-A copyright disclaimer is also a possibility, but we prefer an assignment.
-Note that the disclaimer, like an assignment, involves you sending
-signed paperwork to the FSF (simply saying "this is in the public domain"
-is not enough).  Also, a disclaimer cannot be applied to future work, it
-has to be repeated each time you want to send something new.
-
-We can accept small changes (roughly, fewer than 15 lines) without
-an assignment.  This is a cumulative limit (e.g. three separate 5 line
-patches) over all your contributions.
-
-* Getting the Source Code
-
-The current working version of the Emacs source code is stored in a
-git repository on the Savannah web site
-(http://savannah.gnu.org/projects/emacs).  It is important to write
-your patch based on the current working version.  If you start from an
-older version, your patch may be outdated (so that maintainers will
-have a hard time applying it), or changes in Emacs may have made your
-patch unnecessary.
-
-After you have downloaded the repository source, you should read the file
-INSTALL.REPO for build instructions (they differ to some extent from a
-normal build).
-
-* Submitting Patches
-
-Every patch must have several pieces of information before we
-can properly evaluate it.
-
-When you have all these pieces, bundle them up in a mail message and
-send it to the developers.  Sending it to bug-gnu-emacs@gnu.org
-(which is the bug/feature list) is recommended, because that list
-is coupled to a tracking system that makes it easier to locate patches.
-If your patch is not complete and you think it needs more discussion,
-you might want to send it to emacs-devel@gnu.org instead.  If you
-revise your patch, send it as a followup to the initial topic.
-
-** Description
-
-For bug fixes, a description of the bug and how your patch fixes it.
-
-For new features, a description of the feature and your implementation.
-
-** ChangeLog
-
-A ChangeLog entry as plaintext (separate from the patch).
-
-See the existing ChangeLog files for format and content.  Note that,
-unlike some other projects, we do require ChangeLogs for
-documentation, i.e. Texinfo files.
-
-Ref: "Change Log Concepts" node of the GNU Coding Standards Info
-Manual, for how to write good log entries.
-http://www.gnu.org/prep/standards/html_node/Change-Log-Concepts.html
-
-When using git, commit messages should use ChangeLog format, with a
-single short line explaining the change, then an empty line, then
-unindented ChangeLog entries.  (Essentially, a commit message should
-be a duplicate of what the patch adds to the ChangeLog files.  We are
-planning to automate this better, to avoid the duplication.) You can
-use the Emacs functions log-edit-add-to-changelog or
-log-edit-insert-changelog to ease this process.
-
-** The patch itself.
-
-If you are accessing the Emacs repository, make sure your copy is
-up-to-date (e.g. with 'git pull').  You can commit your changes
-to a private branch and generate a patch from the master version
-by using
-	git format-patch master
-Or you can leave your changes uncommitted and use
-        git diff
-With no repository, you can use
-	diff -u OLD NEW
-
-** Mail format.
-
-We prefer to get the patches as plain text, either inline (be careful
-your mail client does not change line breaks) or as MIME attachments.
-
-** Please reread your patch before submitting it.
-
-** Do not mix changes.
-
-If you send several unrelated changes together, we will ask you to
-separate them so we can consider each of the changes by itself.
-
-** Do not make formatting changes.
-
-Making cosmetic formatting changes (indentation, etc) makes it harder
-to see what you have really changed.
-
-
-* Supplemental information for Emacs Developers.
+* Information for Emacs Developers.
 
 An "Emacs Developer" is someone who contributes a lot of code or
-documentation to the Emacs repository.
+documentation to the Emacs repository. Generally, they have write
+access to the Emacs git repository on Savannah.
 
 ** Write access to the Emacs repository.
 
@@ -213,6 +31,31 @@ entry in their name, not yours. git distinguishes between the author
 and the committer; use the --author option on the commit command to
 specify the actual author; the committer defaults to you.
 
+** commit messages
+
+When using git, commit messages should use ChangeLog format, with the
+following modifications:
+
+- Add a single short line explaining the change, then an empty line,
+  then unindented ChangeLog entries.
+
+  You can use various Emacs functions to ease this process; see (info
+  "(emacs)Change Log Commands") or
+  http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Log-Commands.html.
+
+- The summary line is limited to 72 characters (enforced by a commit
+  hook). If you have trouble making that a good summary, add a
+  paragraph below it, before the individual file descriptions.
+
+- If only a single file is changed, the summary line can be the normal
+  file first line (starting with the asterisk).  Then there is no
+  individual files section.
+
+- Explaining the rationale for a design choice is best done in comments
+  in the source code. However, sometimes it is useful to describe just
+  the rationale for a change; that can be done in the commit message
+  between the summary line and the file entries.
+
 ** Changelog notes
 
 - Emacs generally follows the GNU coding standards when it comes to
@@ -222,11 +65,25 @@ specify the actual author; the committer defaults to you.
   standards used to recommend) rather than 'like-this' (as they do
   now), because `...' is so widely used elsewhere in Emacs.
 
+- Some of the rules in the GNU coding standards section 5.2
+  "Commenting Your Work" also apply to Changelog entries: they must be
+  in English, and be complete sentences starting with a capital and
+  ending with a period (except the summary line should not end in a
+  period).
+
+  It is tempting to relax this rule for commit messages, since they
+  are somewhat transient.  However, they are preserved indefinitely,
+  and have a reasonable chance of being read in the future, so it's
+  better that they have good presentation.
+
 - There are multiple ChangeLogs in the emacs source; roughly one per
   high-level directory. The ChangeLog entry for a commit belongs in the
   lowest ChangeLog that is higher than or at the same level as any file
   changed by the commit.
 
+- Use the present tense; describe "what the change does", not "what
+  the change did".
+
 - Preferred form for several entries with the same content:
 
    * help.el (view-lossage):
@@ -235,7 +92,13 @@ specify the actual author; the committer defaults to you.
 
   (Rather than anything involving "ditto" and suchlike.)
 
-- In ChangeLog files, there is no standard or recommended way to
+- If the commit fixes a bug, add a separate line
+
+  Fixes: bug#NNNN
+
+  where NNNN is the bug number.
+
+- In ChangeLog entries, there is no standard or recommended way to
   identify revisions.
 
   One way to identify revisions is by quoting their summary line.
@@ -244,7 +107,7 @@ specify the actual author; the committer defaults to you.
   "2014-01-16T05:43:35Z!esr@thyrsus.com". Often, "my previous commit"
   will suffice.
 
-- There is no need to make separate change log entries for files such
+- There is no need to make separate ChangeLog entries for files such
   as NEWS, MAINTAINERS, and FOR-RELEASE, or to indicate regeneration
   of files such as 'configure'.  "There is no need" means you don't
   have to, but you can if you want to.
@@ -266,9 +129,8 @@ emacs-devel mailing list, and not anywhere else.
 The trunk branch is named "master" in git; release branches are named
 "emacs-nn" where "nn" is the major version.
 
-You must follow emacs-devel to know exactly what kinds of changes are
-allowed on what branch at any time. Announcements about the freeze
-(and other important events) will contain "ANNOUNCE" in the subject.
+Announcements about the freeze (and other important events) are made
+on the info-gnu-emacs mailing list.
 
 If you are fixing a bug that exists in the current release, be sure to
 commit it to the release branch; it will be merged to the master
@@ -287,6 +149,23 @@ then exclude that commit from the merge to trunk.
 See all the files in admin/notes/* . In particular, see
 admin/notes/newfile, see admin/notes/repo.
 
+*** git vs rename
+
+git does not explicitly represent a file renaming; it uses a percent
+changed heuristic to deduce that a file was renamed. So if you are
+planning to make extensive changes to a file after renaming it (or
+moving it to another directory), you should:
+
+- create a feature branch
+
+- commit the rename without any changes
+
+- make other changes
+
+- merge the feature branch to trunk, _not_ squashing the commits into
+  one. The commit message on this merge should summarize the renames
+  and all the changes.
+
 ** Emacs Mailing lists.
 
 Discussion about Emacs development takes place on emacs-devel@gnu.org.
diff --git a/ChangeLog b/ChangeLog
index ee109f7..8e74c02 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2014-12-19  Stephen Leake  <stephen_leake@stephe-leake.org>
+
+	Move user-level information from CONTRIBUTE to doc/emacs/trouble.texi
+
+	Fixes bug#19299
+
+	* CONTRIBUTE: Move user-level information to doc/emacs/trouble.texi
+	  (commit messages): new, gathered from comments on emacs-devel
+	  (Changelog notes): add reference to GNU coding standards section 5.2;
+	  doc 'present tense', bug fix format
+	  (branches): freeze announcements are made on info-gnu-emacs mailing
+	  list
+	  (git vs rename): new
+
+	* doc/emacs/trouble.texi: Move user-level information from CONTRIBUTE here
+
+	* lisp/startup.el (fancy-about-text): change buttons for etc/CONTRIBUTE
+	  to (info "(emacs)Contributing")
+
 2014-12-06  Stephen Leake  <stephen_leake@stephe-leake.org>
 
 	* CONTRIBUTE: Improve; add explicit web references, move some info
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index 5f3cf92..bae9cad 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -1060,19 +1060,44 @@ but using it will take extra work.  Maintaining GNU Emacs is a lot of
 work in the best of circumstances, and we can't keep up unless you do
 your best to help.
 
+Every patch must have several pieces of information before we
+can properly evaluate it.
+
+When you have all these pieces, bundle them up in a mail message and
+send it to the developers.  Sending it to
+@email{bug-gnu-emacs@@gnu.org} (which is the bug/feature list) is
+recommended, because that list is coupled to a tracking system that
+makes it easier to locate patches.  If your patch is not complete and
+you think it needs more discussion, you might want to send it to
+@email{emacs-devel@@gnu@@gnu.org} instead.  If you revise your patch,
+send it as a followup to the initial topic.
+
+We prefer to get the patches as plain text, either inline (be careful
+your mail client does not change line breaks) or as MIME attachments.
+
 @itemize @bullet
 @item
-Send an explanation with your changes of what problem they fix or what
-improvement they bring about.  For a fix for an existing bug, it is
+Include an explanation with your changes of what problem they fix or what
+improvement they bring about.
+
+@itemize
+@item
+For a fix for an existing bug, it is
 best to reply to the relevant discussion on the @samp{bug-gnu-emacs}
 list, or the bug entry in the GNU Bug Tracker at
 @url{http://debbugs.gnu.org}.  Explain why your change fixes the bug.
 
 @item
-Always include a proper bug report for the problem you think you have
-fixed.  We need to convince ourselves that the change is right before
-installing it.  Even if it is correct, we might have trouble
-understanding it if we don't have a way to reproduce the problem.
+For a new feature, include a description of the feature and your
+implementation.
+
+@item
+For a new bug, include a proper bug report for the problem you think
+you have fixed.  We need to convince ourselves that the change is
+right before installing it.  Even if it is correct, we might have
+trouble understanding it if we don't have a way to reproduce the
+problem.
+@end itemize
 
 @item
 Include all the comments that are appropriate to help people reading the
@@ -1104,6 +1129,8 @@ right away.  That gives us the option of installing it immediately if it
 is important.
 
 @item
+The patch itself.
+
 Use @samp{diff -c} to make your diffs.  Diffs without context are hard
 to install reliably.  More than that, they are hard to study; we must
 always study a patch to decide whether we want to install it.  Unidiff
@@ -1114,6 +1141,12 @@ If you have GNU diff, use @samp{diff -c -F'^[_a-zA-Z0-9$]+ *('} when
 making diffs of C code.  This shows the name of the function that each
 change occurs in.
 
+If you are using the Emacs repository, make sure your copy is
+up-to-date (e.g. with @code{git pull}).  You can commit your changes
+to a private branch and generate a patch from the master version by
+using @code{git format-patch master}. Or you can leave your changes
+uncommitted and use @code{git diff}.
+
 @item
 Avoid any ambiguity as to which is the old version and which is the new.
 Please make the old version the first argument to diff, and the new
@@ -1138,8 +1171,16 @@ feel that the purpose needs explaining, it probably does---but put the
 explanation in comments in the code.  It will be more useful there.
 
 Please look at the change log entries of recent commits to see what
-sorts of information to put in, and to learn the style that we use.
-@xref{Change Log}.
+sorts of information to put in, and to learn the style that we use. Note that,
+unlike some other projects, we do require change logs for
+documentation, i.e. Texinfo files.
+@xref{Change Log},
+@ifset WWW_GNU_ORG
+see
+@url{http://www.gnu.org/prep/standards/html_node/Change-Log-Concepts.html},
+@end ifset
+@xref{Change Log Concepts, Change Log Concepts,
+Change Log Concepts, gnu-coding-standards, GNU Coding Standards}.
 
 @item
 When you write the fix, keep in mind that we can't install a change that
@@ -1160,11 +1201,52 @@ Please help us keep up with the workload by designing the patch in a
 form that is clearly safe to install.
 @end itemize
 
-@c FIXME: Include the node above?
 @node Contributing
 @section Contributing to Emacs Development
 @cindex contributing to Emacs
 
+Emacs is a collaborative project and we encourage contributions from
+anyone and everyone.
+
+There are many ways to contribute to Emacs:
+
+@itemize
+@item
+find and report bugs; @xref{Bugs}.
+
+@item
+answer questions on the Emacs user mailing list
+@url{https://lists.gnu.org/mailman/listinfo/help-gnu-emacs}.
+
+@item
+write documentation, either on the wiki, or in the Emacs source
+repository (@pxref{Sending Patches}).
+
+@item
+check if existing bug reports are fixed in newer versions of Emacs
+@url{http://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&data=emacs}.
+
+@item
+fix existing bug reports
+@url{http://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&data=emacs}.
+
+@item
+@c etc/TOOD not in WWW_GNU_ORG
+implement a feature listed in the @file{etc/TODO} file in the Emacs
+distribution, and submit a patch.
+
+@item
+implement a new feature, and submit a patch.
+
+@item
+develop a package that works with Emacs, and publish it on your own
+or in Gnu ELPA (@url{https://elpa.gnu.org/}).
+
+@item
+port Emacs to a new platform, but that is not common nowadays.
+
+@end itemize
+
 If you would like to work on improving Emacs, please contact the maintainers at
 @ifnothtml
 @email{emacs-devel@@gnu.org}.
@@ -1186,24 +1268,148 @@ you have not yet started work, it is useful to contact
 before you start; it might be possible to suggest ways to make your
 extension fit in better with the rest of Emacs.
 
+When implementing a feature, please follow the Emacs coding standards;
+@xref{Coding Standards}. In addition, non-trivial contributions
+require a copyright assignment to the FSF; @xref{Copyright Assignment}.
+
 The development version of Emacs can be downloaded from the
 repository where it is actively maintained by a group of developers.
 See the Emacs project page
-@url{http://savannah.gnu.org/projects/emacs/} for details.
+@url{http://savannah.gnu.org/projects/emacs/} for access details.
+
+It is important to write your patch based on the current working
+version.  If you start from an older version, your patch may be
+outdated (so that maintainers will have a hard time applying it), or
+changes in Emacs may have made your patch unnecessary. After you have
+downloaded the repository source, you should read the file
+@file{INSTALL.REPO} for build instructions (they differ to some extent
+from a normal build).
+
+If you would like to make more extensive contributions, see the
+@file{./CONTRIBUTE} file in the Emacs distribution for information on
+how to be an Emacs developer.
+
+For documentation on Emacs (to understand how to implement your
+desired change), refer to:
+
+@itemize
+@item
+@ifset WWW_GNU_ORG
+@ifhtml
+the Emacs Manual
+@url{http://www.gnu.org/software/emacs/manual/emacs.html}.
+@end ifhtml
+@ifnothtml
+@xref{Top, Emacs Manual,,emacs}.
+@end ifnothtml
+@end ifset
+@ifclear WWW_GNU_ORG
+@xref{Top, Emacs Manual,,emacs}.
+@end ifclear
+
+@item
+@ifset WWW_GNU_ORG
+@ifhtml
+the Emacs Lisp Reference Manual
+@url{http://www.gnu.org/software/emacs/manual/elisp.html}.
+@end ifhtml
+@ifnothtml
+@xref{Top, Emacs Lisp Reference Manual,,elisp}.
+@end ifnothtml
+@end ifset
+@ifclear WWW_GNU_ORG
+@xref{Top, Emacs Lisp Reference Manual,,elisp}.
+@end ifclear
+
+@item
+@url{http://www.gnu.org/software/emacs}
+
+@item
+@url{http://www.emacswiki.org/}
+@end itemize
+
+@menu
+* Coding Standards::        Gnu Emacs coding standards
+* Copyright Assignment::    assigning copyright to the FSF
+@end menu
 
-For more information on how to contribute, see the
+@node Coding Standards
+@subsection Coding Standards
+@cindex coding standards
+
+Contributed code should follow the GNU Coding Standards
+@url{http://www.gnu.org/prep/standards/}. This may also be available
+in info on your system.
+
+If it doesn't, we'll need to find someone to fix the code before we
+can use it.
+
+Emacs has additional style and coding conventions:
+
+@itemize
+@item
 @ifset WWW_GNU_ORG
 @ifhtml
-@url{http://gnu.org/software/emacs/CONTRIBUTE, etc/CONTRIBUTE}
+the "Tips" Appendix in the Emacs Lisp Reference
+@url{http://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html}.
 @end ifhtml
 @ifnothtml
-@file{etc/CONTRIBUTE}
+@xref{Tips, "Tips" Appendix in the Emacs Lisp Reference, Tips
+Appendix, elisp, Emacs Lisp Reference}.
 @end ifnothtml
 @end ifset
 @ifclear WWW_GNU_ORG
-@file{etc/CONTRIBUTE}
+@xref{Tips, "Tips" Appendix in the Emacs Lisp Reference, Tips
+Appendix, elisp, Emacs Lisp Reference}.
 @end ifclear
-file in the Emacs distribution.
+
+@item
+Avoid using @code{defadvice} or @code{eval-after-load} for Lisp code
+to be included in Emacs.
+
+@item
+Remove all trailing whitespace in all source and text files.
+
+@item
+Emacs has no convention on whether to use tabs in source code; please
+don't change whitespace in the files you edit.
+
+@item
+Use @code{?\s} instead of @code{? } in Lisp code for a space character.
+
+@end itemize
+
+@node Copyright Assignment
+@subsection Copyright Assignment
+@cindex copyright assignment
+
+The FSF (Free Software Foundation) is the copyright holder for GNU Emacs.
+The FSF is a nonprofit with a worldwide mission to promote computer
+user freedom and to defend the rights of all free software users.
+For general information, see the website @url{http://www.fsf.org/}.
+
+Generally speaking, for non-trivial contributions to GNU Emacs we
+require that the copyright be assigned to the FSF.  For the reasons
+behind this, see @url{http://www.gnu.org/licenses/why-assign.html}.
+
+Copyright assignment is a simple process.  Residents of some countries
+can do it entirely electronically.  We can help you get started, and
+answer any questions you may have (or point you to the people with the
+answers), at the @email{emacs-devel@@gnu.org} mailing list.
+
+(Please note: general discussion about why some GNU projects ask
+for a copyright assignment is off-topic for emacs-devel.
+See gnu-misc-discuss instead.)
+
+A copyright disclaimer is also a possibility, but we prefer an assignment.
+Note that the disclaimer, like an assignment, involves you sending
+signed paperwork to the FSF (simply saying "this is in the public domain"
+is not enough).  Also, a disclaimer cannot be applied to future work, it
+has to be repeated each time you want to send something new.
+
+We can accept small changes (roughly, fewer than 15 lines) without
+an assignment.  This is a cumulative limit (e.g. three separate 5 line
+patches) over all your contributions.
 
 @node Service
 @section How To Get Help with GNU Emacs
@@ -1211,8 +1417,8 @@ file in the Emacs distribution.
 @cindex help-gnu-emacs mailing list
 @cindex gnu.emacs.help newsgroup
 
-If you need help installing, using or changing GNU Emacs, there are two
-ways to find it:
+If you need help installing, using or changing GNU Emacs, there are
+two ways to find it:
 
 @itemize @bullet
 @item
diff --git a/lisp/startup.el b/lisp/startup.el
index c04b16c..8e981bb 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1463,9 +1463,7 @@ Each element in the list should be a list of strings or pairs
 	      (goto-char (point-min))))
      "\tMany people have contributed code included in GNU Emacs\n"
      :link ("Contributing"
-	    ,(lambda (_button)
-	      (view-file (expand-file-name "CONTRIBUTE" data-directory))
-	      (goto-char (point-min))))
+	    ,(lambda (_button) (info "(emacs)Contributing")))
      "\tHow to contribute improvements to Emacs\n"
      "\n"
      :link ("GNU and Freedom" ,(lambda (_button) (describe-gnu-project)))
@@ -2039,9 +2037,7 @@ Type \\[describe-distribution] for information on "))
 
   (insert-button "Contributing"
 		 'action
-		 (lambda (_button)
-		   (view-file (expand-file-name "CONTRIBUTE" data-directory))
-		   (goto-char (point-min)))
+		 (lambda (_button) (info "(emacs)Contributing"))
 		 'follow-link t)
   (insert "\tHow to contribute improvements to Emacs\n\n")
 
-- 
2.1.1


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

* Re: Results of the "mentoring" experiment
  2014-12-22 14:14                                     ` Results of the "mentoring" experiment Stephen Leake
@ 2014-12-22 16:01                                       ` João Távora
  2014-12-22 16:03                                       ` João Távora
  1 sibling, 0 replies; 249+ messages in thread
From: João Távora @ 2014-12-22 16:01 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

Stephen Leake <stephen_leake@stephe-leake.org> writes:

> joaotavora@gmail.com (João Távora) writes:
>
>> * I found that the information that is sought after in this phase is
>>   practically all written down and available already, but spread across
>>   the Elisp manual, wikipedia, the ELPA.git README, git tutorials,
>>   etc. A nice aggregation of this information would be useful, but this
>>   was in the original discussion I believe.
>
> I'm cleaning up this info; can you send me a list?

These are the ones I remember from the top of my head: there is
obviously more info around. There is also a lot of overlap. Without any
mentoring whatsoever, I'd say this is the minimal set for the common
case: cleaning up some rotten hack on github and contributing to
ELPA.git. Though most of it also applies to contributions to Emacs
trunk of course.

* https://www.gnu.org/software/emacs/manual/html_node/emacs/Contributing.html

* https://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html#Tips

  Particularly the nodes "Coding Conventions" and "Library Headers". I
  think M-x auto-insert should be mentioned in there somewhere.

* etc/CONTRIBUTE or CONTRIBUTE

* http://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/README (very
  useful).

* http://www.emacswiki.org/emacs/GitForEmacsDevs (emacswiki is down
  right now but I think there is also has a quick-start variant):

* http://www.emacswiki.org/emacs/ELPA#toc2

* https://savannah.gnu.org/git/?group=emacs and its linked
  http://savannah.gnu.org/maintenance/UsingGit/, which is mostly
  duplication maybe?

  I had git credentials already, so I don't know about the patch
  process if there is one (in the past I just sent them to this list or
  the bug tracker).

Some useful non-GNU stuff

* http://lars.ingebrigtsen.no/2014/11/13/welcome-new-emacs-developers/

* https://hpc.uni.lu/blog/2014/understanding-git-subtree/

> Attached is my current patch, splitting CONTRIBUTE into user vs
> developer stuff; user stuff is now in the Emacs manual.

Sorry, didn't see it and didn't follow that part of the discussion. Were
you looking for comments on any specific part of it? 

João



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

* Re: Results of the "mentoring" experiment
  2014-12-22 14:14                                     ` Results of the "mentoring" experiment Stephen Leake
  2014-12-22 16:01                                       ` João Távora
@ 2014-12-22 16:03                                       ` João Távora
  1 sibling, 0 replies; 249+ messages in thread
From: João Távora @ 2014-12-22 16:03 UTC (permalink / raw)
  To: Stephen Leake; +Cc: emacs-devel

  [ sorry for the duplicate reply I sent the previous one from my work
    address and can't recall it. Please reply to this address. ]

Stephen Leake <stephen_leake@stephe-leake.org> writes:

> joaotavora@gmail.com (João Távora) writes:
>
>> * I found that the information that is sought after in this phase is
>>   practically all written down and available already, but spread across
>>   the Elisp manual, wikipedia, the ELPA.git README, git tutorials,
>>   etc. A nice aggregation of this information would be useful, but this
>>   was in the original discussion I believe.
>
> I'm cleaning up this info; can you send me a list?

These are the ones I remember from the top of my head: there is
obviously more info around. There is also a lot of overlap. Without any
mentoring whatsoever, I'd say this is the minimal set for the common
case: cleaning up some rotten hack on github and contributing to
ELPA.git. Though most of it also applies to contributions to Emacs
trunk of course.

* https://www.gnu.org/software/emacs/manual/html_node/emacs/Contributing.html

* https://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html#Tips

  Particularly the nodes "Coding Conventions" and "Library Headers". I
  think M-x auto-insert should be mentioned in there somewhere.

* etc/CONTRIBUTE or CONTRIBUTE

* http://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/README (very
  useful).

* http://www.emacswiki.org/emacs/GitForEmacsDevs (emacswiki is down
  right now but I think there is also has a quick-start variant):

* http://www.emacswiki.org/emacs/ELPA#toc2

* https://savannah.gnu.org/git/?group=emacs and its linked
  http://savannah.gnu.org/maintenance/UsingGit/, which is mostly
  duplication maybe?

  I had git credentials already, so I don't know about the patch
  process if there is one (in the past I just sent them to this list or
  the bug tracker).

Some useful non-GNU stuff

* http://lars.ingebrigtsen.no/2014/11/13/welcome-new-emacs-developers/

* https://hpc.uni.lu/blog/2014/understanding-git-subtree/

> Attached is my current patch, splitting CONTRIBUTE into user vs
> developer stuff; user stuff is now in the Emacs manual.

Sorry, didn't see it and didn't follow that part of the discussion. Were
you looking for comments on any specific part of it? 

João



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

end of thread, other threads:[~2014-12-22 16:03 UTC | newest]

Thread overview: 249+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20141203142859.24393.98673@vcs.savannah.gnu.org>
     [not found] ` <E1XwAvL-0006M3-CA@vcs.savannah.gnu.org>
2014-12-03 15:31   ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Stefan Monnier
2014-12-03 19:31     ` Eric S. Raymond
2014-12-03 21:19       ` Stefan Monnier
2014-12-03 21:54         ` Metaproblem, part 3 Eric S. Raymond
2014-12-03 22:13           ` Stefan Monnier
2014-12-04  6:30           ` Eli Zaretskii
2014-12-04  6:32           ` Paul Eggert
2014-12-04 15:37             ` Stefan Monnier
2014-12-04 16:06               ` Lars Magne Ingebrigtsen
2014-12-04 17:53                 ` Stefan Monnier
2014-12-04 21:48                   ` Lars Magne Ingebrigtsen
2014-12-04 22:53                   ` Paul Eggert
2014-12-05  4:40                     ` Stefan Monnier
2014-12-05  7:20                       ` Stephen J. Turnbull
2014-12-05  8:06                       ` Glenn Morris
2014-12-05 11:24                         ` andres.ramirez
2014-12-05 14:26                       ` Stefan Monnier
2014-12-05 14:46                         ` David Kastrup
2014-12-05 14:47                       ` Lars Magne Ingebrigtsen
2014-12-05 18:38                         ` Stefan Monnier
2014-12-06 17:29                           ` Lars Magne Ingebrigtsen
2014-12-06 18:05                             ` Lars Magne Ingebrigtsen
2014-12-13 22:03                       ` Alan Mackenzie
2014-12-04 15:40             ` Generate ChangeLogs (was: Metaproblem, part 3) Lars Magne Ingebrigtsen
2014-12-04 17:23               ` Generate ChangeLogs Karl Fogel
2014-12-04 17:28                 ` Eric S. Raymond
2014-12-04 17:40               ` Paul Eggert
2014-12-04 19:09                 ` Achim Gratz
2014-12-05  8:07                 ` Glenn Morris
2014-12-06  2:24                   ` Paul Eggert
2014-12-04 18:18               ` Ted Zlatanov
2014-12-04 13:58           ` Metaproblem, part 3 Phillip Lord
2014-12-04 14:32             ` João Távora
2014-12-04 17:40               ` Eli Zaretskii
2014-12-05 10:27                 ` João Távora
2014-12-05 10:45                   ` Eli Zaretskii
2014-12-05 11:21                     ` João Távora
2014-12-05 11:31                       ` Eli Zaretskii
2014-12-05 12:20                         ` João Távora
2014-12-05 13:16                           ` Kelvin White
2014-12-05 14:52                           ` Eli Zaretskii
2014-12-06  5:38                             ` Stephen J. Turnbull
2014-12-06  7:07                               ` João Távora
2014-12-06  8:03                                 ` Eli Zaretskii
2014-12-08 11:40                                   ` [mentor-request] a darkroom/writeroom mode for Emacs João Távora
2014-12-08 12:15                                     ` joakim
2014-12-09 11:46                                       ` João Távora
2014-12-09 12:45                                         ` joakim
2014-12-10  2:39                                         ` Stephen J. Turnbull
2014-12-08 12:40                                     ` Rasmus
2014-12-09 11:28                                       ` [mentoring] " João Távora
2014-12-09 12:20                                         ` Rasmus
2014-12-09 13:11                                           ` João Távora
2014-12-09 14:56                                             ` Rasmus
2014-12-10  0:54                                               ` Stefan Monnier
2014-12-10  1:22                                                 ` Rasmus
2014-12-09 22:25                                             ` Rasmus
2014-12-11 11:22                                               ` João Távora
2014-12-11 17:15                                                 ` Stefan Monnier
2014-12-12 11:19                                                   ` João Távora
2014-12-11 18:33                                                 ` Rasmus
2014-12-12 11:16                                                   ` João Távora
2014-12-12 12:09                                                     ` Rasmus
2014-12-15 12:01                                                       ` [mentoring-done] " João Távora
2014-12-15 13:06                                                         ` Dmitry Gutov
2014-12-15 13:20                                                           ` João Távora
2014-12-15 13:47                                                             ` Dmitry Gutov
2014-12-15 13:55                                                               ` João Távora
2014-12-15 14:38                                                             ` Stefan Monnier
2014-12-15 13:19                                                         ` martin rudalics
2014-12-15 13:37                                                           ` João Távora
2014-12-15 14:15                                                             ` martin rudalics
2014-12-15 14:54                                                               ` João Távora
2014-12-15 15:28                                                                 ` martin rudalics
2014-12-15 22:10                                                                   ` João Távora
2014-12-12 14:27                                                     ` [mentoring] " Drew Adams
2014-12-12 14:38                                                     ` Stefan Monnier
2014-12-09 16:32                                         ` Phillip Lord
2014-12-08 11:46                                   ` [mentor-request] Ecco - a literate programming documentation generator João Távora
2014-12-21 20:17                                   ` Results of the "mentoring" experiment Re: Metaproblem, part 3 João Távora
2014-12-21 21:22                                     ` Rasmus
2014-12-22 14:14                                     ` Results of the "mentoring" experiment Stephen Leake
2014-12-22 16:01                                       ` João Távora
2014-12-22 16:03                                       ` João Távora
2014-12-05 12:16                       ` Metaproblem, part 3 Phillip Lord
2014-12-05 13:20                     ` Eric Abrahamsen
2014-12-05 14:59                       ` Eli Zaretskii
2014-12-06  5:45                       ` Stephen J. Turnbull
2014-12-06  6:18                         ` Eric S. Raymond
2014-12-06  8:01                           ` Eli Zaretskii
2014-12-06 16:32                           ` Stephen J. Turnbull
2014-12-06  8:29                         ` Eric Abrahamsen
2014-12-06 10:11                           ` Eli Zaretskii
2014-12-06 10:40                             ` Eric Abrahamsen
2014-12-06 10:47                               ` Eli Zaretskii
2014-12-06 11:04                           ` David Kastrup
2014-12-06 12:52                             ` Ivan Shmakov
2014-12-07  1:41                             ` Eric Abrahamsen
2014-12-09 12:29                               ` João Távora
2014-12-06 14:18                           ` Stephen J. Turnbull
2014-12-07  1:38                             ` Eric Abrahamsen
2014-12-06 10:51                         ` David Kastrup
2014-12-07  9:19                           ` Richard Stallman
2014-12-05 10:56                 ` Phillip Lord
2014-12-05 11:15                   ` Eli Zaretskii
2014-12-05 12:09                     ` Phillip Lord
2014-12-05 14:50                       ` Eli Zaretskii
2014-12-03 19:32     ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el David Engster
2014-12-03 19:53       ` Eric S. Raymond
2014-12-03 19:58         ` David Engster
2014-12-03 20:08           ` Eric S. Raymond
2014-12-03 20:28             ` David Engster
2014-12-03 20:58               ` Eric S. Raymond
2014-12-04 20:28                 ` David Engster
2014-12-04 20:46                   ` Eli Zaretskii
2014-12-05  2:16                   ` Stefan Monnier
2014-12-05  8:06                     ` Glenn Morris
2014-12-03 15:34   ` Stefan Monnier
2014-12-03 16:41     ` Thien-Thi Nguyen
2014-12-03 18:08       ` Eli Zaretskii
2014-12-03 18:36         ` Tom
2014-12-03 19:21           ` Paul Eggert
2014-12-03 19:27             ` Tom
2014-12-03 18:58         ` Lars Magne Ingebrigtsen
2014-12-03 19:26           ` Eric S. Raymond
2014-12-03 19:11         ` Thien-Thi Nguyen
2014-12-03 19:27     ` Eric S. Raymond
2014-12-03 19:41       ` Paul Eggert
2014-12-03 20:03         ` Commit comment rules - and a metaproblem Eric S. Raymond
2014-12-03 20:26         ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Eli Zaretskii
2014-12-03 21:14           ` More metaproblem Eric S. Raymond
2014-12-03 22:13             ` Karl Fogel
2014-12-04  6:38               ` Eli Zaretskii
2014-12-04  8:38                 ` Stephen Leake
2014-12-04 10:11                   ` Eli Zaretskii
2014-12-04 10:23                   ` David Kastrup
2014-12-04 15:35                   ` Stefan Monnier
2014-12-04 16:33                     ` Stephen Leake
2014-12-04 17:37                     ` Eli Zaretskii
2014-12-04 20:43                       ` Stefan Monnier
2014-12-04 21:26                         ` Eli Zaretskii
2014-12-05 23:03                     ` chad
2014-12-04  9:08                 ` Stephen Leake
2014-12-04 10:01                   ` Eli Zaretskii
2014-12-04 10:11                     ` David Kastrup
2014-12-04 10:27                     ` Eric S. Raymond
2014-12-04 10:35                       ` David Kastrup
2014-12-04 11:01                         ` Eli Zaretskii
2014-12-04 11:07                           ` Eric S. Raymond
2014-12-05  1:23                       ` Stephen J. Turnbull
2014-12-05  6:53                         ` Eli Zaretskii
2014-12-04 18:33                 ` Karl Fogel
2014-12-04 21:21                   ` Eli Zaretskii
2014-12-04 22:01                     ` Jorgen Schaefer
2014-12-05  7:08                       ` Eli Zaretskii
2014-12-05  7:55                         ` Aurélien Aptel
2014-12-05  8:44                           ` Eli Zaretskii
2014-12-06 10:41                           ` the Emacs wiki Stephen Leake
2014-12-06 10:58                             ` Eli Zaretskii
2014-12-06 21:28                             ` Nic Ferrier
2014-12-07 22:47                               ` Stephen Leake
2014-12-09  8:04                                 ` Nic Ferrier
2014-12-09 22:28                                   ` Alexis
2014-12-10 21:32                                     ` Nic Ferrier
2014-12-06  5:11                         ` More metaproblem Stephen J. Turnbull
2014-12-06  7:47                           ` Eli Zaretskii
2014-12-05 11:52                       ` Nicolas Richard
2014-12-05 22:43                         ` Richard Stallman
2014-12-05 16:51                     ` Karl Fogel
2014-12-05 16:57                       ` Lars Magne Ingebrigtsen
2014-12-05 18:24                         ` Eric S. Raymond
2014-12-05 21:16                           ` Karl Fogel
2014-12-05 18:56                         ` Stefan Monnier
2014-12-05 17:27                       ` Eli Zaretskii
2014-12-05 17:52                         ` Karl Fogel
2014-12-05 18:39                           ` Glenn Morris
2014-12-05 21:23                             ` Karl Fogel
2014-12-05 22:24                               ` Eric S. Raymond
2014-12-05 22:41                                 ` Ted Zlatanov
2014-12-05 23:02                                   ` Eli Zaretskii
2014-12-05 23:12                                 ` Eli Zaretskii
2014-12-06  4:58                                   ` Eric S. Raymond
2014-12-06  7:42                                     ` Eli Zaretskii
2014-12-06 11:35                                       ` Eric S. Raymond
2014-12-06 11:58                                         ` David Kastrup
2014-12-06 12:35                                         ` Eli Zaretskii
2014-12-06 14:10                                           ` Werner LEMBERG
2014-12-06  9:27                           ` Stephen Leake
2014-12-06 10:20                             ` Eli Zaretskii
2014-12-06 11:41                             ` Eric S. Raymond
2014-12-06 12:37                               ` Eli Zaretskii
2014-12-06 13:16                                 ` David Kastrup
2014-12-06 14:22                                   ` Eli Zaretskii
2014-12-05 18:19                       ` Eric S. Raymond
2014-12-05 21:14                         ` Karl Fogel
2014-12-05 21:23                           ` Eric S. Raymond
2014-12-05 18:20                       ` Glenn Morris
2014-12-05 18:56                         ` Eric S. Raymond
2014-12-05 20:11                           ` Eli Zaretskii
2014-12-08 17:16                             ` Glenn Morris
2014-12-09 11:00                               ` Richard Stallman
2014-12-06  9:41                           ` Stephen Leake
2014-12-06  9:10                       ` maintaining FSF Emacs web page Stephen Leake
2014-12-06 17:57                         ` Karl Fogel
2014-12-07  9:20                         ` Richard Stallman
2014-12-09 12:30                           ` Alex Schroeder
2014-12-10  8:24                             ` Richard Stallman
2014-12-06  9:19                       ` More metaproblem Stephen Leake
2014-12-06 16:44                         ` Drew Adams
2014-12-06 18:41                           ` Stephen Leake
2014-12-06 19:24                             ` Drew Adams
2014-12-07 22:07                               ` Stephen Leake
2014-12-07 23:00                                 ` Drew Adams
2014-12-08 15:57                                   ` Eli Zaretskii
2014-12-08 21:23                                 ` Przemysław Wojnowski
2014-12-09 16:54                                   ` Eli Zaretskii
2014-12-10  9:16                                     ` Stephen Leake
2014-12-10 19:46                                     ` Przemysław Wojnowski
2014-12-10 20:48                                       ` Eli Zaretskii
2014-12-10 22:10                                         ` Stefan Monnier
2014-12-10 20:09                                   ` Przemysław Wojnowski
2014-12-10 20:28                                     ` Stefan Monnier
2014-12-05  9:58                   ` Stephen Leake
2014-12-05 15:44                     ` Stefan Monnier
2014-12-05 17:37                       ` Karl Fogel
2014-12-05 19:36                         ` Stefan Monnier
2014-12-05 17:34                     ` Karl Fogel
2014-12-05 17:40                       ` Lars Magne Ingebrigtsen
2014-12-05 17:54                         ` Karl Fogel
2014-12-06 12:04                         ` Richard Stallman
2014-12-06 18:56                           ` publicizing Emacs contribute Stephen Leake
2014-12-06 19:29                             ` Óscar Fuentes
2014-12-07  1:00                               ` Dmitry Gutov
2014-12-07  1:33                                 ` Óscar Fuentes
2014-12-08  0:23                               ` Richard Stallman
2014-12-07  9:21                             ` Richard Stallman
2014-12-07 23:06                               ` Stephen Leake
2014-12-05 18:04                       ` More metaproblem Eric S. Raymond
2014-12-06 10:19                       ` Stephen Leake
2014-12-05 11:45                   ` Phillip Lord
2014-12-06  5:17                     ` Stephen J. Turnbull
2014-12-06 10:17                       ` David Kastrup
2014-12-06 16:45                         ` Drew Adams
2014-12-06 10:30                       ` Stephen Leake
2014-12-03 22:14             ` Stefan Monnier
2014-12-04  3:32             ` Stephen Leake
2014-12-04  6:25             ` Eli Zaretskii
2014-12-05 18:37   ` master e820f16: Added file-tree-walk to files.el Michael Heerdegen
2014-12-05 18:57     ` Eric S. Raymond

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).