From 7654db9df1b68926371da2a1f23db6df93056f44 Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Fri, 11 Jul 2014 15:52:38 -0700
Subject: [PATCH] Markdown writer:  don't use braced attributes for fenced
 code.

Removed `Ext_fenced_code_attributes` from `markdown_github`
extensions.

If this extension is not set, the first class attribute will
be printed after the opening fence as a bare word.

Closes #1416.
---
 README                              | 2 +-
 src/Text/Pandoc/Options.hs          | 1 -
 src/Text/Pandoc/Writers/Markdown.hs | 4 ++--
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/README b/README
index bb690f779..a469b8c9c 100644
--- a/README
+++ b/README
@@ -2634,7 +2634,7 @@ variants are supported:
 
 `markdown_github` (Github-flavored Markdown)
 :   `pipe_tables`, `raw_html`, `tex_math_single_backslash`,
-    `fenced_code_blocks`, `fenced_code_attributes`, `auto_identifiers`,
+    `fenced_code_blocks`, `auto_identifiers`,
     `ascii_identifiers`, `backtick_code_blocks`, `autolink_bare_uris`,
     `intraword_underscores`, `strikeout`, `hard_line_breaks`
 
diff --git a/src/Text/Pandoc/Options.hs b/src/Text/Pandoc/Options.hs
index b7a3a4b7b..8580a6914 100644
--- a/src/Text/Pandoc/Options.hs
+++ b/src/Text/Pandoc/Options.hs
@@ -163,7 +163,6 @@ githubMarkdownExtensions = Set.fromList
   , Ext_raw_html
   , Ext_tex_math_single_backslash
   , Ext_fenced_code_blocks
-  , Ext_fenced_code_attributes
   , Ext_auto_identifiers
   , Ext_ascii_identifiers
   , Ext_backtick_code_blocks
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index a67271a5d..78500d498 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -405,8 +405,8 @@ blockToMarkdown opts (CodeBlock attribs str) = return $
          attrs  = if isEnabled Ext_fenced_code_attributes opts
                      then nowrap $ " " <> attrsToMarkdown attribs
                      else case attribs of
-                                (_,[cls],_) -> " " <> text cls
-                                _           -> empty
+                                (_,(cls:_),_) -> " " <> text cls
+                                _             -> empty
 blockToMarkdown opts (BlockQuote blocks) = do
   st <- get
   -- if we're writing literate haskell, put a space before the bird tracks