Subject: Strange error with short drive uuids in config

From: rendaw <[email-masked]>
Date: Sun, 14 Apr 2019 17:59:25 +0900

I have a vfat filesystem:

```
mkfs.vfat -F32 mydiskp1
```

with the uuid "FA34-24CA" gotten via:

```
blkid mydiskp1
```

When I specify this in my config with (uuid "FA34-24CA") the system
fails to build:

```
Backtrace:
In ice-9/eval.scm:
    619:8 19 (_ #(#(#<directory (guile-user) 1db7140>)))
In guix/ui.scm:
  1603:12 18 (run-guix-command _ . _)
In ice-9/boot-9.scm:
    829:9 17 (catch _ _ #<procedure 7facf5a5b498 at guix/ui.scm:615?> ?)
    829:9 16 (catch _ _ #<procedure 7facf5a5b4b0 at guix/ui.scm:733?> ?)
In guix/scripts/system.scm:
   1268:8 15 (_)
In guix/status.scm:
    615:4 14 (call-with-status-report _ _)
In guix/scripts/system.scm:
   1138:6 13 (process-action _ _ _)
In guix/store.scm:
  1659:24 12 (run-with-store _ _ #:guile-for-build _ #:system _ # _)
In guix/scripts/system.scm:
  1151:13 11 (_ _)
   869:18 10 (perform-action init #<<operating-system> kernel: #<pa?> ?)
In gnu/system.scm:
   841:19  9 (operating-system-derivation _ #:container? _)
In gnu/services.scm:
   778:26  8 (loop #<<service> type: #<service-type system 2280fa0> ?>)
In srfi/srfi-1.scm:
   592:29  7 (map1 (#<<service> type: #<service-type profile 2280?> ?))
   592:17  6 (map1 (#<<service> type: #<service-type etc 2280dc0>?> ?))
In gnu/services.scm:
   779:26  5 (loop #<<service> type: #<service-type etc 2280dc0> val?>)
In srfi/srfi-1.scm:
   592:29  4 (map1 (#<<service> type: #<service-type session-envi?> ?))
   592:17  3 (map1 (#<<service> type: #<service-type fstab 2280a0?> ?))
In gnu/services/base.scm:
   332:40  2 (file-systems->fstab (#<<file-system> device: #f mou?> ?))
In srfi/srfi-1.scm:
   592:17  1 (map1 (#<<file-system> device: #f mount-point: "/boo?> ?))
In gnu/services/base.scm:
   307:17  0 (file-system->fstab-entry #<<file-system> device: #f mo?>)

gnu/services/base.scm:307:17: In procedure file-system->fstab-entry:
Throw to key `match-error' with args `("match" "no matching pattern" #f)'.
```

I was able to identify the issue by doing a binary search by removal
through my config and I worked around the issue by using a "UUID="
string instead of (uuid) for that filesystem's device.

I think there are two issues here:
1. The uuid isn't matching for some reason
2. The expected error message (about an invalid uuid) isn't being displayed