]> git.eshelyaron.com Git - emacs.git/commitdiff
(command-line-normalize-file-name): New function.
authorRichard M. Stallman <rms@gnu.org>
Sat, 27 Jan 1996 00:14:59 +0000 (00:14 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 27 Jan 1996 00:14:59 +0000 (00:14 +0000)
(command-line-1): Call it to handle foo//bar in non-Emacs fashion.

lisp/startup.el

index abe5b3b79c75a20027bbad37de7f4afd08f1d90a..4ef04665b706c4b9d2bacd72a94d090341298433 100644 (file)
@@ -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