unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: 20707@debbugs.gnu.org
Subject: bug#20707: [PROPOSED PATCH] Use curved quoting in C-generated errors
Date: Wed, 10 Jun 2015 13:39:31 +0000	[thread overview]
Message-ID: <20150610133931.GA3632@acm.fritz.box> (raw)
In-Reply-To: <557779E9.3050409@cs.ucla.edu>

Hello again, Paul.

On Tue, Jun 09, 2015 at 04:42:33PM -0700, Paul Eggert wrote:
> Alan Mackenzie wrote:
> >> Curved single quotes are also "working" characters, both in Emacs
> >> >(master branch) and in Texinfo (latest stable version).
> > They're not

> It sounds like your definition of "working" differs from what I thought it 
> meant.

I had thought an informal definition with examples would suffice.  Seems
not.  How about a "working character" being "a character it's easy to
work with"?  That would involve it being easy to type on some standard
keyboard, and being displayable on "all" standard display environments.

> I thought you were using "working" to mean that a character has a 
> special function in Emacs or in the file that one is editing.  But as I 
> understand it now, by "working" you mean that it's a character on your keyboard. 
>   If so, then yes, you're right, curved single quotes are typically not 
> "working" characters.  But I fail to see the significance of this point.

Imagine a keyboard where _all_ characters had to be input by giving their
ASCII (or unicode) code.  That would be hellish, and completely unusable
by any normal person.  Now scale that back a bit, so that only _some_
characters need to be input by code.  That's bad if you use these
characters.  That's like the situation you want to create.  You want to
promote difficult-to-type and problematic-to-display characters to the
status of standard "working characters".  This will make Emacs less
usable.

> For example, the newline character is not a "working" character on my
> keyboard, but that doesn't mean we should exclude newlines from our
> source files.

Newline isn't a "character" in the sense meant.  It does not appear in
any font.  It is more a command than a character.  I admit you could
repeatedly pick holes in any informal definition of "working character" I
give, until we end up with a rigorous, and bearly readable, definition.
That wouldn't be a good use of time for either of us.

> >> >It's true that not every keyboard can generate them in every Emacs
> >> >context with just a single keypress, ....
> >> >but that's also true for many ASCII characters.
> > Also untrue, for the large class of keyboards which are based on the
> > Latin alphabet.

> I have such a keyboard, and when I type Return, Emacs doesn't put a carriage 
> return into a typical buffer; it does something else.  Or when I type the \ key 
> in a Lisp string, Emacs doesn't put a \ into the string; it does something else. 
>   Or when I type a space character when searching, Emacs doesn't search for a 
> space; it does something else.  In all these cases, if I really want to get 
> exactly the ASCII character in question, I have to do something other than type 
> a key labeled by that character.  And my point was that this is something that 
> many ASCII characters have in common with curved quotes.

That's a total diversion.  In normal typing, the characters embossed on
your physical keys are what you see when you type them.  I put it to you
that you don't have any of the four curly quote characters embossed on
any key on your keyboard, and you have no easy way to type them.  I.e.
they're "display characters" even for you.  You have no problem
whatsoever typing \ or space.

I have a feeling you're intending to argue for making the use of curly
quotes in our Lisp files standard.  That would be a backward step for
usability.  

Anyway, here's another idea for making curly quotes in lisp code
optional: an escaped 0x27 or 0x60 in a string should be translated by the
reader to the appropriate ASCII or curly quote, depending on the user's
configuration.  So a doc string might contain this:

    \`foo-bar\'

, and would become ?foo-bar? on your system and `foo-bar' on mine.  That
way, the quotes are still visible in the source as quotes, and the extra
space taken up is minimal, in fact no more than when a " needs to be
escaped.  It would also be fully backward compatible with earlier
Emacsen.  A slight disadvantage would be that users would have to compile
the lisp sources when building a new Emacs.  There are fewer than 61004
occurrences of `...' in our sources.

This could make the extra effort involved in adapting the C source to
handle --with-curly-quotes worthwhile.

> > the standard default Linux console font, default8x16

> It's news to me that this is the standard default Linux console font.  It's not 
> available in Ubuntu or in Fedora, which are popular GNU/Linux distributions.

It's a first class member of the set of fonts distributed in the source
from http://freshmeat.net/projects/kbd/.  It's certainly the default in
Gentoo, quite likely in other distros, too.

> Perhaps it's something used at a low level while booting?  That would make 
> sense, if it uses the same encoding that the IBM PC used back in 1981.  Anyway, 
> it doesn't seem to be of much practical relevance to this thread.

Getting back on topic, we agreed yesterday that things should "just
work", and that users should not have to fiddle around with fonts.  If
you make this change, then fiddling around with fonts is precisely what
some users are going to have to do.

Again, I think the only justification for the change you've given is that
you personally don't like the look of 0x60 and 0x27 used as quote
characters.  Is that really sufficient justification for the loss of
usability we would all face, and the problems with fonts which a subset
of users would be faced with?  With my new idea above for `...' in lisp
files, how about reconsidering my "Q" C macro from a few days ago?

-- 
Alan Mackenzie (Nuremberg, Germany).





  reply	other threads:[~2015-06-10 13:39 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-01  7:39 bug#20707: [PROPOSED PATCH] Use curved quoting in C-generated errors Paul Eggert
     [not found] ` <mailman.4052.1433144480.904.bug-gnu-emacs@gnu.org>
2015-06-01 10:49   ` Alan Mackenzie
2015-06-01 16:01     ` Paul Eggert
2015-06-01 17:17       ` Alan Mackenzie
2015-06-01 18:50         ` Paul Eggert
2015-06-02 11:56           ` Alan Mackenzie
2015-06-02 13:25             ` Drew Adams
2015-06-02 15:39             ` Paul Eggert
2015-06-02 15:51               ` Dmitry Gutov
2015-06-02 20:05                 ` Paul Eggert
2015-06-02 17:07               ` Alan Mackenzie
2015-06-02 20:44                 ` Alan Mackenzie
2015-06-04 15:43                   ` Paul Eggert
2015-06-06 15:54                     ` Alan Mackenzie
2015-06-06 18:11                       ` Paul Eggert
2015-06-06 20:50                         ` Alan Mackenzie
2015-06-07  0:09                           ` Paul Eggert
2015-06-08 17:18                             ` Alan Mackenzie
2015-06-09  6:53                               ` Paul Eggert
2015-06-09 13:34                                 ` Alan Mackenzie
2015-06-09 20:49                                   ` Paul Eggert
2015-06-09 22:46                                     ` Alan Mackenzie
2015-06-09 23:42                                       ` Paul Eggert
2015-06-10 13:39                                         ` Alan Mackenzie [this message]
2015-06-10 16:20                                           ` Paul Eggert
2015-06-10 17:39                                             ` Dmitry Gutov
2015-06-10 19:42                                               ` Paul Eggert
2015-06-10 19:17                                             ` Alan Mackenzie
2015-06-10 19:44                                               ` Paul Eggert
2015-06-11 19:06                                                 ` Alan Mackenzie
2015-06-12  2:41                                                   ` Paul Eggert
2015-06-12 11:25                                                     ` Alan Mackenzie
2015-06-12 23:46                                                       ` Paul Eggert
2015-06-13 11:54                                                         ` Alan Mackenzie
2015-06-13 17:54                                                           ` Paul Eggert
2015-06-07 13:17                       ` Wolfgang Jenkner
2015-06-09 16:58                         ` Alan Mackenzie
2015-06-02 23:26                 ` Paul Eggert
2015-06-01 14:34 ` Eli Zaretskii
2015-06-01 16:48   ` Glenn Morris
2015-06-01 17:55   ` Paul Eggert
2015-06-01 18:29     ` Eli Zaretskii
2015-06-01 21:13     ` Stefan Monnier
2015-06-09 19:44 ` Wolfgang Jenkner
2015-06-11 13:06 ` bug#20707: " Andy Moreton
2020-08-12 13:02 ` bug#20707: [PROPOSED PATCH] " Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150610133931.GA3632@acm.fritz.box \
    --to=acm@muc.de \
    --cc=20707@debbugs.gnu.org \
    --cc=eggert@cs.ucla.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).