|
Built-in Message Name
|
Message Group
|
Message Description
|
|
ALIAS1
|
error
|
Both arguments to alias must be symbols.
|
|
APPEND1
|
suggestion
|
Consider using cons rather than append.
|
|
ARRAYREF1
|
error
|
First argument to arrayref must evaluate to an array.
|
|
ASSOC1
|
suggestion
|
Consider using assq rather than assoc.
|
|
BACKQUOTE1
|
suggestion
|
Possibly replace this backquote with a quote.
|
|
CASE1
|
warning
|
case can never be reached (after default t).
|
|
CASE2
|
warning
|
Symbol t used in case or caseq list.
|
|
CASE3
|
error
|
Duplicate value in case or caseq.
|
|
CASE5
|
hint
|
case can be replaced with caseq.
|
|
CASE6
|
warning
|
Quoted value in case or caseq (quote not required).
|
|
CASEQ1
|
error
|
You must use case rather than caseq.
|
|
CHK1
|
error
|
Type template string must be last argument.
|
|
CHK2
|
error
|
Redundant statement.
|
|
CHK3
|
error
|
Bad argument (must be a symbol).
|
|
CHK4
|
error
|
Redundant argument template.
|
|
CHK6
|
error
|
Macros cannot have @key, @rest, or @optional.
|
|
CHK7
|
error
|
Nlambda 1st argument must be a symbol.
|
|
CHK8
|
error
|
Entry after @rest not allowed.
|
|
CHK9
|
error
|
@rest, or @key, or @optional not followed by an argument.
|
|
CHK10
|
error
|
Argument duplicated.
|
|
CHK11
|
error
|
Nlambda 2nd argument should be a list.
|
|
CHK12
|
error
|
Nlambda maximum of two arguments.
|
|
CHK13
|
error
|
@optional and @key cannot appear in the same argument list.
|
|
CHK14
|
error
|
Bad argument, should be a list of length 2.
|
|
CHK15
|
error
|
Bad argument, should be a list.
|
|
CHKARGS1
|
error
|
Function requires at least n arguments. See Check the Number of Function Arguments.
|
|
CHKARGS2
|
error
|
Function takes at most n arguments. See Check the Number of Function Arguments.
|
|
CHKARGS3
|
error
|
Key argument repeated.
|
|
CHKARGS4
|
error
|
Unknown key argument.
|
|
CHKARGS5
|
error
|
No argument following key.
|
|
CHKFORM1
|
error
|
Number of arguments mismatch.
|
|
CHKFORM2
|
error
|
Bad statement.
|
|
DBGET1
|
error
|
Second argument to ~> must be symbol or string.
|
|
DEADCODE1
|
warning
|
Unreachable code.
|
|
DECLARE1
|
error
|
Arguments to declare must be calls to arrayref, (e.g. a[10]).
|
|
DECODE1
|
error
|
You must use case or caseq rather than decode.
|
|
DEF1
|
error
|
Extra argument passed to def.
|
|
DEF2
|
error
|
Last argument to def is bad.
|
|
DEF3
|
hint
|
nlambda, macro, or alias should not be referenced before it is defined.
|
|
DEF4
|
hint
|
nlambda, macro, or alias might be referenced before it is defined.
|
|
DEF5
|
hint
|
Recursive call to an nlambda function or macro is inefficient, call declareNLambda first.
|
|
DEF6
|
error
|
Definition for function def cannot have more than 255 required or optional arguments.
|
|
DEFSTRUCT1
|
error
|
Arguments to defstruct must all be symbols.
|
|
EQUAL1
|
hint
|
You can replace == nil with !.
|
|
EQUAL2
|
hint
|
You can replace == 1 with onep.
|
|
EQUAL3
|
hint
|
You can replace == 0 with zerop.
|
|
EVALSTRING1
|
suggestion
|
Consider using stringToFunction when evalstring is called multiple times with the same string.
|
|
ExtHead
|
information
|
Known/Unknown External functions called.
|
|
ExtKnown
|
information
|
Functions called that are defined outside of analyzed code.
|
|
External
|
information
|
Functions called that are not defined.
|
|
External0
|
information
|
Line numbers in which undefined functions were called.
|
|
FOR1
|
error
|
First argument to for must be a symbol.
|
|
FnsLocal
|
information
|
Name of a SKILL++ local function
|
|
FnsLocal0
|
information
|
Location of a SKILL++ local function
|
|
Flow
|
information
|
Reports the call flow for the code analyzed.
|
|
GET1
|
error
|
Second argument to -> must be either a symbol or a string.
|
|
GET2
|
error
|
Autoload symbol is no longer used, replace get with isCallable.
|
|
GETD1
|
error
|
getd no longer returns a list, use the function isCallable.
|
|
GO1
|
error
|
go must have only one argument, a symbol.
|
|
GO2
|
error
|
go must be called from within a prog containing a label.
|
|
IF4
|
error
|
then and else required in if construct.
|
|
IF5
|
error
|
else without corresponding then.
|
|
IF6
|
hint
|
Remove the then nil part and convert to unless.
|
|
IF7
|
hint
|
Remove the else nil part, and part convert to a when.
|
|
IF10
|
hint
|
Invert the test and replace with unless, as no else part.
|
|
IQ
|
information
|
IQ score (best is 100).
|
|
IQ1
|
information
|
IQ score is based on messages * priority.
|
|
LABEL1
|
warning
|
Label not used within.
|
|
LABEL2
|
error
|
More than one declaration of label within.
|
|
LAMBDA1
|
error
|
Bad use of lambda.
|
|
LET1
|
error
|
Incorrect let variable definition.
|
|
LET2
|
hint
|
let statement has no local variables, so can be removed.
|
|
LET3
|
hint
|
Variable repeated in local variable list for let.
|
|
LET4
|
warning
|
Variable used before available in let assignment.
|
|
LET5
|
error
|
let statements will not accept more that 255 local variables in the next release.
|
|
LOAD1
|
warning
|
Can’t evaluate to an include/load file.
|
|
LOOP1
|
error
|
First argument must be a symbol or list of symbols.
|
|
LoadFile
|
information
|
Loading file.
|
|
MEMBER1
|
suggestion
|
Consider use of memq rather than member.
|
|
MultiRead
|
information
|
Attempt to read file more than once.
|
|
NEQUAL1
|
hint
|
You may be able to replace with !=.
|
|
NEQUAL2
|
hint
|
You can replace with !=.
|
|
NTH1
|
hint
|
Can replace call to nth with call to car, cadr, and so on.
|
|
NoRead
|
error
|
Cannot read file.
|
|
PREFIXES
|
information
|
Using package prefixes.See Check Function and Global Variable Prefixes.
|
|
PREFIX1
|
warning
|
Prefixes must be all lower case or all upper case. See Check Function and Global Variable Prefixes.
|
|
PRINTF1
|
error
|
Incorrect number of format elements.
|
|
PRINTF2
|
error
|
Format argument is not a string.
|
|
PROG1
|
error
|
Bad action statement.
|
|
PROG2
|
hint
|
prog construct may be removed.
|
|
PROG4
|
hint
|
Variable repeated in local variable list of prog.
|
|
PROG5
|
hint
|
prog may be replaced with progn.
|
|
PROG6
|
hint
|
Will need a nil at end if prog removed.
|
|
PROGN1
|
hint
|
progn with only one statement can be removed.
|
|
PUTPROP1
|
information
|
The autoload symbol is no longer used for functions in contexts.
|
|
REMOVE1
|
suggestion
|
Consider using remq rather than remove.
|
|
REP
|
SKILL lint run message
|
Short for report. REP is not based on the content of the program.
|
|
RETURN1
|
warning
|
Not within a prog: return.
|
|
RETURN2
|
hint
|
Replace return(nil) with return().
|
|
SETQ1
|
error
|
First argument should be a symbol.
|
|
SETQ2
|
suggestion
|
Possible variable initialized to nil.
|
|
SETQ3
|
suggestion
|
Assignment to loop variable.
|
|
SKFATAL
|
fatalerror
|
Error found from which SKILL Lint cannot proceed.
|
|
STATUS1
|
error
|
Second argument must be t or nil.
|
|
STATUS2
|
error
|
Unknown status flag.
|
|
STATUS3
|
warning
|
Internal (s) status flag, do not use.
|
|
STRCMP1
|
hint
|
Inefficient use of strcmp. Change to equal.
|
|
STRICT
|
information
|
Applying strict checking of global variable prefixes.
See Check Function and Global Variable Prefixes.
|
|
STRLEN1
|
hint
|
Inefficient use of strlen. Change to equal "".
|
|
Checks
|
information
|
Applying SKILL Lint checks.
|
|
Form
|
information
|
Form being read by SKILL Lint.
|
|
Read
|
information
|
This message is given for each file that is analyzed.
|
|
Unused
|
unused vars
|
Variable does not appear to be referenced.
|
|
VAR
|
information
|
Variable used or set in function/file.
|
|
VAR0
|
information
|
Variable used or set in function/file.
|
|
VAR1
|
error
|
Attempt to assign a value to t.
|
|
VAR4
|
information
|
Variables used as both global and local.
|
|
VAR5
|
information
|
Unrecognized global variables.
|
|
VAR6
|
information
|
Acceptable global variables.
|
|
VAR7
|
error global
|
Variable used as both a local and global.
|
|
VAR8
|
warning global
|
Global variable does not begin with package prefix.
|
|
VAR9
|
package global
|
Global variable begins with package prefix.
|
|
VAR12
|
warning
|
Argument does not appear to be referenced.
Add an underscore (_) prefix to an argument in a function definition to indicate that it is intentionally unused within the body of the function. For example:
procedure(notused(a b)
t
)
then you get a warning from SKILL Lint.
|
|
VAR13
|
information
|
Internal global variable does not appear to be referenced.
If the arguments are prefixed with an underscore, for example:
procedure(notused(_a _b)
t
)
than, SKILL Lint displays an INFO message.
|
|
VAR14
|
information
|
Package global variable does not appear to be referenced.
|
|
VAR15
|
error
|
Variable cannot begin with keyword symbol (?).
|
|
VAR15
|
error
|
Variable cannot begin with keyword symbol (?) in the next release.
|
|
VAR16
|
information
|
Variable declaration hides a previous declaration.
|
|
WHEN1
|
hint
|
Invert test and convert to when/unless.
|