emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/startup.el


From: Pavel Janík
Subject: [Emacs-diffs] Changes to emacs/lisp/startup.el
Date: Tue, 29 Jan 2002 08:54:39 -0500

Index: emacs/lisp/startup.el
diff -c emacs/lisp/startup.el:1.288 emacs/lisp/startup.el:1.289
*** emacs/lisp/startup.el:1.288 Fri Jan 25 12:29:34 2002
--- emacs/lisp/startup.el       Tue Jan 29 08:54:39 2002
***************
*** 1287,1292 ****
--- 1287,1425 ----
        (> window-height (+ image-height 15)))))
  
  
+ (defun normal-splash-screen ()
+   "Display splash screen when Emacs starts."
+   (with-current-buffer (get-buffer-create "GNU Emacs")
+     (let ((tab-width 8)
+         (mode-line-format (propertize "---- %b %-" 
+                                       'face '(:weight bold))))
+ 
+       ;; The convention for this piece of code is that
+       ;; each piece of output starts with one or two newlines
+       ;; and does not end with any newlines.
+       (insert "Welcome to GNU Emacs")
+       (if (eq system-type 'gnu/linux)
+         (insert ", one component of a Linux-based GNU system."))
+       (insert "\n")
+ 
+       (unless (equal (buffer-name (current-buffer)) "*scratch*")
+       (insert (substitute-command-keys
+                "\nType \\[recenter] to begin editing your file.\n")))
+ 
+       (if (display-mouse-p)
+         ;; The user can use the mouse to activate menus
+         ;; so give help in terms of menu items.
+         (progn
+           (insert "\
+ You can do basic editing with the menu bar and scroll bar using the mouse.
+ 
+ Useful File menu items:
+ Exit Emacs            (or type Control-x followed by Control-c)
+ Recover Session               recover files you were editing before a crash
+ 
+ Important Help menu items:
+ Emacs Tutorial                Learn-by-doing tutorial for using Emacs 
efficiently.
+ Emacs FAQ             Frequently asked questions and answers
+ \(Non)Warranty                GNU Emacs comes with ABSOLUTELY NO WARRANTY
+ Copying Conditions    Conditions for redistributing and changing Emacs.
+ Getting New Versions  How to obtain the latest version of Emacs.
+ Ordering Manuals      How to order manuals from the FSF.
+ ")
+           (insert "\n\n" (emacs-version)
+                           "
+ Copyright (C) 2001 Free Software Foundation, Inc."))
+ 
+       ;; No mouse menus, so give help using kbd commands.
+ 
+       ;; If keys have their default meanings,
+       ;; use precomputed string to save lots of time.
+       (if (and (eq (key-binding "\C-h") 'help-command)
+                (eq (key-binding "\C-xu") 'advertised-undo)
+                (eq (key-binding "\C-x\C-c") 'save-buffers-kill-emacs)
+                (eq (key-binding "\C-ht") 'help-with-tutorial)
+                (eq (key-binding "\C-hi") 'info)
+                (eq (key-binding "\C-h\C-n") 'view-emacs-news))
+           (insert "
+ Get help         C-h  (Hold down CTRL and press h)
+ Undo changes     C-x u       Exit Emacs               C-x C-c
+ Get a tutorial           C-h t       Use Info to read docs    C-h i
+ Ordering manuals   C-h RET")
+         (insert (substitute-command-keys
+                  (format "\n
+ Get help         %s
+ Undo changes     \\[advertised-undo]
+ Exit Emacs       \\[save-buffers-kill-emacs]
+ Get a tutorial           \\[help-with-tutorial]
+ Use Info to read docs \\[info]
+ Ordering manuals   \\[view-order-manuals]"
+                          (let ((where (where-is-internal
+                                        'help-command nil t)))
+                            (if where
+                                (key-description where)
+                              "M-x help"))))))
+ 
+       ;; Say how to use the menu bar with the keyboard.
+       (if (and (eq (key-binding "\M-`") 'tmm-menubar)
+                (eq (key-binding [f10]) 'tmm-menubar))
+           (insert "
+ Activate menubar   F10  or  ESC `  or   M-`")
+         (insert (substitute-command-keys "
+ Activate menubar     \\[tmm-menubar]")))
+ 
+       ;; Many users seem to have problems with these.
+       (insert "
+ \(`C-' means use the CTRL key.  `M-' means use the Meta (or Alt) key.
+ If you have no Meta key, you may instead type ESC followed by the 
character.)")
+ 
+       (insert "\n\n" (emacs-version)
+                       "
+ Copyright (C) 2001 Free Software Foundation, Inc.")
+ 
+       (if (and (eq (key-binding "\C-h\C-c") 'describe-copying)
+                (eq (key-binding "\C-h\C-d") 'describe-distribution)
+                (eq (key-binding "\C-h\C-w") 'describe-no-warranty))
+           (insert 
+                    "\n
+ GNU Emacs comes with ABSOLUTELY NO WARRANTY; type C-h C-w for full details.
+ Emacs is Free Software--Free as in Freedom--so you can redistribute copies
+ of Emacs and modify it; type C-h C-c to see the conditions.
+ Type C-h C-d for information on getting the latest version.")
+         (insert (substitute-command-keys
+                  "\n
+ GNU Emacs comes with ABSOLUTELY NO WARRANTY; type \\[describe-no-warranty] 
for full details.
+ Emacs is Free Software--Free as in Freedom--so you can redistribute copies
+ of Emacs and modify it; type \\[describe-copying] to see the conditions.
+ Type \\[describe-distribution] for information on getting the latest 
version."))))
+ 
+       ;; The rest of the startup screen is the same on all
+       ;; kinds of terminals.
+ 
+       ;; Give information on recovering, if there was a crash.
+       (and auto-save-list-file-prefix
+          ;; Don't signal an error if the
+          ;; directory for auto-save-list files
+          ;; does not yet exist.
+          (file-directory-p (file-name-directory
+                             auto-save-list-file-prefix))
+          (directory-files
+           (file-name-directory auto-save-list-file-prefix)
+           nil
+           (concat "\\`"
+                   (regexp-quote (file-name-nondirectory
+                                  auto-save-list-file-prefix)))
+           t)
+          (insert "\n\nIf an Emacs session crashed recently, "
+                  "type M-x recover-session RET\nto recover"
+                  " the files you were editing."))
+ 
+       ;; Display the input that we set up in the buffer.
+       (set-buffer-modified-p nil)
+       (goto-char (point-min))
+       (save-window-excursion
+       (switch-to-buffer (current-buffer))
+       (sit-for 120))))
+   (kill-buffer "GNU Emacs"))
+ 
  (defun startup-echo-area-message ()
    (if (eq (key-binding "\C-h\C-p") 'describe-project)
        "For information about the GNU Project and its goals, type C-h C-p."
***************
*** 1300,1305 ****
--- 1433,1449 ----
      (message (startup-echo-area-message))))
  
  
+ (defun display-splash-screen ()
+   "Display splash screen according to display.
+ Fancy splash screens are used on graphic displays,
+ normal otherwise."
+   (interactive)
+   (if (and (display-graphic-p)
+          (use-fancy-splash-screens-p))
+       (fancy-splash-screens)
+     (normal-splash-screen)))
+ 
+ 
  (defun command-line-1 (command-line-args-left)
    (or noninteractive (input-pending-p) init-file-had-error
        ;; t if the init file says to inhibit the echo area startup message.
***************
*** 1572,1712 ****
  
      ;; If user typed input during all that work,
      ;; abort the startup screen.  Otherwise, display it now.
!     (let ((buffer (current-buffer)))
!       (when (not (input-pending-p))
!       (if (and (display-graphic-p)
!                (use-fancy-splash-screens-p))
!           (fancy-splash-screens)
!         (with-current-buffer (get-buffer-create "GNU Emacs")
!           (let ((tab-width 8)
!                 (mode-line-format (propertize "---- %b %-" 
!                                               'face '(:weight bold))))
! 
!             ;; The convention for this piece of code is that
!             ;; each piece of output starts with one or two newlines
!             ;; and does not end with any newlines.
!             (insert "Welcome to GNU Emacs")
!             (if (eq system-type 'gnu/linux)
!                 (insert ", one component of a Linux-based GNU system."))
!             (insert "\n")
! 
!             (unless (equal (buffer-name buffer) "*scratch*")
!               (insert (substitute-command-keys
!                        "\nType \\[recenter] to begin editing your file.\n")))
! 
!             (if (display-mouse-p)
!                 ;; The user can use the mouse to activate menus
!                 ;; so give help in terms of menu items.
!                 (progn
!                   (insert "\
! You can do basic editing with the menu bar and scroll bar using the mouse.
! 
! Useful File menu items:
! Exit Emacs            (or type Control-x followed by Control-c)
! Recover Session               recover files you were editing before a crash
! 
! Important Help menu items:
! Emacs Tutorial                Learn-by-doing tutorial for using Emacs 
efficiently.
! Emacs FAQ             Frequently asked questions and answers
! \(Non)Warranty                GNU Emacs comes with ABSOLUTELY NO WARRANTY
! Copying Conditions    Conditions for redistributing and changing Emacs.
! Getting New Versions  How to obtain the latest version of Emacs.
! Ordering Manuals      How to order manuals from the FSF.
! ")
!                   (insert "\n\n" (emacs-version)
!                           "
! Copyright (C) 2001 Free Software Foundation, Inc."))
! 
!               ;; No mouse menus, so give help using kbd commands.
! 
!               ;; If keys have their default meanings,
!               ;; use precomputed string to save lots of time.
!               (if (and (eq (key-binding "\C-h") 'help-command)
!                        (eq (key-binding "\C-xu") 'advertised-undo)
!                        (eq (key-binding "\C-x\C-c") 'save-buffers-kill-emacs)
!                        (eq (key-binding "\C-ht") 'help-with-tutorial)
!                        (eq (key-binding "\C-hi") 'info)
!                        (eq (key-binding "\C-h\C-n") 'view-emacs-news))
!                   (insert "
! Get help         C-h  (Hold down CTRL and press h)
! Undo changes     C-x u       Exit Emacs               C-x C-c
! Get a tutorial           C-h t       Use Info to read docs    C-h i
! Ordering manuals   C-h RET")
!                 (insert (substitute-command-keys
!                          (format "\n
! Get help         %s
! Undo changes     \\[advertised-undo]
! Exit Emacs       \\[save-buffers-kill-emacs]
! Get a tutorial           \\[help-with-tutorial]
! Use Info to read docs \\[info]
! Ordering manuals   \\[view-order-manuals]"
!                                  (let ((where (where-is-internal
!                                                'help-command nil t)))
!                                    (if where
!                                        (key-description where)
!                                      "M-x help"))))))
! 
!               ;; Say how to use the menu bar with the keyboard.
!               (if (and (eq (key-binding "\M-`") 'tmm-menubar)
!                        (eq (key-binding [f10]) 'tmm-menubar))
!                   (insert "
! Activate menubar   F10  or  ESC `  or   M-`")
!                 (insert (substitute-command-keys "
! Activate menubar     \\[tmm-menubar]")))
! 
!               ;; Many users seem to have problems with these.
!               (insert "
! \(`C-' means use the CTRL key.  `M-' means use the Meta (or Alt) key.
! If you have no Meta key, you may instead type ESC followed by the 
character.)")
! 
!               (insert "\n\n" (emacs-version)
!                       "
! Copyright (C) 2001 Free Software Foundation, Inc.")
! 
!               (if (and (eq (key-binding "\C-h\C-c") 'describe-copying)
!                        (eq (key-binding "\C-h\C-d") 'describe-distribution)
!                        (eq (key-binding "\C-h\C-w") 'describe-no-warranty))
!                   (insert 
!                    "\n
! GNU Emacs comes with ABSOLUTELY NO WARRANTY; type C-h C-w for full details.
! Emacs is Free Software--Free as in Freedom--so you can redistribute copies
! of Emacs and modify it; type C-h C-c to see the conditions.
! Type C-h C-d for information on getting the latest version.")
!                 (insert (substitute-command-keys
!                          "\n
! GNU Emacs comes with ABSOLUTELY NO WARRANTY; type \\[describe-no-warranty] 
for full details.
! Emacs is Free Software--Free as in Freedom--so you can redistribute copies
! of Emacs and modify it; type \\[describe-copying] to see the conditions.
! Type \\[describe-distribution] for information on getting the latest 
version."))))
! 
!             ;; The rest of the startup screen is the same on all
!             ;; kinds of terminals.
! 
!             ;; Give information on recovering, if there was a crash.
!             (and auto-save-list-file-prefix
!                  ;; Don't signal an error if the
!                  ;; directory for auto-save-list files
!                  ;; does not yet exist.
!                  (file-directory-p (file-name-directory
!                                     auto-save-list-file-prefix))
!                  (directory-files
!                   (file-name-directory auto-save-list-file-prefix)
!                   nil
!                   (concat "\\`"
!                           (regexp-quote (file-name-nondirectory
!                                          auto-save-list-file-prefix)))
!                   t)
!                  (insert "\n\nIf an Emacs session crashed recently, "
!                          "type M-x recover-session RET\nto recover"
!                          " the files you were editing."))
! 
!             ;; Display the input that we set up in the buffer.
!             (set-buffer-modified-p nil)
!             (goto-char (point-min))
!             (save-window-excursion
!               (switch-to-buffer (current-buffer))
!               (sit-for 120))))
!         (kill-buffer "GNU Emacs"))))))
  
  
  (defun command-line-normalize-file-name (file)
--- 1716,1723 ----
  
      ;; If user typed input during all that work,
      ;; abort the startup screen.  Otherwise, display it now.
!     (unless (input-pending-p)
!       (display-splash-screen))))
  
  
  (defun command-line-normalize-file-name (file)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]