unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Francesco Potorti` <pot@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: patches for etags and shell-command
Date: Wed, 15 Feb 2006 19:08:01 +0100	[thread overview]
Message-ID: <E1F9R4L-0001IM-00@pot.isti.cnr.it> (raw)
In-Reply-To: <43D10FF4.8030202@pobox.com> (jrw@pobox.com)

John, I tried to follow up on your patch to etags.el, but apparently
your mail server bounces mail coming from *.it!

Anyway, you should get this one via the list.

I was examining the patch you proposed (see below), which is intended to
correctly implement Emacs' behaviour as documented in the manual, in the
Select Tags Table node.  However it has three problems:
- it removes the starting message
- it removes helpful comments
- most importantly, it does not recursively descend into the tree of
  included tags tables

Would you please resubmit a patch that corrects these problems?

>This patch corrects a bug in etags that causes completion to only consider the 
>tags in a single TAGS buffer.  With the match tag completion will consider tags 
>from all the active TAGS buffers.  (The diff is a bit longer than it really 
>needs to be because I inadvertently changed tabs to spaces--I didn't change back 
>to tabs because spaces appear to be the preferred from of indentation based on 
>emacs's default settings.)
>
>--- etags.el    2006-01-20 09:53:43.000000000 -0600
>+++ etags-1.el  2006-01-20 10:14:31.000000000 -0600
>@@ -747,28 +747,21 @@
>  (defun tags-completion-table ()
>    (or tags-completion-table
>        (condition-case ()
>-         (prog2
>-          (message "Making tags completion table for %s..." buffer-file-name)
>-          (let ((included (tags-included-tables))
>-                (table (funcall tags-completion-table-function)))
>-            (save-excursion
>-              ;; Iterate over the list of included tables, and combine each
>-              ;; included table's completion obarray to the parent obarray.
>-              (while included
>-                ;; Visit the buffer.
>-                (let ((tags-file-name (car included)))
>-                  (visit-tags-table-buffer 'same))
>-                ;; Recurse in that buffer to compute its completion table.
>-                (if (tags-completion-table)
>-                    ;; Combine the tables.
>-                    (mapatoms (lambda (sym) (intern (symbol-name sym) table))
>-                              tags-completion-table))
>-                (setq included (cdr included))))
>-            (setq tags-completion-table table))
>-          (message "Making tags completion table for %s...done"
>-                   buffer-file-name))
>-       (quit (message "Tags completion table construction aborted.")
>-             (setq tags-completion-table nil)))))
>+          (let (combined-table)
>+            (save-excursion
>+              (while (visit-tags-table-buffer (and combined-table t))
>+                (let ((included (tags-included-tables))
>+                      (table (funcall tags-completion-table-function)))
>+                  (if (null combined-table)
>+                      (setq combined-table table)
>+                    (mapatoms (lambda (sym)
>+                                (intern (symbol-name sym) combined-table))
>+                              table))
>+                  (message "Making tags completion table for %s...done"
>+                           buffer-file-name))))
>+            (setq tags-completion-table combined-table))
>+        (quit (message "Tags completion table construction aborted.")
>+              (setq tags-completion-table nil)))))
>
>  ;; Completion function for tags.  Does normal try-completion,
>  ;; but builds tags-completion-table on demand.
>
>
>_______________________________________________
>Emacs-devel mailing list
>Emacs-devel@gnu.org
>http://lists.gnu.org/mailman/listinfo/emacs-devel
>

  parent reply	other threads:[~2006-02-15 18:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-20 16:29 patches for etags and shell-command John Williams
2006-01-21 19:58 ` Richard M. Stallman
2006-01-21 22:17   ` John Williams
2006-01-22 17:44     ` Richard M. Stallman
2006-01-22  0:38   ` Juri Linkov
2006-02-15 18:08 ` Francesco Potorti` [this message]
     [not found] <E1F9nTR-0003HU-Ew@fencepost.gnu.org>
2006-02-19 21:48 ` John Williams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1F9R4L-0001IM-00@pot.isti.cnr.it \
    --to=pot@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).