From arvo@goblin.cs.caltech.edu Thu Jul 1 18:58:40 1999 Received: from csvax.cs.caltech.edu (csvax.cs.caltech.edu [131.215.131.131]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id SAA15265 for ; Thu, 1 Jul 1999 18:58:40 -0700 (PDT) Received: from goblin.cs.caltech.edu (goblin.cs.caltech.edu [131.215.131.116]) by csvax.cs.caltech.edu (8.9.1/8.9.1) with SMTP id TAA22851; Thu, 1 Jul 1999 19:00:41 -0700 (PDT) Received: (from arvo@localhost) by goblin.cs.caltech.edu (950413.SGI.8.6.12/950213.SGI.AUTOCF) id TAA16393; Thu, 1 Jul 1999 19:21:26 -0700 From: "Jim Arvo" Message-Id: <9907011921.ZM16391@goblin.cs.caltech.edu> Date: Thu, 1 Jul 1999 19:21:26 -0700 In-Reply-To: Bruno Haible "Re: compile-file" (Jun 25, 9:18am) References: <199906251618.SAA09508@jaures.ilog.fr> X-Mailer: Z-Mail (3.2.3 08feb96 MediaMail) To: clisp-list@seagull.cons.org Subject: Trouble with build Cc: arvo@cs.cs.caltech.edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii I've run into a mysterious problem while trying to build the latest version of clisp on a Unix platform (Irix 6.2). Almost everything works without a hitch, then near the end I get "Error code 138". The last few lines of the transcript are below. I have no idea how to diagnose what the problem is. Any suggestions would be appreciated. Thanks. -- Jim .. .. .. installing en.gmo as ../../locale/en/LC_MESSAGES/clisp.mo installing de.gmo as ../../locale/de/LC_MESSAGES/clisp.mo installing fr.gmo as ../../locale/fr/LC_MESSAGES/clisp.mo installing es.gmo as ../../locale/es/LC_MESSAGES/clisp.mo if test -d data; then rm -rf data; fi mkdir data ln -s ../../utils/unicode/ftp.unicode.org/UnicodeData.txt data/UnicodeData.txt gcc -O -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -fomit-frame-pointer -O2 -DUNICODE -x none spvw.o spvwtabf.o spvwtabs.o spvwtabo.o eval.o control.o encoding.o pathname.o stream.o socket.o io.o array.o hashtabl.o list.o package.o record.o sequence.o charstrg.o debug.o error.o misc.o time.o predtype.o symbol.o lisparit.o unixaux.o arimips.o modules.o libsigsegv.a libintl.a libreadline.a -ltermcap -o lisp.run sync ./lisp.run -m 750KW -B . -N locale -norc -x "(load \"init.lsp\") (sys::%saveinitmem) (exit)" i i i i i i i ooooo o ooooooo ooooo ooooo I I I I I I I 8 8 8 8 8 o 8 8 I \ `+' / I 8 8 8 8 8 8 \ `-+-' / 8 8 8 ooooo 8oooo `-__|__-' 8 8 8 8 8 | 8 o 8 8 o 8 8 ------+------ ooooo 8oooooo ooo8ooo ooooo 8 Copyright (c) Bruno Haible, Michael Stoll 1992, 1993 Copyright (c) Bruno Haible, Marcus Daniels 1994-1997 Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998 Copyright (c) Bruno Haible, Sam Steingold 1999 ;; Loading file defseq.lsp ... ;; Loading of file defseq.lsp is finished. ;; Loading file backquot.lsp ... ;; Loading of file backquot.lsp is finished. ;; Loading file defmacro.lsp ... ;; Loading of file defmacro.lsp is finished. ;; Loading file macros1.lsp ... ;; Loading of file macros1.lsp is finished. ;; Loading file macros2.lsp ... ;; Loading of file macros2.lsp is finished. ;; Loading file defs1.lsp ... ;; Loading of file defs1.lsp is finished. ;; Loading file places.lsp ... ;; Loading of file places.lsp is finished. *** - handle_fault error8 ! protection = 3 SIGSEGV cannot be cured. Fault address = 0x699BD570. *** Error code 138 (bu21) From arvo@goblin.cs.caltech.edu Thu Jul 1 19:04:38 1999 Received: from csvax.cs.caltech.edu (csvax.cs.caltech.edu [131.215.131.131]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id TAA15564 for ; Thu, 1 Jul 1999 19:04:38 -0700 (PDT) Received: from goblin.cs.caltech.edu (goblin.cs.caltech.edu [131.215.131.116]) by csvax.cs.caltech.edu (8.9.1/8.9.1) with SMTP id TAA22861; Thu, 1 Jul 1999 19:06:43 -0700 (PDT) Received: (from arvo@localhost) by goblin.cs.caltech.edu (950413.SGI.8.6.12/950213.SGI.AUTOCF) id TAA16398; Thu, 1 Jul 1999 19:27:29 -0700 From: "Jim Arvo" Message-Id: <9907011927.ZM16396@goblin.cs.caltech.edu> Date: Thu, 1 Jul 1999 19:27:28 -0700 X-Mailer: Z-Mail (3.2.3 08feb96 MediaMail) To: clisp-list@seagull.cons.org Subject: Clisp under Windows 98 Cc: arvo@cs.cs.caltech.edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii I just installed clisp on my Windows NT machine and it seems to work just fine. However, the only way I can invoke it is in a DOS shell with lisp.exe -M lispinit.mem Is there a way to launch the application directly from Windows? I suppose this is really a Windows question. -- Jim From vkyr@lavielle.com Fri Jul 2 04:16:31 1999 Received: from vampire.lavielle.com (vampire.lavielle.com [194.64.21.10]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id EAA21364 for ; Fri, 2 Jul 1999 04:16:30 -0700 (PDT) Received: from intellistation (vkyr-home.lav.de [194.64.62.36]) by vampire.lavielle.com (8.8.8/8.8.8) with SMTP id NAA15574 for ; Fri, 2 Jul 1999 13:19:17 +0200 (MET DST) Message-ID: <000801bec47c$9157ed00$243e40c2@intellistation.kyr.de> From: "Valentino Kyriakides" To: Subject: Re: Clisp under Windows 98 Date: Fri, 2 Jul 1999 13:17:14 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.3110.5 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Jim Arvo wrote: >I just installed clisp on my Windows NT machine and it seems >to work just fine. However, the only way I can invoke it is >in a DOS shell with > > lisp.exe -M lispinit.mem > >Is there a way to launch the application directly from Windows? >I suppose this is really a Windows question. > There are some free Unix world editors available for NT, which can be used as an IDE for clisp. IMHO, a good choice are always actual versions of Gnu Emacs or Xemacs for NT which (beside Lisp and Scheme support) offer almost everything you can imagine. However, these editors are really huge and might seem at first somehow complex and oversized, but after some period of usage you won't miss their flexibility anymore. You can find more informations about these editors under http://www.cs.washington.edu/homes/voelker/ntemacs.html and http://www.xemacs.org/ . Xemacs for NT includes the ILISP package, which can be used as a comfortable IDE for clisp, but ILISP is also available seperately and can also be used for Gnu Emacs. Both editors beside ILISP further support by default an "inferior lisp mode", which of course also works very well with clisp. I've used clisp with Gnu Emacs and Xemacs under NT without any problems! There are also a lot of smaller commercial and free available Emacs like editor clones, which might also support some variation of lisp modes and the communication to started clisp processes etc. (?). But I don't know enough about those editors, maybe some other kind person of this mailinglist can tell you more about these. Hope this helps a little bit, Valentino From sds@goems.com Fri Jul 2 09:18:08 1999 Received: from chmls06.mediaone.net (chmls06.mediaone.net [24.128.1.71]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id JAA25741 for ; Fri, 2 Jul 1999 09:18:07 -0700 (PDT) Received: from dub.podval.org (dub.ne.mediaone.net [24.218.14.36]) by chmls06.mediaone.net (8.8.7/8.8.7) with ESMTP id MAA10872 for ; Fri, 2 Jul 1999 12:20:19 -0400 (EDT) Received: (from sds@localhost) by dub.podval.org (8.9.3/8.9.3) id MAA00832; Fri, 2 Jul 1999 12:20:05 -0400 To: clisp-list@seagull.cons.org Subject: Re: Clisp under Windows 98 References: <9907011927.ZM16396@goblin.cs.caltech.edu> Return-Receipt-To: sds@goems.com Reply-To: sds@goems.com X-Attribution: Sam X-Disclaimer: You should not expect anyone to agree with me. Mail-Copies-To: never From: Sam Steingold In-Reply-To: "Jim Arvo"'s message of "Thu, 1 Jul 1999 19:04:45 -0700 (PDT)" Date: 02 Jul 1999 12:20:05 -0400 Message-ID: Lines: 22 X-Mailer: Gnus v5.5/Emacs 20.3 >>>> In message <9907011927.ZM16396@goblin.cs.caltech.edu> >>>> On the subject of "Clisp under Windows 98" >>>> Sent on Thu, 1 Jul 1999 19:04:45 -0700 (PDT) >>>> Honorable "Jim Arvo" writes: >> I just installed clisp on my Windows NT machine and it seems >> to work just fine. However, the only way I can invoke it is >> in a DOS shell with >> >> lisp.exe -M lispinit.mem >> >> Is there a way to launch the application directly from Windows? >> I suppose this is really a Windows question. RTFM!!! ftp://cellar.goems.com/pub/clisp/impnotes.html#app-dev -- Sam Steingold (http://www.goems.com/~sds) running RedHat6.0 GNU/Linux Micros**t is not the answer. Micros**t is a question, and the answer is Linux, (http://www.linux.org) the choice of the GNU (http://www.gnu.org) generation. Don't use force -- get a bigger hammer. From haible@ilog.fr Fri Jul 2 09:56:50 1999 Received: from sceaux.ilog.fr (sceaux.ilog.fr [193.55.64.10]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id JAA26702 for ; Fri, 2 Jul 1999 09:56:44 -0700 (PDT) Received: from laposte.ilog.fr (laposte [172.17.1.6]) by sceaux.ilog.fr (8.9.3/8.9.3) with ESMTP id SAA09903 for ; Fri, 2 Jul 1999 18:58:44 +0200 (MET DST) Received: from jaures.ilog.fr ([172.17.4.75]) by laposte.ilog.fr (8.9.3/8.9.3) with ESMTP id SAA18823; Fri, 2 Jul 1999 18:58:54 +0200 (MET DST) From: Bruno Haible Received: (from haible@localhost) by jaures.ilog.fr (8.9.3/8.9.3) id SAA07041; Fri, 2 Jul 1999 18:58:08 +0200 (MET DST) Date: Fri, 2 Jul 1999 18:58:08 +0200 (MET DST) Message-Id: <199907021658.SAA07041@jaures.ilog.fr> To: clisp-list@seagull.cons.org Subject: Re: Clisp under Windows 98 In-Reply-To: <9907011927.ZM16396@goblin.cs.caltech.edu> References: <9907011927.ZM16396@goblin.cs.caltech.edu> > I just installed clisp on my Windows NT machine and it seems > to work just fine. However, the only way I can invoke it is > in a DOS shell with > > lisp.exe -M lispinit.mem > > Is there a way to launch the application directly from Windows? > I suppose this is really a Windows question. It is. 1. Right click on the icon associated with `lisp.exe' in the FileManager, then choose option "Create Shortcut". 2. Right click on the icon associated with the newly created shortcut, then choose "Properties" and change the command line from ...\somewhere\lisp.exe to ...\somewhere\lisp.exe -M ...\somewhere\lispinit.mem Bruno From haible@ilog.fr Fri Jul 2 10:01:51 1999 Received: from sceaux.ilog.fr (sceaux.ilog.fr [193.55.64.10]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id KAA27026 for ; Fri, 2 Jul 1999 10:01:49 -0700 (PDT) Received: from laposte.ilog.fr (laposte [172.17.1.6]) by sceaux.ilog.fr (8.9.3/8.9.3) with ESMTP id TAA09974 for ; Fri, 2 Jul 1999 19:03:50 +0200 (MET DST) Received: from jaures.ilog.fr ([172.17.4.75]) by laposte.ilog.fr (8.9.3/8.9.3) with ESMTP id TAA19170; Fri, 2 Jul 1999 19:04:00 +0200 (MET DST) From: Bruno Haible Received: (from haible@localhost) by jaures.ilog.fr (8.9.3/8.9.3) id TAA07047; Fri, 2 Jul 1999 19:03:13 +0200 (MET DST) Date: Fri, 2 Jul 1999 19:03:13 +0200 (MET DST) Message-Id: <199907021703.TAA07047@jaures.ilog.fr> To: clisp-list@seagull.cons.org Subject: Re: Trouble with build In-Reply-To: <9907011921.ZM16391@goblin.cs.caltech.edu> References: <9907011921.ZM16391@goblin.cs.caltech.edu> Jim Arvo writes: > I've run into a mysterious problem while trying to build the latest > version of clisp on a Unix platform (Irix 6.2). Almost everything works > without a hitch, then near the end I get "Error code 138". The last > few lines of the transcript are below. I have no idea how to diagnose > what the problem is. I don't have the slightest idea either. All I know is that if you add -DNO_GENERATIONAL_GC to the CFLAGS in the Makefile, remove all *.o files, and rebuild, then it will work. At least, that worked for me on IRIX 6.5 a few weeks ago. Bruno From davep@hagbard.demon.co.uk Thu Jul 8 09:30:14 1999 Received: from finch-post-11.mail.demon.net (finch-post-11.mail.demon.net [194.217.242.39]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id JAA05853 for ; Thu, 8 Jul 1999 09:30:13 -0700 (PDT) Received: from hagbard.demon.co.uk ([158.152.34.118]) by finch-post-11.mail.demon.net with esmtp (Exim 2.12 #1) id 112H6g-000IS9-0B for clisp-list@clisp.cons.org; Thu, 8 Jul 1999 16:33:07 +0000 Received: (from davep@localhost) by hagbard.demon.co.uk (8.8.3/v3.2) id RAA06026 for clisp-list@clisp.cons.org; Thu, 8 Jul 1999 17:33:04 +0100 Date: Thu, 8 Jul 1999 17:33:03 +0100 From: Dave Pearson To: clisp-list@clisp.cons.org Subject: Problems building CLISP 1999-05-15 (May 1999) Message-ID: <19990708173303.E30127@hagbard.demon.co.uk> Mail-Followup-To: clisp-list@clisp.cons.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.6i Organization: Hagbard's World X-URL: http://www.hagbard.demon.co.uk/ X-OS: Linux 2.0.33 i586 X-DDate: Prickle-Prickle, Day 43 of the season of Confusion, Anno Mung 3165 I wonder if anyone can help me with some problems I'm running in to while trying to build from clisp-19990624.tar.gz (which reports itself as 1999-05-15)? I'm building on a Linux box, the distribution is RedHat 5.2. As I have done in the past I followed the instructions in unix/INSTALL to the letter, everything went fine, right thru to the "make install". The install gives me: ,---- | davep@hagbard:/usr/local/lib/clisp$ ls -l | total 26 | drwxrwxr-x 2 root root 1024 Jul 8 13:27 base/ | -rwxrwxr-x 1 davep davep 20489 Jul 8 13:05 clisp-link* | drwxrwxr-x 2 root root 1024 Jul 8 13:27 data/ | drwxrwxr-x 2 root root 1024 Jul 8 17:21 full/ | drwxrwxr-x 2 root root 1024 Jul 8 13:27 linkkit/ `---- My problems start here. Despite asking the build process to include the linux glibc6 bindings it doesn't appear to have done so (there is no LINUX package available when I run clisp). Also, as I've always done in the past, I modified lisp:*load-paths* to include the directory where I keep various "libraries" of code except this time clisp refuses to find any of the .fas files I REQUEST. Sorry if this is a little vague but I've never run into problems like this before and I'm not sure where to start looking. Please shout if I've missed out any vital information. -- Take a look in Hagbard's World: | 5x5.el - Silly little puzzle. http://www.acemake.com/hagbard/ | binclock.el - emacs binary clock. http://www.hagbard.demon.co.uk/ | uptimes.el - Record emacs uptimes. emacs software, including.......| handyurl.el - Recall lists of URLs. From hoehle@mmkmail.gmd.de Sat Jul 10 02:45:05 1999 Received: from mail.gmd.de (mail.gmd.de [129.26.8.90]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id CAA28540 for ; Sat, 10 Jul 1999 02:45:03 -0700 (PDT) Received: from amiga (hoehle-ppp.darmstadt.gmd.de [141.12.144.207]) by mail.gmd.de (8.8.8/8.8.8) with SMTP id LAA32211 for ; Sat, 10 Jul 1999 11:48:10 +0200 (MET DST) Date: Sat, 10 Jul 1999 11:48:10 +0200 (MET DST) Message-Id: <199907100948.LAA32211@mail.gmd.de> From: Joerg.Hoehle@gmd.de (Jorg-Cyril Hohle) To: clisp-list@clisp.cons.org Subject: using logical-pathnames? Hi, is there anybody actually using logical pathnames in CLISP? There was some discussion about them in December 1998 here. Maybe I got used to much to CMUCL's ext:search-list feature and the AmigaOS filesystem's logical devices (which allow me to open a file with short paths like "foo:zot/bar.lsp" in both CMUCL and Amiga-CLISP). The logical pathnames section of CLtL2 is one of the more obscure sections of the book, and so far I haven't seen code that makes use of them (CL-HTTP maybe?). Thanks for pointers, Jorg. Amiga-CLISP http://fit.gmd.de/~hoelhe/amiga-clisp.html From atze@wicx50.informatik.uni-wuerzburg.de Sun Jul 11 05:47:40 1999 Received: from wrzx07.rz.uni-wuerzburg.de (wrzx07.rz.uni-wuerzburg.de [132.187.1.7]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id FAA11902 for ; Sun, 11 Jul 1999 05:47:38 -0700 (PDT) Received: from Io (ma@wex081.extern.uni-wuerzburg.de [132.187.248.81]) by wrzx07.rz.uni-wuerzburg.de (8.8.8/8.8.8/uniwue-MM-1.0) with SMTP id OAA06113 for ; Sun, 11 Jul 1999 14:50:53 +0200 (MET DST) From: Martin Atzmueller Reply-To: atze@wicx50.informatik.uni-wuerzburg.de To: clisp-list@seagull.cons.org Subject: Re: using logical-pathnames? Date: Sun, 11 Jul 1999 20:39:37 +0200 X-Mailer: KMail [version 1.0.21] Content-Type: text/plain References: <199907100948.LAA32211@mail.gmd.de> MIME-Version: 1.0 Message-Id: <99071120470900.00583@Io> Content-Transfer-Encoding: 8bit On Sat, 10 Jul 1999, you wrote: > Hi, > > is there anybody actually using logical pathnames in CLISP? There was > some discussion about them in December 1998 here. Well I used logical pathnames in my last project that I did using ACL5, not CLISP. I tried the examples of CLTL2 in CLISP, but already the (modified) first did'nt work in CLISP, but it did in ACL5(Linux): (setf (logical-pathname-translations "bla") '(("**;*.*.*" "/foo/bar/**/") ) ) (translate-logical-pathname "bla:baz;x.lisp") => [483]> ;;; Evaluating translate-logical-pathname *** - MAKE-PATHNAME: illegal :DIRECTORY argument (:ABSOLUTE "foo" "bar" ("baz")) 1. Break BA[484]> *** - MAKE-PATHNAME: illegal :DIRECTORY argument (:ABSOLUTE "foo" "bar" ("baz")) 1. Break BA[484]> I suppose that there is an error when matching wildcard-inferiors ="**", since I suceeded when matching only one subdirectory like in: (setf (logical-pathname-translations "bla") '(("*;*.*.*" "/foo/bar/*/") ) ) (translate-logical-pathname "bla:foo;bla.lisp") => #P"/foo/bar/baz/x.lisp" Any comments? Martin ----- E-Mail: atze@cip.informatik.uni-wuerzburg.de From leigh@ernst.tomandandy.com Tue Jul 13 11:23:55 1999 Received: from ernst.tomandandy.com (ernst.tomandandy.com [207.237.59.145]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id LAA10138 for ; Tue, 13 Jul 1999 11:23:54 -0700 (PDT) Received: by ernst.tomandandy.com (8.9.1/8.9.1) id OAA20894 for clisp-list@clisp.cons.org; Tue, 13 Jul 1999 14:27:27 -0400 (EDT) Message-Id: <199907131827.OAA20894@ernst.tomandandy.com> To: clisp-list@clisp.cons.org Subject: problems with autoconf of ffcall in clisp-1999-01-08 Date: Tue, 13 Jul 1999 14:27:26 -0400 From: Leigh Smith Reply-To: leigh@tomandandy.com X-Mailer-Extensions: SWSignature 1.3.2 X-Mailer: by Apple MailViewer (2.106) I understand that 1999-01-08 is the last release of clisp to date? I've encountered problems configuring clisp on a RedHat 6.0 Linux system. The symptom is the CPU declaration appearing in the ffcall Makefiles, e.g avcall/Makefile defines the CPU as i686-pc. On inspection, it seems that configure is not checking the host_type and therefore not substituting i386 for the CPU in order that avcall-i386 is used. This seems to be because ffcall/aclocal.m4 (containing the test) is not being included into the output of configure. It seems the configure as distributed also does not include the host_type tests in aclocal.m4 and that running autoconf-2.13 on the autoconf directory doesn't generate a configure with that test either. I'm hoping someone can tell me if aclocal.m4 should be included when building the configure as autoconf.m4 seems to indicate it isn't. Regards -- Leigh Smith leigh@tomandandy.com (MIME) tomandandy +1-212-334-0421 (W) +1-212-334-0422 (F) 89 Greene St. New York, NY 10012, USA http://www.cs.uwa.edu.au/~leigh Microsoft - What do you want to re-install today? From gustav@morpheus.demon.co.uk Sun Jul 18 10:07:31 1999 Received: from finch-post-10.mail.demon.net (finch-post-10.mail.demon.net [194.217.242.38]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id KAA12979 for ; Sun, 18 Jul 1999 10:07:25 -0700 (PDT) Received: from morpheus.demon.co.uk ([158.152.8.30] helo=morpheus) by finch-post-10.mail.demon.net with smtp (Exim 2.12 #1) id 115uTG-0001SB-0A for clisp-list@clisp.cons.org; Sun, 18 Jul 1999 17:11:26 +0000 From: "Paul Moore" To: Subject: Win32 FFI, etc. Date: Sun, 18 Jul 1999 18:07:35 +0100 Message-ID: <000101bed140$07bb4c60$1e08989e@morpheus> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 I've just started using CLisp on Win32, and one thing I want to be able to do is to call Win32 procedures from CLisp. The FFI as described in the implementation notes seems very comprehensive, but I can't seem to work out how to call a DLL function. (The documentation talks about generating and compiling C, which I presume is more relevant to Unix than to Win32...?) Is there a simple example anywhere of how to (say) call the Win32 MessageBox function (from USER32.DLL) from clisp? Going a bit further, is there an interface from CLisp to COM, so that I could call COM servers (like Excel, or the ActiveX Data Objects interface) from CLisp? If these things don't exist, I would certainly be interested in looking at adding them to CLisp - it sounds like the sort of project I could get my teeth into! (I know I said I've only just started with CLisp, but I've written similar things for other languages in the past). Can anybody give me any pointers on how I should do this (I've read the "extending CLisp" document, which is a good start, but I'd like to hook into the existing FFI stuff...) Thanks, Paul Moore. PS Actually, what would be really good would be CLisp as an ActiveX Scripting engine, which would allow Lisp to be used as a Windows scripting language, in the Windows Scripting Host or on web pages... That would do some serious good to the visibility of Lisp on the Windows platform! (IMHO...) From ecm@savage.iut-blagnac.fr Mon Jul 19 01:59:04 1999 Received: from savage.iut-blagnac.fr (savage.iut-blagnac.fr [193.54.227.231]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id BAA20425 for ; Mon, 19 Jul 1999 01:59:02 -0700 (PDT) Received: by savage.iut-blagnac.fr via sendmail from stdin id (Debian Smail3.2.0.102) for clisp-list@clisp.cons.org; Mon, 19 Jul 1999 11:03:03 +0200 (CEST) Date: Mon, 19 Jul 1999 11:03:02 +0200 From: Eric Marsden To: clisp-list@seagull.cons.org Cc: Multiple recipients of list Subject: Re: Win32 FFI, etc. Message-ID: <19990719110302.A25571@savage.iut-blagnac.fr> References: <000101bed140$07bb4c60$1e08989e@morpheus> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.3i In-Reply-To: <000101bed140$07bb4c60$1e08989e@morpheus>; from Paul Moore on Sun, Jul 18, 1999 at 10:11:52AM -0700 X-Attribution: ecm X-Eric-Conspiracy: There is no conspiracy. Organization: disorganized On Sun, Jul 18, 1999 at 10:11:52AM -0700, Paul Moore wrote: > I've just started using CLisp on Win32, and one thing I want to be > able to do is to call Win32 procedures from CLisp. The FFI as > described in the implementation notes seems very comprehensive, > but I can't seem to work out how to call a DLL function. (The > documentation talks about generating and compiling C, which I > presume is more relevant to Unix than to Win32...?) yes, the CLISP FFI is designed for calling out to static objects which are linked with CLISP. There is currently only poor support for dynamic linking: the tricky bit is passing parameters to and from foreign code with appropriate calling conventions. A hacky way of doing this is to implement a call stack in C; this is the approach I used for the current dynamic loading support for Unix CLISP: see A better approach is to use the callout code included with the CLISP FFI (see files foreign.d and foreign.lsp in the distribution). Improvements in these aspects would be extremely useful to Windows users. -- Eric Marsden It's elephants all the way down From gustav@morpheus.demon.co.uk Mon Jul 19 14:42:54 1999 Received: from tele-post-20.mail.demon.net (tele-post-20.mail.demon.net [194.217.242.20]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id OAA29046 for ; Mon, 19 Jul 1999 14:42:49 -0700 (PDT) Received: from morpheus.demon.co.uk ([158.152.8.30] helo=morpheus) by tele-post-20.mail.demon.net with smtp (Exim 2.12 #2) id 116LFY-000LT8-0K for clisp-list@seagull.cons.org; Mon, 19 Jul 1999 21:47:04 +0000 From: "Paul Moore" To: Subject: RE: Win32 FFI, etc. Date: Mon, 19 Jul 1999 22:43:11 +0100 Message-ID: <001201bed22f$b3249e90$1e08989e@morpheus> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 In-Reply-To: <19990719110302.A25571@savage.iut-blagnac.fr> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 On 19 July 1999 09:59, Eric Marsden said: > yes, the CLISP FFI is designed for calling out to static objects which are > linked with CLISP. There is currently only poor support for > dynamic linking: the tricky bit is passing parameters to and from foreign > code with appropriate calling conventions. A hacky way of doing this is to > implement a call stack in C; this is the approach I used for the current > dynamic loading support for Unix CLISP: see > > > > A better approach is to use the callout code included with the CLISP FFI > (see files foreign.d and foreign.lsp in the distribution). Agreed. While I could (& have done) implement FFI callout code building my own stack frame, that's basically what AVCALL does (and probably better than I could!) Since the AVCALL stuff (just) takes a function pointer, I don't see that it should be that hard to provide such a pointer using Windows' LoadLibrary() and GetProcAddress() functions. Of course, as a CLisp newcomer, I have a hard time connecting lisp-level constructs with C-level implementation, but the idea seems very simple. Have I missed a key point? If it really is that simple, how come it hasn't been implemented? Lack of interest? (Surely not!) > Improvements in these aspects would be extremely useful to Windows users. Actually, can someone tell me how to do a STATIC FFI call in Windows? If I set up the div() example as in the implementation notes, and then compile (lisp -M lispinit.mem -c div.lsp) the result is a div.c file in my current directory. OK, what now? The impnotes file discusses making "module sets" under Unix/Linux, but not under Windows. Hmm. The more I look at it, the more I think that my biggest hurdle is likely to be getting to a point where I understand how things hang together, and how to make a change - not what change to make... Is there any documentation on how the CLisp implementation is structured, and how the internals work, which an interested hacker could look at? Thanks, Paul. From mjkoskin@sci.fi Mon Jul 19 20:59:27 1999 Received: from pefletti.saunalahti.fi (root@mail.sci.fi [195.74.0.53]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id UAA02494 for ; Mon, 19 Jul 1999 20:59:25 -0700 (PDT) Received: from sci.fi (MCCXV.dyn.saunalahti.fi [195.197.4.15]) by pefletti.saunalahti.fi (8.9.1/8.9.1) with ESMTP id HAA19433 for ; Tue, 20 Jul 1999 07:03:40 +0300 (EET DST) Sender: mjkoskin@pefletti.saunalahti.fi Message-ID: <3793F53C.4E4C553F@sci.fi> Date: Tue, 20 Jul 1999 07:04:13 +0300 From: Matti Koskinen X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.5-15 i586) X-Accept-Language: en MIME-Version: 1.0 To: Multiple recipients of list Subject: cursor keys and redhat 6 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit hello after upgrading to rh 6, cursor keys don't work in clisp (all versions i have) when running in xterm. in console everything works just fine, so i think this has something to do with Xmodmap or similar. as for once, the installation process went ok and i didn't have to hack anything to suit my needs, system is as installation left it. what things shall i look and edit? thanks -matti mjkoskin@sci.fi From ecm@savage.iut-blagnac.fr Tue Jul 20 00:46:43 1999 Received: from savage.iut-blagnac.fr (savage.iut-blagnac.fr [193.54.227.231]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id AAA04378 for ; Tue, 20 Jul 1999 00:46:41 -0700 (PDT) Received: by savage.iut-blagnac.fr via sendmail from stdin id (Debian Smail3.2.0.102) for clisp-list@clisp.cons.org; Tue, 20 Jul 1999 09:50:59 +0200 (CEST) Date: Tue, 20 Jul 1999 09:50:59 +0200 From: Eric Marsden To: clisp-list@seagull.cons.org Cc: Multiple recipients of list Subject: Re: Win32 FFI, etc. Message-ID: <19990720095059.A32148@savage.iut-blagnac.fr> References: <001201bed22f$b3249e90$1e08989e@morpheus> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.3i In-Reply-To: <001201bed22f$b3249e90$1e08989e@morpheus>; from Paul Moore on Mon, Jul 19, 1999 at 02:44:42PM -0700 X-Attribution: ecm X-Eric-Conspiracy: There is no conspiracy. Organization: disorganized On Mon, Jul 19, 1999 at 02:44:42PM -0700, Paul Moore wrote: > Have I missed a key point? If it really is that simple, how come it hasn't > been implemented? Lack of interest? (Surely not!) None of the CLISP developers use Windows. I think it's that simple. There have however been several requests from users. > Hmm. The more I look at it, the more I think that my biggest hurdle is > likely to be getting to a point where I understand how things hang together, > and how to make a change - not what change to make... Is there any > documentation on how the CLisp implementation is structured, and how the > internals work, which an interested hacker could look at? there are some general comments (in German :) in lispbibl.d. I don't know of anything else, unfortunately (my german isn't very good). -- Eric Marsden It's elephants all the way down From hoehle@mmkmail.gmd.de Tue Jul 20 02:31:55 1999 Received: from mail.gmd.de (mail.gmd.de [129.26.8.90]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id CAA05789 for ; Tue, 20 Jul 1999 02:31:52 -0700 (PDT) Received: from zeus.gmd.de (zeus.gmd.de [129.26.165.1]) by mail.gmd.de (8.8.8/8.8.8) with ESMTP id LAA28955 for ; Tue, 20 Jul 1999 11:36:05 +0200 (MET DST) Received: from localhost (hoehle@localhost) by zeus.gmd.de (8.9.1/8.9.3) with SMTP id LAA19907 for ; Tue, 20 Jul 1999 11:36:02 +0200 (MET DST) X-Authentication-Warning: zeus.gmd.de: hoehle owned process doing -bs Date: Tue, 20 Jul 1999 11:36:02 +0200 (MET DST) From: Joerg Hoehle X-Sender: hoehle@zeus To: Multiple recipients of list Subject: RE: Win32 FFI, etc. In-Reply-To: <001201bed22f$b3249e90$1e08989e@morpheus> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 19 Jul 1999, Paul Moore wrote: > Actually, can someone tell me how to do a STATIC FFI call in Windows? If I > set up the div() example as in the implementation notes, and then compile > (lisp -M lispinit.mem -c div.lsp) the result is a div.c file in my current > directory. OK, what now? The impnotes file discusses making "module sets" > under Unix/Linux, but not under Windows. Well, I have no knowledge about MS-Win so I'm certainly qualified to respond :-), yet I'd say that you need either the source distribution that you compiled yourself or a distribution of CLISP inside a library archive that contains all of CLISP's *.o except for modules.o You will need to recompile modules.d after adding your module definition to modules.h (one line). Then you link your object files together with the newly compiled modules.o and the rest of the libclisp.a into a new lisp.run. >From what I understood, compiling (-c or #'compile-file) a file with FFI definitions merely creates stubs, you may or may not have to write a module interface file. And you must still link statically yourself. > likely to be getting to a point where I understand how things hang together, You don't need to peek at all of the xMB source. > documentation on how the CLisp implementation is structured, and how the > internals work, which an interested hacker could look at? Just ask. It would have been nice though if the amount of explanations that went through the lists on different topics over the years could have found its way into some distributed documentation as well... Regards, Jo"rg Ho"hle. Joerg.Hoehle@gmd.de http://fit.gmd.de/~hoehle/amiga.html From haible@ilog.fr Tue Jul 20 03:44:54 1999 Received: from sceaux.ilog.fr (sceaux.ilog.fr [193.55.64.10]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id DAA06791 for ; Tue, 20 Jul 1999 03:44:46 -0700 (PDT) Received: from laposte.ilog.fr (laposte [172.17.1.6]) by sceaux.ilog.fr (8.9.3/8.9.3) with ESMTP id MAA19121 for ; Tue, 20 Jul 1999 12:48:32 +0200 (MET DST) Received: from jaures.ilog.fr ([172.17.4.19]) by laposte.ilog.fr (8.9.3/8.9.3) with ESMTP id MAA29025; Tue, 20 Jul 1999 12:48:53 +0200 (MET DST) From: Bruno Haible Received: (from haible@localhost) by jaures.ilog.fr (8.9.3/8.9.3) id MAA28057; Tue, 20 Jul 1999 12:47:53 +0200 (MET DST) Date: Tue, 20 Jul 1999 12:47:53 +0200 (MET DST) Message-Id: <199907201047.MAA28057@jaures.ilog.fr> To: clisp-list@seagull.cons.org Subject: Re: cursor keys and redhat 6 In-Reply-To: <3793F53C.4E4C553F@sci.fi> References: <3793F53C.4E4C553F@sci.fi> Matti Koskinen writes: > after upgrading to rh 6, cursor keys don't work in clisp (all versions i > have) when running in xterm. > in console everything works just fine, so i think this has something to > do with Xmodmap or similar. ... > > what things shall i look and edit? There are several places to look at, corresponding to the various processing stages of that keypress. First, it's transformed into an X event by the X server. Then, xterm translates it to a sequence of characters which it feeds to the program running in xterm. Then, clisp uses the TERM environment variable and the terminfo or termcap database to transform such an escape sequence back to an object of type INPUT-CHARACTER or, inside the readline library, interpret it directly. Let's go through the various stages. I add the values I get on my RedHat/Sparc system. 1. Look at the X event: call $ xev and type the cursor keys. It should print keysym 0xff97, KP_Up keysym 0xff96, KP_Left keysym 0xff98, KP_Right keysym 0xff99, KP_Down If it prints different things, then you need to tweak your Xmodmap file. 2. Analyze the sequence of characters produced by xterm: call $ TERM=dumb clisp -q > (with-keyboard (dotimes (i 20) (print (read-char *keyboard-input*)))) and type the cursor keys. It should print #S(SYSTEM::INPUT-CHARACTER :CHAR #\Escape :BITS 0 :FONT 0 :KEY NIL) #S(SYSTEM::INPUT-CHARACTER :CHAR #\[ :BITS 0 :FONT 0 :KEY NIL) #S(SYSTEM::INPUT-CHARACTER :CHAR #\A :BITS 0 :FONT 0 :KEY NIL) #S(SYSTEM::INPUT-CHARACTER :CHAR #\Escape :BITS 0 :FONT 0 :KEY NIL) #S(SYSTEM::INPUT-CHARACTER :CHAR #\[ :BITS 0 :FONT 0 :KEY NIL) #S(SYSTEM::INPUT-CHARACTER :CHAR #\D :BITS 0 :FONT 0 :KEY NIL) #S(SYSTEM::INPUT-CHARACTER :CHAR #\Escape :BITS 0 :FONT 0 :KEY NIL) #S(SYSTEM::INPUT-CHARACTER :CHAR #\[ :BITS 0 :FONT 0 :KEY NIL) #S(SYSTEM::INPUT-CHARACTER :CHAR #\C :BITS 0 :FONT 0 :KEY NIL) #S(SYSTEM::INPUT-CHARACTER :CHAR #\Escape :BITS 0 :FONT 0 :KEY NIL) #S(SYSTEM::INPUT-CHARACTER :CHAR #\[ :BITS 0 :FONT 0 :KEY NIL) #S(SYSTEM::INPUT-CHARACTER :CHAR #\B :BITS 0 :FONT 0 :KEY NIL) It can also print Esc O A, Esc O D, Esc O C, Esc O B. If that doesn't work, look at your /usr/X11R6/lib/X11/app-defaults/XTerm. 3. Check your TERM variable: $ echo $TERM It should print "xterm". 4. See whether clisp is linked with `libtermcap' or `libncurses'. $ ldd /usr/local/lib/clisp/lisp.run or $ strings /usr/local/lib/clisp/lisp.run | grep lib If it is linked with libtermcap, you have to look up in /etc/termcap the entries for the value of $TERM. Do "man 5 termcap". In particular, look at the values of "ku", "kl", "kr", "kd". They should agree with the escape sequences you got above. If it is linked with libncurses, call $ infocmp $TERM Do "man 5 terminfo". In particular, look at the values of "kcuu1", "kcub1", "kcuf1", "kcud1". They should agree with the escape sequences you got above. 5. Assuming all was ok, ask clisp whether it recognizes the escape sequences: $ clisp -q > (with-keyboard (dotimes (i 10) (print (read-char *keyboard-input*)))) and type the cursor keys. It should print #S(SYSTEM::INPUT-CHARACTER :CHAR NIL :BITS 8 :FONT 0 :KEY :UP) #S(SYSTEM::INPUT-CHARACTER :CHAR NIL :BITS 8 :FONT 0 :KEY :LEFT) #S(SYSTEM::INPUT-CHARACTER :CHAR NIL :BITS 8 :FONT 0 :KEY :RIGHT) #S(SYSTEM::INPUT-CHARACTER :CHAR NIL :BITS 8 :FONT 0 :KEY :DOWN) 6. If that was ok, and your problem is in the readline library, look at your $HOME/.inputrc file. On SuSE Linux, you also have to look at /etc/inputrc. Hope that helps you to get closer to the problem's source. Bruno From unk6@rz.uni-karlsruhe.de Tue Jul 20 06:07:12 1999 Received: from mailgate.rz.uni-karlsruhe.de (nz40.rz.uni-karlsruhe.de [129.13.197.4]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id GAA08198 for ; Tue, 20 Jul 1999 06:07:09 -0700 (PDT) Received: from rz114s0.uni-karlsruhe.de (gilbert@isdn216-38.rz.uni-karlsruhe.de [129.13.216.38]) by mailgate.rz.uni-karlsruhe.de with smtp (Exim 2.04 #3) id 116Zfc-0001ey-00; Tue, 20 Jul 1999 15:10:56 +0200 From: Gilbert Baumann To: clisp-list@seagull.cons.org Subject: Success story: XEmacs and UTF-8 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=ISO-8859-1 Message-Id: Date: Tue, 20 Jul 1999 15:10:56 +0200 Hi, this morning I managed to teach my version of XEmacs (20.4 + mule) the UTF-8 encoding. Unfortunatly you need its sources to be able to patch them. First you need these files provided by MORIOKA Tomohiko: http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/xemacs-21.0-b55-emc-b55-ucs.diff http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/xemacs-ucs-conv-0.1.tar.gz The .diff is a diff against the C sources. The tar ball is elisp code, which provides lots of code tables to map to and from Unicode. As the name of the diff file suggests it is against XEmacs-21; I needed to help `patch' a bit. The most notable difference to my XEmacs-20.4 sources is, that file-coding.[ch] was called mule-coding.[ch]. For those unfamilar with the XEmacs-MULE stuff (as I am) a quick guide: What we call an encoding is calls MULE a 'coding-system'. The most important commands are: M-x set-file-coding-system M-x set-buffer-process-coding-system [comint buffers] and the variable `file-coding-system-alist', which guides `find-file' to guess the encoding used. After stuff was running, the very first thing I did was this [1]: (setq file-coding-system-alist (append file-coding-system-alist (list '("" . gb-find-file-coding-system)))) (defun gb-file-substring (filename start end) (let ((buffer (generate-new-buffer " *GB-TEMP*")) (tmp nil) (res nil)) (save-excursion (set-buffer buffer) (let ((coding-system-for-read 'no-conversion)) (setq tmp (ignore-errors (insert-file-contents filename nil start end nil))) (cond (tmp (setq res (buffer-substring 1 (+ 1 (cadr tmp))))) (t (setq res nil))))) (kill-buffer buffer) res)) (defun gb-fetch-encoding-header-field (filename) (let ((head (gb-file-substring filename 0 600))) (and head (and (string-match "-\\*- \\([^*]*\\) -\\*-" head) (let* ((q (match-string 1 head)) (enc (and (string-match " Encoding: \\([^;]+\\);" q) (match-string 1 q)))) (and enc (setf enc (downcase enc)) (setf enc (intern-soft enc)) (find-coding-system enc) enc)))))) (defun gb-find-file-coding-system (mode filename) (cond ((eq mode 'insert-file-contents) (gb-fetch-encoding-header-field filename)) (t nil))) This code looks into the special mode line introduced by -*- somewhere in the first 600 bytes of the file about to be opened; if now there is a field "Encoding: xyz;" and the xyz encoding^[b^[dcoding system exists, choose that. So now you could do e.g. ;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: CLEX; Encoding: utf-8; -*- and XEmacs goes into utf-8 mode here. Atfer everything was running I defined \u+03BB (greek lambda) as a macro like: (defmacro \u+03BB (x) `(lambda .,x)) Gilbert. [1] Besides turning off the menubar, the scrollbars, the 3D modeline and all that glitter, which irritates me. And switching the background color to 'white'. From unk6@rz.uni-karlsruhe.de Tue Jul 20 06:07:18 1999 Received: from mailgate.rz.uni-karlsruhe.de (nz40.rz.uni-karlsruhe.de [129.13.197.4]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id GAA08204 for ; Tue, 20 Jul 1999 06:07:13 -0700 (PDT) Received: from rz114s0.uni-karlsruhe.de (gilbert@isdn216-38.rz.uni-karlsruhe.de [129.13.216.38]) by mailgate.rz.uni-karlsruhe.de with smtp (Exim 2.04 #3) id 116ZfZ-0001eu-00; Tue, 20 Jul 1999 15:10:53 +0200 From: Gilbert Baumann To: clisp-list@seagull.cons.org Subject: Success story: XEmacs and UTF-8 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=ISO-8859-1 Message-Id: Date: Tue, 20 Jul 1999 15:10:53 +0200 Hi, this morning I managed to teach my version of XEmacs (20.4 + mule) the UTF-8 encoding. Unfortunatly you need its sources to be able to patch it. First you need these files provided by MORIOKA Tomohiko: http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/xemacs-21.0-b55-emc-b55-ucs.diff http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/xemacs-ucs-conv-0.1.tar.gz The .diff is a diff against the C sources. The tar ball is elisp code, which provides lots of code tables to map to and from Unicode. As the name of the diff file suggests it is against XEmacs-21; I needed to help `patch' a bit. The most notable difference to my XEmacs-20.4 sources is that file-coding.[ch] was called mule-coding.[ch]. For those unfamilar with the XEmacs-MULE stuff (as I am) a quick guide: What we call an encoding is calls MULE a 'coding-system'. The most important commands are: M-x set-file-coding-system M-x set-buffer-process-coding-system [comint buffers] and the variable `file-coding-system-alist', which guides `find-file' to guess the encoding used. After stuff was running, the very first thing I did was this [1]: (setq file-coding-system-alist (append file-coding-system-alist (list '("" . gb-find-file-coding-system)))) (defun gb-file-substring (filename start end) (let ((buffer (generate-new-buffer " *GB-TEMP*")) (tmp nil) (res nil)) (save-excursion (set-buffer buffer) (let ((coding-system-for-read 'no-conversion)) (setq tmp (ignore-errors (insert-file-contents filename nil start end nil))) (cond (tmp (setq res (buffer-substring 1 (+ 1 (cadr tmp))))) (t (setq res nil))))) (kill-buffer buffer) res)) (defun gb-fetch-encoding-header-field (filename) (let ((head (gb-file-substring filename 0 600))) (and head (and (string-match "-\\*- \\([^*]*\\) -\\*-" head) (let* ((q (match-string 1 head)) (enc (and (string-match " Encoding: \\([^;]+\\);" q) (match-string 1 q)))) (and enc (setf enc (downcase enc)) (setf enc (intern-soft enc)) (find-coding-system enc) enc)))))) (defun gb-find-file-coding-system (mode filename) (cond ((eq mode 'insert-file-contents) (gb-fetch-encoding-header-field filename)) (t nil))) This code looks into the special mode line introduced by -*- somewhere in the first 600 bytes of the file about to opened; if now there is a field "Encoding: xyz;" and the xyz encoding^[b^[dcoding system exists, choose that. So now you could do e.g. ;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: CLEX; Encoding: utf-8; -*- and XEmacs goes into utf-8 mode here. Atfer everything was running I defined \u+03BB (greek lambda) as a macro like: (defmacro \u+03BB (x) `(lambda .,x)) Gilbert. [1] Besides turning off the menubar, the scrollbars, the 3D modeline and all that glitter, which irritates me. And switching the background color to 'white'. From unk6@rz.uni-karlsruhe.de Tue Jul 20 06:09:47 1999 Received: from mailgate.rz.uni-karlsruhe.de (nz40.rz.uni-karlsruhe.de [129.13.197.4]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id GAA08236 for ; Tue, 20 Jul 1999 06:09:39 -0700 (PDT) Received: from rz114s0.uni-karlsruhe.de (gilbert@isdn216-38.rz.uni-karlsruhe.de [129.13.216.38]) by mailgate.rz.uni-karlsruhe.de with smtp (Exim 2.04 #3) id 116Zi5-0001mb-00; Tue, 20 Jul 1999 15:13:29 +0200 From: Gilbert Baumann To: clisp-list@seagull.cons.org Subject: oops Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=ISO-8859-1 Message-Id: Date: Tue, 20 Jul 1999 15:13:29 +0200 Oops, Sorry, for the duped message. Gilbert. From mjkoskin@sci.fi Tue Jul 20 08:54:20 1999 Received: from ds9.sci.fi (ds9.sci.fi [195.74.0.54]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id IAA10223 for ; Tue, 20 Jul 1999 08:54:19 -0700 (PDT) Received: from sci.fi (MCMXXXIX.dyn.saunalahti.fi [195.197.29.139]) by ds9.sci.fi (8.9.1/8.9.1) with ESMTP id SAA15149 for ; Tue, 20 Jul 1999 18:58:40 +0300 (EET DST) Sender: mjkoskin@ds9.sci.fi Message-ID: <37949CCD.5285D59A@sci.fi> Date: Tue, 20 Jul 1999 18:59:09 +0300 From: Matti Koskinen X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.5-15 i586) X-Accept-Language: en MIME-Version: 1.0 To: clisp-list@seagull.cons.org Subject: Re: cursor keys and redhat 6 References: <199907201047.MAA28057@jaures.ilog.fr> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Bruno Haible wrote: > > 6. If that was ok, and your problem is in the readline library, look at > your $HOME/.inputrc file. On SuSE Linux, you also have to look at > /etc/inputrc. > > Hope that helps you to get closer to the problem's source. > > Bruno everything except inputrc were ok. /etc/inputrc didn't have cursor-key defines only ins to pgDown and they worked just like defined. so i defined e.g "\e[D" : backward-char but this didn't help a bit. as a matter of fact i changed the predefined ones to test, but it just look like readline doesn't even read inputrc. Sam, you're running redhat 6, did you encounter anything like this? bash works ok, less etc. clisp is so far the only one which is immune to cursor keys. ???? thanks -matti mjkoskin@sci.fi From erik@innana.starseed.com Tue Jul 20 11:06:44 1999 Received: from innana.starseed.com (root@innana.starseed.com [206.151.157.197]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id LAA11449 for ; Tue, 20 Jul 1999 11:06:42 -0700 (PDT) Received: (from erik@localhost) by innana.starseed.com (8.9.3/8.9.3) id LAA09506; Tue, 20 Jul 1999 11:12:58 -0700 From: Erik Arneson MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14228.48170.369078.322156@innana.starseed.com> Date: Tue, 20 Jul 1999 11:12:58 -0700 (PDT) To: clisp-list@seagull.cons.org Subject: Re: cursor keys and redhat 6 In-Reply-To: <3793F53C.4E4C553F@sci.fi> References: <3793F53C.4E4C553F@sci.fi> X-Mailer: VM 6.71 under 21.2 (beta18) "Toshima" XEmacs Lucid On 19 Jul 99, Matti Koskinen wrote: > after upgrading to rh 6, cursor keys don't work in clisp (all versions i > have) when running in xterm. > in console everything works just fine, so i think this has something to > do with Xmodmap or similar. > as for once, the installation process went ok and i didn't have to hack > anything to suit my needs, > system is as installation left it. > > what things shall i look and edit? It's been my experience that a lot of the xterm settings in RedHat 6.0 are rather broken. I had to add the following to my .Xdefaults file to get it to recognize the Meta/Alt key in an xterm. This might help you, too. ! Fix broken RedHat xterm stuff. *eightBitInput: false *eightBitControl: false nxterm*Cursor: xterm ! End of file. -- # Erik Arneson erik@starseed.com Webring Software Engineer # # Yahoo! Inc. PGP ID: 1024/6EE28A05 (541) 482-3000x105 # # "If we couldn't laugh we would all go insane." - Jimmy Buffet # From gustav@morpheus.demon.co.uk Tue Jul 20 12:34:05 1999 Received: from finch-post-10.mail.demon.net (finch-post-10.mail.demon.net [194.217.242.38]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id MAA12327 for ; Tue, 20 Jul 1999 12:34:02 -0700 (PDT) Received: from morpheus.demon.co.uk ([158.152.8.30] helo=morpheus) by finch-post-10.mail.demon.net with smtp (Exim 2.12 #1) id 116fiZ-0008i5-0A for clisp-list@seagull.cons.org; Tue, 20 Jul 1999 19:38:24 +0000 From: "Paul Moore" To: Subject: RE: Win32 FFI, etc. Date: Tue, 20 Jul 1999 20:34:28 +0100 Message-ID: <000501bed2e6$e202fbf0$1e08989e@morpheus> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 In-Reply-To: <19990720095059.A32148@savage.iut-blagnac.fr> X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Importance: Normal > From: clisp-list@seagull.cons.org On Behalf Of Eric Marsden > None of the CLISP developers use Windows. I think it's that simple. There > have however been several requests from users. Fair enough. I assumed that the fact that clisp worked so well on Windows meant that there was an expert involved somewhere. Time for me to be that expert? :-) Paul. From gustav@morpheus.demon.co.uk Tue Jul 20 12:34:19 1999 Received: from finch-post-10.mail.demon.net (finch-post-10.mail.demon.net [194.217.242.38]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id MAA12331 for ; Tue, 20 Jul 1999 12:34:12 -0700 (PDT) Received: from morpheus.demon.co.uk ([158.152.8.30] helo=morpheus) by finch-post-10.mail.demon.net with smtp (Exim 2.12 #1) id 116fiV-0008i5-0A for clisp-list@seagull.cons.org; Tue, 20 Jul 1999 19:38:20 +0000 From: "Paul Moore" To: Subject: RE: Win32 FFI, etc. Date: Tue, 20 Jul 1999 20:34:22 +0100 Message-ID: <000401bed2e6$df34c0c0$1e08989e@morpheus> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 In-Reply-To: X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Importance: Normal > From: clisp-list@seagull.cons.org On Behalf Of Joerg Hoehle > > On Mon, 19 Jul 1999, Paul Moore wrote: > > Well, I have no knowledge about MS-Win so I'm certainly qualified to > respond :-), yet I'd say that you need either the source distribution > that you compiled yourself or a distribution of CLISP inside a library > archive that contains all of CLISP's *.o except for modules.o > > You will need to recompile modules.d after adding your module definition > to modules.h (one line). Then you link your object files together with > the newly compiled modules.o and the rest of the libclisp.a into a new > lisp.run. > Hmm. Thanks for the pointer - I'll look into this a bit more. If I get it working, I'll post what I did - maybe it'd be useful for the impnotes file? > >From what I understood, compiling (-c or #'compile-file) a file with FFI > definitions merely creates stubs, you may or may not have to write a > module interface file. > > And you must still link statically yourself. > OK, I think I see how it works. I'll try to get an example working. > > likely to be getting to a point where I understand how things > hang together, > You don't need to peek at all of the xMB source. > > > documentation on how the CLisp implementation is structured, and how the > > internals work, which an interested hacker could look at? > Just ask. It would have been nice though if the amount of explanations > that went through the lists on different topics over the years could have > found its way into some distributed documentation as well... Thanks for the offer. I probably will :-) The obvious way of doing foreign calls is just as a pure "extra" module, using the existing extension mechanism. So, we have (def-dll-call MessageBox (:dll user32) (:params ...) (:return ...)) (MessageBox ...) But the existing FFI stuff is very complete, in terms of defining parameter and return types, etc etc. It would be nice to be able to reuse the technology, and to do (def-call-out MessageBox (:dll user32) (:arguments (hwnd int) (text c-str) (title c-str) (flags int)) (:return-type int) (:language :stdc-stdcall)) (MessageBox 0 "Hello, world" "Clisp" 0) The only differences are (1) the extra :dll parameter (2) the fact that def-call-out works immediately, not generating a C file at compile time It's only point (2) that I have a problem with. Maybe I can define def-dynamic-call-out which works at runtime instead of compile time. That's not a problem. But if I need to define a struct parameter type, then do I also need a def-dynamic-c-struct? And so on... Basically, I'm sort of asking if the FFI stuff is reusable in this way at all, or should I just define my own interface? Thanks, Paul. From haible@ilog.fr Wed Jul 21 03:31:24 1999 Received: from sceaux.ilog.fr (sceaux.ilog.fr [193.55.64.10]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id DAA21385 for ; Wed, 21 Jul 1999 03:31:21 -0700 (PDT) Received: from laposte.ilog.fr (laposte [172.17.1.6]) by sceaux.ilog.fr (8.9.3/8.9.3) with ESMTP id MAA20338 for ; Wed, 21 Jul 1999 12:35:17 +0200 (MET DST) Received: from jaures.ilog.fr ([172.17.4.19]) by laposte.ilog.fr (8.9.3/8.9.3) with ESMTP id MAA13666; Wed, 21 Jul 1999 12:35:38 +0200 (MET DST) From: Bruno Haible Received: (from haible@localhost) by jaures.ilog.fr (8.9.3/8.9.3) id MAA04507; Wed, 21 Jul 1999 12:34:37 +0200 (MET DST) Date: Wed, 21 Jul 1999 12:34:37 +0200 (MET DST) Message-Id: <199907211034.MAA04507@jaures.ilog.fr> To: clisp-list@seagull.cons.org Subject: Re: cursor keys and redhat 6 In-Reply-To: <37949CCD.5285D59A@sci.fi> References: <37949CCD.5285D59A@sci.fi> Matti Koskinen writes: > > everything except inputrc were ok. > > bash works ok, less etc. clisp is so far the only one which is immune to > cursor keys. > ... > /etc/inputrc didn't have cursor-key defines only ins to pgDown and they worked > just like defined. so > i defined e.g "\e[D" : backward-char but this didn't help a bit. /etc/inputrc is only read by some _patched_ readline libraries. (Look for the bash sources on your RedHat CD.) clisp uses the original readline library, which only reads $HOME/.inputrc. You might try to copy /etc/inputrc to $HOME/.inputrc. Or replace it with the SuSE /etc/inputrc, which I append. Bruno ################################################################################ ## /etc/inputrc ## ## Attempt to put different TERMs together in one readline init file. ## Copyright (c) 1997 S.u.S.E. GmbH Fuerth, Germany. ## ## Author: Werner Fink, ## ################################################################################ # # Eight bit compatible: Umlaute # set meta-flag on set output-meta on set convert-meta off # # VI line editing # $if mode=vi set editing-mode vi set keymap vi $endif # # Common standard keypad and cursor # "\e[2~": yank "\e[3~": delete-char "\e[5~": previous-history "\e[6~": next-history "\e[C": forward-char "\e[D": backward-char "\e[A": previous-history "\e[B": next-history $if term=xterm "\e[E": re-read-init-file $else "\e[G": re-read-init-file $endif # # Avoid network problems # ... \177 (ASCII-DEL) and \010 (ASCII-BS) # do `backward-delete-char' # Note: `delete-char' is maped to \033[3~ # Therefore xterm's responce on pressing # key Delete or KP-Delete should be # \033[3~ ... NOT \177 # "\C-?": backward-delete-char "\C-H": backward-delete-char # # Home and End # $if term=xterm # # Normal keypad and cursor of xterm # "\e[1~": history-search-backward "\e[4~": set-mark "\e[H": beginning-of-line "\e[F": end-of-line # Home and End of application keypad and cursor of xterm "\eOH": beginning-of-line "\eOF": end-of-line $else # # TERM=linux or console # "\e[1~": beginning-of-line "\e[4~": end-of-line $endif # # Application keypad and cursor of xterm # $if term=xterm "\eOD": backward-char "\eOC": forward-char "\eOA": previous-history "\eOB": next-history "\eOE": re-read-init-file # DEC keyboard KP_F1 - KP_F4 "\eOP": prefix-meta "\eOQ": undo "\eOR": "" "\eOS": kill-line $endif # # Function keys F1 - F12 # $if term=linux # # On console the first five function keys # "\e[[A": "" "\e[[B": "" "\e[[C": "" "\e[[D": "" "\e[[E": "" $else # # The first five standard function keys # "\e[11~": "" "\e[12~": "" "\e[13~": "" "\e[14~": "" "\e[15~": "" $endif "\e[17~": "" "\e[18~": "" "\e[19~": "" "\e[20~": "" "\e[21~": "" # Note: F11, F12 are identical with Shift_F1 and Shift_F2 "\e[23~": "" "\e[24~": "" # # Shift Function keys F1 - F12 # identical with F11 - F22 # #"\e[23~": "" #"\e[24~": "" "\e[25~": "" "\e[26~": "" # DEC keyboard: F15=\e[28~ is Help "\e[28~": "" # DEC keyboard: F16=\e[29~ is Menu "\e[29~": "" "\e[31~": "" "\e[32~": "" "\e[33~": "" "\e[34~": "" $if term=xterm # Not common "\e[35~": "" "\e[36~": "" $endif # $if term=xterm # # Application keypad and cursor of xterm # with NumLock ON # # Operators "\eOo": "/" "\eOj": "*" "\eOm": "-" "\eOk": "+" "\eOl": "+" "\eOM": accept-line # Colon and dot # "\eOl": "," "\eOn": "." # Numbers "\eOp": "0" "\eOq": "1" "\eOr": "2" "\eOs": "3" "\eOt": "4" "\eOu": "5" "\eOv": "6" "\eOw": "7" "\eOx": "8" "\eOy": "9" $endif # # EMACS line editing # $if mode=emacs # # ... xterm application cursor # $if term=xterm "\e\eOD": backward-word "\e\eOC": forward-word "\e\eOA": up-history "\e\eOB": down-history "\C-\eOD": backward-char "\C-\eOC": forward-char "\C-\eOA": up-history "\C-\eOB": down-history $endif # # Standard cursor # "\e\e[D": backward-word "\e\e[C": forward-word "\e\e[A": up-history "\e\e[B": down-history "\C-\e[D": backward-char "\C-\e[C": forward-char "\C-\e[A": up-history "\C-\e[B": down-history $endif # # end # From haible@ilog.fr Wed Jul 21 13:44:49 1999 Received: from sceaux.ilog.fr (sceaux.ilog.fr [193.55.64.10]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id NAA26978 for ; Wed, 21 Jul 1999 13:44:36 -0700 (PDT) Received: from laposte.ilog.fr (laposte [172.17.1.6]) by sceaux.ilog.fr (8.9.3/8.9.3) with ESMTP id WAA05713; Wed, 21 Jul 1999 22:48:16 +0200 (MET DST) Received: from jaures.ilog.fr ([172.17.4.19]) by laposte.ilog.fr (8.9.3/8.9.3) with ESMTP id WAA23774; Wed, 21 Jul 1999 22:48:37 +0200 (MET DST) From: Bruno Haible Received: (from haible@localhost) by jaures.ilog.fr (8.9.3/8.9.3) id WAA10727; Wed, 21 Jul 1999 22:47:37 +0200 (MET DST) Date: Wed, 21 Jul 1999 22:47:37 +0200 (MET DST) Message-Id: <199907212047.WAA10727@jaures.ilog.fr> To: clisp-list@clisp.cons.org Subject: New version of CLISP Cc: "Dr. Werner Fink" A new release of CLISP is on the ftp server. The source of version 1999-07-22 is at ftp://clisp.cons.org/pub/lisp/clisp/source/ Also available are new binary packages for the following platforms: alpha-dec-osf4.0d hppa2.0-hp-hpux10.20 i386-pc-solaris2.6 i586-pc-linuxlibc5 (built with SuSE Linux 5.3) i586-pc-linuxlibc6 (built with SuSE Linux 6.0) rs6000-ibm-aix3.2.5 sparc-sun-solaris2.4 sparc-sun-sunos4.1.3_U1 sparc-linuxlibc6 win32 in the corresponding subdirectories of ftp://clisp.cons.org/pub/lisp/clisp/binaries/ Highlights of this release: * Unicode support. * Interface to PostgreSQL. * Implements the Gray proposal for user-defined streams. * Better ANSI CL compliance. Here are the changes in detail, from the NEWS file: User visible changes -------------------- * Added a new module - "postgresql": interface to the PostgreSQL ODBMS. * Implemented ANSI CL macro WITH-PACKAGE-ITERATOR. * Conforming to ANSI CL issue : New function ALLOCATE-INSTANCE. * Conforming to ANSI CL issue : The symbols GENERIC-FLET and GENERIC-LABELS are not exported from the COMMON-LISP package any more. * Conforming to ANSI CL issues and . * Conforming to ANSI CL Issue MACRO-FUNCTION now takes an optional second argument ENV. * When CLISP is invoked with an "-a" option, *features* contain :ANSI-CL. * Weak pointers are implemented. New functions MAKE-WEAK-POINTER, WEAK-POINTER-P, WEAK-POINTER-VALUE. * The function OPEN, when creating unbuffered file streams, now supports any of the following :ELEMENT-TYPEs: CHARACTER and ([UN]SIGNED-BYTE n), where n is a multiple of 8. * The functions MAKE-PIPE-INPUT-STREAM, MAKE-PIPE-OUTPUT-STREAM, MAKE-PIPE-IO-STREAM, SOCKET-ACCEPT, SOCKET-CONNECT accept a keyword argument :ELEMENT-TYPE. Possible values are types equivalent to CHARACTER or (UNSIGNED-BYTE n), (SIGNED-BYTE n), where n is a positive multiple of 8. Previously these functions returned streams whose element-type was (OR CHARACTER (UNSIGNED-BYTE 8)). * STREAM-ELEMENT-TYPE is SETFable. The element type of streams created by the functions MAKE-PIPE-INPUT-STREAM, MAKE-PIPE-OUTPUT-STREAM, MAKE-PIPE-IO-STREAM, SOCKET-ACCEPT, SOCKET-CONNECT can be modified, if the old and the new element type are compatible. (UNSIGNED-BYTE n) and (SIGNED-BYTE n) are compatible, and CHARACTER is compatible with ([UN]SIGNED-BYTE 8). * Character I/O can now be customized via encodings. A stream's external format is an encoding, and the symbol macros *DEFAULT-FILE-ENCODING*, *PATHNAME-ENCODING*, *TERMINAL-ENCODING*, *MISC-ENCODING*, FFI:*FOREIGN-ENCODING*, AFFI:*FOREIGN-ENCODING* contain user-settable encodings. Encodings can be obtained through the function MAKE-ENCODING, and as values of the constants CHARSET:UCS-2, CHARSET:UNICODE-16, CHARSET:UNICODE-16-BIG-ENDIAN, CHARSET:UNICODE-16-LITTLE-ENDIAN, CHARSET:UCS-4, CHARSET:UNICODE-32, CHARSET:UNICODE-32-BIG-ENDIAN, CHARSET:UNICODE-32-LITTLE-ENDIAN, CHARSET:UTF-8, CHARSET:JAVA, CHARSET:ASCII, CHARSET:ISO-8859-1, CHARSET:ISO-8859-2, CHARSET:ISO-8859-3, CHARSET:ISO-8859-4, CHARSET:ISO-8859-5, CHARSET:ISO-8859-6, CHARSET:ISO-8859-7, CHARSET:ISO-8859-8, CHARSET:ISO-8859-9, CHARSET:ISO-8859-10, CHARSET:ISO-8859-13, CHARSET:ISO-8859-14, CHARSET:ISO-8859-15, CHARSET:KOI8-R, CHARSET:MAC-ARABIC, CHARSET:MAC-CENTRAL-EUROPE, CHARSET:MAC-CROATIAN, CHARSET:MAC-CYRILLIC, CHARSET:MAC-DINGBAT, CHARSET:MAC-GREEK, CHARSET:MAC-HEBREW, CHARSET:MAC-ICELAND, CHARSET:MAC-ROMAN, CHARSET:MAC-ROMANIA, CHARSET:MAC-SYMBOL, CHARSET:MAC-THAI, CHARSET:MAC-TURKISH, CHARSET:MAC-UKRAINE, CHARSET:CP437, CHARSET:CP737, CHARSET:CP775, CHARSET:CP850, CHARSET:CP852, CHARSET:CP855, CHARSET:CP857, CHARSET:CP860, CHARSET:CP861, CHARSET:CP862, CHARSET:CP863, CHARSET:CP864, CHARSET:CP865, CHARSET:CP866, CHARSET:CP869, CHARSET:CP874, CHARSET:WINDOWS-1250, CHARSET:WINDOWS-1251, CHARSET:WINDOWS-1252, CHARSET:WINDOWS-1253, CHARSET:WINDOWS-1254, CHARSET:WINDOWS-1255, CHARSET:WINDOWS-1256, CHARSET:WINDOWS-1257, CHARSET:WINDOWS-1258, CHARSET:HP-ROMAN8, CHARSET:NEXTSTEP. * The functions OPEN, MAKE-PIPE-INPUT-STREAM, MAKE-PIPE-OUTPUT-STREAM, MAKE-PIPE-IO-STREAM, SOCKET-ACCEPT, SOCKET-CONNECT and the macro WITH-OUTPUT-TO-PRINTER accept a keyword argument :EXTERNAL-FORMAT. Possible values are encodings, such as returned by the function MAKE-ENCODING, the line terminator keywords :UNIX, :MAC, :DOS, and :DEFAULT. * STREAM-EXTERNAL-FORMAT is SETFable. The external format of streams created by the functions OPEN, MAKE-PIPE-INPUT-STREAM, MAKE-PIPE-OUTPUT-STREAM, MAKE-PIPE-IO-STREAM, SOCKET-ACCEPT, SOCKET-CONNECT can be modified. * OPEN has a new keyword argument :BUFFERED. It determines whether the file stream returned is buffered or not. Possible values for it are NIL, T, or :DEFAULT. If it is :DEFAULT, buffered file streams will be returned for regular files and (on Unix) block-devices, and unbuffered file streams for special files. * The functions MAKE-PIPE-INPUT-STREAM, MAKE-PIPE-OUTPUT-STREAM, MAKE-PIPE-IO-STREAM, SOCKET-ACCEPT, SOCKET-CONNECT have a new keyword argument :BUFFERED. It determines whether the stream returned is buffered or not. Possible values for it are NIL, T, or :DEFAULT. :DEFAULT is equivalent to NIL. * New functions READ-INTEGER, WRITE-INTEGER which can be used to do binary I/O on streams with element-type (UNSIGNED-BYTE 8). * The Gray proposal is implemented: New classes FUNDAMENTAL-STREAM, FUNDAMENTAL-INPUT-STREAM, FUNDAMENTAL-OUTPUT-STREAM, FUNDAMENTAL-CHARACTER-STREAM, FUNDAMENTAL-BINARY-STREAM, FUNDAMENTAL-CHARACTER-INPUT-STREAM, FUNDAMENTAL-CHARACTER-OUTPUT-STREAM, FUNDAMENTAL-BINARY-INPUT-STREAM, FUNDAMENTAL-BINARY-OUTPUT-STREAM. New generic functions STREAM-READ-CHAR, STREAM-UNREAD-CHAR, STREAM-READ-CHAR-NO-HANG, STREAM-PEEK-CHAR, STREAM-LISTEN, STREAM-READ-CHAR-WILL-HANG-P, STREAM-READ-CHAR-SEQUENCE, STREAM-READ-LINE, STREAM-CLEAR-INPUT, STREAM-WRITE-CHAR, STREAM-LINE-COLUMN, STREAM-START-LINE-P, STREAM-WRITE-CHAR-SEQUENCE, STREAM-WRITE-STRING, STREAM-TERPRI, STREAM-FRESH-LINE, STREAM-FINISH-OUTPUT, STREAM-FORCE-OUTPUT, STREAM-CLEAR-OUTPUT, STREAM-ADVANCE-TO-COLUMN, STREAM-READ-BYTE, STREAM-READ-BYTE-SEQUENCE, STREAM-WRITE-BYTE, STREAM-WRITE-BYTE-SEQUENCE. The functions CLOSE, OPEN-STREAM-P, STREAM-ELEMENT-TYPE are now generic functions. * The macros FFI:DEF-C-CALL-OUT and FFI:DEF-C-CALL-IN now add an argument :LANGUAGE :STDC (means ANSI C) instead of :LANGUAGE :C (means old K&R C). * Conforming with ANSI CL, SIMPLE-CONDITION now has the initarg :FORMAT-CONTROL instead of :FORMAT-STRING. New function SIMPLE-CONDITION-FORMAT-CONTROL. * Conforming with ANSI CL, FILE-LENGTH and FILE-POSITION, when called on an unbuffered file stream, now return NIL instead of signalling an error. * Conforming with ANSI CL, MACROEXPAND and MACROEXPAND-1 now accept NIL as second argument, denoting the global environment. * Conforming with ANSI CL, the reader now signals an error of type READER-ERROR when trying to parse tokens like 35/000 or 1.5e1000, instead of DIVISION-BY-ZERO and FLOATING-POINT-OVERFLOW, respectively. * On Unix, calling OPEN on a block device now returns a buffered stream instead of an unbuffered stream. * On Unix, writing to a pipe created by MAKE-PIPE-OUTPUT-STREAM or MAKE-PIPE-IO-STREAM after the corresponding child process has exited now leads to an error message instead of terminating the CLISP process. * The generic function GENERIC-STREAM-LISTEN is replaced with GENERIC-STREAM-READ-CHAR-WILL-HANG-P. * The function XGCD now really always returns coefficients of smallest possible absolute value. * Fixed an interpreter bug: (let (x) (declare (special x)) ...) did not change the global value of x in interpreted mode. * Fixed a bug: On Win32, Ctrl-Z sometimes caused two levels of the read-eval- print loop to be aborted instead of just one. * Fixed a bug: READ-CHAR-SEQUENCE, when called on a string input stream, forgot to advance the pointer into the string. * Fixed a bug: WRITE-CHAR-SEQUENCE on Win32 failed to convert NL to CR/LF. * Fixed a bug: Calling (GET-DISPATCH-MACRO-CHARACTER disp-char sub-char) would crash, instead of returning NIL, if there is no macro-character function associated with sub-char after disp-char. * Fixed a bug: (CHECK-TYPE place typespec string) did not evaluate `string'. * Fixed a bug: Calling the function FINALIZE caused a crash during the next GC on many platforms. * Fixed a bug: Calling a generic function without any installed method resulted in an inappropriate error message, not a call to NO-APPLICABLE-METHOD. * Fixed a bug: Closing a SOCKET-SERVER twice, or using a closed SOCKET-SERVER could result in inappropriate error messages. * Fixed a bug: (format nil "~@D" 0) ==> "+0" now. Portability ----------- * Added support for SPARC running Linux. * Added support for Apple PowerPC running MacOS X Server (a.k.a. Rhapsody). Other modifications ------------------- * On Linux 2.2.x with glibc-2.1, Solaris, OSF/1 and Irix, stack overflow is now caught reliably. Previously, endless recursion in interpreted code could cause a crash in some cases. Enjoy! Bruno From hoehle@mmkmail.gmd.de Wed Jul 21 18:39:02 1999 Received: from mail.gmd.de (mail.gmd.de [129.26.8.90]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id SAA29340 for ; Wed, 21 Jul 1999 18:39:01 -0700 (PDT) Received: from amiga (hoehle-ppp.darmstadt.gmd.de [141.12.144.207]) by mail.gmd.de (8.8.8/8.8.8) with SMTP id DAA27781 for ; Thu, 22 Jul 1999 03:43:30 +0200 (MET DST) Date: Thu, 22 Jul 1999 03:43:30 +0200 (MET DST) Message-Id: <199907220143.DAA27781@mail.gmd.de> From: Joerg.Hoehle@gmd.de (Jorg-Cyril Hohle) To: clisp-list@clisp.cons.org Subject: VM bytecodes Hello, all VM machines / bytecode interpreters I know have their own set of instructionsrefelcting different design decisions and language requirements. CLISP has several opcodes for 2 or 3 instructions combined into one such as CALL&JMPIF. Other have opcodes for groups of instructions such as MAKE-LAMBDA, which basically allocates two related objects in one shot and fills them in, which would otherwise require many opcodes. I wonder whether in the old or recent history of CLISP somebody has done a statistical distribution or a performance analysis on the bytecodes, to see which bytecodes are worth to be combined into one or if it was just a programmer's good feeling about one's choice, and whether performance comparisons were done as well. Really curious, Jorg Hohle. From hoehle@mmkmail.gmd.de Thu Jul 22 00:28:41 1999 Received: from mail.gmd.de (mail.gmd.de [129.26.8.90]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id AAA02081 for ; Thu, 22 Jul 1999 00:28:37 -0700 (PDT) Received: from zeus.gmd.de (zeus.gmd.de [129.26.165.1]) by mail.gmd.de (8.8.8/8.8.8) with ESMTP id JAA21832 for ; Thu, 22 Jul 1999 09:33:12 +0200 (MET DST) Received: from localhost (hoehle@localhost) by zeus.gmd.de (8.9.1/8.9.3) with SMTP id JAA20330 for ; Thu, 22 Jul 1999 09:33:12 +0200 (MET DST) X-Authentication-Warning: zeus.gmd.de: hoehle owned process doing -bs Date: Thu, 22 Jul 1999 09:33:12 +0200 (MET DST) From: Joerg Hoehle X-Sender: hoehle@zeus To: Multiple recipients of list Subject: RE: Win32 FFI, etc. In-Reply-To: <000401bed2e6$df34c0c0$1e08989e@morpheus> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Wed, 21 Jul 1999, Paul Moore wrote: > The obvious way of doing foreign calls is just as a pure "extra" module, > using the existing extension mechanism. So, we have Yes, I wrote several such modules for the Amiga. > (def-dll-call MessageBox (:dll user32) (:params ...) (:return ...)) > (MessageBox ...) > But the existing FFI stuff is very complete, in terms of defining parameter > and return types, etc etc. It would be nice to be able to reuse the > technology, and to do > > (def-call-out MessageBox > (:dll user32) > (:arguments (hwnd int) (text c-str) (title c-str) (flags int)) > (:return-type int) > (:language :stdc-stdcall)) > (MessageBox 0 "Hello, world" "Clisp" 0) > > The only differences are > (1) the extra :dll parameter > (2) the fact that def-call-out works immediately, > not generating a C file at compile time > > It's only point (2) that I have a problem with. Maybe I can define > def-dynamic-call-out which works at runtime instead of compile time. That's > Basically, I'm sort of asking if the FFI stuff is reusable in this way at > all, or should I just define my own interface? It's much better not to define yet another interface and use the existing stuff, although I have myself defined a different FFI that I called AFFI for AmigaOS. Reasons are different design decisions (esp. small footprint), and my stuff historically precedes the FFI (by little). The extra :dll parameter is no problem I'd say, yet you could even name that :library instead of the MS-Win specific :dll (to try to look more generic (maybe this is a bad idea). Then I'd suggest using strings as names instead of symbols for the library name 'user32: you'd not get case problems on UNIX, the day this mechanism is adapted to load UNIX .so files. The FFI has already been modified slightly in the past to allow for AmigaOS specific extensions, like registerized argument specifications instead of stack interfaces, and also for dynamic library functions. I think you should closely look at the #ifdef AMIGAOS in FOREIGN.D and FOREIGN1.LSP. There is a mechanism there to define functions which are relative to some library base that is dynamically defined and different from run to run, instead of being static in the executable like modules. I'd expect that something similar could be used for functions relative to a .dll. I invite you to see whether you can reuse part of that code, or modify it so that it integrates both conceptions of shared run-time libraries. > not a problem. But if I need to define a struct parameter type, then do I > also need a def-dynamic-c-struct? And so on... IIRC, def-c-struct doesn't generate stubs, it generates Lisp-level stuff that is able to convert a C struct to a Lisp-level structure and vice-versa using FFI/ffcall support functions. Only stubs for function calls might be needed, but the FFI contains enough code to be able to convert a C struct to a Lisp structure :in and :out. For example, FOREIGN1.LSP: #+AMIGA DEF-LIB-CALL-OUT generates no C stubs. Regards, Jo"rg Ho"hle. Joerg.Hoehle@gmd.de http://fit.gmd.de/~hoehle/amiga-clisp.html From mjkoskin@sci.fi Fri Jul 23 00:18:50 1999 Received: from pefletti.saunalahti.fi (root@mail.sci.fi [195.74.0.53]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id AAA14991 for ; Fri, 23 Jul 1999 00:18:49 -0700 (PDT) Received: from sci.fi (CMLXXXVIII.dyn.saunalahti.fi [195.74.28.88]) by pefletti.saunalahti.fi (8.9.1/8.9.1) with ESMTP id KAA00975 for ; Fri, 23 Jul 1999 10:23:26 +0300 (EET DST) Sender: mjkoskin@pefletti.saunalahti.fi Message-ID: <37981878.584BE466@sci.fi> Date: Fri, 23 Jul 1999 10:23:36 +0300 From: Matti Koskinen X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.5-15 i586) X-Accept-Language: en MIME-Version: 1.0 To: clisp-list@seagull.cons.org Subject: Re: cursor keys and redhat 6 References: <199907211034.MAA04507@jaures.ilog.fr> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Bruno Haible wrote: > > /etc/inputrc is only read by some _patched_ readline libraries. (Look for > the bash sources on your RedHat CD.) clisp uses the original readline > library, which only reads $HOME/.inputrc. redhat 6 defines INPUTRC=/etc/inputrc. according to man-pages, if INPUTRC is not set, .inputrc is read. but i've tried .inputrc too. strace clisp shows that /etc/inputrc is read, but strace prints some strange sigsegv's when reading inputrc, .Xdefaults etc. actual error is not raised, so these can probably be ignored. strangest thing is that bash, though it works, doesn't even with bind change the key definitions. i've asked in one linux newsgroup this and i'm waiting if somebody knows more, or is this just a bug in readline. i even compiled clisp from sources, but that didn't help. Control-b -e -n and -p works in clisp ok. > > > You might try to copy /etc/inputrc to $HOME/.inputrc. Or replace it with > the SuSE /etc/inputrc, which I append. thanks, i'll try -matti mjkoskin@sci.fi From mjkoskin@sci.fi Fri Jul 23 00:56:45 1999 Received: from pefletti.saunalahti.fi (root@mail.sci.fi [195.74.0.53]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id AAA15597 for ; Fri, 23 Jul 1999 00:56:43 -0700 (PDT) Received: from sci.fi (MCDXI.dyn.saunalahti.fi [195.197.4.211]) by pefletti.saunalahti.fi (8.9.1/8.9.1) with ESMTP id LAA02628 for ; Fri, 23 Jul 1999 11:01:15 +0300 (EET DST) Sender: mjkoskin@pefletti.saunalahti.fi Message-ID: <37982156.12F348BA@sci.fi> Date: Fri, 23 Jul 1999 11:01:27 +0300 From: Matti Koskinen X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.5-15 i586) X-Accept-Language: en MIME-Version: 1.0 To: Multiple recipients of list Subject: cursor keys work! Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit thanks Bruno, with your inputrc clisp now recognizes cursor keys. redhat's inputrc is someway broken, i haven't yet compared it to yours. thnx -matti mjkoskin@sci.fi From erik@innana.starseed.com Fri Jul 23 08:57:30 1999 Received: from innana.starseed.com (root@innana.starseed.com [206.151.157.197]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id IAA20282 for ; Fri, 23 Jul 1999 08:57:28 -0700 (PDT) Received: (from erik@localhost) by innana.starseed.com (8.9.3/8.9.3) id JAA25034; Fri, 23 Jul 1999 09:03:46 -0700 From: Erik Arneson MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14232.37474.479901.839329@innana.starseed.com> Date: Fri, 23 Jul 1999 09:03:46 -0700 (PDT) To: clisp-list@seagull.cons.org Subject: Re: New version of CLISP In-Reply-To: <199907212047.WAA10727@jaures.ilog.fr> References: <199907212047.WAA10727@jaures.ilog.fr> X-Mailer: VM 6.71 under 21.2 (beta18) "Toshima" XEmacs Lucid On 23 Jul 99, Bruno Haible wrote: > > A new release of CLISP is on the ftp server. The source of version > 1999-07-22 is at > ... > Highlights of this release: > > * Unicode support. > * Interface to PostgreSQL. > * Implements the Gray proposal for user-defined streams. > * Better ANSI CL compliance. Thank you thank you thank you thank you thank you!!! I love CLISP! -- # Erik Arneson erik@starseed.com Webring Software Engineer # # Yahoo! Inc. PGP ID: 1024/6EE28A05 (541) 482-3000x105 # # "If we couldn't laugh we would all go insane." - Jimmy Buffet # From sds@goems.com Fri Jul 23 09:53:29 1999 Received: from pluto.KSTREAM.COM ([38.156.71.130]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id JAA20937 for ; Fri, 23 Jul 1999 09:53:28 -0700 (PDT) Received: from NEW_NT by pluto.KSTREAM.COM with SMTP (Microsoft Exchange Internet Mail Service Version 5.0.1460.8) id NNS01TZ5; Fri, 23 Jul 1999 12:50:03 -0400 Message-ID: <37989EF9.AE09D439@goems.com> Date: Fri, 23 Jul 1999 12:57:29 -0400 From: Sam Steingold X-Mailer: Mozilla 4.61 [en] (WinNT; I) X-Accept-Language: en,ru MIME-Version: 1.0 To: clisp-list@seagull.cons.org Subject: Re: New version of CLISP References: <199907212047.WAA10727@jaures.ilog.fr> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit the latest win32 binary breaks on nt4sp4 like this: C:\gnu\clisp\lisp.exe -a -m10M -M C:\gnu\clisp\lispinit.mem -i C:\sds\lisp\base ;; Loading file C:\sds\lisp\base.fas ... ;; Loading of file C:\sds\lisp\base.fas is finished. cl-user[1]: > (sysinfo) [misc.d:142] *** - Win32 error 122 (ERROR_INSUFFICIENT_BUFFER): The data area passed to a system call is too small. 1. Break cl-user[2]: > cl-user[4]: > (machine-version) [misc.d:142] *** - Win32 error 122 (ERROR_INSUFFICIENT_BUFFER): The data area passed to a system call is too small. 1. Break cl-user[5]: > From russell@coulee.tdb.com Fri Jul 23 12:01:20 1999 Received: from bonneville.tdb.com (bonneville.tdb.com [198.107.132.10]) by seagull.cdrom.com (8.8.8/8.7.3) with SMTP id MAA22428 for ; Fri, 23 Jul 1999 12:01:20 -0700 (PDT) Received: (qmail 16351 invoked from network); 23 Jul 1999 19:05:59 -0000 Received: from coulee.tdb.com (root@198.107.133.11) by mail.tdb.com with SMTP; 23 Jul 1999 19:05:59 -0000 Received: by coulee.tdb.com via sendmail from stdin id (Debian Smail3.2.0.101) for russell@tdb.com; Fri, 23 Jul 1999 12:05:58 -0700 (PDT) To: clisp-list@seagull.cons.org Subject: trouble with tilde-expansion in 1999-07-22? References: <199907212047.WAA10727@jaures.ilog.fr> From: Russell Senior Date: 23 Jul 1999 12:05:57 -0700 In-Reply-To: Bruno Haible's message of "Fri, 23 Jul 1999 00:03:59 -0700 (PDT)" Message-ID: <86zp0nfap6.fsf@coulee.tdb.com> Lines: 22 X-Mailer: Gnus v5.6.39/Emacs 20.3 Just compiled up the new CLISP version (1999-07-22) and found that *load-paths* doesn't seem to be working for me. *load-paths* looks identical to the 1999-01-08 version, but when I try to rely on it to find a file in my ~/lisp directory, CLISP fails to find it. [3]> *load-paths* (#P"./" "~/lisp/**/") [4]> (load "io-tools") *** - A file with name io-tools does not exist [5]> (load "~/lisp/io-tools") *** - nonexistent directory: #P"/lisp/" Hmm. Looks like a problem with tilde-expansion. -- Russell Senior ``The two chiefs turned to each other. seniorr@teleport.com Bellison uncorked a flood of horrible profanity, which, translated meant, `This is extremely unusual.' '' From atze@wicx50.informatik.uni-wuerzburg.de Sun Jul 25 03:24:03 1999 Received: from wrzx07.rz.uni-wuerzburg.de (wrzx07.rz.uni-wuerzburg.de [132.187.1.7]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id DAA12409 for ; Sun, 25 Jul 1999 03:23:59 -0700 (PDT) Received: from Io (ma@wex118.extern.uni-wuerzburg.de [132.187.248.118]) by wrzx07.rz.uni-wuerzburg.de (8.8.8/8.8.8/uniwue-MM-1.0) with SMTP id MAA13138 for ; Sun, 25 Jul 1999 12:28:55 +0200 (MET DST) From: Martin Atzmueller Reply-To: atze@wicx50.informatik.uni-wuerzburg.de To: Clisp list Subject: ILISP - interrupt Date: Sun, 25 Jul 1999 12:12:19 +0200 X-Mailer: KMail [version 1.0.21] Content-Type: text/plain MIME-Version: 1.0 Message-Id: <99072512290300.30254@Io> Content-Transfer-Encoding: 8bit Hi, if I evaluate something (function, form) that could run forever, for example (LOOP WHILE t) in an ilisp-buffer (not in the toplevel!) I can't get out of it and Clisp seems to hang, so I have to restart everything. ILISP does an interrupt-subjob, but I can't get an appropriate comint-interrupt-regexp for Clisp, or does it not support this? Thanks, Martin From stoll@math.uni-duesseldorf.de Mon Jul 26 07:18:49 1999 Received: from math.uni-duesseldorf.de (math.uni-duesseldorf.de [134.99.156.150]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id HAA25832 for ; Mon, 26 Jul 1999 07:18:42 -0700 (PDT) Received: (from stoll@localhost) by math.uni-duesseldorf.de (8.9.3/8.9.3) id QAA35938; Mon, 26 Jul 1999 16:30:12 +0200 Date: Mon, 26 Jul 1999 16:30:12 +0200 From: Michael Stoll Message-Id: <199907261430.QAA35938@math.uni-duesseldorf.de> To: clisp-list@seagull.cons.org Subject: Re: VM bytecodes Cc: stoll@math.uni-duesseldorf.de J"org H"ohle writes >Hello, > >all VM machines / bytecode interpreters I know have their own set of >instructionsrefelcting different design decisions and language >requirements. CLISP has several opcodes for 2 or 3 instructions >combined into one such as CALL&JMPIF. Other have opcodes for groups >of instructions such as MAKE-LAMBDA, which basically allocates two >related objects in one shot and fills them in, which would otherwise >require many opcodes. > >I wonder whether in the old or recent history of CLISP somebody has >done a statistical distribution or a performance analysis on the >bytecodes, to see which bytecodes are worth to be combined into one or >if it was just a programmer's good feeling about one's choice, and >whether performance comparisons were done as well. > >Really curious, > Jorg Hohle. If I remember correctly, thge first set of bytecode instructions was devised by Bruno, who wrote the first version of CLISP's compiler. A little bit later, I did some analysis of the code the compiler produced on some of the parts of CLISP that are written in LISP itself (probably mainly the compiler itself). Based on that, we removed some of the combined instructions that Bruno had introduced ans replaced them with other ones. I think all later changes to the bytecode have been less drastic, but I might be mistaken (I haven't followed the evolution of the CLISP compiler that closely for some time). Maybe Bruno can say something on the more recent parts of the development. Best wishes, Michael Stoll From haible@ilog.fr Mon Jul 26 08:19:05 1999 Received: from sceaux.ilog.fr (sceaux.ilog.fr [193.55.64.10]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id IAA27043 for ; Mon, 26 Jul 1999 08:18:58 -0700 (PDT) Received: from laposte.ilog.fr (laposte [172.17.1.6]) by sceaux.ilog.fr (8.9.3/8.9.3) with ESMTP id RAA13218 for ; Mon, 26 Jul 1999 17:23:36 +0200 (MET DST) Received: from jaures.ilog.fr ([172.17.4.19]) by laposte.ilog.fr (8.9.3/8.9.3) with ESMTP id RAA23579; Mon, 26 Jul 1999 17:23:59 +0200 (MET DST) From: Bruno Haible Received: (from haible@localhost) by jaures.ilog.fr (8.9.3/8.9.3) id RAA05516; Mon, 26 Jul 1999 17:22:56 +0200 (MET DST) Date: Mon, 26 Jul 1999 17:22:56 +0200 (MET DST) Message-Id: <199907261522.RAA05516@jaures.ilog.fr> To: clisp-list@seagull.cons.org Subject: Re: New version of CLISP In-Reply-To: <37989EF9.AE09D439@goems.com> References: <37989EF9.AE09D439@goems.com> Sam Steingold writes: > the latest win32 binary breaks on nt4sp4 like this: > > [misc.d:142] > *** - Win32 error 122 (ERROR_INSUFFICIENT_BUFFER): The data area passed > to a system call is too small. Thanks for the report. Will be fixed in the next release. For the moment, work around using (defun machine-instance () "PC/586") Bruno From russell@coulee.tdb.com Mon Jul 26 09:39:09 1999 Received: from bonneville.tdb.com (bonneville.tdb.com [198.107.132.10]) by seagull.cdrom.com (8.8.8/8.7.3) with SMTP id JAA28043 for ; Mon, 26 Jul 1999 09:39:09 -0700 (PDT) Received: (qmail 31523 invoked from network); 26 Jul 1999 16:44:13 -0000 Received: from coulee.tdb.com (root@198.107.133.11) by mail.tdb.com with SMTP; 26 Jul 1999 16:44:13 -0000 Received: by coulee.tdb.com via sendmail from stdin id (Debian Smail3.2.0.101) for russell@tdb.com; Mon, 26 Jul 1999 09:44:11 -0700 (PDT) To: clisp-list@seagull.cons.org Cc: Multiple recipients of list Subject: Re: trouble with tilde-expansion in 1999-07-22? References: <86zp0nfap6.fsf@coulee.tdb.com> From: Russell Senior Date: 26 Jul 1999 09:44:11 -0700 In-Reply-To: Russell Senior's message of "Sat, 24 Jul 1999 00:02:07 -0700 (PDT)" Message-ID: <869083bbtw.fsf@coulee.tdb.com> Lines: 37 X-Mailer: Gnus v5.6.39/Emacs 20.3 >>>>> "Russell" == Russell Senior writes: Russell> Just compiled up the new CLISP version (1999-07-22) and found Russell> that *load-paths* doesn't seem to be working for me. Russell> *load-paths* looks identical to the 1999-01-08 version, but Russell> when I try to rely on it to find a file in my ~/lisp Russell> directory, CLISP fails to find it. Russell> [3]> *load-paths* Russell> (#P"./" "~/lisp/**/") Russell> [4]> (load "io-tools") Russell> *** - A file with name io-tools does not exist Russell> [5]> (load "~/lisp/io-tools") Russell> *** - nonexistent directory: #P"/lisp/" Russell> Hmm. Looks like a problem with tilde-expansion. A few more details. I am seeing this problem on Linux 2.2.8 w/ glibc-2.0.7 and Linux 2.2.10 w/ glibc-2.1.1, in both cases compiled with gcc-2.8.1. Are others seeing this problem also? I tried to start tracking down the problem over the weekend, but not being a clisp hacker and unfamiliar with its internal idioms, my progress in understanding the source code was slowed. Also, curiously, when I tried to run lisp.run under gdb (v4.18), it segfaulted fairly early on. How would one print out the contents of, say, the variable `userhomedir' from pathname.d around line 2125? Thanks! -- Russell Senior ``The two chiefs turned to each other. seniorr@teleport.com Bellison uncorked a flood of horrible profanity, which, translated meant, `This is extremely unusual.' '' From haible@ilog.fr Mon Jul 26 10:35:42 1999 Received: from sceaux.ilog.fr (sceaux.ilog.fr [193.55.64.10]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id KAA28951 for ; Mon, 26 Jul 1999 10:35:40 -0700 (PDT) Received: from laposte.ilog.fr (laposte [172.17.1.6]) by sceaux.ilog.fr (8.9.3/8.9.3) with ESMTP id TAA16397 for ; Mon, 26 Jul 1999 19:40:24 +0200 (MET DST) Received: from jaures.ilog.fr ([172.17.4.19]) by laposte.ilog.fr (8.9.3/8.9.3) with ESMTP id TAA01513; Mon, 26 Jul 1999 19:40:47 +0200 (MET DST) From: Bruno Haible Received: (from haible@localhost) by jaures.ilog.fr (8.9.3/8.9.3) id TAA06405; Mon, 26 Jul 1999 19:39:44 +0200 (MET DST) Date: Mon, 26 Jul 1999 19:39:44 +0200 (MET DST) Message-Id: <199907261739.TAA06405@jaures.ilog.fr> To: clisp-list@seagull.cons.org Subject: Re: trouble with tilde-expansion in 1999-07-22? In-Reply-To: <869083bbtw.fsf@coulee.tdb.com> References: <869083bbtw.fsf@coulee.tdb.com> Russell Senior writes: > [3]> *load-paths* > (#P"./" "~/lisp/**/") > [4]> (load "io-tools") > *** - A file with name io-tools does not exist > [5]> (load "~/lisp/io-tools") > *** - nonexistent directory: #P"/lisp/" > > Hmm. Looks like a problem with tilde-expansion. Tilde expands to the value of (user-homedir-pathname). On Unix, this is normally the value of the environment variable HOME. > I tried to start tracking down the problem over the weekend, ... > curiously, when I tried to run lisp.run under gdb (v4.18), it > segfaulted fairly early on. That's normal. You are seeing generational GC in action. To switch it off, do (gdb) handle 11 noprint nostop > How would one print out the contents of, say, the variable > `userhomedir' from pathname.d around line 2125? Set a breakpoint there. When it is reached, type (gdb) call object_out(userhomedir) Bruno From russell@coulee.tdb.com Mon Jul 26 11:30:43 1999 Received: from bonneville.tdb.com (bonneville.tdb.com [198.107.132.10]) by seagull.cdrom.com (8.8.8/8.7.3) with SMTP id LAA29780 for ; Mon, 26 Jul 1999 11:30:42 -0700 (PDT) Received: (qmail 32189 invoked from network); 26 Jul 1999 18:35:51 -0000 Received: from coulee.tdb.com (root@198.107.133.11) by mail.tdb.com with SMTP; 26 Jul 1999 18:35:51 -0000 Received: by coulee.tdb.com via sendmail from stdin id (Debian Smail3.2.0.101) for russell@tdb.com; Mon, 26 Jul 1999 11:35:50 -0700 (PDT) To: clisp-list@seagull.cons.org Subject: Re: trouble with tilde-expansion in 1999-07-22? References: <199907261739.TAA06405@jaures.ilog.fr> From: Russell Senior Date: 26 Jul 1999 11:35:49 -0700 In-Reply-To: Bruno Haible's message of "Mon, 26 Jul 1999 10:35:55 -0700 (PDT)" Message-ID: <86yag39s3e.fsf@coulee.tdb.com> Lines: 37 X-Mailer: Gnus v5.6.39/Emacs 20.3 >>>>> "Bruno" == Bruno Haible writes: Russell> Hmm. Looks like a problem with tilde-expansion. Bruno> Tilde expands to the value of (user-homedir-pathname). On Unix, Bruno> this is normally the value of the environment variable HOME. Russell> I tried to start tracking down the problem over the weekend, Russell> ... curiously, when I tried to run lisp.run under gdb Russell> (v4.18), it segfaulted fairly early on. Bruno> That's normal. You are seeing generational GC in action. To Bruno> switch it off, do (gdb) handle 11 noprint nostop Excellent. Thanks! Russell> How would one print out the contents of, say, the variable Russell> `userhomedir' from pathname.d around line 2125? Bruno> Set a breakpoint there. When it is reached, type Bruno> (gdb) call object_out(userhomedir) Okay. It says (gdb) call object_out(userhomedir) #P"/home/russell/" which appears to be correct (it's my home directory). Now, how do I look at things like TheSstring(STACK_2)->data[z.index]? -- Russell Senior ``The two chiefs turned to each other. seniorr@teleport.com Bellison uncorked a flood of horrible profanity, which, translated meant, `This is extremely unusual.' '' From R.Herzog@orbis-net.de Wed Jul 28 01:31:16 1999 Received: from mail.orbis-net.de (dns.orbis-net.de [195.145.124.5]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id BAA19816 for ; Wed, 28 Jul 1999 01:31:13 -0700 (PDT) Received: from sirius.trier.orbis-net.de (sirius.trier.orbis-net.de [172.25.32.10]) by mail.orbis-net.de (8.8.8/8.8.5) with ESMTP id KAA08297 for ; Wed, 28 Jul 1999 10:35:46 +0200 Received: by sirius.trier.orbis-net.de with Internet Mail Service (5.5.2448.0) id <33SYQT2T>; Wed, 28 Jul 1999 10:36:01 +0200 Message-ID: <3B38E2799FE0D211AFA100105ACEC37A25AF93@sirius.trier.orbis-net.de> From: Ralf Herzog To: "'CLisp Liste'" Subject: Sockets with Win95: ECONNRESET Error Date: Wed, 28 Jul 1999 10:36:00 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Content-Type: text/plain; charset="iso-8859-1" I'm using CLisp to communicate with a C programm via Sockets. My Problem is, that after some time (after >10 communications) the Lisp Programm gives me a ECONNRESET Error - even after I set some Sleep() calls in the C-Programm. Is there something I can do to fix this problem? At the Moment the C-Progamm reads a Lisp-Programm from a file, sends it (via a socket) to the "CLisp-Server" and waits for the result on a different socket. -- Ralf Herzog | To iterate is human, Mail: R.Herzog@orbis-net.de | to recurse divine. Phon: +49 651 8247 408 | L. Peter Deutsch From atze@wicx50.informatik.uni-wuerzburg.de Thu Jul 29 03:35:37 1999 Received: from wrzx07.rz.uni-wuerzburg.de (wrzx07.rz.uni-wuerzburg.de [132.187.1.7]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id DAA04023 for ; Thu, 29 Jul 1999 03:35:32 -0700 (PDT) Received: from Io (ma@wex104.extern.uni-wuerzburg.de [132.187.248.104]) by wrzx07.rz.uni-wuerzburg.de (8.8.8/8.8.8/uniwue-MM-1.0) with SMTP id MAA11874 for ; Thu, 29 Jul 1999 12:40:41 +0200 (MET DST) From: Martin Atzmueller Reply-To: atze@wicx50.informatik.uni-wuerzburg.de To: clisp-list@seagull.cons.org Subject: Re: ILISP - interrupt Date: Wed, 28 Jul 1999 00:57:11 +0200 X-Mailer: KMail [version 1.0.21] Content-Type: text/plain References: <99072512290300.30254@Io> MIME-Version: 1.0 Message-Id: <99072801051900.00254@Io> Content-Transfer-Encoding: 8bit Hi, > if I evaluate something (function, form) that could run forever, for example > (LOOP WHILE t) in an ilisp-buffer (not in the toplevel!) I can't get out of it > and Clisp seems to hang, so I have to restart everything. > > ILISP does an interrupt-subjob, but I can't get an appropriate > comint-interrupt-regexp for Clisp, or does it not support this? Has no one besides me noticed this thing? Or is nobody using Clisp together with ILISP? Since the ilisp-list is not functional again yet and this thing is very related to Clisp, I have to post it here. To elaborate my problem a bit: C-c C-c should achieve an 'comint-interrupt-subjob' in an ILISP-buffer. comint-interrupt-subjob finally does an interrupt-process. The Emacs-help says to this: "interrupt-process is a built-in function. Interrupt process PROCESS. May be process or name of one. PROCESS may be a process, a buffer, or the name of a process or buffer. nil or no arg means current buffer's process. Second arg CURRENT-GROUP non-nil means send signal to the current process-group of the process's controlling terminal rather than to the process's own process group. If the process is a shell, this means interrupt current subjob rather than the shell. (interrupt-process &optional PROCESS CURRENT-GROUP)" So what does Clisp do with the interrupt-signal? Martin From hlan@dit.hcmut.edu.vn Thu Jul 29 18:54:57 1999 Received: from ext-fw.vnn.vn ([202.167.121.193]) by seagull.cdrom.com (8.8.8/8.7.3) with SMTP id SAA13464 for ; Thu, 29 Jul 1999 18:54:52 -0700 (PDT) Received: from [202.167.112.66] by ext-fw.vnn.vn via smtpd (for seagull.cdrom.com [204.216.27.14]) with SMTP; 30 Jul 1999 01:42:49 UT Received: from hcmut.edu.vn (mailhost28 [172.28.1.3]) by vnuserv.vnuhcm.edu.vn (8.9.1/8.9.1) with ESMTP id CAA03318 for ; Fri, 30 Jul 1999 02:04:17 -0700 (GMT) Received: from dit.hcmut.edu.vn by hcmut.edu.vn (8.8.8+Sun/SMI-SVR4) id KAA11547; Fri, 30 Jul 1999 10:09:07 -0700 (GMT) Received: from halean.dit.hcmut.edu.vn by dit.hcmut.edu.vn (8.8.8+Sun/SMI-SVR4) id JAA20548; Fri, 30 Jul 1999 09:14:39 -0700 (GMT) Message-Id: <199907301614.JAA20548@dit.hcmut.edu.vn> From: "hlan" To: Date: Fri, 30 Jul 1999 08:55:22 +0700 X-MSMail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1155 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Dear, I have a problem when starting clisp within XEmacs (21.1.2). I use ilisp package, and when I type "M-x clisp-hs" there is a message "Autoloading failed to define function clisp-hs" and when I type "M-x clisp" everything seem to be OK, but when I evaluate expression, another message "No package". Is there anyone can help me? Thanks From erik@innana.starseed.com Fri Jul 30 11:43:11 1999 Received: from innana.starseed.com (root@innana.starseed.com [206.151.157.197]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id LAA23020 for ; Fri, 30 Jul 1999 11:43:07 -0700 (PDT) Received: (from erik@localhost) by innana.starseed.com (8.9.3/8.9.3) id LAA07454; Fri, 30 Jul 1999 11:49:16 -0700 From: Erik Arneson MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14241.62380.14834.255219@innana.starseed.com> Date: Fri, 30 Jul 1999 11:49:16 -0700 (PDT) To: clisp-list@seagull.cons.org Subject: REGEXP package X-Mailer: VM 6.71 under 21.2 (beta18) "Toshima" XEmacs Lucid Howdy everybody, I'm trying to use the REGEXP package to port replace-in-string from XEmacs, and I've gotten pretty far. The hurdle I've been unable to clear, however, is pulling specific matches from a regexp::match result. For example, if I do this: (REGEXP::MATCH "\\(foo\\)" "a foo string with two foos") How do I discern between the first match and the second match? They should be grouped somehow, but I'm not sure which function I can use to find this. Is grouping implemented in the REGEXP package? -- # Erik Arneson erik@starseed.com Webring Software Engineer # # Yahoo! Inc. PGP ID: 1024/6EE28A05 (541) 482-3000x105 # # "There's such a fine line between stupid and clever." Spinal Tap # From haible@ilog.fr Fri Jul 30 12:07:08 1999 Received: from sceaux.ilog.fr (sceaux.ilog.fr [193.55.64.10]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id MAA23532 for ; Fri, 30 Jul 1999 12:07:02 -0700 (PDT) Received: from laposte.ilog.fr (laposte [172.17.1.6]) by sceaux.ilog.fr (8.9.3/8.9.3) with ESMTP id VAA16991 for ; Fri, 30 Jul 1999 21:12:10 +0200 (MET DST) Received: from jaures.ilog.fr ([172.17.4.19]) by laposte.ilog.fr (8.9.3/8.9.3) with ESMTP id VAA07580; Fri, 30 Jul 1999 21:12:36 +0200 (MET DST) From: Bruno Haible Received: (from haible@localhost) by jaures.ilog.fr (8.9.3/8.9.3) id VAA12646; Fri, 30 Jul 1999 21:11:30 +0200 (MET DST) Date: Fri, 30 Jul 1999 21:11:30 +0200 (MET DST) Message-Id: <199907301911.VAA12646@jaures.ilog.fr> To: clisp-list@seagull.cons.org Subject: Re: REGEXP package In-Reply-To: <14241.62380.14834.255219@innana.starseed.com> References: <14241.62380.14834.255219@innana.starseed.com> Erik Arneson writes: > For example, if I do this: > > (REGEXP::MATCH "\\(foo\\)" "a foo string with two foos") > > How do I discern between the first match and the second match? The REGEXP module returns only the first match. After you got and digested it, you can call REGEXP:MATCH with the :START keyword. (setq pattern "\\(foo\\)") (setq string "a foo string with two foos") (let ((index 0)) (loop (let ((m (regexp:match pattern string :start index))) (unless m (return)) (print m) (setq index (regexp:match-end m)) ) ) ) Bruno From amoroso@mclink.it Sat Jul 31 02:19:46 1999 Received: from mail1.mclink.it (net128-007.mclink.it [195.110.128.7]) by seagull.cdrom.com (8.8.8/8.7.3) with ESMTP id CAA00496 for ; Sat, 31 Jul 1999 02:19:43 -0700 (PDT) Received: from net145-082.mclink.it (net145-082.mclink.it [195.110.145.82]) by mail1.mclink.it (8.9.1/8.9.0) with SMTP id LAA09153 for ; Sat, 31 Jul 1999 11:25:19 +0200 (CEST) From: amoroso@mclink.it (Paolo Amoroso) To: clisp-list@seagull.cons.org Subject: Re: ILISP - interrupt Date: Sat, 31 Jul 1999 09:25:42 GMT Organization: Paolo Amoroso - Milan, ITALY Message-ID: <37a4c0ce.518767@mail.mclink.it> References: <99072801051900.00254@Io> In-Reply-To: <99072801051900.00254@Io> X-Mailer: Forte Agent 1.5/32.451 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit On Thu, 29 Jul 1999 03:44:02 -0700 (PDT), you wrote: > > if I evaluate something (function, form) that could run forever, for example > > (LOOP WHILE t) in an ilisp-buffer (not in the toplevel!) I can't get out of it > > and Clisp seems to hang, so I have to restart everything. > > > > ILISP does an interrupt-subjob, but I can't get an appropriate > > comint-interrupt-regexp for Clisp, or does it not support this? > > Has no one besides me noticed this thing? Or is nobody using Clisp together > with ILISP? I use ILISP 5.8-a04 with GNU Emacs 20.3 and I confirm this behavior. When I evaluate (loop while t) from a Lisp mode buffer controlled by ILISP, Emacs displays the message "Started initializing ILISP" and then hangs. I can regain control of the Lisp mode buffer, but not of the inferior CLISP process, with C-g. Paolo -- Paolo Amoroso From marcoxa@parades.rm.cnr.it Sat Jul 31 05:32:22 1999 Received: from leonardo (leonardo.parades.rm.cnr.it [150.146.37.11]) by seagull.cdrom.com (8.8.8/8.7.3) with SMTP id FAA03992 for ; Sat, 31 Jul 1999 05:32:18 -0700 (PDT) Received: from copernico.parades.rm.cnr.it by leonardo (SMI-8.6/SMI-SVR4) id OAA25969; Sat, 31 Jul 1999 14:33:22 +0200 Received: by copernico.parades.rm.cnr.it (SMI-8.6/SMI-SVR4) id OAA16701; Sat, 31 Jul 1999 14:35:02 +0200 Date: Sat, 31 Jul 1999 14:35:02 +0200 Message-Id: <199907311235.OAA16701@copernico.parades.rm.cnr.it> From: Marco Antoniotti To: clisp-list@seagull.cons.org Subject: CLISP and ILISP Reply-to: marcoxa@parades.rm.cnr.it Hi first of all greetings to all. Secondly, I am about to ship a new version of ILISP (5.9) from its new home at cons.org. Thirdly, the ILISP mailing list is now active again at CONS.ORG as a MAJORDOMO list. To subscribe send a message to majordomo@cons.org with body 'subscribe ilisp'. Finally, > Topic No. 1 > > Date: Fri, 30 Jul 1999 08:55:22 +0700 > From: "hlan" > To: > Message-ID: <199907301614.JAA20548@dit.hcmut.edu.vn> > > Dear, > I have a problem when starting clisp within XEmacs (21.1.2). > I use ilisp package, and when I type "M-x clisp-hs" there is a message > "Autoloading failed to define function clisp-hs" and when I type "M-x > clisp" everything seem to be OK, but when I evaluate expression, another > message "No package". > Is there anyone can help me? Thanks > It would seem a proble with LOAD-PATH. Are you sure your LOAD-PATH contains the 'ilisp' directory? The "No package" error message would seem to derive from the fact that ILISP was able to partially set up the buffer. However, since the 'dialect' definition was not properly installed things do not work. Cheers -- Marco Antoniotti =========================================== PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26 http://www.parades.rm.cnr.it/~marcoxa