diff options
| author | Fabián Ezequiel Gallina | 2015-01-28 00:59:34 -0300 |
|---|---|---|
| committer | Fabián Ezequiel Gallina | 2015-01-28 00:59:34 -0300 |
| commit | d7a89815b6d69c3b1793d34bcad8bf0aa21d48c8 (patch) | |
| tree | 6ac62b66bd5386355c96551da34416036cf279b7 /src | |
| parent | 3a8b7013042adae3c27327a75662fd8e884d4896 (diff) | |
| parent | d279e6680842b872ae3aab1fb429b1879db50f7f (diff) | |
| download | emacs-d7a89815b6d69c3b1793d34bcad8bf0aa21d48c8.tar.gz emacs-d7a89815b6d69c3b1793d34bcad8bf0aa21d48c8.zip | |
Merge from origin/emacs-24
d279e66 Fix assertion violations in try_window_id (Bug#19511)
031eadc Fix dired quoting bug with "Hit`N`Hide"
5981b4b More doc fixes for bug#19502 -- make documentation less X-specific.
143516c src/emacs.c (syms_of_emacs) <system-configuration>: Doc fix. (Bug#19502)
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 17 | ||||
| -rw-r--r-- | src/emacs.c | 4 | ||||
| -rw-r--r-- | src/w32fns.c | 35 | ||||
| -rw-r--r-- | src/xdisp.c | 19 | ||||
| -rw-r--r-- | src/xfns.c | 21 |
5 files changed, 76 insertions, 20 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 8e5166e22be..45946eb4a69 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2015-01-05 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (move_it_to, try_cursor_movement): Don't use the window | ||
| 4 | end information if the window_end_valid flag is unset. | ||
| 5 | (try_window_id): If the call to display_line invalidated the | ||
| 6 | window end information, give up the try_window_id optimization. | ||
| 7 | (Bug#19511) | ||
| 8 | |||
| 9 | 2015-01-04 Eli Zaretskii <eliz@gnu.org> | ||
| 10 | |||
| 11 | * w32fns.c (Fx_server_version, Fx_server_vendor): Doc fix. | ||
| 12 | |||
| 13 | * xfns.c (Fx_server_version, Fx_server_vendor): Doc fix. | ||
| 14 | |||
| 15 | * emacs.c (syms_of_emacs) <system-configuration>: Doc fix. | ||
| 16 | (Bug#19502) | ||
| 17 | |||
| 1 | 2015-01-27 Paul Eggert <eggert@cs.ucla.edu> | 18 | 2015-01-27 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 19 | ||
| 3 | Use bool for boolean in xfaces.c | 20 | Use bool for boolean in xfaces.c |
diff --git a/src/emacs.c b/src/emacs.c index 345fe3e75b8..37202a14a99 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -2392,9 +2392,7 @@ hpux, irix, usg-unix-v) indicates some sort of Unix system. */); | |||
| 2392 | /* See configure.ac (and config.nt) for the possible SYSTEM_TYPEs. */ | 2392 | /* See configure.ac (and config.nt) for the possible SYSTEM_TYPEs. */ |
| 2393 | 2393 | ||
| 2394 | DEFVAR_LISP ("system-configuration", Vsystem_configuration, | 2394 | DEFVAR_LISP ("system-configuration", Vsystem_configuration, |
| 2395 | doc: /* Value is string indicating configuration Emacs was built for. | 2395 | doc: /* Value is string indicating configuration Emacs was built for. */); |
| 2396 | On MS-Windows, the value reflects the OS flavor and version on which | ||
| 2397 | Emacs is running. */); | ||
| 2398 | Vsystem_configuration = build_string (EMACS_CONFIGURATION); | 2396 | Vsystem_configuration = build_string (EMACS_CONFIGURATION); |
| 2399 | 2397 | ||
| 2400 | DEFVAR_LISP ("system-configuration-options", Vsystem_configuration_options, | 2398 | DEFVAR_LISP ("system-configuration-options", Vsystem_configuration_options, |
diff --git a/src/w32fns.c b/src/w32fns.c index c269c4f8e68..deda2eab26d 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -4895,25 +4895,38 @@ If omitted or nil, that stands for the selected frame's display. */) | |||
| 4895 | } | 4895 | } |
| 4896 | 4896 | ||
| 4897 | DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0, | 4897 | DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0, |
| 4898 | doc: /* Return the "vendor ID" string of the W32 system (Microsoft). | 4898 | doc: /* Return the "vendor ID" string of the GUI software on TERMINAL. |
| 4899 | The optional argument DISPLAY specifies which display to ask about. | 4899 | |
| 4900 | DISPLAY should be either a frame or a display name (a string). | 4900 | \(Labeling every distributor as a "vendor" embodies the false assumption |
| 4901 | that operating systems cannot be developed and distributed noncommercially.) | ||
| 4902 | |||
| 4903 | For GNU and Unix systems, this queries the X server software; for | ||
| 4904 | MS-Windows, this queries the OS. | ||
| 4905 | |||
| 4906 | The optional argument TERMINAL specifies which display to ask about. | ||
| 4907 | TERMINAL should be a terminal object, a frame or a display name (a string). | ||
| 4901 | If omitted or nil, that stands for the selected frame's display. */) | 4908 | If omitted or nil, that stands for the selected frame's display. */) |
| 4902 | (Lisp_Object display) | 4909 | (Lisp_Object terminal) |
| 4903 | { | 4910 | { |
| 4904 | return build_string ("Microsoft Corp."); | 4911 | return build_string ("Microsoft Corp."); |
| 4905 | } | 4912 | } |
| 4906 | 4913 | ||
| 4907 | DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0, | 4914 | DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0, |
| 4908 | doc: /* Return the version numbers of the server of DISPLAY. | 4915 | doc: /* Return the version numbers of the GUI software on TERMINAL. |
| 4909 | The value is a list of three integers: the major and minor | 4916 | The value is a list of three integers specifying the version of the GUI |
| 4910 | version numbers of the X Protocol in use, and the distributor-specific | 4917 | software in use. |
| 4911 | release number. See also the function `x-server-vendor'. | ||
| 4912 | 4918 | ||
| 4913 | The optional argument DISPLAY specifies which display to ask about. | 4919 | For GNU and Unix system, the first 2 numbers are the version of the X |
| 4914 | DISPLAY should be either a frame or a display name (a string). | 4920 | Protocol used on TERMINAL and the 3rd number is the distributor-specific |
| 4921 | release number. For MS-Windows, the 3 numbers report the version and | ||
| 4922 | the build number of the OS. | ||
| 4923 | |||
| 4924 | See also the function `x-server-vendor'. | ||
| 4925 | |||
| 4926 | The optional argument TERMINAL specifies which display to ask about. | ||
| 4927 | TERMINAL should be a terminal object, a frame or a display name (a string). | ||
| 4915 | If omitted or nil, that stands for the selected frame's display. */) | 4928 | If omitted or nil, that stands for the selected frame's display. */) |
| 4916 | (Lisp_Object display) | 4929 | (Lisp_Object terminal) |
| 4917 | { | 4930 | { |
| 4918 | return list3i (w32_major_version, w32_minor_version, w32_build_number); | 4931 | return list3i (w32_major_version, w32_minor_version, w32_build_number); |
| 4919 | } | 4932 | } |
diff --git a/src/xdisp.c b/src/xdisp.c index 71871ec5885..8d15febddc6 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -9263,6 +9263,7 @@ move_it_to (struct it *it, ptrdiff_t to_charpos, int to_x, int to_y, int to_vpos | |||
| 9263 | && it->current_x == it->last_visible_x - 1 | 9263 | && it->current_x == it->last_visible_x - 1 |
| 9264 | && it->c != '\n' | 9264 | && it->c != '\n' |
| 9265 | && it->c != '\t' | 9265 | && it->c != '\t' |
| 9266 | && it->w->window_end_valid | ||
| 9266 | && it->vpos < it->w->window_end_vpos) | 9267 | && it->vpos < it->w->window_end_vpos) |
| 9267 | { | 9268 | { |
| 9268 | it->continuation_lines_width += it->current_x; | 9269 | it->continuation_lines_width += it->current_x; |
| @@ -15383,7 +15384,8 @@ try_cursor_movement (Lisp_Object window, struct text_pos startp, int *scroll_ste | |||
| 15383 | /* Likewise there was a check whether window_end_vpos is nil or larger | 15384 | /* Likewise there was a check whether window_end_vpos is nil or larger |
| 15384 | than the window. Now window_end_vpos is int and so never nil, but | 15385 | than the window. Now window_end_vpos is int and so never nil, but |
| 15385 | let's leave eassert to check whether it fits in the window. */ | 15386 | let's leave eassert to check whether it fits in the window. */ |
| 15386 | eassert (w->window_end_vpos < w->current_matrix->nrows); | 15387 | eassert (!w->window_end_valid |
| 15388 | || w->window_end_vpos < w->current_matrix->nrows); | ||
| 15387 | 15389 | ||
| 15388 | /* Handle case where text has not changed, only point, and it has | 15390 | /* Handle case where text has not changed, only point, and it has |
| 15389 | not moved off the frame. */ | 15391 | not moved off the frame. */ |
| @@ -18123,6 +18125,21 @@ try_window_id (struct window *w) | |||
| 18123 | if (f->fonts_changed) | 18125 | if (f->fonts_changed) |
| 18124 | return -1; | 18126 | return -1; |
| 18125 | 18127 | ||
| 18128 | /* The redisplay iterations in display_line above could have | ||
| 18129 | triggered font-lock, which could have done something that | ||
| 18130 | invalidates IT->w window's end-point information, on which we | ||
| 18131 | rely below. E.g., one package, which will remain unnamed, used | ||
| 18132 | to install a font-lock-fontify-region-function that called | ||
| 18133 | bury-buffer, whose side effect is to switch the buffer displayed | ||
| 18134 | by IT->w, and that predictably resets IT->w's window_end_valid | ||
| 18135 | flag, which we already tested at the entry to this function. | ||
| 18136 | Amply punish such packages/modes by giving up on this | ||
| 18137 | optimization in those cases. */ | ||
| 18138 | if (!w->window_end_valid) | ||
| 18139 | { | ||
| 18140 | clear_glyph_matrix (w->desired_matrix); | ||
| 18141 | return -1; | ||
| 18142 | } | ||
| 18126 | 18143 | ||
| 18127 | /* Compute differences in buffer positions, y-positions etc. for | 18144 | /* Compute differences in buffer positions, y-positions etc. for |
| 18128 | lines reused at the bottom of the window. Compute what we can | 18145 | lines reused at the bottom of the window. Compute what we can |
diff --git a/src/xfns.c b/src/xfns.c index 9dd00868d7b..234915a8ce2 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -3542,10 +3542,15 @@ If omitted or nil, that stands for the selected frame's display. */) | |||
| 3542 | } | 3542 | } |
| 3543 | 3543 | ||
| 3544 | DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0, | 3544 | DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0, |
| 3545 | doc: /* Return the "vendor ID" string of the X server of display TERMINAL. | 3545 | doc: /* Return the "vendor ID" string of the GUI software on TERMINAL. |
| 3546 | |||
| 3546 | \(Labeling every distributor as a "vendor" embodies the false assumption | 3547 | \(Labeling every distributor as a "vendor" embodies the false assumption |
| 3547 | that operating systems cannot be developed and distributed noncommercially.) | 3548 | that operating systems cannot be developed and distributed noncommercially.) |
| 3548 | The optional argument TERMINAL specifies which display to ask about. | 3549 | The optional argument TERMINAL specifies which display to ask about. |
| 3550 | |||
| 3551 | For GNU and Unix systems, this queries the X server software; for | ||
| 3552 | MS-Windows, this queries the OS. | ||
| 3553 | |||
| 3549 | TERMINAL should be a terminal object, a frame or a display name (a string). | 3554 | TERMINAL should be a terminal object, a frame or a display name (a string). |
| 3550 | If omitted or nil, that stands for the selected frame's display. */) | 3555 | If omitted or nil, that stands for the selected frame's display. */) |
| 3551 | (Lisp_Object terminal) | 3556 | (Lisp_Object terminal) |
| @@ -3558,10 +3563,16 @@ If omitted or nil, that stands for the selected frame's display. */) | |||
| 3558 | } | 3563 | } |
| 3559 | 3564 | ||
| 3560 | DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0, | 3565 | DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0, |
| 3561 | doc: /* Return the version numbers of the X server of display TERMINAL. | 3566 | doc: /* Return the version numbers of the GUI software on TERMINAL. |
| 3562 | The value is a list of three integers: the major and minor | 3567 | The value is a list of three integers specifying the version of the GUI |
| 3563 | version numbers of the X Protocol in use, and the distributor-specific release | 3568 | software in use. |
| 3564 | number. See also the function `x-server-vendor'. | 3569 | |
| 3570 | For GNU and Unix system, the first 2 numbers are the version of the X | ||
| 3571 | Protocol used on TERMINAL and the 3rd number is the distributor-specific | ||
| 3572 | release number. For MS-Windows, the 3 numbers report the version and | ||
| 3573 | the build number of the OS. | ||
| 3574 | |||
| 3575 | See also the function `x-server-vendor'. | ||
| 3565 | 3576 | ||
| 3566 | The optional argument TERMINAL specifies which display to ask about. | 3577 | The optional argument TERMINAL specifies which display to ask about. |
| 3567 | TERMINAL should be a terminal object, a frame or a display name (a string). | 3578 | TERMINAL should be a terminal object, a frame or a display name (a string). |