changeset 104886:386dbc11f8f7

(ffap-file-at-point): Handle absolute (non-remote) files with line numbers too. (Bug#4374)
author Glenn Morris <rgm@gnu.org>
date Wed, 09 Sep 2009 02:36:38 +0000
parents 978084a76b60
children 7afec306d4c6
files lisp/ChangeLog lisp/ffap.el
diffstat 2 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Sep 09 02:34:17 2009 +0000
+++ b/lisp/ChangeLog	Wed Sep 09 02:36:38 2009 +0000
@@ -1,3 +1,8 @@
+2009-09-09  Glenn Morris  <rgm@gnu.org>
+
+	* ffap.el (ffap-file-at-point): Handle absolute (non-remote) files with
+	line numbers too.  (Bug#4374)
+
 2009-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* smerge-mode.el (smerge-remove-props, smerge-refine):
--- a/lisp/ffap.el	Wed Sep 09 02:34:17 2009 +0000
+++ b/lisp/ffap.el	Wed Sep 09 02:36:38 2009 +0000
@@ -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 <mic@mathcs.emory.edu>
 ;; Maintainer: FSF
@@ -1177,6 +1177,9 @@
 	 ((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))