Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r107375: Fixes related to /usr/include path on multiarch systems ------------------------------------------------------------ revno: 107375 fixes bug(s): http://debbugs.gnu.org/10702 committer: Glenn Morris <rgm@xxxxxxx> branch nick: trunk timestamp: Wed 2012-02-22 00:34:02 -0800 message: Fixes related to /usr/include path on multiarch systems * lisp/ffap.el (ffap-c-path): * lisp/man.el (Man-header-file-path): Handle multiarch. modified: lisp/ChangeLog lisp/ffap.el lisp/man.el === modified file 'lisp/ChangeLog' --- a/lisp/ChangeLog 2012-02-22 06:10:03 +0000 +++ b/lisp/ChangeLog 2012-02-22 08:34:02 +0000 @@ -1,3 +1,8 @@ +2012-02-22 Glenn Morris <rgm@xxxxxxx> + + * ffap.el (ffap-c-path): + * man.el (Man-header-file-path): Handle multiarch. (Bug#10702) + 2012-02-22 Chong Yidong <cyd@xxxxxxx> * custom.el (load-theme): Doc fix. === modified file 'lisp/ffap.el' --- a/lisp/ffap.el 2012-01-19 07:21:25 +0000 +++ b/lisp/ffap.el 2012-02-22 08:34:02 +0000 @@ -850,9 +850,24 @@ (and (not (string-match "\\.el\\'" name)) (ffap-locate-file name '(".el") load-path))) +;; FIXME this duplicates the logic of Man-header-file-path. +;; There should be a single central variable or function for this. +;; See also (bug#10702): +;; cc-search-directories, semantic-c-dependency-system-include-path, +;; semantic-gcc-setup (defvar ffap-c-path - ;; Need smarter defaults here! Suggestions welcome. - '("/usr/include" "/usr/local/include")) + (let ((arch (with-temp-buffer + (when (eq 0 (ignore-errors + (call-process "gcc" nil '(t nil) nil + "-print-multiarch"))) + (goto-char (point-min)) + (buffer-substring (point) (line-end-position))))) + (base '("/usr/include" "/usr/local/include"))) + (if (zerop (length arch)) + base + (append base (list (expand-file-name arch "/usr/include"))))) + "List of directories to search for include files.") + (defun ffap-c-mode (name) (ffap-locate-file name t ffap-c-path)) === modified file 'lisp/man.el' --- a/lisp/man.el 2012-02-11 22:13:29 +0000 +++ b/lisp/man.el 2012-02-22 08:34:02 +0000 @@ -215,9 +215,20 @@ (string :tag "Real Section"))) :group 'man) +;; FIXME see comments at ffap-c-path. (defcustom Man-header-file-path - '("/usr/include" "/usr/local/include") + (let ((arch (with-temp-buffer + (when (eq 0 (ignore-errors + (call-process "gcc" nil '(t nil) nil + "-print-multiarch"))) + (goto-char (point-min)) + (buffer-substring (point) (line-end-position))))) + (base '("/usr/include" "/usr/local/include"))) + (if (zerop (length arch)) + base + (append base (list (expand-file-name arch "/usr/include"))))) "C Header file search path used in Man." + :version "24.1" ; add multiarch :type '(repeat string) :group 'man) _______________________________________________ Emacs-diffs mailing list Emacs-diffs@xxxxxxx https://lists.gnu.org/mailman/listinfo/emacs-diffs |