Subject: 24.4.90; PAGER variable missed in TRAMP connection init

From: Евгений Терешков<[email-masked]>
Date: Mon, 09 Mar 2015 13:45:23 +0700

Hi there.

After upgrade from emacs-24.4.1 to emacs-24.4.90 (git commit
4779a4bbcc2ce7599a546cc61aab6106376680fa, without additional patches) I
discovered following trouble with TRAMP.

Steps to reproduce:

1. Run `emacs -nw -Q' (reproducible X11 builds as well)

2. Find remote host directory with dired via tramp, i.e.
`/proxy4:/etc/zabbix/externalscripts' for my case (proxy4 is host in
~/.ssh/config with passwordless login via RSA-key and /proxy4:/etc/ is
under git version control)

3. Set cursor to some file and press `!' to run command on that file.

4. Enter command `git log -n 1' in minibuffer prompt to show last commit
that affect this file

Result: `"": : command not found' in minibuffer

Expected result: `commit 8368be1ac4b8f7d57ceac647c1a7a28d909bab42 ...' in minibuffer

I discovered that when I use `git --no-pager log -n 1' or `PAGER="" git log
-n 1' instead of `git log -n 1', I have expected result in minibuffer and
not mystical `"": : command not found' output.

So my theory is that after 24.4.1->24.4.90 upgrade, PAGER variable had been
missed in TRAMP initialization.

To check this out, I have traced (via `M-x trace-function <RET>
tramp-send-string') strings sended to remote host, then downgrade to
emacs-24.4.1, traced again and compare results. Here is brief result (I
have added both good and bad traces to this report so you can compare it
yourselt):

=======================================================================
evg@thinkpad ~ $diff -U0 strings.bad strings.good |grep PAGER
+1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "PAGER=\"\"; export PAGER")
=======================================================================

So, yes, emacs-24.4.90 definitely has regression from 24.4.1: PAGER
variable is missed in TRAMP init sequence.

Here is extensive info that `report-emacs-bug' kindly added for me:

In GNU Emacs 24.4.90.1 (x86_64-alt-linux-gnu, GTK+ Version 3.14.9)
 of 2015-03-03 on localhost.localdomain
Windowing system distributor `The X.Org Foundation', version 11.0.11604000
Configured using:
 `configure --build=x86_64-alt-linux --host=x86_64-alt-linux --prefix=/usr
 --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
 --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
 --libexecdir=/usr/lib --localstatedir=/var/lib --sharedstatedir=/var/lib
 --mandir=/usr/share/man --infodir=/usr/share/info
 --disable-dependency-tracking --without-included-gettext
 --sharedstatedir=/var --with-pop --with-x-toolkit=gtk3 --with-png
 --with-jpeg --with-xpm --with-gif --with-tiff --with-gpm
 --enable-font-backend --with-freetype --with-xft --with-dbus --with-rsvg
 --with-wide-int 'CFLAGS=-pipe -Wall -Wtrampolines -g -O2''

Important settings:
  value of $LANG: ru_RU.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Messages

Minor modes in effect:
  delete-selection-mode: t
  winpoint-mode: t
  shell-dirtrack-mode: t
  erc-services-mode: t
  erc-notifications-mode: t
  which-function-mode: t
  url-handler-mode: t
  rcirc-track-minor-mode: t
  minibuffer-electric-default-mode: t
  global-reveal-mode: t
  reveal-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-smiley-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-readonly-mode: t
  erc-scrolltobottom-mode: t
  display-time-mode: t
  desktop-save-mode: t
  global-hl-line-mode: t
  diff-auto-refine-mode: t
  jabber-activity-mode: t
  jabber-mode-line-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Mark set
View mode: type C-h for help, ? for commands, q to quit.
Mark set
Mark saved where search started
Mark set
Mark saved where search started [2 times]
Mark set
Quit
GNU Emacs 24.4.90.1 (x86_64-alt-linux-gnu, GTK+ Version 3.14.9) of 2015-03-03 on localhost.localdomain
Making completion list...

Load-path shadows:
~/.emacs.d/lisp/adoc-mode hides /home/evg/.emacs.d/elpa/adoc-mode-20130917.0/adoc-mode
~/.emacs.d/lisp/cmake-mode hides /home/evg/.emacs.d/elpa/cmake-mode-20140217.659/cmake-mode
~/.emacs.d/lisp/yaml-mode hides /home/evg/.emacs.d/elpa/yaml-mode-20140824.2132/yaml-mode
/home/evg/.emacs.d/elpa/php-mode-20141022.2216/php-mode hides /usr/share/emacs/site-lisp/php-mode
/home/evg/.emacs.d/elpa/ess-5.14/make-regexp hides /usr/share/emacs/site-lisp/make-regexp
/usr/share/emacs/site-lisp/remember/remember hides /usr/share/emacs/site-lisp/remember
/home/evg/.emacs.d/elpa/rpm-spec-mode-20140120.50/rpm-spec-mode hides /usr/share/emacs/site-lisp/rpm-spec-mode
/home/evg/.emacs.d/elpa/markdown-mode-20140914.1012/markdown-mode hides /usr/share/emacs/site-lisp/markdown-mode
/usr/share/emacs/site-lisp/remember/remember hides /usr/share/emacs/24.4.90/lisp/textmodes/remember
/usr/share/emacs/site-lisp/css-mode hides /usr/share/emacs/24.4.90/lisp/textmodes/css-mode
/usr/share/emacs/site-lisp/fortune hides /usr/share/emacs/24.4.90/lisp/play/fortune
~/.emacs.d/lisp/erc-autoaway hides /usr/share/emacs/24.4.90/lisp/erc/erc-autoaway
/home/evg/.emacs.d/elpa/ert-0.1/ert hides /usr/share/emacs/24.4.90/lisp/emacs-lisp/ert
/usr/share/emacs/24.4.90/lisp/mouse-sel hides /usr/share/emacs/24.4.90/lisp/obsolete/mouse-sel

Features:
(shadow sort org-rmail org-mhe org-irc org-info org-gnus org-docview
doc-view image-mode org-bibtex bibtex org-bbdb org-w3m flyspell ispell
mail-extr emacsbug misearch multi-isearch cisco-mode org org-macro
org-footnote org-pcomplete org-list org-faces org-entities org-version
ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys
ob-comint ob-core ob-eval org-compat org-macs org-loaddefs find-func
htmlize winsav flyspell-timer generic-x windmove hide-lines dired-aux
executable copyright vc-git cus-edit noutline outline tramp-cache tramp-sh
infobook .emacs my-init my-rcirc my-gnus epa-mail gnus-cite gnus-alias
gnus-dired spam spam-stat gnus-uu yenc gnus-msg utf7 smtpmail sendmail imap
pop3 my-final my-notmuch my-org my-global-keys my-dired dired-single dired
my-hooks my-defuns my-setq disp-table delsel my-requires yaml-mode pabbrev
magit-key-mode magit view epa derived epg git-rebase-mode git-commit-mode
server edebug backtr rx autosmiley smiley gnus-art mm-uu mml2015 gnus-sum
nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int
gnus-range gnus-win uptimes winpoint tramp tramp-compat tramp-loaddefs
trampver shell-command shell yank-pop-summary e-other-window idle-require
midnight ibuf-ext ibuffer jka-compr erc-services erc-desktop-notifications
which-func imenu url-handlers url-parse url-vars rcirc avoid minibuf-eldef
image-file icomplete grep compile gnus gnus-ems nnheader reveal autorevert
filenotify erc-list erc-menu erc-join erc-ring erc-networks erc-pcomplete
pcomplete erc-track erc-match erc-button erc-fill erc-stamp erc-netsplit
erc-goodies erc erc-backend erc-compat pp time desktop frameset autoinsert
cus-start cus-load bigint-autoloads cmake-mode-autoloads
command-frequency-autoloads elk-test-autoloads erc-image-autoloads
finder-inf erc-view-log-autoloads ert-autoloads fringe-helper-autoloads
highlight-parentheses-autoloads idle-require-autoloads jedi-autoloads
auto-complete-autoloads epc-autoloads ctable-autoloads concurrent-autoloads
json-snatcher-autoloads log4j-mode-autoloads info nginx-mode-autoloads
cl-macs python-environment-autoloads deferred-autoloads
rpm-spec-mode-autoloads smart-tab-autoloads winpoint-autoloads
yaml-mode-autoloads package epg-config template quail help-mode remember
notmuch hl-line notmuch-version notmuch-message notmuch-maildir-fcc
notmuch-hello edmacro kmacro notmuch-tree notmuch-parser notmuch-show
notmuch-print notmuch-crypto notmuch-mua notmuch-address notmuch-wash
diff-mode coolj notmuch-query goto-addr thingatpt icalendar diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs notmuch-tag crm notmuch-lib
mm-view mml-smime smime dig jabber jabber-notifications notifications
jabber-libnotify dbus jabber-awesome jabber-osd osd jabber-wmii
jabber-xmessage jabber-festival jabber-sawfish jabber-ratpoison jabber-tmux
jabber-screen jabber-socks5 jabber-ft-server jabber-si-server
jabber-ft-client jabber-ft-common jabber-si-client jabber-si-common
jabber-feature-neg jabber-truncate jabber-time jabber-autoaway
jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard
jabber-avatar mailcap jabber-activity jabber-watch jabber-modeline advice
jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion
jabber-muc-nick-completion hippie-exp comint ansi-color jabber-browse
jabber-search jabber-register jabber-roster jabber-presence jabber-muc
jabber-bookmarks jabber-private jabber-muc-nick-coloring hexrgb
jabber-widget jabber-disco wid-edit jabber-chat jabber-history
jabber-chatbuffer jabber-alert jabber-iq jabber-core jabber-console
sgml-mode jabber-keymap jabber-sasl sasl sasl-anonymous sasl-login
sasl-plain fsm jabber-logon cl gv jabber-conn srv dns starttls tls gnutls
jabber-xml xml jabber-menu jabber-util auth-source eieio byte-opt bytecomp
byte-compile cl-extra cl-loaddefs cl-lib cconv eieio-core gnus-util
password-cache git log-edit easy-mmode message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 ietf-drums mm-util help-fns mail-prsvr mailabbrev mail-utils
gmm-utils mailheader ring pcvs-util add-log ewoc saveplace paren time-date
cyril-util tooltip electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment lisp-mode prog-mode register page menu-bar
rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax
facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
czech european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind gfilenotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty emacs)

Memory information:
((conses 16 435095 133122)
 (symbols 48 51757 0)
 (miscs 40 255 894)
 (strings 32 122396 38773)
 (string-bytes 1 3605307)
 (vectors 16 53954)
 (vector-slots 8 1567003 156765)
 (floats 8 531 1031)
 (intervals 56 10286 1781)
 (buffers 960 22)
 (heap 1024 47059 2902))
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "exec ssh   -o ControlMaster=auto -o ControlPath='tramp.%C' -o ControlPersist=no -e none proxy4")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "exec env ENV='' HISTFILE=/dev/null PROMPT_COMMAND='' PS1=\\#\\$\\  PS2='' PS3='' /bin/sh ")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "stty -inlcr -echo kill '^U' erase '^H'")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "echo foo")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "PS1=///4d45da6f621e1251104ad0cf0e10066b\\#\\$ PS2='' PS3='' PROMPT_COMMAND=''")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "echo foo ; echo bar")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "set +o vi +o emacs")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "echo \\\"`uname -sr`\\\" 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin; export PATH")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "mesg n; biff n")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "echo \\\"`tty`\\\" 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "stty -a")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "while read var val; do export $var=$val; done <<'47768436c0f8976f50d3c04fc4996375'
PAGER \"\"
INSIDE_EMACS '24.4.90.1,tramp:2.2.11-24.5'
EMACS t
TERM dumb
LC_CTYPE ''
TMOUT 0
LC_ALL C
47768436c0f8976f50d3c04fc4996375")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "unset correct autocorrect MAILPATH MAILCHECK MAIL HISTORY CDPATH")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "test -e /etc/zabbix/externalscripts/ 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "tramp_perl_file_name_all_completions () {
\\perl -e 'sub case {
 my $str = shift;
 if ($ARGV[2]) {
  return lc($str);
 }
 else {
  return $str;
 }
}
opendir(d, $ARGV[0]) || die(\"$ARGV[0]: $!\\nfail\\n\");
@files = readdir(d); closedir(d);
foreach $f (@files) {
 if (case(substr($f, 0, length($ARGV[1]))) eq case($ARGV[1])) {
  if (-d \"$ARGV[0]/$f\") {
   print \"$f/\\n\";
  }
  else {
   print \"$f\\n\";
  }
 }
}
print \"ok\\n\"
' \"$1\" \"$2\" \"$3\" 2>/dev/null
} 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "tramp_perl_file_name_all_completions /etc/zabbix/externalscripts/ '' 1")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/" nil] "test -e /etc/zabbix/ 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts" nil] "test -d /etc/zabbix/externalscripts 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "/bin/ls --color=never --dired -lht /etc/zabbix/externalscripts/. 2>/dev/null")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "( (test -e /etc/zabbix/externalscripts/ || test -h /etc/zabbix/externalscripts/) && \\stat -c '((\"%N\") %h %ue0 %ge0 %Xe0 %Ye0 %Ze0 %se0 \"%A\" t %ie0 -1)' /etc/zabbix/externalscripts/ || echo nil) 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "( \\cd /etc/zabbix/externalscripts/; /bin/sh -c git\\ log\\ -n\\ 1\\ hughes_get_agg_items.py </dev/null; echo tramp_exit_status $? )")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "exec ssh   -o ControlPath=/tmp/.private/evg/tramp.6078JOJ.%r@%h:%p -o ControlMaster=auto -o ControlPersist=no -e none proxy4")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "exec env ENV='' HISTFILE=/dev/null PROMPT_COMMAND='' PS1=\\#\\$\\  PS2='' PS3='' /bin/sh ")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "stty -inlcr -echo kill '^U' erase '^H'")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "echo foo")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "PS1=///f8408dc70ee394e9a2a1f385e599331c\\#\\$")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "PS2=''")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "PS3=''")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "PROMPT_COMMAND=''")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "echo foo ; echo bar")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "set +o vi +o emacs")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "echo \\\"`uname -sr`\\\" 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin; export PATH")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "mesg n; biff n")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "echo \\\"`tty`\\\" 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "stty -a")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "LC_ALL=C; export LC_ALL")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "TMOUT=0; export TMOUT")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "LC_CTYPE=''; export LC_CTYPE")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "TERM=dumb; export TERM")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "EMACS=t; export EMACS")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "INSIDE_EMACS='24.4.1,tramp:2.2.9-24.4'; export INSIDE_EMACS")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "PAGER=\"\"; export PAGER")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "unset correct autocorrect MAILPATH MAILCHECK MAIL HISTORY CDPATH")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "test -e /etc/zabbix/externalscripts/ 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "tramp_perl_file_name_all_completions () {
\\perl -e 'sub case {
 my $str = shift;
 if ($ARGV[2]) {
  return lc($str);
 }
 else {
  return $str;
 }
}
opendir(d, $ARGV[0]) || die(\"$ARGV[0]: $!\\nfail\\n\");
@files = readdir(d); closedir(d);
foreach $f (@files) {
 if (case(substr($f, 0, length($ARGV[1]))) eq case($ARGV[1])) {
  if (-d \"$ARGV[0]/$f\") {
   print \"$f/\\n\";
  }
  else {
   print \"$f\\n\";
  }
 }
}
print \"ok\\n\"
' \"$1\" \"$2\" \"$3\" 2>/dev/null
} 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "tramp_perl_file_name_all_completions /etc/zabbix/externalscripts/ '' 1")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/" nil] "test -e /etc/zabbix/ 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts" nil] "test -d /etc/zabbix/externalscripts 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "/bin/ls --color=never --dired -lht /etc/zabbix/externalscripts/. 2>/dev/null")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "( (test -e /etc/zabbix/externalscripts/ || test -h /etc/zabbix/externalscripts/) && \\stat -c '((\"%N\") %h %ue0 %ge0 %Xe0 %Ye0 %Ze0 %se0 \"%A\" t %ie0 -1)' /etc/zabbix/externalscripts/ || echo nil) 2>/dev/null; echo tramp_exit_status $?")
1 <- tramp-send-string: nil
======================================================================
1 -> (tramp-send-string [#("ssh" 0 3 (tramp-default t)) nil "proxy4" "/etc/zabbix/externalscripts/" nil] "( \\cd /etc/zabbix/externalscripts/; /bin/sh -c git\\ log\\ -n\\ 1\\ hughes_get_agg_items.py </dev/null; echo tramp_exit_status $? )")
1 <- tramp-send-string: nil

-- 
С уважением, Терешков Евгений.
Jabber ID: [email-masked], [email-masked]