Project Replace and Word Joiner don’t seem to work well together.
FIrst, we are unable to insert the word joiner directly into Project Replace from the menu (or insert if from a menu keystroke one may have created). It simply won’t allow this.
It seems the only way to get it there is to copy/paste it there from editor text that contains it.
Second, WJ not only joins two words (or two alpha characters which we’d prefer that Apple hyphenation would ignore), but it also connects an alpha character to an already existing WJ, which makes zero sense. Once there is one WJ, what is the sense of adding another in that location in the text?
What this means is it will add a second WJ if invoked. And since we can’t see the WJ, even if invisibles are turned on, it’s a common mistake to place one where there already is one, meaning we can end up with any number of WJs in a row, quite easily, and quite accidentally, and never even see them.
That is also a problem, that we can’t see them. I’m told that the reason is that it’s a zero-point-width character break, so there is no physical space to put an invisible. That seems like a thin excuse to me (pardon the pun). I’d be completely happy if an invisible that was not zero-point width were used to indicate the WJ, assuming it were a symbol that we could recognize as implying that there is a WJ there.
Back to Project Replace:
Even though it will allow pasting of WJs and even multiple WJs into either field, if we insert, for instance [WJ][WJ]— into the search field (two word joiners and an em dash) and [WJ]— into the replace field, it seems to not find instances of [WJ][WJ]— in the editor text, even though we know they exist there,
Of course, not being able to see them, the only way we can really know is to forward-arrow or back-arrow through them and look for a point where the keystroke is ignored, making this all the more difficult.
Bottom line, it is easy to end up with a document where there may be any number of WJs in a row, a situation where what we really want is a single word joiner, and no way to either see that visually, or fix it using Project Replace.
This implies that Project Replace is broken with regard to WJs.
This could be considered simply an inability to perform as wished, due to never being addressed. But since KB and crew are brilliant and doggedly work tirelessly to make Scrivener as perfect as humanly possible (which I am eternally grateful for), if that isn’t something that adds up to the definition of being a bug, as Raymond Chandler would say, I’ll eat your spare tire, rim and all.
It also implies that WJ is not smart enough to not invoke itself twice in a row, which since the user can’t see it, can happen accidentally, quite easily.