diff options
| -rw-r--r-- | lisp/help.el | 17 |
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) | 134 | A tutorial written in the current primary language is selected. |
| 135 | (let ((file (expand-file-name "~/TUTORIAL"))) | 135 | If there's no tutorial in the language, \"TUTORIAL\" is selected. |
| 136 | With 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) |