* Re: emacs-29 9ecebcdded: * lisp/simple.el (next-completion): Handle first completion specially. [not found] ` <20230112174816.7E88BC00A7F@vcs2.savannah.gnu.org> @ 2023-01-13 12:49 ` Robert Pluim 2023-01-13 13:37 ` Eli Zaretskii 0 siblings, 1 reply; 6+ messages in thread From: Robert Pluim @ 2023-01-13 12:49 UTC (permalink / raw) To: emacs-devel; +Cc: Gregory Heytings, Juri Linkov >>>>> On Thu, 12 Jan 2023 12:48:16 -0500 (EST), Juri Linkov <juri@jurta.org> said: Juri> branch: emacs-29 Juri> commit 9ecebcdded157e1efc2f51b67967fd101797f225 Juri> Author: Gregory Heytings <gregory@heytings.org> Juri> Commit: Juri Linkov <juri@linkov.net> Juri> * lisp/simple.el (next-completion): Handle first completion specially. Juri> When completions-header-format is nil and completion-show-help is nil, Juri> the first completion is at the beginning the buffer, so 'M-<down>' Juri> missed it and moved to the second completion. Handle this case by Juri> setting/checking the special text-property 'first-completion' that Juri> is nil at the first call (bug#60411). This causes the following test failure for me: Making completion list... Test completions-header-format-test backtrace: signal(ert-test-failed (((should (equal "ac" (get-text-property (poi ert-fail(((should (equal "ac" (get-text-property (point) 'completion #f(compiled-function () #<bytecode -0x141bfad86d70e309>)() minibuffer-setup() read-from-minibuffer("Prompt: " nil (keymap (menu-bar keymap (minibu completing-read-default("Prompt: " ("aa" "ab" "ac") nil nil nil nil completing-read("Prompt: " ("aa" "ab" "ac")) #f(compiled-function () #<bytecode -0x1b72fd9b89f49f74>)() ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test ert-run-test(#s(ert-test :name completions-header-format-test :docum ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m ert-run-tests((not (or (tag :expensive-test) (tag :unstable) (tag :n ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable) ( ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) ( command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/minibuffer-tests" "- command-line() normal-top-level() Test completions-header-format-test condition: (ert-test-failed ((should (equal "ac" (get-text-property ... ...))) :form (equal "ac" #("ab" 0 1 (face ...) 1 2 (face ...))) :value nil :explanation (array-elt 1 (different-atoms (99 "#x63" "?c") (98 "#x62" "?b"))))) FAILED 25/25 completions-header-format-test (0.000478 sec) at lisp/minibuffer-tests.el:414 Robert -- ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: emacs-29 9ecebcdded: * lisp/simple.el (next-completion): Handle first completion specially. 2023-01-13 12:49 ` emacs-29 9ecebcdded: * lisp/simple.el (next-completion): Handle first completion specially Robert Pluim @ 2023-01-13 13:37 ` Eli Zaretskii 2023-01-13 13:57 ` Robert Pluim 0 siblings, 1 reply; 6+ messages in thread From: Eli Zaretskii @ 2023-01-13 13:37 UTC (permalink / raw) To: Robert Pluim; +Cc: emacs-devel, gregory, juri > From: Robert Pluim <rpluim@gmail.com> > Cc: Gregory Heytings <gregory@heytings.org>, Juri Linkov <juri@linkov.net> > Date: Fri, 13 Jan 2023 13:49:47 +0100 > > >>>>> On Thu, 12 Jan 2023 12:48:16 -0500 (EST), Juri Linkov <juri@jurta.org> said: > > Juri> branch: emacs-29 > Juri> commit 9ecebcdded157e1efc2f51b67967fd101797f225 > Juri> Author: Gregory Heytings <gregory@heytings.org> > Juri> Commit: Juri Linkov <juri@linkov.net> > > Juri> * lisp/simple.el (next-completion): Handle first completion specially. > > Juri> When completions-header-format is nil and completion-show-help is nil, > Juri> the first completion is at the beginning the buffer, so 'M-<down>' > Juri> missed it and moved to the second completion. Handle this case by > Juri> setting/checking the special text-property 'first-completion' that > Juri> is nil at the first call (bug#60411). > > This causes the following test failure for me: > > Making completion list... > > Test completions-header-format-test backtrace: > signal(ert-test-failed (((should (equal "ac" (get-text-property (poi > ert-fail(((should (equal "ac" (get-text-property (point) 'completion > #f(compiled-function () #<bytecode -0x141bfad86d70e309>)() > minibuffer-setup() > read-from-minibuffer("Prompt: " nil (keymap (menu-bar keymap (minibu > completing-read-default("Prompt: " ("aa" "ab" "ac") nil nil nil nil > completing-read("Prompt: " ("aa" "ab" "ac")) > #f(compiled-function () #<bytecode -0x1b72fd9b89f49f74>)() > ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test > ert-run-test(#s(ert-test :name completions-header-format-test :docum > ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m > ert-run-tests((not (or (tag :expensive-test) (tag :unstable) (tag :n > ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable) ( > ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un > eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) ( > command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/minibuffer-tests" "- > command-line() > normal-top-level() > Test completions-header-format-test condition: > (ert-test-failed > ((should > (equal "ac" > (get-text-property ... ...))) > :form > (equal "ac" > #("ab" 0 1 > (face ...) > 1 2 > (face ...))) > :value nil :explanation > (array-elt 1 > (different-atoms > (99 "#x63" "?c") > (98 "#x62" "?b"))))) > FAILED 25/25 completions-header-format-test (0.000478 sec) at lisp/minibuffer-tests.el:414 Fixed. It's a clear case of a test that adapted the results to what the code produced, not to the desired/expected value. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: emacs-29 9ecebcdded: * lisp/simple.el (next-completion): Handle first completion specially. 2023-01-13 13:37 ` Eli Zaretskii @ 2023-01-13 13:57 ` Robert Pluim 2023-01-13 14:57 ` Eli Zaretskii 2023-01-14 17:17 ` Juri Linkov 0 siblings, 2 replies; 6+ messages in thread From: Robert Pluim @ 2023-01-13 13:57 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, gregory, juri >>>>> On Fri, 13 Jan 2023 15:37:36 +0200, Eli Zaretskii <eliz@gnu.org> said: Eli> Fixed. It's a clear case of a test that adapted the results to what Eli> the code produced, not to the desired/expected value. Itʼs fixed, but Iʼll admit that I donʼt understand why: (should (equal "aa" (get-text-property (point) 'completion--string))) (next-completion 3) (should (equal "ac" (get-text-property (point) 'completion--string))) (previous-completion 2) (should (equal "aa" (get-text-property (point) 'completion--string))) So we go forward 3 from "aa" to get to "ac", but then to get back to "aa" itʼs back 2? Robert -- ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: emacs-29 9ecebcdded: * lisp/simple.el (next-completion): Handle first completion specially. 2023-01-13 13:57 ` Robert Pluim @ 2023-01-13 14:57 ` Eli Zaretskii 2023-01-14 17:17 ` Juri Linkov 1 sibling, 0 replies; 6+ messages in thread From: Eli Zaretskii @ 2023-01-13 14:57 UTC (permalink / raw) To: Robert Pluim; +Cc: emacs-devel, gregory, juri > From: Robert Pluim <rpluim@gmail.com> > Cc: emacs-devel@gnu.org, gregory@heytings.org, juri@linkov.net > Date: Fri, 13 Jan 2023 14:57:08 +0100 > > >>>>> On Fri, 13 Jan 2023 15:37:36 +0200, Eli Zaretskii <eliz@gnu.org> said: > > Eli> Fixed. It's a clear case of a test that adapted the results to what > Eli> the code produced, not to the desired/expected value. > > Itʼs fixed, but Iʼll admit that I donʼt understand why: > > (should (equal "aa" (get-text-property (point) 'completion--string))) > (next-completion 3) > (should (equal "ac" (get-text-property (point) 'completion--string))) > (previous-completion 2) > (should (equal "aa" (get-text-property (point) 'completion--string))) > > So we go forward 3 from "aa" to get to "ac", but then to get back to > "aa" itʼs back 2? Because the first next-completion goes to "aa". The original "position" is _before_ the first candidate: that's what the commit that you blamed was about. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: emacs-29 9ecebcdded: * lisp/simple.el (next-completion): Handle first completion specially. 2023-01-13 13:57 ` Robert Pluim 2023-01-13 14:57 ` Eli Zaretskii @ 2023-01-14 17:17 ` Juri Linkov 2023-01-14 18:57 ` Juri Linkov 1 sibling, 1 reply; 6+ messages in thread From: Juri Linkov @ 2023-01-14 17:17 UTC (permalink / raw) To: Robert Pluim; +Cc: Eli Zaretskii, emacs-devel, gregory > Eli> Fixed. It's a clear case of a test that adapted the results to what > Eli> the code produced, not to the desired/expected value. > > Itʼs fixed, but Iʼll admit that I donʼt understand why: > > (should (equal "aa" (get-text-property (point) 'completion--string))) > (next-completion 3) > (should (equal "ac" (get-text-property (point) 'completion--string))) > (previous-completion 2) > (should (equal "aa" (get-text-property (point) 'completion--string))) > > So we go forward 3 from "aa" to get to "ac", but then to get back to > "aa" itʼs back 2? Indeed, the test was correct, but the implementation has a bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: emacs-29 9ecebcdded: * lisp/simple.el (next-completion): Handle first completion specially. 2023-01-14 17:17 ` Juri Linkov @ 2023-01-14 18:57 ` Juri Linkov 0 siblings, 0 replies; 6+ messages in thread From: Juri Linkov @ 2023-01-14 18:57 UTC (permalink / raw) To: Robert Pluim; +Cc: Eli Zaretskii, emacs-devel, gregory >> Eli> Fixed. It's a clear case of a test that adapted the results to what >> Eli> the code produced, not to the desired/expected value. >> >> Itʼs fixed, but Iʼll admit that I donʼt understand why: >> >> (should (equal "aa" (get-text-property (point) 'completion--string))) >> (next-completion 3) >> (should (equal "ac" (get-text-property (point) 'completion--string))) >> (previous-completion 2) >> (should (equal "aa" (get-text-property (point) 'completion--string))) >> >> So we go forward 3 from "aa" to get to "ac", but then to get back to >> "aa" itʼs back 2? > > Indeed, the test was correct, but the implementation has a bug. This bug is fixed now. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-01-14 18:57 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <167354569613.4370.3805904095626587994@vcs2.savannah.gnu.org> [not found] ` <20230112174816.7E88BC00A7F@vcs2.savannah.gnu.org> 2023-01-13 12:49 ` emacs-29 9ecebcdded: * lisp/simple.el (next-completion): Handle first completion specially Robert Pluim 2023-01-13 13:37 ` Eli Zaretskii 2023-01-13 13:57 ` Robert Pluim 2023-01-13 14:57 ` Eli Zaretskii 2023-01-14 17:17 ` Juri Linkov 2023-01-14 18:57 ` Juri Linkov
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).