From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.help Subject: RE: describe-mode "some-mode"? Date: Sat, 23 Aug 2014 08:29:48 -0700 (PDT) Message-ID: <80ae6be0-d436-41a2-bd81-fa4dd5f6cbd4@default> References: <87bnrc1lkz.fsf@yun.yagibdah.de> <988b6e41-62ed-4d33-abf1-804ddcedef59@default> <87egw7z8ca.fsf@yun.yagibdah.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1408807824 7885 80.91.229.3 (23 Aug 2014 15:30:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 23 Aug 2014 15:30:24 +0000 (UTC) To: lee , help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Aug 23 17:30:17 2014 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XLDGi-0001tQ-SN for geh-help-gnu-emacs@m.gmane.org; Sat, 23 Aug 2014 17:30:16 +0200 Original-Received: from localhost ([::1]:41541 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XLDGi-0002rD-GY for geh-help-gnu-emacs@m.gmane.org; Sat, 23 Aug 2014 11:30:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43664) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XLDGQ-0002mX-Jk for help-gnu-emacs@gnu.org; Sat, 23 Aug 2014 11:30:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XLDGJ-0004LF-0g for help-gnu-emacs@gnu.org; Sat, 23 Aug 2014 11:29:58 -0400 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:38363) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XLDGI-0004LB-Qt for help-gnu-emacs@gnu.org; Sat, 23 Aug 2014 11:29:50 -0400 Original-Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s7NFTmx1003357 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 23 Aug 2014 15:29:49 GMT Original-Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s7NFTlpE010091 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Sat, 23 Aug 2014 15:29:48 GMT Original-Received: from abhmp0018.oracle.com (abhmp0018.oracle.com [141.146.116.24]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s7NFTljo024169; Sat, 23 Aug 2014 15:29:47 GMT In-Reply-To: <87egw7z8ca.fsf@yun.yagibdah.de> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8.2 (807160) [OL 12.0.6691.5000 (x86)] X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 141.146.126.69 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:99372 Archived-At: > >> is there a function like describe-key which describes a mode specified > >> by the user? > >> > >> The docstring of describe-mode says it either describes the mode of th= e > >> current buffer or of the buffer given. How can I get a description of= a > >> mode without enabling the mode in a buffer? > > > > Something like this will get you started. For more info (e.g. to includ= e > > minor-mode info) see the definition of `describe-mode'. You could also > > improve the interactive spec, to use completion against major modes or > > something. > > > > (defun my-describe-mode (mode) > > (interactive (list (intern (read-string "Mode: ")))) > > (with-help-window (help-buffer) > > (with-current-buffer (help-buffer) > > (insert (help-documentation mode nil 'ADD-HELP-BUTTONS))))) >=20 > Warning: the function `help-documentation' is not known to be defined. My bad. Sometimes I forget what is provided from emacs -Q and what is from my code (I should have tested it with emacs -Q). `help-documentation' is defined in `help-fns+.el' (http://www.emacswiki.org/emacs-en/download/help-fns%2b.el). It is like the vanilla function `documentation', but it uses `help-substitute-command-keys' so that keys mentioned in the help become links to their doc. Using only vanilla functions: (defun my-describe-mode (mode) (interactive (list (intern (read-string "Mode: ")))) (with-help-window (help-buffer) (with-current-buffer (help-buffer) (insert (substitute-command-keys (documentation mode)))))) > > On the other hand, it is OK and simple to instead create a temporary > > buffer, put it in the mode, and use `describe-mode' there. >=20 > Yes, I thought about writing a function to do just that and thought it > shouldn't be necessary to create a dummy-buffer to see the docstring for > a particular mode. Emacs is self-documenting :) >=20 > It seems I'd have to do just that for now ... (defun my-describe-mode2 (mode) (interactive (list (intern (read-string "Mode: ")))) (with-temp-buffer (funcall mode) (describe-mode))) M-x my-describe-mode2 RET emacs-lisp-mode RET