From c18404773b57b6f96230a0268e5fedf27ffa64b9 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 29 Apr 1998 05:24:09 +0000 Subject: [PATCH] (ange-ftp-real-expand-file-name-actual): Locally bind old-name, new-name, final, drive-letter. --- lisp/ange-ftp.el | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/lisp/ange-ftp.el b/lisp/ange-ftp.el index 0d29b9c5dc5..7230044e499 100644 --- a/lisp/ange-ftp.el +++ b/lisp/ange-ftp.el @@ -5676,17 +5676,18 @@ Other orders of $ and _ seem to all work just fine.") ;; If a drive letter has been added, remote it. Otherwise, if the drive ;; letter existed before, leave it. (defun ange-ftp-real-expand-file-name-actual (&rest args) - (setq old-name (car args)) - (setq new-name (ange-ftp-run-real-handler 'expand-file-name args)) - (setq drive-letter (substring new-name 0 2)) - ;; I'd like to distill the following lines into one (if) statement - ;; removing the need for the temp final variable - (setq final new-name) - (if (not (equal (substring old-name 0 1) "~")) - (if (or (< (length old-name) 2) - (not (string-match "/[a-zA-Z]:" old-name))) - (setq final (substring new-name 2)))) - final) + (let (old-name new-name final drive-letter) + (setq old-name (car args)) + (setq new-name (ange-ftp-run-real-handler 'expand-file-name args)) + (setq drive-letter (substring new-name 0 2)) + ;; I'd like to distill the following lines into one (if) statement + ;; removing the need for the temp final variable + (setq final new-name) + (if (not (equal (substring old-name 0 1) "~")) + (if (or (< (length old-name) 2) + (not (string-match "/[a-zA-Z]:" old-name))) + (setq final (substring new-name 2)))) + final)) ;;;; ------------------------------------------------------------ -- 2.39.2