From bec95c97ace807b4f6c6ad359bf0b310b905f707 Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Tue, 11 Jun 2019 20:43:20 -0700
Subject: [PATCH] LaTeX writer: Don't highlight code in headings.

This causes compilation errors, and I don't know how
to work around them.  Closes #5574.
---
 src/Text/Pandoc/Writers/LaTeX.hs | 7 ++++---
 test/command/5574.md             | 8 ++++++++
 2 files changed, 12 insertions(+), 3 deletions(-)
 create mode 100644 test/command/5574.md

diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index 9933c6d36..3acf80866 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -1190,10 +1190,11 @@ inlineToLaTeX (Code (_,classes,kvs) str) = do
                Right h -> modify (\st -> st{ stHighlighting = True }) >>
                           return (text (T.unpack h))
   case () of
-     _ | writerListings opts  && not (inHeading || inItem) -> listingsCode
+     _ | inHeading || inItem  -> rawCode  -- see #5574
+       | writerListings opts  -> listingsCode
        | isJust (writerHighlightStyle opts) && not (null classes)
-                                                    -> highlightCode
-       | otherwise                                  -> rawCode
+                              -> highlightCode
+       | otherwise            -> rawCode
 inlineToLaTeX (Quoted qt lst) = do
   contents <- inlineListToLaTeX lst
   csquotes <- liftM stCsquotes get
diff --git a/test/command/5574.md b/test/command/5574.md
new file mode 100644
index 000000000..441b3afd6
--- /dev/null
+++ b/test/command/5574.md
@@ -0,0 +1,8 @@
+No highlighting inside heading:
+```
+% pandoc -t latex
+# `foo`{.cpp}
+^D
+\hypertarget{foo}{%
+\section{\texorpdfstring{\texttt{foo}}{foo}}\label{foo}}
+```