[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#510051: Control keys do not work when aylet is started via xargs



>>>>> Krystian Wlosek <kwlosek@gmail.com> writes:

 > tags 510051 wontfix thanks

 >> Use command similar to the following to reproduce:

 >> echo "AgentX.ay AgentX2.ay" |xargs aylet

	JFTR, using xargs(1) with an interactive program doesn’t seem
	like a very clever idea, for with the number of passed command
	arguments being sufficiently large, xargs(1) may choose to
	(or even have to) invoke the command specified several times in
	a row, each time giving it a portion of the arguments’ list.

	The real solution to this issue would be to add support for the
	conventional --files-from= option.  (And also --null.)
 
 > aylet reads keys codes from standard input, stdin is connected to
 > proper terminal (tty).  xargs replace this stdin by own pipe not
 > connected with terminal, so aylet doesn't receive any control keys.

	I’d argue that should such a condition be detected (via
	isatty ()), aylet(1) should just re-open its terminal, as in:

   /* call ctermid () to get the tty filename */
   int tty_fd
     = open (tty, O_RDONLY);
   /* check for errors */
   int rv
     = dup2 (tty_fd, STDIN_FILENO);
   /* check for errors */

	Given that this issue has such a trivial fix, I see no reason
	not to implement it.

-- 
FSF associate member #7257


Reply to: