Mercurial > emacs
diff lisp/startup.el @ 90228:fa0da9b57058
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-82
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 542-553)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 116-121)
- Merge from emacs--cvs-trunk--0
- Update from CVS
author | Miles Bader <miles@gnu.org> |
---|---|
date | Mon, 19 Sep 2005 10:20:33 +0000 |
parents | 2d92f5c9d6ae 4d1085b02d64 |
children | 5e2d3828e89f |
line wrap: on
line diff
--- a/lisp/startup.el Sun Sep 11 22:21:01 2005 +0000 +++ b/lisp/startup.el Mon Sep 19 10:20:33 2005 +0000 @@ -976,20 +976,28 @@ (unless (or noninteractive window-system (null term-file-prefix)) - (let ((term (getenv "TERM")) + (let* ((TERM (getenv "TERM")) + (term TERM) hyphend) (while (and term (not (load (concat term-file-prefix term) t t))) ;; Strip off last hyphen and what follows, then try again (setq term - (if (setq hyphend (string-match "[-_][^-_]+$" term)) + (if (setq hyphend (string-match "[-_][^-_]+\\'" term)) (substring term 0 hyphend) nil))) - (when term - ;; The terminal file has been loaded, now call the terminal - ;; specific initialization function. - (let ((term-init-func (intern (concat "terminal-init-" term)))) - (when (fboundp term-init-func) + (setq term TERM) + ;; The terminal file has been loaded, now call the terminal specific + ;; initialization function. + (while term + (let ((term-init-func (intern-soft (concat "terminal-init-" term)))) + (if (not (fboundp term-init-func)) + ;; Strip off last hyphen and what follows, then try again + (setq term + (if (setq hyphend (string-match "[-_][^-_]+\\'" term)) + (substring term 0 hyphend) + nil)) + (setq term nil) (funcall term-init-func)))))) ;; Update the out-of-memory error message based on user's key bindings @@ -1472,7 +1480,7 @@ (defun display-startup-echo-area-message () (let ((resize-mini-windows t)) - (message (startup-echo-area-message)))) + (message "%s" (startup-echo-area-message)))) (defun display-splash-screen ()