[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#5624: 23.1; etags elisp and scheme "=" in names
From: |
Alex |
Subject: |
bug#5624: 23.1; etags elisp and scheme "=" in names |
Date: |
Sat, 10 Jun 2017 19:37:49 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Kevin Ryde <user42@zip.com.au> writes:
> If an elisp defun has an "=" char in its name, etags stops at that point
> and the TAGS file doesn't have the whole name. Eg. a foo.el containing
>
> (defun foo==bar () (message "hi"))
>
> M-. foo==bar gives
>
> No tags containing foo==bar
>
> The same seems to be true of scheme, eg. a foo.scm containing a similar
>
> (define foo==bar 123)
>
> The way the tag line comes out means a single "=" at the end of a name,
> or any number of them at the start of a name, ends up working, but I
> believe it's legal (if unusual) to have them in the middle of a name
> too.
This appears to be because in etags.c, all languages use the same
`notinname' procedure to determine a valid identifier.
Shouldn't each language (optionally) use a different procedure to
determine the bounds of an identifier? Lisp and Scheme, for instance,
would not have '=' in their respective `notinname' procedures.
- bug#5624: 23.1; etags elisp and scheme "=" in names,
Alex <=