# HG changeset patch # User Erik Naggum # Date 855106364 0 # Node ID c7683cba14c7d1a22a0903c25c8cd7fb715f1c3a # Parent 188c4da9bf5ddeaa545efbb62b9a436e679b1520 (file-relative-name): Protect the match-data. diff -r 188c4da9bf5d -r c7683cba14c7 lisp/files.el --- a/lisp/files.el Tue Feb 04 18:21:29 1997 +0000 +++ b/lisp/files.el Wed Feb 05 01:32:44 1997 +0000 @@ -1830,14 +1830,15 @@ (defun file-relative-name (filename &optional directory) "Convert FILENAME to be relative to DIRECTORY (default: default-directory)." - (setq filename (expand-file-name filename) - directory (file-name-as-directory (expand-file-name - (or directory default-directory)))) - (let ((ancestor "")) - (while (not (string-match (concat "^" (regexp-quote directory)) filename)) - (setq directory (file-name-directory (substring directory 0 -1)) - ancestor (concat "../" ancestor))) - (concat ancestor (substring filename (match-end 0))))) + (save-match-data + (setq filename (expand-file-name filename) + directory (file-name-as-directory + (expand-file-name (or directory default-directory)))) + (let ((ancestor "")) + (while (not (string-match (concat "^" (regexp-quote directory)) filename)) + (setq directory (file-name-directory (substring directory 0 -1)) + ancestor (concat "../" ancestor))) + (concat ancestor (substring filename (match-end 0)))))) (defun save-buffer (&optional args) "Save current buffer in visited file if modified. Versions described below.