From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id E4tcGsHNJl8TKAAA0tVLHw (envelope-from ) for ; Sun, 02 Aug 2020 14:29:21 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id UCnpFcHNJl+1VwAAB5/wlQ (envelope-from ) for ; Sun, 02 Aug 2020 14:29:21 +0000 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 E3B04940214 for ; Sun, 2 Aug 2020 14:29:20 +0000 (UTC) Received: from localhost ([::1]:44672 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k2EzH-0008WE-Ft for larch@yhetil.org; Sun, 02 Aug 2020 10:29:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57554) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k2Eyw-0008W5-25 for emacs-orgmode@gnu.org; Sun, 02 Aug 2020 10:28:58 -0400 Received: from mail-qk1-x72a.google.com ([2607:f8b0:4864:20::72a]:42337) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k2Eyu-0004ts-19 for emacs-orgmode@gnu.org; Sun, 02 Aug 2020 10:28:57 -0400 Received: by mail-qk1-x72a.google.com with SMTP id b79so33025010qkg.9 for ; Sun, 02 Aug 2020 07:28:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:user-agent:from:to:subject:message-id:date:mime-version; bh=+e76i23BWwPP3xHdGMmNZwH1gJasRU4nwFsyAgNJtZU=; b=S0HDxyNa1XDevo9xGq53QV+CA20dKqcd0bdFniATc9oNJJkpzik/oXI3HkGCJUKgPy 7cf2gV1R6y+MoU8xzNieg9kPWgM3IrixPTbf++6s2MkrxV8hnR37PfErFP0ebdJNdTAh 5d3mneYQ6WefZ0+icUQ9C+ocnJI71oQ863xm2tkL9mkM3QeKwyeMCTLL+8eKas9qsH4K X0+9iFhGJqY8yPOZrMpS8z3xG1ek/l4Z0ogHoxrQkL6dLWCw+6vKfbv8EQ4/Y02L5kfq rgGFAlAeTLsTNv1aJyqTpwcIx6G72JSTRZwcDEwugpHzKmMNFUEhYtPZ9RE481cagvYz lcgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:user-agent:from:to:subject:message-id :date:mime-version; bh=+e76i23BWwPP3xHdGMmNZwH1gJasRU4nwFsyAgNJtZU=; b=h8NOv6rPb4mLdWLxV5xqfbo7niqMdkE4I3yBdb40p4xzKsHpZkYUnlaCL/kEfoxxF+ BV9gdbMOtflBH1nExfvUbCvsT/Bak0qAROqUftpCJHYz7jK0GsN/fsX1UBiLrsrx1aM5 68inDbqdCwsHbILRwAO7r093JehcWeLUMVcTcsvsfnJFIekw4WFJGEw+O6wO8KmNK1UG 6oqgEDDpGjPoKRlYvdod/WC6zqkmqOsxE/ufw8WRspYGorNyP5HaegseApFy3Jtd4f0F 8a4X7tskPPx7DQ4LiJPz7ihZiw2jAN2YyueBpSNaHvlOSnS+BLTNncm+RgTry9yM2ZM8 ltvw== X-Gm-Message-State: AOAM530VMjmJQormKYCazQkG8h95X5vd1wMIkH0jmNImc+Mc0BhE+4Cx NntNStUYM07uruKIXPYh2hhwqZmoTJw= X-Google-Smtp-Source: ABdhPJy1Sc8t1dFrFJn3ZUsVlO6CMZGlQDSlDgphzItXIt/L02tDPisP+AsQKN8AvTH9IMb2O4fKQQ== X-Received: by 2002:a05:620a:c16:: with SMTP id l22mr11962168qki.271.1596378533419; Sun, 02 Aug 2020 07:28:53 -0700 (PDT) Received: from gusbrs-laptop ([156.146.43.11]) by smtp.gmail.com with ESMTPSA id n23sm16131030qkk.105.2020.08.02.07.28.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2020 07:28:52 -0700 (PDT) User-agent: mu4e 1.4.12; emacs 27.1 From: Gustavo Barros To: emacs-orgmode@gnu.org Subject: Bug: Org sentence commands and emphasis markers [9.3 (release_9.3 @ /usr/local/share/emacs/27.1/lisp/org/)] Message-ID: <87mu3djf4u.fsf@gmail.com> Date: Sun, 02 Aug 2020 11:28:49 -0300 MIME-Version: 1.0 Content-Type: text/plain; format=flowed Received-SPF: pass client-ip=2607:f8b0:4864:20::72a; envelope-from=gusbrs.2016@gmail.com; helo=mail-qk1-x72a.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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.23 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" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=gmail.com header.s=20161025 header.b=S0HDxyNa; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: 0.09 X-TUID: TGSVi3AmSOhZ Hi All, There is some adverse interaction between Emacs sentence related commands and Org emphasis markers, when whole sentences are emphasized. This report describe some cases of this interaction, for your consideration. But, as a general rule, if a whole sentence is emphasized, sentence movement and killing, and paragraph filling won't work as expected. Let's take the case of a small paragraph, with sentences ended with double spaces, and with `sentence-end-double-space' having its default value of t. And let's have the whole second sentence emphasized with bold markers. "!" represents point position. #+begin_src org Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. *At vero eos et accusam et justo duo dolores et ea rebum.* Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. #+end_src 1 - Sentence movement If we call on this paragraph the regular Org sentence movement commands `org-backward-sentence' and `org-forward-sentence', the second sentence will no longer be recognized as such. Starting from the beginning of the paragraph and calling `org-forward-sentence' will result in: #+begin_src org !Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. *At vero eos et accusam et justo duo dolores et ea rebum.* Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. #+end_src #+begin_src org Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.! *At vero eos et accusam et justo duo dolores et ea rebum.* Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. #+end_src #+begin_src org Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. *At vero eos et accusam et justo duo dolores et ea rebum.* Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.! Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. #+end_src That is, the end of the second (emphasized) sentence was missed. A similar problem occurs when going backwards with `org-backward-sentence'. 2 - Sentence killing With point at the end of the first sentence, as in; #+begin_src org Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.! *At vero eos et accusam et justo duo dolores et ea rebum.* Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. #+end_src If we call `kill-sentence' we will get: #+begin_src org Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.! Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. #+end_src That is, the second and third sentences were killed. A similar problem occurs with point somewhere on the third sentence and `backward-kill-sentence'. 3 - Paragraph filling If we `org-fill-paragraph' the following: #+begin_src org Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. *At vero eos et accusam et justo duo dolores et ea rebum.* Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. #+end_src We get: #+begin_src org Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. *At vero eos et accusam et justo duo dolores et ea rebum.* Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. #+end_src That is, the double space at the end of the second (emphasized) sentence is gone. Different values of `org-hide-emphasis-markers' have no influence over the issue. Setting `sentence-end-double-space' to nil will make the filling issue irrelevant, but otherwise things are the same. The examples were tested with "GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2020-08-01" and "Org mode version 9.3.7 (9.3.7-15-gc9abb4-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20200727/)", and "emacs -Q". Best, Gustavo. Emacs : GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2020-08-01 Package: Org mode version 9.3 (release_9.3 @ /usr/local/share/emacs/27.1/lisp/org/) current state: ============== (setq org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-link-shell-confirm-function 'yes-or-no-p org-metadown-hook '(org-babel-pop-to-session-maybe) org-clock-out-hook '(org-clock-remove-empty-clock-drawer) org-reveal-start-hook '(org-decrypt-entry) org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes) org-archive-hook '(org-attach-archive-delete-maybe) org-confirm-elisp-link-function 'yes-or-no-p org-agenda-before-write-hook '(org-agenda-add-entry-text) org-metaup-hook '(org-babel-load-in-session-maybe) org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn ENTRY)"] org-babel-pre-tangle-hook '(save-buffer) org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-occur-hook '(org-first-headline-recenter) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate) org-confirm-shell-link-function 'yes-or-no-p org-link-parameters '(("attachment" :follow org-attach-open-link :export org-attach-export-link :complete org-attach-complete-link) ("id" :follow org-id-open) ("eww" :follow eww :store org-eww-store-link) ("rmail" :follow org-rmail-open :store org-rmail-store-link) ("mhe" :follow org-mhe-open :store org-mhe-store-link) ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export) ("info" :follow org-info-open :export org-info-export :store org-info-store-link) ("gnus" :follow org-gnus-open :store org-gnus-store-link) ("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link) ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link) ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link) ("w3m" :store org-w3m-store-link) ("file+sys") ("file+emacs") ("shell" :follow org-link--open-shell) ("news" :follow #[257 "\301\300\302Q!\207" ["news" browse-url ":"] 5 "\n\n(fn URL)"]) ("mailto" :follow #[257 "\301\300\302Q!\207" ["mailto" browse-url ":"] 5 "\n\n(fn URL)"]) ("https" :follow #[257 "\301\300\302Q!\207" ["https" browse-url ":"] 5 "\n\n(fn URL)"]) ("http" :follow #[257 "\301\300\302Q!\207" ["http" browse-url ":"] 5 "\n\n(fn URL)"]) ("ftp" :follow #[257 "\301\300\302Q!\207" ["ftp" browse-url ":"] 5 "\n\n(fn URL)"]) ("help" :follow org-link--open-help) ("file" :complete org-link-complete-file) ("elisp" :follow org-link--open-elisp) ("doi" :follow org-link--open-doi)) org-link-elisp-confirm-function 'yes-or-no-p )