Function: flymake-proc-get-real-file-name
flymake-proc-get-real-file-name is a byte-compiled function defined in
flymake-proc.el.gz.
Signature
(flymake-proc-get-real-file-name FILE-NAME-FROM-ERR-MSG)
Documentation
Translate file name from error message to "real" file name.
Return full-name. Names are real, not patched.
Aliases
flymake-get-real-file-name (obsolete since 26.1)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/flymake-proc.el.gz
(defun flymake-proc-get-real-file-name (file-name-from-err-msg)
"Translate file name from error message to \"real\" file name.
Return full-name. Names are real, not patched."
(let* ((real-name nil)
(source-file-name buffer-file-name)
(master-file-name flymake-proc--master-file-name)
(temp-source-file-name flymake-proc--temp-source-file-name)
(temp-master-file-name flymake-proc--temp-master-file-name)
(base-dirs
(list flymake-proc--base-dir
(file-name-directory source-file-name)
(if master-file-name (file-name-directory master-file-name))))
(files (list (list source-file-name source-file-name)
(list temp-source-file-name source-file-name)
(list master-file-name master-file-name)
(list temp-master-file-name master-file-name))))
(when (equal 0 (length file-name-from-err-msg))
(setq file-name-from-err-msg source-file-name))
(setq real-name (flymake-proc--get-full-patched-file-name file-name-from-err-msg base-dirs files))
;; if real-name is nil, than file name from err msg is none of the files we've patched
(if (not real-name)
(setq real-name (flymake-proc--get-full-nonpatched-file-name file-name-from-err-msg base-dirs)))
(if (not real-name)
(setq real-name file-name-from-err-msg))
(setq real-name (flymake-proc--fix-file-name real-name))
(flymake-log 3 "get-real-file-name: file-name=%s real-name=%s" file-name-from-err-msg real-name)
real-name))