[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/calc/calc-help.el [lexbind]
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/calc/calc-help.el [lexbind] |
Date: |
Mon, 25 Oct 2004 00:46:28 -0400 |
Index: emacs/lisp/calc/calc-help.el
diff -c emacs/lisp/calc/calc-help.el:1.4.2.2
emacs/lisp/calc/calc-help.el:1.4.2.3
*** emacs/lisp/calc/calc-help.el:1.4.2.2 Tue Oct 14 23:35:48 2003
--- emacs/lisp/calc/calc-help.el Mon Oct 25 04:19:45 2004
***************
*** 93,110 ****
(defun calc-describe-copying ()
(interactive)
! (calc-info)
! (Info-goto-node "Copying"))
(defun calc-describe-distribution ()
(interactive)
! (calc-info)
! (Info-goto-node "Reporting Bugs"))
(defun calc-describe-no-warranty ()
(interactive)
! (calc-info)
! (Info-goto-node "Copying")
(let ((case-fold-search nil))
(search-forward " NO WARRANTY"))
(beginning-of-line)
--- 93,107 ----
(defun calc-describe-copying ()
(interactive)
! (calc-info-goto-node "Copying"))
(defun calc-describe-distribution ()
(interactive)
! (calc-info-goto-node "Reporting Bugs"))
(defun calc-describe-no-warranty ()
(interactive)
! (calc-info-goto-node "Copying")
(let ((case-fold-search nil))
(search-forward " NO WARRANTY"))
(beginning-of-line)
***************
*** 190,202 ****
(message "Reading Calc summary from manual...")
(save-window-excursion
(save-excursion
! (calc-info)
! (Info-goto-node "Summary")
(goto-char (point-min))
(forward-line 1)
(copy-to-buffer "*Calc Summary*"
(point) (point-max))
! (Info-last)))
(setq case-fold-search nil)
(re-search-forward "^\\(.*\\)\\[\\.\\. a b")
(setq calc-summary-indentation
--- 187,199 ----
(message "Reading Calc summary from manual...")
(save-window-excursion
(save-excursion
! (calc-info-goto-node "Summary")
(goto-char (point-min))
(forward-line 1)
(copy-to-buffer "*Calc Summary*"
(point) (point-max))
! (if Info-history
! (Info-last))))
(setq case-fold-search nil)
(re-search-forward "^\\(.*\\)\\[\\.\\. a b")
(setq calc-summary-indentation
***************
*** 299,333 ****
(calc-describe-thing desc "Key Index" nil
(string-match "[A-Z][A-Z][A-Z]" desc))))))
(defun calc-describe-function (&optional func)
(interactive)
(or func
! (setq func (intern (completing-read "Describe function: "
! obarray nil t "calcFunc-"))))
! (setq func (symbol-name func))
(if (string-match "\\`calc-." func)
(calc-describe-thing func "Command Index")
! (calc-describe-thing (if (string-match "\\`calcFunc-." func)
! (substring func 9)
! func)
! "Function Index")))
(defun calc-describe-variable (&optional var)
(interactive)
(or var
! (setq var (intern (completing-read "Describe variable: "
! obarray nil t "var-"))))
! (setq var (symbol-name var))
! (calc-describe-thing var "Variable Index"
! (if (string-match "\\`var-." var)
! (substring var 4)
! var)))
(defun calc-describe-thing (thing where &optional target not-quoted)
(message "Looking for `%s' in %s..." thing where)
(let ((savewin (current-window-configuration)))
! (calc-info)
! (Info-goto-node where)
(or (let ((case-fold-search nil))
(re-search-forward (format "\n\\* +%s: \\(.*\\)\\."
(regexp-quote thing))
--- 296,357 ----
(calc-describe-thing desc "Key Index" nil
(string-match "[A-Z][A-Z][A-Z]" desc))))))
+ (defvar calc-help-function-list nil
+ "List of functions provided by Calc.")
+
+ (defvar calc-help-variable-list nil
+ "List of variables provided by Calc.")
+
+ (defun calc-help-index-entries (&rest indices)
+ "Create a list of entries from the INDICES in the Calc info manual."
+ (let ((entrylist '())
+ entry)
+ (require 'info nil t)
+ (while indices
+ (condition-case nil
+ (with-temp-buffer
+ (Info-mode)
+ (Info-goto-node (concat "(Calc)" (car indices) " Index"))
+ (goto-char (point-min))
+ (while (re-search-forward "\n\\* \\(.*\\): " nil t)
+ (setq entry (match-string 1))
+ (if (and (not (string-match "<[1-9]+>" entry))
+ (not (string-match "(.*)" entry))
+ (not (string= entry "Menu")))
+ (unless (assoc entry entrylist)
+ (setq entrylist (cons entry entrylist))))))
+ (error nil))
+ (setq indices (cdr indices)))
+ entrylist))
+
(defun calc-describe-function (&optional func)
(interactive)
+ (unless calc-help-function-list
+ (setq calc-help-function-list
+ (calc-help-index-entries "Function" "Command")))
(or func
! (setq func (completing-read "Describe function: "
! calc-help-function-list
! nil t)))
(if (string-match "\\`calc-." func)
(calc-describe-thing func "Command Index")
! (calc-describe-thing func "Function Index")))
(defun calc-describe-variable (&optional var)
(interactive)
+ (unless calc-help-variable-list
+ (setq calc-help-variable-list
+ (calc-help-index-entries "Variable")))
(or var
! (setq var (completing-read "Describe variable: "
! calc-help-variable-list
! nil t)))
! (calc-describe-thing var "Variable Index"))
(defun calc-describe-thing (thing where &optional target not-quoted)
(message "Looking for `%s' in %s..." thing where)
(let ((savewin (current-window-configuration)))
! (calc-info-goto-node where)
(or (let ((case-fold-search nil))
(re-search-forward (format "\n\\* +%s: \\(.*\\)\\."
(regexp-quote thing))
***************
*** 338,344 ****
nil t)
(setq thing (format "%s9" (substring thing 0 -1))))
(progn
! (Info-last)
(set-window-configuration savewin)
(error "Can't find `%s' in %s" thing where)))
(let (Info-history)
--- 362,369 ----
nil t)
(setq thing (format "%s9" (substring thing 0 -1))))
(progn
! (if Info-history
! (Info-last))
(set-window-configuration savewin)
(error "Can't find `%s' in %s" thing where)))
(let (Info-history)