X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/2846c6e3607995ce250435e5998ea6a08f60dd89..c80c6166fbc20ffde6a2b407507226cac37cd9c4:/lisp/tutorial.el diff --git a/lisp/tutorial.el b/lisp/tutorial.el index 93438076b9..6961fafb3a 100644 --- a/lisp/tutorial.el +++ b/lisp/tutorial.el @@ -1,9 +1,10 @@ ;;; tutorial.el --- tutorial for Emacs -;; Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. +;; Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: help, internal +;; Package: emacs ;; This file is part of GNU Emacs. @@ -74,7 +75,7 @@ Where for the function it is remapped to)" (with-output-to-temp-buffer (help-buffer) (help-setup-xref (list #'tutorial--describe-nonstandard-key value) - (interactive-p)) + (called-interactively-p 'interactive)) (with-current-buffer (help-buffer) (insert "Your Emacs customizations override the default binding for this key:" @@ -138,9 +139,11 @@ options: " is the command `") (insert (format "%s" db)) (insert "'. " - "However, your customizations have rebound it to the command `") - (insert (format "%s" cb)) - (insert "'.") + "However, your customizations have " + (if cb + (format "rebound it to the command `%s'" cb) + "unbound it")) + (insert ".") (when mapsym (insert " (For the more advanced user:" " This binding is in the keymap `" @@ -161,7 +164,7 @@ options: (format "%s" db) "'."))) (fill-region (point-min) (point))))) - (print-help-return-message)))) + (help-print-return-message)))) (defun tutorial--sort-keys (left right) "Sort predicate for use with `tutorial--default-keys'. @@ -216,8 +219,8 @@ LEFT and RIGHT are the elements to compare." (save-buffers-kill-terminal [?\C-x ?\C-c]) ;; * SUMMARY - (scroll-up [?\C-v]) - (scroll-down [?\M-v]) + (scroll-up-command [?\C-v]) + (scroll-down-command [?\M-v]) (recenter-top-bottom [?\C-l]) ;; * BASIC CURSOR CONTROL @@ -250,7 +253,7 @@ LEFT and RIGHT are the elements to compare." ;; * INSERTING AND DELETING ;; C-u 8 * to insert ********. (delete-backward-char "\d") - (delete-char [?\C-d]) + (delete-forward-char [?\C-d]) (backward-kill-word [?\M-\d]) (kill-word [?\M-d]) (kill-line [?\C-k]) @@ -262,8 +265,7 @@ LEFT and RIGHT are the elements to compare." (yank-pop [?\M-y]) ;; * UNDO - (advertised-undo [?\C-x ?u]) - (advertised-undo [?\C-x ?u]) + (undo [?\C-x ?u]) ;; * FILES (find-file [?\C-x ?\C-f]) @@ -322,7 +324,7 @@ LEFT and RIGHT are the elements to compare." "Give detailed help about changed keys." (with-output-to-temp-buffer (help-buffer) (help-setup-xref (list #'tutorial--detailed-help button) - (interactive-p)) + (called-interactively-p 'interactive)) (with-current-buffer (help-buffer) (let* ((tutorial-buffer (button-get button 'tutorial-buffer)) (explain-key-desc (button-get button 'explain-key-desc)) @@ -386,7 +388,7 @@ from the Emacs default:\n\n" ) (insert " It is OK to change key bindings, but changed bindings do not correspond to what the tutorial says.\n\n") - (print-help-return-message))))) + (help-print-return-message))))) (defun tutorial--find-changed-keys (default-keys) "Find the key bindings used in the tutorial that have changed. @@ -625,7 +627,7 @@ with some explanatory links." (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." @@ -773,9 +775,7 @@ Run the Viper tutorial? ")) 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 @@ -807,7 +807,7 @@ Run the Viper tutorial? ")) ;; (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))) @@ -830,6 +830,8 @@ Run the Viper tutorial? ")) (if old-tut-file (progn (insert-file-contents (tutorial--saved-file)) + (let ((enable-local-variables :safe)) + (hack-local-variables)) (goto-char (point-min)) (setq old-tut-point (string-to-number @@ -845,6 +847,8 @@ Run the Viper tutorial? ")) (goto-char tutorial--point-before-chkeys) (setq tutorial--point-before-chkeys (point-marker))) (insert-file-contents (expand-file-name filename tutorial-directory)) + (let ((enable-local-variables :safe)) + (hack-local-variables)) (forward-line) (setq tutorial--point-before-chkeys (point-marker))) @@ -864,6 +868,10 @@ Run the Viper tutorial? ")) (when (< old-point 1) (setq old-point 1)) (goto-char old-point)) + ;; Delete the arch-tag line, so as not to confuse readers. + (goto-char (point-max)) + (if (search-backward ";;; arch-tag: " nil t) + (delete-region (point) (point-max))) (goto-char (point-min)) (search-forward "\n<<") (beginning-of-line) @@ -929,7 +937,7 @@ See `get-lang-string' for more information.") 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.