Subject: Re: [clisp-list] Cygwin feature

From: Karsten <[email-masked]>
Date: Wed Apr 24 12:16:24 2002

Re
 > * Honorable Dan Stanger <[email-masked]> writes:
 >
 > I could think of a few places where having a cygwin feature would be
 > helpful. Currently, my cygwin build has no indication as to what
 > environment it is running in. There are certain pathname translation
 > functions in the cygwin dll that are sometimes usefull. Dan Stanger
Sam writes: what does (software-version) say?

On my machine

[1]> (software-version)

"GNU C 3.0.4"
[2]> (lisp-implementation-type)

"CLISP"
[3]> (lisp-implementation-version)

"2.28 (released 2002-03-03) (built on ME2XZ)"

Please add :cygwin to features.
I do a lot of #+(and excl mswindows) foo #+(and excl unix) bar ....
and would love to do #+(and clisp unix (not cygwin)) foo #+(and clisp unix 
cygwin) bar

Karsten

---

From: Peter Burwood <[email-masked]>
Date: Wed Apr 24 14:30:13 2002

> Sam writes: what does (software-version) say?

Mine gives

"GNU C 2.95.3-5 (cygwin special)"

> and would love to do #+(and clisp unix (not cygwin)) foo #+(and clisp unix

I will do this, after the points below have been resolved. I've briefly
mentioned this identification problem to Sam before.

Firstly, if adding :cygwin as a feature, it must be decided about how
:cygwin fits in with the current features. My current build has

(:CLOS :LOOP :COMPILER :CLISP :ANSI-CL :COMMON-LISP :LISP=CL :INTERPRETER
 :SOCKETS :GENERIC-STREAMS :LOGICAL-PATHNAMES :SCREEN :FFI :GETTEXT :UNICODE
 :BASE-CHAR=CHARACTER :SYSCALLS :DIR-KEY :UNIX)

Adding :cygwin whilst also having :unix could be confusing. Is there a
precedence for having a base OS type and a OS flavour in *features*?

BTW, as you can see from the features, I am currently sorting out dir-key to
work with Clisp. It is more or less working now and I will put it into CVS
soon.

It is possible to add other windows features.

What should the features then include? :unix and :cygwin and :mswindows?
This would break some code which has #+unix foo #+mswindows bar. In general,
the answer would be to add a feature corresponding to the facility added,
much like dir-key, rather than depending on :cygwin or :mswindows.

So, is adding :cygwin to *features* is the right thing?

Peter

---

From: Sam Steingold <[email-masked]>
Date: Wed Apr 24 16:00:02 2002

> * In message <[email-masked]>
> * On the subject of "Re: [clisp-list] Cygwin feature"
> * Sent on 24 Apr 2002 22:21:13 +0100
> * Honorable Peter Burwood <[email-masked]> writes:
>

that's what I hoped for.
I get "GNU C 2.96 20000731 (Red Hat Linux 7.1 2.96-98)"
Apparently, gcc 3 has cygwin merged in, so it does not have "cygwin" in
its version (thus this path is broken).

> precedence for having a base OS type and a OS flavour in *features*?

CMUCL has both :unix and :linux.

CLISP has always claimed that there is no differences between all the
Unixes, but cygwin is different in that it is a compatibility layer,
not an OS.
OTOH, CLISP does not have a feature for EMX (which, IIUC, is a UNIX
compatibility layer for OS/2) - which is irrelevant since OS/2 is dead.
OTOH, CLISP does have a feature for BEOS - which is irrelevant since
BEOS is dead.

> BTW, as you can see from the features, I am currently sorting out
> dir-key to work with Clisp. It is more or less working now and I will
> put it into CVS soon.

cool - will you make it support LDAP too?

> It is possible to add other windows features.
great!

> What should the features then include?
> :unix and
yes - for backward compatibility, if nothing else.

> :cygwin and
yes - because it appears that the users want it...

> :mswindows?
no!  it will break too much user code.

> This would break some code which has #+unix foo #+mswindows bar.
exactly.
having both :unix and :win32 is schizophrenia. :-)

> In general, the answer would be to add a feature corresponding to the
> facility added, much like dir-key, rather than depending on :cygwin or
> :mswindows.

absolutely!  note that we do not want to have too much in the *FEATURES*
since this would clutter it, so it is good that we are discussing this
issue.

> So, is adding :cygwin to *features* is the right thing?

I think since cygwin is both a unix and a win32, we do need to have a
canonical way to detect it.  I just added :CYGWIN.

-- 
Sam Steingold (http://www.podval.org/~sds) running RedHat7.2 GNU/Linux
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.palestine-central.com/> <http://www.mideasttruth.com/>
Those who can laugh at themselves will never cease to be amused.

---

From: Marco Antoniotti <[email-masked]>
Date: Thu Apr 25 06:44:03 2002

> From: Peter Burwood <[email-masked]>
> Mail-Copies-To: never
> User-Agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7
> Content-Type: text/plain; charset=us-ascii
> Sender: [email-masked]
> X-BeenThere: [email-masked]
> X-Mailman-Version: 2.0.9-sf.net
> Precedence: bulk
> List-Help: <mailto:[email-masked]?subject=help>
> List-Post: <mailto:[email-masked]>
> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/clisp-list>,
> 	<mailto:[email-masked]?subject=subscribe>
> List-Id: CLISP user discussion <clisp-list.lists.sourceforge.net>
> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/clisp-list>,
> 	<mailto:[email-masked]?subject=unsubscribe>
> List-Archive: <http://www.geocrawler.com/redir-sf.php3?list=clisp-list>
> X-Original-Date: 24 Apr 2002 22:21:13 +0100
> Date: 24 Apr 2002 22:21:13 +0100
> 

Having both :mswindows and :unix is wrong *and* it *will* break some
code I wrote (and other people's as well).  I urge not to do such
thing.  As far as I am concerned the correct combination is

    (and :cygwin :mswindows (not :unix))

Cygwin is a layer on top of MS Windows.  This is what it is.  The host
operating system is MS Windows.

Cheers

-- 
Marco Antoniotti ========================================================
NYU Courant Bioinformatics Group        tel. +1 - 212 - 998 3488
719 Broadway 12th Floor                 fax  +1 - 212 - 995 4122
New York, NY 10003, USA                 http://bioinformatics.cat.nyu.edu
                    "Hello New York! We'll do what we can!"
                           Bill Murray in `Ghostbusters'.

---

From: Dan Stanger <[email-masked]>
Date: Thu Apr 25 07:07:07 2002

Marco's idea here seems ok with me, but the (not :unix) seems redundant.  unix and
mswindows
seems mutually exclusive.  However, unix is in the features list in the cygwin
build, and gnu
configure scripts treat cygwin as a version of unix.  Maybe we should vote on it.
Dan Stanger

Marco Antoniotti wrote:

> _______________________________________________
> clisp-list mailing list
> [email-masked]
> https://lists.sourceforge.net/lists/listinfo/clisp-list

---

From: Marco Antoniotti <[email-masked]>
Date: Thu Apr 25 12:20:48 2002

> From: Dan Stanger <[email-masked]>
> Reply-To: [email-masked]
> X-Accept-Language: en
> X-Original-Date: Thu, 25 Apr 2002 08:08:01 -0600
> Date: Thu, 25 Apr 2002 08:08:01 -0600
> 
> Marco's idea here seems ok with me, but the (not :unix) seems
> redundant.  unix and  mswindows
> seems mutually exclusive.  However, unix is in the features list in
> the cygwin build, and gnu configure scripts treat cygwin as a
> version of unix.  Maybe we should vote on it.

I strongly, strongly disagree.  It does not make sense.  The fact that
something in the "a build" does not mean that it makes sense.

I have code that assumes (rightly so) that MS Windows is not Unix and
that discriminates on the features list.

Please do not mess things up.

Cheers