diff --git a/ShellB3/sbin/re-l b/ShellB3/sbin/re-l index 20d747e19088fa9c3a5fb3e7270998b973e18086..17ed5c7d9359f834f0c5cc1e277d383e298c2c4a 100755 --- a/ShellB3/sbin/re-l +++ b/ShellB3/sbin/re-l @@ -55,9 +55,13 @@ def isRelScript(filepath): return getLine(filepath,linenumber=1)=='#!/usr/bin/env re-l' def extractRelInterpreter(filepath): - l=getLine(filepath,linenumber=2) - assert(l.startswith('#:')) - return l.split(':',1)[1].strip() + if not isRelScript(filepath): + raise RuntimeError("Not a re-l script!") + for line in range(2,5): + l=getLine(filepath,linenumber=line) + if l.startswith(('#re-l:','#:')): + return l.split(':',1)[1].strip() + raise RuntimeError("Couldn't find re-lative interpreter line (starts with '#re-l:')") def relexec(interpreter,scriptfile,*_args): args=[None,None]+list(_args)