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: with-eval-after-load with sh-mode Date: Fri, 02 Jul 2021 08:58:36 +0200 Message-ID: <87fswxtd5v.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="38662"; 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:48jspu428xmibY7eLCZgOnABB1g= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jul 02 08:59:42 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 1lzD9K-0009se-3x for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 02 Jul 2021 08:59:42 +0200 Original-Received: from localhost ([::1]:55866 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lzD9J-0002vB-4e for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 02 Jul 2021 02:59:41 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38864) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lzD8f-0002uz-DJ for help-gnu-emacs@gnu.org; Fri, 02 Jul 2021 02:59:01 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:47300) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lzD8b-0002cW-FM for help-gnu-emacs@gnu.org; Fri, 02 Jul 2021 02:59:01 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1lzD8Q-0008qT-3Y for help-gnu-emacs@gnu.org; Fri, 02 Jul 2021 08:58:46 +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:131377 Archived-At: lisa-asket wrote: > Basically I want to defer call to sh-mode-map until sh-mode > is loaded First try (require 'sh-script) Then set the keys in `sh-mode-map' (which is a variable BTW) ... If that doesn't work keep the first line but turn the second line to into a function (just enclose it in a `defun'), then do (defun sh-mode-hook-f () ;; call your key setting function here ) (add-hook 'sh-mode-hook #'sh-mode-hook-f) I don't know why some modes need the more elaborate and in theory less efficient hook solution (less efficient since it gets called every time), do they themselves reset the their keymaps after they have been `require'd? This has puzzled me for several years... I guess one could just compare the source for two in this sense opposing modes! You shouldn't be afraid of sensible use of hooks tho, they aren't the ones to slow down the interactive feel, having TONS of buffers open is the chief culprit, rather... -- underground experts united https://dataswamp.org/~incal