]> git.eshelyaron.com Git - emacs.git/commitdiff
(command-line): Rename `inhibit-startup-message' to
authorJuri Linkov <juri@jurta.org>
Sat, 22 Sep 2007 14:02:38 +0000 (14:02 +0000)
committerJuri Linkov <juri@jurta.org>
Sat, 22 Sep 2007 14:02:38 +0000 (14:02 +0000)
`inhibit-startup-screen'.
(fancy-about-text): Use shorter label for "Ordering Manuals".
(fancy-startup-tail): Add optional arg `concise'.  When `concise'
is nil, display a line with "To start..." and 3 links to useful
tasks.  Display the "Dismiss" button and "Don't show this message
again" only when concise is non-nil.
(fancy-startup-screen): Call `fancy-startup-tail' with optional
arg `concise'.  If CONCISE is non-nil, display a concise version
of the splash screen in another window.  Otherwise, switch to the
startup buffer in the same window.
(startup-echo-area-message): Change displayed binding from
C-h C-p (describe-project) to C-h C-a (about-emacs), and change
text "about the GNU system and GNU/Linux" to "about GNU Emacs and
the GNU system".
(display-startup-screen): Fix buffer name from "*About GNU Emacs*"
to "*GNU Emacs*".
(display-about-screen): Don't check the existence of the buffer
"*About GNU Emacs*".
(display-splash-screen): Make alias to `display-startup-screen'.
(command-line-1): Rename `inhibit-startup-message' to
`inhibit-startup-screen'.  Inhibit startup screen when Emacs is
started with command line options "-f", "-funcall", "-e", "-eval",
"-execute", "-insert", "-find-file", "-file", "-visit".
Inhibit startup screen when Emacs is started with a file name only
on tty (i.e. don't inhibit it when started with a file name like
"emacs FILE..." on a window system).
(command-line-1): Simplify logic of displaying the startup screen:
if file-count > 0, then display the concise version in another
window, otherwise display full version in the same window.

lisp/ChangeLog
lisp/startup.el

index ab111ceef84d5786664e4c9860ad5fcfc99d7aa3..eb8bbc94b5c551284e869367d589d6f32602d72b 100644 (file)
@@ -1,3 +1,39 @@
+2007-09-22  Juri Linkov  <juri@jurta.org>
+
+       * startup.el (command-line): Rename `inhibit-startup-message' to
+       `inhibit-startup-screen'.
+       (fancy-about-text): Use shorter label for "Ordering Manuals".
+       (fancy-startup-tail): Add optional arg `concise'.  When `concise'
+       is nil, display a line with "To start..." and 3 links to useful
+       tasks.  Display the "Dismiss" button and "Don't show this message
+       again" only when concise is non-nil.
+       (fancy-startup-screen): Call `fancy-startup-tail' with optional
+       arg `concise'.  If CONCISE is non-nil, display a concise version
+       of the splash screen in another window.  Otherwise, switch to the
+       startup buffer in the same window.
+       (startup-echo-area-message): Change displayed binding from
+       C-h C-p (describe-project) to C-h C-a (about-emacs), and change
+       text "about the GNU system and GNU/Linux" to "about GNU Emacs and
+       the GNU system".
+       (display-startup-screen): Fix buffer name from "*About GNU Emacs*"
+       to "*GNU Emacs*".
+       (display-about-screen): Don't check the existence of the buffer
+       "*About GNU Emacs*".
+       (display-splash-screen): Make alias to `display-startup-screen'.
+       (command-line-1): Rename `inhibit-startup-message' to
+       `inhibit-startup-screen'.  Inhibit startup screen when Emacs is
+       started with command line options "-f", "-funcall", "-e", "-eval",
+       "-execute", "-insert", "-find-file", "-file", "-visit".
+       Inhibit startup screen when Emacs is started with a file name only
+       on tty (i.e. don't inhibit it when started with a file name like
+       "emacs FILE..." on a window system).
+       (command-line-1): Simplify logic of displaying the startup screen:
+       if file-count > 0, then display the concise version in another
+       window, otherwise display full version in the same window.
+
+       * help.el (help-map): Bind C-h C-a to about-emacs.
+       (help-for-help-internal): Add C-a description to C-h help text.
+
 2007-09-22  Dan Nicolaescu  <dann@ics.uci.edu>
 
        * emacs-lisp/checkdoc.el (checkdoc-force-docstrings-flag)
index af1d9c73152b0f001f2b33f021120e137b9847a5..e575a0aeb115614155376947ab9f37f9f5ca0726 100644 (file)
@@ -872,8 +872,8 @@ opening the first frame (e.g. open a connection to an X server).")
        (load site-run-file t t))
 
     ;; Sites should not disable this.  Only individuals should disable
-    ;; the startup message.
-    (setq inhibit-startup-message nil)
+    ;; the startup screen.
+    (setq inhibit-startup-screen nil)
 
     ;; Warn for invalid user name.
     (when init-file-user
@@ -967,7 +967,7 @@ opening the first frame (e.g. open a connection to an X server).")
                            (setq user-init-file source))))
 
                      (unless inhibit-default-init
-                        (let ((inhibit-startup-message nil))
+                        (let ((inhibit-startup-screen nil))
                           ;; Users are supposed to be told their rights.
                           ;; (Plus how to get help and how to undo.)
                           ;; Don't you dare turn this off for anyone
@@ -1251,8 +1251,8 @@ Each element in the list should be a list of strings or pairs
      "\tConditions for redistributing and changing Emacs\n"
      :link ("Getting New Versions" (lambda (button) (describe-distribution)))
      "\tHow to obtain the latest version of Emacs\n"
-     :link ("More Manuals / Ordering Manuals" (lambda (button) (view-order-manuals)))
-     "  Buying printed manuals from the FSF\n"
+     :link ("Ordering Manuals" (lambda (button) (view-order-manuals)))
+     "\tBuying printed manuals from the FSF\n"
      "\n"
      :link ("Emacs Tutorial" (lambda (button) (help-with-tutorial)))
      "\tLearn basic Emacs keystroke commands"
@@ -1376,10 +1376,23 @@ specification."
                     'follow-link t)
        (insert "\n\n")))))
 
-(defun fancy-startup-tail ()
+(defun fancy-startup-tail (&optional concise)
   "Insert the tail part of the splash screen into the current buffer."
   (let ((fg (if (eq (frame-parameter nil 'background-mode) 'dark)
                "cyan" "darkblue")))
+    (unless concise
+      (fancy-splash-insert
+       :face 'variable-pitch
+       "\nTo start...     "
+       :link '("Open a File"
+              (lambda (button) (call-interactively 'find-file)))
+       "     "
+       :link '("Open Home Directory"
+              (lambda (button) (dired "~")))
+       "     "
+       :link '("Customize Startup"
+              (lambda (button) (customize-group 'initialization)))
+       "\n"))
     (fancy-splash-insert :face `(variable-pitch :foreground ,fg)
                         "\nThis is "
                         (emacs-version)
@@ -1409,72 +1422,76 @@ specification."
                              "\nto recover"
                              " the files you were editing."))
 
-    (fancy-splash-insert
-     :face 'variable-pitch "\n\n"
-     :link '("Dismiss" (lambda (button)
-                        (when startup-screen-inhibit-startup-screen
-                          (customize-set-variable 'inhibit-splash-screen t)
-                          (customize-mark-to-save 'inhibit-splash-screen)
-                          (custom-save-all))
-                        (let ((w (get-buffer-window "*GNU Emacs*")))
-                          (and w (not (one-window-p)) (delete-window w)))
-                        (kill-buffer "*GNU Emacs*")))
-     "  ")
-    (when (or user-init-file custom-file)
-      (let ((checked (create-image "\300\300\141\143\067\076\034\030"
-                                  'xbm t :width 8 :height 8 :background "grey75"
-                                  :foreground "black" :relief -2 :ascent 'center))
-           (unchecked (create-image (make-string 8 0)
+    (when concise
+      (fancy-splash-insert
+       :face 'variable-pitch "\n\n"
+       :link '("Dismiss" (lambda (button)
+                          (when startup-screen-inhibit-startup-screen
+                            (customize-set-variable 'inhibit-startup-screen t)
+                            (customize-mark-to-save 'inhibit-startup-screen)
+                            (custom-save-all))
+                          (let ((w (get-buffer-window "*GNU Emacs*")))
+                            (and w (not (one-window-p)) (delete-window w)))
+                          (kill-buffer "*GNU Emacs*")))
+       "  ")
+      (when (or user-init-file custom-file)
+       (let ((checked (create-image "\300\300\141\143\067\076\034\030"
                                     'xbm t :width 8 :height 8 :background "grey75"
-                                    :foreground "black" :relief -2 :ascent 'center)))
-       (insert-button
-        " " :on-glyph checked :off-glyph unchecked 'checked nil
-        'display unchecked 'follow-link t
-        'action (lambda (button)
-                  (if (overlay-get button 'checked)
-                      (progn (overlay-put button 'checked nil)
-                             (overlay-put button 'display (overlay-get button :off-glyph))
-                             (setq startup-screen-inhibit-startup-screen nil))
-                    (overlay-put button 'checked t)
-                    (overlay-put button 'display (overlay-get button :on-glyph))
-                    (setq startup-screen-inhibit-startup-screen t)))))
-      (fancy-splash-insert :face '(variable-pitch :height 0.9)
-                          " Don't show this message again."))))
+                                    :foreground "black" :relief -2 :ascent 'center))
+             (unchecked (create-image (make-string 8 0)
+                                      'xbm t :width 8 :height 8 :background "grey75"
+                                      :foreground "black" :relief -2 :ascent 'center)))
+         (insert-button
+          " " :on-glyph checked :off-glyph unchecked 'checked nil
+          'display unchecked 'follow-link t
+          'action (lambda (button)
+                    (if (overlay-get button 'checked)
+                        (progn (overlay-put button 'checked nil)
+                               (overlay-put button 'display (overlay-get button :off-glyph))
+                               (setq startup-screen-inhibit-startup-screen nil))
+                      (overlay-put button 'checked t)
+                      (overlay-put button 'display (overlay-get button :on-glyph))
+                      (setq startup-screen-inhibit-startup-screen t)))))
+       (fancy-splash-insert :face '(variable-pitch :height 0.9)
+                            " Don't show this message again.")))))
 
 (defun exit-splash-screen ()
   "Stop displaying the splash screen buffer."
   (interactive)
   (quit-window t))
 
-(defun fancy-startup-screen (concise)
+(defun fancy-startup-screen (&optional concise)
   "Display fancy startup screen.
-If CONCISE is non-nil, display a concise version of the splash
-screen."
+If CONCISE is non-nil, display a concise version of the
+splash screen in another window."
+  (with-current-buffer (get-buffer-create "*GNU Emacs*")
+    (let ((inhibit-read-only t))
+      (erase-buffer)
+      (make-local-variable 'startup-screen-inhibit-startup-screen)
+      (if pure-space-overflow
+         (insert pure-space-overflow-message))
+      (unless concise
+       (fancy-splash-head))
+      (dolist (text fancy-startup-text)
+       (apply #'fancy-splash-insert text)
+       (insert "\n"))
+      (skip-chars-backward "\n")
+      (delete-region (point) (point-max))
+      (insert "\n")
+      (fancy-startup-tail concise))
+    (use-local-map splash-screen-keymap)
+    (setq tab-width 22)
+    (set-buffer-modified-p nil)
+    (setq buffer-read-only t)
+    (if (and view-read-only (not view-mode))
+       (view-mode-enter nil 'kill-buffer))
+    (goto-char (point-min)))
   (if (or (window-minibuffer-p)
          (window-dedicated-p (selected-window)))
-      (pop-to-buffer (current-buffer))
-    (switch-to-buffer "*GNU Emacs*"))
-  (let ((inhibit-read-only t))
-    (erase-buffer)
-    (make-local-variable 'startup-screen-inhibit-startup-screen)
-    (if pure-space-overflow
-       (insert pure-space-overflow-message))
-    (unless concise
-      (fancy-splash-head))
-    (dolist (text fancy-startup-text)
-      (apply #'fancy-splash-insert text)
-      (insert "\n"))
-    (skip-chars-backward "\n")
-    (delete-region (point) (point-max))
-    (insert "\n")
-    (fancy-startup-tail))
-  (use-local-map splash-screen-keymap)
-  (setq tab-width 22)
-  (set-buffer-modified-p nil)
-  (setq buffer-read-only t)
-  (if (and view-read-only (not view-mode))
-      (view-mode-enter nil 'kill-buffer))
-  (goto-char (point-min)))
+      (pop-to-buffer (current-buffer)))
+  (if concise
+      (display-buffer (get-buffer "*GNU Emacs*"))
+    (switch-to-buffer "*GNU Emacs*")))
 
 (defun fancy-about-screen ()
   "Display fancy About screen."
@@ -1842,10 +1859,10 @@ Type \\[describe-distribution] for information on "))
 
 (defun startup-echo-area-message ()
   (if (eq (key-binding "\C-h\C-p") 'describe-project)
-      "For information about the GNU system and GNU/Linux, type C-h C-p."
+      "For information about GNU Emacs and the GNU system, type C-h C-a."
     (substitute-command-keys
-     "For information about the GNU system and GNU/Linux, type \
-\\[describe-project].")))
+     "For information about GNU Emacs and the GNU system, type \
+\\[about-emacs].")))
 
 
 (defun display-startup-echo-area-message ()
@@ -1881,14 +1898,14 @@ Type \\[describe-distribution] for information on "))
                     (kill-buffer buffer)))))
        (message "%s" (startup-echo-area-message)))))
 
-(defun display-startup-screen (concise)
+(defun display-startup-screen (&optional concise)
   "Display startup screen according to display.
 A fancy display is used on graphic displays, normal otherwise.
 
 If CONCISE is non-nil, display a concise version of the startup
 screen."
   ;; Prevent recursive calls from server-process-filter.
-  (if (not (get-buffer "*About GNU Emacs*"))
+  (if (not (get-buffer "*GNU Emacs*"))
       (if (use-fancy-splash-screens-p)
          (fancy-startup-screen concise)
        (normal-splash-screen t))))
@@ -1897,13 +1914,12 @@ screen."
   "Display the *About GNU Emacs* buffer.
 A fancy display is used on graphic displays, normal otherwise."
   (interactive)
-  (if (not (get-buffer "*About GNU Emacs*"))
-      (if (use-fancy-splash-screens-p)
-         (fancy-about-screen)
-       (normal-splash-screen nil))))
+  (if (use-fancy-splash-screens-p)
+      (fancy-about-screen)
+    (normal-splash-screen nil)))
 
 (defalias 'about-emacs 'display-about-screen)
-(defalias 'display-splash 'display-about-screen)
+(defalias 'display-splash-screen 'display-startup-screen)
 
 (defun command-line-1 (command-line-args-left)
   (display-startup-echo-area-message)
@@ -1995,17 +2011,19 @@ A fancy display is used on graphic displays, normal otherwise."
                     (funcall (cdr tem) argi)))
 
                  ((equal argi "-no-splash")
-                  (setq inhibit-startup-message t))
+                  (setq inhibit-startup-screen t))
 
                  ((member argi '("-f"  ; what the manual claims
                                  "-funcall"
                                  "-e"))  ; what the source used to say
+                  (setq inhibit-startup-screen t)
                   (setq tem (intern (or argval (pop command-line-args-left))))
                   (if (commandp tem)
                       (command-execute tem)
                     (funcall tem)))
 
                  ((member argi '("-eval" "-execute"))
+                  (setq inhibit-startup-screen t)
                   (eval (read (or argval (pop command-line-args-left)))))
 
                  ((member argi '("-L" "-directory"))
@@ -2037,6 +2055,7 @@ A fancy display is used on graphic displays, normal otherwise."
                     (load file-ex nil t t)))
 
                  ((equal argi "-insert")
+                  (setq inhibit-startup-screen t)
                   (setq tem (or argval (pop command-line-args-left)))
                   (or (stringp tem)
                       (error "File name omitted from `-insert' option"))
@@ -2065,6 +2084,7 @@ A fancy display is used on graphic displays, normal otherwise."
                         (nthcdr (nth 1 tem) command-line-args-left)))
 
                  ((member argi '("-find-file" "-file" "-visit"))
+                  (setq inhibit-startup-screen t)
                   ;; An explicit option to specify visiting a file.
                   (setq tem (or argval (pop command-line-args-left)))
                   (unless (stringp tem)
@@ -2097,6 +2117,8 @@ A fancy display is used on graphic displays, normal otherwise."
                         (progn
                           (if (string-match "\\`-" argi)
                               (error "Unknown option `%s'" argi))
+                          (unless initial-window-system
+                            (setq inhibit-startup-screen t))
                           (setq file-count (1+ file-count))
                           (let ((file
                                  (expand-file-name
@@ -2123,7 +2145,7 @@ A fancy display is used on graphic displays, normal otherwise."
            ((stringp initial-buffer-choice)
             (find-file initial-buffer-choice))))
 
-    (if (or inhibit-splash-screen
+    (if (or inhibit-startup-screen
            initial-buffer-choice
            noninteractive
            emacs-quick-startup)
@@ -2176,17 +2198,9 @@ A fancy display is used on graphic displays, normal otherwise."
               (insert initial-scratch-message)
               (set-buffer-modified-p nil))))
 
-      (cond ((= file-count 0)
-            (display-startup-screen nil))
-           ((or (= file-count 1) inhibit-startup-buffer-menu)
-            (let ((buf (current-buffer))
-                  (first-window (get-buffer-window first-file-buffer)))
-              (if first-window (select-window first-window))
-              (display-startup-screen t)
-              (display-buffer buf)))
-           (t
-            (display-startup-screen t)
-            (display-buffer (list-buffers-noselect)))))))
+      (if (> file-count 0)
+         (display-startup-screen t)
+       (display-startup-screen nil)))))
 
 (defun command-line-normalize-file-name (file)
   "Collapse multiple slashes to one, to handle non-Emacs file names."