Subject: pkg/31476: math/yacas font-latex.el overrides print/auctex font-latex.el
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <jbernard@mines.edu>
List: pkgsrc-bugs
Date: 10/04/2005 23:13:00
>Number:         31476
>Category:       pkg
>Synopsis:       math/yacas font-latex.el overrides print/auctex font-latex.el
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 04 23:13:00 +0000 2005
>Originator:     Jim Bernard
>Release:        NetBSD 3.99.9
>Organization:
>Environment:
System: NetBSD 3.99.9: Sat Sep 24 20:37:33 MDT 2005 i386
Architecture: i386
Machine: i386
>Description:
	Both print/auctex and math/yacas install a file called font-latex.el,
	but the versions are different, and the yacas version is incompatible
	with proper functioning of emacs font-lock mode with auctex.  But the
	yacas version is installed in ${PREFIX}/share/emacs/site-lisp, so it
	is loaded by auctex in preference to its own version, installed in
	${PREFIX}/share/emacs/site-lisp/auctex.

	Here's what happens when you load auctex [(require 'tex-site)] in
	this case:

	  * ${PREFIX}/share/emacs/site-lisp/tex-site.el appends

>How-To-Repeat:
	Install auctex-11.55 and yacas-1.0.57.
	Put
	  (require 'tex-site)
	into ~/.emacs
	Start emacs (emacs-21.4anb1) on a tex (latex) file.
	Note the error message
	  File local-variables error: (void-variable font-lock-face-attributes)
	in the minibuffer and that font-lock mode doesn't work.

	The important action of tex-site.el is that it appends
	${PREFIX}/share/emacs/site-lisp/auctex to the load-path:

	  (defvar TeX-lisp-directory "/usr/pkg/share/emacs/site-lisp/auctex"
	    ...)
	  ...
	  (add-to-list 'load-path TeX-lisp-directory)

	When a latex file is visited, emacs loads .../site-lisp/auctex/tex.el(c),
	which sets up font locking via:

	  (autoload 'font-latex-setup "font-latex" ...)

	Since the site-lisp/auctex directory is appended to the load-path,
	font-latex.el is loaded from site-lisp (the yacas version), rather
	than from site-lisp/auctex.

>Fix:
	Changing the path to font-latex in tex.el to "auctex/font-latex"
	works, though I won't claim it's the best solution.

--- tex.el-dist	2005-10-01 00:27:15.000000000 -0600
+++ tex.el	2005-10-04 16:39:16.000000000 -0600
@@ -2067,11 +2067,11 @@
     (eval form)))
 
 
 ;;; Font Locking
 
-(autoload 'font-latex-setup "font-latex"
+(autoload 'font-latex-setup "auctex/font-latex"
   "Font locking optimized for LaTeX.
 Should work with all Emacsen." t)
 (autoload 'tex-font-setup "tex-font"
   "Copy of Emacs 21 standard tex-mode font lock support.
 This only works with Emacs 21." t)