1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-17 11:20:39 -08:00

Merge from origin/emacs-24

ec26c23 authors.el: Add missing ignored and renamed files
e589765 A more thorough fix for bug#19307
4e8d586 Fix last commit
d6fee01 Tramp: Don't use a tempfile for ControlPath.
27e11c0 Fix display of overlay strings with faces after ellipsis  (Bug#19307)
e9a7e10 Fix redrawing of mode lines when exposed  (Bug#19721)
50f3811 net/tramp.el (tramp-ssh-controlmaster-options): Use "%C"

Conflicts:
	lisp/ChangeLog
	src/ChangeLog
	src/xdisp.c
This commit is contained in:
Paul Eggert 2015-03-03 14:29:22 -08:00
commit f15c858319
6 changed files with 89 additions and 24 deletions

View file

@ -357,6 +357,7 @@ Changes to files matching one of the regexps in this list are not listed.")
"All" "Version" "Everywhere" "Many" "Various" "files" "All" "Version" "Everywhere" "Many" "Various" "files"
;; Directories. ;; Directories.
"vms" "mac" "url" "tree-widget" "vms" "mac" "url" "tree-widget"
"info/dir"
) )
"List of files and directories to ignore. "List of files and directories to ignore.
Changes to files in this list are not listed.") Changes to files in this list are not listed.")
@ -796,6 +797,7 @@ in the repository.")
("play/bruce.el" . "bruce.el") ("play/bruce.el" . "bruce.el")
("play/yow.el" . "yow.el") ("play/yow.el" . "yow.el")
("patcomp.el" . "patcomp.el") ("patcomp.el" . "patcomp.el")
("emulation/ws-mode.el" . "ws-mode.el")
;; From lisp to etc/forms. ;; From lisp to etc/forms.
("forms-d2.el" . "forms-d2.el") ("forms-d2.el" . "forms-d2.el")
("forms-pass.el" . "forms-pass.el") ("forms-pass.el" . "forms-pass.el")

View file

@ -1,3 +1,24 @@
2015-03-03 Nicolas Petton <nicolas@petton.fr>
* emacs-lisp/authors.el (authors-ignored-files)
(authors-renamed-files-alist): Additions.
2015-03-03 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-ssh-controlmaster-options): Don't use a
tempfile for ControlPath. (Bug#19702)
2015-03-03 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-ssh-controlmaster-options): Use "%C" for
ControlPath if possible. (Bug#19702)
2015-03-03 Glenn Morris <rgm@gnu.org>
* emacs-lisp/authors.el (authors-obsolete-files-regexps)
(authors-valid-file-names, authors-renamed-files-alist): Additions.
2015-03-03 Alan Mackenzie <acm@muc.de>
2015-03-03 Alan Mackenzie <acm@muc.de> 2015-03-03 Alan Mackenzie <acm@muc.de>
CC Mode: Stop Font Lock forcing fontification from BOL. Fixes CC Mode: Stop Font Lock forcing fontification from BOL. Fixes

View file

@ -311,17 +311,26 @@ useful only in combination with `tramp-default-proxies-alist'.")
(let ((result "") (let ((result "")
(case-fold-search t)) (case-fold-search t))
(ignore-errors (ignore-errors
(with-temp-buffer (when (executable-find "ssh")
(call-process "ssh" nil t nil "-o" "ControlMaster")
(goto-char (point-min))
(when (search-forward-regexp "missing.+argument" nil t)
(setq result "-o ControlPath=%t.%%r@%%h:%%p -o ControlMaster=auto")))
(unless (zerop (length result))
(with-temp-buffer (with-temp-buffer
(call-process "ssh" nil t nil "-o" "ControlPersist") (call-process "ssh" nil t nil "-o" "ControlMaster")
(goto-char (point-min)) (goto-char (point-min))
(when (search-forward-regexp "missing.+argument" nil t) (when (search-forward-regexp "missing.+argument" nil t)
(setq result (concat result " -o ControlPersist=no")))))) (setq result "-o ControlMaster=auto")))
(unless (zerop (length result))
(with-temp-buffer
(call-process
"ssh" nil t nil "-o" "ControlPath=%C" "host.does.not.exist")
(goto-char (point-min))
(if (search-forward-regexp "unknown.+key" nil t)
(setq result
(concat result " -o ControlPath='tramp.%%r@%%h:%%p'"))
(setq result (concat result " -o ControlPath='tramp.%%C'"))))
(with-temp-buffer
(call-process "ssh" nil t nil "-o" "ControlPersist")
(goto-char (point-min))
(when (search-forward-regexp "missing.+argument" nil t)
(setq result (concat result " -o ControlPersist=no")))))))
result) result)
"Call ssh to detect whether it supports the Control* arguments. "Call ssh to detect whether it supports the Control* arguments.
Return a string to be used in `tramp-methods'.") Return a string to be used in `tramp-methods'.")

View file

@ -1,3 +1,30 @@
2015-03-03 Eli Zaretskii <eliz@gnu.org>
* 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. (Bug#19307)
2015-03-03 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (set_iterator_to_next): Set value of stop_charpos
according to the object we are about to resume iterating.
(Bug#19307)
* 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.
* xdisp.c (redisplay_window): Don't avoid redisplay of a window
whose update_mode_line flag is set. (Bug#19721)
2015-03-03 Eli Zaretskii <eliz@gnu.org>
* dispextern.h (FACE_FOR_CHAR): Fix the commentary.
2015-03-03 Daniel Colascione <dancol@dancol.org> 2015-03-03 Daniel Colascione <dancol@dancol.org>
* alloc.c (syms_of_alloc): Rename `gc-precise-p' to `gc-precise'. * alloc.c (syms_of_alloc): Rename `gc-precise-p' to `gc-precise'.

View file

@ -567,6 +567,12 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
for (i = 0; i < matrix->nrows; ++i) for (i = 0; i < matrix->nrows; ++i)
matrix->rows[i].enabled_p = false; matrix->rows[i].enabled_p = false;
} }
/* We've disabled the mode-line row, so force redrawing of
the mode line, if any, since otherwise it will remain
disabled in the current matrix, and expose events won't
redraw it. */
if (WINDOW_WANTS_MODELINE_P (w))
w->update_mode_line = 1;
} }
else if (matrix == w->desired_matrix) else if (matrix == w->desired_matrix)
{ {

View file

@ -3241,7 +3241,6 @@ handle_stop (struct it *it)
it->dpvec = NULL; it->dpvec = NULL;
it->current.dpvec_index = -1; it->current.dpvec_index = -1;
handle_overlay_change_p = !it->ignore_overlay_strings_at_pos_p; handle_overlay_change_p = !it->ignore_overlay_strings_at_pos_p;
it->ignore_overlay_strings_at_pos_p = false;
it->ellipsis_p = false; it->ellipsis_p = false;
/* Use face of preceding text for ellipsis (if invisible) */ /* Use face of preceding text for ellipsis (if invisible) */
@ -3331,7 +3330,6 @@ handle_stop (struct it *it)
pop_it (it); pop_it (it);
else else
{ {
it->ignore_overlay_strings_at_pos_p = true;
it->string_from_display_prop_p = false; it->string_from_display_prop_p = false;
it->from_disp_prop_p = false; it->from_disp_prop_p = false;
handle_overlay_change_p = false; handle_overlay_change_p = false;
@ -4925,11 +4923,6 @@ handle_single_display_spec (struct it *it, Lisp_Object spec, Lisp_Object object,
iterate_out_of_display_property (it); iterate_out_of_display_property (it);
*position = it->position; *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 = false;
return 1; return 1;
} }
} }
@ -4949,9 +4942,6 @@ handle_single_display_spec (struct it *it, Lisp_Object spec, Lisp_Object object,
iterate_out_of_display_property (it); iterate_out_of_display_property (it);
*position = it->position; *position = it->position;
} }
if (it)
/* Reset this flag like next_element_from_image would. */
it->ignore_overlay_strings_at_pos_p = false;
return 1; return 1;
} }
@ -5445,6 +5435,12 @@ next_overlay_string (struct it *it)
if (it->sp > 0 && STRINGP (it->string) && !SCHARS (it->string)) if (it->sp > 0 && STRINGP (it->string) && !SCHARS (it->string))
pop_it (it); pop_it (it);
/* Since we've exhausted overlay strings at this buffer
position, set the flag to ignore overlays until we move to
another position. The flag is reset in
next_element_from_buffer. */
it->ignore_overlay_strings_at_pos_p = true;
/* If we're at the end of the buffer, record that we have /* If we're at the end of the buffer, record that we have
processed the overlay strings there already, so that processed the overlay strings there already, so that
next_element_from_buffer doesn't try it again. */ next_element_from_buffer doesn't try it again. */
@ -7289,17 +7285,18 @@ set_iterator_to_next (struct it *it, bool reseat_p)
reseat_at_next_visible_line_start (it, true); reseat_at_next_visible_line_start (it, true);
else if (it->dpvec_char_len > 0) else if (it->dpvec_char_len > 0)
{ {
if (it->method == GET_FROM_STRING
&& it->current.overlay_string_index >= 0
&& it->n_overlay_strings > 0)
it->ignore_overlay_strings_at_pos_p = true;
it->len = it->dpvec_char_len; it->len = it->dpvec_char_len;
set_iterator_to_next (it, reseat_p); set_iterator_to_next (it, reseat_p);
} }
/* Maybe recheck faces after display vector. */ /* Maybe recheck faces after display vector. */
if (recheck_faces) if (recheck_faces)
it->stop_charpos = IT_CHARPOS (*it); {
if (it->method == GET_FROM_STRING)
it->stop_charpos = IT_STRING_CHARPOS (*it);
else
it->stop_charpos = IT_CHARPOS (*it);
}
} }
break; break;
@ -7916,7 +7913,6 @@ static bool
next_element_from_image (struct it *it) next_element_from_image (struct it *it)
{ {
it->what = IT_IMAGE; it->what = IT_IMAGE;
it->ignore_overlay_strings_at_pos_p = false;
return true; return true;
} }
@ -8086,6 +8082,7 @@ next_element_from_buffer (struct it *it)
and handle the last stop_charpos that precedes our and handle the last stop_charpos that precedes our
current position. */ current position. */
handle_stop_backwards (it, it->stop_charpos); handle_stop_backwards (it, it->stop_charpos);
it->ignore_overlay_strings_at_pos_p = false;
return GET_NEXT_DISPLAY_ELEMENT (it); return GET_NEXT_DISPLAY_ELEMENT (it);
} }
else else
@ -8102,6 +8099,7 @@ next_element_from_buffer (struct it *it)
it->base_level_stop = it->stop_charpos; it->base_level_stop = it->stop_charpos;
} }
handle_stop (it); handle_stop (it);
it->ignore_overlay_strings_at_pos_p = false;
return GET_NEXT_DISPLAY_ELEMENT (it); return GET_NEXT_DISPLAY_ELEMENT (it);
} }
} }
@ -8129,6 +8127,7 @@ next_element_from_buffer (struct it *it)
} }
else else
handle_stop_backwards (it, it->base_level_stop); handle_stop_backwards (it, it->base_level_stop);
it->ignore_overlay_strings_at_pos_p = false;
return GET_NEXT_DISPLAY_ELEMENT (it); return GET_NEXT_DISPLAY_ELEMENT (it);
} }
else else
@ -15799,6 +15798,7 @@ redisplay_window (Lisp_Object window, bool just_this_one_p)
if (!just_this_one_p if (!just_this_one_p
&& REDISPLAY_SOME_P () && REDISPLAY_SOME_P ()
&& !w->redisplay && !w->redisplay
&& !w->update_mode_line
&& !f->redisplay && !f->redisplay
&& !buffer->text->redisplay && !buffer->text->redisplay
&& BUF_PT (buffer) == w->last_point) && BUF_PT (buffer) == w->last_point)