{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":65159560,"defaultBranch":"main","name":"Fennel","ownerLogin":"bakpakin","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-08-07T23:55:24.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6185660?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1724560616.0","currentOid":""},"activityList":{"items":[{"before":"e4b0f0b2e1791adb4390a14fe953b8cdfb01882c","after":"d1d417db95e255517f693a6cb395949be8b507f7","ref":"refs/heads/main","pushedAt":"2024-09-05T16:00:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Reorganize some parser/view tests.","shortMessageHtmlLink":"Reorganize some parser/view tests."}},{"before":"ae60a38029a570b8d37fe3d7cc6b2476646e10f5","after":"e4b0f0b2e1791adb4390a14fe953b8cdfb01882c","ref":"refs/heads/main","pushedAt":"2024-08-26T16:10:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Skip IRC reporting if we can't determine Git remote\n\nThis means either Git is not installed, or the test is being run from a\npublished tarball and not a Git checkout.\n\nIn either case, that means we don't want to report the build result\n(many Linux distributions also build with network access disabled, so\nreporting will fail anyway) - and we should exit with status code 0, as\nthis is not actually an error.\n\nSigned-off-by: Michel Lind ","shortMessageHtmlLink":"Skip IRC reporting if we can't determine Git remote"}},{"before":"abde8957f965bfec6d2fa5a038e32098befd35aa","after":"ae60a38029a570b8d37fe3d7cc6b2476646e10f5","ref":"refs/heads/main","pushedAt":"2024-08-25T04:36:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Release 1.5.1","shortMessageHtmlLink":"Release 1.5.1"}},{"before":"3faf72bd70b234eea4308d616edc03ccb8094af3","after":"abde8957f965bfec6d2fa5a038e32098befd35aa","ref":"refs/heads/main","pushedAt":"2024-08-24T00:59:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Add missing submodule dependency to fennel-bin makefile target.\n\nFixes https://todo.sr.ht/~technomancy/fennel/238","shortMessageHtmlLink":"Add missing submodule dependency to fennel-bin makefile target."}},{"before":"ad650db10bb4c560dbbe6b2ce82897bee298d4fe","after":"3faf72bd70b234eea4308d616edc03ccb8094af3","ref":"refs/heads/main","pushedAt":"2024-08-21T01:32:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Backport special nan handling to bootstrap compiler.","shortMessageHtmlLink":"Backport special nan handling to bootstrap compiler."}},{"before":"ab53b9e713f5ed2bbd8ea65448e4b06f0256e55f","after":"ad650db10bb4c560dbbe6b2ce82897bee298d4fe","ref":"refs/heads/main","pushedAt":"2024-08-21T01:27:04.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Ensure that \"nan\" parses as a symbol (not a number) on 5.1.","shortMessageHtmlLink":"Ensure that \"nan\" parses as a symbol (not a number) on 5.1."}},{"before":"be85d6d7e324a899e6816bc889edbc37f19d0032","after":"ab53b9e713f5ed2bbd8ea65448e4b06f0256e55f","ref":"refs/heads/main","pushedAt":"2024-08-15T04:43:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Fix huge numbers NPE, make best effort at keeping original integer format\n\nIn Lua, numbers bigger than 1e+308 compile to inf. Prior to this\npatch, Fennel compiled such numbers to inf too. However, inf is not\na number in Lua, neither it is a reserved symbol, so the expression\n(+ 1e+309 1) would compile to (inf + 1) resulting in attempt to add\nnil with a number, because Lua treats inf as a regular, unbound,\nvariable.\n\nThis patch also tries to keep the number format of big numbers, bigger\nthan 1e+13 and less than 1e+309 in the e-notation. Numbers less than\n1e+14 are formatted as integers, as done in PUC Lua. Starting from\n1e+14 the e-notation is used.\n\nIf the number is big enough to be considered inf by Lua, it is\ncompiled to (1/0), a portable way to express infinity, without relying\non the existence of the math table. -inf is compiled to (-1/0).","shortMessageHtmlLink":"Fix huge numbers NPE, make best effort at keeping original integer fo…"}},{"before":"289f9d5a420062cac7119ed0cefed070edbae421","after":"be85d6d7e324a899e6816bc889edbc37f19d0032","ref":"refs/heads/main","pushedAt":"2024-08-14T04:33:16.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Skip runtime check for table in matching when given a table literal.\n\nJust a nice lil optimization.","shortMessageHtmlLink":"Skip runtime check for table in matching when given a table literal."}},{"before":"215672715a719f768abc6fdfee2692f817b923dd","after":"b7119d36e17eb308fab0b56d54ab11ee1bfd26e0","ref":"refs/heads/precompile-macros","pushedAt":"2024-08-13T00:47:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Allow disabling global mangling and using _G['what-ever'] instead.\n\nUse this when bootstrapping the built-in macros to avoid issues with\ndouble-loading the compiler.\n\nIt's unclear why, but when you load the compiler with itself, the\nsecond load uses a scopes.compiler table that's unaware of built-ins\nlike `list?' and so mangles that into something that will definitely\nnot resolve to anything sensible.","shortMessageHtmlLink":"Allow disabling global mangling and using _G['what-ever'] instead."}},{"before":"7acc0b107012cb7653e29be10d79ab214914c8fb","after":"289f9d5a420062cac7119ed0cefed070edbae421","ref":"refs/heads/main","pushedAt":"2024-08-11T01:07:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Explain how to verify signatures.","shortMessageHtmlLink":"Explain how to verify signatures."}},{"before":"e4dd6573aac89445955a20dfe3249d2efa6690ff","after":"215672715a719f768abc6fdfee2692f817b923dd","ref":"refs/heads/precompile-macros","pushedAt":"2024-08-10T20:30:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Re-enable metadata when precompiling macros.\n\nStill fails when loading a nested copy of the compiler.","shortMessageHtmlLink":"Re-enable metadata when precompiling macros."}},{"before":"72890ff8806486b0595aca6c222cbf13fdae428c","after":"7acc0b107012cb7653e29be10d79ab214914c8fb","ref":"refs/heads/main","pushedAt":"2024-08-10T02:36:35.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Clarify that --correlate is best-effort, not always reliable.","shortMessageHtmlLink":"Clarify that --correlate is best-effort, not always reliable."}},{"before":"f83dd129a3100d53f5e3545ca45da14ba340a6d7","after":"72890ff8806486b0595aca6c222cbf13fdae428c","ref":"refs/heads/main","pushedAt":"2024-08-08T15:57:13.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Remove ineffective script-as-library warning.\n\nTurns out there is no way to do this reliably. =(","shortMessageHtmlLink":"Remove ineffective script-as-library warning."}},{"before":"6fc86f89dc6c39458e78a470520aab2880ef9c33","after":"f83dd129a3100d53f5e3545ca45da14ba340a6d7","ref":"refs/heads/main","pushedAt":"2024-08-07T00:48:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Add workaround for pandoc bug.\n\nOlder versions of pandoc try to set the font to a font that doesn't\nactually exist. Older versions of groff don't care, but newer ones\nwill catch the mistake.\n\nThis has been fixed in pandoc 3 but we're not ready to declare a\ndependency on a newer version since installing the whole haskell\ntoolchain is a lot for something that can be fixed with a trivial\nsed.\n\nhttps://github.com/jgm/pandoc/issues/9020","shortMessageHtmlLink":"Add workaround for pandoc bug."}},{"before":null,"after":"e4dd6573aac89445955a20dfe3249d2efa6690ff","ref":"refs/heads/precompile-macros","pushedAt":"2024-08-06T15:22:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Precompile macros when bootstrapping the compiler.\n\nGoing all the way to Lua code with the macros requires a few tweaks.\n\nCurrently we accept :_COMPILER in the :env field of the options table\nto evaluate code in compiler scope. However, we also need a similar\noption for scope in order to compile macros in eval-compiler. This has\nto be added to both the bootstrap compiler and the mainline compiler.\nThis is an undocumented internal feature only.\n\nWe also disable global mangling in the bootstrap compiler and replace\nit with _G lookups, because global mangling is dumb, and we don't have\nbackwards-compatibility concerns in the bootstrap compiler.\n\nCurrently we're disabling metadata for built-in macros because loading\nmetadata under 5.4 (but not 5.1 or luajit!!!) causes performance to\ntank when we try to load the module to find a place to set the metadata.\n\nWe also need to avoid having `assert-repl' emit a call to `collect'\nbecause the sequence metatables for the arglist definition vs the\ncheck on the emitted code don't match. It's easy enough to replace it\nwith an `each' but this will probably trip us up in the future.\n\nThe tests are still failing because of metatable mismatches when\nloading the compiler from the compiler. The `test-nest' test has been\ndisabled for now.","shortMessageHtmlLink":"Precompile macros when bootstrapping the compiler."}},{"before":"26b716516bcb0806bb3403a3e88f9ca7d86d4c84","after":"6fc86f89dc6c39458e78a470520aab2880ef9c33","ref":"refs/heads/main","pushedAt":"2024-08-06T01:15:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Check for setting globals in the test suite.","shortMessageHtmlLink":"Check for setting globals in the test suite."}},{"before":"4fd1ce57282c6c104a8828ee9befe410960d9aa8","after":"26b716516bcb0806bb3403a3e88f9ca7d86d4c84","ref":"refs/heads/main","pushedAt":"2024-07-28T17:28:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Fix setReset in bootstrap compiler to set the actual root, not global.","shortMessageHtmlLink":"Fix setReset in bootstrap compiler to set the actual root, not global."}},{"before":"b7075cbd8fa7cde1173c370f149ddff83fd79a48","after":"4fd1ce57282c6c104a8828ee9befe410960d9aa8","ref":"refs/heads/main","pushedAt":"2024-07-20T22:59:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jaawerth","name":"Jesse Wertheim","path":"/jaawerth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5314507?s=80&v=4"},"commit":{"message":"test/irc.lua: `git remote get-url` to check origin\n\nWhen checking that the CI job is running in the official git.sr.ht\nrepository, use `git remote get-url origin` instead of of\n`git remote show origin` so it only provides the URL, and ':read('*l')`\nto restrict the output to the first line.\n\nSwitching to `:read('*l')` when getting the branch as well, rather than\nstripping the newline with gsub.","shortMessageHtmlLink":"test/irc.lua: git remote get-url to check origin"}},{"before":"1d8385286156f7a68dccf07e850cb2a567d1acc6","after":"b7075cbd8fa7cde1173c370f149ddff83fd79a48","ref":"refs/heads/main","pushedAt":"2024-07-20T22:35:05.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"jaawerth","name":"Jesse Wertheim","path":"/jaawerth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5314507?s=80&v=4"},"commit":{"message":"editorconfig: Comment markdown trailing whitespace\n\nIn markdown, two trailing spaces at EOL guarantees a line break in the\noutput.\n\nFor now, leaving a comment explaining the setting, but this is a\nsomewhat obscure markdown feature, and we may want to consider leaving\nit turned off since, even if we exlpicitly allow it in editorconfig, a\ncontributor seeing trailing whitespace in the wild is most likely to\nsimply assume it was in error.","shortMessageHtmlLink":"editorconfig: Comment markdown trailing whitespace"}},{"before":"dd8d4cff8419187971ff8f41e363ef41df94aa5c","after":"1d8385286156f7a68dccf07e850cb2a567d1acc6","ref":"refs/heads/main","pushedAt":"2024-07-04T01:35:28.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jaawerth","name":"Jesse Wertheim","path":"/jaawerth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5314507?s=80&v=4"},"commit":{"message":"prevent \"sym\" in macros from breaking quoting\n\nMissed `sym` on the previous fix. Added a comprehensive test that\nshadows the entire macro env (minus `comment`, which itself shadows a\nspecial form) to prevent any new bugs of this kind from cropping up.","shortMessageHtmlLink":"prevent \"sym\" in macros from breaking quoting"}},{"before":"22efcaf6d15184d409a3a4e44d2fcd59e1bf6827","after":"dd8d4cff8419187971ff8f41e363ef41df94aa5c","ref":"refs/heads/main","pushedAt":"2024-07-03T21:27:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jaawerth","name":"Jesse Wertheim","path":"/jaawerth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5314507?s=80&v=4"},"commit":{"message":"fix dynamic set support for globals + hashfn args\n\n* Fixes `(set (_G :x :y) 1)`, `#(set $ :x $2)`, etc\n* Improves error message when invoking dynamic set without keys\n\nIn the case of globals and hashfn args, a custom assertion on `(.\nscope.manglings (tostring target))` was causing a compiler error. These\nare already accounted for in symbol-to-expression, which\ndynamic-set-target invokes, so we can simply omit the assertion. This\nwill help avoid bugs resulting from maintaining the same logic in more\nthan one place.","shortMessageHtmlLink":"fix dynamic set support for globals + hashfn args"}},{"before":"01bba598277d0e287cd27439bdc2ec0aca85c226","after":"f45f553b59aefc9f22198f0ff3eb4d6f516a80ec","ref":"refs/heads/parse-no-load","pushedAt":"2024-06-30T21:29:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Add support for unicode escape sequences in parse-string.","shortMessageHtmlLink":"Add support for unicode escape sequences in parse-string."}},{"before":"42909c88b0b557340608d9633fb0edd0d6f47861","after":"01bba598277d0e287cd27439bdc2ec0aca85c226","ref":"refs/heads/parse-no-load","pushedAt":"2024-06-30T20:47:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Add in hex escape sequences to parse-string.","shortMessageHtmlLink":"Add in hex escape sequences to parse-string."}},{"before":"9d197e668231d4d7418706a57a73a7ca1d6a1a34","after":"42909c88b0b557340608d9633fb0edd0d6f47861","ref":"refs/heads/parse-no-load","pushedAt":"2024-06-30T18:49:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Rewrite parse-string to not use _G.load.\n\nCurrently only supports the escapes present in 5.1.\n\nUsing _G.load in the parser saves us having to write our own string\nunescaping functionality, but it's a bit of a cheat. It's not ideal\nbecause we really want to be able to use the parser inside sandboxes\nwhich do not expose _G.load. It turns out that exposing _G.load in a\nsandbox is a super bad idea, because it not only loads code from\nstrings, it also allows loading *bytecode* from strings, and the\nbytecode is not checked for validity. So sandbox escapes using\nmalformed bytecode are fairly common, such as\nhttps://memorycorruption.net/posts/rce-lua-factorio/\n\nThis implements all the escapes in the Fennel test suite. However,\nFennel strings are defined in terms of Lua strings, which means they\nvary depending on which version of Lua you use. The test suite\ncurrently only covers the decimal escape syntax from 5.1, but in later\nversions they added hex escapes and unicode-style escapes, plus a \\z\nescape. These have not yet been implemented.","shortMessageHtmlLink":"Rewrite parse-string to not use _G.load."}},{"before":null,"after":"9d197e668231d4d7418706a57a73a7ca1d6a1a34","ref":"refs/heads/parse-no-load","pushedAt":"2024-06-30T18:28:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"WIP rewrite parse-string to not use _G.load.","shortMessageHtmlLink":"WIP rewrite parse-string to not use _G.load."}},{"before":"6cc338849e9b68789ab1bd67f3f8f2a95d029891","after":"22efcaf6d15184d409a3a4e44d2fcd59e1bf6827","ref":"refs/heads/main","pushedAt":"2024-06-26T03:07:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Move allowed-globals to root options instead of top-level var.","shortMessageHtmlLink":"Move allowed-globals to root options instead of top-level var."}},{"before":"765867f46ada1bbbf8bec6e91a45bca0b961dec0","after":"6cc338849e9b68789ab1bd67f3f8f2a95d029891","ref":"refs/heads/main","pushedAt":"2024-06-26T01:59:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jaawerth","name":"Jesse Wertheim","path":"/jaawerth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5314507?s=80&v=4"},"commit":{"message":"add test case for `,doc `","shortMessageHtmlLink":"add test case for ,doc <non-callable-tbl>"}},{"before":"101b666712f2baab76d5b9aec25fb0247668b2cf","after":"765867f46ada1bbbf8bec6e91a45bca0b961dec0","ref":"refs/heads/main","pushedAt":"2024-06-25T15:39:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Link to fennel.lua in setup.md.","shortMessageHtmlLink":"Link to fennel.lua in setup.md."}},{"before":"ee3e3c52a7bfb43d5e2461a303cd2eae0078c20b","after":"101b666712f2baab76d5b9aec25fb0247668b2cf","ref":"refs/heads/main","pushedAt":"2024-06-23T17:11:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Bump version to 1.5.1-dev.","shortMessageHtmlLink":"Bump version to 1.5.1-dev."}},{"before":"ead849c45fb20430fb7727dfc12d8d6df294229e","after":"ee3e3c52a7bfb43d5e2461a303cd2eae0078c20b","ref":"refs/heads/main","pushedAt":"2024-06-23T17:05:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"technomancy","name":"Phil Hagelberg","path":"/technomancy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/141?s=80&v=4"},"commit":{"message":"Release 1.5.0","shortMessageHtmlLink":"Release 1.5.0"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAErgwI2QA","startCursor":null,"endCursor":null}},"title":"Activity · bakpakin/Fennel"}