all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Philipp Stephani <p.stephani2@gmail.com>
To: "Aurélien Aptel" <aurelien.aptel+emacs@gmail.com>,
	"Paul Eggert" <eggert@cs.ucla.edu>
Cc: Emacs development discussions <emacs-devel@gnu.org>
Subject: Re: good examples of Emacs modules?
Date: Tue, 03 May 2016 20:54:50 +0000	[thread overview]
Message-ID: <CAArVCkSZcVnCaGHPqnDaTjMPjtLCwfGaECkV-+9u6VPTkdyiuA@mail.gmail.com> (raw)
In-Reply-To: <CA+5B0FPBLTrvjx5ZzgsHffii=fD0X6PmnR7O+48ZTPW_-viEFg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1554 bytes --]

Aurélien Aptel <aurelien.aptel+emacs@gmail.com> schrieb am Do., 31. März
2016 um 16:49 Uhr:

> On Thu, Mar 31, 2016 at 1:17 AM, Paul Eggert <eggert@cs.ucla.edu> wrote:
> > I am thinking of assigning a programming problem for students to use the
> new
> > Emacs module facility. Are there good examples of how module-load can be
> > used, that I can point people at? Ideally the examples would work on
> RHEL 7,
> > since that's the standard instructional environment around here. Thanks
> for
> > any pointers you can provide.
>
> I'm in the process of writing an introduction. You can find a draft here:
>
> http://diobla.info/blog-archive/modules-tut.html
>
> It should get them started. Everything else is documented in the
> emacs-module.h header.
>
>
Thanks. I'd suggest the following additions:
1. Please discuss error handling early on. How errors are handled is
arguably the most subtle point of the API.
2. Please discuss the lifetime of environments and values. This is also
extremely subtle and can easily lead to undefined behavior.
3. Please add explicit checks for the size of structures. If the actual
structure passed from Emacs is smaller than the expected structure,
undefined behavior will happen if one of the "excess" members is accessed.
4. You should also mention how Emacs deals with stack overflow, because
that can lead to inconsistent data structures and undefined behavior as
well.

I'm writing a reference and a set of caveats for modules, unfortunately
progress is very slow on my part.

[-- Attachment #2: Type: text/html, Size: 2104 bytes --]

      parent reply	other threads:[~2016-05-03 20:54 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-30 23:17 good examples of Emacs modules? Paul Eggert
2016-03-31 14:49 ` Aurélien Aptel
2016-03-31 15:34   ` Óscar Fuentes
2016-03-31 16:53     ` Eli Zaretskii
2016-03-31 17:07       ` Óscar Fuentes
2016-03-31 17:39         ` Eli Zaretskii
2016-03-31 20:23           ` Óscar Fuentes
2016-03-31 21:29             ` Aurélien Aptel
2016-03-31 21:59               ` Óscar Fuentes
2016-04-01  7:18                 ` Eli Zaretskii
2016-04-01 13:20                   ` Óscar Fuentes
2016-04-01 14:02                     ` Eli Zaretskii
2016-04-02  2:10               ` Syohei Yoshida
2016-05-03 20:48                 ` Philipp Stephani
2016-05-03 22:16                   ` Stefan Monnier
2016-04-01  6:23             ` Eli Zaretskii
2016-04-01 13:25               ` Óscar Fuentes
2016-04-01 14:07                 ` Eli Zaretskii
2016-05-03 20:54   ` Philipp Stephani [this message]

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

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

  git send-email \
    --in-reply-to=CAArVCkSZcVnCaGHPqnDaTjMPjtLCwfGaECkV-+9u6VPTkdyiuA@mail.gmail.com \
    --to=p.stephani2@gmail.com \
    --cc=aurelien.aptel+emacs@gmail.com \
    --cc=eggert@cs.ucla.edu \
    --cc=emacs-devel@gnu.org \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.