From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id oKBVFHi4Dmfl7QAA62LTzQ:P1 (envelope-from ) for ; Tue, 15 Oct 2024 18:46:16 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id oKBVFHi4Dmfl7QAA62LTzQ (envelope-from ) for ; Tue, 15 Oct 2024 20:46:16 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=JrgbCxEK; dmarc=pass (policy=none) header.from=posteo.net; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1729017976; a=rsa-sha256; cv=none; b=dIr012fwkZxR4s0MAFkcX4r0ljKoQWtUPPNhvpvObUepdf0jFs52Rs21yGyHEpssFd1kSE y9Vg+SLetkrOrJhMyjWyI+1ynD9mXTB6UHHQShOV+86n7KzDnHtAq1mOtoj7E6d0efXMsF O+zDEqnj9+PzbL4TPRbxusTwkvqhbX40UPEd5txjtYAK2oMy2skQzE65wbLmdxez34a0Yn yd5tsceS6JWZD3QQnYfj7GFpconXt1YSBQKKuK3gg0npodQ6N81FMiJ2ShInNrK4UMocP8 IHpTQNIlDchjse3Dbiq00btDM0ocupLE8kS6goRWz6/B5cq8MZQHwRHnW/h7sw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=JrgbCxEK; dmarc=pass (policy=none) header.from=posteo.net; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1729017976; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=FyR3k7g6LgNUIuUexQ+wzWV33KFIV771HcbhUp55N4s=; b=UOqkrWdk2LGxocLtf01xUxhacwJ/3hMeJtPT3h5STD6gbcGqjq63CWKiRv9hJkB2HuoWXS LYzHmkuOS84KgYPf8VypxQRqTiJCUVrvbpOnV4SiOiA+cGaDea0e0LkXGi206gAsxgZDrl Cwji1W9GgXNmJIKvA/QOFDr5FZzJ/Ihf18JSaxpkU2S5ZW2HNFRqZodePVCAGpCcaZfc+k K1qg6fYAwEmXGeGP9h9RalVdEYFJHUsd/ePpLBtz9w1JNlH0RuBzpVl/xzVw+8heD/qkqz vJ/B4rAS0D8u0YI5XTOZQd0SCS9tz0G5IMXaOkkf+aqqy9LNdN23nI8lzdMO+Q== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id C5C1B6635D for ; Tue, 15 Oct 2024 20:46:15 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t0mT4-000197-Hs; Tue, 15 Oct 2024 14:40:26 -0400 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 1t0mT0-00018Y-Fz for emacs-orgmode@gnu.org; Tue, 15 Oct 2024 14:40:23 -0400 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t0mSv-0006BI-OK for emacs-orgmode@gnu.org; Tue, 15 Oct 2024 14:40:21 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 8703B240028 for ; Tue, 15 Oct 2024 20:40:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1729017614; bh=nhHBre9RT7YXIQxom8MKg1JFuNrrQpz1Pz01hgAr0I8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: From; b=JrgbCxEK/dT0pKNGMtXVCT4xaM8sNIScWGyCwjLa3Sv7xFmtJl/ylQOL5fGR/gC5E pqS+gC3YtYrVHkL5lz5KZ70Ho5Ka1jB5/Y1xqBAuoIf4V5w4HLhgbGH/clM0NvMaYM vXbNEKT6dLNHnjeZ1l+XIGToljzDlI7QcDgB4DvJ7eKp6qazEGbXtqBKMG/K0CJXKU HlU7LAxTMBhza2zYBMIuv/5Wdm+KMz4NzwxL0bsohPXsLa/vtq13uDKt1+KnoBd/io RzYRJhJHUGhnmvzY6PDxGyy+8u8uSd1NxxgNXCZ5wIQBYTgC4Xwmz/4mApBBuY9F0e TMYNe1BaotG6g== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4XSjZj2wNGz6tvn; Tue, 15 Oct 2024 20:40:13 +0200 (CEST) From: Ihor Radchenko To: Visuwesh Cc: org-mode-email Subject: Re: [PATCH] Add yank-media handler for LibreOffice Calc tables In-Reply-To: <87msj53o2o.fsf@gmail.com> References: <87r08i3alo.fsf@gmail.com> <871q0ise9x.fsf@localhost> <87msj53o2o.fsf@gmail.com> Date: Tue, 15 Oct 2024 18:42:02 +0000 Message-ID: <87msj5dx8l.fsf@localhost> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=185.67.36.65; envelope-from=yantar92@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -1.22 X-Spam-Score: -1.22 X-Migadu-Queue-Id: C5C1B6635D X-Migadu-Scanner: mx12.migadu.com X-TUID: 2OmOgckpvgdV --=-=-= Content-Type: text/plain Visuwesh writes: >> Something is off with encoding. > > I cannot reproduce it on my end. I tried with different documents and > document types (Excel and LO format). Would it be possible to send the > faulty file? Here is the recipe 1. make repro (I tried with the latest Emacs master and with Emacs 29) 2. Open test.odt (attached) 3. M-x org-mode 4. Copy the non-empty cell area 5. M-x yank-media app 6. Observe encoding problems >>> + (insert data) >>> + ;; LibreOffice source code defines >>> + ;; 'application/x-libreoffice-tsvc' as Text TSV-Calc so it should >>> + ;; be safe to handle this as TSV always. >>> + (org-table-convert-region beg (point) '(16)))) >> >> What if the point is in the middle of something else? >> For example, in the middle of another table. >> Then, conversion may yield wild outcomes. >> Maybe it is safer to convert region in a temporary buffer and >> insert the final result into the Org document being edited. > > Even if we do the processing in a temporary buffer, we would still end > up inserting the table after point. I say we leave it to the user to be > prudent and not call yank-media when in the middle of a table or > somesuch. We do not do any special handling in other handlers, so why > do it here? Consider the following example: * Heading M-x yank-media ... will slurp the heading | * Heading a | b | c | In contrast, the existing handlers will only insert some text at point, never touching the text around. --=-=-= Content-Type: application/vnd.oasis.opendocument.spreadsheet Content-Disposition: attachment; filename=test.ods Content-Transfer-Encoding: base64 UEsDBBQAAAgAAEiUT1mFbDmKLgAAAC4AAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2Fz aXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0UEsDBBQAAAgAAEiUT1kAAAAAAAAAAAAAAAAcAAAA Q29uZmlndXJhdGlvbnMyL2FjY2VsZXJhdG9yL1BLAwQUAAAIAABIlE9ZAAAAAAAAAAAAAAAAHwAA AENvbmZpZ3VyYXRpb25zMi9pbWFnZXMvQml0bWFwcy9QSwMEFAAACAAASJRPWQAAAAAAAAAAAAAA ABoAAABDb25maWd1cmF0aW9uczIvdG9vbHBhbmVsL1BLAwQUAAAIAABIlE9ZAAAAAAAAAAAAAAAA GAAAAENvbmZpZ3VyYXRpb25zMi9mbG9hdGVyL1BLAwQUAAAIAABIlE9ZAAAAAAAAAAAAAAAAGgAA AENvbmZpZ3VyYXRpb25zMi9zdGF0dXNiYXIvUEsDBBQAAAgAAEiUT1kAAAAAAAAAAAAAAAAYAAAA Q29uZmlndXJhdGlvbnMyL3Rvb2xiYXIvUEsDBBQAAAgAAEiUT1kAAAAAAAAAAAAAAAAcAAAAQ29u ZmlndXJhdGlvbnMyL3Byb2dyZXNzYmFyL1BLAwQUAAAIAABIlE9ZAAAAAAAAAAAAAAAAGgAAAENv bmZpZ3VyYXRpb25zMi9wb3B1cG1lbnUvUEsDBBQAAAgAAEiUT1kAAAAAAAAAAAAAAAAYAAAAQ29u ZmlndXJhdGlvbnMyL21lbnViYXIvUEsDBBQACAgIAEiUT1kAAAAAAAAAAAAAAAAKAAAAc3R5bGVz LnhtbN1bbW/bOBL+fr9CcHGHO+AUSXbSxL7EwW539962xaHt4j4uGImSiUqiQNJx0l9/wzeJkiVF ceM0Oadoa84MOa8Ph6JyeX1X5N4tZpzQ8moWnYQzD5cxTUiZXc1++/yLfzG7Xv/hkqYpifEqofG2 wKXwubjPMfdAuOSrimEOg0ioObasXFHECV+VqMB8JeIVrXBpRVf7Miu1rB6POV+Iq9lGiGoVBLvd 7mS3OKEsCz5/DCTNF/hOBJY7Y0mS93HPw3ARZEGCBPJvCd69sRJ3G1H0SkTL5TJQVMua0GJg6igA Dh/fggHccvOYkUpMNV9zu4anlBVTpSWvK1sgsRmw6SJ4D0T11/tfLb+O5tTVTOyd9Sil9XJSQHNY 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 navO+RyoJlZ9n7P6JwxN3S4hjKf6nGQd9NWzjmPDdK6b+HL9qR/7OqtD3r2H/PnbHMOU36drviSY +8gu4y2bQ3mZuvheqKrbtL8NUN3ia7Zc6/irQ5dg7pC946R7+FgWj1C2e9yrxecju3id/4Q1NJdU ezVO6qq6yaLqEAfvTzVuvTUf/1GtU5yrvvxMuo1ZvLyIpOVjd2e1mEMdz+eYrffDv2/YFHs1bufi OcSBr3hWD8PuVOOHypi3Xdx976rpj3WSa4Ds3J3KMGWX9lJXy/5U10dcefOtjRdA4d21Q5IFOL2m 6+1zqdbe16Wff6a9qWo71fQf0WvYbrazuuezKqpUqf5PWzaYub6/R7Uv0j8Bf5RV2ace2peH9EM3 Uj3XefI7/njHuw5Z4i+BntlP+qEbqa5DOCRXHT9HKvW5en3+zHL4kg2w0dOpOd/glvdZzF+kmvpW ag3vwzX5f97n2WbfA6dX3eBdNRcbfJUwj135u+MN8Jt3yWcun+uq5s9+VdfDBqu6PcYfx/YrVOfm lB2bxDvgnp1Ppzrx0Lmor8di+QrVd9cN/X1MvAD6rutSD/08n+82u7vyHOBLVDd5Rr3uXVVUqVKl KqpUqYoqVaqiSpWqqFKlKqpUqYoqVaqiSpWqqFKlKqpUqYoqVaqiSpWqqFKlKqpUqYoqVapURZUq VVGlSlVUqVIVVapURZUqVVGlSlVUqVIVVapURZUqVVGlSlVUqVIVVapURZUqVVGlSpWqqFKlKqpU qYoqVaqiSpWqqFKlKqpUqYoqVaqiSpWqqFKlKqpUqYoqVaqiSpWqqFKlKqpUqVIVVapURZUqVVGl SlVUqVIVVapURZUqVVGlSlVUqVIVVapURZUqVVGlSlVUqVIVVapURZUqVaqiSpWqqFKlKqpUqYoq VaqiSpWqqFKlKqpUqYoqVaqiSpWqqFKlKqpUqYoqVaqiSpWqqFKlSlVUqVIVVapURZUqVVGlSlVU qVIVVapURZUqVVGlSlVUqVIVVapURZUqVVGlSlVUqVIVVapUqYoqVaqiSpWqqFKlKqpUqYoqVaqi SpWqqFKlKqpUqYoqVaqiSpWqqFKlKqpUqYoqVaqiSpUqVVGlSlVUqVIVVapURZUqVVGlSlVUqVIV VapURZUqVVGlSlVUqVIVVapURZUqVVGlSlVUqVKlKqpUqYoqVaqiSpWqqFKlKqpUqYoqVaqiSpWq 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 BQYAAAAAEQARAGUEAABVHgAAAAA= --=-=-= Content-Type: text/plain -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at --=-=-=--