Subject: 25.0.50; Newsticker and libxml

From: Cédric Chépied <[email-masked]>
Date: Wed, 22 Oct 2014 08:31:54 +0200

When newsticker is using libxml, the list returned by libxml-parse-xml-region
sometimes doesn't start with "rss" or "feed". There is an extra "top" node and
"rss" or "feed" is (in my case) the first child node.

Recipe:
Be sure you are using libxml.
Remove your newsticker directory (rm -r ~/.emacs.d/newsticker)
emacs -Q
Go to scratch buffer
(setq newsticker-url-list '(("Explosm" "http://feeds.feedburner.com/Explosm" nil
nil nil)))
M-x eval-buffer
M-x newsticker-treeview

News is called [untitled] and has no items because of the bug.

In newsticker--sentinel-work, node-list is set with:
(list (libxml-parse-xml-region (point-min) (point-max)))

If you print this list you will see an extra top node. I fixed it with this
ugly patch in newsticker--sentinel-work:

             (topnode (car node-list))
             (image-url nil)
             (icon-url nil))
+        (if (string= "top" (xml-node-name topnode))
+               (setq topnode (car (xml-get-children topnode 'rss))))

        ;; mark all items as obsolete
        (newsticker--cache-replace-age newsticker--cache
                                       name-symbol
                                       'new 'obsolete-new)

In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2014-10-21 on Zorglub
Windowing system distributor `The X.Org Foundation', version 11.0.11601000
System Description:	Arch Linux

Configured using:
 `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=lucid --with-xft 'CFLAGS=-march=x86-64
 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4'
 CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB

Important settings:
  value of $LC_ALL: fr_FR.utf8
  value of $LC_CTYPE: fr_FR.UTF-8
  value of $LANG: fr_FR.UTF-8
  locale-coding-system: utf-8-unix

Major mode: LI

Minor modes in effect:
  global-git-gutter-mode: t
  global-srecode-minor-mode: t
  global-semantic-mru-bookmark-mode: t
  global-semanticdb-minor-mode: t
  global-semantic-idle-scheduler-mode: t
  global-semantic-highlight-func-mode: t
  semantic-mode: t
  yas-minor-mode: t
  global-auto-complete-mode: t
  auto-complete-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-spelling-mode: t
  erc-ring-mode: t
  erc-match-mode: t
  erc-list-mode: t
  erc-pcomplete-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-move-to-prompt-mode: t
  erc-readonly-mode: t
  show-paren-mode: t
  virtual-desktops-mode: t
  display-time-mode: t
  display-battery-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-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
  column-number-mode: t
  line-number-mode: t
  hs-minor-mode: t

Recent input:
SPC q u e SPC c ' e s t SPC p l u s SPC f l u i d e 
SPC q u ' a v e c SPC l ' a u t r e <return> j ' a 
i SPC m i s SPC l e SPC s p i SPC à SPC <kp-1> <kp-0> 
M b / s <return> m a i s SPC j e SPC n e SPC s a i 
s SPC p a s SPC s i SPC ç a SPC v i e n t SPC d e SPC 
l ' é c r a n SPC o u SPC d e SPC l ' o l i m e x SPC 
q u i SPC p o u r r a i t SPC ê t r e SPC m i e u x 
SPC q u e SPC l a SPC r a s p b e r r y <return> C-> 
M-x c h e p - m p <tab> i n i <tab> <return> <f9> c 
M-> M-< <down> m U M-> <up> m C-c <right> a k M-x c 
h e p - m p <tab> p l <tab> <return> z C-< c e SPC 
s o i r SPC j e SPC m ' o c c u p e SPC d e s SPC é 
c r a n s SPC t e x t e SPC a v e c SPC l ' a r d u 
i n o SPC e t SPC l e SPC l i e n SPC i 2 c <C-left> 
<left> <M-backspace> b u s <return> <help-echo> C-> 
M-x r e b u <backspace> <backspace> p o r t - b u g 
<tab> <tab> <return>

Recent messages:
Have endpoint: (OFTC localhost 2121 t chep/OFTC a)
Connecting to localhost:2121... ...done
Logging in as 'chep'...
View mode: type C-h for help, h for commands, q to quit.
Called with: (t411 localhost 2121 t chep/t411 a)
Have endpoint: (t411 localhost 2121 t chep/t411 a)
Connecting to localhost:2121... ...done
Logging in as 'chep'... done [2 times]
Mark set [3 times]
Making completion list...

Load-path shadows:
/usr/share/emacs/site-lisp/flim/hex-util hides /usr/share/emacs/25.0.50/lisp/hex-util
/usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/25.0.50/lisp/md4
/usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/25.0.50/lisp/net/ntlm
/usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/25.0.50/lisp/net/hmac-def
/usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/25.0.50/lisp/net/sasl
/usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/25.0.50/lisp/net/sasl-digest
/usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/25.0.50/lisp/net/sasl-ntlm
/usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/25.0.50/lisp/net/sasl-cram
/usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/25.0.50/lisp/net/hmac-md5
/usr/share/emacs/site-lisp/semi/smime hides /usr/share/emacs/25.0.50/lisp/gnus/smime
/usr/share/emacs/site-lisp/semi/pgg-pgp5 hides /usr/share/emacs/25.0.50/lisp/obsolete/pgg-pgp5
/usr/share/emacs/site-lisp/semi/pgg-gpg hides /usr/share/emacs/25.0.50/lisp/obsolete/pgg-gpg
/usr/share/emacs/site-lisp/semi/pgg hides /usr/share/emacs/25.0.50/lisp/obsolete/pgg
/usr/share/emacs/site-lisp/semi/pgg-pgp hides /usr/share/emacs/25.0.50/lisp/obsolete/pgg-pgp
/usr/share/emacs/site-lisp/semi/pgg-def hides /usr/share/emacs/25.0.50/lisp/obsolete/pgg-def
/usr/share/emacs/site-lisp/semi/pgg-parse hides /usr/share/emacs/25.0.50/lisp/obsolete/pgg-parse

Features:
(shadow emacsbug windmove smiley gnus-art mm-uu mml2015 mm-view mml-smime smime
gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source
utf7 nnoo parse-time gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems
nnheader elmo-maildir modb-standard wl-mime mime-edit pgg-parse pccl pccl-20
pgg-def signature mime-setup mail-mime-setup semi-setup mime-image tabify
org-table mule-util cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew
holidays hol-loaddefs cal-iso org-agenda org-rmail org-mhe org-irc org-info
org-gnus org-docview org-bibtex bibtex org-bbdb org-w3m tramp-cache tramp-sh
epa-file gnutls url-cache org-clock org-caldav icalendar org-id ox-latex
ox-icalendar ox-html ox-ascii ox-publish ox org-element org org-macro
org-footnote org-pcomplete org-list org-faces org-entities noutline outline
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
url-dav url-http url url-proxy url-privacy url-expand url-methods url-history
mailcap url-auth url-cookie url-domsuf url-gw url-handlers url-util flymake
hideshow chep-lyrics chep-stickyfunc chep-tag-popup git-gutter
chep-auto-complete semantic/analyze/complete semantic/bovine/gcc semantic/dep
srecode/mode semantic/senator semantic/decorate pulse srecode/insert
srecode/filters srecode/args ede/speedbar ede/files ede ede/base ede/auto
ede/source eieio-speedbar eieio-custom srecode/find srecode/map srecode/srt-mode
semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn
srecode/template srecode/srt-wy semantic/wisent semantic/wisent/wisent
srecode/ctxt srecode/compile srecode/dictionary srecode/table srecode inversion
semantic/db-global semantic/symref/global semantic/symref semantic/db-find
semantic/db-ref cedet-global semantic/mru-bookmark semantic/db-mode semantic/db
eieio-base semantic/idle semantic/format semantic/tag-ls semantic/find
semantic/ctxt semantic/util-modes semantic/util semantic semantic/tag
semantic/lex semantic/fw mode-local cedet yasnippet rtags-ac rtags dabbrev
bookmark auto-complete-config auto-complete popup smart-tabs-mode magit-blame
magit-key-mode magit view tramp tramp-compat tramp-loaddefs trampver shell
help-mode grep compile epa epg diff-mode autorevert filenotify git-rebase-mode
git-commit-mode server log-edit message rfc822 mml mml-sec mm-decode mm-bodies
mm-encode gmm-utils mailheader pcvs-util add-log newsticker newst-treeview
tree-widget newst-plainview newst-reader newst-ticker newst-backend url-parse
url-vars xml newsticker-notify znc erc-track erc-spelling flyspell ispell
erc-ring erc-match erc-list erc-pcomplete pcomplete comint ansi-color erc-button
erc-fill erc-stamp erc-goodies erc erc-backend erc-compat format-spec thingatpt
netrc appt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs edmacro
kmacro bbdb-wl bbdb-hooks mail-parse rfc2231 bbdb-com warnings mailabbrev
bbdb-autoloads bbdb chep-notification mime-play filename mime-w3m advice w3m
browse-url doc-view jka-compr dired image-mode w3m-hist w3m-fb bookmark-w3m
w3m-ems wid-edit w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util wl-demo
wl-draft eword-encode wl-template sendmail rfc2047 rfc2045 ietf-drums mail-utils
elmo-net elmo-cache elmo-map elmo-dop wl-news derived wl-address wl-thread
wl-action wl-summary ps-print ps-def lpr wl-refile wl-message elmo-mime
mmelmo-buffer mmelmo-imap mime-view mime-conf calist semi-def mmimap mime-parse
mmbuffer mmgeneric wl-highlight elmo-multi wl-folder wl wl-e21 wl-util pp
elmo-flag elmo-localdir wl-vars wl-version elmo elmo-signal elmo-msgdb modb
modb-generic modb-entity mime elmo-util emu invisible inv-23 poem poem-e20
poem-e20_3 eword-decode mel mime-def alist std11 mcharset mcs-20 mcs-e20 pces
pces-e20 pces-20 broken pcustom elmo-date timezone elmo-vars path-util poe
elmo-version pym static apel-ver product luna concurrent-autoloads
smart-tabs-mode-autoloads info finder-inf package epg-config chep-mode-line
php-mode etags ring cc-langs cl cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs speedbar sb-image ezimage dframe
tag-stack paren chep-strike chep-couleur chep-retourne chep-pastebin
google_search ifndef_fichier_h fmanager chep-convert-audio chep-video chep-mpd
ampc easymenu avl-tree network-stream auth-source cl-macs gv eieio byte-opt
bytecomp byte-compile cconv eieio-core cl-loaddefs cl-lib gnus-util mm-util
help-fns mail-prsvr password-cache starttls tls chep-anchor easy-mmode
virtual-desktops ido time-date deeper-blue-theme time battery cus-start cus-load
tooltip eldoc 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
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 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 x-toolkit x multi-tty emacs)

Memory information:
((conses 16 738293 46687)
 (symbols 48 68147 0)
 (miscs 40 2795 2544)
 (strings 32 232431 27566)
 (string-bytes 1 6622705)
 (vectors 16 77198)
 (vector-slots 8 1961628 142107)
 (floats 8 1726 804)
 (intervals 56 5192 767)
 (buffers 976 48)
 (heap 1024 106502 6867))