emacs-elpa-diffs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]