Guillem Jover wrote on Sat, 14 Mar 2020 22:51 +00:00: > Hi! > > On Sat, 2020-03-14 at 21:49:12 +0000, Daniel Shahaf wrote: > > Sean Whitton wrote on Sat, 14 Mar 2020 20:39 +00:00: > > > On Sat 14 Mar 2020 at 08:09PM +00, Daniel Shahaf wrote: > > > > Daniel Shahaf wrote on Sat, 14 Mar 2020 18:14 +00:00: > > > >> - :: > > > >> - > > > >> - /closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/i > > > >> - > > > >> + All of the bug numbers listed must be given on the same physical > > > >> line > > > >> + as the word ``closes:``. > > > > > > > > Is this newly-added sentence correct? > > > > > > > > Whether it correctly states the semantics of the regexp depends on > > > > whether the regexp is matched against the changelog entry as a single > > > > multiline string or line-by-line. In the former case, the list of bug > > > > numbers would be allowed to span multiple lines, but in the latter case > > > > it wouldn't. > > > > > > > > Currently, the patch assumes all bug numbers should be on the same line, > > > > but /usr/share/vim/vim81/syntax/debchangelog.vim allows bug numbers to > > > > span multiple lines. I'm guessing the syntax file is right and the > > > > patch should > > > > be changed? > > > > > > In PCREs \s matches the newline character so I believe your text is > > > incorrect. > > > > I agree that it is probably incorrect, but that doesn't follow from the > > semantics of /\s/. Even if /\s/ matched any single byte/character, the > > semantics would still depend on what haystack the regexp is matched > > against: the entire changelog entry, or one line thereof at a time. > > It is definitely incorrect. The canonical implementation is currently > in libdpkg-perl's Dpkg::Changelog::Entry::Debian::find_closes(), where > the entire changelog entry is passed as a single string, so something > like this is perfectly fine: > > Closes: > #12345, > #67890, > #55555 >
Thanks for the review and the pointer to the source of truth! > AFAIK, DAK only operates based on the Closes field in the .changes > file. I'll clarify the regex also in the deb-changelog(5) man page. > > Thanks, > Guillem Cheers, Daniel