On Wed, Oct 13, 2021 at 8:54 AM raf <[email protected]> wrote:
>
> Hi,
>
> macos-10.14.6
> ./configure --disable-darwin --with-x --enable-gui=athena --with-features=huge
>
> I just upgraded vim from approximately 8.2.2550 to 8.2.3501
> and something important has stopped working (from gvim).
>
> I have an autocommand group for editing gpg1-encrypted files.
> It executes gpg1 via a shell and that requires access to /dev/tty.
>
> Before the upgrade, it worked in vim and (athena) gvim (i.e.
> it would ask me for the passphrase). After the upgrade, it no
> longer works in athena gvim. gpg reports:
>
>   gpg: cannot open tty `/dev/tty': Device not configured
>
> The last version where this works is 8.2.2918.
> The first version that doesn't work is:
>
>   8.2.2919: using ":!command" does not work if it uses posix_spawn()
>
> That patch removed this:
>
> diff --git a/src/os_unix.c b/src/os_unix.c
> index 20c61106f..0a4f0e698 100644
> --- a/src/os_unix.c
> +++ b/src/os_unix.c
> @@ -4775,11 +4775,6 @@ mch_call_shell_fork(
>             // push stream discipline modules
>             if (options & SHELL_COOKED)
>             setup_slavepty(pty_slave_fd);
> -#  ifdef TIOCSCTTY
> -           // Try to become controlling tty (probably doesn't work,
> -           // unless run by root)
> -           ioctl(pty_slave_fd, TIOCSCTTY, (char *)NULL);
> -#  endif
>         }
>  # endif
>         set_default_child_environment(FALSE);
>
> If I run :!tty, it outputs /dev/ttys007, so I tried
> replacing "!gpg1" in the commands with "!GPG_TTY=`tty` gpg1"
> in the latest version, but that didn't work.
>
> Any idea what I need to do to restore access to /dev/tty
> from the athena gui? Or do I have to downgrade to 8.2.2918
> and stay there?
>
> cheers,
> raf


Since you wrote:

> The last version where this works is 8.2.2918.
> The first version that doesn't work is:

Then the regression is introduced by:

commit 6a43b37b760347b9a1bedf12e41b458000922969 (tag: v8.2.2919)
Author: Bram Moolenaar <[email protected]>
Date:   Tue Jun 1 20:48:40 2021 +0200

    patch 8.2.2919: using ":!command" does not work if it uses posix_spawn()

    Problem:    Using ":!command" does not work if the command uses
posix_spawn().
    Solution:   Do not call ioctl() with TIOCSCTTY. (Felipe Contreras)


Perhaps Felipe Contreras (added in copy) can check your patch.

Regards
Dominique

-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_use/CAON-T_gE8PPR-LdVBgLs4KtYrZviemJM1rdd0xHdSX0Bn6v_Jw%40mail.gmail.com.

Reply via email to