User:BrettGiles

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 Jump to search

Brett Giles

Grad Student in Formal Methods at the University of Calgary.

http://pages.cpsc.ucalgary.ca/~gilesb


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.

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