1

I am using Yosemite 10.10.5.

I am using a set of text replacement defined within:

System Preferences > Keyboard > Text

as follows (partial view focused on interesting cases):

Text replacement System Preferences .

The -> and => are working in TextEdit: Text replacement TextEdit

But within Calendar, -> is working and => is failing: Text replacement Calendar success

Text replacement Calendar failing.

A test with a newly created account give the same abnormal behaviour.


What may cause this inconsistent text replacement behaviour?

How may I further analyze or debug this inconsistent behaviour?

  • I find that nothing works in Calendar on OS X Sierra, although substitutions I create in Sierra work in the calendar on my iPhone and iPad. – AndrewD Aug 11 '17 at 9:10
  • Do you have substitutions starting with $ or =? – dan Aug 11 '17 at 11:25
2

I’ve experienced many issues using Text Replacements that start with certain symbols, like - = $ and many more (including punctuations). This even extends to replacements that start with numbers.

Those replacements themselves may work, but having them saved might block others from working. Such failures may be limited to specific apps, as you’ve noticed.

Here are my notes on what interacts with what…

The following prevent :) from triggering:

  • ...
  • --
  • -_-
  • ->
  • $)
  • 401k
  • 8B
  • 8o

The following prevent ;) from triggering:

  • |(
  • |)
  • 2d
  • 3g
  • >)
  • >(
  • >=

The following didn’t work at all:

  • 1/2
  • 1/3
  • etc.

I've found that only using replacements that start with : ; ( ^ and letters makes the feature work very reliably.

This affects only macOS (up to and including Sierra 10.12.4). I haven't experienced issues with Text Replacements on iOS at all. However since they sync over iCloud I've had to remove all those “bad” strings.

I arrived at this conclusion by painstakingly removing text substitutions and checking if non-working substitutions suddenly started working. Sure enough, each time I removed all those that started with a given character, an entire class of previously non-working ones started working.

My guess is that macOS treats different characters as word boundaries, and that different applications may use their own rules as well. That would break how substitution strings are detected across macOS apps. For instance on iOS you often need to add a space to trigger a replacement, even one that ends with a ). On macOS the substitution typically occurs immediately.

  • 1
    I can confirm that all my replacements starting with a $ don't work also. An = or a $ everywhere is failing (I guess they are evaluated in an interpreted language environment). [return] On the other hand a - everywhere is OK. Practical exemple I use all the day: ->. – dan May 28 '17 at 22:05
  • 1
    Yes, according to my notes -> worked fine. However using that replacement blocked my replacement for :) and various smileys. It's pretty bizarre how those interactions work out. – user11633 May 28 '17 at 22:31
  • Could you check if you have a $ or an = anywhere within your text to replace? I would like to help us improve your answer. – dan May 29 '17 at 9:53
  • 1
    I added the notes I took when I cleared out my Text Replacements. Unfortunately I had already stopped using => by then. – user11633 May 29 '17 at 15:23
  • 1
    If you meant having such symbols in the vicinity of the replacement, that has never been an issue that I've observed. – user11633 May 29 '17 at 18:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .