diff --git a/internal/engine.cm b/internal/engine.cm index 5e09663a..5c76b3b5 100644 --- a/internal/engine.cm +++ b/internal/engine.cm @@ -405,7 +405,7 @@ function handle_host(e) { peers[`${e.peer.address}:${e.peer.port}`] = e.peer var queue = peer_queue.get(e.peer) if (queue) { - for (var msg of queue) e.peer.send(nota.encode(msg)) + arrfor(queue, msg => e.peer.send(nota.encode(msg))) log.system(`sent ${msg} out of queue`) peer_queue.delete(e.peer) } @@ -793,13 +793,11 @@ $_.clock(_ => { var inject = shop.script_inject_for ? shop.script_inject_for(file_info) : [] // Build values array for injection - var vals = [] - for (var i = 0; i < inject.length; i++) { - var key = inject[i] - if (key && key[0] == '$') key = text(key, 1) - if (key == 'fd') vals.push(fd) - else vals.push($_[key]) - } + var vals = array(inject, key => { + if (key && key[0] == '$') key = text(key,1) + if (key == 'fd') return fd + return $_[key] + }) // Create use function bound to the program's package var pkg = file_info ? file_info.package : null diff --git a/package.cm b/package.cm index efeb7a61..1917e8b1 100644 --- a/package.cm +++ b/package.cm @@ -286,8 +286,9 @@ package.get_c_files = function(name, target, exclude_main) { var ext = ends_with(file, '.cpp') ? '.cpp' : '.c' var base = text(file, 0, -ext.length) - var dir = '' var name_part = fd.basename(base) + var dir_part = fd.dirname(base) + var dir = (dir_part && dir_part != '.') ? dir_part + '/' : '' // Check for target suffix var is_variant = false