From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eshel Yaron Newsgroups: gmane.emacs.devel Subject: Re: [ELPA] New package: dict Date: Thu, 18 May 2023 15:21:31 +0300 Message-ID: References: <834joj55pt.fsf@gnu.org> <87ednnvtt6.fsf@posteo.net> <875y8ywwko.fsf@posteo.net> <83zg69br5f.fsf@gnu.org> <83ednj9sw2.fsf@gnu.org> <837ct5x5v6.fsf@gnu.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="33628"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: philipk@posteo.net, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu May 18 14:22:41 2023 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 1pzceW-0008Ux-DJ for ged-emacs-devel@m.gmane-mx.org; Thu, 18 May 2023 14:22:40 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pzcdZ-0000mm-Qz; Thu, 18 May 2023 08:21:41 -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 1pzcdX-0000mM-Ac for emacs-devel@gnu.org; Thu, 18 May 2023 08:21:39 -0400 Original-Received: from mail.eshelyaron.com ([107.175.124.16] helo=eshelyaron.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzcdT-0002Ow-Dx; Thu, 18 May 2023 08:21:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1684412493; bh=dYQ93ZAodr0vEPfhbV+lBzAc+E/k+W9wYLCmvJV3ZuQ=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=CrcsuSNeFq+38koFOilqUze547nWcc5Bd/5ef1Gi5tnzSxQD3ZBwZufvXdoubJfQB R+fLy0AFrSTO1RUkqs/ZFhOS7Txp09fDfo2Uxw+80q53wr3gyWXQOGHKRowoFSKfqu GFUt58HNGWhCHXfn1fDl0msIvyN34cKCxsyXTPqGPs8+T7MmVTGi0oB6Noj401SIUM WGbRHToBsWM4bHpPRucFBxdP1hT3YshLofrMpd1fHD6SoBF0KoKsbVSBpStxs54aoS lTm0V+vz1Vkv7vy0RrIPYWJipycgLOqVyKByuum7w1OwbXSCeXbCEzHcvJLLG2k7re /bCs7ohDeaC9w== In-Reply-To: <837ct5x5v6.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 18 May 2023 13:59:25 +0300") Received-SPF: pass client-ip=107.175.124.16; envelope-from=me@eshelyaron.com; helo=eshelyaron.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:306171 Archived-At: Eli Zaretskii writes: >> From: Eshel Yaron >> Cc: philipk@posteo.net, emacs-devel@gnu.org >> Date: Mon, 15 May 2023 21:50:57 +0300 >> >> >> In short, we need two things: a way to obtain a word's definition and a >> >> way to obtain dictionary matches given some input (for completion). >> >> dictionary.el does these things already, but in way that's too coupled >> >> with its user interface to admit reuse for my purposes. So the question >> >> is whether to add the needed stuff from Dict to dictionary.el and accept >> >> some code duplication, or try to refactor the parts of dictionary.el >> >> that communicate with the dictionary server to provide a cleaner API. >> > >> > I'd say try the latter if it's reasonably easy; otherwise try the >> > former. >> >> Alright, I'm attaching a patch that extends dictionary.el with new user >> options that modify the behavior of `dictionary-search`. > > Looks reasonable, thanks. > Thank you for the review. >> With this patch, `dictionary-search` behaves like my >> `dict-describe-word` after applying the following customizations: >> >> --8<---------------cut here---------------start------------->8--- >> (setq dictionary-read-dictionary-function >> #'dictionary-completing-read-dictionary) >> (setq dictionary-read-word-function >> #'dictionary-completing-read-word) >> (setq dictionary-display-definition-function >> #'dictionary-display-definition-in-help-buffer) >> --8<---------------cut here---------------end--------------->8--- > > This looks excessive. How about adding yet another defcustom, with a > :set function, which will make all these adjustments for users who > want the words displayed in *Help*? I agree setting three options may be a bit much for casual users, but note that in order to display word definitions in *Help* you only need to customize the last option, `dictionary-display-definition-function`. The other two only affect the interactive word and dictionary selection (mostly adding completion), so I'm not sure it's necessary to couple them with how the definition ends up being presented. -- Best Eshel