[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 256/299: Implement error overview.
From: |
Stefan Monnier |
Subject: |
[elpa] 256/299: Implement error overview. |
Date: |
Sun, 02 Nov 2014 03:11:49 +0000 |
monnier pushed a commit to branch externals/auctex
in repository elpa.
commit 00935e91ae60b2d7aab7706ee576e44acd55607f
Author: Mosè Giordano <address@hidden>
Date: Sat Jun 28 00:22:40 2014 +0200
Implement error overview.
* tex-buf.el (TeX-command): Kill the frame and buffer associated
to the error overview before running commands.
(TeX-TeX-sentinel): Open error overview if
`TeX-error-overview-open-after-TeX-run' is non-nil and there are
errors or warnings to show.
(TeX-LaTeX-sentinel): Ditto.
(TeX-find-display-help): Set `runbuf' to `TeX-active-buffer' since
this function may be called also from the error overview buffer.
(TeX-error-description-faces): Change group to more appropriate
`TeX-output'.
(TeX-error-overview-active-buffer): New variable.
(TeX-error-overview-orig-frame): Ditto.
(TeX-error-overview-orig-window): Ditto.
(TeX-error-overview-frame): Ditto.
(TeX-error-overview-setup): New customizable variable.
(TeX-error-overview-setup): New function.
(TeX-error-overview-goto-source): Ditto.
(TeX-error-overview-make-entries): Ditto.
(TeX-error-overview-next-error): Ditto.
(TeX-error-overview-previous-error): Ditto.
(TeX-error-overview-quit): Ditto.
(TeX-error-overview-mode-map): New variable.
(TeX-error-overview-list-entries): Ditto.
(TeX-error-overview-mode): New major mode.
(TeX-error-overview-buffer-name): New constant.
(TeX-error-overview-frame-parameters): New customizable variable.
(TeX-error-overview-open-after-TeX-run): Ditto.
(TeX-error-overview): New function.
* tex.el (TeX-error-overview): Autoload `TeX-error-overview'.
(TeX-mode-specific-command-menu-entries): Add an entry for the
error overview.
* doc/auctex.texi (Debugging): Document error overview.
* doc/changes.texi: Mention error overview. Add local variables
to the end of the file.
* doc/todo.texi: Add local variables to the end of the file.
(Wishlist): Update entry about error reporting.
---
ChangeLog | 43 ++++++++
doc/auctex.texi | 46 +++++++++-
doc/changes.texi | 21 +++-
doc/todo.texi | 12 ++-
tex-buf.el | 287 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
tex.el | 5 +-
6 files changed, 397 insertions(+), 17 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f408ff7..95d9f5b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,46 @@
+2014-06-28 Mos� Giordano <address@hidden>
+
+ * tex-buf.el (TeX-command): Kill the frame and buffer associated
+ to the error overview before running commands.
+ (TeX-TeX-sentinel): Open error overview if
+ `TeX-error-overview-open-after-TeX-run' is non-nil and there are
+ errors or warnings to show.
+ (TeX-LaTeX-sentinel): Ditto.
+ (TeX-find-display-help): Set `runbuf' to `TeX-active-buffer' since
+ this function may be called also from the error overview buffer.
+ (TeX-error-description-faces): Change group to more appropriate
+ `TeX-output'.
+ (TeX-error-overview-active-buffer): New variable.
+ (TeX-error-overview-orig-frame): Ditto.
+ (TeX-error-overview-orig-window): Ditto.
+ (TeX-error-overview-frame): Ditto.
+ (TeX-error-overview-setup): New customizable variable.
+ (TeX-error-overview-setup): New function.
+ (TeX-error-overview-goto-source): Ditto.
+ (TeX-error-overview-make-entries): Ditto.
+ (TeX-error-overview-next-error): Ditto.
+ (TeX-error-overview-previous-error): Ditto.
+ (TeX-error-overview-quit): Ditto.
+ (TeX-error-overview-mode-map): New variable.
+ (TeX-error-overview-list-entries): Ditto.
+ (TeX-error-overview-mode): New major mode.
+ (TeX-error-overview-buffer-name): New constant.
+ (TeX-error-overview-frame-parameters): New customizable variable.
+ (TeX-error-overview-open-after-TeX-run): Ditto.
+ (TeX-error-overview): New function.
+
+ * tex.el (TeX-error-overview): Autoload `TeX-error-overview'.
+ (TeX-mode-specific-command-menu-entries): Add an entry for the
+ error overview.
+
+ * doc/auctex.texi (Debugging): Document error overview.
+
+ * doc/changes.texi: Mention error overview. Add local variables
+ to the end of the file.
+
+ * doc/todo.texi: Add local variables to the end of the file.
+ (Wishlist): Update entry about error reporting.
+
2014-06-21 Mos� Giordano <address@hidden>
* tex-buf.el (TeX-parse-TeX): Use `TeX-find-display-help' in place
diff --git a/doc/auctex.texi b/doc/auctex.texi
index 6320543..85c19fe 100644
--- a/doc/auctex.texi
+++ b/doc/auctex.texi
@@ -3130,7 +3130,7 @@ If t, @AUCTeX{} automatically parses the whole output log
buffer right
after running a @TeX{} command, in order to collect all warnings and
errors. This makes it possible to navigate back and forth between the
error messages using @code{TeX-next-error} and
address@hidden This is the default. If nil, @AUCTeX{} do
address@hidden This is the default. If nil, @AUCTeX{} does
not parse the whole output log buffer and @code{TeX-previous-error}
cannot be used.
@end defopt
@@ -3162,6 +3162,45 @@ terse information about the error is displayed in the
echo area. If
@TeX{} output.
@end defopt
+When the option @code{TeX-parse-all-errors} is non-nil, you will be also
+able to open an overview of all errors and warnings reported by the TeX
+compiler. This feature requires @code{tabulated-list-mode}, shipped
+with GNU Emacs 24 or later.
+
address@hidden Command TeX-error-overview
+Show an overview of the errors and warnings occurred in the last TeX
+run.
+
+In this window you can visit the error on which point is on by pressing
address@hidden, and visit the next or previous issue by pressing @key{n} or
address@hidden respectively. A prefix argument to these keys specifies how
+many errors to move forward or backward. You can visit an error also by
+clicking on its message. Press @key{q} to quit the overview.
address@hidden deffn
+
address@hidden TeX-error-overview-open-after-TeX-run
+When this boolean variable is non-nil, the error overview will be
+automatically opened after running TeX if there are errors or warnings
+to show.
address@hidden defopt
+
+The error overview is opened in a new window of the current frame by
+default, but you can change this behavior by customizing the option
address@hidden
+
address@hidden TeX-error-overview-setup
+Controls the frame setup of the error overview. The possible value is:
address@hidden; with a nil value the current frame is used
+instead.
+
+The parameters of the separate frame can be set with the
address@hidden option.
+
+If the display does not support multi frame, the current frame
+will be used regardless of the value of this variable.
address@hidden TeX-error-overview-frame-parameters
address@hidden defopt
+
@node Checking
@section Checking for problems
@cindex Checking
@@ -5036,3 +5075,8 @@ used by @AUCTeX{} for sectioning.
@printindex cp
@bye
+
address@hidden Local Variables:
address@hidden mode: texinfo
address@hidden TeX-master: t
address@hidden End:
diff --git a/doc/changes.texi b/doc/changes.texi
index 3c2273e..d421833 100644
--- a/doc/changes.texi
+++ b/doc/changes.texi
@@ -17,8 +17,12 @@
@item
Now @code{TeX-previous-error} works with @TeX{} commands if the new
option @code{TeX-parse-all-errors} is non-nil, which is the default.
address@hidden and @code{TeX-previous-error} can take a numeric
-argument to specify how many errors to move forward or backward.
+When this option is non-nil, an overview of errors and warnings reported
+by the TeX compiler can be opened with @kbd{M-x TeX-error-overview
address@hidden
address@hidden rawfile
address@hidden, for details.
address@hidden ifclear
@item
Style file authors are encouraged to distinguish common from expert
@@ -43,10 +47,10 @@ Now you can insert @samp{$...$} or @samp{\(...\)} by typing
a single
@end ifclear
@item
address@hidden RET documentclass RET} completes with all available @LaTeX{}
-classes, if the @code{TeX-arg-input-file-search} variable is non-nil.
-Completion for class options of the standard @LaTeX{} classes is
-provided as well.
address@hidden @key{RET} documentclass @key{RET}} completes with all available
address@hidden classes, if the @code{TeX-arg-input-file-search} variable is
+non-nil. Completion for class options of the standard @LaTeX{} classes
+is provided as well.
@item
New user options @code{LaTeX-default-author},
@@ -933,3 +937,8 @@ Added by David Kastrup <David.Kastrup@@t-online.de>.
@item
Bug fixes.
@end itemize
+
address@hidden Local Variables:
address@hidden mode: texinfo
address@hidden TeX-master: "auctex"
address@hidden End:
diff --git a/doc/todo.texi b/doc/todo.texi
index b084ca5..5035223 100644
--- a/doc/todo.texi
+++ b/doc/todo.texi
@@ -89,12 +89,9 @@ requested yet.
A special ispell dictionary for macros could be nice to have.
address@hidden Quick error overviews
address@hidden Improvements to error reporting
-An error overview window (extract from the log file with just the error
-lines, clickable like a ``grep'' buffer; @code{TeX-error-list} can be
-used for this purpose) and/or fringe indicators for errors in the main
-text would be nice.
+Fringe indicators for errors in the main text would be nice.
@item A math entry grid
@@ -340,3 +337,8 @@ signs and the like spilling out of the verbatim content.
(XEmacs only)
Folding of @LaTeX{} constructs spanning more than one line may result in
overfull lines. (XEmacs only)
@end itemize
+
address@hidden Local Variables:
address@hidden mode: texinfo
address@hidden TeX-master: "auctex"
address@hidden End:
diff --git a/tex-buf.el b/tex-buf.el
index 61f5aa7..2bcde1b 100644
--- a/tex-buf.el
+++ b/tex-buf.el
@@ -353,6 +353,13 @@ asked if it is positive, and suppressed if it is not."
(read-from-minibuffer (concat name " command: ") command
nil nil)))
+ ;; Kill the frame and buffer associated to the error overview before
running
+ ;; the command.
+ (if (frame-live-p TeX-error-overview-frame)
+ (delete-frame TeX-error-overview-frame))
+ (if (get-buffer TeX-error-overview-buffer-name)
+ (kill-buffer TeX-error-overview-buffer-name))
+
;; Now start the process
(setq file (funcall file))
(TeX-process-set-variable file 'TeX-command-next TeX-command-Show)
@@ -924,12 +931,18 @@ NAME is the name of the process.")
"Cleanup TeX output buffer after running TeX.
Parse the output buffer to collect errors and warnings if the
-variable `TeX-parse-all-errors' is non-nil."
+variable `TeX-parse-all-errors' is non-nil.
+
+Open the error overview if
+`TeX-error-overview-open-after-TeX-run' is non-nil and there are
+errors or warnings to show."
(if (TeX-TeX-sentinel-check process name)
()
(message (concat name ": formatted " (TeX-current-pages)))
(if TeX-parse-all-errors
(TeX-parse-all-errors))
+ (if (and TeX-error-overview-open-after-TeX-run TeX-error-list)
+ (TeX-error-overview))
(setq TeX-command-next TeX-command-Show)))
(defun TeX-current-pages ()
@@ -993,9 +1006,15 @@ Warnings can be indicated by LaTeX or packages."
"Cleanup TeX output buffer after running LaTeX.
Parse the output buffer to collect errors and warnings if the
-variable `TeX-parse-all-errors' is non-nil."
+variable `TeX-parse-all-errors' is non-nil.
+
+Open the error overview if
+`TeX-error-overview-open-after-TeX-run' is non-nil and there are
+errors or warnings to show."
(if TeX-parse-all-errors
(TeX-parse-all-errors))
+ (if (and TeX-error-overview-open-after-TeX-run TeX-error-list)
+ (TeX-error-overview))
(cond ((TeX-TeX-sentinel-check process name))
((and (save-excursion
(re-search-forward
@@ -1700,7 +1719,7 @@ Return non-nil if an error or warning is found."
(error "Could not determine file for warning"))))
;; Go back to TeX-buffer
- (let ((runbuf (current-buffer))
+ (let ((runbuf (TeX-active-buffer))
(master (with-current-buffer TeX-command-buffer
(expand-file-name (TeX-master-file))))
(command-buffer TeX-command-buffer)
@@ -1871,7 +1890,7 @@ warning."
(defgroup TeX-error-description-faces nil
"Faces used in error descriptions."
:prefix "TeX-error-description-"
- :group 'AUCTeX)
+ :group 'TeX-output)
(defface TeX-error-description-error
;; This is the same as `error' face in latest GNU Emacs versions.
@@ -2393,6 +2412,266 @@ error."
(regexp :tag "Match")
(string :format "Description:\n%v"))))
+;;; Error Overview
+
+(defvar TeX-error-overview-active-buffer nil
+ "The active buffer for the current error overview.")
+
+(defvar TeX-error-overview-orig-frame nil
+ "Frame from which the error overview has been launched.")
+
+(defvar TeX-error-overview-orig-window nil
+ "Window from which the error overview has been launched.")
+
+(defvar TeX-error-overview-frame nil
+ "The frame of the error overview.")
+
+(defcustom TeX-error-overview-setup nil
+ "The frame setup of the error overview.
+
+The possible value is: `separate-frame' (error oveview in a
+separate frame); with a nil value the current frame is used.
+
+If the display does not support multi frame, the current frame
+will be used regardless of the value of this variable."
+ :group 'TeX-output
+ :type '(choice
+ (const :tag "Error overview in separate frame" separate-frame)
+ (const :tag "Use current frame" nil)))
+
+(defun TeX-error-overview-setup ()
+ "Return the frame setup of the error overview for the current display."
+ (and (display-multi-frame-p) TeX-error-overview-setup))
+
+(defun TeX-error-overview-goto-source (&optional button)
+ "Go to the error point in the source.
+If optional argument BUTTON is non-nil, go to source associated
+to the selected error."
+ (interactive)
+ (let ((index (if button (button-get button 'id) (tabulated-list-get-id)))
+ item window)
+ (if index
+ (progn
+ ;; Select the source frame/window, if still live.
+ (if (TeX-error-overview-setup)
+ (if (frame-live-p TeX-error-overview-orig-frame)
+ (select-frame TeX-error-overview-orig-frame)
+ (error "You have deleted a vital frame---\
+please restart TeX error overview"))
+ (if (window-live-p TeX-error-overview-orig-window)
+ (select-window TeX-error-overview-orig-window)
+ (error "You have deleted a vital window---\
+please restart TeX error overview")))
+ ;; Get the error details.
+ (with-current-buffer TeX-error-overview-active-buffer
+ (setq item (nth index TeX-error-list)
+ TeX-error-last-visited index))
+ ;; Find the error and display the help.
+ (with-current-buffer TeX-command-buffer
+ ;; For consistency with `TeX-parse-TeX', use the major mode of
+ ;; `TeX-command-buffer' when visiting the error point.
+ (let ((default-major-mode major-mode))
+ ;; Find the error and display the help.
+ (apply 'TeX-find-display-help item)))
+ ;; Return to the error overview.
+ (if (TeX-error-overview-setup)
+ (select-frame TeX-error-overview-frame)
+ (if (setq window
+ (get-buffer-window TeX-error-overview-buffer-name))
+ ;; If error overview window is visible just select it.
+ (select-window window)
+ ;; Otherwise, split the help window and display the error overview
+ ;; near to it. This should be the only reason for the error
+ ;; overview window not being still visible after the beginning of
+ ;; the function.
+ (select-window
+ (get-buffer-window (cond
+ ((eq TeX-display-help 'expert)
+ TeX-error-overview-active-buffer)
+ (TeX-display-help "*TeX Help*"))))
+ (if (window-splittable-p (selected-window) t)
+ (split-window-horizontally)
+ (split-window-vertically))
+ (switch-to-buffer TeX-error-overview-buffer-name))))
+ (message "No more errors.")
+ (beep))))
+
+(defun TeX-error-overview-make-entries ()
+ "Generate the list of errors to be printed using `tabulated-list-entries'."
+ (with-current-buffer TeX-error-overview-active-buffer
+ (let ((id 0)
+ type file line msg entries)
+ (mapc
+ (lambda (entry)
+ (setq type (nth 0 entry)
+ file (nth 1 entry)
+ line (nth 2 entry)
+ msg (nth 3 entry))
+ (add-to-list
+ 'entries
+ (list
+ ;; ID.
+ id
+ (vector
+ ;; File.
+ (if (stringp file) file "")
+ ;; Line.
+ (if (numberp line)
+ (number-to-string line)
+ "")
+ ;; Type.
+ (cond
+ ((equal type 'error)
+ (propertize "Error" 'font-lock-face 'TeX-error-description-error))
+ ((equal type 'warning)
+ (propertize "Warning" 'font-lock-face
+ 'TeX-error-description-warning))
+ ((equal type 'bad-box)
+ (propertize "Bad box" 'font-lock-face
+ 'TeX-error-description-warning))
+ (t
+ ""))
+ ;; Message.
+ (list (if (stringp msg) msg "")
+ 'face 'link
+ 'follow-link t
+ 'id id
+ 'action 'TeX-error-overview-goto-source)
+ )) t)
+ (setq id (1+ id))) TeX-error-list)
+ entries)))
+
+(defun TeX-error-overview-next-error (&optional arg)
+ "Move to the next line and find the associated error.
+
+A prefix ARG specifies how many error messages to move; negative
+means move back to previous error messages."
+ (interactive "p")
+ (if (= (forward-line arg) 0)
+ (TeX-error-overview-goto-source)
+ ;; If there are lines left to move we are at the beginning or at the end of
+ ;; the buffer and there are no more errors.
+ (message "No more errors.")
+ (beep)))
+
+(defun TeX-error-overview-previous-error (&optional arg)
+ "Move to the previous line and find the associated error.
+
+Prefix arg N says how many error messages to move backward (or
+forward, if negative)."
+ (interactive "p")
+ (TeX-error-overview-next-error (- arg)))
+
+(defun TeX-error-overview-quit ()
+ "Delete the window or the frame of the error overview."
+ (interactive)
+ (if (TeX-error-overview-setup)
+ (delete-frame TeX-error-overview-frame)
+ (delete-window))
+ (setq TeX-error-overview-orig-frame nil))
+
+(defvar TeX-error-overview-mode-map
+ (let ((map (make-sparse-keymap))
+ (menu-map (make-sparse-keymap)))
+ (define-key map "n" 'TeX-error-overview-next-error)
+ (define-key map "p" 'TeX-error-overview-previous-error)
+ (define-key map "q" 'TeX-error-overview-quit)
+ (define-key map "\C-m" 'TeX-error-overview-goto-source)
+ map)
+ "Local keymap for `TeX-error-overview-mode' buffers.")
+
+(defvar TeX-error-overview-list-entries nil
+ "List of errors to be used in the error overview.")
+
+(define-derived-mode TeX-error-overview-mode tabulated-list-mode
+ "TeX errors"
+ "Major mode for listing TeX errors."
+ (setq tabulated-list-format [("File" 25 nil)
+ ("Line" 4 nil :right-align t)
+ ("Type" 7 nil)
+ ("Message" 0 nil)]
+ tabulated-list-padding 1
+ tabulated-list-entries TeX-error-overview-list-entries)
+ (tabulated-list-init-header)
+ (tabulated-list-print))
+
+(defconst TeX-error-overview-buffer-name "*TeX errors*"
+ "Name of the buffer in which to show error list.")
+
+(defcustom TeX-error-overview-frame-parameters
+ '((name . "TeX errors")
+ (title . "TeX errors")
+ (height . 10)
+ (width . 80)
+ (top . (- 0))
+ (left . (- 0))
+ (unsplittable . t)
+ (minibuffer . nil)
+ (vertical-scroll-bars . t)
+ (tool-bar-lines . 0))
+ "Parameters of the error overview frame."
+ :group 'TeX-output
+ :type 'alist
+ :options '((name string) (title string) (height integer) (width integer)
+ (top integer) (left integer) (unsplittable boolean)
+ (minibuffer boolean) (vertical-scroll-bars boolean)
+ (tool-bar-lines integer)))
+
+(defcustom TeX-error-overview-open-after-TeX-run nil
+ "Whether to open automatically the error overview after running TeX."
+ :group 'TeX-output
+ :type 'boolean)
+
+(defun TeX-error-overview ()
+ "Show an overview of the errors occurred in the last TeX run."
+ (interactive)
+ ;; Check requirements before start.
+ (if (fboundp 'tabulated-list-mode)
+ (if (setq TeX-error-overview-active-buffer (TeX-active-buffer))
+ (if (with-current-buffer TeX-error-overview-active-buffer
+ TeX-error-list)
+ (progn
+ (setq TeX-error-overview-list-entries
+ (TeX-error-overview-make-entries)
+ TeX-error-overview-orig-window (selected-window)
+ TeX-error-overview-orig-frame
+ (window-frame TeX-error-overview-orig-window))
+ ;; Create the error overview buffer. This is
+ ;; automatically killed before running TeX commands, so if
+ ;; exists it is up-to-date and doesn't need to be
+ ;; re-created.
+ (unless (get-buffer TeX-error-overview-buffer-name)
+ (with-current-buffer
+ (get-buffer-create TeX-error-overview-buffer-name)
+ (TeX-error-overview-mode)))
+ ;; Move point to the line associated to the last visited
+ ;; error.
+ (with-current-buffer TeX-error-overview-buffer-name
+ (goto-char (point-min))
+ (forward-line (with-current-buffer
+ TeX-error-overview-active-buffer
+ TeX-error-last-visited))
+ ;; Create a new frame for the error overview or display the
+ ;; buffer in the same frame, depending on the setup.
+ (if (TeX-error-overview-setup)
+ (if (frame-live-p TeX-error-overview-frame)
+ ;; Do not create a duplicate frame if there is
+ ;; already one, just select it.
+ (select-frame-set-input-focus
+ TeX-error-overview-frame)
+ ;; Create a new frame and store its name.
+ (select-frame
+ (setq TeX-error-overview-frame
+ (make-frame
+ TeX-error-overview-frame-parameters)))
+ (set-window-buffer (selected-window)
+ TeX-error-overview-buffer-name)
+ (set-window-dedicated-p (selected-window) t))
+ (TeX-pop-to-buffer TeX-error-overview-buffer-name))))
+ (error "No errror or warning to show"))
+ (error "No process for this document"))
+ (error "Error overview is available only in Emacs 24 or later")))
+
;;; Output mode
(if (fboundp 'special-mode)
diff --git a/tex.el b/tex.el
index 89b7437..6ac829f 100644
--- a/tex.el
+++ b/tex.el
@@ -551,6 +551,7 @@ the name of the file being processed, with an optional
extension."
(autoload 'TeX-kill-job "tex-buf" nil t)
(autoload 'TeX-recenter-output-buffer "tex-buf" nil t)
(autoload 'TeX-next-error "tex-buf" nil t)
+(autoload 'TeX-error-overview "tex-buf" nil t)
(autoload 'TeX-region-file "tex-buf" nil nil)
(autoload 'TeX-current-offset "tex-buf" nil nil)
(autoload 'TeX-process-set-variable "tex-buf" nil nil)
@@ -4421,6 +4422,8 @@ Brace insertion is only done if point is in a math
construct and
:help "Jump to the next error of the last TeX run"]
["Previous Error" TeX-previous-error
:help "Jump to the previous error of the last TeX run"]
+ ["Error overview" TeX-error-overview
+ :help "Open an overview of errors occured in the last TeX run"]
["Quick View" TeX-view
:help "Start a viewer without prompting"]
"-"
@@ -4448,7 +4451,7 @@ Brace insertion is only done if point is in a math
construct and
["Debug Warnings" TeX-toggle-debug-warnings
:style toggle :selected TeX-debug-warnings
:help "Make \"Next Error\" show warnings"])))
- (let ((file 'TeX-command-on-current));; is this actually needed?
+ (let ((file 'TeX-command-on-current)) ;; is this actually needed?
(TeX-maybe-remove-help
(delq nil
(mapcar 'TeX-command-menu-entry
- [elpa] 254/299: Simplify error finding and help displaying functions., (continued)
- [elpa] 254/299: Simplify error finding and help displaying functions., Stefan Monnier, 2014/11/01
- [elpa] 263/299: Fix remaining XEmacs compilation issues., Stefan Monnier, 2014/11/01
- [elpa] 260/299: Improve selection of the forward/inverse search method., Stefan Monnier, 2014/11/01
- [elpa] 262/299: Fix some XEmacs compilation issues., Stefan Monnier, 2014/11/01
- [elpa] 264/299: Fix some runtime issues in XEmacs., Stefan Monnier, 2014/11/01
- [elpa] 248/299: Implement TeX-previous-error., Stefan Monnier, 2014/11/01
- [elpa] 267/299: Remove .cvsignore and tests from the release tarball., Stefan Monnier, 2014/11/01
- [elpa] 265/299: Fix other runtime issues in XEmacs and Emacs 21., Stefan Monnier, 2014/11/01
- [elpa] 269/299: Fix outline promotion/demotion., Stefan Monnier, 2014/11/01
- [elpa] 261/299: Hide some entries of the Command menu when not available., Stefan Monnier, 2014/11/01
- [elpa] 256/299: Implement error overview.,
Stefan Monnier <=
- [elpa] 271/299: Keep error overview window if View command is run., Stefan Monnier, 2014/11/01
- [elpa] 275/299: Font-lock fix for verbatim environment args., Stefan Monnier, 2014/11/01
- [elpa] 274/299: Adapt mathtools.el to latest amsmath.el changes., Stefan Monnier, 2014/11/01
- [elpa] 270/299: Manage auto insertion of labels., Stefan Monnier, 2014/11/01
- [elpa] 272/299: Rename LaTeX-auto-insert-label and document its use for sections., Stefan Monnier, 2014/11/01
- [elpa] 277/299: Change Vincent's email address in ChangeLog., Stefan Monnier, 2014/11/01
- [elpa] 268/299: Add customizable option for default date format., Stefan Monnier, 2014/11/01
- [elpa] 273/299: Change again method to determine whether a label should be inserted., Stefan Monnier, 2014/11/01
- [elpa] 266/299: Auto insertion of ampersands., Stefan Monnier, 2014/11/01
- [elpa] 280/299: Bugfix in file name expansion., Stefan Monnier, 2014/11/01