diff options
Diffstat (limited to 'lisp/calc/calc-help.el')
-rw-r--r-- | lisp/calc/calc-help.el | 65 |
1 files changed, 35 insertions, 30 deletions
diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el index 2b7b56c3f89..33cb1c1566c 100644 --- a/lisp/calc/calc-help.el +++ b/lisp/calc/calc-help.el @@ -1,6 +1,6 @@ ;;; calc-help.el --- help display functions for Calc, -;; Copyright (C) 1990-1993, 2001-2013 Free Software Foundation, Inc. +;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc. ;; Author: David Gillespie <daveg@synaptics.com> ;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com> @@ -30,7 +30,7 @@ (require 'calc-macs) ;; Declare functions which are defined elsewhere. -(declare-function Info-goto-node "info" (nodename &optional fork)) +(declare-function Info-goto-node "info" (nodename &optional fork strict-case)) (declare-function Info-last "info" ()) @@ -239,7 +239,7 @@ C-w Describe how there is no warranty for Calc." (setq prompts (substring prompts 0 (match-beginning 0)))) (if (string-match "\\` +" prompts) (setq prompts (substring prompts (match-end 0)))) - (setq msg (format + (setq msg (format-message "%s: %s%s`%s'%s%s %s%s" (if (string-match "\\`\\(calc-[-a-zA-Z0-9]+\\) *\\(.*\\)\\'" @@ -364,23 +364,21 @@ C-w Describe how there is no warranty for Calc." (error "Can't find `%s' in %s" thing where))) (let (Info-history) (Info-goto-node (buffer-substring (match-beginning 1) (match-end 1)))) - (or (let ((case-fold-search nil)) - (or (re-search-forward (format "\\[`%s'\\]\\|(`%s')\\|\\<The[ \n]`%s'" - (or target thing) - (or target thing) - (or target thing)) nil t) - (and not-quoted - (let ((case-fold-search t)) - (search-forward (or target thing) nil t))) - (search-forward (format "`%s'" (or target thing)) nil t) - (search-forward (or target thing) nil t))) - (let ((case-fold-search t)) - (or (re-search-forward (format "\\[`%s'\\]\\|(`%s')\\|\\<The[ \n]`%s'" - (or target thing) - (or target thing) - (or target thing)) nil t) - (search-forward (format "`%s'" (or target thing)) nil t) - (search-forward (or target thing) nil t)))) + (let* ((string-target (or target thing)) + (quoted (format "['`‘]%s['’]" (regexp-quote string-target))) + (bracketed (format "\\[%s\\]\\|(%s)\\|\\<The[ \n]%s" + quoted quoted quoted))) + (or (let ((case-fold-search nil)) + (or (re-search-forward bracketed nil t) + (and not-quoted + (let ((case-fold-search t)) + (search-forward string-target nil t))) + (re-search-forward quoted nil t) + (search-forward string-target nil t))) + (let ((case-fold-search t)) + (or (re-search-forward bracketed nil t) + (re-search-forward quoted nil t) + (search-forward string-target nil t))))) (beginning-of-line) (message "Found `%s' in %s" thing where))) @@ -388,7 +386,7 @@ C-w Describe how there is no warranty for Calc." (interactive) (calc-quit) (view-emacs-news) - (re-search-forward "^\*+ .*\\<Calc\\>" nil t)) + (re-search-forward "^\\*+ .*\\<Calc\\>" nil t)) (defvar calc-help-long-names '((?b . "binary/business") (?g . "graphics") @@ -402,11 +400,14 @@ C-w Describe how there is no warranty for Calc." (princ "GNU Emacs Calculator.\n") (princ " By Dave Gillespie.\n") (princ (format " %s\n\n" emacs-copyright)) - (princ "Type `h s' for a more detailed summary.\n") - (princ "Or type `h i' to read the full Calc manual on-line.\n\n") + (princ (format-message "Type `h s' for a more detailed summary.\n")) + (princ (format-message + "Or type `h i' to read the full Calc manual on-line.\n\n")) (princ "Basic keys:\n") (let* ((calc-full-help-flag t)) - (mapc (function (lambda (x) (princ (format " %s\n" x)))) + (mapc (function (lambda (x) (princ (format + " %s\n" + (substitute-command-keys x))))) (nreverse (cdr (reverse (cdr (calc-help)))))) (mapc (function (lambda (prefix) (let ((msgs (condition-case err @@ -415,9 +416,10 @@ C-w Describe how there is no warranty for Calc." (if (car msgs) (princ (if (eq (nth 2 msgs) ?v) - "\n`v' or `V' prefix (vector/matrix) keys: \n" + (format-message + "\n`v' or `V' prefix (vector/matrix) keys: \n") (if (nth 2 msgs) - (format + (format-message "\n`%c' prefix (%s) keys:\n" (nth 2 msgs) (or (cdr (assq (nth 2 msgs) @@ -425,8 +427,11 @@ C-w Describe how there is no warranty for Calc." (nth 1 msgs))) (format "\n%s-modified keys:\n" (capitalize (nth 1 msgs))))))) - (mapcar (function (lambda (x) - (princ (format " %s\n" x)))) + (mapcar (function + (lambda (x) + (princ (format + " %s\n" + (substitute-command-keys x))))) (car msgs))))) '(calc-inverse-prefix-help calc-hyperbolic-prefix-help @@ -541,7 +546,7 @@ C-w Describe how there is no warranty for Calc." '("Select, Additional, Once; eVal, Formula; Rewrite" "More, Less, 1-9, Next, Previous" "Unselect, Clear; Display; Enable; Breakable" - "' (replace), ` (edit), +, -, *, /, RET (grab), DEL" + "\\=' (replace), \\=` (edit), +, -, *, /, RET (grab), DEL" "SHIFT + swap: Left, Right; maybe: Select, Once" "SHIFT + Commute, Merge, Distrib, jump-Eqn, Isolate" "SHIFT + Negate, & (invert); Unpack") @@ -647,7 +652,7 @@ C-w Describe how there is no warranty for Calc." (defun calc-u-prefix-help () (interactive) (calc-do-prefix-help - '("Simplify, Convert, Temperature-convert, Base-units" + '("Simplify, Convert, coNvert exact, Temperature-convert, Base-units" "Autorange; Remove, eXtract; Explain; View-table; 0-9" "Define, Undefine, Get-defn, Permanent" "SHIFT + View-table-other-window" |