# HG changeset patch # User huffman # Date 1245336675 25200 # Node ID 99f08ce977f9f098b18a1913747f48bcac36f8b5 # Parent 4e6064759aeb79e37ce94758dfcca82fdd3fee6e# Parent 061f01ee9978a8fc5c8dbb44db40c69c28561d13 merged diff -r 061f01ee9978 -r 99f08ce977f9 src/Pure/General/scan.scala --- a/src/Pure/General/scan.scala Thu Jun 18 07:46:30 2009 -0700 +++ b/src/Pure/General/scan.scala Thu Jun 18 07:51:15 2009 -0700 @@ -136,5 +136,31 @@ }.named("keyword") } + + + /** reverse CharSequence **/ + + class Reverse(text: CharSequence, start: Int, end: Int) extends CharSequence + { + require(0 <= start && start <= end && end <= text.length) + + def this(text: CharSequence) = this(text, 0, text.length) + + def length: Int = end - start + def charAt(i: Int): Char = text.charAt(end - i - 1) + + def subSequence(i: Int, j: Int): CharSequence = + if (0 <= i && i <= j && j <= length) new Reverse(text, end - j, end - i) + else throw new IndexOutOfBoundsException + + override def toString: String = + { + val buf = new StringBuffer(length) + for (i <- 0 until length) + buf.append(charAt(i)) + buf.toString + } + } + } diff -r 061f01ee9978 -r 99f08ce977f9 src/Pure/IsaMakefile --- a/src/Pure/IsaMakefile Thu Jun 18 07:46:30 2009 -0700 +++ b/src/Pure/IsaMakefile Thu Jun 18 07:51:15 2009 -0700 @@ -12,6 +12,8 @@ ## global settings +SHELL = /bin/bash + SRC = $(ISABELLE_HOME)/src OUT = $(ISABELLE_OUTPUT) LOG = $(OUT)/log @@ -134,7 +136,7 @@ scaladoc -d classes $(SCALA_FILES) @cp $(SCALA_FILES) classes/isabelle @mkdir -p `dirname $@` - @cd classes; jar cf $@ isabelle + @cd classes; jar cf `jvmpath $@` isabelle @rm -rf classes clean-jar: diff -r 061f01ee9978 -r 99f08ce977f9 src/Pure/System/isabelle_system.scala --- a/src/Pure/System/isabelle_system.scala Thu Jun 18 07:46:30 2009 -0700 +++ b/src/Pure/System/isabelle_system.scala Thu Jun 18 07:51:15 2009 -0700 @@ -114,6 +114,8 @@ if (value != "") value else error("Undefined environment variable: " + name) } + override def toString = getenv("ISABELLE_HOME") + /* file path specifications */