X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/c71a0d48f3c880248a7f7f25e92ddbcbad5ef0e7..fccdc796cfccb428a3535943faa08f4323cacc4b:/lisp/find-file.el?ds=sidebyside diff --git a/lisp/find-file.el b/lisp/find-file.el index e428552318..9f7d877ec3 100644 --- a/lisp/find-file.el +++ b/lisp/find-file.el @@ -4,7 +4,7 @@ ;; Maintainer: FSF ;; Keywords: c, matching, tools -;; Copyright (C) 1994-1995, 2001-2011 Free Software Foundation, Inc. +;; Copyright (C) 1994-1995, 2001-2013 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. @@ -181,21 +181,21 @@ To override this, give an argument to `ff-find-other-file'." :group 'ff) ;;;###autoload -(defvar ff-special-constructs - `( - ;; C/C++ include, for NeXTstep too - (,(purecopy "^\#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]") . +(defcustom ff-special-constructs + ;; C/C++ include, for NeXTstep too + `((,(purecopy "^\#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]") . (lambda () - (buffer-substring (match-beginning 2) (match-end 2)))) - ) + (buffer-substring (match-beginning 2) (match-end 2))))) ;; We include `ff-treat-as-special' documentation here so that autoload ;; can make it available to be read prior to loading this file. - "*List of special constructs for `ff-treat-as-special' to recognize. + "List of special constructs recognized by `ff-treat-as-special'. Each element, tried in order, has the form (REGEXP . EXTRACT). If REGEXP matches the current line (from the beginning of the line), `ff-treat-as-special' calls function EXTRACT with no args. If EXTRACT returns nil, keep trying. Otherwise, return the -filename that EXTRACT returned.") +filename that EXTRACT returned." + :type '(repeat (cons regexp function)) + :group 'ff) (defvaralias 'ff-related-file-alist 'ff-other-file-alist) (defcustom ff-other-file-alist 'cc-other-file-alist @@ -245,7 +245,8 @@ the preceding slash. The star represents all the subdirectories except ("\\.hh\\'" (".cc" ".C")) ("\\.c\\'" (".h")) - ("\\.h\\'" (".c" ".cc" ".C" ".CC" ".cxx" ".cpp")) + ("\\.m\\'" (".h")) + ("\\.h\\'" (".c" ".cc" ".C" ".CC" ".cxx" ".cpp" ".m")) ("\\.C\\'" (".H" ".hh" ".h")) ("\\.H\\'" (".C" ".CC")) @@ -267,6 +268,7 @@ This list should contain the most used extensions before the others, since the search algorithm searches sequentially through each directory specified in `ff-search-directories'. If a file is not found, a new one is created with the first matching extension (`.cc' yields `.hh')." + :version "24.4" ; add .m :type '(repeat (list regexp (choice (repeat string) function))) :group 'ff)