From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.help Subject: Re: Non file buffers and default-directory Date: Thu, 27 Apr 2023 15:30:44 +0300 Message-ID: <83o7n9se17.fsf@gnu.org> References: <87edohf3ip.fsf@ledu-giraud.fr> <87zg745p85.fsf@gmx.de> <87y1moe1aa.fsf@ledu-giraud.fr> <87v8hr6gvl.fsf@gmx.de> <874jpa611r.fsf@ledu-giraud.fr> <87v8hprb5w.fsf@mbork.pl> <87zg714qb8.fsf@gmx.de> <87pm7xplz3.fsf@ledu-giraud.fr> <87r0sc4cmv.fsf@gmx.de> <87ttx810mz.fsf@ledu-giraud.fr> <831qkb27st.fsf@gnu.org> <87pm7v256a.fsf@univ-nantes.fr> <87cz3vukop.fsf@gmx.de> <83leijyrb2.fsf@gnu.org> <87pm7u95yf.fsf@gnu.org> <83fs8qzrab.fsf@gnu.org> <87cz3r28ye.fsf@ledu-giraud.fr> <83ildjvply.fsf@gnu.org> <87bkj9ioc8.fsf@ledu-giraud.fr> <83sfclshk0.fsf@gnu.org> <87354lwmxr.fsf@vagabond.tim-landscheidt.de> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13282"; mail-complaints-to="usenet@ciao.gmane.io" To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Thu Apr 27 14:30:46 2023 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 1ps0lq-0003Jy-H8 for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 27 Apr 2023 14:30:46 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ps0lO-0006sS-OO; Thu, 27 Apr 2023 08:30:20 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ps0lJ-0006it-DU for help-gnu-emacs@gnu.org; Thu, 27 Apr 2023 08:30:15 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ps0lH-0007ad-Op for help-gnu-emacs@gnu.org; Thu, 27 Apr 2023 08:30:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=ey7XU3M0gonCwn8fWKML9/ful5TrA4aR40Z/YsECtPU=; b=mt5Vy62w8+pz ooaahlj3nh5ly+qiNID+23zDA9SKL0+Yuds9YDTbf2eOavdIH87wVUAq7v/wsrcmmxVgQNAZukuiN diVo7yA2w2z6oJSd+0gJuyRIG3/b8qJJ3Hox7b63MvbAcGvu2rEsuJH4wOXE/OjHzBVFImQ8PpFHl Kd0xWmxzFGkSbQIqakP2kHhB2MW92BsFGViUn/CrHpH97Bt5w8/x4Yu+Xfx9qmnIkj+zvELT8W08C NBSBqjzJYG36ynhYLXYFL9Pzll5/dhwQJCk8sXfMrsEOvgWGIQC/bMP7soaXvps43OUR9cfMhLOHG 3tBtmTO4YGl6nmvo0J/EbQ==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ps0lG-0008JQ-Vi for help-gnu-emacs@gnu.org; Thu, 27 Apr 2023 08:30:11 -0400 In-Reply-To: <87354lwmxr.fsf@vagabond.tim-landscheidt.de> (message from Tim Landscheidt on Thu, 27 Apr 2023 12:04:48 +0000) X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 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-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:143421 Archived-At: > From: Tim Landscheidt > Date: Thu, 27 Apr 2023 12:04:48 +0000 > > Side note: I would love a well-maintained example of an > "asynchronous" user interface in Emacs. > > I have a bunch of shell/Perl/Python scripts that I'd like to > convert to Emacs Lisp for a consistent UI that can also be > used over SSH. > > For example, I have a script that plays a podcast's audio > file and afterwards asks me if the associated database entry > selected from a list of suggestions should be marked as > heard (and the file archived). I also use this as part of > sequences, i. e. "$script file1.mp3 && $script file2.mp3". > > Now in Emacs, I obviously would want to continue to work on > something else while the audio is playing in the background. > I also don't want that other work to be interrupted in the > sense of a blocking minibuffer prompt when the playback has > finished. And I also don't want to accidentally quit Emacs > without me being reminded, "hey, that playback has finished, > should it be marked as heard?" And I want that "bit" to be > usable as part of a sequence, i. e. after answering the > question, the next statement should be executed. AFAIU, this has nothing to do with Lisp threads. Every modern OS is capable of playing audio/video clips in the background, so all you need is invoke your player (or the script which invokes the player) in that background mode.