| Index: tools/emacs/flymake-chromium.el
|
| diff --git a/tools/emacs/flymake-chromium.el b/tools/emacs/flymake-chromium.el
|
| index 070fada13a9e22d38cdad4e405470e79c1b15fe6..8adb0dbe56a781ebcddbdccea7b03167bd070de7 100644
|
| --- a/tools/emacs/flymake-chromium.el
|
| +++ b/tools/emacs/flymake-chromium.el
|
| @@ -18,9 +18,17 @@
|
| (defcustom cr-flymake-ninja-executable "ninja"
|
| "Ninja executable location; either in $PATH or explicitly given.")
|
|
|
| +(defun cr-flymake-absbufferpath ()
|
| + "Return the absolute path to the current buffer, or nil if the
|
| + current buffer has no path."
|
| + (when buffer-file-truename
|
| + (expand-file-name buffer-file-truename)))
|
| +
|
| (defun cr-flymake-chromium-src ()
|
| "Return chromium's src/ directory, or nil on failure."
|
| - (locate-dominating-file buffer-file-truename cr-flymake-ninja-build-file))
|
| + (let ((srcdir (locate-dominating-file
|
| + (cr-flymake-absbufferpath) cr-flymake-ninja-build-file)))
|
| + (when srcdir (expand-file-name srcdir))))
|
|
|
| (defun cr-flymake-string-prefix-p (prefix str)
|
| "Return non-nil if PREFIX is a prefix of STR (23.2 has string-prefix-p but
|
| @@ -33,8 +41,8 @@
|
| we're under chromium/src/."
|
| (when (and (cr-flymake-chromium-src)
|
| (cr-flymake-string-prefix-p
|
| - (cr-flymake-chromium-src) buffer-file-truename))
|
| - (substring buffer-file-truename (length (cr-flymake-chromium-src)))))
|
| + (cr-flymake-chromium-src) (cr-flymake-absbufferpath)))
|
| + (substring (cr-flymake-absbufferpath) (length (cr-flymake-chromium-src)))))
|
|
|
| (defun cr-flymake-from-build-to-src-root ()
|
| "Return a path fragment for getting from the build.ninja file to src/."
|
|
|