Subject: 25.0.50; reading from fifo breaks display

From: Mark Oteiza <[email-masked]>
Date: Fri, 04 Dec 2015 12:40:38 -0500

I suppose this is two issues, really. I am trying to read from a FIFO,
specifically one written to by mpd, configured in mpd.conf with

audio_output {
  type "fifo"
  name "FIFO"
  path "/tmp/mpd.fifo"
  format "44100:16:2"
}

With mpd running I can see that the FIFO is there and I can read from it
with other tools/mpd clients.

(info "(elisp) Reading from Files") suggests I should be able to read
from a FIFO. From emacs -Q, insert the following into the scratch buffer:

(insert-file-contents "/tmp/mpd.fifo" nil 0 10 nil)

First issue: evaluating this yields

(file-error "not a regular file" "/tmp/mpd.fifo")

Second issue: changing the VISIT argument to t and evaluating:

(insert-file-contents "/tmp/mpd.fifo" t 0 10 nil)

breaks the display engine. "nil)" becomes invisible, the last "r" in the
scratch buffer message becomes fontified as a matching paren, and
hitting C-a at the end of the form takes me to the aforementioned "r".
I have attached an image.

In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw scroll bars)
 of 2015-12-03
Repository revision: eaa1fd6dbff8346eb38485de5ebf0fbfacf374d9
Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --without-gconf --with-modules
 --with-x-toolkit=lucid 'CFLAGS=-march=x86-64 -mtune=generic -O0 -pipe
 -fstack-protector-strong --param=ssp-buffer-size=4 -g
 -fvar-tracking-assignments -g -fvar-tracking-assignments'
 LDFLAGS=-Wl,-O0,--sort-common,--as-needed,-z,relro'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
LUCID X11 MODULES

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

Major mode: Lisp Interaction

Minor modes in effect:
  paredit-mode: t
  rainbow-delimiters-mode: t
  flycheck-mode: t
  company-mode: t
  display-time-mode: t
  save-place-mode: t
  show-paren-mode: t
  savehist-mode: t
  winner-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  mouse-wheel-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 messages:
Loading /home/mvo/.local/share/emacs/custom.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
delete-backward-char: Text is read-only

Load-path shadows:
/home/mvo/.emacs.d/elpa/company-0.8.12/.dir-locals hides /usr/share/emacs/25.0.50/lisp/gnus/.dir-locals
/home/mvo/.emacs.d/elpa/twitch-0.7/twitch hides /home/mvo/.emacs.d/site-lisp/twitch
/home/mvo/.emacs.d/elpa/kv-0.0.19/kv hides /home/mvo/.emacs.d/site-lisp/emacs-kv/kv
/home/mvo/.emacs.d/elpa/kv-0.0.19/kv-tests hides /home/mvo/.emacs.d/site-lisp/emacs-kv/kv-tests
/home/mvo/.emacs.d/elpa/esxml-0.3.1/esxml hides /home/mvo/.emacs.d/site-lisp/esxml/esxml

Features:
(shadow sort ruler-mode gnus-util mail-extr emacsbug message idna dired
format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util help-fns mail-prsvr mail-utils term/xterm xterm
paredit easy-mmode rainbow-delimiters flycheck find-func rx subr-x seq
dash company-files company-oddmuse company-keywords company-etags etags
xref cl-seq project eieio byte-opt bytecomp byte-compile cl-extra
help-mode cconv eieio-core cl-macs 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
finder-inf info package easymenu geiser-install geiser gv time windmove
edmacro kmacro cl-loaddefs pcase cl-lib saveplace time-date paren
savehist winner ring zenburn-theme mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer cl-preloaded 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
dbusbind inotify dynamic-setting system-font-setting font-render-setting
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 161562 101461)
 (symbols 48 24795 25)
 (miscs 40 58 179)
 (strings 32 40408 74230)
 (string-bytes 1 1128413)
 (vectors 16 17014)
 (vector-slots 8 452009 54721)
 (floats 8 269 952)
 (intervals 56 451 59)
 (buffers 976 11)
 (heap 1024 33756 9289))