RE: Re: undocumented function StringQ
- To: mathgroup at smc.vnet.net
- Subject: [mg47750] RE: [mg47734] Re: [mg47562] undocumented function StringQ
- From: "DrBob" <drbob at bigfoot.com>
- Date: Sun, 25 Apr 2004 05:13:22 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Fascinating! So it's easy to identify at least 475 poorly documented or undocumented symbols; I wonder how long it would take someone to document them? DrBob www.eclecticdreams.net -----Original Message----- From: Ingolf Dahl [mailto:ingolf.dahl at telia.com] To: mathgroup at smc.vnet.net Subject: [mg47750] [mg47734] Re: [mg47562] undocumented function StringQ Subject: [mg47750] [mg47734] Re: [mg47562] undocumented function: StringQ One historical detail concerning StringQ: In my Mathematica 3 Bible I cannot find StringQ documented. In July 1998, Ted Ersek sent a list of undocumented 3.0 Features to MathGroup [mg13427]. StringQ was not included. In August 1998 [mg13652], Robert Villegas submitted another list of undocumented commands as reply to Ted Ersek. StringQ was not included here either. Robert Villegas even submitted a routine to obtain such a list: Block[{$Urgent = {}}, Select[Names["System`*"], (Information[#]; Not @ StringQ[ MessageName @@ Append[ToHeldExpression[#], "usage"] ])& ] ] Now to the point: "StringQ" is used in this routine! This StringQ case is peculiar. There has been one explicit complaint before, from J. Leko in Sept. 2000 in message [mg25454]. Why have there not been more complaints, and why has not Wolfram corrected the documentation? Maybe it is so that Mathematica now has improved SO much that the users can afford to complain about small blemishes. And the guys at Wolfram have had other priorities (to accomplish this improvement), with some documentation lag as effect. For the curious: What happens if we use the Villegas routine in Mathematica 5.0.1? The result is here (converted to InputForm!): {"ActiveItem", "AddOnHelpPath", "AdjustmentBoxOptions", "After", "AlgebraicRules", "Alias", "AlignmentMarker", "AllowInlineCells", "AllowScriptLevelChange", "AnimationCycleOffset", "AnimationCycleRepetitions", "AutoEvaluateEvents", "AutoGeneratedPackage", "AutoIndentSpacings", "AutoloadPath", "AutoOpenNotebooks", "AutoOpenPalettes", "AutoScroll", "AutoStyleOptions", "Axis", "BackgroundTasksSettings", "Backsubstitution", "Backward", "Before", "BeginDialogPacket", "BeginFrontEndInteractionPacket", "BezoutMatrix", "BinaryGet", "Bounds", "Box", "BoxBaselineShift", "BoxData", "BoxDimensions", "BoxForm", "BoxFormFormatTypes", "BoxFrame", "BoxMargins", "BoxRegion", "Buchberger", "Button", "ButtonBoxOptions", "ButtonCell", "ButtonContents", "ButtonStyleMenuListing", "CallPacket", "CellBoundingBox", "CellBracketOptions", "CellContents", "CellElementsBoundingBox", "CellElementSpacings", "CellFrameColor", "CellFrameLabelMargins", "CellFrameLabels", "CellGroup", "CellGroupingRules", "CellHorizontalScrolling", "CellLabelMargins", "CellLabelPositioning", "CellObject", "CellPasswords", "CellSize", "CellStyle", "CharacterEncodingsPath", "ClipboardNotebook", "Closed", "ClosingAutoSave", "ColorSelectorSettings", "Column", "CommonDefaultFormatTypes", "CompileOptimizations", "CompletionsListPacket", "Compose", "ConfigurationPath", "ConsoleMessage", "ConsoleMessagePacket", "ConsolePrint", "ConstrainedMax", "ConstrainedMin", "ContentsBoundingBox", "Continuation", "ContourSmoothing", "ConvertToBitmapPacket", "ConvertToPostScript", "CounterAssignments", "CounterBox", "CounterBoxOptions", "CounterEvaluator", "CounterFunction", "CounterIncrements", "CounterStyle", "CounterStyleMenuListing", "CreatePalettePacket", "Cubics", "CurrentlySpeakingPacket", "DefaultFontProperties", "DefaultFormatType", "DefaultFormatTypeForStyle", "DefaultInlineFormatType", "DefaultInputFormatType", "DefaultNaturalLanguage", "DefaultNewInlineCellStyle", "DefaultNotebook", "DefaultOutputFormatType", "DefaultStyleDefinitions", "DefaultTextFormatType", "DefaultTextInlineFormatType", "DefineExternal", "DelimiterMatching", "DependentVariables", "DiacriticalPositioning", "DialogIndent", "DisableConsolePrintPacket", "DisplayAnimation", "DisplayEndPacket", "DisplayFlushImagePacket", "DisplayPacket", "DisplayRules", "DisplaySetSizePacket", "Down", "DrawHighlighted", "DualLinearProgramming", "EditButtonSettings", "EditCellTagsSettings", "Empty", "EnableConsolePrintPacket", "EndDialogPacket", "EndFrontEndInteractionPacket", "Enter", "EnterExpressionPacket", "EnterTextPacket", "ErrorBoxOptions", "ErrorNorm", "ErrorPacket", "ErrorsDialogSettings", "EvaluatePacket", "EvaluationCell", "EvaluationCompletionAction", "EvaluatorNames", "EventEvaluator", "ExactNumberQ", "ExponentPosition", "ExportAutoReplacements", "ExportPacket", "ExpressionPacket", "ExternalCall", "ExternalDataCharacterEncoding", "FactorComplete", "Fail", "FEDisableConsolePrintPacket", "FEEnableConsolePrintPacket", "File", "FileBrowse", "FileFormat", "FileName", "FileNameDialogSettings", "FindSettings", "FitAll", "FlushPrintOutputPacket", "Font", "FontProperties", "FontReencoding", "FontVariations", "FormatRules", "FormatTypeAutoConvert", "FormBoxOptions", "Forward", "ForwardBackward", "FractionBoxOptions", "FractionLine", "FrameBoxOptions", "FrontEndObject", "FrontEndStackSize", "FrontEndToken", "FrontEndTokenExecute", "FrontEndVersion", "GenerateBitmapCaches", "GetBoundingBoxSizePacket", "GetFileName", "GetFrontEndOptionsDataPacket", "GetLinebreakInformationPacket", "GetMenusPacket", "GetPageBreakInformationPacket", "GlobalPreferences", "GlobalSession", "GraphicsData", "GraphicsGrouping", "Grid", "GridBoxOptions", "GridCreationSettings", "GridFrame", "GridFrameMargins", "Hash", "HelpBrowserLookup", "HelpBrowserNotebook", "HelpBrowserSettings", "Hessian", "Horizontal", "HorizontalScrollPosition", "HyperlinkCreationSettings", "HyphenationOptions", "ImageCache", "ImageCacheValid", "ImageOffset", "ImageRangeCache", "ImageRegion", "ImportAutoReplacements", "IncludeFileExtension", "Indent", "IndentingNewlineSpacings", "IndentMaxFraction", "IndexCreationOptions", "InexactNumberQ", "Inherited", "InitializationCellEvaluation", "InitializationCellWarning", "InlineCounterAssignments", "InlineCounterIncrements", "InlineRules", "InputAutoFormat", "InputGrouping", "InputNamePacket", "InputPacket", "InputSettings", "InputStringPacket", "InputToInputForm", "InputToStandardForm", "InsertionPointObject", "Interactive", "Interlaced", "InterpolationPrecision", "InterpretationBoxOptions", "InterruptSettings", "Language", "Larger", "LayoutInformation", "LimitsPositioningTokens", "LineBreak", "LinebreakAdjustments", "LineBreakWithin", "LineWrapParts", "LinkActivate", "LinkConnectedQ", "LinkOptions", "LiteralSearch", "LUBackSubstitution", "MacintoshSystemPageSetup", "Manual", "MathematicaNotation", "MathMLText", "MaxStepFraction", "MaxSteps", "MenuPacket", "MessageOptions", "MessagePacket", "MessagesNotebook", "MethodOptions", "MousePointerNote", "MultilaunchWarning", "NeedCurrentFrontEndPackagePacket", "NeedCurrentFrontEndSymbolsPacket", "NestedScriptRules", "Next", "NormalGrouping", "Normalized", "NormalSelection", "NormFunction", "NotebookConvert", "NotebookConvertSettings", "NotebookCreateReturnObject", "NotebookDefault", "NotebookDirectory", "NotebookFindReturnObject", "NotebookGetLayoutInformationPacket", "NotebookGetMisspellingsPacket", "NotebookInformation", "NotebookOpenReturnObject", "NotebookPath", "NotebookPutReturnObject", "NotebookResetGeneratedCells", "NotebookSaveAs", "NotebookSetupLayoutInformationPacket", "NotebooksMenu", "NotElement", "OLEData", "Open", "OpenFunctionInspectorPacket", "OpenSpecialOptions", "OptimizationLevel", "OptionInspectorSettings", "OptionsPacket", "OptionValueBox", "OptionValueBoxOptions", "OutputAutoOverwrite", "OutputFormData", "OutputGrouping", "OutputNamePacket", "OutputToOutputForm", "OutputToStandardForm", "Over", "Overscript", "OverscriptBoxOptions", "PageFooterLines", "PageFooters", "PageHeaderLines", "PageHeaders", "PageHeight", "PalettePath", "PaperWidth", "ParentConnect", "PasteBoxFormInlineCells", "PeriodicInterpolation", "Placeholder", "PolynomialForm", "PowerModList", "Precedence", "PreferencesPath", "PreserveStyleSheet", "Previous", "PrimaryPlaceholder", "PrintAction", "PrintForm", "PrintingCopies", "PrintingOptions", "PrintingPageRange", "PrintingStartingPageNumber", "PrintPrecision", "PrivateCellOptions", "PrivateEvaluationOptions", "PrivateFontOptions", "PrivateNotebookOptions", "PrivatePaths", "Quartics", "RadicalBoxOptions", "RandomSeed", "RawData", "Release", "RenderingOptions", "ResetMenusPacket", "ResumePacket", "ReturnExpressionPacket", "ReturnPacket", "ReturnTextPacket", "Row", "RulerUnits", "Saveable", "SaveAutoDelete", "ScreenRectangle", "ScriptLevel", "ScriptRules", "ScrollingOptions", "ScrollPosition", "SectionGrouping", "Selection", "SelectionCell", "SelectionCellCreateCell", "SelectionCellDefaultStyle", "SelectionCellParentStyle", "SelectionDuplicateCell", "SelectionSetStyle", "SelectionStrategy", "SendFontInformationToKernel", "SetBoxFormNamesPacket", "SetEvaluationNotebook", "SetFileLoadingContext", "SetNotebookStatusLine", "SetOptionsPacket", "SetSpeechParametersPacket", "SetValue", "ShowClosedCellArea", "ShowContents", "ShowGroupOpenCloseIcon", "ShowShortBoxForm", "ShrinkWrapBoundingBox", "SingularValues", "Smaller", "SoundAndGraphics", "Space", "SpanLineThickness", "SpanningCharacters", "SpanSymmetric", "Sparse", "SpeakTextPacket", "SpellingDictionaries", "SpellingDictionariesPath", "SpellingOptions", "SpellingSuggestionsPacket", "Spherical", "SqrtBoxOptions", "StartupSound", "StringBreak", "StyleBoxAutoDelete", "StyleBoxOptions", "StyleData", "StyleMenuListing", "StyleNameDialogSettings", "StyleSheetPath", "Subscript", "SubscriptBoxOptions", "Subscripted", "Subsuperscript", "SubsuperscriptBoxOptions", "SugarCube", "Superscript", "SuperscriptBoxOptions", "SuspendPacket", "SylvesterMatrix", "Syntax", "SyntaxForm", "SyntaxPacket", "SystemException", "SystemHelpPath", "SystemStub", "Tab", "TabFilling", "TabSpacings", "TagBoxOptions", "TaggingRules", "TagStyle", "TemporaryVariable", "TensorQ", "TensorRank", "TextBoundingBox", "TextData", "TextForm", "TextLine", "TextPacket", "TextParagraph", "TitleGrouping", "Toggle", "ToggleFalse", "Top", "TotalHeight", "TraditionalFunctionNotation", "TraditionalNotation", "TraditionalOrder", "TransparentColor", "UnAlias", "Underoverscript", "UnderoverscriptBoxOptions", "Underscript", "UnderscriptBoxOptions", "UndocumentedTestFEParserPacket", "UndocumentedTestGetSelectionPacket", "Up", "URL", "Value", "ValueBox", "ValueBoxOptions", "Verbose", "VerboseConvertToPostScriptPacket", "Version", "VersionNumber", "Vertical", "ViewPointSelectorSettings", "VisibleCell", "WindowFrameElements", "WindowWidth", "ZeroWidthTimes", "$", "$AddOnsDirectory", "$AnimationDisplayFunction", "$AnimationFunction", "$InterfaceEnvironment", "$LaunchDirectory", "$LicenseID", "$Off", "$PreferencesDirectory", "$PSDirectDisplay", "$RasterFunction", "$RootDirectory", "$SoundDisplay", "$TopDirectory", "$TraceOff", "$TraceOn", "$UserAddOnsDirectory"} The length has increased from 205 to 475 items. But StringQ is still not in the list, and many of the items in the list, such as "After" and "WindowWidth" are documented in some way. So Villegas routine is not really fully adequate, since it does not relate to the Help Master Index. Can the routine be improved? How many different sets of indices can be found (Help Master Index, Information, Names["System`*"] etc)? It seems reasonable that the entries that are given by Names["System`*"] and Information should agree, and that they should be a subset of the entries under the Help Master Index, but that does not seem to be the case. Just as a check, I do not find the following entries from the above list under "A" or "B" in the Help Master Index: {"ActiveItem", "After" ("After" is documented in the help under "SelectionMove", but it is not indexed), "AllowScriptLevelChange", "AutoEvaluateEvents", "AutoIndentSpacings", "AutoScroll", "Backsubstitution" ("Back substitution" exists), "Backward", "Before", "BeginDialogPacket", "BeginFrontEndInteractionPacket", "BezoutMatrix", "BinaryGet", "Bounds" (F1 under Windows takes you to "TravelingSalesmanBounds"!), "BoxDimensions", "BoxForm", "BoxRegion", "Buchberger" (F1 takes you to "Buchberger algorithm"), "Button"} "Box" is included, but if I highlight Box and press F1, I get to "Boxed"! There seems to be a need of a check of all the items given by Names["System`*"]. Maybe this could be a task for some existing or new employee at Wolfram? Ingolf Dahl Sweden
- Follow-Ups:
- Re: RE: Re: undocumented function StringQ
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: RE: Re: undocumented function StringQ