[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 84/299: improve completion in LaTeX-arg-usepackage
From: |
Stefan Monnier |
Subject: |
[elpa] 84/299: improve completion in LaTeX-arg-usepackage |
Date: |
Sun, 02 Nov 2014 03:10:30 +0000 |
monnier pushed a commit to branch externals/auctex
in repository elpa.
commit 92a24e2d02e75ca9304a2ea219bcb8b6b03940cd
Author: Mosè Giordano <address@hidden>
Date: Sat Apr 6 20:18:07 2013 +0200
improve completion in LaTeX-arg-usepackage
* latex.el (LaTeX-provided-class-options-member): Fix typo.
(LaTeX-arg-usepackage): Provide completion for more than one
package in mandatory argument.
---
ChangeLog | 6 ++++
latex.el | 79 +++++++++++++++++++++++++++++++++++-------------------------
2 files changed, 52 insertions(+), 33 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 75ea747..bb742f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-04-06 Mos� Giordano <address@hidden>
+
+ * latex.el (LaTeX-provided-class-options-member): Fix typo.
+ (LaTeX-arg-usepackage): Provide completion for more than one
+ package in mandatory argument.
+
2013-04-05 Mos� Giordano <address@hidden>
* latex.el (LaTeX-global-class-files): New variable.
diff --git a/latex.el b/latex.el
index 2ebddef..be1083b 100644
--- a/latex.el
+++ b/latex.el
@@ -1336,7 +1336,7 @@ See also `LaTeX-provided-package-options'.")
(defun LaTeX-provided-class-options-member (class option)
"Return non-nil if OPTION has been given to CLASS at load time.
The value is actually the tail of the list of options given to CLASS."
- (member option (cdr (assoc package LaTeX-provided-class-options))))
+ (member option (cdr (assoc class LaTeX-provided-class-options))))
(defvar LaTeX-provided-package-options nil
"Alist of options provided to LaTeX packages.
@@ -1836,38 +1836,51 @@ OPTIONAL and IGNORE are ignored."
(defun LaTeX-arg-usepackage (optional)
"Insert arguments to usepackage.
OPTIONAL is ignored."
- (let ((TeX-file-extensions '("sty"))
- (TeX-arg-input-file-search (or TeX-arg-input-file-search 'ask)))
- (TeX-arg-input-file nil "Package")
- (save-excursion
- (search-backward-regexp "{\\(.*\\)}")
- (let* ((package (TeX-match-buffer 1))
- (var (intern (format "LaTeX-%s-package-options" package)))
- (crm-separator ",")
- (TeX-arg-opening-brace LaTeX-optop)
- (TeX-arg-closing-brace LaTeX-optcl)
- options)
- (if (or (and (boundp var)
- (listp (symbol-value var)))
- (fboundp var))
- (if (functionp var)
- (setq options (funcall var))
- (when (symbol-value var)
- (setq options
- (mapconcat 'identity
- (TeX-completing-read-multiple
- "Options: " (mapcar 'list (symbol-value var)))
- ","))))
- (setq options (read-string "Options: ")))
- (unless (zerop (length options))
- (let ((opts (LaTeX-listify-package-options options)))
- (TeX-add-to-alist 'LaTeX-provided-package-options
- (list (cons package opts))))
- (TeX-argument-insert options t)
- ;; When `babel' package is loaded with options, load also language
- ;; style files.
- (when (string-equal package "babel")
- (mapc 'TeX-run-style-hooks (LaTeX-babel-active-languages))))))))
+ (let* ((TeX-file-extensions '("sty"))
+ (crm-separator ",")
+ packages var options)
+ (unless TeX-global-input-files
+ (if (if (eq TeX-arg-input-file-search 'ask)
+ (not (y-or-n-p "Find packages yourself? "))
+ TeX-arg-input-file-search)
+ (progn
+ (message "Searching for LaTeX packages...")
+ (setq TeX-global-input-files
+ (mapcar 'list (TeX-search-files-by-type
+ 'texinputs 'global t t))))))
+ (setq packages (TeX-completing-read-multiple
+ "Packages: " TeX-global-input-files))
+ (mapc 'TeX-run-style-hooks packages)
+ (setq var (if (= 1 (length packages))
+ (intern (format "LaTeX-%s-package-options" (car packages)))
+ ;; Something like `\usepackage[options]{pkg1,pkg2,pkg3,...}' is
+ ;; allowed (provided that pkg1, pkg2, pkg3, ... accept same
+ ;; options). When there is more than one package, set `var' to
+ ;; a dummy value so next `if' enters else form.
+ t))
+ (if (or (and (boundp var)
+ (listp (symbol-value var)))
+ (fboundp var))
+ (if (functionp var)
+ (setq options (funcall var))
+ (when (symbol-value var)
+ (setq options
+ (mapconcat 'identity
+ (TeX-completing-read-multiple
+ "Options: " (mapcar 'list (symbol-value var)))
+ ","))))
+ (setq options (read-string "Options: ")))
+ (unless (zerop (length options))
+ (let ((opts (LaTeX-listify-package-options options)))
+ (mapc (lambda (elt)
+ (TeX-add-to-alist 'LaTeX-provided-package-options
+ (list (cons elt opts))))
+ packages))
+ (insert LaTeX-optop options LaTeX-optcl)
+ ;; When `babel' is loaded with options, load also language style files.
+ (when (member "babel" packages)
+ (mapc 'TeX-run-style-hooks (LaTeX-babel-active-languages))))
+ (insert TeX-grop (mapconcat 'identity packages ",") TeX-grcl)))
(defcustom LaTeX-search-files-type-alist
'((texinputs "${TEXINPUTS.latex}" ("tex/generic/" "tex/latex/")
- [elpa] 72/299: * latex.el (TeX-read-key-val): New function. (TeX-arg-key-val): Use `TeX-read-key-val'., (continued)
- [elpa] 72/299: * latex.el (TeX-read-key-val): New function. (TeX-arg-key-val): Use `TeX-read-key-val'., Stefan Monnier, 2014/11/01
- [elpa] 76/299: * style/biblatex.el (LaTeX-biblatex-package-options): Correct name of `TeX-read-key-val' argument., Stefan Monnier, 2014/11/01
- [elpa] 75/299: * latex.el (LaTeX-common-initialization): Remove `addbibresource' macro., Stefan Monnier, 2014/11/01
- [elpa] 74/299: * style/biblatex.el (LaTeX-biblatex-addbibresource-options): New variable. (LaTeX-arg-addbibresource): New function, based on current `TeX-arg-bibliography'. ("biblatex"): Add `addbibresource' macro. (LaTeX-biblatex-package-options): Use `TeX-read-key-val'. * latex.el (TeX-arg-bibliography): Remove `addbibresource' support., Stefan Monnier, 2014/11/01
- [elpa] 77/299: * latex.el (TeX-arg-document): Search for LaTeX classes., Stefan Monnier, 2014/11/01
- [elpa] 80/299: Fix for conversion to git., Stefan Monnier, 2014/11/01
- [elpa] 79/299: Minor fix for the latest commit., Stefan Monnier, 2014/11/01
- [elpa] 81/299: Add .gitignore file., Stefan Monnier, 2014/11/01
- [elpa] 85/299: Minor docfix., Stefan Monnier, 2014/11/01
- [elpa] 83/299: provide completion for options in `TeX-arg-document', Stefan Monnier, 2014/11/01
- [elpa] 84/299: improve completion in LaTeX-arg-usepackage,
Stefan Monnier <=
- [elpa] 82/299: Delete CVS Id keywords from lisp files., Stefan Monnier, 2014/11/01
- [elpa] 87/299: Support darwin., Stefan Monnier, 2014/11/01
- [elpa] 78/299: Better management of package options., Stefan Monnier, 2014/11/01
- [elpa] 90/299: Update README for Git., Stefan Monnier, 2014/11/01
- [elpa] 91/299: Fix typo., Stefan Monnier, 2014/11/01
- [elpa] 92/299: Syntax fix., Stefan Monnier, 2014/11/01
- [elpa] 93/299: Fix bug in TeX-evince-sync-view., Stefan Monnier, 2014/11/01
- [elpa] 86/299: Make LaTeX-outline-level work for customized outline-regexp., Stefan Monnier, 2014/11/01
- [elpa] 88/299: Improve TeX-math-input-method-off-regexp., Stefan Monnier, 2014/11/01
- [elpa] 89/299: Fix a bug in font-latex-add-to-syntax-alist., Stefan Monnier, 2014/11/01