{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":80573145,"defaultBranch":"main","name":"libfsm","ownerLogin":"katef","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-01-31T23:31:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1371085?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717784204.0","currentOid":""},"activityList":{"items":[{"before":"6ec0aef060a27fcfafb7b9b50043c6affee4cd0b","after":"1e5cf21b148db89816dad710b1c2d53c6688c40b","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-14T23:19:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Normalization; attempting to get consistency around endleaf handling.","shortMessageHtmlLink":"Normalization; attempting to get consistency around endleaf handling."}},{"before":"e577435cddabf684c2b3e1809d179b1124c6b218","after":"6ec0aef060a27fcfafb7b9b50043c6affee4cd0b","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-14T17:56:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"No need for the end_ids struct here.\n\nI'm not removing this for any profound reason, just that fewer kinds of structs help me better see what's happening.","shortMessageHtmlLink":"No need for the end_ids struct here."}},{"before":"05b246718c2ee56b874a135559b281b2f944e28c","after":"e577435cddabf684c2b3e1809d179b1124c6b218","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-14T17:25:36.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"No need for the `void *opaque` arguments here.\n\nIf these were neccessary for caller-supplied generated code from the endleaf callbacks, the actual way I'm intending a caller to pass information there, is to output with `opt.fragment` set.\n\nThen there's no need to gi via `void *` for any caller state, that can all be exposed as appropriately typed variables in scope for the generated code (or wrapped in a similar function as the non-fragment code, and exposed as appropriately-typed arguments to that function).\n\nThe existing `void *opaque` here was nothing to do with this, it was actually for the `.getc()` callback. I've renamed it to keep it from getting mixed up.","shortMessageHtmlLink":"No need for the void *opaque arguments here."}},{"before":"d981fdd0cc35e805894b13edbe32c1974228ecef","after":"05b246718c2ee56b874a135559b281b2f944e28c","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-12T14:48:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"No need for the static buffer here.","shortMessageHtmlLink":"No need for the static buffer here."}},{"before":"ed4709c74e55590b5c25943aabb3dede39308447","after":"d981fdd0cc35e805894b13edbe32c1974228ecef","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-12T13:29:21.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"No need for the tri-state enum here.","shortMessageHtmlLink":"No need for the tri-state enum here."}},{"before":"2b4821e7e1933e06818c1d9b154162c981b5a98e","after":"ed4709c74e55590b5c25943aabb3dede39308447","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-12T09:42:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"No need for the tri-state enum here.\n\nI don't see any reason callers of fsm_endid_get() would want to fetch into a fixed-size buffer of fewer elements than the number of endids an end state has. In all cases the caller can fsm_endid_count() to find out.","shortMessageHtmlLink":"No need for the tri-state enum here."}},{"before":"f2852a94ad742a543cee5709fb8219990646efb1","after":"2b4821e7e1933e06818c1d9b154162c981b5a98e","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-11T23:45:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Printing for endids.","shortMessageHtmlLink":"Printing for endids."}},{"before":"26b9d25333193a3ee23a67063d24d5352c33e4da","after":"f2852a94ad742a543cee5709fb8219990646efb1","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-11T19:01:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Printing for endids.","shortMessageHtmlLink":"Printing for endids."}},{"before":"de0822b82d9adab7832cdfe1f191522c83070620","after":"26b9d25333193a3ee23a67063d24d5352c33e4da","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-11T18:06:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Printing for endids.\n\nThis is never actually reached, because fsm_collate() doesn't handle end IDs.","shortMessageHtmlLink":"Printing for endids."}},{"before":"ebdbbbd6b2fb5a9436f0e9538c1940a053223d3b","after":"de0822b82d9adab7832cdfe1f191522c83070620","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-11T14:43:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Printing for endids.\n\nThis is never actually reached, because fsm_collate() doesn't handle end IDs.","shortMessageHtmlLink":"Printing for endids."}},{"before":"1d30a1250ee44fa7dc802065c6374e42c415932b","after":"ebdbbbd6b2fb5a9436f0e9538c1940a053223d3b","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-11T07:25:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Tests for .fsm syntax.\n\nThe file format is complex enough that I want to cover these explicitly now, rather than relying on coverage through other tests.","shortMessageHtmlLink":"Tests for .fsm syntax."}},{"before":"0447463aabb9f8c7e90f33df40fef0afd47ca19a","after":"1d30a1250ee44fa7dc802065c6374e42c415932b","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-11T06:40:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Bugfix for argv handling for fsm_exec cli usage.\n\nTwo things here:\n\nFirstly I've reworked all this stuff such that we handle filenames, and then any remaining arguments are used to match with fsm_exec.\n\nThis is what I'd originally intended, but I think it got lost at some point, probably when introducing operators with arity 2.\n\nSecondly matching text with fsm_exec now runs regarless of the operation, not just on OP_IDENTITY. I see no reason to limit that.","shortMessageHtmlLink":"Bugfix for argv handling for fsm_exec cli usage."}},{"before":"9ce1fb0210784adfea93a3a99e91737e10ee94e4","after":"0447463aabb9f8c7e90f33df40fef0afd47ca19a","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-11T05:49:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Allow an empty list of end-ids.","shortMessageHtmlLink":"Allow an empty list of end-ids."}},{"before":"e009aa82422768358407e03b2a1ac4ffc7cf93cc","after":"9ce1fb0210784adfea93a3a99e91737e10ee94e4","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-10T19:46:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Missing error handling for the initial token.","shortMessageHtmlLink":"Missing error handling for the initial token."}},{"before":"b71c09d320d443bede708632d0dc75903c86eec1","after":"e009aa82422768358407e03b2a1ac4ffc7cf93cc","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-10T08:46:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Add syntax for endids in .fsm format.\n\nThese are optional.\n\nI'd expected this to be per state at file scope, but I don't like that the syntax would then allow attempting to attach an id to a non-accepting state. Since we have a block for `end:` already, adding the end ids here means they can't be mixed up.\n\nThis looks like:\n```\n; ./build/bin/re -r pcre -bpl fsm 'ab?c' 'abc*'\n0 -> 1 \"a\"; # e.g. \"a\"\n1 -> 2 \"b\"; # e.g. \"ab\"\n1 -> 3 \"c\"; # e.g. \"ac\"\n2 -> 4 \"c\"; # e.g. \"abc\"\n4 -> 5 \"c\"; # e.g. \"abcc\"\n5 -> 5 \"c\"; # e.g. \"abcc\"\n\nstart: 0;\nend: 2 = [0], 3 = [0], 4 = [0, 1], 5 = [0];\n```","shortMessageHtmlLink":"Add syntax for endids in .fsm format."}},{"before":null,"after":"b71c09d320d443bede708632d0dc75903c86eec1","ref":"refs/heads/kate/endleaf-rejiggle","pushedAt":"2024-06-07T18:16:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Return a set of endids, rather than the state id.","shortMessageHtmlLink":"Return a set of endids, rather than the state id."}},{"before":"d2fd0890ef02029e8527f57c94b670ce2ec2841f","after":"bdb5dd0bef34f345c1fa1a8bc106e8bd8ef2aa2f","ref":"refs/heads/kate/rx","pushedAt":"2024-06-07T13:04:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Simplification, deal with -n earlier.","shortMessageHtmlLink":"Simplification, deal with -n earlier."}},{"before":"ad3d3fa4d4a5a79503796abcf7d10bd3c1e4ec64","after":"d2fd0890ef02029e8527f57c94b670ce2ec2841f","ref":"refs/heads/kate/rx","pushedAt":"2024-06-07T00:49:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Allocate and duplicate for \\0-terminated patterns, rather than pointing at \\n-terminated patterns in-situ. This is just so much less complicated.","shortMessageHtmlLink":"Allocate and duplicate for \\0-terminated patterns, rather than pointi…"}},{"before":"26d2b80b1130492f63a22af5140e4e4083597ccd","after":"ad3d3fa4d4a5a79503796abcf7d10bd3c1e4ec64","ref":"refs/heads/kate/rx","pushedAt":"2024-06-06T23:57:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Clarification, resolving a few TODOs, smaller CLI options etc.","shortMessageHtmlLink":"Clarification, resolving a few TODOs, smaller CLI options etc."}},{"before":"46edc672df806212ac96cb3ed1c288c8f1eb68b8","after":"26d2b80b1130492f63a22af5140e4e4083597ccd","ref":"refs/heads/kate/rx","pushedAt":"2024-05-31T16:30:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Tidying up.","shortMessageHtmlLink":"Tidying up."}},{"before":"8ec1f3ab6f10d56c3538c094d7e54cd85bee361f","after":"46edc672df806212ac96cb3ed1c288c8f1eb68b8","ref":"refs/heads/kate/rx","pushedAt":"2024-05-31T15:40:01.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"xstrndup()","shortMessageHtmlLink":"xstrndup()"}},{"before":"825a6218314c1afcf7aa63267ca070a37e80bf4b","after":null,"ref":"refs/heads/kate/xstrndup","pushedAt":"2024-05-31T15:38:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"}},{"before":"e6ba81b6f4618427187b4ec4a68f99928ef1a3e5","after":"2483417ec80bf62f45ddd9d864405677917d06cd","ref":"refs/heads/main","pushedAt":"2024-05-31T15:38:03.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Merge pull request #476 from katef/kate/xstrndup\n\nAdd xstrndup","shortMessageHtmlLink":"Merge pull request #476 from katef/kate/xstrndup"}},{"before":"60a8f66fd18c98d9bd806cd41f77beda6d584152","after":"825a6218314c1afcf7aa63267ca070a37e80bf4b","ref":"refs/heads/kate/xstrndup","pushedAt":"2024-05-31T15:21:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"No need to depend on POSIX here.","shortMessageHtmlLink":"No need to depend on POSIX here."}},{"before":"a3fb7d7dc02f481ddade1d88f2a2dd5bbb344f4e","after":null,"ref":"refs/heads/sv/vmc-codegen-opaque-param-and-warning","pushedAt":"2024-05-31T15:15:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"}},{"before":"65d8624e0dc45a15be72b5da9b2ee5242aad73f1","after":"e6ba81b6f4618427187b4ec4a68f99928ef1a3e5","ref":"refs/heads/main","pushedAt":"2024-05-31T15:15:34.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Merge pull request #475 from katef/sv/vmc-codegen-opaque-param-and-warning\n\nAdd `void* opaque` to vmc codegen too, disable unused warning.","shortMessageHtmlLink":"Merge pull request #475 from katef/sv/vmc-codegen-opaque-param-and-wa…"}},{"before":"96c59a46d66685a235b34c4d77c239caead2227b","after":"60a8f66fd18c98d9bd806cd41f77beda6d584152","ref":"refs/heads/kate/xstrndup","pushedAt":"2024-05-31T15:09:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"No need to depend on POSIX here.","shortMessageHtmlLink":"No need to depend on POSIX here."}},{"before":null,"after":"a3fb7d7dc02f481ddade1d88f2a2dd5bbb344f4e","ref":"refs/heads/sv/vmc-codegen-opaque-param-and-warning","pushedAt":"2024-05-31T14:59:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"silentbicycle","name":"Scott Vokes","path":"/silentbicycle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/217280?s=80&v=4"},"commit":{"message":"Add `void* opaque` to vmc codegen too, disable unused warning.\n\nThis is a follow-up to #465:\n\n- Also add the extra `void *opaque` to vmc's codegen.\n\n- Add a `(void)` cast to suppress warnings if the extra opaque\n void pointer isn't used by the generated code.","shortMessageHtmlLink":"Add void* opaque to vmc codegen too, disable unused warning."}},{"before":null,"after":"96c59a46d66685a235b34c4d77c239caead2227b","ref":"refs/heads/kate/xstrndup","pushedAt":"2024-05-31T14:53:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"},"commit":{"message":"Normalization; all x*() xalloc.h interfaces exit on error.\n\nThere's no need to have xstrdup() behave differently here, it's just confusing.","shortMessageHtmlLink":"Normalization; all x*() xalloc.h interfaces exit on error."}},{"before":"748b7afc934164fa5b0e2e3aaf9ead198a708901","after":null,"ref":"refs/heads/kate/fsm_new_statealloc","pushedAt":"2024-05-30T16:26:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"katef","name":"Katherine","path":"/katef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1371085?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEZegUzAA","startCursor":null,"endCursor":null}},"title":"Activity · katef/libfsm"}