From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: U'll Be King Of The Stars Newsgroups: gmane.emacs.devel Subject: Minimal functional Emacs Date: Thu, 4 Mar 2021 22:38:11 +0000 Message-ID: <5afa7c70-fef0-0112-af2d-1958507d8892@andrewnesbit.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10820"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Mar 04 23:50:02 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lHwnB-0002hP-5P for ged-emacs-devel@m.gmane-mx.org; Thu, 04 Mar 2021 23:50:01 +0100 Original-Received: from localhost ([::1]:35384 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lHwnA-0006t6-7J for ged-emacs-devel@m.gmane-mx.org; Thu, 04 Mar 2021 17:50:00 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57594) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lHwbt-0001vw-TJ for emacs-devel@gnu.org; Thu, 04 Mar 2021 17:38:22 -0500 Original-Received: from smtp-out-4.mxes.net ([2605:d100:2f:10::315]:64420) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lHwbr-0000El-OS for emacs-devel@gnu.org; Thu, 04 Mar 2021 17:38:21 -0500 Original-Received: from Customer-MUA (mua.mxes.net [10.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 4Ds5P12bvfz3cBk for ; Thu, 4 Mar 2021 17:38:12 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mxes.net; s=mta; t=1614897494; bh=sGSk6nVePAJx9umKKq9isHU7KxCRdrc16IPxvp5a95w=; h=To:From:Subject:Message-ID:Date:MIME-Version:Content-Type; b=RaI4H1NDvgsueoHbYLshwWEs/cFC8/OrANJIe8CcO2WVSeXQ3k4l3MKThJCBsbThE eDl9aeaTATStWQxN5/6wajLB01DkYvm60eqgCuewN7VOpvGqoGJ5w13bW+CtIBE/Qn 6S8AfkTEb3rYp1Fy4sHIJ6qG3JxB+dRhXt6bDRSE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=andrewnesbit.org; s=default; t=1614897494; bh=sGSk6nVePAJx9umKKq9isHU7KxCRdrc16IPxvp5a95w=; l=1974; h=To:From:Subject:Date:From; b=YP8yzb1wpUc/Tui9XfRof4YuprrEBz7joZIp9MlKnkJ2yX3SCc/6CwkKk4yRTG3M4 R63gSLfkBeEKTUNzWjV7HG7brrvzC6qu/h1ibvFOdLnUu8MNrJuaMwq04xwxUyRsBV IKzGoAUV1qhLKiPKEEI+It1kBmixS1pc5u3HVI4Y= Content-Language: en-US X-Sent-To: Received-SPF: pass client-ip=2605:d100:2f:10::315; envelope-from=ullbeking@andrewnesbit.org; helo=smtp-out-4.mxes.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:265993 Archived-At: Hello all! Please skip to "My question..." below the "====" line if you're not interested in personal or background context. I have been following this list on and off for more than twenty years. Text editors interest me very much. My "rite of passage" projects when I was a much younger and inexperienced developer was to analyze the source code of different editors and to write my own text editors. Of course all roads led me back to Emacs ;-) I read the C core and the Elisp layer on top of this many times. Personally I believe it's a masterpiece of software engineering. Not only this, but I learned a lot about how I would write requirements and specifications for text editors[*]. Sources for this education include the GNU Emacs source code, reading mailing lists and Usenet groups, Craig Finseth's book, and reading about other Emacs editors, including their source code where available, e.g., Edwin and Hemlock. ====================================================================== My question... I want to perform an experiment on text editor requirements and specifications. The first part would be to create a minimal working editor based on GNU Emacs. It would include the C core, the Elisp layer (implementation of the Elisp manual), and few modes. It would include Fundamental mode and not many else, expect for those that support the core specifications. Has anybody done this before? If "yes", please could you provide a link? If the answer is "unknown", then I guess there is no secret except to understand the Emacs build process and modify this. Is this the right direction? This is documented well, e.g., in the Elisp manual. After I've achieved this, I expect that the next stages will become easier to tease out. [*]Part of this involves documenting the requirements and specifications I mentioned above. Hints or tips would be greatly appreciated. Thank you!! Kind regards, Andrew