unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#18237: Small fix for MSDOS
@ 2014-08-10 16:40 Reuben Thomas
  2014-08-10 18:02 ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Reuben Thomas @ 2014-08-10 16:40 UTC (permalink / raw)
  To: 18237

[-- Attachment #1: Type: text/plain, Size: 599 bytes --]

The following patch helps in the case when a sockets library is installed;
in my case, ls080b.zip from the DJGPP site:

=== modified file 'src/msdos.c'
--- src/msdos.c    2014-08-09 16:12:33 +0000
+++ src/msdos.c    2014-08-09 21:51:56 +0000
@@ -4016,7 +4017,7 @@
 #endif


-#ifndef HAVE_SELECT
+#ifndef HAVE_SYS_SELECT_H
 #include "sysselect.h"

 /* This yields the rest of the current time slice to the task manager.


The reasoning is that having select doesn't imply having the sys/select.h
functionality that the following code emulates.

Does that look OK to install?

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 831 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#18237: Small fix for MSDOS
  2014-08-10 16:40 bug#18237: Small fix for MSDOS Reuben Thomas
@ 2014-08-10 18:02 ` Eli Zaretskii
  2014-08-10 18:19   ` Reuben Thomas
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2014-08-10 18:02 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18237

> Date: Sun, 10 Aug 2014 17:40:24 +0100
> From: Reuben Thomas <rrt@sc3d.org>
> 
> The following patch helps in the case when a sockets library is installed;
> in my case, ls080b.zip from the DJGPP site:
> 
> === modified file 'src/msdos.c'
> --- src/msdos.c    2014-08-09 16:12:33 +0000
> +++ src/msdos.c    2014-08-09 21:51:56 +0000
> @@ -4016,7 +4017,7 @@
>  #endif
> 
> 
> -#ifndef HAVE_SELECT
> +#ifndef HAVE_SYS_SELECT_H
>  #include "sysselect.h"
> 
>  /* This yields the rest of the current time slice to the task manager.
> 
> 
> The reasoning is that having select doesn't imply having the sys/select.h
> functionality that the following code emulates.
> 
> Does that look OK to install?

You didn't tell enough details, so I don't understand why the change
is needed, and why it is OK not to test HAVE_SELECT at all here.  (I
don't have ls080b.zip installed.)  Please tell what problems did you
see with the original code, and let's take it from there.

Thanks.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#18237: Small fix for MSDOS
  2014-08-10 18:02 ` Eli Zaretskii
@ 2014-08-10 18:19   ` Reuben Thomas
  2014-08-10 18:26     ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Reuben Thomas @ 2014-08-10 18:19 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 18237

[-- Attachment #1: Type: text/plain, Size: 1836 bytes --]

On 10 August 2014 19:02, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Sun, 10 Aug 2014 17:40:24 +0100
> > From: Reuben Thomas <rrt@sc3d.org>
> >
> > The following patch helps in the case when a sockets library is
> installed;
> > in my case, ls080b.zip from the DJGPP site:
> >
> > === modified file 'src/msdos.c'
> > --- src/msdos.c    2014-08-09 16:12:33 +0000
> > +++ src/msdos.c    2014-08-09 21:51:56 +0000
> > @@ -4016,7 +4017,7 @@
> >  #endif
> >
> >
> > -#ifndef HAVE_SELECT
> > +#ifndef HAVE_SYS_SELECT_H
> >  #include "sysselect.h"
> >
> >  /* This yields the rest of the current time slice to the task manager.
> >
> >
> > The reasoning is that having select doesn't imply having the sys/select.h
> > functionality that the following code emulates.
> >
> > Does that look OK to install?
>
> You didn't tell enough details, so I don't understand why the change
> is needed, and why it is OK not to test HAVE_SELECT at all here.  (I
> don't have ls080b.zip installed.)  Please tell what problems did you
> see with the original code, and let's take it from there.
>

libsocket is a sockets implementation:
http://rich.phekda.org/richdawe/lsck/lsck_dl.htm

When it is installed, configure correctly detects that select is available,
and sets HAVE_SELECT. However, libsocket has no sys/select.h, nor does it
implement sys_select.

Hence, at present, when I build using ./configure && make for DOS with
libsocket installed, HAVE_SELECT is defined to 1, so the MS-DOS
implementation of sys_select in msdos.c is not compiled. Later, the linker
is unable to find sys_select, and the build fails.

I think you're also saying that I should test both HAVE_SELECT &&
HAVE_SYS_SELECT_H therefore? You're probably right, I (incorrectly?)
assumed that if HAVE_SYS_SELECT_H is true, then HAVE_SELECT would be too.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 2655 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#18237: Small fix for MSDOS
  2014-08-10 18:19   ` Reuben Thomas
@ 2014-08-10 18:26     ` Eli Zaretskii
  2014-08-10 18:42       ` Reuben Thomas
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2014-08-10 18:26 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18237

> Date: Sun, 10 Aug 2014 19:19:24 +0100
> From: Reuben Thomas <rrt@sc3d.org>
> Cc: 18237@debbugs.gnu.org
> 
> When it is installed, configure correctly detects that select is available,
> and sets HAVE_SELECT. However, libsocket has no sys/select.h, nor does it
> implement sys_select.
> 
> Hence, at present, when I build using ./configure && make for DOS with
> libsocket installed, HAVE_SELECT is defined to 1, so the MS-DOS
> implementation of sys_select in msdos.c is not compiled. Later, the linker
> is unable to find sys_select, and the build fails.

So it's a consequence of trying to configure using the Posix configure
script.

I'd prefer that all the changes for such a build be committed at once
together, not bit by bit, and only if you eventually succeed to
produce a working binary using this method.

> I think you're also saying that I should test both HAVE_SELECT &&
> HAVE_SYS_SELECT_H therefore?

Yes, at the very least.  But let's delay this until you have gone all
the way to building Emacs using this method.  We won't know all of the
implications until you do.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#18237: Small fix for MSDOS
  2014-08-10 18:26     ` Eli Zaretskii
@ 2014-08-10 18:42       ` Reuben Thomas
  2014-08-10 19:05         ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Reuben Thomas @ 2014-08-10 18:42 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 18237-done

[-- Attachment #1: Type: text/plain, Size: 1044 bytes --]

On 10 August 2014 19:26, Eli Zaretskii <eliz@gnu.org> wrote:

>
> I'd prefer that all the changes for such a build be committed at once
> together, not bit by bit, and only if you eventually succeed to
> produce a working binary using this method.
>

Sorry, I was trying to separate my patch into parts with different
implications (e.g. no effect on the current DOS build system; some effect
on that system but not more generally; more general changes); but instead
I'll concentrate on producing a single patch that, as you say, results in a
working binary.


>  > I think you're also saying that I should test both HAVE_SELECT &&
> > HAVE_SYS_SELECT_H therefore?
>
> Yes, at the very least.


Noted.


>  But let's delay this until you have gone all
> the way to building Emacs using this method.  We won't know all of the
> implications until you do.
>

Sure, OK.

I am closing this bug; since you diagnosed my other patch submission as a
more general bug in configuration, I'll look into a fix for it at that
level.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 2042 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#18237: Small fix for MSDOS
  2014-08-10 18:42       ` Reuben Thomas
@ 2014-08-10 19:05         ` Eli Zaretskii
  0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2014-08-10 19:05 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 18237

> Date: Sun, 10 Aug 2014 19:42:14 +0100
> From: Reuben Thomas <rrt@sc3d.org>
> Cc: 18237-done@debbugs.gnu.org
> 
> > I'd prefer that all the changes for such a build be committed at once
> > together, not bit by bit, and only if you eventually succeed to
> > produce a working binary using this method.
> 
> Sorry, I was trying to separate my patch into parts with different
> implications (e.g. no effect on the current DOS build system; some effect
> on that system but not more generally; more general changes); but instead
> I'll concentrate on producing a single patch that, as you say, results in a
> working binary.

Yes, I'd prefer that.  This makes it easier to consider all of its
implications at once.  (You can, of course, make separate small
commits on your feature branch, as you work on this; then they will
all be merged onto the trunk as a single merge-commit.)

> I am closing this bug; since you diagnosed my other patch submission as a
> more general bug in configuration, I'll look into a fix for it at that
> level.

Thanks.





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-08-10 19:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-10 16:40 bug#18237: Small fix for MSDOS Reuben Thomas
2014-08-10 18:02 ` Eli Zaretskii
2014-08-10 18:19   ` Reuben Thomas
2014-08-10 18:26     ` Eli Zaretskii
2014-08-10 18:42       ` Reuben Thomas
2014-08-10 19:05         ` Eli Zaretskii

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).