Mercurial > emacs
changeset 42951:de5c4caf0969
(tty-standard-colors): Reverse the order of colors.
(tty-register-default-colors): New function;
code moved from startup.el's command-line.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Fri, 25 Jan 2002 13:16:23 +0000 |
parents | 65a061ec7803 |
children | c73820c5ecbf |
files | lisp/term/tty-colors.el |
diffstat | 1 files changed, 32 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/term/tty-colors.el Fri Jan 25 13:14:16 2002 +0000 +++ b/lisp/term/tty-colors.el Fri Jan 25 13:16:23 2002 +0000 @@ -741,14 +741,14 @@ "An alist of X color names and associated 8-bit RGB values.") (defvar tty-standard-colors - '(("white" 7 65535 65535 65535) - ("cyan" 6 0 65535 65535) - ("magenta" 5 65535 0 65535) + '(("black" 0 0 0 0) + ("red" 1 65535 0 0) + ("green" 2 0 65535 0) + ("yellow" 3 65535 65535 0) ("blue" 4 0 0 65535) - ("yellow" 3 65535 65535 0) - ("green" 2 0 65535 0) - ("red" 1 65535 0 0) - ("black" 0 0 0 0)) + ("magenta" 5 65535 0 65535) + ("cyan" 6 0 65535 65535) + ("white" 7 65535 65535 65535)) "An alist of 8 standard tty colors, their indices and RGB values.") ;; This is used by term.c @@ -784,17 +784,40 @@ tty-defined-color-alist) (defun tty-modify-color-alist (elt &optional frame) - "Put the association ELT int the alist of terminal colors for FRAME. + "Put the association ELT into the alist of terminal colors for FRAME. ELT should be of the form \(NAME INDEX R G B\) (see `tty-color-alist' for details). +If the association for NAME already exists in the color alist, it is +modified to specify \(INDEX R G B\) as its cdr. Otherwise, ELT is +appended to the end of the color alist. If FRAME is unspecified or nil, it defaults to the selected frame. Value is the modified color alist for FRAME." (let* ((entry (assoc (car elt) (tty-color-alist frame)))) (if entry (setcdr entry (cdr elt)) - (setq tty-defined-color-alist (cons elt tty-defined-color-alist))) + ;; Keep the colors in the order they are registered. + (setq entry + (list (append (list (car elt) + (cadr elt)) + (copy-sequence (cddr elt))))) + (setq tty-defined-color-alist (nconc tty-defined-color-alist entry))) tty-defined-color-alist)) +(defun tty-register-default-colors () + "Register the default set of colors for a character terminal." + (let* ((colors (cond ((eq window-system 'pc) + msdos-color-values) + ((eq system-type 'windows-nt) + w32-tty-standard-colors) + (t tty-standard-colors))) + (color (car colors))) + (while colors + (tty-color-define (car color) (cadr color) (cddr color)) + (setq colors (cdr colors) color (car colors))) + ;; Modifying color mappings means realized faces don't + ;; use the right colors, so clear them. + (clear-face-cache))) + (defun tty-color-canonicalize (color) "Return COLOR in canonical form. A canonicalized color name is all-lower case, with any blanks removed."