From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg via Users list for the GNU Emacs text editor Newsgroups: gmane.emacs.help Subject: Re: Using aspell in emacs Date: Tue, 15 Jun 2021 23:25:53 +0200 Message-ID: <87zgvqx1jy.fsf@zoho.eu> References: Reply-To: Emanuel Berg Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20993"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:atzP4NjiQrU/18VjoXk/JC4Q7Aw= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jun 15 23:27:05 2021 Return-path: Envelope-to: geh-help-gnu-emacs@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 1ltGaN-0005Af-KI for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 15 Jun 2021 23:27:03 +0200 Original-Received: from localhost ([::1]:52324 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ltGaM-0002mu-Lw for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 15 Jun 2021 17:27:02 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36406) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ltGZT-0002kg-47 for help-gnu-emacs@gnu.org; Tue, 15 Jun 2021 17:26:07 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:40440) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ltGZR-0005ca-6p for help-gnu-emacs@gnu.org; Tue, 15 Jun 2021 17:26:06 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1ltGZP-00041g-GK for help-gnu-emacs@gnu.org; Tue, 15 Jun 2021 23:26:03 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:130879 Archived-At: Jean Louis wrote: > I have verified it, if program `aspell' is on system, the > variable `ispell-program-name' will be set to its path. > Finished there. OK, how does that happen one might wonder? > Try reading manual. Check out: https://dataswamp.org/~incal/emacs-init/spell.el A lot of that stuff, or all of it I think, are so basic ideas, spell a word, spell words in different forms and with different (common) interfaces, so that makes me think, 1) what of that is already implemented and 2) if it isn't, go ahead and use it (by my guest and improve it even more before you add it), since again, it is basic stuff. For example this, (defun spell-word (word) (with-temp-buffer (save-excursion (insert word) ) (condition-case nil (not (ispell-word)) (error nil) ))) ;; (spell-word "length") ; t ;; (spell-word "lenght") ; nil It spells the word WORD. That's right, I didn't have to take LSD to come up with _that_ idea :) Is it in ispell already only I failed to find it? And if it isn't, why not? Useful not only for "us" but also for ispell, internally, I'm sure! Is the major mode a code mode? Interesting question, I know... (defun is-code () (member major-mode '( c++-mode c-mode emacs-lisp-mode prolog-mode python-mode sh-mode Shell-script-mode ) ; add more! )) spell differently with the same command: (defun spell (dict) "Spell with DICT. \nIf a region, use `ispell-region' \nIf editing code, `ispell-comments-and-strings' \nIf writing a message, `ispell-message' \nelse, `ispell-buffer'" (ispell-change-dictionary dict) (save-window-excursion (save-excursion (cond ((use-region-p) (ispell-region (region-beginning) (region-end))) ((is-message) (ispell-message)) ((is-code) (ispell-comments-and-strings)) (t (ispell-buffer)) )))) (PS, should the region stuff be optional beg and end arguments, you think?) https://dataswamp.org/~incal/emacs-init/spell.el -- underground experts united https://dataswamp.org/~incal