From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "J.J. Sestrich" Newsgroups: gmane.emacs.devel Subject: Re: Platform Dependent Code Date: Sat, 21 Jun 2008 14:10:00 -0500 Message-ID: <485D5208.4030602@uiuc.edu> References: <20080620101747.BMG51159@expms4.cites.uiuc.edu> <8763s3elhj.fsf@stupidchicken.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1214075453 18277 80.91.229.12 (21 Jun 2008 19:10:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 21 Jun 2008 19:10:53 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jun 21 21:11:38 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KA8Ur-0001pQ-Ds for ged-emacs-devel@m.gmane.org; Sat, 21 Jun 2008 21:11:37 +0200 Original-Received: from localhost ([127.0.0.1]:57276 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KA8U2-0005kX-B2 for ged-emacs-devel@m.gmane.org; Sat, 21 Jun 2008 15:10:46 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KA8Tx-0005j8-QX for emacs-devel@gnu.org; Sat, 21 Jun 2008 15:10:41 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KA8Tv-0005iZ-6X for emacs-devel@gnu.org; Sat, 21 Jun 2008 15:10:40 -0400 Original-Received: from [199.232.76.173] (port=39611 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KA8Tv-0005iV-0q for emacs-devel@gnu.org; Sat, 21 Jun 2008 15:10:39 -0400 Original-Received: from qmta03.emeryville.ca.mail.comcast.net ([76.96.30.32]:43727) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KA8Tu-00070M-Gj for emacs-devel@gnu.org; Sat, 21 Jun 2008 15:10:38 -0400 Original-Received: from OMTA04.emeryville.ca.mail.comcast.net ([76.96.30.35]) by QMTA03.emeryville.ca.mail.comcast.net with comcast id gbrU1Z0040lTkoCA30Vg00; Sat, 21 Jun 2008 19:10:15 +0000 Original-Received: from [192.168.1.101] ([24.218.47.189]) by OMTA04.emeryville.ca.mail.comcast.net with comcast id gjA61Z00644uaxU8QjA7eJ; Sat, 21 Jun 2008 19:10:08 +0000 X-Authority-Analysis: v=1.0 c=1 a=4XGC92OJSI2JP9ziP1sA:9 a=4cbK3mvonAW2LEK8NZIA:7 a=s9dFkVoWbLrcM1YYDrjm5Q2TFdMA:4 a=dAUg0o1D4TkA:10 a=8SLu8lgDlQQA:10 User-Agent: Thunderbird 2.0.0.14 (Windows/20080421) In-Reply-To: X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:99619 Archived-At: dhruva wrote: > Hello, > > On Sat, Jun 21, 2008 at 4:56 AM, Chong Yidong wrote: > >> writes: >> >> >>> How much of emacs is platform dependent code? I am wondering how much >>> code has to be replaced if you wanted to port emacs to a new platform >>> essentially: How much of emacs is native c code / libraries and how >>> much is done through lisp code? >>> >> Almost all the platform-dependent code is in C and concerns >> terminal/window system communications. See the w32* and mac* files in >> the source tree for an example. The rest of the work is a matter of >> juggling compilation switches, identifying system call names, etc. >> >> (If you provide some information about what platform you are interested >> in, maybe someone could be more helpful.) >> > > I feel the most complicated would be the generating the emacs > executable by dumping a process with elisp code loaded > (bootstrapping). I remember when working in the OpenVMS labs, on > Itanium platform, that was the only missing piece in getting a full > blown working emacs. > > -dhruva > > I was thinking about making a javascript implementation that could be used in a browser. It would use some cgi scripts to do file I/O and window stuff would probably be easy enough to do with html/javascript. At this point, I'm just trying to gauge the level of work that would need to be done to make it happen. I would imagine that in addition to the windowing and file I/O I'd have to re-write the lisp interpreter, but this might be easier to do in javascript than C. I don't really know enough about this to judge anything though. Does anyone have any insight on these ideas: Size of code to be re-written? Difficulty of code that has to be re-done? J.J.