From noreply at github.com Thu Aug 10 02:12:57 2017 From: noreply at github.com (GitHub) Date: Wed, 09 Aug 2017 17:12:57 -0700 Subject: [M3commit] [modula3/cm3] 662977: Fix some typing of llvm input. Message-ID: <598ba50950f28_1d4cd3fdba4dd7c2c10595a@hookshot-fe-6dbb0c4.cp1-iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 662977446648315ddb404eac8069ed6cc634585c https://github.com/modula3/cm3/commit/662977446648315ddb404eac8069ed6cc634585c Author: Rodney Bates Date: 2017-07-21 (Fri, 21 Jul 2017) Changed paths: M m3-sys/llvm3.6.1/src/M3CG_LLVM.m3 Log Message: ----------- Fix some typing of llvm input. Commit: 8d38c99796cbf207cef38ad0b3c57ad79412bc41 https://github.com/modula3/cm3/commit/8d38c99796cbf207cef38ad0b3c57ad79412bc41 Author: Rodney Bates Date: 2017-08-09 (Wed, 09 Aug 2017) Changed paths: M m3-sys/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm3.6.1/src/Main.m3 Log Message: ----------- Rework of uplevel addressing. Fixes some bugs and consistifies use of llvm types. Compare: https://github.com/modula3/cm3/compare/ca6e5ca97724...8d38c99796cb From noreply at github.com Fri Aug 11 18:21:53 2017 From: noreply at github.com (GitHub) Date: Fri, 11 Aug 2017 09:21:53 -0700 Subject: [M3commit] [modula3/cm3] 3b4723: Add compiler test p012. Message-ID: <598dd9a1ea809_53513fc5526bdc2456989@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3b472326b7fd4ab68e2a3bab68e8ac83c898a025 https://github.com/modula3/cm3/commit/3b472326b7fd4ab68e2a3bab68e8ac83c898a025 Author: Rodney Bates Date: 2017-08-11 (Fri, 11 Aug 2017) Changed paths: A m3-sys/m3tests/src/p0/p012/Main.m3 A m3-sys/m3tests/src/p0/p012/Support.i3 A m3-sys/m3tests/src/p0/p012/Support.m3 A m3-sys/m3tests/src/p0/p012/m3makefile A m3-sys/m3tests/src/p0/p012/stderr.build A m3-sys/m3tests/src/p0/p012/stderr.pgm A m3-sys/m3tests/src/p0/p012/stdout.build A m3-sys/m3tests/src/p0/p012/stdout.pgm Log Message: ----------- Add compiler test p012. A test case for up-level addressing, including passing a nested procedure as a parameter. Uses some glass-box knowlege of the llvm backend's convoluted display system. Passes using the gcc-derived backend and the llvm backend. From noreply at github.com Sat Aug 12 19:39:59 2017 From: noreply at github.com (GitHub) Date: Sat, 12 Aug 2017 10:39:59 -0700 Subject: [M3commit] [modula3/cm3] 037ef1: Add automatic run of new test p012. Message-ID: <598f3d6fd28a1_49a23f87ea733c3059878@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 037ef109e2ae0f3dbea351a59040f3f2eaf3310a https://github.com/modula3/cm3/commit/037ef109e2ae0f3dbea351a59040f3f2eaf3310a Author: Rodney Bates Date: 2017-08-12 (Sat, 12 Aug 2017) Changed paths: M m3-sys/m3tests/src/m3makefile Log Message: ----------- Add automatic run of new test p012. From noreply at github.com Sat Aug 12 20:20:56 2017 From: noreply at github.com (GitHub) Date: Sat, 12 Aug 2017 11:20:56 -0700 Subject: [M3commit] [modula3/cm3] b440a9: Fix segfault in llvm backend, on p079. Message-ID: <598f4708d86f5_21d93fddfef1dc38107c1@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b440a9ea6b67f99201c47ae33078587ed526c192 https://github.com/modula3/cm3/commit/b440a9ea6b67f99201c47ae33078587ed526c192 Author: Rodney Bates Date: 2017-08-12 (Sat, 12 Aug 2017) Changed paths: M m3-sys/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvmbindings/src/LLVM.i3 Log Message: ----------- Fix segfault in llvm backend, on p079. There is a very subtle and heretofore undocumented invariant concerning what procedure declare_param and declare_local IR operators belong to. >From an experiment, it appears that declare_local occurences in a procedure signature (i.e., following a declare_procedure, not in the body) are not duplicated when the signature for the same procedure is imported, via import_procedure and its following occurences of declare_param. This is important, because an imported signature, with its parameters, can occur inside a procedure body, where declare_local can also occur. Were it not so, a declare_local in this context would be ambiguous as to whether it belonged to the most recent import_procedure or to the current body. Commit: ce560936a064683d428ab0a1449ad6ba3d9eecd8 https://github.com/modula3/cm3/commit/ce560936a064683d428ab0a1449ad6ba3d9eecd8 Author: Rodney Bates Date: 2017-08-12 (Sat, 12 Aug 2017) Changed paths: M m3-sys/m3middle/src/M3CG_Ops.i3 Log Message: ----------- Document what declare_param belongs to. declare_local occurences in a procedure signature (i.e., following a declare_procedure, not in the body) are not duplicated when the signature for the same procedure is imported, via import_procedure and its following occurences of declare_param. This is important, because an imported signature, with its parameters, can occur inside a procedure body, where declare_local can also occur. Were it not so, a declare_local in this context would be ambiguous as to whether it belonged to the most recent import_procedure or to the current body. Compare: https://github.com/modula3/cm3/compare/037ef109e2ae...ce560936a064 From noreply at github.com Sat Aug 12 23:32:30 2017 From: noreply at github.com (GitHub) Date: Sat, 12 Aug 2017 14:32:30 -0700 Subject: [M3commit] [modula3/cm3] 49df75: Add expected build output files to test p265. Message-ID: <598f73ee90dd8_13ae03ffb92b95c3015339@hookshot-fe-6dbb0c4.cp1-iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 49df75611199c8cf3a965045ee65b76d0da15c1d https://github.com/modula3/cm3/commit/49df75611199c8cf3a965045ee65b76d0da15c1d Author: Rodney Bates Date: 2017-08-12 (Sat, 12 Aug 2017) Changed paths: A m3-sys/m3tests/src/p2/p265/stderr.build A m3-sys/m3tests/src/p2/p265/stdout.build Log Message: ----------- Add expected build output files to test p265. This still detects compile time errors, which may be correct, but if so, this should be an e group test. Commit: 90dedf2d1a91a5c37e739ce10e39016bb4e4f4f3 https://github.com/modula3/cm3/commit/90dedf2d1a91a5c37e739ce10e39016bb4e4f4f3 Author: Rodney Bates Date: 2017-08-12 (Sat, 12 Aug 2017) Changed paths: A m3-sys/m3tests/src/p0/p004/README Log Message: ----------- Add a README file to test p004, explaining different warning order. The m3cc and llvm versions of the compiler produce the same set of warning messages but in a different order. This is probably because these back ends request different order of nested procedures from the front end. Little else would affect the front end. This test has no explicitly coded nested procedures, but exception handling generates internally produced nested procedures. The added README file just explains this. Probably the difference in compile output could be checked automatically, but it's a priority thing. Compare: https://github.com/modula3/cm3/compare/ce560936a064...90dedf2d1a91 From noreply at github.com Tue Aug 15 00:53:38 2017 From: noreply at github.com (GitHub) Date: Mon, 14 Aug 2017 15:53:38 -0700 Subject: [M3commit] [modula3/cm3] 193f0a: fix for carriage return/newline problem Message-ID: <599229f2e6754_22dc3ff31568bc38723f1@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 193f0a7d1066f97f2ca381b23413ab48a213444c https://github.com/modula3/cm3/commit/193f0a7d1066f97f2ca381b23413ab48a213444c Author: Jay Krell Date: 2017-03-06 (Mon, 06 Mar 2017) Changed paths: M scripts/python/pylib.py Log Message: ----------- fix for carriage return/newline problem Commit: b60508958726b35d99d7331df6ce496c3a07b5e3 https://github.com/modula3/cm3/commit/b60508958726b35d99d7331df6ce496c3a07b5e3 Author: jaykrell Date: 2017-08-14 (Mon, 14 Aug 2017) Changed paths: M scripts/python/pylib.py Log Message: ----------- Merge pull request #18 from jaykrell/master fix for carriage return/newline problem Compare: https://github.com/modula3/cm3/compare/90dedf2d1a91...b60508958726 From noreply at github.com Tue Aug 15 19:07:45 2017 From: noreply at github.com (GitHub) Date: Tue, 15 Aug 2017 10:07:45 -0700 Subject: [M3commit] [modula3/cm3] aa3dff: Fix failure p035. Rework closure calls. Message-ID: <59932a617fdd_42d83fd6ac89dc2c441b1@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: aa3dffed934c3c94aca6fb369d2836b0d894d2ef https://github.com/modula3/cm3/commit/aa3dffed934c3c94aca6fb369d2836b0d894d2ef Author: Rodney Bates Date: 2017-08-15 (Tue, 15 Aug 2017) Changed paths: M m3-sys/llvm3.6.1/src/M3CG_LLVM.m3 Log Message: ----------- Fix failure p035. Rework closure calls. Rework to fix failure on p035 for a variable call. Simplifies handling of closure calls. Also handles variable calls that are statically known to always call a global procedure (the procedure value is a variable) and those statically known to always call a nested procedure (internally generated procedure for a FINALLY block). There is a big semantic mismatch between CG IR and llvm IR. The former can have a call with dynamically differing parameter list (here, with/without a static link), which will work as long as it matches what the (also dynamically differing) procedure's code expects. In llvm, a call instruction has to have a static function type, including its parameter list. So we need two call instructions, in different basic blocks. We have to use some inside knowledge of the code sequences CG is producing. Specifically, the sequence for a closure-call, (after pop_static_link,) ends with load (of code address), a store (which we don't use) and a branch (which we need to replace with a branch to an inserted basic block for the static-link-passing version. The CG IR code contains two nil-checks. The first is part of deciding whether this is a closure, and if nil, just branches to the code that is common to closure and non-closure cases. Its only purpose is to prevent a segfault looking for the closure tag. The second, at the branched-to common point, gives a runtime error if nil. In the non-closure case, it's a redundant check, except for the resulting action. In the closure case, it checks the code address in the closure, rather than the address in the original procedure variable. This is not algorithmically redundant, but I believe it can't happen. The llvm translated code does not perform this check. The CG-produced code could really be reviewed here. Commit: 266eb83bf1514cddc97887d71c622aeed0c2ba0f https://github.com/modula3/cm3/commit/266eb83bf1514cddc97887d71c622aeed0c2ba0f Author: Rodney Bates Date: 2017-08-15 (Tue, 15 Aug 2017) Changed paths: M scripts/python/pylib.py Log Message: ----------- Merge branch 'master' of https://github.com/modula3/cm3 Compare: https://github.com/modula3/cm3/compare/b60508958726...266eb83bf151 From noreply at github.com Tue Aug 15 21:30:18 2017 From: noreply at github.com (GitHub) Date: Tue, 15 Aug 2017 12:30:18 -0700 Subject: [M3commit] [modula3/cm3] 7cef32: Add test p013, for indirect calls. Message-ID: <59934bcad6241_11463ff75ac95c3429776@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 7cef328dd19c5480db1f64859265e4ee8f4fb3c8 https://github.com/modula3/cm3/commit/7cef328dd19c5480db1f64859265e4ee8f4fb3c8 Author: Rodney Bates Date: 2017-08-15 (Tue, 15 Aug 2017) Changed paths: M m3-sys/m3tests/src/m3makefile A m3-sys/m3tests/src/p0/p013/Main.m3 A m3-sys/m3tests/src/p0/p013/Support.i3 A m3-sys/m3tests/src/p0/p013/Support.m3 A m3-sys/m3tests/src/p0/p013/m3makefile A m3-sys/m3tests/src/p0/p013/stderr.build A m3-sys/m3tests/src/p0/p013/stderr.pgm A m3-sys/m3tests/src/p0/p013/stdout.build A m3-sys/m3tests/src/p0/p013/stdout.pgm Log Message: ----------- Add test p013, for indirect calls. From noreply at github.com Tue Aug 15 21:31:25 2017 From: noreply at github.com (GitHub) Date: Tue, 15 Aug 2017 12:31:25 -0700 Subject: [M3commit] [modula3/cm3] c56067: Typos Message-ID: <59934c0d18775_8b053f85557d3c40927e8@hookshot-fe-6dbb0c4.cp1-iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: c56067184e0f6ba4e7d74ed26067aa33411a6520 https://github.com/modula3/cm3/commit/c56067184e0f6ba4e7d74ed26067aa33411a6520 Author: Rodney Bates Date: 2017-08-15 (Tue, 15 Aug 2017) Changed paths: M m3-sys/llvm3.6.1/src/M3CG_LLVM.m3 Log Message: ----------- Typos From noreply at github.com Fri Aug 18 09:16:57 2017 From: noreply at github.com (GitHub) Date: Fri, 18 Aug 2017 00:16:57 -0700 Subject: [M3commit] [modula3/cm3] 7aefaf: add support for Visual C++ 19.10/2017 Message-ID: <59969469df82f_18143f9960da5c30541b6@hookshot-fe-6dbb0c4.cp1-iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 7aefafa0bc7507a56e9d40357d91ad8492b9a46e https://github.com/modula3/cm3/commit/7aefafa0bc7507a56e9d40357d91ad8492b9a46e Author: Jay Krell Date: 2017-08-18 (Fri, 18 Aug 2017) Changed paths: M scripts/python/pylib.py Log Message: ----------- add support for Visual C++ 19.10/2017 From noreply at github.com Fri Aug 18 09:17:49 2017 From: noreply at github.com (GitHub) Date: Fri, 18 Aug 2017 00:17:49 -0700 Subject: [M3commit] [modula3/cm3] e64176: add support for Visual C++ 19.10/2017 Message-ID: <5996949d67399_bad83fd1c8669c3c967c2@hookshot-fe-6dbb0c4.cp1-iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: e64176b67344e59655e758be6b345ab35f64caf0 https://github.com/modula3/cm3/commit/e64176b67344e59655e758be6b345ab35f64caf0 Author: Jay Krell Date: 2017-08-18 (Fri, 18 Aug 2017) Changed paths: M scripts/python/pylib.py Log Message: ----------- add support for Visual C++ 19.10/2017 From noreply at github.com Fri Aug 18 09:19:41 2017 From: noreply at github.com (GitHub) Date: Fri, 18 Aug 2017 00:19:41 -0700 Subject: [M3commit] [modula3/cm3] 8bd381: add support for Visual C++ 19.10/2017 Message-ID: <5996950d89948_363d3fe3359ffc3868159@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 8bd381216002809c143186f231439f58ed227ff6 https://github.com/modula3/cm3/commit/8bd381216002809c143186f231439f58ed227ff6 Author: Jay Krell Date: 2017-08-18 (Fri, 18 Aug 2017) Changed paths: M scripts/python/pylib.py Log Message: ----------- add support for Visual C++ 19.10/2017 From noreply at github.com Fri Aug 18 09:23:24 2017 From: noreply at github.com (GitHub) Date: Fri, 18 Aug 2017 00:23:24 -0700 Subject: [M3commit] [modula3/cm3] 926d44: add comments Message-ID: <599695ecb4e13_6663f9736ef5c381313e3@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 926d44c1d429b1f143c6f205851a41d8b61b890a https://github.com/modula3/cm3/commit/926d44c1d429b1f143c6f205851a41d8b61b890a Author: Jay Krell Date: 2017-08-18 (Fri, 18 Aug 2017) Changed paths: M scripts/python/pylib.py Log Message: ----------- add comments add support for Visual C++ 19.10/2017 Commit: 56a69621ccebdb653fb98ae2d797bb95a35ea4de https://github.com/modula3/cm3/commit/56a69621ccebdb653fb98ae2d797bb95a35ea4de Author: Jay Krell Date: 2017-08-18 (Fri, 18 Aug 2017) Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 Compare: https://github.com/modula3/cm3/compare/8bd381216002...56a69621cceb From noreply at github.com Fri Aug 18 09:26:44 2017 From: noreply at github.com (GitHub) Date: Fri, 18 Aug 2017 00:26:44 -0700 Subject: [M3commit] [modula3/cm3] 331112: putative untested 18.0/12.0?2013 support Message-ID: <599696b4de6bc_6ada3f824240bc2c134698@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3311120fc32a9b14c2bb936e2bff031657919b95 https://github.com/modula3/cm3/commit/3311120fc32a9b14c2bb936e2bff031657919b95 Author: Jay Krell Date: 2017-08-18 (Fri, 18 Aug 2017) Changed paths: M scripts/python/pylib.py Log Message: ----------- putative untested 18.0/12.0?2013 support more dots probably warranted in versions wordsmith From noreply at github.com Fri Aug 18 15:34:11 2017 From: noreply at github.com (GitHub) Date: Fri, 18 Aug 2017 06:34:11 -0700 Subject: [M3commit] [modula3/cm3] 4ccf21: Fix Win32 threads from a year ago?! Message-ID: <5996ecd3a7361_18ff3fe427033c345768f@hookshot-fe-6dbb0c4.cp1-iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4ccf21c2109a51773bb43456b20092f433959192 https://github.com/modula3/cm3/commit/4ccf21c2109a51773bb43456b20092f433959192 Author: Jay Krell Date: 2017-08-18 (Fri, 18 Aug 2017) Changed paths: M m3-libs/m3core/src/thread/WIN32/ThreadWin32C.c M scripts/python/pylib.py Log Message: ----------- Fix Win32 threads from a year ago?! Slightly cleanup pylib.py wrt Visual C++ version detection: add spaces, and make a function for 2015 or newer (ucrt). From noreply at github.com Fri Aug 25 00:32:53 2017 From: noreply at github.com (GitHub) Date: Thu, 24 Aug 2017 15:32:53 -0700 Subject: [M3commit] [modula3/cm3] 90b335: Fix special-case passing of static link parameter. Message-ID: <599f54154613a_2df23fb8742fbc3490913@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 90b335e7ae53393d9dfc78f690e39a7cad49e086 https://github.com/modula3/cm3/commit/90b335e7ae53393d9dfc78f690e39a7cad49e086 Author: Rodney Bates Date: 2017-08-24 (Thu, 24 Aug 2017) Changed paths: M m3-sys/llvm3.6.1/src/M3CG_LLVM.m3 Log Message: ----------- Fix special-case passing of static link parameter. Add the llvm 'nest' attribute to the static link parameter, both for direct and indirect calls. This causes llvm to pass this parameter in the way the target ABI specifies for a static link. Without this, everything was almost working except for execution of a finally block when an exception propagated through it. This would probably have worked too, if the runtime were also compiled with the llvm backend. But RTExFrame passes a static link to user code, and, if compiled by different back ends, these were using different parameter conventions. With this change, all test cases that pass using the gcc back end also pass using the llvm backend, plus one more (p140). Also, llvm incorrectly shows a failure on p004. This is only a reordering of warning messages produced by the front end, which is asked to unnest nested procedures in different order by these two back ends. This is with mixing m3cc-compiled runtime and llvm-compiled test cases, which bodes well for interoperability of these back ends. From jayk123 at hotmail.com Fri Aug 25 01:27:37 2017 From: jayk123 at hotmail.com (Jay K) Date: Thu, 24 Aug 2017 23:27:37 +0000 Subject: [M3commit] [modula3/cm3] 90b335: Fix special-case passing of static link parameter. In-Reply-To: <599f54154613a_2df23fb8742fbc3490913@hookshot-fe2-cp1-prd.iad.github.net.mail> References: <599f54154613a_2df23fb8742fbc3490913@hookshot-fe2-cp1-prd.iad.github.net.mail> Message-ID: Fyi the C backend completely works here, but everything must be compiled with the same backend, and gcc and C backend do not interoperate -- they pass the static link differently. - Jay ________________________________ From: M3commit on behalf of GitHub Sent: Thursday, August 24, 2017 3:32:53 PM To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 90b335: Fix special-case passing of static link parameter. Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 90b335e7ae53393d9dfc78f690e39a7cad49e086 https://github.com/modula3/cm3/commit/90b335e7ae53393d9dfc78f690e39a7cad49e086 Author: Rodney Bates Date: 2017-08-24 (Thu, 24 Aug 2017) Changed paths: M m3-sys/llvm3.6.1/src/M3CG_LLVM.m3 Log Message: ----------- Fix special-case passing of static link parameter. Add the llvm 'nest' attribute to the static link parameter, both for direct and indirect calls. This causes llvm to pass this parameter in the way the target ABI specifies for a static link. Without this, everything was almost working except for execution of a finally block when an exception propagated through it. This would probably have worked too, if the runtime were also compiled with the llvm backend. But RTExFrame passes a static link to user code, and, if compiled by different back ends, these were using different parameter conventions. With this change, all test cases that pass using the gcc back end also pass using the llvm backend, plus one more (p140). Also, llvm incorrectly shows a failure on p004. This is only a reordering of warning messages produced by the front end, which is asked to unnest nested procedures in different order by these two back ends. This is with mixing m3cc-compiled runtime and llvm-compiled test cases, which bodes well for interoperability of these back ends. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Sun Aug 27 18:19:24 2017 From: noreply at github.com (GitHub) Date: Sun, 27 Aug 2017 09:19:24 -0700 Subject: [M3commit] [modula3/cm3] 29588e: Fix what appeared to be a failed attempt at an htm... Message-ID: <59a2f10c221a8_7c1d3fa05e8ffc30970c2@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 29588e16619434e5bf859be456128b3ad1b6506f https://github.com/modula3/cm3/commit/29588e16619434e5bf859be456128b3ad1b6506f Author: Rodney Bates Date: 2017-08-27 (Sun, 27 Aug 2017) Changed paths: M doc/help/cm3/m3build/machine.html M doc/help/cm3/m3build/overrides.html Log Message: ----------- Fix what appeared to be a failed attempt at an html link. The original markup was "(see \ref{VAR-sec})". This came through uninterpreted. I can find nothing in the html documentation pages that resembles VAR-sec or similar. I made it link to the definition of WDROOT, which is mentioned in the sentence above. From noreply at github.com Sun Aug 27 18:22:38 2017 From: noreply at github.com (GitHub) Date: Sun, 27 Aug 2017 09:22:38 -0700 Subject: [M3commit] [modula3/cm3] 7f10a4: Document strange Quake semantics of pseudo-nested ... Message-ID: <59a2f1ceb1384_5f673fd538743c3415778@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 7f10a45c92a83c09b28248f2bfed6caf59c18698 https://github.com/modula3/cm3/commit/7f10a45c92a83c09b28248f2bfed6caf59c18698 Author: Rodney Bates Date: 2017-08-27 (Sun, 27 Aug 2017) Changed paths: M doc/help/cm3/quake.html Log Message: ----------- Document strange Quake semantics of pseudo-nested procedures. A Quake procedure definition can appear inside a local scope, but no matter where it occurs, its name is declared in the global scope, and its nonlocal references are looked-for in the global scope. Document these very strange semantics.