     (`windows `(memq system-type '(ms-dos windows-nt cygwin)))))
 
 (defmacro radian-with-operating-system (os &rest body)
-  "If OS matches the system type, eval and return BODY. Else return nil.
+  "If OS corresponds to the current operating system, eval and return BODY.
+If not, return nil.
+
 Allowable values for OS (not quoted) are `macOS', `osx',
 `windows', `linux', `unix'."
   (declare (indent 1))

         (add-hook hook ',name)))))

(defmacro radian-operating-system-p (os)
  "Return non-nil if OS matches the system type.
Allowable values for OS (not quoted) are `macOS', `osx',
`windows', `linux', `unix'."
  (pcase os


(defvar radian-keymap (make-sparse-keymap)
  "Keymap for Radian commands that should be put under a prefix.
This keymap is bound under \\[radian-keymap].")

(bind-key* "M-P" radian-keymap)

(defmacro radian-bind-key (key-name command &optional predicate)
  "Bind a key in `radian-keymap'.
KEY-NAME, COMMAND, and PREDICATE are as in `bind-key'."
  `(bind-key ,key-name ,command radian-keymap ,predicate))

(defun radian-join-keys (&rest keys)
  "Join key sequences KEYS. Empty strings and nils are discarded.
\(radian--join-keys \"\\[radian-keymap] e\" \"e i\")
  => \"\\[radian-keymap] e e i\"
\(radian--join-keys \"\\[radian-keymap]\" \"\" \"e i\")
  => \"\\[radian-keymap] e i\""
  (string-join (remove "" (mapcar #'string-trim (remove nil keys))) " "))

(radian-defadvice radian--quoted-insert-allow-quit (quoted-insert &rest args)
