63 (r'[^\n]\Z', "no trailing newline"), |
63 (r'[^\n]\Z', "no trailing newline"), |
64 (r'export.*=', "don't export and assign at once"), |
64 (r'export.*=', "don't export and assign at once"), |
65 ('^([^"\']|("[^"]*")|(\'[^\']*\'))*\\^', "^ must be quoted"), |
65 ('^([^"\']|("[^"]*")|(\'[^\']*\'))*\\^', "^ must be quoted"), |
66 (r'^source\b', "don't use 'source', use '.'"), |
66 (r'^source\b', "don't use 'source', use '.'"), |
67 (r'touch -d', "don't use 'touch -d', use 'touch -t' instead"), |
67 (r'touch -d', "don't use 'touch -d', use 'touch -t' instead"), |
68 (r'ls\s+[^-]+\s+-', "options to 'ls' must come before filenames"), |
68 (r'ls\s+[^|-]+\s+-', "options to 'ls' must come before filenames"), |
69 ] |
69 ] |
70 |
70 |
71 testfilters = [ |
71 testfilters = [ |
72 (r"( *)(#([^\n]*\S)?)", repcomment), |
72 (r"( *)(#([^\n]*\S)?)", repcomment), |
73 (r"<<(\S+)((.|\n)*?\n\1)", rephere), |
73 (r"<<(\S+)((.|\n)*?\n\1)", rephere), |