From: Jean Louis <bugs@gnu.support>
To: Tim Landscheidt <tim@tim-landscheidt.de>
Cc: help-gnu-emacs@gnu.org
Subject: Re: RFE: Editing string literals like org-mode?
Date: Sat, 27 Mar 2021 21:08:55 +0300 [thread overview]
Message-ID: <YF90t6vAsqg2Af4f@protected.localdomain> (raw)
In-Reply-To: <875z1co8v0.fsf@passepartout.tim-landscheidt.de>
* Tim Landscheidt <tim@tim-landscheidt.de> [2021-03-27 19:33]:
> Jean Louis <bugs@gnu.support> wrote:
>
> >> - an (optional) function foo-quote for each major mode so
> >> that (insert (foo-quote (read-string "String: ")))
> >> inserts the input properly quoted in the current buffer,
>
> > (insert (prin1-to-string (read-string "String: "))) → "Some \"New\" string"
>
> > Is that?
> That is the existing solution for Emacs Lisp. I'm looking
> for a universal one.
Do you mean like a function maybe, that works everywhere?
(defun my-insert-string-literal (&optional string)
"Asks for STRING if not supplied and inserts it as literal
string with quotes."
(interactive)
(let ((string (or string (read-string "String: "))))
(insert (prin1-to-string string))))
> >> - an (optional) function foo-read-string-literal-at-point
> >> that returns the dequoted string literal at point, and
>
> > Do you mean that it works on quote strings like: "Some \"New\" string"?
>
> For example.
thing-at-point would need to be defined, I would not know now how
to define it universally to find out string with quote on both
sides and that it works over new lines.
"Some string✗ here \"Mo✗re\" and more."
"Then again✗ maybe \"one\" here".
What would be then string with quotes if cursor is at second ✗ on
first line or first, or in the second line?
Should program count all quotes, and what about others? It is
hard to find general boundaries.
It would be easier to find boundaries in a sexp like
'(Something "String \"more\" here").
> >> - a function bound to C-c ' that edits the string literal at
> >> point just like org-mode does (if the major mode provides
> >> the necessary foo-quote and
> >> foo-read-string-literal-at-point functions).
>
> > I have tried searching in the manual, so can you help me, is it
> > in source block? Or in table?
>
> For example in source blocks (#+BEGIN_SRC).
>
> > If I got it right, it would be useful to be able to edit strings
> > without observing quotations.
>
> That would be the point; assuming a shell-script-mode buffer
> with the text:
For that I have tried with:
#+BEGIN_SRC shell-script
Something
#+END_SRC
And I do not see how it helps with quoting, maybe I
misunderstood. What I could see is that it is making new buffer
and edits it maybe with a different mode.
Do you mean to temporarily, during editing, change the mode and
then come back to original mode?
next prev parent reply other threads:[~2021-03-27 18:08 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-27 14:05 RFE: Editing string literals like org-mode? Tim Landscheidt
2021-03-27 14:25 ` Jean Louis
2021-03-27 16:32 ` Tim Landscheidt
2021-03-27 17:09 ` Stefan Monnier
2021-03-28 11:42 ` Tim Landscheidt
2021-03-27 18:08 ` Jean Louis [this message]
2021-03-28 12:31 ` Tim Landscheidt
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=YF90t6vAsqg2Af4f@protected.localdomain \
--to=bugs@gnu.support \
--cc=help-gnu-emacs@gnu.org \
--cc=tim@tim-landscheidt.de \
/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.
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).