The trouble with 'workarounds' is that they can get you into problems later once the bug is fixed. Here is what happened:
The scenario:
You write code in B4J which writes Java code that writes ABMaterial HTML and Javascript code.
The issue:
As you know, strings have to be between quotes. This means trouble on every language level. Erel solved this very elegant by giving us smart strings $""$. On the ABMaterial level (HTML, Javascript I don't have that luck). So 'writing' a line of HTML code can become very ugly very fast. In case of the combo, the end result had to be something like this:
<div onclick="comboclickarray(event, '', '', 'clientcombo', 'Mom', '3')" id="clientcombo3" style="border-bottom: 1px solid #9e9e9e">
You can see the cluster of double and single quotes. So when inputText became Mom's, the bugged code was written as:
<div onclick="comboclickarray(event, '', '', 'clientcombo', 'Mom's', '3')" id="clientcombo3" style="border-bottom: 1px solid #9e9e9e">
And this is of course illegal code.
The workaround the OP used was escaping the ' in Mom's so wrote in B4J (and this works as it is what ABMaterial needed to do):
C.AddItem("2", "Mom\'s",bldItem("2-L","Mom's"))
But now the bug is fixed, he will not get the desired result anymore: Mom\'s will stay Mom\'s and not become Mom's.
Just to give you an idea of the ugliness ABMaterial has to deal with (and why I somehow missed one level of quotes), here is my line of code in the ABMaterial library:
s.append("<div onclick=\"comboclickarray(event, '" + ParentString + "','" + ArrayName.toLowerCase() + "','" + ArrayName.toLowerCase() + ID.toLowerCase() + "','" + entry.getValue().inputText.replace("\\","\\\\").replace("'", "\\\'").replace("\"", """) + "','" + entry.getValue().returnId + "')\" id=\"" + ParentString + ArrayName.toLowerCase() + ID.toLowerCase() + entry.getValue().returnId + "\" style=\"border-bottom: 1px solid " + ABMaterial.GetColorStrMap(l.ItemDividerColor, l.ItemDividerColorIntensity) + "\">\n"); // + ";padding: 0px 1rem;\">\n");
So, not only has it to deal with the quote problem described above, it has its own quote escaping (and escaping of escaped characters) to do.
I hope this gives you some insight in what happened and why it is very important this stuff is entered in the Feedback app.
Cheers,
Alain