]> code.delx.au - gnu-emacs/blobdiff - lisp/tutorial.el
*** empty log message ***
[gnu-emacs] / lisp / tutorial.el
index 384b9b8415cce58a5a2a19ff2fb8ac0566f045da..4646c23e09e11fd676d40b7a7d5ba6580e372611 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tutorial.el --- tutorial for Emacs
 
-;; Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: help, internal
@@ -9,7 +9,7 @@
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
@@ -210,14 +210,12 @@ LEFT and RIGHT are the elements to compare."
 (defconst tutorial--default-keys
   ;; On window system, `suspend-emacs' is replaced in the default
   ;; keymap
-  (let* ((suspend-emacs (if window-system
-                            'iconify-or-deiconify-frame
-                          'suspend-emacs))
+  (let* ((suspend-emacs 'suspend-frame)
          (default-keys
            `((ESC-prefix [27])
              (Control-X-prefix [?\C-x])
              (mode-specific-command-prefix [?\C-c])
-             (save-buffers-kill-emacs [?\C-x ?\C-c])
+             (save-buffers-kill-terminal [?\C-x ?\C-c])
 
              ;; * SUMMARY
              (scroll-up [?\C-v])
@@ -431,11 +429,17 @@ where
               (def-fun (nth 0 kdf))
               (def-fun-txt (format "%s" def-fun))
               (rem-fun (command-remapping def-fun))
+              ;; Handle prefix definitions specially
+              ;; so that a mode that rebinds some subcommands
+              ;; won't make it appear that the whole prefix is gone.
               (key-fun (if (eq def-fun 'ESC-prefix)
                            (lookup-key global-map [27])
-                         (key-binding key)))
+                         (if (eq def-fun 'Control-X-prefix)
+                             (lookup-key global-map [24])
+                           (key-binding key))))
               (where (where-is-internal (if rem-fun rem-fun def-fun)))
               cwhere)
+
          (if where
              (progn
                (setq cwhere (car where)
@@ -623,8 +627,7 @@ with some explanatory links."
 
 (defun tutorial--saved-dir ()
   "Directory to which tutorials are saved."
-  (expand-file-name "tutorial"
-                   (if (eq system-type 'ms-dos) "~/_emacs.d/" "~/.emacs.d/")))
+  (expand-file-name "tutorial" user-emacs-directory))
 
 (defun tutorial--saved-file ()
   "File name in which to save tutorials."
@@ -662,7 +665,8 @@ position where the display of changed bindings was inserted."
   ;; This runs in a hook so protect it:
   (condition-case err
       (if (y-or-n-p "Save your position in the tutorial? ")
-         (tutorial--save-tutorial-to (tutorial--saved-file)))
+         (tutorial--save-tutorial-to (tutorial--saved-file))
+       (message "Tutorial position not saved"))
     (error (message "Error saving tutorial state: %s"
                    (error-message-string err)))))
 
@@ -842,7 +846,7 @@ Run the Viper tutorial? "))
               (delete-region (point-min) (point))
               (goto-char tutorial--point-before-chkeys)
               (setq tutorial--point-before-chkeys (point-marker)))
-          (insert-file-contents (expand-file-name filename data-directory))
+          (insert-file-contents (expand-file-name filename tutorial-directory))
           (forward-line)
           (setq tutorial--point-before-chkeys (point-marker)))