Hi Jon, so the only remaining issue with eum64 is currently the fact that fcntl() gives a runtime error on the Mac:
> MacBook-Air:picoLispEmu jkleiser$ ./pil + > [/Users/jkleiser/.pil/history:1] File lock: Invalid argument This happens when it tries to lock the history file of the line editor in debug mode. But it will probably also happen in other cases where files need to be locked (e.g. in the database). The corresponding source is line 28 of "src64/io.l": (code 'lockFileAC) st2 (Flock) # 'l_type' ld (Flock L_START) 0 # Start position ('l_whence' is SEEK_SET) shr A 16 # Get length ld (Flock L_LEN) A # Length do cc fcntl(C F_SETLKW Flock) # Try to lock This boils down to (line 19477 of "src64/emu.base.c"): // lockFileAC: 2644, // 18454: st2 (Flock) 2645, // 18455: ld (Flock . 4) 0 2646, // 18456: shr A 16 2647, // 18457: ld (Flock . 12) A 2650, // 18458: cc fcntl (C 14 Flock) The '14' here is the value of F_SETLKW on x86-32 Debian. It is system dependent, and is perhaps different on the Mac. The last line results in the call (line 39073): case 2650: // cc fcntl (C 14 Flock) A.l = (uint32_t)fcntl((int)C.n, 14, (int)((uint64_t)(unsigned long)((uint8_t*)Data+7844))); break; So either the value '14' is wrong here, or the whole call to fcntl(). The value of F_SETLKW is taken from the standard output of the command 'src64/sysdefs', which is compiled in the build process on the host system. Anybody has an idea what is wrong? Any Mac programmer awake? Cheers, - Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe