unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@jurta.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: "Štěpán Němec" <stepnem@gmail.com>, emacs-devel@gnu.org
Subject: Re: Another input method feature needed
Date: Fri, 02 Jul 2010 23:52:34 +0300	[thread overview]
Message-ID: <87bpap8v3h.fsf@mail.jurta.org> (raw)
In-Reply-To: <jwvd3v85aqw.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Thu, 01 Jul 2010 02:05:02 +0200")

>>> Let's not let this fall into oblivion the second time.  Any objections
>>> against Juri including the library into Emacs and continuing integrating
>>> it/working on it (or the other way round)?
>
> If it's in a usable state, it can be installed.  If not, then maybe it
> can be split into smaller steps where each step is in a usable state.

Currently the code is too ugly to install.  I'd like to refactor
help functions first.

>> In any case it would be useful to split help functions into two parts:
>
>> 1. data collection that returns data structures with help information;
>> 2. view generation that renders the output according to defined layouts.
>
> Feel free to install refactoring patches that do that.

Refactoring patches are not ready yet.  I'm thinking about
what is the best way of doing that.  Actually for the data part
there is already exists something similar to what we need:
for advised functions `ad-get-advice-info' returns an alist with
information about an advised function:

      ((active . t/nil)
       (before adv1 adv2 ...)
       (around adv1 adv2 ...)
       (after  adv1 adv2 ...)
       (activation  adv1 adv2 ...)
       (deactivation  adv1 adv2 ...)
       (origname . <symbol fbound to origdef>)
       (cache . (<advised-definition> . <id>)))

We could create a new function `describe-function-info' that will return
a similar alist with information about all functions with association keys
like `docstring', `file-name', `keybindings', `arglist', `obsolete', etc.
And similarly for other help functions: `describe-variable-info',
`describe-face-info', ...

For the view part we need a templating library.  I think the most suitable
is skeleton.el.  It is used successfully in autoinsert.el to generate
large complex text blocks.  So we could use skeleton.el and add new
variables `describe-function-skeleton', `describe-variable-skeleton', ...

-- 
Juri Linkov
http://www.jurta.org/emacs/



  reply	other threads:[~2010-07-02 20:52 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-13  8:13 Feature needed Richard Stallman
2010-06-14 15:35 ` Juri Linkov
2010-06-14 16:13   ` Davis Herring
2010-06-15  9:35     ` James Cloos
2010-06-15 10:22       ` Miles Bader
2010-06-15 12:28         ` Geoff Gole
2010-06-16 10:57           ` Richard Stallman
2010-06-16 14:25             ` Geoff Gole
2010-06-17 10:46               ` Richard Stallman
2010-06-15 12:45         ` James Cloos
2010-06-16  3:22       ` Stephen J. Turnbull
2010-06-16  6:14         ` Daniel Clemente
2010-06-16 12:01           ` Stephen J. Turnbull
2010-06-17  4:24           ` Kevin Rodgers
2010-06-17 10:45             ` Richard Stallman
2010-06-16  6:50         ` Miles Bader
2010-06-16 11:43         ` James Cloos
2010-06-18  6:51           ` Stephen J. Turnbull
2010-06-17  8:01         ` Richard Stallman
2010-06-18  1:47           ` Miles Bader
2010-06-18 12:20             ` Andreas Schwab
2010-06-17  8:01         ` Richard Stallman
2010-06-17  8:49           ` Miles Bader
2010-06-17 19:26             ` Richard Stallman
2010-06-18  7:01             ` Stephen J. Turnbull
2010-06-18  8:37               ` Miles Bader
2010-06-18 23:59       ` Richard Stallman
2010-06-18 23:59       ` Another input method feature needed Richard Stallman
2010-06-19  8:47         ` Juri Linkov
2010-06-19 11:13           ` Štěpán Němec
2010-06-19 14:08             ` Juri Linkov
2010-06-19 18:16               ` Štěpán Němec
2010-06-19 20:48                 ` Juri Linkov
2010-06-20  4:08                   ` Kenichi Handa
2010-06-20 21:28                     ` Juri Linkov
2010-06-20 17:01                   ` Stephen J. Turnbull
2010-06-20 21:34                     ` Juri Linkov
2010-06-25 12:08               ` Štěpán Němec
2010-06-28 21:19                 ` Juri Linkov
2010-07-01  0:05                   ` Stefan Monnier
2010-07-02 20:52                     ` Juri Linkov [this message]
2010-06-19 23:37           ` Richard Stallman
2010-06-20 21:42             ` Juri Linkov
2010-06-21 12:09               ` Richard Stallman
2010-06-21 12:43                 ` Andreas Schwab
2010-06-19 15:18         ` Stephen J. Turnbull
2010-06-19 16:03           ` Miles Bader

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bpap8v3h.fsf@mail.jurta.org \
    --to=juri@jurta.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=stepnem@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).