bug-vc-dwim
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-vc-dwim] vc-chlog vs two-word function name like "operator delete"


From: Jim Meyering
Subject: [Bug-vc-dwim] vc-chlog vs two-word function name like "operator delete"
Date: Mon, 07 Mar 2011 14:21:40 +0100

I ran vc-chlog on a big patch for gcc and got this:

  vc-chlog: line 425: test: delete: integer expression expected
  vc-chlog: line 440: test: delete: integer expression expected
  vc-chlog: line 449: test: delete: integer expression expected
  vc-chlog: line 464: test: delete: integer expression expected

it was due to output like this from ctags -x (exuberant):

      operator delete   32 libstdc++-v3/libsupc++/del_opnt.cc operator delete

Here's a proposed patch, which handles only the code path I was exercising.
Others are affected, too.

I'll wait to hear from Ralf before pushing this:

>From 08bc165d0237275f2ae6cb7c340d0f32651dd94a Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Mon, 7 Mar 2011 14:19:45 +0100
Subject: [PATCH] vc-chlog: handle two-word function names like "operator delete"

With exuberant ctags, a file in gcc would provoke diagnostics like this:
  vc-chlog: line 425: test: delete: integer expression expected
* vc-chlog.in (func_taglist): Don't let a function name like "operator
delete" provoke shell syntax errors.
---
 ChangeLog   |    8 ++++++++
 vc-chlog.in |    4 +++-
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 3e7a41f..18dda36 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-03-07  Jim Meyering  <address@hidden>
+
+       vc-chlog: handle two-word function names like "operator delete"
+       With exuberant ctags, a file in gcc would provoke diagnostics like this:
+         vc-chlog: line 425: test: delete: integer expression expected
+       * vc-chlog.in (func_taglist): Don't let a function name like "operator
+       delete" provoke shell syntax errors.
+
 2011-01-05  Jim Meyering  <address@hidden>

        doc: don't emit @@ME@@ strings into generated man page
diff --git a/vc-chlog.in b/vc-chlog.in
index 7485750..de258cc 100755
--- a/vc-chlog.in
+++ b/vc-chlog.in
@@ -307,7 +307,9 @@ func_taglist ()
          print $3, $1;
        }'
     else
-      $AWK '{ print $2, $1; }'
+      # Handle output like this:
+      # operator delete   32 libstdc++-v3/libsupc++/del_opnt.cc operator delete
+      $AWK '{if ($1 == "operator") print $3, $1, $2; else print $2, $1; }'
     fi
     # Heuristic: to avoid identifying changes outside of functions
     # with the previous function, we add end-of-function markers
--
1.7.4.1.299.ga459d



reply via email to

[Prev in Thread] Current Thread [Next in Thread]