# HG changeset patch # User Richard M. Stallman # Date 761623553 0 # Node ID dc6d45202fb9534afec60b4726fadcd91a2a0a97 # Parent bf1c9fd5669b11f2f931a007ae1ded580be90dde (calendar-string-to-mayan-long-count): Don't assume that periods must end numbers. Look for digit runs explicitly. diff -r bf1c9fd5669b -r dc6d45202fb9 lisp/calendar/cal-mayan.el --- a/lisp/calendar/cal-mayan.el Sat Feb 19 00:01:46 1994 +0000 +++ b/lisp/calendar/cal-mayan.el Sat Feb 19 02:05:53 1994 +0000 @@ -102,11 +102,12 @@ (condition-case condition (progn (while (< cc c) - (let ((datum (read-from-string str cc))) - (if (not (integerp (car datum))) - (signal 'invalid-read-syntax (car datum)) - (setq rlc (cons (car datum) rlc)) - (setq cc (cdr datum))))) + (let* ((start (string-match "[0-9]+" str cc)) + (end (match-end 0)) + datum) + (setq datum (read (substring str start end))) + (setq rlc (cons datum rlc)) + (setq cc end))) (if (not (= (length rlc) 5)) (signal 'invalid-read-syntax nil))) (invalid-read-syntax nil)) (reverse rlc)))