diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 42d3ae06d3a..15233609890 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,436 @@
+2010-10-12 Andrew John Hughes
+
+ Import GNU Classpath (libgcj-snapshot-20100921).
+
+ * libjava/Makefile.in: Regenerated.
+ * libjava/javax/swing/text/html/StyleSheet.h,
+ * libjava/javax/swing/text/html/MinimalHTMLWriter.h,
+ * libjava/javax/swing/text/html/HTMLWriter.h,
+ * libjava/javax/xml/stream/XMLEventFactory.h,
+ * libjava/javax/xml/stream/XMLOutputFactory.h,
+ * libjava/javax/xml/stream/events/Namespace.h,
+ * libjava/javax/xml/stream/util/StreamReaderDelegate.h,
+ * libjava/javax/security/auth/kerberos/KeyImpl.h,
+ * libjava/javax/security/auth/kerberos/KerberosTicket.h:
+ Regenerated.
+ * libjava/classpath/Makefile.in,
+ * libjava/classpath/depcomp,
+ * libjava/classpath/scripts/Makefile.in,
+ * libjava/classpath/resource/Makefile.in,
+ * libjava/classpath/tools/Makefile.in:
+ Regenerated. Use libtool from top-level config directory.
+ * libjava/classpath/tools/classes/gnu/classpath/tools/StringToolkit.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml$State.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/IOToolkit.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportClassFile.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TagImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree$FileNode.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TextTagImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/InheritDocTagImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AdditionExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NegateExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantDouble.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EqualExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantChar.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/DivisionExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantInteger.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantShort.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantLong.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantByte.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnaryExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantFloat.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ModuloExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantString.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AndExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Context.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantNull.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantExpression.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportNotFound.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParamTagImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Timer.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionPackage.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ValueTagImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SeeTagImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TemporaryStore.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionClass.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParameterImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ScheduledClass.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportPackageFile.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ErrorReporter.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Debug.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MethodDocImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ThrowsTagImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/LinkTagImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParseException.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourcePositionImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/JavadocWrapper.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeVariableImpl.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/NotifyingInputStreamReader.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/MalformedInputEvent.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletConfigurationException.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/TargetContext.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet$DocErrorReporterOutputStream.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$UsageType.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$NullErrorReporter.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer$TagInfo.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionColonSeparated.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionString.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/CssClass.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/InvalidPackageWildcardException.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFlag.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/StandardTaglet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFile.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOption.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageGroup.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$JarStreamInfo.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$FileStreamInfo.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CodeTaglet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/GenericTaglet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/ValueTaglet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet$EmailReplacement.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/DeprecatedTaglet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/SinceTaglet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/TagletContext.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/VersionTaglet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CopyrightTaglet.class,
+ * libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader.class,
+ * libjava/classpath/tools/classes/com/sun/tools/javadoc/Main.class: Regenerated.
+ * libjava/classpath/doc/Makefile.in,
+ * libjava/classpath/doc/api/Makefile.in,
+ * libjava/classpath/doc/texinfo.tex,
+ * libjava/classpath/external/Makefile.in,
+ * libjava/classpath/external/jsr166/Makefile.in,
+ * libjava/classpath/external/sax/Makefile.in,
+ * libjava/classpath/external/w3c_dom/Makefile.in,
+ * libjava/classpath/external/relaxngDatatype/Makefile.in,
+ * libjava/classpath/include/Makefile.in: Regenerated.
+ * libjava/classpath/m4/lib-prefix.m4,
+ * libjava/classpath/m4/lib-link.m4,
+ * libjava/classpath/m4/lib-ld.m4: Removed.
+ * libjava/classpath/native/jni/classpath/Makefile.in,
+ * libjava/classpath/native/jni/gstreamer-peer/Makefile.in,
+ * libjava/classpath/native/jni/midi-dssi/Makefile.in,
+ * libjava/classpath/native/jni/Makefile.in,
+ * libjava/classpath/native/jni/gconf-peer/Makefile.in,
+ * libjava/classpath/native/jni/java-io/Makefile.in,
+ * libjava/classpath/native/jni/native-lib/Makefile.in,
+ * libjava/classpath/native/jni/native-lib/cpnet.c,
+ * libjava/classpath/native/jni/java-util/Makefile.in,
+ * libjava/classpath/native/jni/java-lang/Makefile.in,
+ * libjava/classpath/native/jni/midi-alsa/Makefile.in,
+ * libjava/classpath/native/jni/java-nio/Makefile.in,
+ * libjava/classpath/native/jni/java-net/Makefile.in,
+ * libjava/classpath/native/jni/java-math/Makefile.in,
+ * libjava/classpath/native/jni/xmlj/Makefile.in,
+ * libjava/classpath/native/jni/qt-peer/Makefile.in,
+ * libjava/classpath/native/jni/gtk-peer/Makefile.in,
+ * libjava/classpath/native/Makefile.in,
+ * libjava/classpath/native/jawt/Makefile.in,
+ * libjava/classpath/native/fdlibm/Makefile.in,
+ * libjava/classpath/native/plugin/Makefile.in,
+ * libjava/classpath/lib/java/util/regex/Matcher.class,
+ * libjava/classpath/lib/java/util/TreeMap$3.class,
+ * libjava/classpath/lib/java/util/Scanner.class,
+ * libjava/classpath/lib/Makefile.in,
+ * libjava/classpath/lib/org/omg/PortableServer/_ServantActivatorStub.class,
+ * libjava/classpath/lib/org/omg/PortableServer/_ServantLocatorStub.class,
+ * libjava/classpath/lib/org/omg/CORBA/portable/InputStream.class,
+ * libjava/classpath/lib/org/omg/CORBA/portable/ObjectImpl.class,
+ * libjava/classpath/lib/org/omg/CORBA/portable/Delegate.class,
+ * libjava/classpath/lib/org/omg/CORBA/LocalObject.class,
+ * libjava/classpath/lib/org/omg/CORBA_2_3/portable/InputStream.class,
+ * libjava/classpath/lib/org/omg/CORBA_2_3/portable/OutputStream.class,
+ * libjava/classpath/lib/org/omg/DynamicAny/_DynSequenceStub.class,
+ * libjava/classpath/lib/org/omg/DynamicAny/_DynValueStub.class,
+ * libjava/classpath/lib/org/omg/DynamicAny/_DynStructStub.class,
+ * libjava/classpath/lib/org/omg/DynamicAny/_DynEnumStub.class,
+ * libjava/classpath/lib/org/omg/DynamicAny/_DynArrayStub.class,
+ * libjava/classpath/lib/org/omg/DynamicAny/_DynAnyFactoryStub.class,
+ * libjava/classpath/lib/org/omg/DynamicAny/_DynAnyStub.class,
+ * libjava/classpath/lib/org/omg/DynamicAny/_DynUnionStub.class,
+ * libjava/classpath/lib/org/omg/DynamicAny/_DynFixedStub.class,
+ * libjava/classpath/lib/org/ietf/jgss/GSSManager.class,
+ * libjava/classpath/lib/gnu/xml/stream/NamespaceImpl.class,
+ * libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.class,
+ * libjava/classpath/lib/gnu/xml/stream/FilteredStreamReader.class,
+ * libjava/classpath/lib/gnu/xml/stream/XMLEventFactoryImpl.class,
+ * libjava/classpath/lib/gnu/xml/stream/XMLEventAllocatorImpl.class,
+ * libjava/classpath/lib/gnu/xml/stream/XMLStreamWriterImpl.class,
+ * libjava/classpath/lib/gnu/java/locale/LocaleData.class,
+ * libjava/classpath/lib/gnu/javax/swing/text/html/css/Selector.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/DocumentFormat.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/SidesSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MediaSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OperationsSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CharsetSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CompressionSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/SidesDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MediaDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/UnknownAttribute.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/DetailedStatusMessage.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobPrinterUri.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesCharset.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobStateMessage.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobId.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobMoreInfo.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobUri.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/RequestedAttributes.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/StatusMessage.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/attribute/DocumentAccessError.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/IppUtilities.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class,
+ * libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class,
+ * libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode.class,
+ * libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache.class,
+ * libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class,
+ * libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class,
+ * libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class,
+ * libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache.class,
+ * libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit.class,
+ * libjava/classpath/lib/javax/swing/text/html/StyleSheet$BoxPainter.class,
+ * libjava/classpath/lib/javax/swing/text/html/HTMLWriter.class,
+ * libjava/classpath/lib/javax/swing/text/html/TableView$RowView.class,
+ * libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet$MultiNameEnumeration.class,
+ * libjava/classpath/lib/javax/swing/text/html/MultiStyle.class,
+ * libjava/classpath/lib/javax/swing/text/html/ImageView.class,
+ * libjava/classpath/lib/javax/swing/text/html/TableView$CellView.class,
+ * libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet.class,
+ * libjava/classpath/lib/javax/swing/text/html/ImageView$1.class,
+ * libjava/classpath/lib/javax/swing/text/html/StyleSheet$ListPainter.class,
+ * libjava/classpath/lib/javax/swing/text/html/TableView.class,
+ * libjava/classpath/lib/javax/swing/text/html/StyleSheet.class,
+ * libjava/classpath/lib/javax/swing/text/html/ObjectView.class,
+ * libjava/classpath/lib/javax/swing/text/html/MinimalHTMLWriter.class,
+ * libjava/classpath/lib/javax/swing/undo/UndoableEditSupport.class,
+ * libjava/classpath/lib/javax/swing/undo/StateEdit.class,
+ * libjava/classpath/lib/javax/xml/stream/XMLEventFactory.class,
+ * libjava/classpath/lib/javax/xml/stream/events/Namespace.class,
+ * libjava/classpath/lib/javax/xml/stream/XMLInputFactory.class,
+ * libjava/classpath/lib/javax/xml/stream/util/StreamReaderDelegate.class,
+ * libjava/classpath/lib/javax/xml/stream/XMLOutputFactory.class,
+ * libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.class,
+ * libjava/classpath/lib/javax/security/auth/kerberos/KeyImpl.class,
+ * libjava/classpath/missing,
+ * libjava/classpath/aclocal.m4,
+ * libjava/classpath/examples/Makefile.in,
+ * libjava/classpath/install-sh,
+ * libjava/gnu/xml/stream/FilteredStreamReader.h,
+ * libjava/gnu/xml/stream/XMLStreamWriterImpl.h,
+ * libjava/gnu/xml/stream/NamespaceImpl.h,
+ * libjava/gnu/xml/stream/XIncludeFilter.h,
+ * libjava/gnu/javax/swing/text/html/css/Selector.h,
+ * libjava/gnu/javax/print/ipp/attribute/RequestedAttributes.h,
+ * libjava/sources.am: Regenerated.
+
2010-09-27 Ralf Wildenhues
* libjava/Makefile.in: Regenerate.
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index b33f4d311f2..dc3012a2615 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -6617,7 +6617,7 @@ classpath/javax/xml/stream/events/StartDocument.java \
classpath/javax/xml/stream/events/StartElement.java \
classpath/javax/xml/stream/events/XMLEvent.java \
classpath/javax/xml/stream/util/EventReaderDelegate.java \
-classpath/javax/xml/stream/util/ReaderDelegate.java \
+classpath/javax/xml/stream/util/StreamReaderDelegate.java \
classpath/javax/xml/stream/util/XMLEventAllocator.java \
classpath/javax/xml/stream/util/XMLEventConsumer.java \
classpath/javax/xml/transform/ErrorListener.java \
diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog
index a7ee39fdc79..7f936b0a7e4 100644
--- a/libjava/classpath/ChangeLog
+++ b/libjava/classpath/ChangeLog
@@ -12,11 +12,358 @@
* configure: Regenerate.
+2010-05-27 Andrew John Hughes
+
+ * configure.ac:
+ Disable plugin by default and warn about
+ unmaintained status when enabled.
+
+2010-05-04 Andrew John Hughes
+
+ * configure.ac:
+ Call AC_PROG_JAVA_WORKS and AC_PROG_JAVAC_WORKS
+ in place of AC_PROG_JAVA and AC_PROG_JAVAC
+ respectively, as this is the real test we want.
+ * m4/ac_prog_java.m4:
+ (AC_PROG_JAVA): Don't include AC_PROG_JAVA_WORKS.
+ * m4/ac_prog_java_works.m4:
+ (AC_PROG_JAVA_WORKS): Require AC_PROG_JAVA and be
+ defined only once. Require AC_PROG_JAVAC_WORKS for
+ compilation of test class. Remove inclusion of
+ AC_PROG_JAVAC.
+ (AC_TRY_COMPILE_JAVA): Require AC_PROG_JAVAC_WORKS
+ rather than AC_PROG_JAVAC. Be defined only once.
+ * m4/ac_prog_javac.m:
+ (AC_PROG_JAVAC): Be defined only once. Don't include
+ AC_PROG_JAVAC_WORKS.
+ * m4/ac_prog_javac_works.m4:
+ (AC_PROG_JAVAC_WORKS): Be defined only once. Require
+ AC_PROG_JAVAC.
+
2010-05-04 Andrew Haley
* lib/gen-classlist.sh.in: Use absolute pathnames for all the
directory names in the output file.
+2010-05-04 Andrew John Hughes
+
+ * m4/ac_prog_javac.m4:
+ Capture all output from javac --version
+ to avoid excess output. Make sure no appears
+ when javac is not gcj.
+
+2010-05-04 Andrew John Hughes
+
+ * configure.ac:
+ Add output to GMP directory detection and
+ only perform when compiling GMP.
+
+2010-05-04 Mike Stump
+
+ * configure.ac:
+ Allow prefix, libdir and includedir of GMP
+ to be specified via --with-gmp, --with-gmp-include
+ and --with-gmp-lib.
+
+2010-04-28 Andrew John Hughes
+
+ * gnu/javax/print/ipp/IppPrintService.java:
+ (printerAttr): Add generic typing.
+ (printServiceAttributeListener): Likewise.
+ (flavors): Likewise.
+ (printerUris): Likewise.
+ (IppPrintService(URI uri, String username, String password)):
+ Use generic types in initialising listener set.
+ (getPrinterAttributes()): Add generic types. Remove cast.
+ (getPrinterAttributeSet(Class)): Return a set containing
+ attributes of type T. Now creates a new set and checks that
+ all elements of the original set can be cast and added to this
+ new set.
+ (getPrinterDefaultAttribute(Class extends Attribute>)): Add
+ generic types.
+ (processResponse()): Add generic types.
+ (getAttribute(Class)): Use generic types corresponding to
+ parent interface.
+ (getSupportedAttributeCategories()): Use generic types.
+ (getSupportedAttributeValues()): Likewise.
+ (handleSupportedAttributeValuesResponse(IppResponse,Class extends Attribute>)):
+ Likewise.
+ (isAttributeCategorySupported(Class extends Attribute>)): Likewise.
+ * gnu/javax/print/ipp/IppResponse.java:
+ (parseResponse(InputStream)): Use generic types.
+ (parseAttributes(Map, Set, DataInputStream)):
+ Likewise.
+ (addAttribute(Map, Set>, Attribute): Likewise.
+ (IppResponse(URI, short)): Create lists with appropriate type parameters.
+ (getJobAttributes()): Use generic return type.
+ (getOperationAttributes()): Likewise.
+ (getPrinterAttributes()): Likewise.
+ (getUnsupportedAttributes()): Likewise.
+ * gnu/javax/print/ipp/attribute/supported/CompressionSupported.java:
+ (getAssociatedAttributeArray(Set)): Use superclass Attribute
+ as set type parameter and cast when looping over it.
+ * gnu/javax/print/ipp/attribute/supported/FinishingsSupported.java,
+ (getAssociatedAttributeArray(Set)): Use superclass Attribute
+ as set type parameter and cast when looping over it.
+ * gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.java,
+ (getAssociatedAttributeArray(Set)): Use superclass Attribute
+ as set type parameter and cast when looping over it.
+ * gnu/javax/print/ipp/attribute/supported/MediaSupported.java,
+ (getAssociatedAttributeArray(Set)): Use superclass Attribute
+ as set type parameter and cast when looping over it.
+ * gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.java,
+ (getAssociatedAttributeArray(Set)): Use superclass Attribute
+ as set type parameter and cast when looping over it.
+ * gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.java,
+ (getAssociatedAttributeArray(Set)): Use superclass Attribute
+ as set type parameter and cast when looping over it.
+ * gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.java,
+ (getAssociatedAttributeArray(Set)): Use superclass Attribute
+ as set type parameter and cast when looping over it.
+ * gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.java,
+ (getAssociatedAttributeArray(Set)): Use superclass Attribute
+ as set type parameter and cast when looping over it.
+
+2010-04-28 Andrew John Hughes
+
+ * gnu/javax/print/ipp/IppUtilities.java:
+ (INTEGER_CLASS_ARRAY): Use generic typing.
+ (TEXT_CLASS_ARRAY): Likewise.
+ (classesByName): Likewise.
+ (instanceByClass): Likewise.
+ (getClass(String)): Remove cast. Return generic type.
+ (getSupportedAttrName(Class extends Attribute>)): Remove cast.
+ Add generic type to parameter.
+ (getSupportedCategory(Class> extends Attribute>)): Likewise.
+ (getEnumAttribute(String,Object)): Add missing generic types on Class.
+ (getIntegerAttribute(String,int)): Likewise and on Constructor.
+ (getTextAttribute(String,byte,byte[])): Likewise.
+
+2010-04-27 Andrew John Hughes
+
+ * gnu/javax/print/ipp/IppRequest.java:
+ (write(RequestedAttributes)): Fix for change in return value
+ of RequestedAttributes.getValues().
+ * gnu/javax/print/ipp/attribute/DetailedStatusMessage.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/DocumentAccessError.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/RequestedAttributes.java:
+ (RequestedAttributes()): Use appropriate generic type with attributes
+ ArrayList.
+ (getValues()): Return an array-based snapshot of the current state of
+ attributes rather than providing direct mutable access to it.
+ * gnu/javax/print/ipp/attribute/StatusMessage.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/UnknownAttribute.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/CopiesDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/MediaDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/defaults/SidesDefault.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/job/AttributesCharset.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/job/JobId.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/job/JobMoreInfo.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/job/JobPrinterUri.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/job/JobStateMessage.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/job/JobUri.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/printer/CharsetConfigured.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/printer/DocumentFormat.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.java:
+ (getCategory()): Fix return value.
+ * gnu/javax/print/ipp/attribute/printer/PrinterUpTime.java:
+ (getCategory()): Fix return value.
+
+2010-04-27 Andrew John Hughes
+
+ * gnu/javax/print/CupsIppOperation.java,
+ * gnu/javax/print/CupsMediaMapping.java,
+ * gnu/javax/print/CupsPrintService.java,
+ * gnu/javax/print/CupsPrintServiceLookup.java,
+ * gnu/javax/print/CupsServer.java,
+ * gnu/javax/print/PrintAttributeException.java,
+ * gnu/javax/print/PrintFlavorException.java,
+ * gnu/javax/print/PrintUriException.java,
+ * gnu/javax/print/PrinterDialog.java,
+ * gnu/javax/print/ipp/DocPrintJobImpl.java,
+ * gnu/javax/print/ipp/IppDelimiterTag.java,
+ * gnu/javax/print/ipp/IppException.java,
+ * gnu/javax/print/ipp/IppMultiDocPrintService.java,
+ * gnu/javax/print/ipp/IppRequest.java,
+ * gnu/javax/print/ipp/IppResponse.java,
+ * gnu/javax/print/ipp/IppStatusCode.java,
+ * gnu/javax/print/ipp/IppUtilities.java,
+ * gnu/javax/print/ipp/IppValueTag.java,
+ * gnu/javax/print/ipp/MultiDocPrintJobImpl.java,
+ * gnu/javax/print/ipp/attribute/CharsetSyntax.java,
+ * gnu/javax/print/ipp/attribute/DefaultValueAttribute.java,
+ * gnu/javax/print/ipp/attribute/DetailedStatusMessage.java,
+ * gnu/javax/print/ipp/attribute/DocumentAccessError.java,
+ * gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.java,
+ * gnu/javax/print/ipp/attribute/RequestedAttributes.java,
+ * gnu/javax/print/ipp/attribute/StatusMessage.java,
+ * gnu/javax/print/ipp/attribute/UnknownAttribute.java,
+ * gnu/javax/print/ipp/attribute/defaults/CopiesDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/MediaDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.java,
+ * gnu/javax/print/ipp/attribute/defaults/SidesDefault.java,
+ * gnu/javax/print/ipp/attribute/job/AttributesCharset.java,
+ * gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.java,
+ * gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.java,
+ * gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.java,
+ * gnu/javax/print/ipp/attribute/job/JobId.java,
+ * gnu/javax/print/ipp/attribute/job/JobMoreInfo.java,
+ * gnu/javax/print/ipp/attribute/job/JobPrinterUri.java,
+ * gnu/javax/print/ipp/attribute/job/JobStateMessage.java,
+ * gnu/javax/print/ipp/attribute/job/JobUri.java,
+ * gnu/javax/print/ipp/attribute/printer/CharsetConfigured.java,
+ * gnu/javax/print/ipp/attribute/printer/DocumentFormat.java,
+ * gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.java,
+ * gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.java,
+ * gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.java,
+ * gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.java,
+ * gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.java,
+ * gnu/javax/print/ipp/attribute/printer/PrinterUpTime.java:
+ Normalise whitespace; replace tabs with spaces and removing
+ trailing whitespace.
+
+2010-04-27 Andrew John Hughes
+
+ * gnu/javax/print/ipp/IppPrintService.java:
+ Fix whitespace. Use correct generic type for printerAttr
+ map.
+ (getPrinterAttributeSet(Class extends Attribute>)): Add
+ appropriate generic type.
+ * gnu/javax/print/ipp/attribute/supported/CharsetSupported.java:
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ * gnu/javax/print/ipp/attribute/supported/CompressionSupported.java:
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ (getAssociatedAttributeArray(Set)): Add generic
+ type to set and use for-each loop.
+ * gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.java:
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ * gnu/javax/print/ipp/attribute/supported/FinishingsSupported.java:
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ (getAssociatedAttributeArray(Set)): Add generic
+ type to set and use for-each loop.
+ * gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.java:
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ * gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.java:
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ * gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.java:
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ * gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.java:
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ (getAssociatedAttributeArray(Set)): Add generic
+ type to set and use for-each loop.
+ * gnu/javax/print/ipp/attribute/supported/MediaSupported.java:
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ (getAssociatedAttributeArray(Set)): Add generic
+ type to set and use for-each loop.
+ * gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.java:
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ (getAssociatedAttributeArray(Set)): Add generic
+ type to set and use for-each loop.
+ * gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.java,
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ * gnu/javax/print/ipp/attribute/supported/OperationsSupported.java,
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ * gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.java,
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ (getAssociatedAttributeArray(Set)): Add generic
+ type to set and use for-each loop.
+ * gnu/javax/print/ipp/attribute/supported/PageRangesSupported.java,
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ * gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.java,
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ (getAssociatedAttributeArray(Set)): Add generic
+ type to set and use for-each loop.
+ * gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.java,
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ (getAssociatedAttributeArray(Set)): Add generic
+ type to set and use for-each loop.
+ * gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.java,
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ * gnu/javax/print/ipp/attribute/supported/SidesSupported.java,
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ * gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.java,
+ Fix whitespace.
+ (getCategory()): Fix return type.
+ * gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.java,
+ Fix whitespace.
+ (getCategory()): Fix return type.
+
2010-04-27 Andrew Haley
* java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty
@@ -25,7 +372,7 @@
2010-04-27 Andrew Haley
* gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle
- IppValueTag.UNKNOWN.
+ IppValueTag.UNKNOWN.
* gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes):
Handle RequestedAttributes.
* gnu/javax/print/ipp/IppPrintService.java (processResponse): Add
@@ -70,6 +417,7 @@
* resource/Makefile.in: Regenerate.
* scripts/Makefile.in: Regenerate.
* tools/Makefile.in: Regenerate.
+
2010-03-01 Rainer Orth
PR libgcj/38251
@@ -83,11 +431,42 @@
* tools/Makefile.am (UPDATE_TOOLS_ZIP, CREATE_TOOLS_ZIP): Exclude
.svn direcories.
+2010-01-30 Andrew John Hughes
+
+ * doc/www.gnu.org/home.wml:
+ Add newer JAPI results.
+
+2010-01-30 Andrew John Hughes
+
+ PR classpath/41686
+ * javax/security/auth/kerberos/KerberosTicket.java:
+ Fix formatting.
+ (toString()): Add full implementation.
+ (getSessionKeyType()): Implemented.
+ * javax/security/auth/kerberos/KeyImpl.java:
+ (toString()): Implemented.
+
+2010-01-30 Andrew John Hughes
+
+ * autogen.sh:
+ Allow libtool 2.* through.
+ * configure.ac:
+ Updated via autoupdate.
+ * m4/lib-ld.m4,
+ * m4/lib-link.m4,
+ * m4/lib-prefix.m4:
+ Drop old libtool macros which
+ result in build failure.
+
2010-01-18 Andreas Tobler
* tools/Makefile.am (GJDOC_EX): Use find -name pattern -prune -o.
* tools/Makefile.in: Regenerate.
+2010-01-12 Jeroen Frijters
+
+ * java/util/zip/Inflater. java (inflate(byte[],int,int)): Fix for #41696.
+
2009-12-05 Ralf Wildenhues
* Makefile.in: Regenerate.
@@ -126,6 +505,17 @@
* scripts/Makefile.in: Regenerate.
* tools/Makefile.in: Regenerate.
+2009-11-18 Andrew Haley
+
+ * java/util/TreeMap.java (anonymous class.size()): Debogosify.
+ anonymous class.clear(): Likewise.
+
+2009-10-22 Andrew Haley
+
+ * native/jni/native-lib/cpnet.c (cpnet_addMembership): Fix
+ aliasing warning.
+ (cpnet_dropMembership): Likewise.
+
2009-10-22 Richard Guenther
PR cp-tools/39177
@@ -193,6 +583,48 @@
(func_mode_link): Add new -bindir option, and use it to place
output DLL if specified.
+2009-07-08 Chris Burdess
+
+ PR xml/40663:
+ * javax/xml/stream/XMLEventFactory.java,
+ * javax/xml/stream/XMLInputFactory.java,
+ * javax/xml/stream/XMLOutputFactory.java,
+ * javax/xml/stream/events/Namespace.java: Update API to match final
+ version of StAX.
+ * javax/xml/stream/util/ReaderDelegate.java: Removed.
+ * javax/xml/stream/util/StreamReaderDelegate.java: Added (renamed
+ from ReaderDelegate)
+ * gnu/xml/stream/FilteredStreamReader.java,
+ * gnu/xml/stream/NamespaceImpl.java,
+ * gnu/xml/stream/XIncludeFilter.java,
+ * gnu/xml/stream/XMLEventAllocatorImpl.java,
+ * gnu/xml/stream/XMLEventFactoryImpl.java: Update implementation to
+ match final version of StAX API.
+
+2009-07-06 Ludovic Claude
+
+ PR xml/40653:
+ * gnu/xml/stream/XMLStreamWriterImpl.java:
+ Weaken testing of namespace prefix to match
+ reference implementation and spec.
+
+2009-07-07 Andrew John Hughes
+
+ PR classpath/40630
+ * java/util/Scanner.java:
+ (myCoreNext(boolean, Pattern)): Set tmp2 to
+ null if the string is empty (i.e. we are at
+ the end of the file).
+ * java/util/regex/Matcher.java:
+ (toMatchResult()): Check that match is non-null
+ before attempting to clone it.
+
+2009-07-07 Andrew John Hughes
+
+ * java/util/Scanner.java,
+ * java/util/regex/Matcher.java:
+ Replace tab characters with spaces.
+
2009-06-29 Andrew Haley
PR java/40590
@@ -216,6 +648,285 @@
New methods.
(moveToPackage): Use printName().
+2009-03-29 Mark Wielaard
+
+ * doc/www.gnu.org/faq/faq.wml: Fix link to cp-hacking.html.
+
+2009-03-29 Mark Wielaard
+
+ * m4/ac_prog_antlr.m4: Check whether ANTLR_JAR is empty.
+
+2009-03-26 Andrew John Hughes
+
+ PR classpath/39408:
+ * tools/gnu/classpath/tools/javah/ClassWrapper.java:
+ (linkSupers()): Make package-private.
+ * tools/gnu/classpath/tools/javah/JniIncludePrinter.java:
+ (writeFields(ClassWrapper, JniPrintStream)):
+ Link in data from superclass before searching for fields.
+
+2009-03-20 Andrew John Hughes
+
+ * tools/gnu/classpath/tools/javah/ClassWrapper.java,
+ * tools/gnu/classpath/tools/javah/CniPrintStream.java,
+ * tools/gnu/classpath/tools/javah/CniStubPrinter.java,
+ * tools/gnu/classpath/tools/javah/GcjhMain.java,
+ * tools/gnu/classpath/tools/javah/JniIncludePrinter.java,
+ * tools/gnu/classpath/tools/javah/JniPrintStream.java,
+ * tools/gnu/classpath/tools/javah/JniStubPrinter.java,
+ * tools/gnu/classpath/tools/javah/Keywords.java,
+ * tools/gnu/classpath/tools/javah/Main.java,
+ * tools/gnu/classpath/tools/javah/MethodHelper.java,
+ * tools/gnu/classpath/tools/javah/PathOptionGroup.java:
+ Fix generic issues in gjavah.
+
+2009-03-17 Andrew John Hughes
+
+ * tools/gnu/classpath/tools/FileSystemClassLoader.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java,
+ * tools/gnu/classpath/tools/gjdoc/ErrorReporter.java,
+ * tools/gnu/classpath/tools/gjdoc/TemporaryStore.java,
+ * tools/gnu/classpath/tools/gjdoc/WritableType.java,
+ * tools/gnu/classpath/tools/taglets/AuthorTaglet.java,
+ * tools/gnu/classpath/tools/taglets/CopyrightTaglet.java,
+ * tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java,
+ * tools/gnu/classpath/tools/taglets/GenericTaglet.java,
+ * tools/gnu/classpath/tools/taglets/SinceTaglet.java,
+ * tools/gnu/classpath/tools/taglets/VersionTaglet.java:
+ Switch to UNIX line endings.
+
+2009-03-17 Andrew John Hughes
+
+ * tools/com/sun/tools/javadoc/Main.java,
+ * tools/gnu/classpath/tools/FileSystemClassLoader.java,
+ * tools/gnu/classpath/tools/IOToolkit.java,
+ * tools/gnu/classpath/tools/MalformedInputEvent.java,
+ * tools/gnu/classpath/tools/MalformedInputListener.java,
+ * tools/gnu/classpath/tools/NotifyingInputStreamReader.java,
+ * tools/gnu/classpath/tools/StringToolkit.java,
+ * tools/gnu/classpath/tools/doclets/AbstractDoclet.java,
+ * tools/gnu/classpath/tools/doclets/DocletConfigurationException.java,
+ * tools/gnu/classpath/tools/doclets/DocletOption.java,
+ * tools/gnu/classpath/tools/doclets/DocletOptionColonSeparated.java,
+ * tools/gnu/classpath/tools/doclets/DocletOptionFile.java,
+ * tools/gnu/classpath/tools/doclets/DocletOptionFlag.java,
+ * tools/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.java,
+ * tools/gnu/classpath/tools/doclets/DocletOptionString.java,
+ * tools/gnu/classpath/tools/doclets/InlineTagRenderer.java,
+ * tools/gnu/classpath/tools/doclets/InvalidPackageWildcardException.java,
+ * tools/gnu/classpath/tools/doclets/PackageGroup.java,
+ * tools/gnu/classpath/tools/doclets/PackageMatcher.java,
+ * tools/gnu/classpath/tools/doclets/StandardTaglet.java,
+ * tools/gnu/classpath/tools/doclets/TagletPrinter.java,
+ * tools/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.java,
+ * tools/gnu/classpath/tools/doclets/htmldoclet/CssClass.java,
+ * tools/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java,
+ * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java,
+ * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java,
+ * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java,
+ * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java,
+ * tools/gnu/classpath/tools/gjdoc/AbstractTagImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java,
+ * tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java,
+ * tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/ConstructorDocImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/Debug.java,
+ * tools/gnu/classpath/tools/gjdoc/DirectoryTree.java,
+ * tools/gnu/classpath/tools/gjdoc/DocImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/ErrorReporter.java,
+ * tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/GjdocPackageDoc.java,
+ * tools/gnu/classpath/tools/gjdoc/GjdocRootDoc.java,
+ * tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java,
+ * tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/Main.java,
+ * tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/ParamTagImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/ParameterImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/ParseException.java,
+ * tools/gnu/classpath/tools/gjdoc/Parser.java,
+ * tools/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/RootDocImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/SeeTagImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/SourcePositionImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/TagContainer.java,
+ * tools/gnu/classpath/tools/gjdoc/TagImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/TemporaryStore.java,
+ * tools/gnu/classpath/tools/gjdoc/TextTagImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/Timer.java,
+ * tools/gnu/classpath/tools/gjdoc/TimerDoclet.java,
+ * tools/gnu/classpath/tools/gjdoc/TypeImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/TypeVariableImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/ValueTagImpl.java,
+ * tools/gnu/classpath/tools/gjdoc/WritableType.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/AdditionExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/AndExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/BinaryExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConstantByte.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConstantChar.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConstantDouble.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConstantExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConstantFloat.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConstantInteger.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConstantLong.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConstantNull.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConstantShort.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ConstantString.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/Context.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/DivisionExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/EqualExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/Expression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/LessThanExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ModuloExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/NegateExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/NotExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/Type.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/UnaryExpression.java,
+ * tools/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.java,
+ * tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java,
+ * tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java,
+ * tools/gnu/classpath/tools/rmic/CompilationError.java,
+ * tools/gnu/classpath/tools/rmic/Generator.java,
+ * tools/gnu/classpath/tools/rmic/GiopIo.java,
+ * tools/gnu/classpath/tools/rmic/HashFinder.java,
+ * tools/gnu/classpath/tools/rmic/Main.java,
+ * tools/gnu/classpath/tools/rmic/MethodGenerator.java,
+ * tools/gnu/classpath/tools/rmic/RMICException.java,
+ * tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java,
+ * tools/gnu/classpath/tools/rmic/RmicBackend.java,
+ * tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java,
+ * tools/gnu/classpath/tools/rmic/Variables.java,
+ * tools/gnu/classpath/tools/rmic/WrapUnWrapper.java,
+ * tools/gnu/classpath/tools/serialver/SerialVer.java,
+ * tools/gnu/classpath/tools/taglets/AuthorTaglet.java,
+ * tools/gnu/classpath/tools/taglets/CodeTaglet.java,
+ * tools/gnu/classpath/tools/taglets/CopyrightTaglet.java,
+ * tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java,
+ * tools/gnu/classpath/tools/taglets/GenericTaglet.java,
+ * tools/gnu/classpath/tools/taglets/GnuExtendedTaglet.java,
+ * tools/gnu/classpath/tools/taglets/SinceTaglet.java,
+ * tools/gnu/classpath/tools/taglets/TagletContext.java,
+ * tools/gnu/classpath/tools/taglets/ValueTaglet.java,
+ * tools/gnu/classpath/tools/taglets/VersionTaglet.java:
+ Fix license headers to GPLv2+Classpath exception.
+
+2009-03-09 Andrew John Hughes
+
+ * gnu/javax/swing/text/html/css/Selector.java:
+ Use CPStringBuilder. Use typed list of maps
+ rather than an array for type safety.
+ * javax/swing/text/html/HTMLEditorKit.java,
+ * javax/swing/text/html/HTMLWriter.java:
+ Add generic typing where appropriate.
+ * javax/swing/text/html/ImageView.java:
+ Remove unused AttributeSet variables.
+ * javax/swing/text/html/MinimalHTMLWriter.java:
+ Switch to an ArrayDeque to avoid unnecessary
+ internal synchronisation on a private variable.
+ Add generic typing.
+ * javax/swing/text/html/MultiAttributeSet.java:
+ Add generic typing.
+ * javax/swing/text/html/MultiStyle.java:
+ Add generic typing, make class package-private
+ as not part of the standard classes.
+ * javax/swing/text/html/ObjectView.java,
+ * javax/swing/text/html/StyleSheet.java:
+ Add generic typing.
+ * javax/swing/text/html/TableView.java:
+ Remove unused variable.
+ * javax/swing/tree/DefaultMutableTreeNode.java:
+ Add generic typing, mute warnings where necessary.
+ * javax/swing/tree/FixedHeightLayoutCache.java:
+ Add generic typing.
+ * javax/swing/tree/TreeNode.java:
+ Mute warnings where necessary.
+ * javax/swing/tree/VariableHeightLayoutCache.java,
+ * javax/swing/undo/StateEdit.java,
+ * javax/swing/undo/UndoableEditSupport.java,
+ * org/ietf/jgss/GSSManager.java:
+ Add generic typing.
+
+2009-02-14 Andrew John Hughes
+
+ * org/omg/CORBA/LocalObject.java,
+ * org/omg/CORBA/portable/Delegate.java,
+ * org/omg/CORBA/portable/InputStream.java,
+ * org/omg/CORBA/portable/ObjectImpl.java,
+ * org/omg/CORBA_2_3/portable/InputStream.java,
+ * org/omg/CORBA_2_3/portable/OutputStream.java,
+ * org/omg/DynamicAny/_DynAnyFactoryStub.java,
+ * org/omg/DynamicAny/_DynAnyStub.java,
+ * org/omg/DynamicAny/_DynArrayStub.java,
+ * org/omg/DynamicAny/_DynEnumStub.java,
+ * org/omg/DynamicAny/_DynFixedStub.java,
+ * org/omg/DynamicAny/_DynSequenceStub.java,
+ * org/omg/DynamicAny/_DynStructStub.java,
+ * org/omg/DynamicAny/_DynUnionStub.java,
+ * org/omg/DynamicAny/_DynValueStub.java,
+ * org/omg/PortableServer/_ServantActivatorStub.java,
+ * org/omg/PortableServer/_ServantLocatorStub.java:
+ Turn off warnings where Class is used; forced
+ to use raw type for API compatibility.
+
+2009-02-06 Andrew John Hughes
+
+ * NEWS:
+ Add stub for 0.99.
+ * configure.ac:
+ Bump to 0.99.
+ * doc/www.gnu.org/announce/20090205.wml,
+ * doc/www.gnu.org/downloads/downloads.wml,
+ * doc/www.gnu.org/newsitems.txt:
+ Update website.
+
2009-03-01 Ralf Wildenhues
* configure: Regenerate.
@@ -223,7 +934,7 @@
2009-02-05 Andrew John Hughes
* NEWS: Add VM updates.
-
+
2009-02-05 Andrew John Hughes
* NEWS: Updated.
diff --git a/libjava/classpath/INSTALL b/libjava/classpath/INSTALL
index 8b82ade08e8..7d1c323beae 100644
--- a/libjava/classpath/INSTALL
+++ b/libjava/classpath/INSTALL
@@ -2,10 +2,12 @@ Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008 Free Software Foundation, Inc.
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
- This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
Basic Installation
==================
@@ -13,7 +15,11 @@ Basic Installation
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
@@ -42,7 +48,7 @@ may remove or edit it.
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
-The simplest way to compile this package is:
+ The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
@@ -53,12 +59,22 @@ The simplest way to compile this package is:
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
- the package.
+ the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
- documentation.
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
- 5. You can remove the program binaries and object files from the
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
@@ -67,8 +83,15 @@ The simplest way to compile this package is:
all sorts of other programs in order to regenerate files that came
with the distribution.
- 6. Often, you can also type `make uninstall' to remove the installed
- files again.
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
Compilers and Options
=====================
@@ -93,7 +116,8 @@ same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
@@ -120,7 +144,8 @@ Installation Names
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
@@ -131,15 +156,46 @@ Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-Optional Features
-=================
-
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
@@ -152,6 +208,13 @@ find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
Particular systems
==================
@@ -159,7 +222,7 @@ Particular systems
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
- ./configure CC="cc -Ae"
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
@@ -174,6 +237,16 @@ and if that doesn't work, try
./configure CC="cc -nodtk"
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
Specifying the System Type
==========================
@@ -189,7 +262,8 @@ type, such as `sun4', or a canonical name which has the form:
where SYSTEM can have one of these forms:
- OS KERNEL-OS
+ OS
+ KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
@@ -277,7 +351,7 @@ operates.
`configure' can determine that directory automatically.
`--prefix=DIR'
- Use DIR as the installation prefix. *Note Installation Names::
+ Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
diff --git a/libjava/classpath/Makefile.in b/libjava/classpath/Makefile.in
index f9d4b8b7563..0e8aee5b8d0 100644
--- a/libjava/classpath/Makefile.in
+++ b/libjava/classpath/Makefile.in
@@ -51,12 +51,15 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../../compile \
../../config.rpath ../../config.sub ../../depcomp \
../../install-sh ../../ltmain.sh ../../missing \
../../mkinstalldirs ../../ylwrap AUTHORS COPYING ChangeLog \
- INSTALL NEWS TODO compile config.guess config.sub depcomp \
- install-sh ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh ltconfig \
+ INSTALL NEWS TODO compile config.guess config.rpath config.sub \
+ depcomp install-sh ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh ltconfig \
ltmain.sh missing mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/lib-ld.m4 \
+ $(top_srcdir)/../../config/lib-link.m4 \
+ $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -75,9 +78,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
diff --git a/libjava/classpath/NEWS b/libjava/classpath/NEWS
index 4ae10d710d9..095f9700b8d 100644
--- a/libjava/classpath/NEWS
+++ b/libjava/classpath/NEWS
@@ -1,3 +1,5 @@
+New in release 0.99 (XXX XX, XXXX)
+
New in release 0.98 (Feb 05, 2009)
* Native support for BigInteger is now provided using the GMP
diff --git a/libjava/classpath/aclocal.m4 b/libjava/classpath/aclocal.m4
index c6fce4da260..e84d8d8e1a9 100644
--- a/libjava/classpath/aclocal.m4
+++ b/libjava/classpath/aclocal.m4
@@ -1062,6 +1062,9 @@ AC_SUBST([am__untar])
m4_include([../../config/depstand.m4])
m4_include([../../config/lead-dot.m4])
+m4_include([../../config/lib-ld.m4])
+m4_include([../../config/lib-link.m4])
+m4_include([../../config/lib-prefix.m4])
m4_include([../../config/multi.m4])
m4_include([../../config/no-executables.m4])
m4_include([../../config/override.m4])
@@ -1082,7 +1085,4 @@ m4_include([m4/ax_create_stdint_h.m4])
m4_include([m4/ax_func_which_gethostbyname_r.m4])
m4_include([m4/gcc_attribute.m4])
m4_include([m4/iconv.m4])
-m4_include([m4/lib-ld.m4])
-m4_include([m4/lib-link.m4])
-m4_include([m4/lib-prefix.m4])
m4_include([m4/pkg.m4])
diff --git a/libjava/classpath/autogen.sh b/libjava/classpath/autogen.sh
index 3e46cff1d9c..adb8f0c9408 100755
--- a/libjava/classpath/autogen.sh
+++ b/libjava/classpath/autogen.sh
@@ -18,7 +18,7 @@ have_libtool=false
if ${LIBTOOLIZE} --version < /dev/null > /dev/null 2>&1 ; then
libtool_version=`${LIBTOOLIZE} --version | sed 's/^.*[^0-9.]\([0-9]\{1,\}\.[0-9.]\{1,\}\).*/\1/'`
case $libtool_version in
- 1.5*)
+ 1.5*|2.*)
have_libtool=true
;;
esac
diff --git a/libjava/classpath/config.rpath b/libjava/classpath/config.rpath
new file mode 100755
index 00000000000..17298f2348b
--- /dev/null
+++ b/libjava/classpath/config.rpath
@@ -0,0 +1,672 @@
+#! /bin/sh
+# Output a system dependent set of variables, describing how to set the
+# run time search path of shared libraries in an executable.
+#
+# Copyright 1996-2010 Free Software Foundation, Inc.
+# Taken from GNU libtool, 2001
+# Originally by Gordon Matzigkeit , 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# The first argument passed to this file is the canonical host specification,
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
+# should be set by the caller.
+#
+# The set of defined variables is at the end of this script.
+
+# Known limitations:
+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
+# than 256 bytes, otherwise the compiler driver will dump core. The only
+# known workaround is to choose shorter directory names for the build
+# directory and/or the installation directory.
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+shrext=.so
+
+host="$1"
+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
+
+# Code taken from libtool.m4's _LT_COMPILER_PIC.
+
+wl=
+if test "$GCC" = yes; then
+ wl='-Wl,'
+else
+ case "$host_os" in
+ aix*)
+ wl='-Wl,'
+ ;;
+ darwin*)
+ case $cc_basename in
+ xlc*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ wl='-Wl,'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ wl='-Wl,'
+ ;;
+ newsos6)
+ ;;
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ ecc*)
+ wl='-Wl,'
+ ;;
+ icc* | ifort*)
+ wl='-Wl,'
+ ;;
+ lf95*)
+ wl='-Wl,'
+ ;;
+ pgcc | pgf77 | pgf90)
+ wl='-Wl,'
+ ;;
+ ccc*)
+ wl='-Wl,'
+ ;;
+ como)
+ wl='-lopt='
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ osf3* | osf4* | osf5*)
+ wl='-Wl,'
+ ;;
+ rdos*)
+ ;;
+ solaris*)
+ wl='-Wl,'
+ ;;
+ sunos4*)
+ wl='-Qoption ld '
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ wl='-Wl,'
+ ;;
+ sysv4*MP*)
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ wl='-Wl,'
+ ;;
+ unicos*)
+ wl='-Wl,'
+ ;;
+ uts4*)
+ ;;
+ esac
+fi
+
+# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
+
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+
+case "$host_os" in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ # Unlike libtool, we use -rpath here, not --rpath, since the documented
+ # option of GNU ld is called -rpath, not --rpath.
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ case "$host_os" in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # Samuel A. Falvo II reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we cannot use
+ # them.
+ ld_shlibs=no
+ ;;
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ gnu* | linux* | k*bsd*-gnu)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ netbsd*)
+ ;;
+ solaris*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+ sunos4*)
+ hardcode_direct=yes
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ if test "$ld_shlibs" = no; then
+ hardcode_libdir_flag_spec=
+ fi
+else
+ case "$host_os" in
+ aix3*)
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ else
+ aix_use_runtimelinking=no
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+ fi
+ hardcode_direct=yes
+ hardcode_libdir_separator=':'
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ fi
+ # Begin _LT_AC_SYS_LIBPATH_AIX.
+ echo 'int main () { return 0; }' > conftest.c
+ ${CC} ${LDFLAGS} conftest.c -o conftest
+ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ fi
+ if test -z "$aix_libpath"; then
+ aix_libpath="/usr/lib:/lib"
+ fi
+ rm -f conftest.c conftest
+ # End _LT_AC_SYS_LIBPATH_AIX.
+ if test "$aix_use_runtimelinking" = yes; then
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ else
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ fi
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs=no
+ ;;
+ bsdi[45]*)
+ ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ libext=lib
+ ;;
+ darwin* | rhapsody*)
+ hardcode_direct=no
+ if test "$GCC" = yes ; then
+ :
+ else
+ case $cc_basename in
+ xlc*)
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+ fi
+ ;;
+ dgux*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+ freebsd2.2*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ freebsd2*)
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ freebsd* | dragonfly*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ hpux9*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ hpux10*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+ hpux11*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ ;;
+ *)
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+ irix5* | irix6* | nonstopux*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ netbsd*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ newsos6)
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ osf3*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ osf4* | osf5*)
+ if test "$GCC" = yes; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ # Both cc and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+ solaris*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ sunos4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ sysv4)
+ case $host_vendor in
+ sni)
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ hardcode_direct=no
+ ;;
+ motorola)
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ ;;
+ sysv4.3*)
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ ld_shlibs=yes
+ fi
+ ;;
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ ;;
+ sysv5* | sco3.2v5* | sco5v6*)
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator=':'
+ ;;
+ uts4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+fi
+
+# Check dynamic linker characteristics
+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec= # the last element of library_names_spec in libtool.m4
+libname_spec='lib$name'
+case "$host_os" in
+ aix3*)
+ library_names_spec='$libname.a'
+ ;;
+ aix[4-9]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ amigaos*)
+ library_names_spec='$libname.a'
+ ;;
+ beos*)
+ library_names_spec='$libname$shrext'
+ ;;
+ bsdi[45]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ shrext=.dll
+ library_names_spec='$libname.dll.a $libname.lib'
+ ;;
+ darwin* | rhapsody*)
+ shrext=.dylib
+ library_names_spec='$libname$shrext'
+ ;;
+ dgux*)
+ library_names_spec='$libname$shrext'
+ ;;
+ freebsd1*)
+ ;;
+ freebsd* | dragonfly*)
+ case "$host_os" in
+ freebsd[123]*)
+ library_names_spec='$libname$shrext$versuffix' ;;
+ *)
+ library_names_spec='$libname$shrext' ;;
+ esac
+ ;;
+ gnu*)
+ library_names_spec='$libname$shrext'
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $host_cpu in
+ ia64*)
+ shrext=.so
+ ;;
+ hppa*64*)
+ shrext=.sl
+ ;;
+ *)
+ shrext=.sl
+ ;;
+ esac
+ library_names_spec='$libname$shrext'
+ ;;
+ interix[3-9]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ library_names_spec='$libname$shrext'
+ case "$host_os" in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
+ *) libsuff= shlibsuff= ;;
+ esac
+ ;;
+ esac
+ ;;
+ linux*oldld* | linux*aout* | linux*coff*)
+ ;;
+ linux* | k*bsd*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ knetbsd*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ netbsd*)
+ library_names_spec='$libname$shrext'
+ ;;
+ newsos6)
+ library_names_spec='$libname$shrext'
+ ;;
+ nto-qnx*)
+ library_names_spec='$libname$shrext'
+ ;;
+ openbsd*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ os2*)
+ libname_spec='$name'
+ shrext=.dll
+ library_names_spec='$libname.a'
+ ;;
+ osf3* | osf4* | osf5*)
+ library_names_spec='$libname$shrext'
+ ;;
+ rdos*)
+ ;;
+ solaris*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sunos4*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ sysv4 | sysv4.3*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv4*MP*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ library_names_spec='$libname$shrext'
+ ;;
+ uts4*)
+ library_names_spec='$libname$shrext'
+ ;;
+esac
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <.
#
@@ -559,8 +559,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GNU Classpath'
PACKAGE_TARNAME='classpath'
-PACKAGE_VERSION='0.98'
-PACKAGE_STRING='GNU Classpath 0.98'
+PACKAGE_VERSION='0.99-pre'
+PACKAGE_STRING='GNU Classpath 0.99-pre'
PACKAGE_BUGREPORT='classpath@gnu.org'
PACKAGE_URL='http://www.gnu.org/software/classpath/'
@@ -1490,7 +1490,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU Classpath 0.98 to adapt to many kinds of systems.
+\`configure' configures GNU Classpath 0.99-pre to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1565,7 +1565,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU Classpath 0.98:";;
+ short | recursive ) echo "Configuration of GNU Classpath 0.99-pre:";;
esac
cat <<\_ACEOF
@@ -1757,7 +1757,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU Classpath configure 0.98
+GNU Classpath configure 0.99-pre
generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2586,7 +2586,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNU Classpath $as_me 0.98, which was
+It was created by GNU Classpath $as_me 0.99-pre, which was
generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@
@@ -2938,6 +2938,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
ac_aux_dir=
for ac_dir in ../.. "$srcdir"/../..; do
for ac_t in install-sh install.sh shtool; do
@@ -3620,7 +3621,7 @@ fi
# Define the identity of the package.
PACKAGE='classpath'
- VERSION='0.98'
+ VERSION='0.99-pre'
cat >>confdefs.h <<_ACEOF
@@ -5474,7 +5475,7 @@ if test "${enable_plugin+set}" = set; then :
*) COMPILE_PLUGIN=yes ;;
esac
else
- COMPILE_PLUGIN=yes
+ COMPILE_PLUGIN=no
fi
if test "x${COMPILE_PLUGIN}" = xyes; then
@@ -11818,7 +11819,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11821 "configure"
+#line 11822 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11924,7 +11925,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11927 "configure"
+#line 11928 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -21956,6 +21957,24 @@ fi
fi
if test "x${COMPILE_GMP}" = xyes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GMP directories" >&5
+$as_echo_n "checking for GMP directories... " >&6; }
+ if test "x$with_gmp" != x; then
+ gmplibs="-L$with_gmp/lib -lgmp"
+ gmpinc="-I$with_gmp/include"
+ if test "x$with_gmp_include" != x; then
+ gmpinc="-I$with_gmp_include $gmpinc"
+ fi
+ if test "x$with_gmp_lib" != x; then
+ gmplibs="-L$with_gmp_lib $gmplibs"
+ fi
+ else
+ with_gmp="/usr"
+ gmplibs="-lgmp"
+ gmpinc="-I/usr/include"
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: prefix=$with_gmp, libs=$gmplibs, inc=$gmpinc" >&5
+$as_echo "prefix=$with_gmp, libs=$gmplibs, inc=$gmpinc" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __gmpz_mul_si in -lgmp" >&5
$as_echo_n "checking for __gmpz_mul_si in -lgmp... " >&6; }
if test "${ac_cv_lib_gmp___gmpz_mul_si+set}" = set; then :
@@ -23676,82 +23695,6 @@ test -n "$JAVA" || JAVA="$JAVAPREFIX"
fi
test "x$JAVA" = x && as_fn_error "no acceptable Java virtual machine found in \$PATH" "$LINENO" 5
-# Extract the first word of "uudecode$EXEEXT", so it can be a program name with args.
-set dummy uudecode$EXEEXT; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_uudecode+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$uudecode"; then
- ac_cv_prog_uudecode="$uudecode" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_uudecode="yes"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-uudecode=$ac_cv_prog_uudecode
-if test -n "$uudecode"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $uudecode" >&5
-$as_echo "$uudecode" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test x$uudecode = xyes; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if uudecode can decode base 64 file" >&5
-$as_echo_n "checking if uudecode can decode base 64 file... " >&6; }
-if test "${ac_cv_prog_uudecode_base64+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
-
-cat << \EOF > Test.uue
-begin-base64 644 Test.class
-yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
-bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
-bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s
-YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG
-aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB
-AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB
-AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ=
-====
-EOF
-if uudecode$EXEEXT Test.uue; then
- ac_cv_prog_uudecode_base64=yes
-else
- echo "configure: 23737: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
- echo "configure: failed file was:" >&5
- cat Test.uue >&5
- ac_cv_prog_uudecode_base64=no
-fi
-rm -f Test.uue
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_uudecode_base64" >&5
-$as_echo "$ac_cv_prog_uudecode_base64" >&6; }
-fi
-if test x$ac_cv_prog_uudecode_base64 != xyes; then
- rm -f Test.class
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: I have to compile Test.class from scratch" >&5
-$as_echo "$as_me: WARNING: I have to compile Test.class from scratch" >&2;}
- if test x$ac_cv_prog_javac_works = xno; then
- as_fn_error "Cannot compile java source. $JAVAC does not work properly" "$LINENO" 5
- fi
- if test x$ac_cv_prog_javac_works = x; then
ECJ_OPTS="-warn:-deprecation,serial,unusedImport"
JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides"
@@ -23851,10 +23794,13 @@ if test "${ac_cv_prog_javac_is_gcj+set}" = set; then :
$as_echo_n "(cached) " >&6
else
-if $JAVAC --version | grep gcj > /dev/null; then
+if $JAVAC --version 2>&1 | grep gcj >&5 ; then
ac_cv_prog_javac_is_gcj=yes;
JAVAC="$JAVAC $GCJ_OPTS";
+else
+ ac_cv_prog_javac_is_gcj=no;
fi
+
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_is_gcj" >&5
$as_echo "$ac_cv_prog_javac_is_gcj" >&6; }
@@ -23868,7 +23814,8 @@ else
GCJ_JAVAC_FALSE=
fi
-if test "$enable_java_maintainer_mode" = yes; then
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5
$as_echo_n "checking if $JAVAC works... " >&6; }
@@ -23879,7 +23826,7 @@ else
JAVA_TEST=Object.java
CLASS_TEST=Object.class
cat << \EOF > $JAVA_TEST
-/* #line 23882 "configure" */
+/* #line 23829 "configure" */
package java.lang;
public class Object
@@ -23912,8 +23859,82 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5
$as_echo "$ac_cv_prog_javac_works" >&6; }
+
+
+# Extract the first word of "uudecode$EXEEXT", so it can be a program name with args.
+set dummy uudecode$EXEEXT; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_uudecode+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$uudecode"; then
+ ac_cv_prog_uudecode="$uudecode" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_uudecode="yes"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+uudecode=$ac_cv_prog_uudecode
+if test -n "$uudecode"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $uudecode" >&5
+$as_echo "$uudecode" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
+
+if test x$uudecode = xyes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if uudecode can decode base 64 file" >&5
+$as_echo_n "checking if uudecode can decode base 64 file... " >&6; }
+if test "${ac_cv_prog_uudecode_base64+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+cat << \EOF > Test.uue
+begin-base64 644 Test.class
+yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
+bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
+bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s
+YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG
+aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB
+AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB
+AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ=
+====
+EOF
+if uudecode$EXEEXT Test.uue; then
+ ac_cv_prog_uudecode_base64=yes
+else
+ echo "configure: 23922: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
+ echo "configure: failed file was:" >&5
+ cat Test.uue >&5
+ ac_cv_prog_uudecode_base64=no
+fi
+rm -f Test.uue
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_uudecode_base64" >&5
+$as_echo "$ac_cv_prog_uudecode_base64" >&6; }
+fi
+if test x$ac_cv_prog_uudecode_base64 != xyes; then
+ rm -f Test.class
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: I have to compile Test.class from scratch" >&5
+$as_echo "$as_me: WARNING: I have to compile Test.class from scratch" >&2;}
+ if test x$ac_cv_prog_javac_works = xno; then
+ as_fn_error "Cannot compile java source. $JAVAC does not work properly" "$LINENO" 5
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVA works" >&5
@@ -23926,13 +23947,14 @@ JAVA_TEST=Test.java
CLASS_TEST=Test.class
TEST=Test
cat << \EOF > $JAVA_TEST
-/* [#]line 23929 "configure" */
+/* [#]line 23950 "configure" */
public class Test {
public static void main (String args[]) {
System.exit (0);
} }
EOF
if test x$ac_cv_prog_uudecode_base64 != xyes; then
+
if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
@@ -23965,7 +23987,6 @@ fi
$as_echo "$ac_cv_prog_java_works" >&6; }
-
fi
if test "x${COMPILE_GJDOC}" = xyes; then
@@ -24092,7 +24113,11 @@ fi
if test -z "$JAVA"; then
as_fn_error "Failed to find either an antlr binary or a suitable Java runtime for ANTLR." "$LINENO" 5
else
- ANTLR="$JAVA -classpath $ANTLR_JAR antlr.Tool"
+ if test -z "$ANTLR_JAR"; then
+ as_fn_error "Failed to find either an antlr binary or a suitable antlr jar file." "$LINENO" 5
+ else
+ ANTLR="$JAVA -classpath $ANTLR_JAR antlr.Tool"
+ fi
fi
fi
@@ -24124,174 +24149,13 @@ fi
if test "x${use_glibj_zip}" = xfalse || \
test "x${EXAMPLESDIR}" != x || \
test "x${TOOLSDIR}" != x && \
- test "x${build_class_files}" != xno; then
-
-ECJ_OPTS="-warn:-deprecation,serial,unusedImport"
-JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides"
-GCJ_OPTS="-g"
-if test "x$JAVAPREFIX" = x; then
- test "x$JAVAC" = x && for ac_prog in "ecj$EXEEXT $ECJ_OPTS" "ecj-3.3$EXEEXT $ECJ_OPTS" "ecj-3.2$EXEEXT $ECJ_OPTS" "javac$EXEEXT $JAVAC_OPTS" "gcj$EXEEXT -C"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAVAC+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$JAVAC"; then
- ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_JAVAC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-JAVAC=$ac_cv_prog_JAVAC
-if test -n "$JAVAC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
-$as_echo "$JAVAC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$JAVAC" && break
-done
-
-else
- test "x$JAVAC" = x && for ac_prog in "ecj$EXEEXT $ECJ_OPTS" "ecj-3.3$EXEEXT $ECJ_OPTS" "ecj-3.2$EXEEXT $ECJ_OPTS" "javac$EXEEXT $JAVAC_OPTS" "gcj$EXEEXT -C"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAVAC+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$JAVAC"; then
- ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_JAVAC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-JAVAC=$ac_cv_prog_JAVAC
-if test -n "$JAVAC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
-$as_echo "$JAVAC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$JAVAC" && break
-done
-test -n "$JAVAC" || JAVAC="$JAVAPREFIX"
-
-fi
-test "x$JAVAC" = x && as_fn_error "no acceptable Java compiler found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC is a version of gcj" >&5
-$as_echo_n "checking if $JAVAC is a version of gcj... " >&6; }
-if test "${ac_cv_prog_javac_is_gcj+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
-
-if $JAVAC --version | grep gcj > /dev/null; then
- ac_cv_prog_javac_is_gcj=yes;
- JAVAC="$JAVAC $GCJ_OPTS";
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_is_gcj" >&5
-$as_echo "$ac_cv_prog_javac_is_gcj" >&6; }
-JAVAC_IS_GCJ=$ac_cv_prog_javac_is_gcj
-
- if test x"${JAVAC_IS_GCJ}" = xyes; then
- GCJ_JAVAC_TRUE=
- GCJ_JAVAC_FALSE='#'
-else
- GCJ_JAVAC_TRUE='#'
- GCJ_JAVAC_FALSE=
-fi
-
-if test "$enable_java_maintainer_mode" = yes; then
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5
-$as_echo_n "checking if $JAVAC works... " >&6; }
-if test "${ac_cv_prog_javac_works+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
-
-JAVA_TEST=Object.java
-CLASS_TEST=Object.class
-cat << \EOF > $JAVA_TEST
-/* #line 24255 "configure" */
-package java.lang;
-
-public class Object
-{
- static void doStuff()
- {
- }
-}
-EOF
-if test x$JAVAC_IS_GCJ = xyes; then
- CMD="$JAVAC $JAVACFLAGS -fsource=1.5 -ftarget=1.5 $JAVA_TEST"
-else
- CMD="$JAVAC $JAVACFLAGS -source 1.5 -target 1.5 $JAVA_TEST"
-fi
-if { ac_try='$CMD'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null 2>&1; then
- ac_cv_prog_javac_works=yes
-else
- as_fn_error "The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" "$LINENO" 5
- echo "configure: failed program was:" >&5
- cat $JAVA_TEST >&5
-fi
-rm -f $JAVA_TEST $CLASS_TEST
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5
-$as_echo "$ac_cv_prog_javac_works" >&6; }
-
-fi
-
+ test "x${build_class_files}" != xno && \
+ test "${enable_java_maintainer_mode}" = yes; then
JAVA_TEST=Test.java
CLASS_TEST=Test.class
cat << \EOF > $JAVA_TEST
- /* #line 24294 "configure" */
+ /* #line 24158 "configure" */
public class Test
{
public static void main(String args)
@@ -24317,6 +24181,15 @@ $as_echo "no" >&6; }
rm -f $JAVA_TEST $CLASS_TEST
+else
+ if no; then
+ GCJ_JAVAC_TRUE=
+ GCJ_JAVAC_FALSE='#'
+else
+ GCJ_JAVAC_TRUE='#'
+ GCJ_JAVAC_FALSE=
+fi
+
fi
@@ -25127,7 +25000,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU Classpath $as_me 0.98, which was
+This file was extended by GNU Classpath $as_me 0.99-pre, which was
generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -25197,7 +25070,7 @@ General help using GNU software: ."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-GNU Classpath config.status 0.98
+GNU Classpath config.status 0.99-pre
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -27869,3 +27742,8 @@ cat ${srcdir}/lib/standard.omit.in > lib/standard.omit
if test x$use_escher != xtrue; then
echo gnu/java/awt/peer/x/.*java$ >> lib/standard.omit
fi
+
+if test "x${COMPILE_PLUGIN}" = "xyes" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You have enabled the browser plugin. Please note that this is no longer maintained as part of GNU Classpath; development has moved to the IcedTea project." >&5
+$as_echo "$as_me: WARNING: You have enabled the browser plugin. Please note that this is no longer maintained as part of GNU Classpath; development has moved to the IcedTea project." >&2;}
+fi
diff --git a/libjava/classpath/configure.ac b/libjava/classpath/configure.ac
index d2d149fe239..ab72c161c52 100644
--- a/libjava/classpath/configure.ac
+++ b/libjava/classpath/configure.ac
@@ -6,8 +6,9 @@ dnl -----------------------------------------------------------
dnl define([AC_CACHE_LOAD], )dnl
dnl define([AC_CACHE_SAVE], )dnl
-AC_INIT([GNU Classpath],[0.98],[classpath@gnu.org],[classpath])
+AC_INIT([GNU Classpath],[0.99-pre],[classpath@gnu.org],[classpath])
AC_CONFIG_SRCDIR(java/lang/System.java)
+AC_CONFIG_MACRO_DIR([m4])
dnl GCJ LOCAL
AC_CONFIG_AUX_DIR(../..)
@@ -273,7 +274,7 @@ AC_ARG_ENABLE([qt-peer],
AM_CONDITIONAL(CREATE_QT_PEER_LIBRARIES, test "x${COMPILE_QT_PEER}" = xyes)
dnl -----------------------------------------------------------
-dnl Plugin (enabled by default)
+dnl Plugin (disabled by default)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([plugin],
[AS_HELP_STRING(--disable-plugin,compile gcjwebplugin (disabled by --disable-plugin) [default=yes])],
@@ -282,7 +283,7 @@ AC_ARG_ENABLE([plugin],
no) COMPILE_PLUGIN=no ;;
*) COMPILE_PLUGIN=yes ;;
esac],
- [COMPILE_PLUGIN=yes])
+ [COMPILE_PLUGIN=no])
AM_CONDITIONAL(CREATE_PLUGIN, test "x${COMPILE_PLUGIN}" = xyes)
dnl -----------------------------------------------------------
@@ -424,7 +425,7 @@ dnl -----------------------------------------------------------
dnl Initialize libtool
AC_DISABLE_STATIC
-AC_PROG_LIBTOOL
+LT_INIT
AC_PROG_AWK
AC_PROG_CC
AM_PROG_CC_C_O
@@ -739,35 +740,26 @@ if test "x${COMPILE_JNI}" = xyes; then
dnl Check for MSG_NOSIGNAL
dnl **********************************************************************
AC_MSG_CHECKING(for MSG_NOSIGNAL)
- AC_TRY_COMPILE([#include ],
- [ int f = MSG_NOSIGNAL; ],
- [ AC_MSG_RESULT(yes)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ int f = MSG_NOSIGNAL; ]])],[ AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_MSG_NOSIGNAL, 1,
- [Define this symbol if you have MSG_NOSIGNAL]) ],
- [ AC_MSG_RESULT(no)]
- )
+ [Define this symbol if you have MSG_NOSIGNAL]) ],[ AC_MSG_RESULT(no)
+ ])
dnl **********************************************************************
dnl Check for SO_NOSIGPIPE (Darwin equivalent for MSG_NOSIGNAL)
dnl **********************************************************************
AC_MSG_CHECKING(for SO_NOSIGPIPE )
- AC_TRY_COMPILE([#include ],
- [ int f = SO_NOSIGPIPE; ],
- [ AC_MSG_RESULT(yes)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ int f = SO_NOSIGPIPE; ]])],[ AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SO_NOSIGPIPE, 1,
- [Define this symbol if you have SO_NOSIGPIPE]) ],
- [ AC_MSG_RESULT(no)]
- )
+ [Define this symbol if you have SO_NOSIGPIPE]) ],[ AC_MSG_RESULT(no)
+ ])
dnl **********************************************************************
dnl Check for MSG_WAITALL
dnl **********************************************************************
AC_MSG_CHECKING(for MSG_WAITALL)
- AC_TRY_COMPILE([#include ],
- [ int f = MSG_WAITALL; ],
- [ AC_MSG_RESULT(yes)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ int f = MSG_WAITALL; ]])],[ AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_MSG_WAITALL, 1,
- [Define this symbol if you have MSG_WAITALL]) ],
- [ AC_MSG_RESULT(no)]
- )
+ [Define this symbol if you have MSG_WAITALL]) ],[ AC_MSG_RESULT(no)
+ ])
dnl Check for plugin support headers and libraries.
if test "x${COMPILE_PLUGIN}" = xyes; then
@@ -835,6 +827,22 @@ if test "x${COMPILE_JNI}" = xyes; then
fi
if test "x${COMPILE_GMP}" = xyes; then
+ AC_MSG_CHECKING([for GMP directories])
+ if test "x$with_gmp" != x; then
+ gmplibs="-L$with_gmp/lib -lgmp"
+ gmpinc="-I$with_gmp/include"
+ if test "x$with_gmp_include" != x; then
+ gmpinc="-I$with_gmp_include $gmpinc"
+ fi
+ if test "x$with_gmp_lib" != x; then
+ gmplibs="-L$with_gmp_lib $gmplibs"
+ fi
+ else
+ with_gmp="/usr"
+ gmplibs="-lgmp"
+ gmpinc="-I/usr/include"
+ fi
+ AC_MSG_RESULT([prefix=$with_gmp, libs=$gmplibs, inc=$gmpinc])
AC_CHECK_LIB(gmp, __gmpz_mul_si,
[GMP_CFLAGS="$gmpinc"
GMP_LIBS="$gmplibs" ],
@@ -1044,7 +1052,7 @@ AC_SUBST(PATH_TO_GLIBJ_ZIP)
if test "x${TOOLSDIR}" != x; then
dnl GCJ LOCAL
if test "x${COMPILE_WRAPPERS}" = xno && test "x${enable_java_maintainer_mode}" = xyes; then
- AC_PROG_JAVA
+ AC_PROG_JAVA_WORKS
fi
dnl END GCJ LOCAL
if test "x${COMPILE_GJDOC}" = xyes; then
@@ -1063,9 +1071,12 @@ fi
if test "x${use_glibj_zip}" = xfalse || \
test "x${EXAMPLESDIR}" != x || \
test "x${TOOLSDIR}" != x && \
- test "x${build_class_files}" != xno; then
- AC_PROG_JAVAC
+ test "x${build_class_files}" != xno && \
+ test "${enable_java_maintainer_mode}" = yes; then dnl GCJ_LOCAL
+ AC_PROG_JAVAC_WORKS
CLASSPATH_JAVAC_MEM_CHECK
+else
+ AM_CONDITIONAL(GCJ_JAVAC, no)
fi
dnl -----------------------------------------------------------
@@ -1232,3 +1243,7 @@ cat ${srcdir}/lib/standard.omit.in > lib/standard.omit
if test x$use_escher != xtrue; then
echo gnu/java/awt/peer/x/.*java$ >> lib/standard.omit
fi
+
+if test "x${COMPILE_PLUGIN}" = "xyes" ; then
+ AC_MSG_WARN([You have enabled the browser plugin. Please note that this is no longer maintained as part of GNU Classpath; development has moved to the IcedTea project.])
+fi
diff --git a/libjava/classpath/depcomp b/libjava/classpath/depcomp
index e5f9736c723..df8eea7e4ce 100755
--- a/libjava/classpath/depcomp
+++ b/libjava/classpath/depcomp
@@ -1,10 +1,10 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2007-03-29.01
+scriptversion=2009-04-28.21; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
-# Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,9 +17,7 @@ scriptversion=2007-03-29.01
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program. If not, see .
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -87,6 +85,15 @@ if test "$depmode" = dashXmstdout; then
depmode=dashmstdout
fi
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u="sed s,\\\\\\\\,/,g"
+ depmode=msvisualcpp
+fi
+
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
@@ -192,14 +199,14 @@ sgi)
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
-' ' ' >> $depfile
- echo >> $depfile
+' ' ' >> "$depfile"
+ echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> $depfile
+ >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
@@ -328,7 +335,12 @@ hp2)
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
# Add `dependent.h:' lines.
- sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
@@ -404,7 +416,7 @@ dashmstdout)
# Remove the call to Libtool.
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
@@ -455,32 +467,39 @@ makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
- cleared=no
- for arg in "$@"; do
+ cleared=no eat=no
+ for arg
+ do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
- obj_suffix="`echo $object | sed 's/^.*\././'`"
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
@@ -500,7 +519,7 @@ cpp)
# Remove the call to Libtool.
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
@@ -538,13 +557,27 @@ cpp)
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o,
- # because we must use -o when running libtool.
+ # always write the preprocessed file to stdout.
"$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
IFS=" "
for arg
do
case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
@@ -557,16 +590,23 @@ msvisualcpp)
;;
esac
done
- "$@" -E |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
none)
exec "$@"
;;
@@ -585,5 +625,6 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
diff --git a/libjava/classpath/doc/Makefile.in b/libjava/classpath/doc/Makefile.in
index f5955e12234..7a2432c0dda 100644
--- a/libjava/classpath/doc/Makefile.in
+++ b/libjava/classpath/doc/Makefile.in
@@ -39,6 +39,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/lib-ld.m4 \
+ $(top_srcdir)/../../config/lib-link.m4 \
+ $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
diff --git a/libjava/classpath/doc/api/Makefile.in b/libjava/classpath/doc/api/Makefile.in
index 069b24186ed..c811ef15ac3 100644
--- a/libjava/classpath/doc/api/Makefile.in
+++ b/libjava/classpath/doc/api/Makefile.in
@@ -40,6 +40,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/lib-ld.m4 \
+ $(top_srcdir)/../../config/lib-link.m4 \
+ $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -58,9 +61,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
diff --git a/libjava/classpath/doc/cp-hacking.texinfo b/libjava/classpath/doc/cp-hacking.texinfo
index a424b56ec76..2914c5be5cd 100644
--- a/libjava/classpath/doc/cp-hacking.texinfo
+++ b/libjava/classpath/doc/cp-hacking.texinfo
@@ -11,7 +11,7 @@
This file contains important information you will need to know if you
are going to hack on the GNU Classpath project code.
-Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2005,2007 Free Software Foundation, Inc.
+Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2005,2007,2009 Free Software Foundation, Inc.
@ifnotplaintext
@dircategory GNU Libraries
diff --git a/libjava/classpath/doc/texinfo.tex b/libjava/classpath/doc/texinfo.tex
index 3569bd5a864..91408263bc9 100644
--- a/libjava/classpath/doc/texinfo.tex
+++ b/libjava/classpath/doc/texinfo.tex
@@ -1,13 +1,13 @@
% texinfo.tex -- TeX macros to handle Texinfo files.
-%
+%
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2008-11-17.21}
+\def\texinfoversion{2009-08-14.15}
%
-% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
+% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008 Free Software Foundation, Inc.
+% 2007, 2008, 2009 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
@@ -100,6 +100,7 @@
\let\ptextop=\top
{\catcode`\'=\active
\global\let\ptexquoteright'}% Math-mode def from plain.tex.
+\let\ptexraggedright=\raggedright
% If this character appears in an error message or help string, it
% starts a new line in the output.
@@ -357,7 +358,7 @@
% We don't want .vr (or whatever) entries like this:
% \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
% "\acronym" won't work when it's read back in;
- % it needs to be
+ % it needs to be
% {\code {{\tt \backslashcurfont }acronym}
\shipout\vbox{%
% Do this early so pdf references go to the beginning of the page.
@@ -708,7 +709,7 @@
\def\?{?\spacefactor=\endofsentencespacefactor\space}
% @frenchspacing on|off says whether to put extra space after punctuation.
-%
+%
\def\onword{on}
\def\offword{off}
%
@@ -1284,7 +1285,7 @@ where each line of input produces a line of output.}
% that's what we do).
% double active backslashes.
-%
+%
{\catcode`\@=0 \catcode`\\=\active
@gdef@activebackslashdouble{%
@catcode`@\=@active
@@ -1296,11 +1297,11 @@ where each line of input produces a line of output.}
% us) handles it with this amazing macro to replace tokens, with minor
% changes for Texinfo. It is included here under the GPL by permission
% from the author, Heiko Oberdiek.
-%
+%
% #1 is the tokens to replace.
% #2 is the replacement.
% #3 is the control sequence with the string.
-%
+%
\def\HyPsdSubst#1#2#3{%
\def\HyPsdReplace##1#1##2\END{%
##1%
@@ -1331,11 +1332,17 @@ output) for that.)}
\ifpdf
%
- % Color manipulation macros based on pdfcolor.tex.
- \def\cmykDarkRed{0.28 1 1 0.35}
- \def\cmykBlack{0 0 0 1}
+ % Color manipulation macros based on pdfcolor.tex,
+ % except using rgb instead of cmyk; the latter is said to render as a
+ % very dark gray on-screen and a very dark halftone in print, instead
+ % of actual black.
+ \def\rgbDarkRed{0.50 0.09 0.12}
+ \def\rgbBlack{0 0 0}
+ %
+ % k sets the color for filling (usual text, etc.);
+ % K sets the color for stroking (thin rules, e.g., normal _'s).
+ \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}}
%
- \def\pdfsetcolor#1{\pdfliteral{#1 k}}
% Set color, and create a mark which defines \thiscolor accordingly,
% so that \makeheadline knows which color to restore.
\def\setcolor#1{%
@@ -1344,7 +1351,7 @@ output) for that.)}
\pdfsetcolor{#1}%
}
%
- \def\maincolor{\cmykBlack}
+ \def\maincolor{\rgbBlack}
\pdfsetcolor{\maincolor}
\edef\thiscolor{\maincolor}
\def\lastcolordefs{}
@@ -1439,8 +1446,8 @@ output) for that.)}
%
% by default, use a color that is dark enough to print on paper as
% nearly black, but still distinguishable for online viewing.
- \def\urlcolor{\cmykDarkRed}
- \def\linkcolor{\cmykDarkRed}
+ \def\urlcolor{\rgbDarkRed}
+ \def\linkcolor{\rgbDarkRed}
\def\endlink{\setcolor{\maincolor}\pdfendlink}
%
% Adding outlines to PDF; macros for calculating structure of outlines
@@ -1569,11 +1576,15 @@ output) for that.)}
% tried to figure out what each command should do in the context
% of @url. for now, just make @/ a no-op, that's the only one
% people have actually reported a problem with.
- %
+ %
\normalturnoffactive
\def\@{@}%
\let\/=\empty
\makevalueexpandable
+ % do we want to go so far as to use \indexnofonts instead of just
+ % special-casing \var here?
+ \def\var##1{##1}%
+ %
\leavevmode\setcolor{\urlcolor}%
\startlink attr{/Border [0 0 0]}%
user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
@@ -1604,6 +1615,7 @@ output) for that.)}
\setcolor{\linkcolor}#1\endlink}
\def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
\else
+ % non-pdf mode
\let\pdfmkdest = \gobble
\let\pdfurl = \gobble
\let\endlink = \relax
@@ -1972,7 +1984,7 @@ end
% Definitions for a main text size of 11pt. This is the default in
% Texinfo.
-%
+%
\def\definetextfontsizexi{%
% Text fonts (11.2pt, magstep1).
\def\textnominalsize{11pt}
@@ -2103,7 +2115,7 @@ end
% section, chapter, etc., sizes following suit. This is for the GNU
% Press printing of the Emacs 22 manual. Maybe other manuals in the
% future. Used with @smallbook, which sets the leading to 12pt.
-%
+%
\def\definetextfontsizex{%
% Text fonts (10pt).
\def\textnominalsize{10pt}
@@ -2192,7 +2204,7 @@ end
\setfont\secsf\sfbshape{12}{1000}{OT1}
\let\secbf\secrm
\setfont\secsc\scbshape{10}{\magstep1}{OT1}
-\font\seci=cmmi12
+\font\seci=cmmi12
\font\secsy=cmsy10 scaled \magstep1
\def\sececsize{1200}
@@ -2236,7 +2248,7 @@ end
% We provide the user-level command
% @fonttextsize 10
% (or 11) to redefine the text font size. pt is assumed.
-%
+%
\def\xword{10}
\def\xiword{11}
%
@@ -2246,7 +2258,7 @@ end
%
% Set \globaldefs so that documents can use this inside @tex, since
% makeinfo 4.8 does not support it, but we need it nonetheless.
- %
+ %
\begingroup \globaldefs=1
\ifx\textsizearg\xword \definetextfontsizex
\else \ifx\textsizearg\xiword \definetextfontsizexi
@@ -2348,6 +2360,16 @@ end
\def\lsize{smaller}\def\lllsize{smaller}%
\resetmathfonts \setleading{9.5pt}}
+% Fonts for short table of contents.
+\setfont\shortcontrm\rmshape{12}{1000}{OT1}
+\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12
+\setfont\shortcontsl\slshape{12}{1000}{OT1}
+\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
+
+% Define these just so they can be easily changed for other fonts.
+\def\angleleft{$\langle$}
+\def\angleright{$\rangle$}
+
% Set the fonts to use with the @small... environments.
\let\smallexamplefonts = \smallfonts
@@ -2361,28 +2383,128 @@ end
%
% By the way, for comparison, here's what fits with @example (10pt):
% 8.5x11=71 smallbook=60 a4=75 a5=58
-%
-% I wish the USA used A4 paper.
% --karl, 24jan03.
-
% Set up the default fonts, so we can use them for creating boxes.
%
\definetextfontsizexi
-% Define these so they can be easily changed for other fonts.
-\def\angleleft{$\langle$}
-\def\angleright{$\rangle$}
+
+\message{markup,}
+
+% Check if we are currently using a typewriter font. Since all the
+% Computer Modern typewriter fonts have zero interword stretch (and
+% shrink), and it is reasonable to expect all typewriter fonts to have
+% this property, we can check that font parameter.
+%
+\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
+
+% Markup style infrastructure. \defmarkupstylesetup\INITMACRO will
+% define and register \INITMACRO to be called on markup style changes.
+% \INITMACRO can check \currentmarkupstyle for the innermost
+% style and the set of \ifmarkupSTYLE switches for all styles
+% currently in effect.
+\newif\ifmarkupvar
+\newif\ifmarkupsamp
+\newif\ifmarkupkey
+%\newif\ifmarkupfile % @file == @samp.
+%\newif\ifmarkupoption % @option == @samp.
+\newif\ifmarkupcode
+\newif\ifmarkupkbd
+%\newif\ifmarkupenv % @env == @code.
+%\newif\ifmarkupcommand % @command == @code.
+\newif\ifmarkuptex % @tex (and part of @math, for now).
+\newif\ifmarkupexample
+\newif\ifmarkupverb
+\newif\ifmarkupverbatim
+
+\let\currentmarkupstyle\empty
+
+\def\setupmarkupstyle#1{%
+ \csname markup#1true\endcsname
+ \def\currentmarkupstyle{#1}%
+ \markupstylesetup
+}
+
+\let\markupstylesetup\empty
+
+\def\defmarkupstylesetup#1{%
+ \expandafter\def\expandafter\markupstylesetup
+ \expandafter{\markupstylesetup #1}%
+ \def#1%
+}
+
+% Markup style setup for left and right quotes.
+\defmarkupstylesetup\markupsetuplq{%
+ \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname
+ \ifx\temp\relax \markupsetuplqdefault \else \temp \fi
+}
+
+\defmarkupstylesetup\markupsetuprq{%
+ \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname
+ \ifx\temp\relax \markupsetuprqdefault \else \temp \fi
+}
+
+{
+\catcode`\'=\active
+\catcode`\`=\active
+
+\gdef\markupsetuplqdefault{\let`\lq}
+\gdef\markupsetuprqdefault{\let'\rq}
+
+\gdef\markupsetcodequoteleft{\let`\codequoteleft}
+\gdef\markupsetcodequoteright{\let'\codequoteright}
+
+\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
+}
+
+\let\markupsetuplqcode \markupsetcodequoteleft
+\let\markupsetuprqcode \markupsetcodequoteright
+\let\markupsetuplqexample \markupsetcodequoteleft
+\let\markupsetuprqexample \markupsetcodequoteright
+\let\markupsetuplqverb \markupsetcodequoteleft
+\let\markupsetuprqverb \markupsetcodequoteright
+\let\markupsetuplqverbatim \markupsetcodequoteleft
+\let\markupsetuprqverbatim \markupsetcodequoteright
+
+\let\markupsetuplqsamp \markupsetnoligaturesquoteleft
+\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
+
+% Allow an option to not replace quotes with a regular directed right
+% quote/apostrophe (char 0x27), but instead use the undirected quote
+% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
+% the default, but it works for pasting with more pdf viewers (at least
+% evince), the lilypond developers report. xpdf does work with the
+% regular 0x27.
+%
+\def\codequoteright{%
+ \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
+ \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
+ '%
+ \else \char'15 \fi
+ \else \char'15 \fi
+}
+%
+% and a similar option for the left quote char vs. a grave accent.
+% Modern fonts display ASCII 0x60 as a grave accent, so some people like
+% the code environments to do likewise.
+%
+\def\codequoteleft{%
+ \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
+ \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
+ % [Knuth] pp. 380,381,391
+ % \relax disables Spanish ligatures ?` and !` of \tt font.
+ \relax`%
+ \else \char'22 \fi
+ \else \char'22 \fi
+}
+
+% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
+\def\noligaturesquoteleft{\relax\lq}
% Count depth in font-changes, for error checks
\newcount\fontdepth \fontdepth=0
-% Fonts for short table of contents.
-\setfont\shortcontrm\rmshape{12}{1000}{OT1}
-\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12
-\setfont\shortcontsl\slshape{12}{1000}{OT1}
-\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
-
%% Add scribe-like font environments, plus @l for inline lisp (usually sans
%% serif) and @ii for TeX italic
@@ -2397,7 +2519,7 @@ end
% @var is set to this for defun arguments.
\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
-% like \smartslanted except unconditionally use \sl. We never want
+% @cite is like \smartslanted except unconditionally use \sl. We never want
% ttsl for book titles, do we?
\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
@@ -2407,7 +2529,12 @@ end
\let\dfn=\smartslanted
\let\emph=\smartitalic
-% @b, explicit bold.
+% Explicit font changes: @r, @sc, undocumented @ii.
+\def\r#1{{\rm #1}} % roman font
+\def\sc#1{{\smallcaps#1}} % smallcaps font
+\def\ii#1{{\it #1}} % italic font
+
+% @b, explicit bold. Also @strong.
\def\b#1{{\bf #1}}
\let\strong=\b
@@ -2439,22 +2566,35 @@ end
\catcode`@=\other
\def\endofsentencespacefactor{3000}% default
+% @t, explicit typewriter.
\def\t#1{%
{\tt \rawbackslash \plainfrenchspacing #1}%
\null
}
+
+% @samp.
\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
-\setfont\keyrm\rmshape{8}{1000}{OT1}
-\font\keysy=cmsy9
-\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
- \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
- \vbox{\hrule\kern-0.4pt
- \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
- \kern-0.4pt\hrule}%
- \kern-.06em\raise0.4pt\hbox{\angleright}}}}
-\def\key #1{{\setupmarkupstyle{key}\nohyphenation \uppercase{#1}}\null}
-% The old definition, with no lozenge:
-%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
+
+% definition of @key that produces a lozenge. Doesn't adjust to text size.
+%\setfont\keyrm\rmshape{8}{1000}{OT1}
+%\font\keysy=cmsy9
+%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+% \vbox{\hrule\kern-0.4pt
+% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+% \kern-0.4pt\hrule}%
+% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+
+% definition of @key with no lozenge. If the current font is already
+% monospace, don't change it; that way, we respect @kbdinputstyle. But
+% if it isn't monospace, then use \tt.
+%
+\def\key#1{{\setupmarkupstyle{key}%
+ \nohyphenation
+ \ifmonospace\else\tt\fi
+ #1}\null}
+
+% ctrl is no longer a Texinfo command.
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
% @file, @option are the same as @samp.
@@ -2532,7 +2672,7 @@ end
% each of the four underscores in __typeof__. This is undesirable in
% some manuals, especially if they don't have long identifiers in
% general. @allowcodebreaks provides a way to control this.
-%
+%
\newif\ifallowcodebreaks \allowcodebreakstrue
\def\keywordtrue{true}
@@ -2552,6 +2692,7 @@ end
% @kbd is like @code, except that if the argument is just one @key command,
% then @kbd has no effect.
+\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
% `example' (@kbd uses ttsl only inside of @example and friends),
@@ -2573,7 +2714,7 @@ end
\def\wordexample{example}
\def\wordcode{code}
-% Default is `distinct.'
+% Default is `distinct'.
\kbdinputstyle distinct
\def\xkey{\key}
@@ -2643,34 +2784,20 @@ end
\let\email=\uref
\fi
-% Check if we are currently using a typewriter font. Since all the
-% Computer Modern typewriter fonts have zero interword stretch (and
-% shrink), and it is reasonable to expect all typewriter fonts to have
-% this property, we can check that font parameter.
-%
-\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
-
% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
%
\def\dmn#1{\thinspace #1}
-\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
-
% @l was never documented to mean ``switch to the Lisp font'',
% and it is not used as such in any manual I can find. We need it for
% Polish suppressed-l. --karl, 22sep96.
%\def\l#1{{\li #1}\null}
-% Explicit font changes: @r, @sc, undocumented @ii.
-\def\r#1{{\rm #1}} % roman font
-\def\sc#1{{\smallcaps#1}} % smallcaps font
-\def\ii#1{{\it #1}} % italic font
-
% @acronym for "FBI", "NATO", and the like.
% We print this one point size smaller, since it's intended for
% all-uppercase.
-%
+%
\def\acronym#1{\doacronym #1,,\finish}
\def\doacronym#1,#2,#3\finish{%
{\selectfonts\lsize #1}%
@@ -2682,7 +2809,7 @@ end
% @abbr for "Comput. J." and the like.
% No font change, but don't do end-of-sentence spacing.
-%
+%
\def\abbr#1{\doabbr #1,,\finish}
\def\doabbr#1,#2,#3\finish{%
{\plainfrenchspacing #1}%
@@ -2692,6 +2819,44 @@ end
\fi
}
+
+\message{glyphs,}
+
+% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
+%
+% Since these characters are used in examples, they should be an even number of
+% \tt widths. Each \tt character is 1en, so two makes it 1em.
+%
+\def\point{$\star$}
+\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}}
+\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
+\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}}
+\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
+\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}}
+
+% The @error{} command.
+% Adapted from the TeXbook's \boxit.
+%
+\newbox\errorbox
+%
+{\tentt \global\dimen0 = 3em}% Width of the box.
+\dimen2 = .55pt % Thickness of rules
+% The text. (`r' is open on the right, `e' somewhat less so on the left.)
+\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+%
+\setbox\errorbox=\hbox to \dimen0{\hfil
+ \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
+ \advance\hsize by -2\dimen2 % Rules.
+ \vbox{%
+ \hrule height\dimen2
+ \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
+ \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
+ \kern3pt\vrule width\dimen2}% Space to right.
+ \hrule height\dimen2}
+ \hfil}
+%
+\def\error{\leavevmode\lower.7ex\copy\errorbox}
+
% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
%
\def\pounds{{\it\$}}
@@ -2701,52 +2866,59 @@ end
% Theiling, which support regular, slanted, bold and bold slanted (and
% "outlined" (blackboard board, sort of) versions, which we don't need).
% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
-%
+%
% Although only regular is the truly official Euro symbol, we ignore
% that. The Euro is designed to be slightly taller than the regular
% font height.
-%
+%
% feymr - regular
% feymo - slanted
% feybr - bold
% feybo - bold slanted
-%
+%
% There is no good (free) typewriter version, to my knowledge.
% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
% Hmm.
-%
+%
% Also doesn't work in math. Do we need to do math with euro symbols?
% Hope not.
-%
-%
+%
+%
\def\euro{{\eurofont e}}
\def\eurofont{%
% We set the font at each command, rather than predefining it in
% \textfonts and the other font-switching commands, so that
% installations which never need the symbol don't have to have the
% font installed.
- %
+ %
% There is only one designed size (nominal 10pt), so we always scale
% that to the current nominal size.
- %
+ %
% By the way, simply using "at 1em" works for cmr10 and the like, but
% does not work for cmbx10 and other extended/shrunken fonts.
- %
+ %
\def\eurosize{\csname\curfontsize nominalsize\endcsname}%
%
- \ifx\curfontstyle\bfstylename
+ \ifx\curfontstyle\bfstylename
% bold:
\font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
- \else
+ \else
% regular:
\font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
\fi
\thiseurofont
}
-% Hacks for glyphs from the EC fonts similar to \euro. We don't
-% use \let for the aliases, because sometimes we redefine the original
-% macro, and the alias should reflect the redefinition.
+% Glyphs from the EC fonts. We don't use \let for the aliases, because
+% sometimes we redefine the original macro, and the alias should reflect
+% the redefinition.
+%
+% Use LaTeX names for the Icelandic letters.
+\def\DH{{\ecfont \char"D0}} % Eth
+\def\dh{{\ecfont \char"F0}} % eth
+\def\TH{{\ecfont \char"DE}} % Thorn
+\def\th{{\ecfont \char"FE}} % thorn
+%
\def\guillemetleft{{\ecfont \char"13}}
\def\guillemotleft{\guillemetleft}
\def\guillemetright{{\ecfont \char"14}}
@@ -2760,7 +2932,7 @@ end
% we have the precomposed glyphs for the most common cases. We put the
% tests to use those glyphs in the single \ogonek macro so we have fewer
% dummy definitions to worry about for index entries, etc.
-%
+%
% ogonek is also used with other letters in Lithuanian (IOU), but using
% the precomposed glyphs for those is not so easy since they aren't in
% the same EC font.
@@ -2783,6 +2955,7 @@ end
\def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E}
\def\eogonek{{\ecfont \char"A6}}\def\macrochare{e}
%
+% Use the ec* fonts (cm-super in outline format) for non-CM glyphs.
\def\ecfont{%
% We can't distinguish serif/sans and italic/slanted, but this
% is used for crude hacks anyway (like adding French and German
@@ -2817,7 +2990,7 @@ end
% Laurent Siebenmann reports \Orb undefined with:
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
% so we'll define it if necessary.
-%
+%
\ifx\Orb\undefined
\def\Orb{\mathhexbox20D}
\fi
@@ -3163,7 +3336,7 @@ end
% cause the example and the item to crash together. So we use this
% bizarre value of 10001 as a signal to \aboveenvbreak to insert
% \parskip glue after all. Section titles are handled this way also.
- %
+ %
\penalty 10001
\endgroup
\itemxneedsnegativevskipfalse
@@ -3257,9 +3430,18 @@ end
\parindent=0pt
\parskip=\smallskipamount
\ifdim\parskip=0pt \parskip=2pt \fi
+ %
+ % Try typesetting the item mark that if the document erroneously says
+ % something like @itemize @samp (intending @table), there's an error
+ % right away at the @itemize. It's not the best error message in the
+ % world, but it's better than leaving it to the @item. This means if
+ % the user wants an empty mark, they have to say @w{} not just @w.
\def\itemcontents{#1}%
+ \setbox0 = \hbox{\itemcontents}%
+ %
% @itemize with no arg is equivalent to @itemize @bullet.
\ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
+ %
\let\item=\itemizeitem
}
@@ -3280,6 +3462,7 @@ end
\ifnum\lastpenalty<10000 \parskip=0in \fi
\noindent
\hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
+ %
\vadjust{\penalty 1200}}% not good to break after first line of item.
\flushcr
}
@@ -3501,12 +3684,19 @@ end
%
% @headitem starts a heading row, which we typeset in bold.
% Assignments have to be global since we are inside the implicit group
-% of an alignment entry. Note that \everycr resets \everytab.
-\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}%
+% of an alignment entry. \everycr resets \everytab so we don't have to
+% undo it ourselves.
+\def\headitemfont{\b}% for people to use in the template row; not changeable
+\def\headitem{%
+ \checkenv\multitable
+ \crcr
+ \global\everytab={\bf}% can't use \headitemfont since the parsing differs
+ \the\everytab % for the first item
+}%
%
% A \tab used to include \hskip1sp. But then the space in a template
% line is not enough. That is bad. So let's go back to just `&' until
-% we encounter the problem it was intended to solve again.
+% we again encounter the problem the 1sp was intended to solve.
% --karl, nathan@acm.org, 20apr99.
\def\tab{\checkenv\multitable &\the\everytab}%
@@ -3959,7 +4149,7 @@ end
% processing continues to some further point. On the other hand, it
% seems \endinput does not hurt in the printed index arg, since that
% is still getting written without apparent harm.
- %
+ %
% Sample source (mac-idx3.tex, reported by Graham Percival to
% help-texinfo, 22may06):
% @macro funindex {WORD}
@@ -3967,12 +4157,12 @@ end
% @end macro
% ...
% @funindex commtest
- %
+ %
% The above is not enough to reproduce the bug, but it gives the flavor.
- %
+ %
% Sample whatsit resulting:
% .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
- %
+ %
% So:
\let\endinput = \empty
%
@@ -4024,19 +4214,23 @@ end
% Non-English letters.
\definedummyword\AA
\definedummyword\AE
+ \definedummyword\DH
\definedummyword\L
- \definedummyword\OE
\definedummyword\O
+ \definedummyword\OE
+ \definedummyword\TH
\definedummyword\aa
\definedummyword\ae
- \definedummyword\l
- \definedummyword\oe
- \definedummyword\o
- \definedummyword\ss
+ \definedummyword\dh
\definedummyword\exclamdown
- \definedummyword\questiondown
+ \definedummyword\l
+ \definedummyword\o
+ \definedummyword\oe
\definedummyword\ordf
\definedummyword\ordm
+ \definedummyword\questiondown
+ \definedummyword\ss
+ \definedummyword\th
%
% Although these internal commands shouldn't show up, sometimes they do.
\definedummyword\bf
@@ -4131,6 +4325,7 @@ end
\definedummyword\code
\definedummyword\command
\definedummyword\dfn
+ \definedummyword\email
\definedummyword\emph
\definedummyword\env
\definedummyword\file
@@ -4179,19 +4374,23 @@ end
% Non-English letters.
\def\AA{AA}%
\def\AE{AE}%
+ \def\DH{DZZ}%
\def\L{L}%
\def\OE{OE}%
\def\O{O}%
+ \def\TH{ZZZ}%
\def\aa{aa}%
\def\ae{ae}%
+ \def\dh{dzz}%
+ \def\exclamdown{!}%
\def\l{l}%
\def\oe{oe}%
- \def\o{o}%
- \def\ss{ss}%
- \def\exclamdown{!}%
- \def\questiondown{?}%
\def\ordf{a}%
\def\ordm{o}%
+ \def\o{o}%
+ \def\questiondown{?}%
+ \def\ss{ss}%
+ \def\th{zzz}%
%
\def\LaTeX{LaTeX}%
\def\TeX{TeX}%
@@ -4201,20 +4400,19 @@ end
\def\bullet{bullet}%
\def\comma{,}%
\def\copyright{copyright}%
- \def\registeredsymbol{R}%
\def\dots{...}%
\def\enddots{...}%
\def\equiv{==}%
\def\error{error}%
\def\euro{euro}%
+ \def\expansion{==>}%
\def\guillemetleft{<<}%
\def\guillemetright{>>}%
\def\guilsinglleft{<}%
\def\guilsinglright{>}%
- \def\expansion{==>}%
\def\minus{-}%
- \def\pounds{pounds}%
\def\point{.}%
+ \def\pounds{pounds}%
\def\print{-|}%
\def\quotedblbase{"}%
\def\quotedblleft{"}%
@@ -4222,19 +4420,20 @@ end
\def\quoteleft{`}%
\def\quoteright{'}%
\def\quotesinglbase{,}%
+ \def\registeredsymbol{R}%
\def\result{=>}%
- \def\textdegree{degrees}%
+ \def\textdegree{o}%
%
% We need to get rid of all macros, leaving only the arguments (if present).
% Of course this is not nearly correct, but it is the best we can do for now.
% makeinfo does not expand macros in the argument to @deffn, which ends up
% writing an index entry, and texindex isn't prepared for an index sort entry
% that starts with \.
- %
+ %
% Since macro invocations are followed by braces, we can just redefine them
% to take a single TeX argument. The case of a macro invocation that
% goes to end-of-line is not handled.
- %
+ %
\macrolist
}
@@ -4362,7 +4561,7 @@ end
% to re-insert the same penalty (values >10000 are used for various
% signals); since we just inserted a non-discardable item, any
% following glue (such as a \parskip) would be a breakpoint. For example:
- %
+ %
% @deffn deffn-whatever
% @vindex index-whatever
% Description.
@@ -4943,7 +5142,9 @@ end
\gdef\chaplevelprefix{\the\chapno.}%
\resetallfloatnos
%
- \message{\putwordChapter\space \the\chapno}%
+ % \putwordChapter can contain complex things in translations.
+ \toks0=\expandafter{\putwordChapter}%
+ \message{\the\toks0 \space \the\chapno}%
%
% Write the actual heading.
\chapmacro{#1}{Ynumbered}{\the\chapno}%
@@ -4954,15 +5155,17 @@ end
\global\let\subsubsection = \numberedsubsubsec
}
-\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz
+\outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz
+%
\def\appendixzzz#1{%
\global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\appendixno by 1
\gdef\chaplevelprefix{\appendixletter.}%
\resetallfloatnos
%
- \def\appendixnum{\putwordAppendix\space \appendixletter}%
- \message{\appendixnum}%
+ % \putwordAppendix can contain complex things in translations.
+ \toks0=\expandafter{\putwordAppendix}%
+ \message{\the\toks0 \space \appendixletter}%
%
\chapmacro{#1}{Yappendix}{\appendixletter}%
%
@@ -5102,7 +5305,7 @@ end
\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
\def\chapheadingzzz#1{%
{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
+ \parindent=0pt\ptexraggedright
\rmisbold #1\hfill}}%
\bigskip \par\penalty 200\relax
\suppressfirstparagraphindent
@@ -5195,7 +5398,10 @@ end
\xdef\lastchapterdefs{%
\gdef\noexpand\thischaptername{\the\toks0}%
\gdef\noexpand\thischapternum{\appendixletter}%
- \gdef\noexpand\thischapter{\putwordAppendix{} \noexpand\thischapternum:
+ % \noexpand\putwordAppendix avoids expanding indigestible
+ % commands in some of the translations.
+ \gdef\noexpand\thischapter{\noexpand\putwordAppendix{}
+ \noexpand\thischapternum:
\noexpand\thischaptername}%
}%
\else
@@ -5203,7 +5409,10 @@ end
\xdef\lastchapterdefs{%
\gdef\noexpand\thischaptername{\the\toks0}%
\gdef\noexpand\thischapternum{\the\chapno}%
- \gdef\noexpand\thischapter{\putwordChapter{} \noexpand\thischapternum:
+ % \noexpand\putwordChapter avoids expanding indigestible
+ % commands in some of the translations.
+ \gdef\noexpand\thischapter{\noexpand\putwordChapter{}
+ \noexpand\thischapternum:
\noexpand\thischaptername}%
}%
\fi\fi\fi
@@ -5259,7 +5468,7 @@ end
%
% Typeset the actual heading.
\nobreak % Avoid page breaks at the interline glue.
- \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
+ \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
\hangindent=\wd0 \centerparametersmaybe
\unhbox0 #1\par}%
}%
@@ -5283,7 +5492,7 @@ end
%
\def\unnchfopen #1{%
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
+ \parindent=0pt\ptexraggedright
\rmisbold #1\hfill}}\bigskip \par\nobreak
}
\def\chfopen #1#2{\chapoddpage {\chapfonts
@@ -5346,7 +5555,10 @@ end
\xdef\lastsectiondefs{%
\gdef\noexpand\thissectionname{\the\toks0}%
\gdef\noexpand\thissectionnum{#4}%
- \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum:
+ % \noexpand\putwordSection avoids expanding indigestible
+ % commands in some of the translations.
+ \gdef\noexpand\thissection{\noexpand\putwordSection{}
+ \noexpand\thissectionnum:
\noexpand\thissectionname}%
}%
\fi
@@ -5356,12 +5568,20 @@ end
\xdef\lastsectiondefs{%
\gdef\noexpand\thissectionname{\the\toks0}%
\gdef\noexpand\thissectionnum{#4}%
- \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum:
+ % \noexpand\putwordSection avoids expanding indigestible
+ % commands in some of the translations.
+ \gdef\noexpand\thissection{\noexpand\putwordSection{}
+ \noexpand\thissectionnum:
\noexpand\thissectionname}%
}%
\fi
\fi\fi\fi
%
+ % Go into vertical mode. Usually we'll already be there, but we
+ % don't want the following whatsit to end up in a preceding paragraph
+ % if the document didn't happen to have a blank line.
+ \par
+ %
% Output the mark. Pass it through \safewhatsit, to take care of
% the preceding space.
\safewhatsit\domark
@@ -5411,7 +5631,7 @@ end
\nobreak
%
% Output the actual section heading.
- \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
+ \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
\hangindent=\wd0 % zero if no section number
\unhbox0 #1}%
}%
@@ -5427,11 +5647,11 @@ end
% glue accumulate. (Not a breakpoint because it's preceded by a
% discardable item.)
\vskip-\parskip
- %
+ %
% This is purely so the last item on the list is a known \penalty >
% 10000. This is so \startdefun can avoid allowing breakpoints after
% section headings. Otherwise, it would insert a valid breakpoint between:
- %
+ %
% @section sec-whatever
% @deffn def-whatever
\penalty 10001
@@ -5489,7 +5709,7 @@ end
% These characters do not print properly in the Computer Modern roman
% fonts, so we must take special care. This is more or less redundant
% with the Texinfo input format setup at the end of this file.
-%
+%
\def\activecatcodes{%
\catcode`\"=\active
\catcode`\$=\active
@@ -5539,7 +5759,7 @@ end
% redefined for the two-volume lispref. We always output on
% \jobname.toc even if this is redefined.
-%
+%
\def\tocreadfilename{\jobname.toc}
% Normal (long) toc.
@@ -5709,144 +5929,6 @@ end
\message{environments,}
% @foo ... @end foo.
-% Markup style infrastructure. \defmarkupstylesetup\INITMACRO will
-% define and register \INITMACRO to be called on markup style changes.
-% \INITMACRO can check \currentmarkupstyle for the innermost
-% style and the set of \ifmarkupSTYLE switches for all styles
-% currently in effect.
-\newif\ifmarkupvar
-\newif\ifmarkupsamp
-\newif\ifmarkupkey
-%\newif\ifmarkupfile % @file == @samp.
-%\newif\ifmarkupoption % @option == @samp.
-\newif\ifmarkupcode
-\newif\ifmarkupkbd
-%\newif\ifmarkupenv % @env == @code.
-%\newif\ifmarkupcommand % @command == @code.
-\newif\ifmarkuptex % @tex (and part of @math, for now).
-\newif\ifmarkupexample
-\newif\ifmarkupverb
-\newif\ifmarkupverbatim
-
-\let\currentmarkupstyle\empty
-
-\def\setupmarkupstyle#1{%
- \csname markup#1true\endcsname
- \def\currentmarkupstyle{#1}%
- \markupstylesetup
-}
-
-\let\markupstylesetup\empty
-
-\def\defmarkupstylesetup#1{%
- \expandafter\def\expandafter\markupstylesetup
- \expandafter{\markupstylesetup #1}%
- \def#1%
-}
-
-% Markup style setup for left and right quotes.
-\defmarkupstylesetup\markupsetuplq{%
- \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname
- \ifx\temp\relax \markupsetuplqdefault \else \temp \fi
-}
-
-\defmarkupstylesetup\markupsetuprq{%
- \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname
- \ifx\temp\relax \markupsetuprqdefault \else \temp \fi
-}
-
-{
-\catcode`\'=\active
-\catcode`\`=\active
-
-\gdef\markupsetuplqdefault{\let`\lq}
-\gdef\markupsetuprqdefault{\let'\rq}
-
-\gdef\markupsetcodequoteleft{\let`\codequoteleft}
-\gdef\markupsetcodequoteright{\let'\codequoteright}
-
-\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
-}
-
-\let\markupsetuplqcode \markupsetcodequoteleft
-\let\markupsetuprqcode \markupsetcodequoteright
-\let\markupsetuplqexample \markupsetcodequoteleft
-\let\markupsetuprqexample \markupsetcodequoteright
-\let\markupsetuplqverb \markupsetcodequoteleft
-\let\markupsetuprqverb \markupsetcodequoteright
-\let\markupsetuplqverbatim \markupsetcodequoteleft
-\let\markupsetuprqverbatim \markupsetcodequoteright
-
-\let\markupsetuplqsamp \markupsetnoligaturesquoteleft
-\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
-
-% Allow an option to not replace quotes with a regular directed right
-% quote/apostrophe (char 0x27), but instead use the undirected quote
-% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
-% the default, but it works for pasting with more pdf viewers (at least
-% evince), the lilypond developers report. xpdf does work with the
-% regular 0x27.
-%
-\def\codequoteright{%
- \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
- \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
- '%
- \else \char'15 \fi
- \else \char'15 \fi
-}
-%
-% and a similar option for the left quote char vs. a grave accent.
-% Modern fonts display ASCII 0x60 as a grave accent, so some people like
-% the code environments to do likewise.
-%
-\def\codequoteleft{%
- \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
- \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
- % [Knuth] pp. 380,381,391
- % \relax disables Spanish ligatures ?` and !` of \tt font.
- \relax`%
- \else \char'22 \fi
- \else \char'22 \fi
-}
-
-% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
-\def\noligaturesquoteleft{\relax\lq}
-
-% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
-%
-% Since these characters are used in examples, they should be an even number of
-% \tt widths. Each \tt character is 1en, so two makes it 1em.
-%
-\def\point{$\star$}
-\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}}
-\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
-\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}}
-\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
-\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}}
-
-% The @error{} command.
-% Adapted from the TeXbook's \boxit.
-%
-\newbox\errorbox
-%
-{\tentt \global\dimen0 = 3em}% Width of the box.
-\dimen2 = .55pt % Thickness of rules
-% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
-%
-\setbox\errorbox=\hbox to \dimen0{\hfil
- \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
- \advance\hsize by -2\dimen2 % Rules.
- \vbox{%
- \hrule height\dimen2
- \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
- \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
- \kern3pt\vrule width\dimen2}% Space to right.
- \hrule height\dimen2}
- \hfil}
-%
-\def\error{\leavevmode\lower.7ex\copy\errorbox}
-
% @tex ... @end tex escapes into raw Tex temporarily.
% One exception: @ is still an escape character, so that @end tex works.
% But \@ or @@ will get a plain tex @ character.
@@ -5999,6 +6081,7 @@ end
% This macro is called at the beginning of all the @example variants,
% inside a group.
+\newdimen\nonfillparindent
\def\nonfillstart{%
\aboveenvbreak
\hfuzz = 12pt % Don't be fussy
@@ -6006,7 +6089,12 @@ end
\let\par = \lisppar % don't ignore blank lines
\obeylines % each line of input is a line of output
\parskip = 0pt
+ % Turn off paragraph indentation but redefine \indent to emulate
+ % the normal \indent.
+ \nonfillparindent=\parindent
\parindent = 0pt
+ \let\indent\nonfillindent
+ %
\emergencystretch = 0pt % don't try to avoid overfull boxes
\ifx\nonarrowing\relax
\advance \leftskip by \lispnarrowing
@@ -6017,6 +6105,24 @@ end
\let\exdent=\nofillexdent
}
+\begingroup
+\obeyspaces
+% We want to swallow spaces (but not other tokens) after the fake
+% @indent in our nonfill-environments, where spaces are normally
+% active and set to @tie, resulting in them not being ignored after
+% @indent.
+\gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}%
+\gdef\nonfillindentcheck{%
+\ifx\temp %
+\expandafter\nonfillindentgobble%
+\else%
+\leavevmode\nonfillindentbox%
+\fi%
+}%
+\endgroup
+\def\nonfillindentgobble#1{\nonfillindent}
+\def\nonfillindentbox{\hbox to \nonfillparindent{\hss}}
+
% If you want all examples etc. small: @set dispenvsize small.
% If you want even small examples the full size: @set dispenvsize nosmall.
% This affects the following displayed environments:
@@ -6103,6 +6209,30 @@ end
\let\Eflushright = \afterenvbreak
+% @raggedright does more-or-less normal line breaking but no right
+% justification. From plain.tex.
+\envdef\raggedright{%
+ \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax
+}
+\let\Eraggedright\par
+
+\envdef\raggedleft{%
+ \parindent=0pt \leftskip0pt plus2em
+ \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
+ \hbadness=10000 % Last line will usually be underfull, so turn off
+ % badness reporting.
+}
+\let\Eraggedleft\par
+
+\envdef\raggedcenter{%
+ \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em
+ \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
+ \hbadness=10000 % Last line will usually be underfull, so turn off
+ % badness reporting.
+}
+\let\Eraggedcenter\par
+
+
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
% and narrows the margins. We keep \parskip nonzero in general, since
% we're doing normal filling. So, when using \aboveenvbreak and
@@ -6721,7 +6851,7 @@ end
% This does \let #1 = #2, with \csnames; that is,
% \let \csname#1\endcsname = \csname#2\endcsname
% (except of course we have to play expansion games).
-%
+%
\def\cslet#1#2{%
\expandafter\let
\csname#1\expandafter\endcsname
@@ -7881,21 +8011,22 @@ end
\closein 1
\endgroup % end raw TeX
\endgroup}
-}
%
% If they passed de_DE, and txi-de_DE.tex doesn't exist,
% try txi-de.tex.
-%
-\def\documentlanguagetrywithoutunderscore#1_#2\finish{%
+%
+\gdef\documentlanguagetrywithoutunderscore#1_#2\finish{%
\openin 1 txi-#1.tex
\ifeof 1
\errhelp = \nolanghelp
\errmessage{Cannot read language file txi-#1.tex}%
\else
+ \globaldefs = 1 % everything in the txi-LL files needs to persist
\input txi-#1.tex
\fi
\closein 1
}
+}% end of special _ catcode
%
\newhelp\nolanghelp{The given language definition file cannot be found or
is empty. Maybe you need to install it? Putting it in the current
@@ -7904,16 +8035,16 @@ directory should work if nowhere else does.}
% This macro is called from txi-??.tex files; the first argument is the
% \language name to set (without the "\lang@" prefix), the second and
% third args are \{left,right}hyphenmin.
-%
+%
% The language names to pass are determined when the format is built.
% See the etex.log file created at that time, e.g.,
% /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log.
-%
+%
% With TeX Live 2008, etex now includes hyphenation patterns for all
% available languages. This means we can support hyphenation in
% Texinfo, at least to some extent. (This still doesn't solve the
% accented characters problem.)
-%
+%
\catcode`@=11
\def\txisetlanguage#1#2#3{%
% do not set the language if the name is undefined in the current TeX.
@@ -7968,7 +8099,7 @@ directory should work if nowhere else does.}
\setnonasciicharscatcode\active
\lattwochardefs
%
- \else \ifx \declaredencoding \latone
+ \else \ifx \declaredencoding \latone
\setnonasciicharscatcode\active
\latonechardefs
%
@@ -7980,7 +8111,7 @@ directory should work if nowhere else does.}
\setnonasciicharscatcode\active
\utfeightchardefs
%
- \else
+ \else
\message{Unknown document encoding #1, ignoring.}%
%
\fi % utfeight
@@ -7992,7 +8123,7 @@ directory should work if nowhere else does.}
% A message to be logged when using a character that isn't available
% the default font encoding (OT1).
-%
+%
\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}}
% Take account of \c (plain) vs. \, (Texinfo) difference.
@@ -8005,21 +8136,21 @@ directory should work if nowhere else does.}
%
% Latin1 (ISO-8859-1) character definitions.
\def\latonechardefs{%
- \gdef^^a0{~}
+ \gdef^^a0{~}
\gdef^^a1{\exclamdown}
- \gdef^^a2{\missingcharmsg{CENT SIGN}}
+ \gdef^^a2{\missingcharmsg{CENT SIGN}}
\gdef^^a3{{\pounds}}
\gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
\gdef^^a5{\missingcharmsg{YEN SIGN}}
- \gdef^^a6{\missingcharmsg{BROKEN BAR}}
+ \gdef^^a6{\missingcharmsg{BROKEN BAR}}
\gdef^^a7{\S}
- \gdef^^a8{\"{}}
- \gdef^^a9{\copyright}
+ \gdef^^a8{\"{}}
+ \gdef^^a9{\copyright}
\gdef^^aa{\ordf}
\gdef^^ab{\guillemetleft}
\gdef^^ac{$\lnot$}
- \gdef^^ad{\-}
- \gdef^^ae{\registeredsymbol}
+ \gdef^^ad{\-}
+ \gdef^^ae{\registeredsymbol}
\gdef^^af{\={}}
%
\gdef^^b0{\textdegree}
@@ -8046,7 +8177,7 @@ directory should work if nowhere else does.}
\gdef^^c2{\^A}
\gdef^^c3{\~A}
\gdef^^c4{\"A}
- \gdef^^c5{\ringaccent A}
+ \gdef^^c5{\ringaccent A}
\gdef^^c6{\AE}
\gdef^^c7{\cedilla C}
\gdef^^c8{\`E}
@@ -8058,7 +8189,7 @@ directory should work if nowhere else does.}
\gdef^^ce{\^I}
\gdef^^cf{\"I}
%
- \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}}
+ \gdef^^d0{\DH}
\gdef^^d1{\~N}
\gdef^^d2{\`O}
\gdef^^d3{\'O}
@@ -8072,7 +8203,7 @@ directory should work if nowhere else does.}
\gdef^^db{\^U}
\gdef^^dc{\"U}
\gdef^^dd{\'Y}
- \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}}
+ \gdef^^de{\TH}
\gdef^^df{\ss}
%
\gdef^^e0{\`a}
@@ -8092,7 +8223,7 @@ directory should work if nowhere else does.}
\gdef^^ee{\^{\dotless i}}
\gdef^^ef{\"{\dotless i}}
%
- \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}}
+ \gdef^^f0{\dh}
\gdef^^f1{\~n}
\gdef^^f2{\`o}
\gdef^^f3{\'o}
@@ -8106,7 +8237,7 @@ directory should work if nowhere else does.}
\gdef^^fb{\^u}
\gdef^^fc{\"u}
\gdef^^fd{\'y}
- \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}}
+ \gdef^^fe{\th}
\gdef^^ff{\"y}
}
@@ -8178,7 +8309,7 @@ directory should work if nowhere else does.}
\gdef^^ce{\^I}
\gdef^^cf{\v D}
%
- \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}}
+ \gdef^^d0{\DH}
\gdef^^d1{\'N}
\gdef^^d2{\v N}
\gdef^^d3{\'O}
@@ -8187,7 +8318,7 @@ directory should work if nowhere else does.}
\gdef^^d6{\"O}
\gdef^^d7{$\times$}
\gdef^^d8{\v R}
- \gdef^^d9{\ringaccent U}
+ \gdef^^d9{\ringaccent U}
\gdef^^da{\'U}
\gdef^^db{\H U}
\gdef^^dc{\"U}
@@ -8212,7 +8343,7 @@ directory should work if nowhere else does.}
\gdef^^ee{\^\i}
\gdef^^ef{\v d}
%
- \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}}
+ \gdef^^f0{\dh}
\gdef^^f1{\'n}
\gdef^^f2{\v n}
\gdef^^f3{\'o}
@@ -8231,11 +8362,11 @@ directory should work if nowhere else does.}
}
% UTF-8 character definitions.
-%
+%
% This code to support UTF-8 is based on LaTeX's utf8.def, with some
% changes for Texinfo conventions. It is included here under the GPL by
% permission from Frank Mittelbach and the LaTeX team.
-%
+%
\newcount\countUTFx
\newcount\countUTFy
\newcount\countUTFz
@@ -8385,6 +8516,7 @@ directory should work if nowhere else does.}
\DeclareUnicodeCharacter{00CE}{\^I}
\DeclareUnicodeCharacter{00CF}{\"I}
+ \DeclareUnicodeCharacter{00D0}{\DH}
\DeclareUnicodeCharacter{00D1}{\~N}
\DeclareUnicodeCharacter{00D2}{\`O}
\DeclareUnicodeCharacter{00D3}{\'O}
@@ -8397,6 +8529,7 @@ directory should work if nowhere else does.}
\DeclareUnicodeCharacter{00DB}{\^U}
\DeclareUnicodeCharacter{00DC}{\"U}
\DeclareUnicodeCharacter{00DD}{\'Y}
+ \DeclareUnicodeCharacter{00DE}{\TH}
\DeclareUnicodeCharacter{00DF}{\ss}
\DeclareUnicodeCharacter{00E0}{\`a}
@@ -8416,6 +8549,7 @@ directory should work if nowhere else does.}
\DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}
\DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}
+ \DeclareUnicodeCharacter{00F0}{\dh}
\DeclareUnicodeCharacter{00F1}{\~n}
\DeclareUnicodeCharacter{00F2}{\`o}
\DeclareUnicodeCharacter{00F3}{\'o}
@@ -8428,6 +8562,7 @@ directory should work if nowhere else does.}
\DeclareUnicodeCharacter{00FB}{\^u}
\DeclareUnicodeCharacter{00FC}{\"u}
\DeclareUnicodeCharacter{00FD}{\'y}
+ \DeclareUnicodeCharacter{00FE}{\th}
\DeclareUnicodeCharacter{00FF}{\"y}
\DeclareUnicodeCharacter{0100}{\=A}
@@ -8972,6 +9107,9 @@ directory should work if nowhere else does.}
\message{and turning on texinfo input format.}
+% DEL is a comment character, in case @c does not suffice.
+\catcode`\^^? = 14
+
% Define macros to output various characters with catcode for normal text.
\catcode`\"=\other
\catcode`\~=\other
@@ -9081,7 +9219,7 @@ directory should work if nowhere else does.}
% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
% the literal character `\'.
-%
+%
@def@normalturnoffactive{%
@let\=@normalbackslash
@let"=@normaldoublequote
@@ -9137,7 +9275,7 @@ directory should work if nowhere else does.}
@catcode`@`=@active
@markupsetuplqdefault
@markupsetuprqdefault
-
+
@c Local variables:
@c eval: (add-hook 'write-file-hooks 'time-stamp)
@c page-delimiter: "^\\\\message"
diff --git a/libjava/classpath/examples/Makefile.in b/libjava/classpath/examples/Makefile.in
index 19dcf2e24c9..1d5d02fe6b7 100644
--- a/libjava/classpath/examples/Makefile.in
+++ b/libjava/classpath/examples/Makefile.in
@@ -41,6 +41,9 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/lib-ld.m4 \
+ $(top_srcdir)/../../config/lib-link.m4 \
+ $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -59,9 +62,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
diff --git a/libjava/classpath/external/Makefile.in b/libjava/classpath/external/Makefile.in
index b2558cd920e..cd03f679553 100644
--- a/libjava/classpath/external/Makefile.in
+++ b/libjava/classpath/external/Makefile.in
@@ -39,6 +39,9 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/lib-ld.m4 \
+ $(top_srcdir)/../../config/lib-link.m4 \
+ $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
diff --git a/libjava/classpath/external/jsr166/Makefile.in b/libjava/classpath/external/jsr166/Makefile.in
index a4a08182a56..55f05841eb5 100644
--- a/libjava/classpath/external/jsr166/Makefile.in
+++ b/libjava/classpath/external/jsr166/Makefile.in
@@ -39,6 +39,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/lib-ld.m4 \
+ $(top_srcdir)/../../config/lib-link.m4 \
+ $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
diff --git a/libjava/classpath/external/relaxngDatatype/Makefile.in b/libjava/classpath/external/relaxngDatatype/Makefile.in
index 70ecad05be3..41430c160b4 100644
--- a/libjava/classpath/external/relaxngDatatype/Makefile.in
+++ b/libjava/classpath/external/relaxngDatatype/Makefile.in
@@ -39,6 +39,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/lib-ld.m4 \
+ $(top_srcdir)/../../config/lib-link.m4 \
+ $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
diff --git a/libjava/classpath/external/sax/Makefile.in b/libjava/classpath/external/sax/Makefile.in
index 8b09af251c1..774243663c7 100644
--- a/libjava/classpath/external/sax/Makefile.in
+++ b/libjava/classpath/external/sax/Makefile.in
@@ -39,6 +39,9 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/lib-ld.m4 \
+ $(top_srcdir)/../../config/lib-link.m4 \
+ $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
diff --git a/libjava/classpath/external/w3c_dom/Makefile.in b/libjava/classpath/external/w3c_dom/Makefile.in
index 15e2f95d9c4..76daadb2c22 100644
--- a/libjava/classpath/external/w3c_dom/Makefile.in
+++ b/libjava/classpath/external/w3c_dom/Makefile.in
@@ -39,6 +39,9 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/lib-ld.m4 \
+ $(top_srcdir)/../../config/lib-link.m4 \
+ $(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \
@@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
diff --git a/libjava/classpath/gnu/javax/print/CupsIppOperation.java b/libjava/classpath/gnu/javax/print/CupsIppOperation.java
index e9151691124..96744c1f362 100644
--- a/libjava/classpath/gnu/javax/print/CupsIppOperation.java
+++ b/libjava/classpath/gnu/javax/print/CupsIppOperation.java
@@ -1,4 +1,4 @@
-/* CupsIppOperation.java --
+/* CupsIppOperation.java --
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -45,55 +45,55 @@ package gnu.javax.print;
* See: CUPS Implementation of IPP, chapter 3.2
* http://www.cups.org/doc-1.1/ipp.html
*
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
public final class CupsIppOperation
{
/** Get the default destination - since CUPS 1.0 */
- public static final int CUPS_GET_DEFAULT = 0x4001;
-
+ public static final int CUPS_GET_DEFAULT = 0x4001;
+
/** Get all of the available printers - since CUPS 1.0 */
public static final int CUPS_GET_PRINTERS = 0x4002;
-
+
/** Add or modify a printer - since CUPS 1.0 */
public static final int CUPS_ADD_MODIFY_PRINTER = 0x4003;
-
+
/** Delete a printer - since CUPS 1.0 */
public static final int CUPS_DELETE_PRINTER = 0x4004;
-
+
/** Get all of the available printer classes - since CUPS 1.0 */
public static final int CUPS_GET_CLASSES = 0x4005;
-
+
/** Add or modify a printer class - since CUPS 1.0 */
public static final int CUPS_ADD_MODIFY_CLASS = 0x4006;
-
+
/** Delete a printer class - since CUPS 1.0 */
public static final int CUPS_DELETE_CLASS = 0x4007;
-
+
/** Accept jobs on a printer or printer class - since CUPS 1.0 */
public static final int CUPS_ACCEPT_JOBS = 0x4008;
-
+
/** Reject jobs on a printer or printer class - since CUPS 1.0 */
public static final int CUPS_REJECT_JOBS = 0x4009;
-
+
/** Set the default destination - since CUPS 1.0 */
public static final int CUPS_SET_DEFAULT = 0x400A;
-
+
/** Get all of the available PPDs - since CUPS 1.1 */
public static final int CUPS_GET_DEVICES = 0x400B;
-
+
/** Get all of the available PPDs - since CUPS 1.1 */
public static final int CUPS_GET_PPDS = 0x400C;
-
+
/** Move a job to a different printer - since CUPS 1.1 */
public static final int CUPS_MOVE_JOB = 0x400D;
-
-
+
+
private CupsIppOperation()
- {
+ {
// not to be instantiated
}
-
+
}
diff --git a/libjava/classpath/gnu/javax/print/CupsMediaMapping.java b/libjava/classpath/gnu/javax/print/CupsMediaMapping.java
index eaf2d5e54ae..49bd94d6f3d 100644
--- a/libjava/classpath/gnu/javax/print/CupsMediaMapping.java
+++ b/libjava/classpath/gnu/javax/print/CupsMediaMapping.java
@@ -1,4 +1,4 @@
-/* CupsMediaMapping.java --
+/* CupsMediaMapping.java --
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -52,12 +52,12 @@ import javax.print.attribute.standard.MediaSizeName;
* for use of media attribute translation between Java JPS API and
* CUPS.
*
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
public class CupsMediaMapping
{
- // the mapping map
+ // the mapping map
private static final HashMap ippByCups = new HashMap();
/**
@@ -67,11 +67,11 @@ public class CupsMediaMapping
{
ippByCups.put("Postcard", MediaSizeName.JAPANESE_POSTCARD);
ippByCups.put("Statement", MediaSizeName.INVOICE);
-
+
ippByCups.put("Letter", MediaSizeName.NA_LETTER);
ippByCups.put("Executive", MediaSizeName.EXECUTIVE);
ippByCups.put("Legal", MediaSizeName.NA_LEGAL);
-
+
ippByCups.put("A0", MediaSizeName.ISO_A0);
ippByCups.put("A1", MediaSizeName.ISO_A1);
ippByCups.put("A2", MediaSizeName.ISO_A2);
@@ -83,7 +83,7 @@ public class CupsMediaMapping
ippByCups.put("A8", MediaSizeName.ISO_A8);
ippByCups.put("A9", MediaSizeName.ISO_A9);
ippByCups.put("A10", MediaSizeName.ISO_A10);
-
+
ippByCups.put("B0", MediaSizeName.JIS_B0);
ippByCups.put("B1", MediaSizeName.JIS_B1);
ippByCups.put("B2", MediaSizeName.JIS_B2);
@@ -95,7 +95,7 @@ public class CupsMediaMapping
ippByCups.put("B8", MediaSizeName.JIS_B8);
ippByCups.put("B9", MediaSizeName.JIS_B9);
ippByCups.put("B10", MediaSizeName.JIS_B10);
-
+
ippByCups.put("ISOB0", MediaSizeName.ISO_B0);
ippByCups.put("ISOB1", MediaSizeName.ISO_B1);
ippByCups.put("ISOB2", MediaSizeName.ISO_B2);
@@ -118,7 +118,7 @@ public class CupsMediaMapping
ippByCups.put("EnvISOB8", MediaSizeName.ISO_B8);
ippByCups.put("EnvISOB9", MediaSizeName.ISO_B9);
ippByCups.put("EnvISOB10", MediaSizeName.ISO_B10);
-
+
ippByCups.put("C0", MediaSizeName.ISO_C0);
ippByCups.put("C1", MediaSizeName.ISO_C1);
ippByCups.put("C2", MediaSizeName.ISO_C2);
@@ -136,7 +136,7 @@ public class CupsMediaMapping
ippByCups.put("Env12", MediaSizeName.NA_NUMBER_12_ENVELOPE);
ippByCups.put("Env14", MediaSizeName.NA_NUMBER_14_ENVELOPE);
ippByCups.put("c8x10", MediaSizeName.NA_8X10);
-
+
ippByCups.put("EnvDL", MediaSizeName.ISO_DESIGNATED_LONG);
ippByCups.put("DL", MediaSizeName.ISO_DESIGNATED_LONG);
ippByCups.put("EnvC0", MediaSizeName.ISO_C0);
@@ -145,12 +145,12 @@ public class CupsMediaMapping
ippByCups.put("EnvC3", MediaSizeName.ISO_C3);
ippByCups.put("EnvC4", MediaSizeName.ISO_C4);
ippByCups.put("EnvC5", MediaSizeName.ISO_C5);
- ippByCups.put("EnvC6", MediaSizeName.ISO_C6);
+ ippByCups.put("EnvC6", MediaSizeName.ISO_C6);
}
-
+
/**
* Returns the IPP media name of the given cups name.
- *
+ *
* @param cupsName the name in cups
* @return The IPP name if a mapping is known, null otherwise.
*/
@@ -158,10 +158,10 @@ public class CupsMediaMapping
{
return (String) ippByCups.get(cupsName);
}
-
+
/**
* Returns the mapping map for iteration.
- *
+ *
* @return The mapping map as unmodifiable map.
*/
public static final Map getMappingMap()
@@ -169,7 +169,7 @@ public class CupsMediaMapping
return Collections.unmodifiableMap(ippByCups);
}
- private CupsMediaMapping()
+ private CupsMediaMapping()
{
// not to be instantiated
}
diff --git a/libjava/classpath/gnu/javax/print/CupsPrintService.java b/libjava/classpath/gnu/javax/print/CupsPrintService.java
index 4f77523c530..f3bec996c49 100644
--- a/libjava/classpath/gnu/javax/print/CupsPrintService.java
+++ b/libjava/classpath/gnu/javax/print/CupsPrintService.java
@@ -48,9 +48,9 @@ import javax.print.DocFlavor;
import javax.print.attribute.AttributeSet;
/**
- * Implementation of the PrintService/MultiDocPrintService
+ * Implementation of the PrintService/MultiDocPrintService
* interface for Cups printers (supports Cups 1.1 and up)
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
public final class CupsPrintService extends IppMultiDocPrintService
@@ -58,26 +58,26 @@ public final class CupsPrintService extends IppMultiDocPrintService
/**
* Creates a CupsPrintService object.
- *
+ *
* @param uri the URI of the IPP printer.
* @param username the user of this print service.
* @param password the password of the user.
- *
+ *
* @throws IppException if an error during connection occurs.
*/
public CupsPrintService(URI uri, String username, String password)
throws IppException
{
super(uri, username, password);
- }
-
+ }
+
/**
* Overridden for CUPS specific handling of the media attribute.
*/
- protected Object handleSupportedAttributeValuesResponse(IppResponse response,
+ protected Object handleSupportedAttributeValuesResponse(IppResponse response,
Class category)
{
- // TODO Implement different behaviour of cups here - actually the Media
+ // TODO Implement different behaviour of cups here - actually the Media
// printing attribute stuff. For now just use IPP reference implementation.
return super.handleSupportedAttributeValuesResponse(response, category);
}
@@ -89,7 +89,7 @@ public final class CupsPrintService extends IppMultiDocPrintService
{
// TODO Implement media attribute behaviour for cups here
//if (category.equals(Media.class)
-
+
return super.getDefaultAttributeValue(category);
}
diff --git a/libjava/classpath/gnu/javax/print/CupsPrintServiceLookup.java b/libjava/classpath/gnu/javax/print/CupsPrintServiceLookup.java
index 1aa83218a8d..d537c398fa6 100644
--- a/libjava/classpath/gnu/javax/print/CupsPrintServiceLookup.java
+++ b/libjava/classpath/gnu/javax/print/CupsPrintServiceLookup.java
@@ -51,12 +51,12 @@ import javax.print.attribute.AttributeSet;
/**
* The platform default implementation based on CUPS.
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
public class CupsPrintServiceLookup extends PrintServiceLookup
-{
- private CupsServer server;
+{
+ private CupsServer server;
/**
* Default constructor checking security access.
@@ -67,14 +67,14 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
SecurityManager sm = System.getSecurityManager();
if (sm != null)
sm.checkPrintJobAccess();
-
+
// use the localhost cups server
server = new CupsServer(null, null);
}
/**
* This is the printer marked as default in CUPS.
- *
+ *
* @return The default lookup service or
* null if there is no default.
*/
@@ -83,21 +83,21 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
try
{
return server.getDefaultPrinter();
- }
+ }
catch (IppException e)
{
// if discovery fails treat as if there is none
return null;
- }
+ }
}
-
+
/**
* All printers and printer classes of the CUPS server are checked.
* If flavors or attributes are null the constraint is not used.
- *
+ *
* @param flavors the document flavors which have to be supported.
* @param attributes the attributes which have to be supported.
- *
+ *
* @return The multidoc print services of the implementing lookup service
* for the given parameters, or an array of length 0 if none is available.
*/
@@ -105,49 +105,49 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
AttributeSet attributes)
{
ArrayList result = new ArrayList();
- PrintService[] services = getPrintServices();
-
+ PrintService[] services = getPrintServices();
+
for (int i=0; i < services.length; i++)
{
if (checkMultiDocPrintService(flavors, attributes, services[i]))
- result.add(services[i]);
+ result.add(services[i]);
}
-
+
return (MultiDocPrintService[]) result.toArray(
new MultiDocPrintService[result.size()]);
}
/**
* These are all printers and printer classes of the CUPS server.
- *
- * @return All known print services regardless of supported features,
+ *
+ * @return All known print services regardless of supported features,
* or an array of length 0 if none is available.
*/
public PrintService[] getPrintServices()
{
ArrayList result = new ArrayList();
-
+
try
{
result.addAll(server.getAllPrinters());
result.addAll(server.getAllClasses());
}
catch (IppException e)
- {
+ {
// ignore as this method cannot throw exceptions
// if print service discovery fails - bad luck
}
return (PrintService[]) result.toArray(new PrintService[result.size()]);
}
-
-
+
+
/**
* All printers and printer classes of the CUPS server are checked.
* If flavor or attributes are null the constraint is not used.
- *
+ *
* @param flavor the document flavor which has to be supported.
* @param attributes the attributes which have to be supported.
- *
+ *
* @return The print services of the implementing lookup service
* for the given parameters, or an array of length 0 if none is available.
*/
@@ -156,25 +156,25 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
{
ArrayList result = new ArrayList();
PrintService[] services = getPrintServices();
-
+
for (int i=0; i < services.length; i++)
{
if (checkPrintService(flavor, attributes, services[i]))
result.add(services[i]);
}
-
+
return (PrintService[]) result.toArray(new PrintService[result.size()]);
}
-
+
/**
* Checks the given print service - own method so it can be used also
* to check application registered print services from PrintServiceLookup.
- *
+ *
* @param flavor the document flavor which has to be supported.
* @param attributes the attributes which have to be supported.
* @param service the service to check
- *
- * @return true if all constraints match, false
+ *
+ * @return true if all constraints match, false
* otherwise.
*/
public boolean checkPrintService(DocFlavor flavor, AttributeSet attributes,
@@ -185,7 +185,7 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
{
if (attributes == null || attributes.size() == 0)
return allAttributesSupported;
-
+
Attribute[] atts = attributes.toArray();
for (int i = 0; i < atts.length; i++)
{
@@ -197,29 +197,29 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
}
return allAttributesSupported;
}
-
+
return false;
}
-
+
/**
* Checks the given print service - own method so it can be used also
* to check application registered print services from PrintServiceLookup.
- *
+ *
* @param flavors the document flavors which have to be supported.
* @param attributes the attributes which have to be supported.
* @param service the service to check
- *
- * @return true if all constraints match, false
+ *
+ * @return true if all constraints match, false
* otherwise.
*/
- public boolean checkMultiDocPrintService(DocFlavor[] flavors,
+ public boolean checkMultiDocPrintService(DocFlavor[] flavors,
AttributeSet attributes, PrintService service)
- {
+ {
if (service instanceof MultiDocPrintService)
- {
+ {
boolean allFlavorsSupported = true;
boolean allAttributesSupported = true;
-
+
if (flavors == null || flavors.length != 0)
allFlavorsSupported = true;
else
@@ -233,7 +233,7 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
}
}
}
-
+
if (attributes == null || attributes.size() == 0)
allAttributesSupported = true;
else
@@ -249,11 +249,11 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
}
}
}
-
+
if (allAttributesSupported && allFlavorsSupported)
return true;
- }
-
+ }
+
return false;
}
diff --git a/libjava/classpath/gnu/javax/print/CupsServer.java b/libjava/classpath/gnu/javax/print/CupsServer.java
index 0486e69deb0..6dbcfc7325e 100644
--- a/libjava/classpath/gnu/javax/print/CupsServer.java
+++ b/libjava/classpath/gnu/javax/print/CupsServer.java
@@ -1,4 +1,4 @@
-/* CupsServer.java --
+/* CupsServer.java --
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -58,25 +58,25 @@ import java.util.Set;
* compatible server. It mainly consists of its URI and optional
* user and password combination if access is restricted.
*
- * It provides methods for retrival of valid CUPS printer uris
+ * It provides methods for retrival of valid CUPS printer uris
* that are used to construct IppPrintService objects.
*
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
public class CupsServer
{
- /**
+ /**
* The URI of the CUPS server.
* This is something like: http://localhost:631
*/
private transient URI uri;
-
+
/**
* The optional username.
*/
private transient String username;
-
+
/**
* The optional password for the user.
*/
@@ -84,11 +84,11 @@ public class CupsServer
/**
* Creates a CupsServer object which
- * tries to connect to a cups server.
+ * tries to connect to a cups server.
*
* If gnu.javax.print.server is explicitly set, then
* that hostname will be used. Otherwise it will default to localhost.
- *
+ *
* @param username the username
* @param password the password for the username.
*/
@@ -100,13 +100,13 @@ public class CupsServer
this.uri = null;
try
{
- String serv = System.getProperty("gnu.javax.print.server");
- if( serv != null )
- this.uri = new URI("http://"+serv+":631");
+ String serv = System.getProperty("gnu.javax.print.server");
+ if( serv != null )
+ this.uri = new URI("http://"+serv+":631");
}
catch(URISyntaxException use)
{
- throw new RuntimeException("gnu.javax.print.CupsServer value is not a valid hostname.");
+ throw new RuntimeException("gnu.javax.print.CupsServer value is not a valid hostname.");
}
catch(SecurityException se)
{
@@ -114,20 +114,20 @@ public class CupsServer
try
{
- if( this.uri == null )
- this.uri = new URI("http://localhost:631");
+ if( this.uri == null )
+ this.uri = new URI("http://localhost:631");
}
catch (URISyntaxException e)
{
// does not happen
}
}
-
+
/**
* Creates a CupsServer object which
* tries to connect to a running cups server on the
* given URI.
- *
+ *
* @param uri the URI of the server.
* @param username the username
* @param password the password for the username.
@@ -138,75 +138,75 @@ public class CupsServer
this.username = username;
this.password = password;
}
-
+
/**
* Requests the default printer from this CUPS server.
* This is always returned as IppPrintService.
- *
+ *
* @return The default printer.
* @throws IppException if problems during request/response processing occur.
*/
public IppPrintService getDefaultPrinter() throws IppException
- {
+ {
IppResponse response = null;
-
+
try
{
- IppRequest request = new IppRequest(uri, username, password);
- request.setOperationID((short)CupsIppOperation.CUPS_GET_DEFAULT);
- request.setOperationAttributeDefaults();
-
- RequestedAttributes requestedAttrs
+ IppRequest request = new IppRequest(uri, username, password);
+ request.setOperationID((short)CupsIppOperation.CUPS_GET_DEFAULT);
+ request.setOperationAttributeDefaults();
+
+ RequestedAttributes requestedAttrs
= new RequestedAttributes("printer-uri-supported");
request.addOperationAttribute(requestedAttrs);
-
+
response = request.send();
- }
+ }
catch (IOException e)
{
throw new IppException("IOException in IPP request/response.", e);
- }
-
+ }
+
Map printerAttributes = (Map) response.getPrinterAttributes().get(0);
Set uris = (Set) printerAttributes.get(PrinterUriSupported.class);
PrinterUriSupported uri = (PrinterUriSupported) uris.toArray()[0];
-
- IppPrintService service
+
+ IppPrintService service
= new CupsPrintService(uri.getURI(), username, password);
-
+
return service;
}
-
+
/**
* Requests all printers from this CUPS server.
- *
+ *
* @return The list of available printers.
* @throws IppException if problems during request/response processing occur.
*/
public List getAllPrinters() throws IppException
- {
+ {
IppResponse response = null;
-
+
try
{
- IppRequest request = new IppRequest(uri, username, password);
- request.setOperationID((short)CupsIppOperation.CUPS_GET_PRINTERS);
+ IppRequest request = new IppRequest(uri, username, password);
+ request.setOperationID((short)CupsIppOperation.CUPS_GET_PRINTERS);
request.setOperationAttributeDefaults();
-
- RequestedAttributes requestedAttrs
+
+ RequestedAttributes requestedAttrs
= new RequestedAttributes("printer-uri-supported");
request.addOperationAttribute(requestedAttrs);
-
+
response = request.send();
- }
+ }
catch (IOException e)
{
throw new IppException("IOException in IPP request/response.", e);
- }
+ }
List prAttr = response.getPrinterAttributes();
List services = new ArrayList();
-
+
for (int i=0; i < prAttr.size(); i++)
{
Map printerAttributes = (Map) prAttr.get(i);
@@ -224,50 +224,50 @@ public class CupsServer
// do nothing, we only catch the IppException which could be
// thrown during instantiation as single printers may be discovered
// correctly but not usable due to other security restrictions
- }
- }
-
+ }
+ }
+
return services;
}
-
+
/**
* Requests all classes from this CUPS server. Classes in cups are
- * collections of printers. This means jobs directed to a class
+ * collections of printers. This means jobs directed to a class
* are forwarded to the first available printer of the collection.
- *
+ *
* @return The list of available classes.
* @throws IppException if problems during request/response processing occur.
*/
public List getAllClasses() throws IppException
- {
+ {
IppResponse response = null;
-
+
try
{
- IppRequest request = new IppRequest(uri, username, password);
- request.setOperationID((short)CupsIppOperation.CUPS_GET_CLASSES);
+ IppRequest request = new IppRequest(uri, username, password);
+ request.setOperationID((short)CupsIppOperation.CUPS_GET_CLASSES);
request.setOperationAttributeDefaults();
-
- RequestedAttributes requestedAttrs
+
+ RequestedAttributes requestedAttrs
= new RequestedAttributes("printer-uri-supported");
request.addOperationAttribute(requestedAttrs);
-
+
response = request.send();
- }
+ }
catch (IOException e)
{
throw new IppException("IOException in IPP request/response.", e);
- }
-
+ }
+
List prAttr = response.getPrinterAttributes();
- List services = new ArrayList();
-
+ List services = new ArrayList();
+
for (int i=0; i < prAttr.size(); i++)
{
Map printerAttributes = (Map) prAttr.get(i);
Set uris = (Set) printerAttributes.get(PrinterUriSupported.class);
PrinterUriSupported uri = (PrinterUriSupported) uris.toArray()[0];
-
+
try
{
CupsPrintService cups = new CupsPrintService(uri.getURI(),
@@ -279,9 +279,9 @@ public class CupsServer
// do nothing, we only catch the IppException which could be
// thrown during instantiation as single printers may be discovered
// correctly but not usable due to other security restrictions
- }
- }
-
+ }
+ }
+
return services;
}
diff --git a/libjava/classpath/gnu/javax/print/PrintAttributeException.java b/libjava/classpath/gnu/javax/print/PrintAttributeException.java
index 345193d93f7..5bcc59fc97c 100644
--- a/libjava/classpath/gnu/javax/print/PrintAttributeException.java
+++ b/libjava/classpath/gnu/javax/print/PrintAttributeException.java
@@ -1,4 +1,4 @@
-/* PrintAttributeException.java --
+/* PrintAttributeException.java --
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -46,25 +46,25 @@ import javax.print.attribute.Attribute;
* A PrintException further refining the exception
* cause by providing an implementation of the print exception
* interface AttributeException.
- *
+ *
* @see javax.print.PrintException
* @see javax.print.AttributeException
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
-public final class PrintAttributeException extends PrintException
+public final class PrintAttributeException extends PrintException
implements AttributeException
{
private Class[] categories;
private Attribute[] values;
-
+
/**
* Constructs a PrintAttributeException
* with the given unsupported attributes and/or values.
- *
- * @param unsupportedAttributes the unsupported categories,
+ *
+ * @param unsupportedAttributes the unsupported categories,
* may be null.
- * @param unsupportedValues the unsupported attribute values,
+ * @param unsupportedValues the unsupported attribute values,
* may be null.
*/
public PrintAttributeException(Class[] unsupportedAttributes,
@@ -78,11 +78,11 @@ public final class PrintAttributeException extends PrintException
/**
* Constructs a PrintAttributeException
* with the given unsupported attributes and/or values.
- *
+ *
* @param e chained exception
- * @param unsupportedAttributes the unsupported categories,
+ * @param unsupportedAttributes the unsupported categories,
* may be null.
- * @param unsupportedValues the unsupported attribute values,
+ * @param unsupportedValues the unsupported attribute values,
* may be null.
*/
public PrintAttributeException(Exception e,
@@ -96,11 +96,11 @@ public final class PrintAttributeException extends PrintException
/**
* Constructs a PrintAttributeException
* with the given unsupported attributes and/or values.
- *
+ *
* @param s detailed message
- * @param unsupportedAttributes the unsupported categories,
+ * @param unsupportedAttributes the unsupported categories,
* may be null.
- * @param unsupportedValues the unsupported attribute values,
+ * @param unsupportedValues the unsupported attribute values,
* may be null.
*/
public PrintAttributeException(String s,
@@ -114,12 +114,12 @@ public final class PrintAttributeException extends PrintException
/**
* Constructs a PrintAttributeException
* with the given unsupported attributes and/or values.
- *
+ *
* @param s detailed message
* @param e chained exception
- * @param unsupportedAttributes the unsupported categories,
+ * @param unsupportedAttributes the unsupported categories,
* may be null.
- * @param unsupportedValues the unsupported attribute values,
+ * @param unsupportedValues the unsupported attribute values,
* may be null.
*/
public PrintAttributeException(String s, Exception e,
diff --git a/libjava/classpath/gnu/javax/print/PrintFlavorException.java b/libjava/classpath/gnu/javax/print/PrintFlavorException.java
index 1885e9851a1..a9342db961c 100644
--- a/libjava/classpath/gnu/javax/print/PrintFlavorException.java
+++ b/libjava/classpath/gnu/javax/print/PrintFlavorException.java
@@ -1,4 +1,4 @@
-/* PrintFlavorException.java --
+/* PrintFlavorException.java --
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -46,21 +46,21 @@ import javax.print.PrintException;
* A PrintException further refining the exception
* cause by providing an implementation of the print exception
* interface FlavorException.
- *
+ *
* @see javax.print.PrintException
* @see javax.print.FlavorException
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
-public class PrintFlavorException extends PrintException
+public class PrintFlavorException extends PrintException
implements FlavorException
{
private DocFlavor[] flavors;
-
+
/**
* Constructs a PrintFlavorException
* with the given unsupported doc flavor array
- *
+ *
* @param unsupportedFlavors the unsupported document flavors.
*/
public PrintFlavorException(DocFlavor[] unsupportedFlavors)
@@ -72,7 +72,7 @@ public class PrintFlavorException extends PrintException
/**
* Constructs a PrintFlavorException
* with the given unsupported doc flavor array
- *
+ *
* @param e chained exception
* @param unsupportedFlavors the unsupported document flavors.
*/
@@ -85,7 +85,7 @@ public class PrintFlavorException extends PrintException
/**
* Constructs a PrintFlavorException
* with the given unsupported doc flavor array
- *
+ *
* @param s detailed message
* @param unsupportedFlavors the unsupported document flavors.
*/
@@ -98,12 +98,12 @@ public class PrintFlavorException extends PrintException
/**
* Constructs a PrintFlavorException
* with the given unsupported doc flavor array
- *
+ *
* @param s detailed message
* @param e chained exception
* @param unsupportedFlavors the unsupported document flavors.
*/
- public PrintFlavorException(String s, Exception e,
+ public PrintFlavorException(String s, Exception e,
DocFlavor[] unsupportedFlavors)
{
super(s, e);
diff --git a/libjava/classpath/gnu/javax/print/PrintUriException.java b/libjava/classpath/gnu/javax/print/PrintUriException.java
index d031000cadb..9c13c132a50 100644
--- a/libjava/classpath/gnu/javax/print/PrintUriException.java
+++ b/libjava/classpath/gnu/javax/print/PrintUriException.java
@@ -1,4 +1,4 @@
-/* PrintUriException.java --
+/* PrintUriException.java --
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -47,13 +47,13 @@ import javax.print.URIException;
* A PrintException further refining the exception
* cause by providing an implementation of the print exception
* interface URIException.
- *
+ *
* @see javax.print.PrintException
* @see javax.print.URIException
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
-public final class PrintUriException extends PrintException
+public final class PrintUriException extends PrintException
implements URIException
{
private int reason;
@@ -65,20 +65,20 @@ public final class PrintUriException extends PrintException
*
* @param reason the reason for the exception.
* @param unsupportedUri the URI which is unsupported.
- *
+ *
* @see URIException
*/
public PrintUriException(int reason, URI unsupportedUri)
{
super();
this.reason = reason;
- uri = unsupportedUri;
+ uri = unsupportedUri;
}
/**
* Constructs a PrintUriException with the given reason
* and unsupported URI instance.
- *
+ *
* @param e chained exception
* @param reason the reason for the exception.
* @param unsupportedUri the URI which is unsupported.
@@ -87,13 +87,13 @@ public final class PrintUriException extends PrintException
{
super(e);
this.reason = reason;
- uri = unsupportedUri;
+ uri = unsupportedUri;
}
/**
* Constructs a PrintUriException with the given reason
* and unsupported URI instance.
- *
+ *
* @param s detailed message
* @param reason the reason for the exception.
* @param unsupportedUri the URI which is unsupported.
@@ -102,24 +102,24 @@ public final class PrintUriException extends PrintException
{
super(s);
this.reason = reason;
- uri = unsupportedUri;
+ uri = unsupportedUri;
}
/**
* Constructs a PrintUriException with the given reason
* and unsupported URI instance.
- *
+ *
* @param s detailed message
* @param e chained exception
* @param reason the reason for the exception.
* @param unsupportedUri the URI which is unsupported.
*/
- public PrintUriException(String s, Exception e,
+ public PrintUriException(String s, Exception e,
int reason, URI unsupportedUri)
{
super(s, e);
this.reason = reason;
- uri = unsupportedUri;
+ uri = unsupportedUri;
}
/**
diff --git a/libjava/classpath/gnu/javax/print/PrinterDialog.java b/libjava/classpath/gnu/javax/print/PrinterDialog.java
index 54d6b87b47c..6557baf4f81 100644
--- a/libjava/classpath/gnu/javax/print/PrinterDialog.java
+++ b/libjava/classpath/gnu/javax/print/PrinterDialog.java
@@ -98,12 +98,12 @@ import javax.swing.event.ChangeListener;
* Implementation of the PrinterDialog used by
* {@link javax.print.ServiceUI} for visual selection
* of print services and its attributes.
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
public final class PrinterDialog extends JDialog implements ActionListener
{
-
+
/**
* The General Panel used in the printing dialog.
* @author Wolfgang Baer (WBaer@gmx.de)
@@ -114,57 +114,57 @@ public final class PrinterDialog extends JDialog implements ActionListener
* Handles the copies attribute.
* @author Wolfgang Baer (WBaer@gmx.de)
*/
- final class CopiesAndSorted extends JPanel
+ final class CopiesAndSorted extends JPanel
implements ChangeListener, ActionListener
- {
- private JCheckBox sort;
+ {
+ private JCheckBox sort;
private JSpinner copies;
private JLabel copies_lb;
private SpinnerNumberModel copiesModel;
-
+
CopiesAndSorted()
{
- copies_lb = new JLabel(getLocalizedString("lb.copies"));
+ copies_lb = new JLabel(getLocalizedString("lb.copies"));
sort = new JCheckBox(getLocalizedString("cb.sort"));
sort.addActionListener(this);
-
+
copiesModel = new SpinnerNumberModel(1, 1, 9999, 1);
copies = new JSpinner(copiesModel);
copies.addChangeListener(this);
-
+
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.BOTH;
c.insets = new Insets(5, 5, 5, 5);
-
+
setLayout(layout);
setBorder(new TitledBorder(getLocalizedString("title.copies")));
-
+
c.anchor = GridBagConstraints.WEST;
-
+
c.gridx = 0;
c.gridy = 0;
add(copies_lb, c);
-
+
c.gridx = 1;
c.gridy = 0;
add(copies, c);
-
+
c.gridx = 0;
c.gridy = 1;
add(sort, c);
}
-
+
// copies jspinner state
public void stateChanged(ChangeEvent event)
{
int value = ((Integer) copies.getValue()).intValue();
atts.add(new Copies(value));
-
+
if (value > 1 && categorySupported(SheetCollate.class))
sort.setEnabled(true);
else
- sort.setEnabled(false);
+ sort.setEnabled(false);
}
// sorted checkbox state
@@ -180,30 +180,30 @@ public final class PrinterDialog extends JDialog implements ActionListener
* selected attributes are supported.
*/
void updateForSelectedService()
- {
+ {
if (categorySupported(Copies.class))
{
copies.setEnabled(true);
copies_lb.setEnabled(true);
-
+
Copies copies = (Copies) attribute(Copies.class);
if (copies != null)
copiesModel.setValue(new Integer(copies.getValue()));
-
- if (((Integer)copiesModel.getValue()).intValue() > 1
+
+ if (((Integer)copiesModel.getValue()).intValue() > 1
&& categorySupported(SheetCollate.class))
{
sort.setEnabled(true);
Attribute collate = attribute(SheetCollate.class);
if (collate != null && collate.equals(SheetCollate.COLLATED))
- sort.setSelected(true);
+ sort.setSelected(true);
}
else
sort.setEnabled(false);
}
else
{
- copies.setEnabled(false);
+ copies.setEnabled(false);
copies_lb.setEnabled(false);
}
}
@@ -213,18 +213,18 @@ public final class PrinterDialog extends JDialog implements ActionListener
* Handles the print ranges attribute.
* @author Wolfgang Baer (WBaer@gmx.de)
*/
- final class PrintRange extends JPanel
+ final class PrintRange extends JPanel
implements ActionListener, FocusListener
- {
- private JLabel to;
- private JRadioButton all_rb, pages_rb;
+ {
+ private JLabel to;
+ private JRadioButton all_rb, pages_rb;
private JTextField from_tf, to_tf;
-
+
PrintRange()
- {
+ {
to = new JLabel(getLocalizedString("lb.to"));
to.setEnabled(false);
-
+
all_rb = new JRadioButton(getLocalizedString("rbt.all"));
all_rb.setSelected(true);
all_rb.setActionCommand("ALL");
@@ -233,86 +233,86 @@ public final class PrinterDialog extends JDialog implements ActionListener
pages_rb.setActionCommand("PAGES");
pages_rb.setEnabled(false);
pages_rb.addActionListener(this);
-
+
ButtonGroup group = new ButtonGroup();
group.add(all_rb);
group.add(pages_rb);
-
+
from_tf = new JTextField("1", 4);
from_tf.setEnabled(false);
from_tf.addFocusListener(this);
to_tf = new JTextField("1", 4);
to_tf.setEnabled(false);
to_tf.addFocusListener(this);
-
+
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.BOTH;
-
+
setLayout(layout);
setBorder(new TitledBorder(getLocalizedString("title.printrange")));
-
+
c.insets = new Insets(15, 5, 5, 5);
c.gridx = 0;
c.gridy = 0;
add(all_rb, c);
-
+
c.insets = new Insets(5, 5, 15, 5);
c.gridx = 0;
c.gridy = 1;
add(pages_rb, c);
-
+
c.gridx = 1;
c.gridy = 1;
add(from_tf, c);
-
+
c.gridx = 2;
c.gridy = 1;
add(to, c);
-
+
c.insets = new Insets(5, 5, 15, 15);
c.gridx = 3;
c.gridy = 1;
add(to_tf, c);
}
-
+
// focus pagerange
public void focusGained(FocusEvent event)
{
updatePageRanges();
}
-
+
public void focusLost(FocusEvent event)
{
updatePageRanges();
}
-
+
// updates the range after user changed it
private void updatePageRanges()
{
int lower = Integer.parseInt(from_tf.getText());
int upper = Integer.parseInt(to_tf.getText());
-
+
if (lower > upper)
{
upper = lower;
- to_tf.setText("" + lower);
+ to_tf.setText("" + lower);
}
-
+
PageRanges range = new PageRanges(lower, upper);
atts.add(range);
}
// page range change
public void actionPerformed(ActionEvent e)
- {
+ {
// if ALL is selected we must use a full-range object
if (e.getActionCommand().equals("ALL"))
{
from_tf.setEnabled(false);
to.setEnabled(false);
to_tf.setEnabled(false);
-
+
atts.add(new PageRanges(1, Integer.MAX_VALUE));
}
else
@@ -321,9 +321,9 @@ public final class PrinterDialog extends JDialog implements ActionListener
to.setEnabled(true);
to_tf.setEnabled(true);
all_rb.setSelected(false);
- }
+ }
}
-
+
/**
* Called to update for new selected
* print service. Tests if currently
@@ -339,12 +339,12 @@ public final class PrinterDialog extends JDialog implements ActionListener
{
from_tf.setEnabled(true);
to.setEnabled(true);
- to_tf.setEnabled(true);
+ to_tf.setEnabled(true);
all_rb.setSelected(false);
pages_rb.setSelected(true);
-
+
int[][] members = range.getMembers();
- // Although passed in attributes may contain more than one
+ // Although passed in attributes may contain more than one
// range we only take the first one
from_tf.setText("" + members[0][0]);
to_tf.setText("" + members[0][1]);
@@ -365,15 +365,15 @@ public final class PrinterDialog extends JDialog implements ActionListener
* and its location and description attributes.
* @author Wolfgang Baer (WBaer@gmx.de)
*/
- final class PrintServices extends JPanel
+ final class PrintServices extends JPanel
implements ActionListener
- {
+ {
private JLabel name, status, typ, info;
- private JLabel statusValue, typValue, infoValue;
- private JButton attributes;
- private JComboBox services_cob;
+ private JLabel statusValue, typValue, infoValue;
+ private JButton attributes;
+ private JComboBox services_cob;
private JCheckBox fileRedirection_cb;
-
+
PrintServices()
{
name = new JLabel(getLocalizedString("lb.name"));
@@ -383,79 +383,79 @@ public final class PrinterDialog extends JDialog implements ActionListener
typValue = new JLabel();
infoValue = new JLabel();
statusValue = new JLabel();
-
+
attributes = new JButton(getLocalizedString("bt.attributes"));
attributes.setEnabled(false);
attributes.setActionCommand("ATTRIBUTES");
attributes.addActionListener(this);
-
+
services_cob = new JComboBox(getPrintServices());
services_cob.setActionCommand("SERVICE");
services_cob.addActionListener(this);
-
+
fileRedirection_cb = new JCheckBox(getLocalizedString("cb.output"));
fileRedirection_cb.setEnabled(false);
-
+
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
-
+
setLayout(layout);
setBorder(new TitledBorder(getLocalizedString("title.printservice")));
-
+
c.insets = new Insets(5, 5, 5, 5);
c.anchor = GridBagConstraints.LINE_END;
c.gridx = 0;
c.gridy = 0;
add(name, c);
-
+
c.gridx = 0;
c.gridy = 1;
add(status, c);
-
+
c.gridx = 0;
c.gridy = 2;
add(typ, c);
-
+
c.gridx = 0;
c.gridy = 3;
add(info, c);
-
+
c.gridx = 2;
c.gridy = 3;
c.weightx = 1;
add(fileRedirection_cb, c);
-
+
c.anchor = GridBagConstraints.LINE_START;
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 1;
c.gridy = 0;
c.weightx = 1.5;
add(services_cob, c);
-
+
c.gridx = 1;
c.gridy = 1;
c.gridwidth = 2;
c.weightx = 1;
add(statusValue, c);
-
+
c.gridx = 1;
c.gridy = 2;
c.gridwidth = 2;
c.weightx = 1;
add(typValue, c);
-
+
c.gridx = 1;
c.gridy = 3;
c.gridwidth = 2;
c.weightx = 1;
add(infoValue, c);
-
+
c.gridx = 2;
c.gridy = 0;
c.weightx = 1.5;
add(attributes, c);
}
-
+
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("SERVICE"))
@@ -465,13 +465,13 @@ public final class PrinterDialog extends JDialog implements ActionListener
}
else if (e.getActionCommand().equals("ATTRIBUTES"))
{
- // TODO LowPriority-Enhancement: As tests have shown this button
+ // TODO LowPriority-Enhancement: As tests have shown this button
// is even gray and not enabled under Windows - Its a good place
- // to provide a classpath specific browsing dialog for all
- // attributes not in the default printing dialog.
+ // to provide a classpath specific browsing dialog for all
+ // attributes not in the default printing dialog.
}
- }
-
+ }
+
/**
* Called to update for new selected
* print service. Tests if currently
@@ -482,30 +482,30 @@ public final class PrinterDialog extends JDialog implements ActionListener
PrinterMakeAndModel att1 =
getSelectedPrintService().getAttribute(PrinterMakeAndModel.class);
typValue.setText(att1 == null ? "" : att1.getValue());
-
- PrinterInfo att2 =
+
+ PrinterInfo att2 =
getSelectedPrintService().getAttribute(PrinterInfo.class);
infoValue.setText(att2 == null ? "" : att2.getValue());
-
+
PrinterIsAcceptingJobs att3 =
getSelectedPrintService().getAttribute(PrinterIsAcceptingJobs.class);
PrinterState att4 =
getSelectedPrintService().getAttribute(PrinterState.class);
-
- String status = att4.toString();
+
+ String status = att4.toString();
if (att3 == PrinterIsAcceptingJobs.ACCEPTING_JOBS)
status += " - " + getLocalizedString("lb.acceptingjobs");
else if (att3 == PrinterIsAcceptingJobs.NOT_ACCEPTING_JOBS)
status += " - " + getLocalizedString("lb.notacceptingjobs");
-
+
statusValue.setText(status);
-
+
if (categorySupported(Destination.class))
{
fileRedirection_cb.setEnabled(false);
}
}
-
+
}
private PrintServices printserv_panel;
@@ -516,7 +516,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
* Constructs the General Panel.
*/
public GeneralPanel()
- {
+ {
setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
printserv_panel = new PrintServices();
@@ -534,7 +534,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
add(Box.createRigidArea(new Dimension(0, 12)));
add(layout_panel);
}
-
+
/**
* Calls update on all internal panels to adjust
* for a new selected print service.
@@ -560,7 +560,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
final class Orientation extends JPanel implements ActionListener
{
private JRadioButton portrait, landscape, rev_portrait, rev_landscape;
-
+
Orientation()
{
portrait = new JRadioButton(getLocalizedString("rbt.portrait"));
@@ -571,38 +571,38 @@ public final class PrinterDialog extends JDialog implements ActionListener
rev_portrait.addActionListener(this);
rev_landscape = new JRadioButton(getLocalizedString("rbt.revlandscape"));
rev_landscape.addActionListener(this);
-
+
ButtonGroup group = new ButtonGroup();
group.add(portrait);
group.add(landscape);
group.add(rev_portrait);
group.add(rev_landscape);
-
+
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.BOTH;
-
+
setLayout(layout);
setBorder(new TitledBorder(getLocalizedString("title.orientation")));
-
+
c.insets = new Insets(5, 5, 5, 5);
c.gridx = 0;
c.gridy = 0;
add(portrait, c);
-
+
c.gridx = 0;
c.gridy = 1;
add(landscape, c);
-
+
c.gridx = 0;
c.gridy = 2;
add(rev_portrait, c);
-
+
c.gridx = 0;
c.gridy = 3;
add(rev_landscape, c);
}
-
+
// event handling orientation
public void actionPerformed(ActionEvent e)
{
@@ -613,9 +613,9 @@ public final class PrinterDialog extends JDialog implements ActionListener
else if (e.getSource() == rev_portrait)
atts.add(OrientationRequested.REVERSE_PORTRAIT);
else
- atts.add(OrientationRequested.REVERSE_LANDSCAPE);
+ atts.add(OrientationRequested.REVERSE_LANDSCAPE);
}
-
+
/**
* Called to update for new selected
* print service. Tests if currently
@@ -629,7 +629,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
landscape.setEnabled(true);
rev_landscape.setEnabled(true);
rev_portrait.setEnabled(true);
-
+
Attribute orientation = attribute(OrientationRequested.class);
if (orientation != null)
{
@@ -639,7 +639,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
portrait.setSelected(true);
else if (orientation.equals(OrientationRequested.REVERSE_PORTRAIT))
rev_portrait.setSelected(true);
- else
+ else
rev_landscape.setSelected(true);
}
else
@@ -651,7 +651,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
portrait.setSelected(true);
else if (defaultValue.equals(OrientationRequested.REVERSE_PORTRAIT))
rev_portrait.setSelected(true);
- else
+ else
rev_landscape.setSelected(true);
}
}
@@ -661,7 +661,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
landscape.setEnabled(false);
rev_landscape.setEnabled(false);
rev_portrait.setEnabled(false);
- }
+ }
}
}
@@ -673,84 +673,84 @@ public final class PrinterDialog extends JDialog implements ActionListener
{
private JLabel size_lb, source_lb;
private JComboBox size, source;
-
+
MediaTypes()
{
size_lb = new JLabel(getLocalizedString("lb.size"));
source_lb = new JLabel(getLocalizedString("lb.source"));
-
+
size = new JComboBox();
size.setEditable(false);
size.addActionListener(this);
source = new JComboBox();
source.setEditable(false);
size.addActionListener(this);
-
+
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
-
+
setLayout(layout);
setBorder(new TitledBorder(getLocalizedString("title.medias")));
-
+
c.insets = new Insets(5, 5, 5, 5);
c.anchor = GridBagConstraints.LINE_END;
c.gridx = 0;
c.gridy = 0;
add(size_lb, c);
-
+
c.gridx = 0;
c.gridy = 1;
add(source_lb, c);
-
+
c.anchor = GridBagConstraints.LINE_START;
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 1;
c.gridy = 0;
c.weightx = 1.5;
add(size, c);
-
+
c.gridx = 1;
c.gridy = 1;
c.weightx = 1.5;
add(source, c);
}
-
+
public void actionPerformed(ActionEvent event)
- {
+ {
if (event.getSource() == size)
{
Object obj = size.getSelectedItem();
if (obj instanceof Media)
- atts.add((Media) obj);
+ atts.add((Media) obj);
}
-
+
// we ignore source events currently
- // as only the automatic selection is used.
+ // as only the automatic selection is used.
}
-
+
/**
* Called to update for new selected
* print service. Tests if currently
* selected attributes are supported.
*/
void updateForSelectedService()
- {
+ {
if (categorySupported(Media.class))
{
Media[] medias = (Media[]) getSelectedPrintService()
.getSupportedAttributeValues(Media.class, flavor, null);
-
+
size.removeAllItems();
if (medias.length == 0)
- size.addItem(getLocalizedString("lb.automatically"));
+ size.addItem(getLocalizedString("lb.automatically"));
else
for (int i=0; i < medias.length; i++)
size.addItem(medias[i]);
-
+
Media media = (Media) attribute(Media.class);
if (media != null)
size.setSelectedItem(media);
-
+
// this is currently ignored
source.removeAllItems();
source.addItem(getLocalizedString("lb.automatically"));
@@ -759,7 +759,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
{
size.removeAllItems();
source.removeAllItems();
-
+
size.addItem(getLocalizedString("lb.automatically"));
source.addItem(getLocalizedString("lb.automatically"));
}
@@ -774,14 +774,14 @@ public final class PrinterDialog extends JDialog implements ActionListener
{
private JLabel left, right, top, bottom;
private JTextField left_tf, right_tf, top_tf, bottom_tf;
-
+
Margins()
{
left = new JLabel(getLocalizedString("lb.left"));
right = new JLabel(getLocalizedString("lb.right"));
top = new JLabel(getLocalizedString("lb.top"));
bottom = new JLabel(getLocalizedString("lb.bottom"));
-
+
left_tf = new JTextField(7);
left_tf.addFocusListener(this);
right_tf = new JTextField(7);
@@ -790,67 +790,67 @@ public final class PrinterDialog extends JDialog implements ActionListener
top_tf.addFocusListener(this);
bottom_tf = new JTextField(7);
bottom_tf.addFocusListener(this);
-
+
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
-
+
setLayout(layout);
setBorder(new TitledBorder(getLocalizedString("title.margins")));
-
+
c.insets = new Insets(5, 5, 5, 5);
c.gridx = 0;
c.gridy = 0;
add(left, c);
-
+
c.gridx = 1;
c.gridy = 0;
add(right, c);
-
+
c.insets = new Insets(5, 5, 5, 5);
c.gridx = 0;
c.gridy = 1;
add(left_tf, c);
-
+
c.gridx = 1;
c.gridy = 1;
add(right_tf, c);
-
+
c.insets = new Insets(10, 5, 5, 5);
c.gridx = 0;
c.gridy = 2;
add(top, c);
-
+
c.gridx = 1;
c.gridy = 2;
add(bottom, c);
-
+
c.insets = new Insets(0, 5, 5, 5);
c.gridx = 0;
c.gridy = 3;
add(top_tf, c);
-
+
c.gridx = 1;
c.gridy = 3;
add(bottom_tf, c);
}
-
+
public void focusGained(FocusEvent event)
{
updateMargins();
}
-
+
public void focusLost(FocusEvent event)
{
updateMargins();
}
-
+
// updates the margins after user changed it
private void updateMargins()
{
// We currently do not support this attribute
// as it is not in the IPP spec and therefore not in CUPS
}
-
+
/**
* Called to update for new selected
* print service. Tests if currently
@@ -867,7 +867,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
left_tf.setEnabled(true);
right_tf.setEnabled(true);
top_tf.setEnabled(true);
- bottom_tf.setEnabled(true);
+ bottom_tf.setEnabled(true);
}
else
{
@@ -878,8 +878,8 @@ public final class PrinterDialog extends JDialog implements ActionListener
left_tf.setEnabled(false);
right_tf.setEnabled(false);
top_tf.setEnabled(false);
- bottom_tf.setEnabled(false);
- }
+ bottom_tf.setEnabled(false);
+ }
}
}
@@ -887,8 +887,8 @@ public final class PrinterDialog extends JDialog implements ActionListener
private Orientation orientation_panel;
private Margins margins_panel;
- /**
- * Constructs the page setup user interface.
+ /**
+ * Constructs the page setup user interface.
*/
public PageSetupPanel()
{
@@ -909,7 +909,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
add(Box.createRigidArea(new Dimension(0, 12)));
add(layout_panel);
}
-
+
/**
* Calls update on all internal panels to adjust
* for a new selected print service.
@@ -936,7 +936,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
{
private JRadioButton low, normal, high;
private ButtonGroup group;
-
+
Quality()
{
low = new JRadioButton(getLocalizedString("rbt.low"));
@@ -945,33 +945,33 @@ public final class PrinterDialog extends JDialog implements ActionListener
normal.addActionListener(this);
high = new JRadioButton(getLocalizedString("rbt.high"));
high.addActionListener(this);
-
+
group = new ButtonGroup();
group.add(low);
group.add(normal);
group.add(high);
-
+
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
-
+
setLayout(layout);
setBorder(new TitledBorder(getLocalizedString("title.quality")));
-
+
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(5, 5, 5, 5);
c.gridx = 0;
c.gridy = 0;
add(low, c);
-
+
c.gridx = 0;
c.gridy = 1;
add(normal, c);
-
+
c.gridx = 0;
c.gridy = 2;
add(high, c);
}
-
+
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == low)
@@ -979,9 +979,9 @@ public final class PrinterDialog extends JDialog implements ActionListener
else if (e.getSource() == normal)
atts.add(PrintQuality.NORMAL);
else
- atts.add(PrintQuality.HIGH);
+ atts.add(PrintQuality.HIGH);
}
-
+
/**
* Called to update for new selected
* print service. Tests if currently
@@ -994,17 +994,17 @@ public final class PrinterDialog extends JDialog implements ActionListener
low.setEnabled(true);
normal.setEnabled(true);
high.setEnabled(true);
-
- Object defaultValue = defaultValue(PrintQuality.class);
+
+ Object defaultValue = defaultValue(PrintQuality.class);
Attribute quality = attribute(PrintQuality.class);
-
+
if (quality != null)
{
if (quality.equals(PrintQuality.DRAFT))
low.setSelected(true);
else if (quality.equals(PrintQuality.NORMAL))
normal.setSelected(true);
- else
+ else
high.setSelected(true);
}
else
@@ -1013,81 +1013,81 @@ public final class PrinterDialog extends JDialog implements ActionListener
low.setSelected(true);
else if (defaultValue.equals(PrintQuality.NORMAL))
normal.setSelected(true);
- else
+ else
high.setSelected(true);
- }
+ }
}
else
{
low.setEnabled(false);
normal.setEnabled(false);
high.setEnabled(false);
- }
+ }
}
}
-
+
/**
* Handles the job attributes as requesting username, jobname etc.
* @author Wolfgang Baer (WBaer@gmx.de)
*/
final class JobAttributes extends JPanel
implements ActionListener, ChangeListener, FocusListener
- {
- private JLabel jobname, username, priority_lb;
- private JTextField jobname_tf, username_tf;
- private JCheckBox cover;
+ {
+ private JLabel jobname, username, priority_lb;
+ private JTextField jobname_tf, username_tf;
+ private JCheckBox cover;
private JSpinner priority;
private SpinnerNumberModel model;
-
+
JobAttributes()
{
jobname = new JLabel(getLocalizedString("lb.jobname"));
username = new JLabel(getLocalizedString("lb.username"));
priority_lb = new JLabel(getLocalizedString("lb.priority"));
-
+
cover = new JCheckBox(getLocalizedString("cb.cover"));
cover.addActionListener(this);
-
+
model = new SpinnerNumberModel(1, 1, 100, 1);
priority = new JSpinner(model);
priority.addChangeListener(this);
-
+
jobname_tf = new JTextField();
jobname_tf.addFocusListener(this);
username_tf = new JTextField();
username_tf.addFocusListener(this);
-
+
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
-
+
setLayout(layout);
setBorder(new TitledBorder(getLocalizedString("title.jobattributes")));
-
+
c.insets = new Insets(10, 5, 10, 5);
c.gridx = 0;
c.gridy = 0;
add(cover, c);
-
+
c.anchor = GridBagConstraints.LINE_END;
c.gridx = 1;
c.gridy = 0;
c.weightx = 2;
add(priority_lb, c);
-
+
c.gridx = 2;
c.gridy = 0;
c.weightx = 0.5;
add(priority, c);
-
+
c.anchor = GridBagConstraints.LINE_END;
c.gridx = 0;
c.gridy = 1;
add(jobname, c);
-
+
c.gridx = 0;
c.gridy = 2;
add(username, c);
-
+
c.anchor = GridBagConstraints.CENTER;
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 1;
@@ -1095,13 +1095,13 @@ public final class PrinterDialog extends JDialog implements ActionListener
c.gridwidth = 2;
c.weightx = 1.5;
add(jobname_tf, c);
-
+
c.insets = new Insets(10, 5, 15, 5);
c.gridx = 1;
c.gridy = 2;
add(username_tf, c);
}
-
+
public void actionPerformed(ActionEvent event)
{
if (cover.isSelected())
@@ -1109,23 +1109,23 @@ public final class PrinterDialog extends JDialog implements ActionListener
else
atts.add(JobSheets.NONE);
}
-
+
public void stateChanged(ChangeEvent event)
{
int value = ((Integer) priority.getValue()).intValue();
- atts.add(new JobPriority(value));
+ atts.add(new JobPriority(value));
}
-
+
public void focusGained(FocusEvent event)
- {
+ {
updateTextfields(event);
}
-
+
public void focusLost(FocusEvent event)
{
updateTextfields(event);
}
-
+
private void updateTextfields(FocusEvent event)
{
if (event.getSource() == jobname_tf)
@@ -1141,59 +1141,59 @@ public final class PrinterDialog extends JDialog implements ActionListener
*/
void updateForSelectedService()
{
- // JobPriority
+ // JobPriority
if (categorySupported(JobPriority.class))
{
JobPriority prio = (JobPriority) attribute(JobPriority.class);
- JobPriority value = (JobPriority) defaultValue(JobPriority.class);
+ JobPriority value = (JobPriority) defaultValue(JobPriority.class);
priority.setEnabled(true);
if (prio != null)
model.setValue(new Integer(prio.getValue()));
else
model.setValue(new Integer(value.getValue()));
- }
+ }
else
- priority.setEnabled(false);
-
+ priority.setEnabled(false);
+
// Requesting username
if (categorySupported(RequestingUserName.class))
{
Attribute user = attribute(RequestingUserName.class);
Object value = defaultValue(RequestingUserName.class);
- username.setEnabled(true);
+ username.setEnabled(true);
if (user != null)
username_tf.setText(user.toString());
else
username_tf.setText(value.toString());
}
else
- username.setEnabled(false);
-
+ username.setEnabled(false);
+
// Job Name
if (categorySupported(JobName.class))
{
Attribute job = attribute(JobName.class);
Object value = defaultValue(JobName.class);
- jobname.setEnabled(true);
+ jobname.setEnabled(true);
if (job != null)
jobname_tf.setText(job.toString());
else
jobname_tf.setText(value.toString());
}
else
- jobname.setEnabled(false);
-
+ jobname.setEnabled(false);
+
// Job sheets
if (categorySupported(JobSheets.class))
{
Attribute sheet = attribute(JobSheets.class);
Object value = defaultValue(JobSheets.class);
- cover.setEnabled(true);
+ cover.setEnabled(true);
if (sheet != null)
{
if (sheet.equals(JobSheets.NONE))
cover.setSelected(false);
- else
+ else
cover.setSelected(true);
}
else
@@ -1205,53 +1205,53 @@ public final class PrinterDialog extends JDialog implements ActionListener
}
}
else
- cover.setEnabled(false);
+ cover.setEnabled(false);
}
}
-
+
/**
* Handles the sides attributes.
* @author Wolfgang Baer (WBaer@gmx.de)
*/
final class SidesPanel extends JPanel implements ActionListener
- {
+ {
private JRadioButton oneside, calendar, duplex;
-
+
SidesPanel()
- {
+ {
oneside = new JRadioButton(getLocalizedString("rbt.onesided"));
oneside.addActionListener(this);
calendar = new JRadioButton(getLocalizedString("rbt.calendar"));
calendar.addActionListener(this);
duplex = new JRadioButton(getLocalizedString("rbt.duplex"));
duplex.addActionListener(this);
-
+
ButtonGroup group = new ButtonGroup();
group.add(oneside);
group.add(calendar);
group.add(duplex);
-
+
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.BOTH;
-
+
setLayout(layout);
setBorder(new TitledBorder(getLocalizedString("title.sides")));
-
+
c.insets = new Insets(5, 5, 5, 5);
c.gridx = 0;
c.gridy = 0;
add(oneside, c);
-
+
c.gridx = 0;
c.gridy = 1;
add(calendar, c);
-
+
c.gridx = 0;
c.gridy = 2;
add(duplex, c);
}
-
+
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == calendar)
@@ -1261,7 +1261,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
else
atts.add(Sides.TWO_SIDED_LONG_EDGE);
}
-
+
/**
* Called to update for new selected
* print service. Tests if currently
@@ -1274,8 +1274,8 @@ public final class PrinterDialog extends JDialog implements ActionListener
oneside.setEnabled(true);
calendar.setEnabled(true);
duplex.setEnabled(true);
-
- Object defaultValue = defaultValue(Sides.class);
+
+ Object defaultValue = defaultValue(Sides.class);
Attribute sides = attribute(Sides.class);
if (sides != null)
{
@@ -1297,14 +1297,14 @@ public final class PrinterDialog extends JDialog implements ActionListener
}
}
else
- {
+ {
oneside.setEnabled(false);
calendar.setEnabled(false);
duplex.setEnabled(false);
- }
+ }
}
}
-
+
/**
* Handles the chromaticity attributes.
* @author Wolfgang Baer (WBaer@gmx.de)
@@ -1312,43 +1312,43 @@ public final class PrinterDialog extends JDialog implements ActionListener
final class Color extends JPanel implements ActionListener
{
private JRadioButton bw, color;
-
+
Color()
{
bw = new JRadioButton(getLocalizedString("rbt.blackwhite"));
bw.addActionListener(this);
color = new JRadioButton(getLocalizedString("rbt.color"));
color.addActionListener(this);
-
+
ButtonGroup group = new ButtonGroup();
group.add(bw);
group.add(color);
-
+
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
-
+
setLayout(layout);
setBorder(new TitledBorder(getLocalizedString("title.color")));
-
+
c.fill = GridBagConstraints.HORIZONTAL;
c.insets = new Insets(5, 5, 5, 5);
c.gridx = 0;
c.gridy = 0;
add(bw, c);
-
+
c.gridx = 0;
c.gridy = 1;
add(color, c);
}
-
+
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == bw)
- atts.add(Chromaticity.MONOCHROME);
+ atts.add(Chromaticity.MONOCHROME);
else
atts.add(Chromaticity.COLOR);
}
-
+
/**
* Called to update for new selected
* print service. Tests if currently
@@ -1359,68 +1359,68 @@ public final class PrinterDialog extends JDialog implements ActionListener
if (categorySupported(Chromaticity.class))
{
bw.setEnabled(true);
- color.setEnabled(true);
-
- Object defaultValue = defaultValue(Chromaticity.class);
+ color.setEnabled(true);
+
+ Object defaultValue = defaultValue(Chromaticity.class);
Attribute chromaticity = attribute(Chromaticity.class);
if (chromaticity != null)
{
if (chromaticity.equals(Chromaticity.MONOCHROME))
bw.setSelected(true);
- else
+ else
color.setSelected(true);
}
else
{
if (defaultValue.equals(Chromaticity.MONOCHROME))
bw.setSelected(true);
- else
+ else
color.setSelected(true);
}
}
else
- {
+ {
bw.setEnabled(false);
color.setEnabled(false);
}
}
}
-
+
private Quality quality_panel;
private JobAttributes jobAttr_panel;
private SidesPanel sides_panel;
private Color chromaticy_panel;
-
+
/**
* Creates the panel for appearance attributes.
*/
public AppearancePanel()
{
setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
-
+
quality_panel = new Quality();
jobAttr_panel = new JobAttributes();
sides_panel = new SidesPanel();
chromaticy_panel = new Color();
-
+
JPanel layout_panel = new JPanel();
layout_panel.setLayout(new BoxLayout(layout_panel, BoxLayout.LINE_AXIS));
layout_panel.add(chromaticy_panel);
layout_panel.add(Box.createRigidArea(new Dimension(10, 0)));
layout_panel.add(quality_panel);
-
+
JPanel layout2_panel = new JPanel();
layout2_panel.setLayout(new BoxLayout(layout2_panel, BoxLayout.LINE_AXIS));
layout2_panel.add(sides_panel);
layout2_panel.add(Box.createRigidArea(new Dimension(10, 0)));
layout2_panel.add(jobAttr_panel);
-
+
setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
add(layout_panel);
add(Box.createRigidArea(new Dimension(0, 12)));
add(layout2_panel);
}
-
+
/**
* Calls update on all internal panels to adjust
* for a new selected print service.
@@ -1442,47 +1442,47 @@ public final class PrinterDialog extends JDialog implements ActionListener
private GeneralPanel general_panel;
private PageSetupPanel pagesetup_panel;
private AppearancePanel appearance_panel;
-
+
private PrintService[] services;
private PrintService defaultService;
private PrintService selectedService;
private DocFlavor flavor;
private PrintRequestAttributeSet attributes;
-
- private boolean onlyPageDialog;
- private PrintRequestAttributeSet atts;
-
+
+ private boolean onlyPageDialog;
+ private PrintRequestAttributeSet atts;
+
private final static ResourceBundle messages;
static
- {
+ {
messages = ResourceBundle.getBundle("gnu/javax/print/PrinterDialog");
}
-
+
// TODO LowPriority: Include checks so that if a specific value formerly
// selected is no more supported by the new service changes to the default.
-
+
/**
* Class private constructs a printer dialog.
- *
+ *
* @param gc the screen to use. null is default screen.
* @param services the print services to browse (not null).
* @param defaultService the default service. If null
* the first of the print services in the services array will be used.
* @param flavor the flavours to be printed.
- * @param attributes the attributes requested. Will be updated
+ * @param attributes the attributes requested. Will be updated
* by selections done by the user in the dialog.
* @param onlyPageDialog if true a page settings only dialog is constructed.
- *
+ *
* @throws HeadlessException if GraphicsEnvironment is headless
*/
- private PrinterDialog(GraphicsConfiguration gc, PrintService[] services,
- PrintService defaultService, DocFlavor flavor,
+ private PrinterDialog(GraphicsConfiguration gc, PrintService[] services,
+ PrintService defaultService, DocFlavor flavor,
PrintRequestAttributeSet attributes, boolean onlyPageDialog, String title)
throws HeadlessException
{
super((Frame)null, title, true, gc);
-
+
setResizable(false);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
@@ -1493,97 +1493,97 @@ public final class PrinterDialog extends JDialog implements ActionListener
for(int i=0; i < services.length; i++)
if (services[i].isDocFlavorSupported(flavor))
list.add(services[i]);
-
+
if (defaultService != null
&& (! list.contains(defaultService)))
defaultService = (PrintService) list.get(0);
-
+
PrintService[] newServices = new PrintService[list.size()];
this.services = (PrintService[]) list.toArray(newServices);
}
else
this.services = services;
-
+
if (defaultService == null)
this.defaultService = services[0];
else
this.defaultService = defaultService;
-
+
this.selectedService = this.defaultService;
this.flavor = flavor;
-
+
// the attributes given by the user
this.attributes = attributes;
// the one to work with during browsing
this.atts = new HashPrintRequestAttributeSet(attributes);
-
+
this.onlyPageDialog = onlyPageDialog;
-
- initUI(onlyPageDialog);
+
+ initUI(onlyPageDialog);
pack();
updateAll();
}
-
+
/**
* Constructs a page settings only dialog.
- *
+ *
* @param gc the screen to use. null is default screen.
* @param service the print service for the page dialog.
* the first of the print services in the services array will be used.
* @param flavor the flavours to be printed.
- * @param attributes the attributes requested. Will be updated
- * by selections done by the user in the dialog.
- *
+ * @param attributes the attributes requested. Will be updated
+ * by selections done by the user in the dialog.
+ *
* @throws HeadlessException if GraphicsEnvironment is headless
*/
- public PrinterDialog(GraphicsConfiguration gc, PrintService service,
+ public PrinterDialog(GraphicsConfiguration gc, PrintService service,
DocFlavor flavor, PrintRequestAttributeSet attributes)
throws HeadlessException
{
- this(gc, new PrintService[] {service}, service, flavor, attributes,
- true, getLocalizedString("title.pagedialog"));
+ this(gc, new PrintService[] {service}, service, flavor, attributes,
+ true, getLocalizedString("title.pagedialog"));
}
-
+
/**
* Constructs a printer dialog.
- *
+ *
* @param gc the screen to use. null is default screen.
* @param services the print services to browse (not null).
* @param defaultService the default service. If null
* the first of the print services in the services array will be used.
* @param flavor the flavours to be printed.
- * @param attributes the attributes requested. Will be updated
- * by selections done by the user in the dialog.
- *
+ * @param attributes the attributes requested. Will be updated
+ * by selections done by the user in the dialog.
+ *
* @throws HeadlessException if GraphicsEnvironment is headless
*/
- public PrinterDialog(GraphicsConfiguration gc, PrintService[] services,
- PrintService defaultService, DocFlavor flavor,
+ public PrinterDialog(GraphicsConfiguration gc, PrintService[] services,
+ PrintService defaultService, DocFlavor flavor,
PrintRequestAttributeSet attributes)
throws HeadlessException
{
- this(gc, services, defaultService, flavor, attributes,
+ this(gc, services, defaultService, flavor, attributes,
false, getLocalizedString("title.printdialog"));
}
// initializes the gui parts
private void initUI(boolean onlyPageDialog)
- {
+ {
JPanel buttonPane = new JPanel();
-
+
if (onlyPageDialog)
{
JPanel pane = new JPanel();
pane.setLayout(new BorderLayout());
pagesetup_panel = new PageSetupPanel();
pane.add(pagesetup_panel, BorderLayout.CENTER);
-
+
ok_bt = new JButton(getLocalizedString("bt.OK"));
ok_bt.addActionListener(this);
cancel_bt = new JButton(getLocalizedString("bt.cancel"));
- cancel_bt.addActionListener(this);
-
- getContentPane().add(pane, BorderLayout.CENTER);
+ cancel_bt.addActionListener(this);
+
+ getContentPane().add(pane, BorderLayout.CENTER);
}
else
{
@@ -1607,14 +1607,14 @@ public final class PrinterDialog extends JDialog implements ActionListener
// Put everything together
getContentPane().add(pane, BorderLayout.CENTER);
}
-
+
buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.LINE_AXIS));
buttonPane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
buttonPane.add(Box.createHorizontalGlue());
buttonPane.add(ok_bt);
buttonPane.add(Box.createRigidArea(new Dimension(5, 0)));
buttonPane.add(cancel_bt);
-
+
getContentPane().add(buttonPane, BorderLayout.PAGE_END);
}
@@ -1635,17 +1635,17 @@ public final class PrinterDialog extends JDialog implements ActionListener
{
return selectedService;
}
-
+
/**
* Sets the currently selected print service.
- *
+ *
* @param service the service selected.
*/
protected void setSelectedPrintService(PrintService service)
{
selectedService = service;
}
-
+
/**
* Returns the print service array.
* @return The print services.
@@ -1654,7 +1654,7 @@ public final class PrinterDialog extends JDialog implements ActionListener
{
return services;
}
-
+
/**
* Calls update on all panels to adjust
* for a new selected print service.
@@ -1662,57 +1662,57 @@ public final class PrinterDialog extends JDialog implements ActionListener
void updateAll()
{
pagesetup_panel.update();
-
+
if (! onlyPageDialog)
{
general_panel.update();
appearance_panel.update();
- }
+ }
}
-
+
boolean categorySupported(Class category)
{
return getSelectedPrintService().
isAttributeCategorySupported(category);
}
-
+
Object defaultValue(Class category)
{
return getSelectedPrintService().
getDefaultAttributeValue(category);
}
-
+
Attribute attribute(Class category)
{
return atts.get(category);
}
-
- /**
+
+ /**
* Action handler for Print/Cancel buttons.
* If cancel is pressed we reset the attributes
* and the selected service.
- *
+ *
* @param e the ActionEvent
*/
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == ok_bt)
{
- setVisible(false);
+ setVisible(false);
attributes.addAll(atts);
dispose();
}
else
{
- setVisible(false);
+ setVisible(false);
selectedService = null;
dispose();
}
}
-
+
/**
* Retrieves localized messages from the resource bundle.
- *
+ *
* @param key the key
* @return The localized value for the key.
*/
diff --git a/libjava/classpath/gnu/javax/print/ipp/DocPrintJobImpl.java b/libjava/classpath/gnu/javax/print/ipp/DocPrintJobImpl.java
index d391afc7e1a..8cfd6880d50 100644
--- a/libjava/classpath/gnu/javax/print/ipp/DocPrintJobImpl.java
+++ b/libjava/classpath/gnu/javax/print/ipp/DocPrintJobImpl.java
@@ -76,52 +76,52 @@ import javax.print.event.PrintJobEvent;
import javax.print.event.PrintJobListener;
/**
- * Implementation of the DocPrintJob interface. Implementation is
+ * Implementation of the DocPrintJob interface. Implementation is
* specific to the IppPrintService implementation.
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
public class DocPrintJobImpl implements CancelablePrintJob
{
/** The print service this job is bound to. */
private IppPrintService service;
-
+
/** The set of print job listeners. */
private HashSet printJobListener = new HashSet();
-
+
/** The print job attributes listeners. */
private ArrayList attributesListener = new ArrayList();
/** The print job attributes listeners associated attribute set. */
private ArrayList attributesListenerAttributes = new ArrayList();
-
+
/** The username. */
private String username;
/** The password of the user. */
private String password;
-
+
/** Returned job uri. */
private JobUri jobUri = null;
/** Returned job id. */
private JobId jobId = null;
-
+
/** The requesting-username for later canceling */
private RequestingUserName requestingUser;
-
+
/** The print job sets. */
private PrintJobAttributeSet oldSet = new HashPrintJobAttributeSet();
private PrintJobAttributeSet currentSet = new HashPrintJobAttributeSet();
-
- /**
+
+ /**
* State variable if we already started printing.
*/
private boolean printing = false;
-
+
// TODO Implement complete PrintJobListener notification
// TODO Implement PrintJobAttributeListener notification
/**
* Constructs a DocPrintJobImpl instance bound to the given print service.
- *
+ *
* @param service the print service instance.
* @param user the user of this print service.
* @param passwd the password of the user.
@@ -141,7 +141,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
{
if (listener == null)
return;
-
+
attributesListener.add(listener);
attributesListenerAttributes.add(attributes);
}
@@ -153,7 +153,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
{
if (listener == null)
return;
-
+
printJobListener.add(listener);
}
@@ -181,30 +181,30 @@ public class DocPrintJobImpl implements CancelablePrintJob
{
if (printing)
throw new PrintException("already printing");
-
+
printing = true;
-
+
DocAttributeSet docAtts = doc.getAttributes();
DocFlavor flavor = doc.getDocFlavor();
-
+
if (flavor == null || (!service.isDocFlavorSupported(flavor)))
{
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
throw new PrintFlavorException("Invalid flavor", new DocFlavor[] {flavor});
}
-
- // merge attributes as doc attributes take precendence
+
+ // merge attributes as doc attributes take precendence
// over the print request attributes
HashAttributeSet mergedAtts = new HashAttributeSet();
-
+
if (attributes != null)
mergedAtts.addAll(attributes);
if (docAtts != null)
mergedAtts.addAll(docAtts);
-
+
// check for requesting-user-name -add the
// executing username if no other is specified
- // save user name so we can make a cancel operation under same user
+ // save user name so we can make a cancel operation under same user
if (! mergedAtts.containsKey(RequestingUserName.class))
{
mergedAtts.add(IppPrintService.REQUESTING_USER_NAME);
@@ -212,53 +212,53 @@ public class DocPrintJobImpl implements CancelablePrintJob
}
else
{
- requestingUser = (RequestingUserName)
+ requestingUser = (RequestingUserName)
mergedAtts.get(RequestingUserName.class);
}
-
+
// same for job-name
if (! mergedAtts.containsKey(JobName.class))
mergedAtts.add(IppPrintService.JOB_NAME);
-
+
IppResponse response = null;
-
+
try
{
PrinterURI printerUri = service.getPrinterURI();
String printerUriStr = "http" + printerUri.toString().substring(3);
-
+
URI uri = null;
try
{
uri = new URI(printerUriStr);
}
- catch (URISyntaxException e)
+ catch (URISyntaxException e)
{
- // does not happen
+ // does not happen
}
-
- IppRequest request =
- new IppRequest(uri, username, password);
-
+
+ IppRequest request =
+ new IppRequest(uri, username, password);
+
request.setOperationID( (short) OperationsSupported.PRINT_JOB.getValue());
request.setOperationAttributeDefaults();
request.addOperationAttribute(printerUri);
-
+
if (mergedAtts != null)
{
request.addAndFilterJobOperationAttributes(mergedAtts);
request.addAndFilterJobTemplateAttributes(mergedAtts);
- }
-
+ }
+
// DocFlavor getMimeType returns charset quoted
DocumentFormat format = DocumentFormat.createDocumentFormat(flavor);
request.addOperationAttribute(format);
-
- // Get and set the printdata based on the
+
+ // Get and set the printdata based on the
// representation classname
- String className = flavor.getRepresentationClassName();
-
- if (className.equals("[B"))
+ String className = flavor.getRepresentationClassName();
+
+ if (className.equals("[B"))
{
request.setData((byte[]) doc.getPrintData());
response = request.send();
@@ -275,7 +275,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
try
{
// CUPS only supports UTF-8 currently so we convert
- // We also assume that char[] is always utf-16 - correct ?
+ // We also assume that char[] is always utf-16 - correct ?
String str = new String((char[]) doc.getPrintData());
request.setData(str.getBytes("utf-16"));
response = request.send();
@@ -285,7 +285,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor});
}
- }
+ }
else if (className.equals("java.io.Reader"))
{
try
@@ -300,13 +300,13 @@ public class DocPrintJobImpl implements CancelablePrintJob
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor});
}
- }
+ }
else if (className.equals("java.lang.String"))
{
try
{
// CUPS only supports UTF-8 currently so we convert
- // We also assume that String is always utf-16 - correct ?
+ // We also assume that String is always utf-16 - correct ?
String str = (String) doc.getPrintData();
request.setData(str.getBytes("utf-16"));
response = request.send();
@@ -316,7 +316,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor});
}
- }
+ }
else if (className.equals("java.net.URL"))
{
URL url = (URL) doc.getPrintData();
@@ -332,22 +332,22 @@ public class DocPrintJobImpl implements CancelablePrintJob
// For the future :-)
throw new PrintException("Not yet supported.");
}
- else
+ else
{
// should not happen - however
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
throw new PrintFlavorException("Invalid flavor", new DocFlavor[] {flavor});
- }
-
+ }
+
// at this point the data is transfered
notifyPrintJobListeners(new PrintJobEvent(
this, PrintJobEvent.DATA_TRANSFER_COMPLETE));
- }
+ }
catch (IOException e)
{
throw new PrintException("IOException occured.", e);
- }
-
+ }
+
int status = response.getStatusCode();
if (! (status == IppStatusCode.SUCCESSFUL_OK
|| status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES
@@ -356,7 +356,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
notifyPrintJobListeners(new PrintJobEvent(
this, PrintJobEvent.JOB_FAILED));
throw new PrintException("Printing failed - received statuscode " + Integer.toHexString(status));
-
+
// TODO maybe specific status codes may require to throw a specific
// detailed attribute exception
}
@@ -364,18 +364,18 @@ public class DocPrintJobImpl implements CancelablePrintJob
{
// start print job progress monitoring thread
// FIXME Implement
-
+
// for now we just notify as finished
notifyPrintJobListeners(
new PrintJobEvent(this, PrintJobEvent.JOB_COMPLETE));
}
-
+
List jobAtts = response.getJobAttributes();
-
+
// extract the uri and id of job for canceling and further monitoring
Map jobAttributes = (Map) jobAtts.get(0);
jobUri = (JobUri) ((HashSet)jobAttributes.get(JobUri.class)).toArray()[0];
- jobId = (JobId) ((HashSet)jobAttributes.get(JobId.class)).toArray()[0];
+ jobId = (JobId) ((HashSet)jobAttributes.get(JobId.class)).toArray()[0];
}
/**
@@ -385,7 +385,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
{
if (listener == null)
return;
-
+
int index = attributesListener.indexOf(listener);
if (index != -1)
{
@@ -401,10 +401,10 @@ public class DocPrintJobImpl implements CancelablePrintJob
{
if (listener == null)
return;
-
+
printJobListener.remove(listener);
}
-
+
/**
* @see CancelablePrintJob#cancel()
*/
@@ -414,23 +414,23 @@ public class DocPrintJobImpl implements CancelablePrintJob
{
throw new PrintException("print job is not yet send");
}
-
+
IppResponse response = null;
-
+
try
{
- IppRequest request = new IppRequest(jobUri.getURI(), username, password);
+ IppRequest request = new IppRequest(jobUri.getURI(), username, password);
request.setOperationID( (short) OperationsSupported.CANCEL_JOB.getValue());
request.setOperationAttributeDefaults();
request.addOperationAttribute(jobUri);
request.addOperationAttribute(requestingUser);
- response = request.send();
- }
+ response = request.send();
+ }
catch (IOException e)
- {
+ {
throw new IppException("IOException occured during cancel request.", e);
- }
-
+ }
+
int status = response.getStatusCode();
if (! (status == IppStatusCode.SUCCESSFUL_OK
|| status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES
@@ -438,15 +438,15 @@ public class DocPrintJobImpl implements CancelablePrintJob
{
notifyPrintJobListeners(new PrintJobEvent(
this, PrintJobEvent.JOB_FAILED));
- throw new PrintException("Canceling failed - received statuscode " + Integer.toHexString(status));
+ throw new PrintException("Canceling failed - received statuscode " + Integer.toHexString(status));
}
- else
+ else
{
notifyPrintJobListeners(new PrintJobEvent(
this, PrintJobEvent.JOB_CANCELED));
}
}
-
+
private void notifyPrintJobListeners(PrintJobEvent e)
{
Iterator it = printJobListener.iterator();
@@ -463,9 +463,9 @@ public class DocPrintJobImpl implements CancelablePrintJob
l.printJobFailed(e);
else if (e.getPrintEventType() == PrintJobEvent.NO_MORE_EVENTS)
l.printJobNoMoreEvents(e);
- else
+ else
l.printJobRequiresAttention(e);
- }
+ }
}
-
+
}
diff --git a/libjava/classpath/gnu/javax/print/ipp/IppDelimiterTag.java b/libjava/classpath/gnu/javax/print/ipp/IppDelimiterTag.java
index ce6bb4f7e64..1c074a8dd62 100644
--- a/libjava/classpath/gnu/javax/print/ipp/IppDelimiterTag.java
+++ b/libjava/classpath/gnu/javax/print/ipp/IppDelimiterTag.java
@@ -1,4 +1,4 @@
-/* IppDelimiterTag.java --
+/* IppDelimiterTag.java --
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -42,57 +42,57 @@ package gnu.javax.print.ipp;
/**
* IPP Delimiter Tags as described in RFC 2910 section 3.5.1.
*
- * Every delimiter tag value can occur in the protocol field
+ * Every delimiter tag value can occur in the protocol field
* begin-attribute-group-tag and indicates that the following
* attributes will be part of the named group.
* The end-of-attributes-tag signals the end of the attributes
* section in the IPP request/response and therefore the beginning
- * of the data section (if any).
+ * of the data section (if any).
*
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
public final class IppDelimiterTag
{
/** Start of the operation attributes group section. */
public static final byte OPERATION_ATTRIBUTES_TAG = 0x01;
-
+
/** Start of the job attributes group section. */
public static final byte JOB_ATTRIBUTES_TAG = 0x02;
-
+
/** End of the attributes section and begin of data section. */
public static final byte END_OF_ATTRIBUTES_TAG = 0x03;
-
+
/** Start of the printer attributes group section. */
public static final byte PRINTER_ATTRIBUTES_TAG = 0x04;
-
+
/** Start of the unsupported attributes group section. */
public static final byte UNSUPPORTED_ATTRIBUTES_TAG = 0x05;
-
-
+
+
// 0x00 reserved for definition in a future IETF
// standards track document
-
+
// 0x06-0x0f reserved for future delimiters in IETF
// standards track documents
-
+
private IppDelimiterTag()
{
// not to be instantiated
}
-
+
/**
- * Tests if given value corresponds to a
+ * Tests if given value corresponds to a
* delimiter tag value.
- *
+ *
* @param value the value to test for
* @return true if, false otherwise.
*/
- public static boolean isDelimiterTag(byte value)
+ public static boolean isDelimiterTag(byte value)
{
if (value >= 0x01 && value <= 0x05)
return true;
-
+
return false;
}
diff --git a/libjava/classpath/gnu/javax/print/ipp/IppException.java b/libjava/classpath/gnu/javax/print/ipp/IppException.java
index 27b156fd857..c34a8f22740 100644
--- a/libjava/classpath/gnu/javax/print/ipp/IppException.java
+++ b/libjava/classpath/gnu/javax/print/ipp/IppException.java
@@ -1,4 +1,4 @@
-/* IppException.java --
+/* IppException.java --
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -44,7 +44,7 @@ import javax.print.PrintException;
* IppException signals exception thrown by
* the IPP implementation for various things like a failed
* ipp request or a wrapped io exception.
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
public class IppException extends PrintException
@@ -65,7 +65,7 @@ public class IppException extends PrintException
{
super(s);
}
-
+
/**
* Creates an IppException.
* @param e the exception cause this one.
diff --git a/libjava/classpath/gnu/javax/print/ipp/IppMultiDocPrintService.java b/libjava/classpath/gnu/javax/print/ipp/IppMultiDocPrintService.java
index df2a4793c72..59c3408d5ec 100644
--- a/libjava/classpath/gnu/javax/print/ipp/IppMultiDocPrintService.java
+++ b/libjava/classpath/gnu/javax/print/ipp/IppMultiDocPrintService.java
@@ -1,4 +1,4 @@
-/* IppMultiDocPrintService.java --
+/* IppMultiDocPrintService.java --
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -47,25 +47,25 @@ import javax.print.MultiDocPrintService;
/**
* Implementation of the MultiDocPrintService interface
* for IPP based printers.
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
-public class IppMultiDocPrintService extends IppPrintService
+public class IppMultiDocPrintService extends IppPrintService
implements MultiDocPrintService
{
/** The username. */
private transient String user;
-
+
/** The password of the user. */
private transient String passwd;
/**
* Creates a IppMultiDocPrintService object.
- *
+ *
* @param uri the URI of the IPP printer.
* @param username the user of this print service.
* @param password the password of the user.
- *
+ *
* @throws IppException if an error during connection occurs.
*/
public IppMultiDocPrintService(URI uri, String username, String password)
@@ -74,12 +74,12 @@ public class IppMultiDocPrintService extends IppPrintService
super(uri, username, password);
user = username;
passwd = password;
- }
+ }
/**
* @see MultiDocPrintService#createMultiDocPrintJob()
*/
- public MultiDocPrintJob createMultiDocPrintJob()
+ public MultiDocPrintJob createMultiDocPrintJob()
{
return new MultiDocPrintJobImpl(this, user, passwd);
}
diff --git a/libjava/classpath/gnu/javax/print/ipp/IppPrintService.java b/libjava/classpath/gnu/javax/print/ipp/IppPrintService.java
index 56a41381fb6..9ce41c774c9 100644
--- a/libjava/classpath/gnu/javax/print/ipp/IppPrintService.java
+++ b/libjava/classpath/gnu/javax/print/ipp/IppPrintService.java
@@ -1,4 +1,4 @@
-/* IppPrintService.java --
+/* IppPrintService.java --
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -130,175 +130,180 @@ import javax.print.event.PrintServiceAttributeListener;
/**
* Implementation of the PrintService interface
* for IPP based printers.
- *
+ *
* @author Wolfgang Baer (WBaer@gmx.de)
*/
public class IppPrintService implements PrintService
{
- /**
+ /**
* A Map with sets of attributes.
* key: A attribute category
* value: A set with values
- *
+ *
* IPP may return sets of attributes e.g. for supported
* compression methods so we need to map to sets here.
*/
- private Map printerAttr;
-
+ private Map, Set> printerAttr;
+
/** The set of listeners.*/
- private HashSet printServiceAttributeListener;
-
+ private HashSet printServiceAttributeListener;
+
/** The username. */
private transient String user;
-
+
/** The password of the user. */
private transient String passwd;
-
+
/** The name of this print service. */
private String name;
-
+
/** The list of supported document flavors. */
- private List flavors;
-
+ private List flavors;
+
/** The standard printer URI. */
private PrinterURI printerUri;
-
+
/** The list of all supported printer URIs. */
- private ArrayList printerUris;
-
+ private ArrayList printerUris;
+
/**
* Logger for tracing - enable by passing
* -Dgnu.classpath.debug.components=ipp to the vm.
*/
static final Logger logger = SystemLogger.SYSTEM;
-
- /**
+
+ /**
* requesting-user-name defaults to the executing user.
*/
public static final RequestingUserName REQUESTING_USER_NAME;
-
- /**
+
+ /**
* job-name defaults to "Java Printing".
*/
public static final JobName JOB_NAME;
-
+
static
{
JOB_NAME = new JobName("Java Printing", null);
REQUESTING_USER_NAME = new RequestingUserName(
- SystemProperties.getProperty("user.name", ""), null);
+ SystemProperties.getProperty("user.name", ""), null);
}
-
+
// TODO Implement service listener notification and change detection.
-
+
/**
* Creates a IppPrintService object.
- *
+ *
* @param uri the URI of the IPP printer.
* @param username the user of this print service.
* @param password the password of the user.
- *
+ *
* @throws IppException if an error during connection occurs.
*/
- public IppPrintService(URI uri, String username, String password)
+ public IppPrintService(URI uri, String username, String password)
throws IppException
{
printerUri = new PrinterURI(uri);
user = username;
passwd = password;
-
- printServiceAttributeListener = new HashSet();
-
+
+ printServiceAttributeListener =
+ new HashSet();
+
printerAttr = getPrinterAttributes();
processResponse();
}
-
+
/**
* Fetches all printer attributes from the IPP printer.
- *
+ *
* @return The Map with the printer attributes.
* @throws IppException if an error occurs.
*/
- private Map getPrinterAttributes() throws IppException
+ private Map, Set> getPrinterAttributes()
+ throws IppException
{
IppResponse response = null;
-
+
try
{
- IppRequest request = new IppRequest(printerUri.getURI(), user, passwd);
-
+ IppRequest request = new IppRequest(printerUri.getURI(), user, passwd);
+
int operation = OperationsSupported.GET_PRINTER_ATTRIBUTES.getValue();
- request.setOperationID((short) operation);
- request.setOperationAttributeDefaults();
+ request.setOperationID((short) operation);
+ request.setOperationAttributeDefaults();
request.addOperationAttribute(printerUri);
-
+
response = request.send();
- }
+ }
catch (IOException e)
{
throw new IppException("IOException in IPP request/response.", e);
- }
-
- return (Map) response.getPrinterAttributes().get(0);
+ }
+
+ return response.getPrinterAttributes().get(0);
}
-
+
/**
- * Extracts the set of attribute values for a given
+ * Extracts the set of attribute values for a given
* attribute category from the printer attributes map.
- *
+ *
* @param attributeClass the category
* @return The set of attributes of the category.
*/
- private Set getPrinterAttributeSet(Class attributeClass)
+ private Set getPrinterAttributeSet(Class attributeClass)
{
- return (Set) printerAttr.get(attributeClass);
+ Set set = printerAttr.get(attributeClass);
+ Set attSet = new HashSet();
+ for (Attribute att : set)
+ attSet.add(attributeClass.cast(att));
+ return attSet;
}
-
+
/**
- * Extracts the default attribute value for the given
+ * Extracts the default attribute value for the given
* default attribute category from the printer attributes map.
- *
+ *
* @param attributeClass the category
* @return The default attribute.
- *
+ *
* @throws ClassCastException if attributClass is not an
* instance of DefaultValueAttribute.
*/
- private Attribute getPrinterDefaultAttribute(Class attributeClass)
+ private Attribute getPrinterDefaultAttribute(Class extends Attribute> attributeClass)
{
- Set set = (Set) printerAttr.get(attributeClass);
+ Set set = printerAttr.get(attributeClass);
return ((DefaultValueAttribute) set.toArray()[0]).getAssociatedAttribute();
}
-
+
/**
* Processes the response, sorts and splits the attributes.
*/
private void processResponse()
{
// printer name
- PrinterName[] tmp = (PrinterName[]) getPrinterAttributeSet(
- PrinterName.class).toArray(new PrinterName[1]);
+ PrinterName[] tmp = getPrinterAttributeSet(PrinterName.class).toArray(new PrinterName[1]);
name = tmp[0].getValue();
-
+
// supported flavors
// TODO Check if charsets-supported are charsets that are actually supported
// for text doc flavors as cups doesn't send charset parameters
-
+
// utf-8 is supported at least - so we go with this only for now
- flavors = new ArrayList();
- Set flavorAttributes = getPrinterAttributeSet(DocumentFormatSupported.class);
+ flavors = new ArrayList();
+ Set flavorAttributes = getPrinterAttributeSet(DocumentFormatSupported.class);
if (flavorAttributes != null)
{
- for (Iterator it = flavorAttributes.iterator(); it.hasNext();)
+ for (DocumentFormatSupported dfs : flavorAttributes)
{
- String mimeType = ((DocumentFormatSupported) it.next()).getValue();
-
+ String mimeType = dfs.getValue();
+
if (mimeType.equals("text/plain"))
{
flavors.add(DocFlavor.CHAR_ARRAY.TEXT_PLAIN);
flavors.add(DocFlavor.READER.TEXT_PLAIN);
flavors.add(DocFlavor.STRING.TEXT_PLAIN);
-
+
// add utf-8
mimeType = mimeType + "; charset=utf-8";
}
@@ -307,21 +312,22 @@ public class IppPrintService implements PrintService
flavors.add(DocFlavor.CHAR_ARRAY.TEXT_HTML);
flavors.add(DocFlavor.READER.TEXT_HTML);
flavors.add(DocFlavor.STRING.TEXT_HTML);
-
+
// add utf-8
mimeType = mimeType + "; charset=utf-8";
}
-
+
// Process the predefined DocFlavors and if mimetype is
// equal put them into the flavors array - otherwise
// just build them as binarie class representation.
boolean changed = false;
try
{
- Class[] clazzes = new Class[] { DocFlavor.BYTE_ARRAY.class,
- DocFlavor.INPUT_STREAM.class,
- DocFlavor.URL.class };
-
+ Class>[] clazzes = new Class>[] { DocFlavor.BYTE_ARRAY.class,
+ DocFlavor.INPUT_STREAM.class,
+ DocFlavor.URL.class
+ };
+
for (int j = 0; j < clazzes.length; j++)
{
Field[] fields = clazzes[j].getDeclaredFields();
@@ -336,7 +342,7 @@ public class IppPrintService implements PrintService
}
}
if (!changed) // not in predefined constants of DocFlavor
- {
+ {
// everything should be supported as binary stuff
flavors.add(new DocFlavor(mimeType, "[B"));
flavors.add(new DocFlavor(mimeType, "java.io.InputStream"));
@@ -357,54 +363,52 @@ public class IppPrintService implements PrintService
}
}
- if (this.getClass()
- .isAssignableFrom(gnu.javax.print.CupsPrintService.class))
- {
-// CUPS always provides filters to convert from Postscript.
-// This logic looks odd, but it's what OpenJDK does.
- flavors.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE);
- flavors.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE);
- }
+ if (this.getClass()
+ .isAssignableFrom(gnu.javax.print.CupsPrintService.class))
+ {
+// CUPS always provides filters to convert from Postscript.
+// This logic looks odd, but it's what OpenJDK does.
+ flavors.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE);
+ flavors.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE);
+ }
}
// printer uris
- Set uris = getPrinterAttributeSet(PrinterUriSupported.class);
- printerUris = new ArrayList(uris.size());
- Iterator it = uris.iterator();
- while (it.hasNext())
+ Set uris = getPrinterAttributeSet(PrinterUriSupported.class);
+ printerUris = new ArrayList(uris.size());
+ for (PrinterUriSupported uri : uris)
{
- PrinterUriSupported uri = (PrinterUriSupported) it.next();
printerUris.add( new PrinterURI(uri.getURI()));
}
}
/**
* We always return a implementation implementing CancelablePrintJob.
- *
+ *
* @see javax.print.PrintService#createPrintJob()
*/
public DocPrintJob createPrintJob()
{
return new DocPrintJobImpl(this, user, passwd);
}
-
+
/**
* @see javax.print.PrintService#getAttribute(java.lang.Class)
*/
- public PrintServiceAttribute getAttribute(Class category)
+ public T getAttribute(Class category)
{
if (category == null)
throw new NullPointerException("category may not be null");
-
+
if (! PrintServiceAttribute.class.isAssignableFrom(category))
throw new IllegalArgumentException(
"category must be of type PrintServiceAttribute");
-
- Set set = getPrinterAttributeSet(category);
- if (set != null && set.size() > 0)
- return (PrintServiceAttribute) set.toArray()[0];
-
+
+ Set set = getPrinterAttributeSet(category);
+ if (set != null && set.size() > 0)
+ return set.iterator().next();
+
return null;
}
@@ -414,81 +418,78 @@ public class IppPrintService implements PrintService
public PrintServiceAttributeSet getAttributes()
{
PrintServiceAttributeSet set = new HashPrintServiceAttributeSet();
-
- Iterator it = printerAttr.values().iterator();
- while (it.hasNext())
- {
- Iterator it2 = ((Set) it.next()).iterator();
- while (it2.hasNext())
+
+ for (Set attrSet : printerAttr.values())
+ {
+ for (Attribute attr : attrSet)
{
- Attribute attr = (Attribute) it2.next();
if (attr instanceof PrintServiceAttribute)
set.add(attr);
}
}
-
+
return AttributeSetUtilities.unmodifiableView(set);
}
/**
* @see javax.print.PrintService#getDefaultAttributeValue(java.lang.Class)
*/
- public Object getDefaultAttributeValue(Class category)
- {
+ public Object getDefaultAttributeValue(Class extends Attribute> category)
+ {
// required attributes
if (category.equals(Fidelity.class))
- return Fidelity.FIDELITY_FALSE;
+ return Fidelity.FIDELITY_FALSE;
if (category.equals(JobName.class))
return JOB_NAME;
if (category.equals(RequestingUserName.class))
return REQUESTING_USER_NAME;
-
+
// optional attributes
- if (category.equals(JobPriority.class)
+ if (category.equals(JobPriority.class)
&& printerAttr.containsKey(JobPriorityDefault.class))
return getPrinterDefaultAttribute(JobPriorityDefault.class);
- if (category.equals(JobHoldUntil.class)
+ if (category.equals(JobHoldUntil.class)
&& printerAttr.containsKey(JobHoldUntilDefault.class))
return getPrinterDefaultAttribute(JobHoldUntilDefault.class);
- if (category.equals(JobSheets.class)
+ if (category.equals(JobSheets.class)
&& printerAttr.containsKey(JobSheetsDefault.class))
return getPrinterDefaultAttribute(JobSheetsDefault .class);
- if (category.equals(MultipleDocumentHandling.class)
+ if (category.equals(MultipleDocumentHandling.class)
&& printerAttr.containsKey(MultipleDocumentHandlingDefault.class))
return getPrinterDefaultAttribute(MultipleDocumentHandlingDefault.class);
- if (category.equals(Copies.class)
+ if (category.equals(Copies.class)
&& printerAttr.containsKey(CopiesDefault.class))
return getPrinterDefaultAttribute(CopiesDefault.class);
- if (category.equals(Finishings.class)
+ if (category.equals(Finishings.class)
&& printerAttr.containsKey(FinishingsDefault.class))
return getPrinterDefaultAttribute(FinishingsDefault.class);
- if (category.equals(Sides.class)
+ if (category.equals(Sides.class)
&& printerAttr.containsKey(SidesDefault.class))
return getPrinterDefaultAttribute(SidesDefault.class);
- if (category.equals(NumberUp.class)
+ if (category.equals(NumberUp.class)
&& printerAttr.containsKey(NumberUpDefault.class))
return getPrinterDefaultAttribute(NumberUpDefault.class);
- if (category.equals(OrientationRequested.class)
+ if (category.equals(OrientationRequested.class)
&& printerAttr.containsKey(OrientationRequestedDefault.class))
return getPrinterDefaultAttribute(OrientationRequestedDefault.class);
- if (category.equals(Media.class)
+ if (category.equals(Media.class)
&& printerAttr.containsKey(MediaDefault.class))
return getPrinterDefaultAttribute(MediaDefault.class);
- if (category.equals(PrinterResolution.class)
+ if (category.equals(PrinterResolution.class)
&& printerAttr.containsKey(PrinterResolutionDefault.class))
return getPrinterDefaultAttribute(PrinterResolutionDefault.class);
- if (category.equals(PrintQuality.class)
+ if (category.equals(PrintQuality.class)
&& printerAttr.containsKey(PrintQualityDefault.class))
return getPrinterDefaultAttribute(PrintQualityDefault.class);
- if (category.equals(Compression.class)
+ if (category.equals(Compression.class)
&& printerAttr.containsKey(CompressionSupported.class))
return Compression.NONE;
if (category.equals(PageRanges.class))
return new PageRanges(1, Integer.MAX_VALUE);
- return null;
+ return null;
}
-
+
/**
* We return the value of PrinterName here.
* @see javax.print.PrintService#getName()
@@ -506,7 +507,7 @@ public class IppPrintService implements PrintService
{
// SUN does not provide any service factory for
// print services (tested on linux/windows)
-
+
// for the moment we do the same - just return null
// later on we could provide at least the about UI dialog
return null;
@@ -515,11 +516,12 @@ public class IppPrintService implements PrintService
/**
* @see javax.print.PrintService#getSupportedAttributeCategories()
*/
- public Class[] getSupportedAttributeCategories()
+ public Class>[] getSupportedAttributeCategories()
{
- Set categories = new HashSet();
-
- // Should only be job template attributes as of section 4.2
+ Set> categories =
+ new HashSet>();
+
+ // Should only be job template attributes as of section 4.2
if (printerAttr.containsKey(JobPrioritySupported.class))
categories.add(JobPriority.class);
if (printerAttr.containsKey(JobHoldUntilSupported.class))
@@ -527,14 +529,14 @@ public class IppPrintService implements PrintService
if (printerAttr.containsKey(JobSheetsSupported.class))
categories.add(JobSheets.class);
if (printerAttr.containsKey(MultipleDocumentHandlingSupported.class))
- categories.add(MultipleDocumentHandling.class);
+ categories.add(MultipleDocumentHandling.class);
if (printerAttr.containsKey(CopiesSupported.class))
categories.add(Copies.class);
if (printerAttr.containsKey(FinishingsSupported.class))
{
// if only none finishing is supported - it does not count as supported
- Set set = getPrinterAttributeSet(FinishingsSupported.class);
- if (! (set.size() == 1 && set.contains(FinishingsSupported.NONE)))
+ Set set = getPrinterAttributeSet(FinishingsSupported.class);
+ if (! (set.size() == 1 && set.contains(FinishingsSupported.NONE)))
categories.add(Finishings.class);
}
if (printerAttr.containsKey(PageRangesSupported.class))
@@ -551,11 +553,11 @@ public class IppPrintService implements PrintService
categories.add(PrinterResolution.class);
if (printerAttr.containsKey(PrintQualitySupported.class))
categories.add(PrintQuality.class);
-
- // Chromaticity, Destination, MediaPrintableArea,
+
+ // Chromaticity, Destination, MediaPrintableArea,
// SheetCollate, PresentationDirection - not IPP attributes
-
- // attributes outside section 4.2
+
+ // attributes outside section 4.2
if (printerAttr.containsKey(CompressionSupported.class))
categories.add(Compression.class);
if (printerAttr.containsKey(JobImpressionsSupported.class))
@@ -564,13 +566,13 @@ public class IppPrintService implements PrintService
categories.add(JobKOctets.class);
if (printerAttr.containsKey(JobMediaSheetsSupported.class))
categories.add(JobMediaSheets.class);
-
+
// always supported as required by IPP specification
categories.add(Fidelity.class);
categories.add(JobName.class);
categories.add(RequestingUserName.class);
- return (Class[]) categories.toArray(new Class[categories.size()]);
+ return categories.toArray(new Class[categories.size()]);
}
/**
@@ -578,12 +580,12 @@ public class IppPrintService implements PrintService
* attribute values totally different may override this methods. Subclass only in
* need of handling the response differently may override the method
* handleSupportedAttributeValuesResponse(IppResponse, Class) only.
- *
+ *
* @see PrintService#getSupportedAttributeValues(Class, DocFlavor, AttributeSet)
* @see #handleSupportedAttributeValuesResponse(IppResponse, Class)
*/
- public Object getSupportedAttributeValues(Class category, DocFlavor flavor,
- AttributeSet attributes)
+ public Object getSupportedAttributeValues(Class extends Attribute> category,
+ DocFlavor flavor, AttributeSet attributes)
{
// We currently ignore the attribute set - there is nothing in the IPP
// specification which would come closer to what we do here.
@@ -620,7 +622,7 @@ public class IppPrintService implements PrintService
request.setOperationAttributeDefaults();
request.addOperationAttribute(new RequestedAttributes(categoryName));
request.addOperationAttribute(printerUri);
-
+
if (flavor != null)
{
DocumentFormat f = DocumentFormat.createDocumentFormat(flavor);
@@ -628,7 +630,7 @@ public class IppPrintService implements PrintService
}
response = request.send();
-
+
int status = response.getStatusCode();
if (! (status == IppStatusCode.SUCCESSFUL_OK
|| status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES
@@ -647,41 +649,42 @@ public class IppPrintService implements PrintService
// method cannot throw exception - just log
logger.log(Component.IPP, "IPPException", e);
}
-
+
return handleSupportedAttributeValuesResponse(response, category);
}
-
+
/**
* Called to handle the supported attribute values response for the given
* category. This might be overridden by subclasses with different requirements
* for parsing/handling the response from the GetPrinterAttributes.
- *
+ *
* @param response the response of the GetPrinterAttributes IPP request
* @param category the category for which the supported values are requested
- * @return A object indicating the supported values for the given attribute
- * category, or null if this print service doesn't support the
+ * @return A object indicating the supported values for the given attribute
+ * category, or null if this print service doesn't support the
* given attribute category at all.
- *
+ *
* @see #getSupportedAttributeValues(Class, DocFlavor, AttributeSet)
*/
- protected Object handleSupportedAttributeValuesResponse(IppResponse response,
- Class category)
+ protected Object handleSupportedAttributeValuesResponse(IppResponse response,
+ Class extends Attribute> category)
{
- List printerAtts = response.getPrinterAttributes();
-
+ List