From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: `M-x yank-media' Date: Mon, 08 Nov 2021 05:55:24 +0100 Message-ID: <87mtmfb60z.fsf@gnus.org> References: <877ddlt2pp.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2585"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Nov 08 05:56:55 2021 Return-path: Envelope-to: ged-emacs-devel@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 1mjwiF-0000Qq-Kx for ged-emacs-devel@m.gmane-mx.org; Mon, 08 Nov 2021 05:56:55 +0100 Original-Received: from localhost ([::1]:58442 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mjwiD-0006rM-JI for ged-emacs-devel@m.gmane-mx.org; Sun, 07 Nov 2021 23:56:53 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:58476) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mjwgy-0005rB-NE for emacs-devel@gnu.org; Sun, 07 Nov 2021 23:55:38 -0500 Original-Received: from [2a01:4f9:2b:f0f::2] (port=60440 helo=quimby.gnus.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mjwgw-0006CV-9l for emacs-devel@gnu.org; Sun, 07 Nov 2021 23:55:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=wbN01eiRuDHyI1oR7LRDJk3gCEilwYsfmA1wxG+Gb8I=; b=F81cTRGTnUvB8exZPrYkAYg1yz KgBF8F4EYGTIBlWx1AdpOBSE/XaVgkcKobL69ilFrAPNLrQ5rFofX0douNozOTARH2DdtFbZttDcj 1vw7MkKxYA+RBQ8/xiI8lT/WBV7uMlipKVbq44JYGcK0CwfMhQnMyDYeFIeoBA9DFDBU=; Original-Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mjwgo-0007Fg-Kt; Mon, 08 Nov 2021 05:55:29 +0100 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAD1BMVEX+IZ38IJ2uGGc9 DSP///8lpndiAAAAAWJLR0QEj2jZUQAAAAd0SU1FB+ULCAQ2GzxJySoAAAFgSURBVDjLzVRrcsYg CBS9wKIX8HGBCPe/W4n54qPTzvRnmUxiWGHDgnHuNJq301BrrLfhOxBjrFyYcaYhBhzBcTwBIn6s 1rz5zTEAW4jfAPA0krZSEe9WzwhgwLZa+0F4XC/RBAbHiBihG8NOApr5waetEn4EjIH4RD8kUQs3 4castloAqUpS7QOQBZAXB4UJwdy5lclB4TJ5iNUA4bQAF7J5CO0B+uKwCH4i4hFBvrsyOEAdLd8i uPerNEm7mop91S0P3hHQQiq4Aclbfc6ePK5H0CluKin7noqQr6oW8hEXKacernapS20Ab6w5JWST BC1c1qzZJX+JpNolZQ1St/Z5kWZ7NXQJlmobHbUSTN4oRrU13KS9rD5rheZwHTPecuhqyijOVC7C l0JUqvPnPP9qVulNifuE8F8C/rHhh9XzirfpExi/A+vbZ2hWAx0PKcBjM30mgek+r9gPxXh8AZTR Mwr6mWZUAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTExLTA4VDA0OjU0OjI3KzAwOjAw5aV5PgAA ACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0xMS0wOFQwNDo1NDoyNyswMDowMJT4wYIAAAAASUVORK5C YII= X-Now-Playing: Beta Evers's _Cold Wave Volume 2_: "Hiding" In-Reply-To: (Richard Stallman's message of "Sun, 07 Nov 2021 22:07:44 -0500") X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a01:4f9:2b:f0f::2 (failed) Received-SPF: pass client-ip=2a01:4f9:2b:f0f::2; envelope-from=larsi@gnus.org; helo=quimby.gnus.org X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:279014 Archived-At: Richard Stallman writes: > It sounds exciting -- could you say a little more about how > it behaves? >From the manual: @node Yanking Media @section Yanking Media If you choose, for instance, ``Copy Image'' in a web browser, that image is put onto the clipboard, and Emacs can access it via @code{gui-get-selection}. But in general, inserting image data into an arbitrary buffer isn't very useful---you can't really do much with it by default. So Emacs has a system to let modes register handlers for these ``complicated'' selections. @defun yank-media-handler types handler @var{types} can be a @acronym{MIME} media type symbol, a regexp to match these, or a list of these symbols and regexps. For instance: @example (yank-media-handler 'text/html #'my-html-handler) (yank-media-handler "image/.*" #'my-image-handler) @end example A mode can register as many handlers as required. The @var{handler} function is called with two parameters: The @acronym{MIME} media type symbol and the data (as a string). The handler should then insert the object into the buffer, or save it, or do whatever is appropriate for the mode. @end defun The @code{yank-media} command will consult the registered handlers in the current buffer, compare that with the available media types on the clipboard, and then pass on the matching selection to the handler (if any). If there's more than one matching selection, the user is queried first. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no