From 2b2eb43148f0560583dd548aed491cbbc1ae6fc9 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 9 Sep 2009 02:36:38 +0000 Subject: [PATCH] (ffap-file-at-point): Handle absolute (non-remote) files with line numbers too. (Bug#4374) --- lisp/ChangeLog | 5 +++++ lisp/ffap.el | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e19c4e723a3..e55f23fa0db 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2009-09-09 Glenn Morris + + * ffap.el (ffap-file-at-point): Handle absolute (non-remote) files with + line numbers too. (Bug#4374) + 2009-09-08 Stefan Monnier * smerge-mode.el (smerge-remove-props, smerge-refine): diff --git a/lisp/ffap.el b/lisp/ffap.el index 6aa6913dbed..3eb21a53666 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -1,7 +1,7 @@ ;;; ffap.el --- find file (or url) at point -;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, +;; 2006, 2007, 2008, 2009 Free Software Foundation, Inc. ;; Author: Michelangelo Grigni ;; Maintainer: FSF @@ -1177,6 +1177,9 @@ which may actually result in an url rather than a filename." ((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))) + ;; Try stripping off line numbers. + ((and abs (string-match ":[0-9]" name) + (ffap-file-exists-string (substring name 0 (match-beginning 0))))) ;; If it contains a colon, get rid of it (and return if exists) ((and (string-match path-separator name) (setq name (ffap-string-at-point 'nocolon)) -- 2.39.2