   x_any token;
   x_any temp;
 
-  token = read_atom(infile);
+  token = read_token(infile);
   if (is_symbol(token) || is_builtin(token))
     return x_cons(token, read_tail(infile));
   if (token == x_left) {

    *ptr++ = c;
    while ((c = getc(infile)) != EOF && !isspace(c) && c != '(' && c != ')')
      *ptr++ = c;
    /* Return the unused character to the input. */
    if (c != EOF)
      ungetc(c, infile);
    *ptr = '\0';

{
  x_any token;

  token = read_token(infile);
  if (is_symbol(token) || is_builtin(token))
    return token;
  if (token == x_left)
