WordPress.org

Make WordPress Core

Opened 8 years ago

Closed 6 years ago

Last modified 7 weeks ago

#3810 closed defect (bug) (duplicate)

Wrong quotation mark after bracket

Reported by: josepo Owned by:
Milestone: Priority: normal
Severity: normal Version: 2.1.1
Component: Formatting Keywords:
Focuses: 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)

3810.diff (1.1 KB) - added by Nazgul 8 years ago.
formatting.diff (1.0 KB) - added by mrmist 7 years ago.
refreshed against 10257

Download all attachments as: .zip

Change History (21)

comment:1 @josepo8 years ago

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.)

comment:2 @foolswisdom8 years ago

  • Milestone changed from 2.1.2 to 2.2
  • Version set to 2.1.1

@Nazgul8 years ago

comment:3 @Nazgul8 years ago

  • Keywords has-patch added

Patch based on given code snippet added.

comment:4 @markjaquith8 years ago

  • Keywords 2nd-opinion needs-testing added

comment:5 @foolswisdom8 years ago

  • Milestone changed from 2.2 to 2.3

comment:6 @Nazgul8 years ago

  • Milestone changed from 2.3 to 2.4

comment:7 @thee177 years ago

  • Milestone changed from 2.5 to 2.6

@mrmist7 years ago

refreshed against 10257

comment:8 @mrmist7 years ago

  • 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:9 @mrmist6 years ago

See also #4539

comment:10 @ryan6 years ago

  • Component changed from General to Formatting
  • Owner anonymous deleted

comment:11 @Denis-de-Bernardy6 years ago

  • 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.

comment:12 @Denis-de-Bernardy6 years ago

  • Keywords 2nd-opinion removed
  • Milestone changed from 2.9 to 2.8

comment:13 @azaozz6 years ago

  • Milestone changed from 2.8 to Future Release

Partial duplicate of #8775, perhaps better to merge them.

comment:14 @Denis-de-Bernardy6 years ago

  • 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.

comment:15 @Denis-de-Bernardy6 years ago

  • Milestone changed from Future Release to 2.9

comment:16 @hakre6 years ago

+1 for merging

comment:17 @westi6 years ago

  • Resolution set to duplicate
  • Status changed from new to closed

Dupe of #1418.

I have added this explicit test case to wordpress-tests.

Fixed in [11813]

comment:18 @hakre6 years ago

  • Keywords has-patch needs-testing needs-unit-tests removed

comment:19 @DrewAPicture7 weeks ago

  • Milestone 2.9 deleted
Note: See TracTickets for help on using tickets.