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

Bug#648271: [debian-policy] 11.8.3 "Packages providing a terminal emulator" says xterm passes -e option straight to exec

Package: debian-policy
Severity: normal

Section 11.8.3 "Packages providing a terminal emulator" contains:

To be an x-terminal-emulator, a program must:

  • [...]

  • Support the command-line option -e command, which creates a new terminal window[94] and runs the specified command, interpreting the entirety of the rest of the command line as a command to pass straight to exec, in the manner that xterm does.

However, as pointed out by Hendrik Sattler in #563352, xterm does *not* simply pass its -e option straight to exec, at least nowadays. The following command exemplifies:

$ xterm -e 'echo TEST && sleep 3'

This works as intended, so xterm does not just support simple commands, but also pipelines. The source shows: http://anonscm.debian.org/gitweb/?p=pkg-xorg/app/xterm.git;a=blob;f=main.c;h=48143b7219a645f71124d22e2980f141d6a502f5;hb=c18d61b3feac0c5c63e5f022e8b4d1c2056947d7#l4557

xterm does call exec, but sometimes to span a subshell which will interpret the command.

By the way, as Hendrik wrote, it would be best to specify how x-terminal-emulator should behave, rather than to say the behavior should be the same as xterm's.
Also, the term "command" is ambiguous.

Reply to: