all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Nikodemus Siivola <nikodemus@random-state.net>
To: Lars Magne Ingebrigtsen <larsi@gnus.org>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
Subject: Re: Common Lisp indentation bug fix/new feature
Date: Sat, 31 Mar 2012 13:21:09 +0300	[thread overview]
Message-ID: <CADow0Cp+WM7mb-vojCwa+GOqzQzrdYVHt9LCVJFJhEeKeG2Hdg@mail.gmail.com> (raw)
In-Reply-To: <m31ut0c9l9.fsf@stories.gnus.org>

On 22 November 2011 20:09, Lars Magne Ingebrigtsen <larsi@gnus.org> wrote:

> I don't know from SMIE, but I was told by my cow-orkers today that SLIME
> has its own version of cl-indent.el that does LOOP indentation
> properly.  (Allegedly the only difference between the version in SLIME
> and Emacs is the LOOP handling.)

Missed this when it came up, but FWIW, plenty more differences have
crept in since then as I realized that cl-indent.el in Emacs was
sitting still and I stopped worried about staying in synch.

Partial list:

* Test suite!

* Support for named indentation styles.

* Better DEFGENERIC and DEFMETHOD indentation.

* Better lambda-list indentation.

* LOOP indentation, as mentioned.

* Aligning keywords in calls.

* Better handling of comments. There is still plenty of work to be
done here, though. Comment indentation remains my biggest irritant,
but at least we now get

        (foo ;; Deal with bar
             (bar)
             ;; Deal with quux
             (quux))

instead of

        (foo ;; Deal with bar
         (bar)
         ;; Deal with quux
         (quux))

* CL feature expression handling. It's not perfect, but a damn sight
better than nothing.

* Better DEFCLASS and DEFINE-CONDITION superclass list indentation.

* Fixed handling of incomplete destructuring indentation specs.

* Don't consider DEFAULT, DEFINER and DEFINITION to be defun-like.

* Indent boa-constructor lambda-lists properly.

* Fix handling of , and ,@ at the start of the indentation.

* Indirect indentation specs. (late bound)

* Fallback method for trailing expressions on prev line: Emacs'
calculate-lisp-indent doesn't indent

        (foo (or x
                 y) t
             z)

right, but would align Z with Y.

* Support for IF*.

Cheers,

 -- nikodemus



  parent reply	other threads:[~2012-03-31 10:21 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-21 22:26 Common Lisp indentation bug fix/new feature Lars Magne Ingebrigtsen
2011-11-22 14:57 ` Stefan Monnier
2011-11-22 15:35   ` Lars Magne Ingebrigtsen
2011-11-22 15:52     ` Lawrence Mitchell
2011-11-22 16:43     ` Stefan Monnier
2011-11-22 18:09       ` Lars Magne Ingebrigtsen
2011-11-22 22:28         ` Tim Cross
2012-03-31 10:21         ` Nikodemus Siivola [this message]
2012-04-03  3:47           ` Lars Magne Ingebrigtsen
2012-04-03 10:13             ` Nikodemus Siivola
2012-04-03 14:53               ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADow0Cp+WM7mb-vojCwa+GOqzQzrdYVHt9LCVJFJhEeKeG2Hdg@mail.gmail.com \
    --to=nikodemus@random-state.net \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.