From owner-freebsd-current@FreeBSD.ORG Tue Jun 3 06:40:35 2008 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56F521065670 for ; Tue, 3 Jun 2008 06:40:35 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from out2.smtp.messagingengine.com (out2.smtp.messagingengine.com [66.111.4.26]) by mx1.freebsd.org (Postfix) with ESMTP id 2A0598FC13 for ; Tue, 3 Jun 2008 06:40:35 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id 9DF27111F34; Tue, 3 Jun 2008 02:40:34 -0400 (EDT) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute1.internal (MEProxy); Tue, 03 Jun 2008 02:40:34 -0400 X-Sasl-enc: A/Mw6s5Swg8tj7JQdYaYpZ30pnhkcWQUuYiNpcY5l0Or 1212475234 Received: from empiric.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 130EAB7AA; Tue, 3 Jun 2008 02:40:33 -0400 (EDT) Message-ID: <4844E760.9060304@FreeBSD.org> Date: Tue, 03 Jun 2008 07:40:32 +0100 From: "Bruce M. Simpson" User-Agent: Thunderbird 2.0.0.14 (X11/20080514) MIME-Version: 1.0 To: Julian Elischer References: <4844A129.8040901@elischer.org> <4844A307.9080302@elischer.org> In-Reply-To: <4844A307.9080302@elischer.org> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: FreeBSD Current Subject: Re: seemingly off topic but not really X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jun 2008 06:40:35 -0000 Julian Elischer wrote: > Julian Elischer wrote: >> Does anyone know of a program that knows C syntax, and can rename a >> variable across a set of files without screwing up the comments etc.? >> >> I vaguely remember seeing such a program once... > > hmm Cscope might do the trick.. ... Whilst KScope (the KDE front-end for cscope) is a very capable source browser which I use on a daily basis to get things done, it isn't a fully-fledged refactoring browser. KScope is great because you can just install it on a desktop with KDE, open a dialog box, and import source into a new project. You can use it as your IDE. Whilst I don't use it as an IDE, I usually have it open when I'm using VIM for most of my editing. It doesn't handle macros so well however; I believe this is a limitation of the CScope index engine. Take humour at the irony that this is in fact an SCO product. Look at the source if you don't believe me. I tried CScout about a year ago, and I found it didn't work for me. It takes a bit more setup than KScope does and I found the user interface cumbersome. I also tried Gonzui, but I was put off by the Java dependencies needed. I'm sure CScout has a lot of technical merits, and probably does better with macros. The thing with refactoring is, doing it right is Hard. It is relatively easy by comparison to implement it for languages like Java and C#, slightly less so for Python, and even less so for C++.