From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: John Yates Newsgroups: gmane.emacs.devel Subject: Re: Emacs as word processor Date: Mon, 25 Nov 2013 12:51:13 -0500 Message-ID: References: <5288A59E.7030109@dancol.org> <87vbzqfgd6.fsf@uwakimon.sk.tsukuba.ac.jp> <87mwl04w3k.fsf@zigzag.favinet> <87iovo4caz.fsf@zigzag.favinet> <877gc14vzs.fsf@zigzag.favinet> <878uwhxnqe.fsf@informatimago.com> <83txf4cw9z.fsf@gnu.org> <528F77B8.9090602@lanl.gov> <83ob5ccoct.fsf@gnu.org> <83iovkcf1g.fsf@gnu.org> <83a9gvcyq3.fsf@gnu.org> <8361rjcf9u.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a11c387e08b2bd504ec0402f4 X-Trace: ger.gmane.org 1385401879 16169 80.91.229.3 (25 Nov 2013 17:51:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 25 Nov 2013 17:51:19 +0000 (UTC) Cc: Emacs developers To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Nov 25 18:51:24 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Vl0Jg-0002c4-41 for ged-emacs-devel@m.gmane.org; Mon, 25 Nov 2013 18:51:24 +0100 Original-Received: from localhost ([::1]:54171 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vl0Jf-0008EX-KC for ged-emacs-devel@m.gmane.org; Mon, 25 Nov 2013 12:51:23 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59251) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vl0Jb-0008E6-EJ for emacs-devel@gnu.org; Mon, 25 Nov 2013 12:51:21 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vl0JZ-0003AX-Qw for emacs-devel@gnu.org; Mon, 25 Nov 2013 12:51:19 -0500 Original-Received: from mail-wi0-x22d.google.com ([2a00:1450:400c:c05::22d]:42877) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vl0JX-0003A6-B9; Mon, 25 Nov 2013 12:51:15 -0500 Original-Received: by mail-wi0-f173.google.com with SMTP id hm4so3972915wib.0 for ; Mon, 25 Nov 2013 09:51:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=QkJ6275G4hzw2VU0vZXUEBGNSQW78I6qoEDXuJiEYQM=; b=uK7w/BAS89H3661VO2Xv8NikILj+LGyqzRexiAi4o4uSnDPGO0boCzNZ8V0yujp6U7 PCdTOhfo/Jbe+6XBgj9AnIs889Uj8NVB1hb3uIscf1YcRwncQPms/6ioFuwNtJsHBXeu rZkygujjY0hhNM3eggmMKAOi6lRtKj1jtOqHRpQOaSYwbkojjUXTlD4bh8veNkg5xTEn RPVdQcKNg4tCcKUc/Fy4EicI3txcXwUK0nZcNdaksFXq7HMJwChDvkPLscVF3YDObDhA bSx5Zwy5UgegrXqdE+GYUJk2fPAi723O/W79IQVaLYzmfiGGxi8NWEMzoBbj6aB0GgJ9 5xNg== X-Received: by 10.180.208.4 with SMTP id ma4mr14474806wic.43.1385401873539; Mon, 25 Nov 2013 09:51:13 -0800 (PST) Original-Received: by 10.194.201.195 with HTTP; Mon, 25 Nov 2013 09:51:13 -0800 (PST) In-Reply-To: <8361rjcf9u.fsf@gnu.org> X-Google-Sender-Auth: js23sFPHI_ydyXDTn5n61MDLBec X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::22d X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:165710 Archived-At: --001a11c387e08b2bd504ec0402f4 Content-Type: text/plain; charset=ISO-8859-1 On Sat, Nov 23, 2013 at 10:24 AM, Eli Zaretskii wrote: > > On Fri, 22 Nov 2013 4:47:05 PM, John Yates wrote: > > > > I want to be able to say "This is a chapter title" or "This is a step in a > > recipe" or - most commonly - "This is a top level paragraph with no > > particular distinctive property". > > > On Sat, 23 Nov 2013 10:13:38 AM, John Yates > wrote: > > > Are you saying that I can customize an emacs face to specify > > inter-paragraph space? a bullet glyph or numbering style? first line and > > subsequent line indentation? That is definitely not the case with my > > emacs, current as of Nov 8th. > > That's unfair: you said nothing about those features in the text to > which I responded. You just talked about the difference between > imperative and declarative approaches to specifying attributes. Now > you've changed the subject, so I no longer understand what are we > discussing. > This is a thread regarding adding a WYSIWYG capability to emacs. I guess I am guilty of silently assuming a vague shared sense of what a generic contemporary WYSIWYG editor does in these sorts of situations: Chapter title: probably force a new page, possibly number, larger possibly bolded font, possibly centered, extra trailing vertical space. Step in a recipe: increase indentation slightly, call out a list using bullets or numbering Top level paragraph with no particular distinctive property: revert to defaults If you are saying that these features don't exist in Emacs, I agree: > they don't. But I don't see the significance of that fact, since > everybody agrees that Emacs is not a WYSIWYG word processor at this > time. > I understood this thread to be - at least in part - about developing a vision of how one _might_ move emacs from its current state to one offering some kind of WYSIWYG capability. If you are saying that these features could never be part of a face > spec, then I don't think I agree; please explain why you think so. > I did not say that. Quite the contrary. In saying I would give the idea thought I would have hoped that it was clear I felt the suggestion could not be dismissed out of hand. I now have given it a bit more thought. Bottom line, I agree that one probably _could_ implement paragraph styles using faces but I believe that to do so would be a poor design. A better design would provide s separate, easily navigable representation of a document's (largely hierarchical) structural elements. Such structural element objects provides obvious sites to hang per element "paragraph-oriented" formatting directives as well as a natural framework for property inheritance. Properties (many new) would be attached to these elements (e.g. indentation, inter-element vertical spacing, list properties, face). Then, just as a collection of text properties bundled into a face and attached to a span of text does a good job of implementing what some WYSIWYG editors call "character styles", so too a collection of properties bundled into a face-like object and attached to a structural element could do a good job of implementing "paragraph styles". With such bundles of properties attached to structural elements instead of spans of text calling them simply "faces" would surely be confusing. We might call them "paragraph faces" or "structural faces" or "structural styles" or whatever... Finally a new text property would be needed to bind a span of text to the most deeply nested structural element to which it belongs. (Though I see no technical difficulty including that property in a face I can see no virtue in doing so.) /john --001a11c387e08b2bd504ec0402f4 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
On S= at, Nov 23, 2013 at 10:24 AM, Eli Zaretskii <eliz@gnu.org> wrot= e:

> > On Fri, 22 Nov 2013 4:47:05= PM, John Yates <john@yates-sheets.org> wrote:
> >
> > I want to be a= ble to say "This is a chapter title" or "This is a step=A0in a
> > recipe" or - most commonly - "This is a top level para= graph with no
> > particular distinctive property".
>
> On Sat, 23 Nov 2013 10:13:38 AM,=A0John Yates <john@yates-sheets.o= rg> wrote:
>
> Are you saying that I can customize = an emacs face to specify
> inter-paragraph space? a bullet glyph or numbering style? first line a= nd
> subsequent line indentation? =A0That is definitely not the case with m= y
> emacs, current as of Nov 8th.

That's unfair: you said nothing about those features in the text to
which I responded. =A0You just talked about the difference between
imperative and declarative approaches to specifying attributes. =A0Now
you've changed the subject, so I no longer understand what are we
discussing.

This is a thread regarding = adding a WYSIWYG capability to emacs. =A0 I guess I am guilty of silently a= ssuming a vague shared sense of what a generic contemporary WYSIWYG editor = does in these sorts of situations:

Chapter title: probably force a new page, possibly numb= er, larger possibly bolded font, possibly centered, extra trailing vertical= space.

Step in a recipe: increase indentation sli= ghtly, call out a list using bullets or numbering

Top level paragraph with no particular distinctive prop= erty: revert to defaults

If you are saying that these features don't exist in Emacs, I agree: they don't. =A0But I don't see the significance of that fact, since=
everybody agrees that Emacs is not a WYSIWYG word processor at this
time.

I understood this thread to be - = at least in part - about developing a vision of how one _might_ move emacs = from its current state to one offering some kind of WYSIWYG capability.

If you are saying that these features could never be part of a face
spec, then I don't think I agree; please explain why you think so.

I did not say that.= =A0Quite the contrary. =A0In saying I would give the idea thought I would = have hoped that it was clear I felt the suggestion could not be dismissed o= ut of hand.

I now have = given it a bit more thought. =A0Bottom line, I agree that one probably _cou= ld_ implement paragraph styles using faces but I believe that to do so woul= d be a poor design.

A better de= sign would provide s separate, easily navigable representation of a documen= t's (largely hierarchical) structural elements. =A0Such structural elem= ent objects provides obvious sites to hang per element "paragraph-orie= nted" formatting directives as well as a natural framework for propert= y inheritance. =A0Properties (many new) would be attached to these elements= =A0(e.g. indentation, inter-element vertical spacing, list properties, fac= e). =A0Then, just as a collection of text properties bundled into a face an= d attached to a span of text does a good job of implementing what some WYSI= WYG editors call "character styles", so too a collection of prope= rties bundled into a face-like object and attached to a structural element = could do a good job of implementing "paragraph styles". =A0With s= uch bundles of properties attached to structural elements instead of spans = of text calling them simply "faces" would surely be confusing. = =A0We might call them "paragraph faces" or "structural faces= " or "structural styles" or whatever...

Finally a n= ew text property would be needed to bind a span of text to the most deeply = nested structural element to which it belongs. =A0(Though I see no technica= l difficulty including that property in a face I can see no virtue in doing= so.)

/john
--001a11c387e08b2bd504ec0402f4--