From c74c5fdd97e8bf4c160a42dff72e3a521294bcda Mon Sep 17 00:00:00 2001 From: Hubert Plociniczak <hubert.plociniczak@gmail.com> Date: Tue, 18 Oct 2016 10:50:37 +0200 Subject: [PATCH] Issue 3143: Don't duplicate text for anchors When creating an anchor element we were adding its representation as well as the original content, leading to text duplication. --- src/Text/Pandoc/Readers/Odt/ContentReader.hs | 5 ++--- tests/odt/native/referenceToText.native | 2 +- tests/odt/odt/referenceToText.odt | Bin 10179 -> 10208 bytes 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Text/Pandoc/Readers/Odt/ContentReader.hs b/src/Text/Pandoc/Readers/Odt/ContentReader.hs index 8c475eefc..ffd2f61d1 100644 --- a/src/Text/Pandoc/Readers/Odt/ContentReader.hs +++ b/src/Text/Pandoc/Readers/Odt/ContentReader.hs @@ -713,9 +713,8 @@ maybeAddAnchorFrom anchorReader = >>> proc (inlines, fAnchorElem) -> do case fAnchorElem of - Right anchorElem -> - arr (anchorElem <>) -<< inlines - Left _ -> returnA -< inlines + Right anchorElem -> returnA -< anchorElem + Left _ -> returnA -< inlines where toAnchorElem :: Anchor -> Inlines toAnchorElem anchorID = spanWith (anchorID, [], []) mempty diff --git a/tests/odt/native/referenceToText.native b/tests/odt/native/referenceToText.native index 1d80e2d0d..a2c3e588d 100644 --- a/tests/odt/native/referenceToText.native +++ b/tests/odt/native/referenceToText.native @@ -1 +1 @@ -[Para [Span ("an anchor",[],[]) [],Str "Some",Space,Str "text."],Para [Str "A",Space,Str "reference",Space,Str "to",Space,Link ("",[],[]) [Str "Some",Space,Str "text"] ("#an anchor",""),Str "."]] +[Para [Span ("an anchor",[],[]) [],Str "Some",Space,Str "text."],Para [Str "A",Space,Str "reference",Space,Str "to",Space,Link ("",[],[]) [Str "Some",Space,Str "text"] ("#an anchor",""),Str "."],Para [Str "Some",Space,Str "text",LineBreak,Str "Another",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "link",Span ("anchor",[],[]) []]] diff --git a/tests/odt/odt/referenceToText.odt b/tests/odt/odt/referenceToText.odt index 281055aa0fa17d563498495ff129ef0446be283a..19237e6f179ac80ec482c73b0b82527e45568c81 100644 GIT binary patch delta 1269 zcmZ`(e>jtS6o2>5+<veryIRY-bvLVq-MTC*mzGH3)uftQOlfABHHIr<DKhh`-EU3h zauw>CF7eou>#AJTBdsgSEhM6nRTEQsp3;5wf9E{UInVi=&pGF>^J&>OxD8m@kk!RJ z@EAi>r{F;wn#^)QfQew0gB57Tkbnpi2&ga(W%z+FC<bt(x{2io2F6+d0-aoU9Ja+O zun;r{V&n#GeR+koDFm%Z)(|uwf}n^)(s-dXo|zOQsp268y{m1SKJY@c5BTF<1Z@%g zuySXGU*lN%uCWA}WzD$nL3fLpREq60Xo;7;sit*u;O^vPZe4(<seBpVRTIrZZk07= zl<r^u@*oRI`}|3h7U21B7-Ck$wJ(lrh^+8_zWw6qNkz8Ev50b^yWEx09o}FdZqc2M zILqWxcJE$P{7_H6o{$nd-{V-LB+K0`Apemq(@9!s-yE7KEhW=^|8&#)3&!~E?v7m* z@2fjt`whXhwtHhPw)ZytSf;D244RUb8&vrwlS!<sKeju^(T@r<L<%CVr_G5{aLcSb zJsKV&Xiap`ZfAD(ORU+~*gG3Ttta_W1uTj63(bIXuzNVQkN~Ll9j6C-JVX;}&yV5L zNy)iQ;UlstrAMu5aah03pnN-_@2PrlPDbin_TkNwCn?EEZ%Z#<9={{Yx`-9=hO8{2 zDgRA$>5eW5F4z*Q;9nK@P3srbXN_x4$SnH)cAGL?y1kBHmNDl=%it+TBgaP+FjW28 zjAeyH4eyE2Tos&|(GAr1_5`X1VhQ)D@xqC{X2}R8^nUVqm-FqhsrJ;QrXSvlA$?v) zkZbV5T0^3YS2{Em$a#==($9#<qvF**i7sx|F4uEDX+#P`&L#04|GvzMUCdCp#nqSo zTC$LN@>;+@^3F9#38#vaYy0ewis~I#yJ7Rf<l--79M;p0OuNEW`(>*Qi)@bUn-=Di z#G`98)!g$#X&I8XDhlIWID4-u*SP6bqw<*h3sa3VX(|3lsX3xO34Z{8=Qn}MrFhuI zYk+h9%_W7XChKNGc8ZaU7u!oS20W(;55)q-S|fM8b91cb#4pA9VWUT$db0Z)9+%JD zb(&cf)aG57LvwoGZwJ5EGK&Z21*h}PEsDYnS;Wm>m-`v5*ws6|1ZQ50nqC!(-U$T1 zj~It;T$aI~tH1xwPv+@i^Af)UPv1sXHanc-oKl3ZojG~)nshnWg2;~^_BZHTZBjHU zhKZU_R<}9-wRB6-88&h+`s1Myi8jrYUPPaY>$2>YQz)O!Kfk(>EeX5=CEyaIA?$mZ z8y|H(KHeqGI}w#x{!EG-ogR<$>T5;vGJA@8pH^R$Gv}v|kS6fHZ_EcSjJDU@FZqL2 zhvg|SK#e2UsqGP*+7bbUIAR@P?m=77NL`76)Fljnr`dx7DjvfFB~&WV(ujaT!(;Nm zI$8jH2Lf5Nwcv>Z9s>b8hjpL{ZLz^!+EzFY0~WwbK^cwwb-EISIrv}((YOc*;5k6D zV&!5I3_*y`j*ZS+12_K^vrj6H6w1FoJeW&oz^Pb}4wId@{up=zmiSGbK&1k;Wk+@C zT1${Zr+|4Y$S`9bps!$CiBTbm5ytPE6%pV;Wmx49P(X}Ahh;*bM2|co03Dr8Guc6q bJpQmmD4(Tr{c)DFOBbLnvw)yI)Y<BPRNX0H delta 1228 zcmaFhf7pL=H-GSCHb#+&PedlaRpy$=ls|EK@#G*zzsY)xDwB^edQDycq<a`eCNEHB zVJk??OU=>WT+3|8Jdstjo|}PzAvr&<BsH%@uOc^RX}E9yEdznQ-@{#2UWxv|w06sq z16fyB1ub>8-Jtz7ONRN{FXgSWO#k;Kx3e5p6X-mxS8;E4<vhv$vtKgxE4D1YWuTh= zvEYM%dx+3f!<{pa=C9vB>G+S#f0?VUWxHj}(hTCz%5|Eu<%2!bHj~WMxku|;r>#8H zHZvs2(KpL;RgqS9nAD<R`PET|-wsq?wzWu!-nG5<BwzKhqpSZ-1ai}*rUSX$p1d!! zuTI}%ZWF0}V%Ld{sp4AS=A8T<xo4}Hzo6FXqJTbjulx%IMl%)ib6F;{O&6b49pWbN z^a`tShK0l;DeV<UYrk6NXn2Yxxz?Ayzmm{xA9D4L*<S0U?JqreZzkQ{ZEo{p&z{F? z>MM^&o)Eo}XPxz_LoDG-y_o*;xC@K&b=qycMK9{S-+Puz_S4j$-VpZ{d@H6~S5^Gz zTJ@fB*B&l?)6F651x2EM2I{`Yre=6cJ!s<);JmxjELZBj>Y)+=w-rX_36o2A{o7qp zA2~@^^ao4Y_Jf?0k0n)}>M3)5ap$G^lFW5ma)ma(vo}~6wb<?UHLiQLcjj(w%PX0- z)yeUk#KDX0&C}mV=-SUed-(NV14p?lCVGqa*s1b<+abH_{K~XE^%=X}JX#u;I2Nz4 z;k^;6FE{gGtV!4NuSbJT*E*g(B&D|?rI*v!$ZJRaO#ju4mvr2(mM>2h)8B9>!LCPn zhKQ+)LEQ>n!(He8GfPLy9r5}oCf@k5ZMOW3%~R8K?fj-qc$ags&Fh4sjAF1+a$al2 zHJ<IAYp&<-<QKHu%#wD4kNLXjAGa6Nn>O&cd+YdqQIp)Gn9)5!-y-~3HTO27nCTS; z)4Hln<WAqcS<n96-97eiWz6x`&;oOVNfq{v?(0L!GWP8#KUMQ8Uc2p|_5;sr7Qc2# z{9M{IbIxPuMO@tBcD@!o-WGofHtpHzbs+y7cd{u*z@?LWPv6Ym`||gm1IKsI{j(-6 zd>_-@$kW<g=WBulryCqJUbFcJ$Hfxgt?FEB?l1KCpvJ+RD0%Qiz<n*=h10wO^0Sv7 zl6bGg*QfN^Zr8lU#|l$IOC-7NT*bZL-8)<$y7TD{L$&EvOn+Z2z8s)p_1dfC+J+U6 zmmmCNAK=Z-;q+t6Uu|XvhG-rJh6z%eKk;V?Ph^tV?84>CI+0Cevk{XoBMT#w2*c!l zekn0venSGenYpPYl?ADjFQ~{&j#J@d^qqW5S$T4jvJzwSL}{(b>y>5r<&o4gFx;A~ zpyI<M&Nw+w#cc8$u#Vp<o=okGlVup?CcCI;Fz%n+tLn=1m2q+(SU_sBnJOQXF4N>b zRk6vhRQV=1GfMy+3InN3ljGIoOhp((7&tgM7*vZ+x*_`qR6ZcUL{^m2VseDK7SmUb z$t~&@Ts#5{48<jtIjO~y*Qx0-mCH=Nr)I&kO_qTH=)*)%*)sWqsut4?#mO>ik|L~Z RAVUR#uz-bu!B!c>0|1$g?u7sV