Function: viper-array-to-string

viper-array-to-string is a byte-compiled function defined in viper-util.el.gz.

Signature

(viper-array-to-string EVENT-SEQ)

Source Code

;; Defined in /usr/src/emacs/lisp/emulation/viper-util.el.gz
;; Args can be a sequence of events, a string, or a Viper macro.  Will try to
;; convert events to keys and, if all keys are regular printable
;; characters, will return a string.  Otherwise, will return a string
;; representing a vector of converted events.  If the input was a Viper macro,
;; will return a string that represents this macro as a vector.
(defun viper-array-to-string (event-seq)
  (let (temp temp2)
    (cond ((stringp event-seq) event-seq)
	  ((viper-event-vector-p event-seq)
	    (setq temp (mapcar #'viper-event-key event-seq))
	    (cond ((viper-char-symbol-sequence-p temp)
		   (mapconcat #'symbol-name temp ""))
		  ((and (viper-char-array-p
			 (setq temp2 (mapcar #'viper-key-to-character temp))))
		   (mapconcat #'char-to-string temp2 ""))
		  (t (prin1-to-string (vconcat temp)))))
	  ((viper-char-symbol-sequence-p event-seq)
	   (mapconcat #'symbol-name event-seq ""))
	  ((and (vectorp event-seq)
		(viper-char-array-p
		 (setq temp (mapcar #'viper-key-to-character event-seq))))
	   (mapconcat #'char-to-string temp ""))
	  (t (prin1-to-string event-seq)))))