From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/54276 Path: main.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.gnus.general Subject: Re: Getting into GNUS development Date: Fri, 17 Oct 2003 22:19:22 +0200 Organization: Programmerer Ingebrigtsen Sender: ding-owner@lists.math.uh.edu Message-ID: References: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1066422039 22882 80.91.224.253 (17 Oct 2003 20:20:39 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 17 Oct 2003 20:20:39 +0000 (UTC) Original-X-From: ding-owner+M2817@lists.math.uh.edu Fri Oct 17 22:20:37 2003 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AAb5R-0004RR-00 for ; Fri, 17 Oct 2003 22:20:37 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 1AAb4y-0008Ks-00; Fri, 17 Oct 2003 15:20:08 -0500 Original-Received: from justine.libertine.org ([66.139.78.221]) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1AAb4t-0008Kn-00 for ding@lists.math.uh.edu; Fri, 17 Oct 2003 15:20:04 -0500 Original-Received: from quimby.gnus.org (quimby.gnus.org [80.91.224.244]) by justine.libertine.org (Postfix) with ESMTP id 49CCF3A004E for ; Fri, 17 Oct 2003 15:20:03 -0500 (CDT) Original-Received: from news by quimby.gnus.org with local (Exim 3.35 #1 (Debian)) id 1AAb4s-0000bO-00 for ; Fri, 17 Oct 2003 22:20:02 +0200 Original-To: ding@gnus.org Original-Path: not-for-mail Original-Newsgroups: gnus.ding Original-Lines: 28 Original-NNTP-Posting-Host: quimbies.gnus.org Original-X-Trace: quimby.gnus.org 1066422002 2317 80.91.231.2 (17 Oct 2003 20:20:02 GMT) Original-X-Complaints-To: usenet@quimby.gnus.org Original-NNTP-Posting-Date: Fri, 17 Oct 2003 20:20:02 +0000 (UTC) Mail-Copies-To: never X-Now-Playing: Console's _Reset the Preset (2)_: "Marina (Version 'Mallorca')" Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEXN4vRens97o8Dv9v1H j8u/xcOVwN9Gh7xEUl0yg8X2+/7n7fi/0+FSl882e7OAsteTrBP8AAACJklEQVR4nG2UsWsbMRTG tRQKveX+gCM0kOKtBm3nVRA8eGkRCOopw5EhcItB6dIhkPagHQvhFi+3KYvBZLqlFGwCvcVw0Elz ncXFHrJe33vS2U6dDyzpfb/33ZMWs6yVzvQXrbclW4HyPa1W4zFYSwAP+f/y4MDPxwgexocgR/Dx qfWd1ptngMj7+Y3+9AwQItdaL5mGqi/63u+DL04JjOgsEEG3L7S+ZH9Gwqs/WNdiIGoCSya02Cqs hQW5hK1HrgBZO7BUEIDdeuRswMIB1+fAwiEAYWQX0QDrWixsBHsYWnsKABVZ/Fk8LbC2vz2AI/aF raIdeKoIZjSkA3TJUkea9To8Wu+DJEk8al6/JY/iHVbNd+S4WR+5wzGAKkiSNG2J0wYAYwC80maD NnQBKHlvvgV/m+aRhgKI42IbOXsDJgYJmCKo0IXl7Fsb3SDoBj8AVaCfn+mrjwSmvBvABSqvXWLK J3izyjNwL+YwBW5VMlLA0J9XBJIUwIRtRRF3eUyUFHJJ9z1g5zCDE+OcF5z3JoEj54zHhpMKXIzp ulkKAahwkJtbP6sFSNppNOl+B3o4qEfkVVm+hOFxEXu/jA1sU2gj4EYbbgrj0sb0JvcegFO0LgGF D5xyvmcSCBT75V/Hi5h335tbPJZspphEDWdSwlXUdam+yhfwjhZImaksk9nVFfy9dE6GM3jghzsp 7yS4KrumlncnUqohJoZSdrDd+W6V6h8RCTJf3+hMZQAAAABJRU5ErkJggg== User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) Cancel-Lock: sha1:GFxuFcp99Cv6NkF05LC/Sgm6oqM= Precedence: bulk Xref: main.gmane.org gmane.emacs.gnus.general:54276 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:54276 David Abrahams writes: > The architecture of GNUs, however, is almost completely opaque to me. Architecture? What architecture? :-) Uhm... Gnus is a blob that talks to the world (mostly) via nn* backends. Then there's a mid-layer consisting of the Agent and the cache. gnus-int.el has all the functions for controlling that flow. > Is there any better way to get started with GNUs development other > than the "use the source, Luke" approach? That probably makes the > barrier too high for me to get my toes wet, if you'll pardon the mixed > metaphor. Gnus has the advantage over other, er, big programs that it's in Emacs. The most likely approach to take if command `x' doesn't work is to find its source and `M-x edebug-defun' that function and see what goes on. Gnus is big, but it isn't very complex. Things normally just layer down a few times until you get to where things really happens. Using etags, the Emacs help system, some debugging statements and the source, it's possible to dig down to just where the problem is... -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen