   args = cdr(args);
   if (args != NULL) decrement = integer(eval(first(args), env));
   #if defined(checkoverflow)
-  if (decrement < 1) { if (32767 + decrement < result) error(F("'decf' arithmetic overflow")); }
-  else { if (-32768 + decrement > result) error(F("'decf' arithmetic overflow")); }
+  if (decrement < 1) { if (32767 + decrement < result) error(PSTR("'decf' arithmetic overflow")); }
+  else { if (-32768 + decrement > result) error(PSTR("'decf' arithmetic overflow")); }
   #endif
   result = result - decrement;
   *loc = number(result);

  }
  while (!Serial.available());
  char temp = Serial.read();
  if (temp != '\r') pchar(temp);
  return temp;
}

object *nextitem() {
  int ch = gchar();
  while(isspace(ch)) ch = gchar();

  if (ch == ';') {
    while(ch != '(') ch = gchar();
    ch = '(';
  }
  if (ch == '\r') ch = gchar();
  if (ch == EOF) exit(0);

  if (ch == ')') return (object *)KET;

/* uLisp Version 1.9 - www.ulisp.com
   David Johnson-Davies - www.technoblogy.com - 16th May 2017

   Licensed under the MIT license: https://opensource.org/licenses/MIT
*/
