[[ Mailed copy of news article posted to lists.emacs.rcp ]]
>>>>> "Stefan" == Stefan Monnier <[EMAIL PROTECTED]>
>writes:
>>>>> "Kai" == Kai Gro�johann <[EMAIL PROTECTED]> writes:
Kai> How do I transform a large number into such a cons cell?
Stefan> How about something like:
Stefan> (condition-case err
Stefan> (read buf)
Stefan> (invalid-read-syntax
Stefan> (when (and (equal (cadr err) "Integer constant overflow in reader")
Stefan> (string-match
"^[0-9]+\\([0-9][0-9][0-9][0-9][0-9]\\)\\'"
Stefan> (caddr err)))
Stefan> (let* ((big (read (substring (caddr err) 0 (match-beginning
1))))
Stefan> (small (read (match-string 1 (caddr err))))
Stefan> (twiddle (/ small 65536)))
Stefan> (cons (+ big twiddle)
Stefan> (- small (* twiddle 65536)))))))
Yup, that works. "(read buf)" becomes "(read (current-buffer))" in my
version 1.130 of rcp.el.
--
Pete Forman
Western Geophysical
[EMAIL PROTECTED]