[climacs-devel] A couple questions

Troels Henriksen athas at sigkill.dk
Sun Jan 6 08:09:18 UTC 2008


Jacob Oursland <xmm0 at xmm0.com> writes:

> I'd like to say how awesome Climacs is, particularly that it is as
> responsive now as Emacs is.  Thanks for the hard work in that
> accomplishment!!

Thank you, I'm pretty excited by the new performance too. It's not
actually as fast as Emacs yet (not even close, actually), but on
modern hardware it might be hard to tell the difference.

> But, I do have a couple questions:
> 1.  What is the goal of Climacs?  Is it to be an Emacs clone?  Should
> elisp be the scripting language, or will it be an emacs-like tool?

It is a general-purpose text editor modelled as Emacs, designed to be
used as part of a Common Lisp development environment, and whatever
else one might use an editor for. It is not an Emacs clone any more
than it copies the overall concepts, though improving and modifying
some that seem too old-fashioned. There is no point in writing a
scripting language for Climacs, as it is written in Common Lisp - that
language should be fully capable of extending Climacs.

> 2.  I'm not particularly satisfied with the color scheme.  I hack in
> Emacs using a color scheme rather similar to that of Turbo Pascal of
> the late 80s.  Where are the color schemes defined?  Is it in the
> files *-syntax.lisp?  If so, is there currently a plan to make that
> less hard-coded and perhaps schemable?

Inability to set the colour scheme is not a design goal, but
appearance configuration has not yet been implemented, as it has not
been deemed that important. You can set the syntax highlighting
colours for Lisp syntax rather easily, for example like this:

(in-package :drei-lisp-syntax

(let ((macro-drawing-options (make-drawing-options :face (make-face :style (make-text-style nil :bold nil)))))
  (make-syntax-highlighting-rules retro-highlighting
    (error-symbol (:face :ink +red+))
    (string-form (:face :style (make-text-style nil :italic nil)))
    (comment (:face :style (make-text-style nil nil nil)
                    :ink +dimgray+))
    (literal-object-form (:options :function (object-drawer)))
    (complete-token-form (:function #'(lambda (syntax form)
                                        (cond ((symbol-form-is-macrobound-p syntax form)
                                               macro-drawing-options)
                                              (t +default-drawing-options+)))))))

(setf *syntax-highlighting-rules* 'emacs-style-highlighting)

Setting the overall background and foreground colours involve adding
to the initargs of `climacs-pane' in climacs/gui.lisp. For example,
:foreground-color +white+, :background-color +black+, IIRC. You might
also want to look at how the `climacs:climacs-rv' function is
implemented. If you want to create a more general approach to
configuring the visual appearance, you are very welcome.

> My current platform is Mac OS X 10.4.11 using SBCL (near latest cvs)
> with Christophe's CLX and cvs Climacs.  This configuration doesn't
> seem to have working scroll bars, but neither does Emacs (not good
> ones, anyhow). :P

Indeed not, (vertical) scrolling is currently a bit of a hack, and
doesn't go through the CLIM facilities. This is not a design goal, but
getting scrolling properly fast and correct is not trivial, and it has
thus not yet been done.

-- 
\  Troels
/\ Henriksen



More information about the climacs-devel mailing list