From: Glenn Morris Date: Sat, 7 Apr 2007 02:58:53 +0000 (+0000) Subject: (ffap-file-at-point): Lower the priority of the X-Git-Tag: emacs-pretest-22.0.98~241 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d35829ffc5c9d1f6759c1575ac511efb48075b56;p=emacs.git (ffap-file-at-point): Lower the priority of the ffap-ftp-sans-slash-regexp check. --- diff --git a/lisp/ffap.el b/lisp/ffap.el index e49c77f4d47..5bba729fce3 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -1147,7 +1147,8 @@ which may actually result in an url rather than a filename." (error nil)) string)) (abs (file-name-absolute-p name)) - (default-directory default-directory)) + (default-directory default-directory) + (oname name)) (unwind-protect (cond ;; Immediate rejects (/ and // and /* are too common in C/C++): @@ -1164,13 +1165,7 @@ which may actually result in an url rather than a filename." (not abs) (string-match ffap-shell-prompt-regexp name) (ffap-file-exists-string (substring name (match-end 0))))) ;; Accept remote names without actual checking (too slow): - ((if abs - (ffap-file-remote-p name) - ;; Try adding a leading "/" (common omission in ftp file names): - (and - ffap-ftp-sans-slash-regexp - (string-match ffap-ftp-sans-slash-regexp name) - (ffap-file-remote-p (concat "/" name))))) + ((and abs (ffap-file-remote-p name))) ;; Ok, not remote, try the existence test even if it is absolute: ((and abs (ffap-file-exists-string name))) ;; If it contains a colon, get rid of it (and return if exists) @@ -1193,6 +1188,14 @@ which may actually result in an url rather than a filename." (ffap-file-remote-p try) (ffap-file-exists-string try)))))) try)) + ;; Try adding a leading "/" (common omission in ftp file names). + ;; Note that this uses oname, which still has any colon part. + ;; This should have a lower priority than the alist stuff, + ;; else it matches things like "ffap.el:1234:56:Warning". + ((and (not abs) + ffap-ftp-sans-slash-regexp + (string-match ffap-ftp-sans-slash-regexp oname) + (ffap-file-remote-p (concat "/" oname)))) ;; Alist failed? Try to guess an active remote connection ;; from buffer variables, and try once more, both as an ;; absolute and relative file name on that remote host.