CVSROOT: /sources/auctex Module name: reftex Changes by: Ralf Angeli <angeli> 12/10/04 20:03:25
Index: lisp/reftex-index.el =================================================================== RCS file: /sources/auctex/reftex/lisp/reftex-index.el,v retrieving revision 1.44 retrieving revision 1.45 diff -u -b -r1.44 -r1.45 --- lisp/reftex-index.el 8 Aug 2009 16:29:27 -0000 1.44 +++ lisp/reftex-index.el 4 Oct 2012 20:03:24 -0000 1.45 @@ -1,17 +1,16 @@ ;;; reftex-index.el --- index support with RefTeX -;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007, 2008 Free Software Foundation, Inc. +;; Copyright (C) 1997-2012 Free Software Foundation, Inc. ;; Author: Carsten Dominik <[email protected]> ;; Maintainer: [email protected] ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -19,15 +18,12 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. ;;; Commentary: ;;; Code: -;; All glory to the byte compiler. (eval-when-compile (require 'cl)) (eval-and-compile (unless (fboundp 'declare-function) (defmacro declare-function (&rest r)))) @@ -37,10 +33,10 @@ ;; START remove for XEmacs release (defvar mark-active) -(defvar zmacs-regions) (defvar transient-mark-mode) (defvar TeX-master) ;; END remove for XEmacs release + (defun reftex-index-selection-or-word (&optional arg phrase) "Put selection or the word near point into the default index macro. This uses the information in `reftex-index-default-macro' to make an index @@ -94,7 +90,7 @@ (reftex-index def-char full-entry def-tag sel))))) (defun reftex-index (&optional char key tag sel no-insert) - "Query for an index macro and insert it along with its argments. + "Query for an index macro and insert it along with its arguments. The index macros available are those defined in `reftex-index-macro' or by a call to `reftex-add-index-macros', typically from an AUCTeX style file. RefteX provides completion for the index tag and the index key, and @@ -274,7 +270,110 @@ (and newtag (cdr cell) (not (member newtag (cdr cell))) (push newtag (cdr cell))))) -(defvar reftex-index-map (make-sparse-keymap) +(define-obsolete-variable-alias + 'reftex-index-map 'reftex-index-mode-map "24.1") +(defvar reftex-index-mode-map + (let ((map (make-sparse-keymap))) + ;; Index map + (define-key map (if (featurep 'xemacs) [(button2)] [(mouse-2)]) + 'reftex-index-mouse-goto-line-and-hide) + (define-key map [follow-link] 'mouse-face) + + (substitute-key-definition + 'next-line 'reftex-index-next map global-map) + (substitute-key-definition + 'previous-line 'reftex-index-previous map global-map) + + (loop for x in + '(("n" . reftex-index-next) + ("p" . reftex-index-previous) + ("?" . reftex-index-show-help) + (" " . reftex-index-view-entry) + ("\C-m" . reftex-index-goto-entry-and-hide) + ("\C-i" . reftex-index-goto-entry) + ("\C-k" . reftex-index-kill) + ("r" . reftex-index-rescan) + ("R" . reftex-index-Rescan) + ("g" . revert-buffer) + ("q" . reftex-index-quit) + ("k" . reftex-index-quit-and-kill) + ("f" . reftex-index-toggle-follow) + ("s" . reftex-index-switch-index-tag) + ("e" . reftex-index-edit) + ("^" . reftex-index-level-up) + ("_" . reftex-index-level-down) + ("}" . reftex-index-restrict-to-section) + ("{" . reftex-index-widen) + (">" . reftex-index-restriction-forward) + ("<" . reftex-index-restriction-backward) + ("(" . reftex-index-toggle-range-beginning) + (")" . reftex-index-toggle-range-end) + ("|" . reftex-index-edit-attribute) + ("@" . reftex-index-edit-visual) + ("*" . reftex-index-edit-key) + ("\C-c=". reftex-index-goto-toc) + ("c" . reftex-index-toggle-context)) + do (define-key map (car x) (cdr x))) + + (loop for key across "0123456789" do + (define-key map (vector (list key)) 'digit-argument)) + (define-key map "-" 'negative-argument) + + ;; The capital letters and the exclamation mark + (loop for key across (concat "!" reftex-index-section-letters) do + (define-key map (vector (list key)) + (list 'lambda '() '(interactive) + (list 'reftex-index-goto-letter key)))) + + (easy-menu-define reftex-index-menu map + "Menu for Index buffer" + '("Index" + ["Goto section A-Z" + (message "To go to a section, just press any of: !%s" + reftex-index-section-letters) t] + ["Show Entry" reftex-index-view-entry t] + ["Go To Entry" reftex-index-goto-entry t] + ["Exit & Go To Entry" reftex-index-goto-entry-and-hide t] + ["Table of Contents" reftex-index-goto-toc t] + ["Quit" reftex-index-quit t] + "--" + ("Update" + ["Rebuilt *Index* Buffer" revert-buffer t] + "--" + ["Rescan One File" reftex-index-rescan reftex-enable-partial-scans] + ["Rescan Entire Document" reftex-index-Rescan t]) + ("Restrict" + ["Restrict to section" reftex-index-restrict-to-section t] + ["Widen" reftex-index-widen reftex-index-restriction-indicator] + ["Next Section" reftex-index-restriction-forward + reftex-index-restriction-indicator] + ["Previous Section" reftex-index-restriction-backward + reftex-index-restriction-indicator]) + ("Edit" + ["Edit Entry" reftex-index-edit t] + ["Edit Key" reftex-index-edit-key t] + ["Edit Attribute" reftex-index-edit-attribute t] + ["Edit Visual" reftex-index-edit-visual t] + "--" + ["Add Parentkey" reftex-index-level-down t] + ["Remove Parentkey " reftex-index-level-up t] + "--" + ["Make Start-of-Range" reftex-index-toggle-range-beginning t] + ["Make End-of-Range" reftex-index-toggle-range-end t] + "--" + ["Kill Entry" reftex-index-kill nil] + "--" + ["Undo" reftex-index-undo nil]) + ("Options" + ["Context" reftex-index-toggle-context :style toggle + :selected reftex-index-include-context] + "--" + ["Follow Mode" reftex-index-toggle-follow :style toggle + :selected reftex-index-follow-mode]) + "--" + ["Help" reftex-index-show-help t])) + + map) "Keymap used for *Index* buffers.") (defvar reftex-index-menu) @@ -290,19 +389,14 @@ (defvar reftex-index-restriction-indicator nil) (defvar reftex-index-restriction-data nil) -(defun reftex-index-mode () +(define-derived-mode reftex-index-mode fundamental-mode "RefTeX Index" "Major mode for managing Index buffers for LaTeX files. This buffer was created with RefTeX. Press `?' for a summary of important key bindings, or check the menu. Here are all local bindings. -\\{reftex-index-map}" - (interactive) - (kill-all-local-variables) - (setq major-mode 'reftex-index-mode - mode-name "RefTeX Index") - (use-local-map reftex-index-map) +\\{reftex-index-mode-map}" (set (make-local-variable 'revert-buffer-function) 'reftex-index-revert) (set (make-local-variable 'reftex-index-restriction-data) nil) (set (make-local-variable 'reftex-index-restriction-indicator) nil) @@ -317,10 +411,9 @@ (make-local-hook 'post-command-hook) (make-local-hook 'pre-command-hook)) (make-local-variable 'reftex-last-follow-point) - (easy-menu-add reftex-index-menu reftex-index-map) + (easy-menu-add reftex-index-menu reftex-index-mode-map) (add-hook 'post-command-hook 'reftex-index-post-command-hook nil t) - (add-hook 'pre-command-hook 'reftex-index-pre-command-hook nil t) - (run-hooks 'reftex-index-mode-hook)) + (add-hook 'pre-command-hook 'reftex-index-pre-command-hook nil t)) (defconst reftex-index-help " AVAILABLE KEYS IN INDEX BUFFER @@ -424,8 +517,7 @@ (if (get-buffer-window buffer-name) (select-window (get-buffer-window buffer-name)) - (let ((default-major-mode 'reftex-index-mode)) - (switch-to-buffer buffer-name))) + (switch-to-buffer buffer-name)) (or (eq major-mode 'reftex-index-mode) (reftex-index-mode)) @@ -489,9 +581,7 @@ (if (memq reftex-highlight-selection '(mouse both)) reftex-mouse-selected-face nil)) - (index-face (reftex-verified-face reftex-label-face - 'font-lock-constant-face - 'font-lock-reference-face)) + (index-face reftex-label-face) sublist cell from to first-char) ;; Make the sublist and sort it @@ -567,7 +657,7 @@ (insert "\n"))) (defun reftex-get-restriction (arg docstruct) - ;; Interprete the prefix ARG and derive index restriction specs. + ;; Interpret the prefix ARG and derive index restriction specs. (let* ((beg (min (point) (or (condition-case nil (mark) (error nil)) (point-max)))) (end (max (point) (or (condition-case nil (mark) (error nil)) @@ -1013,8 +1103,7 @@ (setq beg (match-beginning 0) end (match-end 0)) (setq old (nth 2 data)) (and (equal old new) (error "Entry unchanged")) - (save-excursion - (set-buffer (get-file-buffer (nth 3 data))) + (with-current-buffer (get-file-buffer (nth 3 data)) (goto-char beg) (unless (looking-at (regexp-quote old)) (error "This should not happen (reftex-index-change-entry)")) @@ -1033,62 +1122,12 @@ (setq reftex-last-follow-point 1) (and message (message "%s" message)))) -;; Index map -(define-key reftex-index-map (if (featurep 'xemacs) [(button2)] [(mouse-2)]) - 'reftex-index-mouse-goto-line-and-hide) -(define-key reftex-index-map [follow-link] 'mouse-face) - -(substitute-key-definition - 'next-line 'reftex-index-next reftex-index-map global-map) -(substitute-key-definition - 'previous-line 'reftex-index-previous reftex-index-map global-map) - -(loop for x in - '(("n" . reftex-index-next) - ("p" . reftex-index-previous) - ("?" . reftex-index-show-help) - (" " . reftex-index-view-entry) - ("\C-m" . reftex-index-goto-entry-and-hide) - ("\C-i" . reftex-index-goto-entry) - ("\C-k" . reftex-index-kill) - ("r" . reftex-index-rescan) - ("R" . reftex-index-Rescan) - ("g" . revert-buffer) - ("q" . reftex-index-quit) - ("k" . reftex-index-quit-and-kill) - ("f" . reftex-index-toggle-follow) - ("s" . reftex-index-switch-index-tag) - ("e" . reftex-index-edit) - ("^" . reftex-index-level-up) - ("_" . reftex-index-level-down) - ("}" . reftex-index-restrict-to-section) - ("{" . reftex-index-widen) - (">" . reftex-index-restriction-forward) - ("<" . reftex-index-restriction-backward) - ("(" . reftex-index-toggle-range-beginning) - (")" . reftex-index-toggle-range-end) - ("|" . reftex-index-edit-attribute) - ("@" . reftex-index-edit-visual) - ("*" . reftex-index-edit-key) - ("\C-c=". reftex-index-goto-toc) - ("c" . reftex-index-toggle-context)) - do (define-key reftex-index-map (car x) (cdr x))) - -(loop for key across "0123456789" do - (define-key reftex-index-map (vector (list key)) 'digit-argument)) -(define-key reftex-index-map "-" 'negative-argument) - -;; The capital letters and the exclamation mark -(loop for key across (concat "!" reftex-index-section-letters) do - (define-key reftex-index-map (vector (list key)) - (list 'lambda '() '(interactive) - (list 'reftex-index-goto-letter key)))) - (defun reftex-index-goto-letter (char) "Go to the CHAR section in the index." (let ((pos (point)) (case-fold-search nil)) - (goto-line 3) + (goto-char (point-min)) + (forward-line 2) (if (re-search-forward (concat "^" (char-to-string char)) nil t) (progn (beginning-of-line) @@ -1101,55 +1140,6 @@ (error "This <%s> index does not contain entries starting with `%c'" reftex-index-tag char))))) -(easy-menu-define - reftex-index-menu reftex-index-map - "Menu for Index buffer" - `("Index" - ["Goto section A-Z" - (message "To go to a section, just press any of: !%s" - reftex-index-section-letters) t] - ["Show Entry" reftex-index-view-entry t] - ["Go To Entry" reftex-index-goto-entry t] - ["Exit & Go To Entry" reftex-index-goto-entry-and-hide t] - ["Table of Contents" reftex-index-goto-toc t] - ["Quit" reftex-index-quit t] - "--" - ("Update" - ["Rebuilt *Index* Buffer" revert-buffer t] - "--" - ["Rescan One File" reftex-index-rescan reftex-enable-partial-scans] - ["Rescan Entire Document" reftex-index-Rescan t]) - ("Restrict" - ["Restrict to section" reftex-index-restrict-to-section t] - ["Widen" reftex-index-widen reftex-index-restriction-indicator] - ["Next Section" reftex-index-restriction-forward - reftex-index-restriction-indicator] - ["Previous Section" reftex-index-restriction-backward - reftex-index-restriction-indicator]) - ("Edit" - ["Edit Entry" reftex-index-edit t] - ["Edit Key" reftex-index-edit-key t] - ["Edit Attribute" reftex-index-edit-attribute t] - ["Edit Visual" reftex-index-edit-visual t] - "--" - ["Add Parentkey" reftex-index-level-down t] - ["Remove Parentkey " reftex-index-level-up t] - "--" - ["Make Start-of-Range" reftex-index-toggle-range-beginning t] - ["Make End-of-Range" reftex-index-toggle-range-end t] - "--" - ["Kill Entry" reftex-index-kill nil] - "--" - ["Undo" reftex-index-undo nil]) - ("Options" - ["Context" reftex-index-toggle-context :style toggle - :selected reftex-index-include-context] - "--" - ["Follow Mode" reftex-index-toggle-follow :style toggle - :selected reftex-index-follow-mode]) - "--" - ["Help" reftex-index-show-help t])) - ;;---------------------------------------------------------------------- ;; The Index Phrases File @@ -1183,7 +1173,72 @@ "Font lock keywords for reftex-index-phrases-mode.") (defvar reftex-index-phrases-font-lock-defaults nil "Font lock defaults for reftex-index-phrases-mode.") -(defvar reftex-index-phrases-map (make-sparse-keymap) +(define-obsolete-variable-alias + 'reftex-index-phrases-map 'reftex-index-phrases-mode-map "24.1") +(defvar reftex-index-phrases-mode-map + (let ((map (make-sparse-keymap))) + ;; Keybindings and Menu for phrases buffer + (loop for x in + '(("\C-c\C-c" . reftex-index-phrases-save-and-return) + ("\C-c\C-x" . reftex-index-this-phrase) + ("\C-c\C-f" . reftex-index-next-phrase) + ("\C-c\C-r" . reftex-index-region-phrases) + ("\C-c\C-a" . reftex-index-all-phrases) + ("\C-c\C-d" . reftex-index-remaining-phrases) + ("\C-c\C-s" . reftex-index-sort-phrases) + ("\C-c\C-n" . reftex-index-new-phrase) + ("\C-c\C-m" . reftex-index-phrases-set-macro-key) + ("\C-c\C-i" . reftex-index-phrases-info) + ("\C-c\C-t" . reftex-index-find-next-conflict-phrase) + ("\C-i" . self-insert-command)) + do (define-key map (car x) (cdr x))) + + (easy-menu-define reftex-index-phrases-menu map + "Menu for Phrases buffer" + '("Phrases" + ["New Phrase" reftex-index-new-phrase t] + ["Set Phrase Macro" reftex-index-phrases-set-macro-key t] + ["Recreate File Header" reftex-index-initialize-phrases-buffer t] + "--" + ("Sort Phrases" + ["Sort" reftex-index-sort-phrases t] + "--" + "Sort Options" + ["by Search Phrase" (setq reftex-index-phrases-sort-prefers-entry nil) + :style radio :selected (not reftex-index-phrases-sort-prefers-entry)] + ["by Index Entry" (setq reftex-index-phrases-sort-prefers-entry t) + :style radio :selected reftex-index-phrases-sort-prefers-entry] + ["in Blocks" (setq reftex-index-phrases-sort-in-blocks + (not reftex-index-phrases-sort-in-blocks)) + :style toggle :selected reftex-index-phrases-sort-in-blocks]) + ["Describe Phrase" reftex-index-phrases-info t] + ["Next Phrase Conflict" reftex-index-find-next-conflict-phrase t] + "--" + ("Find and Index in Document" + ["Current Phrase" reftex-index-this-phrase t] + ["Next Phrase" reftex-index-next-phrase t] + ["Current and Following" reftex-index-remaining-phrases t] + ["Region Phrases" reftex-index-region-phrases t] + ["All Phrases" reftex-index-all-phrases t] + "--" + "Options" + ["Match Whole Words" (setq reftex-index-phrases-search-whole-words + (not reftex-index-phrases-search-whole-words)) + :style toggle :selected reftex-index-phrases-search-whole-words] + ["Case Sensitive Search" (setq reftex-index-phrases-case-fold-search + (not reftex-index-phrases-case-fold-search)) + :style toggle :selected (not + reftex-index-phrases-case-fold-search)] + ["Wrap Long Lines" (setq reftex-index-phrases-wrap-long-lines + (not reftex-index-phrases-wrap-long-lines)) + :style toggle :selected reftex-index-phrases-wrap-long-lines] + ["Skip Indexed Matches" (setq reftex-index-phrases-skip-indexed-matches + (not reftex-index-phrases-skip-indexed-matches)) + :style toggle :selected reftex-index-phrases-skip-indexed-matches]) + "--" + ["Save and Return" reftex-index-phrases-save-and-return t])) + + map) "Keymap used for *toc* buffer.") (defvar reftex-index-phrases-syntax-table (let ((table (make-syntax-table))) @@ -1293,7 +1348,7 @@ (defvar reftex-index-phrases-marker) (defvar reftex-index-phrases-restrict-file nil) ;;;###autoload -(defun reftex-index-phrases-mode () +(define-derived-mode reftex-index-phrases-mode fundamental-mode "Phrases" "Major mode for managing the Index phrases of a LaTeX document. This buffer was created with RefTeX. @@ -1316,19 +1371,13 @@ Here are all local bindings. -\\{reftex-index-phrases-map}" - (interactive) - (kill-all-local-variables) - (setq major-mode 'reftex-index-phrases-mode - mode-name "Phrases") - (set-syntax-table reftex-index-phrases-syntax-table) - (use-local-map reftex-index-phrases-map) +\\{reftex-index-phrases-mode-map}" + :syntax-table reftex-index-phrases-syntax-table (set (make-local-variable 'font-lock-defaults) reftex-index-phrases-font-lock-defaults) - (easy-menu-add reftex-index-phrases-menu reftex-index-phrases-map) - (set (make-local-variable 'reftex-index-phrases-marker) (make-marker)) - (run-hooks 'reftex-index-phrases-mode-hook)) -(add-hook 'reftex-index-phrases-mode-hook 'turn-on-font-lock) + (easy-menu-add reftex-index-phrases-menu reftex-index-phrases-mode-map) + (set (make-local-variable 'reftex-index-phrases-marker) (make-marker))) +;; (add-hook 'reftex-index-phrases-mode-hook 'turn-on-font-lock) ;; Font Locking stuff (let ((ss (if (featurep 'xemacs) 'secondary-selection ''secondary-selection))) @@ -1600,7 +1649,7 @@ (while (re-search-forward re2 nil t) (push (cons (count-lines 1 (point)) (match-string 1)) superphrases) (incf ntimes2)))) - (save-excursion + (save-current-buffer (while (setq file (pop files)) (setq buf (reftex-get-file-buffer-force file)) (when buf @@ -1705,7 +1754,7 @@ (let* ((lines (split-string (buffer-substring beg end) "\n")) (lines1 (sort lines 'reftex-compare-phrase-lines))) (message "Sorting lines...done") - (let ((inhibit-quit t)) ;; make sure we do not loose lines + (let ((inhibit-quit t)) ;; make sure we do not lose lines (delete-region beg end) (insert (mapconcat 'identity lines1 "\n")))) (goto-char (point-max)) @@ -1908,7 +1957,7 @@ ((equal char ?\C-g) (keyboard-quit)) ((member char '(?o ?O)) - ;; Select a differnt macro + ;; Select a different macro (let* ((nc (reftex-index-select-phrases-macro 2)) (macro-data (cdr (assoc nc reftex-index-phrases-macro-data))) @@ -2046,70 +2095,6 @@ reftex-index-phrases-macro-data "\n")))) (reftex-select-with-char prompt help delay))) -;; Keybindings and Menu for phrases buffer - -(loop for x in - '(("\C-c\C-c" . reftex-index-phrases-save-and-return) - ("\C-c\C-x" . reftex-index-this-phrase) - ("\C-c\C-f" . reftex-index-next-phrase) - ("\C-c\C-r" . reftex-index-region-phrases) - ("\C-c\C-a" . reftex-index-all-phrases) - ("\C-c\C-d" . reftex-index-remaining-phrases) - ("\C-c\C-s" . reftex-index-sort-phrases) - ("\C-c\C-n" . reftex-index-new-phrase) - ("\C-c\C-m" . reftex-index-phrases-set-macro-key) - ("\C-c\C-i" . reftex-index-phrases-info) - ("\C-c\C-t" . reftex-index-find-next-conflict-phrase) - ("\C-i" . self-insert-command)) - do (define-key reftex-index-phrases-map (car x) (cdr x))) - -(easy-menu-define - reftex-index-phrases-menu reftex-index-phrases-map - "Menu for Phrases buffer" - '("Phrases" - ["New Phrase" reftex-index-new-phrase t] - ["Set Phrase Macro" reftex-index-phrases-set-macro-key t] - ["Recreate File Header" reftex-index-initialize-phrases-buffer t] - "--" - ("Sort Phrases" - ["Sort" reftex-index-sort-phrases t] - "--" - "Sort Options" - ["by Search Phrase" (setq reftex-index-phrases-sort-prefers-entry nil) - :style radio :selected (not reftex-index-phrases-sort-prefers-entry)] - ["by Index Entry" (setq reftex-index-phrases-sort-prefers-entry t) - :style radio :selected reftex-index-phrases-sort-prefers-entry] - ["in Blocks" (setq reftex-index-phrases-sort-in-blocks - (not reftex-index-phrases-sort-in-blocks)) - :style toggle :selected reftex-index-phrases-sort-in-blocks]) - ["Describe Phrase" reftex-index-phrases-info t] - ["Next Phrase Conflict" reftex-index-find-next-conflict-phrase t] - "--" - ("Find and Index in Document" - ["Current Phrase" reftex-index-this-phrase t] - ["Next Phrase" reftex-index-next-phrase t] - ["Current and Following" reftex-index-remaining-phrases t] - ["Region Phrases" reftex-index-region-phrases t] - ["All Phrases" reftex-index-all-phrases t] - "--" - "Options" - ["Match Whole Words" (setq reftex-index-phrases-search-whole-words - (not reftex-index-phrases-search-whole-words)) - :style toggle :selected reftex-index-phrases-search-whole-words] - ["Case Sensitive Search" (setq reftex-index-phrases-case-fold-search - (not reftex-index-phrases-case-fold-search)) - :style toggle :selected (not - reftex-index-phrases-case-fold-search)] - ["Wrap Long Lines" (setq reftex-index-phrases-wrap-long-lines - (not reftex-index-phrases-wrap-long-lines)) - :style toggle :selected reftex-index-phrases-wrap-long-lines] - ["Skip Indexed Matches" (setq reftex-index-phrases-skip-indexed-matches - (not reftex-index-phrases-skip-indexed-matches)) - :style toggle :selected reftex-index-phrases-skip-indexed-matches]) - "--" - ["Save and Return" reftex-index-phrases-save-and-return t])) - (provide 'reftex-index) -;;; arch-tag: 4b2362af-c156-42c1-8932-ea2823e205c1 ;;; reftex-index.el ends here _______________________________________________ auctex-diffs mailing list [email protected] https://lists.gnu.org/mailman/listinfo/auctex-diffs
