Subject: bug#41841: closed (Re: bug#41841: 26.3; reftex and tikz's labels)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 14 Jun 2020 20:18:02 +0000

Your bug report

#41841: 26.3; reftex and tikz's labels

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

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

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

Subject: Re: bug#41841: 26.3; reftex and tikz's labels
From: Tassilo Horn <[email-masked]>
To: phs <[email-masked]>
Cc: [email-masked]
Date: Sun, 14 Jun 2020 22:17:10 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

phs <[email-masked]> writes:

> It seems reftex mistakes labels in tikz nodes with genuine \label 's
> in LaTeX source.
>
> To reproduce:
>
> 1) open a buffer foo.tex in LaTeX mode
>
> 2) insert (via cut&paste) the following text
>
> \begin{figure}
> \begin{tikzpicture}
> \node at (0,0) [label={node 0}] % not a LaTeX label
> \end{tikzpicture}
> \caption{Figure that!}
> \label{myfigure} % only genuine label
> \end{figure}

Does adding "tikzpicture" to
reftex-label-ignored-macros-and-environments work?

--8<---------------cut here---------------start------------->8---
reftex-label-ignored-macros-and-environments is a variable defined in ‘reftex-vars.el’.
Its value is nil

  You can customize this variable.
  This variable was introduced, or its default value was changed, in
  version 24.4 of Emacs.

Documentation:
List of macros and environments to be ignored when searching for labels.
The purpose is to ignore environments and macros that use keyval
style label=foo arguments, but the label has a different meaning
than a \label{foo}.  Standard \label{...} definitions are never
ignored.

E.g., TikZ defines several macros/environments where [label=foo]
defines the label to be printed at some node or edge, but it’s
not a label used for referencing.

Note that this feature is only supported if you are using AUCTeX
and the functions ‘TeX-current-macro’ and
‘LaTeX-current-environment’ are bound.  Also note that this
feature might slow down the reftex parsing process for large TeX
files.
--8<---------------cut here---------------end--------------->8---

In what's going to become Emacs 27.1, we are a bit more conservative and
have a whitelist of environments in which we look for label=foo options.
There, the bug doesn't happen anymore, so I'm closing this bug.

Thanks,
Tassilo

Subject: 26.3; reftex and tikz's labels
From: phs <[email-masked]>
To: [email-masked]
Date: Sat, 13 Jun 2020 23:26:11 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

It seems reftex mistakes labels in tikz nodes with genuine \label 's in
LaTeX
source.

To reproduce:

1) open a buffer foo.tex in LaTeX mode

2) insert (via cut&paste) the following text

\begin{figure}
\begin{tikzpicture}
\node at (0,0) [label={node 0}] % not a LaTeX label
\end{tikzpicture}
\caption{Figure that!}
\label{myfigure} % only genuine label
\end{figure}

3) M-x reftex-toc

4) in the TOC buffer, hit key l for reftex-toc-toggle-labels

5) now the TOC buffer shows a genuine LaTeX \label and an irrelevant
tikz node "label".

--phs

"Algebraic symbols are used when you do not know what you are talking about"

In GNU Emacs 26.3 (build 1, x86_64-apple-darwin18.2.0, NS appkit-1671.20
Version 10.14.3 (Build 18D109))
 of 2019-09-02 built on builder10-14.porkrind.org
Windowing system distributor 'Apple', version 10.3.1894

Configured using:
 'configure --with-ns '--enable-locallisppath=/Library/Application
 Support/Emacs/${version}/site-lisp:/Library/Application
 Support/Emacs/site-lisp' --with-modules'

Configured features:
NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS

Important settings:
  value of $LC_ALL: en_US
  value of $LANG: en_US
  locale-coding-system: utf-8-unix

Major mode: TOC

Minor modes in effect:
  cursor-intangible-mode: t
  global-magit-file-mode: t
  magit-auto-revert-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  icomplete-mode: t
  global-eldoc-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t