* Include necessary git tools in the Emacs distribution?
@ 2014-11-14 14:39 Lars Magne Ingebrigtsen
2014-11-14 14:57 ` Tassilo Horn
` (2 more replies)
0 siblings, 3 replies; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-11-14 14:39 UTC (permalink / raw)
To: emacs-devel
To use git for Emacs development, you really kinda need merge-changelog
and git-new-workdir. The former is a C file also included in gnulib, so
I would assume that that's not a licensing problem.
git-new-workdir is a shell script, and I can't find the license after
looking around for ten seconds.
Anyway, I don't think it makes much sense to make Emacs developers hunt
around for these things themselves when it's something that's needed if
you don't want to go insane while hacking Emacs.
I mean, more insane.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-14 14:39 Include necessary git tools in the Emacs distribution? Lars Magne Ingebrigtsen
@ 2014-11-14 14:57 ` Tassilo Horn
2014-11-14 14:58 ` Eli Zaretskii
2014-11-14 16:13 ` Ulrich Mueller
2 siblings, 0 replies; 90+ messages in thread
From: Tassilo Horn @ 2014-11-14 14:57 UTC (permalink / raw)
To: emacs-devel
Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
> To use git for Emacs development, you really kinda need
> merge-changelog and git-new-workdir. The former is a C file also
> included in gnulib, so I would assume that that's not a licensing
> problem.
Yeah, I had to clone gnulib specificly for that.
> git-new-workdir is a shell script, and I can't find the license after
> looking around for ten seconds.
Isn't that installed with Git out of the box (just not in PATH)? (At
least here on Arch GNU/Linux it is.)
Bye,
Tassilo
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-14 14:39 Include necessary git tools in the Emacs distribution? Lars Magne Ingebrigtsen
2014-11-14 14:57 ` Tassilo Horn
@ 2014-11-14 14:58 ` Eli Zaretskii
2014-11-14 16:13 ` Ulrich Mueller
2 siblings, 0 replies; 90+ messages in thread
From: Eli Zaretskii @ 2014-11-14 14:58 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen; +Cc: emacs-devel
> From: Lars Magne Ingebrigtsen <larsi@gnus.org>
> Date: Fri, 14 Nov 2014 15:39:52 +0100
>
> To use git for Emacs development, you really kinda need merge-changelog
> and git-new-workdir. The former is a C file also included in gnulib, so
> I would assume that that's not a licensing problem.
>
> git-new-workdir is a shell script, and I can't find the license after
> looking around for ten seconds.
>
> Anyway, I don't think it makes much sense to make Emacs developers hunt
> around for these things themselves
Those who are on MS-Windows don't need to hunt for
git-merge-changelog farther than this:
http://sourceforge.net/projects/ezwinports/files/git-merge-changelog-0.1-2-w32-bin.zip/download
As for git-new-workdir, it isn't included in msysgit, and I wonder
whether it's because it somehow relies on features not available on
Windows.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-14 14:39 Include necessary git tools in the Emacs distribution? Lars Magne Ingebrigtsen
2014-11-14 14:57 ` Tassilo Horn
2014-11-14 14:58 ` Eli Zaretskii
@ 2014-11-14 16:13 ` Ulrich Mueller
2014-11-15 19:28 ` Lars Magne Ingebrigtsen
2014-11-18 2:07 ` Rüdiger Sonderfeld
2 siblings, 2 replies; 90+ messages in thread
From: Ulrich Mueller @ 2014-11-14 16:13 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen; +Cc: emacs-devel
>>>>> On Fri, 14 Nov 2014, Lars Magne Ingebrigtsen wrote:
> To use git for Emacs development, you really kinda need
> merge-changelog and git-new-workdir. [...]
These are development tools not related to Emacs in particular, so why
should they be bundled with Emacs? (Reminds me of early versions which
bundled a C preprocessor ...)
> Anyway, I don't think it makes much sense to make Emacs developers
> hunt around for these things themselves when it's something that's
> needed if you don't want to go insane while hacking Emacs.
Gentoo has dev-vcs/git-merge-changelog as a package. However, it would
certainly help if it was packaged upstream, without the need to first
extract it from gnulib.
Ulrich
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-14 16:13 ` Ulrich Mueller
@ 2014-11-15 19:28 ` Lars Magne Ingebrigtsen
2014-11-15 20:04 ` Ulrich Mueller
2014-11-18 2:07 ` Rüdiger Sonderfeld
1 sibling, 1 reply; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-11-15 19:28 UTC (permalink / raw)
To: Ulrich Mueller; +Cc: emacs-devel
Ulrich Mueller <ulm@gentoo.org> writes:
>>>>>> On Fri, 14 Nov 2014, Lars Magne Ingebrigtsen wrote:
>
>> To use git for Emacs development, you really kinda need
>> merge-changelog and git-new-workdir. [...]
>
> These are development tools not related to Emacs in particular, so why
> should they be bundled with Emacs? (Reminds me of early versions which
> bundled a C preprocessor ...)
merge-changelog is needed to do anything efficiently in Emacs, and it's
are difficult to get at otherwise. The latter isn't the case with C
preprocessors any more.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-15 19:28 ` Lars Magne Ingebrigtsen
@ 2014-11-15 20:04 ` Ulrich Mueller
2014-11-15 20:07 ` Lars Magne Ingebrigtsen
0 siblings, 1 reply; 90+ messages in thread
From: Ulrich Mueller @ 2014-11-15 20:04 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen; +Cc: emacs-devel
>>>>> On Sat, 15 Nov 2014, Lars Magne Ingebrigtsen wrote:
> merge-changelog is needed to do anything efficiently in Emacs, and
> it's are difficult to get at otherwise.
I am looking at it from a distro point of view. Generally, distros are
not happy when packages are bundling and installing unrelated tools,
but prefer keeping separate things in separate packages. One reason
for this is that bundled stuff tends to cause file collisions between
packages.
Ulrich
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-15 20:04 ` Ulrich Mueller
@ 2014-11-15 20:07 ` Lars Magne Ingebrigtsen
2014-11-15 20:34 ` Kelvin White
` (2 more replies)
0 siblings, 3 replies; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-11-15 20:07 UTC (permalink / raw)
To: Ulrich Mueller; +Cc: emacs-devel
Ulrich Mueller <ulm@gentoo.org> writes:
> I am looking at it from a distro point of view. Generally, distros are
> not happy when packages are bundling and installing unrelated tools,
> but prefer keeping separate things in separate packages. One reason
> for this is that bundled stuff tends to cause file collisions between
> packages.
I don't really follow. This is about putting things necessary to do
Emacs maintenance into the Emacs repository. The tools would not be
distributed with the Emacs package in any distribution.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-15 20:07 ` Lars Magne Ingebrigtsen
@ 2014-11-15 20:34 ` Kelvin White
2014-11-15 20:35 ` Lars Magne Ingebrigtsen
2014-11-15 21:45 ` Glenn Morris
2014-11-16 0:01 ` Lennart Borgman
2 siblings, 1 reply; 90+ messages in thread
From: Kelvin White @ 2014-11-15 20:34 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen; +Cc: Ulrich Mueller, Emacs development discussions
[-- Attachment #1: Type: text/plain, Size: 707 bytes --]
Lars Magne Ingebrigtsen <larsi@gnus.org> wrote:
>> lrich Mueller <ulm@gentoo.org> writes:
>> I am looking at it from a distro point of view. Generally, distros are
>> not happy when packages are bundling and installing unrelated tools,
>> but prefer keeping separate things in separate packages. One reason
>> for this is that bundled stuff tends to cause file collisions between
>> packages.
> I don't really follow. This is about putting things necessary to do
> Emacs maintenance into the Emacs repository. The tools would not be
> distributed with the Emacs package in any distribution.
Just to clarify they would only be available in Emacs repositories,
not bundled with the next release. Correct?
[-- Attachment #2: Type: text/html, Size: 1352 bytes --]
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-15 20:34 ` Kelvin White
@ 2014-11-15 20:35 ` Lars Magne Ingebrigtsen
2014-11-15 20:57 ` Ulrich Mueller
0 siblings, 1 reply; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-11-15 20:35 UTC (permalink / raw)
To: Kelvin White; +Cc: Ulrich Mueller, Emacs development discussions
Kelvin White <kwhite@gnu.org> writes:
> Just to clarify they would only be available in Emacs repositories,
> not bundled with the next release. Correct?
Yes.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-15 20:35 ` Lars Magne Ingebrigtsen
@ 2014-11-15 20:57 ` Ulrich Mueller
0 siblings, 0 replies; 90+ messages in thread
From: Ulrich Mueller @ 2014-11-15 20:57 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen; +Cc: Kelvin White, Emacs development discussions
>>>>> On Sat, 15 Nov 2014, Lars Magne Ingebrigtsen wrote:
> Kelvin White <kwhite@gnu.org> writes:
>> Just to clarify they would only be available in Emacs repositories,
>> not bundled with the next release. Correct?
> Yes.
Then it is fine, of course. The Subject seemed to indicate something
else, though.
Ulrich
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-15 20:07 ` Lars Magne Ingebrigtsen
2014-11-15 20:34 ` Kelvin White
@ 2014-11-15 21:45 ` Glenn Morris
2014-11-16 0:01 ` Lennart Borgman
2 siblings, 0 replies; 90+ messages in thread
From: Glenn Morris @ 2014-11-15 21:45 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen; +Cc: Ulrich Mueller, emacs-devel
I'm against such bundling on principle.
Just include a clear statement on where to get whatever.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-15 20:07 ` Lars Magne Ingebrigtsen
2014-11-15 20:34 ` Kelvin White
2014-11-15 21:45 ` Glenn Morris
@ 2014-11-16 0:01 ` Lennart Borgman
2 siblings, 0 replies; 90+ messages in thread
From: Lennart Borgman @ 2014-11-16 0:01 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen; +Cc: Ulrich Mueller, Emacs-Devel devel
[-- Attachment #1: Type: text/plain, Size: 853 bytes --]
On Sat, Nov 15, 2014 at 9:07 PM, Lars Magne Ingebrigtsen <larsi@gnus.org>
wrote:
> Ulrich Mueller <ulm@gentoo.org> writes:
>
> > I am looking at it from a distro point of view. Generally, distros are
> > not happy when packages are bundling and installing unrelated tools,
> > but prefer keeping separate things in separate packages. One reason
> > for this is that bundled stuff tends to cause file collisions between
> > packages.
>
> I don't really follow. This is about putting things necessary to do
> Emacs maintenance into the Emacs repository. The tools would not be
> distributed with the Emacs package in any distribution.
>
I would be glad for something like this:
"Emacs error: The program 'grep' is not available. Install it automatically
(yes/no)?:"
On all platforms, of course.
In case that is not possible I prefer bundling. ;-)
[-- Attachment #2: Type: text/html, Size: 1850 bytes --]
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-14 16:13 ` Ulrich Mueller
2014-11-15 19:28 ` Lars Magne Ingebrigtsen
@ 2014-11-18 2:07 ` Rüdiger Sonderfeld
2014-11-18 2:15 ` Paul Eggert
2014-11-19 16:54 ` Include necessary git tools in the Emacs distribution? David Engster
1 sibling, 2 replies; 90+ messages in thread
From: Rüdiger Sonderfeld @ 2014-11-18 2:07 UTC (permalink / raw)
To: emacs-devel; +Cc: Ulrich Mueller, Lars Magne Ingebrigtsen
On Friday 14 November 2014 17:13:35 Ulrich Mueller wrote:
> Gentoo has dev-vcs/git-merge-changelog as a package. However, it would
> certainly help if it was packaged upstream, without the need to first
> extract it from gnulib.
I've created a bug (wishlist) report for it to be added to Debian's git-extras
package:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734527
But so far (7 Jan 2014) no reply. I guess the best solution to deal with it,
would be to move it from Gnulib to git/contrib. But that would require the
Gnulib and git maintainers to work together and agree on the issue.
(Since it is licensed GPL2+, there should at least be no license issue.)
Regards,
Rüdiger
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-18 2:07 ` Rüdiger Sonderfeld
@ 2014-11-18 2:15 ` Paul Eggert
2014-11-18 14:45 ` Generating the ChangeLog files from the commit messages (was: Include necessary git tools in the Emacs distribution?) Stefan Monnier
2014-11-19 16:54 ` Include necessary git tools in the Emacs distribution? David Engster
1 sibling, 1 reply; 90+ messages in thread
From: Paul Eggert @ 2014-11-18 2:15 UTC (permalink / raw)
To: Rüdiger Sonderfeld, emacs-devel
Cc: Ulrich Mueller, Lars Magne Ingebrigtsen
Rüdiger Sonderfeld wrote:
> I guess the best solution to deal with it,
> would be to move it from Gnulib to git/contrib.
An even better solution would be to generate the ChangeLog automatically from
the git commit log, as is done in several other GNU projects. This is on our
list of things to do for Emacs. Once it's done, Emacs shouldn't need
git-merge-changelog.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Generating the ChangeLog files from the commit messages (was: Include necessary git tools in the Emacs distribution?)
2014-11-18 2:15 ` Paul Eggert
@ 2014-11-18 14:45 ` Stefan Monnier
2014-11-18 14:59 ` Generating the ChangeLog files from the commit messages Ted Zlatanov
2014-11-18 17:10 ` Glenn Morris
0 siblings, 2 replies; 90+ messages in thread
From: Stefan Monnier @ 2014-11-18 14:45 UTC (permalink / raw)
To: emacs-devel
> An even better solution would be to generate the ChangeLog automatically
> from the git commit log, as is done in several other GNU projects.
Agreed.
Stefan
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 14:45 ` Generating the ChangeLog files from the commit messages (was: Include necessary git tools in the Emacs distribution?) Stefan Monnier
@ 2014-11-18 14:59 ` Ted Zlatanov
2014-11-18 16:22 ` Rüdiger Sonderfeld
2014-11-18 17:10 ` Glenn Morris
1 sibling, 1 reply; 90+ messages in thread
From: Ted Zlatanov @ 2014-11-18 14:59 UTC (permalink / raw)
To: emacs-devel
On Tue, 18 Nov 2014 09:45:44 -0500 Stefan Monnier <monnier@IRO.UMontreal.CA> wrote:
>> An even better solution would be to generate the ChangeLog automatically
>> from the git commit log, as is done in several other GNU projects.
SM> Agreed.
What's blocking that? Just code or are you/we waiting for something
after the Git migration?
Ted
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 14:59 ` Generating the ChangeLog files from the commit messages Ted Zlatanov
@ 2014-11-18 16:22 ` Rüdiger Sonderfeld
0 siblings, 0 replies; 90+ messages in thread
From: Rüdiger Sonderfeld @ 2014-11-18 16:22 UTC (permalink / raw)
To: emacs-devel; +Cc: Ted Zlatanov
On Tuesday 18 November 2014 09:59:23 Ted Zlatanov wrote:
> On Tue, 18 Nov 2014 09:45:44 -0500 Stefan Monnier <monnier@IRO.UMontreal.CA>
wrote:
> >> An even better solution would be to generate the ChangeLog automatically
> >> from the git commit log, as is done in several other GNU projects.
>
> SM> Agreed.
>
> What's blocking that? Just code or are you/we waiting for something
> after the Git migration?
I guess it makes sense to wait until everything has settled from the Git
migration. Not introducing too many changes to the workflow at once.
So far it seems the major argument against generating ChangeLogs from commit
messages was, that the files can be easily edited and fixed. I'm not sure how
this can be addressed. Git's tools to edit commit messages (history) are
sadly destructive and not transparent. The support for git-notes(1) seems to
be rather poor. I guess we have to look at how other projects have solved
this.
Anyway, there is a gitlog-to-changelog script in Gnulib as well. We might be
able to use that.
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=build-aux/gitlog-to-changelog
Regards,
Rüdiger
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 14:45 ` Generating the ChangeLog files from the commit messages (was: Include necessary git tools in the Emacs distribution?) Stefan Monnier
2014-11-18 14:59 ` Generating the ChangeLog files from the commit messages Ted Zlatanov
@ 2014-11-18 17:10 ` Glenn Morris
2014-11-18 17:40 ` Eli Zaretskii
2014-11-19 9:02 ` Bastien
1 sibling, 2 replies; 90+ messages in thread
From: Glenn Morris @ 2014-11-18 17:10 UTC (permalink / raw)
To: emacs-devel
Pretend I posted
http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00637.html
again. Obviously no-one cares and this will happen anyway, but I reckon
enough years have passed I can register the token objection again.
I did a lot of merging between branches with bzr, and had basically zero
problems with the ChangeLogs. But no-one cares about that either; and
it's someone else's problem now.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 17:10 ` Glenn Morris
@ 2014-11-18 17:40 ` Eli Zaretskii
2014-11-18 17:56 ` Paul Eggert
2014-11-18 21:12 ` Stefan Monnier
2014-11-19 9:02 ` Bastien
1 sibling, 2 replies; 90+ messages in thread
From: Eli Zaretskii @ 2014-11-18 17:40 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
> From: Glenn Morris <rgm@gnu.org>
> Date: Tue, 18 Nov 2014 12:10:37 -0500
>
>
> Pretend I posted
>
> http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00637.html
>
> again.
This part:
3) ChangeLogs can be edited to correct mistakes, commit logs cannot.
can be taken care of when producing ChangeLog files from commit
messages: the gitlog-to-changelog script has a facility to perform
replacements while it generates ChangeLog, so we could maintain a list
of mistake corrections for that purpose.
This part:
4) I have the impression that having to write ChangeLogs leads to
higher quality entries than just using commit logs would.
worries me as well, especially since I've seen a couple of projects
where the quality of log messages is very low (not sure if that
started when they tossed ChangeLogs).
> I did a lot of merging between branches with bzr, and had basically zero
> problems with the ChangeLogs.
The same is true when using git-merge-changelog with git.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 17:40 ` Eli Zaretskii
@ 2014-11-18 17:56 ` Paul Eggert
2014-11-18 20:32 ` Thien-Thi Nguyen
2014-11-18 21:12 ` Stefan Monnier
1 sibling, 1 reply; 90+ messages in thread
From: Paul Eggert @ 2014-11-18 17:56 UTC (permalink / raw)
To: Eli Zaretskii, Glenn Morris; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1339 bytes --]
On 11/18/2014 09:40 AM, Eli Zaretskii wrote:
> I've seen a couple of projects
> where the quality of log messages is very low
That can be a problem, but it's the same as the problem where the
quality of ChangeLog files is very low. The two problems are solvable
in the same way, namely by asking developers to write good commit log
messages / ChangeLog entries, just as Stefan asked Lars to do a few
minutes ago
You can judge the results by looking at the coreutils ChangeLog file
(the first few entries are attached). This was automatically generated
from coreutils' commit log.These ChangeLog entries are just as
high-quality as Emacs's, though admittedly coreutils is a smaller
project and is easier to shepherd.
Glenn's objection (1) was not enough support in Emacs. This depends on
the workflow one uses. I use vc-dwim and it works well for me. Others
may prefer to do other things, and this may require some Elisp hacking
to work to their satisfaction, but it shouldn't be a big problem.
Glenn's objection (2) was that he sometimes wants more details in the
commit log than in the ChangeLog. He's right, this is a downside, but
my own feeling is that it's a minor one. We shouldn't be spending so
much time on ChangeLog files that we worry about this sort of thing.
Just write a decent entry and move on.
[-- Attachment #2: ChangeLog --]
[-- Type: text/plain, Size: 4451 bytes --]
2014-07-18 Pádraig Brady <P@draigBrady.com>
version 8.23
* NEWS: Record release date.
build: port new bootstrap script to POSIX shells
* build-aux/gen-single-binary.sh: Avoid bash only constructs.
Reported by Assaf Gordon
tests: fix false failure with spaces in the test directory
* tests/misc/env.sh: Skip if we can't execute the generated shebang,
which would be the case if there are spaces in the directory hierarchy.
This is triggered by `make distcheck`
2014-07-18 Pádraig Brady <P@draigBrady.com>
build: don't distribute generated coreutils.h
This issue was identified by the manifest comparisons
done by `make distcheck`
* src/local.mk (noinst_HEADERS): Remove coreutils.h from this always
distributed list.
(nodist_src_coreutils_SOURCES): Add coreutils.h as its contents
are determined at configure time, so pointless to distribute.
(src_coreutils_SOURCES): Define explicitly so that the corresponding
nodist_ variable is honored.
(DISTCLEANFILES): Add coreutils.h to this rather than CLEANFILES,
as its contents are determined at configure time.
2014-07-18 Pádraig Brady <P@draigBrady.com>
tests: fix false failure in cp --preserve=context test
With libselinux-2.2.1-6.fc20.x86_64, kernel-3.12.6-300.fc20.x86_64
`cp --preserve=context src dst` was seen to succeed when src and
dst where on the same fixed context file system, as lsetfilecon()
returned success in this case when the context wasn't being changed.
* tests/cp/cp-a-selinux.sh: Copy from a different file system to
most likely have a different context that will test context
setting logic correctly.
2014-07-18 Pádraig Brady <P@draigBrady.com>
maint: avoid a syntax-check warning in previous commit
* cfg.mk: Avoid warning for @AMDEP_TRUE@ usage in man/local.mk
2014-07-17 Paul Eggert <eggert@cs.ucla.edu>
build: port to non-GNU make
This fixes a problem with native Solaris 'make', which does not
grok '-include' lines (a GNU extension to POSIX 'make').
* configure.ac (man/dynamic-deps.mk): Create it, with an old
time stamp, if doing dynamic dependency tracking.
* man/local.mk (DISTCLEANFILES): Put man/dynamic-deps.mk here,
rather than in CLEANFILES.
(man/dynamic-deps.mk): Don't create it read-only, so that we
can easily touch it later.
Include it with '@AMDEP_TRUE@@am__include@', not with '-include',
as '-include' does not work with native Solaris 'make'.
2014-07-16 Assaf Gordon <assafgordon@gmail.com>
numfmt: fix isblank() usage for some unibyte locales
* src/numfmt.c (simple_strtod_int): Replace isdigit() with c_isdigit()
to avoid locale concerns and -Wchar-subscripts warnings on cygwin.
Remove the now redundant locale guard.
(simple_strtod_human): Cast characters to unsigned so that the promoted
int value passed to isblank() is positive, allowing it to work correctly
for all characters in unibyte locales. Previously character 0xA0,
i.e. non-breaking space, would be misclassified for example.
(process_suffixed_number): Likewise.
(skip_fields): Likewise.
Both issues were triggered by the -Wchar-subscripts warning on GCC 4.8.3
on cygwin, due to the is*() implementations used there, but the issue
is present on all platforms defaulting to signed chars.
* NEWS: Mention the bug fix.
Reported by Eric Blake
2014-07-14 Pádraig Brady <P@draigBrady.com>
tests: fix portabilitiy issue in new od-endian test
* tests/misc/od-endian.sh: '\n' is not generally supported
in the replacement, so use the more portable "\\$NL".
tests: fix portability issue in new dd/ascii test
* tests/dd/ascii.sh: Quote so that '\\' is passed
to printf rather than a single '\', as that's not portable.
bash, dash, zsh and external solaris printf were seen to support
printf '\%03o' 1 2
while ksh, freebsh shell and external GNU printf need the more portable
printf '\\%03o' 1 2
Note we don't use env here to call the coreutils printf implementation,
as there are many printf calls, so relying on portable shell
implementations will be faster.
tests: avoid hang when files created with wrong permissions
* tests/split/b-chunk.sh: Never show the rm prompt which would
hang the test suite. This was seen when split erroneously
created files with no persmissions, which was triggered by
this compiler bug in clang 3.4:
http://llvm.org/bugs/show_bug.cgi?id=18346
maint: avoid clang -Wint-to-pointer-cast warning
* src/chroot.c: Explicitly cast int to pointer type.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 17:56 ` Paul Eggert
@ 2014-11-18 20:32 ` Thien-Thi Nguyen
0 siblings, 0 replies; 90+ messages in thread
From: Thien-Thi Nguyen @ 2014-11-18 20:32 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1150 bytes --]
() Paul Eggert <eggert@cs.ucla.edu>
() Tue, 18 Nov 2014 09:56:03 -0800
Glenn's objection (2) was that he sometimes wants more details
in the commit log than in the ChangeLog. He's right, this is a
downside, but my own feeling is that it's a minor one. We
shouldn't be spending so much time on ChangeLog files that we
worry about this sort of thing. Just write a decent entry and
move on.
If we settle on an "official commit log format" that sets aside an
area for such details, then that area can be mechanically omitted
when generating the ChangeLog file. I'm partial to:
TITLE
PARAGRAPH-1
PARAGRAPH-2
* FILE (FUNC): DESCRIPTION-OF-CHANGE.
The PARAGRAPHs are easily distinguishable; the generated ChangeLog
would be:
YYYY-MM-DD AUTHOR <EMAIL>
TITLE
* FILE (FUNC): DESCRIPTION-OF-CHANGE.
(modulo some bol TABs), which is the current practice AFAICT.
--
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] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 17:40 ` Eli Zaretskii
2014-11-18 17:56 ` Paul Eggert
@ 2014-11-18 21:12 ` Stefan Monnier
2014-11-18 22:05 ` Paul Eggert
` (3 more replies)
1 sibling, 4 replies; 90+ messages in thread
From: Stefan Monnier @ 2014-11-18 21:12 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-devel
> so we could maintain a list of mistake corrections for that purpose.
Sounds a lot more complex than just "edit ChangeLog, and commit".
> 4) I have the impression that having to write ChangeLogs leads to
> higher quality entries than just using commit logs would.
Yes, that's a risk. We have to stay alert.
>> I did a lot of merging between branches with bzr, and had basically zero
>> problems with the ChangeLogs.
> The same is true when using git-merge-changelog with git.
We've developed ways to circumvent the problems and got used to them,
but that doesn't mean they don't exist.
One annoyance for me is the fact that we have several ChangeLog files,
so when I make a commit that touches many files, its description is
spread over several ChangeLogs, which is inconvenient (I almost always
end up forgetting to C-x C-s one of them, or to mark it in the *vc-dir*
buffer).
Stefan
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 21:12 ` Stefan Monnier
@ 2014-11-18 22:05 ` Paul Eggert
2014-11-19 22:36 ` Richard Stallman
2014-11-19 9:03 ` Bastien
` (2 subsequent siblings)
3 siblings, 1 reply; 90+ messages in thread
From: Paul Eggert @ 2014-11-18 22:05 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
On 11/18/2014 01:12 PM, Stefan Monnier wrote:
> One annoyance for me is the fact that we have several ChangeLog files,
Likewise. We should have just one. We can do that at the same time
that we fix things so that it's generated automatically.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 17:10 ` Glenn Morris
2014-11-18 17:40 ` Eli Zaretskii
@ 2014-11-19 9:02 ` Bastien
2014-11-19 9:38 ` Rasmus
2014-11-19 16:43 ` David Engster
1 sibling, 2 replies; 90+ messages in thread
From: Bastien @ 2014-11-19 9:02 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
I'm 100% with Glenn on this.
In Org, we generate the ChangeLog from the Git history and I often
wish we started by having a proper ChangeLog first.
If ChangeLog files are generated, maintainers will have to edit lots
of contributed commits manually before applying them -- this will be
boring.
--
Bastien
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 21:12 ` Stefan Monnier
2014-11-18 22:05 ` Paul Eggert
@ 2014-11-19 9:03 ` Bastien
2014-11-19 9:11 ` Lars Magne Ingebrigtsen
2014-11-29 22:35 ` Paul Eggert
3 siblings, 0 replies; 90+ messages in thread
From: Bastien @ 2014-11-19 9:03 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Eli Zaretskii, emacs-devel
Stefan Monnier <monnier@IRO.UMontreal.CA> writes:
> One annoyance for me is the fact that we have several ChangeLog files,
> so when I make a commit that touches many files, its description is
> spread over several ChangeLogs, which is inconvenient (I almost always
> end up forgetting to C-x C-s one of them, or to mark it in the *vc-dir*
> buffer).
FWIW, I'm also all for merging ChangeLogs files.
--
Bastien
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 21:12 ` Stefan Monnier
2014-11-18 22:05 ` Paul Eggert
2014-11-19 9:03 ` Bastien
@ 2014-11-19 9:11 ` Lars Magne Ingebrigtsen
2014-11-29 22:35 ` Paul Eggert
3 siblings, 0 replies; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-11-19 9:11 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
Stefan Monnier <monnier@IRO.UMontreal.CA> writes:
> One annoyance for me is the fact that we have several ChangeLog files,
> so when I make a commit that touches many files, its description is
> spread over several ChangeLogs, which is inconvenient (I almost always
> end up forgetting to C-x C-s one of them, or to mark it in the *vc-dir*
> buffer).
Yes, that's annoying. And `C-c C-a' in the commit buffer doesn't always
find the entries from those deeply nested ChangeLog files.
If we had just one ChangeLog, I don't think I'd mind the ChangeLogs very
much. But I think if we keep the ChangeLog, we really should distribute
git-merge-changelog in the Emacs git tree -- otherwise contributing to
Emacs becomes much harder than it has to be.
Count me in the "I'm fine with keeping the ChangeLog and I'm fine with
dumping 'em" camp.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 9:02 ` Bastien
@ 2014-11-19 9:38 ` Rasmus
2014-11-19 11:17 ` Bastien
2014-11-19 16:43 ` David Engster
1 sibling, 1 reply; 90+ messages in thread
From: Rasmus @ 2014-11-19 9:38 UTC (permalink / raw)
To: emacs-devel
Hi,
Bastien <bzg@gnu.org> writes:
> In Org, we generate the ChangeLog from the Git history and I often
> wish we started by having a proper ChangeLog first.
Interesting.
> If ChangeLog files are generated, maintainers will have to edit lots
> of contributed commits manually before applying them -- this will be
> boring.
As a offender I have observed that if a patch does not meet the commit
message/ChangeLog requirements one will (often) be asked to resubmit
following those prescriptions.
What are the types of mistakes you see? Could they be fixed by tougher
reviews? Or is the issue with forgetful people with commit access?
—Rasmus
--
. . . The proofs are technical in nature and provides no real understanding
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 9:38 ` Rasmus
@ 2014-11-19 11:17 ` Bastien
2014-11-19 13:34 ` Óscar Fuentes
2014-11-19 16:29 ` Yuri Khan
0 siblings, 2 replies; 90+ messages in thread
From: Bastien @ 2014-11-19 11:17 UTC (permalink / raw)
To: Rasmus; +Cc: emacs-devel
Hi Rasmus,
Rasmus <rasmus@gmx.us> writes:
>> If ChangeLog files are generated, maintainers will have to edit lots
>> of contributed commits manually before applying them -- this will be
>> boring.
>
> As a offender I have observed that if a patch does not meet the commit
> message/ChangeLog requirements one will (often) be asked to resubmit
> following those prescriptions.
Yes. I've taught myself to ask this to contributors, but still,
I continue to accept patches for which I edit the changelog myself.
> What are the types of mistakes you see?
You can basically take each advice from this page
http://orgmode.org/worg/org-contribute.html#unnumbered-10
and imagine the errors: an empty changelog, line 1 way too long,
the ChangeLog does not start with a capital letter, sentences do
not end with a fullstop, etc.
> Could they be fixed by tougher reviews?
Let me first say that I'm fine with a very low entry barrier for Org
contributors and I don't like the idea of a rigid review process for
such a fun project. Also, I'm not angry with misformed patches, I
often commit typos and errors myself: I just try to understand what
would make everyone's life easier.
If we had a ChangeLog in Org, people would very quickly learn from it
by just *reading* it--because it is here. Even doing a simple ~$ git
log is too much for new committers, because they just think they know
how to write a changelog entry, probably bringing habits from other
software communities.
> Or is the issue with forgetful people with commit access?
People get commit access when other committers are confident they
won't have to fix their logs or to restate the rules, so that's really
just a problem with occasionnal contributors.
Best,
--
Bastien
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 11:17 ` Bastien
@ 2014-11-19 13:34 ` Óscar Fuentes
2014-11-19 13:50 ` Bastien
2014-11-19 16:29 ` Yuri Khan
1 sibling, 1 reply; 90+ messages in thread
From: Óscar Fuentes @ 2014-11-19 13:34 UTC (permalink / raw)
To: emacs-devel
Bastien <bzg@gnu.org> writes:
[snip]
> Let me first say that I'm fine with a very low entry barrier for Org
> contributors
[snip]
> If we had a ChangeLog in Org, people would very quickly learn from it
> by just *reading* it--because it is here.
Don't you think that having a ChangeLog highers the entry barrier?
[snip]
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 13:34 ` Óscar Fuentes
@ 2014-11-19 13:50 ` Bastien
0 siblings, 0 replies; 90+ messages in thread
From: Bastien @ 2014-11-19 13:50 UTC (permalink / raw)
To: Óscar Fuentes; +Cc: emacs-devel
Óscar Fuentes <ofv@wanadoo.es> writes:
>> If we had a ChangeLog in Org, people would very quickly learn from it
>> by just *reading* it--because it is here.
>
> Don't you think that having a ChangeLog highers the entry barrier?
Compared to "having ChangeLog entries within commit messages"?
Definitely not.
--
Bastien
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 11:17 ` Bastien
2014-11-19 13:34 ` Óscar Fuentes
@ 2014-11-19 16:29 ` Yuri Khan
2014-11-19 16:43 ` Eli Zaretskii
2014-11-20 9:31 ` Bastien
1 sibling, 2 replies; 90+ messages in thread
From: Yuri Khan @ 2014-11-19 16:29 UTC (permalink / raw)
To: Bastien; +Cc: Rasmus, Emacs developers
On Wed, Nov 19, 2014 at 5:17 PM, Bastien <bzg@gnu.org> wrote:
>
> I've taught myself to ask this to contributors, but still,
> I continue to accept patches for which I edit the changelog myself.
So what’s the difference?
Workflow A: you receive a patch, apply it (it gets committed to a
temporary local branch), edit the changelog, commit -a --amend, and
push.
Workflow B: you receive a patch, apply it (it gets committed to a
temporary local branch), commit --amend (it lets you edit the commit
message), and push.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 16:29 ` Yuri Khan
@ 2014-11-19 16:43 ` Eli Zaretskii
2014-11-19 16:52 ` Yuri Khan
2014-11-20 9:31 ` Bastien
1 sibling, 1 reply; 90+ messages in thread
From: Eli Zaretskii @ 2014-11-19 16:43 UTC (permalink / raw)
To: Yuri Khan; +Cc: bzg, rasmus, emacs-devel
> Date: Wed, 19 Nov 2014 23:29:11 +0700
> From: Yuri Khan <yuri.v.khan@gmail.com>
> Cc: Rasmus <rasmus@gmx.us>, Emacs developers <emacs-devel@gnu.org>
>
> On Wed, Nov 19, 2014 at 5:17 PM, Bastien <bzg@gnu.org> wrote:
> >
> > I've taught myself to ask this to contributors, but still,
> > I continue to accept patches for which I edit the changelog myself.
>
> So what’s the difference?
>
> Workflow A: you receive a patch, apply it (it gets committed to a
> temporary local branch), edit the changelog, commit -a --amend, and
> push.
>
> Workflow B: you receive a patch, apply it (it gets committed to a
> temporary local branch), commit --amend (it lets you edit the commit
> message), and push.
Workflow C: you receive a patch, and tell the contributor to go ahead
and push.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 9:02 ` Bastien
2014-11-19 9:38 ` Rasmus
@ 2014-11-19 16:43 ` David Engster
2014-11-19 22:21 ` Stefan Monnier
1 sibling, 1 reply; 90+ messages in thread
From: David Engster @ 2014-11-19 16:43 UTC (permalink / raw)
To: Bastien; +Cc: emacs-devel
Bastien writes:
> I'm 100% with Glenn on this.
>
> In Org, we generate the ChangeLog from the Git history and I often
> wish we started by having a proper ChangeLog first.
>
> If ChangeLog files are generated, maintainers will have to edit lots
> of contributed commits manually before applying them -- this will be
> boring.
CEDET also generates Changelogs, and just recently I spent several hours
on a nice Sunday evening editing them, so I share your pain. And yet,
I'm all for it. My hope is that this is the first step in getting rid of
the Changelog format altogether, and switching to commit messages that
value content over form.
-David
PS: Yeah I know, won't happen.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 16:43 ` Eli Zaretskii
@ 2014-11-19 16:52 ` Yuri Khan
2014-11-19 18:49 ` Eli Zaretskii
0 siblings, 1 reply; 90+ messages in thread
From: Yuri Khan @ 2014-11-19 16:52 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Bastien, Rasmus, Emacs developers
On Wed, Nov 19, 2014 at 10:43 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> Workflow C: you receive a patch, and tell the contributor to go ahead
> and push.
By doing so, you accept the patch as it is. And if the contributor has
push access, you already agreed that [s]he is knowledgeable enough to
write acceptable commit messages.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Include necessary git tools in the Emacs distribution?
2014-11-18 2:07 ` Rüdiger Sonderfeld
2014-11-18 2:15 ` Paul Eggert
@ 2014-11-19 16:54 ` David Engster
1 sibling, 0 replies; 90+ messages in thread
From: David Engster @ 2014-11-19 16:54 UTC (permalink / raw)
To: Rüdiger Sonderfeld
Cc: Ulrich Mueller, Lars Magne Ingebrigtsen, emacs-devel
Rüdiger Sonderfeld writes:
> On Friday 14 November 2014 17:13:35 Ulrich Mueller wrote:
>> Gentoo has dev-vcs/git-merge-changelog as a package. However, it would
>> certainly help if it was packaged upstream, without the need to first
>> extract it from gnulib.
>
> I've created a bug (wishlist) report for it to be added to Debian's git-extras
> package:
>
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734527
>
> But so far (7 Jan 2014) no reply. I guess the best solution to deal with it,
> would be to move it from Gnulib to git/contrib. But that would require the
> Gnulib and git maintainers to work together and agree on the issue.
Not sure if you know this, but git-merge-changelog is a package in
testing and will hence be part of Debian 8:
https://packages.debian.org/jessie/git-merge-changelog
You can install it from there into current stable with no problems.
-David
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 16:52 ` Yuri Khan
@ 2014-11-19 18:49 ` Eli Zaretskii
2014-11-20 2:54 ` Yuri Khan
2014-11-20 9:33 ` Bastien
0 siblings, 2 replies; 90+ messages in thread
From: Eli Zaretskii @ 2014-11-19 18:49 UTC (permalink / raw)
To: Yuri Khan; +Cc: bzg, rasmus, emacs-devel
> Date: Wed, 19 Nov 2014 23:52:00 +0700
> From: Yuri Khan <yuri.v.khan@gmail.com>
> Cc: Bastien <bzg@gnu.org>, Rasmus <rasmus@gmx.us>, Emacs developers <emacs-devel@gnu.org>
>
> On Wed, Nov 19, 2014 at 10:43 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>
> > Workflow C: you receive a patch, and tell the contributor to go ahead
> > and push.
>
> By doing so, you accept the patch as it is.
The pain is when the code is OK, but the log entry isn't. In that
case, instead of just letting them push by themselves, I need to do
all the work for them.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 16:43 ` David Engster
@ 2014-11-19 22:21 ` Stefan Monnier
2014-11-19 22:51 ` David Engster
0 siblings, 1 reply; 90+ messages in thread
From: Stefan Monnier @ 2014-11-19 22:21 UTC (permalink / raw)
To: David Engster; +Cc: Bastien, emacs-devel
> I'm all for it. My hope is that this is the first step in getting rid of
> the Changelog format altogether, and switching to commit messages that
> value content over form.
I'm not sure what other format you have in mind which would have
better content.
FWIW, I think an ideal commit message should look like:
<location-summary> <change-summary>
<explanation-if-needed>
<bug-nb-if-applicable>
<changelog-style details>
In most cases, the explanation will be empty because the bug-nb provides
the explanation or because the explanation can be placed in the code
instead (a better choice, when applicable).
Stefan
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 22:05 ` Paul Eggert
@ 2014-11-19 22:36 ` Richard Stallman
2014-11-20 0:15 ` Paul Eggert
0 siblings, 1 reply; 90+ messages in thread
From: Richard Stallman @ 2014-11-19 22:36 UTC (permalink / raw)
To: Paul Eggert; +Cc: monnier, emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
I separated change log files by directories to make them more
convenient. Most changes only relate to one directory; a few changes
relate to src and lisp, but you can see that easily enough.
If they are automatically generated, I suppose people could generate
them combined or separated; but it is more convenient to distribute
them separated in the distros.
--
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] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 22:21 ` Stefan Monnier
@ 2014-11-19 22:51 ` David Engster
2014-11-21 10:03 ` Eli Zaretskii
0 siblings, 1 reply; 90+ messages in thread
From: David Engster @ 2014-11-19 22:51 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Bastien, emacs-devel
Stefan Monnier writes:
>> I'm all for it. My hope is that this is the first step in getting rid of
>> the Changelog format altogether, and switching to commit messages that
>> value content over form.
>
> I'm not sure what other format you have in mind which would have
> better content.
That's easy: prose. Just browse through projects like Git or Linux,
which enforce meaningful commit messages. I'm interested in the 'Why'
and 'How', not in the 'Where' and 'What'.
> FWIW, I think an ideal commit message should look like:
>
> <location-summary> <change-summary>
> <explanation-if-needed>
Unless it's a trivial change, it's always needed. Even when you have a
bug report, at least a copy&paste of the relevant bit should be there,
so you can quickly see the problem without having to look it up.
> <bug-nb-if-applicable>
Sure.
> <changelog-style details>
That's precisely what I'd drop. It's just a verbose diff. I'm not saying
it's completely useless (although it comes close), but it's not worth
the effort.
> In most cases, the explanation will be empty because the bug-nb provides
> the explanation or because the explanation can be placed in the code
> instead (a better choice, when applicable).
I disagree. Comments and commit logs are orthogonal. A comment helps you
understand how code works. A commit log describes why code was changed
(unless it's new, but that's less common).
-David
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 22:36 ` Richard Stallman
@ 2014-11-20 0:15 ` Paul Eggert
2014-11-20 2:50 ` Yuri Khan
0 siblings, 1 reply; 90+ messages in thread
From: Paul Eggert @ 2014-11-20 0:15 UTC (permalink / raw)
To: rms; +Cc: monnier, emacs-devel
Richard Stallman wrote:
> If they are automatically generated, I suppose people could generate
> them combined or separated; but it is more convenient to distribute
> them separated in the distros.
In Bug#19113 I just now proposed patches to generate the ChangeLogs combined.
This was easier, as it's what other GNU projects do and I borrowed their code.
If someone would like to change the generation procedure to tease out various
subdirectories' changes, please feel free. (There's no rush to do this, as the
procedure matters only when making a new release.) Other comments are welcome too.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-20 0:15 ` Paul Eggert
@ 2014-11-20 2:50 ` Yuri Khan
2014-11-20 3:15 ` Paul Eggert
0 siblings, 1 reply; 90+ messages in thread
From: Yuri Khan @ 2014-11-20 2:50 UTC (permalink / raw)
To: Paul Eggert; +Cc: Emacs developers, rms@gnu.org, Stefan Monnier
On Thu, Nov 20, 2014 at 6:15 AM, Paul Eggert <eggert@cs.ucla.edu> wrote:
> In Bug#19113 I just now proposed patches to generate the ChangeLogs
> combined. This was easier, as it's what other GNU projects do and I borrowed
> their code. If someone would like to change the generation procedure to
> tease out various subdirectories' changes, please feel free. (There's no
> rush to do this, as the procedure matters only when making a new release.)
> Other comments are welcome too.
I glanced through the gitlog-to-changelog script, and it appears to
pass all arguments after “--” to git log. git log accepts as
arguments, among other things, zero or more file or subdirectory paths
to limit the log to. To disambiguate paths from branch heads and tags,
one adds another “--” in between.
Example:
…/emacs $ gitlog-to-changelog --since=2014-11-18 -- foo -- lisp
should generate a changelog from the commits reachable from the branch
head “foo” authored on or after 2014-11-18 and touching any files in
the subdirectory “lisp”.
(I have not tried this.)
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 18:49 ` Eli Zaretskii
@ 2014-11-20 2:54 ` Yuri Khan
2014-11-20 9:38 ` Bastien
2014-11-20 9:33 ` Bastien
1 sibling, 1 reply; 90+ messages in thread
From: Yuri Khan @ 2014-11-20 2:54 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Bastien, Rasmus, Emacs developers
On Thu, Nov 20, 2014 at 12:49 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> The pain is when the code is OK, but the log entry isn't. In that
> case, instead of just letting them push by themselves, I need to do
> all the work for them.
If they have push access, you needn’t. Workflow D: you tell them “The
code looks good to me. Please fix the commit message <list of proposed
changes> and push”. They then git commit --amend && git push, and they
are left with a better understanding of how to write good commit
messages for Emacs.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-20 2:50 ` Yuri Khan
@ 2014-11-20 3:15 ` Paul Eggert
2014-11-20 4:04 ` Yuri Khan
0 siblings, 1 reply; 90+ messages in thread
From: Paul Eggert @ 2014-11-20 3:15 UTC (permalink / raw)
To: Yuri Khan; +Cc: Emacs developers
Yuri Khan wrote:
> …/emacs $ gitlog-to-changelog --since=2014-11-18 -- foo -- lisp
>
> should generate a changelog from the commits reachable from the branch
> head “foo” authored on or after 2014-11-18 and touching any files in
> the subdirectory “lisp”.
Thanks, but that would generate duplicates in the ChangeLog files. For example,
if a patch updates both lisp/Makefile.in and src/Makefile.in, it would copy the
patch's change log entry to both lisp/ChangeLog and src/ChangeLog. Plus, it's
not clear how to generate the "leftover" ChangeLog at the top level, which
contains everything not in the subsidiary ChangeLogs.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-20 3:15 ` Paul Eggert
@ 2014-11-20 4:04 ` Yuri Khan
2014-11-20 20:12 ` Paul Eggert
0 siblings, 1 reply; 90+ messages in thread
From: Yuri Khan @ 2014-11-20 4:04 UTC (permalink / raw)
To: Paul Eggert; +Cc: Emacs developers
On Thu, Nov 20, 2014 at 9:15 AM, Paul Eggert <eggert@cs.ucla.edu> wrote:
> Yuri Khan wrote:
>>
>> …/emacs $ gitlog-to-changelog --since=2014-11-18 -- foo -- lisp
>>
>> should generate a changelog from the commits reachable from the branch
>> head “foo” authored on or after 2014-11-18 and touching any files in
>> the subdirectory “lisp”.
>
> Thanks, but that would generate duplicates in the ChangeLog files. For
> example, if a patch updates both lisp/Makefile.in and src/Makefile.in, it
> would copy the patch's change log entry to both lisp/ChangeLog and
> src/ChangeLog.
True. What is the existing practice for such cases? Does a changelog
entry go into the ChangeLog file of the deepest common ancestor of all
changes or what?
> Plus, it's not clear how to generate the "leftover"
> ChangeLog at the top level, which contains everything not in the subsidiary
> ChangeLogs.
I do not have an elegant solution to this problem.
A kludgy solution involves taking the list of top-level files,
filtering out directories which have separate ChangeLogs, and passing
the rest to git-log.
…/emacs$ git log -- $(ls | grep -vE
'leim|doc|lwlib|nt|msdos|lisp|admin|src|lib-src|oldXmenu|nextstep|test')
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 16:29 ` Yuri Khan
2014-11-19 16:43 ` Eli Zaretskii
@ 2014-11-20 9:31 ` Bastien
1 sibling, 0 replies; 90+ messages in thread
From: Bastien @ 2014-11-20 9:31 UTC (permalink / raw)
To: Yuri Khan; +Cc: Rasmus, Emacs developers
Yuri Khan <yuri.v.khan@gmail.com> writes:
> On Wed, Nov 19, 2014 at 5:17 PM, Bastien <bzg@gnu.org> wrote:
>>
>> I've taught myself to ask this to contributors, but still,
>> I continue to accept patches for which I edit the changelog myself.
>
> So what’s the difference?
The difference is in creating incentives for new committers to write
proper ChangeLog files.
--
Bastien
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 18:49 ` Eli Zaretskii
2014-11-20 2:54 ` Yuri Khan
@ 2014-11-20 9:33 ` Bastien
1 sibling, 0 replies; 90+ messages in thread
From: Bastien @ 2014-11-20 9:33 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-devel, rasmus, Yuri Khan
Eli Zaretskii <eliz@gnu.org> writes:
> The pain is when the code is OK, but the log entry isn't. In that
> case, instead of just letting them push by themselves, I need to do
> all the work for them.
And I expect this pain to grow with generated ChangeLog files,
as it cancels a good habit.
--
Bastien
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-20 2:54 ` Yuri Khan
@ 2014-11-20 9:38 ` Bastien
0 siblings, 0 replies; 90+ messages in thread
From: Bastien @ 2014-11-20 9:38 UTC (permalink / raw)
To: Yuri Khan; +Cc: Eli Zaretskii, Rasmus, Emacs developers
Yuri Khan <yuri.v.khan@gmail.com> writes:
> On Thu, Nov 20, 2014 at 12:49 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> The pain is when the code is OK, but the log entry isn't. In that
>> case, instead of just letting them push by themselves, I need to do
>> all the work for them.
>
> If they have push access, you needn’t. Workflow D: you tell them “The
> code looks good to me. Please fix the commit message <list of proposed
> changes> and push”. They then git commit --amend && git push, and they
> are left with a better understanding of how to write good commit
> messages for Emacs.
From experience, I'd say that 50% of the committers will not fix their
changelogs and your task is then to (1) track patches in wait for a
better changelog entry and (2) apply them when the committer fixes the
changelog entry OR (2bis) fix it yourself... and waiting for (2) or
(2bis) to happen is so boring that you often fix the entry yourself
and stop encouraging committers to learn how to fix changelogs.
Or maybe I'm getting old :)
--
Bastien
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-20 4:04 ` Yuri Khan
@ 2014-11-20 20:12 ` Paul Eggert
2014-11-21 4:25 ` Kelvin White
0 siblings, 1 reply; 90+ messages in thread
From: Paul Eggert @ 2014-11-20 20:12 UTC (permalink / raw)
To: Yuri Khan; +Cc: Emacs developers
On 11/19/2014 08:04 PM, Yuri Khan wrote:
> What is the existing practice for such cases?
Existing practice elsewhere is to have just one generated ChangeLog
file, at the top level. If we had done this for Emacs from day one,
we'd have a ChangeLog file of about 25 MB. Although this would have
been too large in the old days, nowadays it's not such a big deal, as
computers typically have way more than 25 MB. When I open a 25 MB
ChangeLog file with Emacs, it appears instantaneously on my screen, and
I can navigate through it without delays.
I prefer having a single ChangeLog file to having smaller ChangeLog*
files in various locations, as it's a bit easier to scout through
history that way. The patch that I've proposed in Bug#19113 doesn't go
that far, though; it merely arranges for future git commit messages to
be copied into the top-level ChangeLog. Perhaps coalescing the
historical ChangeLog files could be done in a followon patch.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-20 20:12 ` Paul Eggert
@ 2014-11-21 4:25 ` Kelvin White
2014-11-21 7:57 ` Paul Eggert
0 siblings, 1 reply; 90+ messages in thread
From: Kelvin White @ 2014-11-21 4:25 UTC (permalink / raw)
To: Paul Eggert; +Cc: Yuri Khan, Emacs development discussions
[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]
"Paul Eggert" <eggert@cs.ucla.edu> wrote:
>
> On 11/19/2014 08:04 PM, Yuri Khan wrote:
>>
>> What is the existing practice for such cases?
>
>
> Existing practice elsewhere is to have just one generated ChangeLog file,
at the top level. If we had done this for Emacs from day one, we'd have a
ChangeLog file of about 25 MB. Although this would have been too large in
the old days, nowadays it's not such a big deal, as computers typically
have way more than 25 MB. When I open a 25 MB ChangeLog file with Emacs,
it appears instantaneously on my screen, and I can navigate through it
without delays.
>
> I prefer having a single ChangeLog file to having smaller ChangeLog*
files in various locations, as it's a bit easier to scout through history
that way. The patch that I've proposed in Bug#19113 doesn't go that far,
though; it merely arranges for future git commit messages to be copied into
the top-level ChangeLog. Perhaps coalescing the historical ChangeLog files
could be done in a followon patch.
I agree. Also, there is a separate ChangeLog file in the lisp/erc
directory. How would I deal with this regarding this topic. Should it be
merged or removed?
[-- Attachment #2: Type: text/html, Size: 1369 bytes --]
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-21 4:25 ` Kelvin White
@ 2014-11-21 7:57 ` Paul Eggert
0 siblings, 0 replies; 90+ messages in thread
From: Paul Eggert @ 2014-11-21 7:57 UTC (permalink / raw)
To: Kelvin White; +Cc: Emacs development discussions
Kelvin White wrote:
> there is a separate ChangeLog file in the lisp/erc
> directory. How would I deal with this regarding this topic. Should it be
> merged or removed?
The idea is that lisp/erc files could be maintained just as other files are,
i.e., changes to them should be accompanied by commit messages in ChangeLog
format. This will require a change in practice when committing erc changes.
For example, the message for your commit ea283d2 dated November 9 was merely
"Update version to 24.5", and this commit altered lisp/erc/ChangeLog. Under the
proposed procedure, the commit message would instead use ChangeLog format
preceded by a summary line and a blank line, e.g.:
Update Emacs version for erc.
* lisp/erc/erc-match.el, lisp/erc/erc-join.el, lisp/erc/erc-stamp.el:
* lisp/erc/erc-backend.el, lisp/erc/erc.el, lisp/erc/erc-button.el:
Update version to 24.5.
(but not indented), and there would be no change to the ChangeLog because there
would be no ChangeLog file in the repository.
As a historical matter, lisp/erc/ChangeLog would be renamed to
lisp/erc/ChangeLog.09 and wouldn't change thereafter.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-19 22:51 ` David Engster
@ 2014-11-21 10:03 ` Eli Zaretskii
2014-11-21 16:19 ` David Engster
0 siblings, 1 reply; 90+ messages in thread
From: Eli Zaretskii @ 2014-11-21 10:03 UTC (permalink / raw)
To: David Engster; +Cc: bzg, monnier, emacs-devel
> From: David Engster <deng@randomsample.de>
> Date: Wed, 19 Nov 2014 23:51:11 +0100
> Cc: Bastien <bzg@gnu.org>, emacs-devel@gnu.org
>
> > <changelog-style details>
>
> That's precisely what I'd drop. It's just a verbose diff.
No, it's a summary of diffs. As such, it many times presents a
bird-eye view that is hard to grasp by looking at the diffs. It is
also much shorter, so if you want to decide whether a particular
changeset is of interest, you have much less text to read.
So I definitely disagree that this should be dropped.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-21 10:03 ` Eli Zaretskii
@ 2014-11-21 16:19 ` David Engster
2014-11-21 16:58 ` Eli Zaretskii
0 siblings, 1 reply; 90+ messages in thread
From: David Engster @ 2014-11-21 16:19 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: bzg, monnier, emacs-devel
Eli Zaretskii writes:
>> From: David Engster <deng@randomsample.de>
>> Date: Wed, 19 Nov 2014 23:51:11 +0100
>> Cc: Bastien <bzg@gnu.org>, emacs-devel@gnu.org
>>
>> > <changelog-style details>
>>
>> That's precisely what I'd drop. It's just a verbose diff.
>
> No, it's a summary of diffs. As such, it many times presents a
> bird-eye view that is hard to grasp by looking at the diffs.
Well, this is also because our commits are often too large.
> It is also much shorter, so if you want to decide whether a particular
> changeset is of interest, you have much less text to read.
A good commit title is often enough to raise interest. This entails a
location prefix to mark which area of the code is affected, so that the
person who maintains that area can immediately see it, filter by it,
etc.
As I've said: the Changelog is not completely useless. But most of its
information is automatically generated from the diff. Just go through
the log and in your mind strip all the generated stuff (like filenames
and affected symbols), and see what information provided by the *author*
actually remains - it's usually very little, and often stating the
obvious, instead of saying *why* something was done. This is not
primarily the author's fault: since you have to break down your changes
function by function, you often cannot really describe the broader
picture these changes accomplish, so you just do the mandatory
book-keeping.
This makes our commit logs mostly useless for actually understanding how
code evolved. You may feel differently, but keep in mind there are not
many people who know the Emacs code base as well as you do. When I dig
into files which are unfamiliar to me (like recently into compile.el),
and hit 'l' on an annotated line, it's usually a pretty frustrating
experience.
I encourage anyone to browse through the commit logs from projects like
Git or Linux. If people then still tell me that our style is superior,
so be it.
-David
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-21 16:19 ` David Engster
@ 2014-11-21 16:58 ` Eli Zaretskii
2014-11-21 17:19 ` Stefan Monnier
2014-11-21 17:21 ` David Engster
0 siblings, 2 replies; 90+ messages in thread
From: Eli Zaretskii @ 2014-11-21 16:58 UTC (permalink / raw)
To: David Engster; +Cc: bzg, monnier, emacs-devel
> From: David Engster <deng@randomsample.de>
> Cc: monnier@IRO.UMontreal.CA, bzg@gnu.org, emacs-devel@gnu.org
> Date: Fri, 21 Nov 2014 17:19:30 +0100
>
> Just go through the log and in your mind strip all the generated
> stuff (like filenames and affected symbols), and see what
> information provided by the *author* actually remains - it's usually
> very little, and often stating the obvious, instead of saying *why*
> something was done.
That's not what ChangeLog is supposed to tell.
> This makes our commit logs mostly useless for actually understanding how
> code evolved.
It's not intended for that. The 'annotate' commands are for that.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-21 16:58 ` Eli Zaretskii
@ 2014-11-21 17:19 ` Stefan Monnier
2014-11-21 17:21 ` David Engster
1 sibling, 0 replies; 90+ messages in thread
From: Stefan Monnier @ 2014-11-21 17:19 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: bzg, David Engster, emacs-devel
> It's not intended for that. The 'annotate' commands are for that.
No, same difference. In many cases, a change is installed without
explaining why. On this point I definitely agree with David.
I don't think it' due to the ChangeLog format per-se, but it's indeed
easy to write a ChangeLog comment which just paraphrases the diff
without really providing the explanation for the change.
Stefan
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-21 16:58 ` Eli Zaretskii
2014-11-21 17:19 ` Stefan Monnier
@ 2014-11-21 17:21 ` David Engster
1 sibling, 0 replies; 90+ messages in thread
From: David Engster @ 2014-11-21 17:21 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: bzg, monnier, emacs-devel
Eli Zaretskii writes:
>> From: David Engster <deng@randomsample.de>
>> Cc: monnier@IRO.UMontreal.CA, bzg@gnu.org, emacs-devel@gnu.org
>> Date: Fri, 21 Nov 2014 17:19:30 +0100
>>
>> Just go through the log and in your mind strip all the generated
>> stuff (like filenames and affected symbols), and see what
>> information provided by the *author* actually remains - it's usually
>> very little, and often stating the obvious, instead of saying *why*
>> something was done.
>
> That's not what ChangeLog is supposed to tell.
We're in violent agreement here.
>> This makes our commit logs mostly useless for actually understanding how
>> code evolved.
>
> It's not intended for that. The 'annotate' commands are for that.
Yes. As I've written: we should improve the output of 'l' in an
annotated file from the Emacs repo: commit logs should tell why
something was done.
Anyway, I'm repeating myself, let's just disagree and drop this. It's
not like this is gonna change anytime soon.
-David
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-18 21:12 ` Stefan Monnier
` (2 preceding siblings ...)
2014-11-19 9:11 ` Lars Magne Ingebrigtsen
@ 2014-11-29 22:35 ` Paul Eggert
2014-11-30 0:23 ` Jan D.
` (2 more replies)
3 siblings, 3 replies; 90+ messages in thread
From: Paul Eggert @ 2014-11-29 22:35 UTC (permalink / raw)
To: emacs-devel
As a heads-up, it's looking like we won't be generating ChangeLogs automatically
any time soon.
Any automated procedure would entail some minor changes to what ChangeLogs look
like (e.g., spacing, order, commit dates), and this is likely to clash with at
least one developer's preferences. In Bug#19113 Stefan said he'd rather leave
things alone unless we get explicit agreement from all the core maintainers, a
bar sufficiently high that I'm taking it as a polite way of saying "let's not do
this".
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-29 22:35 ` Paul Eggert
@ 2014-11-30 0:23 ` Jan D.
2014-11-30 9:12 ` Jorgen Schaefer
2014-11-30 16:35 ` Lars Magne Ingebrigtsen
2 siblings, 0 replies; 90+ messages in thread
From: Jan D. @ 2014-11-30 0:23 UTC (permalink / raw)
To: Paul Eggert; +Cc: emacs-devel@gnu.org
Fwiw, I am for generating Changelogs.
Jan D.
> 29 nov 2014 kl. 23:35 skrev Paul Eggert <eggert@cs.ucla.edu>:
>
> As a heads-up, it's looking like we won't be generating ChangeLogs automatically any time soon.
>
> Any automated procedure would entail some minor changes to what ChangeLogs look like (e.g., spacing, order, commit dates), and this is likely to clash with at least one developer's preferences. In Bug#19113 Stefan said he'd rather leave things alone unless we get explicit agreement from all the core maintainers, a bar sufficiently high that I'm taking it as a polite way of saying "let's not do this".
>
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-29 22:35 ` Paul Eggert
2014-11-30 0:23 ` Jan D.
@ 2014-11-30 9:12 ` Jorgen Schaefer
2014-11-30 16:15 ` Paul Eggert
2014-11-30 16:35 ` Lars Magne Ingebrigtsen
2 siblings, 1 reply; 90+ messages in thread
From: Jorgen Schaefer @ 2014-11-30 9:12 UTC (permalink / raw)
To: Paul Eggert; +Cc: emacs-devel
On Sat, 29 Nov 2014 14:35:07 -0800
Paul Eggert <eggert@cs.ucla.edu> wrote:
> As a heads-up, it's looking like we won't be generating ChangeLogs
> automatically any time soon.
Sad. Is there at least some consensus to merge the various ChangeLog
files into a single one, though?
Regards,
Jorgen
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-30 9:12 ` Jorgen Schaefer
@ 2014-11-30 16:15 ` Paul Eggert
2014-11-30 18:11 ` Stefan Monnier
0 siblings, 1 reply; 90+ messages in thread
From: Paul Eggert @ 2014-11-30 16:15 UTC (permalink / raw)
To: Jorgen Schaefer; +Cc: emacs-devel
Jorgen Schaefer wrote:
> Is there at least some consensus to merge the various ChangeLog
> files into a single one, though?
No, sorry, Stefan didn't like that idea much. FWIW, he was more positive about
generating ChangeLogs automatically.
I can think of one improvement here, though, which we can make regardless of
whether ChangeLogs are generated automatically. For changes that affect files
in different directories, I'd like to put the corresponding commit message into
the ChangeLog at the closest ancestor to all the directories, instead of
breaking the message into pieces and scattering it into little ChangeLog bits
here and there that have to be pieced together later if I want to understand the
change. That would make my life easier, for both writing and reading the source
code.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-29 22:35 ` Paul Eggert
2014-11-30 0:23 ` Jan D.
2014-11-30 9:12 ` Jorgen Schaefer
@ 2014-11-30 16:35 ` Lars Magne Ingebrigtsen
2 siblings, 0 replies; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-11-30 16:35 UTC (permalink / raw)
To: Paul Eggert; +Cc: emacs-devel
Paul Eggert <eggert@cs.ucla.edu> writes:
> Any automated procedure would entail some minor changes to what
> ChangeLogs look like (e.g., spacing, order, commit dates), and this is
> likely to clash with at least one developer's preferences.
Could we do an informal vote on this to clarify whether there are any
developers that really strenuously object to generating the ChangeLogs?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-30 16:15 ` Paul Eggert
@ 2014-11-30 18:11 ` Stefan Monnier
2014-11-30 18:23 ` Eli Zaretskii
0 siblings, 1 reply; 90+ messages in thread
From: Stefan Monnier @ 2014-11-30 18:11 UTC (permalink / raw)
To: Paul Eggert; +Cc: emacs-devel, Jorgen Schaefer
>> Is there at least some consensus to merge the various ChangeLog
>> files into a single one, though?
> No, sorry, Stefan didn't like that idea much.
To be more precise, I don't like the idea of merging the *existing*
ChangeLog files. We should generate a single ChangeLog, OTOH.
Stefan
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-30 18:11 ` Stefan Monnier
@ 2014-11-30 18:23 ` Eli Zaretskii
2014-11-30 18:30 ` Lars Magne Ingebrigtsen
2014-12-01 3:24 ` Generating the ChangeLog files from the commit messages Stefan Monnier
0 siblings, 2 replies; 90+ messages in thread
From: Eli Zaretskii @ 2014-11-30 18:23 UTC (permalink / raw)
To: Stefan Monnier; +Cc: eggert, forcer, emacs-devel
> From: Stefan Monnier <monnier@IRO.UMontreal.CA>
> Date: Sun, 30 Nov 2014 13:11:18 -0500
> Cc: emacs-devel@gnu.org, Jorgen Schaefer <forcer@forcix.cx>
>
> We should generate a single ChangeLog, OTOH.
Btw, there's another minor issue with a single large ChangeLog: the
size suggested by Paul (32MB AFAIR) is above the default value of
large-file-warning-threshold (currently 10,000,000 bytes). So we
should either bump the default value of that variable or lower the
size of ChangeLog after which we roll it over, otherwise the users
will be annoyed by the large file warnings when visiting ChangeLog.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-30 18:23 ` Eli Zaretskii
@ 2014-11-30 18:30 ` Lars Magne Ingebrigtsen
2014-11-30 20:32 ` Eli Zaretskii
2014-11-30 21:50 ` default large-file-warning-threshold (was: Generating the ChangeLog files ...) Paul Eggert
2014-12-01 3:24 ` Generating the ChangeLog files from the commit messages Stefan Monnier
1 sibling, 2 replies; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-11-30 18:30 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: eggert, emacs-devel, Stefan Monnier, forcer
Eli Zaretskii <eliz@gnu.org> writes:
> Btw, there's another minor issue with a single large ChangeLog: the
> size suggested by Paul (32MB AFAIR) is above the default value of
> large-file-warning-threshold (currently 10,000,000 bytes). So we
> should either bump the default value of that variable or lower the
> size of ChangeLog after which we roll it over, otherwise the users
> will be annoyed by the large file warnings when visiting ChangeLog.
I think we should probably increase that limit. 10MB isn't a lot, these
days.
But I wonder whether it's feasible to make that a dynamic limit? Do we
have a way to ask the OS how much (physical-ish) RAM it has? If it's a
64GiB machine, it might make sense to make the limit higher than if it's
a 16MiB machine.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-30 18:30 ` Lars Magne Ingebrigtsen
@ 2014-11-30 20:32 ` Eli Zaretskii
2014-11-30 21:50 ` default large-file-warning-threshold (was: Generating the ChangeLog files ...) Paul Eggert
1 sibling, 0 replies; 90+ messages in thread
From: Eli Zaretskii @ 2014-11-30 20:32 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen; +Cc: eggert, emacs-devel, monnier, forcer
> From: Lars Magne Ingebrigtsen <larsi@gnus.org>
> Cc: Stefan Monnier <monnier@IRO.UMontreal.CA>, eggert@cs.ucla.edu, forcer@forcix.cx, emacs-devel@gnu.org
> Date: Sun, 30 Nov 2014 19:30:47 +0100
>
> But I wonder whether it's feasible to make that a dynamic limit? Do we
> have a way to ask the OS how much (physical-ish) RAM it has? If it's a
> 64GiB machine, it might make sense to make the limit higher than if it's
> a 16MiB machine.
I'm not sure this is only about available memory. This warning caught
my typing mistakes a few times. It could also be a security feature.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold (was: Generating the ChangeLog files ...)
2014-11-30 18:30 ` Lars Magne Ingebrigtsen
2014-11-30 20:32 ` Eli Zaretskii
@ 2014-11-30 21:50 ` Paul Eggert
2014-11-30 23:19 ` default large-file-warning-threshold Óscar Fuentes
` (2 more replies)
1 sibling, 3 replies; 90+ messages in thread
From: Paul Eggert @ 2014-11-30 21:50 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen, Eli Zaretskii; +Cc: emacs-devel
Lars Magne Ingebrigtsen wrote:
> Do we have a way to ask the OS how much (physical-ish) RAM it has?
We could easily add that, using Gnulib's physmem module. For example, GNU
'sort' uses physmem to calculate an internal buffer size ranging from 1/8 to 3/4
of physical memory, depending on some other factors.
Eli Zaretskii wrote:
> It could also be a security feature.
It's largely a security feature insofar as it avoids denial-of-service problems,
and deriving the limit from physical memory capacity helps to avoid these
problems too.
The 10 MB limit is too small nowadays for typical machines. I regularly run
into it and it's a genuine (albeit minor) annoyance. When the 10 MB limit was
established back in 2003, machines typically had 64 MiB or so of RAM. Nowadays
8 GiB is closer to being typical and the 10 MB limit is way below the sweet spot
for warnings.
If we were conservative and warned about files larger than 1/8 of physical
memory, my circa-2011 8-GiB work desktop would warn about files larger than 1
GiB, and my circa-2005 512-MiB laptop would warn about files larger than 64 MiB,
and both numbers sound about right.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-11-30 21:50 ` default large-file-warning-threshold (was: Generating the ChangeLog files ...) Paul Eggert
@ 2014-11-30 23:19 ` Óscar Fuentes
2014-11-30 23:22 ` Lars Magne Ingebrigtsen
2014-12-01 19:15 ` default large-file-warning-threshold (was: Generating the ChangeLog files ...) Richard Stallman
2014-12-02 5:15 ` default large-file-warning-threshold Lars Magne Ingebrigtsen
2 siblings, 1 reply; 90+ messages in thread
From: Óscar Fuentes @ 2014-11-30 23:19 UTC (permalink / raw)
To: emacs-devel
Paul Eggert <eggert@cs.ucla.edu> writes:
[snip]
> If we were conservative and warned about files larger than 1/8 of
> physical memory, my circa-2011 8-GiB work desktop would warn about
> files larger than 1 GiB, and my circa-2005 512-MiB laptop would warn
> about files larger than 64 MiB, and both numbers sound about right.
The impact of visiting large files is not only about raw byte count.
Depending on Emacs configuration (active major/minor modes, etc)
operating on a large file can be impractical even for a high-end modern
machine.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-11-30 23:19 ` default large-file-warning-threshold Óscar Fuentes
@ 2014-11-30 23:22 ` Lars Magne Ingebrigtsen
2014-11-30 23:31 ` Óscar Fuentes
2014-12-01 17:06 ` Achim Gratz
0 siblings, 2 replies; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-11-30 23:22 UTC (permalink / raw)
To: Óscar Fuentes; +Cc: emacs-devel
Óscar Fuentes <ofv@wanadoo.es> writes:
> The impact of visiting large files is not only about raw byte count.
> Depending on Emacs configuration (active major/minor modes, etc)
> operating on a large file can be impractical even for a high-end modern
> machine.
If a mode is so slow that visiting a big file is problematic, then that
sounds like a bug in that mode, I think.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-11-30 23:22 ` Lars Magne Ingebrigtsen
@ 2014-11-30 23:31 ` Óscar Fuentes
2014-12-01 5:46 ` Paul Eggert
2014-12-01 17:06 ` Achim Gratz
1 sibling, 1 reply; 90+ messages in thread
From: Óscar Fuentes @ 2014-11-30 23:31 UTC (permalink / raw)
To: emacs-devel
Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
> If a mode is so slow that visiting a big file is problematic, then that
> sounds like a bug in that mode, I think.
I don't think so. Some tasks are complex and hard/impractical to apply
lazily. If a feature needs to scan the whole buffer, and the scanning is
not trivial, visiting an 800 MB file would be unpleasant.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-11-30 18:23 ` Eli Zaretskii
2014-11-30 18:30 ` Lars Magne Ingebrigtsen
@ 2014-12-01 3:24 ` Stefan Monnier
2014-12-01 3:39 ` Eli Zaretskii
` (2 more replies)
1 sibling, 3 replies; 90+ messages in thread
From: Stefan Monnier @ 2014-12-01 3:24 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: eggert, forcer, emacs-devel
>> We should generate a single ChangeLog, OTOH.
> Btw, there's another minor issue with a single large ChangeLog: the
> size suggested by Paul (32MB AFAIR) is above the default value of
> large-file-warning-threshold (currently 10,000,000 bytes).
IIUC this figure was computed for a combined single file of the
whole history. The generated file would start empty (since it wouldn't
include the part that's already present in the existing ChangeLog files).
It makes sense to roll those files on a release-number basis rather than
just size.
Paul said:
> The 10 MB limit is too small nowadays for typical machines.
Could be. I rarely bump into it, personally. But I wouldn't mind
increasing it a bit, tho probably not by a factor of ten.
> I regularly run into it and it's a genuine (albeit minor) annoyance.
What value would stop you from bumping into it, and on which kinds of
files do you typically bump into it.
> When the 10 MB limit was established back in 2003, machines typically
> had 64 MiB or so of RAM.
Reality check: my 2003-vintage X30 laptop (which I happily use when
doing presentations) came with 768MB of RAM. This was fairly generous
back then (it's actually the max it can take, AFAIK). The 2003 12"
PowerBook I got at the same time had 256MB (with a max of 1.25GB) and it
was considered "under provided" so I upgraded it to 786MB even before
I added a wifi card to it. IOW I don't think 64MB was typical back then.
> Nowadays 8 GiB is closer to being typical and the 10 MB limit is way
> below the sweet spot for warnings.
But the size of human-edited files (the bread-and-butter for Emacs)
hasn't increased nearly as much.
Stefan
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-12-01 3:24 ` Generating the ChangeLog files from the commit messages Stefan Monnier
@ 2014-12-01 3:39 ` Eli Zaretskii
2014-12-01 5:49 ` Paul Eggert
2014-12-01 7:45 ` H. Dieter Wilhelm
2 siblings, 0 replies; 90+ messages in thread
From: Eli Zaretskii @ 2014-12-01 3:39 UTC (permalink / raw)
To: Stefan Monnier; +Cc: eggert, forcer, emacs-devel
> From: Stefan Monnier <monnier@IRO.UMontreal.CA>
> Cc: eggert@cs.ucla.edu, emacs-devel@gnu.org, forcer@forcix.cx
> Date: Sun, 30 Nov 2014 22:24:57 -0500
>
> >> We should generate a single ChangeLog, OTOH.
> > Btw, there's another minor issue with a single large ChangeLog: the
> > size suggested by Paul (32MB AFAIR) is above the default value of
> > large-file-warning-threshold (currently 10,000,000 bytes).
>
> IIUC this figure was computed for a combined single file of the
> whole history. The generated file would start empty (since it wouldn't
> include the part that's already present in the existing ChangeLog files).
According to my estimations (see earlier in this thread), we will hit
the limit quite soon even if we start empty.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-11-30 23:31 ` Óscar Fuentes
@ 2014-12-01 5:46 ` Paul Eggert
2014-12-01 15:52 ` Eli Zaretskii
0 siblings, 1 reply; 90+ messages in thread
From: Paul Eggert @ 2014-12-01 5:46 UTC (permalink / raw)
To: Óscar Fuentes, emacs-devel
Óscar Fuentes wrote:
> If a feature needs to scan the whole buffer, and the scanning is
> not trivial, visiting an 800 MB file would be unpleasant.
If the scanning is sufficiently nontrivial, the same argument would apply to a
10 MB file, no? So perhaps large-file-warning-threshold should be mode- or
feature-dependent, as well as dependent on physical RAM size.
I agree that Emacs is too slow when used in default mode on large text files.
On my circa-2011 desktop if I want reasonable efficiency on a multigigabyte text
file I typically use find-file-literally, because plain find-file makes me wait
for tooooo maaaannny seconds. There's no reason in principle that Emacs must be
that slow on large files, it's just that performance on large files has not been
that high a priority, and the tiny default large-file-warning-threshold is to
some extent a symptom of this.
Here's a little shell script that lets me reproduce the performance problem, if
you're interested:
yes '#define assume_initialized(val) asm ("" : "=X" (val))' |
head -n 30000000 >t
time emacs -Q -nw --execute '(find-file "t")' --kill
time emacs -Q -nw --execute '(find-file-literally "t")' --kill
On my desktop the find-file version takes 8.06 user CPU seconds and the delay is
really annoying, whereas the find-file-literally version takes only 0.04 user
CPU seconds. It's like night and day.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-12-01 3:24 ` Generating the ChangeLog files from the commit messages Stefan Monnier
2014-12-01 3:39 ` Eli Zaretskii
@ 2014-12-01 5:49 ` Paul Eggert
2014-12-01 7:45 ` H. Dieter Wilhelm
2 siblings, 0 replies; 90+ messages in thread
From: Paul Eggert @ 2014-12-01 5:49 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
Stefan Monnier wrote:
> It makes sense to roll those files on a release-number basis rather than
> just size.
That sounds like a good idea.
> What value would stop you from bumping into it, and on which kinds of
> files do you typically bump into it.
It's usually log files. For example, if I run 'git log >/tmp/log', and then
visit /tmp/log, that's about 34 MB for Emac. Likewise for things like strace
output or for random other text debugging output.
>> When the 10 MB limit was established back in 2003, machines typically
>> had 64 MiB or so of RAM.
>
> Reality check: my 2003-vintage X30 laptop (which I happily use when
> doing presentations) came with 768MB of RAM.
You had bigger machines than I did. Even my circa-2005 laptop (which I still
use) has only 512 MB of RAM. Was the limit tuned for your new laptop back in
2003? In that case, perhaps we should warn if the file is larger than 1/64th of
physical RAM, though this sounds a tad conservative to me.
> the size of human-edited files (the bread-and-butter for Emacs)
> hasn't increased nearly as much.
I mostly run into the problem when viewing files, not editing them, and the
files I view can get pretty large. Sometimes I have to give up on Emacs
entirely and use 'less', which is an annoying switch.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: Generating the ChangeLog files from the commit messages
2014-12-01 3:24 ` Generating the ChangeLog files from the commit messages Stefan Monnier
2014-12-01 3:39 ` Eli Zaretskii
2014-12-01 5:49 ` Paul Eggert
@ 2014-12-01 7:45 ` H. Dieter Wilhelm
2 siblings, 0 replies; 90+ messages in thread
From: H. Dieter Wilhelm @ 2014-12-01 7:45 UTC (permalink / raw)
To: emacs-devel
Stefan Monnier <monnier@IRO.UMontreal.CA> writes:
>
> Paul said:
>> The 10 MB limit is too small nowadays for typical machines.
>
> Could be. I rarely bump into it, personally. But I wouldn't mind
> increasing it a bit, tho probably not by a factor of ten.
>
>> I regularly run into it and it's a genuine (albeit minor) annoyance.
>
> What value would stop you from bumping into it, and on which kinds of
> files do you typically bump into it.
>
When *viewing* machine generated code files.
In my use case it's a finite element program called ANSYS which is
creating text files describing a complete FE model in a particular
"programming language APDL". There is a special Emacs mode for editing
user generated APDL files:
http://www.emacswiki.org/AnsysMode
Nowadays these model files are always bigger than 10 MB, typically in
the order of 50 MB to 100 MB, because they have to include the node and
element descriptions.
Dieter
--
Best wishes
H. Dieter Wilhelm
Darmstadt, Germany
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 5:46 ` Paul Eggert
@ 2014-12-01 15:52 ` Eli Zaretskii
2014-12-01 18:13 ` Paul Eggert
0 siblings, 1 reply; 90+ messages in thread
From: Eli Zaretskii @ 2014-12-01 15:52 UTC (permalink / raw)
To: Paul Eggert; +Cc: ofv, emacs-devel
> Date: Sun, 30 Nov 2014 21:46:38 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
>
> yes '#define assume_initialized(val) asm ("" : "=X" (val))' |
> head -n 30000000 >t
> time emacs -Q -nw --execute '(find-file "t")' --kill
> time emacs -Q -nw --execute '(find-file-literally "t")' --kill
> On my desktop the find-file version takes 8.06 user CPU seconds and the delay is really annoying, whereas the find-file-literally version takes only 0.04 user CPU seconds. It's like night and day.
You are measuring here the one-time (per file) overhead of scanning
through the entire 1.5GB file in order to detect any non-ASCII
characters. Doing that at 5 nanoseconds (which should be something
like 10 or 15 machine instructions) per byte is very reasonable for
the 2011 vintage CPU, don't you agree?
> There's no reason in principle that Emacs must be that slow on large files, it's just that performance on large files has not been that high a priority
Maybe this isn't high on our priority, but even if it were, I doubt
that the speed of decoding could be significantly increased. We did
optimize it in 24.4 for ASCII and UTF-8 files.
And of course, the time it takes to read a file into a buffer is not
the most important measure: editing operations on such huge files are
at least as important, if not more important. I think there's much
more place for optimization in the editing operations than in the
visiting department.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-11-30 23:22 ` Lars Magne Ingebrigtsen
2014-11-30 23:31 ` Óscar Fuentes
@ 2014-12-01 17:06 ` Achim Gratz
2014-12-01 17:56 ` Eli Zaretskii
2014-12-01 20:47 ` Rasmus
1 sibling, 2 replies; 90+ messages in thread
From: Achim Gratz @ 2014-12-01 17:06 UTC (permalink / raw)
To: emacs-devel
Lars Magne Ingebrigtsen writes:
> If a mode is so slow that visiting a big file is problematic, then that
> sounds like a bug in that mode, I think.
Try fundamental mode with a line length of around 1MB some time, with
lines truncated at the window border, then. And no, this isn't anything
spectactularly outrageous, just a CSV export of some tabulated data with
5000 columns.
Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
Wavetables for the Terratec KOMPLEXER:
http://Synth.Stromeko.net/Downloads.html#KomplexerWaves
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 17:06 ` Achim Gratz
@ 2014-12-01 17:56 ` Eli Zaretskii
2014-12-01 18:33 ` David Kastrup
2014-12-01 20:47 ` Rasmus
1 sibling, 1 reply; 90+ messages in thread
From: Eli Zaretskii @ 2014-12-01 17:56 UTC (permalink / raw)
To: Achim Gratz; +Cc: emacs-devel
> From: Achim Gratz <Stromeko@nexgo.de>
> Date: Mon, 01 Dec 2014 18:06:04 +0100
>
> Lars Magne Ingebrigtsen writes:
> > If a mode is so slow that visiting a big file is problematic, then that
> > sounds like a bug in that mode, I think.
>
> Try fundamental mode with a line length of around 1MB some time, with
> lines truncated at the window border, then. And no, this isn't anything
> spectactularly outrageous, just a CSV export of some tabulated data with
> 5000 columns.
A.k.a. bug #13675.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 15:52 ` Eli Zaretskii
@ 2014-12-01 18:13 ` Paul Eggert
2014-12-01 18:19 ` Lars Magne Ingebrigtsen
2014-12-01 19:00 ` Eli Zaretskii
0 siblings, 2 replies; 90+ messages in thread
From: Paul Eggert @ 2014-12-01 18:13 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: ofv, emacs-devel
On 12/01/2014 07:52 AM, Eli Zaretskii wrote:
> I doubt that the speed of decoding could be significantly increased.
We don't need to increase decoding speed to make Emacs perform much
better on large files. When I first visit a file, all I need to see is
the start of the file on my screen. Emacs needs only to decode the
initial part of the file to do that. It can decode the rest of the file
as I'm looking at the first part. Although this sort of thing would be
a nontrivial change to Emacs, it's doable and it would already be done
if performance on large files were a priority for Emacs developers.
I'm not the only one to run into this problem; see the thread
"Intelligently opening large files in emacs"
<http://lists.gnu.org/archive/html/help-gnu-emacs/2014-03/msg00341.html>
in this mailing list earlier this year. There, the proposed solution
was to use find-file-literally for files larger than a certain size.
Perhaps Emacs should do this by default -- it'd be a nicer user
experience in many ways than what we have now, and it should be easy to
implement.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 18:13 ` Paul Eggert
@ 2014-12-01 18:19 ` Lars Magne Ingebrigtsen
2014-12-01 18:24 ` Paul Eggert
2014-12-01 20:21 ` Ted Zlatanov
2014-12-01 19:00 ` Eli Zaretskii
1 sibling, 2 replies; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-01 18:19 UTC (permalink / raw)
To: emacs-devel
Paul Eggert <eggert@cs.ucla.edu> writes:
> I'm not the only one to run into this problem; see the thread
> "Intelligently opening large files in emacs"
> <http://lists.gnu.org/archive/html/help-gnu-emacs/2014-03/msg00341.html>
> in this mailing list earlier this year. There, the proposed solution
> was to use find-file-literally for files larger than a certain size.
> Perhaps Emacs should do this by default -- it'd be a nicer user
> experience in many ways than what we have now, and it should be easy
> to implement.
The use case for opening huge files is log files and the like, and you
usually want to see those as "raw" as possible, I think.
What about a new, trivial mode for these buffers? We open huge files
with `find-file-literally', display a message like "Press `M-something'
to put buffer into mode foo", and change to that new, trivial mode
(which would just have that one keybinding).
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 18:19 ` Lars Magne Ingebrigtsen
@ 2014-12-01 18:24 ` Paul Eggert
2014-12-01 20:21 ` Ted Zlatanov
1 sibling, 0 replies; 90+ messages in thread
From: Paul Eggert @ 2014-12-01 18:24 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen, emacs-devel
On 12/01/2014 10:19 AM, Lars Magne Ingebrigtsen wrote:
> What about a new, trivial mode for these buffers? We open huge files
> with `find-file-literally', display a message like "Press `M-something'
> to put buffer into mode foo", and change to that new, trivial mode
> (which would just have that one keybinding).
>
Thanks, I like this idea, and I think it'd help quite a bit for these
use cases.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 17:56 ` Eli Zaretskii
@ 2014-12-01 18:33 ` David Kastrup
2014-12-01 19:12 ` Eli Zaretskii
2014-12-01 19:15 ` Eli Zaretskii
0 siblings, 2 replies; 90+ messages in thread
From: David Kastrup @ 2014-12-01 18:33 UTC (permalink / raw)
To: emacs-devel
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Achim Gratz <Stromeko@nexgo.de>
>> Date: Mon, 01 Dec 2014 18:06:04 +0100
>>
>> Lars Magne Ingebrigtsen writes:
>> > If a mode is so slow that visiting a big file is problematic, then that
>> > sounds like a bug in that mode, I think.
>>
>> Try fundamental mode with a line length of around 1MB some time, with
>> lines truncated at the window border, then. And no, this isn't anything
>> spectactularly outrageous, just a CSV export of some tabulated data with
>> 5000 columns.
>
> A.k.a. bug #13675.
Does it help to do
(setq-default bidi-paragraph-direction nil)
?
--
David Kastrup
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 18:13 ` Paul Eggert
2014-12-01 18:19 ` Lars Magne Ingebrigtsen
@ 2014-12-01 19:00 ` Eli Zaretskii
1 sibling, 0 replies; 90+ messages in thread
From: Eli Zaretskii @ 2014-12-01 19:00 UTC (permalink / raw)
To: Paul Eggert; +Cc: ofv, emacs-devel
> Date: Mon, 01 Dec 2014 10:13:57 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> Cc: ofv@wanadoo.es, emacs-devel@gnu.org
>
> On 12/01/2014 07:52 AM, Eli Zaretskii wrote:
> > I doubt that the speed of decoding could be significantly increased.
>
> We don't need to increase decoding speed to make Emacs perform much
> better on large files. When I first visit a file, all I need to see is
> the start of the file on my screen. Emacs needs only to decode the
> initial part of the file to do that. It can decode the rest of the file
> as I'm looking at the first part.
Sounds like a good project to me.
> Although this sort of thing would be a nontrivial change to Emacs,
> it's doable and it would already be done if performance on large
> files were a priority for Emacs developers.
Well, you know that there's no such thing as "a priority for Emacs
developers", right? There are itches to scratch, that's all.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 18:33 ` David Kastrup
@ 2014-12-01 19:12 ` Eli Zaretskii
2014-12-01 19:15 ` Eli Zaretskii
1 sibling, 0 replies; 90+ messages in thread
From: Eli Zaretskii @ 2014-12-01 19:12 UTC (permalink / raw)
To: David Kastrup; +Cc: emacs-devel
> From: David Kastrup <dak@gnu.org>
> Date: Mon, 01 Dec 2014 19:33:55 +0100
>
> > A.k.a. bug #13675.
>
> Does it help to do
>
> (setq-default bidi-paragraph-direction nil)
>
> ?
Not nearly enough, unless you are on a very slow machine.
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 18:33 ` David Kastrup
2014-12-01 19:12 ` Eli Zaretskii
@ 2014-12-01 19:15 ` Eli Zaretskii
1 sibling, 0 replies; 90+ messages in thread
From: Eli Zaretskii @ 2014-12-01 19:15 UTC (permalink / raw)
To: David Kastrup; +Cc: emacs-devel
> From: David Kastrup <dak@gnu.org>
> Date: Mon, 01 Dec 2014 19:33:55 +0100
>
> > A.k.a. bug #13675.
>
> Does it help to do
>
> (setq-default bidi-paragraph-direction nil)
>
> ?
Not nearly enough, unless you are on a very slow machine. And if you
are at the beginning of the buffer, this has no effect whatsoever.
(Searches for paragraph beginning are limited to some maximum number
of characters, so this factor has limited effect.)
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold (was: Generating the ChangeLog files ...)
2014-11-30 21:50 ` default large-file-warning-threshold (was: Generating the ChangeLog files ...) Paul Eggert
2014-11-30 23:19 ` default large-file-warning-threshold Óscar Fuentes
@ 2014-12-01 19:15 ` Richard Stallman
2014-12-02 5:15 ` default large-file-warning-threshold Lars Magne Ingebrigtsen
2 siblings, 0 replies; 90+ messages in thread
From: Richard Stallman @ 2014-12-01 19:15 UTC (permalink / raw)
To: Paul Eggert; +Cc: larsi, eliz, emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
The large file warning is not just a matter of the machine's memory size.
Large buffers are inconvenient for various reasons.
We may want to increase the large file warning threshold, since
machines in general are now both faster and larger than they were.
However, I don't think it should vary depending on the machine you are
using.
--
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] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 18:19 ` Lars Magne Ingebrigtsen
2014-12-01 18:24 ` Paul Eggert
@ 2014-12-01 20:21 ` Ted Zlatanov
2014-12-01 20:32 ` Lars Magne Ingebrigtsen
1 sibling, 1 reply; 90+ messages in thread
From: Ted Zlatanov @ 2014-12-01 20:21 UTC (permalink / raw)
To: emacs-devel
On Mon, 01 Dec 2014 19:19:24 +0100 Lars Magne Ingebrigtsen <larsi@gnus.org> wrote:
LMI> The use case for opening huge files is log files and the like, and you
LMI> usually want to see those as "raw" as possible, I think.
LMI> What about a new, trivial mode for these buffers? We open huge files
LMI> with `find-file-literally', display a message like "Press `M-something'
LMI> to put buffer into mode foo", and change to that new, trivial mode
LMI> (which would just have that one keybinding).
Have you tried vlf?
Ted
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 20:21 ` Ted Zlatanov
@ 2014-12-01 20:32 ` Lars Magne Ingebrigtsen
2014-12-02 1:17 ` Ted Zlatanov
0 siblings, 1 reply; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-01 20:32 UTC (permalink / raw)
To: emacs-devel
Ted Zlatanov <tzz@lifelogs.com> writes:
> Have you tried vlf?
Nope. `M-x vlf TAB' doesn't say anything...
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 17:06 ` Achim Gratz
2014-12-01 17:56 ` Eli Zaretskii
@ 2014-12-01 20:47 ` Rasmus
1 sibling, 0 replies; 90+ messages in thread
From: Rasmus @ 2014-12-01 20:47 UTC (permalink / raw)
To: emacs-devel
Achim Gratz <Stromeko@nexgo.de> writes:
> Lars Magne Ingebrigtsen writes:
>> If a mode is so slow that visiting a big file is problematic, then
>> that sounds like a bug in that mode, I think.
>
> Try fundamental mode with a line length of around 1MB some time, with
> lines truncated at the window border, then. And no, this isn't anything
> spectactularly outrageous, just a CSV export of some tabulated data with
> 5000 columns.
I get very bad performance when opening xml-files — even when using
emacs -q.
This shows, for instance, when opening the contents file of odt files
generated with Org.
—Rasmus
--
May the Force be with you
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-01 20:32 ` Lars Magne Ingebrigtsen
@ 2014-12-02 1:17 ` Ted Zlatanov
2014-12-02 5:07 ` Lars Magne Ingebrigtsen
0 siblings, 1 reply; 90+ messages in thread
From: Ted Zlatanov @ 2014-12-02 1:17 UTC (permalink / raw)
To: emacs-devel
On Mon, 01 Dec 2014 21:32:03 +0100 Lars Magne Ingebrigtsen <larsi@gnus.org> wrote:
LMI> Ted Zlatanov <tzz@lifelogs.com> writes:
>> Have you tried vlf?
LMI> Nope. `M-x vlf TAB' doesn't say anything...
It's a package you can find on an ELPA archive :)
Ted
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-12-02 1:17 ` Ted Zlatanov
@ 2014-12-02 5:07 ` Lars Magne Ingebrigtsen
0 siblings, 0 replies; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-02 5:07 UTC (permalink / raw)
To: emacs-devel
Ted Zlatanov <tzz@lifelogs.com> writes:
> LMI> Nope. `M-x vlf TAB' doesn't say anything...
>
> It's a package you can find on an ELPA archive :)
Oh. :-)
Hm, it does look interesting. It loads bits of files into the buffer at
a time, but tries to still make re-search-forward etc work...
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
* Re: default large-file-warning-threshold
2014-11-30 21:50 ` default large-file-warning-threshold (was: Generating the ChangeLog files ...) Paul Eggert
2014-11-30 23:19 ` default large-file-warning-threshold Óscar Fuentes
2014-12-01 19:15 ` default large-file-warning-threshold (was: Generating the ChangeLog files ...) Richard Stallman
@ 2014-12-02 5:15 ` Lars Magne Ingebrigtsen
2 siblings, 0 replies; 90+ messages in thread
From: Lars Magne Ingebrigtsen @ 2014-12-02 5:15 UTC (permalink / raw)
To: Paul Eggert; +Cc: emacs-devel
Paul Eggert <eggert@cs.ucla.edu> writes:
> Lars Magne Ingebrigtsen wrote:
>> Do we have a way to ask the OS how much (physical-ish) RAM it has?
>
> We could easily add that, using Gnulib's physmem module. For example,
> GNU 'sort' uses physmem to calculate an internal buffer size ranging
> from 1/8 to 3/4 of physical memory, depending on some other factors.
Here's a concrete suggestion that I think covers most of the issues
regarding the "look at log files" use case, as well as the security
issues involved with large files with complex modes.
0) We introduce a new, very trivial mode called `large-file-mode' which
is just `fundamental-mode' with one command: `M-m', which switches on
whatever mode would normally have been in that buffer. The mode says on
startup "Use the command `M-m' to switch `foo-mode' on".
1) We set `large-file-warning-threshold' to 1/8th of the physical
memory. If the user loads a file bigger than that, she gets queried
just as now, but the buffer is loaded with `find-file-literally' and
ends up in `large-file-mode'.
2) We add a new variable, `large-file-automatic-mode-threshold', which
is (max 40MB (/ large-file-warning-threshold 10)). All files bigger
than this are loaded with `find-file-literally' and ends up in
`large-file-mode'.
3) Files smaller than this are handled like now.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 90+ messages in thread
end of thread, other threads:[~2014-12-02 5:15 UTC | newest]
Thread overview: 90+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-14 14:39 Include necessary git tools in the Emacs distribution? Lars Magne Ingebrigtsen
2014-11-14 14:57 ` Tassilo Horn
2014-11-14 14:58 ` Eli Zaretskii
2014-11-14 16:13 ` Ulrich Mueller
2014-11-15 19:28 ` Lars Magne Ingebrigtsen
2014-11-15 20:04 ` Ulrich Mueller
2014-11-15 20:07 ` Lars Magne Ingebrigtsen
2014-11-15 20:34 ` Kelvin White
2014-11-15 20:35 ` Lars Magne Ingebrigtsen
2014-11-15 20:57 ` Ulrich Mueller
2014-11-15 21:45 ` Glenn Morris
2014-11-16 0:01 ` Lennart Borgman
2014-11-18 2:07 ` Rüdiger Sonderfeld
2014-11-18 2:15 ` Paul Eggert
2014-11-18 14:45 ` Generating the ChangeLog files from the commit messages (was: Include necessary git tools in the Emacs distribution?) Stefan Monnier
2014-11-18 14:59 ` Generating the ChangeLog files from the commit messages Ted Zlatanov
2014-11-18 16:22 ` Rüdiger Sonderfeld
2014-11-18 17:10 ` Glenn Morris
2014-11-18 17:40 ` Eli Zaretskii
2014-11-18 17:56 ` Paul Eggert
2014-11-18 20:32 ` Thien-Thi Nguyen
2014-11-18 21:12 ` Stefan Monnier
2014-11-18 22:05 ` Paul Eggert
2014-11-19 22:36 ` Richard Stallman
2014-11-20 0:15 ` Paul Eggert
2014-11-20 2:50 ` Yuri Khan
2014-11-20 3:15 ` Paul Eggert
2014-11-20 4:04 ` Yuri Khan
2014-11-20 20:12 ` Paul Eggert
2014-11-21 4:25 ` Kelvin White
2014-11-21 7:57 ` Paul Eggert
2014-11-19 9:03 ` Bastien
2014-11-19 9:11 ` Lars Magne Ingebrigtsen
2014-11-29 22:35 ` Paul Eggert
2014-11-30 0:23 ` Jan D.
2014-11-30 9:12 ` Jorgen Schaefer
2014-11-30 16:15 ` Paul Eggert
2014-11-30 18:11 ` Stefan Monnier
2014-11-30 18:23 ` Eli Zaretskii
2014-11-30 18:30 ` Lars Magne Ingebrigtsen
2014-11-30 20:32 ` Eli Zaretskii
2014-11-30 21:50 ` default large-file-warning-threshold (was: Generating the ChangeLog files ...) Paul Eggert
2014-11-30 23:19 ` default large-file-warning-threshold Óscar Fuentes
2014-11-30 23:22 ` Lars Magne Ingebrigtsen
2014-11-30 23:31 ` Óscar Fuentes
2014-12-01 5:46 ` Paul Eggert
2014-12-01 15:52 ` Eli Zaretskii
2014-12-01 18:13 ` Paul Eggert
2014-12-01 18:19 ` Lars Magne Ingebrigtsen
2014-12-01 18:24 ` Paul Eggert
2014-12-01 20:21 ` Ted Zlatanov
2014-12-01 20:32 ` Lars Magne Ingebrigtsen
2014-12-02 1:17 ` Ted Zlatanov
2014-12-02 5:07 ` Lars Magne Ingebrigtsen
2014-12-01 19:00 ` Eli Zaretskii
2014-12-01 17:06 ` Achim Gratz
2014-12-01 17:56 ` Eli Zaretskii
2014-12-01 18:33 ` David Kastrup
2014-12-01 19:12 ` Eli Zaretskii
2014-12-01 19:15 ` Eli Zaretskii
2014-12-01 20:47 ` Rasmus
2014-12-01 19:15 ` default large-file-warning-threshold (was: Generating the ChangeLog files ...) Richard Stallman
2014-12-02 5:15 ` default large-file-warning-threshold Lars Magne Ingebrigtsen
2014-12-01 3:24 ` Generating the ChangeLog files from the commit messages Stefan Monnier
2014-12-01 3:39 ` Eli Zaretskii
2014-12-01 5:49 ` Paul Eggert
2014-12-01 7:45 ` H. Dieter Wilhelm
2014-11-30 16:35 ` Lars Magne Ingebrigtsen
2014-11-19 9:02 ` Bastien
2014-11-19 9:38 ` Rasmus
2014-11-19 11:17 ` Bastien
2014-11-19 13:34 ` Óscar Fuentes
2014-11-19 13:50 ` Bastien
2014-11-19 16:29 ` Yuri Khan
2014-11-19 16:43 ` Eli Zaretskii
2014-11-19 16:52 ` Yuri Khan
2014-11-19 18:49 ` Eli Zaretskii
2014-11-20 2:54 ` Yuri Khan
2014-11-20 9:38 ` Bastien
2014-11-20 9:33 ` Bastien
2014-11-20 9:31 ` Bastien
2014-11-19 16:43 ` David Engster
2014-11-19 22:21 ` Stefan Monnier
2014-11-19 22:51 ` David Engster
2014-11-21 10:03 ` Eli Zaretskii
2014-11-21 16:19 ` David Engster
2014-11-21 16:58 ` Eli Zaretskii
2014-11-21 17:19 ` Stefan Monnier
2014-11-21 17:21 ` David Engster
2014-11-19 16:54 ` Include necessary git tools in the Emacs distribution? David Engster
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.