changeset 63154:ef765645a5cf

*** empty log message ***
author Kim F. Storm <storm@cua.dk>
date Wed, 08 Jun 2005 23:04:27 +0000
parents 286783f742e6
children 911109216331
files etc/NEWS lisp/ChangeLog lispref/ChangeLog src/ChangeLog
diffstat 4 files changed, 45 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/etc/NEWS	Wed Jun 08 23:03:29 2005 +0000
+++ b/etc/NEWS	Wed Jun 08 23:04:27 2005 +0000
@@ -3529,6 +3529,14 @@
 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
 that end a sentence without following spaces.
--- a/lisp/ChangeLog	Wed Jun 08 23:03:29 2005 +0000
+++ b/lisp/ChangeLog	Wed Jun 08 23:04:27 2005 +0000
@@ -1,3 +1,11 @@
+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
--- a/lispref/ChangeLog	Wed Jun 08 23:03:29 2005 +0000
+++ b/lispref/ChangeLog	Wed Jun 08 23:04:27 2005 +0000
@@ -1,3 +1,8 @@
+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
--- a/src/ChangeLog	Wed Jun 08 23:03:29 2005 +0000
+++ b/src/ChangeLog	Wed Jun 08 23:04:27 2005 +0000
@@ -1,3 +1,26 @@
+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:
@@ -14,7 +37,7 @@
 
 	* 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>