* lisp/progmodes/python.el (python-indent-post-self-insert-function):
Make colon to re-indent only for dedenters, handling
multiline-statements gracefully.
* test/automated/python-tests.el (python-indent-electric-colon-2)
(python-indent-electric-colon-3): New tests.
Andreas Schwab [Fri, 19 Dec 2014 10:47:51 +0000 (11:47 +0100)]
Fix content decoding in gnus-read-ephemeral-bug-group
* gnus-group.el (gnus-read-ephemeral-bug-group): Bind
coding-system-for-read and coding-system-for-write only around
with-temp-file, and make buffer unibyte. Don't write temp file twice.
Michael Albinus [Wed, 17 Dec 2014 21:08:30 +0000 (22:08 +0100)]
* net/tramp-gw.el (tramp-gw-open-connection): Suppress traces in
wrong debug buffer.
(tramp-gw-open-connection): Set process coding system 'binary.
(tramp-gw-open-network-stream): Handle HTTP error 403.
* net/tramp-sh.el (tramp-compute-multi-hops): Suppress traces in
wrong debug buffer.
(tramp-maybe-open-connection): Set connection property "gateway".
* net/tramp.el (tramp-error-with-buffer): Call `message' properly.
(tramp-accept-process-output): Use nil as argument for
`accept-process-output', when there is a gateway prepended.
Joao Tavora [Sun, 14 Dec 2014 11:22:46 +0000 (11:22 +0000)]
Consider electric-pair-mode in tex-mode.
Fixes: debbugs:19356
* lisp/textmodes/tex-mode.el (tex-insert-quote): Consider and respect
`electric-pair-mode'.
* test/automated/electric-tests.el (autowrapping-7): New test for
tex-mode's autowrapping.
(electric-pair-test-for): Call the actual key-binding
interactively.
Ted Zlatanov [Thu, 11 Dec 2014 22:55:36 +0000 (17:55 -0500)]
Always define `gnutls-available-p' even if GnuTLS is not available.
Fixes: debbugs:19346
* gnutls.c (Fgnutls_available_p syms_of_gnutls): Move later for
clarity. Let the availability check return Qnil when the GnuTLS
integration is not available, instead of erroring out.
* gnutls.h: Always declare syms_of_gnutls.
* emacs.c (main): Always include gnutls.h and run syms_of_gnutls.
Paul Eggert [Thu, 11 Dec 2014 07:17:04 +0000 (23:17 -0800)]
Port commit-msg to mawk
Problem reported by Ted Zlatanov in:
http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg01093.html
* build-aux/git-hooks/commit-msg (space, non_space, non_print):
New vars. Use them as approximations to POSIX bracket expressions,
on implementations like mawk that do not support POSIX regexps.
Paul Eggert [Thu, 11 Dec 2014 04:44:35 +0000 (20:44 -0800)]
Improve commit-msg messages and autosquash
Problem reported by Michal Nazarewicz in Bug#19337.
* build-aux/git-hooks/commit-msg: Add "commit message" to
diagnostics. Distinguish better between tabs and other
unprintable chars in diagnostics. Don't complain if a prefix
"fixup! " or "squash! " makes a summary line too long.
Paul Eggert [Mon, 8 Dec 2014 00:17:20 +0000 (16:17 -0800)]
Port commit-message checking to FreeBSD 9.
This fixes a bug reported by Jan Djärv in:
http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00704.html
along with some other issues I noticed while testing with FreeBSD.
* build-aux/git-hooks/commit-msg: Prefer gawk if available.
Prefer en_US.UTF-8 to en_US.utf8, as it's more portable.
Work around bug in FreeBSD 9 awk, where /[[:cntrl:]]/ matches
ordinary text characters.
Be less tricky about quoting "'" in a shell script.
Stefan Monnier [Thu, 4 Dec 2014 15:09:08 +0000 (10:09 -0500)]
* lisp/progmodes/sh-script.el: Fix indentation rule of "| while".
Fixes: debbugs:18031
* lisp/progmodes/sh-script.el (sh-smie-sh-rules): Go back to the beginning
of the whole pipe when indenting an opening keyword after a |.
Generalize this treatment to opening keywords like "while".
Jan Djärv [Tue, 2 Dec 2014 13:05:27 +0000 (14:05 +0100)]
More flicker fixes for OSX, related to bug 18757.
* nsfns.m (ns_set_name_as_filename): Don't set represented filename
at once, call ns_set_represented_filename instead.
* nsterm.h: Declare ns_set_represented_filename.
* nsterm.m (represented_filename, represented_frame): New variables.
(ns_set_represented_filename): New function.
(sendEvent:): Set represented filename here to avoid flicker,
related to Bug#18757.
Eli Zaretskii [Sun, 30 Nov 2014 16:06:19 +0000 (18:06 +0200)]
Fix bug #19211 with move-end-of-line in non-interactive session.
lisp/simple.el (line-move): If noninteractive, call line-move-1, not
forward-line, since the former is compatible with line-move-visual
both in terms of the column to which it moves and the return
value.
Eli Zaretskii [Thu, 27 Nov 2014 16:35:27 +0000 (18:35 +0200)]
Fix bug #19201 with after-strings not being displayed.
src/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.
Stephen Berman [Thu, 27 Nov 2014 10:03:58 +0000 (11:03 +0100)]
outline.el: Fix subtree movement.
Fixes: debbugs:19102 Co-authored-by: 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.
Leonard Randall [Thu, 27 Nov 2014 08:38:21 +0000 (09:38 +0100)]
Backport regexp stack overflow fix from emacs-24.
* 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]
* lisp/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.
Stephen Berman [Wed, 26 Nov 2014 22:17:41 +0000 (23:17 +0100)]
todo-mode.el: Handle calling revert-buffer.
Fixes: debbugs:19187
* calendar/todo-mode.el: (todo-revert-buffer): New function.
(todo-modes-set-1): Use it as the buffer-local value of
revert-buffer-function.
Ulrich Müller [Sun, 16 Nov 2014 11:37:54 +0000 (12:37 +0100)]
Use consistent paxctl and setfattr flags for temacs.
* Makefile.in (temacs$(EXEEXT)): Use consistent flag settings
for paxctl and setfattr. Fixes temacs startup failure with
grsecurity/PaX enabled Linux kernel (bug#19067).
Paul Eggert [Sat, 22 Nov 2014 23:46:17 +0000 (15:46 -0800)]
Add git commit hooks that do some simple checks on commits.
* autogen.sh: Install Git hooks, if using Git.
* build-aux/git-hooks/commit-msg, build-aux/git-hooks/pre-commit:
New files, which are Git hooks that check for portable file names, and
do some simple checks for commit message format.
Michael Albinus [Sat, 22 Nov 2014 09:30:36 +0000 (10:30 +0100)]
* 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.
Paul Eggert [Fri, 21 Nov 2014 17:11:25 +0000 (09:11 -0800)]
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.
Paul Eggert [Thu, 20 Nov 2014 20:40:41 +0000 (12:40 -0800)]
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.
Michael Albinus [Thu, 20 Nov 2014 19:10:15 +0000 (20:10 +0100)]
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/ttramp-adb.el (tramp-adb-ls-output-time-less-p):
* net/ttramp-cache.el (tramp-get-file-property):
* net/ttramp-smb.el (tramp-smb-handle-insert-directory):
Use `time-less-p' and `time-subtract, respectively.
Paul Eggert [Wed, 19 Nov 2014 19:29:40 +0000 (11:29 -0800)]
Lessen focus on ChangeLog files, as opposed to change log entries.
This is in preparation for generating the former automatically
from the latter.
* admin/notes/bugtracker, admin/notes/copyright, admin/notes/newfile:
ChangeLog -> change log
* admin/notes/changelogs: Remove, merging old contents to ...
* admin/notes/repo: ... here.
* doc/emacs/maintaining.texi (Change Log): Mention that ChangeLog files may
be copied to or from a version control system.
* doc/emacs/trouble.texi (Sending Patches): Point to the commit messages.
* doc/lispref/intro.texi (Acknowledgments): ChangeLog file -> change log entries.
* doc/lispref/tips.texi (Library Headers): Emacs uses a version control system.
* etc/CONTRIBUTE: Give advice about git commit messages and how
to generate proposed patches containing them.
Eli Zaretskii [Mon, 17 Nov 2014 17:36:29 +0000 (19:36 +0200)]
Don't assume "bzr log" uses --long format by default.
lisp/vc/vc-bzr.el (vc-bzr-print-log, vc-bzr-expanded-log-entry):
Don't assume --long is the default for "bzr log", always specify
it explicitly, in case the user defined an alias for 'log' that
uses some other format.
Paul Eggert [Mon, 17 Nov 2014 01:19:05 +0000 (17:19 -0800)]
Simplify and fix doc-related .gitignore files.
This fixes some unwanted 'git status' output after 'make docs'.
* .gitignore: Add **/Makefile, **/makefile.
Remove Makefile, makefile.
Add doc/*/*.xxx rules for the usual kinds of documentation outputs
and temporaries. Add doc/misc/cc-mode.ss.
* doc/emacs/.gitignore, doc/lispref/.gitignore, doc/misc/.gitignore:
* lwlib/.gitignore, oldXMenu/.gitignore:
Remove, as these .gitignore files are no longer needed.
* doc/lispintro/.gitignore: Replace with list of exceptional PDF files.
Dmitry Gutov [Sun, 16 Nov 2014 12:19:16 +0000 (14:19 +0200)]
Fix indentation before `!=' and after `+='
Originally reported in https://github.com/mooz/js2-mode/issues/174.
* lisp/progmodes/js.el (js--indent-operator-re): Make assignments and
(in)equality operator a separate case.
(js--continued-expression-p): Escape the second `+' in the regexp.
Eli Zaretskii [Sat, 15 Nov 2014 17:04:17 +0000 (19:04 +0200)]
Fix bug #19060 with inaccurate pixel-based scrolling.
src/window.c (window_scroll_pixel_based): Avoid truncation/rounding
errors in computing the number of pixels to scroll. Suggested by
Kelly Dean <kelly@prtime.org>.