GNU bug report logs -
#26010
Indenting in tabulars and \&
Previous Next
Reported by: Arash Esbati <arash <at> gnu.org>
Date: Tue, 7 Mar 2017 13:26:01 UTC
Severity: normal
Done: Arash Esbati <arash <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 26010 <at> debbugs.gnu.org (full text, mbox):
Ikumi Keita <ikumi <at> ikumi.que.jp> writes:
>> Otherwise, I suggest the following change in `LaTeX-indent-tabular':
>> (cond (...
>> (t
>> (+ 2
>> (let ((any-col (save-excursion
>> (when (re-search-backward "\\\\\\\\\\|[^\\]&" beg-pos t)
>> (current-column)))))
>> (if (and any-col (string= "&" (substring (match-string-no-properties 0) -1)))
>> (1+ any-col)
>> beg-col)))))))
>> Comments welcome.
Hi Keita,
many thanks for checking and your response.
> I think the form `(string= ...)' can be replaced with
> `(= ?& (char-before (match-end 0)))'.
Yes, this is even more elegant.
> And here is another solution keeping the regexp untouched:
> (cond (...
> (t
> (+ 2
> (let ((any-col (save-excursion
> (when (and
> (re-search-backward "\\\\\\\\\\|&" beg-pos t)
> (= ?& (char-after))
> (not (TeX-escaped-p)))
> (current-column)))))
> (or any-col
> beg-col))))))))
>
> Using `TeX-escaped-p' might be overkilling since we allow loose usages of
> (looking-at "\\\\\\\\") and (re-search-backward "\\\\\\\\... ) in this
> function.
I agree, this seems overkill. `[^\\]' is also used in
`LaTeX-hanging-ampersand-position' which is right above
`LaTeX-indent-tabular' in latex. el -- these functions would look more
in line with `[^\\]' in regexp. This is the current suggestion:
(cond (...
(t
(+ 2
(let ((any-col (save-excursion
(when (re-search-backward "\\\\\\\\\\|[^\\]&" beg-pos t)
(current-column)))))
(if (and any-col (= ?& (char-before (match-end 0)))
(1+ any-col)
beg-col)))))))
Best, Arash
This bug report was last modified 8 years and 169 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.