unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Ian Eure <ian@retrospec.tv>
To: 67118@debbugs.gnu.org
Cc: "Ian Eure" <ian@retrospec.tv>,
	"Christopher Baines" <guix@cbaines.net>,
	"Josselin Poiret" <dev@jpoiret.xyz>,
	"Ludovic Courtès" <ludo@gnu.org>,
	"Mathieu Othacehe" <othacehe@gnu.org>,
	"Ricardo Wurmus" <rekado@elephly.net>,
	"Simon Tournier" <zimon.toutoune@gmail.com>,
	"Tobias Geerinckx-Rice" <me@tobias.gr>
Subject: [bug#67118] [PATCH] Change "tabulation" to "tabulation character" in linter & manual
Date: Sat, 11 Nov 2023 15:54:32 -0800	[thread overview]
Message-ID: <d025ed90d2d10e3504cca292f55e40ef36c6d4a0.1699746871.git.ian@retrospec.tv> (raw)

While linting my packages for my first contribution to Guix, I found this
linter warning to be unclear.  The linter looks for ASCII horizontal tab
characters, but the message doesn’t make this clear, as it only says
"tabulation."  Tabulation is the aligning of text into tables, and this may be
accomplished without using ASCII 0x09, for example, with spaces.

This patch clarifies the message to specifically indicate the objectionable
character, updates the test, and changes the language in the manual.

Change-Id: I375d1aa0aec7dfab7e8dfaffb8d4ad0e4f330205
---
 doc/guix.texi  |  3 ++-
 guix/lint.scm  | 19 ++++++++++---------
 tests/lint.scm | 19 ++++++++++---------
 3 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 94903fb5e2..6396f129a1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -119,6 +119,7 @@
 Copyright @copyright{} 2023 Zheng Junjie@*
 Copyright @copyright{} 2023 Brian Cully@*
 Copyright @copyright{} 2023 Felix Lechner@*
+Copyright @copyright{} 2023 Ian Eure@*
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -15362,7 +15363,7 @@ Invoking guix lint
 
 @item formatting
 Warn about obvious source code formatting issues: trailing white space,
-use of tabulations, etc.
+use of ASCII tabulation characters, etc.
 
 @item input-labels
 Report old-style input labels that do not match the name of the
diff --git a/guix/lint.scm b/guix/lint.scm
index 861e352b93..f053716abf 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 ;;; Copyright © 2021-2023 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2023 Ian Eure <ian@retrospec.tv>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -348,17 +349,17 @@ (define (check-compiler-for-target package)
       (_ '())))
   (parameterize ((%current-target-system "aarch64-linux-gnu"))
     (apply (lambda* (#:key (target 'not-set)
-		     make-flags #:allow-other-keys)
+                     make-flags #:allow-other-keys)
              (define make-flags/sexp
                (if (gexp? make-flags/sexp)
                    (gexp->approximate-sexp make-flags)
                    make-flags))
-	     ;; Some packages like 'tzdata' are never cross-compiled;
-	     ;; the compilers are only used to build tools for
-	     ;; compiling the rest of the package.
-	     (if (eq? target '#false)
-		 '()
-		 (find-incorrect-compilers make-flags/sexp)))
+             ;; Some packages like 'tzdata' are never cross-compiled;
+             ;; the compilers are only used to build tools for
+             ;; compiling the rest of the package.
+             (if (eq? target '#false)
+                 '()
+                 (find-incorrect-compilers make-flags/sexp)))
            (package-arguments package))))
 
 (define (properly-starts-sentence? s)
@@ -1774,12 +1775,12 @@ (define (check-haskell-stackage package)
 ;;;
 
 (define (report-tabulations package line line-number)
-  "Warn about tabulations found in LINE."
+  "Warn about ASCII tabulation characters found in LINE."
   (match (string-index line #\tab)
     (#f #f)
     (index
      (make-warning package
-                   (G_ "tabulation on line ~a, column ~a")
+                   (G_ "tabulation character (0x09) on line ~a, column ~a")
                    (list line-number index)
                    #:location
                    (location (package-file package)
diff --git a/tests/lint.scm b/tests/lint.scm
index a52a82237b..cec9e3ab21 100644
--- a/tests/lint.scm
+++ b/tests/lint.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 ;;; Copyright © 2021, 2023 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2023 Ian Eure <ian@retrospec.tv>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -359,18 +360,18 @@ (define (warning-contains? str warnings)
   '()
   (check-compiler-for-target
    (dummy-package "x"
-		  (arguments
-		   (list #:make-flags
-			 #~(list (string-append "CC=" (cc-for-target))))))))
+                  (arguments
+                   (list #:make-flags
+                         #~(list (string-append "CC=" (cc-for-target))))))))
 
 (test-equal "compiler-for-target: CC=gcc is acceptable when target=#false"
   '()
   (check-compiler-for-target
    ;; This (dummy) package consists purely of architecture-independent data.
    (dummy-package "tzdata"
-		  (arguments
-		   (list #:target #false
-			 #:make-flags #~(list "CC=gcc"))))))
+                  (arguments
+                   (list #:target #false
+                         #:make-flags #~(list "CC=gcc"))))))
 
 ;; The emacs-build-system sets #:tests? #f by default.
 (test-equal "tests-true: #:tests? #t acceptable for emacs packages"
@@ -1307,16 +1308,16 @@ (define (package-with-phase-changes changes)
 
 (test-assert "formatting: tabulation"
   (string-match-or-error
-   "tabulation on line [0-9]+, column [0-9]+"
+   "tabulation character \\(0x09\\) on line [0-9]+, column [0-9]+"
    (single-lint-warning-message
-    (check-formatting (dummy-package "leave the tab here:	")))))
+    (check-formatting (dummy-package "leave the tab here:       ")))))
 
 (test-assert "formatting: trailing white space"
   (string-match-or-error
    "trailing white space .*"
    ;; Leave the trailing white space on the next line!
    (single-lint-warning-message
-    (check-formatting (dummy-package "x")))))            
+    (check-formatting (dummy-package "x")))))
 
 (test-assert "formatting: long line"
   (string-match-or-error

base-commit: af6105afc67a15a491a0a4fd18a28c9f801a0b94
-- 
2.41.0





             reply	other threads:[~2023-11-11 23:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-11 23:54 Ian Eure [this message]
2024-01-12  9:03 ` [bug#67118] [PATCH] Change "tabulation" to "tabulation character" in linter & manual Simon Tournier
2024-01-13 21:25   ` Ian Eure
2024-01-14  0:48 ` [bug#67118] [PATCH 1/1] Update text to refer to "tabulation character." Ian Eure

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://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d025ed90d2d10e3504cca292f55e40ef36c6d4a0.1699746871.git.ian@retrospec.tv \
    --to=ian@retrospec.tv \
    --cc=67118@debbugs.gnu.org \
    --cc=dev@jpoiret.xyz \
    --cc=guix@cbaines.net \
    --cc=ludo@gnu.org \
    --cc=me@tobias.gr \
    --cc=othacehe@gnu.org \
    --cc=rekado@elephly.net \
    --cc=zimon.toutoune@gmail.com \
    /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/guix.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).