In psgml init file "50psgml-gentoo.el" (setq sgml-catalog-files "/etc/sgml/catalog") should be (setq sgml-catalog-files '("CATALOG" "/etc/sgml/catalog")) PSGML is expect a list for CATALOG entries. ref: http://www.lysator.liu.se/~lenst/about_psgml/psgml.html sgml-catalog-files User Option This is a list of catalog entry files. The files are in the format defined in the SGML Open Draft Technical Resolution on Entity Management. The Emacs variable is initialized from the environment variable SGML_CATALOG_FILES or if this variable is undefined the default is ("CATALOG" "/usr/local/lib/sgml/CATALOG") Reproducible: Always Steps to Reproduce: 1.start SGML/XML mode 2.When it try to parsing DTD 3. Actual Results: listp, wrong argument
could you possibly provide a patch against the relevant source ? would makes things a bit easier. thanks.
This is my working 50psgml-gentoo.el -------------------------------------- ;;; psgml site-lisp configuration (autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t) (autoload 'xml-mode "psgml" "Major mode to edit XML files." t) (setq sgml-catalog-files '("CATALOG" "/etc/sgml/catalog"))
I also had exactly the same problem on my machines. The error I got was: Wrong argument type: listp, "/etc/sgml/catalog" I solved the problem by deleting the (setq sgml-catalog-files "/etc/sgml/catalog") line altogether so that emacs uses the SGML_CATALOG_FILES that is already set on my system. It then works fine. However, SGML_CATALOG_TOOLS is set by the sgmltools package so if it is not installed my fix would not work.
Created attachment 19596 [details, diff] patch to files/50psgml-gentoo.el This patch should close this bug.
Matt, can we get some app-emacs input here ? is this patch fine ?
Yes, it is fine and will solve the problem. '("CATALOG" "/etc/sgml/catalog")makes a list of filenames while "/etc/sgml/catalog" alone doesn't.
Thanks usata :), Fixed in portage now.