termp

2025-06-22

Check if we are in a dumb or real terminal. Provide the termp check and a quit function.

Upstream URL

github.com/vindarel/termp

Author

vindarel

License

MIT
README

Are we running inside a real or a dumb terminal window?

Adapt your logic for the terminal or for Slime.

A small utility that I use in progressons and that I might re-use.

(defvar *termp*) ;  Unbound by default.

(defun termp (&key force)
  "Return T if we run on a terminal.
  This must fail on Slime (on Emacs' default shell prompt) and succeed on a Lisp in a terminal window."
  (if (and (not force)
           (boundp '*termp*))
      *termp*
      (setf *termp* (not (equalp "dumb" (uiop:getenv "TERM"))))))

There is also termp:quit &optional code: quit the Lisp image (uiop:quit) only if we are in a non-dumb terminal. Helps to test scripts.


Installation

This library is on Ultralisp.

Licence

WTFPL

Dependencies (0)

    Dependents (1)

    • lftp-wrapper
    • GitHub
    • Quicklisp