From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Marusich Subject: Re: "Perfect Setup" for hacking on Nix? Date: Sun, 07 May 2017 14:06:09 -0700 Message-ID: <87h90we5ry.fsf@gmail.com> References: <874ly7k3xf.fsf@gmail.com> <87a87zb1cz.fsf@gnu.org> <20170403.083656.44673764432930551.post@thomasdanckaert.be> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44502) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d7TNk-00089S-Q8 for guix-devel@gnu.org; Sun, 07 May 2017 17:06:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d7TNg-0000dn-Hs for guix-devel@gnu.org; Sun, 07 May 2017 17:06:20 -0400 In-Reply-To: <20170403.083656.44673764432930551.post@thomasdanckaert.be> (Thomas Danckaert's message of "Mon, 03 Apr 2017 08:36:56 +0200 (CEST)") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Thomas Danckaert Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Thomas Danckaert writes: > From: ludo@gnu.org (Ludovic Court=C3=A8s) > Subject: Re: "Perfect Setup" for hacking on Nix? > Date: Sun, 02 Apr 2017 11:33:16 +0200 > >>> I have sometimes found myself looking at the Nix source code that >>> is >>> embedded in the Guix repository. However, I don't have a lot of >>> experience with C++, so I don't really know how I should set up my >>> development environment for hacking on (or just browsing) that >>> code. >>> >>> So, what's the "Perfect Setup" for hacking on Nix? >> >> Good question! :-) I use Emacs without any of the fancy things. >> M-x >> compile, M-x grep, M-x rgrep, xgtags.el (for GNU GLOBAL tags) are >> good >> enough for me. >> >> That said, I=E2=80=99d be happy to hear about new tricks! Does Semantic >> work >> well these days? > > I'm quite happy with it (have been, for a number of years already!). > It's code analysis is not perfect (e.g. it doesn't always distinguish > different symbols with the same name), but helps a lot. It can take > you to function definitions and declarations, show all uses of a > function or variable, display function signatures etc. > > I did have to disable Semantic for Scheme buffers, like this: > > (add-to-list 'semantic-inhibit-functions > (lambda () (member major-mode '(scheme-mode)))) > > Otherwise, I get constant debugger prompts from the semantic parser > when working with (Guile) Scheme files. I didn't submit a bug report > so far, because I'm not sure if it's purely a bug in Semantic, or if > there's some interference with Geiser. > > For really excellent code analysis of even very messy C and C++ code, > I recommend KDevelop (I tend to use it just to explore and find my way > around a code base, and then use Emacs for actual editing). > > Thomas > I asked on nix-dev, and the (limited) response was basically that you should use whatever works best for you: https://mailman.science.uu.nl/pipermail/nix-dev/2017-April/023416.html I guess that means I should look into a C++ IDE (Eclipse?) or the emacs ecosystem for C/C++. =2D-=20 Chris --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAlkPjEIACgkQ3UCaFdgi Rp3FDg/9HOWxmJvdmAP59JdN6Wrwz6lmDhwzmN1W9wA8C6GsseIZznmQLalqMPHq uxh62hD2MeP5Q30zQCB+MgXF3XSsipIvgY1CSbT4GNidCVgykF+vCFS42hI0LrqX vGCbkbrpw8aqZkYvtpK963W01LGYSYr1z1uc3veuwNHHH5JvG4AFo3fZD77vnLto 54nATcf8Iu8+ZkrisLxGewxRHz6FIcbkV5DJFXCVQQxMRMiSzc5fyL38h2eqJghg 1u2xVoXV+gbu9csTo0Kq8u26tvf5VYqCmoXKlJAOImw6u3y/1zeS70ELx55U0Aim 1/AdX1FFB7gWwocFlvMHQiFZ6VFXojOKL0ksacprRDYLtiHutCYM1c6AsewLwopQ uDRFFs9qYHNQl5FQAw0Ukzbx/tiBr59FrS0U2DXgxnoFZKCfrFTRjq6jUmX3si8K wKUUf0NzfRb4vhmapwJskSVigpjJuVLEjbgs+o69YaRj6p0rFXQGn29iQEIa8Zhm IuKUitoF1I5fcoOCe8XOVweh3iEMGxJh4RBHTmh9RvlfL+LYS14yX7XDL2qY252E soGQzzlBmFZ9268jIxklIad74yM7MwLHNd0StLd2KfuWmibeq/K6gDICO0rB1urz Kfvl7hpm4nvfzT7GHtsYcXucpRDbWijpvf8O3ll2iIPoYVyryYo= =eBvC -----END PGP SIGNATURE----- --=-=-=--