;;; tutorial.el --- tutorial for Emacs
-;; Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
;; Maintainer: FSF
;; Keywords: help, internal
;; This file is part of GNU Emacs.
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; 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 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
(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])
(scroll-down [?\M-v])
- (recenter [?\C-l])
+ (recenter-top-bottom [?\C-l])
;; * BASIC CURSOR CONTROL
(forward-char [?\C-f])
(defun tutorial--saved-dir ()
"Directory to which tutorials are saved."
- (expand-file-name "tutorial" user-emacs-directory))
+ (locate-user-emacs-file "tutorial/"))
(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)))))
current-language-environment
"English")))
(filename (get-language-info lang 'tutorial))
- ;; Choose a buffer name including the language so that
- ;; several languages can be tested simultaneously:
- (tut-buf-name (concat "TUTORIAL (" lang ")"))
+ (tut-buf-name filename)
(old-tut-buf (get-buffer tut-buf-name))
(old-tut-win (when old-tut-buf (get-buffer-window old-tut-buf t)))
(old-tut-is-ok (when old-tut-buf
;; (Re)build the tutorial buffer if it is not ok
(unless old-tut-is-ok
(switch-to-buffer (get-buffer-create tut-buf-name))
- (unless old-tut-buf (text-mode))
+ ;; (unless old-tut-buf (text-mode))
(unless lang (error "Variable lang is nil"))
(setq tutorial--lang lang)
(setq old-tut-file (file-exists-p (tutorial--saved-file)))
In certain places Emacs can replace a string shown to the user with
a language specific string. This function retrieves such strings.
-LANG is the language specification. It should be one of those
+LANG is the language specification. It should be one of those
strings that can be returned by `read-language-name'. STRINGID
is a symbol that specifies the string to retrieve.