* How do I use tags to go to begv_byte instead of BEGV_BYTE?
@ 2010-05-24 13:24 Lennart Borgman
2010-05-24 15:22 ` Andreas Schwab
0 siblings, 1 reply; 15+ messages in thread
From: Lennart Borgman @ 2010-05-24 13:24 UTC (permalink / raw)
To: Emacs-Devel devel
If I on the line below use `find-tag' and asks for "begv_byte" I just
get to this line again:
#define BEGV_BYTE (current_buffer->begv_byte)
What am I doing wrong?
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-05-24 13:24 How do I use tags to go to begv_byte instead of BEGV_BYTE? Lennart Borgman
@ 2010-05-24 15:22 ` Andreas Schwab
2010-05-24 15:37 ` Lennart Borgman
0 siblings, 1 reply; 15+ messages in thread
From: Andreas Schwab @ 2010-05-24 15:22 UTC (permalink / raw)
To: Lennart Borgman; +Cc: Emacs-Devel devel
Lennart Borgman <lennart.borgman@gmail.com> writes:
> If I on the line below use `find-tag' and asks for "begv_byte" I just
> get to this line again:
>
> #define BEGV_BYTE (current_buffer->begv_byte)
>
> What am I doing wrong?
You didn't read the documentation.
(find-tag TAGNAME &optional NEXT-P REGEXP-P)
Find tag (in current tags table) whose name contains TAGNAME.
Select the buffer containing the tag's definition, and move point there.
The default for TAGNAME is the expression in the buffer around or before point.
If second arg NEXT-P is t (interactively, with prefix arg), search for
another tag that matches the last tagname or regexp used. When there are
multiple matches for a tag, more exact matches are found first. If NEXT-P
is the atom `-' (interactively, with prefix arg that is a negative number
or just M--), pop back to the previous tag gone to.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-05-24 15:22 ` Andreas Schwab
@ 2010-05-24 15:37 ` Lennart Borgman
2010-05-24 15:52 ` Andreas Schwab
0 siblings, 1 reply; 15+ messages in thread
From: Lennart Borgman @ 2010-05-24 15:37 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Emacs-Devel devel
On Mon, May 24, 2010 at 5:22 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> Lennart Borgman <lennart.borgman@gmail.com> writes:
>
>> If I on the line below use `find-tag' and asks for "begv_byte" I just
>> get to this line again:
>>
>> #define BEGV_BYTE (current_buffer->begv_byte)
>>
>> What am I doing wrong?
>
> You didn't read the documentation.
Thanks Andreas, I am really not good at that, but I do not think the
documentation below explains why it is going to "BEGV_BYTE" when I
asked for "begv_byte", or?
There must be some other part of the documentation that explains that,
or? Did I somehow ask for a case insensitive tag file? But etags
surely know that C is case sensitive, or?
(The doc string below helps me practically however.)
> (find-tag TAGNAME &optional NEXT-P REGEXP-P)
>
> Find tag (in current tags table) whose name contains TAGNAME.
> Select the buffer containing the tag's definition, and move point there.
> The default for TAGNAME is the expression in the buffer around or before point.
>
> If second arg NEXT-P is t (interactively, with prefix arg), search for
> another tag that matches the last tagname or regexp used. When there are
> multiple matches for a tag, more exact matches are found first. If NEXT-P
> is the atom `-' (interactively, with prefix arg that is a negative number
> or just M--), pop back to the previous tag gone to.
>
> Andreas.
>
> --
> Andreas Schwab, schwab@linux-m68k.org
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
> "And now for something completely different."
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-05-24 15:37 ` Lennart Borgman
@ 2010-05-24 15:52 ` Andreas Schwab
2010-05-24 16:06 ` Lennart Borgman
0 siblings, 1 reply; 15+ messages in thread
From: Andreas Schwab @ 2010-05-24 15:52 UTC (permalink / raw)
To: Lennart Borgman; +Cc: Emacs-Devel devel
tags-case-fold-search is a variable defined in `etags.el'.
Its value is default
Documentation:
*Whether tags operations should be case-sensitive.
A value of t means case-insensitive, a value of nil means case-sensitive.
Any other value means use the setting of `case-fold-search'.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-05-24 15:52 ` Andreas Schwab
@ 2010-05-24 16:06 ` Lennart Borgman
2010-05-24 17:31 ` Stefan Monnier
0 siblings, 1 reply; 15+ messages in thread
From: Lennart Borgman @ 2010-05-24 16:06 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Emacs-Devel devel
On Mon, May 24, 2010 at 5:52 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> tags-case-fold-search is a variable defined in `etags.el'.
> Its value is default
>
> Documentation:
> *Whether tags operations should be case-sensitive.
> A value of t means case-insensitive, a value of nil means case-sensitive.
> Any other value means use the setting of `case-fold-search'.
Thanks, that helped.
However it is a quite surprising organizing of case fold search
handling. It looks like it does not care about major mode or buffer
file extension, both of them which could be used to make a better
guess for case fold search.
How do people handle that?
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-05-24 16:06 ` Lennart Borgman
@ 2010-05-24 17:31 ` Stefan Monnier
2010-05-24 18:29 ` Lennart Borgman
2010-08-29 1:04 ` Wojciech Meyer
0 siblings, 2 replies; 15+ messages in thread
From: Stefan Monnier @ 2010-05-24 17:31 UTC (permalink / raw)
To: Lennart Borgman; +Cc: Andreas Schwab, Emacs-Devel devel
> However it is a quite surprising organizing of case fold search
> handling. It looks like it does not care about major mode or buffer
> file extension, both of them which could be used to make a better
> guess for case fold search.
Yes, it's not perfect. To a large extent it is explained by the fact
that it's been that way for ages and back then Emacs did not try to be
nearly as clever.
Nowadays, I think etags.el would deserve to be improved so as to taken
the major mode into account, and also so as to give precedence to
case-exact matches, and also to automatically try the second-choice if
the first makes you jump to where you started.
IOW patches welcome,
Stefan
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-05-24 17:31 ` Stefan Monnier
@ 2010-05-24 18:29 ` Lennart Borgman
2010-08-29 1:04 ` Wojciech Meyer
1 sibling, 0 replies; 15+ messages in thread
From: Lennart Borgman @ 2010-05-24 18:29 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Andreas Schwab, Emacs-Devel devel
[-- Attachment #1: Type: text/plain, Size: 817 bytes --]
On Mon, May 24, 2010 at 7:31 PM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:
>> However it is a quite surprising organizing of case fold search
>> handling. It looks like it does not care about major mode or buffer
>> file extension, both of them which could be used to make a better
>> guess for case fold search.
>
> Yes, it's not perfect. To a large extent it is explained by the fact
> that it's been that way for ages and back then Emacs did not try to be
> nearly as clever.
> Nowadays, I think etags.el would deserve to be improved so as to taken
> the major mode into account, and also so as to give precedence to
> case-exact matches, and also to automatically try the second-choice if
> the first makes you jump to where you started.
>
> IOW patches welcome,
OK. Patch attached.
[-- Attachment #2: etags-1.diff --]
[-- Type: text/x-patch, Size: 5677 bytes --]
=== modified file 'lisp/progmodes/etags.el'
--- trunk/lisp/progmodes/etags.el 2010-05-01 01:08:43 +0000
+++ patched/lisp/progmodes/etags.el 2010-05-24 18:27:14 +0000
@@ -45,9 +45,25 @@
:group 'tools)
;;;###autoload
+(defcustom etags-case-fold-major-modes nil
+ "Major modes where etags should use case fold search.
+See `tags-case-fold-search' for more info."
+ :group 'etags)
+
+(defun etags-use-case-fold-search (major)
+ "Return t for case fold search, otherwise nil."
+ (cond ((memq tags-case-fold-search '(nil t))
+ tags-case-fold-search)
+ ((eq 'default tags-case-fold-search)
+ (when (memq major etags-case-fold-major-modes) t))
+ (t case-fold-search)))
+
+;;;###autoload
(defcustom tags-case-fold-search 'default
"*Whether tags operations should be case-sensitive.
A value of t means case-insensitive, a value of nil means case-sensitive.
+A value of 'default means use case-sensitive search unless the buffers
+major modes is in `etags-case-fold-major-modes'.
Any other value means use the setting of `case-fold-search'."
:group 'etags
:type '(choice (const :tag "Case-sensitive" nil)
@@ -798,9 +814,7 @@
"Using tags, return a completion table for the text around point.
If no tags table is loaded, do nothing and return nil."
(when (or tags-table-list tags-file-name)
- (let ((completion-ignore-case (if (memq tags-case-fold-search '(t nil))
- tags-case-fold-search
- case-fold-search))
+ (let ((completion-ignore-case (etags-use-case-fold-search major-mode))
(pattern (funcall (or find-tag-default-function
(get major-mode 'find-tag-default-function)
'find-tag-default)))
@@ -814,9 +828,7 @@
\f
(defun find-tag-tag (string)
"Read a tag name, with defaulting and completion."
- (let* ((completion-ignore-case (if (memq tags-case-fold-search '(t nil))
- tags-case-fold-search
- case-fold-search))
+ (let* ((completion-ignore-case (etags-use-case-fold-search major-mode))
(default (funcall (or find-tag-default-function
(get major-mode 'find-tag-default-function)
'find-tag-default)))
@@ -1079,23 +1091,21 @@
Arg MATCHING is a string, an English `-ing' word, to be used in an
error message."
-;; Algorithm is as follows:
-;; For each qualifier-func in ORDER, go to beginning of tags file, and
-;; perform inner loop: for each naive match for PATTERN found using
-;; SEARCH-FORWARD-FUNC, qualify the naive match using qualifier-func. If
-;; it qualifies, go to the specified line in the specified source file
-;; and return. Qualified matches are remembered to avoid repetition.
-;; State is saved so that the loop can be continued.
+ ;; Algorithm is as follows:
+ ;; For each qualifier-func in ORDER, go to beginning of tags file, and
+ ;; perform inner loop: for each naive match for PATTERN found using
+ ;; SEARCH-FORWARD-FUNC, qualify the naive match using qualifier-func. If
+ ;; it qualifies, go to the specified line in the specified source file
+ ;; and return. Qualified matches are remembered to avoid repetition.
+ ;; State is saved so that the loop can be continued.
(let (file ;name of file containing tag
tag-info ;where to find the tag in FILE
(first-table t)
(tag-order order)
(match-marker (make-marker))
goto-func
- (case-fold-search (if (memq tags-case-fold-search '(nil t))
- tags-case-fold-search
- case-fold-search))
- )
+ (case-fold (etags-use-case-fold-search major-mode))
+ (start-point-at-bol (point-at-bol)))
(save-excursion
(if first-search
@@ -1114,6 +1124,8 @@
;; Get a qualified match.
(catch 'qualified-match-found
+ ;; If case fold search try no-fold if failure
+ (dolist (case-fold-search (if case-fold '(t nil) '(nil)))
;; Iterate over the list of tags tables.
(while (or first-table
(visit-tags-table-buffer t))
@@ -1129,6 +1141,15 @@
(while (funcall search-forward-func pattern nil t)
;; Naive match found. Qualify the match.
(and (funcall (car order) pattern)
+ ;; On the line where we started?
+ (or (not (= (point-at-bol) start-point-at-bol))
+ ;; Accept it if it really is what we asked for.
+ (let ((here (point))
+ (case-fold-search nil))
+ (goto-char start-point-at-bol)
+ (prog1
+ (funcall search-forward-func pattern (point-at-eol) t)
+ (goto-char here))))
;; Make sure it is not a previous qualified match.
(not (member (set-marker match-marker (save-excursion
(beginning-of-line)
@@ -1140,7 +1161,9 @@
;; Try the next flavor of match.
(setq order (cdr order))
(goto-char (point-min)))
- (setq order tag-order))
+ (setq order tag-order)))
+
+
;; We throw out on match, so only get here if there were no matches.
;; Clear out the markers we use to avoid duplicate matches so they
;; don't slow down editting and are immediately available for GC.
@@ -1781,9 +1804,7 @@
"Evaluate FORM and return its result.
Bind `case-fold-search' during the evaluation, depending on the value of
`tags-case-fold-search'."
- (let ((case-fold-search (if (memq tags-case-fold-search '(t nil))
- tags-case-fold-search
- case-fold-search)))
+ (let ((case-fold (etags-use-case-fold-search major-mode)))
(eval form)))
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-05-24 17:31 ` Stefan Monnier
2010-05-24 18:29 ` Lennart Borgman
@ 2010-08-29 1:04 ` Wojciech Meyer
2010-08-30 21:39 ` Wojciech Meyer
1 sibling, 1 reply; 15+ messages in thread
From: Wojciech Meyer @ 2010-08-29 1:04 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Andreas Schwab, Lennart Borgman, Emacs-Devel devel
[-- Attachment #1: Type: text/plain, Size: 859 bytes --]
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> Nowadays, I think etags.el would deserve to be improved so as to taken
> the major mode into account, and also so as to give precedence to
> case-exact matches, and also to automatically try the second-choice if
> the first makes you jump to where you started.
>
> IOW patches welcome,
Here is another one.
`tags-major-mode-sensitive' customisation allows to specify if `etags'
package should be sensitive on a major mode. If so, it looks only for
files with the names matching entries of `auto-mode-alist' of the major mode.
It does not hit performance that much, if it is a problem, making a
simple assumption about last search would be sufficient (however I've
checked it on the Emacs code base, and seems to run OK).
BTW: Integrating etags with ede projects might be a good idea.
Cheers;
Wojciech
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: etags-major-mode-sensitive.patch --]
[-- Type: text/x-diff, Size: 3211 bytes --]
=== modified file 'lisp/progmodes/etags.el'
--- lisp/progmodes/etags.el 2010-08-14 23:01:42 +0000
+++ lisp/progmodes/etags.el 2010-08-29 00:46:18 +0000
@@ -103,6 +103,15 @@
:group 'etags
:type 'boolean)
+(defcustom tags-major-mode-sensitive 'default
+ "*Control whether major mode determines allowed file extensions during
+tags search."
+ :group 'etags
+ :type '(choice (const :tag "Major mode file types only" t)
+ (const :tag "All files " nil)
+ (other :tag "Use default" default))
+ :version "21.1")
+
(defvar tags-table-computed-list nil
"List of tags tables to search, computed from `tags-table-list'.
This includes tables implicitly included by other tables. The list is not
@@ -879,7 +888,8 @@
;; Save the current buffer's value of `find-tag-hook' before
;; selecting the tags table buffer. For the same reason, save value
;; of `tags-file-name' in case it has a buffer-local value.
- (let ((local-find-tag-hook find-tag-hook))
+ (let ((local-find-tag-hook find-tag-hook)
+ (current-major-mode major-mode))
(if (eq '- next-p)
;; Pop back to a previous location.
(if (ring-empty-p tags-location-ring)
@@ -919,7 +929,7 @@
find-tag-regexp-next-line-after-failure-p
find-tag-next-line-after-failure-p)
(if regexp-p "matching" "containing")
- (or (not next-p) (not last-tag)))
+ (or (not next-p) (not last-tag)) current-major-mode)
(set-marker marker (point))
(run-hooks 'local-find-tag-hook)
(ring-insert tags-location-ring marker)
@@ -1061,6 +1071,26 @@
(goto-char (marker-position marker))
(set-marker marker nil nil)))
\f
+
+(defun tags-file-name-qualified-p (file-name current-major-mode)
+ "Is file name qualified? Return always t if `tags-major-mode-sensitive'
+is nil. Otherwise return if the file matches major-mode file name regexp."
+ (if (or
+ (null tags-major-mode-sensitive)
+ (eq tags-major-mode-sensitive 'default))
+ t
+ (let ((al auto-mode-alist)
+ (found nil))
+ (while (and (not found) al)
+ (let* ((x (car al))
+ (file-name-regex (car x))
+ (major-mode-sym (cdr x)))
+ (setq al (cdr al))
+ (setq found (and
+ (eq current-major-mode major-mode-sym)
+ (string-match file-name-regex file-name)))))
+ found)))
+
(defvar tag-lines-already-matched nil
"Matches remembered between calls.") ; Doc string: calls to what?
@@ -1069,7 +1099,8 @@
order
next-line-after-failure-p
matching
- first-search)
+ first-search
+ current-major-mode)
"Internal tag-finding function.
PATTERN is a string to pass to arg SEARCH-FORWARD-FUNC, and to any
member of the function list ORDER. If ORDER is nil, use saved state
@@ -1129,7 +1160,8 @@
(while order
(while (funcall search-forward-func pattern nil t)
;; Naive match found. Qualify the match.
- (and (funcall (car order) pattern)
+ (and (tags-file-name-qualified-p (file-of-tag) current-major-mode)
+ (funcall (car order) pattern)
;; Make sure it is not a previous qualified match.
(not (member (set-marker match-marker (save-excursion
(beginning-of-line)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-08-29 1:04 ` Wojciech Meyer
@ 2010-08-30 21:39 ` Wojciech Meyer
2010-09-01 12:38 ` Francesco Potortì
0 siblings, 1 reply; 15+ messages in thread
From: Wojciech Meyer @ 2010-08-30 21:39 UTC (permalink / raw)
To: Wojciech Meyer
Cc: Andreas Schwab, Lennart Borgman, Stefan Monnier,
Emacs-Devel devel
Wojciech Meyer <wojciech.meyer@googlemail.com> writes:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>> Nowadays, I think etags.el would deserve to be improved so as to taken
>> the major mode into account, and also so as to give precedence to
>> case-exact matches, and also to automatically try the second-choice if
>> the first makes you jump to where you started.
>>
>> IOW patches welcome,
>
> Here is another one.
>
> `tags-major-mode-sensitive' customisation allows to specify if `etags'
> package should be sensitive on a major mode. If so, it looks only for
> files with the names matching entries of `auto-mode-alist' of the major mode.
> It does not hit performance that much, if it is a problem, making a
> simple assumption about last search would be sufficient (however I've
> checked it on the Emacs code base, and seems to run OK).
>
> BTW: Integrating etags with ede projects might be a good idea.
>
> Cheers;
> Wojciech
Hi,
Is anybody interested in this patch at all? :) (i would be glad to hear
at least the reason of refusal or acceptance, to do the rest of the
hacking work on `etags.el')
TIA.
Wojciech
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-08-30 21:39 ` Wojciech Meyer
@ 2010-09-01 12:38 ` Francesco Potortì
2010-09-01 20:00 ` Wojciech Meyer
0 siblings, 1 reply; 15+ messages in thread
From: Francesco Potortì @ 2010-09-01 12:38 UTC (permalink / raw)
To: Wojciech Meyer
Cc: Wojciech Meyer, Andreas Schwab, Lennart Borgman, Stefan Monnier,
Emacs-Devel devel
>Wojciech Meyer <wojciech.meyer@googlemail.com> writes:
>
>> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>
>>> Nowadays, I think etags.el would deserve to be improved so as to taken
>>> the major mode into account, and also so as to give precedence to
>>> case-exact matches, and also to automatically try the second-choice if
>>> the first makes you jump to where you started.
>>>
>>> IOW patches welcome,
>>
>> Here is another one.
>>
>> `tags-major-mode-sensitive' customisation allows to specify if `etags'
>> package should be sensitive on a major mode. If so, it looks only for
>> files with the names matching entries of `auto-mode-alist' of the major mode.
>> It does not hit performance that much, if it is a problem, making a
>> simple assumption about last search would be sufficient (however I've
>> checked it on the Emacs code base, and seems to run OK).
>>
>> BTW: Integrating etags with ede projects might be a good idea.
>>
>> Cheers;
>> Wojciech
>
>Hi,
>
>Is anybody interested in this patch at all? :) (i would be glad to hear
>at least the reason of refusal or acceptance, to do the rest of the
>hacking work on `etags.el')
I have not used etags for some time now, mostly because I have not done
development on multi-file projects for some years. But I think that
etags.el should in fact take the major mode into account.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-09-01 12:38 ` Francesco Potortì
@ 2010-09-01 20:00 ` Wojciech Meyer
2010-09-01 20:39 ` Wojciech Meyer
2010-09-01 20:57 ` Francesco Potortì
0 siblings, 2 replies; 15+ messages in thread
From: Wojciech Meyer @ 2010-09-01 20:00 UTC (permalink / raw)
To: Francesco Potortì
Cc: Lennart Borgman, Andreas Schwab, Wojciech Meyer, Stefan Monnier,
Emacs-Devel devel
Francesco Potortì <pot@gnu.org> writes:
> I have not used etags for some time now, mostly because I have not done
> development on multi-file projects for some years. But I think that
> etags.el should in fact take the major mode into account.
Thanks for the vote.
Maybe the improvement would be to use `major mode' `syntax tables' as
well to recognize tokens, and/or better integration with CEDET (yes,
`etags' seems to be quite lightweight alternative + provides consistent
interface for dealing with tags).
BTW: clearly I now see you are a maintainer of `etags' package and I
should contact you before I posted a patch, but just didn't think about
it. I might contact you with some more sooner or later. :)
Cheers;
Wojciech
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-09-01 20:00 ` Wojciech Meyer
@ 2010-09-01 20:39 ` Wojciech Meyer
2010-09-01 20:59 ` Francesco Potortì
2010-09-01 20:57 ` Francesco Potortì
1 sibling, 1 reply; 15+ messages in thread
From: Wojciech Meyer @ 2010-09-01 20:39 UTC (permalink / raw)
To: Wojciech Meyer
Cc: Andreas Schwab, Francesco Potortì, Lennart Borgman,
Stefan Monnier, Emacs-Devel devel
Wojciech Meyer <wojciech.meyer@googlemail.com> writes:
> BTW: clearly I now see you are a maintainer of `etags' package and I
> should contact you before I posted a patch, but just didn't think about
> it. I might contact you with some more sooner or later. :)
and... I forgot to say sorry in the former post.
Thanks.
Wojciech
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-09-01 20:00 ` Wojciech Meyer
2010-09-01 20:39 ` Wojciech Meyer
@ 2010-09-01 20:57 ` Francesco Potortì
2010-09-01 21:36 ` Wojciech Meyer
1 sibling, 1 reply; 15+ messages in thread
From: Francesco Potortì @ 2010-09-01 20:57 UTC (permalink / raw)
To: Wojciech Meyer
Cc: Wojciech Meyer, Lennart Borgman, Andreas Schwab, Stefan Monnier,
Emacs-Devel devel
>> I have not used etags for some time now, mostly because I have not done
>> development on multi-file projects for some years. But I think that
>> etags.el should in fact take the major mode into account.
>
>Thanks for the vote.
>
>Maybe the improvement would be to use `major mode' `syntax tables' as
>well to recognize tokens, and/or better integration with CEDET (yes,
>`etags' seems to be quite lightweight alternative + provides consistent
>interface for dealing with tags).
etags has its own rules for identifying characters, and those same rules
ae mirrored into etags.el. What would be syntax tables used for?
>BTW: clearly I now see you are a maintainer of `etags' package and I
>should contact you before I posted a patch, but just didn't think about
>it. I might contact you with some more sooner or later. :)
Don't worry. I am not very active with etags. Fortunately it needs
little work, but nonetheless I have backlogs. By the way, I could use
some help in maintaining it.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-09-01 20:39 ` Wojciech Meyer
@ 2010-09-01 20:59 ` Francesco Potortì
0 siblings, 0 replies; 15+ messages in thread
From: Francesco Potortì @ 2010-09-01 20:59 UTC (permalink / raw)
To: Wojciech Meyer
Cc: Wojciech Meyer, Lennart Borgman, Andreas Schwab, Stefan Monnier,
Emacs-Devel devel
>Wojciech Meyer <wojciech.meyer@googlemail.com> writes:
>> BTW: clearly I now see you are a maintainer of `etags' package and I
>> should contact you before I posted a patch, but just didn't think about
>> it. I might contact you with some more sooner or later. :)
>
>and... I forgot to say sorry in the former post.
You shouldn't, this is the right place to discuss these things.
Moreover, I maintain 'etags.c', not 'etags.el', even though I have
contributed to the latter now and then.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: How do I use tags to go to begv_byte instead of BEGV_BYTE?
2010-09-01 20:57 ` Francesco Potortì
@ 2010-09-01 21:36 ` Wojciech Meyer
0 siblings, 0 replies; 15+ messages in thread
From: Wojciech Meyer @ 2010-09-01 21:36 UTC (permalink / raw)
To: Francesco Potortì
Cc: Andreas Schwab, Wojciech Meyer, Stefan Monnier, Lennart Borgman,
Emacs-Devel devel
Francesco Potortì <pot@gnu.org> writes:
>>BTW: clearly I now see you are a maintainer of `etags' package and I
>>should contact you before I posted a patch, but just didn't think
>>about it. I might contact you with some more sooner or later. :)
>
> Don't worry. I am not very active with etags. Fortunately it needs
> little work, but nonetheless I have backlogs. By the way, I could use
> some help in maintaining it.
Thanks. I am willing to improve it and if you have backlogs, please let
me know what kind of features, or fixes you would like to see in it.
Is it OK to contact you directly?
I think also it would be worth to talk to CEDET people.
There is also some mode called `OCamlSpot' by Jun Furus, I haven't
contacted him yet, but basically what he did specifcally for OCaml
*could* potentially reuse `etags.el' interface (and or merging some good
things from his work). (and probably, we could generalise
etags). Moreover `OCamlSpot' idea could be reused somewhere else,
possibly with GCC... (there is `gcc-sense' thing I saw few months ago).
Just random ideas.
Thanks, and hope to speak to you soon!
Wojciech
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2010-09-01 21:36 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-24 13:24 How do I use tags to go to begv_byte instead of BEGV_BYTE? Lennart Borgman
2010-05-24 15:22 ` Andreas Schwab
2010-05-24 15:37 ` Lennart Borgman
2010-05-24 15:52 ` Andreas Schwab
2010-05-24 16:06 ` Lennart Borgman
2010-05-24 17:31 ` Stefan Monnier
2010-05-24 18:29 ` Lennart Borgman
2010-08-29 1:04 ` Wojciech Meyer
2010-08-30 21:39 ` Wojciech Meyer
2010-09-01 12:38 ` Francesco Potortì
2010-09-01 20:00 ` Wojciech Meyer
2010-09-01 20:39 ` Wojciech Meyer
2010-09-01 20:59 ` Francesco Potortì
2010-09-01 20:57 ` Francesco Potortì
2010-09-01 21:36 ` Wojciech Meyer
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).