[AC21.5] Restore sys_subshell for Windows native builds

Vin Shelton ethersoft at gmail.com
Thu Nov 19 19:09:00 EST 2009


APPROVE COMMIT 21.5

On Thu, Nov 19, 2009 at 10:42 AM, Vin Shelton <ethersoft at gmail.com> wrote:
> Jerry -
>
> On Wed, Nov 18, 2009 at 10:54 AM, Jerry James <james at xemacs.org> wrote:
>> COMMIT 21.5
>>
>> On Tue, Nov 17, 2009 at 6:31 PM, Stephen J. Turnbull <stephen at xemacs.org> wrote:
>>> APPROVE 21.5
>
> Thanks for taking this on, and thanks for cutting as deeply as you
> did.  It's good to get rid of the old cruft that no one is using!  But
> I think you made a mistake in sysdep.c and it caused you to cut a
> little too deeply (at least on Windows).  Here's my analysis:
>
> Before your changes, here's how sys_suspend used to look:
>
> /* Suspend the Emacs process; give terminal to its superior.  */
> void
> sys_suspend (void)
> {
> #if defined (SIGTSTP)
>  {
>    int pgrp = EMACS_GET_PROCESS_GROUP ();
>    EMACS_KILLPG (pgrp, SIGTSTP);
>  }
>
> #elif defined (USG_JOBCTRL)
>  /* If you don't know what this is don't mess with it */
>  ptrace (0, 0, 0, 0);          /* set for ptrace - caught by csh */
>  kill (getpid (), SIGQUIT);
>
> #else /* No SIGTSTP or USG_JOBCTRL */
>
>  /* On a system where suspending is not implemented,
>     instead fork a subshell and let it talk directly to the terminal
>     while we wait.  */
>  sys_subshell ();
>
> #endif
> }
>
> In the course of ripping out USG_JOBCTRL, you removed the #else
> condition, creating an unresolved reference to ptrace.  What you
> wanted was to remove the #elif defined(USG_JOBCTRL) clause.
> Rectifying this means I have to restore sys_subshell().  Patch is
> attached.  Please review.
>
> Thanks,
>  Vin
>



More information about the XEmacs-Patches mailing list