Function: check-declare-warn

check-declare-warn is a byte-compiled function defined in check-declare.el.gz.

Signature

(check-declare-warn FILE FN FNFILE TYPE &optional LINE)

Documentation

Warn that FILE made a false claim about FN in FNFILE.

TYPE is a string giving the nature of the error. Optional LINE is the claim's line number; otherwise, search for the claim. Display warning in check-declare-warning-buffer.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/check-declare.el.gz
(defun check-declare-warn (file fn fnfile type &optional line)
  "Warn that FILE made a false claim about FN in FNFILE.
TYPE is a string giving the nature of the error.
Optional LINE is the claim's line number; otherwise, search for the claim.
Display warning in `check-declare-warning-buffer'."
  (let ((warning-prefix-function
         (lambda (_level entry)
	   (insert (format "%s:%d:" (file-relative-name file) (or line 0)))
           entry))
        (warning-fill-prefix "    "))
    (unless line
      (with-current-buffer (find-file-noselect file)
        (goto-char (point-min))
        (when (and (not line)
                   (re-search-forward
                    (format "(declare-function[ \t\n]+%s" fn) nil t))
          (goto-char (match-beginning 0))
          (setq line (line-number-at-pos)))))
    (display-warning 'check-declare
                     (format-message "said `%s' was defined in %s: %s"
                                     fn (file-relative-name fnfile) type)
                     nil check-declare-warning-buffer)))