Gnus v5.10.2 GNU Emacs 21.3.1 (i386-pc-linux-gnu, X toolkit) of 2003-10-31 on raven, modified by Debian Hi, [Please retain the CC to 220521-forwarded@bugs.debian.org, so that the Debian BTS has a record of your contribution] This was reported by a Debian user. In pgg-gpg-kookup-key (line 113 of pgg-gpg.el), that re-search-forward call places point at the end of "^\\(sec\\|pub\\):" Next, it splits that string at point on ":" separation. The problem is that if the string looks like this: "sec::foo:bar", split string returns '("foo" "bar"), not what the code actually expects it to return, '("" "foo" "bar"). The code wants to extract the third element of that list return from the split which is now unpredictable. This bug was provoked because when I'm signing, it parses a string like the one given, but when I'm verifying, it parses a string like "pub:u:foo:bar" which returns '("u" "foo" "bar") and the third element of that list is indeed what we want. From the documentation of the split-string function, "If there is match for SEPARATORS at the beginning of STRING, we do not include a null substring for that. Likewise, if there is a match at the end of STRING, we don't include a null substring for that. Changing the regular expression to not include the first colon, so "^\\(sec\\|pub\\)" produces the proper result every time. Another option may be to search forward to the point found by the original regular expression and back up one place, so we know every time that the string to be split will begin with a separator. manoj