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))