Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.

Be sure to consult the FAQ section in the manual before submitting
a bug report.  In addition check if the bug is reproducable with an
up-to-date version of AUCTeX.  So please upgrade to the version
available from http://www.gnu.org/software/auctex/ if your
installation is older than the one available from the web site.

If the bug is triggered by a specific (La)TeX file, you should try
to produce a minimal sample file showing the problem and include it
in your report.

Your bug report will be posted to the AUCTeX bug reporting list.
------------------------------------------------------------------------

(1) The mark position is not recorded in mark-ring when using C-c .
    (LaTeX-mark-environment).
    This is inconvenient when I plan to go back to the marked position
    afterward.

    Example:
    1. Open the following file with AUCTeX.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{article}

\begin{document}
\begin{itemize}
\item abc
\item MARK HERE
\item xyz
\end{itemize}

\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2. Put the point on the text "MARK HERE" and type C-SPC.
    3. Type C-c . to cover the itemize environment with a region.
    4. Type C-u C-SPC several times.  You cannot go back to the position
       "MARK HERE".

    The reason is that LaTeX-mark-environment uses set-mark, not
    push-mark.  Considering that the doc string of set-mark tells
    to avoid using set-mark, I propose the attached patch-1 to replace
    set-mark with push-mark.

    Similar issue seems to apply for ConTeXt-mark-environment in
    context.el and Texinfo-mark-environment, Texinfo-mark-section in
    tex-info.el so the patch-1 includes fixes for them, too.

(2) TeX-insert-dollar now has a nice feature that repeating type of `$'
    toggles between inline equation, display equation, and no equation
    if TeX-electric-math is properly set up.  I have a question about
    the management of the mark with respect to that toggle.

--- Quote from TeX-insert-dollar in tex.el ----------------------------
      (cond
       ;; $...$ to $$...$$
       ((and (eq last-command 'TeX-insert-dollar)
             (re-search-forward "\\=\\$\\([^$][^z-a]*[^$]\\)\\$" (mark) t))
        (replace-match "$$\\1$$")
        (push-mark (match-beginning 0) t))
       ;; \(...\) to \[...\]
       ((and (eq last-command 'TeX-insert-dollar)
             (re-search-forward "\\=\\\\(\\([^z-a]*\\)\\\\)" (mark) t))
        (replace-match "\\\\[\\1\\\\]")
        (push-mark (match-beginning 0) t))
       ;; Strip \[...\] or $$...$$
       ((and (eq last-command 'TeX-insert-dollar)
             (or (re-search-forward "\\=\\\\\\[\\([^z-a]*\\)\\\\\\]" (mark) t)
                 (re-search-forward "\\=\\$\\$\\([^z-a]*\\)\\$\\$" (mark) t)))
        (replace-match "\\1")
        (push-mark (match-beginning 0) t))
       (t
-----------------------------------------------------------------------

    Here push-mark is called every time for a toggle.  They repeat to
    save the mark position in mark-ring, which results in mark-ring
    populated with duplicated markers with the same position like this:
(#<marker at 45 in abc.tex> #<marker at 45 in abc.tex> #<marker at 42 in 
abc.tex> #<marker at 42 in abc.tex> #<marker at 42 in abc.tex> #<marker at 42 
in abc.tex> #<marker at 42 in abc.tex> #<marker at 42 in abc.tex>)

    Is this an intended behaviour?  If not so, I propose to replace
    push-mark with just goto-char like in the attached patch-2.
    (Although looking-at should be used instead of re-search-forward in the
     above quoted portion for code readability, I don't touch those lines
     here.)

Emacs  : GNU Emacs 24.3.1 (x86_64-unknown-freebsd10.0, GTK+ Version 3.8.8)
 of 2014-08-12 on freebsd.vmware
Package: 2014-07-13

current state:
==============
(setq
 AUCTeX-date "2014-07-13"
 window-system 'x
 LaTeX-version "2e"
 TeX-style-path '("/usr/local/var/auctex" "/home/keita/elisp/auctex/style"
                  "/home/keita/.emacs.d/auctex/auto"
                  "/home/keita/.emacs.d/auctex/style" "auto" "style")
 TeX-auto-save nil
 TeX-parse-self t
 TeX-master t
 TeX-command-list '(("PDF" "dvipdfmx -C 2 %d" TeX-run-command t t :help
                     "Generate PDF file")
                    ("jTeX" "%(PDF)jtex %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX
                     nil (plain-tex-mode) :help "Run NTT jTeX")
                    ("jLaTeX" "%(PDF)jlatex %`%S%(PDFout)%(mode)%' %t"
                     TeX-run-TeX nil (latex-mode) :help "Run NTT jLaTeX")
                    ("pTeX" "%(PDF)ptex %(kanjiopt)%`%S%(PDFout)%(mode)%' %t"
                     TeX-run-TeX nil (plain-tex-mode) :help "Run ASCII pTeX")
                    ("pLaTeX"
                     "%(PDF)platex %(kanjiopt)%`%S%(PDFout)%(mode)%' %t"
                     TeX-run-TeX nil (latex-mode) :help "Run ASCII pLaTeX")
                    ("Mendex" "mendex %(mendexkopt)%s" TeX-run-command nil t
                     :help "Create index file with mendex")
                    ("jBibTeX" "jbibtex %s" TeX-run-BibTeX nil t :help
                     "Run jBibTeX")
                    ("pBibTeX" "pbibtex %(kanjiopt)%s" TeX-run-BibTeX nil t
                     :help "Run pBibTeX")
                    ("-" "" ignore nil t)
                    ("TeX"
                     "%(PDF)%(tex) %(extraopts) %`%S%(PDFout)%(mode)%' %t"
                     TeX-run-TeX nil (plain-tex-mode ams-tex-mode texinfo-mode)
                     :help "Run plain TeX")
                    ("LaTeX" "%`%l%(mode)%' %t" TeX-run-TeX nil
                     (latex-mode doctex-mode) :help "Run LaTeX")
                    ("Makeinfo" "makeinfo %(extraopts) %t" TeX-run-compile nil
                     (texinfo-mode) :help "Run Makeinfo with Info output")
                    ("Makeinfo HTML" "makeinfo %(extraopts) --html %t"
                     TeX-run-compile nil (texinfo-mode) :help
                     "Run Makeinfo with HTML output")
                    ("AmSTeX"
                     "%(PDF)amstex %(extraopts) %`%S%(PDFout)%(mode)%' %t"
                     TeX-run-TeX nil (ams-tex-mode) :help "Run AMSTeX")
                    ("ConTeXt"
                     "texexec --once --texutil %(extraopts) %(execopts)%t"
                     TeX-run-TeX nil (context-mode) :help "Run ConTeXt once")
                    ("ConTeXt Full" "texexec %(extraopts) %(execopts)%t"
                     TeX-run-TeX nil (context-mode) :help
                     "Run ConTeXt until completion")
                    ("BibTeX" "%(bibtex) %s" TeX-run-BibTeX nil t :help
                     "Run BibTeX")
                    ("Biber" "biber %s" TeX-run-Biber nil t :help "Run Biber")
                    ("View" "%V" TeX-run-discard-or-function t t :help
                     "Run Viewer")
                    ("Print" "%p" TeX-run-command t t :help "Print the file")
                    ("Queue" "%q" TeX-run-background nil t :help
                     "View the printer queue" :visible TeX-queue-command)
                    ("File" "%(o?)dvips %d -o %f " TeX-run-command t t :help
                     "Generate PostScript file")
                    ("Index" "%(makeindex) %s" TeX-run-command nil t :help
                     "Create index file")
                    ("Xindy" "texindy %s" TeX-run-command nil t :help
                     "Run xindy to create index file")
                    ("Check" "lacheck %s" TeX-run-compile nil (latex-mode)
                     :help "Check LaTeX file for correctness")
                    ("ChkTeX" "chktex -v6 %s" TeX-run-compile nil (latex-mode)
                     :help "Check LaTeX file for common mistakes")
                    ("Spell" "(TeX-ispell-document \"\")" TeX-run-function nil
                     t :help "Spell-check the document")
                    ("Clean" "TeX-clean" TeX-run-function nil t :help
                     "Delete generated intermediate files")
                    ("Clean All" "(TeX-clean t)" TeX-run-function nil t :help
                     "Delete generated intermediate and output files")
                    ("Other" "" TeX-run-command t t :help
                     "Run an arbitrary command")
                    )
 )

diff --git a/context.el b/context.el
--- a/context.el
+++ b/context.el
@@ -839,7 +839,7 @@
   (interactive)
   (let ((cur (point)))
     (ConTeXt-find-matching-stop inner)
-    (set-mark (point))
+    (push-mark (point))
     (goto-char cur)
     (ConTeXt-find-matching-start inner)
     (TeX-activate-region)))
diff --git a/latex.el b/latex.el
--- a/latex.el
+++ b/latex.el
@@ -4172,7 +4172,7 @@
       (goto-char cur)
       (dotimes (c count) (LaTeX-find-matching-begin))
       (setq beg (point)))
-    (set-mark end)
+    (push-mark end)
     (goto-char beg)
     (TeX-activate-region)))
 
diff --git a/tex-info.el b/tex-info.el
--- a/tex-info.el
+++ b/tex-info.el
@@ -183,7 +183,7 @@
 	(unless (= (1+ c) count)
 	  (beginning-of-line 0)))
       (setq beg (point)))
-    (set-mark end)
+    (push-mark end)
     (goto-char beg)
     (TeX-activate-region)))
 
@@ -264,7 +264,7 @@
 	    (when  (looking-at "^\\s-*@node\\_>")
 	      (set boundary (point))))))
 
-      (set-mark end)
+      (push-mark end)
       (goto-char beg)
       (TeX-activate-region) )))
 
@@ -284,7 +284,7 @@
 		    (progn (beginning-of-line) (point))))))
 
     (when (and beg end)
-      (set-mark end)
+      (push-mark end)
       (goto-char beg)
       (TeX-activate-region) )))
 
diff --git a/tex.el b/tex.el
--- a/tex.el
+++ b/tex.el
@@ -751,7 +751,8 @@
     (and transient-mark-mode mark-active))
 
   (defun TeX-activate-region ()
-    nil)
+    (setq deactivate-mark nil)
+    (activate-mark))
 
   (defun TeX-overlay-prioritize (start end)
     "Calculate a priority for an overlay extending from START to END.
@@ -5540,18 +5541,18 @@
        ((and (eq last-command 'TeX-insert-dollar)
 	     (re-search-forward "\\=\\$\\([^$][^z-a]*[^$]\\)\\$" (mark) t))
 	(replace-match "$$\\1$$")
-	(push-mark (match-beginning 0) t))
+	(goto-char (match-beginning 0)))
        ;; \(...\) to \[...\]
        ((and (eq last-command 'TeX-insert-dollar)
 	     (re-search-forward "\\=\\\\(\\([^z-a]*\\)\\\\)" (mark) t))
 	(replace-match "\\\\[\\1\\\\]")
-	(push-mark (match-beginning 0) t))
+	(goto-char (match-beginning 0)))
        ;; Strip \[...\] or $$...$$
        ((and (eq last-command 'TeX-insert-dollar)
 	     (or (re-search-forward "\\=\\\\\\[\\([^z-a]*\\)\\\\\\]" (mark) t)
 		 (re-search-forward "\\=\\$\\$\\([^z-a]*\\)\\$\\$" (mark) t)))
 	(replace-match "\\1")
-	(push-mark (match-beginning 0) t))
+	(goto-char (match-beginning 0)))
        (t
 	;; We use `save-excursion' because point must be situated before opening
 	;; symbol.
@@ -5559,10 +5560,7 @@
 	(exchange-point-and-mark)
 	(insert (cdr TeX-electric-math))))
       ;; Keep the region active.
-      (if (featurep 'xemacs)
-	  (zmacs-activate-region)
-	(setq activate-mark t
-	      deactivate-mark nil)))
+      (TeX-activate-region))
      (TeX-electric-math
       (insert (car TeX-electric-math))
       (save-excursion (insert (cdr TeX-electric-math)))
_______________________________________________
bug-auctex mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-auctex

Reply via email to