From 47c7adae7df3f637e61c61c5c75487f999265b90 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 27 Jan 1996 00:14:59 +0000 Subject: [PATCH] (command-line-normalize-file-name): New function. (command-line-1): Call it to handle foo//bar in non-Emacs fashion. --- lisp/startup.el | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lisp/startup.el b/lisp/startup.el index abe5b3b79c7..4ef04665b70 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -841,6 +841,7 @@ Type \\[describe-distribution] for information on getting the latest version.")) (setq tem argval) (setq tem (car command-line-args-left) command-line-args-left (cdr command-line-args-left))) + (setq tem (command-line-normalize-file-name tem)) (setq extra-load-path (cons (expand-file-name tem) extra-load-path)) (setq load-path (append (nreverse extra-load-path) @@ -851,7 +852,7 @@ Type \\[describe-distribution] for information on getting the latest version.")) (setq tem argval) (setq tem (car command-line-args-left) command-line-args-left (cdr command-line-args-left))) - (let ((file tem)) + (let ((file (command-line-normalize-file-name tem))) ;; Take file from default dir if it exists there; ;; otherwise let `load' search for it. (if (file-exists-p (expand-file-name file)) @@ -864,7 +865,7 @@ Type \\[describe-distribution] for information on getting the latest version.")) command-line-args-left (cdr command-line-args-left))) (or (stringp tem) (error "File name omitted from `-insert' option")) - (insert-file-contents tem)) + (insert-file-contents (command-line-normalize-file-name tem))) ((string-equal argi "-kill") (kill-emacs t)) ((string-match "^\\+[0-9]+\\'" argi) @@ -887,6 +888,7 @@ Type \\[describe-distribution] for information on getting the latest version.")) (if (string-match "\\`-" argi) (error "Unknown option `%s'" argi)) (setq file-count (1+ file-count)) + (setq argi (command-line-normalize-file-name argi)) (cond ((= file-count 1) (setq first-file-buffer (find-file (expand-file-name argi dir)))) @@ -902,4 +904,10 @@ Type \\[describe-distribution] for information on getting the latest version.")) (progn (other-window 1) (buffer-menu))))))) +(defun command-line-normalize-file-name (file) + "Collapse multiple slashes to one, to handle non-Emacs file names." + (while (string-match "//+" file) + (setq file (replace-match "/" t t file))) + file) + ;;; startup.el ends here -- 2.39.2