element, if the last match was on a buffer. `set-match-data'
accepts such a list for restoring the match state.
++++
+*** Functions `match-data' and `set-match-data' now have an optional
+argument `reseat'. When non-nil, all markers in the match data list
+passed to these function will be reseated to point to nowhere, and if
+the value of `reseat' is `evaporate', the markers are put onto the
+free list. Note that no other references to those markers must exist
+if `evaporate' is specified for the `reseat' argument.
+
+++
*** The default value of `sentence-end' is now defined using the new
variable `sentence-end-without-space', which contains such characters
+2005-06-09 Kim F. Storm <storm@cua.dk>
+
+ * subr.el (save-match-data): Add RESEAT arg `evaporate' to
+ set-match-data to free markers in match-data.
+
+ * replace.el (replace-match-data): Pass RESEAT arg `t' to
+ match-data to unchain markers in match-data.
+
2005-06-08 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/debug.el (debug): Don't iconify if we know we'll re-enter
+2005-06-09 Kim F. Storm <storm@cua.dk>
+
+ * searching.texi (Entire Match Data): Explain new `reseat' argument to
+ match-data and set-match-data.
+
2005-06-08 Richard M. Stallman <rms@gnu.org>
* searching.texi (Entire Match Data): Clarify when match-data
+2005-06-09 Kim F. Storm <storm@cua.dk>
+
+ * search.c (Fmatch_data): Add optional RESEAT arg. Unchain markers
+ in REUSE list if non-nil; free them if equal to evaporate.
+ (Fset_match_data): Add optional RESEAT arg. Unchain markers in LIST
+ if non-nil; free them if equal to evaporate. Use XCAR/XCDR.
+ (restore_search_regs): Rename from restore_match_data. Uses changed.
+ (unwind_set_match_data): New function.
+ (record_unwind_save_match_data): New function like save-match-data.
+
+ * lisp.h (Fmatch_data, Fset_match_data): Fix EXFUN.
+ (record_unwind_save_match_data): Add prototype.
+ (restore_search_regs): Rename from restore_match_data.
+
+ * composite.c (compose_chars_in_text):
+ * eval.c (do_autoload):
+ * macmenu.c (set_frame_menubar):
+ * process.c (read_process_output, exec_sentinel):
+ * xmenu.c (set_frame_menubar):
+ * xdisp.c (prepare_menu_bars, update_menu_bar, update_tool_bar):
+ * w32menu.c (set_frame_menubar):
+ Use record_unwind_save_match_data.
+
2005-06-08 Richard M. Stallman <rms@gnu.org>
* xdisp.c (get_next_display_element): Alter previous change:
* xdisp.c (note_mode_line_or_margin_highlight): Check
the overlapping of re-rendering area to avoid flickering.
- (note_mouse_highlight): Call clear_mouse_face if PART
+ (note_mouse_highlight): Call clear_mouse_face if PART
is not ON_MODE_LINE nor ON_HEADER_LINE.
2005-06-07 Kim F. Storm <storm@cua.dk>