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?

2
  • 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, 2017 at 9:10
  • Do you have substitutions starting with $ or =?
    – dan
    Aug 11, 2017 at 11:25

1 Answer 1

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.

7
  • 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, 2017 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, 2017 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, 2017 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, 2017 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, 2017 at 18:08

You must log in to answer this question.

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