[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[AUCTeX-devel] [elpa] externals/auctex f9e6e4b 32/69: New function for r
From: |
Tassilo Horn |
Subject: |
[AUCTeX-devel] [elpa] externals/auctex f9e6e4b 32/69: New function for reading documentation with texdoc |
Date: |
Sat, 26 Mar 2016 21:36:35 +0000 |
branch: externals/auctex
commit f9e6e4b8528df03a7810910e7dc2c28b5806c506
Author: Mosè Giordano <address@hidden>
Commit: Mosè Giordano <address@hidden>
New function for reading documentation with texdoc
* tex.el (TeX-documentation-texdoc): New function.
(TeX-common-menu-entries): Replace `TeX-doc' with
`TeX-documentation-texdoc'.
(TeX-mode-map): Ditto.
* doc/auctex.texi (Documentation): Document `TeX-documentation-texdoc'
in place of `TeX-doc'.
* doc/changes.texi: Mention `TeX-documentation-texdoc'.
---
doc/auctex.texi | 15 +++++------
doc/changes.texi | 12 ++++++++-
tex.el | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++--
3 files changed, 86 insertions(+), 12 deletions(-)
diff --git a/doc/auctex.texi b/doc/auctex.texi
index 39125c9..c8e35a3 100644
--- a/doc/auctex.texi
+++ b/doc/auctex.texi
@@ -12,7 +12,7 @@ This manual is for @AUCTeX{}
(version @value{VERSION} from @value{UPDATED}),
a sophisticated TeX environment for Emacs.
-Copyright @copyright{} 1992-1995, 2001, 2002, 2004-2015
+Copyright @copyright{} 1992-1995, 2001, 2002, 2004-2016
Free Software Foundation, Inc.
@quotation
@@ -3523,16 +3523,15 @@ before it is actually done. If non-nil, ask before
deleting files.
@section Documentation about macros and packages
@cindex Documentation
address@hidden Command TeX-doc
address@hidden Command TeX-documentation-texdoc
@kindex C-c ?
-(@kbd{C-c ?}) Get documentation about macros, packages or @TeX{} &
-Co. in general. The function will prompt for the name of a command or
-manual, providing a list of available keywords for completion. If point
-is on a command or word with available documentation, this will be
+(@kbd{C-c ?}) Get documentation about the packages installed on your
+system, using @samp{texdoc} to find the manuals. The function will
+prompt for the name of packages. If point is on a word, this will be
suggested as default.
-In case no documentation could be found, a prompt for querying the
address@hidden program is shown, should the latter be available.
+If the command is called with a prefix argument, you will be shown a
+list of manuals of the given package among to choose.
The command can be invoked by the key binding mentioned above as well as
the @samp{Find Documentation...} entry in the mode menu.
diff --git a/doc/changes.texi b/doc/changes.texi
index a48e7ab..2905400 100644
--- a/doc/changes.texi
+++ b/doc/changes.texi
@@ -1,5 +1,5 @@
@c This is part of the AUCTeX manual.
address@hidden Copyright (C) 1994-2002, 2004-2010, 2012-2015 Free Software
address@hidden Copyright (C) 1994-2002, 2004-2010, 2012-2016 Free Software
@c Foundation, Inc.
@c See file auctex.texi for copying conditions.
@include macros.texi
@@ -8,6 +8,16 @@
@end ifset
address@hidden News since 11.89
+
address@hidden @bullet
address@hidden
+A new function, @code{TeX-documentation-texdoc}, for reading
+documentation with @samp{texdoc} has been added. @code{TeX-doc} is
+still available but now @kbd{C-c ?} runs
address@hidden
address@hidden itemize
+
@heading News in 11.89
@itemize @bullet
diff --git a/tex.el b/tex.el
index 7f464b3..244fa54 100644
--- a/tex.el
+++ b/tex.el
@@ -1,6 +1,6 @@
;;; tex.el --- Support for TeX documents.
-;; Copyright (C) 1985-1987, 1991, 1993-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1991, 1993-2016 Free Software Foundation, Inc.
;; Maintainer: address@hidden
;; Keywords: tex
@@ -4736,7 +4736,7 @@ Brace insertion is only done if point is in a math
construct and
(define-key map "\C-c}" 'up-list)
(define-key map "\C-c#" 'TeX-normal-mode)
(define-key map "\C-c\C-n" 'TeX-normal-mode)
- (define-key map "\C-c?" 'TeX-doc)
+ (define-key map "\C-c?" 'TeX-documentation-texdoc)
(define-key map "\C-c\C-i" 'TeX-goto-info-page)
(define-key map "
" 'TeX-newline)
@@ -4959,7 +4959,7 @@ Brace insertion is only done if point is in a math
construct and
:help "Save and reparse the current buffer for style information"]
["Reset AUCTeX" (TeX-normal-mode t) :keys "C-u C-c C-n"
:help "Reset buffer and reload AUCTeX style files"])
- ["Find Documentation..." TeX-doc
+ ["Find Documentation..." TeX-documentation-texdoc
:help "Get help on commands, packages, or TeX-related topics in general"]
["Read the AUCTeX Manual" TeX-goto-info-page
:help "Everything worth reading"]
@@ -6094,6 +6094,71 @@ to browse existing AUCTeX bugs.
;;; Documentation
+(defun TeX-documentation-texdoc (&optional arg)
+ "Run texdoc to read documentation.
+
+Prompt for selection of the package of which to show the documentation.
+
+If called with a prefix argument ARG, after selecting the
+package, prompt for selection of the manual of that package to
+show."
+ (interactive "*P")
+ (let ((pkg (thing-at-point 'symbol))
+ buffer list doc)
+ ;; Strip off properties. XXX: XEmacs doesn't have
+ ;; `substring-no-properties'.
+ (set-text-properties 0 (length pkg) nil pkg)
+ (setq pkg (TeX-read-string "View documentation for: " pkg))
+ (unless (zerop (length pkg))
+ (if arg
+ ;; Called with prefix argument: run "texdoc --list --nointeract <pkg>"
+ (progn
+ ;; Create the buffer, insert the result of the command, and
+ ;; accumulate the list of manuals.
+ (with-current-buffer (get-buffer-create
+ (setq buffer (format "*texdoc: %s*" pkg)))
+ (erase-buffer)
+ (insert (shell-command-to-string
+ (concat "texdoc --list --nointeract " pkg)))
+ (goto-char 1) ; No need to use `point-min' here.
+ (save-excursion
+ (while (re-search-forward
+ ;; XXX: XEmacs doesn't support character classes in
+ ;; regexps, like "[:alnum:]".
+ "^ *\([0-9]+\) +\([-~/a-zA-Z0-9_.${}#%,:]+\)" nil t)
+ (push (cons (match-string 1) (match-string 2)) list))))
+ (unwind-protect
+ (cond
+ ((null (executable-find "texdoc"))
+ ;; Note: `shell-command-to-string' uses shell, only
+ ;; `call-process' looks at `exec-path', thus only here makes
+ ;; sense to use `executable-find' to test whether texdoc is
+ ;; available.
+ (message "texdoc not found"))
+ (list
+ ;; Go on if there are manuals listed: show the buffer, prompt
+ ;; for the number of the manual, then run
+ ;; texdoc --just-view <doc>
+ (TeX-pop-to-buffer (get-buffer buffer))
+ (condition-case nil
+ (when (setq doc
+ (cdr (assoc (TeX-read-string "Please enter \
+the number of the file to view, anything else to skip: ") list)))
+ (call-process "texdoc" nil 0 nil "--just-view" doc))
+ ;; Exit gently if a `quit' signal is thrown.
+ (quit nil)))
+ (t (message "No documentation found for %s" pkg)))
+ ;; In any case quit-and-kill the window. XXX: XEmacs doesn't have
+ ;; `quit-window', just kill the buffer in that case.
+ (when (get-buffer-window buffer)
+ (if (fboundp 'quit-window)
+ (quit-window t (get-buffer-window buffer))
+ (kill-buffer buffer)))))
+ ;; Called without prefix argument: just run "texdoc --view <pkg>" and
+ ;; show the output, so that the user is warned in case it doesn't find
+ ;; the documentation or "texdoc" is not available.
+ (message (shell-command-to-string (concat "texdoc --view " pkg)))))))
+
(defun TeX-goto-info-page ()
"Read documentation for AUCTeX in the info system."
(interactive)
- [AUCTeX-devel] [elpa] externals/auctex 524b45b 05/69: Merge branch 'master' into simplify-TeX-parse-error, (continued)
- [AUCTeX-devel] [elpa] externals/auctex 524b45b 05/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex a7f4839 04/69: Fix Wrong type argument: characterp, nil error., Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex a074732 15/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex f351ed9 24/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex 1950012 31/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex 95bef06 21/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex 6f74661 11/69: Merge from master., Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex c1dcb84 20/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex d7f443e 37/69: Add script to update the ChangeLog, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex a2a919d 61/69: Use TeX-quote-after-quote in all language style files, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex f9e6e4b 32/69: New function for reading documentation with texdoc,
Tassilo Horn <=
- [AUCTeX-devel] [elpa] externals/auctex 57147c7 59/69: Another fix for vertical bad box warnings, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex af1ee52 47/69: Add support for missing macro \SetLabelAlign, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex 17d1a5d 36/69: ; Merge branch 'simplify-TeX-parse-error', Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex 6962c34 56/69: Avoid checking duplicate directories in TeX-check-files, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex 416f131 40/69: Catch LaTeX class warnings, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex b88dc70 64/69: Improve prompts when defining LaTeX macros., Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex 00d9438 45/69: Add support for dviout viewer, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex 464bef6 39/69: Fix TeX-parse-error, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex 70e62a9 57/69: Catch more bad box warnings, Tassilo Horn, 2016/03/26
- [AUCTeX-devel] [elpa] externals/auctex d4b0d5f 67/69: Fix forward sync bug with multi-file documents, Tassilo Horn, 2016/03/26