Batch of minor Flymake cleanup actions agreed to with Stefan
Discussed with Stefan, in no particular order - Remove aliases for symbols thought to be internal to flymake-proc.el - Don’t need :group in defcustom and defface in flymake.el - Fix docstring of flymake-make-diagnostic - Fix docstring of flymake-diagnostic-functions to clarify keywords. - Mark overlays with just the property ’flymake, not ’flymake-overlay - Tune flymake-overlays for performance - Make flymake-mode-on and flymake-mode-off obsolete - Don’t use hash-table-keys unless necessary. - Copyright notice in flymake-elisp. Added some more - Clarify docstring of flymake-goto-next-error - Clarify a comment in flymake--run-backend complaining about ert-deftest. - Prevent compilation warnings in flymake-proc.el - Remove doctring from obsolete aliases Now the changelog: * lisp/progmodes/flymake-elisp.el: Proper copyright notice. * lisp/progmodes/flymake-proc.el (flymake-warning-re) (flymake-proc-diagnostic-type-pred) (flymake-proc-default-guess) (flymake-proc--get-file-name-mode-and-masks): Move up to beginning of file to shoosh compiler warnings (define-obsolete-variable-alias): Delete many obsolete aliases. * lisp/progmodes/flymake.el (flymake-error-bitmap) (flymake-warning-bitmap, flymake-note-bitmap) (flymake-fringe-indicator-position) (flymake-start-syntax-check-on-newline) (flymake-no-changes-timeout, flymake-gui-warnings-enabled) (flymake-start-syntax-check-on-find-file, flymake-log-level) (flymake-wrap-around, flymake-error, flymake-warning) (flymake-note): Don't need :group in these defcustom and defface. (flymake--run-backend): Clarify comment (flymake-mode-map): Remove. (flymake-make-diagnostic): Fix docstring. (flymake--highlight-line, flymake--overlays): Identify flymake overlays with just ’flymake. (flymake--overlays): Reverse order of invocation for cl-remove-if-not and cl-sort. (flymake-mode-on) (flymake-mode-off): Make obsolete. (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring. (flymake-diagnostic-functions): Clarify keyword arguments in docstring. Maybe squash in that one where I remove many obsoletes
This commit is contained in:
parent
87993cdcc6
commit
bd8ea8873d
3 changed files with 187 additions and 399 deletions
|
@ -1,9 +1,9 @@
|
|||
;;; flymake-elisp.el --- Flymake backends for emacs-lisp-mode -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2017 João Távora
|
||||
;; Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: João Távora <joaotavora@gmail.com>
|
||||
;; Keywords:
|
||||
;; Keywords: languages tools
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -118,6 +118,78 @@ NAME is the file name function to use, default `flymake-proc-get-real-file-name'
|
|||
(defvar flymake-proc--report-fn nil
|
||||
"If bound, function used to report back to flymake's UI.")
|
||||
|
||||
(defun flymake-proc-reformat-err-line-patterns-from-compile-el (original-list)
|
||||
"Grab error line patterns from ORIGINAL-LIST in compile.el format.
|
||||
Convert it to flymake internal format."
|
||||
(let* ((converted-list '()))
|
||||
(dolist (item original-list)
|
||||
(setq item (cdr item))
|
||||
(let ((regexp (nth 0 item))
|
||||
(file (nth 1 item))
|
||||
(line (nth 2 item))
|
||||
(col (nth 3 item)))
|
||||
(if (consp file) (setq file (car file)))
|
||||
(if (consp line) (setq line (car line)))
|
||||
(if (consp col) (setq col (car col)))
|
||||
|
||||
(when (not (functionp line))
|
||||
(setq converted-list (cons (list regexp file line col) converted-list)))))
|
||||
converted-list))
|
||||
|
||||
(defvar flymake-proc-err-line-patterns ; regexp file-idx line-idx col-idx (optional) text-idx(optional), match-end to end of string is error text
|
||||
(append
|
||||
'(
|
||||
;; MS Visual C++ 6.0
|
||||
("\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)(\\([0-9]+\\)) : \\(\\(error\\|warning\\|fatal error\\) \\(C[0-9]+\\):[ \t\n]*\\(.+\\)\\)"
|
||||
1 3 nil 4)
|
||||
;; jikes
|
||||
("\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\):\\([0-9]+\\):[0-9]+:[0-9]+:[0-9]+: \\(\\(Error\\|Warning\\|Caution\\|Semantic Error\\):[ \t\n]*\\(.+\\)\\)"
|
||||
1 3 nil 4)
|
||||
;; MS midl
|
||||
("midl[ ]*:[ ]*\\(command line error .*\\)"
|
||||
nil nil nil 1)
|
||||
;; MS C#
|
||||
("\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)(\\([0-9]+\\),[0-9]+): \\(\\(error\\|warning\\|fatal error\\) \\(CS[0-9]+\\):[ \t\n]*\\(.+\\)\\)"
|
||||
1 3 nil 4)
|
||||
;; perl
|
||||
("\\(.*\\) at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]" 2 3 nil 1)
|
||||
;; PHP
|
||||
("\\(?:Parse\\|Fatal\\) error: \\(.*\\) in \\(.*\\) on line \\([0-9]+\\)" 2 3 nil 1)
|
||||
;; LaTeX warnings (fileless) ("\\(LaTeX \\(Warning\\|Error\\): .*\\) on input line \\([0-9]+\\)" 20 3 nil 1)
|
||||
;; ant/javac. Note this also matches gcc warnings!
|
||||
(" *\\(\\[javac\\] *\\)?\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\):\\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?:[ \t\n]*\\(.+\\)"
|
||||
2 4 5 6))
|
||||
;; compilation-error-regexp-alist)
|
||||
(flymake-proc-reformat-err-line-patterns-from-compile-el compilation-error-regexp-alist-alist))
|
||||
"Patterns for matching error/warning lines. Each pattern has the form
|
||||
\(REGEXP FILE-IDX LINE-IDX COL-IDX ERR-TEXT-IDX).
|
||||
Use `flymake-proc-reformat-err-line-patterns-from-compile-el' to add patterns
|
||||
from compile.el")
|
||||
|
||||
(define-obsolete-variable-alias 'flymake-warning-re 'flymake-proc-diagnostic-type-pred "26.1")
|
||||
(defvar flymake-proc-diagnostic-type-pred
|
||||
'flymake-proc-default-guess
|
||||
"Predicate matching against diagnostic text to detect its type.
|
||||
Takes a single argument, the diagnostic's text and should return
|
||||
a value suitable for indexing
|
||||
`flymake-diagnostic-types-alist' (which see). If the returned
|
||||
value is nil, a type of `:error' is assumed. For some backward
|
||||
compatibility, if a non-nil value is returned that that doesn't
|
||||
index that alist, a type of `:warning' is assumed.
|
||||
|
||||
Instead of a function, it can also be a string, a regular
|
||||
expression. A match indicates `:warning' type, otherwise
|
||||
`:error'")
|
||||
|
||||
(defun flymake-proc-default-guess (text)
|
||||
"Guess if TEXT means a warning, a note or an error."
|
||||
(cond ((string-match "^[wW]arning" text)
|
||||
:warning)
|
||||
((string-match "^[nN]ote" text)
|
||||
:note)
|
||||
(t
|
||||
:error)))
|
||||
|
||||
(defun flymake-proc--get-file-name-mode-and-masks (file-name)
|
||||
"Return the corresponding entry from `flymake-proc-allowed-file-name-masks'."
|
||||
(unless (stringp file-name)
|
||||
|
@ -242,10 +314,10 @@ to the beginning of the list (File.h -> File.cpp moved to top)."
|
|||
Nil means search the entire file.")
|
||||
|
||||
(defun flymake-proc--check-patch-master-file-buffer
|
||||
(master-file-temp-buffer
|
||||
master-file-name patched-master-file-name
|
||||
source-file-name patched-source-file-name
|
||||
include-dirs regexp)
|
||||
(master-file-temp-buffer
|
||||
master-file-name patched-master-file-name
|
||||
source-file-name patched-source-file-name
|
||||
include-dirs regexp)
|
||||
"Check if MASTER-FILE-NAME is a master file for SOURCE-FILE-NAME.
|
||||
If yes, patch a copy of MASTER-FILE-NAME to include PATCHED-SOURCE-FILE-NAME
|
||||
instead of SOURCE-FILE-NAME.
|
||||
|
@ -296,7 +368,7 @@ instead of reading master file from disk."
|
|||
(length source-file-nondir)) nil))
|
||||
(flymake-log 3 "inc-name=%s" inc-name)
|
||||
(when (flymake-proc--check-include source-file-name inc-name
|
||||
include-dirs)
|
||||
include-dirs)
|
||||
(setq found t)
|
||||
;; replace-match is not used here as it fails in
|
||||
;; XEmacs with 'last match not a buffer' error as
|
||||
|
@ -562,80 +634,8 @@ May only be called in a dynamic environment where
|
|||
(flymake-error "Trouble telling flymake-ui about problem %s(%s)"
|
||||
problem explanation)))
|
||||
|
||||
(defun flymake-proc-reformat-err-line-patterns-from-compile-el (original-list)
|
||||
"Grab error line patterns from ORIGINAL-LIST in compile.el format.
|
||||
Convert it to flymake internal format."
|
||||
(let* ((converted-list '()))
|
||||
(dolist (item original-list)
|
||||
(setq item (cdr item))
|
||||
(let ((regexp (nth 0 item))
|
||||
(file (nth 1 item))
|
||||
(line (nth 2 item))
|
||||
(col (nth 3 item)))
|
||||
(if (consp file) (setq file (car file)))
|
||||
(if (consp line) (setq line (car line)))
|
||||
(if (consp col) (setq col (car col)))
|
||||
|
||||
(when (not (functionp line))
|
||||
(setq converted-list (cons (list regexp file line col) converted-list)))))
|
||||
converted-list))
|
||||
|
||||
(require 'compile)
|
||||
|
||||
(defvar flymake-proc-err-line-patterns ; regexp file-idx line-idx col-idx (optional) text-idx(optional), match-end to end of string is error text
|
||||
(append
|
||||
'(
|
||||
;; MS Visual C++ 6.0
|
||||
("\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)(\\([0-9]+\\)) : \\(\\(error\\|warning\\|fatal error\\) \\(C[0-9]+\\):[ \t\n]*\\(.+\\)\\)"
|
||||
1 3 nil 4)
|
||||
;; jikes
|
||||
("\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\):\\([0-9]+\\):[0-9]+:[0-9]+:[0-9]+: \\(\\(Error\\|Warning\\|Caution\\|Semantic Error\\):[ \t\n]*\\(.+\\)\\)"
|
||||
1 3 nil 4)
|
||||
;; MS midl
|
||||
("midl[ ]*:[ ]*\\(command line error .*\\)"
|
||||
nil nil nil 1)
|
||||
;; MS C#
|
||||
("\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)(\\([0-9]+\\),[0-9]+): \\(\\(error\\|warning\\|fatal error\\) \\(CS[0-9]+\\):[ \t\n]*\\(.+\\)\\)"
|
||||
1 3 nil 4)
|
||||
;; perl
|
||||
("\\(.*\\) at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]" 2 3 nil 1)
|
||||
;; PHP
|
||||
("\\(?:Parse\\|Fatal\\) error: \\(.*\\) in \\(.*\\) on line \\([0-9]+\\)" 2 3 nil 1)
|
||||
;; LaTeX warnings (fileless) ("\\(LaTeX \\(Warning\\|Error\\): .*\\) on input line \\([0-9]+\\)" 20 3 nil 1)
|
||||
;; ant/javac. Note this also matches gcc warnings!
|
||||
(" *\\(\\[javac\\] *\\)?\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\):\\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?:[ \t\n]*\\(.+\\)"
|
||||
2 4 5 6))
|
||||
;; compilation-error-regexp-alist)
|
||||
(flymake-proc-reformat-err-line-patterns-from-compile-el compilation-error-regexp-alist-alist))
|
||||
"Patterns for matching error/warning lines. Each pattern has the form
|
||||
\(REGEXP FILE-IDX LINE-IDX COL-IDX ERR-TEXT-IDX).
|
||||
Use `flymake-proc-reformat-err-line-patterns-from-compile-el' to add patterns
|
||||
from compile.el")
|
||||
|
||||
(define-obsolete-variable-alias 'flymake-warning-re 'flymake-proc-diagnostic-type-pred "26.1")
|
||||
(defvar flymake-proc-diagnostic-type-pred
|
||||
'flymake-proc-default-guess
|
||||
"Predicate matching against diagnostic text to detect its type.
|
||||
Takes a single argument, the diagnostic's text and should return
|
||||
a value suitable for indexing
|
||||
`flymake-diagnostic-types-alist' (which see). If the returned
|
||||
value is nil, a type of `error' is assumed. For some backward
|
||||
compatibility, if a non-nil value is returned that that doesn't
|
||||
index that alist, a type of `:warning' is assumed.
|
||||
|
||||
Instead of a function, it can also be a string, a regular
|
||||
expression. A match indicates `:warning' type, otherwise
|
||||
`:error'")
|
||||
|
||||
(defun flymake-proc-default-guess (text)
|
||||
"Guess if TEXT means a warning, a note or an error."
|
||||
(cond ((string-match "^[wW]arning" text)
|
||||
:warning)
|
||||
((string-match "^[nN]ote" text)
|
||||
:note)
|
||||
(t
|
||||
:error)))
|
||||
|
||||
(defun flymake-proc-get-project-include-dirs-imp (basedir)
|
||||
"Include dirs for the project current file belongs to."
|
||||
(if (flymake-proc--get-project-include-dirs-from-cache basedir)
|
||||
|
@ -717,7 +717,7 @@ expression. A match indicates `:warning' type, otherwise
|
|||
(defun flymake-proc-legacy-flymake (report-fn &optional interactive)
|
||||
"Flymake backend based on the original flymake implementation.
|
||||
This function is suitable for inclusion in
|
||||
`flymake-dianostic-types-alist'. For backward compatibility, it
|
||||
`flymake-diagnostic-types-alist'. For backward compatibility, it
|
||||
can also be executed interactively independently of
|
||||
`flymake-mode'."
|
||||
;; Interactively, behave as if flymake had invoked us through its
|
||||
|
@ -764,8 +764,7 @@ can also be executed interactively independently of
|
|||
t)))))))
|
||||
|
||||
(define-obsolete-function-alias 'flymake-start-syntax-check
|
||||
'flymake-proc-legacy-flymake "26.1"
|
||||
"Flymake backend based on the original flymake implementation.")
|
||||
'flymake-proc-legacy-flymake "26.1")
|
||||
|
||||
(defun flymake-proc--start-syntax-check-process (cmd args dir)
|
||||
"Start syntax check process."
|
||||
|
@ -1016,8 +1015,8 @@ Use CREATE-TEMP-F for creating temp copy."
|
|||
(if buildfile-dir
|
||||
(let* ((temp-source-file-name (flymake-proc-init-create-temp-buffer-copy create-temp-f)))
|
||||
(setq args (flymake-proc--get-syntax-check-program-args temp-source-file-name buildfile-dir
|
||||
use-relative-base-dir use-relative-source
|
||||
get-cmdline-f))))
|
||||
use-relative-base-dir use-relative-source
|
||||
get-cmdline-f))))
|
||||
args))
|
||||
|
||||
(defun flymake-proc-simple-make-init ()
|
||||
|
@ -1123,291 +1122,72 @@ Use CREATE-TEMP-F for creating temp copy."
|
|||
|
||||
(progn
|
||||
(define-obsolete-variable-alias 'flymake-compilation-prevents-syntax-check
|
||||
'flymake-proc-compilation-prevents-syntax-check "26.1"
|
||||
"If non-nil, don't start syntax check if compilation is running.")
|
||||
'flymake-proc-compilation-prevents-syntax-check "26.1")
|
||||
(define-obsolete-variable-alias 'flymake-xml-program
|
||||
'flymake-proc-xml-program "26.1"
|
||||
"Program to use for XML validation.")
|
||||
'flymake-proc-xml-program "26.1")
|
||||
(define-obsolete-variable-alias 'flymake-master-file-dirs
|
||||
'flymake-proc-master-file-dirs "26.1"
|
||||
"Dirs where to look for master files.")
|
||||
'flymake-proc-master-file-dirs "26.1")
|
||||
(define-obsolete-variable-alias 'flymake-master-file-count-limit
|
||||
'flymake-proc-master-file-count-limit "26.1"
|
||||
"Max number of master files to check.")
|
||||
(define-obsolete-variable-alias 'flymake-allowed-file-name-masks
|
||||
'flymake-proc-allowed-file-name-masks "26.1"
|
||||
"Files syntax checking is allowed for.
|
||||
This is an alist with elements of the form:
|
||||
REGEXP INIT [CLEANUP [NAME]]
|
||||
REGEXP is a regular expression that matches a file name.
|
||||
INIT is the init function to use.
|
||||
CLEANUP is the cleanup function to use, default `flymake-simple-cleanup'.
|
||||
NAME is the file name function to use, default `flymake-get-real-file-name'.")
|
||||
(define-obsolete-variable-alias 'flymake-processes
|
||||
'flymake-proc--processes "26.1"
|
||||
"List of currently active flymake processes.")
|
||||
(define-obsolete-function-alias 'flymake-get-file-name-mode-and-masks
|
||||
'flymake-proc--get-file-name-mode-and-masks "26.1"
|
||||
"Return the corresponding entry from ‘flymake-allowed-file-name-masks’.")
|
||||
(define-obsolete-function-alias 'flymake-get-init-function
|
||||
'flymake-proc--get-init-function "26.1"
|
||||
"Return init function to be used for the file.")
|
||||
(define-obsolete-function-alias 'flymake-get-cleanup-function
|
||||
'flymake-proc--get-cleanup-function "26.1"
|
||||
"Return cleanup function to be used for the file.")
|
||||
(define-obsolete-function-alias 'flymake-get-real-file-name-function
|
||||
'flymake-proc--get-real-file-name-function "26.1"
|
||||
nil)
|
||||
(define-obsolete-variable-alias 'flymake-find-buildfile-cache
|
||||
'flymake-proc--find-buildfile-cache "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-get-buildfile-from-cache
|
||||
'flymake-proc--get-buildfile-from-cache "26.1"
|
||||
"Look up DIR-NAME in cache and return its associated value.
|
||||
If DIR-NAME is not found, return nil.")
|
||||
(define-obsolete-function-alias 'flymake-add-buildfile-to-cache
|
||||
'flymake-proc--add-buildfile-to-cache "26.1"
|
||||
"Associate DIR-NAME with BUILDFILE in the buildfile cache.")
|
||||
(define-obsolete-function-alias 'flymake-clear-buildfile-cache
|
||||
'flymake-proc--clear-buildfile-cache "26.1"
|
||||
"Clear the buildfile cache.")
|
||||
(define-obsolete-function-alias 'flymake-find-buildfile
|
||||
'flymake-proc--find-buildfile "26.1"
|
||||
"Find buildfile starting from current directory.
|
||||
Buildfile includes Makefile, build.xml etc.
|
||||
Return its file name if found, or nil if not found.")
|
||||
(define-obsolete-function-alias 'flymake-fix-file-name
|
||||
'flymake-proc--fix-file-name "26.1"
|
||||
"Replace all occurrences of ‘\\’ with ‘/’.")
|
||||
(define-obsolete-function-alias 'flymake-same-files
|
||||
'flymake-proc--same-files "26.1"
|
||||
"Check if FILE-NAME-ONE and FILE-NAME-TWO point to same file.
|
||||
Return t if so, nil if not.
|
||||
|
||||
(fn FILE-NAME-ONE FILE-NAME-TWO)")
|
||||
(define-obsolete-variable-alias 'flymake-included-file-name\)
|
||||
'flymake-proc--included-file-name\) "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-find-possible-master-files
|
||||
'flymake-proc--find-possible-master-files "26.1"
|
||||
"Find (by name and location) all possible master files.
|
||||
|
||||
Name is specified by FILE-NAME and location is specified by
|
||||
MASTER-FILE-DIRS. Master files include .cpp and .c for .h.
|
||||
Files are searched for starting from the .h directory and max
|
||||
max-level parent dirs. File contents are not checked.")
|
||||
(define-obsolete-function-alias 'flymake-master-file-compare
|
||||
'flymake-proc--master-file-compare "26.1"
|
||||
"Compare two files specified by FILE-ONE and FILE-TWO.
|
||||
This function is used in sort to move most possible file names
|
||||
to the beginning of the list (File.h -> File.cpp moved to top).")
|
||||
'flymake-proc-allowed-file-name-masks "26.1")
|
||||
(define-obsolete-variable-alias 'flymake-check-file-limit
|
||||
'flymake-proc-check-file-limit "26.1"
|
||||
"Maximum number of chars to look at when checking possible master file.
|
||||
Nil means search the entire file.")
|
||||
(define-obsolete-function-alias 'flymake-check-patch-master-file-buffer
|
||||
'flymake-proc--check-patch-master-file-buffer "26.1"
|
||||
"Check if MASTER-FILE-NAME is a master file for SOURCE-FILE-NAME.
|
||||
If yes, patch a copy of MASTER-FILE-NAME to include PATCHED-SOURCE-FILE-NAME
|
||||
instead of SOURCE-FILE-NAME.
|
||||
|
||||
For example, foo.cpp is a master file if it includes foo.h.
|
||||
|
||||
When a buffer for MASTER-FILE-NAME exists, use it as a source
|
||||
instead of reading master file from disk.")
|
||||
(define-obsolete-function-alias 'flymake-replace-region
|
||||
'flymake-proc--replace-region "26.1"
|
||||
"Replace text in BUFFER in region (BEG END) with REP.")
|
||||
(define-obsolete-function-alias 'flymake-read-file-to-temp-buffer
|
||||
'flymake-proc--read-file-to-temp-buffer "26.1"
|
||||
"Insert contents of FILE-NAME into newly created temp buffer.")
|
||||
(define-obsolete-function-alias 'flymake-copy-buffer-to-temp-buffer
|
||||
'flymake-proc--copy-buffer-to-temp-buffer "26.1"
|
||||
"Copy contents of BUFFER into newly created temp buffer.")
|
||||
(define-obsolete-function-alias 'flymake-check-include
|
||||
'flymake-proc--check-include "26.1"
|
||||
"Check if SOURCE-FILE-NAME can be found in include path.
|
||||
Return t if it can be found via include path using INC-NAME.")
|
||||
(define-obsolete-function-alias 'flymake-find-buffer-for-file
|
||||
'flymake-proc--find-buffer-for-file "26.1"
|
||||
"Check if there exists a buffer visiting FILE-NAME.
|
||||
Return t if so, nil if not.")
|
||||
(define-obsolete-function-alias 'flymake-create-master-file
|
||||
'flymake-proc--create-master-file "26.1"
|
||||
"Save SOURCE-FILE-NAME with a different name.
|
||||
Find master file, patch and save it.")
|
||||
(define-obsolete-function-alias 'flymake-save-buffer-in-file
|
||||
'flymake-proc--save-buffer-in-file "26.1"
|
||||
"Save the entire buffer contents into file FILE-NAME.
|
||||
Create parent directories as needed.")
|
||||
(define-obsolete-function-alias 'flymake-process-filter
|
||||
'flymake-proc--process-filter "26.1"
|
||||
"Parse OUTPUT and highlight error lines.
|
||||
It’s flymake process filter.")
|
||||
(define-obsolete-function-alias 'flymake-process-sentinel
|
||||
'flymake-proc--process-sentinel "26.1"
|
||||
"Sentinel for syntax check buffers.")
|
||||
(define-obsolete-function-alias 'flymake-post-syntax-check
|
||||
'flymake-proc--post-syntax-check "26.1"
|
||||
nil)
|
||||
'flymake-proc-check-file-limit "26.1")
|
||||
(define-obsolete-function-alias 'flymake-reformat-err-line-patterns-from-compile-el
|
||||
'flymake-proc-reformat-err-line-patterns-from-compile-el "26.1"
|
||||
"Grab error line patterns from ORIGINAL-LIST in compile.el format.
|
||||
Convert it to flymake internal format.")
|
||||
'flymake-proc-reformat-err-line-patterns-from-compile-el "26.1")
|
||||
(define-obsolete-variable-alias 'flymake-err-line-patterns
|
||||
'flymake-proc-err-line-patterns "26.1"
|
||||
"Patterns for matching error/warning lines. Each pattern has the form
|
||||
(REGEXP FILE-IDX LINE-IDX COL-IDX ERR-TEXT-IDX).
|
||||
Use `flymake-reformat-err-line-patterns-from-compile-el' to add patterns
|
||||
from compile.el")
|
||||
'flymake-proc-err-line-patterns "26.1")
|
||||
(define-obsolete-function-alias 'flymake-parse-line
|
||||
'flymake-proc-parse-line "26.1"
|
||||
"Parse LINE to see if it is an error or warning.
|
||||
Return its components if so, nil otherwise.")
|
||||
(define-obsolete-function-alias 'flymake-get-project-include-dirs-imp
|
||||
'flymake-proc--get-project-include-dirs-imp "26.1"
|
||||
"Include dirs for the project current file belongs to.")
|
||||
(define-obsolete-variable-alias 'flymake-get-project-include-dirs-function
|
||||
'flymake-proc--get-project-include-dirs-function "26.1"
|
||||
"Function used to get project include dirs, one parameter: basedir name.")
|
||||
(define-obsolete-function-alias 'flymake-get-project-include-dirs
|
||||
'flymake-proc--get-project-include-dirs "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-get-system-include-dirs
|
||||
'flymake-proc--get-system-include-dirs "26.1"
|
||||
"System include dirs - from the ‘INCLUDE’ env setting.")
|
||||
(define-obsolete-variable-alias 'flymake-project-include-dirs-cache
|
||||
'flymake-proc--project-include-dirs-cache "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-add-project-include-dirs-to-cache
|
||||
'flymake-proc--add-project-include-dirs-to-cache "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-clear-project-include-dirs-cache
|
||||
'flymake-proc--clear-project-include-dirs-cache "26.1"
|
||||
nil)
|
||||
'flymake-proc-parse-line "26.1")
|
||||
(define-obsolete-function-alias 'flymake-get-include-dirs
|
||||
'flymake-proc-get-include-dirs "26.1"
|
||||
"Get dirs to use when resolving local file names.")
|
||||
(define-obsolete-variable-alias 'flymake-restore-formatting
|
||||
'flymake-proc--restore-formatting "26.1"
|
||||
nil)
|
||||
(define-obsolete-variable-alias 'flymake-get-program-dir
|
||||
'flymake-proc--get-program-dir "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-safe-delete-file
|
||||
'flymake-proc--safe-delete-file "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-safe-delete-directory
|
||||
'flymake-proc--safe-delete-directory "26.1"
|
||||
nil)
|
||||
'flymake-proc-get-include-dirs "26.1")
|
||||
(define-obsolete-function-alias 'flymake-stop-all-syntax-checks
|
||||
'flymake-proc-stop-all-syntax-checks "26.1"
|
||||
"Kill all syntax check processes.")
|
||||
(define-obsolete-function-alias 'flymake-compilation-is-running
|
||||
'flymake-proc--compilation-is-running "26.1"
|
||||
nil)
|
||||
'flymake-proc-stop-all-syntax-checks "26.1")
|
||||
(define-obsolete-function-alias 'flymake-compile
|
||||
'flymake-proc-compile "26.1"
|
||||
"Kill all flymake syntax checks, start compilation.")
|
||||
'flymake-proc-compile "26.1")
|
||||
(define-obsolete-function-alias 'flymake-create-temp-inplace
|
||||
'flymake-proc-create-temp-inplace "26.1"
|
||||
nil)
|
||||
'flymake-proc-create-temp-inplace "26.1")
|
||||
(define-obsolete-function-alias 'flymake-create-temp-with-folder-structure
|
||||
'flymake-proc-create-temp-with-folder-structure "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-delete-temp-directory
|
||||
'flymake-proc--delete-temp-directory "26.1"
|
||||
"Attempt to delete temp dir created by ‘flymake-create-temp-with-folder-structure’, do not fail on error.")
|
||||
(define-obsolete-variable-alias 'flymake-temp-source-file-name
|
||||
'flymake-proc--temp-source-file-name "26.1"
|
||||
nil)
|
||||
(define-obsolete-variable-alias 'flymake-master-file-name
|
||||
'flymake-proc--master-file-name "26.1"
|
||||
nil)
|
||||
(define-obsolete-variable-alias 'flymake-temp-master-file-name
|
||||
'flymake-proc--temp-master-file-name "26.1"
|
||||
nil)
|
||||
(define-obsolete-variable-alias 'flymake-base-dir
|
||||
'flymake-proc--base-dir "26.1"
|
||||
nil)
|
||||
'flymake-proc-create-temp-with-folder-structure "26.1")
|
||||
(define-obsolete-function-alias 'flymake-init-create-temp-buffer-copy
|
||||
'flymake-proc-init-create-temp-buffer-copy "26.1"
|
||||
"Make a temporary copy of the current buffer, save its name in buffer data and return the name.")
|
||||
'flymake-proc-init-create-temp-buffer-copy "26.1")
|
||||
(define-obsolete-function-alias 'flymake-simple-cleanup
|
||||
'flymake-proc-simple-cleanup "26.1"
|
||||
"Do cleanup after ‘flymake-init-create-temp-buffer-copy’.
|
||||
Delete temp file.")
|
||||
'flymake-proc-simple-cleanup "26.1")
|
||||
(define-obsolete-function-alias 'flymake-get-real-file-name
|
||||
'flymake-proc-get-real-file-name "26.1"
|
||||
"Translate file name from error message to \"real\" file name.
|
||||
Return full-name. Names are real, not patched.")
|
||||
(define-obsolete-function-alias 'flymake-get-full-patched-file-name
|
||||
'flymake-proc--get-full-patched-file-name "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-get-full-nonpatched-file-name
|
||||
'flymake-proc--get-full-nonpatched-file-name "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-init-find-buildfile-dir
|
||||
'flymake-proc--init-find-buildfile-dir "26.1"
|
||||
"Find buildfile, store its dir in buffer data and return its dir, if found.")
|
||||
(define-obsolete-function-alias 'flymake-init-create-temp-source-and-master-buffer-copy
|
||||
'flymake-proc--init-create-temp-source-and-master-buffer-copy "26.1"
|
||||
"Find master file (or buffer), create its copy along with a copy of the source file.")
|
||||
'flymake-proc-get-real-file-name "26.1")
|
||||
(define-obsolete-function-alias 'flymake-master-cleanup
|
||||
'flymake-proc-master-cleanup "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-get-syntax-check-program-args
|
||||
'flymake-proc--get-syntax-check-program-args "26.1"
|
||||
"Create a command line for syntax check using GET-CMD-LINE-F.")
|
||||
'flymake-proc-master-cleanup "26.1")
|
||||
(define-obsolete-function-alias 'flymake-get-make-cmdline
|
||||
'flymake-proc-get-make-cmdline "26.1"
|
||||
nil)
|
||||
'flymake-proc-get-make-cmdline "26.1")
|
||||
(define-obsolete-function-alias 'flymake-get-ant-cmdline
|
||||
'flymake-proc-get-ant-cmdline "26.1"
|
||||
nil)
|
||||
'flymake-proc-get-ant-cmdline "26.1")
|
||||
(define-obsolete-function-alias 'flymake-simple-make-init-impl
|
||||
'flymake-proc-simple-make-init-impl "26.1"
|
||||
"Create syntax check command line for a directly checked source file.
|
||||
Use CREATE-TEMP-F for creating temp copy.")
|
||||
'flymake-proc-simple-make-init-impl "26.1")
|
||||
(define-obsolete-function-alias 'flymake-simple-make-init
|
||||
'flymake-proc-simple-make-init "26.1"
|
||||
nil)
|
||||
'flymake-proc-simple-make-init "26.1")
|
||||
(define-obsolete-function-alias 'flymake-master-make-init
|
||||
'flymake-proc-master-make-init "26.1"
|
||||
"Create make command line for a source file checked via master file compilation.")
|
||||
'flymake-proc-master-make-init "26.1")
|
||||
(define-obsolete-function-alias 'flymake-find-make-buildfile
|
||||
'flymake-proc--find-make-buildfile "26.1"
|
||||
nil)
|
||||
'flymake-proc--find-make-buildfile "26.1")
|
||||
(define-obsolete-function-alias 'flymake-master-make-header-init
|
||||
'flymake-proc-master-make-header-init "26.1"
|
||||
nil)
|
||||
'flymake-proc-master-make-header-init "26.1")
|
||||
(define-obsolete-function-alias 'flymake-simple-make-java-init
|
||||
'flymake-proc-simple-make-java-init "26.1"
|
||||
nil)
|
||||
'flymake-proc-simple-make-java-init "26.1")
|
||||
(define-obsolete-function-alias 'flymake-simple-ant-java-init
|
||||
'flymake-proc-simple-ant-java-init "26.1"
|
||||
nil)
|
||||
'flymake-proc-simple-ant-java-init "26.1")
|
||||
(define-obsolete-function-alias 'flymake-simple-java-cleanup
|
||||
'flymake-proc-simple-java-cleanup "26.1"
|
||||
"Cleanup after ‘flymake-simple-make-java-init’ -- delete temp file and dirs.")
|
||||
'flymake-proc-simple-java-cleanup "26.1")
|
||||
(define-obsolete-function-alias 'flymake-perl-init
|
||||
'flymake-proc-perl-init "26.1"
|
||||
nil)
|
||||
'flymake-proc-perl-init "26.1")
|
||||
(define-obsolete-function-alias 'flymake-php-init
|
||||
'flymake-proc-php-init "26.1"
|
||||
nil)
|
||||
(define-obsolete-function-alias 'flymake-get-tex-args
|
||||
'flymake-proc--get-tex-args "26.1"
|
||||
nil)
|
||||
'flymake-proc-php-init "26.1")
|
||||
(define-obsolete-function-alias 'flymake-simple-tex-init
|
||||
'flymake-proc-simple-tex-init "26.1"
|
||||
nil)
|
||||
'flymake-proc-simple-tex-init "26.1")
|
||||
(define-obsolete-function-alias 'flymake-master-tex-init
|
||||
'flymake-proc-master-tex-init "26.1"
|
||||
nil)
|
||||
'flymake-proc-master-tex-init "26.1")
|
||||
(define-obsolete-function-alias 'flymake-xml-init
|
||||
'flymake-proc-xml-init "26.1"
|
||||
nil))
|
||||
'flymake-proc-xml-init "26.1"))
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
(require 'thingatpt) ; end-of-thing
|
||||
(require 'warnings) ; warning-numeric-level, display-warning
|
||||
(require 'compile) ; for some faces
|
||||
(eval-when-compile (require 'subr-x)) ; when-let*, if-let*, hash-table-keys
|
||||
(eval-when-compile (require 'subr-x)) ; when-let*, if-let*
|
||||
|
||||
(defgroup flymake nil
|
||||
"Universal on-the-fly syntax checker."
|
||||
|
@ -53,7 +53,6 @@ symbols, see `fringe-bitmaps'. See also `flymake-warning-bitmap'.
|
|||
|
||||
The option `flymake-fringe-indicator-position' controls how and where
|
||||
this is used."
|
||||
:group 'flymake
|
||||
:version "24.3"
|
||||
:type '(choice (symbol :tag "Bitmap")
|
||||
(list :tag "Bitmap and face"
|
||||
|
@ -68,7 +67,6 @@ symbols, see `fringe-bitmaps'. See also `flymake-error-bitmap'.
|
|||
|
||||
The option `flymake-fringe-indicator-position' controls how and where
|
||||
this is used."
|
||||
:group 'flymake
|
||||
:version "24.3"
|
||||
:type '(choice (symbol :tag "Bitmap")
|
||||
(list :tag "Bitmap and face"
|
||||
|
@ -83,7 +81,6 @@ symbols, see `fringe-bitmaps'. See also `flymake-error-bitmap'.
|
|||
|
||||
The option `flymake-fringe-indicator-position' controls how and where
|
||||
this is used."
|
||||
:group 'flymake
|
||||
:version "26.1"
|
||||
:type '(choice (symbol :tag "Bitmap")
|
||||
(list :tag "Bitmap and face"
|
||||
|
@ -94,7 +91,6 @@ this is used."
|
|||
"The position to put flymake fringe indicator.
|
||||
The value can be nil (do not use indicators), `left-fringe' or `right-fringe'.
|
||||
See `flymake-error-bitmap' and `flymake-warning-bitmap'."
|
||||
:group 'flymake
|
||||
:version "24.3"
|
||||
:type '(choice (const left-fringe)
|
||||
(const right-fringe)
|
||||
|
@ -102,24 +98,20 @@ See `flymake-error-bitmap' and `flymake-warning-bitmap'."
|
|||
|
||||
(defcustom flymake-start-syntax-check-on-newline t
|
||||
"Start syntax check if newline char was added/removed from the buffer."
|
||||
:group 'flymake
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom flymake-no-changes-timeout 0.5
|
||||
"Time to wait after last change before starting compilation."
|
||||
:group 'flymake
|
||||
:type 'number)
|
||||
|
||||
(defcustom flymake-gui-warnings-enabled t
|
||||
"Enables/disables GUI warnings."
|
||||
:group 'flymake
|
||||
:type 'boolean)
|
||||
(make-obsolete-variable 'flymake-gui-warnings-enabled
|
||||
"it no longer has any effect." "26.1")
|
||||
|
||||
(defcustom flymake-start-syntax-check-on-find-file t
|
||||
"Start syntax check on find file."
|
||||
:group 'flymake
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom flymake-log-level -1
|
||||
|
@ -131,7 +123,7 @@ See `flymake-error-bitmap' and `flymake-warning-bitmap'."
|
|||
|
||||
(defcustom flymake-wrap-around t
|
||||
"If non-nil, moving to errors wraps around buffer boundaries."
|
||||
:group 'flymake :type 'boolean)
|
||||
:type 'boolean)
|
||||
|
||||
(define-fringe-bitmap 'flymake-double-exclamation-mark
|
||||
(vector #b00000000
|
||||
|
@ -210,7 +202,7 @@ generated it."
|
|||
end
|
||||
type
|
||||
text)
|
||||
"Mark BUFFER's region from BEG to END with a flymake diagnostic.
|
||||
"Make a flymake diagnostic for BUFFER's region from BEG to END.
|
||||
TYPE is a key to `flymake-diagnostic-types-alist' and TEXT is a
|
||||
description of the problem detected in this region."
|
||||
(flymake--diag-make :buffer buffer :beg beg :end end :type type :text text))
|
||||
|
@ -231,23 +223,22 @@ description of the problem detected in this region."
|
|||
If BEG is non-nil and END is nil, consider only `overlays-at'
|
||||
BEG. Otherwise consider `overlays-in' the region comprised by BEG
|
||||
and END, defaulting to the whole buffer. Remove all that do not
|
||||
verify FILTER, sort them by COMPARE (using KEY)."
|
||||
(cl-remove-if-not
|
||||
(lambda (ov)
|
||||
(and (overlay-get ov 'flymake-overlay)
|
||||
(or (not filter)
|
||||
(cond ((functionp filter) (funcall filter ov))
|
||||
((symbolp filter) (overlay-get ov filter))))))
|
||||
(save-restriction
|
||||
(widen)
|
||||
(let ((ovs (if (and beg (null end))
|
||||
verify FILTER, a function, and sort them by COMPARE (using KEY)."
|
||||
(save-restriction
|
||||
(widen)
|
||||
(let ((ovs (cl-remove-if-not
|
||||
(lambda (ov)
|
||||
(and (overlay-get ov 'flymake)
|
||||
(or (not filter)
|
||||
(funcall filter ov))))
|
||||
(if (and beg (null end))
|
||||
(overlays-at beg t)
|
||||
(overlays-in (or beg (point-min))
|
||||
(or end (point-max))))))
|
||||
(if compare
|
||||
(cl-sort ovs compare :key (or key
|
||||
#'identity))
|
||||
ovs)))))
|
||||
(or end (point-max)))))))
|
||||
(if compare
|
||||
(cl-sort ovs compare :key (or key
|
||||
#'identity))
|
||||
ovs))))
|
||||
|
||||
(defun flymake-delete-own-overlays (&optional filter)
|
||||
"Delete all flymake overlays in BUFFER."
|
||||
|
@ -259,8 +250,7 @@ verify FILTER, sort them by COMPARE (using KEY)."
|
|||
(t
|
||||
:inherit error))
|
||||
"Face used for marking error regions."
|
||||
:version "24.4"
|
||||
:group 'flymake)
|
||||
:version "24.4")
|
||||
|
||||
(defface flymake-warning
|
||||
'((((supports :underline (:style wave)))
|
||||
|
@ -268,8 +258,7 @@ verify FILTER, sort them by COMPARE (using KEY)."
|
|||
(t
|
||||
:inherit warning))
|
||||
"Face used for marking warning regions."
|
||||
:version "24.4"
|
||||
:group 'flymake)
|
||||
:version "24.4")
|
||||
|
||||
(defface flymake-note
|
||||
'((((supports :underline (:style wave)))
|
||||
|
@ -277,8 +266,7 @@ verify FILTER, sort them by COMPARE (using KEY)."
|
|||
(t
|
||||
:inherit warning))
|
||||
"Face used for marking note regions."
|
||||
:version "26.1"
|
||||
:group 'flymake)
|
||||
:version "26.1")
|
||||
|
||||
(define-obsolete-face-alias 'flymake-warnline 'flymake-warning "26.1")
|
||||
(define-obsolete-face-alias 'flymake-errline 'flymake-error "26.1")
|
||||
|
@ -324,7 +312,7 @@ Return nil if the region is invalid."
|
|||
"List of flymake backends i.e. sources of flymake diagnostics.
|
||||
|
||||
This variable holds an arbitrary number of \"backends\" or
|
||||
\"checkers\" providing the flymake UI's \"frontend\" with
|
||||
\"checkers\" providing the flymake user interface with
|
||||
information about where and how to annotate problems diagnosed in
|
||||
a buffer.
|
||||
|
||||
|
@ -340,19 +328,23 @@ start checking the buffer):
|
|||
backend for the current check, but will call it again the next
|
||||
time;
|
||||
|
||||
* If the backend function returns non-nil, flymake expects this backend to
|
||||
check the buffer and call its REPORT-FN callback function. If
|
||||
the computation involved is inexpensive, the backend function
|
||||
may do so synchronously before returning. If it is not, it may
|
||||
do so after retuning, using idle timers, asynchronous
|
||||
processes or other asynchronous mechanisms.
|
||||
* If the backend function returns non-nil, flymake expects this
|
||||
backend to check the buffer and call its REPORT-FN callback
|
||||
function exactly once. If the computation involved is
|
||||
inexpensive, the backend function may do so synchronously
|
||||
before returning. If it is not, it may do so after returning,
|
||||
using idle timers, asynchronous processes or other asynchronous
|
||||
mechanisms.
|
||||
|
||||
* If the backend function signals an error, it is disabled, i.e. flymake
|
||||
will not attempt it again for this buffer until `flymake-mode'
|
||||
is turned off and on again.
|
||||
* If the backend function signals an error, it is disabled,
|
||||
i.e. flymake will not attempt it again for this buffer until
|
||||
`flymake-mode' is turned off and on again.
|
||||
|
||||
When calling REPORT-FN, the first argument passed to it decides
|
||||
how to proceed. Recognized values are:
|
||||
Backends are required to call REPORT-FN with a single argument
|
||||
ACTION followed by an optional list of keywords parameters and
|
||||
their values (:KEY1 VALUE1 :KEY2 VALUE2...).
|
||||
|
||||
The possible values for ACTION are.
|
||||
|
||||
* A (possibly empty) list of objects created with
|
||||
`flymake-make-diagnostic', causing flymake to annotate the
|
||||
|
@ -365,9 +357,13 @@ how to proceed. Recognized values are:
|
|||
* The symbol `:panic', signalling that the backend has
|
||||
encountered an exceptional situation and should be disabled.
|
||||
|
||||
In the latter cases, it is also possible to provide REPORT-FN
|
||||
with a string as the keyword argument `:explanation'. The string
|
||||
should give human-readable details of the situation.")
|
||||
The recognized optional keyword arguments are:
|
||||
|
||||
* ‘:explanation’: value should give user-readable details of
|
||||
the situation encountered, if any.
|
||||
|
||||
* ‘:force’: value should be a boolean forcing the flymake UI
|
||||
to consider the report even if was somehow unexpected.")
|
||||
|
||||
(defvar flymake-diagnostic-types-alist
|
||||
`((:error
|
||||
|
@ -492,7 +488,7 @@ associated `flymake-category' return DEFAULT."
|
|||
;; Some properties can't be overriden
|
||||
;;
|
||||
(overlay-put ov 'evaporate t)
|
||||
(overlay-put ov 'flymake-overlay t)
|
||||
(overlay-put ov 'flymake t)
|
||||
(overlay-put ov 'flymake--diagnostic diagnostic)))
|
||||
|
||||
(defun flymake-on-timer-event (buffer)
|
||||
|
@ -589,9 +585,9 @@ sources."
|
|||
"Run the backend BACKEND."
|
||||
(push backend flymake--running-backends)
|
||||
(remhash backend flymake--diagnostics-table)
|
||||
;; FIXME: Should use `condition-case-unless-debug'
|
||||
;; here, but that won't let me catch errors during
|
||||
;; testing where `debug-on-error' is always t
|
||||
;; FIXME: Should use `condition-case-unless-debug' here, but that
|
||||
;; won't let me catch errors from inside `ert-deftest' where
|
||||
;; `debug-on-error' is always t
|
||||
(condition-case err
|
||||
(unless (funcall backend
|
||||
(flymake-make-report-fn backend))
|
||||
|
@ -682,6 +678,9 @@ backends."
|
|||
"Turn flymake mode off."
|
||||
(flymake-mode 0))
|
||||
|
||||
(make-obsolete 'flymake-mode-on 'flymake-mode "26.1")
|
||||
(make-obsolete 'flymake-mode-off 'flymake-mode "26.1")
|
||||
|
||||
(defun flymake-after-change-function (start stop _len)
|
||||
"Start syntax check for current buffer if it isn't already running."
|
||||
(let((new-text (buffer-substring start stop)))
|
||||
|
@ -709,14 +708,19 @@ backends."
|
|||
|
||||
(defun flymake-goto-next-error (&optional n filter interactive)
|
||||
"Go to Nth next flymake error in buffer matching FILTER.
|
||||
|
||||
Interactively, always move to the next error. Interactively, and
|
||||
with a prefix arg, skip any diagnostics with a severity less than
|
||||
‘:warning’.
|
||||
|
||||
If ‘flymake-wrap-around’ is non-nil, resumes search from top
|
||||
at end of buffer.
|
||||
|
||||
FILTER is a list of diagnostic types found in
|
||||
`flymake-diagnostic-types-alist', or nil, if no filter is to be
|
||||
applied.
|
||||
|
||||
Interactively, always goes to the next error. Also
|
||||
interactively, FILTER is determined by the prefix arg. With no
|
||||
prefix arg, don't use a filter, otherwise only consider
|
||||
diagnostics of type `:error' and `:warning'."
|
||||
applied."
|
||||
;; TODO: let filter be a number, a severity below which diags are
|
||||
;; skipped.
|
||||
(interactive (list 1
|
||||
(if current-prefix-arg
|
||||
'(:error :warning))
|
||||
|
@ -760,14 +764,17 @@ diagnostics of type `:error' and `:warning'."
|
|||
|
||||
(defun flymake-goto-prev-error (&optional n filter interactive)
|
||||
"Go to Nth previous flymake error in buffer matching FILTER.
|
||||
|
||||
Interactively, always move to the previous error. Interactively,
|
||||
and with a prefix arg, skip any diagnostics with a severity less
|
||||
than ‘:warning’.
|
||||
|
||||
If ‘flymake-wrap-around’ is non-nil, resumes search from top
|
||||
at end of buffer.
|
||||
|
||||
FILTER is a list of diagnostic types found in
|
||||
`flymake-diagnostic-types-alist', or nil, if no filter is to be
|
||||
applied.
|
||||
|
||||
Interactively, always goes to the previous error. Also
|
||||
interactively, FILTER is determined by the prefix arg. With no
|
||||
prefix arg, don't use a filter, otherwise only consider
|
||||
diagnostics of type `:error' and `:warning'."
|
||||
applied."
|
||||
(interactive (list 1 (if current-prefix-arg
|
||||
'(:error :warning))
|
||||
t))
|
||||
|
@ -783,7 +790,8 @@ diagnostics of type `:error' and `:warning'."
|
|||
(defun flymake--mode-line-format ()
|
||||
"Produce a pretty minor mode indicator."
|
||||
(let ((running flymake--running-backends)
|
||||
(reported (hash-table-keys flymake--diagnostics-table)))
|
||||
(reported (cl-plusp
|
||||
(hash-table-count flymake--diagnostics-table))))
|
||||
`((:propertize " Flymake"
|
||||
mouse-face mode-line-highlight
|
||||
,@(when (not reported)
|
||||
|
|
Loading…
Add table
Reference in a new issue