Re: epil - PicoLisp with Emacs-like command-line (was: Meta key in
Hi Thorsten, Maybe there could be a 1. global switch '*Vi' that is true by default, and 2. a function '(de Toggle-Vi...)' that toggles that switch, and 3. three modes: Command, Insert, EInsert or 3. two modes Command and Insert, with much Command functionality duplicated in Insert Perhaps it is better to keep the two editors separate? This would make changes and extensions more modular. maybe one could actually have two additional library files 'eled.l' and 'eedit.l', not change anything in 'led.l' and 'edit.l', and simply Yes. insert conditional statements in the startscripts and the functions that load the libraries? I.e., add 'eled.l' and 'eedit.l' to the PicoLisp I would use the names vled.l and eled.l, and have a symbolic link led.l to one of those. In that way, no changes to the rest of the system are necessary. Cheers, - Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: pil64emu testing features
Hi Jon, Starting pil64emu with file argument, like ./bin/picolisp misc/fibo.l, still gives me a Segmentation fault. What's definitely still missing is 'native' support. As misc/fibo.l also does some native stuff, perhaps this is the culprit? Are there other interesting 64-bit features I could try at the moment? I hope I can finish some basic 'native' support during this week. Let's postpone testing until then? Meanwhile, we have an improved version! :) I'm not sure about the crash on your Mac yet (and other probable bugs), but pil4emu is now rather complete. The unit tests pass, and a subset of 'native' is supported (I've tested it with some of your openGl examples). When the smoke clears, I'll write up some more details. Let's first see how it works on your Mac. I've tested on Linux/x86-32 and Ubuntu/x86-64 so far. To build it, it is now only necessary to do: $ (cd src64/; make emu) This will force building the emulator, even on machines which are natively supported (like x86-64 or ppc64). A new global *CPU will tell us for which architecture the binary was actually built: : *CPU - emu or : *CPU - x86-64 etc. Cheers, - Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: pil64emu testing features
Hi Alex, On 11/2/12 1:44 PM, Alexander Burger wrote: Hi Jon, Starting pil64emu with file argument, like ./bin/picolisp misc/fibo.l, still gives me a Segmentation fault. What's definitely still missing is 'native' support. As misc/fibo.l also does some native stuff, perhaps this is the culprit? Are there other interesting 64-bit features I could try at the moment? I hope I can finish some basic 'native' support during this week. Let's postpone testing until then? Meanwhile, we have an improved version! :) I'm not sure about the crash on your Mac yet (and other probable bugs), but pil4emu is now rather complete. The unit tests pass, and a subset of 'native' is supported (I've tested it with some of your openGl examples). When the smoke clears, I'll write up some more details. Let's first see how it works on your Mac. I've tested on Linux/x86-32 and Ubuntu/x86-64 so far. To build it, it is now only necessary to do: $ (cd src64/; make emu) This will force building the emulator, even on machines which are natively supported (like x86-64 or ppc64). A new global *CPU will tell us for which architecture the binary was actually built: : *CPU - emu or : *CPU - x86-64 etc. Cheers, - Alex It builds more or less as before, and it's still got problems loading .l files (on my Mac): f3bmac3:picoLispEmu jkleiser$ (cd src64; make) emu.base.c: In function ‘run’: emu.base.c:42115: warning: format not a string literal and no format arguments emu.base.c:42170: warning: format not a string literal and no format arguments strip: symbols referenced by indirect symbol table entries that can't be stripped in: /Volumes/P3/picoLispEmu/lib/ext _exit _fwrite make: *** [../lib/ext] Error 1 f3bmac3:picoLispEmu jkleiser$ ./bin/picolisp : (== 64 64) - T : *CPU - emu : (load misc/fibo.l) [lib/native.l:31] !? (** 2 32) ** -- Undefined ? : (bye) f3bmac3:picoLispEmu jkleiser$ ./bin/picolisp misc/fibo.l [misc/fibo.l:38] !? (load @lib/native.l) @lib/native.l -- Open error: No such file or directory ? : (bye) Am I doing something wrong? /Jon -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: pil64emu testing features
Hi Jon, It builds more or less as before, and it's still got problems loading .l files (on my Mac): f3bmac3:picoLispEmu jkleiser$ (cd src64; make) emu.base.c: In function ‘run’: emu.base.c:42115: warning: format not a string literal and no format arguments OK, this is correct. It is a warning which doesn't make sense here (printf called dynamically). It could be switched off (-Wformat-security). strip: symbols referenced by indirect symbol table entries that can't be stripped in: /Volumes/P3/picoLispEmu/lib/ext _exit _fwrite make: *** [../lib/ext] Error 1 I see. Then it is perhaps better not to strip the shared libraries at all? I remove the lines $(STRIP) $(lib)/ext and $(STRIP) $(lib)/ht from src64/Makefile. Does anybody know a better solution? f3bmac3:picoLispEmu jkleiser$ ./bin/picolisp : (== 64 64) - T : *CPU - emu Good :) : (load misc/fibo.l) [lib/native.l:31] !? (** 2 32) ** -- Undefined ? : (bye) It seems you started only bin/picolisp, right? '**' is defined in lib.l, so at least bin/picolisp lib.l must be started. As ever, the recommended way is ./pil +. f3bmac3:picoLispEmu jkleiser$ ./bin/picolisp misc/fibo.l [misc/fibo.l:38] !? (load @lib/native.l) @lib/native.l -- Open error: No such file or directory Same reason here. If the first argument is not correctly set up (typically lib.l), then the path to the installation directory (to be used by '@..') is missing. So ./pil + should be the first thing to try. Cheers, - Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: pil64emu testing features
Hi Alex, On 11/2/12 4:30 PM, Alexander Burger wrote: Hi Jon, .. : (load misc/fibo.l) [lib/native.l:31] !? (** 2 32) ** -- Undefined ? : (bye) It seems you started only bin/picolisp, right? '**' is defined in lib.l, so at least bin/picolisp lib.l must be started. As ever, the recommended way is ./pil +. f3bmac3:picoLispEmu jkleiser$ ./bin/picolisp misc/fibo.l [misc/fibo.l:38] !? (load @lib/native.l) @lib/native.l -- Open error: No such file or directory Same reason here. If the first argument is not correctly set up (typically lib.l), then the path to the installation directory (to be used by '@..') is missing. So ./pil + should be the first thing to try. Cheers, - Alex It didn't work too well: f3bmac3:picoLispEmu jkleiser$ ./pil + [/Users/jkleiser/.pil/history:1] File lock: Bad address ? : (bye) /Jon -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: pil64emu testing features
Hi Jon, f3bmac3:picoLispEmu jkleiser$ ./pil + [/Users/jkleiser/.pil/history:1] File lock: Bad address Hmm, that's the same we had last week. For some reason, fcntl() doesn't work. It workes on pil32, I believe. Any ideas anybody (hello, Mac programmers?). ♪♫ - Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: pil64emu testing features
On Fri, Nov 02, 2012 at 05:38:40PM +0100, Alexander Burger wrote: For some reason, fcntl() doesn't work. It workes on pil32, I believe. Perhaps found the reason. I've changed the calling pattern of fcntl(). Please try once more. Cheers, - Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: pil64emu testing features
Hi Alex, On Fri, Nov 02, 2012 at 05:38:40PM +0100, Alexander Burger wrote: For some reason, fcntl() doesn't work. It workes on pil32, I believe. Perhaps found the reason. I've changed the calling pattern of fcntl(). Please try once more. Cheers, - Alex At least something has changed during the make: MacBook-Air:picoLispEmu jkleiser$ (cd src64; make) emu.base.c: In function run: emu.base.c:42115: warning: format not a string literal and no format arguments emu.base.c:42170: warning: format not a string literal and no format arguments MacBook-Air:picoLispEmu jkleiser$ ./pil + [/Users/jkleiser/.pil/history:1] File lock: Invalid argument ? : (== 64 64) - T : *CPU - emu : (load misc/fibo.l) [misc/fibo.l:40] !? (here /**/) here -- Undefined ? : (bye) MacBook-Air:picoLispEmu jkleiser$ ./bin/picolisp : (load misc/fibo.l) [lib/native.l:31] !? (** 2 32) ** -- Undefined ? : (bye) MacBook-Air:picoLispEmu jkleiser$ ./bin/picolisp misc/fibo.l [misc/fibo.l:38] !? (load @lib/native.l) @lib/native.l -- Open error: No such file or directory ? : (bye) /Jon -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: pil64emu testing features
Hi Alex, pil64emu sounds very interesting. In case it helps, here is some output from running pil64emu joebo@joebo:~/tmp/picolisp$ ./pil + : *CPU - emu : (load misc/fibo.l) /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.5/libgcc.a when searching for -lgcc /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.5/libgcc.a when searching for -lgcc /usr/bin/ld: cannot find -lgcc collect2: ld returned 1 exit status - NIL : Here is my uname output: Linux 2.6.32-5-686-bigmem #1 SMP Wed Jan 12 04:40:25 UTC 2011 i686 GNU/Linux I'm running Debian 6.0 I tried some very basic picolisp operations and they worked fine. I haven't done any native work since I had been running 32bit and so I don't know if there's something broken on my install or if it's an issue with pil64emu. In any case, I wanted to share my findings. Thank you ! Joe On Fri, Nov 2, 2012 at 3:47 PM, Jon Kleiser jon.klei...@usit.uio.no wrote: Hi Alex, On Fri, Nov 02, 2012 at 05:38:40PM +0100, Alexander Burger wrote: For some reason, fcntl() doesn't work. It workes on pil32, I believe. Perhaps found the reason. I've changed the calling pattern of fcntl(). Please try once more. Cheers, - Alex At least something has changed during the make: MacBook-Air:picoLispEmu jkleiser$ (cd src64; make) emu.base.c: In function ‘run’: emu.base.c:42115: warning: format not a string literal and no format arguments emu.base.c:42170: warning: format not a string literal and no format arguments MacBook-Air:picoLispEmu jkleiser$ ./pil + [/Users/jkleiser/.pil/history:1] File lock: Invalid argument ? : (== 64 64) - T : *CPU - emu : (load misc/fibo.l) [misc/fibo.l:40] !? (here /**/) here -- Undefined ? : (bye) MacBook-Air:picoLispEmu jkleiser$ ./bin/picolisp : (load misc/fibo.l) [lib/native.l:31] !? (** 2 32) ** -- Undefined ? : (bye) MacBook-Air:picoLispEmu jkleiser$ ./bin/picolisp misc/fibo.l [misc/fibo.l:38] !? (load @lib/native.l) @lib/native.l -- Open error: No such file or directory ? : (bye) /Jon -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe