unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Oleh Krehel <ohwoeowho@gmail.com>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: David Kastrup <dak@gnu.org>,
	emacs-devel@gnu.org, Stefan Monnier <monnier@iro.umontreal.ca>,
	Paul Eggert <eggert@cs.ucla.edu>
Subject: Re: [Emacs-diffs] master 9ffb6ce 5/5: Quoting fixes in lisp/international and lisp/leim
Date: Thu, 03 Sep 2015 12:16:49 +0200	[thread overview]
Message-ID: <87h9nbq032.fsf@gmail.com> (raw)
In-Reply-To: <55E5B42F.3070806@yandex.ru> (Dmitry Gutov's message of "Tue, 1 Sep 2015 17:20:31 +0300")

Dmitry Gutov <dgutov@yandex.ru> writes:

> On 09/01/2015 03:06 PM, David Kastrup wrote:
>
>>> We have \\= escaping syntax, see `substitute-command-keys'.
>>
>> Spells more or less death for cut&paste from some help buffer into the
>> _source_ of a DOC string, doesn't it?  Sure, backslashes already have
>> that effect, but at least this is due to string syntax rather than some
>> obscure markup processor.
>
> Like you said, any escaping syntax spells death for cut&paste.

Cut and paste can still work: just add a `quote-last-yank' command and/or
`quote-region' command. I've been using similar commands for posting
copy-pasted code to Stack websites. Here's a snippet I use for quoting
pasted code in Markdown:

    (defun ora-markdown-stack-block (beg end)
      (interactive "r")
      (let ((str (buffer-substring-no-properties beg end)))
        (delete-region beg end)
        (insert
         "<!-- language: lang-cl -->\n\n    "
         (mapconcat
          #'identity
          (split-string str "\n" t)
          "\n    "))))

An issue that I have with \\= escaping syntax is that it's ugly.  One
reason for success of Markdown (also Org-mode) is that it looks good
enough even in source form, i.e. not exported or rendered. Therefore, I
propose we move from this:

    (defcustom auto-insert 'not-modified
    ...
    This variable is used when the function `auto-insert' is called, e.g.
    when you do (add-hook \\='find-file-hook \\='auto-insert).

to this:

    This variable is used when the function `auto-insert' is called, e.g.
    when you do ``(add-hook 'find-file-hook 'auto-insert)''.

Note how ``(add-hook 'find-file-hook 'auto-insert)'' looks good enough
even in plain text form, with no extra highlighting. Much better than
(add-hook \\='find-file-hook \\='auto-insert). And it's easy to copy
paste and quote with a simple command that just adds 4 chars around a
region.

Also, it would be very easy to modify font-lock to add extra
highlighting for ``...'' blocks, since they're so easy to parse.

In the unlikely case when someone wants a code block with two
consecutive apostrophes, the old \\=' approach can be used. The quoting
function could even do this automatically, i.e. quote any apostrophes in
the region appropriately.

For code blocks, we could use an empty line followed by 4 spaces indent.

I think there's value in having asymmetric delimiters, since that eases
the job of font-lock by a lot. The current `markdown-mode' breaks
highlighting very often because of symmetric delimiters.

Oleh



  reply	other threads:[~2015-09-03 10:16 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20150831061236.27796.57762@vcs.savannah.gnu.org>
     [not found] ` <E1ZWIKb-0007FR-Kk@vcs.savannah.gnu.org>
2015-08-31  6:26   ` [Emacs-diffs] master b533552 2/5: Documentation fixes re quotes Dmitry Gutov
2015-08-31  6:39     ` Paul Eggert
2015-08-31  6:47       ` Dmitry Gutov
2015-08-31  6:53         ` Paul Eggert
2015-08-31  7:00           ` Dmitry Gutov
2015-08-31  7:13             ` Paul Eggert
2015-09-01  0:03           ` Richard Stallman
2015-09-02  1:05             ` Paul Eggert
2015-09-02  1:27               ` David Kastrup
2015-09-02  1:30                 ` Paul Eggert
2015-09-02  5:19                   ` David Kastrup
2015-09-02  5:30                     ` Paul Eggert
2015-09-02 15:40                     ` Richard Stallman
2015-09-02 16:32                       ` David Kastrup
2015-09-03 15:38               ` Dmitry Gutov
2015-09-03 17:42                 ` Paul Eggert
2015-09-03 18:49                   ` Dmitry Gutov
2015-09-03 21:50                     ` Paul Eggert
2015-09-03 22:08                       ` Dmitry Gutov
2015-09-03 22:47                         ` Paul Eggert
2015-09-03 22:59                           ` Dmitry Gutov
2015-09-07  1:28               ` Richard Stallman
     [not found] ` <E1ZWIKd-0007Fs-15@vcs.savannah.gnu.org>
2015-08-31  6:29   ` [Emacs-diffs] master 9ffb6ce 5/5: Quoting fixes in lisp/international and lisp/leim Dmitry Gutov
2015-08-31  6:38     ` Paul Eggert
2015-08-31 17:34     ` Stefan Monnier
2015-08-31 18:40       ` Dmitry Gutov
2015-08-31 18:48       ` Paul Eggert
2015-09-01  7:35         ` David Kastrup
2015-08-31 17:40     ` Stefan Monnier
2015-08-31 18:03       ` Paul Eggert
2015-09-01  1:55         ` Stephen J. Turnbull
2015-09-01  3:40         ` Stefan Monnier
2015-09-01  6:29           ` Paul Eggert
2015-09-01 10:45           ` Oleh Krehel
2015-09-01 10:53             ` Andreas Schwab
2015-09-01 11:22             ` David Kastrup
2015-09-01 11:40               ` Oleh Krehel
2015-09-01 11:42               ` Dmitry Gutov
2015-09-01 12:06                 ` David Kastrup
2015-09-01 14:20                   ` Dmitry Gutov
2015-09-03 10:16                     ` Oleh Krehel [this message]
2015-09-03 11:22                       ` Dmitry Gutov
2015-09-03 14:50                         ` Stefan Monnier
2015-09-03 15:04                           ` Dmitry Gutov
2015-09-01 13:31               ` Paul Eggert
2015-09-01 14:15                 ` David Kastrup
2015-09-01 15:39             ` Stefan Monnier
2015-09-01 19:00               ` Alan Mackenzie
2015-09-02  4:07                 ` Stefan Monnier
2015-09-02  5:28                   ` David Kastrup
2015-09-02 10:02                   ` Alan Mackenzie
2015-09-02 11:22                     ` Dmitry Gutov
2015-09-02 15:41                       ` Richard Stallman
2015-09-02 15:53                         ` Dmitry Gutov
2015-09-02 16:38                         ` Paul Eggert
2015-09-03 15:37                           ` Richard Stallman
2015-09-03 17:26                             ` Paul Eggert
2015-09-02 16:32                     ` Paul Eggert
2015-09-02 17:23                       ` Alan Mackenzie
2015-09-02 17:43                         ` David Kastrup
2015-09-02 22:25                           ` Paul Eggert
2015-09-03 10:48                             ` David Kastrup
2015-09-03 12:45                               ` Andreas Schwab
2015-09-03 14:46                               ` Eli Zaretskii
2015-09-02 22:13                         ` Paul Eggert
2015-09-03 12:22                           ` Alan Mackenzie
2015-09-03 14:56                             ` Paul Eggert
2015-09-04 13:22                               ` Alan Mackenzie
2015-09-02 20:14                     ` Stefan Monnier
2015-09-01 19:25               ` Paul Eggert
2015-09-07  1:28                 ` Richard Stallman
2015-09-01 19:33               ` Dmitry Gutov
2015-09-02  2:34                 ` Stefan Monnier
2015-09-02  5:23                   ` David Kastrup
2015-09-02 11:16                   ` Dmitry Gutov
2015-09-02 11:52                     ` Quoting yank/diff prefixes (was: [Emacs-diffs] master 9ffb6ce 5/5: Quoting fixes in lisp/international and lisp/leim) David Kastrup
2015-09-03 14:34                     ` [Emacs-diffs] master 9ffb6ce 5/5: Quoting fixes in lisp/international and lisp/leim Stefan Monnier
2015-09-01 22:57             ` Richard Stallman
2015-09-01  0:03     ` Richard Stallman
2015-09-01  1:20       ` Paul Eggert

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=87h9nbq032.fsf@gmail.com \
    --to=ohwoeowho@gmail.com \
    --cc=dak@gnu.org \
    --cc=dgutov@yandex.ru \
    --cc=eggert@cs.ucla.edu \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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).