summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/context/ruby/concheck.rb
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-11-18 01:37:52 +0000
committerKarl Berry <karl@freefriends.org>2006-11-18 01:37:52 +0000
commit5c91b9f8a88e06f057a6a08b0a755a224d08e019 (patch)
tree57cfafb6bd6c146dcdfc911dbef8db622c6476bd /Master/texmf-dist/scripts/context/ruby/concheck.rb
parent983736c2ab572e9a860c74f0f781b3decd282f13 (diff)
context 17nov06 update
git-svn-id: svn://tug.org/texlive/trunk@2449 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts/context/ruby/concheck.rb')
-rw-r--r--Master/texmf-dist/scripts/context/ruby/concheck.rb56
1 files changed, 33 insertions, 23 deletions
diff --git a/Master/texmf-dist/scripts/context/ruby/concheck.rb b/Master/texmf-dist/scripts/context/ruby/concheck.rb
index bf09bbdc8da..6c7512bff8f 100644
--- a/Master/texmf-dist/scripts/context/ruby/concheck.rb
+++ b/Master/texmf-dist/scripts/context/ruby/concheck.rb
@@ -223,6 +223,7 @@ def some_chr_error(data, filename, left, right)
levels = Array.new
for line in 0..data.length-1 do
str = data[line]
+ # str = data[line].gsub(/\\[\#{left}\#{right}]/,'')
column = 0
while column<str.length do
case str[column].chr
@@ -365,6 +366,7 @@ end
# todo : language dependent
def check_file_tex (filename)
+ error = false
if data = load_file(filename) then
message("checking tex file", filename)
interface = guess_interface(data)
@@ -372,42 +374,49 @@ def check_file_tex (filename)
data = cleanup_data(data,interface)
# data.each do |d| print d end
$valid[interface].each do |v|
- return false if some_wrd_error(data, filename, v[0], v[1] ,$valid_tex)
+ if some_wrd_error(data, filename, v[0], v[1] ,$valid_tex) then
+ error = true
+ break
+ end
end
# return false if some_wrd_error(data, filename, '\\\\start' , '\\\\stop' , $valid_tex)
# return false if some_wrd_error(data, filename, '\\\\Start' , '\\\\Stop' , $valid_tex)
# return false if some_wrd_error(data, filename, '\\\\beginvan', '\\\\eindvan', $valid_tex)
# return false if some_wrd_error(data, filename, '\\\\begin' , '\\\\end|\\\\eind', $valid_tex)
- return false if some_sym_error(data, filename, '$', false)
- return false if some_sym_error(data, filename, '|', true)
- return false if some_chr_error(data, filename, '{', '}')
- return false if some_chr_error(data, filename, '[', ']')
- return false if some_chr_error(data, filename, '(', ')')
- return false if some_key_error(data, filename, valid)
- message("no errors in tex code", filename)
- return true
+ error = true if some_sym_error(data, filename, '$', false)
+ error = true if some_sym_error(data, filename, '|', true)
+ error = true if some_chr_error(data, filename, '{', '}')
+ error = true if some_chr_error(data, filename, '[', ']')
+ error = true if some_chr_error(data, filename, '(', ')')
+ error = true if some_key_error(data, filename, valid)
+ message("no errors in tex code", filename) unless error
+ return error
else
return false
end
end
def check_file_mp (filename)
+ error = false
if data = load_file(filename) then
message("checking metapost file", filename)
interface = guess_interface(data)
valid = load_valid(data,interface)
$valid[interface].each do |v|
- return false if some_wrd_error(data, filename, v[0], v[1] ,$valid_tex)
+ if some_wrd_error(data, filename, v[0], v[1] ,$valid_tex) then
+ error = true
+ break
+ end
end
# return false if some_wrd_error(data, filename, '', 'begin', 'end', $valid_mp)
- return false if some_chr_error(data, filename, '{', '}')
- return false if some_chr_error(data, filename, '[', ']')
- return false if some_chr_error(data, filename, '(', ')')
- return false if some_key_error(data, filename, valid)
- message("no errors in metapost code", filename)
- return true
+ error = true if some_chr_error(data, filename, '{', '}')
+ error = true if some_chr_error(data, filename, '[', ']')
+ error = true if some_chr_error(data, filename, '(', ')')
+ error = true if some_key_error(data, filename, valid)
+ message("no errors in metapost code", filename) unless error
+ return error
else
- return true
+ return false
end
end
@@ -440,7 +449,7 @@ def check_file(filename='')
when '' then
message("provide filename")
return false
- when /\.tex$/i then
+ when /\.(tex|mk.+)$/i then
return check_file_tex(filename) # && check_file_text(filename)
when /\.mp$/i then
return check_file_mp(filename)
@@ -450,12 +459,13 @@ def check_file(filename='')
end
end
-if filename = ARGV[0] then
- if check_file(filename) then
- exit 0
- else
- exit 1
+if ARGV.size > 0 then
+ someerror = false
+ ARGV.each do |filename|
+ somerror = true if check_file(filename)
end
+ exit (if someerror then 1 else 0 end)
else
exit 1
end
+