Paul Eggert [Fri, 17 Jul 2015 18:54:24 +0000 (11:54 -0700)]
Fix hang with large yanks
Backport of master commit 0592cefd03f1de2f04b721d07a16e6e0a9e48f73.
This should fix the bug fixed by Mike Crowe's patch in:
https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
A problem in this area has been reported by several users; see
Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
This fix differs from Mike Crowe's patch in that it should avoid a
race condition that could lose SIGIO signals. ignore_sigio dates
back to the 1980s when some platforms couldn't block signals, and
could only ignore them, which led to races when signals arrived
while being ignored. We shouldn't have to worry about those old
platforms now.
* src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
* src/emacs.c (shut_down_emacs):
Don't call ignore_sigio; unrequest_sigio should suffice.
* src/keyboard.c (kbd_buffer_store_buffered_event):
Use unrequest_sigio, not ignore_sigio.
(kbd_buffer_get_event):
Call request_sigio when getting the ball rolling again.
Stefan Monnier [Thu, 26 Mar 2015 19:17:51 +0000 (15:17 -0400)]
(url-insert-file-contents): Set buffer-file-coding-system
Fixes: debbugs:20010
* lisp/url/url-handlers.el (url-insert-file-contents): Call
after-insert-file-set-coding like insert-file-contents, to set
buffer-file-coding-system. [Backport]
Dmitry Gutov [Fri, 20 Mar 2015 04:04:54 +0000 (06:04 +0200)]
Backport: ruby-mode: Change faces used for self, true, false and nil
Fixes: debbugs:17733
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Use
`font-lock-constant-face' for nil, true and false. Highlight
`self' as a keyword.
Eli Zaretskii [Sat, 14 Mar 2015 17:30:36 +0000 (19:30 +0200)]
Improve indexing in Emacs manual (Bug#20105)
doc/emacs/basic.texi (Moving Point): Improve indexing for HOME and END.
doc/emacs/cmdargs.texi (General Variables): Improve indexing for
environment variables.
doc/emacs/msdog.texi (Windows HOME):
doc/emacs/msdog-xtra.texi (MS-DOS File Names): Remove markup from HOME in
the index entries.
textmodes/ispell.el: Look for aspell .dat files also under dict-dir, as aspell does.
Originally reported as http://bugs.debian.org/765349.
Noticed when aspell has different data-dir and dict-dir.
* textmodes/ispell.el (ispell-aspell-find-dictionary): Make sure
.dat files for aspell dicts are also searched for in location
described by `ispell-aspell-dict-dir', matching aspell's dict-dir
variable.
ispell.el: Extend to aspell current hunspell handling of aliases names for standard dicts.
Extend `ispell-hunspell-dictionary-equivs-alist' use to aspell, once
renamed to a more general `ispell-dicts-name2locale-equivs-alist' name.
Originally reported as http://bugs.debian.org/745613
* textmodes/ispell.el (ispell-dicts-name2locale-equivs-alist)
(ispell-hunspell-fill-dictionary-entry)
(ispell-find-hunspell-dictionaries)
(ispell-set-spellchecker-params): New generic name for
`ispell-hunspell-dictionary-equivs-alist'.
(ispell-aspell-add-aliases): Also use
`ispell-dicts-name2locale-equivs-alist' to get aspell aliases for
standard dict names.
Eli Zaretskii [Sat, 28 Feb 2015 10:33:32 +0000 (12:33 +0200)]
Avoid assertion violations in Rmail due to newline cache
src/search.c (find_newline): Avoid assertion violations in
CHAR_TO_BYTE when a portion of the buffer was deleted and we look
for newlines near the end of the buffer. This happens in Rmail
hen JIT font-lock fontifies a newly displayed portion of the
buffer.
Juri Linkov [Thu, 19 Feb 2015 19:28:41 +0000 (21:28 +0200)]
* lisp/comint.el (comint-line-beginning-position): Revert searching for
the prompt when comint-use-prompt-regexp is non-nil because it
doesn't distinguish input from output. Check the field property
`output' for the case when comint-use-prompt-regexp is nil.
Improve string search in `flyspell-word-search-*`. (Bug#16800)
* flyspell.el (flyspell-duplicate-distance): Limit default search
distance for duplicated words to 40000.
(flyspell-word-search-backward, flyspell-word-search-forward):
Search as full word with defined casechars, not as substring.
Eli Zaretskii [Tue, 10 Feb 2015 16:26:23 +0000 (18:26 +0200)]
Fix invocation of commands whose file name includes extension (Bug#19817)
nt/cmdproxy.c (get_next_token): Don't make backslashes disappear
without a trace when they are not followed by a quote.
(search_dir): Support searching programs whose file name already
has an arbitrary extension.
(main): When passing a command line to the shell, use cmd.exe
rules for quoting command-line tail.
Juri Linkov [Tue, 10 Feb 2015 00:38:09 +0000 (02:38 +0200)]
Better support for the case of typing RET on the prompt in comint.
* lisp/comint.el (comint-get-old-input-default): Go to the field end
when comint-use-prompt-regexp is nil.
(comint-line-beginning-position): Check if point is already
on the prompt before searching for the prompt when
comint-use-prompt-regexp is non-nil.
Eli Zaretskii [Sun, 8 Feb 2015 16:17:40 +0000 (18:17 +0200)]
Fix handling of frame color parameters in TTY sessions (Bug#19802)
src/xfaces.c (map_tty_color): Use assoc_no_quit instead of
assq_no_quit to fetch color definition by its string name.
lisp/frame.el (frame-notice-user-settings): Refresh the value of
frame parameters after calling tty-handle-reverse-video. Call
face-set-after-frame-default with the actual parameters, to avoid
resetting colors back to unspecified.
(set-background-color, set-foreground-color): Pass the selected
color to face-set-after-frame-default.
Eli Zaretskii [Thu, 5 Feb 2015 17:07:15 +0000 (19:07 +0200)]
Fix vertical-motion and posn-at-point when word-wrap is on (Bug#19769)
src/xdisp.c (move_it_in_display_line_to): Handle the case where the
last character of a screen line is whitespace, and we are under
word-wrap with overflow-newline-into-fringe turned on.
Juri Linkov [Thu, 5 Feb 2015 00:52:41 +0000 (02:52 +0200)]
Better multi-line input support in comint.el
Revert the change of comint-line-beginning-position callers,
and modify comint-line-beginning-position instead.
* lisp/comint.el (comint-history-isearch-search)
(comint-history-isearch-message, comint-history-isearch-wrap):
Use comint-line-beginning-position instead of field-beginning.
(comint-send-input): Use either end-of-line or field-end
depending on comint-use-prompt-regexp.
(comint-line-beginning-position): Search backward
for comint-prompt-regexp if comint-use-prompt-regexp is non-nil.
Use field-beginning instead of line-beginning-position
if comint-use-prompt-regexp is nil.
Eli Zaretskii [Tue, 3 Feb 2015 18:52:18 +0000 (20:52 +0200)]
A more thorough fix for bug#19307
src/xdisp.c (handle_stop, handle_single_display_spec)
(next-element_from_image): Don't reset the
ignore_overlay_strings_at_pos_p flag here.
(next_element_from_buffer): Reset ignore_overlay_strings_at_pos_p
here.
(next_overlay_string): Set ignore_overlay_strings_at_pos_p here,
after we've exhausted all the overlay strings at the current
position.
Eli Zaretskii [Mon, 2 Feb 2015 16:15:13 +0000 (18:15 +0200)]
Fix redrawing of mode lines when exposed (Bug#19721)
src/dispnew.c (adjust_glyph_matrix): Set the update_mode_line flag
of the window whose current glyph matrix was resized, which
disables the mode-line row as side effect.
src/xdisp.c (redisplay_window): Don't avoid redisplay of a window
whose update_mode_line flag is set.