changeset 14386:4e5b28d28a5f

(command-line-normalize-file-name): New function. (command-line-1): Call it to handle foo//bar in non-Emacs fashion.
author Richard M. Stallman <rms@gnu.org>
date Sat, 27 Jan 1996 00:14:59 +0000
parents aa3232e9077f
children 9c3c642de62a
files lisp/startup.el
diffstat 1 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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