all messages for Emacs-related lists mirrored at yhetil.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

* 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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.