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.

+

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.

+

+

===line-end-position===

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

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

Line 28:

Line 28:

</pre>

</pre>

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

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

+

+

===haskell-default-face===

+

+

This one shows up when typing in code (at various spots - most often when typing a qualified function, such as <hask>List.map</hask>.)

+

+

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

Contents

Haskell Interests

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.

line-end-position

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:

(eval-and-compile
;; 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."
(save-excursion
(end-of-line n)
(point)))))

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

haskell-default-face

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

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:Copyrights — BrettGiles 03:14, 2 March 2006 (UTC)