# HG changeset patch # User Richard M. Stallman # Date 864974336 0 # Node ID 89969b579bebf5b415186efd330bab55c38ee4de # Parent 0696d4c9aa15586a2ba4a03d81022e6b22c61f05 (file-name-non-special): Special handling for substitute-in-file-name operation. diff -r 0696d4c9aa15 -r 89969b579beb lisp/files.el --- a/lisp/files.el Fri May 30 05:49:27 1997 +0000 +++ b/lisp/files.el Fri May 30 06:38:56 1997 +0000 @@ -2956,6 +2956,9 @@ ;; in the return value. ;; So just avoid stripping it in the first place. '((expand-file-name . nil) + ;; `identity' means just return the first arg + ;; as stripped of its quoting. + (substitute-in-file-name . identity) (file-name-directory . nil) (file-name-as-directory . nil) (directory-file-name . nil) @@ -2970,13 +2973,15 @@ (arguments (copy-sequence arguments))) ;; Strip off the /: from the file names that have this handler. (save-match-data - (while file-arg-indices + (while (consp file-arg-indices) (and (nth (car file-arg-indices) arguments) (string-match "\\`/:" (nth (car file-arg-indices) arguments)) (setcar (nthcdr (car file-arg-indices) arguments) (substring (nth (car file-arg-indices) arguments) 2))) (setq file-arg-indices (cdr file-arg-indices)))) - (apply operation arguments))) + (if (eq file-arg-indices 'identity) + (car arguments) + (apply operation arguments)))) (define-key ctl-x-map "\C-f" 'find-file) (define-key ctl-x-map "\C-q" 'toggle-read-only)