Issue: Discourse Software Is Changing All Quotes in to Smart Quotes



I don’t know when this started happening, but today I have noticed numerous examples where the Discourse software is changing plain quotes, ' and " into smart quotes ’ and ".

For example:
‘use a single plain quote’
“use a double plain quote”

Here’s the screenshot of what I typed, taken in the edit panel

which clearly shows I type plain quotes,

but Discourse turns them into smart/fancy quotes, screenshot in the Preview Panel

@peternlewis, can this be turned off? If so, please do so.


It is more apparent in our emails:



I would guess it is a shiny new feature of 1.9.5 or 1.9.6.

So it appears to apply to text, but not to quoted text:

hello 'there’
hello “there”

hello 'there'
hello 'there'

There does not seem to be an way to turn it off in the settings. You can ask on I guess, see if it is indeed a new intended feature and it is intended there is no way to disable it.


I really hate when software changes what I type, unless I have given it permission to do so. What could possibly be the benefit of this?

I don’t mind asking, but I think it would carry more weight, and be better received, if it came from a forum owner.


“Carry more weight”? Ha! Nothing carries any weight with them.


Ah, you caught the fallacy in my argument. LOL

Well, I’ll leave it up to you.


I’ve asked on:

Is there some reason you want the option off? It doesn’t apply to quoted text or even back-quoted text ("hello"), so generally it should be ok.


OK, so apparently there is a site wide setting for this:

which doesn’t mention anything about quotes.

So now I can turn it off, but should I. Clearly @JMichaelTX doesn’t like it, and I can see issues for code, but code should be in code blocks or quoted, so I’m not sure turning it off is necessarily good.



On a site devoted to advanced computer software we’re debating relics of the typewriter era?

Smart quotes and “basic typography rules” all the way.


Hey Peter,

In general I’m with @JMichaelTX – I don’t like it when software changes things without my knowledge and/or express permission.

But in this case I don’t think I care – as long as properly fenced code is immune.



Yes, there is a very specific reason to turn this off: The benefit of this feature is cosmetic, but there can be an adverse technical effect.

While it is good that if we put text in a quote block it does not convert the quotes, the problem is that many users are not informed enough to do so, so very often we will get requests to process some text data which the user just types into a forum post, without a quote block.

So, let’s say it is RegEx issue. If I just copy the text and it includes fancy quotes (but the user typed plain quotes), then my solution will be flawed.

So the real question should be, why do you want this feature? What is the benefit to the forum or KM?

KM and this forum are technical subjects. They are not about publishing, where the fancy quotes are usually required.

We have survived for years without the use of fancy quotes here in this forum. Why change? Just to look pretty???


Yes, because just as I feared, it is causing issues with users who don’t know to post in a quote block:

Plus this auto-change will apply to historic posts before we knew they should be in quote blocks. So, this can really lead to confusion.

Peter, please disable this “feature”, which is really a nuisance.


The ones in the first post ate curly quotes, so the forum is not doing anything to them.

I’m not yet convinced.

Personally, I like the feature (although for myself I often actively use the curly quotes, but it is nice to not have to).

Feel free to continue to point out issues where confusion is caused, I am willing to be convinced, but I am not yet convinced that the disadvantages are sufficient to overcome the convenience.


Hey Peter,

After thinking about this awhile it’s become clear to me that we will have recurring issues on the forum with converted quotes in improperly posted code and data samples.

A) Code and textual data that is already on the forum that worked fine when posted but is now broken.

B) Code and textual data that will be posted in future.

How much of a nuisance will it be?

How much time will be wasted dealing with related users issues/questions and wrestling with mangled code/data?


One way or the other I guess we’ll see…

You mean it’s nice to not have to reach for the keystrokes – and still have curly quotes due to the auto-conversion?

I have several macros that handle curly quotes in Typinator.

dq	==  “{^}”	 --  Emplace curly double-quotes with cursor in between.
dqq	==  “{clip}” --  Emplace curly double-quotes with contents of clipboard in between.
sq	==  ‘{^}’	 --  Emplace curly single-quotes with cursor in between.
sqq	==  ‘{clip}’ --  Emplace curly single-quotes with contents of clipboard in between.

These save me quite a lot of trouble, although I need to enhance the macros using the clipboard to automatically strip leading and trailing blank lines.



What is the necessity of using smart quotes?
You are putting form before function, and I know you know better than that. :wink:


Form is essential as well as function - form makes a difference too.

But I have changed the preference to disable the feature. I might have to implement @ccstone’s macros.