Mercurial > hg > xemacs-beta
view info/dir @ 5803:b79e1e02bf01
Preserve extent information in the command builder code.
src/ChangeLog addition:
2014-07-14 Aidan Kehoe <kehoea@parhasard.net>
* event-stream.c:
* event-stream.c (mark_command_builder):
* event-stream.c (finalize_command_builder): Removed.
* event-stream.c (allocate_command_builder):
* event-stream.c (free_command_builder): Removed. Use
free_normal_lisp_object() instead.
* event-stream.c (echo_key_event):
* event-stream.c (regenerate_echo_keys_from_this_command_keys):
Detach all extents here.
* event-stream.c (maybe_echo_keys):
* event-stream.c (reset_key_echo):
* event-stream.c (execute_help_form):
* event-stream.c (Fnext_event):
* event-stream.c (command_builder_find_leaf_no_jit_binding):
* event-stream.c (command_builder_find_leaf):
* event-stream.c (lookup_command_event):
* events.h (struct command_builder):
Move the command builder's echo_buf to being a Lisp string rather
than a malloced Ibyte array. This allows passing through extent
information, which was previously dropped. It also simplifies the
allocation and release code for the command builder.
Rename echo_buf_index to echo_buf_fill_pointer, better reflecting
its function.
Don't rely on zero-termination (something not particularly
compatible with Lisp-level code) when showing a substring of
echo_buf that differs from that designated by
echo_buf_fill_pointer, keep a separate counter instead and use
that.
* minibuf.c:
* minibuf.c (echo_area_append):
Use the new START and END keyword arguments to #'append-message,
rather than consing a new string for basically every #'next-event
prompt displayed.
test/ChangeLog addition:
2014-07-14 Aidan Kehoe <kehoea@parhasard.net>
* automated/extent-tests.el:
Check that extent information is passed through to the echo area
correctly with #'next-event's PROMPT argument.
lisp/ChangeLog addition:
2014-07-14 Aidan Kehoe <kehoea@parhasard.net>
* simple.el (raw-append-message):
Use #'write-sequence in this, take its START and END keyword
arguments, so our callers don't have to cons as much.
* simple.el (append-message):
Pass through START and END here.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Mon, 14 Jul 2014 13:42:42 +0100 |
parents | c2580215c222 |
children |
line wrap: on
line source
-*- Text -*- This is the file .../info/dir, which contains the topmost node of the Info hierarchy. The first time you invoke Info you start off looking at that node, which is (dir)Top. Rather than adding new nodes to this directory (and this file) it is a better idea to put them in a site-local directory, and then configure info to search in that directory as well. That way, you won't have to re-edit this file when a new release of the editor comes out. For example, you could add this code to .../lisp/site-start.el, which is loaded before ~/.emacs each time the editor starts up: ;; find local info nodes (setq Info-directory-list (append Info-directory-list '("/private/info/"))) Then, when you enter info, a dir file like this one will be automatically created and saved (provided you have write access to the directory). The contents of that file "/private/info/dir" will be appended to the contents of this file. File: dir Node: Top This is the top of the INFO tree This is Info, the online documentation browsing system. This page (the Directory node) gives a menu of major topics. button2 on a highlighted word follows that cross-reference. button3 anywhere brings up a menu of commands. ? lists additional keyboard commands. h invokes the Info tutorial. * Menu: XEmacs 21.5 =========== * XEmacs: (xemacs). XEmacs Editor. * Lispref: (lispref). XEmacs Lisp Reference Manual. * Intro: (new-users-guide). Introduction to the XEmacs Editor. * FAQ: (xemacs-faq). XEmacs FAQ. * Info: (info). Documentation browsing system. * Internals: (internals). XEmacs Internals Manual. Other Documentation: * Common Lisp: (cl). XEmacs Common Lisp emulation package. * Customizations: (custom). Customization Library. * Emodules: (emodules). XEmacs dynamically loadable module support. * External Widget: (external-widget). External Client Widget. * Standards: (standards). GNU coding standards. * Term mode: (term). XEmacs Terminal Emulator Mode. * Termcap: (termcap). Termcap library of the GNU system. * Texinfo: (texinfo). The GNU documentation format. * Widgets: (widget). The Emacs Widget Library.