;;; 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
;; 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,
(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])
(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)
(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."
;; 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)))))
(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)))