{"push_id":762251957,"size":51,"distinct_size":38,"ref":"refs/heads/ren-c-cmake","head":"54d57e31c501cea51116be0400b2ed1c9ac64108","before":"71c105820c76c32b7da0492b1319ef3e6d8f5b76","commits":[{"sha":"5dc4b48b5f45eb7ea729fba12882a0ed3ff3d37e","author":{"email":"b4f46847bb6fa5437cea383597ee49eb9a3fcd05@ross-gill.com","name":"Christopher Ross-Gill"},"message":"Fix out-of-context word in Reword function.","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/5dc4b48b5f45eb7ea729fba12882a0ed3ff3d37e"},{"sha":"6b017f80629a926bc870c3d6d605d015d01632c5","author":{"email":"760e7dab2836853c63805033e514668301fa9c47@hostilefork.com","name":"Hostile Fork"},"message":"EXIT acts as QUIT if not in function, LEGACY flags\n\nThis adds a new behavior for EXIT (as it tries to find a place and\nmeaning in a definitionally-scoped return world).  By virtue of not\nhaving a binding and yet still wanting to exit \"wherever it is\", the\nsemantic fuzziness of EXIT is potentially served by meaning \"exit\nfrom wherever it is you find yourself\", so rather than having EXIT\nsay \"no function to return\" from when invoked from the shell, it just\nacts like a QUIT.\n\nMoving forward on this distinction also lets EXIT mean \"exit from\nthe currently running parse paren\", which is also not a \"definitional\nscope\".  To be more specific about where you want to go, you can\nuse a definitional return or a THROW/CATCH.  These features will\nbe coming shortly.\n\nBut for the moment, this just twists how EXIT works w.r.t. the top\nlevel, so you can say EXIT to get out of the console.  It also adds\nthe first legacy switch--available in the debug build--if you want to\nmake it so that exit will say \"return not in function\" instead.  To get\nthat, set an environment variable R3_LEGACY=1 and then when\nrunning say:\n\n     system/options/exit-function-only: true\n\nThis is a somewhat mundane first test of the idea, with a behavior\nunlikely to cause too much trouble  either way, to see how it works.","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/6b017f80629a926bc870c3d6d605d015d01632c5"},{"sha":"b5eac8bb5da9b5d1960858ba5cc79c88f00f7e6d","author":{"email":"760e7dab2836853c63805033e514668301fa9c47@hostilefork.com","name":"Hostile Fork"},"message":"Respond to R3_ALWAYS_MALLOC=0 env var as \"off\"","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/b5eac8bb5da9b5d1960858ba5cc79c88f00f7e6d"},{"sha":"955bab8a67def8f9adce1c852eec48c314565bf8","author":{"email":"732e7340692f11d23f6395d567310549b5a81f06@atronixengineering.com","name":"Shixin Zeng"},"message":"Fix the argument to ffi_prep_closure_loc\n\nThe argument is supposed to be the value returned from\nffi_closure_alloc, not the address of the value.","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/955bab8a67def8f9adce1c852eec48c314565bf8"},{"sha":"681d4ceb724f8d572c8fcce296d2739c5703a7ce","author":{"email":"732e7340692f11d23f6395d567310549b5a81f06@atronixengineering.com","name":"Shixin Zeng"},"message":"Save evaluation block to the stack\n\nSo it won't be GC'ed","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/681d4ceb724f8d572c8fcce296d2739c5703a7ce"},{"sha":"00464f8924fdbec0dde86577ee2050ca505c3ff7","author":{"email":"732e7340692f11d23f6395d567310549b5a81f06@atronixengineering.com","name":"Shixin Zeng"},"message":"Always set return value\n\nDispatch_Call checks for this","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/00464f8924fdbec0dde86577ee2050ca505c3ff7"},{"sha":"4e3e6b6d3920c60dd476827fcee492ab413285b6","author":{"email":"732e7340692f11d23f6395d567310549b5a81f06@atronixengineering.com","name":"Shixin Zeng"},"message":"Eliminate m_cast","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/4e3e6b6d3920c60dd476827fcee492ab413285b6"},{"sha":"f37653f528687e4d35c88ca8eec6cfc8b0db1660","author":{"email":"732e7340692f11d23f6395d567310549b5a81f06@atronixengineering.com","name":"Shixin Zeng"},"message":"Avoid saving temporary values on the stack\n\nUse saved series instead. Doing so avoids faked blocks, and makes GC happy.","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/f37653f528687e4d35c88ca8eec6cfc8b0db1660"},{"sha":"fb8c3bfe8723f9a14a173def15037951636df174","author":{"email":"760e7dab2836853c63805033e514668301fa9c47@hostilefork.com","name":"Hostile Fork"},"message":"Remove error-arg-is-trash assert in CATCH/QUIT\n\nDue to RE_EXIT needing to take an ordinary Rebol value, RE_QUIT\nreverted to using a full REBVAL integer to hold its status instead of\njust a C int (even though QUIT can only take an INTEGER!)","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/fb8c3bfe8723f9a14a173def15037951636df174"},{"sha":"110b9fe055a8d358fe6d7b58141887d79d488d7c","author":{"email":"760e7dab2836853c63805033e514668301fa9c47@hostilefork.com","name":"Hostile Fork"},"message":"Gabriele Santilli's MATH and FACTORIAL (CC#2120)\n\nThis lets you do math evaluation with \"usual\" precedence rules:\n\n    >> math [1 + 2 * 3]\n    == 7\n\nIt also has a mode where it will merely do the transformations, which\nhad been called /TRANSFORM but I called /ONLY for the sake of\nits representation of a simpler step (e.g. 'do math/only x' is 'math x')\n\n    >> math/only [1 + 2 * 3]\n    == [add 1 multiply 2 3]\n\nWhether this is an ideal implementation or not isn't really the point.\nAs CC#2120 argues, having it to demonstrate shows that Rebol's\nidea is to make the engine simple and predictable, so you can create\nyour own if you need to.  (And you usually stop wanting to.)","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/110b9fe055a8d358fe6d7b58141887d79d488d7c"},{"sha":"1d5d2b7ddadfe9712397e9ac9a9b1388c5a89537","author":{"email":"732e7340692f11d23f6395d567310549b5a81f06@atronixengineering.com","name":"Shixin Zeng"},"message":"Do not GC struct->fields as a block\n\nIt's a series of Struct_Field. see t-struct.c","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/1d5d2b7ddadfe9712397e9ac9a9b1388c5a89537"},{"sha":"934f3ed746cc07bcefd643494dd2e27cd1b79024","author":{"email":"732e7340692f11d23f6395d567310549b5a81f06@atronixengineering.com","name":"Shixin Zeng"},"message":"Always set return value from T_Struct\n\nDispatch_Call asserts on this","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/934f3ed746cc07bcefd643494dd2e27cd1b79024"},{"sha":"9a26264e9dffb0deda483655fcc84c66c6a1c996","author":{"email":"732e7340692f11d23f6395d567310549b5a81f06@atronixengineering.com","name":"Shixin Zeng"},"message":"Fix segfaults on routines without arguments","distinct":false,"url":"https://api.github.com/repos/zsx/r3/commits/9a26264e9dffb0deda483655fcc84c66c6a1c996"},{"sha":"eaa2b5298bd770a7393d1c2c1f19c7ead125e773","author":{"email":"760e7dab2836853c63805033e514668301fa9c47@hostilefork.com","name":"Hostile Fork"},"message":"All functions ending in ? return LOGIC! (part 1)\n\nThough it looks simple, there was a bit more to this than just a\nsearch and replace.  Still it is about a list of just five transtions:\n\nLENGTH? => LENGTH\nTYPE? => TYPE-OF\nINDEX => INDEX-OF\nOFFSET? => OFFSET-OF\nSIGN? => SIGN-OF\n\nThough they are renamed, there are still legacy definitions.  So\nthe sky isn't falling for code written using LENGTH? or INDEX?.\n(Yet.)\n\nThis doesn't actually take care of *all* the ? routines...just the\ncommon ones which consensus and conversation have focused\non.  Better names and study are still needed for bind?/bound?,\nencoding?, file-type?, speed?, suffix?, why?, info?, and exists?.\n\nA Porting Guide has also been started:\n\nhttps://trello.com/b/l385BE7a/ren-c-porting-guide","distinct":true,"url":"https://api.github.com/repos/zsx/r3/commits/eaa2b5298bd770a7393d1c2c1f19c7ead125e773"},{"sha":"b0b4416da4500b5e0dff7da7a04c7d62108f840e","author":{"email":"760e7dab2836853c63805033e514668301fa9c47@hostilefork.com","name":"Hostile Fork"},"message":"Fix THROWN() handling for PAREN! in PATH! (CC#2243)\n\nThis is not a complete solution to the problem of \"things being thrown\nduring a paren path evaluation\".  A real solution for all the callsites\nwill come when DO_PATH returns TRUE or FALSE the way that\nDO_BLOCK does, and when a single output value is enough to hold\nthe result of a path evaluation (via whatever implements REFINED!)\nBut this moves the problem to callers not paying attention to the result\ninstead of Do_Path() not providing it at all.","distinct":true,"url":"https://api.github.com/repos/zsx/r3/commits/b0b4416da4500b5e0dff7da7a04c7d62108f840e"},{"sha":"c979cff13f258299fbe23c11d60c9c5aca978c6e","author":{"email":"760e7dab2836853c63805033e514668301fa9c47@hostilefork.com","name":"Hostile Fork"},"message":"Make CONTEXT native pass on THROWN()s\n\nI was going over pending issues with warnings related to not paying\nattention to the result of DO_NEXT.  And I noticed that the context\ncreating native didn't handle throws.\n\nThat seems like it would have been a problem, and it would have...\nif people were *using* the context creating native.  However, this\nwas only used as a buggy substitute for \"make object!\" in sys-obj.r...\nlater overwritten by a user function in the mezzanine that called\nMAKE OBJECT! as its implementation.\n\nI'm not a big fan of CONTEXT as a verb form for MAKE OBJECT!\nnor OBJECT, and I prefer re-purposing HAS (aligns with DOES).\nBut still, it seemed to make sense to fix up the native for now and\ndelete the mezzanine, just to make things more clear.","distinct":true,"url":"https://api.github.com/repos/zsx/r3/commits/c979cff13f258299fbe23c11d60c9c5aca978c6e"},{"sha":"6bb1346285e4dffe4a556c9d1da3822497ae6f84","author":{"email":"760e7dab2836853c63805033e514668301fa9c47@hostilefork.com","name":"Hostile Fork"},"message":"Handle THROWN() during MAKE ERROR! (CC #2244)\n\nSimilar issue and similar fix to #2243.","distinct":true,"url":"https://api.github.com/repos/zsx/r3/commits/6bb1346285e4dffe4a556c9d1da3822497ae6f84"},{"sha":"8f836b83b2034e438d97e7f37529c7a9bb8c78d4","author":{"email":"760e7dab2836853c63805033e514668301fa9c47@hostilefork.com","name":"Hostile Fork"},"message":"Add missing return TRUE from previous commit\n\n(Working in an environment with -Wunused-value on and haven't\nfinished doing them all, so I missed that go by in the middle.)","distinct":true,"url":"https://api.github.com/repos/zsx/r3/commits/8f836b83b2034e438d97e7f37529c7a9bb8c78d4"},{"sha":"e8c1cc35c360aa4c52814855d9aeccccde2a5ea6","author":{"email":"71a7ca855f38bc559d0fce6727c7e2d8ada99ff8@hyperboria.name","name":"meshpoint"},"message":"RL_Map_Word did not provide length to Make_Word\n\n        // Prior convention was to assume zero termination if length was zero,\r\n        // but that creates problems.  Caller should use LEN_BYTES for that.","distinct":true,"url":"https://api.github.com/repos/zsx/r3/commits/e8c1cc35c360aa4c52814855d9aeccccde2a5ea6"},{"sha":"6f16f4cf868147fee27ccc95ff9f434821eb236c","author":{"email":"71a7ca855f38bc559d0fce6727c7e2d8ada99ff8@hyperboria.name","name":"meshpoint"},"message":"RL_Word_String forgot to copy the null terminator","distinct":true,"url":"https://api.github.com/repos/zsx/r3/commits/6f16f4cf868147fee27ccc95ff9f434821eb236c"}]}