Subject: bug#18569: 24.3; Eshell: piping 'find' through 'xargs' reports random number of files

From: Vlad Kozin <[email-masked]>
Date: Fri, 26 Sep 2014 13:41:32 +0400

Sample eshell session:
---------------------
~/Documents/battle-field [ ] # find -L islands-page/ -name '*.bemhtml' | xa=
rgs -n1 -t | wc -l
      92
~/Documents/battle-field [ ] # find -L islands-page/ -name '*.bemhtml' | xa=
rgs -n1 -t | wc -l
      32
~/Documents/battle-field [ ] # find -L islands-page/ -name '*.bemhtml' | wc=
-l
      54
~/Documents/battle-field [ ] # find -L islands-page/ -name '*.bemhtml' | wc=
-l
      54

No other process is writing to the root folder or its
subdirectiories. Correct number of lines is 54. Works fine in *shell*,
*ansi-term*, spawned as async command or in any externall shell.

Unrelated to this issue, there's another potential bug. Adding NUL as
separator throws Emacs into infinite 'visual bell' - totally
unresponsive - can only be nuked:
--------------------------------
find -L islands-page/ -name '*.bemhtml' -print0 | xargs  -0 -n1 echo

In GNU Emacs 24.3.1 (x86_64-apple-darwin13.2.0, NS apple-appkit-1265.20)
of 2014-06-08 on 5.255.234.126-red.dhcp.yndx.net
Windowing system distributor `Apple', version 10.3.1265
Configured using:
`configure '--prefix=3D/usr/local/Cellar/emacs/24.3' '--without-dbus'
'--enable-locallisppath=3D/usr/local/share/emacs/site-lisp'
'--infodir=3D/usr/local/Cellar/emacs/24.3/share/info/emacs'
'--without-gnutls' '--with-ns' '--disable-ns-self-contained'
'CC=3Dclang''

Important settings:
  value of $LC_CTYPE: UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: EShell

Minor modes in effect:
  magit-auto-revert-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  global-flycheck-mode: t
  which-function-mode: t
  global-company-mode: t
  company-mode: t
  helm-mode: t
  helm-descbinds-mode: t
  helm-match-plugin-mode: t
  helm-occur-match-plugin-mode: t
  erc-truncate-mode: t
  erc-track-mode: t
  erc-spelling-mode: t
  global-diff-hl-mode: t
  diff-auto-refine-mode: t
  winner-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-anzu-mode: t
  anzu-mode: t
  projectile-global-mode: t
  projectile-mode: t
  shell-dirtrack-mode: t
  volatile-highlights-mode: t
  global-hl-line-mode: t
  recentf-mode: t
  savehist-mode: t
  show-smartparens-global-mode: t
  global-auto-revert-mode: t
  delete-selection-mode: t
  prelude-global-mode: t
  prelude-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-n C-p C-n w w C-p C-n w w C-t <return> r e a d <return>
C-n C-n C-p w w M-h M-` C-g M-; C-t C-s w w C-- C--
w w C-- C-- C-- C-p C-n w w w w =D0=B1 =D0=B1 C-=D1=85 w w w w <C-S-backspa=
ce>
C-/ <backspace> <backspace> C-t C-s w w C-p C-n w w
C-p C-n C-t C-s C-p C-p C-p C-p C-p C-p C-n C-n C-n
C-n C-n C-n C-n C-d C-d C-d C-t C-s C-c C-b b b <return>
C-n C-n C-n C-n C-n C-n C-p C-n w w C-n C-d C-d C-t
C-s C-d C-t C-s C-c C-b b b <return> C-n C-n C-n C-n
C-n C-n C-n C-n C-p C-n w w C-n C-d C-d C-t C-s C-c
C-b w w b b <return> C-c s w w b b <return> C-d M-h
M-` C-g M-; C-t C-s w w b b b j s <return> M-< C-v
C-v C-v C-v C-v C-v M-< b b <return> C-n C-n C-p C-n
C-p C-n C-p C-n C-n C-n C-p C-n C-n C-t m p w d <return>
c d SPC o d <backspace> <backspace> b a <tab> <backspace>
<backspace> d o c <backspace> <backspace> <backspace>
<backspace> <backspace> <backspace> C-c C-l C-g C-t
C-f <tab> d o c u <tab> b a t <tab> C-z p a t h <backspace>
<backspace> <backspace> <backspace> e s h e l M-e C-c
C-l f i n d C-n C-p C-n C-n C-n <return> <return> C-p
C-n M-p <return> M-p C-b C-b C-b C-b C-b C-b C-b <backspace>
<backspace> <backspace> <backspace> <backspace> <backspace>
<backspace> <backspace> <backspace> <backspace> <backspace>
<backspace> <backspace> <backspace> <backspace> C-e
<return> M-p <return> <help-echo> C-t <return> r e
p a r <backspace> <backspace> o r t SPC e m a <ret
urn>

Recent messages:
Mark set
Saving file /Users/kozin/Documents/Speak/pYatnitsa/Expr.js...
Wrote /Users/kozin/Documents/Speak/pYatnitsa/Expr.js
Mark set
Making completion list...
Quit
Saving file /Users/kozin/Documents/Speak/pYatnitsa/Expr.js...
Wrote /Users/kozin/Documents/Speak/pYatnitsa/Expr.js
Mark set [2 times]
History item: 128 [3 times]

Load-path shadows:
/Users/kozin/.emacs.d/personal/custom hides /usr/local/Cellar/emacs/24.3/sh=
are/emacs/24.3/lisp/custom

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mailabbrev gmm-utils mailheader sendmail pcmpl-unix
face-remap hippie-exp mail-utils network-stream starttls magit-key-mode
magit view epa derived epg epg-config git-rebase-mode git-commit-mode
log-edit pcvs-util tmm misearch multi-isearch vc-bzr vc-sccs vc-svn
vc-cvs vc-rcs diff-hl-dired tramp-cache image-file helm-command
easy-kill js add-log jslime-mode nodejs-repl tramp-sh ido helm-misc
em-unix em-term term ehelp electric em-script em-prompt em-ls em-hist
em-pred em-glob em-dirs em-cmpl em-basic em-banner em-alias rainbow-mode
color rainbow-delimiters elisp-slime-nav guru-mode company-ghc ghc
dabbrev ghc-indent ghc-ins-mod ghc-command ghc-check ghc-doc ghc-info
ghc-comp ghc-rewrite ghc-process ghc-func company-tern dash-functional
tern url-http tls url-auth mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
url-gw setup-yasnippet setup-js2-mode json js2-imenu-extras js2-refactor
js2r-paredit js2r-conveniences js2r-conditionals the-org-mode-expansions
org ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint
ob-keys org-pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob org-compat org-macs ob-eval org-loaddefs
cal-menu calendar cal-loaddefs js2r-wrapping js2r-functions yasnippet
js2r-vars multiple-cursors-core rect js2r-iife js2r-formatting
js2r-helpers js2-mode-expansions js-mode-expansions js2-mode cc-langs
cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-styles cc-align
cc-cmds cc-engine cc-vars cc-defs vc-git server
sanityinc-tomorrow-night-theme prelude-xml nxml-mode-expansions
html-mode-expansions sgml-mode rng-nxml rng-valid rng-loc rng-uri
rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns
nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok
prelude-web web-mode-expansions smartparens-html web-mode disp-table
prelude-shell sh-script smie executable prelude-scheme geiser
prelude-org prelude-js prelude-haskell prelude-emacs-lisp prelude-css
prelude-common-lisp prelude-lisp prelude-coffee prelude-c
prelude-programming flycheck which-func imenu prelude-key-chord
key-chord prelude-company company-files company-oddmuse company-keywords
company-etags company-gtags company-dabbrev-code company-dabbrev
company-capf company-cmake company-ropemacs company-xcode company-clang
company-semantic company-eclim company-template company-css company-nxml
company-bbdb company-elisp help-mode company prelude-helm-everywhere
helm-mode helm-descbinds helm-eshell helm-elisp helm-eval prelude-helm
helm-projectile helm-files rx image-dired dired-aux ffap helm-buffers
helm-elscreen helm-tags helm-bookmark helm-adaptive helm-info helm-net
browse-url xml url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util url-parse url-vars mailcap
helm-plugin helm-locate helm-help helm-match-plugin helm-grep
helm-regexp helm-external helm-utils helm-config helm-aliases helm
helm-source prelude-erc erc-truncate erc-track erc-match erc-autoaway
erc-spelling erc-notify erc-networks erc-log erc-goodies erc erc-backend
erc-compat prelude-osx exec-path-from-shell prelude-global-keybindings
prelude-editor operate-on-number calc-bin calc-ext calc calc-loaddefs
calc-macs diff-hl smartrep vc-dir ewoc vc vc-dispatcher diff-mode winner
undo-tree diff esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg
eldoc esh-groups eshell esh-module esh-mode esh-util re-builder
whitespace browse-kill-ring midnight ediff-merg ediff-diff ediff-wind
ediff-help ediff-util ediff-mult ediff-init ediff dired-x dired anzu
projectile ibuf-ext ibuffer pkg-info find-func lisp-mnt grep compile s
ucs-normalize bookmark pp expand-region text-mode-expansions
er-basic-expansions expand-region-core expand-region-custom flyspell
ispell tramp tramp-compat auth-source gnus-util mm-util mail-prsvr
password-cache tramp-loaddefs shell pcomplete comint ansi-color
format-spec etags ring volatile-highlights hl-line windmove recentf
tree-widget wid-edit savehist saveplace uniquify diminish
smartparens-config smartparens warnings autorevert delsel prelude-mode
easy-mmode prelude-core epl pcase ov dash thingatpt prelude-custom
prelude-ui zenburn-theme prelude-packages ace-jump-buffer-autoloads
ace-window-autoloads ace-window ace-jump-mode advice help-fns
advice-preload ace-jump-mode-autoloads ack-and-a-half-autoloads
anzu-autoloads browse-kill-ring-autoloads coffee-mode-autoloads
company-ghc-autoloads company-tern-autoloads company-autoloads
dash-functional-autoloads diff-hl-autoloads diminish-autoloads
discover-autoloads discover-my-major-autoloads easy-kill-autoloads
elisp-slime-nav-autoloads exec-path-from-shell-autoloads
expand-region-autoloads flycheck-autoloads fsharp-mode-autoloads
auto-complete-autoloads fuel-autoloads geiser-autoloads ghc-autoloads
gist-autoloads gh-autoloads eieio byte-opt bytecomp byte-compile cconv
git-timemachine-autoloads gitconfig-mode-autoloads
gitignore-mode-autoloads god-mode-autoloads grizzl-autoloads
guru-mode-autoloads haskell-mode-autoloads edmacro kmacro
helm-descbinds-autoloads helm-projectile-autoloads helm-autoloads
ibuffer-vc-autoloads js-doc-autoloads key-chord-autoloads
logito-autoloads magit-autoloads info easymenu git-rebase-mode-autoloads
git-commit-mode-autoloads makey-autoloads markdown-mode+-autoloads
markdown-mode-autoloads move-text-autoloads multiple-cursors-autoloads
nodejs-repl-autoloads operate-on-number-autoloads ov-autoloads
pcache-autoloads pcomplete-extension-autoloads popup-autoloads
popwin-autoloads pos-tip-autoloads projectile-autoloads
pkg-info-autoloads epl-autoloads racket-mode-autoloads
rainbow-delimiters-autoloads rainbow-mode-autoloads s-autoloads
simple-httpd-autoloads smartparens-autoloads dash-autoloads
smartrep-autoloads tern-autoloads tuareg-autoloads caml-autoloads
undo-tree-autoloads visual-regexp-steroids-autoloads
visual-regexp-autoloads finder-inf vkill-autoloads
volatile-highlights-autoloads web-mode-autoloads yasnippet-autoloads
zenburn-theme-autoloads package cl-macs gv cl cl-lib time-date tooltip
ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment lisp-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 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 ns multi-tty emacs)