Commit 7deed4bf authored by Rüdiger Sonderfeld's avatar Rüdiger Sonderfeld Committed by Glenn Morris
Browse files

ffap.el: handle "/usr/include/c++/<version>" directories.

Ref: http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00387.html

* lisp/ffap.el (ffap-alist): Use ffap-c++-mode for c++-mode.
(ffap-c++-path): New variable.
(ffap-c++-mode): New function.
parent 7bcb455b
2013-10-19 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
* ffap.el: Handle "/usr/include/c++/<version>" directories.
(ffap-alist): Use ffap-c++-mode for c++-mode.
(ffap-c++-path): New variable.
(ffap-c++-mode): New function.
2013-10-19 Joe Vornehm Jr. <joe.vornehm@gmail.com> (tiny change)
* ido.el (dired-other-frame): Only list directories. (Bug#15638)
......
......@@ -769,7 +769,7 @@ This uses `ffap-file-exists-string', which may try adding suffixes from
;; (lisp-interaction-mode . ffap-el-mode) ; maybe
(finder-mode . ffap-el-mode) ; type {C-h p} and try it
(help-mode . ffap-el-mode) ; maybe useful
(c++-mode . ffap-c-mode) ; search ffap-c-path
(c++-mode . ffap-c++-mode) ; search ffap-c++-path
(cc-mode . ffap-c-mode) ; same
("\\.\\([chCH]\\|cc\\|hh\\)\\'" . ffap-c-mode) ; stdio.h
(fortran-mode . ffap-fortran-mode) ; FORTRAN requested by MDB
......@@ -866,6 +866,28 @@ URL, or nil. If nil, search the alist for further matches.")
(defun ffap-c-mode (name)
(ffap-locate-file name t ffap-c-path))
(defvar ffap-c++-path
(let ((c++-include-dir (with-temp-buffer
(when (eq 0 (ignore-errors
(call-process "g++" nil t nil "-v")))
(goto-char (point-min))
(if (re-search-forward "--with-gxx-include-dir=\
\\([^[:space:]]+\\)"
nil 'noerror)
(match-string 1)
(when (re-search-forward "gcc version \
\\([[:digit:]]+.[[:digit:]]+.[[:digit:]]+\\)"
nil 'noerror)
(expand-file-name (match-string 1)
"/usr/include/c++/")))))))
(if c++-include-dir
(cons c++-include-dir ffap-c-path)
ffap-c-path))
"List of directories to search for include files.")
(defun ffap-c++-mode (name)
(ffap-locate-file name t ffap-c++-path))
(defvar ffap-fortran-path '("../include" "/usr/include"))
(defun ffap-fortran-mode (name)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment