From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Arthur Miller Newsgroups: gmane.emacs.devel Subject: Re: Emacs as a word processor Date: Wed, 23 Dec 2020 11:18:13 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37127"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Gregory Heytings , yarnton@tutanota.com, Daniel =?utf-8?Q?Mart?= =?utf-8?Q?=C3=ADn?= , Eli Zaretskii , Richard Stallman To: yarnton--- via "Emacs development discussions." Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Dec 23 11:19:30 2020 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 1ks1Ew-0009YT-Ji for ged-emacs-devel@m.gmane-mx.org; Wed, 23 Dec 2020 11:19:30 +0100 Original-Received: from localhost ([::1]:50568 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ks1Ev-00014c-Mm for ged-emacs-devel@m.gmane-mx.org; Wed, 23 Dec 2020 05:19:29 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42528) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ks1Dp-0008VH-KB for emacs-devel@gnu.org; Wed, 23 Dec 2020 05:18:21 -0500 Original-Received: from mail-vi1eur06olkn2033.outbound.protection.outlook.com ([40.92.17.33]:43585 helo=EUR06-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ks1Dm-00017M-PM; Wed, 23 Dec 2020 05:18:21 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aRw5d4R3z7comYj4XTOasR1xMQh7Sz6sIvc2vJK/NKU1gAzFqsQ0/tDUztzZjqwuJnZaG8dTwuBlsWj+F6u4jOfqR+K1AMize+/lTyPyV8CtyuTvMz15E5OaJEpPVSJtcdBo9y0ulYg12fUXkvDR0DlO8VoHszSgTh62dA0iGfvX2fsbArxP4UZfSF5ezeLqzHDDEsDGqa54tt2Q4CcRPy2XE/nit61zhoAWEbnFhVtMvrNw5iAunjEYf85h7/rvy/8cL1nZiCoBR/+/Ddvcypk3oIrBJOnW2qMAKzuOJahxJzqPlFvAT6C2Mm66KeRidSG661qtXUyTacxzUQwYbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XsnQNOaXCWaOf+rTHsmbXsy/rF+vDSk8jPMyYNzKB2g=; b=jRyttAmWyc9TEZQ89jix9IHNfKN+iZAx5m0QMyjAjs52d3LBWjJTBHLgq+a1a1mGybwVPPs0jCDNG1BjhcHqvhC5Rz3yvBNwpvdZ1n7cV0G0ZC3zMe/U62htpl454lOjDC96ISDSNZ9/4po93X4/2yF7AW457Bxj3H2E0PU/fHxMpQT+5zYkwIgj9xiUWO3cbAkDVCgQBKgGUkS/ibQfiY2dNdgUeIMdy7PvikT9b7P9CrjnizK4O9ZXS9CuukFxOOEPzQOXOZ9XGVW22gSGwros+n6nzQ4U+bTgjGX5IeEd3P/i5vRaSd7w/SUSnweiw5sAv77OAMmnQ3q2eMHaSg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XsnQNOaXCWaOf+rTHsmbXsy/rF+vDSk8jPMyYNzKB2g=; b=Wc9GESeyZ1NUDfTe+IMEXrWZ6I3XamUhNnblg6cVz59bYPixgAE2vt+ghemIEkMVaqKEuDA7DnE8cx37FxG8wgbgEY8ESJyffXhrDJoXfOzjihhm6FzuvsDCjVnRWGmglyvIVdf0FHUpqwjgGAAUvWBpfTSu/V+OeCZaOgVEo5SR6MHKEpIJyE3aHuc0QYsFgSDJc1rDfWi7x5qyPQ5BJBFCL7iRGRv5aO63ZvG/+5qD9Ow8rZjL1YZ+yfa/4m3Hrvr5KwzCc8w2fVlFSf5f0wPiN/SotKQbKDwNezBKGkIhJp5LrCJJegBlUKcH4e1pFDANhVDn80QJEpA5d7nwEA== Original-Received: from VI1EUR06FT044.eop-eur06.prod.protection.outlook.com (2a01:111:e400:fc37::41) by VI1EUR06HT038.eop-eur06.prod.protection.outlook.com (2a01:111:e400:fc37::373) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3676.22; Wed, 23 Dec 2020 10:18:14 +0000 Original-Received: from AM0PR06MB6577.eurprd06.prod.outlook.com (2a01:111:e400:fc37::49) by VI1EUR06FT044.mail.protection.outlook.com (2a01:111:e400:fc37::117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3676.22 via Frontend Transport; Wed, 23 Dec 2020 10:18:14 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:0C63D8770BBDAB85AA52DDB4093ED2A3FBEA09EC87CB4043A01EE5AD762FB5DE; UpperCasedChecksum:A9E24B51DC4F834F682389E2EBA1C9DDC17B23661C794454BDA924408FB08E7C; SizeAsReceived:7644; Count:46 Original-Received: from AM0PR06MB6577.eurprd06.prod.outlook.com ([fe80::9487:8c7d:da00:4993]) by AM0PR06MB6577.eurprd06.prod.outlook.com ([fe80::9487:8c7d:da00:4993%8]) with mapi id 15.20.3676.033; Wed, 23 Dec 2020 10:18:14 +0000 In-Reply-To: (yarnton's message of "Wed, 23 Dec 2020 02:48:25 +0100 (CET)") X-TMN: [2LduZGrVFdFkrhWuQLExCS2LJ0b+MxOi] X-ClientProxiedBy: AM6P192CA0007.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::20) To AM0PR06MB6577.eurprd06.prod.outlook.com (2603:10a6:208:19a::23) X-Microsoft-Original-Message-ID: <87blekhllm.fsf@live.com> X-MS-Exchange-MessageSentRepresentingType: 1 Original-Received: from pascal.homepc (90.230.29.56) by AM6P192CA0007.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27 via Frontend Transport; Wed, 23 Dec 2020 10:18:14 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 46 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 3cde016d-0bfd-4bb9-f65f-08d8a72c0f34 X-MS-TrafficTypeDiagnostic: VI1EUR06HT038: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: s7MVYwc9gxsCuL9d2mqC/tDf3+lji+WiAjuW9XmT2Wp2d2r/074H6f/CHw0pS0CSnG8hMQBiWKiQr/oe2M5V/JoZeHt6eo8EhDUwksVM0DjUVYUD6WI/o7DCywkDpK9aV/2Jk8SWUMs7w5vlNUKLXLoJO3beBGdA6DcaA60JWw3GRg4gjtPc3TNvYuI4aqTe1wiGyOqwomE+J9D8k5QISLKGgyYoiHLbLO+m99KlBQobME2cfIjxGudTSsMc8ZJ1 X-MS-Exchange-AntiSpam-MessageData: cuUiR7NCNtd+2p+y4gvYNwjc+Tpryz5Hjyf5JEpRoKbCTLCs1FPi3NqXoCbZvLMwa05ALogRFtGUhHS2Lq4JP/KqzqTLjSCQ3L+IkAOoOW8Wjf9ayxeItBmQNeXxe53+73QaZQisa+xFtFh7ATc6vg== X-OriginatorOrg: live.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2020 10:18:14.7976 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-Network-Message-Id: 3cde016d-0bfd-4bb9-f65f-08d8a72c0f34 X-MS-Exchange-CrossTenant-AuthSource: VI1EUR06FT044.eop-eur06.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1EUR06HT038 Received-SPF: pass client-ip=40.92.17.33; envelope-from=arthur.miller@live.com; helo=EUR06-VI1-obe.outbound.protection.outlook.com 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, FREEMAIL_FROM=0.001, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, 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:261583 Archived-At: yarnton--- via "Emacs development discussions." writes: > You could probably implement all these functions with a minimal layer on top of > org-mode, as it does support a lot of functionality already. Org is another markup language, org is little higher than say md or rtf or xml/html which are other markup languages, but it would be much more work then "minimal layer". It is just half-wysiwyg. It is not impossible, but is not that minimal either. > IMHO, since Emacs is mostly plain text oriented it is going to be hard to go > beyond supporting what Org already offers. What would be a problem there? Probably every text manipulation program has some kind of plain text storage in it's backend somewhere; be it an array as in Emacs or some linked structure. Emacs has Lisp which has lists which lets you build arbitrary structures. It is trivial to implement hierarchical structures like DOM tree or a scene graph in Lisp since n-ary trees can be easily created with lists. Likewise key-value properties like CSS properties are also easily represented with lists; I guess that is what Emacs text properties already are. One could use buffer just as a memory storage and index into it, so "plain text" is really not a problem. And by the way, it is not so plain anymore, is utf8, so big part of the work is already done (encoding/decoding). The only problem I see is Emacs renderer. It just needs a little bit more flexibility so it can render stuff in layers, on top of each other, so we could for example render some nice rectangle for a page, markers where text on paper starts, ends etc. Also a pixel aligned dragging of objects with mouse might be useful to have in a wysiwyg application, but is not necessary. I think print view could already be implemented by simply rendering buffer to svg image and displaying it in another buffer.