[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/auctex f9e6e4b 32/69: New function for reading document
From: |
Tassilo Horn |
Subject: |
[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 "\r" '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)
- [elpa] externals/auctex c6d3152 29/69: Merge branch 'master' into simplify-TeX-parse-error, (continued)
- [elpa] externals/auctex c6d3152 29/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex 7d4bfac 18/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex 312c74a 17/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex a1473f7 33/69: Capture warnings from packages with hyphens in name, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex f7d0535 34/69: Fix file name regexp in TeX-documentation-texdoc, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex f9efa73 35/69: Another fix for file name regexp in TeX-documentation-texdoc, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex 2cca33f 42/69: Minor fix in TeX-documentation-texdoc, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex 3dec183 08/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex 1950012 31/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex 056d8c8 50/69: Fix TeX-check-files, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex f9e6e4b 32/69: New function for reading documentation with texdoc,
Tassilo Horn <=
- [elpa] externals/auctex c1dcb84 20/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex fd46872 25/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex c09c405 48/69: Fix wrong usage of `TeX-auto-prepare-hook', Tassilo Horn, 2016/03/26
- [elpa] externals/auctex 6962c34 56/69: Avoid checking duplicate directories in TeX-check-files, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex 17d1a5d 36/69: ; Merge branch 'simplify-TeX-parse-error', Tassilo Horn, 2016/03/26
- [elpa] externals/auctex 416f131 40/69: Catch LaTeX class warnings, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex 891bba7 38/69: Add ERT test for error parsing, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex b72dcb7 44/69: Add support for SumatraPDF viewer, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex f1bcbe3 54/69: Improve LaTeX-warnings-regexp, Tassilo Horn, 2016/03/26
- [elpa] externals/auctex 08ae29b 19/69: Merge branch 'master' into simplify-TeX-parse-error, Tassilo Horn, 2016/03/26