From: Richard M. Stallman Date: Fri, 30 May 1997 06:38:56 +0000 (+0000) Subject: (file-name-non-special): Special handling for X-Git-Tag: emacs-20.1~1906 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=18b9dced5bd5e58f9df7961754404df6987afe92;p=emacs.git (file-name-non-special): Special handling for substitute-in-file-name operation. --- diff --git a/lisp/files.el b/lisp/files.el index 01873bf9d93..d481f3370ed 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2956,6 +2956,9 @@ With prefix arg, silently save all file-visiting buffers, then kill." ;; 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 @@ With prefix arg, silently save all file-visiting buffers, then kill." (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)