;;; tutorial.el --- tutorial for Emacs
-;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
-;; Maintainer: FSF
+;; Maintainer: emacs-devel@gnu.org
;; Keywords: help, internal
;; Package: emacs
" RET instead."))
(insert "\n\nWith your current key bindings"
" you can use "
- (if (string-match "^the .*menus?$" where)
+ (if (string-match-p "^the .*menus?$" where)
""
"the key")
where
(def-fun-txt (nth 2 tk))
(where (nth 3 tk))
(remark (nth 4 tk))
- (rem-fun (command-remapping def-fun))
(key-txt (key-description key))
- (key-fun (with-current-buffer tutorial-buffer (key-binding key)))
- tot-len)
+ (key-fun (with-current-buffer tutorial-buffer (key-binding key))))
(unless (eq def-fun key-fun)
;; Insert key binding description:
(when (string= key-txt explain-key-desc)
saved-file
(error-message-string err))))
;; An error is raised here?? Is this a bug?
- (condition-case nil
- (undo-only)
- (error nil))
+ (ignore-errors (undo-only))
;; Restore point
(goto-char old-point)
(if save-err
(progn
(insert-file-contents (tutorial--saved-file))
(let ((enable-local-variables :safe)
- (enable-local-eval nil))
+ (enable-local-eval nil)
+ (enable-dir-local-variables nil)) ; bug#11127
(hack-local-variables))
- ;; FIXME? What we actually want is to ignore dir-locals (?).
- (setq buffer-read-only nil) ; bug#11118
(goto-char (point-min))
(setq old-tut-point
(string-to-number
(setq tutorial--point-before-chkeys (point-marker)))
(insert-file-contents (expand-file-name filename tutorial-directory))
(let ((enable-local-variables :safe)
- (enable-local-eval nil))
+ (enable-local-eval nil)
+ (enable-dir-local-variables nil)) ; bug#11127
(hack-local-variables))
- ;; FIXME? What we actually want is to ignore dir-locals (?).
- (setq buffer-read-only nil) ; bug#11118
(forward-line)
(setq tutorial--point-before-chkeys (point-marker)))
;; or just delete the <<...>> line if a [...] line follows.
(cond ((save-excursion
(forward-line 1)
- (looking-at "\\["))
+ (looking-at-p "\\["))
(delete-region (point) (progn (forward-line 1) (point))))
((looking-at "<<Blank lines inserted.*>>")
(replace-match "[Middle of page left blank for didactic purposes. Text continues below]"))
;; inserted at the start of the buffer, the "type C-v to
;; move to the next screen" might not be visible on the
;; first screen (n < 0). How will the novice know what to do?
- (let ((n (- (window-height (selected-window))
+ (let ((n (- (window-height)
(count-lines (point-min) (point))
6)))
(if (< n 8)