Mercurial > emacs
changeset 66490:7179660b21c9
(command-line): Call before-init-hook earlier.
Warn about some bad characters in -u user name.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 28 Oct 2005 15:43:15 +0000 |
parents | f4e7a12a4992 |
children | 30626d7732c1 |
files | lisp/startup.el |
diffstat | 1 files changed, 14 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/startup.el Fri Oct 28 09:43:01 2005 +0000 +++ b/lisp/startup.el Fri Oct 28 15:43:15 2005 +0000 @@ -731,6 +731,8 @@ (and command-line-args (setcdr command-line-args args))) + (run-hooks 'before-init-hook) + ;; Under X Window, this creates the X frame and deletes the terminal frame. (when (fboundp 'frame-initialize) (frame-initialize)) @@ -788,8 +790,6 @@ (old-font-list-limit font-list-limit) (old-face-ignored-fonts face-ignored-fonts)) - (run-hooks 'before-init-hook) - ;; Run the site-start library if it exists. The point of this file is ;; that it is run before .emacs. There is no point in doing this after ;; .emacs; that is useless. @@ -801,12 +801,18 @@ (setq inhibit-startup-message nil) ;; Warn for invalid user name. - (and init-file-user - (not (file-directory-p (expand-file-name (concat "~" init-file-user)))) - (display-warning 'initialization - (format "User %s has no home directory" - init-file-user) - :error)) + (when init-file-user + (if (string-match "[~/:\n]" init-file-user) + (display-warning 'initialization + (format "Invalid user name %s" + init-file-user) + :error) + (if (file-directory-p (expand-file-name (concat "~" init-file-user))) + nil + (display-warning 'initialization + (format "User %s has no home directory" + init-file-user) + :error)))) ;; Load that user's init file, or the default one, or none. (let (debug-on-error-from-init-file