diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2014-11-28 22:55:31 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2014-11-28 23:07:16 -0800 |
commit | 0cce3623b169732a51f055a86fc926313b11a5ee (patch) | |
tree | 17154977d6e77f604ede0b82f89b2aeb6925310a | |
parent | 9875d23d86c0668b1e697b67a394560d66c7826d (diff) | |
parent | 6b765b8facbdbb03f28028007885236601652515 (diff) |
Merge branch 'emacs-24'.
94 files changed, 1131 insertions, 609 deletions
diff --git a/.gitignore b/.gitignore index b5eda4364b..8e8a032ef5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,48 +1,52 @@ -**/Makefile -**/makefile - -configure -aclocal.m4 -compile -config.guess -config.sub -depcomp -install-sh -missing +# Files that Git should ignore in the Emacs source directory. + +# Copyright 2009-2014 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. + + +# Built by 'autogen.sh'. +/aclocal.m4 +/configure +build-aux/compile +build-aux/config.guess +build-aux/config.sub +build-aux/depcomp +build-aux/install-sh +build-aux/missing lib/Makefile.in src/config.in -autom4te.cache -TAGS -*~ -.#* -/README.W32 -/bin/ -/site-lisp/ -/leim/ja-dic/ -etc/refcards/*.aux -etc/refcards/*.log -info/dir -info/*.info -test/biditest.txt +# Built by 'configure'. +Info.plist +InfoPlist.strings +Makefile +!admin/charsets/Makefile +!etc/refcards/Makefile +!test/automated/flymake/warnpred/Makefile +!test/indent/Makefile +makefile +/*.cache +/confdefs.h +/config.status +/configure.lineno +src/config.h +src/epaths.h -config.log -config.status -config.cache -lib-src/blessmail -lib-src/ctags -lib-src/ebrowse -lib-src/emacsclient -lib-src/etags -lib-src/hexl -lib-src/make-docfile -lib-src/movemail -lib-src/profile -lib-src/test-distrib -lib-src/update-game-score -*.o -*.exe -*.res +# C-level sources built by 'make'. lib/alloca.h lib/arg-nonnull.h lib/byteswap.h @@ -55,66 +59,202 @@ lib/getopt.h lib/inttypes.h lib/libgnu.a lib/signal.h +lib/stdalign.h +lib/stdint.h lib/stdio.h lib/stdlib.h -lib/stdalign.h lib/string.h lib/sys/ lib/time.h lib/unistd.h lib/warn-on-use.h +src/buildobj.h +src/globals.h + +# Lisp-level sources built by 'make'. +leim/changed.misc +leim/changed.tit +lisp/**/*cus-load.el +lisp/**/*loaddefs.el +lisp/cedet/semantic/bovine/c-by.el +lisp/cedet/semantic/bovine/make-by.el +lisp/cedet/semantic/bovine/scm-by.el +lisp/cedet/semantic/wisent/javat-wy.el +lisp/cedet/semantic/wisent/js-wy.el +lisp/cedet/semantic/wisent/python-wy.el +lisp/cedet/srecode/srt-wy.el +lisp/eshell/esh-groups.el +lisp/finder-inf.el +lisp/leim/ja-dic/ +lisp/leim/leim-list.el +lisp/leim/quail/4Corner.el +lisp/leim/quail/ARRAY30.el +lisp/leim/quail/CCDOSPY.el +lisp/leim/quail/CTLau.el +lisp/leim/quail/CTLau-b5.el +lisp/leim/quail/ECDICT.el +lisp/leim/quail/ETZY.el +lisp/leim/quail/PY-b5.el +lisp/leim/quail/PY.el +lisp/leim/quail/Punct.el +lisp/leim/quail/Punct-b5.el +lisp/leim/quail/QJ.el +lisp/leim/quail/QJ-b5.el +lisp/leim/quail/SW.el +lisp/leim/quail/TONEPY.el +lisp/leim/quail/ZIRANMA.el +lisp/leim/quail/ZOZY.el +lisp/leim/quail/quick-b5.el +lisp/leim/quail/quick-cns.el +lisp/leim/quail/tsang-b5.el +lisp/leim/quail/tsang-cns.el +lisp/subdirs.el + +# Dependencies. +.deps/ +deps/ + +# Logs and temporaries. +*.log +*.tmp + +# Time stamps. +stamp_BLD +src/gl-stamp +src/stamp-h.in +src/stamp-h1 + +# Object files and debugging. +*.a +*.dSYM/ +*.core +*.elc +*.o +*.res +[0-9]*.core +core +core.*[0-9] +oo/ +oo-spd/ +src/*.map + +# Tests. +test/indent/*.new + +# ctags, etags. +TAGS + +# GNU global. +GPATH +GSYMS +GRTAGS +GTAGS + +# GNU idutils. +ID + +# Executables. +*.exe +a.out +lib-src/blessmail +lib-src/ctags +lib-src/ebrowse +lib-src/emacsclient +lib-src/etags +lib-src/hexl +lib-src/make-docfile +lib-src/movemail +lib-src/profile +lib-src/test-distrib +lib-src/update-game-score +nextstep/Cocoa/Emacs.base/Contents/Info.plist +nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj +nextstep/Emacs.app/ +nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop +nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist src/bootstrap-emacs -src/deps/ src/emacs src/emacs-[0-9]* -src/gl-stamp -src/globals.h -src/stamp-h1 src/temacs -src/temacs.map -src/temacs.tmp -doc/*/*.aux -doc/*/*.cm -doc/*/*.cms -doc/*/*.cp -doc/*/*.cps -doc/*/*.dvi -doc/*/*.fn -doc/*/*.fns -doc/*/*.html -doc/*/*.ky -doc/*/*.kys -doc/*/*.log -doc/*/*.op -doc/*/*.ops -doc/*/*.pdf -doc/*/*.pg -doc/*/*.pgs -doc/*/*.pj -doc/*/*.pjs -doc/*/*.ps -doc/*/*.sc -doc/*/*.scs -doc/*/*.tg -doc/*/*.tgs -doc/*/*.tmp -doc/*/*.toc -doc/*/*.tp -doc/*/*.tps -doc/*/*.vr -doc/*/*.vrs -doc/*/texput.log -doc/misc/cc-mode.ss -lib/.deps/ -lisp/international/uni-brackets.el -lwlib/deps/ -lwlib/liblw.a -leim/changed.misc -leim/changed.tit -nt/emacs.rc -nt/emacsclient.rc -# Auto-generated from the corresponding *.in file. +# Character-set info. +admin/charsets/*.el +admin/charsets/*.map +admin/charsets/jisx2131-filter +admin/unidata/unidata.txt +lisp/international/charprop.el +lisp/international/uni-*.el + +# Documentation. +*.aux +*.cm +*.cms +*.cp +*.cps +*.dvi +*.fn +*.fns +*.html +*.info +*.ky +*.kys +*.op +*.ops +*.pdf +!doc/lispintro/cons-*.pdf +!doc/lispintro/drawers.pdf +!doc/lispintro/lambda-*.pdf +!etc/refcards/gnus-logo.pdf +*.pg +*.pgs +*.pj +*.pjs +*.ps +*.sc +*.scs +*.tg +*.tgs +*.toc +*.tp +*.tps +*.vr +*.vrs doc/emacs/emacsver.texi doc/man/emacs.1 +doc/misc/cc-mode.ss +etc/DOC etc/refcards/emacsver.tex +info/dir + +# Version control and locks. +*.orig +*.rej +*~ +.#* +[0-9]*.patch + +# Built by 'make install'. +etc/emacs.tmpdesktop + +# Distribution directories. +/emacs-[1-9]*/ + +# Microsoft-related builds and installations. +*.in-h +_* +!build-aux/snippet/_Noreturn.h +/bin/ +/BIN/ +/data/ +etc/icons/ +lib/cxxdefs.h +lib/SYS/ +/libexec/ +/lock/ +/README.W32 +/share/ +/site-lisp/ +nt/emacs.rc +nt/emacsclient.rc +src/gdb.ini +/var/ @@ -1,3 +1,70 @@ +2014-11-29 Paul Eggert <eggert@cs.ucla.edu> + + Add more of the old .bzrignore to .gitignore. + Plus a few more .gitignore improvements. + * .gitignore: Add copyright notice, since it's big enough. + Put exceptions immediately after the patterns they're exceptions + to, to make them easier to follow. + Give four exceptions for the Makefile pattern. + Ignore /confdefs.h, test/indent/*.new, TAGS, GPATH, GSYMS, GRTAGS, + GTAGS, ID, *.exe, some nextstep-related files, + jisx2131-filter, *.orig, *.rej, etc/emacs.tmpdesktop, *.in-h + _* (except for build-aux/snippet/_Noreturn.h), /bin/, /BIN/, + /data/, etc/icons/, lib/cxxdefs.h, lib/SYS/, /libexec/, /lock/, + /README.W32, /share/, /site-lisp/, src/gdb.ini, /var/. + Ignore /configure.lineno, since POSIX requires + LINENO only with the User Portability Utilities option. + Ignore *cust-load.el and *loaddefs.el only under lisp. + Ignore core files of various flavors. + Do not ignore etc/refcards/gnus-logo.pdf. + +2014-11-29 Eli Zaretskii <eliz@gnu.org> + + * .gitignore: Add back src/_gdbinit, which is a temporary file + created by the MS-DOS build. + +2014-11-29 Paul Eggert <eggert@cs.ucla.edu> + + Add a.out to .gitignore. + Suggested by Lee Duhem in: + http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg01665.html + * .gitignore: Add a.out. + Move *.log next to *.tmp, since it's generic. + Put *.exe before non-generics. + +2014-11-29 Eli Zaretskii <eliz@gnu.org> + + * .gitignore: Resurrect Windows-specific ignorables lost in last + changes. + +2014-11-29 Paul Eggert <eggert@cs.ucla.edu> + + * .gitignore: Add /emacs-[1-9]*/, and sort better. + +2014-11-29 Ivan Andrus <darthandrus@gmail.com> + + * .gitignore: Add some nextstep/mac ignorables. + +2014-11-29 Paul Eggert <eggert@cs.ucla.edu> + + .gitignore cleanup. + * .gitignore: Merge contents of subsidiary files and organize the + result so as to avoid duplication. Remove no-longer needed entries. + * admin/charsets/.gitignore, admin/unidata/.gitignore: + * doc/lispintro/.gitignore, etc/.gitignore, leim/.gitignore: + * leim/ja-dic/.gitignore, lib-src/.gitignore, lisp/.gitignore: + * lisp/calc/.gitignore, lisp/calendar/.gitignore: + * lisp/cedet/.gitignore, lisp/emulation/.gitignore: + * lisp/erc/.gitignore, lisp/eshell/.gitignore, lisp/gnus/.gitignore: + * lisp/international/.gitignore, lisp/language/.gitignore: + * lisp/leim/.gitignore, lisp/leim/quail/.gitignore: + * lisp/mail/.gitignore, lisp/mh-e/.gitignore, lisp/net/.gitignore: + * lisp/nxml/.gitignore, lisp/obsolete/.gitignore: + * lisp/play/.gitignore, lisp/progmodes/.gitignore: + * lisp/term/.gitignore, lisp/textmodes/.gitignore: + * lisp/url/.gitignore, nt/.gitignore, src/.gitignore: + Remove; no longer needed. + 2014-11-29 Glenn Morris <rgm@gnu.org> * configure.ac: Simplify gnutls tests. @@ -112,7 +179,7 @@ corresponding commit comments. (The first .cvsignore commit was 1999-09-30T14:07:54Z!fx@gnu.org. - The last CVS commit was 2009-12-27T08:11:12Z!cyd@stupidchicken.com.) + The last CVS commit was 2009-12-27T08:11:12Z!cyd@stupidchicken.com.) Committer/author email addresses are generally correct for the transition day, not necessarily when the commit was originally made. diff --git a/admin/ChangeLog b/admin/ChangeLog index 84aea47ae9..d894f768fc 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,13 @@ +2014-11-29 Paul Eggert <eggert@cs.ucla.edu> + + Lessen focus on ChangeLog files, as opposed to change log entries. + This is in preparation for generating the former automatically + from the latter. + * notes/bugtracker, notes/copyright, notes/newfile: + ChangeLog -> change log + * notes/changelogs: Remove, merging old contents to ... + * notes/repo: ... here. + 2014-11-27 David Engster <deng@randomsample.de> * gitmerge.el: New file. diff --git a/admin/charsets/.gitignore b/admin/charsets/.gitignore deleted file mode 100644 index ea375dc591..0000000000 --- a/admin/charsets/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.map -*.el diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker index 3d9df200f4..fd7bd08091 100644 --- a/admin/notes/bugtracker +++ b/admin/notes/bugtracker @@ -463,10 +463,10 @@ time, rather than by increasing bug number "raw" = ? -** ChangeLog issues +** Change log issues *** When you fix a bug, it can be helpful to put the bug number in the -ChangeLog entry, for example: +change log entry, for example: * foo.el (foofunc): Fix the `foo' case. (Bug#123) @@ -475,7 +475,7 @@ obvious fix (e.g. a typo), there's no need to clutter the log with the bug number. Similarly, when you close a bug, it can be helpful to include the -relevant ChangeLog entry in the message to the bug tracker, so people +relevant change log entry in the message to the bug tracker, so people can see exactly what the fix was. *** bug-reference-mode diff --git a/admin/notes/changelogs b/admin/notes/changelogs deleted file mode 100644 index e8158060e7..0000000000 --- a/admin/notes/changelogs +++ /dev/null @@ -1,32 +0,0 @@ -Emacs generally follows the GNU coding standards when it comes to ChangeLogs: -http://www.gnu.org/prep/standards/html_node/Change-Logs.html - -One exception is that we still sometimes quote `like-this' (as the -standards used to recommend) rather than 'like-this' (as they do now), -because `...' is so widely used elsewhere in Emacs. -http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00514.html - - -If installing changes written by someone else, make the ChangeLog -entry in their name, not yours. - - -http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00793.html - There is no need to make change log entries for files such as NEWS, - MAINTAINERS, and FOR-RELEASE. -"There is no need" means you don't have to, but you can if you want to. - - -http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg01135.html - There is no need to indicate regeneration of files such as configure - in ChangeLog. - - -http://lists.gnu.org/archive/html/emacs-devel/2008-11/msg00940.html -Preferred form for several entries with the same content: - - * help.el (view-lossage): - * kmacro.el (kmacro-edit-lossage): - * edmacro.el (edit-kbd-macro): Fix docstring, lossage is now 300 keys. - -(Rather than anything involving "ditto" and suchlike.) diff --git a/admin/notes/copyright b/admin/notes/copyright index 109126a306..f7565fe172 100644 --- a/admin/notes/copyright +++ b/admin/notes/copyright @@ -22,7 +22,7 @@ author to make a non-trivial total. If so, make sure they have an assignment. If adding a whole file adjust the copyright statements in the file. -2. When installing code written by someone else, the ChangeLog entry +2. When installing code written by someone else, the commit should be in the name of the author of the code, not the person who installs it. Also use commit's "--author" option. Do not install any of your own changes in the same commit. @@ -115,8 +115,8 @@ else it is possible the file should not be in Emacs at all (please report!). Note that it seems painfully clear that one cannot rely on commit logs, -or even ChangeLogs, for older changes. People often installed changes -from others, without recording the true authorship. +or even change log entries, for older changes. People often installed +changes from others, without recording the true authorship. [For reference, most of these points were established via email with rms, 2007/1, "Copyright years". diff --git a/admin/notes/newfile b/admin/notes/newfile index 0b66b8054b..a682fec72d 100644 --- a/admin/notes/newfile +++ b/admin/notes/newfile @@ -15,7 +15,7 @@ output under the headings "The following files are not valid DOS file names:" and "The following resolve to the same DOS file names:" should not include any files that end up in the release tarball. -** Make the ChangeLog entry in the name of the author(s), not your own name. +** Commit in the name of the author(s), not your own name. ** If appropriate, check that the file compiles OK and that Emacs builds fine with it. Address any compilation warnings. diff --git a/admin/notes/repo b/admin/notes/repo index ded10324f6..97b4349ed6 100644 --- a/admin/notes/repo +++ b/admin/notes/repo @@ -1,9 +1,16 @@ NOTES ON COMMITTING TO EMACS'S REPOSITORY -*- outline -*- -* Use DVCS commenting conventions +* Commit metainformation -Commits should follow the conventions used in all modern distributed -version-control systems. That is, they should consist of +** Commit in the author's name + +If installing changes written by someone else, commit them in their +name, not yours. + +** Commit message format + +Commit messages should follow the conventions used in all modern +distributed version-control systems. That is, they should consist of - A self-contained topic line, preferably no more than 75 chars long. @@ -15,6 +22,28 @@ version-control systems. That is, they should consist of files, just copy the entries you made in them to the commit message after the blank line.) +- Preferred form for several entries with the same content: + + * help.el (view-lossage): + * kmacro.el (kmacro-edit-lossage): + * edmacro.el (edit-kbd-macro): Fix docstring, lossage is now 300 keys. + + (Rather than anything involving "ditto" and suchlike.) + +- Emacs generally follows the GNU coding standards when it comes to ChangeLogs: + http://www.gnu.org/prep/standards/html_node/Change-Logs.html + One exception is that we still sometimes quote `like-this' (as the + standards used to recommend) rather than 'like-this' (as they do now), + because `...' is so widely used elsewhere in Emacs. + http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00514.html + +** Unnecessary metainformation + +There is no need to make separate change log entries for files such as +NEWS, MAINTAINERS, and FOR-RELEASE, or to indicate regeneration of +files such as 'configure'. "There is no need" means you don't have +to, but you can if you want to. + * Commit to the right branch Development normally takes places on the trunk. @@ -112,9 +141,9 @@ http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00262.html [The section on git merge procedure has not yet been written] -Inspect the ChangeLog entries (e.g. in case too many entries have been +Inspect the change log entries (e.g. in case too many entries have been included or whitespace between entries needs fixing). If someone made -multiple ChangeLog entries on different days in the branch, you may +multiple change log entries on different days in the branch, you may wish to collapse them all to a single entry for that author in the trunk (because in the trunk they all appear under the same date). Obviously, if there are multiple changes to the same file by different @@ -166,4 +195,3 @@ again. This is a semi-automated way to find the revision that introduced a bug. Browse `git help bisect' for technical instructions. - diff --git a/admin/unidata/.gitignore b/admin/unidata/.gitignore deleted file mode 100644 index 3f2d8ca551..0000000000 --- a/admin/unidata/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.elc -unidata.txt - diff --git a/autogen.sh b/autogen.sh index 1945e8120b..614bdc71b6 100755 --- a/autogen.sh +++ b/autogen.sh @@ -216,6 +216,46 @@ autoreconf -fi -I m4 || exit $? ## cause 'make' to needlessly run 'autoheader'. echo timestamp > src/stamp-h.in || exit +## Install Git hooks, if using Git. +if test -d .git/hooks; then + tailored_hooks= + sample_hooks= + + for hook in commit-msg pre-commit; do + cmp build-aux/git-hooks/$hook .git/hooks/$hook >/dev/null 2>&1 || + tailored_hooks="$tailored_hooks $hook" + done + for hook in applypatch-msg pre-applypatch; do + cmp .git/hooks/$hook.sample .git/hooks/$hook >/dev/null 2>&1 || + sample_hooks="$sample_hooks $hook" + done + + if test -n "$tailored_hooks$sample_hooks"; then + echo "Installing git hooks..." + + case `cp --help 2>/dev/null` in + *--backup*--verbose*) + cp_options='--backup=numbered --verbose';; + *) + cp_options='';; + esac + + if test -n "$tailored_hooks"; then + for hook in $tailored_hooks; do + cp $cp_options build-aux/git-hooks/$hook .git/hooks || exit + chmod a-w .git/hooks/$hook || exit + done + fi + + if test -n "$sample_hooks"; then + for hook in $sample_hooks; do + cp $cp_options .git/hooks/$hook.sample .git/hooks/$hook || exit + chmod a-w .git/hooks/$hook || exit + done + fi + fi +fi + echo "You can now run './configure'." exit 0 diff --git a/build-aux/git-hooks/commit-msg b/build-aux/git-hooks/commit-msg new file mode 100755 index 0000000000..6a09eddf88 --- /dev/null +++ b/build-aux/git-hooks/commit-msg @@ -0,0 +1,90 @@ +#!/bin/sh +# Check the format of GNU Emacs change log entries. + +# Copyright 2014 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. + +# Written by Paul Eggert. + +# Use a UTF-8 locale if available, so that the UTF-8 check works. +# Use U+00A2 CENT SIGN to test whether the locale works. +cent_sign_utf8_octal='\302\242' +at_sign=` + printf "${cent_sign_utf8_octal}@" | + awk '{print substr($0, 2)}' 2>/dev/null +` +if test "$at_sign" != @; then + at_sign=` + printf "${cent_sign_utf8_octal}@" | + LC_ALL=en_US.utf8 awk '{print substr($0, 2)}' 2>/dev/null + ` + if test "$at_sign" = @; then + LC_ALL=en_US.utf8; export LC_ALL + fi +fi + +# Check the log entry. +exec awk ' + /^#/ { next } + + !/^.*$/ { + print "Invalid character (not UTF-8)" + status = 1 + } + + nlines == 0 && !/[^[:space:]]/ { next } + + { nlines++ } + + nlines == 1 && /^[[:space:]]/ { + print "White space at start of first line" + status = 1 + } + + nlines == 2 && /[^[:space:]]/ { + print "Nonempty second line" + status = 1 + } + + /[[:cntrl:]]/ { + print "Text contains control character; please use spaces instead of tabs" + status = 1 + } + + 72 < length && /[[:space:]]/ { + print "Line longer than 72 characters" + status = 1 + } + + 140 < length { + print "Word longer than 140 characters" + status = 1 + } + + /^Signed-off-by: / { + print "'Signed-off-by:' present" + status = 1 + } + + END { + if (nlines == 0) { + print "Empty change log entry" + status = 1 + } + exit status + } +' <"$1" diff --git a/build-aux/git-hooks/pre-commit b/build-aux/git-hooks/pre-commit new file mode 100755 index 0000000000..c24f9bb48d --- /dev/null +++ b/build-aux/git-hooks/pre-commit @@ -0,0 +1,46 @@ +#!/bin/sh +# Check file names in git commits for GNU Emacs. + +# Copyright 2014 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. + +LC_ALL=C +export LC_ALL + +exec >&2 + +. git-sh-setup + +git_diff='git diff --cached --name-only --diff-filter=A' +ok_chars='\0+[=-=]./0-9A-Z_a-z' +nbadchars=`$git_diff -z HEAD | tr -d "$ok_chars" | wc -c` + +if test "$nbadchars" -ne 0; then + echo "File name does not consist of -+./_ or ASCII letters or digits." + exit 1 +fi + +new_names=`$git_diff HEAD` || exit +case " +$new_names" in + */-* | *' +'-*) + echo "File name component begins with '-'." + exit 1;; +esac + +exec git diff-index --check --cached HEAD -- diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 1ce7aa15ae..956f14b0bd 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,15 @@ +2014-11-29 Paul Eggert <eggert@cs.ucla.edu> + + Lessen focus on ChangeLog files, as opposed to change log entries. + * maintaining.texi (Change Log): Mention that ChangeLog files may + be copied to or from a version control system. + * trouble.texi (Sending Patches): Point to the commit messages. + +2014-11-29 Eli Zaretskii <eliz@gnu.org> + + * maintaining.texi (Switching Branches): Mention "C-x v r". + Correct commands for switching branches in various VCSs. + 2014-11-16 Tassilo Horn <tsdh@gnu.org> * misc.texi (DocView Slicing): Describe how to slice with the diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index ea6d60d5e6..8a06439ddd 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -1329,11 +1329,18 @@ implemented, and these differences cannot be entirely concealed by VC. On some decentralized version control systems, including Bazaar and Mercurial in its normal mode of operation, each branch has its own working directory tree, so switching between branches just involves -switching directories. On Git, switching between branches is done -using the @command{git branch} command, which changes the contents of -the working tree itself. - - On centralized version control systems, you can switch between +switching directories. On Git, branches are normally @dfn{co-located} +in the same directory, and switching between branches is done using +the @command{git checkout} command, which changes the contents of the +working tree to match the branch you switch to. Bazaar also supports +co-located branches, in which case the @command{bzr switch} command +will switch branches in the current directory. With Subversion, you +switch to another branch using the @command{svn switch} command. + + The VC command to switch to another branch in the current directory +is @kbd{C-x v r @var{branch-name} @key{RET}} (@code{vc-retrieve-tag}). + + On centralized version control systems, you can also switch between branches by typing @kbd{C-u C-x v v} in an up-to-date work file (@pxref{Advanced C-x v v}), and entering the revision ID for a revision on another branch. On CVS, for instance, revisions on the @@ -1479,9 +1486,11 @@ different revision with @kbd{C-u C-x v v}. @cindex change log Many software projects keep a @dfn{change log}. This is a file, normally named @file{ChangeLog}, containing a chronological record of -when and how the program was changed. Sometimes, there are several -change log files, each recording the changes in one directory or -directory tree. +when and how the program was changed. Sometimes, these files are +automatically generated from the change log entries stored in version +control systems, or are used to generate these change log entries. +Sometimes, there are several change log files, each recording the +changes in one directory or directory tree. @menu * Change Log Commands:: Commands for editing change log files. diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 09260a1e5a..5f3cf9223e 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@ -1137,9 +1137,9 @@ new function, all you need to say about it is that it is new. If you feel that the purpose needs explaining, it probably does---but put the explanation in comments in the code. It will be more useful there. -Please read the @file{ChangeLog} files in the @file{src} and -@file{lisp} directories to see what sorts of information to put in, -and to learn the style that we use. @xref{Change Log}. +Please look at the change log entries of recent commits to see what +sorts of information to put in, and to learn the style that we use. +@xref{Change Log}. @item When you write the fix, keep in mind that we can't install a change that diff --git a/doc/lispintro/.gitignore b/doc/lispintro/.gitignore deleted file mode 100644 index cf992dc864..0000000000 --- a/doc/lispintro/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -!cons-*.pdf -!drawers.pdf -!lambda-*.pdf diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 74966431a4..31a9cbf04e 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2014-11-29 Paul Eggert <eggert@cs.ucla.edu> + + Lessen focus on ChangeLog files, as opposed to change log entries. + * intro.texi (Acknowledgments): ChangeLog file -> change log entries. + * tips.texi (Library Headers): Emacs uses a version control system. + 2014-11-27 Lars Magne Ingebrigtsen <larsi@gnus.org> * text.texi (Document Object Model): Mention `dom-pp'. @@ -4725,7 +4731,7 @@ (texinputdir, $(infodir)/elisp): Use $(MAKEINFO_OPTS). 2011-01-25 Chong Yidong <cyd@stupidchicken.com> - Richard Kim <emacs18@gmail.com> + Richard Kim <emacs18@gmail.com> * loading.texi (Library Search): Document list-load-path-shadows (Bug#7757). diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi index 0c5346fbb6..1cd79bb226 100644 --- a/doc/lispref/intro.texi +++ b/doc/lispref/intro.texi @@ -552,4 +552,4 @@ Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding, Carl Witty, Dale Worley, Rusty Wright, and David D. Zuhn. For a more complete list of contributors, please see the relevant -ChangeLog file in the Emacs sources. +change log entries in the Emacs source repository. diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index d8b906d3bf..f7f07e8fb7 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -1062,9 +1062,9 @@ context. @item ;;; Change Log: This begins an optional log of changes to the file over time. Don't put too much information in this section---it is better to keep the -detailed logs in a separate @file{ChangeLog} file (as Emacs does), -and/or to use a version control system. @samp{History} is an -alternative to @samp{Change Log}. +detailed logs in a version control system (as Emacs does) or in a +separate @file{ChangeLog} file. @samp{History} is an alternative to +@samp{Change Log}. @item ;;; Code: This begins the actual code of the program. diff --git a/etc/.gitignore b/etc/.gitignore deleted file mode 100644 index 8e12acbee0..0000000000 --- a/etc/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -DOC -icons/ diff --git a/etc/CONTRIBUTE b/etc/CONTRIBUTE index d1ee9f4690..b07b6c66af 100644 --- a/etc/CONTRIBUTE +++ b/etc/CONTRIBUTE @@ -118,13 +118,23 @@ documentation, i.e. Texinfo files. Ref: "Change Log Concepts" node of the GNU Coding Standards Info Manual, for how to write good log entries. +When using git, commit messages should use ChangeLog format, with a +single short line explaining the change, then an empty line, then +unindented ChangeLog entries. (Essentially, a commit message should +be a duplicate of what the patch adds to the ChangeLog files. We are +planning to automate this better, to avoid the duplication.) + ** The patch itself. If you are accessing the Emacs repository, make sure your copy is -up-to-date (e.g. with `git pull'), then use +up-to-date (e.g. with 'git pull'). You can commit your changes +to a private branch and generate a patch from the master version +by using + git format-patch master +Or you can leave your changes uncommitted and use git diff -Else, use - diff -cp OLD NEW +With no repository, you can use + diff -u OLD NEW ** Mail format. diff --git a/etc/ChangeLog b/etc/ChangeLog index a23524af11..09dfd7f2e3 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,9 @@ +2014-11-29 Paul Eggert <eggert@cs.ucla.edu> + + Lessen focus on ChangeLog files, as opposed to change log entries. + * CONTRIBUTE: Give advice about git commit messages and how + to generate proposed patches containing them. + 2014-11-27 Lars Magne Ingebrigtsen <larsi@gnus.org> * NEWS: Mention dom.el. @@ -101,7 +107,7 @@ * NEWS: Mention ns-use-fullscreen-animation. -2014-09-30 Bill Wohler <wohler@newt.com> +2014-09-30 Bill Wohler <wohler@newt.com> Release MH-E version 8.6 diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 3401f4895e..67a26b93b2 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -1962,11 +1962,11 @@ accessible by right-clicking "My Computer" or "Computer", selecting ** Emacs crashes when exiting the Emacs session This was reported to happen when some optional DLLs, such as those -used for displaying images or the GnuTLS library, which are loaded -on-demand, have a runtime dependency on the libgcc DLL, -libgcc_s_dw2-1.dll. The reason seems to be a bug in libgcc which -rears its ugly head whenever the libgcc DLL is loaded after Emacs has -started. +used for displaying images or the GnuTLS library or zlib compression +library, which are loaded on-demand, have a runtime dependency on the +libgcc DLL, libgcc_s_dw2-1.dll. The reason seems to be a bug in +libgcc which rears its ugly head whenever the libgcc DLL is loaded +after Emacs has started. One solution for this problem is to find an alternative build of the same optional library that does not depend on the libgcc DLL. diff --git a/leim/.gitignore b/leim/.gitignore deleted file mode 100644 index 02175a1deb..0000000000 --- a/leim/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.elc -leim-list.el diff --git a/leim/ja-dic/.gitignore b/leim/ja-dic/.gitignore deleted file mode 100644 index c531d9867f..0000000000 --- a/leim/ja-dic/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.elc diff --git a/lib-src/.gitignore b/lib-src/.gitignore deleted file mode 100644 index c931a15d7b..0000000000 --- a/lib-src/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -DOC -ctags.c -stamp_BLD -echolisp.tmp - -oo/ -oo-spd/ diff --git a/lisp/.gitignore b/lisp/.gitignore deleted file mode 100644 index 6d5166e134..0000000000 --- a/lisp/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -*.elc -*-loaddefs.el -loaddefs.el -subdirs.el -finder-inf.el -cus-load.el diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 782481f8d0..2a450a7acf 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,104 @@ +2014-11-29 Stephen Berman <stephen.berman@gmx.net> + Stefan Monnier <monnier@iro.umontreal.ca> + + * outline.el (outline-move-subtree-down): Make sure we can move + forward to find the end of the subtree and the insertion point + (bug#19102). + +2014-11-29 Leonard Randall <leonard.a.randall@gmail.com> + + * textmodes/reftex-parse.el (reftex-using-biblatex-p): Make search + for comment lines non-greedy and stopping at newlines to fix stack + overflows with large files. [Backport] + +2014-11-29 Fabián Ezequiel Gallina <fgallina@gnu.org> + + * progmodes/python.el (python-shell-completion-setup-code): Use + __builtin__ module (or builtins in Python 3) and catch all errors + when importing readline and rlcompleter. + +2014-11-29 Stephen Berman <stephen.berman@gmx.net> + + * calendar/todo-mode.el: Handle calling revert-buffer (bug#19187). + (todo-revert-buffer): New function. + (todo-modes-set-1): Use it as the buffer-local value of + revert-buffer-function. + +2014-11-29 Stephen Berman <stephen.berman@gmx.net> + + * calendar/todo-mode.el (todo-mode): If called interactively, just + display a message saying to call todo-show to enter Todo mode + (Bug#19112). + +2014-11-29 Dmitry Gutov <dgutov@yandex.ru> + + * vc/vc-hg.el (vc-hg-dir-status-files): Include ignored files. + (Bug#18579) + + * vc/vc-bzr.el (vc-bzr-after-dir-status): Don't skip ignored + files. (Bug#18579) + +2014-11-29 Michael Albinus <michael.albinus@gmx.de> + + * textmodes/makeinfo.el (makeinfo-buffer): Make it work also for + remote `buffer-file-name'. + +2014-11-29 Leo Liu <sdl.web@gmail.com> + + * calendar/diary-lib.el (calendar-mark-1): Fix thinko. + +2014-11-29 Fabián Ezequiel Gallina <fgallina@gnu.org> + + Set PYTHONUNBUFFERED on shell startup. + + * progmodes/python.el (python-shell-unbuffered): New var. + (python-shell-calculate-process-environment): Use it. + +2014-11-29 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-action-password): Clean password on subsequent + attempts even if there was no wrong password indication. (Bug#19047) + + * net/tramp-sh.el (tramp-get-remote-locale): Return "LC_ALL=C" as + fallback. + (tramp-open-connection-setup-interactive-shell): No need to check + for nil as `tramp-get-remote-locale' return value. + +2014-11-29 Eli Zaretskii <eliz@gnu.org> + + * vc/vc-git.el (vc-git-command, vc-git--call): Bind + coding-system-for-read and coding-system-for-write to + vc-git-commits-coding-system. + (vc-git-previous-revision): Use "~1" instead of "^", since the + latter is a special character for MS-Windows system shells. + +2014-11-29 Michael Albinus <michael.albinus@gmx.de> + + Improve XEmacs compatibility. + + * net/tramp.el (tramp-autoload-file-name-handler): + Wrap `temporary-file-directory' by `symbol-value', it doesn't + exist in XEmacs. + (tramp-read-passwd): Don't use `with-timeout-suspend' and + `with-timeout-unsuspend' if they don't exist, like in XEmacs. + (tramp-time-less-p, tramp-time-subtract): Remove functions. + (tramp-handle-file-newer-than-file-p, tramp-time-diff): + * net/tramp-adb.el (tramp-adb-ls-output-time-less-p): + * net/tramp-cache.el (tramp-get-file-property): + * net/tramp-smb.el (tramp-smb-handle-insert-directory): + Use `time-less-p' and `time-subtract, respectively. + + * net/tramp-adb.el (top): Do not require time-date.el. + + * net/tramp-compat.el (top): Require time-date.el for XEmacs. + + * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): + Check, whether `utf-8' is a valid coding system. + +2014-11-29 Eli Zaretskii <eliz@gnu.org> + + * vc/vc.el (vc-retrieve-tag): Doc fix. + 2014-11-28 Stefan Monnier <monnier@iro.umontreal.ca> * simple.el (execute-extended-command--shorter): Fix the "M-p" case @@ -4561,7 +4662,7 @@ (bug#17818). * mouse.el (mouse-drag-line): Don't re-add to unread-comment-events, - since it's already done inside the loop (bug#17819). + since it's already done inside the loop (bug#17819). 2014-06-21 Martin Rudalics <rudalics@gmx.at> @@ -5669,7 +5770,7 @@ * vc/emerge.el (emerge-make-temp-file): Simplify. 2014-05-14 Stephen Berman <stephen.berman@gmx.net> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * minibuffer.el (completion-pcm--merge-try): Merge trailing / with suffix (bug#15419). diff --git a/lisp/ChangeLog.12 b/lisp/ChangeLog.12 index 5699c90cb8..309fa14c02 100644 --- a/lisp/ChangeLog.12 +++ b/lisp/ChangeLog.12 @@ -32494,7 +32494,7 @@ (bibtex-field-list, bibtex-find-crossref): Fix typos in error messages. 2005-01-24 Dan Nicolaescu <dann@ics.uci.edu> - Juri Linkov <juri@jurta.org> + Juri Linkov <juri@jurta.org> * textmodes/reftex-global.el (reftex-isearch-push-state-function) (reftex-isearch-pop-state-function, reftex-isearch-isearch-search) diff --git a/lisp/ChangeLog.13 b/lisp/ChangeLog.13 index f6bdc4326e..e0adfdd2ce 100644 --- a/lisp/ChangeLog.13 +++ b/lisp/ChangeLog.13 @@ -3984,7 +3984,7 @@ * ibuffer.el (ibuffer-mode): Fix typo in previous change. 2008-01-17 Vinicius Jose Latorre <viniciusjl@ig.com.br> - Miles Bader <miles@gnu.org> + Miles Bader <miles@gnu.org> * blank-mode.el: New file. Minor mode to visualize (HARD) SPACE, TAB, NEWLINE. Miles Bader <miles@gnu.org> wrote the original code @@ -5480,7 +5480,7 @@ (verilog-insert-indices): Escape braces in doc strings. 2007-12-08 Michael McNamara <mac@verilog.com> - Wilson Snyder <wsnyder@wsnyder.org> + Wilson Snyder <wsnyder@wsnyder.org> * progmodes/verilog-mode.el: New file. @@ -13486,7 +13486,7 @@ Use native Emacs functions, when appropriate. 2007-08-01 Dan Nicolaescu <dann@ics.uci.edu> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * vc.el: Document new VC operation `extra-menu'. diff --git a/lisp/ChangeLog.14 b/lisp/ChangeLog.14 index 3c2a7ff7ee..3ca5d716bc 100644 --- a/lisp/ChangeLog.14 +++ b/lisp/ChangeLog.14 @@ -3016,12 +3016,12 @@ Don't activate node nil. (Bug#1569) 2009-01-22 Paul Reilly <pmr@pajato.com> - Henrik Enberg <enberg@printf.se> - Alex Schroeder <alex@gnu.org> - Chong Yidong <cyd@stupidchicken.com> - Richard M Stallman <rms@gnu.org> - Glenn Morris <rgm@gnu.org> - Juanma Barranquero <lekktu@gmail.com> + Henrik Enberg <enberg@printf.se> + Alex Schroeder <alex@gnu.org> + Chong Yidong <cyd@stupidchicken.com> + Richard M Stallman <rms@gnu.org> + Glenn Morris <rgm@gnu.org> + Juanma Barranquero <lekktu@gmail.com> * mail/rmail.el: Code implementing Rmail-mbox functionality. (rmail-attribute-header, rmail-keyword-header) @@ -4314,7 +4314,7 @@ was orderly adjusted, nil otherwise. 2008-12-12 Juanma Barranquero <lekktu@gmail.com> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * server.el (server-sentinel): Uncomment code to delete connection file. (server-start): Save the connection file in the server property list. @@ -4373,7 +4373,7 @@ terminal variable assignment. 2008-12-10 Yukihiro Matsumoto <matz@ruby-lang.org> - Nobuyoshi Nakada <nobu@ruby-lang.org> + Nobuyoshi Nakada <nobu@ruby-lang.org> * progmodes/ruby-mode.el: New file. @@ -5603,7 +5603,7 @@ New aliases, to satisfy `define-derived-mode' expectations. 2008-11-15 Glenn Morris <rgm@gnu.org> - Martin Rudalics <rudalics@gmx.at> + Martin Rudalics <rudalics@gmx.at> * emacs-lisp/find-func.el (find-function-advised-original): New. (find-function-C-source, find-function-noselect): @@ -10312,8 +10312,8 @@ (newsticker--treeview-propertize-tag): Show item title in tooltip. 2008-06-20 Martin Blais <blais@furius.ca> - Stefan Merten <smerten@oekonux.de> - David Goodger <goodger@python.org> + Stefan Merten <smerten@oekonux.de> + David Goodger <goodger@python.org> * textmodes/rst.el: New file. @@ -10631,7 +10631,7 @@ * term/linux.el (terminal-init-linux): Load t-mouse. 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca> - Drew Adams <drew.adams@oracle.com> + Drew Adams <drew.adams@oracle.com> * info.el (Info-breadcrumbs-depth): New var. (Info-insert-breadcrumbs): New function. @@ -18798,7 +18798,7 @@ for useful options. 2008-03-01 Dan Nicolaescu <dann@ics.uci.edu> - Glenn Morris <rgm@gnu.org> + Glenn Morris <rgm@gnu.org> * emacs-lisp/bytecomp.el (byte-recompile-directory) (byte-compile-file, batch-byte-compile, batch-byte-compile-file): diff --git a/lisp/ChangeLog.15 b/lisp/ChangeLog.15 index 9c793ff461..7589061c70 100644 --- a/lisp/ChangeLog.15 +++ b/lisp/ChangeLog.15 @@ -628,7 +628,7 @@ (global-auto-revert-ignore-buffer): Remove leading "*" from docs. 2011-02-19 Dmitry Bolshakov <dmitry.bolshakov@bridge-quest.com> - Dima Kogan <dkogan@cds.caltech.edu> (tiny change) + Dima Kogan <dkogan@cds.caltech.edu> (tiny change) * progmodes/hideshow.el (hs-find-block-beginning) (hs-hide-level-recursive): Ignore comments when parsing braces @@ -2970,7 +2970,7 @@ * loadup.el (symbol-file-load-history-loaded): Remove; unused. 2010-12-15 Jari Aalto <jari.aalto@cante.net> - Scott Evans <gse@antisleep.com> + Scott Evans <gse@antisleep.com> * rect.el (rectange--default-line-number-format) (rectangle-number-line-callback): New functions. @@ -7986,7 +7986,7 @@ * iswitchb.el (iswitchb-kill-buffer): Re-make the list. 2010-08-22 Kirk Kelsey <kirk.kelsey@0x4b.net> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * progmodes/make-mode.el (makefile-fill-paragraph): Account for the extra backslash added to each line (bug#6890). @@ -9002,7 +9002,7 @@ another buffer (e.g gnus-art). 2010-07-13 Karl Fogel <kfogel@red-bean.com> - Thierry Volpiatto <thierry.volpiatto@gmail.com> + Thierry Volpiatto <thierry.volpiatto@gmail.com> Preparation for setting bookmarks in Gnus article buffers (Bug#5975). @@ -10301,7 +10301,7 @@ (rcirc-user-name-history): Add variable. 2010-05-25 Ryan Yeske <rcyeske@gmail.com> - Jonathan Rockway <jon@jrock.us> + Jonathan Rockway <jon@jrock.us> * net/rcirc.el (rcirc-server-alist): Add :pass. (rcirc): When prompting for connection parameters, also prompt for @@ -10969,7 +10969,7 @@ * Version 23.2 released. 2010-05-07 Deniz Dogan <deniz.a.m.dogan@gmail.com> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> Highlight vendor specific properties. * textmodes/css-mode.el (css-proprietary-nmstart-re): New var. @@ -11162,7 +11162,7 @@ (filter-buffer-substring): Use it. Remove unused arg `noprops'. 2010-05-01 Toru TSUNEYOSHI <t_tuneyosi@hotmail.com> - Michael Albinus <michael.albinus@gmx.de> + Michael Albinus <michael.albinus@gmx.de> Implement compression for inline methods. @@ -12209,7 +12209,7 @@ values. 2010-03-29 Phil Hagelberg <phil@evri.com> - Chong Yidong <cyd@stupidchicken.com> + Chong Yidong <cyd@stupidchicken.com> * subr.el: Extend progress reporters to perform "spinning". (progress-reporter-update, progress-reporter-do-update): @@ -15603,7 +15603,7 @@ * Makefile.in (ELCFILES): Adapt to subword.el move. 2009-11-21 Thierry Volpiatto <thierry.volpiatto@gmail.com> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * bookmark.el (bookmark-bmenu-bookmark-column): Remove var. (bookmark-bmenu-list): Save name on `bookmark-name-prop' text-prop. @@ -19070,7 +19070,7 @@ indent buffer only if called interactively (Bug#4452). 2009-09-19 Juanma Barranquero <lekktu@gmail.com> - Eli Zaretskii <eliz@gnu.org> + Eli Zaretskii <eliz@gnu.org> This fixes bug#4197 (merged to bug#865, though not identical). * server.el (server-auth-dir): Add docstring note about FAT32. @@ -19887,7 +19887,7 @@ Don't call substitute-in-file-name on diary-file. 2009-09-03 Eduard Wiebe <usenet@pusto.de> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * mail/footnote.el (footnote-prefix): Make it a defcustom. (footnote-mode-map): Move initialization into the declaration. @@ -20998,7 +20998,7 @@ * progmodes/hideshow.el (hs-special-modes-alist): Add js-mode entry. 2009-08-14 Daniel Colascione <dan.colascione@gmail.com> - Karl Landstrom <karl.landstrom@brgeight.se> + Karl Landstrom <karl.landstrom@brgeight.se> * progmodes/js.el: New file. @@ -22765,7 +22765,7 @@ XZ is the successor to LZMA: <http://tukaani.org/xz/> 2009-06-22 Dmitry Dzhus <dima@sphinx.net.ru> - Nick Roberts <nickrob@snap.net.nz> + Nick Roberts <nickrob@snap.net.nz> * progmodes/gdb-mi.el: Pull further modified changes from Dmitry's repository (http://sphinx.net.ru/hg/gdb-mi/). diff --git a/lisp/ChangeLog.16 b/lisp/ChangeLog.16 index 42f3a3be66..0655684706 100644 --- a/lisp/ChangeLog.16 +++ b/lisp/ChangeLog.16 @@ -3340,7 +3340,7 @@ already registered with a different backend (Bug#10589). 2012-11-29 Jambunathan K <kjambunathan@gmail.com> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * icomplete.el: Change separator; add ido-style commands. (icomplete-show-key-bindings): Remove custom var. @@ -4571,7 +4571,7 @@ to `bookmark' (bug#11131). 2012-10-26 Bastien Guerry <bzg@altern.org> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * face-remap.el: Use lexical-binding. (text-scale-adjust): Improve docstring. Use itself for the temporary @@ -5879,7 +5879,7 @@ * international/uni-numeric.el: Regenerate. 2012-09-26 Tomohiro Matsuyama <tomo@cx4a.org> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * profiler.el: New file. diff --git a/lisp/ChangeLog.6 b/lisp/ChangeLog.6 index dc2722105f..c8e07b6536 100644 --- a/lisp/ChangeLog.6 +++ b/lisp/ChangeLog.6 @@ -3687,7 +3687,7 @@ When changing the environment, avoid need for setenv. 1996-01-05 Karl Eichwalder <ke@ke.Central.DE> - Karl Fogel <kfogel@floss.red-bean.com> + Karl Fogel <kfogel@floss.red-bean.com> * bookmark.el: "cyclic.com" addresses changed to "red-bean.com". (bookmark-bmenu-mode-map): Don't bind C-k. diff --git a/lisp/ChangeLog.7 b/lisp/ChangeLog.7 index 093f467163..7c55397028 100644 --- a/lisp/ChangeLog.7 +++ b/lisp/ChangeLog.7 @@ -2749,7 +2749,7 @@ * abbrev.el: Likewise. 1998-05-26 Emilio Lopes <Emilio.Lopes@Physik.TU-Muenchen.DE> - Karl Fogel <kfogel@red-bean.com> + Karl Fogel <kfogel@red-bean.com> * bookmark.el: Changes so bookmark list mode works with Info: (bookmark-jump-noselect): Use an inner save-window-excursion. @@ -23110,8 +23110,7 @@ See ChangeLog.6 for earlier changes. ;; coding: utf-8 ;; End: - Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, - Inc. + Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc. This file is part of GNU Emacs. diff --git a/lisp/calc/.gitignore b/lisp/calc/.gitignore deleted file mode 100644 index a46b68dccb..0000000000 --- a/lisp/calc/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.elc -calc-loaddefs.el diff --git a/lisp/calendar/.gitignore b/lisp/calendar/.gitignore deleted file mode 100644 index d0de296c6e..0000000000 --- a/lisp/calendar/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.elc -cal-loaddefs.el -diary-loaddefs.el -hol-loaddefs.el diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index 39ba6f4617..43f2ea4893 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el @@ -1586,8 +1586,7 @@ COLOR is passed to `calendar-mark-visible-date' as MARK." (setq date (calendar-gregorian-from-absolute (funcall toabs (list month day y))))) (calendar-mark-visible-date date color))))) - (calendar-mark-complex month day year - 'calendar-bahai-from-absolute color)))) + (calendar-mark-complex month day year fromabs color)))) (defun diary-entry-time (s) diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el index ab12ebc17f..3ba263f00e 100644 --- a/lisp/calendar/todo-mode.el +++ b/lisp/calendar/todo-mode.el @@ -5194,6 +5194,15 @@ Overrides `diary-goto-entry'." (add-function :override diary-goto-entry-function #'todo-diary-goto-entry) +(defun todo-revert-buffer (&optional ignore-auto noconfirm) + "Call `revert-buffer', preserving buffer's current modes. +Also preserve category display, if applicable." + (interactive (list (not current-prefix-arg))) + (let ((revert-buffer-function nil)) + (revert-buffer ignore-auto noconfirm 'preserve-modes) + (when (memq major-mode '(todo-mode todo-archive-mode)) + (todo-category-select)))) + (defun todo-desktop-save-buffer (_dir) `((catnum . ,(todo-category-number (todo-current-category))))) @@ -6540,6 +6549,7 @@ Added to `window-configuration-change-hook' in Todo mode." (defun todo-modes-set-1 () "Make some settings that apply to multiple Todo modes." (setq-local font-lock-defaults '(todo-font-lock-keywords t)) + (setq-local revert-buffer-function 'todo-revert-buffer) (setq-local tab-width todo-indent-to-here) (setq-local indent-line-function 'todo-indent) (when todo-wrap-lines @@ -6573,23 +6583,24 @@ Added to `window-configuration-change-hook' in Todo mode." "Major mode for displaying, navigating and editing todo lists. \\{todo-mode-map}" - ;; (easy-menu-add todo-menu) - (todo-modes-set-1) - (todo-modes-set-2) - (todo-modes-set-3) - ;; Initialize todo-current-todo-file. - (when (member (file-truename (buffer-file-name)) - (funcall todo-files-function)) - (setq-local todo-current-todo-file (file-truename (buffer-file-name)))) - (setq-local todo-show-done-only nil) - (setq-local todo-categories-with-marks nil) - ;; (add-hook 'find-file-hook 'todo-add-to-buffer-list nil t) - (add-hook 'post-command-hook 'todo-update-buffer-list nil t) - (when todo-show-current-file - (add-hook 'pre-command-hook 'todo-show-current-file nil t)) - (add-hook 'window-configuration-change-hook - 'todo-reset-and-enable-done-separator nil t) - (add-hook 'kill-buffer-hook 'todo-reset-global-current-todo-file nil t)) + (if (called-interactively-p 'any) + (message "Type `M-x todo-show' to enter Todo mode") + (todo-modes-set-1) + (todo-modes-set-2) + (todo-modes-set-3) + ;; Initialize todo-current-todo-file. + (when (member (file-truename (buffer-file-name)) + (funcall todo-files-function)) + (setq-local todo-current-todo-file (file-truename (buffer-file-name)))) + (setq-local todo-show-done-only nil) + (setq-local todo-categories-with-marks nil) + ;; (add-hook 'find-file-hook 'todo-add-to-buffer-list nil t) + (add-hook 'post-command-hook 'todo-update-buffer-list nil t) + (when todo-show-current-file + (add-hook 'pre-command-hook 'todo-show-current-file nil t)) + (add-hook 'window-configuration-change-hook + 'todo-reset-and-enable-done-separator nil t) + (add-hook 'kill-buffer-hook 'todo-reset-global-current-todo-file nil t))) (put 'todo-archive-mode 'mode-class 'special) diff --git a/lisp/cedet/.gitignore b/lisp/cedet/.gitignore deleted file mode 100644 index 976586eb53..0000000000 --- a/lisp/cedet/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -## Generated grammar files. -semantic/bovine/c-by.el -semantic/bovine/make-by.el -semantic/bovine/scm-by.el -semantic/wisent/javat-wy.el -semantic/wisent/js-wy.el -semantic/wisent/python-wy.el -srecode/srt-wy.el diff --git a/lisp/emulation/.gitignore b/lisp/emulation/.gitignore deleted file mode 100644 index c531d9867f..0000000000 --- a/lisp/emulation/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.elc diff --git a/lisp/erc/.gitignore b/lisp/erc/.gitignore deleted file mode 100644 index 7053c31013..0000000000 --- a/lisp/erc/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -{arch} -.arch-ids -*.elc diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index 2004de41d0..d4dee67143 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog @@ -106,7 +106,7 @@ (erc-channel-user): Add members for new modes. (erc-channel-member-halfop-p, erc-channel-user-admin-p) (erc-channel-user-owner-p): Use new struct members. - (erc-format-nick, erc-format-@nick): Display user modes as nick prefix. + (erc-format-nick, erc-format-@nick): Display user modes as nick prefix. (erc-nick-prefix-face, erc-my-nick-prefix-face): Add new faces (erc-get-user-mode-prefix): Return symbol for mode prefix. (erc-update-channel-member, erc-update-current-channel-member) diff --git a/lisp/erc/ChangeLog.02 b/lisp/erc/ChangeLog.02 index 77d4855abc..1b4a52c12e 100644 --- a/lisp/erc/ChangeLog.02 +++ b/lisp/erc/ChangeLog.02 @@ -2091,7 +2091,7 @@ * erc.el 2002-07-15T00:01:34Z!raeburn@raeburn.org: silly typo corrected - * erc.el: * erc.el: * New variable: erc-common-server-name-suffixes + * erc.el: New variable: erc-common-server-name-suffixes This alist can be used to change the server names displayed in mode-line to a shorter version.. * New function: erc-shorten-server-name (uses var above) diff --git a/lisp/erc/ChangeLog.03 b/lisp/erc/ChangeLog.03 index 5f04cf8ebe..029e29e472 100644 --- a/lisp/erc/ChangeLog.03 +++ b/lisp/erc/ChangeLog.03 @@ -323,7 +323,7 @@ * erc.el(erc-modules): Add some more symbols to the set - * erc.el(erc-modules): * erc.el(erc-modules): Add :greedy t to the set in + * erc.el(erc-modules): Add :greedy t to the set in * erc-dcc.el: More autoloads which make dcc autoload upon ctcp dcc query received. @@ -714,7 +714,7 @@ defcustom `erc-log-insert-log-on-open' defcustom `erc-generate-log-file-name-function' defun `erc-save-buffer-in-logs' (autoloads from erc-log.el) - defuns `erc-generate-log-file-name-*' + defuns `erc-generate-log-file-name-*' defun `erc-current-logfile' defun `erc-logging-enabled' (autoloads from erc-log.el) - erc-truncate-buffer-to-size: fix for double-saving bug when @@ -744,7 +744,7 @@ 2003-04-27 Damien Elmes <erc@repose.cx> - * erc.el: * erc.el: erc-modules: added + * erc.el: erc-modules: added 2003-04-27 Alex Schroeder <alex@gnu.org> @@ -1567,7 +1567,7 @@ * (erc-cmd-NAMES): Ditto. * (erc-cmd-ME): Put 'do-not-parse-args property. - * erc-dcc.el:nick: * erc-dcc.el: * erc-dcc-list: Renamed + * erc-dcc-list: Renamed * (erc-dcc-member). Treat :nick as either a nick!user@host or nick, do appropriate comparisons, simplified. * (erc-dcc-list-add): New functions @@ -1692,12 +1692,12 @@ 2003-01-11 Mario Lang <mlang@delysid.org> - * erc-dcc.el: * erc-dcc.el: * (erc-dcc-do-LIST-command): Fix + * erc-dcc.el (erc-dcc-do-LIST-command): Fix * erc-dcc.el: * buffer-local variables erc-dcc-sent-marker and erc-dcc-send-confirmed marker removed Keep This info in erc-dcc-member :sent and :confirmed plist values - * : * :buffer plist for :type 'SEND removed, since we can get this with (marker-buffer + :buffer plist for :type 'SEND removed, since we can get this with (marker-buffer * erc-dcc-send-connect-hook: New hook, defaults to erc-dcc-send-block and erc-dcc-send-connected, which now prints a msg... * erc-dcc.el: diff --git a/lisp/eshell/.gitignore b/lisp/eshell/.gitignore deleted file mode 100644 index 2abf84ba3e..0000000000 --- a/lisp/eshell/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -esh-groups.el - diff --git a/lisp/gnus/.gitignore b/lisp/gnus/.gitignore deleted file mode 100644 index c531d9867f..0000000000 --- a/lisp/gnus/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.elc diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 736cb4ee29..e2b26684c6 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,8 @@ +2014-11-29 John Mastro <john.b.mastro@gmail.com> (tiny change) + + * auth-source.el (auth-source-macos-keychain-search-items): Return + result of `auth-source-macos-keychain-result-append' (bug#19074). + 2014-11-27 Katsumi Yamaoka <yamaoka@jpl.org> * gnus-art.el (gnus-use-idna): diff --git a/lisp/gnus/ChangeLog.1 b/lisp/gnus/ChangeLog.1 index 540db9d291..4ed24cef07 100644 --- a/lisp/gnus/ChangeLog.1 +++ b/lisp/gnus/ChangeLog.1 @@ -386,11 +386,11 @@ * gnus-start.el (gnus-save-newsrc-file): Use coding system. -1980-06-08 Mike McEwan <mike@lotusland.demon.co.uk> +1998-08-18 Mike McEwan <mike@lotusland.demon.co.uk> * gnus-agent.el (gnus-agent-braid-nov): Go to right place. -1980-06-08 Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp> +1998-08-18 Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp> * gnus-group.el (gnus-group-suspend): Fix. @@ -638,7 +638,7 @@ 1998-08-09 Simon Josefsson <jas@pdc.kth.se> - * gnus-srvr.el (gnus-browse-make-menu-bar): select did read + * gnus-srvr.el (gnus-browse-make-menu-bar): select did read 1998-08-09 Lars Magne Ingebrigtsen <larsi@gnus.org> @@ -794,7 +794,7 @@ 1998-07-19 16:59 Simon Josefsson <jas@pdc.kth.se> - * gnus-util.el (gnus-netrc-syntax-table): @ is whitespace + * gnus-util.el (gnus-netrc-syntax-table): @ is whitespace 1998-07-17 Gordon Matzigkeit <gord@fig.org> @@ -972,7 +972,7 @@ 1998-07-01 Simon Josefsson <jas@pdc.kth.se> * gnus-int.el (gnus-get-function): returned non-nil when - function wasn't bound, if noerror=t + function wasn't bound, if noerror=t 1998-07-01 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> @@ -1260,8 +1260,8 @@ 1998-06-09 Sam Steingold <sds@goems.com> - * gnus-uu.el (gnus-uu-default-view-rules): make sed kill ^M only - at the end of line. + * gnus-uu.el (gnus-uu-default-view-rules): make sed kill ^M only + at the end of line. 1998-06-05 Hrvoje Niksic <hniksic@srce.hr> @@ -1798,7 +1798,7 @@ 1998-03-18 Simon Josefsson <jas@pdc.kth.se> - * nndoc.el: dummy request-accept-article + * nndoc.el: dummy request-accept-article 1998-03-19 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> @@ -2316,9 +2316,9 @@ 1998-01-17 Simon Josefsson <jas@pdc.kth.se> - * gnus-sum.el (gnus-summary-work-articles): change buffer - before looking at marked articles - (gnus-summary-work-articles): better check of marked articles + * gnus-sum.el (gnus-summary-work-articles): change buffer + before looking at marked articles + (gnus-summary-work-articles): better check of marked articles 1998-02-14 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> @@ -2607,7 +2607,7 @@ 1997-12-22 Simon Josefsson <jas@faun.nada.kth.se> - * nnmail.el (nnmail-get-new-mail): Make nnmail-tmp-directory + * nnmail.el (nnmail-get-new-mail): Make nnmail-tmp-directory 1997-12-28 Per Abrahamsen <abraham@dina.kvl.dk> diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2 index 37d1c1d9f7..e54cc153eb 100644 --- a/lisp/gnus/ChangeLog.2 +++ b/lisp/gnus/ChangeLog.2 @@ -15652,12 +15652,12 @@ * mm-util.el, message.el, rfc2047.el, gnus-sum.el, gnus-score.el: Sync with Emacs 21 (tag EMACS_PRETEST_21_0_100). -;;Has been fixed -- zsh. -;;2001-03-05 Dave Love <fx@gnu.org> -;; -;; * mm-util.el (mm-mime-mule-charset-alist): Fix utf-8 case. -;; Move it after definition of mm-coding-system-p. -;; + ;;Has been fixed -- zsh. + ;;2001-03-05 Dave Love <fx@gnu.org> + ;; + ;; * mm-util.el (mm-mime-mule-charset-alist): Fix utf-8 case. + ;; Move it after definition of mm-coding-system-p. + ;; 2001-03-01 Dave Love <fx@gnu.org> * mm-util.el (mm-inhibit-file-name-handlers): @@ -16129,9 +16129,9 @@ * mm-util.el (mm-multibyte-string-p): New. -;; * qp.el: Remove un-logged bogus changes from 2000-12-20. -;; (quoted-printable-encode-region): Doc fix. Don't call -;; string-as-multibyte on class. Clarify line-folding. + ;; * qp.el: Remove un-logged bogus changes from 2000-12-20. + ;; (quoted-printable-encode-region): Doc fix. Don't call + ;; string-as-multibyte on class. Clarify line-folding. (quoted-printable-encode-string): Make temp buffer inherit string's multibyteness. @@ -16972,10 +16972,10 @@ * nnlistserv.el: Ignore errors when requiring nnweb and avoid a compiler warning. -;2000-11-26 Dave Love <fx@gnu.org> -; -; * mm-uu.el (mm-uu-configure-list): Fix typo in :type. -; + ;2000-11-26 Dave Love <fx@gnu.org> + ; + ; * mm-uu.el (mm-uu-configure-list): Fix typo in :type. + ; 2000-11-23 Dave Love <fx@gnu.org> * uu-post.pbm, uu-decode.pbm: New files from XPMs. @@ -17008,7 +17008,7 @@ * gnus-art.el (gnus-mime-button-map): Don't inherit from gnus-article-mode-map. -; (gnus-mime-button-menu): Use mouse-set-point. + ; (gnus-mime-button-menu): Use mouse-set-point. (gnus-insert-mime-button, gnus-mime-display-alternative) (gnus-mime-display-alternative): Don't use local-map property. @@ -17072,9 +17072,9 @@ * time-date.el (timezone-make-date-arpa-standard): Autoload. (date-to-time): Use it. -; * message.el (message-mode) <adaptive-fill-regexp>: -; <adaptive-fill-first-line-regexp>: Use [:alnum:] in regexp range. -; (message-newline-and-reformat): Likewise. + ; * message.el (message-mode) <adaptive-fill-regexp>: + ; <adaptive-fill-first-line-regexp>: Use [:alnum:] in regexp range. + ; (message-newline-and-reformat): Likewise. (message-forward-as-mime, message-forward-ignored-headers) (message-buffer-naming-style, message-default-charset) (message-dont-reply-to-names, message-send-mail-partially-limit): @@ -17179,16 +17179,16 @@ (uudecode-char-int): New alias, replacing char-int. (uudecode-decode-region): Don't call buffer-disable-undo. -; * mm-uu.el (mm-uu-configure): Unquote lambda. -; (mm-uu-configure-list): Doc fix. -; -; * earcon.el (running-xemacs): Don't define. -; -;2000-11-03 Stefan Monnier <monnier@cs.yale.edu> -; -; * message.el (message-font-lock-keywords): Match a final newline -; to help font-lock's multiline support. -; + ; * mm-uu.el (mm-uu-configure): Unquote lambda. + ; (mm-uu-configure-list): Doc fix. + ; + ; * earcon.el (running-xemacs): Don't define. + ; + ;2000-11-03 Stefan Monnier <monnier@cs.yale.edu> + ; + ; * message.el (message-font-lock-keywords): Match a final newline + ; to help font-lock's multiline support. + ; 2000-11-03 Dave Love <fx@gnu.org> * gnus-nocem.el (gnus-nocem-check-article-limit): Default to 500. @@ -17202,10 +17202,10 @@ * mm-decode.el (mm-display-external): Space-prefix temp buffer name. Don't disable undo explicitly. -;2000-11-02 Dave Love <fx@gnu.org> -; -; * message.el (message-font-lock-keywords): Use [:alpha:] for -; cite-prefix. + ;2000-11-02 Dave Love <fx@gnu.org> + ; + ; * message.el (message-font-lock-keywords): Use [:alpha:] for + ; cite-prefix. 2000-11-01 Dave Love <fx@gnu.org> diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el index 2efb16b861..a2a3b4fa25 100644 --- a/lisp/gnus/auth-source.el +++ b/lisp/gnus/auth-source.el @@ -1787,29 +1787,29 @@ entries for git.gnus.org: (while (not (eobp)) (cond ((looking-at "^password: \"\\(.+\\)\"$") - (auth-source-macos-keychain-result-append - ret - keychain-generic - "secret" - (lexical-let ((v (match-string 1))) - (lambda () v)))) + (setq ret (auth-source-macos-keychain-result-append + ret + keychain-generic + "secret" + (lexical-let ((v (match-string 1))) + (lambda () v))))) ;; TODO: check if this is really the label ;; match 0x00000007 <blob>="AppleID" ((looking-at "^[ ]+0x00000007 <blob>=\"\\(.+\\)\"") - (auth-source-macos-keychain-result-append - ret - keychain-generic - "label" - (match-string 1))) + (setq ret (auth-source-macos-keychain-result-append + ret + keychain-generic + "label" + (match-string 1)))) ;; match "crtr"<uint32>="aapl" ;; match "svce"<blob>="AppleID" ((looking-at "^[ ]+\"\\([a-z]+\\)\"[^=]+=\"\\(.+\\)\"") - (auth-source-macos-keychain-result-append - ret - keychain-generic - (match-string 1) - (match-string 2)))) - (forward-line))) + (setq ret (auth-source-macos-keychain-result-append + ret + keychain-generic + (match-string 1) + (match-string 2))))) + (forward-line))) ;; return `ret' iff it has the :secret key (and (plist-get ret :secret) (list ret)))) diff --git a/lisp/international/.gitignore b/lisp/international/.gitignore deleted file mode 100644 index 161b312597..0000000000 --- a/lisp/international/.gitignore +++ /dev/null @@ -1,16 +0,0 @@ -# Generated Unicode files. -charprop.el -uni-bidi.el -uni-category.el -uni-combining.el -uni-comment.el -uni-decimal.el -uni-decomposition.el -uni-digit.el -uni-lowercase.el -uni-mirrored.el -uni-name.el -uni-numeric.el -uni-old-name.el -uni-titlecase.el -uni-uppercase.el diff --git a/lisp/language/.gitignore b/lisp/language/.gitignore deleted file mode 100644 index c531d9867f..0000000000 --- a/lisp/language/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.elc diff --git a/lisp/leim/.gitignore b/lisp/leim/.gitignore deleted file mode 100644 index 57b77bad9c..0000000000 --- a/lisp/leim/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -ja-dic/ -leim-list.el diff --git a/lisp/leim/quail/.gitignore b/lisp/leim/quail/.gitignore deleted file mode 100644 index c3f9e36f0d..0000000000 --- a/lisp/leim/quail/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -4Corner.el -ARRAY30.el -CCDOSPY.el -CTLau-b5.el -CTLau.el -ECDICT.el -ETZY.el -PY-b5.el -PY.el -Punct-b5.el -Punct.el -QJ-b5.el -QJ.el -SW.el -TONEPY.el -ZIRANMA.el -ZOZY.el -quick-b5.el -quick-cns.el -tsang-b5.el -tsang-cns.el - diff --git a/lisp/mail/.gitignore b/lisp/mail/.gitignore deleted file mode 100644 index c531d9867f..0000000000 --- a/lisp/mail/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.elc diff --git a/lisp/mh-e/.gitignore b/lisp/mh-e/.gitignore deleted file mode 100644 index 2e5b1740f1..0000000000 --- a/lisp/mh-e/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -mh-autoloads.el -mh-cus-load.el -mh-loaddefs.el diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index 242c8f0e07..d94cb99a8c 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -2,7 +2,7 @@ * Merge in all changes up to 24.4 release. -2014-09-30 Bill Wohler <wohler@newt.com> +2014-09-30 Bill Wohler <wohler@newt.com> Release MH-E version 8.6. diff --git a/lisp/net/.gitignore b/lisp/net/.gitignore deleted file mode 100644 index c531d9867f..0000000000 --- a/lisp/net/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.elc diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el index 2401b4af47..1695631d1a 100644 --- a/lisp/net/tramp-adb.el +++ b/lisp/net/tramp-adb.el @@ -34,7 +34,6 @@ ;;; Code: (require 'tramp) -(require 'time-date) ;; Pacify byte-compiler. (defvar directory-sep-char) @@ -468,7 +467,7 @@ Emacs dired can't find files." (setq time-a (apply 'encode-time (parse-time-string (match-string 0 a)))) (string-match tramp-adb-ls-date-regexp b) (setq time-b (apply 'encode-time (parse-time-string (match-string 0 b)))) - (tramp-time-less-p time-b time-a))) + (time-less-p time-b time-a))) (defun tramp-adb-ls-output-name-less-p (a b) "Sort \"ls\" output by name, ascending." diff --git a/lisp/net/tramp-cache.el b/lisp/net/tramp-cache.el index a6b7500433..50c8e249fe 100644 --- a/lisp/net/tramp-cache.el +++ b/lisp/net/tramp-cache.el @@ -136,7 +136,7 @@ Returns DEFAULT if not set." (tramp-time-diff (current-time) (car value)) remote-file-name-inhibit-cache)) (and (consp remote-file-name-inhibit-cache) - (tramp-time-less-p + (time-less-p remote-file-name-inhibit-cache (car value))))) (setq value (cdr value)) (setq value default)) diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el index cd336ec61b..de63d8c7c7 100644 --- a/lisp/net/tramp-compat.el +++ b/lisp/net/tramp-compat.el @@ -44,7 +44,8 @@ (require 'outline) (require 'passwd) (require 'pp) - (require 'regexp-opt)) + (require 'regexp-opt) + (require 'time-date)) (require 'advice) (require 'custom) diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 8d7e046126..c564988d37 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -3992,9 +3992,9 @@ process to set up. VEC specifies the connection." (if (featurep 'mule) ;; Use MULE to select the right EOL convention for communicating ;; with the process. - (let ((cs (or (when (string-match - "utf8" (or (tramp-get-remote-locale vec) "")) - (cons 'utf-8 'utf-8)) + (let ((cs (or (and (memq 'utf-8 (coding-system-list)) + (string-match "utf8" (tramp-get-remote-locale vec)) + (cons 'utf-8 'utf-8)) (tramp-compat-funcall 'process-coding-system proc) (cons 'undecided 'undecided))) cs-decode cs-encode) @@ -4100,8 +4100,7 @@ process to set up. VEC specifies the connection." ;; Set the environment. (tramp-message vec 5 "Setting default environment") - (let ((env (append (when (tramp-get-remote-locale vec) ; Discard `(nil)'. - `(,(tramp-get-remote-locale vec))) + (let ((env (append `(,(tramp-get-remote-locale vec)) (copy-sequence tramp-remote-process-environment))) unset vars item) (while env @@ -5097,7 +5096,7 @@ Return ATTR." (defun tramp-get-remote-locale (vec) (with-tramp-connection-property vec "locale" (tramp-send-command vec "locale -a") - (let ((candidates '("en_US.utf8" "C.utf8" "C")) + (let ((candidates '("en_US.utf8" "C.utf8")) locale) (with-current-buffer (tramp-get-connection-buffer vec) (while candidates @@ -5107,7 +5106,7 @@ Return ATTR." candidates nil) (setq candidates (cdr candidates))))) ;; Return value. - (when locale (format "LC_ALL=%s" locale))))) + (format "LC_ALL=%s" (or locale "C"))))) (defun tramp-get-ls-command (vec) (with-tramp-connection-property vec "ls" diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index 15ae9ed6fa..3d48f47e58 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -976,7 +976,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored." (lambda (x y) (if (string-match "t" switches) ;; Sort by date. - (tramp-time-less-p (nth 3 y) (nth 3 x)) + (time-less-p (nth 3 y) (nth 3 x)) ;; Sort by name. (string-lessp (nth 0 x) (nth 0 y)))))) @@ -1010,8 +1010,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored." (or (nth 3 attr) "nogroup") ; gid (or (nth 7 attr) (nth 2 x)) ; size (format-time-string - (if (tramp-time-less-p - (tramp-time-subtract (current-time) (nth 3 x)) + (if (time-less-p (time-subtract (current-time) (nth 3 x)) tramp-half-a-year) "%b %e %R" "%b %e %Y") diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 01cd819116..fc9950d4a6 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -2253,8 +2253,9 @@ Falls back to normal file name handler if no Tramp file name handler exists." ;;;###autoload (progn (defun tramp-autoload-file-name-handler (operation &rest args) "Load Tramp file name handler, and perform OPERATION." - ;; Avoid recursive loading of tramp.el. - (let ((default-directory temporary-file-directory)) + ;; Avoid recursive loading of tramp.el. `temporary-file-directory' + ;; does not exist in XEmacs, so we must use something else. + (let ((default-directory (or (symbol-value 'temporary-file-directory) "/"))) (load "tramp" nil t)) (apply operation args))) @@ -2968,8 +2969,8 @@ User is always nil." (cond ((not (file-exists-p file1)) nil) ((not (file-exists-p file2)) t) - (t (tramp-time-less-p (nth 5 (file-attributes file2)) - (nth 5 (file-attributes file1)))))) + (t (time-less-p (nth 5 (file-attributes file2)) + (nth 5 (file-attributes file1)))))) (defun tramp-handle-file-regular-p (filename) "Like `file-regular-p' for Tramp files." @@ -3444,9 +3445,9 @@ of." ;; Let's check whether a wrong password has been sent already. ;; Sometimes, the process returns a new password request ;; immediately after rejecting the previous (wrong) one. - (goto-char (point-min)) - (when (search-forward-regexp tramp-wrong-passwd-regexp nil t) + (unless (tramp-get-connection-property vec "first-password-request" nil) (tramp-clear-passwd vec)) + (goto-char (point-min)) (tramp-check-for-regexp proc tramp-password-prompt-regexp) (tramp-message vec 3 "Sending %s" (match-string 1)) ;; We don't call `tramp-send-string' in order to hide the @@ -4171,7 +4172,8 @@ Invokes `password-read' if available, `read-passwd' else." (tramp-check-for-regexp proc tramp-password-prompt-regexp) (format "%s for %s " (capitalize (match-string 1)) key)))) ;; We suspend the timers while reading the password. - (stimers (with-timeout-suspend)) + (stimers (and (functionp 'with-timeout-suspend) + (tramp-compat-funcall 'with-timeout-suspend))) auth-info auth-passwd) (unwind-protect @@ -4211,7 +4213,8 @@ Invokes `password-read' if available, `read-passwd' else." (read-passwd pw-prompt)) (tramp-set-connection-property v "first-password-request" nil))) ;; Reenable the timers. - (with-timeout-unsuspend stimers)))) + (and (functionp 'with-timeout-unsuspend) + (tramp-compat-funcall 'with-timeout-unsuspend stimers))))) ;;;###tramp-autoload (defun tramp-clear-passwd (vec) @@ -4237,16 +4240,6 @@ Invokes `password-read' if available, `read-passwd' else." "Alist mapping month names to integers.") ;;;###tramp-autoload -(defun tramp-time-less-p (t1 t2) - "Say whether time value T1 is less than time value T2." - (time-less-p (or t1 0) (or t2 0))) - -(defun tramp-time-subtract (t1 t2) - "Subtract two time values. -Return the difference in the format of a time value." - (time-subtract (or t1 0) (or t2 0))) - -;;;###tramp-autoload (defun tramp-time-diff (t1 t2) "Return the difference between the two times, in seconds. T1 and T2 are time values (as returned by `current-time' for example)." @@ -4264,7 +4257,7 @@ T1 and T2 are time values (as returned by `current-time' for example)." (if (< (length t1) 3) (append t1 '(0)) t1) (if (< (length t2) 3) (append t2 '(0)) t2))) (t - (let ((time (tramp-time-subtract t1 t2))) + (let ((time (time-subtract t1 t2))) (+ (* (car time) 65536.0) (cadr time) (/ (or (nth 2 time) 0) 1000000.0)))))) diff --git a/lisp/nxml/.gitignore b/lisp/nxml/.gitignore deleted file mode 100644 index f18ed02a93..0000000000 --- a/lisp/nxml/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.elc -subdirs.el diff --git a/lisp/obsolete/.gitignore b/lisp/obsolete/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 --- a/lisp/obsolete/.gitignore +++ /dev/null diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index 0f50e57417..acb8470bf8 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog @@ -25397,7 +25397,7 @@ (org-ascii-replace-entities): New function. 2010-04-10 Carsten Dominik <carsten.dominik@gmail.com> - Ulf Stegemann <ulf@zeitform.de> + Ulf Stegemann <ulf@zeitform.de> * org-entities.el: New file. diff --git a/lisp/outline.el b/lisp/outline.el index c7cad31f57..61ee7ff0f9 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -649,27 +649,32 @@ the match data is set appropriately." 'outline-get-last-sibling)) (ins-point (make-marker)) (cnt (abs arg)) + ;; Make sure we can move forward to find the end of the + ;; subtree and the insertion point. + (maybe-forward-char (lambda () + (if (eq (char-after) ?\n) (forward-char 1) + (if (and (eobp) (not (bolp))) (insert "\n"))))) beg end folded) - ;; Select the tree + ;; Select the tree. (outline-back-to-heading) (setq beg (point)) (save-match-data (save-excursion (outline-end-of-heading) (setq folded (outline-invisible-p))) (outline-end-of-subtree)) - (if (= (char-after) ?\n) (forward-char 1)) + (funcall maybe-forward-char) (setq end (point)) - ;; Find insertion point, with error handling + ;; Find insertion point, with error handling. (goto-char beg) (while (> cnt 0) (or (funcall movfunc) (progn (goto-char beg) - (error "Cannot move past superior level"))) + (user-error "Cannot move past superior level"))) (setq cnt (1- cnt))) (if (> arg 0) - ;; Moving forward - still need to move over subtree + ;; Moving forward - still need to move over subtree. (progn (outline-end-of-subtree) - (if (= (char-after) ?\n) (forward-char 1)))) + (funcall maybe-forward-char))) (move-marker ins-point (point)) (insert (delete-and-extract-region beg end)) (goto-char ins-point) diff --git a/lisp/play/.gitignore b/lisp/play/.gitignore deleted file mode 100644 index c531d9867f..0000000000 --- a/lisp/play/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.elc diff --git a/lisp/progmodes/.gitignore b/lisp/progmodes/.gitignore deleted file mode 100644 index c531d9867f..0000000000 --- a/lisp/progmodes/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.elc diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 9680a4aa9d..b99e195f40 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -94,13 +94,13 @@ ;; python-shell-interpreter-args ;; "-i C:\\Python27\\Scripts\\ipython-script.py") -;; If you are experiencing missing or delayed output in your shells, -;; that's likely caused by your Operating System's pipe buffering -;; (e.g. this is known to happen running CPython 3.3.4 in Windows 7. +;; Missing or delayed output used to happen due to differences between +;; Operating Systems' pipe buffering (e.g. CPython 3.3.4 in Windows 7. ;; See URL `http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17304'). To -;; fix this, using CPython's "-u" commandline argument or setting the -;; "PYTHONUNBUFFERED" environment variable should help: See URL -;; `https://docs.python.org/3/using/cmdline.html#cmdoption-u'. +;; avoid this, the `python-shell-unbuffered' defaults to non-nil and +;; controls whether `python-shell-calculate-process-environment' +;; should set the "PYTHONUNBUFFERED" environment variable on startup: +;; See URL `https://docs.python.org/3/using/cmdline.html#cmdoption-u'. ;; The interaction relies upon having prompts for input (e.g. ">>> " ;; and "... " in standard Python shell) and output (e.g. "Out[1]: " in @@ -1824,6 +1824,14 @@ Restart the Python shell after changing this variable for it to take effect." :group 'python :safe 'booleanp) +(defcustom python-shell-unbuffered t + "Should shell output be unbuffered?. +When non-nil, this may prevent delayed and missing output in the +Python shell. See commentary for details." + :type 'boolean + :group 'python + :safe 'booleanp) + (defcustom python-shell-process-environment nil "List of environment variables for Python shell. This variable follows the same rules as `process-environment' @@ -2116,6 +2124,8 @@ uniqueness for different types of configurations." (virtualenv (if python-shell-virtualenv-root (directory-file-name python-shell-virtualenv-root) nil))) + (when python-shell-unbuffered + (setenv "PYTHONUNBUFFERED" "1")) (when python-shell-extra-pythonpaths (setenv "PYTHONPATH" (python-shell-calculate-pythonpath))) (if (not virtualenv) @@ -2849,25 +2859,30 @@ This function takes the list of setup code to send from the (defcustom python-shell-completion-setup-code "try: - import readline, rlcompleter + import __builtin__ except ImportError: + # Python 3 + import builtins as __builtin__ +try: + import readline, rlcompleter +except: def __PYTHON_EL_get_completions(text): return [] else: def __PYTHON_EL_get_completions(text): + builtins = dir(__builtin__) completions = [] try: splits = text.split() is_module = splits and splits[0] in ('from', 'import') - is_ipython = getattr( - __builtins__, '__IPYTHON__', - getattr(__builtins__, '__IPYTHON__active', False)) + is_ipython = ('__IPYTHON__' in builtins or + '__IPYTHON__active' in builtins) if is_module: from IPython.core.completerlib import module_completion completions = module_completion(text.strip()) - elif is_ipython and getattr(__builtins__, '__IP', None): + elif is_ipython and '__IP' in builtins: completions = __IP.complete(text) - elif is_ipython and getattr(__builtins__, 'get_ipython', None): + elif is_ipython and 'get_ipython' in builtins: completions = get_ipython().Completer.all_completions(text) else: i = 0 diff --git a/lisp/term/.gitignore b/lisp/term/.gitignore deleted file mode 100644 index c531d9867f..0000000000 --- a/lisp/term/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.elc diff --git a/lisp/textmodes/.gitignore b/lisp/textmodes/.gitignore deleted file mode 100644 index c531d9867f..0000000000 --- a/lisp/textmodes/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.elc diff --git a/lisp/textmodes/makeinfo.el b/lisp/textmodes/makeinfo.el index b97c6325bf..3c8bc42cc1 100644 --- a/lisp/textmodes/makeinfo.el +++ b/lisp/textmodes/makeinfo.el @@ -253,11 +253,12 @@ Use the \\[next-error] command to move to the next error (setq makeinfo-output-node-name (makeinfo-current-node)) (save-excursion - (makeinfo-compile - (concat makeinfo-run-command " " makeinfo-options - " " buffer-file-name) - nil - 'makeinfo-compilation-sentinel-buffer))) + (let ((default-directory (file-name-directory buffer-file-name))) + (makeinfo-compile + (concat makeinfo-run-command " " makeinfo-options + " " (file-name-nondirectory buffer-file-name)) + nil + 'makeinfo-compilation-sentinel-buffer)))) (defun makeinfo-compilation-sentinel-buffer (proc msg) "Sentinel for `makeinfo-compile' run from `makeinfo-buffer'." diff --git a/lisp/url/.gitignore b/lisp/url/.gitignore deleted file mode 100644 index 362a9c89b7..0000000000 --- a/lisp/url/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -Makefile -auto-autoloads.el -custom-load.el -url-auto.el diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el index 471c4799ca..7a1539bb7e 100644 --- a/lisp/vc/vc-bzr.el +++ b/lisp/vc/vc-bzr.el @@ -981,7 +981,7 @@ stream. Standard error output is discarded." (push (list new-name 'edited (vc-bzr-create-extra-fileinfo old-name)) result))) ;; do nothing for non existent files - ((memq translated '(not-found ignored))) + ((eq translated 'not-found)) (t (push (list (file-relative-name (buffer-substring-no-properties diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index 75098904f3..3a94313243 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -1084,7 +1084,11 @@ or BRANCH^ (where \"^\" can be repeated)." (point) (1- (point-max))))))) (or (vc-git-symbolic-commit prev-rev) prev-rev)) - (vc-git--rev-parse (concat rev "^")))) + ;; We used to use "^" here, but that fails on MS-Windows if git is + ;; invoked via a batch file, in which case cmd.exe strips the "^" + ;; because it is a special character for cmd which process-file + ;; does not (and cannot) quote. + (vc-git--rev-parse (concat rev "~1")))) (defun vc-git--rev-parse (rev) (with-temp-buffer @@ -1306,16 +1310,18 @@ This command shares argument histories with \\[rgrep] and \\[grep]." "A wrapper around `vc-do-command' for use in vc-git.el. The difference to vc-do-command is that this function always invokes `vc-git-program'." - (apply 'vc-do-command (or buffer "*vc*") okstatus vc-git-program - ;; http://debbugs.gnu.org/16897 - (unless (and (not (cdr-safe file-or-list)) - (let ((file (or (car-safe file-or-list) - file-or-list))) - (and file - (eq ?/ (aref file (1- (length file)))) - (equal file (vc-git-root file))))) - file-or-list) - (cons "--no-pager" flags))) + (let ((coding-system-for-read vc-git-commits-coding-system) + (coding-system-for-write vc-git-commits-coding-system)) + (apply 'vc-do-command (or buffer "*vc*") okstatus vc-git-program + ;; http://debbugs.gnu.org/16897 + (unless (and (not (cdr-safe file-or-list)) + (let ((file (or (car-safe file-or-list) + file-or-list))) + (and file + (eq ?/ (aref file (1- (length file)))) + (equal file (vc-git-root file))))) + file-or-list) + (cons "--no-pager" flags)))) (defun vc-git--empty-db-p () "Check if the git db is empty (no commit done yet)." @@ -1328,6 +1334,8 @@ The difference to vc-do-command is that this function always invokes ;; directories. We enable `inhibit-null-byte-detection', otherwise ;; Tramp's eol conversion might be confused. (let ((inhibit-null-byte-detection t) + (coding-system-for-read vc-git-commits-coding-system) + (coding-system-for-write vc-git-commits-coding-system) (process-environment (cons "PAGER=" process-environment))) (apply 'process-file vc-git-program nil buffer nil command args))) diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index 62d0bb5ba5..d8cda912b6 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el @@ -639,7 +639,7 @@ REV is the revision to check out into WORKFILE." (vc-hg-after-dir-status update-function))) (defun vc-hg-dir-status-files (dir files _default-state update-function) - (apply 'vc-hg-command (current-buffer) 'async dir "status" "-C" files) + (apply 'vc-hg-command (current-buffer) 'async dir "status" "-mardui" "-C" files) (vc-run-delayed (vc-hg-after-dir-status update-function))) diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index aa9337ccf3..bee1644472 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -2161,8 +2161,12 @@ checked out in that new branch." ;;;###autoload (defun vc-retrieve-tag (dir name) - "Descending recursively from DIR, retrieve the tag called NAME. -If NAME is empty, it refers to the latest revisions. + "For each file in or below DIR, retrieve their tagged version NAME. +NAME can name a branch, in which case this command will switch to the +named branch in the directory DIR. +Interactively, prompt for DIR only for VCS that works at file level; +otherwise use the default directory of the current buffer. +If NAME is empty, it refers to the latest revisions of the current branch. If locking is used for the files in DIR, then there must not be any locked files at or below DIR (but if NAME is empty, locked files are allowed and simply skipped)." diff --git a/nt/.gitignore b/nt/.gitignore deleted file mode 100644 index 4e2fa24e12..0000000000 --- a/nt/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -config.log -stamp_BLD - -oo/ -oo-spd/ diff --git a/nt/ChangeLog b/nt/ChangeLog index ae292add9c..6f90562752 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1862,7 +1862,7 @@ * config.nt (HAVE_FACES): Remove, unused. 2008-06-26 Juanma Barranquero <lekktu@gmail.com> - Eli Zaretskii <eliz@gnu.org> + Eli Zaretskii <eliz@gnu.org> * nmake.defs (FONT_CFLAGS): * gmake.defs (FONT_CFLAGS): Remove. @@ -1878,7 +1878,7 @@ * config.nt: Remove reference to UNEXEC_SRC. 2008-06-23 Juanma Barranquero <lekktu@gmail.com> - Eli Zaretskii <eliz@gnu.org> + Eli Zaretskii <eliz@gnu.org> * gmake.defs (DEBUG_FLAG, DEBUG_LINK) [!NODEBUG]: Don't hardcode -gstabs+, use DEBUG_INFO. diff --git a/src/.gitignore b/src/.gitignore deleted file mode 100644 index 0942abfb44..0000000000 --- a/src/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -buildobj.h -config.h -emacs-[1-9]* -epaths.h -stamp_BLD -stamp-h.in - -oo/ -oo-spd/ diff --git a/src/ChangeLog b/src/ChangeLog index dcb4666e10..ed111bf381 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,26 @@ +2014-11-29 Eli Zaretskii <eliz@gnu.org> + + * xdisp.c (handle_single_display_spec): When ignoring a fringe + bitmap display, reset the ignore_overlay_strings_at_pos_p flag. + (next_element_from_buffer): When done with overlays, reset the + ignore_overlay_strings_at_pos_p flag. (Bug#19201) + +2014-11-29 Eli Zaretskii <eliz@gnu.org> + + * w32fns.c (Fw32_shell_execute): Convert forward slashes in + DOCUMENT to backslashes, if DOCUMENT is a file. (Bug#19141) + +2014-11-29 Ulrich Müller <ulm@gentoo.org> + + * Makefile.in (temacs$(EXEEXT)): Use consistent flag settings + for paxctl and setfattr. Fixes temacs startup failure with + grsecurity/PaX enabled Linux kernel (bug#19067). + +2014-11-29 Ulf Jasper <ulf.jasper@web.de> + + * nsterm.m (ns_send_appdefined): Check for application defined + event on Cocoa (Bug#18993). Backport from trunk. + 2014-11-27 Oscar Fuentes <ofv@wanadoo.es> * src/w32.c: Use MINGW_W64 instead of _W64. diff --git a/src/ChangeLog.11 b/src/ChangeLog.11 index fc6ff1fda6..100b0cbe71 100644 --- a/src/ChangeLog.11 +++ b/src/ChangeLog.11 @@ -4200,7 +4200,7 @@ (record_property_change, Fprimitive_undo): Adjust prototypes. 2010-09-22 Juanma Barranquero <lekktu@gmail.com> - Eli Zaretskii <eliz@gnu.org> + Eli Zaretskii <eliz@gnu.org> * w32.c (get_emacs_configuration_options): Fix buffer overrun. @@ -6753,7 +6753,7 @@ to standard C. 2010-07-04 Tetsurou Okazaki <okazaki@be.to> (tiny change) - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * lread.c (read1): Fix up last change to not mess up `c'. @@ -8069,7 +8069,7 @@ can specify the frame to use, when applicable. Adjust callers. 2010-05-07 Vincent Belaïche <vincent.belaiche@gmail.com> - Stefan Monnier <monnier@iro.umontreal.ca> + Stefan Monnier <monnier@iro.umontreal.ca> * floatfns.c (Fisnan, Fcopysign, Ffrexp, Fldexp): New functions. @@ -8697,7 +8697,7 @@ (Frename_file): Preserve selinux context when renaming by copy-file. 2010-04-21 Juanma Barranquero <lekktu@gmail.com> - Eli Zaretskii <eliz@gnu.org> + Eli Zaretskii <eliz@gnu.org> Don't depend on cm.c or termcap.c on Windows, use stubs. * makefile.w32-in (OBJ1): Remove cm.$(O) and termcap.$(O). @@ -16878,7 +16878,7 @@ <after-change-functions>: Reflow docstrings. 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com> - Ken Raeburn <raeburn@gnu.org> + Ken Raeburn <raeburn@gnu.org> Dock menu customization, based on a patch by Ken Raeburn, plus some other fixes. @@ -17943,7 +17943,7 @@ batch-compiling for bootstrap). 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change) - YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> * frame.c (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case -- fix crash due to different init order. @@ -18561,7 +18561,7 @@ (USG_SHARED_LIBRARIES): Remove duplicate definition. 2008-06-26 Juanma Barranquero <lekktu@gmail.com> - Eli Zaretskii <eliz@gnu.org> + Eli Zaretskii <eliz@gnu.org> * makefile.w32-in (LOCAL_FLAGS): Don't include WINDOWSNT, DOS_NT and _UCHAR_T. @@ -18809,7 +18809,7 @@ the property of LFACE_FONT of LFACE (if any). 2008-06-21 Seiji Zenitani <zenitani@mac.com> - Ryo Yoshitake <ryo@shiftmode.net> + Ryo Yoshitake <ryo@shiftmode.net> * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437. @@ -19905,7 +19905,7 @@ * xterm.c (x_set_frame_alpha): Move declarations before statements. 2008-05-21 Seiji Zenitani <zenitani@mac.com> - Ryo Yoshitake <ryo@shiftmode.net> + Ryo Yoshitake <ryo@shiftmode.net> * frame.c (Qalpha): Add a new frame parameter `alpha'. (Vframe_alpha_lower_limit): New variable. diff --git a/src/ChangeLog.2 b/src/ChangeLog.2 index c852328d61..f8fc9b1c81 100644 --- a/src/ChangeLog.2 +++ b/src/ChangeLog.2 @@ -2508,7 +2508,7 @@ If `suspend-emacs-hook' returns t don't suspend -- assume the hook did the equivalent of `suspending' for us (including calling suspend-resume-hook if necessary.) - Otherwise, call sys_suspend and so forth normally. + Otherwise, call sys_suspend and so forth normally. 1986-12-20 Richard M. Stallman (rms@prep) @@ -4050,7 +4050,7 @@ 1986-08-21 Richard Mlynarik (mly@prep) - * process.c (handle_process_output): + * process.c (handle_process_output): do a set-buffer back to original buffer after calling a process' filter function so that all filter functions needn't save-excursion. @@ -4221,7 +4221,7 @@ * unexec.c (write_segment): Kludgy coercions ("(int)") to get this line to compile: - nwrite = (((int) ptr + 128) & ~127) - (int) ptr; + nwrite = (((int) ptr + 128) & ~127) - (int) ptr; Also changed incorrect ~128 to ~127. * process.c: diff --git a/src/ChangeLog.5 b/src/ChangeLog.5 index dcb7f668b1..1de7775c46 100644 --- a/src/ChangeLog.5 +++ b/src/ChangeLog.5 @@ -473,10 +473,10 @@ 1995-05-28 Morten Welinder <terra+@cs.cmu.edu> - * s/osf1.h (COFF): Define. - * m/alpha.h (LD_SWITCH_MACHINE) [!__GNUC__]: Don't define. - (r_alloc, r_re_alloc, r_alloc_free) [REL_ALLOC, - !_MALLOC_INTERNAL, !NOT_C_CODE]: Prototype. + * s/osf1.h (COFF): Define. + * m/alpha.h (LD_SWITCH_MACHINE) [!__GNUC__]: Don't define. + (r_alloc, r_re_alloc, r_alloc_free) [REL_ALLOC, + !_MALLOC_INTERNAL, !NOT_C_CODE]: Prototype. 1995-05-28 Richard Stallman <rms@gnu.ai.mit.edu> @@ -1281,18 +1281,18 @@ * ntinevt.c (nt_kdb_patch_event): Created. - * callproc.c (child_setup) [WINDOWSNT]: Removed syntax errors. + * callproc.c (child_setup) [WINDOWSNT]: Removed syntax errors. * dired.c (Ffile_attributes) [WINDOWSNT]: Removed syntax errors. * fileio.c (Fexpand_file_name) [DOS_NT]: Preserve drive letter case. Fix syntax errors. - Check drive letter when expanding ~\. + Check drive letter when expanding ~\. * sysdep.c (sys_subshell) [WINDOWSNT]: Don't invoke restore_console. * ntproc.c (win32_wait): Reap synchronous subprocesses, and place - return code in synch_process_retcode. + return code in synch_process_retcode. * s/windowsnt.h (ctime): Defined to be nt_ctime. (NULL): Defined when missing from included system files. @@ -1351,7 +1351,7 @@ (get_inode_and_device_vals): Handle directories. * fileio.c (Fexpand_file_name) [DOS_NT]: Don't strip slash from - default dirs like "C:\\" + default dirs like "C:\\" * makefile.nt (all): Use COMPAT_LIB in library list. Use DEL_TREE instead of delnode. @@ -1503,9 +1503,9 @@ 1995-04-08 Noah Friedman <friedman@prep.ai.mit.edu> - * window.c (Fnext_window, Fprevious_window): If all_frames is a - frame and window is not on that frame, return the first window on - that frame. + * window.c (Fnext_window, Fprevious_window): If all_frames is a + frame and window is not on that frame, return the first window on + that frame. 1995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu> @@ -2899,7 +2899,7 @@ 1995-01-10 Richard Stallman <rms@mole.gnu.ai.mit.edu> * emacs.c (main): Handle SIGABRT, SIGHWE, SIGPRE, SIGORE, SIGDLK, - SIGCPULIM, if they are defined. + SIGCPULIM, if they are defined. * alloc.c (DONT_COPY_FLAG): New bit flag. (mark_object, gc_sweep, compact_strings): Use it. @@ -3547,7 +3547,7 @@ 1994-11-16 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * xdisp.c (try_window): Don't pass window to Fget_char_property; - pass its buffer. + pass its buffer. (display_text_line): Likewise. 1994-11-16 Francesco Potortì (pot@cnuce.cnr.it) @@ -3770,7 +3770,7 @@ 1994-11-07 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * keyboard.c: Move decl of input_fd outside of #ifdef - HAVE_X_WINDOWS. + HAVE_X_WINDOWS. 1994-11-03 Karl Heuer <kwzh@hal.gnu.ai.mit.edu> @@ -3788,7 +3788,7 @@ (HAVE_MOUSE): Defined. * ntheap.c (sbrk): Allow request sizes to be different than the - page size. + page size. * makefile.nt: Changed references of m\m-windowsnt.h to m\intel386.h and of s\s-windowsnt.h to s\windowsnt.h. @@ -4087,7 +4087,7 @@ 1994-10-25 Karl Fogel (kfogel@phylo.life.uiuc.edu) - * window.c (Vtemp_buffer_show_function): Doc fix. + * window.c (Vtemp_buffer_show_function): Doc fix. 1994-10-25 Richard Stallman <rms@mole.gnu.ai.mit.edu> @@ -4780,7 +4780,7 @@ * xmenu.c: Delete HAVE_X11 conditionals. * xfaces.c (compute_base_face): Use FRAME_FOREGROUND_PIXEL, - FRAME_BACKGROUND_PIXEL, FRAME_FONT. + FRAME_BACKGROUND_PIXEL, FRAME_FONT. * xterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL) (FRAME_FONT): New macros. @@ -4973,59 +4973,59 @@ 1994-10-09 Jim Blandy <jimb@geech.gnu.ai.mit.edu> - Cache the results of some scans, to improve performance in buffers - containing very long lines. - * region-cache.c, region-cache.h: New files. - * Makefile.in.in (obj) Add region-cache.o to the list of files. - (region-cache.o): New target. - (buffer.o, indent.o, search.o): Depend on region-cache.h. - * buffer.h (struct buffer): New members: newline_cache, - width_run_cache, width_table, and cache_long_line_scans. - * buffer.c: #include region-cache.h. - (Fget_buffer_create): Initialize new members of struct buffer. - (Fkill_buffer): Free memory occupied by caches. - (init_buffer_once): Set default value for cache_long_line_scans in - buffer_defaults, and give it a bit in buffer_local_flags. - (syms_of_buffer): Add DEFVAR_PER_BUFFER for cache_long_line_scans. - * insdel.c (prepare_to_modify_buffer): Invalidate width run and - newline caches, if they exist. - * search.c: #include "region-cache.h". - (max, min): Make these functions, not macros; we'd like to pass - them arguments that would be bad to evaluate more than once. - (newline_cache_on_off): New function. - (scan_buffer): New argument END. Call newline_cache_on_off. If - this buffer's newline cache is enabled, consult it to see if we - need to scan a region for newlines, and store information in the - cache after doing so. - (find_next_newline): Pass new arg to scan_buffer. - (find_before_next_newline): New function. - * cmds.c (Fforward_line): Call scan_buffer with new args. - (Fend_of_line): Replace call to Fforward_line and search loop with - call to find_before_next_newline. - * syntax.c (find_defun_start): Call scan_buffer with new args. - * indent.c: #include "region-cache.h". - (character_width, disptab_matches_widthtab, recompute_width_table, - width_run_cache_on_off): New functions. - (compute_motion): Call width_run_cache_on_off. If this buffer's - width run cache is enabled, consult it to see if we need to - traverse a region character-by-character; store information in the - cache after doing so. Call find_before_next_newline instead of - writing out an equivalent loop explicitly, to take advantage of - the newline cache. - Doc fixes. - * xdisp.c (redisplay_window): Invalidate width_run_cache, if the - buffer's display table doesn't match the width table the cache was - built for. - (display_text_line): Use compute_motion to skip forward to the - left edge of the window when the window is hscrolled; this is - faster than rendering all the characters into the bit bucket when - the hscroll is large. - Doc fixes. - (display_count_lines): Call scan_buffer with new args. - * disptab.h (window_display_table): Doc fix. - (buffer_display_table): New declaration. - * indent.h (disptab_matches_widthtab, recompute_width_table): New - declarations. + Cache the results of some scans, to improve performance in buffers + containing very long lines. + * region-cache.c, region-cache.h: New files. + * Makefile.in.in (obj) Add region-cache.o to the list of files. + (region-cache.o): New target. + (buffer.o, indent.o, search.o): Depend on region-cache.h. + * buffer.h (struct buffer): New members: newline_cache, + width_run_cache, width_table, and cache_long_line_scans. + * buffer.c: #include region-cache.h. + (Fget_buffer_create): Initialize new members of struct buffer. + (Fkill_buffer): Free memory occupied by caches. + (init_buffer_once): Set default value for cache_long_line_scans in + buffer_defaults, and give it a bit in buffer_local_flags. + (syms_of_buffer): Add DEFVAR_PER_BUFFER for cache_long_line_scans. + * insdel.c (prepare_to_modify_buffer): Invalidate width run and + newline caches, if they exist. + * search.c: #include "region-cache.h". + (max, min): Make these functions, not macros; we'd like to pass + them arguments that would be bad to evaluate more than once. + (newline_cache_on_off): New function. + (scan_buffer): New argument END. Call newline_cache_on_off. If + this buffer's newline cache is enabled, consult it to see if we + need to scan a region for newlines, and store information in the + cache after doing so. + (find_next_newline): Pass new arg to scan_buffer. + (find_before_next_newline): New function. + * cmds.c (Fforward_line): Call scan_buffer with new args. + (Fend_of_line): Replace call to Fforward_line and search loop with + call to find_before_next_newline. + * syntax.c (find_defun_start): Call scan_buffer with new args. + * indent.c: #include "region-cache.h". + (character_width, disptab_matches_widthtab, recompute_width_table, + width_run_cache_on_off): New functions. + (compute_motion): Call width_run_cache_on_off. If this buffer's + width run cache is enabled, consult it to see if we need to + traverse a region character-by-character; store information in the + cache after doing so. Call find_before_next_newline instead of + writing out an equivalent loop explicitly, to take advantage of + the newline cache. + Doc fixes. + * xdisp.c (redisplay_window): Invalidate width_run_cache, if the + buffer's display table doesn't match the width table the cache was + built for. + (display_text_line): Use compute_motion to skip forward to the + left edge of the window when the window is hscrolled; this is + faster than rendering all the characters into the bit bucket when + the hscroll is large. + Doc fixes. + (display_count_lines): Call scan_buffer with new args. + * disptab.h (window_display_table): Doc fix. + (buffer_display_table): New declaration. + * indent.h (disptab_matches_widthtab, recompute_width_table): New + declarations. 1994-10-08 Richard Stallman <rms@mole.gnu.ai.mit.edu> @@ -5194,13 +5194,13 @@ independence. Enable using editres for X11R5. * widget.c (EmacsFrameSetCharSize): Use lw_refigure_widget for - widget set independence. + widget set independence. * widget.h: Declare resources showGrip, allowResize, and - resizeToPreferred. + resizeToPreferred. * keyboard.c (make_lispy_event): Do not set item. Now handled in - xmenu.c by popup_get_selection. + xmenu.c by popup_get_selection. 1994-10-01 Richard Stallman <rms@mole.gnu.ai.mit.edu> @@ -5375,7 +5375,7 @@ * process.c (Fprocess_send_eof): Delete DID_REMOTE conditional. - * buffer.c (get-file-buffer): Doc fix. + * buffer.c (get-file-buffer): Doc fix. 1994-09-23 Richard Stallman <rms@mole.gnu.ai.mit.edu> @@ -5580,7 +5580,7 @@ 1994-09-19 Jim Blandy <jimb@geech.gnu.ai.mit.edu> - Add a new element to display tables controlling side-by-side + Add a new element to display tables controlling side-by-side window borders. * buffer.c (syms_of_buffer): Update doc string for `buffer-display-table'. @@ -6207,7 +6207,7 @@ * Makefile.in.in (FRAME_SUPPORT): Add faces.elc. * search.c (Freplace_match): Treat caseless initial like a - lowercase initial. + lowercase initial. * keymap.c (Fdefine_key): Fix error message. (Fsingle_key_description): Likewise. @@ -6418,8 +6418,8 @@ 1994-07-23 Jim Blandy (jimb@totoro.bio.indiana.edu) - * .gdbinit: Set the breakpoint in x_error_quitter instead of - _XPrintDefaultError. + * .gdbinit: Set the breakpoint in x_error_quitter instead of + _XPrintDefaultError. 1994-07-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) @@ -6910,7 +6910,7 @@ 1994-06-16 Roland McGrath (roland@geech.gnu.ai.mit.edu) * unexec.c: Include <sys/file.h> and [USG5] <fcntl.h> to define - O_* macros. + O_* macros. (O_RDONLY, O_RDWR): Define if undefined. [emacs] (report_error): Use report_file_error so the user can tell what the errno code was. diff --git a/src/Makefile.in b/src/Makefile.in index 61cb938aef..00ac04aa83 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -520,7 +520,7 @@ temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) \ test "$(CANNOT_DUMP)" = "yes" || \ test "X$(PAXCTL)" = X || $(PAXCTL) -r temacs$(EXEEXT) test "$(CANNOT_DUMP)" = "yes" || test -z "$(SETFATTR)" || \ - $(SETFATTR) -n user.pax.flags -v r $@ + $(SETFATTR) -n user.pax.flags -v er $@ ## The following oldxmenu-related rules are only (possibly) used if ## HAVE_X11 && !USE_GTK, but there is no harm in always defining them. diff --git a/src/keyboard.c b/src/keyboard.c index 908eb59ff9..6dc0b820eb 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -11868,7 +11868,7 @@ keys_of_keyboard (void) - we enter the second prompt. current-prefix-arg is non-nil, prefix-arg is nil. - before running the first real event, we run the special iconify-frame - event, but we pass the `special' arg to execute-command so + event, but we pass the `special' arg to command-execute so current-prefix-arg and prefix-arg are left untouched. - here we foolishly copy the non-nil current-prefix-arg to prefix-arg. - the next key event will have a spuriously non-nil current-prefix-arg. */ diff --git a/src/w32fns.c b/src/w32fns.c index e514970433..fc10e74cdf 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -7011,7 +7011,14 @@ a ShowWindow flag: Lisp_Object absdoc_encoded = ENCODE_FILE (absdoc); if (faccessat (AT_FDCWD, SSDATA (absdoc_encoded), F_OK, AT_EACCESS) == 0) - document = absdoc_encoded; + { + /* ShellExecute fails if DOCUMENT is a UNC with forward + slashes (expand-file-name above converts all backslashes + to forward slashes). Now that we know DOCUMENT is a + file, we can mirror all forward slashes into backslashes. */ + unixtodos_filename (SSDATA (absdoc_encoded)); + document = absdoc_encoded; + } else document = ENCODE_FILE (document); } diff --git a/src/xdisp.c b/src/xdisp.c index 1b015e7070..989cbd10d8 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -5106,6 +5106,11 @@ handle_single_display_spec (struct it *it, Lisp_Object spec, Lisp_Object object, iterate_out_of_display_property (it); *position = it->position; } + /* If we were to display this fringe bitmap, + next_element_from_image would have reset this flag. + Do the same, to avoid affecting overlays that + follow. */ + it->ignore_overlay_strings_at_pos_p = 0; return 1; } } @@ -5125,6 +5130,9 @@ handle_single_display_spec (struct it *it, Lisp_Object spec, Lisp_Object object, iterate_out_of_display_property (it); *position = it->position; } + if (it) + /* Reset this flag like next_element_from_image would. */ + it->ignore_overlay_strings_at_pos_p = 0; return 1; } @@ -8329,6 +8337,10 @@ next_element_from_buffer (struct it *it) unsigned char *p; ptrdiff_t stop; + /* We moved to the next buffer position, so any info about + previously seen overlays is no longer valid. */ + it->ignore_overlay_strings_at_pos_p = 0; + /* Maybe run the redisplay end trigger hook. Performance note: This doesn't seem to cost measurable time. */ if (it->redisplay_end_trigger_charpos diff --git a/test/ChangeLog b/test/ChangeLog index d0988e4207..c2c2d9b09e 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,14 @@ +2014-11-29 Fabián Ezequiel Gallina <fgallina@gnu.org> + + * automated/python-tests.el + (python-shell-calculate-process-environment-4) + (python-shell-calculate-process-environment-5): New tests. + (python-shell-make-comint-3): Use file-equal-p. + (python-shell-get-or-create-process-1) + (python-shell-get-or-create-process-2) + (python-shell-get-or-create-process-3): Fix interpreter for + Windows (Bug#18595). + 2014-11-21 Ulf Jasper <ulf.jasper@web.de> * automated/libxml-tests.el diff --git a/test/automated/python-tests.el b/test/automated/python-tests.el index 1b9d774b01..de20a80ea5 100644 --- a/test/automated/python-tests.el +++ b/test/automated/python-tests.el @@ -1870,6 +1870,23 @@ Using `python-shell-interpreter' and python-shell-virtualenv-path path-separator original-path))))) +(ert-deftest python-shell-calculate-process-environment-4 () + "Test `python-shell-unbuffered' modification." + (setenv "PYTHONUNBUFFERED") + (let* ((process-environment + (python-shell-calculate-process-environment))) + ;; Defaults to t + (should python-shell-unbuffered) + (should (string= (getenv "PYTHONUNBUFFERED") "1")))) + +(ert-deftest python-shell-calculate-process-environment-5 () + (setenv "PYTHONUNBUFFERED") + "Test `python-shell-unbuffered' modification." + (let* ((python-shell-unbuffered nil) + (process-environment + (python-shell-calculate-process-environment))) + (should (not (getenv "PYTHONUNBUFFERED"))))) + (ert-deftest python-shell-calculate-exec-path-1 () "Test `python-shell-exec-path' modification." (let* ((original-exec-path exec-path) @@ -1959,8 +1976,9 @@ and `python-shell-interpreter-args' in the new shell buffer." (should (process-live-p process)) (with-current-buffer shell-buffer (should (eq major-mode 'inferior-python-mode)) - (should (string= python-shell-interpreter - (executable-find python-tests-shell-interpreter))) + (should (file-equal-p + python-shell-interpreter + (executable-find python-tests-shell-interpreter))) (should (string= python-shell-interpreter-args "-i")))) (kill-buffer shell-buffer)))) @@ -2048,12 +2066,11 @@ and `python-shell-interpreter-args' in the new shell buffer." (skip-unless (executable-find python-tests-shell-interpreter)) (python-tests-with-temp-file "" - (let* ((python-shell-interpreter - (executable-find python-tests-shell-interpreter)) + (let* ((cmd + (concat (executable-find python-tests-shell-interpreter) " -i")) (use-dialog-box) (dedicated-process-name (python-shell-get-process-name t)) - (dedicated-process - (python-shell-get-or-create-process python-shell-interpreter t)) + (dedicated-process (python-shell-get-or-create-process cmd t)) (dedicated-shell-buffer (process-buffer dedicated-process))) (unwind-protect (progn @@ -2071,12 +2088,11 @@ and `python-shell-interpreter-args' in the new shell buffer." (skip-unless (executable-find python-tests-shell-interpreter)) (python-tests-with-temp-file "" - (let* ((python-shell-interpreter - (executable-find python-tests-shell-interpreter)) + (let* ((cmd + (concat (executable-find python-tests-shell-interpreter) " -i")) (use-dialog-box) (process-name (python-shell-get-process-name nil)) - (process - (python-shell-get-or-create-process python-shell-interpreter)) + (process (python-shell-get-or-create-process cmd)) (shell-buffer (process-buffer process))) (unwind-protect (progn @@ -2086,43 +2102,42 @@ and `python-shell-interpreter-args' in the new shell buffer." (kill-buffer shell-buffer) ;; Check there are no processes for current buffer. (should (not (python-shell-get-process)))) - (ignore-errors (kill-buffer dedicated-shell-buffer)))))) + (ignore-errors (kill-buffer shell-buffer)))))) (ert-deftest python-shell-get-or-create-process-3 () "Check shell dedicated/global process preference." (skip-unless (executable-find python-tests-shell-interpreter)) (python-tests-with-temp-file "" - (let* ((python-shell-interpreter - (executable-find python-tests-shell-interpreter)) + (let* ((cmd + (concat (executable-find python-tests-shell-interpreter) " -i")) + (python-shell-interpreter python-tests-shell-interpreter) (use-dialog-box) (dedicated-process-name (python-shell-get-process-name t)) (global-process) (dedicated-process)) - (unwind-protect - (progn - ;; Create global process - (run-python python-shell-interpreter nil) - (setq global-process (get-buffer-process "*Python*")) - (should global-process) - (set-process-query-on-exit-flag global-process nil) - ;; Create dedicated process - (run-python python-shell-interpreter t) - (setq dedicated-process (get-process dedicated-process-name)) - (should dedicated-process) - (set-process-query-on-exit-flag dedicated-process nil) - ;; Prefer dedicated. - (should (equal (python-shell-get-or-create-process) - dedicated-process)) - ;; Kill the dedicated so the global takes over. - (kill-buffer (process-buffer dedicated-process)) - ;; Detect global. - (should (equal (python-shell-get-or-create-process) global-process)) - ;; Kill the global. - (kill-buffer (process-buffer global-process)) - ;; Check there are no processes for current buffer. - (should (not (python-shell-get-process)))) - (ignore-errors (kill-buffer dedicated-shell-buffer)))))) + (progn + ;; Create global process + (run-python cmd nil) + (setq global-process (get-buffer-process "*Python*")) + (should global-process) + (set-process-query-on-exit-flag global-process nil) + ;; Create dedicated process + (run-python cmd t) + (setq dedicated-process (get-process dedicated-process-name)) + (should dedicated-process) + (set-process-query-on-exit-flag dedicated-process nil) + ;; Prefer dedicated. + (should (equal (python-shell-get-or-create-process) + dedicated-process)) + ;; Kill the dedicated so the global takes over. + (kill-buffer (process-buffer dedicated-process)) + ;; Detect global. + (should (equal (python-shell-get-or-create-process) global-process)) + ;; Kill the global. + (kill-buffer (process-buffer global-process)) + ;; Check there are no processes for current buffer. + (should (not (python-shell-get-process))))))) (ert-deftest python-shell-internal-get-or-create-process-1 () "Check internal shell process creation fallback." |