{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":35589720,"defaultBranch":"master","name":"ren-c","ownerLogin":"metaeducation","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2015-05-14T03:55:55.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8308455?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1708225052.0","currentOid":""},"activityList":{"items":[{"before":"28f44105b25f7dc6394a3a88bf41d6c375322e77","after":"3c37dc40ccdf4c20adeb4c4d0e28454f7d665b2f","ref":"refs/heads/r3c","pushedAt":"2024-09-20T22:18:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"R3C's bootstrap shims 8994d23 CALL to default /WAIT\n\nThe original behavior of CALL was to not assume you wanted to\nsynchronously wait for a response. So it would spawn a process,\ngive you back a PID, and return control to the interpreter.\n\nThis is not the most useful behavior most of the time, so it was\nchanged to be synchronous by default. However the bootstrap shim\ndid adapt the older 8994d23 build to this policy. Hence if you\ntried to build R3C without a makefile and using the CALL facility,\nit would run the compilation and generation of prep files in\nparallel, leading to things flying by rather quickly and a lot\nof build errors.","shortMessageHtmlLink":"R3C's bootstrap shims 8994d23 CALL to default /WAIT"}},{"before":"d88b328aa8b671ff2f59be457e6c2f0b7c2c403e","after":"28f44105b25f7dc6394a3a88bf41d6c375322e77","ref":"refs/heads/r3c","pushedAt":"2024-09-20T21:37:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"R3C's bootstrap shims 8994d23 CALL to default /WAIT\n\nThe original behavior of CALL was to not assume you wanted to\nsynchronously wait for a response. So it would spawn a process,\ngive you back a PID, and return control to the interpreter.\n\nThis is not the most useful behavior most of the time, so it was\nchanged to be synchronous by default. However the bootstrap shim\ndid adapt the older 8994d23 build to this policy. Hence if you\ntried to build R3C without a makefile and using the CALL facility,\nit would run the compilation and generation of prep files in\nparallel, leading to things flying by rather quickly and a lot\nof build errors.","shortMessageHtmlLink":"R3C's bootstrap shims 8994d23 CALL to default /WAIT"}},{"before":"b7cc96dce659ebf732bbd24da5d3731eefe8bb54","after":"d88b328aa8b671ff2f59be457e6c2f0b7c2c403e","ref":"refs/heads/r3c","pushedAt":"2024-09-20T13:51:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Fix atrophy of C build (overloaded Do_Array_At())\n\nANY-ARRAY! was renamed to ANY-LIST! in order to distinguish the\ninternal storage type `Array` from the cell category (that includes\nan index and binding):\n\n https://forum.rebol.info/t/any-array-vs-any-list/1384\n\nExcising the name \"Any_Array\" from functions led to renaming\nDo_Any_Array_At_Throws() to just Do_At_Throws(). This created an\naccidental reuse of the name Do_At_Throws() so it was a duplicate\nsymbol. It did not cause errors in C++ builds because they were\nunique overloadings, but would break C builds.\n\nThis fixes that, and adjusts the terminology a bit (DO is no\nlonger used to refer to the mere act of evaluating lists.)","shortMessageHtmlLink":"Fix atrophy of C build (overloaded Do_Array_At())"}},{"before":"0ca0dfdc7a866611682801333fffc947c86a7613","after":"b7cc96dce659ebf732bbd24da5d3731eefe8bb54","ref":"refs/heads/r3c","pushedAt":"2024-09-18T12:10:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Make LIT-WORD! equivalent to WORD! in FOR-EACH, etc.\n\nIn the modern interpreter we want FOR-EACH variables to be quoted\nat the callsite, vs. implicitly taken literally. This has been\ndecided as worth it to have the \"litter\" of the tick mark in order\nto more clearly denote that it's not an already existed and bound\nvariable.\n\nRather than retrofit the bootstrap executable to this convention,\nthis instead just makes the literal quote accept seeing a LIT-WORD!\nat the callsite. This means that the old convention of saying a\nlit-word meant don't create a variable is no longer applicable\n(it was a bad choice, but there wasn't much of other choices in\nthe olden days). Modern interpreter uses @word to say reuse the\nbinding, but that's not available. Use #word instead, since that\nis an ISSUE!","shortMessageHtmlLink":"Make LIT-WORD! equivalent to WORD! in FOR-EACH, etc."}},{"before":"5c7d35786faf4169488a61c8afbee79d90fafc89","after":"0ca0dfdc7a866611682801333fffc947c86a7613","ref":"refs/heads/r3c","pushedAt":"2024-09-06T09:11:59.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Add PARSE BYPASS instruction\n\nBetter word than FAIL for skip to next alternate.","shortMessageHtmlLink":"Add PARSE BYPASS instruction"}},{"before":"18af20ce447fd11e68c5ba552b877fed598083ae","after":"5c7d35786faf4169488a61c8afbee79d90fafc89","ref":"refs/heads/r3c","pushedAt":"2024-09-03T03:52:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Rename CHAIN to CASCADE\n\nIn anticipation of the CHAIN! data type.","shortMessageHtmlLink":"Rename CHAIN to CASCADE"}},{"before":"bd4245cd3329d19ddcfe4187775361f9dc544f2f","after":"18af20ce447fd11e68c5ba552b877fed598083ae","ref":"refs/heads/r3c","pushedAt":"2024-09-03T03:28:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Rename CHAIN to CASCADE\n\nIn anticipation of the CHAIN! data type.","shortMessageHtmlLink":"Rename CHAIN to CASCADE"}},{"before":"5ea356829b5dd18c094e3ac1e06299883b813f10","after":"bd4245cd3329d19ddcfe4187775361f9dc544f2f","ref":"refs/heads/r3c","pushedAt":"2024-08-30T20:39:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Change CONTINUE back to use /WITH instead of being endable\n\nProblems were noticed when CONTINUE was not at the end of a block.\n\nThis is a general problem with endability, suggesting it should be\nused very sparingly...probably only in the console.","shortMessageHtmlLink":"Change CONTINUE back to use /WITH instead of being endable"}},{"before":"6b59a28ab1b1cbdb0628fb24ac1206046512fe6e","after":"5ea356829b5dd18c094e3ac1e06299883b813f10","ref":"refs/heads/r3c","pushedAt":"2024-08-27T02:58:10.000Z","pushType":"push","commitsCount":13,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Switch ANY-ARRAY! to ANY-LIST!, Capitalization changes\n\nAlso makes it so that only API handles are blocked from being nulled\ncells instead of nullptr.\n\nThe switch to ANY-LIST! from ANY-ARRAY! is justified here:\n\n https://forum.rebol.info/t/any-array-vs-any-list/1384","shortMessageHtmlLink":"Switch ANY-ARRAY! to ANY-LIST!, Capitalization changes"}},{"before":"b645c5897c54ac0e0ded49d55be271163e8dd212","after":"8516f0fca8ddce40a97e7647a087dc55e065cf3b","ref":"refs/heads/master","pushedAt":"2024-08-21T12:48:38.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"ODBC uses correct null-tolerant rebSpellWideMaybe()\n\nAs a convenience, routines like rebSpell() used to give back a C nullptr if\nthe code you passed it produced a Rebol NULL.\n\nBut in usermode Rebol in general, nulls are designed to create disruptions\nand warnings of something not being right. You have to use MAYBE to turn\nthem into voids to get the opt out behavior.\n\n >> third [a b]\n == ~null~ ; anti\n\n >> length of third [a b]\n ** Error: LENGTH doesn't take NULL\n\n >> maybe third [a b]\n == ~void~ ; anti\n\n >> length of maybe third [a b]\n == ~null~ ; anti\n\nThis \"void-in-null-out\" concept gives you the ability to streamline operations\nin a chain but still have good error locality anytime you didn't think\nthat nulls could happen.\n\nIt was decided that the API should have a similar level of safety vs. giving\nback nullptr that could crash C code that wasn't expecting it. So functions\nlike rebSpell() were split into two variants:\n\n rebSpell() -> triggers interpreter failure when given null\n rebSpellMaybe() -> gives back nullptr when given null\n\nYou could accomplish what rebSpellMaybe() does with just:\n\n rebSpell(\"maybe\", ...)\n\nBut this offers slightly more efficiency, as well as robustness when the term\n\"maybe\" may have been redefined in the applicable Rebol module.\n\nIn any case, there was a straggling call to rebSpellWide() which hadn't been\nupdated to be a call to rebSpellWideMaybe().","shortMessageHtmlLink":"ODBC uses correct null-tolerant rebSpellWideMaybe()"}},{"before":"199db785027eaec3132b2edbd42bdf6364f64e8d","after":"b645c5897c54ac0e0ded49d55be271163e8dd212","ref":"refs/heads/master","pushedAt":"2024-08-20T23:21:47.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Fix typos in make-librebol.r, bump copyright dates","shortMessageHtmlLink":"Fix typos in make-librebol.r, bump copyright dates"}},{"before":"e45586292ef892c52036a9e001838aa2074b3fb6","after":"199db785027eaec3132b2edbd42bdf6364f64e8d","ref":"refs/heads/master","pushedAt":"2024-05-20T22:30:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Update outdated comment on COMBINATOR\n\nThe need to change the usermode version meant the native combinator code was\ndropped. They should be updated in sync, in the same file (where the user\ncode is in a comment in a C file that is scraped out by the build process).","shortMessageHtmlLink":"Update outdated comment on COMBINATOR"}},{"before":"70d066816ad705ca489c79b3aa9609e777b7b9cf","after":"e45586292ef892c52036a9e001838aa2074b3fb6","ref":"refs/heads/master","pushedAt":"2024-05-20T15:22:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"%src/mezz/mezz-help.r fix unintended application forms in source","shortMessageHtmlLink":"%src/mezz/mezz-help.r fix unintended application forms in source"}},{"before":"c31f9e54e473b4e24aa07a42b59b218b19760025","after":"6b59a28ab1b1cbdb0628fb24ac1206046512fe6e","ref":"refs/heads/r3c","pushedAt":"2024-04-26T21:04:39.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Take advantage of performance from previous commit\n\nThis leverages the performance improvements from the previous commit,\nby not enumerating the lib context and adding its keys for binding...but\ntrusting the values in the canon symbol.\n\nA significant amount of time is saved in running the bootstrap prep and\nrebmake steps (about 10% empirically), so this was worth doing.","shortMessageHtmlLink":"Take advantage of performance from previous commit"}},{"before":"cd7a07348aed297d0b06b8cde7d8f942f923a862","after":"70d066816ad705ca489c79b3aa9609e777b7b9cf","ref":"refs/heads/master","pushedAt":"2024-04-26T18:52:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Bump Cypress version to 13.8.1, autogen package-lock.json\n\nThe Cypress version used comes from a package.json file.\n\nWe don't want to commit package-lock.json to the repo (while there\nmay be good reasons for Node.js projects to do so, this is not a\nNode.js project.) So run `npm install`","shortMessageHtmlLink":"Bump Cypress version to 13.8.1, autogen package-lock.json"}},{"before":"f011906efd35f6bcca88fa7a19790bdef7749712","after":"cd7a07348aed297d0b06b8cde7d8f942f923a862","ref":"refs/heads/master","pushedAt":"2024-04-26T18:42:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Try bumping Cypress version to 13.8.1","shortMessageHtmlLink":"Try bumping Cypress version to 13.8.1"}},{"before":"08bb9cf88413cb3ad06a9f1a9c8ad5626e714b90","after":"f011906efd35f6bcca88fa7a19790bdef7749712","ref":"refs/heads/master","pushedAt":"2024-04-26T18:30:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Try changing Cypress browser back to Chrome","shortMessageHtmlLink":"Try changing Cypress browser back to Chrome"}},{"before":"f011906efd35f6bcca88fa7a19790bdef7749712","after":"08bb9cf88413cb3ad06a9f1a9c8ad5626e714b90","ref":"refs/heads/master","pushedAt":"2024-04-26T18:28:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Remove version stamp from Cypress GitHub Action\n\nShould default to latest.","shortMessageHtmlLink":"Remove version stamp from Cypress GitHub Action"}},{"before":"d8212c6d2de996f33f2142ebce40c328088f24bf","after":"f011906efd35f6bcca88fa7a19790bdef7749712","ref":"refs/heads/master","pushedAt":"2024-04-26T18:23:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Try changing Cypress browser back to Chrome","shortMessageHtmlLink":"Try changing Cypress browser back to Chrome"}},{"before":"fab9ec5c8611612ab9c039d4eb31d499e7242a36","after":"c31f9e54e473b4e24aa07a42b59b218b19760025","ref":"refs/heads/r3c","pushedAt":"2024-03-26T02:03:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Simplify LOAD/SAVE\n\nThis drops out COMPRESS and CHECKSUM options, in the interest of\nsimplifying things and making there be fewer failing tests.","shortMessageHtmlLink":"Simplify LOAD/SAVE"}},{"before":"f9349633ebe38bd505e8f39862a12c5fa653ddc0","after":"fab9ec5c8611612ab9c039d4eb31d499e7242a36","ref":"refs/heads/r3c","pushedAt":"2024-03-10T16:10:26.000Z","pushType":"push","commitsCount":41,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Switch around lambda from => to ->\n\nTakes -> which was SHOVE previously and gives it to >-","shortMessageHtmlLink":"Switch around lambda from => to ->"}},{"before":"569b25eb5965e06a456787fea1e687d165e67ab4","after":"d8212c6d2de996f33f2142ebce40c328088f24bf","ref":"refs/heads/master","pushedAt":"2024-03-09T14:06:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Add OPTIONAL, OPT back to UPARSE\n\nThis adds OPTIONAL and OPT, but temporarily bridges over still tolerating\nTRY, which will be deprecated after a while.","shortMessageHtmlLink":"Add OPTIONAL, OPT back to UPARSE"}},{"before":"f5abebf81650ad037cdb47ab21eb71951da77256","after":"f9349633ebe38bd505e8f39862a12c5fa653ddc0","ref":"refs/heads/r3c","pushedAt":"2024-03-04T01:33:43.000Z","pushType":"push","commitsCount":40,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Establish BLANK! => EMPTY? equivalence\n\nBLANK! is clearly not targeting being NULL-like or falsey any longer.\n\nBut it is useful as a surrogate for an empty series, and to be seen as\nEMPTY?. Hence anything that does series enumeration can treat it as an\nopt-out.","shortMessageHtmlLink":"Establish BLANK! => EMPTY? equivalence"}},{"before":"91e326e71b51ace869b26374cda3181bb50845b6","after":"569b25eb5965e06a456787fea1e687d165e67ab4","ref":"refs/heads/master","pushedAt":"2024-03-03T20:17:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Change ANY-BINDABLE? to just BINDABLE?\n\nAlso change sigil test to use DEGRADE instead of UNMETA, saving on\nsome ugly quote marks.","shortMessageHtmlLink":"Change ANY-BINDABLE? to just BINDABLE?"}},{"before":"316f821a10a55cd5c91fcf3159d80ec4f0cb9293","after":"91e326e71b51ace869b26374cda3181bb50845b6","ref":"refs/heads/master","pushedAt":"2024-03-03T19:42:54.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Change ANY-BINDABLE? to just BINDABLE?\n\nAlso change sigil test to use DEGRADE instead of UNMETA, saving on\nsome ugly quote marks.","shortMessageHtmlLink":"Change ANY-BINDABLE? to just BINDABLE?"}},{"before":"852d9fb003c7a380323082c5b8c6a9148900ce2f","after":"316f821a10a55cd5c91fcf3159d80ec4f0cb9293","ref":"refs/heads/master","pushedAt":"2024-03-03T19:35:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Finalize decision that TRASH doesn't display in console\n\nhttps://forum.rebol.info/t/console-treatment-of-void-vs-trash/2045","shortMessageHtmlLink":"Finalize decision that TRASH doesn't display in console"}},{"before":"db0c914ef432adbd69ec7bba6ae81c5305b8e9c9","after":"852d9fb003c7a380323082c5b8c6a9148900ce2f","ref":"refs/heads/master","pushedAt":"2024-03-01T10:14:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Switch to ~null~ and ~void~ (vs `` and ``)\n\nA long time ago when there was only one state you could put in values\nthat could not be in blocks, it was called VOID. It didn't have a\ndatatype, so some alternative signal was needed in the type spec\nblocks. The idea of using a TAG! and saying `` was chosen\nas a temporary solution.\n\nThat temporary solution wound up lasting for many years, as the lack\nof a satisfactory answer persisted. The type changed from being VOID\nto being NULL, and then something called VOID came along with a similar\nproblem. So `` was used for that.\n\nAs the needs to be more expressive about the properties of parameters\ngrew, tags began to control other features...making it a bit saturated\nto also be using tags for void and null indications. The modern idea\nis to use quasiforms to represent their antiforms, and it seemed like\na pretty reasonable solution...but didn't fit the situation with void\nnot being an antiform of the word \"void\"\n\nBut that's changed, and now void *is* the antiform of the word void.\nSo ~void~ makes a good indicator in the typespec if you want to call\nmore attention to it than with the function VOID?.\n\nSo this finally bites the bullet and shifts to using ~null~ and ~void~.","shortMessageHtmlLink":"Switch to ~null~ and ~void~ (vs <opt> and <void>)"}},{"before":"f8ac583f2cef8f581505e7736da5baf8e7c6de89","after":"db0c914ef432adbd69ec7bba6ae81c5305b8e9c9","ref":"refs/heads/master","pushedAt":"2024-03-01T09:14:07.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Revert \"Make strings load in new style\"\n\nThis reverts commit 886c1cda31d939081ad7c77c90972c6148f5caae.","shortMessageHtmlLink":"Revert \"Make strings load in new style\""}},{"before":"7024a99e34a28474fcf8eed5b1b374cafd83a5da","after":"f5abebf81650ad037cdb47ab21eb71951da77256","ref":"refs/heads/r3c","pushedAt":"2024-02-29T11:26:32.000Z","pushType":"push","commitsCount":71,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Add /FS switch to MSC command lines for JOM\n\nAllow multi-core builds","shortMessageHtmlLink":"Add /FS switch to MSC command lines for JOM"}},{"before":"c131624acacacec65f9a9aaf7feca06248a179fe","after":"f8ac583f2cef8f581505e7736da5baf8e7c6de89","ref":"refs/heads/master","pushedAt":"2024-02-27T21:10:12.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"hostilefork","name":"Hostile Fork","path":"/hostilefork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20440?s=80&v=4"},"commit":{"message":"Kill off grievous @ hack which decayed quasiforms\n\nSuppressing evaluation in the API was at first done with rebQ():\n\n rebElide(\"append block\", rebQ(word));\n\nA nice trick came along to use the @ operator, which was cleaner:\n\n rebElide(\"append block @\", word);\n\nBut by design you can't splice antiforms in feeds. So this wouldn't work for\nantiforms like NULL/etc.\n\nA hack was put in that the feed splicing mechanic would splice antiforms as\nquasiforms, and then @ would turn quasiforms into antiforms:\n\n >> @ ~null~\n == ~null~ ; anti\n\nIt gave the impression of working, because it wasn't too common to use\nquasiforms. But it had negative effects of splicing antiforms in places that\nwere not expecting them (e.g. actions would wind up not running when they\nshould likely have run), and it was broken in handling quasiforms.\n\nThis redoes the mechanism so the feed splices a meta form for antiforms and\nvoids, with a note about the fact that it has done that. Only the @ operator\nwill tolerate the situation, other code will error when it reaches that\npoint in the feed.","shortMessageHtmlLink":"Kill off grievous @ hack which decayed quasiforms"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQyMjoxODowNi4wMDAwMDBazwAAAAS8aIhC","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQyMjoxODowNi4wMDAwMDBazwAAAAS8aIhC","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0yN1QyMToxMDoxMi4wMDAwMDBazwAAAAQG99hJ"}},"title":"Activity ยท metaeducation/ren-c"}