Subject: bug#45417: 28.0.50; vcard-parse-buffer only parses single card

From: Eric Abrahamsen <[email-masked]>
Date: Fri, 25 Dec 2020 21:44:38 -0800

dalanicolai <[email-masked]> writes:

>  Install vcard via list-packages.
> Insert following lines (vcard file example, from google contacts export)
> in a buffer:
>
> BEGIN:VCARD
> VERSION:3.0
> TEL;TYPE=CELL:+00 000 00 00 00
> CATEGORIES:myContacts
> end:VCARD
> BEGIN:VCARD
> VERSION:3.0
> TEL;TYPE=WORK:000 000 0000
> CATEGORIES:myContacts
> END:VCARD
>
> in the buffer evaluate (M-:): (vcard-parse-buffer)
>
> it will stop after the first card.
>
> SOLUTION: in the function `vcard-parse-buffer`, (line-end-position 2)
> should be replaced by (+ (line-end-position 2) 1)

Whoops! I've been running with a few local patches and didn't realize
I hadn't committed this fix. `vcard-parse-card' was supposed to end with
a final `forward-line', to get past the "END:VCARD" line, and I'll push
version 0.1.1 with this change in a moment.

I'm glad someone's actually using this library! Please feel free to
report further bugs and feature requests, and maybe cc me if you do.

In particular I'm trying to decide how useful it actually is to provide
`vcard-parse-(property|card)-consumer-function' options, and I would be
interested to hear opinions about this. I'm also planning on
re-implementing parsing using syntax tables, which I hope will make it
faster.

Thanks,
Eric