Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-commonmark-extensions for 
openSUSE:Factory checked in at 2026-06-10 15:58:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-commonmark-extensions (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-commonmark-extensions.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-commonmark-extensions"

Wed Jun 10 15:58:29 2026 rev:19 rq:1358343 version:0.2.7

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/ghc-commonmark-extensions/ghc-commonmark-extensions.changes
      2025-02-17 20:54:35.612642822 +0100
+++ 
/work/SRC/openSUSE:Factory/.ghc-commonmark-extensions.new.2375/ghc-commonmark-extensions.changes
    2026-06-10 15:59:06.939542953 +0200
@@ -1,0 +2,24 @@
+Sun May 31 14:57:48 UTC 2026 - Peter Simons <[email protected]>
+
+- Update commonmark-extensions to version 0.2.7.
+  ## 0.2.7
+
+    * Math extension: bail out on pathological nestings.
+      This means we can't handle TeX math with more than 1000 levels of
+      `{..}` nesting, but no real formula will go this far.
+
+    * Math extension: do not allow math closer followed by digit (#167,
+      Michael Howell). With this change, closing `$` cannot be
+      followed by a decimal digit. For example, `$1$` is fine, but
+      `$1$2` is not. This avoids some false positives like `Current
+      conversion rate makes US$99 about A$137`.
+
+    * Fix the blank line scanner after the `]` (Michael Howell).
+
+    * Fix disagreement with GitHub about block nesting in tasklists
+      (Michael Howell). Text on the same line as the task marker can't
+      start a block. It has to be paragraph text.
+
+    * Fix incorrectly computed indent on `task_list` (Michael Howell).
+
+-------------------------------------------------------------------

Old:
----
  commonmark-extensions-0.2.6.tar.gz

New:
----
  commonmark-extensions-0.2.7.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-commonmark-extensions.spec ++++++
--- /var/tmp/diff_new_pack.6Jm6RE/_old  2026-06-10 15:59:08.067589699 +0200
+++ /var/tmp/diff_new_pack.6Jm6RE/_new  2026-06-10 15:59:08.071589864 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-commonmark-extensions
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
 %global pkgver %{pkg_name}-%{version}
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.2.6
+Version:        0.2.7
 Release:        0
 Summary:        Pure Haskell commonmark parser
 License:        BSD-3-Clause

++++++ commonmark-extensions-0.2.6.tar.gz -> commonmark-extensions-0.2.7.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/commonmark-extensions-0.2.6/changelog.md 
new/commonmark-extensions-0.2.7/changelog.md
--- old/commonmark-extensions-0.2.6/changelog.md        2001-09-09 
03:46:40.000000000 +0200
+++ new/commonmark-extensions-0.2.7/changelog.md        2001-09-09 
03:46:40.000000000 +0200
@@ -1,5 +1,25 @@
 # Changelog for commonmark-extensions
 
+## 0.2.7
+
+  * Math extension: bail out on pathological nestings.
+    This means we can't handle TeX math with more than 1000 levels of
+    `{..}` nesting, but no real formula will go this far.
+
+  * Math extension: do not allow math closer followed by digit (#167,
+    Michael Howell). With this change, closing `$` cannot be
+    followed by a decimal digit. For example, `$1$` is fine, but
+    `$1$2` is not. This avoids some false positives like `Current
+    conversion rate makes US$99 about A$137`.
+
+  * Fix the blank line scanner after the `]` (Michael Howell).
+
+  * Fix disagreement with GitHub about block nesting in tasklists
+    (Michael Howell). Text on the same line as the task marker can't
+    start a block. It has to be paragraph text.
+
+  * Fix incorrectly computed indent on `task_list` (Michael Howell).
+
 ## 0.2.6
 
   * Track wikilinks with a class instead of the title (Evan
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/commonmark-extensions-0.2.6/commonmark-extensions.cabal 
new/commonmark-extensions-0.2.7/commonmark-extensions.cabal
--- old/commonmark-extensions-0.2.6/commonmark-extensions.cabal 2001-09-09 
03:46:40.000000000 +0200
+++ new/commonmark-extensions-0.2.7/commonmark-extensions.cabal 2001-09-09 
03:46:40.000000000 +0200
@@ -1,5 +1,5 @@
 name:           commonmark-extensions
-version:        0.2.6
+version:        0.2.7
 synopsis:       Pure Haskell commonmark parser.
 description:
    This library provides some useful extensions to core commonmark
@@ -60,7 +60,7 @@
     , transformers
     , filepath
     , network-uri
-    , commonmark >= 0.2.4.1 && < 0.3
+    , commonmark >= 0.2.4.1 && < 0.4
     -- for extensions:
     , emojis >= 0.1.4.1 && < 0.2
   exposed-modules:
@@ -101,7 +101,7 @@
   ghc-options: -threaded -rtsopts -with-rtsopts=-K40K
   build-depends:
       base >= 4.9 && <5
-    , commonmark >= 0.2.4.1 && < 0.3
+    , commonmark >= 0.2.4.1 && < 0.4
     , commonmark-extensions
     , text
     , tasty
@@ -114,7 +114,7 @@
   main-is:         benchmark.hs
   hs-source-dirs:  benchmark
   build-depends:
-       commonmark >= 0.2.4.1 && < 0.3
+       commonmark >= 0.2.4.1 && < 0.4
      , commonmark-extensions
      , base >= 4.9 && < 5
      , text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/commonmark-extensions-0.2.6/src/Commonmark/Extensions/Math.hs 
new/commonmark-extensions-0.2.7/src/Commonmark/Extensions/Math.hs
--- old/commonmark-extensions-0.2.6/src/Commonmark/Extensions/Math.hs   
2001-09-09 03:46:40.000000000 +0200
+++ new/commonmark-extensions-0.2.7/src/Commonmark/Extensions/Math.hs   
2001-09-09 03:46:40.000000000 +0200
@@ -4,7 +4,7 @@
   ( HasMath(..)
   , mathSpec )
 where
-import Control.Monad (mzero)
+import Control.Monad (guard, mzero)
 import Commonmark.Types
 import Commonmark.Tokens
 import Commonmark.Syntax
@@ -15,6 +15,7 @@
 import Text.Parsec
 import Data.Text (Text)
 import qualified Data.Text as T
+import Data.Char (isDigit)
 
 mathSpec :: (Monad m, IsBlock il bl, IsInline il, HasMath il)
          => SyntaxSpec m il bl
@@ -44,14 +45,20 @@
   let isWs c = c == ' ' || c == '\t' || c == '\r' || c == '\n'
   if display
      then displayMath contents <$ symbol '$'
-     else if T.null contents || isWs (T.last contents)
-             -- don't allow math to end with SPACE + $
-             then mzero
-             else return $ inlineMath contents
+     else do
+             -- don't allow empty inline math
+             guard $ not $ T.null contents
+             -- don't allow inline math to end with SPACE + $
+             guard $ not $ isWs $ T.last contents
+             -- don't allow the closer followed by numbers ($5)
+             let startsWithDigit = maybe False (isDigit . fst) . T.uncons
+             notFollowedBy $ satisfyWord startsWithDigit
+             pure $ inlineMath contents
 
 -- Int is number of embedded groupings
 pDollarsMath :: Monad m => Int -> InlineParser m [Tok]
 pDollarsMath n = do
+  guard (n <= 1000) -- bail on pathological inputs
   tk@(Tok toktype _ _) <- anyTok
   case toktype of
        Symbol '$'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/commonmark-extensions-0.2.6/src/Commonmark/Extensions/TaskList.hs 
new/commonmark-extensions-0.2.7/src/Commonmark/Extensions/TaskList.hs
--- old/commonmark-extensions-0.2.6/src/Commonmark/Extensions/TaskList.hs       
2001-09-09 03:46:40.000000000 +0200
+++ new/commonmark-extensions-0.2.7/src/Commonmark/Extensions/TaskList.hs       
2001-09-09 03:46:40.000000000 +0200
@@ -133,6 +133,17 @@
                                listItemType lidata
                     -> addNodeToStack linode
                   _ -> addNodeToStack listnode >> addNodeToStack linode
+             blankAfterMarker <- optionMaybe blankLine
+             pos' <- getPosition
+             case blankAfterMarker of
+                  Just _ -> return ()
+                  Nothing -> do
+                    toks <- many (satisfyTok (not . hasType LineEnd))
+                    addNodeToStack $
+                        Node (defBlockData paraSpec){
+                              blockStartPos = [pos']
+                            , blockLines = [toks] }
+                        []
              return BlockStartMatch
      , blockCanContain     = const True
      , blockContainsLines  = False
@@ -184,11 +195,11 @@
   pos <- getPosition
   ty <- bulletListMarker
   aftercol <- sourceColumn <$> getPosition
-  checked <- parseCheckbox
   lookAhead whitespace
   numspaces <- try (gobbleUpToSpaces 4 <* notFollowedBy whitespace)
            <|> gobbleSpaces 1
-           <|> 1 <$ lookAhead lineEnd
+  checked <- parseCheckbox
+  lookAhead whitespace
   return $! (pos, ListItemData{
             listItemType = ty
           , listItemChecked = checked
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/commonmark-extensions-0.2.6/test/math.md 
new/commonmark-extensions-0.2.7/test/math.md
--- old/commonmark-extensions-0.2.6/test/math.md        2001-09-09 
03:46:40.000000000 +0200
+++ new/commonmark-extensions-0.2.7/test/math.md        2001-09-09 
03:46:40.000000000 +0200
@@ -87,3 +87,27 @@
 .
 <p><span class="math inline">\(b&lt;a&gt;c\)</span></p>
 ````````````````````````````````
+
+The inline math closer cannot be immediately followed by a digit.
+The opener can be, though.
+Display math isn't subject to this rule.
+```````````````````````````````` example
+$1$2$3
+
+$1$2$3$
+
+$1{$2$}3$
+
+$$1$$2$$3
+
+$$1$$2$$3$$
+
+$$1{$$2$$}3$$
+.
+<p>$1$2$3</p>
+<p>$1$2<span class="math inline">\(3\)</span></p>
+<p><span class="math inline">\(1{$2$}3\)</span></p>
+<p><span class="math display">\[1\]</span>2$$3</p>
+<p><span class="math display">\[1\]</span>2<span class="math 
display">\[3\]</span></p>
+<p><span class="math display">\[1{$$2$$}3\]</span></p>
+````````````````````````````````
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/commonmark-extensions-0.2.6/test/task_lists.md 
new/commonmark-extensions-0.2.7/test/task_lists.md
--- old/commonmark-extensions-0.2.6/test/task_lists.md  2001-09-09 
03:46:40.000000000 +0200
+++ new/commonmark-extensions-0.2.7/test/task_lists.md  2001-09-09 
03:46:40.000000000 +0200
@@ -28,3 +28,66 @@
 </ul>
 ````````````````````````````````
 
+
+```````````````````````````````` example
+- [x]unreal
+.
+<ul>
+<li>[x]unreal</li>
+</ul>
+````````````````````````````````
+
+
+```````````````````````````````` example
+-  [x] real
+
+  not indented enough
+.
+<ul class="task-list">
+<li><input type="checkbox" disabled="" checked="" />real</li>
+</ul>
+<p>not indented enough</p>
+````````````````````````````````
+
+
+```````````````````````````````` example
+- [x] * some text
+- [ ] > some text
+- [x]
+  * some text
+- [ ]
+  > some text
+.
+<ul class="task-list">
+<li><input type="checkbox" disabled="" checked="" />* some text</li>
+<li><input type="checkbox" disabled="" />&gt; some text</li>
+<li><input type="checkbox" disabled="" checked="" /><ul>
+<li>some text</li>
+</ul></li>
+<li><input type="checkbox" disabled="" /><blockquote>
+<p>some text</p>
+</blockquote></li>
+</ul>
+````````````````````````````````
+
+There is no empty paragraph after the `]`.
+
+```````````````````````````````` example
+- [x] * some text
+
+- [x]
+
+  some text
+
+- [x]→
+
+  some text
+.
+<ul class="task-list">
+<li><input type="checkbox" disabled="" checked="" /><p>* some text</p></li>
+<li><input type="checkbox" disabled="" checked="" /><p>some text</p>
+</li>
+<li><input type="checkbox" disabled="" checked="" /><p>some text</p>
+</li>
+</ul>
+````````````````````````````````

Reply via email to