Eli Zaretskii [Sat, 27 Dec 2014 12:07:06 +0000 (14:07 +0200)]
Fix composition of characters from Syriac and Arabis scripts.
lisp/language/misc-lang.el (composition-function-table): Add Syriac
characters and also ZWJ/ZWNJ. See
http://lists.gnu.org/archive/html/help-gnu-emacs/2014-12/msg00248.html
for the details.
Eli Zaretskii [Thu, 25 Dec 2014 15:38:15 +0000 (17:38 +0200)]
Fix rendering of composed caharacters on the mode line. (Bug#19435)
src/xdisp.c (set_iterator_to_next) <GET_FROM_STRING>: Limit search in
composition_compute_stop_pos to the number of characters in the
string.
<GET_FROM_BUFFER, GET_FROM_STRING>: Simplify code.
src/composite.c (composition_compute_stop_pos): If no composition
was found in a string before ENDPOS, and ENDPOS is the string end,
no need to back up to a safe point.
src/dispextern.h (struct it) <end_charpos>: Improve commentary.
Jan D [Wed, 24 Dec 2014 11:24:14 +0000 (12:24 +0100)]
Backport: Memory leak fix and 19133 fix.
Fixes: debbugs:19133
* nsimage.m (allocInitFromFile:): Initialize bmRep.
(dealloc): Release bmRep.
(setPixmapData): Make bmRep local so class member is not
set.
Eli Zaretskii [Tue, 23 Dec 2014 18:42:30 +0000 (20:42 +0200)]
Improve indexing on the chapter/section/subsection levels.
doc/lispref/windows.texi (Recombining Windows): Index subject of sections.
doc/lispref/variables.texi (Variables with Restricted Values)
(Generalized Variables): Index subject of sections.
doc/lispref/text.texi (Buffer Contents, Examining Properties)
(Changing Properties, Property Search, Substitution): Index
subject of sections.
doc/lispref/syntax.texi (Motion and Syntax, Parsing Expressions)
(Motion via Parsing, Position Parse, Control Parsing): Index
subject of sections.
doc/lispref/strings.texi (Predicates for Strings, Creating Strings)
(Modifying Strings, Text Comparison): Index subject of sections.
doc/lispref/searching.texi (Syntax of Regexps, Regexp Special)
(Regexp Functions, Regexp Functions): Index subject of sections.
doc/lispref/processes.texi (Subprocess Creation, Process Information): Index
subject of sections.
doc/lispref/positions.texi (Screen Lines): Index subject of sections.
doc/lispref/nonascii.texi (Scanning Charsets, Specifying Coding Systems):
Index subject of sections.
doc/lispref/minibuf.texi (Text from Minibuffer, Object from Minibuffer)
(Multiple Queries, Minibuffer Contents): Index subject of
sections.
doc/lispref/markers.texi (Predicates on Markers, Creating Markers)
(Information from Markers, Moving Markers): Index subject of
sections.
doc/lispref/macros.texi (Defining Macros, Problems with Macros): Index
subject of sections.
doc/lispref/loading.texi (Loading Non-ASCII, Where Defined): Index subject
of sections.
doc/lispref/lists.texi (List-related Predicates, List Variables, Setcar)
(Setcdr, Plist Access): Index subject of sections.
doc/lispref/keymaps.texi (Controlling Active Maps, Scanning Keymaps)
(Modifying Menus): Index subject of sections.
doc/lispref/help.texi (Accessing Documentation, Help Functions): Index
subject of sections.
doc/lispref/hash.texi (Hash Access): Index subject of sections.
doc/lispref/functions.texi (Core Advising Primitives)
(Advising Named Functions, Porting old advices): Index subject of
sections.
doc/lispref/frames.texi (Creating Frames, Initial Parameters)
(Position Parameters, Buffer Parameters, Minibuffers and Frames)
(Pop-Up Menus, Drag and Drop): Index subject of sections.
doc/lispref/files.texi (Visiting Functions, Kinds of Files)
(Unique File Names): Index subject of sections.
doc/lispref/display.texi (Refresh Screen, Echo Area Customization)
(Warning Variables, Warning Options, Delayed Warnings)
(Temporary Displays, Managing Overlays, Overlay Properties)
(Finding Overlays, Size of Displayed Text, Defining Faces)
(Attribute Functions, Displaying Faces, Face Remapping)
(Basic Faces, Font Lookup, Fontsets, Replacing Specs)
(Defining Images, Showing Images): Index subject of sections.
doc/lispref/debugging.texi (Debugging, Explicit Debug)
(Invoking the Debugger, Excess Open, Excess Close): Index subject
of sections.
doc/lispref/customize.texi (Defining New Types, Applying Customizations)
(Custom Themes): Index subject of sections.
doc/lispref/control.texi (Sequencing, Combining Conditions)
(Processing of Errors, Cleanups): Index subject of sections.
doc/lispref/compile.texi (Eval During Compile): Index subject of sections.
doc/lispref/commands.texi (Using Interactive, Distinguish Interactive)
(Command Loop Info, Classifying Events, Event Mod)
(Invoking the Input Method): Index subject of sections.
doc/lispref/buffers.texi (Buffer List, Buffer Gap): Index subject of sections.
doc/lispref/backups.texi (Making Backups, Numbered Backups, Backup Names)
(Reverting): Index subject of sections.
doc/lispref/abbrevs.texi (Abbrev Tables, Defining Abbrevs, Abbrev Files)
(Abbrev Expansion, Standard Abbrev Tables, Abbrev Properties)
(Abbrev Table Properties): Index subject of sections.
doc/lispref/os.texi (Time of Day, Time Conversion, Time Parsing)
(Time Calculations, Idle Timers): Index subject of sections.
* 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.