aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/help.el17
1 files changed, 12 insertions, 5 deletions
diff --git a/lisp/help.el b/lisp/help.el
index 9f4c2cf352b..3e65659fee8 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -129,10 +129,17 @@ Commands:
129 (interactive) 129 (interactive)
130 nil) 130 nil)
131 131
132(defun help-with-tutorial () 132(defun help-with-tutorial (&optional arg)
133 "Select the Emacs learn-by-doing tutorial." 133 "Select the Emacs learn-by-doing tutorial.
134 (interactive) 134A tutorial written in the current primary language is selected.
135 (let ((file (expand-file-name "~/TUTORIAL"))) 135If there's no tutorial in the language, \"TUTORIAL\" is selected.
136With arg, users are asked to select language."
137 (interactive "P")
138 (let* ((filename
139 (let ((lang (if arg (read-language-name 'tutorial "Language: ")
140 primary-language)))
141 (get-language-info lang 'tutorial)))
142 (file (expand-file-name (concat "~/" filename))))
136 (delete-other-windows) 143 (delete-other-windows)
137 (if (get-file-buffer file) 144 (if (get-file-buffer file)
138 (switch-to-buffer (get-file-buffer file)) 145 (switch-to-buffer (get-file-buffer file))
@@ -140,7 +147,7 @@ Commands:
140 (setq buffer-file-name file) 147 (setq buffer-file-name file)
141 (setq default-directory (expand-file-name "~/")) 148 (setq default-directory (expand-file-name "~/"))
142 (setq buffer-auto-save-file-name nil) 149 (setq buffer-auto-save-file-name nil)
143 (insert-file-contents (expand-file-name "TUTORIAL" data-directory)) 150 (insert-file-contents (expand-file-name filename data-directory))
144 (goto-char (point-min)) 151 (goto-char (point-min))
145 (search-forward "\n<<") 152 (search-forward "\n<<")
146 (beginning-of-line) 153 (beginning-of-line)