From: Stefan Monnier <monnier@iro.umontreal.ca>
Date: Sat, 23 May 2020 13:33:41 +0000 (-0400)
Subject: * lisp/subr.el (save-match-data): Clarify use in docstring
X-Git-Tag: emacs-27.1-rc1~110
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d6a0b66a0cf44389c7474a60dd23cbf666e78537;p=emacs.git

* lisp/subr.el (save-match-data): Clarify use in docstring
---

diff --git a/lisp/subr.el b/lisp/subr.el
index 33194e4ffa2..2b3231b879b 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -4088,7 +4088,11 @@ MODES is as for `set-default-file-modes'."
 ;; now, but it generates slower code.
 (defmacro save-match-data (&rest body)
   "Execute the BODY forms, restoring the global value of the match data.
-The value returned is the value of the last form in BODY."
+The value returned is the value of the last form in BODY.
+NOTE: The convention in Elisp is that any function, except for a few
+exceptions like car/assoc/+/goto-char, can clobber the match data,
+so `save-match-data' should normally be used to save *your* match data
+rather than your caller's match data."
   ;; It is better not to use backquote here,
   ;; because that makes a bootstrapping problem
   ;; if you need to recompile all the Lisp files using interpreted code.