From: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: Incorrect indentation after :name
Date: Mon, 04 Jul 2005 10:48:54 -0400 [thread overview]
Message-ID: <jwvr7ee8w63.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <42C80B48.3080103@student.lu.se> (Lennart Borgman's message of "Sun, 03 Jul 2005 17:59:04 +0200")
>>>>> "Lennart" == Lennart Borgman <lennart.borgman.073@student.lu.se> writes:
> This gets incorrectly indented after :background.
> (put-text-property 0 (length s)
> 'face '(:background "red"
> :foreground "black"
> :height 1.5) s)
I've been using the patch below for several years now quite happily.
If people like it, I'll glad it install it,
Stefan
--- orig/lisp/emacs-lisp/lisp-mode.el
+++ mod/lisp/emacs-lisp/lisp-mode.el
@@ -895,12 +887,18 @@
(let ((normal-indent (current-column)))
(goto-char (1+ (elt state 1)))
(parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t)
- (if (and (elt state 2)
- (not (looking-at "\\sw\\|\\s_")))
- ;; car of form doesn't seem to be a symbol
- (progn
- (if (not (> (save-excursion (forward-line 1) (point))
- calculate-lisp-indent-last-sexp))
+ (let ((function (and (or (not (elt state 2))
+ (looking-at "\\(\\sw\\|\\s_\\)+"))
+ (match-string 0))))
+ (if (or (not function)
+ (and (> (point) (1+ (point-min)))
+ (or (save-excursion (backward-char 2) (looking-at "'("))
+ (keywordp (intern-soft function)))
+ (not (fboundp (intern-soft function)))))
+ ;; car of form doesn't seem to be a function
+ (progn
+ (if (not (> (save-excursion (forward-line 1) (point))
+ calculate-lisp-indent-last-sexp))
(progn (goto-char calculate-lisp-indent-last-sexp)
(beginning-of-line)
(parse-partial-sexp (point)
next prev parent reply other threads:[~2005-07-04 14:48 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-03 15:59 Incorrect indentation after :name Lennart Borgman
2005-07-03 16:39 ` Juanma Barranquero
2005-07-03 16:52 ` Lennart Borgman
2005-07-03 17:16 ` Juanma Barranquero
2005-07-03 22:29 ` Drew Adams
2005-07-03 22:44 ` Juanma Barranquero
2005-07-03 17:10 ` Luc Teirlinck
2005-07-04 14:48 ` Stefan Monnier [this message]
2005-07-04 21:22 ` David Ponce
2005-07-05 0:40 ` Juanma Barranquero
2005-07-05 4:35 ` Richard M. Stallman
2005-07-05 5:21 ` Stefan Monnier
2005-07-05 7:07 ` Lars Brinkhoff
2005-07-05 19:11 ` Richard M. Stallman
2005-07-05 19:44 ` Lars Brinkhoff
2005-07-07 5:36 ` Richard M. Stallman
2005-07-07 8:25 ` Lars Brinkhoff
2005-07-08 4:35 ` Richard M. Stallman
2005-07-05 13:49 ` Drew Adams
2005-07-05 16:09 ` Paul Pogonyshev
2005-07-05 19:11 ` Richard M. Stallman
2005-07-06 0:20 ` Luc Teirlinck
2005-07-06 1:29 ` drkm
2005-07-06 1:43 ` Luc Teirlinck
2005-07-06 17:55 ` Richard M. Stallman
2005-07-06 18:30 ` David Kastrup
2005-07-07 3:09 ` Stefan Monnier
2005-07-07 17:01 ` Drew Adams
2005-07-07 17:49 ` Lawrence Mitchell
2005-07-07 18:35 ` Drew Adams
2005-07-07 21:47 ` Lawrence Mitchell
2005-07-07 22:21 ` Drew Adams
2005-07-07 18:49 ` Juanma Barranquero
2005-07-08 4:36 ` Richard M. Stallman
2005-07-11 9:29 ` Juanma Barranquero
2005-07-11 10:59 ` David Kastrup
2005-07-11 13:00 ` Juanma Barranquero
2005-07-07 21:30 ` Richard M. Stallman
2005-07-07 5:36 ` Richard M. Stallman
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvr7ee8w63.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=emacs-devel@gnu.org \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).