diff options
| author | Stefan Monnier | 2014-04-29 11:16:07 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2014-04-29 11:16:07 -0400 |
| commit | 4d89ee379aae4a0d087fa6734524e59e37b9cbc5 (patch) | |
| tree | 72cf01645c99e0eda276f7d8b15e9d5532da0acb | |
| parent | 9c23779a9d8474af16cfadb1a08d2c05ececcbec (diff) | |
| download | emacs-4d89ee379aae4a0d087fa6734524e59e37b9cbc5.tar.gz emacs-4d89ee379aae4a0d087fa6734524e59e37b9cbc5.zip | |
* src/window.c (struct saved_window): Remove mark.
(Fset_window_configuration, save_window_save)
(compare_window_configurations): Don't touch marks any more.
* doc/lispref/windows.texi (Window Configurations, Window Configurations):
Window configs don't store marks any more.
| -rw-r--r-- | doc/lispref/ChangeLog | 10 | ||||
| -rw-r--r-- | doc/lispref/windows.texi | 6 | ||||
| -rw-r--r-- | etc/NEWS | 2 | ||||
| -rw-r--r-- | src/ChangeLog | 9 | ||||
| -rw-r--r-- | src/window.c | 39 |
5 files changed, 27 insertions, 39 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 04b2e91ee4b..9d15f65480c 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,8 +1,12 @@ | |||
| 1 | 2014-04-29 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * windows.texi (Window Configurations, Window Configurations): | ||
| 4 | Window configs don't store marks any more. | ||
| 5 | |||
| 1 | 2014-04-25 Eli Zaretskii <eliz@gnu.org> | 6 | 2014-04-25 Eli Zaretskii <eliz@gnu.org> |
| 2 | 7 | ||
| 3 | * strings.texi (Text Comparison): Mention | 8 | * strings.texi (Text Comparison): Mention equal-including-properties |
| 4 | equal-including-properties for when text properties of the strings | 9 | for when text properties of the strings matter for comparison. |
| 5 | matter for comparison. | ||
| 6 | 10 | ||
| 7 | 2014-04-22 Eli Zaretskii <eliz@gnu.org> | 11 | 2014-04-22 Eli Zaretskii <eliz@gnu.org> |
| 8 | 12 | ||
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index e4177836fa8..f2fe5c85a93 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi | |||
| @@ -3655,7 +3655,7 @@ This function returns the top pixel edge of window @var{window}. | |||
| 3655 | 3655 | ||
| 3656 | A @dfn{window configuration} records the entire layout of one | 3656 | A @dfn{window configuration} records the entire layout of one |
| 3657 | frame---all windows, their sizes, which buffers they contain, how those | 3657 | frame---all windows, their sizes, which buffers they contain, how those |
| 3658 | buffers are scrolled, and their values of point and the mark; also their | 3658 | buffers are scrolled, and their value of point; also their |
| 3659 | fringes, margins, and scroll bar settings. It also includes the value | 3659 | fringes, margins, and scroll bar settings. It also includes the value |
| 3660 | of @code{minibuffer-scroll-window}. As a special exception, the window | 3660 | of @code{minibuffer-scroll-window}. As a special exception, the window |
| 3661 | configuration does not record the value of point in the selected window | 3661 | configuration does not record the value of point in the selected window |
| @@ -3731,13 +3731,13 @@ This function returns @code{t} if @var{object} is a window configuration. | |||
| 3731 | 3731 | ||
| 3732 | @defun compare-window-configurations config1 config2 | 3732 | @defun compare-window-configurations config1 config2 |
| 3733 | This function compares two window configurations as regards the | 3733 | This function compares two window configurations as regards the |
| 3734 | structure of windows, but ignores the values of point and mark and the | 3734 | structure of windows, but ignores the values of point and the |
| 3735 | saved scrolling positions---it can return @code{t} even if those | 3735 | saved scrolling positions---it can return @code{t} even if those |
| 3736 | aspects differ. | 3736 | aspects differ. |
| 3737 | 3737 | ||
| 3738 | The function @code{equal} can also compare two window configurations; it | 3738 | The function @code{equal} can also compare two window configurations; it |
| 3739 | regards configurations as unequal if they differ in any respect, even a | 3739 | regards configurations as unequal if they differ in any respect, even a |
| 3740 | saved point or mark. | 3740 | saved point. |
| 3741 | @end defun | 3741 | @end defun |
| 3742 | 3742 | ||
| 3743 | @defun window-configuration-frame config | 3743 | @defun window-configuration-frame config |
| @@ -85,6 +85,8 @@ protocols as well as for "telnet" and "ftp" are passed to Tramp. | |||
| 85 | 85 | ||
| 86 | * Incompatible Lisp Changes in Emacs 24.5 | 86 | * Incompatible Lisp Changes in Emacs 24.5 |
| 87 | 87 | ||
| 88 | ** window-configurations do not record the buffers's marks any more. | ||
| 89 | |||
| 88 | ** inhibit-modification-hooks now also inhibits lock-file checks as well as | 90 | ** inhibit-modification-hooks now also inhibits lock-file checks as well as |
| 89 | active region handling. | 91 | active region handling. |
| 90 | 92 | ||
diff --git a/src/ChangeLog b/src/ChangeLog index 619dce7a731..0fba7894443 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2014-04-29 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * window.c (struct saved_window): Remove mark. | ||
| 4 | (Fset_window_configuration, save_window_save) | ||
| 5 | (compare_window_configurations): Don't touch marks any more. | ||
| 6 | |||
| 1 | 2014-04-28 Paul Eggert <eggert@cs.ucla.edu> | 7 | 2014-04-28 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 8 | ||
| 3 | Use bits_word for gcmarkbits. | 9 | Use bits_word for gcmarkbits. |
| @@ -19,8 +25,7 @@ | |||
| 19 | 2014-04-25 Eli Zaretskii <eliz@gnu.org> | 25 | 2014-04-25 Eli Zaretskii <eliz@gnu.org> |
| 20 | 26 | ||
| 21 | * search.c (Fnewline_cache_check): Don't try to count newlines | 27 | * search.c (Fnewline_cache_check): Don't try to count newlines |
| 22 | outside the buffer's restriction, as find_newline doesn't support | 28 | outside the buffer's restriction, as find_newline doesn't support that. |
| 23 | that. | ||
| 24 | 29 | ||
| 25 | 2014-04-24 Stefan Monnier <monnier@iro.umontreal.ca> | 30 | 2014-04-24 Stefan Monnier <monnier@iro.umontreal.ca> |
| 26 | 31 | ||
diff --git a/src/window.c b/src/window.c index ebcc41180f3..919cc7b1c4e 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -5953,12 +5953,12 @@ struct save_window_data | |||
| 5953 | int frame_menu_bar_height, frame_tool_bar_height; | 5953 | int frame_menu_bar_height, frame_tool_bar_height; |
| 5954 | }; | 5954 | }; |
| 5955 | 5955 | ||
| 5956 | /* This is saved as a Lisp_Vector */ | 5956 | /* This is saved as a Lisp_Vector. */ |
| 5957 | struct saved_window | 5957 | struct saved_window |
| 5958 | { | 5958 | { |
| 5959 | struct vectorlike_header header; | 5959 | struct vectorlike_header header; |
| 5960 | 5960 | ||
| 5961 | Lisp_Object window, buffer, start, pointm, mark; | 5961 | Lisp_Object window, buffer, start, pointm; |
| 5962 | Lisp_Object pixel_left, pixel_top, pixel_height, pixel_width; | 5962 | Lisp_Object pixel_left, pixel_top, pixel_height, pixel_width; |
| 5963 | Lisp_Object left_col, top_line, total_cols, total_lines; | 5963 | Lisp_Object left_col, top_line, total_cols, total_lines; |
| 5964 | Lisp_Object normal_cols, normal_lines; | 5964 | Lisp_Object normal_cols, normal_lines; |
| @@ -6260,17 +6260,6 @@ the return value is nil. Otherwise the value is t. */) | |||
| 6260 | set_marker_restricted (w->start, p->start, w->contents); | 6260 | set_marker_restricted (w->start, p->start, w->contents); |
| 6261 | set_marker_restricted (w->pointm, p->pointm, | 6261 | set_marker_restricted (w->pointm, p->pointm, |
| 6262 | w->contents); | 6262 | w->contents); |
| 6263 | if (MARKERP (p->mark) && !XMARKER (p->mark)->buffer | ||
| 6264 | && !NILP (BVAR (XBUFFER (w->contents), mark_active))) | ||
| 6265 | { | ||
| 6266 | struct buffer *old = current_buffer; | ||
| 6267 | extern Lisp_Object Qdeactivate_mark; | ||
| 6268 | set_buffer_internal (XBUFFER (w->contents)); | ||
| 6269 | call0 (Qdeactivate_mark); | ||
| 6270 | set_buffer_internal (old); | ||
| 6271 | } | ||
| 6272 | Fset_marker (BVAR (XBUFFER (w->contents), mark), | ||
| 6273 | p->mark, w->contents); | ||
| 6274 | 6263 | ||
| 6275 | /* As documented in Fcurrent_window_configuration, don't | 6264 | /* As documented in Fcurrent_window_configuration, don't |
| 6276 | restore the location of point in the buffer which was | 6265 | restore the location of point in the buffer which was |
| @@ -6626,27 +6615,16 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, int i) | |||
| 6626 | 6615 | ||
| 6627 | p->start = Fcopy_marker (w->start, Qnil); | 6616 | p->start = Fcopy_marker (w->start, Qnil); |
| 6628 | p->start_at_line_beg = w->start_at_line_beg ? Qt : Qnil; | 6617 | p->start_at_line_beg = w->start_at_line_beg ? Qt : Qnil; |
| 6629 | |||
| 6630 | tem = BVAR (XBUFFER (w->contents), mark); | ||
| 6631 | p->mark = Fcopy_marker (tem, Qnil); | ||
| 6632 | } | 6618 | } |
| 6633 | else | 6619 | else |
| 6634 | { | 6620 | { |
| 6635 | p->pointm = Qnil; | 6621 | p->pointm = Qnil; |
| 6636 | p->start = Qnil; | 6622 | p->start = Qnil; |
| 6637 | p->mark = Qnil; | ||
| 6638 | p->start_at_line_beg = Qnil; | 6623 | p->start_at_line_beg = Qnil; |
| 6639 | } | 6624 | } |
| 6640 | 6625 | ||
| 6641 | if (NILP (w->parent)) | 6626 | p->parent = NILP (w->parent) ? Qnil : XWINDOW (w->parent)->temslot; |
| 6642 | p->parent = Qnil; | 6627 | p->prev = NILP (w->prev) ? Qnil : XWINDOW (w->prev)->temslot; |
| 6643 | else | ||
| 6644 | p->parent = XWINDOW (w->parent)->temslot; | ||
| 6645 | |||
| 6646 | if (NILP (w->prev)) | ||
| 6647 | p->prev = Qnil; | ||
| 6648 | else | ||
| 6649 | p->prev = XWINDOW (w->prev)->temslot; | ||
| 6650 | 6628 | ||
| 6651 | if (WINDOWP (w->contents)) | 6629 | if (WINDOWP (w->contents)) |
| 6652 | i = save_window_save (w->contents, vector, i); | 6630 | i = save_window_save (w->contents, vector, i); |
| @@ -6660,8 +6638,8 @@ DEFUN ("current-window-configuration", Fcurrent_window_configuration, | |||
| 6660 | doc: /* Return an object representing the current window configuration of FRAME. | 6638 | doc: /* Return an object representing the current window configuration of FRAME. |
| 6661 | If FRAME is nil or omitted, use the selected frame. | 6639 | If FRAME is nil or omitted, use the selected frame. |
| 6662 | This describes the number of windows, their sizes and current buffers, | 6640 | This describes the number of windows, their sizes and current buffers, |
| 6663 | and for each displayed buffer, where display starts, and the positions of | 6641 | and for each displayed buffer, where display starts, and the position of |
| 6664 | point and mark. An exception is made for point in the current buffer: | 6642 | point. An exception is made for point in the current buffer: |
| 6665 | its value is -not- saved. | 6643 | its value is -not- saved. |
| 6666 | This also records the currently selected frame, and FRAME's focus | 6644 | This also records the currently selected frame, and FRAME's focus |
| 6667 | redirection (see `redirect-frame-focus'). The variable | 6645 | redirection (see `redirect-frame-focus'). The variable |
| @@ -7105,8 +7083,7 @@ compare_window_configurations (Lisp_Object configuration1, | |||
| 7105 | || !EQ (sw1->min_hscroll, sw2->min_hscroll) | 7083 | || !EQ (sw1->min_hscroll, sw2->min_hscroll) |
| 7106 | || !EQ (sw1->start_at_line_beg, sw2->start_at_line_beg) | 7084 | || !EQ (sw1->start_at_line_beg, sw2->start_at_line_beg) |
| 7107 | || NILP (Fequal (sw1->start, sw2->start)) | 7085 | || NILP (Fequal (sw1->start, sw2->start)) |
| 7108 | || NILP (Fequal (sw1->pointm, sw2->pointm)) | 7086 | || NILP (Fequal (sw1->pointm, sw2->pointm)))) |
| 7109 | || NILP (Fequal (sw1->mark, sw2->mark)))) | ||
| 7110 | || !EQ (sw1->left_margin_cols, sw2->left_margin_cols) | 7087 | || !EQ (sw1->left_margin_cols, sw2->left_margin_cols) |
| 7111 | || !EQ (sw1->right_margin_cols, sw2->right_margin_cols) | 7088 | || !EQ (sw1->right_margin_cols, sw2->right_margin_cols) |
| 7112 | || !EQ (sw1->left_fringe_width, sw2->left_fringe_width) | 7089 | || !EQ (sw1->left_fringe_width, sw2->left_fringe_width) |
| @@ -7123,7 +7100,7 @@ compare_window_configurations (Lisp_Object configuration1, | |||
| 7123 | DEFUN ("compare-window-configurations", Fcompare_window_configurations, | 7100 | DEFUN ("compare-window-configurations", Fcompare_window_configurations, |
| 7124 | Scompare_window_configurations, 2, 2, 0, | 7101 | Scompare_window_configurations, 2, 2, 0, |
| 7125 | doc: /* Compare two window configurations as regards the structure of windows. | 7102 | doc: /* Compare two window configurations as regards the structure of windows. |
| 7126 | This function ignores details such as the values of point and mark | 7103 | This function ignores details such as the values of point |
| 7127 | and scrolling positions. */) | 7104 | and scrolling positions. */) |
| 7128 | (Lisp_Object x, Lisp_Object y) | 7105 | (Lisp_Object x, Lisp_Object y) |
| 7129 | { | 7106 | { |