--- 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
+ }
+ }
+
}
--- 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:
--- 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 */