70
|
1 (defun startup-splash-frame-body ()
|
|
2 `("\n" ,(emacs-version) "\n"
|
|
3 (face bold-italic "\
|
|
4 Copyright (C) 1985-1996 Free Software Foundation, Inc.
|
|
5 Copyright (C) 1990-1994 Lucid, Inc.
|
|
6 Copyright (C) 1993-1996 Sun Microsystems, Inc. All Rights Reserved.
|
|
7 Copyright (C) 1994-1996 Board of Trustees, University of Illinois
|
|
8 Copyright (C) 1995-1996 Ben Wing\n\n")
|
|
9
|
|
10 ,@(if (featurep 'sparcworks)
|
|
11 `( "\
|
|
12 Sun provides support for the WorkShop/XEmacs integration package only.
|
|
13 All other XEmacs packages are provided to you \"AS IS\".
|
|
14 For full details, type " (key describe-no-warranty)
|
|
15 " to refer to the GPL Version 2, dated June 1991.\n\n"
|
|
16 ,@(let ((lang (or (getenv "LC_ALL") (getenv "LC_MESSAGES") (getenv "LANG"))))
|
|
17 (if (and
|
|
18 (not (featurep 'mule)) ; Already got mule?
|
|
19 (not (eq 'tty (console-type))) ; No Mule support on tty's yet
|
|
20 lang ; Non-English locale?
|
|
21 (not (string-equal lang "C"))
|
|
22 (not (string-match "^en" lang))
|
|
23 (locate-file "xemacs-mule" exec-path)) ; Comes with Sun WorkShop
|
|
24 '( "\
|
|
25 This version of XEmacs has been built with support for Latin-1 languages only.
|
|
26 To handle other languages you need to run a Multi-lingual (`Mule') version of
|
|
27 XEmacs, by either running the command `xemacs-mule', or by using the X resource
|
|
28 `ESERVE*defaultXEmacsPath: xemacs-mule' when starting XEmacs from Sun WorkShop.\n\n"))))
|
|
29
|
|
30 '("XEmacs comes with ABSOLUTELY NO WARRANTY; type "
|
|
31 (key describe-no-warranty) " for full details.\n"))
|
|
32
|
|
33 "You may give out copies of XEmacs; type "
|
|
34 (key describe-copying) " to see the conditions.\n"
|
|
35 "Type " (key describe-distribution)
|
|
36 " for information on getting the latest version.\n\n"
|
|
37
|
|
38 "Type " (key help-command) " or use the " (face bold "Help") " menu to get help.\n"
|
|
39 "Type " (key advertised-undo) " to undo changes (`C-' means use the Control key).\n"
|
|
40 "To get out of XEmacs, type " (key save-buffers-kill-emacs) ".\n"
|
|
41 "Type " (key help-with-tutorial) " for a tutorial on using XEmacs.\n"
|
|
42 "Type " (key info) " to enter Info, "
|
|
43 "which you can use to read online documentation.\n\n"
|
|
44 (face (bold red) ( "\
|
|
45 For tips and answers to frequently asked questions, see the XEmacs FAQ.
|
|
46 \(It's on the Help menu, or type " (key xemacs-local-faq) " [a capital F!].\)"))))
|
|
47
|
|
48
|
|
49 (defun command-line-do-help (arg)
|
|
50 "Print the $(BF|K\(B XEmacs usage message and exit."
|
|
51 (let ((standard-output 'external-debugging-output))
|
|
52 (princ (concat "\n" (emacs-version) "\n\n"))
|
|
53 (princ
|
|
54 (if (featurep 'x)
|
|
55 (concat "XEmacs accepts all standard X Toolkit command line options.\n"
|
|
56 "In addition, the")
|
|
57 "The"))
|
|
58 (princ " following options are accepted:
|
|
59
|
|
60 -t <device> Use TTY <device> instead of the terminal for input
|
|
61 and output. This implies the -nw option.
|
|
62 -nw Inhibit the use of any window-system-specific
|
|
63 display code: use the current tty.
|
|
64 -batch Execute noninteractively (messages go to stderr).
|
|
65 -debug-init Enter the debugger if an error in the init file occurs.
|
|
66 -unmapped Do not map the initial frame.
|
|
67 -no-site-file Do not load the site-specific init file (site-start.el).
|
|
68 -no-init-file Do not load the user-specific init file (~/.emacs).
|
|
69 -q Same as -no-init-file.
|
|
70 -user <user> Load user's init file instead of your own.
|
|
71 -u <user> Same as -user.\n")
|
|
72 (let ((l command-switch-alist)
|
|
73 (insert (lambda (&rest x)
|
|
74 (princ " ")
|
|
75 (let ((len 2))
|
|
76 (while x
|
|
77 (princ (car x))
|
|
78 (incf len (length (car x)))
|
|
79 (setq x (cdr x)))
|
|
80 (when (>= len 24)
|
|
81 (terpri) (setq len 0))
|
|
82 (while (< len 24)
|
|
83 (princ " ")
|
|
84 (incf len))))))
|
|
85 (while l
|
|
86 (let ((name (car (car l)))
|
|
87 (fn (cdr (car l)))
|
|
88 doc arg cons)
|
|
89 (cond
|
|
90 ((and (symbolp fn) (get fn 'undocumented)) nil)
|
|
91 (t
|
|
92 (setq doc (documentation fn))
|
|
93 (if (member doc '(nil "")) (setq doc "(undocumented)"))
|
|
94 (cond ((string-match "\n\\(<.*>\\)\n?\\'" doc)
|
|
95 ;; Doc of the form "The frobber switch\n<arg1> <arg2>"
|
|
96 (setq arg (substring doc (match-beginning 1) (match-end 1))
|
|
97 doc (substring doc 0 (match-beginning 0))))
|
|
98 ((string-match "\n+\\'" doc)
|
|
99 (setq doc (substring doc 0 (match-beginning 0)))))
|
|
100 (if (and (setq cons (rassq fn command-switch-alist))
|
|
101 (not (eq cons (car l))))
|
|
102 (setq doc (format "Same as %s." (car cons))))
|
|
103 (if arg
|
|
104 (funcall insert name " " arg)
|
|
105 (funcall insert name))
|
|
106 (princ doc)
|
|
107 (terpri))))
|
|
108 (setq l (cdr l))))
|
|
109 (princ "\
|
|
110 +N <file> Start displaying <file> at line N.
|
|
111
|
|
112 Anything else is considered a file name, and is placed into a buffer for
|
|
113 editing.
|
|
114
|
|
115 XEmacs has an online tutorial and manuals. Type ^Ht (Control-h t) after
|
|
116 starting XEmacs to run the tutorial. Type ^Hi to enter the manual browser.
|
|
117 Type ^H^H^H (Control-h Control-h Control-h) to get more help options.\n")
|
|
118
|
|
119 (kill-emacs 0)))
|