GNU bug report logs - #27552
25.2.50; Indentation problem in rnc-mode

Previous Next

Package: emacs;

Reported by: Ivan Andrus <darthandrus <at> gmail.com>

Date: Sat, 1 Jul 2017 20:35:01 UTC

Severity: minor

Tags: moreinfo

Found in version 25.2.50

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Ivan Andrus <darthandrus <at> gmail.com>
Cc: 27552 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: bug#27552: 25.2.50; Indentation problem in rnc-mode
Date: Tue, 17 May 2022 21:25:04 +0200
Ivan Andrus <darthandrus <at> gmail.com> writes:

> The RNC snippet below (from
> http://cs.brown.edu/courses/cs196-9/slidestore/relaxng.html) shows an
> indentation problem when using multiple opening namespace/datatypes
> clauses.
>
> -Ivan
>
> default namespace rng = "http://relaxng.org/ns/structure/1.0"
>                             namespace local = ""
>                                                   datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"
>
> start = pattern
>
> pattern =
>     element element { (nameQName | nameClass), (common & pattern+) }
>     | element attribute { (nameQName | nameClass), (common & pattern?) }
>     | element group|interleave|choice|optional


(defun rnc-smie-rules (kind token)
  (pcase (cons kind token)
    (`(:list-intro . "element") t)
    (`(:elem . empty-line-token) " ; ")
    (`(:before . ,(or "include" "default" "namespace" "datatypes")) 0)
[...]
    (`(:after . ,(or "=" "|=" "&=")) smie-indent-basic)

I guess this "=" rule is for stuff like the "pattern =" etc.  But it
leads to things like this being indented more for each line:

default namesace rng = "http://relaxng.org/ns/structure/1.0"
namespace local = ""
datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"

I betcha this is easy to express in smie, but I have no idea how, so
I've added Stefan to the CCs.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 3 years and 20 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.