Skip to content

emacs-ide.md is a little out of date #579

@akater

Description

@akater

I suggest to update the following two points:

Dynamic scope is everywhere

Elisp had had optional lexical binding for a decade by now, if not longer. lexical-binding: t is becoming the default right now, the topic is hot on emacs-devel.

With lexical-binding set to t, scoping in Elisp feels just like CL's. Some non-variable scoping is still dynamic under the hood but that mostly implies compiled code being slower than necessary, and is basically unnoticeable to most users.

I strongly suggest something like “Dynamic scope might pop unexpectedly here and there; however, this rapidly becomes an unlikely possibility, and compiler(s) warn about it since recently”, and moving it much closer to the end of the list of differences.

There are no reader (or reader-related) functions

Not entirely true. There are reader-related functions; there is read, for example. It's just in C and the reader is not extensible with Elisp. The phrasing may confuse people.

See also https://github.com/mishoo/elisp-reader.el I didn't try it but I think it's worthy of mentioning, e.g.: “See, however, mishoo/elisp-reader.el”

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions