Page MenuHomePhabricator

Nullzero (Sorawee Porncharoenwase)
User

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Tuesday

  • Clear sailing ahead.

User Details

User Since
Oct 25 2014, 5:53 PM (278 w, 8 h)
Availability
Available
LDAP User
Nullzero
MediaWiki User
Nullzero [ Global Accounts ]

Recent Activity

Jan 20 2020

Nullzero added a comment to T241679: Add an auto-formatter to AbuseFilter.

Relevant: https://dl.acm.org/doi/pdf/10.1145/3372884.3373162?download=true

Jan 20 2020, 7:58 PM · User-Daimona, AbuseFilter

Jan 9 2020

Nullzero added a comment to T242313: Syntax validation should flag division by variables that can be 0.

So, this problem is difficult if you want an accurate answer. For example, consider (page_namespace * page_namespace) + 1. This expression will always evaluate to a positive number (unless there's an integer overflow. I'm not sure if that could happen in PHP). But to see this you need to prove that x^2 + 1 is always positive which is really hard in general.

Jan 9 2020, 5:21 AM · AbuseFilter, User-DannyS712

Jan 1 2020

Nullzero added a comment to T241679: Add an auto-formatter to AbuseFilter.

A quick note: this is best done by pretty-printing the code from the AST. Avoid a bunch of ad-hoc regex replaces if possible.

Jan 1 2020, 1:54 PM · User-Daimona, AbuseFilter

Dec 31 2019

Nullzero added a comment to T238464: PLURAL magicword not parsed during installation: "Password must be at least {{PLURAL:10|1 character|10 characters}}".

Gotcha. Yes, I agree with your diagnosis.

Dec 31 2019, 6:03 PM · MW-1.35-notes (1.35.0-wmf.21; 2020-02-25), Core Platform Team Workboards (Clinic Duty Team), MediaWiki-Internationalization, MediaWiki-Installer
Nullzero updated the task description for T238633: Bad errorbox in MediaWiki installation .
Dec 31 2019, 6:00 PM · MediaWiki-Installer
Nullzero added a comment to T238464: PLURAL magicword not parsed during installation: "Password must be at least {{PLURAL:10|1 character|10 characters}}".

@Reedy I do think it's related to MediaWiki Parser. See T238633 which is a dup of this issue, but shows that bullet points are not parsed as wikitext correctly.

Dec 31 2019, 5:58 PM · MW-1.35-notes (1.35.0-wmf.21; 2020-02-25), Core Platform Team Workboards (Clinic Duty Team), MediaWiki-Internationalization, MediaWiki-Installer

Dec 16 2019

Nullzero created T240847: Action should functionally determine the set of available variables.
Dec 16 2019, 11:41 AM · AbuseFilter

Dec 6 2019

Nullzero added a comment to T239972: ApiQueryAbuseLog: user_rights should be provided as an array.

In AbuseFilter, it is indeed an array. E.g., I tried length(user_rights) === 42 in Special:AbuseFilter/test and edits of users with 42 rights come up.

Dec 6 2019, 2:24 AM · Core Platform Team Workboards (Clinic Duty Team), Patch-For-Review, User-DannyS712, MediaWiki-API, AbuseFilter

Dec 2 2019

Nullzero created T239574: redirect.py: avoid circular edits.
Dec 2 2019, 9:08 AM · Pywikibot

Dec 1 2019

Nullzero removed a project from T239528: abfstartid is not an integer: Patch-For-Review.
Dec 1 2019, 2:42 PM · MW-1.35-notes (1.35.0-wmf.10; 2019-12-10), User-DannyS712, AbuseFilter
Nullzero closed T239528: abfstartid is not an integer as Resolved.
Dec 1 2019, 2:41 PM · MW-1.35-notes (1.35.0-wmf.10; 2019-12-10), User-DannyS712, AbuseFilter
Nullzero added a comment to T191978: Devise a process for finding and fixing filters that will be affected by changes in AbuseFilter.

I think this RFC is worth mentioning: https://meta.wikimedia.org/wiki/Requests_for_comment/Creating_abusefilter-manager_global_group. Note that there's no clear consensus on this issue.

Dec 1 2019, 9:20 AM · AbuseFilter
Nullzero created T239528: abfstartid is not an integer.
Dec 1 2019, 7:53 AM · MW-1.35-notes (1.35.0-wmf.10; 2019-12-10), User-DannyS712, AbuseFilter

Nov 30 2019

Nullzero added a comment to T239501: Show internal group name on Special:ListGroupRights.

Perhaps something like this?

Nov 30 2019, 8:41 AM · Patch-For-Review, User-DannyS712, MediaWiki-Special-pages
Nullzero added a comment to T239501: Show internal group name on Special:ListGroupRights.

The goal of this request is to help other Abusefilter editors in various wikis to discover the system names. So while your proposed solution "works", I don't think it's satisfactory.

Nov 30 2019, 6:01 AM · Patch-For-Review, User-DannyS712, MediaWiki-Special-pages
Nullzero created T239501: Show internal group name on Special:ListGroupRights.
Nov 30 2019, 2:40 AM · Patch-For-Review, User-DannyS712, MediaWiki-Special-pages

Nov 28 2019

Nullzero added a comment to T237211: Can't change email in Gerrit (changed in wikitech already).

My issue is resolved. I registered a new email in Gerrit (which could not be the email that I want, since the email that I want is already in the dropdown list. I simply can't change to it). After the registration, somehow I managed to make the system switch to my preferred email. So now it works!

Nov 28 2019, 8:52 AM · Gerrit
Nullzero added a comment to T237211: Can't change email in Gerrit (changed in wikitech already).

@hashar I reloaded several times already (and just did it right now). It has no effect.

Nov 28 2019, 8:41 AM · Gerrit

Nov 27 2019

Nullzero reopened T237211: Can't change email in Gerrit (changed in wikitech already) as "Open".

@Aklapper @Paladox : unfortunately, it doesn't work.

Nov 27 2019, 3:01 AM · Gerrit

Nov 21 2019

Nullzero added a comment to T238451: abusefilterchecksyntax and abusefilterevalexpression should require the same permissions.

FWIW: PHP has pcre.backtrack_limit, so I don't think ReDoS is possible.

Nov 21 2019, 4:58 PM · Security, MW-1.35-notes (1.35.0-wmf.5; 2019-11-05), AbuseFilter

Nov 20 2019

Nullzero claimed T234690: Syntax checker fails to account for scoping.
Nov 20 2019, 7:34 AM · Patch-For-Review, AbuseFilter
Nullzero created T238713: Confusing error message for abusefilter-exception-variablevariable.
Nov 20 2019, 12:53 AM · MW-1.35-notes (1.35.0-wmf.14; 2020-01-07), AbuseFilter
Nullzero created T238709: The parser should be more lenient.
Nov 20 2019, 12:18 AM · Patch-For-Review, AbuseFilter

Nov 19 2019

Nullzero added a comment to T238633: Bad errorbox in MediaWiki installation .

Ah, dup of T238464, though that task doesn't report the issue about bullet points.

Nov 19 2019, 9:00 AM · MediaWiki-Installer
Nullzero created T238633: Bad errorbox in MediaWiki installation .
Nov 19 2019, 8:57 AM · MediaWiki-Installer
Nullzero updated the task description for T238623: Feature request: run Special:AbuseFilter/test against Special:AbuseLog.
Nov 19 2019, 5:59 AM · AbuseFilter
Nullzero updated the task description for T238623: Feature request: run Special:AbuseFilter/test against Special:AbuseLog.
Nov 19 2019, 5:59 AM · AbuseFilter
Nullzero updated the task description for T238623: Feature request: run Special:AbuseFilter/test against Special:AbuseLog.
Nov 19 2019, 5:58 AM · AbuseFilter
Nullzero created T238623: Feature request: run Special:AbuseFilter/test against Special:AbuseLog.
Nov 19 2019, 5:57 AM · AbuseFilter

Nov 17 2019

Nullzero added a comment to T181024: AbuseFilter should not cast arrays into strings.

I misunderstood about how the confirmed group works, so let me write this part again:

Nov 17 2019, 8:30 PM · Patch-For-Review, AbuseFilter
Nullzero added a comment to T181024: AbuseFilter should not cast arrays into strings.

@Daimona isn't it possible to merge the array specific functions right now (which should be completely backward-compatible, since it's a new feature). Then, ask global sysops to fix all filters in the "obvious" cases by changing in to the new features. For non-obvious case, obviously we should let local sysops handle them.

Nov 17 2019, 7:50 PM · Patch-For-Review, AbuseFilter
Nullzero added a comment to T181024: AbuseFilter should not cast arrays into strings.

There are a couple of filters in various Wikimedia projects that currently have bugs due to this problem (e.g., https://cs.wikipedia.org/w/index.php?diff=17857577). Is there anything I can help to progress the above patch?

Nov 17 2019, 3:04 AM · Patch-For-Review, AbuseFilter

Nov 14 2019

Nullzero closed T238292: Private filters are not accessible via API unless the site's web interface is first loaded as Invalid.

Ah, I see. Closing as invalid then.

Nov 14 2019, 6:31 PM · AbuseFilter
Nullzero created T238292: Private filters are not accessible via API unless the site's web interface is first loaded.
Nov 14 2019, 4:07 AM · AbuseFilter

Nov 13 2019

Nullzero added a comment to T237624: Expand AFPData::toNumber to return DINT for other int-like types.

@Daimona what about array and string? String will be tricky though because it could be "1.2" which should be converted to float.

Nov 13 2019, 1:06 PM · Patch-For-Review, MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), AbuseFilter

Nov 12 2019

Nullzero added a comment to T230803: The parser should keep a list of variadic functions, and strictly check the amount of parameters for the other functions.

My bad!

Nov 12 2019, 7:01 PM · MW-1.35-notes (1.35.0-wmf.10; 2019-12-10), MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), AbuseFilter
Nullzero claimed T231536: CachingParser::checkSyntax should only try to build the AST without evaluating it.
Nov 12 2019, 6:21 PM · Patch-For-Review, AbuseFilter
Nullzero closed T212730: Change the syntax for non-decimal numbers as Resolved.
Nov 12 2019, 6:20 PM · Patch-For-Review, MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), MW-1.34-notes (1.34.0-wmf.21; 2019-09-03), User-Daimona, AbuseFilter
Nullzero closed T156096: Deprecate and then reject empty operators as Resolved.
Nov 12 2019, 6:20 PM · MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), Patch-For-Review, User-notice, User-Daimona, AbuseFilter
Nullzero closed T156096: Deprecate and then reject empty operators, a subtask of T156095: Re-enable AbuseFilterCachingParser once we are sure it's safe, as Resolved.
Nov 12 2019, 6:20 PM · Performance-Team-publish, User-notice, MW-1.34-notes (1.34.0-wmf.24; 2019-09-24), Performance-Team, AbuseFilter
Nullzero closed T230803: The parser should keep a list of variadic functions, and strictly check the amount of parameters for the other functions as Resolved.
Nov 12 2019, 6:19 PM · MW-1.35-notes (1.35.0-wmf.10; 2019-12-10), MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), AbuseFilter

Nov 10 2019

Nullzero removed a project from T237459: Internal error from modulo by float-y zero: Patch-For-Review.
Nov 10 2019, 11:55 AM · MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), AbuseFilter
Nullzero closed T237459: Internal error from modulo by float-y zero as Resolved.
Nov 10 2019, 11:55 AM · MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), AbuseFilter
Nullzero closed T237624: Expand AFPData::toNumber to return DINT for other int-like types as Resolved.
Nov 10 2019, 11:10 AM · Patch-For-Review, MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), AbuseFilter
Nullzero removed a project from T237131: Missing and incorrect "Select an option to add it at the cursor" item: Patch-For-Review.
Nov 10 2019, 11:09 AM · MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), AbuseFilter
Nullzero closed T237131: Missing and incorrect "Select an option to add it at the cursor" item as Resolved.
Nov 10 2019, 11:09 AM · MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), AbuseFilter

Nov 7 2019

Nullzero added a comment to T237652: Declined task and thumb down.

An X might be a good candidate, but I would leave the decision to the person who will address this issue.

Nov 7 2019, 5:52 PM · Upstream, Phabricator (Upstream)
Nullzero updated the task description for T237652: Declined task and thumb down.
Nov 7 2019, 5:24 PM · Upstream, Phabricator (Upstream)
Nullzero created T237652: Declined task and thumb down.
Nov 7 2019, 5:23 PM · Upstream, Phabricator (Upstream)
Nullzero added a comment to T237459: Internal error from modulo by float-y zero.

@Daimona : also, timestamp % 0 currently passes Check Syntax. Does it make sense to include the fix in this patch too?

Nov 7 2019, 4:11 PM · MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), AbuseFilter
Nullzero created T237610: Syntax validation should flag unused variables.
Nov 7 2019, 9:14 AM · Patch-For-Review, AbuseFilter

Nov 5 2019

Nullzero added a comment to T237459: Internal error from modulo by float-y zero.

It seems I used a wrong bug reporting form. Sorry :/

Nov 5 2019, 11:02 PM · MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), AbuseFilter
Nullzero added a comment to T237480: Unary minus is buggy.

It seems I used a wrong bug reporting form. Sorry :/

Nov 5 2019, 11:01 PM · Patch-For-Review, AbuseFilter
Nullzero created T237480: Unary minus is buggy.
Nov 5 2019, 10:55 PM · Patch-For-Review, AbuseFilter
Nullzero created T237459: Internal error from modulo by float-y zero.
Nov 5 2019, 9:00 PM · MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), AbuseFilter
Nullzero updated the task description for T237351: unbound id not checked in array indexing.
Nov 5 2019, 4:13 AM · MW-1.35-notes (1.35.0-wmf.14; 2020-01-07), AbuseFilter
Nullzero created T237351: unbound id not checked in array indexing.
Nov 5 2019, 4:08 AM · MW-1.35-notes (1.35.0-wmf.14; 2020-01-07), AbuseFilter
Nullzero added a comment to T237336: non-commutativity of short-circuiting operations due to truthy/falsy values.

To make it compatible with other boolean operation, i.e., ^, I think the better way should be to cast the result to a boolean. This is also great if one want to implement via re-interpretation of <a> & <b> as if <a> then (if <b> then true else false end) else false end.

Nov 5 2019, 12:44 AM · AbuseFilter
Nullzero added a comment to T237073: Trailing comma in function application.

I still do think it would be better if the grammar of the language doesn't need to know about tiny details of functions (that is, the ideal grammar should be stable, while it should be easy to add new functions). That said, I don't have strong opinion on this, so feel free to mark it as declined if you want.

Nov 5 2019, 12:08 AM · AbuseFilter

Nov 4 2019

Nullzero added a comment to T237336: non-commutativity of short-circuiting operations due to truthy/falsy values.

Here's one possible specification for it: it should be equivalent (or even rewrite) to

Nov 4 2019, 11:48 PM · AbuseFilter
Nullzero added a comment to T237336: non-commutativity of short-circuiting operations due to truthy/falsy values.

Well, the title is a little bit misleading actually. Commutativity would not be desirable if we want to return one of the operands, because

Nov 4 2019, 11:03 PM · AbuseFilter
Nullzero created T237336: non-commutativity of short-circuiting operations due to truthy/falsy values.
Nov 4 2019, 10:54 PM · AbuseFilter
Nullzero added a comment to T237219: AbuseFilter parsers throws "Return value of AbuseFilterCachingParser::evalTree() must be an instance of AFPData".

To avoid surprising users, I think we should mandate that index must be between 0 and |array| - 1.

Nov 4 2019, 5:07 PM · MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), Wikimedia-production-error, AbuseFilter
Nullzero closed T237211: Can't change email in Gerrit (changed in wikitech already) as Declined.

Cool! Closing then.

Nov 4 2019, 4:41 PM · Gerrit
Nullzero renamed T237090: Evaluation order of array indexing is flipped from Evaluation order doesn't make sense to Evaluation order of array indexing is flipped.
Nov 4 2019, 5:46 AM · Patch-For-Review, AbuseFilter
Nullzero renamed T237214: Internal error on array indexing with undefined value from Internal error on array indexing to Internal error on array indexing with undefined value.
Nov 4 2019, 5:21 AM · Patch-For-Review, AbuseFilter
Nullzero created T237219: AbuseFilter parsers throws "Return value of AbuseFilterCachingParser::evalTree() must be an instance of AFPData".
Nov 4 2019, 5:03 AM · MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), Wikimedia-production-error, AbuseFilter
Nullzero updated the task description for T237214: Internal error on array indexing with undefined value.
Nov 4 2019, 4:48 AM · Patch-For-Review, AbuseFilter
Nullzero created T237216: set and set_var should have the same treatment as assignment expression.
Nov 4 2019, 3:24 AM · MW-1.35-notes (1.35.0-wmf.10; 2019-12-10), AbuseFilter
Nullzero added a member for AbuseFilter: Nullzero.
Nov 4 2019, 3:10 AM
Nullzero updated the task description for T237214: Internal error on array indexing with undefined value.
Nov 4 2019, 3:09 AM · Patch-For-Review, AbuseFilter
Nullzero created T237214: Internal error on array indexing with undefined value.
Nov 4 2019, 3:08 AM · Patch-For-Review, AbuseFilter
Nullzero created T237211: Can't change email in Gerrit (changed in wikitech already).
Nov 4 2019, 2:35 AM · Gerrit

Nov 1 2019

Nullzero created T237131: Missing and incorrect "Select an option to add it at the cursor" item.
Nov 1 2019, 7:13 PM · MW-1.35-notes (1.35.0-wmf.8; 2019-11-26), AbuseFilter
Nullzero created T237130: Using function name as a user-defined variable.
Nov 1 2019, 6:55 PM · AbuseFilter
Nullzero added a watcher for AbuseFilter: Nullzero.
Nov 1 2019, 6:47 PM
Nullzero created T237090: Evaluation order of array indexing is flipped.
Nov 1 2019, 8:33 AM · Patch-For-Review, AbuseFilter
Nullzero added a comment to T234690: Syntax checker fails to account for scoping.

I totally agree with @Huji. Hoisting and undefined value can be very harmful. For instance:

Nov 1 2019, 4:27 AM · Patch-For-Review, AbuseFilter
Nullzero created T237073: Trailing comma in function application.
Nov 1 2019, 12:38 AM · AbuseFilter

Oct 31 2019

Nullzero added a comment to T236870: Array appending causes a crash.

Actually, it should stay in that directory, which contains *everything* related to parsing (e.g. also data types, parsing exceptions etc.)

Oct 31 2019, 6:57 PM · MW-1.35-notes (1.35.0-wmf.14; 2020-01-07), AbuseFilter

Oct 30 2019

Nullzero added a comment to T236870: Array appending causes a crash.

Off-topic: AbuseFilterCachingParser should also really be called an interpreter or evaluator and moved outside of the parser directory... There's no parsing here.

Oct 30 2019, 11:06 PM · MW-1.35-notes (1.35.0-wmf.14; 2020-01-07), AbuseFilter
Nullzero added a comment to T236870: Array appending causes a crash.

I was led to believe that Thai Wikipedia was outdated because the syntax () is not valid in Wikipedias, but is valid in my local wiki. Now I see that this is intentionally disallowed in the new parser (https://phabricator.wikimedia.org/diffusion/EABF/browse/master/includes/parser/AFPTreeParser.php$554), which is a good thing IMO. Should we disallow () too in AbuseFilterParser for consistency?

Oct 30 2019, 9:57 PM · MW-1.35-notes (1.35.0-wmf.14; 2020-01-07), AbuseFilter
Nullzero added a comment to T236870: Array appending causes a crash.

Hi Daimona,

Oct 30 2019, 5:00 PM · MW-1.35-notes (1.35.0-wmf.14; 2020-01-07), AbuseFilter
Nullzero added a project to T236870: Array appending causes a crash: AbuseFilter.
Oct 30 2019, 4:17 AM · MW-1.35-notes (1.35.0-wmf.14; 2020-01-07), AbuseFilter
Nullzero updated the task description for T236870: Array appending causes a crash.
Oct 30 2019, 4:12 AM · MW-1.35-notes (1.35.0-wmf.14; 2020-01-07), AbuseFilter
Nullzero created T236870: Array appending causes a crash.
Oct 30 2019, 4:08 AM · MW-1.35-notes (1.35.0-wmf.14; 2020-01-07), AbuseFilter

May 8 2016

Nullzero added a comment to T65768: warning message on article deletion / article moving is not parsed.

No, Amire80, this is not about i18n. It's about wiki markup parsing.

May 8 2016, 8:34 AM · AbuseFilter

Apr 5 2016

Nullzero added a comment to T121963: Abusefilter moved_to_namespace variable has unexpected values.

My bad. Sorry :/

Apr 5 2016, 12:30 PM · MW-1.27-release (WMF-deploy-2016-04-12_(1.27.0-wmf.21)), AbuseFilter

Feb 22 2016

Nullzero added a comment to T28332: Spam-blacklist does not support unicode characters in regex, needed to filter internationalized domain names.

Yes, it works! Thx :) Again, this should be documented...

Feb 22 2016, 1:12 AM · SpamBlacklist

Feb 21 2016

Nullzero added a comment to T28332: Spam-blacklist does not support unicode characters in regex, needed to filter internationalized domain names.

Also, the workaround doesn't work in Thai Wikipedia... We wish to block \bสุนัขไทยหลังอาน\.com, so we put \xe0\xb8\xaa\xe0\xb8\xb8\xe0\xb8\x99\xe0\xb8\xb1\xe0\xb8\x82\xe0\xb9\x84\xe0\xb8\x97\xe0\xb8\xa2\xe0\xb8\xab\xe0\xb8\xa5\xe0\xb8\xb1\xe0\xb8\x87\xe0\xb8\xad\xe0\xb8\xb2\xe0\xb8\x99\.com, but it's still not blocked...

Feb 21 2016, 8:22 PM · SpamBlacklist
Nullzero added a comment to T28332: Spam-blacklist does not support unicode characters in regex, needed to filter internationalized domain names.

Any update? The workaround and/or the /u should be documented too. People at meta don't even know that there's a problem with unicode characters (https://meta.wikimedia.org/w/index.php?title=Talk:Spam_blacklist#non-ascii_are_not_blocked.3F).

Feb 21 2016, 7:57 PM · SpamBlacklist

Jul 14 2015

Nullzero committed rMREL37d1a5c3b12d: Preload abusefilter-warning if created page is blank (authored by Nullzero).
Preload abusefilter-warning if created page is blank
Jul 14 2015, 6:11 PM
Nullzero committed rMRELecaa6dcb0d3d: always show diff link if available (authored by Nullzero).
always show diff link if available
Jul 14 2015, 6:11 PM

Mar 4 2015

Nullzero committed rPWBOd2040e4cbfa0: Make Recentchanges be able to return all revisions (authored by Nullzero).
Make Recentchanges be able to return all revisions
Mar 4 2015, 8:53 AM
Nullzero committed rPWBCc731cdb7b58a: Revert "[IMPROV] Reduce usage of unicode()" (authored by Nullzero).
Revert "[IMPROV] Reduce usage of unicode()"
Mar 4 2015, 8:46 AM
Nullzero added a reverting change for rPWBC58fd995ac73e: [IMPROV] Reduce usage of unicode(): rPWBCc731cdb7b58a: Revert "[IMPROV] Reduce usage of unicode()".
Mar 4 2015, 8:46 AM
Gerrit Code Review <gerrit@wikimedia.org> committed rPWBC8b42d1ccfd45: Merge "Log test start and end, and result" (authored by Nullzero).
Merge "Log test start and end, and result"
Mar 4 2015, 8:45 AM
Nullzero committed rPWBC32939fdb92c9: Remove wrong comment and unused code (authored by Nullzero).
Remove wrong comment and unused code
Mar 4 2015, 8:45 AM
Nullzero committed rPWBCf6c05e43fe86: Add NoCreateError and fix a bug about issubclass (authored by Nullzero).
Add NoCreateError and fix a bug about issubclass
Mar 4 2015, 8:45 AM
Nullzero committed rPWBC7f7ba3ab36f2: Add RepeatingGenerator (authored by Nullzero).
Add RepeatingGenerator
Mar 4 2015, 8:45 AM