
Hi Marco, On 2/23/07, Marco Baringer <mb@bese.it> wrote:
"Bill Clementson" <billclem@gmail.com> writes:
--- cl-indent-orig.el 2007-02-16 13:49:06.000000000 -0800 +++ cl-indent-mods.el 2007-02-16 13:51:39.000000000 -0800 @@ -214,15 +214,17 @@ ((null method) (when (null (cdr path)) ;; (package prefix was stripped off above) - (cond ((string-match "\\`def" - function) + (cond ((and (string-match "\\`def" + function) + (not (string-match "\\`default-" + function))) (setq tentative-defun t)) ((string-match
wouldn't (not (string-match "\\[^:]def" function)) be better?
I don't think that works for Zach's specific example. Here is his code (indented with the standard cl-indent): (defclass field () ((name :initarg :name :accessor name) (default-value :initarg :default-value :accessor default-value)) (:default-initargs :name nil :default-value nil)) Using my modification to cl-indent, the indentation becomes: (defclass field () ((name :initarg :name :accessor name) (default-value :initarg :default-value :accessor default-value)) (:default-initargs :name nil :default-value nil)) So, the indentation of both the default-value form and the :default-initargs form is adjusted (which is what Zach was after, I think). I said it was a "yucky patch" because it just fixes the indentation for this particular scenario. Often, indentation of "def..." forms is handled oddly by cl-indent because of the in-built supposition that (unless otherwise defined) anything that begins with "def" is a definition form. A better patch might be to provide a defcustom emacs variable that could be used for any "def..." forms that aren't to be indented as definition forms and to check that variable before indenting code as a definition form. -- Bill Clementson