From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: RFE: Editing string literals like org-mode? Date: Sat, 27 Mar 2021 21:08:55 +0300 Message-ID: References: <87ft0gofon.fsf@passepartout.tim-landscheidt.de> <875z1co8v0.fsf@passepartout.tim-landscheidt.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10784"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0.6 (2021-03-06) Cc: help-gnu-emacs@gnu.org To: Tim Landscheidt Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sat Mar 27 19:10:03 2021 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lQDNq-0002gN-Ro for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 27 Mar 2021 19:10:02 +0100 Original-Received: from localhost ([::1]:55452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lQDNp-0006BU-TE for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 27 Mar 2021 14:10:01 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43424) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lQDNI-0006Ap-GY for help-gnu-emacs@gnu.org; Sat, 27 Mar 2021 14:09:28 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:33549) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lQDNG-0007nw-9R for help-gnu-emacs@gnu.org; Sat, 27 Mar 2021 14:09:27 -0400 Original-Received: from localhost ([::ffff:41.202.241.58]) (AUTH: PLAIN securesender, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 000000000001E0AB.00000000605F74D2.00004648; Sat, 27 Mar 2021 11:09:21 -0700 Mail-Followup-To: Tim Landscheidt , help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: <875z1co8v0.fsf@passepartout.tim-landscheidt.de> Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:128725 Archived-At: * Tim Landscheidt [2021-03-27 19:33]: > Jean Louis 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?