From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Francesco Potorti` Newsgroups: gmane.emacs.devel Subject: Re: patches for etags and shell-command Date: Wed, 15 Feb 2006 19:08:01 +0100 Message-ID: References: <43D10FF4.8030202@pobox.com> NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1140036101 7125 80.91.229.2 (15 Feb 2006 20:41:41 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 15 Feb 2006 20:41:41 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Feb 15 21:41:38 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1F9TSi-0008HI-1C for ged-emacs-devel@m.gmane.org; Wed, 15 Feb 2006 21:41:24 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1F9TSg-0000Tj-Dv for ged-emacs-devel@m.gmane.org; Wed, 15 Feb 2006 15:41:18 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1F9R59-0004LO-0P for emacs-devel@gnu.org; Wed, 15 Feb 2006 13:08:51 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1F9R4g-0003LL-Go for emacs-devel@gnu.org; Wed, 15 Feb 2006 13:08:23 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1F9R4W-00032b-Qe for emacs-devel@gnu.org; Wed, 15 Feb 2006 13:08:13 -0500 Original-Received: from [146.48.83.182] (helo=pot.isti.cnr.it) by monty-python.gnu.org with esmtp (Exim 4.52) id 1F9R9T-0006EC-Hp for emacs-devel@gnu.org; Wed, 15 Feb 2006 13:13:19 -0500 Original-Received: from pot by pot.isti.cnr.it with local (Exim 3.36 #1 (Debian)) id 1F9R4L-0001IM-00; Wed, 15 Feb 2006 19:08:01 +0100 Original-To: John Williams In-reply-to: <43D10FF4.8030202@pobox.com> (jrw@pobox.com) X-fingerprint: 4B2 6187 5C3 D6B1 2E31 7666 9DF 2DC9 BE21 6115 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:50576 Archived-At: 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 >