# <<Notation raises warnings

In a completely fresh kernel (after Quit[]ing), when I do

<<Notation


I am met with

Join::incpt: Incompatible elements in Join[<|intt ->RowBox[{\[Integral],
RowBox[{\[SelectionPlaceholder] ,RowBox[{\[DifferentialD],\[Placeholder] }]}]}],
dintt ->RowBox[{SubsuperscriptBox[\[Integral],\[SelectionPlaceholder] ,
\[Placeholder] ],RowBox[{\[Placeholder] ,RowBox[{\[DifferentialD],\[Placeholder] }]}]}],
rintt ->RowBox[{UnderscriptBox[\[Integral],RowBox[{\[SelectionPlaceholder] ,
\[Element],\[Placeholder] }]],\[Placeholder] }],<<42>>,
cS ->TemplateBox[{},CombinatorS ],cW ->TemplateBox[{},CombinatorW ],
cY ->TemplateBox[{},CombinatorY ]|>,{<<1>>},{<<1>>},<<5>>,{<<1>>},{<<1>>},<<3>>]
cannot be joined.


And another similarly dense error message; both are shown in the image below.

Of course, Join::incpt doesn't link to anything in the documentation, and it's not clear at all what this warning/error means.

Questions:

• Since it's in the Notation package, I think this is Wolfram's problem?
• Does it happen for others?

In case it matters, I am using \$Version == "12.3.0 for Mac OS X x86 (64-bit) (May 10, 2021)". I don't think this happened with recent previous versions.

If so:

• Is it a bug?
• Can you find an example expression that looks like it is correct notation but fails because of this warning?

If not (since @Rohit Namjoshi is unable to reproduce on the same version):

• What might I have done to my installation that caused this?
• Unable to reproduce on "12.3.0 for Mac OS X x86 (64-bit) (May 10, 2021)". Jun 22 at 15:25
• Hmmm THAT is odd. Jun 22 at 15:26
• I'm seeing exactly the same Join: Incompatible elements .... error with 12.3.0 for Mac OS X x86 (64-bit) (May 10, 2021) under macOS Big Sur 11.4. Jun 22 at 15:48
• I'm also on Big Sur 11.4 [macOS 11.4 (20F71)]; on a Intel chip. @RohitNamjoshi are you on 11.4? Intel chip or apple silicon? Jun 22 at 15:50
• Can confirm that this also happens on 12.3 for Windows 10 Jun 22 at 16:05

## 1 Answer

It looks like they changed InputAliases from a list to an association, but this doesn't seem to be properly documented as far as I can tell. And clearly, they also did not update the Notation  package to support the new syntax. Until they fix it, you can use the following code to load the Notation  package without any errors:

InternalInheritedBlock[
{SetDelayed},
Unprotect@SetDelayed;
HoldPattern[
NotationAddInputAlias[args___] :=
With[v : {s_ = _, o_ = _},
With[_, SetOptions[n_, InputAliases -> Join[_, _]]]]] :=
(
NotationAddInputAlias[args] :=
With[v, SetOptions[n, InputAliases -> Join[o, <|s|>]]]
);
<< Notation
]


This effectively fixes the two offending definitions of AddInputAlias such that they work properly with the new format.

You might also need to reset the value of InputAliases to the state before Notation  broke it:

SetOptions[$$FrontEnd, InputAliases -> FirstCase[ Quiet@CurrentValue[$$FrontEnd, InputAliases],
_Association,
Inherited,
All
]
]
`