#3810 closed defect (bug) (duplicate)
Wrong quotation mark after bracket
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 2.9 |
| Component: | Formatting | Version: | 2.1.1 |
| Severity: | normal | Keywords: | |
| Cc: |
Description
formatting.php sets a closing quotation mark after a bracket, even at the beginning of words. Example:
A dog ("Hubertus") was sent out.
The first quotation mark will not be formatted properly. This looks especially ugly when using the intypo plugin.
Solution: In formatting.php, replace the line
$dynamic_characters = array('/\'(\d\d(?:’|\')?s)/', '/(\s|\A|")\'/', '/(\d+)"/', '/(\d+)\'/', '/(\S)\'([\'\s])/', '/(\s|\A)"(?!\s)/', '/"(\s|\S|\Z)/', '/\'([\s.]|\Z)/', '/(\d+)x(\d+)/');
with
$dynamic_characters = array('/\'(\d\d(?:’|\')?s)/', '/(\s|\A|")\'/', '/(\d+)"/', '/(\d+)\'/', '/(\S)\'([\'\s])/', '/(\s|\A|\s\(|\A\()"(?!\s)/', '/"(\s|\S|\Z)/', '/\'([\s.]|\Z)/', '/(\d+)x(\d+)/');
Attachments (2)
Change History (20)
comment:2
foolswisdom — 6 years ago
- Milestone changed from 2.1.2 to 2.2
- Version set to 2.1.1
comment:4
markjaquith — 6 years ago
- Keywords 2nd-opinion needs-testing added
comment:5
foolswisdom — 6 years ago
- Milestone changed from 2.2 to 2.3
- Milestone changed from 2.9 to 2.8
I've refreshed the patch on this. Shifting to 2.8 since it has a patch and has been languishing.
It'd suggest it either goes in or is closed.
comment:10
ryan — 4 years ago
- Component changed from General to Formatting
- Owner anonymous deleted
- Milestone changed from 2.8 to 2.9
Maybe wontfix, yeah. it's been open and ignored for so long... :D
Maybe someone who shows up with a full load of tests with results might convince devs to commit, though.
- Keywords 2nd-opinion removed
- Milestone changed from 2.9 to 2.8
comment:13
azaozz — 4 years ago
- Milestone changed from 2.8 to Future Release
Partial duplicate of #8775, perhaps better to merge them.
- Keywords needs-unit-tests added
Let's worry about merging all of the formatting tickets after 2.8. They've been open for so long that it doesn't matter much if it gets fixed now or then.
Punting pending unit-tests.
- Milestone changed from Future Release to 2.9
comment:16
hakre — 4 years ago
+1 for merging
comment:17
westi — 4 years ago
- Resolution set to duplicate
- Status changed from new to closed
comment:18
hakre — 4 years ago
- Keywords has-patch needs-testing needs-unit-tests removed

This solution is a whole lot better yet (covers all expressions where the delimiting blank does not immediately precede or follow the quotation mark):
$dynamic_characters = array('/\'(\d\d(?:’|\')?s)/', '/(\s|\A|")\'/', '/(\d+)"/', '/(\d+)\'/', '/(\S)\'([\'\s])/', '/(\s|\A|\s\S|\A\S)"(?!(\s|\A|\S\s|\S\A))/', '/"(\s|\S|\Z)/', '/\'([\s.]|\Z)/', '/(\d+)x(\d+)/');
Currently,
<p>A dog named "<a href="http://...">Hubertus</a>":</p>
results in the second quotation mark turning the wrong way. This is fixed by the solution shown above. (Of course, it also covers the bracket problem.)