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
