From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: How to reliably edit a file from within Emacs Lisp and return a string? Date: Sat, 24 Aug 2019 18:44:39 +0200 Message-ID: <20190824164439.GC11684@protected.rcdrun.com> References: <83lfvkj6wd.fsf@gnu.org> <20190824121924.GQ5516@protected.rcdrun.com> <83r25aiw4f.fsf@gnu.org> <20190824124120.GT5516@protected.rcdrun.com> <83mufyitye.fsf@gnu.org> <20190824141421.GB11116@protected.rcdrun.com> <20190824145512.GA11684@protected.rcdrun.com> <83h866iopc.fsf@gnu.org> <20190824155103.GB11684@protected.rcdrun.com> <83ef1ailw5.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="248346"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.10.1 (2018-07-13) Cc: help-gnu-emacs@gnu.org To: Eli Zaretskii Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Aug 24 18:45:05 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1i1Z9x-0012QJ-25 for geh-help-gnu-emacs@m.gmane.org; Sat, 24 Aug 2019 18:45:01 +0200 Original-Received: from localhost ([::1]:38624 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i1Z9w-0005bd-1K for geh-help-gnu-emacs@m.gmane.org; Sat, 24 Aug 2019 12:45:00 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38318) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i1Z9j-0005bK-Cs for help-gnu-emacs@gnu.org; Sat, 24 Aug 2019 12:44:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i1Z9i-00045a-92 for help-gnu-emacs@gnu.org; Sat, 24 Aug 2019 12:44:47 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:60949) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1i1Z9g-00043x-Jb; Sat, 24 Aug 2019 12:44:44 -0400 Original-Received: from protected.rcdrun.com ([::ffff:31.223.149.228]) (AUTH: PLAIN admin, TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 00000000000320EB.000000005D616979.00005472; Sat, 24 Aug 2019 09:44:41 -0700 Original-Received: from localhost (localhost [127.0.0.1]) (uid 1001) by protected.rcdrun.com with local id 00000000000C9452.000000005D616977.000034AE; Sat, 24 Aug 2019 18:44:39 +0200 Content-Disposition: inline In-Reply-To: <83ef1ailw5.fsf@gnu.org> X-Mime-Autoconverted: from 8bit to quoted-printable by courier 1.0.6 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.170.207.13 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.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:121370 Archived-At: * Eli Zaretskii [2019-08-24 18:12]: > Is the program iterating over the fields in some predefined order? I can choose which field to edit, like using helm and then choosing a field to edit. But more often I keep it without helm. There is completing-read. And I have choices like to choose what to edit, then it comes back. > Also, are you feeding back each field individually, or do you need to > have them all edited before feeding them back as a single record? Each field individually. > One possibility would be to let the user edit all the fields in the > same buffer; then killing that buffer would be your signal that > everything is ready to be fed back, and you could do that feeding in > the hook function itself. There are too many tables, fields, that is not a good solution, and also not reliable to let too many information pieces waiting to be inserted back into database. > > It could be solved if I could hold on find-file, and to know that > > find-file finished its job, so that Emacs Lisp can continue after > > find-file >=20 > That isn't workable, since find-file finishes its job once it has the > file's contents in a buffer. The user didn't yet edit the buffer, so > it is not yet time for you to do anything. Your mental model seems to > be that find-file only returns when the user finishes editing and > saves the edits, but that's not how this works in reality. OK fine, it is not working that way. Look what I have observed: M-x shell =C2=A7 emacsclient "file" it works here inside of M-x shell where it says "Waiting for Emacs..." So I can launch emacsclient from shell within Emacs with waiting stage. Do you know if I could somehow invoke automatically this below? To do some invokation like M-x shell, but with the the shell command something like: `emacsclient file', so to launch emacsclient with such waiting stage and upon return I could then continue program execution. Jean