From HaskellWiki
Revision as of 18:05, 3 September 2006 by BrettGiles (talk | contribs) (Haskell mode for XEmacs: Add fix for haskell-default-face)
Jump to: navigation, search

Brett Giles

Grad Student in Formal Methods at the University of Calgary.

Haskell Interests

Compilers: Currently make lots of use of Alex and Happy.

Currently working on a compiler and simulator for a quantum programming language, using Gtk2Hs as the visualization tool.

Haskell mode for XEmacs

I use Haskell mode for emacs on XEmacs. So far, on all the linux systems that I have tried it on (admittedly, only Ubuntu and Debian), there is a system function missing that interferes with automatic indenting. Secondly, there seems to be an issue with setting the haskell default face to nil.


To fix this, find where the haskell mode package is installed on your system. (Usually /usr/share/emacs/site-lisp/haskell-mode). Edit the file haskell-indent.el and add the lines:


  ;; If `line-end-position' isn't available provide one.
  (unless (fboundp 'line-end-position)
    (defun line-end-position (&optional n)
      "Return the `point' of the end of the current line."
        (end-of-line n)

right after the comments at the top. That should fix the issue.


This one shows up when typing in code (at various spots - most often when typing a qualified function, such as

To fix this one, edit the file haskell-font-lock.el. Look for the line that says:

(defvar haskell-default-face nil)

and change this to

(defvar haskell-default-face 'default)

In my version, this is line 168.

Then, look for the line that says:

 (,qvarid 0 haskell-default-face)

and change it to

 (,qvarid 0 (symbol-value 'haskell-default-face))

For me, this is line 326 of the file. YMMV - hope this helps.

License of contributions

I hereby license all my contributions to this wiki, and the old hawiki, under the simple permissive license on HaskellWiki:CopyrightsBrettGiles 03:14, 2 March 2006 (UTC)