unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Dmitry Gutov <dgutov@yandex.ru>, emacs-devel@gnu.org
Subject: Re: A simple solution to "Upcoming loss of usability ..."
Date: Sun, 28 Jun 2015 08:20:54 -0700	[thread overview]
Message-ID: <559010D6.5090905@cs.ucla.edu> (raw)
In-Reply-To: <558F4804.1020406@yandex.ru>

[-- Attachment #1: Type: text/plain, Size: 2623 bytes --]

Dmitry Gutov wrote:
>>
>
> Ok, try this, please. "\\" before a quote keeps it untranslated.
>
> However, it order for us to be able to show an arbitrary number of backslashes
> before a quote (both translated or not), the backslashes also escape themselves.
> I've limited this effect to only before a quote, so that we don't have to add
> them in a lot of places (like substitute-command-keys docstring).

That rule is too complicated.  Please let's keep it simple.  It's simpler to 
explain if the escape sequence always works.  It should be rare to need these 
escapes, so it's OK if they are multicharacter.  How about your other suggestion 
of using backslash-tilde?  This would be \\~ in the source-file string.  This is 
unlikely to occur in docstrings; there are no occurrences in the current Emacs 
sources.

> +Quote \\'like this\\' if the value is ?\\' (apostrophe).
> ...
> +Quote \\`like this\\' if the value is ?\\` (grave accent).

There should be no need to escape the apostrophes in these lines (see the next 
comment).

> +   nil '(("\\(?:\\=\\|[^\\]\\)\\(\\\\*\\)[`']"

First, this translates all apostrophes to quotes.  It should translate only the 
apostrophes that are used as quotes (i.e., those that match grave accents). 
That's what the current master does, and what your earlier prototype did.  We 
shouldn't try to second-guess unmatched apostrophe, any more than we should try 
to second-guess double-quote.

Second, the last bracketed RE should be [`'‘’] if we are to mimic the 
current-master behavior.  (However, please see the next comment.)

> +           ((or (and (null help-quote-translation)
> +                     (char-displayable-p ?‘))
> +                (eq help-quote-translation ?‘))

As I understand it, the need for help-quote-translation has gone away, since the 
primary impetus for it was that one couldn't easily search for quotes, and that 
problem has been fixed in the meantime by Artur's commits.  So this part can be 
simplified and the code can always assume that the above expression evaluates to 
t.  (This is also true of the current master of course.)

> I meant an example of a Help buffer where we must not translate quotes in the value.

Ah, OK, try loading the attached file.  The file name contains accent grave and 
apostrophe, which should not be translated when one types ‘C-h v foo’.

PS.  Can you please attach patches instead of pasting them bodily into your 
email?  I could not apply the patch in your email automatically, as some 
characters were munged somewhere in the process.


[-- Attachment #2: `big deal'.el --]
[-- Type: text/x-emacs-lisp, Size: 97 bytes --]

(defvar foo
  "`xxx-yyy' \\`zzz-www' \\~`aaa-bbb\\~'"
  "Don't ask me what this variable does.")

  reply	other threads:[~2015-06-28 15:20 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-25 14:59 A simple solution to "Upcoming loss of usability ..." Oleh Krehel
2015-06-25 15:37 ` Dmitry Gutov
2015-06-25 16:36 ` Paul Eggert
2015-06-25 17:00   ` Oleh Krehel
2015-06-25 20:48     ` Paul Eggert
2015-06-25 21:10       ` Dmitry Gutov
2015-06-25 22:15         ` Paul Eggert
2015-06-25 22:25           ` Dmitry Gutov
2015-06-25 22:41             ` Paul Eggert
2015-06-25 22:52               ` Dmitry Gutov
2015-06-27 15:00         ` raman
2015-06-25 18:32   ` Dmitry Gutov
2015-06-25 22:17     ` Paul Eggert
2015-06-25 22:38       ` Dmitry Gutov
2015-06-26  2:35         ` Paul Eggert
2015-06-26 12:06           ` Dmitry Gutov
2015-06-27 17:28             ` Paul Eggert
2015-06-27 17:53               ` Dmitry Gutov
2015-06-27 21:09                 ` Paul Eggert
2015-06-28  1:04                   ` Dmitry Gutov
2015-06-28 15:20                     ` Paul Eggert [this message]
2015-06-28 20:27                       ` Escaping quotes in docstrings, Was: " Dmitry Gutov
2015-06-28 23:29                         ` Dmitry Gutov
2015-07-01  2:56                           ` Paul Eggert
2015-07-02  0:09                             ` Dmitry Gutov
2015-07-02  6:57                               ` Paul Eggert
2015-07-02  9:46                                 ` Dmitry Gutov
2015-07-06  6:12                                 ` Paul Eggert
2015-07-06 12:07                                   ` Dmitry Gutov
2015-07-06 16:30                                     ` Paul Eggert
2015-07-06 22:10                                       ` Dmitry Gutov
2015-07-07  7:54                                         ` Paul Eggert
2015-07-07  8:39                                           ` Dmitry Gutov
2015-08-01  1:36                                             ` Paul Eggert
2015-08-01 21:05                                               ` Dmitry Gutov
2015-08-02  6:56                                                 ` Paul Eggert
2015-08-02 12:51                                                   ` Dmitry Gutov
2015-08-02 15:13                                                     ` Paul Eggert
2015-08-02 18:31                                                       ` Dmitry Gutov
2015-08-02  8:49                                                 ` Przemysław Wojnowski
2015-08-02 19:16                                                   ` Drew Adams
2015-06-27 17:57               ` Dmitry Gutov
2015-06-25 23:12       ` João Távora
2015-06-26  7:40       ` Oleh Krehel
2015-06-26 14:54         ` Paul Eggert
2015-06-26 15:03           ` Dmitry Gutov
2015-06-25 20:58   ` Alan Mackenzie
2015-06-25 22:34     ` Paul Eggert
2015-06-25 22:40       ` Dmitry Gutov
2015-06-25 22:45         ` Paul Eggert
2015-06-25 22:55           ` Dmitry Gutov

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=559010D6.5090905@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=dgutov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    /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).