unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Joe Buehler <jbuehler@hekimian.com>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCHES] 21.3.50 for Cygwin: patch 5
Date: Fri, 03 Jan 2003 11:19:15 -0500	[thread overview]
Message-ID: <3E15B803.8080507@hekimian.com> (raw)
In-Reply-To: <Pine.SUN.3.91.1021225080757.7483D-100000@is>

Eli Zaretskii wrote:

>>+#ifdef _P
>>+#undef _P
>>+#endif
>>  #ifndef _P
>>  # ifdef __STDC__
>>  #  define _P(a) a

> Why isn't the original #ifndef guard enough to solve the problem on 
> Cygwin?  Could you please show how does the original code fail, and 
> explain why?

The problem is that _P is defined in the cygwin header files in a manner
that is incompatible with its usage above.  It is one of a set of macros
used in code that classifies characters as white space, printable, etc.:

ctype.h:#define _P	020
ctype.h:#define ispunct(c)	((_ctype_+1)[(unsigned)(c)]&_P)
ctype.h:#define isprint(c)	((_ctype_+1)[(unsigned)(c)]&(_P|_U|_L|_N|_B))
ctype.h:#define	isgraph(c)	((_ctype_+1)[(unsigned)(c)]&(_P|_U|_L|_N))

The above usage in pop.c does not seem correct to me -- aren't symbols
beginning with _ supposed to be reserved for the compilation system, to avoid
conflicts such as this one?

>>--- src/mem-limits.h	19 Aug 2002 17:45:50 -0000	1.31
>>+++ src/mem-limits.h	6 Dec 2002 16:35:33 -0000
>>@@ -46,6 +46,10 @@
>>  #define BSD4_2
>>  #endif
>>
>>+#ifdef CYGWIN
>>+#define BSD4_2
>>+#endif
> 
> 
> Can't this be done in src/s/cygwin.h?

Setgid on a directory does not cause group inheritance under cygwin,
so the code in dired.c for BSD4_2 is incorrect in that case.  The ifdef
could be moved to dired.c.  I don't like the idea of defining it in
cygwin.h, however, since BSD4_2 has nothing to do with cygwin...
-- 
Joe Buehler

  parent reply	other threads:[~2003-01-03 16:19 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-06 18:36 [PATCHES] 21.3.50 for Cygwin: patch 5 Joe Buehler
2002-12-25  6:12 ` Eli Zaretskii
2002-12-26 13:15   ` Juanma Barranquero
2002-12-26 23:39     ` Richard Stallman
2002-12-27  7:46       ` Juanma Barranquero
2002-12-28 21:22         ` Richard Stallman
2003-01-03 16:19   ` Joe Buehler [this message]
2003-01-04  4:19     ` Richard Stallman
2003-01-05  0:31       ` Kim F. Storm
2003-01-05 16:45         ` Benjamin Riefenstahl
2003-01-06  0:13           ` Kim F. Storm
2003-01-06 13:45             ` Joe Buehler
2003-01-06 17:13             ` Richard Stallman
2003-01-07  9:47               ` Kim F. Storm
2003-01-07 18:44                 ` Richard Stallman
2003-01-08 23:52                   ` Kim F. Storm
2003-01-09 23:14                     ` Richard Stallman
2003-01-10  9:49                       ` Kim F. Storm
2003-01-10 19:44                         ` Eli Zaretskii
2003-01-11  0:02                           ` Kim F. Storm
2003-01-12 11:55                           ` Richard Stallman
2003-01-11  0:22                         ` Richard Stallman
2003-01-05 18:34         ` [PATCHES] " Richard Stallman
2003-01-04 10:07     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3E15B803.8080507@hekimian.com \
    --to=jbuehler@hekimian.com \
    --cc=emacs-devel@gnu.org \
    --cc=joseph.buehler@spirentcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).