[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