From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.devel Subject: Re: How to make Emacs popular again. Date: Tue, 29 Sep 2020 01:25:17 +0300 Message-ID: <20200928222517.GG18207@protected.rcdrun.com> References: <20200926163008.GS1349@protected.rcdrun.com> <83y2kwpjfo.fsf@gnu.org> <20200926173651.GU1349@protected.rcdrun.com> <20200927073221.GA13911@protected.rcdrun.com> <83y2kvodty.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20583"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/1.14.0 (2020-05-02) Cc: rms@gnu.org, jamtlu@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Sep 29 00:26:02 2020 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 1kN1ar-0005GH-W8 for ged-emacs-devel@m.gmane-mx.org; Tue, 29 Sep 2020 00:26:02 +0200 Original-Received: from localhost ([::1]:48290 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kN1ar-0004WW-2h for ged-emacs-devel@m.gmane-mx.org; Mon, 28 Sep 2020 18:26:01 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34850) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kN1aL-00047L-MB for emacs-devel@gnu.org; Mon, 28 Sep 2020 18:25:29 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:53561) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kN1aJ-0000Fo-Fn; Mon, 28 Sep 2020 18:25:29 -0400 Original-Received: from localhost ([::ffff:41.210.154.90]) (AUTH: PLAIN securesender, TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 000000000008DC86.000000005F7262D3.0000248A; Mon, 28 Sep 2020 15:25:22 -0700 Content-Disposition: inline In-Reply-To: <83y2kvodty.fsf@gnu.org> Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/28 16:35:58 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-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.23 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:256645 Archived-At: * Eli Zaretskii [2020-09-27 10:54]: > > Date: Sun, 27 Sep 2020 10:32:21 +0300 > > From: Jean Louis > > Cc: eliz@gnu.org, jamtlu@gmail.com, emacs-devel@gnu.org > > > > Emacs should in general have an option under Tools -> Look up word > > We have that under Help->Search Documentation. Search documentation is separate feature from looking up any technical or special word in glossary, and third feature would be looking up any word in dictionaries. Tools -> Look up word, it could provide looking up definitions in dictionaries. At least one dictionary like GCIDE could be supported or Wordnet, or both of them. That way users will not get confused, they could quickly lookup any word under cursor or mouse in dictionaries and would get empowered. I am personall using dictionary servers straight from Emacs, {s-d} on any word gives me helm completion, list of dictionaries I can choose from, to find a definition, it runs these functions below, and {s-w} runs (wordnut-search) from wordnut package, so definitions are quickly there accessible. If we speak of text editing, we edit words, words are defined and Emacs should have reference to dictionary for each word, and fall back to online searches. Jean (setq dict/dictionaries '( ("The Collaborative International Dictionary of English v.0.48" "gcide") ("WordNet (r) 3.0 (2006)" "wn") ("Moby Thesaurus II by Grady Ward, 1.0" "moby-thesaurus") ("The Elements (07Nov00)" "elements") ("vera" "V.E.R.A. -- Virtual Entity of Relevant Acronyms (September 2014)") ("The Jargon File (version 4.4.7, 29 Dec 2003)" "jargon") ("The Free On-line Dictionary of Computing (18 March 2015)" "foldoc") ("Easton's 1897 Bible Dictionary" "easton") ("Hitchcock's Bible Names Dictionary (late 1800's)" "hitchcock") ("Bouvier's Law Dictionary, Revised 6th Ed (1856)" "bouvier") ("The Devil's Dictionary (1881-1906)" "devil") ("CIA World Factbook 2002" "world02") ("U.S. Gazetteer Counties (2000)" "gaz2k-counties") ("U.S. Gazetteer Places (2000)" "gaz2k-places") ("U.S. Gazetteer Zip Code Tabulation Areas (2000)" "gaz2k-zips") ("Turkish-English FreeDict Dictionary ver. 0.2.1" "fd-tur-eng") ("Portuguese-German FreeDict Dictionary ver. 0.1.1" "fd-por-deu") ("Dutch-English Freedict Dictionary ver. 0.1.3" "fd-nld-eng") ("English-Arabic FreeDict Dictionary ver. 0.6.2" "fd-eng-ara") ("Spanish-English FreeDict Dictionary ver. 0.1.1" "fd-spa-eng") ("English-Hungarian FreeDict Dictionary ver. 0.1" "fd-eng-hun") ("Italian-English FreeDict Dictionary ver. 0.1.1" "fd-ita-eng") ("Welsh-English Freedict dictionary" "fd-wel-eng") ("English-Dutch FreeDict Dictionary ver. 0.1.1" "fd-eng-nld") ("French-English FreeDict Dictionary ver. 0.3.4" "fd-fra-eng") ("Turkish-German FreeDict Dictionary ver. 0.1.1" "fd-tur-deu") ("Swedish-English FreeDict Dictionary ver. 0.1.1" "fd-swe-eng") ("Nederlands-French FreeDict Dictionary ver. 0.1.1" "fd-nld-fra") ("English-Swahili xFried/FreeDict Dictionary" "fd-eng-swa") ("German-Dutch FreeDict Dictionary ver. 0.1.1" "fd-deu-nld") ("French-German FreeDict Dictionary ver. 0.1.1" "fd-fra-deu") ("English-Croatian Freedict Dictionary" "fd-eng-cro") ("English-Italian FreeDict Dictionary ver. 0.1.1" "fd-eng-ita") ("English-Latin FreeDict Dictionary ver. 0.1.1" "fd-eng-lat") ("Latin-English FreeDict Dictionary ver. 0.1.1" "fd-lat-eng") ("French-Dutch FreeDict Dictionary ver. 0.1.2" "fd-fra-nld") ("Italian-German FreeDict Dictionary ver. 0.1.1" "fd-ita-deu") ("English-Hindi FreeDict Dictionary ver. 1.5.1" "fd-eng-hin") ("German-English FreeDict Dictionary ver. 0.3.4" "fd-deu-eng") ("Portuguese-English FreeDict Dictionary ver. 0.1.1" "fd-por-eng") ("Latin - German FreeDict dictionary ver. 0.4" "fd-lat-deu") ("Japanese-German FreeDict Dictionary ver. 0.1.1" "fd-jpn-deu") ("English-German FreeDict Dictionary ver. 0.3.6" "fd-eng-deu") ("English-Serbo-Croat Freedict dictionary" "fd-eng-scr") ("English-Romanian FreeDict Dictionary ver. 0.6.1" "fd-eng-rom") ("Irish-English Freedict dictionary" "fd-iri-eng") ("Czech-English Freedict dictionary" "fd-cze-eng") ("Serbo-Croat-English Freedict dictionary" "fd-scr-eng") ("English-Czech fdicts/FreeDict Dictionary" "fd-eng-cze") ("English-Russian FreeDict Dictionary ver. 0.3" "fd-eng-rus") ("Afrikaans-German FreeDict Dictionary ver. 0.3" "fd-afr-deu") ("English-Portuguese FreeDict Dictionary ver. 0.2.2" "fd-eng-por") ("Hungarian-English FreeDict Dictionary ver. 0.3.1" "fd-hun-eng") ("English-Swedish FreeDict Dictionary ver. 0.1.1" "fd-eng-swe") ("German-Italian FreeDict Dictionary ver. 0.1.1" "fd-deu-ita") ("Croatian-English Freedict Dictionary" "fd-cro-eng") ("Danish-English FreeDict Dictionary ver. 0.2.1" "fd-dan-eng") ("English-Turkish FreeDict Dictionary ver. 0.2.1" "fd-eng-tur") ("English-Spanish FreeDict Dictionary ver. 0.2.1" "fd-eng-spa") ("Dutch-German FreeDict Dictionary ver. 0.1.1" "fd-nld-deu") ("German-Portuguese FreeDict Dictionary ver. 0.2.1" "fd-deu-por") ("Swahili-English xFried/FreeDict Dictionary" "fd-swa-eng") ("English-Hindi Freedict Dictionary [reverse index]" "fd-hin-eng") ("German-French FreeDict Dictionary ver. 0.3.1" "fd-deu-fra") ("English-French FreeDict Dictionary ver. 0.1.4" "fd-eng-fra") ("Slovak-English Freedict dictionary" "fd-slo-eng") ("Scottish Gaelic-German FreeDict Dictionary ver. 0.1.1" "fd-gla-deu") ("English-Welsh Freedict dictionary" "fd-eng-wel") ("English-Irish Freedict dictionary" "fd-eng-iri") ("English Monolingual Dictionaries" "english") ("Translating Dictionaries" "trans") ("All Dictionaries (English-Only and Translating)" "all"))) (setq dict/buffer "*Dict*") (defun tmpbuf (buf) (switch-to-buffer (get-buffer-create (concat "*" buf "*")))) (defun dict/kill-dict () (interactive) (kill-buffer dict/buffer)) (defun dictd-dictionaries (&optional host) "Returns the list of dictionaries and their names" (let* ((command (if host (format "dict -D -h %s" host) "dict -D")) (dictionaries (shell-command-to-string command)) (dictionaries (split-string dictionaries "\n"))) (pop dictionaries) (mapcar 'string-trim dictionaries))) (defun dict/query () (interactive) (let* ((word (current-word 1)) (dictionary (helm-comp-read "Dictionary: " (dictd-dictionaries))) (dictionary (first (split-string dictionary))) (dict (format "dict -d %s \"%s\"" dictionary word)) (statement (shell-command-to-string dict))) (get-buffer-create dict/buffer) (switch-to-buffer dict/buffer) (local-set-key (kbd "q") 'dict/kill-dict) (local-set-key (kbd "") 'dict/query) (insert statement) (goto-char 1))) (global-set-key (kbd "s-d") 'dict/query)