diff options
author | Richard M. Stallman <rms@gnu.org> | 1999-02-13 16:28:34 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1999-02-13 16:28:34 +0000 |
commit | 8005ea3f215d3c37621b9b89ebfe7f06d0f5f0ae (patch) | |
tree | ffd2f62fea84e1513d118a33c919983e7109b188 /lisp/ffap.el | |
parent | 118069b3b08d386e51edab6a1df1c0b0b1865a59 (diff) | |
download | emacs-8005ea3f215d3c37621b9b89ebfe7f06d0f5f0ae.tar.gz |
(ffap-file-at-point): Test local file names
immediately. Strip off line numbers.
Diffstat (limited to 'lisp/ffap.el')
-rw-r--r-- | lisp/ffap.el | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/ffap.el b/lisp/ffap.el index f2cdcea9408..785cd2376e0 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -1100,7 +1100,13 @@ which may actually result in an url rather than a filename." (unwind-protect (cond ;; Immediate rejects (/ and // are too common in C++): - ((member name '("" "/" "//")) nil) + ((member name '("" "/" "//" ".")) nil) + ;; Immediately test local filenames. If default-directory is + ;; remote, you probably already have a connection. + ((and (not abs) (ffap-file-exists-string name))) + ;; Try stripping off line numbers; good for compilation/grep output. + ((and (not abs) (string-match ":[0-9]" name) + (ffap-file-exists-string (substring name 0 (match-beginning 0))))) ;; Immediately test local filenames. If default-directory is ;; remote, you probably already have a connection. ((and (not abs) (ffap-file-exists-string name))) |