# HG changeset patch # User Richard M. Stallman # Date 822701699 0 # Node ID 4e5b28d28a5fcc5485f868c2237dcacc585d1d32 # Parent aa3232e9077fc03b3dd0c5fae65f2d1834b854b9 (command-line-normalize-file-name): New function. (command-line-1): Call it to handle foo//bar in non-Emacs fashion. diff -r aa3232e9077f -r 4e5b28d28a5f lisp/startup.el --- a/lisp/startup.el Fri Jan 26 23:57:39 1996 +0000 +++ b/lisp/startup.el Sat Jan 27 00:14:59 1996 +0000 @@ -841,6 +841,7 @@ (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 @@ (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 @@ 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 @@ (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 @@ (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