view etc/xemacs-icon.xpm @ 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 7910031dd78a
children
line wrap: on
line source

/* XPM */

/* This file is part of XEmacs.

XEmacs is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.

XEmacs is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with XEmacs.  If not, see <http://www.gnu.org/licenses/>. */

static char *XEmacs48_xpm[] = {
/* width height ncolors chars_per_pixel */
"48 48 12 1",
/* colors */
"a c #ADADADADADAD m white",
"b c #737373737373 m black",
"c c #636363636363 m black",
"d c #424242424242 m black",
"  c #DEDEDEDEDEDE m white s BgColor",
"g c #FFFF00000000 m black",
"h c #949494949494 m black",
"i c #636363636363 m black",
"j c #FFFFFFFFFFFF m white",
"k c #FFFFFFFF0000 m white",
"l c #DEDEDEDEDEDE m white",
"m c #BDBDBDBDBDBD m white",
/* pixels */
"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjc",
"j                                             mc",
"j                                             mc",
"j                                             mc",
"j          cccccccccccccccccccccccccccccccci  mc",
"j          cjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjji  mc",
"j          cjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjia mc",
"j          cjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjia mc",
"j          cjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjia mc",
"j          cjjjjjjjmmmiibiibmmbbmmjjjjjjjjjia mc",
"j          cjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjia mc",
"j  jjjjjjd cjjjjjjdjjjjjjjjjjjjdjjjjjjjjjjjia mc",
"j  jgggggd cjgggggdjjggggggggggdiibmmjjjjjjia mc",
"j   jggggd cjggggdjjjggggggggggdjjjjjjjjjjjia mc",
"j   jgggggdjgggggdaajggggggggggdaaajjjjjjjjia mc",
"j    jggggdjggggdaaajgggggddddddaaabbibbmjjia mc",
"j    jggggggggggdaakjgggggdkkkkakkkkkkkkkjjia mc",
"j     jggggggggdaaakjgggggdjjjjjkkkkkkkkkjjia mc",
"j     jggggggggdaaakjggggggggggdaaammkkkkjjia mc",
"j      jggggggdaaaakjggggggggggdkkkkkkkkkjjia mc",
"j     jggggggggdaaakjggggggggggdkkkkkkkkkjjia mc",
"j     jggggggggdaalljgggggddddddaaibbbmmjjjia mc",
"j    jggggggggggdaaljgggggdaaaaaaaajjjjjjjjia mc",
"j    jggggddggggdaaljgggggdjjjjjaaajjjjjjjjia mc",
"j   jgggggdjgggggdaajggggggggggdaaammmjjjjjia mc",
"j   jggggdaajggggdaajggggggggggdjjjjjjjjjjjia mc",
"j  jgggggdaajgggggdajggggggggggdiiibbbbbijjia mc",
"j  dddddddaadddddddaddddddddddddaaajjjjjjjjia mc",
"j      aaaaacjjjaaaaaajjaaiiiiaaiiibbbbbijjia mc",
"j      aaaaacjjjaaaaaajjaaaaaaaaaaajjjjjjjjia mc",
"j           cjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjia mc",
"j           cjjjjjjjjjjjjiimbbbimmbmmjjjjjjia mc",
"j           cjjjjhghjjjjjjjjjjjjjjjjjjjjjjjia mc",
"j           cjjjhggghjjjjjjjjjjjjjjjjjjjjjjia mc",
"j           cjjjgggggmbbbmmibbbmjjjjjjjjjjjia mc",
"j           cjjjhggghjjjjjjjjjjjjjjjjjjjjjjia mc",
"j           cjjjjhghjjjjjjjjjjjjjjjjjjjjjjjia mc",
"j           cjjjjjjjjjjjjjjmbbimaabbbmjjjjjia mc",
"j           cjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjia mc",
"j           cjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjia mc",
"j           cjjjjjjjjjjjjjjjjjjjjjibbbmmmjjia mc",
"j           cjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjia mc",
"j           cjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjia mc",
"j           iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiia mc",
"j             aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa mc",
"j                                             mc",
"jmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmc",
"cccccccccccccccccccccccccccccccccccccccccccccccc"
};