I'm guessing you're looking at section "2.1. Identifiers", specifically this quote:
"An identifier is any sequence of letters, digits, and “extended identifier characters” provided that it does not have a prefix which is a valid number."
Since "1+" has the prefix "1", which is a valid number, I would agree that R7RS does not require implementations to parse "1+" as an identifier, and if you wrote a program using an un-escaped 1+, you could not be sure it would run on all implementations. However, I think it is *permitted* for implementations to recognize additional tokens as identifiers. R7RS does not say that 1+ is a number, or anything else, and I don't think it requires the reader to raise an exception, so if Guile accepts it as an identifier, that doesn't seem to disqualify Guile as a conforming implementation.