Commit graph

110 commits

Author SHA1 Message Date
MoonlightSentinel
ff934f9332 Remove duplicate assumePureFunction from std.regex
It's redundant and has the same invalid constraint that was
fixed for the other implementation
2021-05-10 13:17:42 +02:00
Jon Degenhardt
34e58ec857 Fix issue 21716: std.regex performance regression. 2021-04-25 20:43:24 +08:00
Tobias Pankrath
06dbaa1ed5 review comments 2020-12-12 14:53:29 +01:00
Panke
b5438373ca
Update package.d 2020-12-12 14:01:53 +01:00
Panke
7746e007d2
] in character classes must be escaped.
see https://forum.dlang.org/post/vosqqfhrvddeekjopjjp@forum.dlang.org
2020-12-12 13:59:20 +01:00
Luís Ferreira
d97b65a697
regex: partially make regex pure
Signed-off-by: Luís Ferreira <contact@lsferreira.net>
2020-10-26 18:05:46 +00:00
Nathan Sashihara
453faadf5b Replace is(Unqual!T == Unqual!U) with is(immutable T == immutable U) for speed & memory usage 2020-08-03 15:07:32 +02:00
Geod24
04f3979317 Replace 'Issue XXX' with Bugzilla links
Make the links clickable, as was done in the DMD repository.
Also avoids any ambiguity w.r.t. where the issue is stored.
2020-04-13 16:28:09 +09:00
Adam D. Ruppe
ae93f5317c Use consistent quickindex wrapper around hand-written list-of-links tables 2020-02-21 21:04:05 -05:00
ZombineDev
b923f740f6 Fix Issue 20301 - Support const array of patterns in std.regex.regex 2019-10-16 14:33:49 +03:00
Nathan Sashihara
e226022680 Fix Issue 20098 - Improve result of printing std.regex compiled pattern 2019-08-02 15:53:21 -07:00
David Gileadi
775bcdee51 Turn on -preview=markdown 2019-07-04 10:28:30 -07:00
Vladimir Panteleev
3c472274f1
std.regex.package: Documented null values of captures 2019-06-18 11:25:43 +00:00
Vladimir Panteleev
6c5d7230bc
Fix Issue 19979 - std.regex should return null for non-matched captures 2019-06-17 21:11:06 +00:00
Sebastian Wilzbach
8bc39461aa Use selective top-level module imports in std.{path,range,regex} 2019-05-23 10:25:16 +02:00
Martin Kinkelin
5cc7fc5fb2 std.regex: Fix reassignment of ctRegex wrapper structs
Previously, reassigning such a wrapper resulted in the static immutable
Regex!Char global for that pattern (`staticRe`) to be overwritten by the
global for the new pattern (!). Made possible via alias this and the
logical-const hack.

Proposed fix: keep on allowing reassignments (people are already using
them), but just point to another pattern's global. So use a common
Wrapper struct type wrapping a pointer instead of an empty struct type
per pattern.

Bug reported in https://github.com/ldc-developers/ldc/issues/2961.
2019-02-02 23:03:02 +01:00
aG0aep6G
b9fe8b9ed0
Ddoc: fix unescaped dollar sign 2018-09-13 19:22:55 +02:00
Sebastian Wilzbach
c324714fde Remove a few cases of underscore escaping 2018-06-04 13:05:01 +02:00
Martin Nowak
9fdcf660dd Merge remote-tracking branch 'upstream/stable' into merge_stable
# Conflicts:
#	std/bitmanip.d
2018-04-06 19:39:58 +02:00
Sebastian Wilzbach
42894784dd Markdownify Phobos
$(D word) -> `word`
2018-04-02 22:32:47 +02:00
Dmitry Olshansky
b602b5a3f4 Fix issue 18691 - memory errors in std.regex.Captures
Instead of a messy code that ended up with refcount at the wrong place
provide a clean fixed-size array with required semantics and
build on top of that.
2018-03-29 19:49:51 +03:00
The Dlang Bot
02aebb2920
Merge pull request #6268 from DmitryOlshansky/regex-cacheing
Cache and reuse std.regex engine to speed repeated matching
merged-on-behalf-of: David Nadlinger <code@klickverbot.at>
2018-03-22 02:21:27 +01:00
Dmitry Olshansky
4318073f40 Fix issue 18600 Revamp std.regex caching for matchFirst case 2018-03-21 14:53:34 +03:00
WebFreak001
0b9ca7107c Fix Issue 18565 - std.regex Captures opAssign returns void 2018-03-11 19:47:38 +01:00
Martin Nowak
7283f680f3 add back logical const workaround
- needed for compatibility with existing ctRegex users (e.g. Higgs)
- cast reference instead of value to avoid copying
2018-02-22 17:35:08 +01:00
Martin Nowak
59520969ef fix Issue 18114 - regex performance regression
- reduce copying of fat structs
- optimize layouts and opAssign of Captures
2018-02-22 16:59:09 +01:00
Martin Nowak
2e9a9db772 Revert "fix broken Jenkins CI"
This reverts commit 7bf26afced.
2018-02-22 16:59:09 +01:00
Sebastian Wilzbach
d9830b739e Fix DScanner warnings 2018-02-10 22:46:32 +01:00
The Dlang Bot
f3189822ab
Merge pull request #5989 from wilzbach/static-foreach
Use static foreach in Phobos
merged-on-behalf-of: Andrei Alexandrescu <andralex@users.noreply.github.com>
2018-01-03 19:05:07 +01:00
Sebastian Wilzbach
7de3787876 Use static foreach in Phobos 2018-01-03 17:30:11 +01:00
Steven Schveighoffer
fdc3e994cd Explicitly type RegexMatch.front (and add inout because captures has
inout as well). Fixes issue 18124
2017-12-31 09:24:47 -05:00
Martin Nowak
b221120735 fix Issue 18135 - can't join RegexMatch anymore
- fix copying of structs with RegexMatch fields by making
  const interface reference rebindable
2017-12-29 13:52:35 +01:00
The Dlang Bot
ad489989ec Merge pull request #5722 from DmitryOlshansky/regex-matcher-interfaces
std.regex: major internal redesign, also fixes issue 13532
merged-on-behalf-of: Andrei Alexandrescu <andralex@users.noreply.github.com>
2017-10-16 20:16:33 +02:00
Dmitry Olshansky
f4c963b5e9 Silence the circleCI style check? 2017-10-16 19:14:42 +03:00
Dmitry Olshansky
13ea5f9aea Drop another level of templatizations in backtracking 2017-10-11 18:18:12 +03:00
Dmitry Olshansky
41c229647d Need to propagate subCounters
Disable "benchmark" in unittest, it's too volatile
with different compiler flags
Also use GC.addRange/GC.removeRange
2017-10-06 11:20:55 +03:00
Matthew Strawbridge
3f9d421aac Include 's' in the list of valid regex flags 2017-10-01 20:54:00 +01:00
Dmitry Olshansky
7bf26afced fix broken Jenkins CI 2017-09-28 11:55:43 +03:00
Dmitry Olshansky
8bfa66c50a Fix CI complaints 2017-09-28 11:55:43 +03:00
Dmitry Olshansky
c7bdfbe51b std.regex finish the loose ends in the great refactoring 2017-09-28 11:55:43 +03:00
Dmitry Olshansky
639dd3dd6f The new std.regex design is concluded, going through the unitests 2017-09-28 11:55:43 +03:00
Dmitry Olshansky
33d7ecc84c Finalized matcher factory abstraction, with compile-time regex support 2017-09-28 11:55:43 +03:00
Dmitry Olshansky
6e684343d7 WIP - refactoring towards sane std.regex code 2017-09-28 11:55:43 +03:00
Dmitry Olshansky
5fbab17c47 Fix issue 17673 - wrong whichPattern in multi-regex with alteration 2017-08-24 14:22:53 +03:00
Dmitry Olshansky
7a51c0e24e Fix issue 17458 add messages to asserts 2017-07-26 11:45:00 +03:00
Sebastian Wilzbach
818deb3615 Fix DDoc macros 2017-06-30 01:39:24 +02:00
Sebastian Wilzbach
2ec7e9199b Fix Ddoc comments 2017-06-21 05:10:24 +02:00
Vladimir Panteleev
d0b9555a06
Revert "Sort selective imports"
This reverts commit 998ad51fd7.
2017-06-13 17:51:52 +00:00
Sebastian Wilzbach
2070d867dd Sort multiple packages within one line 2017-06-12 08:18:25 +02:00
Sebastian Wilzbach
998ad51fd7 Sort selective imports 2017-06-12 08:12:09 +02:00