"*Non-nil inhibits the initial startup echo area message.
Setting this variable takes effect
only if you do it with the customization buffer
-or it your `.emacs' file contains a line of this form:
+or if your `.emacs' file contains a line of this form:
(setq inhibit-startup-echo-area-message \"YOUR-USER-NAME\")
If your `.emacs' file is byte-compiled, use the following form instead:
(eval '(setq inhibit-startup-echo-area-message \"YOUR-USER-NAME\"))
"The brand of keyboard you are using.
This variable is used to define
the proper function and keypad keys for use under X. It is used in a
-fashion analogous to the environment value TERM.")
+fashion analogous to the environment variable TERM.")
(defvar window-setup-hook nil
"Normal hook run to initialize window system display.
string)
:group 'auto-save)
+(defvar locale-translation-file-name "/usr/share/locale/locale.alias"
+ "*File name for the system's file of locale-name aliases.")
+
(defvar init-file-debug nil)
(defvar init-file-had-error nil)
(defun normal-top-level-add-subdirs-to-load-path ()
- "Add all subdirectories of current directory to `load-path'."
+ "Add all subdirectories of current directory to `load-path'.
+More precisely, this uses only the subdirectories whose names
+start with letters or digits; it excludes any subdirectory named `RCS'
+or `CVS', and any subdirectory that contains a file named `.nosearch'."
(let (dirs
(pending (list default-directory)))
;; This loop does a breadth-first tree walk on DIR's subtree,
(let ((contents (directory-files (car dirs)))
(default-directory (car dirs)))
(while contents
- (unless (member (car contents)
- '("." ".." "RCS"))
- (when (file-directory-p (car contents))
- (setq pending (nconc pending
- (list (expand-file-name (car contents)))))))
+ (unless (member (car contents) '("." ".." "RCS" "CVS"))
+ (when (and (string-match "\\`[a-zA-Z0-9]" (car contents))
+ (file-directory-p (car contents)))
+ (let ((expanded (expand-file-name (car contents))))
+ (unless (file-exists-p (expand-file-name ".nosearch"
+ expanded))
+ (setq pending (nconc pending (list expanded)))))))
(setq contents (cdr contents)))))
- (normal-top-level-add-to-load-path dirs)))
+ (normal-top-level-add-to-load-path (cdr (nreverse dirs)))))
-;; This function is called from the subdirs.el file.
+;; This function is called from a subdirs.el file.
+;; It assumes that default-directory is the directory
+;; in which the subdirs.el file exists,
+;; and it adds to load-path the subdirs of that directory
+;; as specified in DIRS. Normally the elements of DIRS are relative.
(defun normal-top-level-add-to-load-path (dirs)
(let ((tail load-path)
(thisdir (directory-file-name default-directory)))
(save-excursion
(set-buffer (get-buffer "*Messages*"))
(setq default-directory dir)))
+ ;; For root, preserve owner and group when editing files.
+ (if (equal (user-uid) 0)
+ (setq backup-by-copying-when-mismatch t))
;; Look in each dir in load-path for a subdirs.el file.
;; If we find one, load it, which will add the appropriate subdirs
;; of that dir into load-path,
(defun command-line ()
(setq command-line-default-directory default-directory)
+ ;; Choose a reasonable location for temporary files.
+ (setq temporary-file-directory
+ (file-name-as-directory
+ (cond ((memq system-type '(ms-dos windows-nt))
+ (or (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp"))
+ ((memq system-type '(vax-vms axp-vms))
+ (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "SYS$SCRATCH:"))
+ (t
+ (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "/tmp")))))
+
;; See if we should import version-control from the environment variable.
(let ((vc (getenv "VERSION_CONTROL")))
(cond ((eq vc nil)) ;don't do anything if not set
(and (not (equal string "")) string))
(let ((string (getenv "LANG")))
(and (not (equal string "")) string)))))
+ ;; Translate "swedish" into "sv_SE.ISO-8859-1", and so on,
+ ;; using the translation file that GNU/Linux systems have.
+ (and ctype
+ (not (string-match iso-8859-n-locale-regexp ctype))
+ (file-exists-p locale-translation-file-name)
+ (with-temp-buffer
+ (insert-file-contents locale-translation-file-name)
+ (if (re-search-forward (concat "^" ctype "[ \t]*") nil t)
+ (setq ctype (buffer-substring (point)
+ (progn (end-of-line) (point)))))))
+ ;; Now see if the locale specifies an ISO 8859 character set.
(when (and ctype
(string-match iso-8859-n-locale-regexp ctype))
(let (charset (which (match-string 1 ctype)))
- (if (equal "5" which)
- (setq which "9"))
+ (if (equal "9" which)
+ (setq which "5"))
(setq charset (concat "latin-" which))
- ;; Set up for this character set in multibyte mode.
- (if (string-match "latin-[12345]" charset)
- (set-language-environment charset))
- (standard-display-european t charset))))
+ (when (string-match "latin-[12345]" charset)
+ ;; Set up for this character set.
+ ;; This is now the right way to do it
+ ;; for both unibyte and multibyte modes.
+ (set-language-environment charset)
+ (unless (or noninteractive (eq window-system 'x))
+ ;; Send those codes literally to a non-X terminal.
+ (when default-enable-multibyte-characters
+ ;; If this is nil, we are using single-byte characters,
+ ;; so the terminal coding system is irrelevant.
+ (set-terminal-coding-system
+ (intern (downcase charset)))))
+ (standard-display-european-internal)))))
;;! This has been commented out; I currently find the behavior when
;;! split-window-keep-point is nil disturbing, but if I can get used
(if site-run-file
(load site-run-file t t))
- ;; Register avairable input methods by loading LEIM list file.
+ ;; Register available input methods by loading LEIM list file.
(load "leim-list.el" 'noerror 'nomessage 'nosuffix)
;; Sites should not disable this. Only individuals should disable
(defun command-line-1 (command-line-args-left)
(or noninteractive (input-pending-p) init-file-had-error
(and inhibit-startup-echo-area-message
+ user-init-file
(or (and (get 'inhibit-startup-echo-area-message 'saved-value)
(equal inhibit-startup-echo-area-message
(if (string= init-file-user "")
(if (assq 'display (frame-parameters))
(progn
(insert "\
-The menu bar menus above are sufficient for basic editing with the mouse,
+The menu bar and scroll bar are sufficient for basic editing with the mouse.
Useful Files menu items:
Exit Emacs (or type Control-x followed by Control-c)