# HG changeset patch # User Kim F. Storm <storm@cua.dk> # Date 1118271867 0 # Node ID ef765645a5cf60d33373cc448516e9ea6850ae66 # Parent 286783f742e6f766b37cc28e3c6e475f89b64221 *** empty log message *** diff -r 286783f742e6 -r ef765645a5cf etc/NEWS --- 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. diff -r 286783f742e6 -r ef765645a5cf lisp/ChangeLog --- 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 diff -r 286783f742e6 -r ef765645a5cf lispref/ChangeLog --- 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 diff -r 286783f742e6 -r ef765645a5cf src/ChangeLog --- 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>