* 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: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: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: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).