GNU bug report logs - #66152
Support indenting box comments in c-ts-mode

Previous Next

Package: emacs;

Reported by: Augustin Chéneau (BTuin) <btuin <at> mailo.com>

Date: Fri, 22 Sep 2023 11:25:01 UTC

Severity: wishlist

Found in version 30.0.50

Full log


Message #8 received at 66152 <at> debbugs.gnu.org (full text, mbox):

From: Augustin Chéneau (BTuin) <btuin <at> mailo.com>
To: 66152 <at> debbugs.gnu.org
Subject: 30.0.50; Missing indent rules in c-ts-mode
Date: Tue, 26 Sep 2023 14:29:07 +0200
[Message part 1 (text/plain, inline)]
I found some more issues.

First, there is no rule for an element in an else clause:


if (true)
  do_something();
else
do_something_else();


"do_something_else" is not indented.

There is also something weird with the bsd indent style.  It indents 
do_something and do_something_else to parent-bol with 0 offset, so the 
result is:

if (true)
do_something();
else
do_something_else();


It is very different from the bsd style from c-mode, which produces this:

if (true)
	do_something();
else
	do_something_else();

By looking at random files from OpenBSD, they do indent their 
expressions inside if and else:

<https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/net/bsd-comp.c?rev=1.17&content-type=text/plain>
(lines 277, 484, and 527)



Also there is a second patch which tries to handle specific types of 
comments.  I don't know how popular it is, but some people use these 
kind of comments:

/*---------.
| %param.  |
`---------*/

Here we want the vertical bar ("|") to be indented at the same column as 
the first "/".

Currently the result is this:

/*---------.
  | %param.  |
  `---------*/

This patch is a just proof of concept.  If this new behavior is indeed 
wanted, I would clean it up and adapt other modes.
[0001-c-ts-mode-Add-indentation-rule-for-else_clause.patch (text/x-patch, attachment)]
[0002-c-ts-mode-handle-specific-comment-formatting.patch (text/x-patch, attachment)]

This bug report was last modified 193 days ago.

Previous Next


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