Subject: bug#21366: closed (Re: bug#21366: 11.88.6; Vertical bar is paired delimiter in syntax table)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 28 Aug 2015 08:52:02 +0000

Your bug report

#21366: 11.88.6; Vertical bar is paired delimiter in syntax table

which was filed against the auctex package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
21366: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21366
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#21366: 11.88.6; Vertical bar is paired delimiter in syntax table
From: Tassilo Horn <[email-masked]>
To: Michael Hoffman <[email-masked]>
Cc: [email-masked]
Date: Fri, 28 Aug 2015 10:51:25 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Michael Hoffman <[email-masked]> writes:

Hi Michael,

> I don't understand why | is treated as a paired delimiter in the first
> place, though.

It used to have symbol syntax, and then I changed some fontification
code which required that it became some non-symbol syntax.  I chose
paired delimiter because it seemed to be convenient in my typical use
(lots of \verb|stuff|) because then typing | would insert a pair of bars
with `electric-pair-mode'.

Well, that was obviously a bad decision, so now AUCTeX uses punctuation
syntax for it.  That will appear in 11.88.8 from ELPA then.

Bye,
Tassilo

Subject: 11.88.6; Vertical bar is paired delimiter in syntax table
From: Michael Hoffman <[email-masked]>
To: [email-masked]
Date: Thu, 27 Aug 2015 17:21:44 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

The vertical bar (|) is paired delimiter/math mode ("$") in the TeX 
syntax table. This means that balanced vertical bars are expected just 
as balanced parentheses. This causes problems with S-expression movement 
and Flyspell when there are odd numbers of vertical bars. The easiest 
way to reproduce a problem this causes:

1. Create test1.tex with contents:

{|{}|{}|}

2. Go to beginning of buffer and type C-M-f (forward-sexp)

What I expected to happen:

Cursor moves to last closing curly brace.

What happens instead:

I receive the error:

forward-sexp: Scan error: "Unbalanced parentheses", 1, 11

This sort of unbalanced vertical bar is likely to happen in table 
definitions.

Workaround:

Add this to .emacs:

(with-eval-after-load 'tex
    (modify-syntax-entry ?| "." TeX-mode-syntax-table))

I don't understand why | is treated as a paired delimiter in the first 
place, though.

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

Emacs  : GNU Emacs 24.5.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.8.8)
  of 2015-07-29 on mhoffman2.uhnres.utoronto.ca
Package: 11.88.6

current state:
==============
(setq
  AUCTeX-date "2015-05-08"
  window-system 'x
  LaTeX-version "2e"
  TeX-style-path '("~/.emacs.d/auctex" 
"/users/mhoffman/.emacs.d/elpa/auctex-11.88.6/style"
                   "/users/mhoffman/.emacs.d/auctex/auto" 
"/users/mhoffman/.emacs.d/auctex/style"
                   "auto" "style")
  TeX-auto-save t
  TeX-parse-self t
  TeX-master t
  TeX-command-list '(("Make" "make LATEX=\"%`%l%(mode)\"" TeX-run-TeX t 
t :help "Run make")
                     ("Latexmk" "latexmk -pdf %s" TeX-run-TeX nil t 
:help "Run Latexmk")
                     ("TeX" "%(PDF)%(tex) %(file-line-error) 
%(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"))
  )