52

In comments on this question, Mr. Wizard suggested a community wiki to share the bug fixes/workarounds (or possibly other tricks) people load in their init.m. I think this could provide a nice resource.

jkrich
  • 131
  • 2
  • 8

3 Answers3

26

Fixes by Mathematica version. Note that unfixed bugs may apply to earlier versions as well; e.g. TableAlignments -> Left not working also applies to version 7.

Version 10.1

  • Fix syntax highlighting in Trace:

    Unprotect[Trace];
    SyntaxInformation[Trace] = {"ArgumentsPattern" -> {_, _., OptionsPattern[]}};
    Protect[Trace];
    
  • Fix Incompatibility of Row and TeXForm: (v9+)

    BoxForm`$UseTemplateSlotSequenceForRow = False;
    
  • Fix SetOptions for CoordinatesToolOptions for DateListPlot?:

    DateListPlot;  (* preload; do not remove! *)
    
    With[
      {dv := DownValues[Graphics`DateListPlotDump`iDateListPlot]},
      dv = dv /.
        (fr : FilterRules)[a : Graphics`DateListPlotDump`opts, b_Options] :> 
          fr[Join[a, Options @ Graphics`DateListPlotDump`caller], b]
    ];
    
  • Fix TableAlignments -> Left not working

    • code too long to include; provided in answer linked above
  • Fix In 10.1.0 BenchmarkPlot doesn't work?

    • see answer to link above
  • Fix Strange Error on Fresh Kernel (10.2):

    With[
      {dv := DownValues @ PacletManager`Package`loadWolframLanguageCode},
      dv = dv /. wl : HoldPattern[ToString @ $SystemWordLength] :> RuleCondition[wl];
    ]
    
  • Fix Problems with Displaying Output for Summation

    InactiveDump`assembleInactiveSumProduct[
       {args_, disp_, interp_, char_, tag_, tooltip_, fmt_}] := 
      TemplateBox[ args, tag,
        DisplayFunction -> Function[disp], 
        InterpretationFunction -> Function[interp],
        SyntaxForm -> char
      ]
    
  • Fix Inset in ArrayPlot

    Graphics`ArrayPlotDump`Private`stripOptions[opt2___, OP_] := 
      Module[{opt = Flatten @ {opt2}}, 
       Delete[opt, 
        Position[opt, 
         g_?(System`Utilities`StringName[#1] === 
              System`Utilities`StringName[OP] &) -> _,
         {1}
        ]
       ]
      ];
    
  • Fix Conversion to TeX results in infinite recursion

    Convert`TeX`ExpressionToTeX; (* preload; do not remove! *)
    
    Begin["System`Convert`"]
    
    With[{DV := DownValues[`TeXFormDump`maketex], RLS := `CommonDump`RemoveLinearSyntax},
      DV = DV /.
         Verbatim[RLS][arg_, `CommonDump`Recursive -> val_] :>
          RLS[arg, `CommonDump`ConvertRecursive -> val]
    ]
    
    End[]
    

Version 10.0


Version 7

As a version 7 user these likely don't apply to most users but here are mine:

  • Fix Symbol name slow-down weirdness (hashing problem?):

    SetSystemOptions["NeedNotReevaluateOptions"->{"UseSymbolLists"->True}];
    
  • Fix a bug in FullSimplify:

    Unprotect[Holonomic`HolonomicFullSimplify];Clear[Holonomic`HolonomicFullSimplify]; 
    
  • Prevent Mathematica from eating all my RAM and freezing (most of the time):

    $Pre = Function[Null, MemoryConstrained[Unevaluated @ #, 2^32, "Memory Exceeded"], HoldAll]
    
Mr.Wizard
  • 271,378
  • 34
  • 587
  • 1,371
11

Here is one that came from a Wolfram employee so it should be safe to add in version 9:

FindInstance returns Indeterminate in version 9, but not in 8

Jens
  • 97,245
  • 7
  • 213
  • 499
9

Here's a patch from Adam Strzebonski of Wolfram, which fixes a bug in RootReduce[] in 9.0.1.

ToNumberField won't recognize Root as explicit algebraic number

Tobias Hagge
  • 1,382
  • 9
  • 17