Subject: bug#6556: closed (works for me)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 07 Feb 2017 03:44:02 +0000

Your bug report

#6556: html-mode does not align to prev non-empty line when indenting

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
6556: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6556
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: works for me
From: Tom Tromey <[email-masked]>
To: [email-masked]
Date: Mon, 06 Feb 2017 20:43:00 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

I tried this and it works for me, so I'm closing this bug.

Tom

Subject: html-mode does not align to prev non-empty line when indenting
From: Lennart Borgman <[email-masked]>
To: Emacs Bugs <[email-masked]>
Date: Sat, 3 Jul 2010 02:14:23 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

In a buffer like this

   <p>
      row 1
         row 2
     row 3

the "row 3" gets indented like above. I think it instead should be
aligned with row2. (I need this for mumamo.)

The comment in sgml-calculate-indent seems to say that this is the
intention, but the code is maybe unfinished, line 1483:

	    (context
	     ;; If possible, align on the previous non-empty text line.
	     ;; Otherwise, do a more serious parsing to find the
	     ;; tag(s) relative to which we should be indenting.
	     (if (and (not unclosed) (skip-chars-backward " \t")
		      (< (skip-chars-backward " \t\n") 0)
		      (back-to-indentation)
		      (> (point) (cdr lcon)))
		 nil
	       (goto-char here)
	       (nreverse (sgml-get-context (if unclosed nil 'empty)))))

I do not know how it is supposed to work, but I notice that
(back-to-indentation) is not supposed to return anything special so
the argument to if may fail (and this seems to happen). Writing that
part as

                    (progn
		      (back-to-indentation)
		      (> (point) (cdr lcon))))

seems to work as expected.