auctex-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[AUCTeX-diffs] GNU AUCTeX branch, master, updated. 3d813cdeb8e7e7184dcf9


From: Ikumi Keita
Subject: [AUCTeX-diffs] GNU AUCTeX branch, master, updated. 3d813cdeb8e7e7184dcf9d58f576584312cffae6
Date: Fri, 23 Apr 2021 04:22:37 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU AUCTeX".

The branch, master has been updated
       via  3d813cdeb8e7e7184dcf9d58f576584312cffae6 (commit)
      from  93363d31b7ad7a6ab92eb7cd5cb741f22469ea3b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 3d813cdeb8e7e7184dcf9d58f576584312cffae6
Author: Ikumi Keita <ikumi@ikumi.que.jp>
Date:   Fri Apr 23 17:10:31 2021 +0900

    Add new test
    
    * tests/latex/latex-test.el (LaTeX-electric-pair-interaction): New
    test.
    * latex.el (LaTeX-insert-left-brace): Add comments.

diff --git a/latex.el b/latex.el
index 767fe21..3330037 100644
--- a/latex.el
+++ b/latex.el
@@ -2900,7 +2900,12 @@ Normally bound to keys \(, { and [."
              (> (point) (mark)))
         (exchange-point-and-mark))
     (if auto-p
+        ;; Should supply corresponding right brace with possible
+        ;; \right-like macro.
         (let ((lbrace (char-to-string last-command-event)) lmacro skip-p)
+          ;; Use `insert' rather than `self-insert-command' so that
+          ;; unexcpected side effects, e.g. `electric-pair-mode',
+          ;; won't mess up the following outcomes. (bug#47936)
           (insert last-command-event)
           (save-excursion
             (backward-char)
@@ -2931,6 +2936,8 @@ Normally bound to keys \(, { and [."
                   (goto-char (mark)))
               (LaTeX-insert-corresponding-right-macro-and-brace
                lmacro lbrace))))
+      ;; Don't supply right brace and just act as ordinary
+      ;; `self-insert-command'.
       (self-insert-command (prefix-numeric-value arg)))))
 ;; Cater for `delete-selection-mode' (bug#36385)
 ;; See the header comment of delsel.el for detail.
diff --git a/tests/latex/latex-test.el b/tests/latex/latex-test.el
index 6f70d95..81cfc52 100644
--- a/tests/latex/latex-test.el
+++ b/tests/latex/latex-test.el
@@ -536,4 +536,34 @@ ghi"))
 \\end{quote}
 ")))))
 
+(ert-deftest LaTeX-electric-pair-interaction ()
+  "Whether `LaTeX-insert-left-brace' is compatible with `electric-pair-mode'."
+  (require 'elec-pair)
+  (let ((LaTeX-electric-left-right-brace t)
+        (orig-mode electric-pair-mode))
+    (unwind-protect
+        (with-temp-buffer
+          ;; Temporally enable electric pair mode, if not enabled
+          ;; already.
+          (or orig-mode
+              (electric-pair-mode 1))
+          (latex-mode)
+
+          ;; When `LaTeX-insert-left-brace' supplies right brace,
+          ;; `electric-pair-mode' shoudn't come into play.
+          (setq last-command-event ?\()
+          (LaTeX-insert-left-brace nil)
+          (should (string= "()" (buffer-string)))
+
+          (erase-buffer)
+          ;; When there is a prefix argument, `LaTeX-insert-left-brace'
+          ;; just calls `self-insert-command' and `electric-pair-mode'
+          ;; should work.
+          (setq last-command-event ?\()
+          (LaTeX-insert-left-brace 2)
+          (should (string= "(()" (buffer-string))))
+      ;; Restore electric pair mode.
+      (or orig-mode
+          (electric-pair-mode -1)))))
+
 ;;; latex-test.el ends here

-----------------------------------------------------------------------

Summary of changes:
 latex.el                  |  7 +++++++
 tests/latex/latex-test.el | 30 ++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+)


hooks/post-receive
-- 
GNU AUCTeX



reply via email to

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