diff options
Diffstat (limited to 'src')
44 files changed, 1056 insertions, 2105 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 36e6ca3b00d..4cf00fc3c30 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,157 @@ | |||
| 1 | 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * xdisp.c (load_overlay_strings): Fix copy&paste typo. | ||
| 4 | |||
| 5 | 2007-11-09 Jason Rumney <jasonr@gnu.org> | ||
| 6 | |||
| 7 | * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define. | ||
| 8 | |||
| 9 | * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT. | ||
| 10 | |||
| 11 | * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]: | ||
| 12 | Remove W32_SCROLL_BAR_CLICK_EVENT. | ||
| 13 | |||
| 14 | * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise. | ||
| 15 | Add MULTIMEDIA_KEY_EVENT. | ||
| 16 | |||
| 17 | * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys. | ||
| 18 | (lispy_multimedia_keys) [WINDOWSNT]: New array. | ||
| 19 | (make_lispy_event) [WINDOWSNT]: Use it to translate | ||
| 20 | MULTIMEDIA_KEY_EVENT. | ||
| 21 | |||
| 22 | * w32term.h (WM_APPCOMMAND): Define if not already. | ||
| 23 | (GET_APPCOMMAND_LPARAM): Likewise. | ||
| 24 | |||
| 25 | * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from | ||
| 26 | WM_APPCOMMAND. | ||
| 27 | |||
| 28 | * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option. | ||
| 29 | (syms_of_w32fns): Export and initialize it. | ||
| 30 | (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket. | ||
| 31 | |||
| 32 | 2007-11-09 Chong Yidong <cyd@stupidchicken.com> | ||
| 33 | |||
| 34 | * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE | ||
| 35 | twice. | ||
| 36 | |||
| 37 | * xdisp.c (handle_face_prop): Fix last change. | ||
| 38 | |||
| 39 | 2007-11-09 Richard Stallman <rms@gnu.org> | ||
| 40 | |||
| 41 | * xdisp.c (handle_face_prop): Test for strings that came from overlays, | ||
| 42 | not just for after-strings and before-strings. | ||
| 43 | Call face_for_overlay_string and pass the overlay to it. | ||
| 44 | (handle_display_prop): Determine whether property came from an overlay. | ||
| 45 | Pass OVERLAY arg to handle_single_display_spec. | ||
| 46 | (handle_single_display_spec): New arg OVERLAY sets it->from_overlay. | ||
| 47 | (load_overlay_strings): Fill in it->string_overlays. | ||
| 48 | (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays. | ||
| 49 | |||
| 50 | * xfaces.c (face_for_overlay_string): Function renamed from | ||
| 51 | face_at_buffer_position_no_overlays, and add arg OVERLAY. | ||
| 52 | |||
| 53 | * dispextern.h (struct it): New elt string_overlays. | ||
| 54 | New elt from_overlay, also in stack. | ||
| 55 | Rearrange a few elements. | ||
| 56 | (face_for_overlay_string): Decl renamed from | ||
| 57 | face_at_buffer_position_no_overlays, and add argument. | ||
| 58 | |||
| 59 | 2007-11-09 Richard Stallman <rms@gnu.org> | ||
| 60 | |||
| 61 | * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays | ||
| 62 | to get the base face for an overlay string. | ||
| 63 | |||
| 64 | * dispextern.h (face_at_buffer_position_no_overlays): Add decl. | ||
| 65 | |||
| 66 | * xfaces.c (face_at_buffer_position_no_overlays): New function. | ||
| 67 | |||
| 68 | * xdisp.c (handle_stop): Move some code out of loop. | ||
| 69 | |||
| 70 | 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 71 | |||
| 72 | * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes): | ||
| 73 | Fix conversion from Lisp object to ATSUFontID. | ||
| 74 | |||
| 75 | 2007-11-09 Jason Rumney <jasonr@gnu.org> | ||
| 76 | |||
| 77 | * xdisp.c (Fformat_mode_line): Do nothing when noninteractive. | ||
| 78 | |||
| 79 | 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 80 | |||
| 81 | * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge): | ||
| 82 | Don't assume regions are aligned to page boundary. | ||
| 83 | (print_load_command_name): Add LC_UUID if defined. | ||
| 84 | |||
| 85 | 2007-11-09 Richard Stallman <rms@gnu.org> | ||
| 86 | |||
| 87 | * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring. | ||
| 88 | |||
| 89 | 2007-11-07 Jason Rumney <jasonr@gnu.org> | ||
| 90 | |||
| 91 | * s/windows95.h: Remove. | ||
| 92 | |||
| 93 | 2007-11-06 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 94 | |||
| 95 | * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and | ||
| 96 | abort with a message on unhandled store_type values. | ||
| 97 | |||
| 98 | 2007-11-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 99 | |||
| 100 | * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h: | ||
| 101 | Remove HAVE_X11R5 and HAVE_X11R4. | ||
| 102 | |||
| 103 | 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 104 | |||
| 105 | * Makefile.in: Remove references to sunfns.c and sunfns.o. | ||
| 106 | |||
| 107 | 2007-11-01 Johan Bockg,Ae(Brd <bojohan@gnu.org> | ||
| 108 | |||
| 109 | * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string): | ||
| 110 | Don't set s->stippled_p here, since it has already been set by | ||
| 111 | x_set_glyph_string_gc from x_draw_glyph_string. | ||
| 112 | |||
| 113 | 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 114 | |||
| 115 | * sunfns.c: Remove file | ||
| 116 | |||
| 117 | * m/sun386.h: | ||
| 118 | * m/sun2.h: | ||
| 119 | * m/sparc.h: Remove Sun windows code. | ||
| 120 | |||
| 121 | 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 122 | |||
| 123 | * keyboard.c (syms_of_keyboard): Initialize the initial_kboard. | ||
| 124 | (init_keyboard): Set current_kboard's window-system to nil. | ||
| 125 | (tty_read_avail_input): Typo. | ||
| 126 | * frame.c (make_initial_frame): Don't initialize the initial_kboard. | ||
| 127 | |||
| 128 | 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 129 | |||
| 130 | * s/usg5-4.h: | ||
| 131 | * s/usg5-3.h: | ||
| 132 | * s/ptx.h: | ||
| 133 | * m/is386.h: | ||
| 134 | * m/ibmps2-aix.h: | ||
| 135 | * Makefile.in: Remove all mentions of X10 | ||
| 136 | |||
| 137 | * dispnew.c (syms_of_display): Don't mention version 10. | ||
| 138 | |||
| 139 | 2007-10-28 Juanma Barranquero <lekktu@gmail.com> | ||
| 140 | |||
| 141 | * makefile.w32-in (OBJ1): Remove abbrev.$(O). | ||
| 142 | ($(BLD)/abbrev.$(O)): Remove. | ||
| 143 | |||
| 144 | 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 145 | |||
| 146 | Rewrite abbrev.c in Elisp. | ||
| 147 | * image.c (Qcount): Don't declare as extern. | ||
| 148 | (syms_of_image): Initialize and staticpro `Qcount'. | ||
| 149 | * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions. | ||
| 150 | * emacs.c (main): Don't call syms_of_abbrev. | ||
| 151 | * Makefile.in (obj): Remove abbrev.o. | ||
| 152 | (abbrev.o): Remove. | ||
| 153 | * abbrev.c: Remove. | ||
| 154 | |||
| 1 | 2007-10-26 Martin Rudalics <rudalics@gmx.at> | 155 | 2007-10-26 Martin Rudalics <rudalics@gmx.at> |
| 2 | 156 | ||
| 3 | * window.c (window_min_size_2): Don't count header-line. | 157 | * window.c (window_min_size_2): Don't count header-line. |
| @@ -5,7 +159,7 @@ | |||
| 5 | 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu> | 159 | 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu> |
| 6 | 160 | ||
| 7 | * frame.h (struct frame): Move all bit fields after the first bit | 161 | * frame.h (struct frame): Move all bit fields after the first bit |
| 8 | field to take advantage of the available space. Group all the | 162 | field to take advantage of the available space. Group all the |
| 9 | chars together to reduce wasted space due to padding. | 163 | chars together to reduce wasted space due to padding. |
| 10 | 164 | ||
| 11 | 2007-10-26 Juanma Barranquero <lekktu@gmail.com> | 165 | 2007-10-26 Juanma Barranquero <lekktu@gmail.com> |
diff --git a/src/ChangeLog.7 b/src/ChangeLog.7 index 514204939ee..09880efa16d 100644 --- a/src/ChangeLog.7 +++ b/src/ChangeLog.7 | |||
| @@ -1481,7 +1481,7 @@ | |||
| 1481 | 1998-05-07 Eli Zaretskii <eliz@mescaline.gnu.org> | 1481 | 1998-05-07 Eli Zaretskii <eliz@mescaline.gnu.org> |
| 1482 | 1482 | ||
| 1483 | * process.c (init_process, syms_of_process) [not subprocesses]: | 1483 | * process.c (init_process, syms_of_process) [not subprocesses]: |
| 1484 | Make definition consistent with prototypes on lisp.h | 1484 | Make definition consistent with prototypes on lisp.h. |
| 1485 | 1485 | ||
| 1486 | 1998-05-07 Kenichi Handa <handa@etl.go.jp> | 1486 | 1998-05-07 Kenichi Handa <handa@etl.go.jp> |
| 1487 | 1487 | ||
| @@ -1777,7 +1777,7 @@ | |||
| 1777 | 1777 | ||
| 1778 | * emacs.c (standard_args): Apply --unibyte/multibyte after --nw. | 1778 | * emacs.c (standard_args): Apply --unibyte/multibyte after --nw. |
| 1779 | 1779 | ||
| 1780 | * lisp.h: Include initial_obarray from lread.c | 1780 | * lisp.h: Include initial_obarray from lread.c. |
| 1781 | 1781 | ||
| 1782 | * data.c (set_internal): Test keywordness only in initial obarray. | 1782 | * data.c (set_internal): Test keywordness only in initial obarray. |
| 1783 | 1783 | ||
| @@ -2217,7 +2217,7 @@ | |||
| 2217 | * window.c (Fset_window_configuration): Fix mixing of Lisp_Object | 2217 | * window.c (Fset_window_configuration): Fix mixing of Lisp_Object |
| 2218 | and int. | 2218 | and int. |
| 2219 | 2219 | ||
| 2220 | * sysdep.c (init_sys_modes): Fix mixing of Lisp_Object and int | 2220 | * sysdep.c (init_sys_modes): Fix mixing of Lisp_Object and int. |
| 2221 | 2221 | ||
| 2222 | * search.c (compile_pattern, compile_pattern_1): Fix mixing of | 2222 | * search.c (compile_pattern, compile_pattern_1): Fix mixing of |
| 2223 | Lisp_Object and int. | 2223 | Lisp_Object and int. |
| @@ -2246,7 +2246,7 @@ | |||
| 2246 | * fileio.c (Fwrite_region): Fix mixing of Lisp_Object and int. | 2246 | * fileio.c (Fwrite_region): Fix mixing of Lisp_Object and int. |
| 2247 | 2247 | ||
| 2248 | * editfns.c (Fchar_after, Fchar_before): Fix mixing of Lisp_Object | 2248 | * editfns.c (Fchar_after, Fchar_before): Fix mixing of Lisp_Object |
| 2249 | and int | 2249 | and int. |
| 2250 | 2250 | ||
| 2251 | * coding.c (code_convert_region): Fix mixing of Lisp_Object and | 2251 | * coding.c (code_convert_region): Fix mixing of Lisp_Object and |
| 2252 | int. | 2252 | int. |
| @@ -2624,7 +2624,7 @@ | |||
| 2624 | 1998-03-21 Richard Stallman <rms@delysid.gnu.org> | 2624 | 1998-03-21 Richard Stallman <rms@delysid.gnu.org> |
| 2625 | 2625 | ||
| 2626 | * dired.c (Fdirectory_files): | 2626 | * dired.c (Fdirectory_files): |
| 2627 | In FULL case, compute number of characters | 2627 | In FULL case, compute number of characters. |
| 2628 | 2628 | ||
| 2629 | * fns.c (substring_both, Fsubstring): Use make_specified_string. | 2629 | * fns.c (substring_both, Fsubstring): Use make_specified_string. |
| 2630 | (concat): Make string result unibyte or multibyte as appropriate. | 2630 | (concat): Make string result unibyte or multibyte as appropriate. |
| @@ -3077,7 +3077,7 @@ | |||
| 3077 | 1998-03-04 Kenichi HANDA <handa@etl.go.jp> | 3077 | 1998-03-04 Kenichi HANDA <handa@etl.go.jp> |
| 3078 | 3078 | ||
| 3079 | * buffer.c (Fset_buffer_multibyte): Fix arg for chars_in_text. | 3079 | * buffer.c (Fset_buffer_multibyte): Fix arg for chars_in_text. |
| 3080 | Be sure not to have a multibyte sequence striding over the GAP | 3080 | Be sure not to have a multibyte sequence striding over the GAP. |
| 3081 | 3081 | ||
| 3082 | * charset.c (strwidth): Make it work for invalid bytes sequence. | 3082 | * charset.c (strwidth): Make it work for invalid bytes sequence. |
| 3083 | (Fstring_width): Give byte length of STR to strwidth. | 3083 | (Fstring_width): Give byte length of STR to strwidth. |
| @@ -4166,7 +4166,7 @@ | |||
| 4166 | insert_from_string. Scan string by bytes and chars. | 4166 | insert_from_string. Scan string by bytes and chars. |
| 4167 | (Ftry_completion): Use size_byte while comparing. | 4167 | (Ftry_completion): Use size_byte while comparing. |
| 4168 | (Fall_completions): Use size_byte while comparing. | 4168 | (Fall_completions): Use size_byte while comparing. |
| 4169 | (test_completion): | 4169 | (test_completion): Pass both kinds of size to oblookup. |
| 4170 | 4170 | ||
| 4171 | * editfns.c (syms_of_editfns): Delete defsubr for sref. | 4171 | * editfns.c (syms_of_editfns): Delete defsubr for sref. |
| 4172 | 4172 | ||
| @@ -4358,7 +4358,6 @@ | |||
| 4358 | (insert_1, indented_beyond_p): Decls changed. | 4358 | (insert_1, indented_beyond_p): Decls changed. |
| 4359 | (move_gap_both, del_range_byte, del_range_both, del_range_2) | 4359 | (move_gap_both, del_range_byte, del_range_both, del_range_2) |
| 4360 | (scan_newline, Ffile_locked_p): New decls. | 4360 | (scan_newline, Ffile_locked_p): New decls. |
| 4361 | (struct Lisp_Marker): | ||
| 4362 | 4361 | ||
| 4363 | * search.c (scan_newline): Always restore prev value of immediate_quit. | 4362 | * search.c (scan_newline): Always restore prev value of immediate_quit. |
| 4364 | 4363 | ||
| @@ -5200,7 +5199,7 @@ | |||
| 5200 | 5199 | ||
| 5201 | 1997-10-21 Kenichi Handa <handa@etl.go.jp> | 5200 | 1997-10-21 Kenichi Handa <handa@etl.go.jp> |
| 5202 | 5201 | ||
| 5203 | * Makefile.in (xselect.o): Depend on buffer.h | 5202 | * Makefile.in (xselect.o): Depend on buffer.h. |
| 5204 | 5203 | ||
| 5205 | * coding.c (Qcoding_system_spec): Deleted. | 5204 | * coding.c (Qcoding_system_spec): Deleted. |
| 5206 | (Vcoding_system_list, Vcoding_system_alist): New variables. | 5205 | (Vcoding_system_list, Vcoding_system_alist): New variables. |
| @@ -5844,7 +5843,7 @@ | |||
| 5844 | placed in the main popup instead of a blank-named submenu. This | 5843 | placed in the main popup instead of a blank-named submenu. This |
| 5845 | seems to be an undocumented feature of x-popup-menu. | 5844 | seems to be an undocumented feature of x-popup-menu. |
| 5846 | (list_of_items): New argument HMENU. | 5845 | (list_of_items): New argument HMENU. |
| 5847 | Use 1 and 0 instead of Qt and Qnil for enable in add_menu_item | 5846 | Use 1 and 0 instead of Qt and Qnil for enable in add_menu_item. |
| 5848 | 5847 | ||
| 5849 | 1997-09-02 Geoff Voelker <voelker@cs.washington.edu> | 5848 | 1997-09-02 Geoff Voelker <voelker@cs.washington.edu> |
| 5850 | 5849 | ||
| @@ -7383,7 +7382,7 @@ | |||
| 7383 | (x_new_fontset): If frame F has already using FONTSET, avoid the | 7382 | (x_new_fontset): If frame F has already using FONTSET, avoid the |
| 7384 | duplicated work. Use FS_LOAD_FONT. | 7383 | duplicated work. Use FS_LOAD_FONT. |
| 7385 | (x_list_fonts): Call Fassoc to search Valternate_charset_table. | 7384 | (x_list_fonts): Call Fassoc to search Valternate_charset_table. |
| 7386 | (x_load_font): Get around a buf of XListFonts | 7385 | (x_load_font): Get around a buf of XListFonts. |
| 7387 | 7386 | ||
| 7388 | 1997-06-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> | 7387 | 1997-06-20 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> |
| 7389 | 7388 | ||
| @@ -7619,7 +7618,7 @@ | |||
| 7619 | * Makefile.in (XOBJ, MSDOS_OBJ, SOME_MACHINE_OBJECTS): Delete xfaces.o. | 7618 | * Makefile.in (XOBJ, MSDOS_OBJ, SOME_MACHINE_OBJECTS): Delete xfaces.o. |
| 7620 | (obj): Add xfaces.o. | 7619 | (obj): Add xfaces.o. |
| 7621 | (FACE_SUPPORT, SOME_MACHINE_LISP): Delete faces.elc. | 7620 | (FACE_SUPPORT, SOME_MACHINE_LISP): Delete faces.elc. |
| 7622 | (shortlisp, lisp): Add faces.elc | 7621 | (shortlisp, lisp): Add faces.elc. |
| 7623 | 7622 | ||
| 7624 | * emacs.c (main): Call syms_of_xfaces whenever ! HAVE_NTGUI. | 7623 | * emacs.c (main): Call syms_of_xfaces whenever ! HAVE_NTGUI. |
| 7625 | 7624 | ||
| @@ -7907,7 +7906,7 @@ | |||
| 7907 | (r_alloc_init) [DOUG_LEA_MALLOC]: Call mallopt, | 7906 | (r_alloc_init) [DOUG_LEA_MALLOC]: Call mallopt, |
| 7908 | instead of setting __malloc_extra_blocks. | 7907 | instead of setting __malloc_extra_blocks. |
| 7909 | 7908 | ||
| 7910 | Thu May 15 22:21:18 1997 Ken'ichi Handa <handa@diazepam.gnu.ai.mit.edu> | 7909 | 1997-05-15 Ken'ichi Handa <handa@diazepam.gnu.ai.mit.edu> |
| 7911 | 7910 | ||
| 7912 | * Makefile.in (charset.o): Add disptab.h in dependency list. | 7911 | * Makefile.in (charset.o): Add disptab.h in dependency list. |
| 7913 | 7912 | ||
| @@ -8578,13 +8577,12 @@ Thu May 15 22:21:18 1997 Ken'ichi Handa <handa@diazepam.gnu.ai.mit.edu> | |||
| 8578 | * xterm.c (dumpglyphs): Clip and highlight glyphs displayed with | 8577 | * xterm.c (dumpglyphs): Clip and highlight glyphs displayed with |
| 8579 | fonts of wrong size. | 8578 | fonts of wrong size. |
| 8580 | 8579 | ||
| 8581 | Sun Apr 6 10:26:53 1997 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> | 8580 | 1997-04-06 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> |
| 8582 | 8581 | ||
| 8583 | * emacs.c (init_cmdargs) [MSDOS]: Make the change that sets | 8582 | * emacs.c (init_cmdargs) [MSDOS]: Make the change that sets |
| 8584 | `installation-directory' if `info' is found as its subdirectory or | 8583 | `installation-directory' if `info' is found as its subdirectory or |
| 8585 | sibling, be conditioned on MSDOS (it makes trouble on Unix). | 8584 | sibling, be conditioned on MSDOS (it makes trouble on Unix). |
| 8586 | 8585 | ||
| 8587 | |||
| 8588 | 1997-04-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> | 8586 | 1997-04-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> |
| 8589 | 8587 | ||
| 8590 | * coding.c (Ffind_coding_system): Doc fix. | 8588 | * coding.c (Ffind_coding_system): Doc fix. |
| @@ -8818,7 +8816,7 @@ Sun Apr 6 10:26:53 1997 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> | |||
| 8818 | * coding.c (setup_coding_system): Now, flags of ISO2022 coding | 8816 | * coding.c (setup_coding_system): Now, flags of ISO2022 coding |
| 8819 | systems contains charsets instead of charset IDs. Correct setting | 8817 | systems contains charsets instead of charset IDs. Correct setting |
| 8820 | coding->symbol and coding->eol_type. The performance improved. | 8818 | coding->symbol and coding->eol_type. The performance improved. |
| 8821 | (encode_coding) : Fix typo ("=" -> "=="). | 8819 | (encode_coding): Fix typo ("=" -> "=="). |
| 8822 | (detect_coding_iso2022, decode_coding_iso2022): Make the code | 8820 | (detect_coding_iso2022, decode_coding_iso2022): Make the code |
| 8823 | robust against invalid SI and SO. | 8821 | robust against invalid SI and SO. |
| 8824 | (ENCODE_RESET_PLANE_AND_REGISTER): Argument `eol' is deleted. | 8822 | (ENCODE_RESET_PLANE_AND_REGISTER): Argument `eol' is deleted. |
| @@ -8914,7 +8912,7 @@ Sun Apr 6 10:26:53 1997 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> | |||
| 8914 | 8912 | ||
| 8915 | 1997-02-22 Tsugutomo ENAMI <enami@ba2.so-net.or.jp> | 8913 | 1997-02-22 Tsugutomo ENAMI <enami@ba2.so-net.or.jp> |
| 8916 | 8914 | ||
| 8917 | * regex.c: Include charset.h and category.h | 8915 | * regex.c: Include charset.h and category.h. |
| 8918 | 8916 | ||
| 8919 | [!emacs] (BASE_LEADING_CODE_P, WORD_BOUNDARY_P, CHAR_HEAD_P) | 8917 | [!emacs] (BASE_LEADING_CODE_P, WORD_BOUNDARY_P, CHAR_HEAD_P) |
| 8920 | (SINGLE_BYTE_CHAR_P, SAME_CHARSET_P, MULTIBYTE_FORM_LENGTH) | 8918 | (SINGLE_BYTE_CHAR_P, SAME_CHARSET_P, MULTIBYTE_FORM_LENGTH) |
| @@ -9407,7 +9405,7 @@ Sun Apr 6 10:26:53 1997 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> | |||
| 9407 | 9405 | ||
| 9408 | * emacs.c (main): Don't extend stack limit too far. | 9406 | * emacs.c (main): Don't extend stack limit too far. |
| 9409 | 9407 | ||
| 9410 | Sun Feb 2 10:36:26 1997 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> | 9408 | 1997-02-02 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> |
| 9411 | 9409 | ||
| 9412 | * msdos.c (dos_rawgetc): When international keyboard doesn't have | 9410 | * msdos.c (dos_rawgetc): When international keyboard doesn't have |
| 9413 | to be supported, recognize Alt-key combinations even if the Alt | 9411 | to be supported, recognize Alt-key combinations even if the Alt |
| @@ -10403,7 +10401,7 @@ Sun Feb 2 10:36:26 1997 Eli Zaretskii <eliz@wombat.gnu.ai.mit.edu> | |||
| 10403 | 10401 | ||
| 10404 | * xfns.c (Fx_create_frame): Default Qvertical_scroll_bars to `left'. | 10402 | * xfns.c (Fx_create_frame): Default Qvertical_scroll_bars to `left'. |
| 10405 | 10403 | ||
| 10406 | Fri Sep 20 02:37:37 1996 Marcus Daniels <marcus@sayre.sysc.pdx.edu> | 10404 | 1996-09-20 Marcus Daniels <marcus@sayre.sysc.pdx.edu> |
| 10407 | 10405 | ||
| 10408 | * xterm.c (XTclear_end_of_line): Shift end-of-line when there is a | 10406 | * xterm.c (XTclear_end_of_line): Shift end-of-line when there is a |
| 10409 | left-side scroll bar by FRAME_LEFT_SCROLL_BAR_WIDTH. | 10407 | left-side scroll bar by FRAME_LEFT_SCROLL_BAR_WIDTH. |
| @@ -10710,13 +10708,13 @@ Fri Sep 20 02:37:37 1996 Marcus Daniels <marcus@sayre.sysc.pdx.edu> | |||
| 10710 | (XMARKBIT): Test BITS_PER_EMACS_INT to conditionalize fast definition. | 10708 | (XMARKBIT): Test BITS_PER_EMACS_INT to conditionalize fast definition. |
| 10711 | * m/alpha.h (BITS_PER_EMACS_INT): New definition. | 10709 | * m/alpha.h (BITS_PER_EMACS_INT): New definition. |
| 10712 | 10710 | ||
| 10713 | * s/sol2.h (LIBS_SYSTEM): Use -lkstat instead of -lelf -lkvm | 10711 | * s/sol2.h (LIBS_SYSTEM): Use -lkstat instead of -lelf -lkvm. |
| 10714 | 10712 | ||
| 10715 | * process.c (create_process): Test HAVE_SETPGID for using setpgid. | 10713 | * process.c (create_process): Test HAVE_SETPGID for using setpgid. |
| 10716 | 10714 | ||
| 10717 | * config.in (HAVE_SETPGID): Add #undef. | 10715 | * config.in (HAVE_SETPGID): Add #undef. |
| 10718 | 10716 | ||
| 10719 | * keymap.c (syms_of_keymap): staticpro current_global_map; | 10717 | * keymap.c (syms_of_keymap): staticpro current_global_map. |
| 10720 | 10718 | ||
| 10721 | * intervals.c (get_local_map): Call indirect-function. | 10719 | * intervals.c (get_local_map): Call indirect-function. |
| 10722 | 10720 | ||
diff --git a/src/ChangeLog.8 b/src/ChangeLog.8 index b156e4e39f8..da95bbd8a0b 100644 --- a/src/ChangeLog.8 +++ b/src/ChangeLog.8 | |||
| @@ -6,26 +6,26 @@ | |||
| 6 | 6 | ||
| 7 | 1999-12-31 William M. Perry <wmperry@aventail.com> | 7 | 1999-12-31 William M. Perry <wmperry@aventail.com> |
| 8 | 8 | ||
| 9 | * xfns.c (jpeg_format): Add the :data keyword | 9 | * xfns.c (jpeg_format): Add the :data keyword. |
| 10 | (jpeg_image_p): JPEG is valid with :file _or_ :data | 10 | (jpeg_image_p): JPEG is valid with :file _or_ :data. |
| 11 | (jpeg_memory_src): Define new JPEG image source to read from a | 11 | (jpeg_memory_src): Define new JPEG image source to read from a |
| 12 | memory buffer. | 12 | memory buffer. |
| 13 | (jpeg_load): Pay attention to the :data keyword if specified. | 13 | (jpeg_load): Pay attention to the :data keyword if specified. |
| 14 | Instantiates a jpeg_memory_src instead of jpeg_stdio_src if found. | 14 | Instantiates a jpeg_memory_src instead of jpeg_stdio_src if found. |
| 15 | (png_format): Add the :data keyword | 15 | (png_format): Add the :data keyword. |
| 16 | (png_image_p): PNG is valid with :file _or_ :data | 16 | (png_image_p): PNG is valid with :file _or_ :data. |
| 17 | (png_read_from_memory): New PNG read function to read from a | 17 | (png_read_from_memory): New PNG read function to read from a |
| 18 | memory buffer. | 18 | memory buffer. |
| 19 | (png_load): Pay attention to the :data keyword if specified. | 19 | (png_load): Pay attention to the :data keyword if specified. |
| 20 | Use png_set_read_fn() instead of png_init_io() if specified. | 20 | Use png_set_read_fn() instead of png_init_io() if specified. |
| 21 | (tiff_format): Add the :data keyword for TIFF images. | 21 | (tiff_format): Add the :data keyword for TIFF images. |
| 22 | (tiff_image_p): TIFF is valid with :file _or_ :data | 22 | (tiff_image_p): TIFF is valid with :file _or_ :data. |
| 23 | (tiff_read_from_memory): Define new TIFF I/O functions to read | 23 | (tiff_read_from_memory): Define new TIFF I/O functions to read |
| 24 | from a memory buffer. | 24 | from a memory buffer. |
| 25 | (tiff_load): Pay attention to the :data keyword if specified. | 25 | (tiff_load): Pay attention to the :data keyword if specified. |
| 26 | Uses TIFFClientOpen() instead of TIFFOpen() if specified. | 26 | Uses TIFFClientOpen() instead of TIFFOpen() if specified. |
| 27 | (gif_format): Add the :data keyword | 27 | (gif_format): Add the :data keyword. |
| 28 | (gif_image_p): GIF is valid with :file _or_ :data | 28 | (gif_image_p): GIF is valid with :file _or_ :data. |
| 29 | (gif_read_from_memory): New GIF input function to read from a | 29 | (gif_read_from_memory): New GIF input function to read from a |
| 30 | memory buffer. | 30 | memory buffer. |
| 31 | (gif_load): Pay attention to the :data keyword. Uses DGifOpen() | 31 | (gif_load): Pay attention to the :data keyword. Uses DGifOpen() |
| @@ -237,7 +237,7 @@ | |||
| 237 | 1999-12-15 Eli Zaretskii <eliz@is.elta.co.il> | 237 | 1999-12-15 Eli Zaretskii <eliz@is.elta.co.il> |
| 238 | 238 | ||
| 239 | * dispextern.h (FACE_TTY_DEFAULT_FG_COLOR) | 239 | * dispextern.h (FACE_TTY_DEFAULT_FG_COLOR) |
| 240 | (FACE_TTY_DEFAULT_BG_COLOR): New macros. | 240 | (FACE_TTY_DEFAULT_BG_COLOR): New macros. |
| 241 | 241 | ||
| 242 | * xfaces.c (Qunspecified_fg, Qunspecified_bg): New variables. | 242 | * xfaces.c (Qunspecified_fg, Qunspecified_bg): New variables. |
| 243 | (syms_of_xfaces): Initialize and staticpro them. | 243 | (syms_of_xfaces): Initialize and staticpro them. |
| @@ -561,7 +561,7 @@ | |||
| 561 | (produce_glyphs): When called, it->what can be IT_COMPOSITION. | 561 | (produce_glyphs): When called, it->what can be IT_COMPOSITION. |
| 562 | Delete codes for a composite character. | 562 | Delete codes for a composite character. |
| 563 | 563 | ||
| 564 | * textprop.c (Vtext_property_default_nonsticky): New variable | 564 | * textprop.c (Vtext_property_default_nonsticky): New variable. |
| 565 | (syms_of_textprop): Declare it as a Lisp variable. | 565 | (syms_of_textprop): Declare it as a Lisp variable. |
| 566 | 566 | ||
| 567 | * window.c (Frecenter): Clear all caches of compositions. | 567 | * window.c (Frecenter): Clear all caches of compositions. |
| @@ -687,7 +687,7 @@ | |||
| 687 | 687 | ||
| 688 | 1999-12-09 Dave Love <fx@gnu.org> | 688 | 1999-12-09 Dave Love <fx@gnu.org> |
| 689 | 689 | ||
| 690 | * frame.h: (PIX_TYPE) [! HAVE_X_WINDOWS]: Define PIX_TYPE. | 690 | * frame.h (PIX_TYPE) [! HAVE_X_WINDOWS]: Define PIX_TYPE. |
| 691 | 691 | ||
| 692 | 1999-12-08 Gerd Moellmann <gerd@gnu.org> | 692 | 1999-12-08 Gerd Moellmann <gerd@gnu.org> |
| 693 | 693 | ||
| @@ -766,8 +766,8 @@ | |||
| 766 | (tty_defined_color): New function. | 766 | (tty_defined_color): New function. |
| 767 | (defined_color): Rewrite to support any type of frame. | 767 | (defined_color): Rewrite to support any type of frame. |
| 768 | (tty_color_name): New function. | 768 | (tty_color_name): New function. |
| 769 | (face_color_supported_p, Fface_color_gray_p, | 769 | (face_color_supported_p, Fface_color_gray_p) |
| 770 | Fface_color_supported_p): Support non-X frames. | 770 | (Fface_color_supported_p): Support non-X frames. |
| 771 | (load_color): Enclose the color name in quotes, in the log | 771 | (load_color): Enclose the color name in quotes, in the log |
| 772 | messages. Remove DOS-specific version of load_color. | 772 | messages. Remove DOS-specific version of load_color. |
| 773 | (realize_tty_face): Take the supported colors from | 773 | (realize_tty_face): Take the supported colors from |
| @@ -795,10 +795,10 @@ | |||
| 795 | selected_frame. | 795 | selected_frame. |
| 796 | (struct x_output): Remove unused members; document who uses each | 796 | (struct x_output): Remove unused members; document who uses each |
| 797 | member. | 797 | member. |
| 798 | (FRAME_PARAM_FACES, FRAME_N_PARAM_FACES, FRAME_DEFAULT_PARAM_FACE, | 798 | (FRAME_PARAM_FACES, FRAME_N_PARAM_FACES, FRAME_DEFAULT_PARAM_FACE) |
| 799 | FRAME_MODE_LINE_PARAM_FACE, FRAME_COMPUTED_FACES, | 799 | (FRAME_MODE_LINE_PARAM_FACE, FRAME_COMPUTED_FACES) |
| 800 | FRAME_N_COMPUTED_FACES, FRAME_SIZE_COMPUTED_FACES, | 800 | (FRAME_N_COMPUTED_FACES, FRAME_SIZE_COMPUTED_FACES) |
| 801 | FRAME_DEFAULT_FACE, FRAME_MODE_LINE_FACE, unload_color): Remove | 801 | (FRAME_DEFAULT_FACE, FRAME_MODE_LINE_FACE, unload_color): Remove |
| 802 | unused macro definintions. | 802 | unused macro definintions. |
| 803 | 803 | ||
| 804 | * msdos.c (IT_set_frame_parameters): Don't call | 804 | * msdos.c (IT_set_frame_parameters): Don't call |
| @@ -826,9 +826,9 @@ | |||
| 826 | changed. | 826 | changed. |
| 827 | (Fxw_display_color_p): Renamed from Fx_display_color_p; all | 827 | (Fxw_display_color_p): Renamed from Fx_display_color_p; all |
| 828 | callers changed. | 828 | callers changed. |
| 829 | (x_window_to_frame, x_any_window_to_frame, | 829 | (x_window_to_frame, x_any_window_to_frame) |
| 830 | x_non_menubar_window_to_frame, x_menubar_window_to_frame, | 830 | (x_non_menubar_window_to_frame, x_menubar_window_to_frame) |
| 831 | x_top_window_to_frame): Use !FRAME_X_P instead of | 831 | (x_top_window_to_frame): Use !FRAME_X_P instead of |
| 832 | f->output_data.nothing. | 832 | f->output_data.nothing. |
| 833 | * xterm.h (x_defined_color): Rename from defined_color. | 833 | * xterm.h (x_defined_color): Rename from defined_color. |
| 834 | 834 | ||
| @@ -898,7 +898,7 @@ | |||
| 898 | 1999-11-28 Gerd Moellmann <gerd@gnu.org> | 898 | 1999-11-28 Gerd Moellmann <gerd@gnu.org> |
| 899 | 899 | ||
| 900 | * systime.h (EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE) | 900 | * systime.h (EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE) |
| 901 | (EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT,EMACS_TIME_LE): New | 901 | (EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT, EMACS_TIME_LE): New |
| 902 | macros. | 902 | macros. |
| 903 | 903 | ||
| 904 | * config.in (HAVE_SETITIMER, HAVE_UALARM): New. | 904 | * config.in (HAVE_SETITIMER, HAVE_UALARM): New. |
| @@ -1211,7 +1211,7 @@ | |||
| 1211 | Add extern declaration for byte_stack_list. | 1211 | Add extern declaration for byte_stack_list. |
| 1212 | 1212 | ||
| 1213 | * bytecode.c (struct byte_stack): New. | 1213 | * bytecode.c (struct byte_stack): New. |
| 1214 | (byte_stack_list, mark_byte_stack, relocate_byte_pcs): New | 1214 | (byte_stack_list, mark_byte_stack, relocate_byte_pcs): New. |
| 1215 | (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): New. | 1215 | (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): New. |
| 1216 | (FETCH, PUSH, POP, DISCARD, TOP, MAYBE_GC): Rewritten. | 1216 | (FETCH, PUSH, POP, DISCARD, TOP, MAYBE_GC): Rewritten. |
| 1217 | (HANDLE_RELOCATION): Removed. | 1217 | (HANDLE_RELOCATION): Removed. |
| @@ -1378,38 +1378,38 @@ | |||
| 1378 | * alloc.c: Undef HIDE_LISP_IMPLEMENTATION before including | 1378 | * alloc.c: Undef HIDE_LISP_IMPLEMENTATION before including |
| 1379 | lisp.h. | 1379 | lisp.h. |
| 1380 | 1380 | ||
| 1381 | * buffer.c (Fbuffer_list, Fget_file_buffer, get_truename_buffer, | 1381 | * buffer.c (Fbuffer_list, Fget_file_buffer, get_truename_buffer) |
| 1382 | Fbuffer_local_variables, Fother_buffer, record_buffer, | 1382 | (Fbuffer_local_variables, Fother_buffer, record_buffer) |
| 1383 | set_buffer_internal_1, Fbury_buffer, Fkill_all_local_variables, | 1383 | (set_buffer_internal_1, Fbury_buffer, Fkill_all_local_variables) |
| 1384 | swap_out_buffer_local_variables, overlays_at, overlays_in, | 1384 | (swap_out_buffer_local_variables, overlays_at, overlays_in) |
| 1385 | overlay_touches_p, overlay_strings, recenter_overlay_lists, | 1385 | (overlay_touches_p, overlay_strings, recenter_overlay_lists) |
| 1386 | fix_overlays_in_range, fix_overlays_before, Foverlay_get, | 1386 | (fix_overlays_in_range, fix_overlays_before, Foverlay_get) |
| 1387 | Foverlay_put, report_overlay_modification, evaporate_overlays): | 1387 | (Foverlay_put, report_overlay_modification, evaporate_overlays): |
| 1388 | Use XCAR, XCDR, and XFLOAT_DATA instead of explicit member | 1388 | Use XCAR, XCDR, and XFLOAT_DATA instead of explicit member |
| 1389 | references. | 1389 | references. |
| 1390 | * data.c (Fcar, Fcar_safe, Fcdr, Fcdr_safe, Fsetcar, Fsetcdr, | 1390 | * data.c (Fcar, Fcar_safe, Fcdr, Fcdr_safe, Fsetcar, Fsetcdr) |
| 1391 | swap_in_symval_forwarding, set_internal, default_value, | 1391 | (swap_in_symval_forwarding, set_internal, default_value) |
| 1392 | Fset_default, Fmake_variable_buffer_local, Fmake_local_variable, | 1392 | (Fset_default, Fmake_variable_buffer_local, Fmake_local_variable) |
| 1393 | Fmake_variable_frame_local, Flocal_variable_p, | 1393 | (Fmake_variable_frame_local, Flocal_variable_p) |
| 1394 | Flocal_variable_if_set_p, arithcompare, Fzerop, cons_to_long, | 1394 | (Flocal_variable_if_set_p, arithcompare, Fzerop, cons_to_long) |
| 1395 | Fnumber_to_string, float_arith_driver, Fadd1, Fsub1): Likewise. | 1395 | (Fnumber_to_string, float_arith_driver, Fadd1, Fsub1): Likewise. |
| 1396 | * dispnew.c (Fframe_or_buffer_changed_p): Likewise. | 1396 | * dispnew.c (Fframe_or_buffer_changed_p): Likewise. |
| 1397 | * emacs.c (main): Likewise. | 1397 | * emacs.c (main): Likewise. |
| 1398 | * fontset.c (fs_load_font, fs_register_fontset, | 1398 | * fontset.c (fs_load_font, fs_register_fontset) |
| 1399 | CACHED_FONTSET_NAME, CACHED_FONTSET_REGEX, Fquery_fontset, | 1399 | (CACHED_FONTSET_NAME, CACHED_FONTSET_REGEX, Fquery_fontset) |
| 1400 | Fnew_fontset, Fset_fontset_font): Likewise. | 1400 | (Fnew_fontset, Fset_fontset_font): Likewise. |
| 1401 | * frame.c (do_switch_frame, next_frame, prev_frame, | 1401 | * frame.c (do_switch_frame, next_frame, prev_frame) |
| 1402 | other_visible_frames, Fdelete_frame, Fvisible_frame_list): | 1402 | (other_visible_frames, Fdelete_frame, Fvisible_frame_list): |
| 1403 | Likewise. | 1403 | Likewise. |
| 1404 | * keyboard.c (read_char, help_char_p, event_to_kboard, | 1404 | * keyboard.c (read_char, help_char_p, event_to_kboard) |
| 1405 | kbd_buffer_get_event, timer_start_idle, timer_check, | 1405 | (kbd_buffer_get_event, timer_start_idle, timer_check) |
| 1406 | make_lispy_event, apply_modifiers, reorder_modifiers, | 1406 | (make_lispy_event, apply_modifiers, reorder_modifiers) |
| 1407 | Fevent_convert_list, lucid_event_type_list_p, menu_bar_items, | 1407 | (Fevent_convert_list, lucid_event_type_list_p, menu_bar_items) |
| 1408 | menu_bar_one_keymap, menu_item_eval_property_1, parse_menu_item, | 1408 | (menu_bar_one_keymap, menu_item_eval_property_1, parse_menu_item) |
| 1409 | tool_bar_items, read_char_x_menu_prompt, read_key_sequence, | 1409 | (tool_bar_items, read_char_x_menu_prompt, read_key_sequence) |
| 1410 | Fcommand_execute, Fexecute_extended_command): Likewise. | 1410 | (Fcommand_execute, Fexecute_extended_command): Likewise. |
| 1411 | * minibuf.c (read_minibuf, get_minibuffer, Ftry_completion, | 1411 | * minibuf.c (read_minibuf, get_minibuffer, Ftry_completion) |
| 1412 | Fall_completions): Likewise. | 1412 | (Fall_completions): Likewise. |
| 1413 | * window.c (Fset_window_margins): Likewise. | 1413 | * window.c (Fset_window_margins): Likewise. |
| 1414 | 1414 | ||
| 1415 | * callint.c (quotify_args): Don't explicitly use struct | 1415 | * callint.c (quotify_args): Don't explicitly use struct |
| @@ -1477,9 +1477,9 @@ | |||
| 1477 | 1477 | ||
| 1478 | * coding.h (emacs_strerror, Vlocale_coding_system): New decls. | 1478 | * coding.h (emacs_strerror, Vlocale_coding_system): New decls. |
| 1479 | 1479 | ||
| 1480 | * config.in (HAVE_STDIO_EXT_H, HAVE_TM_GMTOFF, HAVE___FPENDING, | 1480 | * config.in (HAVE_STDIO_EXT_H, HAVE_TM_GMTOFF, HAVE___FPENDING) |
| 1481 | HAVE_FTELLO, HAVE_GETLOADAVG, HAVE_MBLEN, HAVE_MBRLEN, | 1481 | (HAVE_FTELLO, HAVE_GETLOADAVG, HAVE_MBLEN, HAVE_MBRLEN) |
| 1482 | HAVE_STRSIGNAL): New macros. | 1482 | (HAVE_STRSIGNAL): New macros. |
| 1483 | (BITS_PER_LONG): Default to 64 if _LP64 is defined. | 1483 | (BITS_PER_LONG): Default to 64 if _LP64 is defined. |
| 1484 | <stdlib.h>: Include if HAVE_STDLIB_H is defined and NOT_C_CODE isn't. | 1484 | <stdlib.h>: Include if HAVE_STDLIB_H is defined and NOT_C_CODE isn't. |
| 1485 | 1485 | ||
| @@ -1501,14 +1501,14 @@ | |||
| 1501 | emacs_memftimeu, passing ut, instead of emacs_memftime. | 1501 | emacs_memftimeu, passing ut, instead of emacs_memftime. |
| 1502 | 1502 | ||
| 1503 | * emacs.c: Include <locale.h> if HAVE_SETLOCALE is defined. | 1503 | * emacs.c: Include <locale.h> if HAVE_SETLOCALE is defined. |
| 1504 | (Vmessages_locale, Vprevious_messages_locale, Vtime_locale, | 1504 | (Vmessages_locale, Vprevious_messages_locale, Vtime_locale) |
| 1505 | Vprevious_time_locale): New variables. | 1505 | (Vprevious_time_locale): New variables. |
| 1506 | (main): Invoke setlocale early, so that initial error messages are | 1506 | (main): Invoke setlocale early, so that initial error messages are |
| 1507 | localized properly. But skip locale-setting if LC_ALL is "C". | 1507 | localized properly. But skip locale-setting if LC_ALL is "C". |
| 1508 | Fix up locale when it's safe to do so. | 1508 | Fix up locale when it's safe to do so. |
| 1509 | (fixup_locale): Moved here from xterm.c. | 1509 | (fixup_locale): Moved here from xterm.c. |
| 1510 | (synchronize_locale, synchronize_time_locale, | 1510 | (synchronize_locale, synchronize_time_locale) |
| 1511 | synchronize_messages_locale): New functions. | 1511 | (synchronize_messages_locale): New functions. |
| 1512 | (syms_of_emacs): Accommodate above changes. | 1512 | (syms_of_emacs): Accommodate above changes. |
| 1513 | 1513 | ||
| 1514 | * fileio.c (report_file_error): Convert strerror output according | 1514 | * fileio.c (report_file_error): Convert strerror output according |
| @@ -1526,9 +1526,9 @@ | |||
| 1526 | default these values to long, BITS_PER_LONG, and unsigned long. | 1526 | default these values to long, BITS_PER_LONG, and unsigned long. |
| 1527 | (VALBITS, MARKBIT, XINT): Do not assume 32-bit EMACS_INT. | 1527 | (VALBITS, MARKBIT, XINT): Do not assume 32-bit EMACS_INT. |
| 1528 | (PNTR_COMPARISON_TYPE): Default to EMACS_UINT, not to unsigned int. | 1528 | (PNTR_COMPARISON_TYPE): Default to EMACS_UINT, not to unsigned int. |
| 1529 | (code_convert_string_norecord, fixup_locale, | 1529 | (code_convert_string_norecord, fixup_locale) |
| 1530 | synchronize_messages_locale, synchronize_time_locale, | 1530 | (synchronize_messages_locale, synchronize_time_locale) |
| 1531 | emacs_open, emacs_close, emacs_read, emacs_write): New decls. | 1531 | (emacs_open, emacs_close, emacs_read, emacs_write): New decls. |
| 1532 | All Emacs callers of open, close, read, write changed to use | 1532 | All Emacs callers of open, close, read, write changed to use |
| 1533 | emacs_open, emacs_close, emacs_read, emacs_write. | 1533 | emacs_open, emacs_close, emacs_read, emacs_write. |
| 1534 | 1534 | ||
| @@ -1579,13 +1579,13 @@ | |||
| 1579 | s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/osf1.h, s/rtu.h, | 1579 | s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/osf1.h, s/rtu.h, |
| 1580 | s/sunos4-1.h, s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, | 1580 | s/sunos4-1.h, s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, |
| 1581 | s/usg5-2.h, s/usg5-3.h, s/xenix.h: | 1581 | s/usg5-2.h, s/usg5-3.h, s/xenix.h: |
| 1582 | (open, close, read, write, INTERRUPTIBLE_OPEN, | 1582 | (open, close, read, write, INTERRUPTIBLE_OPEN) |
| 1583 | INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Remove. | 1583 | (INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Remove. |
| 1584 | 1584 | ||
| 1585 | * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): New macros. | 1585 | * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): New macros. |
| 1586 | 1586 | ||
| 1587 | * sysdep.c (sys_read, sys_write, read, write, sys_close, close, | 1587 | * sysdep.c (sys_read, sys_write, read, write, sys_close, close) |
| 1588 | sys_open, open): Remove. | 1588 | (sys_open, open): Remove. |
| 1589 | (emacs_open, emacs_close, emacs_read, emacs_write): Always define; | 1589 | (emacs_open, emacs_close, emacs_read, emacs_write): Always define; |
| 1590 | the old INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, and INTERRUPTIBLE_IO | 1590 | the old INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, and INTERRUPTIBLE_IO |
| 1591 | macros are no longer used. | 1591 | macros are no longer used. |
| @@ -1711,8 +1711,8 @@ | |||
| 1711 | 1999-10-17 Miles Bader <miles@gnu.org> | 1711 | 1999-10-17 Miles Bader <miles@gnu.org> |
| 1712 | 1712 | ||
| 1713 | * editfns.c (Qfield): New variable. | 1713 | * editfns.c (Qfield): New variable. |
| 1714 | (find_field, Ferase_field, Ffield_string, | 1714 | (find_field, Ferase_field, Ffield_string) |
| 1715 | Ffield_beginning, Ffield_end, Fconstrain_to_field): New functions. | 1715 | (Ffield_beginning, Ffield_end, Fconstrain_to_field): New functions. |
| 1716 | (Fline_beginning_position, Fline_end_position): Constrain to any field. | 1716 | (Fline_beginning_position, Fline_end_position): Constrain to any field. |
| 1717 | (make_buffer_string_both): Remove minibuffer-prompt hack. | 1717 | (make_buffer_string_both): Remove minibuffer-prompt hack. |
| 1718 | (syms_of_editfns): Initialize Qfield, and subr entries for | 1718 | (syms_of_editfns): Initialize Qfield, and subr entries for |
| @@ -1823,9 +1823,8 @@ | |||
| 1823 | (Fbitmap_spec_p): Replaces Fpixmap_spec_p. | 1823 | (Fbitmap_spec_p): Replaces Fpixmap_spec_p. |
| 1824 | (load_pixmap): Use Fbitmap_spec_p and Qbitmap_spec_p instead of | 1824 | (load_pixmap): Use Fbitmap_spec_p and Qbitmap_spec_p instead of |
| 1825 | Fpixmap_spec_p and Qpixmap_spec_p. | 1825 | Fpixmap_spec_p and Qpixmap_spec_p. |
| 1826 | (load_face_colors, check_lface_attrs, | 1826 | (load_face_colors, check_lface_attrs, merge_face_vector_with_property) |
| 1827 | merge_face_vector_with_property, | 1827 | (Finternal_set_lisp_face_attribute): Use Fbitmap_spec_p. |
| 1828 | Finternal_set_lisp_face_attribute): Use Fbitmap_spec_p. | ||
| 1829 | (syms_of_xfaces): Initialize Qbitmap_spec_p, defsubr | 1828 | (syms_of_xfaces): Initialize Qbitmap_spec_p, defsubr |
| 1830 | Fbitmap_spec_p. | 1829 | Fbitmap_spec_p. |
| 1831 | 1830 | ||
| @@ -1922,8 +1921,8 @@ | |||
| 1922 | * xfns.c (image_error): Use add_to_log. | 1921 | * xfns.c (image_error): Use add_to_log. |
| 1923 | 1922 | ||
| 1924 | * xfaces.c (load_pixmap): Call add_to_log without frame parameter. | 1923 | * xfaces.c (load_pixmap): Call add_to_log without frame parameter. |
| 1925 | (load_face_font_or_fontset, load_color, | 1924 | (load_face_font_or_fontset, load_color) |
| 1926 | merge_face_vector_with_property): Ditto. | 1925 | (merge_face_vector_with_property): Ditto. |
| 1927 | 1926 | ||
| 1928 | * dispextern.h: Add prototype for add_to_log. | 1927 | * dispextern.h: Add prototype for add_to_log. |
| 1929 | 1928 | ||
| @@ -1942,8 +1941,8 @@ | |||
| 1942 | 1941 | ||
| 1943 | * window.c (window_min_size): Add parameter ignore_fixed_p. | 1942 | * window.c (window_min_size): Add parameter ignore_fixed_p. |
| 1944 | (change_window_height): Call window_min_size with new parameter. | 1943 | (change_window_height): Call window_min_size with new parameter. |
| 1945 | (shrink_window_lowest_first, save_restore_orig_size, | 1944 | (shrink_window_lowest_first, save_restore_orig_size) |
| 1946 | grow_mini_window, shrink_mini_window): New. | 1945 | (grow_mini_window, shrink_mini_window): New. |
| 1947 | (make_window, replace_window): Initialize orig_top and | 1946 | (make_window, replace_window): Initialize orig_top and |
| 1948 | orig_height. | 1947 | orig_height. |
| 1949 | (enlarge_window): Renamed from change_window_height. Make it | 1948 | (enlarge_window): Renamed from change_window_height. Make it |
| @@ -1991,8 +1990,8 @@ | |||
| 1991 | conditinally compiled section in #ifdef. | 1990 | conditinally compiled section in #ifdef. |
| 1992 | (toplevel): Include stdio.h. | 1991 | (toplevel): Include stdio.h. |
| 1993 | 1992 | ||
| 1994 | * keymap.c (Flookup_key, Faccessible_keymaps, describe_vector, | 1993 | * keymap.c (Flookup_key, Faccessible_keymaps, describe_vector) |
| 1995 | keys_of_keymap, syms_of_keymap): Remove unused variables. | 1994 | (keys_of_keymap, syms_of_keymap): Remove unused variables. |
| 1996 | 1995 | ||
| 1997 | 1999-09-20 Gerd Moellmann <gerd@gnu.org> | 1996 | 1999-09-20 Gerd Moellmann <gerd@gnu.org> |
| 1998 | 1997 | ||
| @@ -2012,8 +2011,8 @@ | |||
| 2012 | 2011 | ||
| 2013 | 1999-09-19 Gerd Moellmann <gerd@gnu.org> | 2012 | 1999-09-19 Gerd Moellmann <gerd@gnu.org> |
| 2014 | 2013 | ||
| 2015 | * syntax.c (update_syntax_table, find_defun_start, back_comment, | 2014 | * syntax.c (update_syntax_table, find_defun_start, back_comment) |
| 2016 | describe_syntax, skip_chars): Remove unused variables. | 2015 | (describe_syntax, skip_chars): Remove unused variables. |
| 2017 | (back_comment, forw_comment): Add braces to if-statement with | 2016 | (back_comment, forw_comment): Add braces to if-statement with |
| 2018 | if-else as dependent statement. | 2017 | if-else as dependent statement. |
| 2019 | 2018 | ||
| @@ -2022,30 +2021,30 @@ | |||
| 2022 | conditional expressions. | 2021 | conditional expressions. |
| 2023 | (create_process): Put declaration of sigchld in #if 0. | 2022 | (create_process): Put declaration of sigchld in #if 0. |
| 2024 | (Fopen_network_stream): Removed unused variables. | 2023 | (Fopen_network_stream): Removed unused variables. |
| 2025 | (Fopen_network_stream, wait_reading_process_input, | 2024 | (Fopen_network_stream, wait_reading_process_input) |
| 2026 | wait_reading_process_input, send_process, send_process): Ditto. | 2025 | (wait_reading_process_input, send_process, send_process): Ditto. |
| 2027 | (toplevel): Add prototypes for set_waiting_for_input and | 2026 | (toplevel): Add prototypes for set_waiting_for_input and |
| 2028 | keyboard_bit_set. | 2027 | keyboard_bit_set. |
| 2029 | 2028 | ||
| 2030 | * abbrev.c (Fexpand_abbrev): Remove unused variables. | 2029 | * abbrev.c (Fexpand_abbrev): Remove unused variables. |
| 2031 | 2030 | ||
| 2032 | * textprop.c (Fset_text_properties): Remove unused variables. | 2031 | * textprop.c (Fset_text_properties): Remove unused variables. |
| 2033 | (text_property_list, verify_interval_modification, | 2032 | (text_property_list, verify_interval_modification) |
| 2034 | interval_has_all_properties): Ditto. | 2033 | (interval_has_all_properties): Ditto. |
| 2035 | 2034 | ||
| 2036 | * callproc.c (toplevel) [HAVE_UNISTD_H]: Include unistd.h. | 2035 | * callproc.c (toplevel) [HAVE_UNISTD_H]: Include unistd.h. |
| 2037 | (Fcall_process): Remove unused variable. | 2036 | (Fcall_process): Remove unused variable. |
| 2038 | 2037 | ||
| 2039 | * keyboard.c (Frecursive_edit): Remove unused variable. | 2038 | * keyboard.c (Frecursive_edit): Remove unused variable. |
| 2040 | (command_loop_1, safe_run_hooks, kbd_buffer_get_event, | 2039 | (command_loop_1, safe_run_hooks, kbd_buffer_get_event) |
| 2041 | timer_check, make_lispy_event, menu_bar_items, | 2040 | (timer_check, make_lispy_event, menu_bar_items) |
| 2042 | menu_bar_one_keymap, menu_bar_item, parse_menu_item, | 2041 | (menu_bar_one_keymap, menu_bar_item, parse_menu_item) |
| 2043 | parse_tool_bar_item, read_char_x_menu_prompt, read_key_sequence, | 2042 | (parse_tool_bar_item, read_char_x_menu_prompt, read_key_sequence) |
| 2044 | kbd_buffer_get_event, make_lispy_event, read_char_x_menu_prompt, | 2043 | (kbd_buffer_get_event, make_lispy_event, read_char_x_menu_prompt) |
| 2045 | read_key_sequence): Ditto. Fread_key_sequence, | 2044 | (read_key_sequence): Ditto. |
| 2046 | Fread_key_sequence_vector, Fsuspend_emacs): Ditto. | 2045 | (Fread_key_sequence, Fread_key_sequence_vector, Fsuspend_emacs): Ditto. |
| 2047 | (read_key_sequence) [GOBBLE_FIRST_EVENT]: Put local variables only | 2046 | (read_key_sequence) [GOBBLE_FIRST_EVENT]: Put local variables only |
| 2048 | used when GOBBLE_FIRST_EVENT is defined in #ifdef | 2047 | used when GOBBLE_FIRST_EVENT is defined in #ifdef. |
| 2049 | (Fexecute_extended_command): Cast XINT to long for %ld. | 2048 | (Fexecute_extended_command): Cast XINT to long for %ld. |
| 2050 | (toplevel) [HAVE_UNISTD_H]: Include unistd.h. | 2049 | (toplevel) [HAVE_UNISTD_H]: Include unistd.h. |
| 2051 | (toplevel): Include sys/types.h. | 2050 | (toplevel): Include sys/types.h. |
| @@ -2059,8 +2058,8 @@ | |||
| 2059 | * buffer.h: Add prototype for r_re_alloc. | 2058 | * buffer.h: Add prototype for r_re_alloc. |
| 2060 | 2059 | ||
| 2061 | * insdel.c (copy_text): Removed unused variables. | 2060 | * insdel.c (copy_text): Removed unused variables. |
| 2062 | (count_combining_after, count_combining_after, insert_1_both, | 2061 | (count_combining_after, count_combining_after, insert_1_both) |
| 2063 | insert_from_string_1, insert_from_buffer_1, check_markers): Ditto. | 2062 | (insert_from_string_1, insert_from_buffer_1, check_markers): Ditto. |
| 2064 | (adjust_after_replace, replace_range): Add parentheses to logical | 2063 | (adjust_after_replace, replace_range): Add parentheses to logical |
| 2065 | expressions. Remove unused variables. | 2064 | expressions. Remove unused variables. |
| 2066 | (CHECK_BYTE_COMBINING_FOR_INSERT): Add parentheses to logical | 2065 | (CHECK_BYTE_COMBINING_FOR_INSERT): Add parentheses to logical |
| @@ -2108,17 +2107,17 @@ | |||
| 2108 | * intervals.c (rotate_right, rotate_left): Add braces to avoid | 2107 | * intervals.c (rotate_right, rotate_left): Add braces to avoid |
| 2109 | ambiguous else warning. | 2108 | ambiguous else warning. |
| 2110 | (split_interval_left): Remove unused variables. | 2109 | (split_interval_left): Remove unused variables. |
| 2111 | (previous_interval, adjust_intervals_for_deletion, | 2110 | (previous_interval, adjust_intervals_for_deletion) |
| 2112 | set_point_both, set_point_both, set_intervals_multibyte_1): Ditto. | 2111 | (set_point_both, set_point_both, set_intervals_multibyte_1): Ditto. |
| 2113 | (icount, idepth, zero_length): Move into #if 0 section below | 2112 | (icount, idepth, zero_length): Move into #if 0 section below |
| 2114 | original position where these are used. | 2113 | original position where these are used. |
| 2115 | 2114 | ||
| 2116 | * buffer.h [REL_ALLOC]: Add prototypes for r_alloc and r_alloc_free. | 2115 | * buffer.h [REL_ALLOC]: Add prototypes for r_alloc and r_alloc_free. |
| 2117 | 2116 | ||
| 2118 | * buffer.c (Fkill_buffer): Remove unused variables. | 2117 | * buffer.c (Fkill_buffer): Remove unused variables. |
| 2119 | (Fkill_buffer, overlays_at, overlays_in, recenter_overlay_lists, | 2118 | (Fkill_buffer, overlays_at, overlays_in, recenter_overlay_lists) |
| 2120 | fix_overlays_in_range, Fmove_overlay, Fprevious_overlay_change, | 2119 | (fix_overlays_in_range, Fmove_overlay, Fprevious_overlay_change) |
| 2121 | init_buffer_once, (syms_of_buffer): Ditto. | 2120 | (init_buffer_once, syms_of_buffer): Ditto. |
| 2122 | 2121 | ||
| 2123 | * xrdb.c (get_fallback): Remove unused variable. | 2122 | * xrdb.c (get_fallback): Remove unused variable. |
| 2124 | (x_load_resources): Ditto. Put local variable used for Motif only | 2123 | (x_load_resources): Ditto. Put local variable used for Motif only |
| @@ -2178,15 +2177,15 @@ | |||
| 2178 | * xdisp.c (resize_mini_window): Don't report changed window | 2177 | * xdisp.c (resize_mini_window): Don't report changed window |
| 2179 | height if it actually hasn't changed. | 2178 | height if it actually hasn't changed. |
| 2180 | 2179 | ||
| 2181 | * widget.c (set_frame_size, EmacsFrameSetCharSize): Remove | 2180 | * widget.c (set_frame_size, EmacsFrameSetCharSize): Remove |
| 2182 | unused variables. | 2181 | unused variables. |
| 2183 | (mark_shell_size_user_specified): Put in #if 0 because not used. | 2182 | (mark_shell_size_user_specified): Put in #if 0 because not used. |
| 2184 | (create_frame_gcs): Put in #if 0 because currently unused. | 2183 | (create_frame_gcs): Put in #if 0 because currently unused. |
| 2185 | (first_frame_p): Ditto. | 2184 | (first_frame_p): Ditto. |
| 2186 | 2185 | ||
| 2187 | * xmenu.c (single_menu_item, Fx_popup_menu, Fx_popup_menu, | 2186 | * xmenu.c (single_menu_item, Fx_popup_menu, Fx_popup_menu) |
| 2188 | single_submenu, update_frame_menubar, set_frame_menubar, | 2187 | (single_submenu, update_frame_menubar, set_frame_menubar) |
| 2189 | free_frame_menubar, xmenu_show, xdialog_show): Remove unused | 2188 | (free_frame_menubar, xmenu_show, xdialog_show): Remove unused |
| 2190 | variables. | 2189 | variables. |
| 2191 | 2190 | ||
| 2192 | * print.c (PRINTFULLP): Removed because it is no longer used and | 2191 | * print.c (PRINTFULLP): Removed because it is no longer used and |
| @@ -2202,8 +2201,8 @@ | |||
| 2202 | 2201 | ||
| 2203 | 1999-09-14 Ken Raeburn <raeburn@gnu.org> | 2202 | 1999-09-14 Ken Raeburn <raeburn@gnu.org> |
| 2204 | 2203 | ||
| 2205 | * print.c (Ferror_message_string, print_error_message, | 2204 | * print.c (Ferror_message_string, print_error_message) |
| 2206 | print_object): Use XCAR, XCDR and XFLOAT_DATA instead of explicit | 2205 | (print_object): Use XCAR, XCDR and XFLOAT_DATA instead of explicit |
| 2207 | member access. | 2206 | member access. |
| 2208 | 2207 | ||
| 2209 | 1999-09-14 Gerd Moellmann <gerd@gnu.org> | 2208 | 1999-09-14 Gerd Moellmann <gerd@gnu.org> |
| @@ -2222,10 +2221,10 @@ | |||
| 2222 | (x_set_menu_bar_lines): Put local variable used only for | 2221 | (x_set_menu_bar_lines): Put local variable used only for |
| 2223 | non-toolkit case in #ifdef/#endif. | 2222 | non-toolkit case in #ifdef/#endif. |
| 2224 | (x_figure_window_size): Remove unused variable(s). | 2223 | (x_figure_window_size): Remove unused variable(s). |
| 2225 | (x_figure_window_size, x_window, lookup_image, | 2224 | (x_figure_window_size, x_window, lookup_image) |
| 2226 | xbm_read_bitmap_file_data, x_build_heuristic_mask, pbm_load, | 2225 | (xbm_read_bitmap_file_data, x_build_heuristic_mask, pbm_load) |
| 2227 | png_load, jpeg_load, gif_load, x_create_tip_frame, | 2226 | (png_load, jpeg_load, gif_load, x_create_tip_frame) |
| 2228 | x_create_tip_frame, Fx_show_tip, x_set_border_pixel): Ditto. | 2227 | (x_create_tip_frame, Fx_show_tip, x_set_border_pixel): Ditto. |
| 2229 | 2228 | ||
| 2230 | * xterm.c (x_scroll_bar_handle_click): Compile only if | 2229 | * xterm.c (x_scroll_bar_handle_click): Compile only if |
| 2231 | not USE_TOOLKIT_SCROLL_BARS. | 2230 | not USE_TOOLKIT_SCROLL_BARS. |
| @@ -2235,8 +2234,8 @@ | |||
| 2235 | x_kill_gs_process. | 2234 | x_kill_gs_process. |
| 2236 | 2235 | ||
| 2237 | * xterm.c (x_produce_glyphs): Remove unused variable(s). | 2236 | * xterm.c (x_produce_glyphs): Remove unused variable(s). |
| 2238 | (x_alloc_nearest_color_for_widget, note_tool_bar_highlight, | 2237 | (x_alloc_nearest_color_for_widget, note_tool_bar_highlight) |
| 2239 | x_set_toolkit_scroll_bar_thumb): Ditto. | 2238 | (x_set_toolkit_scroll_bar_thumb): Ditto. |
| 2240 | (x_scroll_bar_create): Move local variable to the | 2239 | (x_scroll_bar_create): Move local variable to the |
| 2241 | conditionally compiled section of code where it is used. | 2240 | conditionally compiled section of code where it is used. |
| 2242 | (x_scroll_bar_create): Remove unused variable(s). | 2241 | (x_scroll_bar_create): Remove unused variable(s). |
| @@ -2255,8 +2254,8 @@ | |||
| 2255 | to use do-while. | 2254 | to use do-while. |
| 2256 | 2255 | ||
| 2257 | * fns.c (SXHASH_COMBINE): Add missing parentheses. | 2256 | * fns.c (SXHASH_COMBINE): Add missing parentheses. |
| 2258 | (Fchar_table_range, Fset_char_table_default, mapcar1, | 2257 | (Fchar_table_range, Fset_char_table_default, mapcar1) |
| 2259 | Fyes_or_no_p, sweep_weak_hash_tables): Remove unused variable(s). | 2258 | (Fyes_or_no_p, sweep_weak_hash_tables): Remove unused variable(s). |
| 2260 | 2259 | ||
| 2261 | * lisp.h: Add prototype for getloadavg. | 2260 | * lisp.h: Add prototype for getloadavg. |
| 2262 | 2261 | ||
| @@ -2285,9 +2284,9 @@ | |||
| 2285 | * xdisp.c (QCfile): Move here from xfns.c. | 2284 | * xdisp.c (QCfile): Move here from xfns.c. |
| 2286 | (syms_of_xdisp): Initialize it. | 2285 | (syms_of_xdisp): Initialize it. |
| 2287 | (message2_nolog): Change for Lisp_Object selected_frame. | 2286 | (message2_nolog): Change for Lisp_Object selected_frame. |
| 2288 | (message3_nolog, message_with_string, message, | 2287 | (message3_nolog, message_with_string, message) |
| 2289 | setup_echo_area_for_printing, truncate_echo_area, | 2288 | (setup_echo_area_for_printing, truncate_echo_area) |
| 2290 | prepare_menu_bars, redisplay_internal, Fdump_tool_bar_row): Ditto. | 2289 | (prepare_menu_bars, redisplay_internal, Fdump_tool_bar_row): Ditto. |
| 2291 | 2290 | ||
| 2292 | 1999-09-13 Dave Love <fx@gnu.org> | 2291 | 1999-09-13 Dave Love <fx@gnu.org> |
| 2293 | 2292 | ||
| @@ -2338,11 +2337,11 @@ | |||
| 2338 | (Fdump_face): Ditto. | 2337 | (Fdump_face): Ditto. |
| 2339 | 2338 | ||
| 2340 | * term.c (OUTPUT): Change for Lisp_Object selected_frame. | 2339 | * term.c (OUTPUT): Change for Lisp_Object selected_frame. |
| 2341 | (OUTPUT_IF, ring_bell, set_terminal_modes, reset_terminal_modes, | 2340 | (OUTPUT_IF, ring_bell, set_terminal_modes, reset_terminal_modes) |
| 2342 | set_terminal_window, set_scroll_region, reassert_line_highlight, | 2341 | (set_terminal_window, set_scroll_region, reassert_line_highlight) |
| 2343 | change_line_highlight, cursor_to, raw_cursor_to, clear_to_end, | 2342 | (change_line_highlight, cursor_to, raw_cursor_to, clear_to_end) |
| 2344 | clear_end_of_line, clear_end_of_line_raw, clear_end_of_line_raw, | 2343 | (clear_end_of_line, clear_end_of_line_raw, clear_end_of_line_raw) |
| 2345 | encode_terminal_code, write_glyphs, term_init): Ditto. | 2344 | (encode_terminal_code, write_glyphs, term_init): Ditto. |
| 2346 | 2345 | ||
| 2347 | * sysdep.c (reset_sys_modes): Change for Lisp_Object selected_frame. | 2346 | * sysdep.c (reset_sys_modes): Change for Lisp_Object selected_frame. |
| 2348 | (kbd_input_ast, read_input_waiting): Ditto. | 2347 | (kbd_input_ast, read_input_waiting): Ditto. |
| @@ -2352,10 +2351,10 @@ | |||
| 2352 | (read_minibuf): Ditto. | 2351 | (read_minibuf): Ditto. |
| 2353 | 2352 | ||
| 2354 | * keyboard.c (command_loop_1): Change for Lisp_Object selected_frame. | 2353 | * keyboard.c (command_loop_1): Change for Lisp_Object selected_frame. |
| 2355 | (cmd_error_internal, command_loop_1, read_char, | 2354 | (cmd_error_internal, command_loop_1, read_char) |
| 2356 | kbd_buffer_get_event, read_avail_input, | 2355 | (kbd_buffer_get_event, read_avail_input) |
| 2357 | read_char_minibuf_menu_prompt, read_key_sequence, Fsuspend_emacs, | 2356 | (read_char_minibuf_menu_prompt, read_key_sequence, Fsuspend_emacs) |
| 2358 | interrupt_signal, quit_throw_to_read_char): Ditto. | 2357 | (interrupt_signal, quit_throw_to_read_char): Ditto. |
| 2359 | 2358 | ||
| 2360 | * fontset.c (Ffont_info): Change for Lisp_Object selected_frame. | 2359 | * fontset.c (Ffont_info): Change for Lisp_Object selected_frame. |
| 2361 | (Ffontset_info): DItto. | 2360 | (Ffontset_info): DItto. |
| @@ -2364,8 +2363,8 @@ | |||
| 2364 | 2363 | ||
| 2365 | * dispnew.c (selected_frame): Make it a Lisp_Object. | 2364 | * dispnew.c (selected_frame): Make it a Lisp_Object. |
| 2366 | (adjust_frame_glyphs_initially): Change for Lisp_Object selected_frame. | 2365 | (adjust_frame_glyphs_initially): Change for Lisp_Object selected_frame. |
| 2367 | (direct_output_for_insert, direct_output_forward_char, | 2366 | (direct_output_for_insert, direct_output_forward_char) |
| 2368 | init_display): Ditto. | 2367 | (init_display): Ditto. |
| 2369 | 2368 | ||
| 2370 | * data.c (swap_in_symval_forwarding): Change for Lisp_Object | 2369 | * data.c (swap_in_symval_forwarding): Change for Lisp_Object |
| 2371 | selected_frame. | 2370 | selected_frame. |
| @@ -2379,20 +2378,20 @@ | |||
| 2379 | (Fselected_frame): Ditto. | 2378 | (Fselected_frame): Ditto. |
| 2380 | (Fframe_first_window): Use SELECTED_FRAME. | 2379 | (Fframe_first_window): Use SELECTED_FRAME. |
| 2381 | (Fframe_root_window): Change for Lisp_Object selected_frame. | 2380 | (Fframe_root_window): Change for Lisp_Object selected_frame. |
| 2382 | (Fframe_selected_window, Fset_frame_selected_window, Fnext_frame, | 2381 | (Fframe_selected_window, Fset_frame_selected_window, Fnext_frame) |
| 2383 | Fprevious_frame, other_visible_frames, Fdelete_frame, | 2382 | (Fprevious_frame, other_visible_frames, Fdelete_frame) |
| 2384 | Fmouse_position, Fmouse_pixel_position, Fmake_frame_visible, | 2383 | (Fmouse_position, Fmouse_pixel_position, Fmake_frame_visible) |
| 2385 | Fmake_frame_invisible, Ficonify_frame, Fraise_frame, Flower_frame, | 2384 | (Fmake_frame_invisible, Ficonify_frame, Fraise_frame, Flower_frame) |
| 2386 | Fframe_parameters, Fmodify_frame_parameters, Fframe_char_height, | 2385 | (Fframe_parameters, Fmodify_frame_parameters, Fframe_char_height) |
| 2387 | Fframe_char_width, Fframe_pixel_height, Fframe_pixel_width, | 2386 | (Fframe_char_width, Fframe_pixel_height, Fframe_pixel_width) |
| 2388 | Fset_frame_height, Fset_frame_width): Ditto. | 2387 | (Fset_frame_height, Fset_frame_width): Ditto. |
| 2389 | 2388 | ||
| 2390 | 1999-09-13 Gerd Moellmann <gerd@gnu.org> | 2389 | 1999-09-13 Gerd Moellmann <gerd@gnu.org> |
| 2391 | 2390 | ||
| 2392 | * xdisp.c (message2_nolog): Change for Lisp_Object selected_frame. | 2391 | * xdisp.c (message2_nolog): Change for Lisp_Object selected_frame. |
| 2393 | (message3_nolog, message_with_string, message, | 2392 | (message3_nolog, message_with_string, message) |
| 2394 | setup_echo_area_for_printing, truncate_echo_area, | 2393 | (setup_echo_area_for_printing, truncate_echo_area) |
| 2395 | prepare_menu_bars, redisplay_internal, Fdump_tool_bar_row): Ditto. | 2394 | (prepare_menu_bars, redisplay_internal, Fdump_tool_bar_row): Ditto. |
| 2396 | 2395 | ||
| 2397 | * xmenu.c (Fx_popup_menu): Change for Lisp_Object selected_frame. | 2396 | * xmenu.c (Fx_popup_menu): Change for Lisp_Object selected_frame. |
| 2398 | (Fx_popup_dialog): Ditto. | 2397 | (Fx_popup_dialog): Ditto. |
| @@ -2406,48 +2405,48 @@ | |||
| 2406 | 2405 | ||
| 2407 | * window.c (Fminibuffer_window): Change for Lisp_Object | 2406 | * window.c (Fminibuffer_window): Change for Lisp_Object |
| 2408 | selected_frame. | 2407 | selected_frame. |
| 2409 | (Fwindow_at, Fprevious_window, window_loop, select_window_1, | 2408 | (Fwindow_at, Fprevious_window, window_loop, select_window_1) |
| 2410 | display_buffer_1, Fdisplay_buffer, temp_output_buffer_show, | 2409 | (display_buffer_1, Fdisplay_buffer, temp_output_buffer_show) |
| 2411 | Fcurrent_window_configuration, init_window_once): Ditto. | 2410 | (Fcurrent_window_configuration, init_window_once): Ditto. |
| 2412 | 2411 | ||
| 2413 | * frame.h (SELECTED_FRAME): New. | 2412 | * frame.h (SELECTED_FRAME): New. |
| 2414 | 2413 | ||
| 2415 | 1999-09-12 Ken Raeburn <raeburn@gnu.org> | 2414 | 1999-09-12 Ken Raeburn <raeburn@gnu.org> |
| 2416 | 2415 | ||
| 2417 | * category.c (word_boundary_p): Use XCAR and XCDR. | 2416 | * category.c (word_boundary_p): Use XCAR and XCDR. |
| 2418 | * ccl.c (ccl_driver, resolve_symbol_ccl_program, | 2417 | * ccl.c (ccl_driver, resolve_symbol_ccl_program) |
| 2419 | Fregister_code_conversion_map): Likewise. | 2418 | (Fregister_code_conversion_map): Likewise. |
| 2420 | * coding.c (setup_coding_system, detect_coding_system, | 2419 | * coding.c (setup_coding_system, detect_coding_system) |
| 2421 | Ffind_operation_coding_system, Fset_coding_priority_internal): | 2420 | (Ffind_operation_coding_system, Fset_coding_priority_internal): |
| 2422 | Likewise. | 2421 | Likewise. |
| 2423 | * doc.c (get_doc_string, Fdocumentation, | 2422 | * doc.c (get_doc_string, Fdocumentation) |
| 2424 | store_function_docstring): Likewise. | 2423 | (store_function_docstring): Likewise. |
| 2425 | * editfns.c (save_restriction_restore): Likewise. | 2424 | * editfns.c (save_restriction_restore): Likewise. |
| 2426 | * eval.c (Fcond, Fmacroexpand, Fcondition_case, wants_debugger, | 2425 | * eval.c (Fcond, Fmacroexpand, Fcondition_case, wants_debugger) |
| 2427 | skip_debugger, find_handler_clause, Fautoload, Fapply, | 2426 | (skip_debugger, find_handler_clause, Fautoload, Fapply) |
| 2428 | run_hook_with_args, run_hook_list_with_args, Ffetch_bytecode): | 2427 | (run_hook_with_args, run_hook_list_with_args, Ffetch_bytecode): |
| 2429 | Likewise. | 2428 | Likewise. |
| 2430 | * fileio.c (Ffind_file_name_handler, Finsert_file_contents, | 2429 | * fileio.c (Ffind_file_name_handler, Finsert_file_contents) |
| 2431 | Fwrite_region, do_auto_save_unwind, Fdo_auto_save, | 2430 | (Fwrite_region, do_auto_save_unwind, Fdo_auto_save) |
| 2432 | Fread_file_name): Likewise. | 2431 | (Fread_file_name): Likewise. |
| 2433 | * filelock.c (unlock_all_files): Likewise. | 2432 | * filelock.c (unlock_all_files): Likewise. |
| 2434 | * insdel.c (Fcombine_after_change_execute): Likewise. | 2433 | * insdel.c (Fcombine_after_change_execute): Likewise. |
| 2435 | * intervals.c (adjust_intervals_for_insertion): Likewise. | 2434 | * intervals.c (adjust_intervals_for_insertion): Likewise. |
| 2436 | * keymap.c (get_keymap_1, Fkeymap_parent, Fset_keymap_parent, | 2435 | * keymap.c (get_keymap_1, Fkeymap_parent, Fset_keymap_parent) |
| 2437 | Fset_keymap_parent, fix_submap_inheritance, access_keymap, | 2436 | (Fset_keymap_parent, fix_submap_inheritance, access_keymap) |
| 2438 | store_in_keymap, Fcopy_keymap, define_as_prefix, | 2437 | (store_in_keymap, Fcopy_keymap, define_as_prefix) |
| 2439 | current_minor_maps, Faccessible_keymaps, | 2438 | (current_minor_maps, Faccessible_keymaps) |
| 2440 | accessible_keymaps_char_table, Fkey_description, | 2439 | (accessible_keymaps_char_table, Fkey_description) |
| 2441 | Fwhere_is_internal, where_is_internal_2, where_is_internal_1, | 2440 | (Fwhere_is_internal, where_is_internal_2, where_is_internal_1) |
| 2442 | describe_buffer_bindings, describe_map_tree, shadow_lookup, | 2441 | (describe_buffer_bindings, describe_map_tree, shadow_lookup) |
| 2443 | describe_map): Likewise. | 2442 | (describe_map): Likewise. |
| 2444 | * lread.c (Fload, load_unwind, close_load_descs, read_vector, | 2443 | * lread.c (Fload, load_unwind, close_load_descs, read_vector) |
| 2445 | read_list, init_lread): Likewise. | 2444 | (read_list, init_lread): Likewise. |
| 2446 | * search.c (Fmatch_data): Likewise. | 2445 | * search.c (Fmatch_data): Likewise. |
| 2447 | * sunfns.c (Fsun_menu_internal): Likewise. | 2446 | * sunfns.c (Fsun_menu_internal): Likewise. |
| 2448 | * syntax.c (describe_syntax): Likewise. | 2447 | * syntax.c (describe_syntax): Likewise. |
| 2449 | * undo.c (record_insert, record_delete, Fundo_boundary, | 2448 | * undo.c (record_insert, record_delete, Fundo_boundary) |
| 2450 | truncate_undo_list): Likewise. | 2449 | (truncate_undo_list): Likewise. |
| 2451 | * vmsproc.c (child_sig): Likewise. | 2450 | * vmsproc.c (child_sig): Likewise. |
| 2452 | 2451 | ||
| 2453 | * editfns.c (Fformat): Use XFLOAT_DATA. | 2452 | * editfns.c (Fformat): Use XFLOAT_DATA. |
| @@ -2531,63 +2530,63 @@ | |||
| 2531 | 2530 | ||
| 2532 | 1999-09-12 Ken Raeburn <raeburn@gnu.org> | 2531 | 1999-09-12 Ken Raeburn <raeburn@gnu.org> |
| 2533 | 2532 | ||
| 2534 | * alloc.c (Fcons, pure_cons, Fpurecopy, Fgarbage_collect, | 2533 | * alloc.c (Fcons, pure_cons, Fpurecopy, Fgarbage_collect) |
| 2535 | mark_object, mark_buffer): Use XCAR and XCDR. | 2534 | (mark_object, mark_buffer): Use XCAR and XCDR. |
| 2536 | * bytecode.c (Fbyte_code): Likewise. | 2535 | * bytecode.c (Fbyte_code): Likewise. |
| 2537 | * callint.c (Fcall_interactively, Fprefix_numeric_value): | 2536 | * callint.c (Fcall_interactively, Fprefix_numeric_value): |
| 2538 | Likewise. | 2537 | Likewise. |
| 2539 | * callproc.c (Fcall_process, Fcall_process_region, child_setup, | 2538 | * callproc.c (Fcall_process, Fcall_process_region, child_setup) |
| 2540 | getenv_internal): Likewise. | 2539 | (getenv_internal): Likewise. |
| 2541 | * dired.c (file_name_completion): Likewise. | 2540 | * dired.c (file_name_completion): Likewise. |
| 2542 | * fns.c (Fsafe_length, concat, Fcopy_alist, Fmember, Fmemq, Fassq, | 2541 | * fns.c (Fsafe_length, concat, Fcopy_alist, Fmember, Fmemq, Fassq) |
| 2543 | assq_no_quit, Fassoc, Frassq, Frassoc, Fdelq, Fdelete, Freverse, | 2542 | (assq_no_quit, Fassoc, Frassq, Frassoc, Fdelq, Fdelete, Freverse) |
| 2544 | Fplist_get, Fplist_put, internal_equal, mapcar1): Likewise. | 2543 | (Fplist_get, Fplist_put, internal_equal, mapcar1): Likewise. |
| 2545 | * indent.c (Fcompute_motion): Likewise. | 2544 | * indent.c (Fcompute_motion): Likewise. |
| 2546 | * process.c (decode_status, Fprocess_status, Fprocess_exit_status, | 2545 | * process.c (decode_status, Fprocess_status, Fprocess_exit_status) |
| 2547 | list_processes_1, Fstart_process, Fopen_network_stream, | 2546 | (list_processes_1, Fstart_process, Fopen_network_stream) |
| 2548 | wait_reading_process_input, read_process_output_call, | 2547 | (wait_reading_process_input, read_process_output_call) |
| 2549 | kill_buffer_processes, sigchld_handler, exec_sentinel_unwind, | 2548 | (kill_buffer_processes, sigchld_handler, exec_sentinel_unwind) |
| 2550 | status_notify, wait_reading_process_input): Likewise. | 2549 | (status_notify, wait_reading_process_input): Likewise. |
| 2551 | * textprop.c (PLIST_ELT_P, property_value, set_properties, | 2550 | * textprop.c (PLIST_ELT_P, property_value, set_properties) |
| 2552 | extend_property_ranges): Likewise. | 2551 | (extend_property_ranges): Likewise. |
| 2553 | * w32faces.c (Fpixmap_spec_p, merge_face_list): Likewise. | 2552 | * w32faces.c (Fpixmap_spec_p, merge_face_list): Likewise. |
| 2554 | * w32fns.c (x_window_to_frame, x_set_frame_parameters, | 2553 | * w32fns.c (x_window_to_frame, x_set_frame_parameters) |
| 2555 | x_report_frame_params, x_set_cursor_type, x_icon_type, | 2554 | (x_report_frame_params, x_set_cursor_type, x_icon_type) |
| 2556 | x_figure_window_size, Fx_create_frame, w32_load_system_font, | 2555 | (x_figure_window_size, Fx_create_frame, w32_load_system_font) |
| 2557 | w32_load_font, enum_font_cb2, w32_list_bdf_fonts, w32_list_fonts, | 2556 | (w32_load_font, enum_font_cb2, w32_list_bdf_fonts, w32_list_fonts) |
| 2558 | w32_list_synthesized_fonts, w32_find_ccl_program, Fx_list_fonts, | 2557 | (w32_list_synthesized_fonts, w32_find_ccl_program, Fx_list_fonts) |
| 2559 | Fw32_find_bdf_fonts, w32_find_bdf_fonts_in_dir, | 2558 | (Fw32_find_bdf_fonts, w32_find_bdf_fonts_in_dir) |
| 2560 | x_display_info_for_name, Fx_display_list): Likewise. | 2559 | (x_display_info_for_name, Fx_display_list): Likewise. |
| 2561 | * w32menu.c (menubar_id_to_frame, single_keymap_panes, | 2560 | * w32menu.c (menubar_id_to_frame, single_keymap_panes) |
| 2562 | Fx_popup_menu, Fx_popup_dialog): Likewise. | 2561 | (Fx_popup_menu, Fx_popup_dialog): Likewise. |
| 2563 | * w32proc.c (Fw32_set_keyboard_layout): Likewise. | 2562 | * w32proc.c (Fw32_set_keyboard_layout): Likewise. |
| 2564 | * w32term.c (x_window_to_scroll_bar, w32_read_socket, | 2563 | * w32term.c (x_window_to_scroll_bar, w32_read_socket) |
| 2565 | w32_term_init, x_delete_display): Likewise. | 2564 | (w32_term_init, x_delete_display): Likewise. |
| 2566 | * xfns.c (x_window_to_frame, x_any_window_to_frame, | 2565 | * xfns.c (x_window_to_frame, x_any_window_to_frame) |
| 2567 | x_non_menubar_window_to_frame, x_menubar_window_to_frame, | 2566 | (x_non_menubar_window_to_frame, x_menubar_window_to_frame) |
| 2568 | x_top_window_to_frame, x_set_frame_parameters, | 2567 | (x_top_window_to_frame, x_set_frame_parameters) |
| 2569 | x_report_frame_params, x_set_cursor_type, x_icon_type, | 2568 | (x_report_frame_params, x_set_cursor_type, x_icon_type) |
| 2570 | x_figure_window_size, Fx_create_frame, x_display_info_for_name, | 2569 | (x_figure_window_size, Fx_create_frame, x_display_info_for_name) |
| 2571 | Fx_display_list, x_create_tip_frame): Likewise. | 2570 | (Fx_display_list, x_create_tip_frame): Likewise. |
| 2572 | * xmenu.c (menubar_id_to_frame, single_keymap_panes, | 2571 | * xmenu.c (menubar_id_to_frame, single_keymap_panes) |
| 2573 | Fx_popup_menu, Fx_popup_dialog): Likewise. | 2572 | (Fx_popup_menu, Fx_popup_dialog): Likewise. |
| 2574 | * xselect.c (x_own_selection, x_get_local_selection, | 2573 | * xselect.c (x_own_selection, x_get_local_selection) |
| 2575 | x_handle_selection_request, x_handle_selection_clear, | 2574 | (x_handle_selection_request, x_handle_selection_clear) |
| 2576 | x_clear_frame_selections, wait_for_property_change_unwind, | 2575 | (x_clear_frame_selections, wait_for_property_change_unwind) |
| 2577 | wait_for_property_change, x_handle_property_notify, | 2576 | (wait_for_property_change, x_handle_property_notify) |
| 2578 | copy_multiple_data, x_get_foreign_selection, | 2577 | (copy_multiple_data, x_get_foreign_selection) |
| 2579 | lisp_data_to_selection_data, clean_local_selection_data, | 2578 | (lisp_data_to_selection_data, clean_local_selection_data) |
| 2580 | x_handle_selection_notify, Fx_get_selection_internal, | 2579 | (x_handle_selection_notify, Fx_get_selection_internal) |
| 2581 | x_disown_buffer_selections): Likewise. | 2580 | (x_disown_buffer_selections): Likewise. |
| 2582 | * xterm.c (x_window_to_scroll_bar, XTread_socket, x_list_fonts, | 2581 | * xterm.c (x_window_to_scroll_bar, XTread_socket, x_list_fonts) |
| 2583 | x_load_font, x_find_ccl_program, x_term_init, x_delete_display): | 2582 | (x_load_font, x_find_ccl_program, x_term_init, x_delete_display): |
| 2584 | Likewise. | 2583 | Likewise. |
| 2585 | 2584 | ||
| 2586 | * alloc.c (make_float, make_pure_float, Fpurecopy): Use | 2585 | * alloc.c (make_float, make_pure_float, Fpurecopy): Use |
| 2587 | XFLOAT_DATA. | 2586 | XFLOAT_DATA. |
| 2588 | * bytecode.c (Fbyte_code): Likewise. | 2587 | * bytecode.c (Fbyte_code): Likewise. |
| 2589 | * floatfns.c (extract_float, Fexpt, Fabs, rounding_driver, | 2588 | * floatfns.c (extract_float, Fexpt, Fabs, rounding_driver) |
| 2590 | fmod_float): Likewise. | 2589 | (fmod_float): Likewise. |
| 2591 | 2590 | ||
| 2592 | 1999-09-11 Richard Stallman <rms@gnu.org> | 2591 | 1999-09-11 Richard Stallman <rms@gnu.org> |
| 2593 | 2592 | ||
| @@ -2599,8 +2598,8 @@ | |||
| 2599 | * charset.h (GET_TRANSLATION_TABLE): Use XCDR. | 2598 | * charset.h (GET_TRANSLATION_TABLE): Use XCDR. |
| 2600 | * frame.h (FOR_EACH_FRAME): Use XCAR and XCDR. | 2599 | * frame.h (FOR_EACH_FRAME): Use XCAR and XCDR. |
| 2601 | (PIXEL_X_FROM_CANON_X, PIXEL_Y_FROM_CANON_Y): Use XFLOAT_DATA. | 2600 | (PIXEL_X_FROM_CANON_X, PIXEL_Y_FROM_CANON_Y): Use XFLOAT_DATA. |
| 2602 | * keyboard.h (EVENT_HEAD, EVENT_START, EVENT_END, POSN_WINDOW, | 2601 | * keyboard.h (EVENT_HEAD, EVENT_START, EVENT_END, POSN_WINDOW) |
| 2603 | POSN_BUFFER_POSN, POSN_WINDOW_POSN, POSN_TIMESTAMP): Use XCAR and | 2602 | (POSN_BUFFER_POSN, POSN_WINDOW_POSN, POSN_TIMESTAMP): Use XCAR and |
| 2604 | XCDR. | 2603 | XCDR. |
| 2605 | * syntax.h (SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH): Use XCAR and | 2604 | * syntax.h (SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH): Use XCAR and |
| 2606 | XCDR. | 2605 | XCDR. |
| @@ -2616,8 +2615,8 @@ | |||
| 2616 | 2615 | ||
| 2617 | * print.c: Support print-circle and related features. | 2616 | * print.c: Support print-circle and related features. |
| 2618 | (Vprint_gensym_alist): Removed. | 2617 | (Vprint_gensym_alist): Removed. |
| 2619 | (Vprint_circle, Vprint_continuous_numbering, print_number_index | 2618 | (Vprint_circle, Vprint_continuous_numbering, print_number_index) |
| 2620 | Vprint_number_table): New variables. | 2619 | (Vprint_number_table): New variables. |
| 2621 | (PRINT_NUMBER_OBJECT, PRINT_NUMBER_STATUS): New macros. | 2620 | (PRINT_NUMBER_OBJECT, PRINT_NUMBER_STATUS): New macros. |
| 2622 | (PRINTPREPARE, PRINTFINISH): Don't set Vprint_gensym_alist. | 2621 | (PRINTPREPARE, PRINTFINISH): Don't set Vprint_gensym_alist. |
| 2623 | (print, print_preprocess, print_preprocess_string, print_object): | 2622 | (print, print_preprocess, print_preprocess_string, print_object): |
| @@ -2720,8 +2719,8 @@ | |||
| 2720 | 2719 | ||
| 2721 | * xfaces.c (realize_basic_faces): Realize new basic faces. | 2720 | * xfaces.c (realize_basic_faces): Realize new basic faces. |
| 2722 | 2721 | ||
| 2723 | * dispextern.h (SCROLL_BAR_FACE_ID, BORDER_FACE_ID, | 2722 | * dispextern.h (SCROLL_BAR_FACE_ID, BORDER_FACE_ID) |
| 2724 | CURSOR_FACE_ID, MOUSE_FACE_ID): New. | 2723 | (CURSOR_FACE_ID, MOUSE_FACE_ID): New. |
| 2725 | 2724 | ||
| 2726 | * xfaces.c (Qscroll_bar, Qcursor, Qborder, Qmouse): New. | 2725 | * xfaces.c (Qscroll_bar, Qcursor, Qborder, Qmouse): New. |
| 2727 | (syms_of_xfaces): Intialize new symbols. | 2726 | (syms_of_xfaces): Intialize new symbols. |
| @@ -2857,7 +2856,7 @@ | |||
| 2857 | 2856 | ||
| 2858 | 1999-09-03 Richard Stallman <rms@gnu.org> | 2857 | 1999-09-03 Richard Stallman <rms@gnu.org> |
| 2859 | 2858 | ||
| 2860 | * callproc.c: Delete the system-independent include of stdlib.h | 2859 | * callproc.c: Delete the system-independent include of stdlib.h. |
| 2861 | (leaving only the one in the WINDOWSNT conditional). | 2860 | (leaving only the one in the WINDOWSNT conditional). |
| 2862 | 2861 | ||
| 2863 | 1999-09-03 Andrew Choi <choi@cs.hku.hk> | 2862 | 1999-09-03 Andrew Choi <choi@cs.hku.hk> |
| @@ -2880,8 +2879,8 @@ | |||
| 2880 | (Fmodify_frame_parameters) [macintosh]: | 2879 | (Fmodify_frame_parameters) [macintosh]: |
| 2881 | Call mac_set_frame_parameter in macterm.c. | 2880 | Call mac_set_frame_parameter in macterm.c. |
| 2882 | 2881 | ||
| 2883 | * keyboard.c [macintosh]: Set KBD_BUFFER_SIZE to a smaller value | 2882 | * keyboard.c [macintosh]: Set KBD_BUFFER_SIZE to a smaller value (512) |
| 2884 | (512) because Mac compilers limit local data of a function to 32K. | 2883 | because Mac compilers limit local data of a function to 32K. |
| 2885 | 2884 | ||
| 2886 | * make-docfiles.c: Correctly handle input files with Mac-style eol's. | 2885 | * make-docfiles.c: Correctly handle input files with Mac-style eol's. |
| 2887 | 2886 | ||
| @@ -2926,8 +2925,8 @@ | |||
| 2926 | (Fset_window_point): Remove references to deleted variables. | 2925 | (Fset_window_point): Remove references to deleted variables. |
| 2927 | (Fset_window_start): Ditto. | 2926 | (Fset_window_start): Ditto. |
| 2928 | 2927 | ||
| 2929 | * xdisp.c (Vresize_mini_config, resize_mini_frame, | 2928 | * xdisp.c (Vresize_mini_config, resize_mini_frame) |
| 2930 | resize_mini_initial_height): Removed. | 2929 | (resize_mini_initial_height): Removed. |
| 2931 | (syms_of_xdisp): Remove references to these variables. | 2930 | (syms_of_xdisp): Remove references to these variables. |
| 2932 | (resize_mini_window): Don't save window configuration, freeze | 2931 | (resize_mini_window): Don't save window configuration, freeze |
| 2933 | window starts instead. Enlarge window until displaying an empty | 2932 | window starts instead. Enlarge window until displaying an empty |
| @@ -3205,8 +3204,8 @@ | |||
| 3205 | (resize_mini_window): Save/restore window configuration | 3204 | (resize_mini_window): Save/restore window configuration |
| 3206 | differently. | 3205 | differently. |
| 3207 | 3206 | ||
| 3208 | * lisp.h (Vresize_mini_config, resize_mini_frame, | 3207 | * lisp.h (Vresize_mini_config, resize_mini_frame) |
| 3209 | resize_mini_initial_height): Add extern declarations. | 3208 | (resize_mini_initial_height): Add extern declarations. |
| 3210 | 3209 | ||
| 3211 | * xterm.c (expose_window_tree): Fix typo CANON_Y_UNIT to | 3210 | * xterm.c (expose_window_tree): Fix typo CANON_Y_UNIT to |
| 3212 | CANON_X_UNIT. | 3211 | CANON_X_UNIT. |
| @@ -3244,7 +3243,7 @@ | |||
| 3244 | 3243 | ||
| 3245 | * xdisp.c (Vresize_mini_config): New. | 3244 | * xdisp.c (Vresize_mini_config): New. |
| 3246 | (resize_mini_window): Use it to save restore original window | 3245 | (resize_mini_window): Use it to save restore original window |
| 3247 | configuration | 3246 | configuration. |
| 3248 | (syms_of_xdisp): Initialize it. | 3247 | (syms_of_xdisp): Initialize it. |
| 3249 | 3248 | ||
| 3250 | * buffer.h (struct buffer): Add prevent_redisplay_optimizations_p. | 3249 | * buffer.h (struct buffer): Add prevent_redisplay_optimizations_p. |
| @@ -3266,37 +3265,37 @@ | |||
| 3266 | prevent_redisplay_optimizations_p to 1. | 3265 | prevent_redisplay_optimizations_p to 1. |
| 3267 | (Fget_buffer_create): Set prevent_redisplay_optimizations_p to 1. | 3266 | (Fget_buffer_create): Set prevent_redisplay_optimizations_p to 1. |
| 3268 | 3267 | ||
| 3269 | * buffer.h (BUF_UNCHANGED_MODIFIED, UNCHANGED_MODIFIED, | 3268 | * buffer.h (BUF_UNCHANGED_MODIFIED, UNCHANGED_MODIFIED) |
| 3270 | BUF_OVERLAY_UNCHANGED_MODIFIED, OVERLAY_UNCHANGED_MODIFIED, | 3269 | (BUF_OVERLAY_UNCHANGED_MODIFIED, OVERLAY_UNCHANGED_MODIFIED) |
| 3271 | BUF_BEG_UNCHANGED, BEG_UNCHANGED, BUF_END_UNCHANGED, | 3270 | (BUF_BEG_UNCHANGED, BEG_UNCHANGED, BUF_END_UNCHANGED) |
| 3272 | END_UNCHANGED): New. | 3271 | (END_UNCHANGED): New. |
| 3273 | (struct buffer_text): Add beg_unchanged, end_unchanged, | 3272 | (struct buffer_text): Add beg_unchanged, end_unchanged, |
| 3274 | unchanged_modified, overlay_unchanged_modified. | 3273 | unchanged_modified, overlay_unchanged_modified. |
| 3275 | 3274 | ||
| 3276 | * window.h (beg_unchanged, end_unchanged, unchanged_modified, | 3275 | * window.h (beg_unchanged, end_unchanged, unchanged_modified) |
| 3277 | overlay_unchanged_modified): Removed. | 3276 | (overlay_unchanged_modified): Removed. |
| 3278 | (with_echo_area_unwind_data): Don't save beg/end_unchanged. | 3277 | (with_echo_area_unwind_data): Don't save beg/end_unchanged. |
| 3279 | (unwind_with_echo_area_buffer): Don't restore them. | 3278 | (unwind_with_echo_area_buffer): Don't restore them. |
| 3280 | (debug_beg_unchanged, debug_end_unchanged) [GLYPH_DEBUG]: Removed. | 3279 | (debug_beg_unchanged, debug_end_unchanged) [GLYPH_DEBUG]: Removed. |
| 3281 | (text_outside_line_unchanged_p, redisplay_internal, | 3280 | (text_outside_line_unchanged_p, redisplay_internal) |
| 3282 | try_scrolling): Use/set buffer-specific beg/end_unchanged. | 3281 | (try_scrolling): Use/set buffer-specific beg/end_unchanged. |
| 3283 | (redisplay_window): Let try_window_id be called if more than one | 3282 | (redisplay_window): Let try_window_id be called if more than one |
| 3284 | window is displayed. Use/set buffer-specific beg/end_unchanged. | 3283 | window is displayed. Use/set buffer-specific beg/end_unchanged. |
| 3285 | (get_last_unchanged_at_beg_row, get_first_unchanged_at_end_row, | 3284 | (get_last_unchanged_at_beg_row, get_first_unchanged_at_end_row) |
| 3286 | try_window_id): | 3285 | (try_window_id): |
| 3287 | Use buffer-specific beg/end_unchanged. | 3286 | Use buffer-specific beg/end_unchanged. |
| 3288 | 3287 | ||
| 3289 | * window.h (beg_unchanged, end_unchanged, unchanged_modified, | 3288 | * window.h (beg_unchanged, end_unchanged, unchanged_modified) |
| 3290 | overlay_unchanged_modified): Remove extern declarations. | 3289 | (overlay_unchanged_modified): Remove extern declarations. |
| 3291 | 3290 | ||
| 3292 | * keyboard.c (command_loop_1): Set beg/end_unchanged per buffer. | 3291 | * keyboard.c (command_loop_1): Set beg/end_unchanged per buffer. |
| 3293 | 3292 | ||
| 3294 | * insdel.c (gap_left): Compute beg/end_unchanged per buffer. | 3293 | * insdel.c (gap_left): Compute beg/end_unchanged per buffer. |
| 3295 | (gap_right): Ditto. | 3294 | (gap_right): Ditto. |
| 3296 | (adjust_after_replace): Likewise. | 3295 | (adjust_after_replace): Likewise. |
| 3297 | (replace_range, del_range_2, modify_region): Likewise. | 3296 | (replace_range, del_range_2, modify_region): Likewise. |
| 3298 | 3297 | ||
| 3299 | * dispnew.c (direct_output_for_insert): Set beg_unchanged | 3298 | * dispnew.c (direct_output_for_insert): Set beg_unchanged |
| 3300 | and unchanged_modified per buffer. | 3299 | and unchanged_modified per buffer. |
| 3301 | 3300 | ||
| 3302 | * coding.c (code_convert_region): Compute beg/end_unchanged per | 3301 | * coding.c (code_convert_region): Compute beg/end_unchanged per |
| @@ -3312,7 +3311,7 @@ | |||
| 3312 | * lisp.h: Add prototype for copy_hash_table and Fcopy_hash_table. | 3311 | * lisp.h: Add prototype for copy_hash_table and Fcopy_hash_table. |
| 3313 | 3312 | ||
| 3314 | * fns.c (Qkey, Qvalue): Renamed from Qkey_weak, and Qvalue_weak. | 3313 | * fns.c (Qkey, Qvalue): Renamed from Qkey_weak, and Qvalue_weak. |
| 3315 | (Qkey_value_weak): Removed. | 3314 | (Qkey_value_weak): Removed. |
| 3316 | (make_hash_table): Use nil, `key', `value', t for weakness. | 3315 | (make_hash_table): Use nil, `key', `value', t for weakness. |
| 3317 | (Fmake_hash_table): Ditto. | 3316 | (Fmake_hash_table): Ditto. |
| 3318 | (copy_hash_table): New. | 3317 | (copy_hash_table): New. |
| @@ -3398,25 +3397,22 @@ | |||
| 3398 | cursor_in_echo_area case only for a mini-window showing | 3397 | cursor_in_echo_area case only for a mini-window showing |
| 3399 | a message. Don't let cursor end up after the end of a row. | 3398 | a message. Don't let cursor end up after the end of a row. |
| 3400 | 3399 | ||
| 3401 | * xdisp.c (echo_area_glyphs, echo_area_message, | 3400 | * xdisp.c (echo_area_glyphs, echo_area_message) |
| 3402 | echo_area_glyphs_length, previous_echo_glyphs, | 3401 | (echo_area_glyphs_length, previous_echo_glyphs) |
| 3403 | previous_echo_area_message, previous_echo_area_glyphs_length): | 3402 | (previous_echo_area_message, previous_echo_area_glyphs_length): |
| 3404 | Removed. | 3403 | Removed. |
| 3405 | (Vmessage_stack, echo_area_buffer, echo_buffer, | 3404 | (Vmessage_stack, echo_area_buffer, echo_buffer) |
| 3406 | display_last_displayed_message_p, Vwith_echo_area_save_vector): New. | 3405 | (display_last_displayed_message_p, Vwith_echo_area_save_vector): New. |
| 3407 | (message2_nolog): Use set_message and clear_message. | 3406 | (message2_nolog): Use set_message and clear_message. |
| 3408 | (message3): Rename parameter len to nbytes to make clear what | 3407 | (message3): Rename parameter len to nbytes to make clear what it is. |
| 3409 | it is. | ||
| 3410 | (message3_nolog): Ditto. Use set_message and clear_message. | 3408 | (message3_nolog): Ditto. Use set_message and clear_message. |
| 3411 | (update_echo_area): Rewritten. | 3409 | (update_echo_area): Rewritten. |
| 3412 | (with_echo_area_buffer): New. | 3410 | (with_echo_area_buffer): New. |
| 3413 | (with_echo_area_buffer_unwind_data, unwind_with_area_buffer): New. | 3411 | (with_echo_area_buffer_unwind_data, unwind_with_area_buffer): New. |
| 3414 | (setup_echo_area_for_printing): New. | 3412 | (setup_echo_area_for_printing): New. |
| 3415 | (display_echo_area, display_echo_area_1): New. | 3413 | (display_echo_area, display_echo_area_1): New. |
| 3416 | |||
| 3417 | (current_message, current_message_1): New. | 3414 | (current_message, current_message_1): New. |
| 3418 | (push_message, restore_message, pop_message, | 3415 | (push_message, restore_message, pop_message, check_message_stack): New. |
| 3419 | check_message_stack): New. | ||
| 3420 | (truncate_echo_area): Rewritten. | 3416 | (truncate_echo_area): Rewritten. |
| 3421 | (truncate_message_1): New. | 3417 | (truncate_message_1): New. |
| 3422 | (set_message, set_message_1, clear_message): New. | 3418 | (set_message, set_message_1, clear_message): New. |
| @@ -3439,8 +3435,8 @@ | |||
| 3439 | don't try to set cursor on rows that aren't enabled. | 3435 | don't try to set cursor on rows that aren't enabled. |
| 3440 | 3436 | ||
| 3441 | * print.c: Remove conditional compilation on `standalone'. | 3437 | * print.c: Remove conditional compilation on `standalone'. |
| 3442 | (glyph_len, str_to_glyph_cpy, str_to_glyph_ncpy, | 3438 | (glyph_len, str_to_glyph_cpy, str_to_glyph_ncpy) |
| 3443 | glyph_to_str_cpy): Remove that section because GLYPHs are no | 3439 | (glyph_to_str_cpy): Remove that section because GLYPHs are no |
| 3444 | longer used in that way. | 3440 | longer used in that way. |
| 3445 | (PRINTDECLARE): Add multibyte. | 3441 | (PRINTDECLARE): Add multibyte. |
| 3446 | (PRINTPREPARE, PRINTFINISH): Handle printcharfun t differently. | 3442 | (PRINTPREPARE, PRINTFINISH): Handle printcharfun t differently. |
| @@ -3457,7 +3453,7 @@ | |||
| 3457 | (command_loop_1): Check for echo area messages differently. | 3453 | (command_loop_1): Check for echo area messages differently. |
| 3458 | (read_char): Likewise. | 3454 | (read_char): Likewise. |
| 3459 | (record_menu_key): Use clear_message. | 3455 | (record_menu_key): Use clear_message. |
| 3460 | (Fexecute_extended_command): Check for echo area messages | 3456 | (Fexecute_extended_command): Check for echo area messages |
| 3461 | differently. Use push_message, restore_message, pop_message. | 3457 | differently. Use push_message, restore_message, pop_message. |
| 3462 | 3458 | ||
| 3463 | * alloc.c (Fgarbage_collect): Use push_message, restore_message, | 3459 | * alloc.c (Fgarbage_collect): Use push_message, restore_message, |
| @@ -3621,7 +3617,7 @@ | |||
| 3621 | is fixed-size. | 3617 | is fixed-size. |
| 3622 | (window_min_size_1): New. | 3618 | (window_min_size_1): New. |
| 3623 | (window_min_size): Handle fixed-size windows. | 3619 | (window_min_size): Handle fixed-size windows. |
| 3624 | (size_window): New. Rewritten combination of set_window_height and | 3620 | (size_window): New. Rewritten combination of set_window_height and |
| 3625 | set_window_width that handles fixed-size windows. | 3621 | set_window_width that handles fixed-size windows. |
| 3626 | (set_window_height): Call it. | 3622 | (set_window_height): Call it. |
| 3627 | (set_window_width): Call it. | 3623 | (set_window_width): Call it. |
| @@ -3739,8 +3735,8 @@ | |||
| 3739 | 3735 | ||
| 3740 | 1999-08-06 Geoff Voelker <voelker@cs.washington.edu> | 3736 | 1999-08-06 Geoff Voelker <voelker@cs.washington.edu> |
| 3741 | 3737 | ||
| 3742 | * dired.c (directory_files_internal, Fdirectory_files_and_attributes, | 3738 | * dired.c (directory_files_internal, Fdirectory_files_and_attributes) |
| 3743 | Ffile_attributes_lessp): New functions. | 3739 | (Ffile_attributes_lessp): New functions. |
| 3744 | (Fdirectory_files): Use directory_files_internal. | 3740 | (Fdirectory_files): Use directory_files_internal. |
| 3745 | (syms_of_dired): Initialize Fdirectory_files_and_attributes, | 3741 | (syms_of_dired): Initialize Fdirectory_files_and_attributes, |
| 3746 | Ffile_attributes_lessp. | 3742 | Ffile_attributes_lessp. |
| @@ -3762,7 +3758,7 @@ | |||
| 3762 | 3758 | ||
| 3763 | * xdisp.c (reseat_at_next_visible_line_start): New parameter | 3759 | * xdisp.c (reseat_at_next_visible_line_start): New parameter |
| 3764 | on_newline_p. | 3760 | on_newline_p. |
| 3765 | (set_iterator_to_next): After delivering last char | 3761 | (set_iterator_to_next): After delivering last char |
| 3766 | from display vector, reseat on next visible line start if | 3762 | from display vector, reseat on next visible line start if |
| 3767 | dpvec_char_len < 0. | 3763 | dpvec_char_len < 0. |
| 3768 | (next_element_from_buffer): Set dpvec_char_len to -1 for | 3764 | (next_element_from_buffer): Set dpvec_char_len to -1 for |
| @@ -4337,7 +4333,7 @@ | |||
| 4337 | 4333 | ||
| 4338 | * term.c (TS_cursor_visible): Renamed from TS_visual_mode. | 4334 | * term.c (TS_cursor_visible): Renamed from TS_visual_mode. |
| 4339 | (TS_cursor_normal): Renamed from TS_end_visual_mode. | 4335 | (TS_cursor_normal): Renamed from TS_end_visual_mode. |
| 4340 | (TS_cursor_invisible): New. | 4336 | (TS_cursor_invisible): New. |
| 4341 | (term_init): Initialize TS_cursor_invisible. | 4337 | (term_init): Initialize TS_cursor_invisible. |
| 4342 | (tty_hide_cursor): New. | 4338 | (tty_hide_cursor): New. |
| 4343 | (tty_show_cursor): New. | 4339 | (tty_show_cursor): New. |
| @@ -4648,7 +4644,7 @@ | |||
| 4648 | (syms_of_buffer): Add default-scroll-*-aggressively. | 4644 | (syms_of_buffer): Add default-scroll-*-aggressively. |
| 4649 | 4645 | ||
| 4650 | * buffer.h (scroll_up_aggressively): New. | 4646 | * buffer.h (scroll_up_aggressively): New. |
| 4651 | (scroll_down_aggressively): New. | 4647 | (scroll_down_aggressively): New. |
| 4652 | 4648 | ||
| 4653 | * Makefile.in (LIBPNG): Add -lz -lm in case we're linking with | 4649 | * Makefile.in (LIBPNG): Add -lz -lm in case we're linking with |
| 4654 | a static PNG library. | 4650 | a static PNG library. |
| @@ -4733,7 +4729,7 @@ | |||
| 4733 | (build_scalable_font_name) [SCALABLE_FONTS]: New. | 4729 | (build_scalable_font_name) [SCALABLE_FONTS]: New. |
| 4734 | (may_use_scalable_font_p) [SCALABLE_FONTS]: New. | 4730 | (may_use_scalable_font_p) [SCALABLE_FONTS]: New. |
| 4735 | (best_matching_font) [SCALABLE_FONTS]: Handle scalable fonts. | 4731 | (best_matching_font) [SCALABLE_FONTS]: Handle scalable fonts. |
| 4736 | (syms_of_xfaces): Add scalable-fonts-allowed. | 4732 | (syms_of_xfaces): Add scalable-fonts-allowed. |
| 4737 | 4733 | ||
| 4738 | 1999-05-26 Gerd Moellmann <gerd@gnu.org> | 4734 | 1999-05-26 Gerd Moellmann <gerd@gnu.org> |
| 4739 | 4735 | ||
| @@ -4995,7 +4991,7 @@ | |||
| 4995 | * xfaces.c (set_font_frame_param): New. | 4991 | * xfaces.c (set_font_frame_param): New. |
| 4996 | (Finternal_set_lisp_face_attribute): Call it. | 4992 | (Finternal_set_lisp_face_attribute): Call it. |
| 4997 | 4993 | ||
| 4998 | Sun Feb 14 10:54:02 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | 4994 | 1999-02-14 Masatake Yamato <masata-y@is.aist-nara.ac.jp> |
| 4999 | 4995 | ||
| 5000 | * xfaces.c (Finternal_set_lisp_face_attribute_from_resource): | 4996 | * xfaces.c (Finternal_set_lisp_face_attribute_from_resource): |
| 5001 | Accept specifications of color for underline. | 4997 | Accept specifications of color for underline. |
| @@ -5011,21 +5007,21 @@ Sun Feb 14 10:54:02 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 5011 | * dispnew.c (check_matrix_invariants): Put it in #if 0. | 5007 | * dispnew.c (check_matrix_invariants): Put it in #if 0. |
| 5012 | (update_window): Put the call to check_matrix_invariants in #if 0. | 5008 | (update_window): Put the call to check_matrix_invariants in #if 0. |
| 5013 | 5009 | ||
| 5014 | Sun Feb 7 09:58:49 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | 5010 | 1999-02-07 Masatake Yamato <masata-y@is.aist-nara.ac.jp> |
| 5015 | 5011 | ||
| 5016 | * dispextern.h: Remove all else block of UNDERLINE_COLOR. | 5012 | * dispextern.h: Remove all else block of UNDERLINE_COLOR. |
| 5017 | Remove definition of UNDERLINE_COLOR. | 5013 | Remove definition of UNDERLINE_COLOR. |
| 5018 | 5014 | ||
| 5019 | Mon Jan 4 04:43:41 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | 5015 | 1999-01-04 Masatake Yamato <masata-y@is.aist-nara.ac.jp> |
| 5020 | 5016 | ||
| 5021 | * xfaces.c (free_face_colors): Free the color for underline. | 5017 | * xfaces.c (free_face_colors): Free the color for underline. |
| 5022 | 5018 | ||
| 5023 | * xterm.c (x_draw_glyph_string_underline): Set the color for underline | 5019 | * xterm.c (x_draw_glyph_string_underline): Set the color for underline |
| 5024 | to the GC. | 5020 | to the GC. |
| 5025 | 5021 | ||
| 5026 | Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | 5022 | 1999-01-03 Masatake Yamato <masata-y@is.aist-nara.ac.jp> |
| 5027 | 5023 | ||
| 5028 | * dispextern.h (UNDERLINE_COLOR): Defined. | 5024 | * dispextern.h (UNDERLINE_COLOR): Defined. |
| 5029 | (struct face): Added two new members. | 5025 | (struct face): Added two new members. |
| 5030 | underline_color, underline_defaulted_p. | 5026 | underline_color, underline_defaulted_p. |
| 5031 | 5027 | ||
| @@ -5034,7 +5030,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 5034 | (Finternal_set_lisp_face_attribute): Likewise. | 5030 | (Finternal_set_lisp_face_attribute): Likewise. |
| 5035 | 5031 | ||
| 5036 | * xfaces.c (load_color): Change the last argument type to enum | 5032 | * xfaces.c (load_color): Change the last argument type to enum |
| 5037 | lface_attribute_index from int. And addec code for underling coloring. | 5033 | lface_attribute_index from int. And addec code for underling coloring. |
| 5038 | (load_face_colors): Pass LFACE_*_INDEX to load_color. | 5034 | (load_face_colors): Pass LFACE_*_INDEX to load_color. |
| 5039 | 5035 | ||
| 5040 | 1999-02-12 Gerd Moellmann <gerd@gnu.org> | 5036 | 1999-02-12 Gerd Moellmann <gerd@gnu.org> |
| @@ -5211,7 +5207,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 5211 | * dispextern.h (struct glyph): Add voffset. | 5207 | * dispextern.h (struct glyph): Add voffset. |
| 5212 | (struct it): Replace height by descent, max_height by max_descent. | 5208 | (struct it): Replace height by descent, max_height by max_descent. |
| 5213 | 5209 | ||
| 5214 | * xterm.c (x_append_glyph): Set voffset | 5210 | * xterm.c (x_append_glyph): Set voffset. |
| 5215 | (x_append_stretch_glyph): Ditto. | 5211 | (x_append_stretch_glyph): Ditto. |
| 5216 | (x_produce_image_glyph): Ditto. | 5212 | (x_produce_image_glyph): Ditto. |
| 5217 | (x_produce_glyphs): Take voffset into account. | 5213 | (x_produce_glyphs): Take voffset into account. |
| @@ -5401,8 +5397,8 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 5401 | 5397 | ||
| 5402 | 1998-11-11 Gerd Moellmann <gerd@gnu.org> | 5398 | 1998-11-11 Gerd Moellmann <gerd@gnu.org> |
| 5403 | 5399 | ||
| 5404 | * xterm.h (struct x_display_info): Add gray pixmap. * xterm.c | 5400 | * xterm.h (struct x_display_info): Add gray pixmap. |
| 5405 | (x_term_init): Create the gray pixmap. | 5401 | * xterm.c (x_term_init): Create the gray pixmap. |
| 5406 | (x_setup_relief_color): Use it. | 5402 | (x_setup_relief_color): Use it. |
| 5407 | (x_get_glyph_string_clip_rect): Draw a toolbar window over the | 5403 | (x_get_glyph_string_clip_rect): Draw a toolbar window over the |
| 5408 | internal border at the top of a frame. | 5404 | internal border at the top of a frame. |
| @@ -5473,7 +5469,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 5473 | (xmenu_show): Likewise. | 5469 | (xmenu_show): Likewise. |
| 5474 | 5470 | ||
| 5475 | * xmenu.c (push_menu_item): Add parameters `type' and | 5471 | * xmenu.c (push_menu_item): Add parameters `type' and |
| 5476 | `selected'. Store it in menu_items. | 5472 | `selected'. Store it in menu_items. |
| 5477 | (MENU_ITEMS_ITEM_TYPE): New. | 5473 | (MENU_ITEMS_ITEM_TYPE): New. |
| 5478 | (MENU_ITEMS_ITEM_SELECTED): New. | 5474 | (MENU_ITEMS_ITEM_SELECTED): New. |
| 5479 | (MENU_ITEMS_ITEM_LENGTH): Increase by two. | 5475 | (MENU_ITEMS_ITEM_LENGTH): Increase by two. |
| @@ -6502,7 +6498,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 6502 | 6498 | ||
| 6503 | * xdisp.c (get_glyph_property): Renamed from | 6499 | * xdisp.c (get_glyph_property): Renamed from |
| 6504 | fill_iterator_from_glyph_property. | 6500 | fill_iterator_from_glyph_property. |
| 6505 | (next_element_from_buffer): Handle case that no `glyph' property | 6501 | (next_element_from_buffer): Handle case that no `glyph' property |
| 6506 | was found correctly. | 6502 | was found correctly. |
| 6507 | (display_line): Extend face to end of line only if we have faces. | 6503 | (display_line): Extend face to end of line only if we have faces. |
| 6508 | 6504 | ||
| @@ -6637,7 +6633,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 6637 | (SET_TEXT_POS_FROM_MARKER): Set a text_pos from a marker. | 6633 | (SET_TEXT_POS_FROM_MARKER): Set a text_pos from a marker. |
| 6638 | (SET_MARKER_FROM_TEXT_POS): Set a marker from a text_pos. | 6634 | (SET_MARKER_FROM_TEXT_POS): Set a marker from a text_pos. |
| 6639 | (TEXT_POS_EQUAL_P): Compare two text_pos structures for equality. | 6635 | (TEXT_POS_EQUAL_P): Compare two text_pos structures for equality. |
| 6640 | (struct display_pos): Renamed from glyph_pos. Use struct text_pos | 6636 | (struct display_pos): Renamed from glyph_pos. Use struct text_pos |
| 6641 | for buffer and string positions. | 6637 | for buffer and string positions. |
| 6642 | (struct glyph): Use text_pos. | 6638 | (struct glyph): Use text_pos. |
| 6643 | (struct it): Renamed from display_iterator. Use text_pos. | 6639 | (struct it): Renamed from display_iterator. Use text_pos. |
| @@ -7263,7 +7259,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 7263 | 7259 | ||
| 7264 | * xdisp.c (set_iterator_stop_pos): Take glyph_check_pos into | 7260 | * xdisp.c (set_iterator_stop_pos): Take glyph_check_pos into |
| 7265 | account. | 7261 | account. |
| 7266 | (reseat_iterator): Set glyph_check_pos. Handle case where | 7262 | (reseat_iterator): Set glyph_check_pos. Handle case where |
| 7267 | new position is < original position. | 7263 | new position is < original position. |
| 7268 | (check_iterator_glyph_property): Handle glyph property in strings. | 7264 | (check_iterator_glyph_property): Handle glyph property in strings. |
| 7269 | (next_element_from_string): Call above function. | 7265 | (next_element_from_string): Call above function. |
| @@ -7598,7 +7594,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 7598 | face_at_buffer_position. Parameter charset removed; always | 7594 | face_at_buffer_position. Parameter charset removed; always |
| 7599 | compute face for CHARSET_ASCII. | 7595 | compute face for CHARSET_ASCII. |
| 7600 | (face_at_string_position): Renamed from | 7596 | (face_at_string_position): Renamed from |
| 7601 | compute_face_at_string_pos. Parameter charset removed; always | 7597 | compute_face_at_string_pos. Parameter charset removed; always |
| 7602 | compute for CHARSET_ASCII. | 7598 | compute for CHARSET_ASCII. |
| 7603 | (lookup_face_for_charset): Take frame parameter instead of | 7599 | (lookup_face_for_charset): Take frame parameter instead of |
| 7604 | face_cache. | 7600 | face_cache. |
| @@ -8531,7 +8527,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 8531 | 8527 | ||
| 8532 | * dispnew.c (struct dim): Use int. | 8528 | * dispnew.c (struct dim): Use int. |
| 8533 | 8529 | ||
| 8534 | * xfaces.c (Fset_face_attribute_internal): Set face->font_name; | 8530 | * xfaces.c (Fset_face_attribute_internal): Set face->font_name. |
| 8535 | (allocate_face): Initialize it. | 8531 | (allocate_face): Initialize it. |
| 8536 | (load_font): Use XLoadQueryFont again instead of x_load_font. | 8532 | (load_font): Use XLoadQueryFont again instead of x_load_font. |
| 8537 | (unload_font): Use XFreeFont again. | 8533 | (unload_font): Use XFreeFont again. |
| @@ -8925,7 +8921,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 8925 | (x_get_char_font_and_encoding): Return null if font could not be | 8921 | (x_get_char_font_and_encoding): Return null if font could not be |
| 8926 | loaded. Reset font to null if fontset could not be loaded. | 8922 | loaded. Reset font to null if fontset could not be loaded. |
| 8927 | (draw_glyphs): Fill background if font not found. | 8923 | (draw_glyphs): Fill background if font not found. |
| 8928 | (draw_glyphs): Unused parameter just_foreground_p removed. New | 8924 | (draw_glyphs): Unused parameter just_foreground_p removed. New |
| 8929 | parameter composite_glyph. | 8925 | parameter composite_glyph. |
| 8930 | (draw_glyphs): Use enumeration for parameter hl. | 8926 | (draw_glyphs): Use enumeration for parameter hl. |
| 8931 | (draw_glyphs): Pass a display area relative x-position to | 8927 | (draw_glyphs): Pass a display area relative x-position to |
| @@ -9231,7 +9227,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 9231 | * dispnew.c (update_frame_line): update_line -> update_frame_line; | 9227 | * dispnew.c (update_frame_line): update_line -> update_frame_line; |
| 9232 | mirrored_make_current -> make_current. | 9228 | mirrored_make_current -> make_current. |
| 9233 | 9229 | ||
| 9234 | * xdisp.c: (store_frame_title_char): New function to store a | 9230 | * xdisp.c (store_frame_title_char): New function to store a |
| 9235 | single character for the frame title with re-allocation of | 9231 | single character for the frame title with re-allocation of |
| 9236 | frame_title_buf. | 9232 | frame_title_buf. |
| 9237 | (init_xdisp): Intialize frame_title_.* variables to null. | 9233 | (init_xdisp): Intialize frame_title_.* variables to null. |
| @@ -9272,7 +9268,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 9272 | 9268 | ||
| 9273 | 1997-11-15 Gerd Moellmann <gerd@acm.org> | 9269 | 1997-11-15 Gerd Moellmann <gerd@acm.org> |
| 9274 | 9270 | ||
| 9275 | * dispnew.c (clear_current_matrices): Clear matrix of menu_bar_window | 9271 | * dispnew.c (clear_current_matrices): Clear matrix of menu_bar_window. |
| 9276 | (clear_desired_matrices): Ditto. | 9272 | (clear_desired_matrices): Ditto. |
| 9277 | (adjust_frame_glyphs_for_window_redisplay): Use FRAME_WINDOW_WIDTH | 9273 | (adjust_frame_glyphs_for_window_redisplay): Use FRAME_WINDOW_WIDTH |
| 9278 | for menu_bar_window. | 9274 | for menu_bar_window. |
| @@ -9509,20 +9505,20 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 9509 | 9505 | ||
| 9510 | * window.h: Include blocker WINDOW_H_INCLUDED, include | 9506 | * window.h: Include blocker WINDOW_H_INCLUDED, include |
| 9511 | dispextern.h. | 9507 | dispextern.h. |
| 9512 | (struct window): phys_cursor_glyph as struct glyph. * window.c | 9508 | (struct window): phys_cursor_glyph as struct glyph. |
| 9513 | (make_window): Initialize it. | 9509 | * window.c (make_window): Initialize it. |
| 9514 | (replace_window): Ditto. | 9510 | (replace_window): Ditto. |
| 9515 | * dispnew.c (free_window_matrices): Remove freeing of | 9511 | * dispnew.c (free_window_matrices): Remove freeing of |
| 9516 | phys_cursor_glyph. | 9512 | phys_cursor_glyph. |
| 9517 | (check_matrix_invariants): Renamed from check_current_matrix_... | 9513 | (check_matrix_invariants): Renamed from check_current_matrix_... |
| 9518 | * xterm.c: All references to phys_cursor_glyph changed. | 9514 | * xterm.c: All references to phys_cursor_glyph changed. |
| 9519 | 9515 | ||
| 9520 | * dispextern.h (DISPEXTERN_H_INCLUDED: New include blocker. | 9516 | * dispextern.h (DISPEXTERN_H_INCLUDED): New include blocker. |
| 9521 | 9517 | ||
| 9522 | * xfaces.c: Comment update. | 9518 | * xfaces.c: Comment update. |
| 9523 | 9519 | ||
| 9524 | * window.h (struct window): Make phys_cursor_glyph a struct glyph | 9520 | * window.h (struct window): Make phys_cursor_glyph a struct glyph |
| 9525 | pointer. Remove phys_cursor_ascent, descent, etc. | 9521 | pointer. Remove phys_cursor_ascent, descent, etc. |
| 9526 | * dispnew.c (free_window_matrices): Free it. | 9522 | * dispnew.c (free_window_matrices): Free it. |
| 9527 | * window.c (make_window): Allocate it. | 9523 | * window.c (make_window): Allocate it. |
| 9528 | (replace_window): Ditto. | 9524 | (replace_window): Ditto. |
| @@ -9835,7 +9831,7 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 9835 | * window.c (make_window): start_y removed. | 9831 | * window.c (make_window): start_y removed. |
| 9836 | (replace_window): Ditto. | 9832 | (replace_window): Ditto. |
| 9837 | 9833 | ||
| 9838 | * xdisp.c (last_max_ascent, last_max_descent): Ascent and | 9834 | * xdisp.c (last_max_ascent, last_max_descent): Ascent and |
| 9839 | descent values of the last line processed by skip_to. | 9835 | descent values of the last line processed by skip_to. |
| 9840 | (redisplay_window): Use them. | 9836 | (redisplay_window): Use them. |
| 9841 | (skip_to): Set them. | 9837 | (skip_to): Set them. |
| @@ -9851,16 +9847,16 @@ Sun Jan 3 08:41:10 1999 Masatake Yamato <masata-y@is.aist-nara.ac.jp> | |||
| 9851 | (reseat_cursor): Ditto. | 9847 | (reseat_cursor): Ditto. |
| 9852 | (next_display_element): Ditto. | 9848 | (next_display_element): Ditto. |
| 9853 | 9849 | ||
| 9854 | Sun Aug 24 08:50:52 1997 Gerd Moellmann <gerd@acm.org> | 9850 | 1997-08-24 Gerd Moellmann <gerd@acm.org> |
| 9855 | 9851 | ||
| 9856 | * termhooks.h: Some hooks with prototypes. | 9852 | * termhooks.h: Some hooks with prototypes. |
| 9857 | 9853 | ||
| 9858 | * term.c: Some hooks with function prototypes. | 9854 | * term.c: Some hooks with function prototypes. |
| 9859 | 9855 | ||
| 9860 | * xdisp.c (reseat_cursor): Additional argument force_p. Avoid | 9856 | * xdisp.c (reseat_cursor): Additional argument force_p. Avoid |
| 9861 | computing face if possible. | 9857 | computing face if possible. |
| 9862 | 9858 | ||
| 9863 | * xdisp.c (next_display_element): Use face from glyph from display | 9859 | * xdisp.c (next_display_element): Use face from glyph from display |
| 9864 | table only if != 0. | 9860 | table only if != 0. |
| 9865 | 9861 | ||
| 9866 | * emacs.c: FreeBSD headers for profiling removed. | 9862 | * emacs.c: FreeBSD headers for profiling removed. |
| @@ -9917,7 +9913,7 @@ Sun Aug 24 08:50:52 1997 Gerd Moellmann <gerd@acm.org> | |||
| 9917 | * emacs.c (main): Remove own profiling code because 0.95 now | 9913 | * emacs.c (main): Remove own profiling code because 0.95 now |
| 9918 | has it in. | 9914 | has it in. |
| 9919 | 9915 | ||
| 9920 | Fri Aug 22 18:46:43 1997 Gerd Moellmann <gerd@acm.org> | 9916 | 1997-08-22 Gerd Moellmann <gerd@acm.org> |
| 9921 | 9917 | ||
| 9922 | * xterm.c (XTupdate_end): Draw horizontal border at right position. | 9918 | * xterm.c (XTupdate_end): Draw horizontal border at right position. |
| 9923 | (expose_window): Draw vertical border. | 9919 | (expose_window): Draw vertical border. |
| @@ -9943,8 +9939,8 @@ Fri Aug 22 18:46:43 1997 Gerd Moellmann <gerd@acm.org> | |||
| 9943 | * dispnew.c (clear_glyph_matrix): Additional argument specifiying | 9939 | * dispnew.c (clear_glyph_matrix): Additional argument specifiying |
| 9944 | that rows should really be cleared. Used for current matrices. | 9940 | that rows should really be cleared. Used for current matrices. |
| 9945 | 9941 | ||
| 9946 | * dispnew.c (scrolling_window): Bug fix. | 9942 | * dispnew.c (scrolling_window): Bug fix. |
| 9947 | (line_dance_hook): Formerly line_dance_fn, take only one parameter. | 9943 | (line_dance_hook): Formerly line_dance_fn, take only one parameter. |
| 9948 | 9944 | ||
| 9949 | * dispextern.h (struct run): Remove current_vpos. | 9945 | * dispextern.h (struct run): Remove current_vpos. |
| 9950 | 9946 | ||
| @@ -9956,7 +9952,7 @@ Fri Aug 22 18:46:43 1997 Gerd Moellmann <gerd@acm.org> | |||
| 9956 | Fix truncated_on_left_p and truncated_on_right_p to be bits. | 9952 | Fix truncated_on_left_p and truncated_on_right_p to be bits. |
| 9957 | (struct glyph_row): | 9953 | (struct glyph_row): |
| 9958 | 9954 | ||
| 9959 | Thu Aug 21 14:37:34 1997 Gerd Moellmann <gerd@acm.org> | 9955 | 1997-08-21 Gerd Moellmann <gerd@acm.org> |
| 9960 | 9956 | ||
| 9961 | * xdisp.c (skip_vertically_backward): Avoid negative vpos values | 9957 | * xdisp.c (skip_vertically_backward): Avoid negative vpos values |
| 9962 | when calling skip_to for continued lines. | 9958 | when calling skip_to for continued lines. |
| @@ -9971,7 +9967,7 @@ Thu Aug 21 14:37:34 1997 Gerd Moellmann <gerd@acm.org> | |||
| 9971 | 9967 | ||
| 9972 | * xterm.c (x_draw_row_borders): Use FRAME_MODE_LINE_HEIGHT height | 9968 | * xterm.c (x_draw_row_borders): Use FRAME_MODE_LINE_HEIGHT height |
| 9973 | value. | 9969 | value. |
| 9974 | (x_clip_to_row): Use MATRIX_ROW_VISIBLE_HEIGHT. Simplified. | 9970 | (x_clip_to_row): Use MATRIX_ROW_VISIBLE_HEIGHT. Simplified. |
| 9975 | (do_line_dance): Simplified and pixel corrected. | 9971 | (do_line_dance): Simplified and pixel corrected. |
| 9976 | 9972 | ||
| 9977 | * dispnew.c (scrolling_window): Simplified. | 9973 | * dispnew.c (scrolling_window): Simplified. |
| @@ -9981,7 +9977,7 @@ Thu Aug 21 14:37:34 1997 Gerd Moellmann <gerd@acm.org> | |||
| 9981 | * dispnew.c (update_window): Add FRAME_MODE_LINE_BORDER_WIDTH | 9977 | * dispnew.c (update_window): Add FRAME_MODE_LINE_BORDER_WIDTH |
| 9982 | to mode line row->x. | 9978 | to mode line row->x. |
| 9983 | 9979 | ||
| 9984 | Wed Aug 20 11:23:28 1997 Gerd Moellmann <gerd@acm.org> | 9980 | 1997-08-20 Gerd Moellmann <gerd@acm.org> |
| 9985 | 9981 | ||
| 9986 | * xterm.c (x_get_char_font_and_encoding): Don't let fontset | 9982 | * xterm.c (x_get_char_font_and_encoding): Don't let fontset |
| 9987 | override font of face. | 9983 | override font of face. |
| @@ -10001,7 +9997,7 @@ Wed Aug 20 11:23:28 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10001 | (merge_faces): Don't use default font if new font has different | 9997 | (merge_faces): Don't use default font if new font has different |
| 10002 | size. | 9998 | size. |
| 10003 | 9999 | ||
| 10004 | Tue Aug 19 14:38:05 1997 Gerd Moellmann <gerd@acm.org> | 10000 | 1997-08-19 Gerd Moellmann <gerd@acm.org> |
| 10005 | 10001 | ||
| 10006 | * xterm.c (x_display_and_set_cursor): Use FONT_WIDTH if width | 10002 | * xterm.c (x_display_and_set_cursor): Use FONT_WIDTH if width |
| 10007 | unknown. Some fonts have min_width zero. | 10003 | unknown. Some fonts have min_width zero. |
| @@ -10018,39 +10014,39 @@ Tue Aug 19 14:38:05 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10018 | (x_display_and_set_cursor): If cursor on padding glyph, use | 10014 | (x_display_and_set_cursor): If cursor on padding glyph, use |
| 10019 | min_bounds pixel width. | 10015 | min_bounds pixel width. |
| 10020 | 10016 | ||
| 10021 | Mon Aug 18 09:39:18 1997 Gerd Moellmann <gerd@acm.org> | 10017 | 1997-08-18 Gerd Moellmann <gerd@acm.org> |
| 10022 | 10018 | ||
| 10023 | * xterm.c (x_clip_to_row): Height value was 1 too large. | 10019 | * xterm.c (x_clip_to_row): Height value was 1 too large. |
| 10024 | (XTclear_end_of_line): Clip to display area. | 10020 | (XTclear_end_of_line): Clip to display area. |
| 10025 | 10021 | ||
| 10026 | * xfns.c (x_figure_window_sizes): Add trunc border width | 10022 | * xfns.c (x_figure_window_sizes): Add trunc border width |
| 10027 | to frame pixel width. | 10023 | to frame pixel width. |
| 10028 | 10024 | ||
| 10029 | * xdisp.c (next_display_element): Don't display overlay strings | 10025 | * xdisp.c (next_display_element): Don't display overlay strings |
| 10030 | within invisible text. | 10026 | within invisible text. |
| 10031 | (skip_vertically_backward): Skip display lines. | 10027 | (skip_vertically_backward): Skip display lines. |
| 10032 | 10028 | ||
| 10033 | Sat Aug 16 13:13:32 1997 Gerd Moellmann <gerd@acm.org> | 10029 | 1997-08-16 Gerd Moellmann <gerd@acm.org> |
| 10034 | 10030 | ||
| 10035 | * xdisp.c (x_consider_frame_titie): Don't pad with blanks. | 10031 | * xdisp.c (x_consider_frame_titie): Don't pad with blanks. |
| 10036 | 10032 | ||
| 10037 | * xdisp.c (next_display_element): Next invisible | 10033 | * xdisp.c (next_display_element): Next invisible |
| 10038 | text check position computed differently. | 10034 | text check position computed differently. |
| 10039 | 10035 | ||
| 10040 | * dispextern.h (struct display_cursor): last_invisible_text_pos | 10036 | * dispextern.h (struct display_cursor): last_invisible_text_pos |
| 10041 | and display_ellipsis_for_invisible_p removed. | 10037 | and display_ellipsis_for_invisible_p removed. |
| 10042 | 10038 | ||
| 10043 | * xdisp.c (next_display_element): Set last_invisible_text_pos | 10039 | * xdisp.c (next_display_element): Set last_invisible_text_pos |
| 10044 | to the last position at which invisible text was found. | 10040 | to the last position at which invisible text was found. |
| 10045 | Don't decrement cursor.pos for newlines and cr with ellipsis. | 10041 | Don't decrement cursor.pos for newlines and cr with ellipsis. |
| 10046 | Set dpvec for `...' due to invisible text directly. | 10042 | Set dpvec for `...' due to invisible text directly. |
| 10047 | (redisplay_internal): Don't assert that cursor is at PT after | 10043 | (redisplay_internal): Don't assert that cursor is at PT after |
| 10048 | skip_to. It may be in invisible text. | 10044 | skip_to. It may be in invisible text. |
| 10049 | 10045 | ||
| 10050 | * keyboard.c (make_lispy_event): For mouse clicks, use | 10046 | * keyboard.c (make_lispy_event): For mouse clicks, use |
| 10051 | x_y_to_hpos_vpos. | 10047 | x_y_to_hpos_vpos. |
| 10052 | 10048 | ||
| 10053 | * xdisp.c (next_display_element): Call get_overlays_for_cursor when | 10049 | * xdisp.c (next_display_element): Call get_overlays_for_cursor when |
| 10054 | next_overlay_pos is reached. Use limit cursor.pos + 100 when | 10050 | next_overlay_pos is reached. Use limit cursor.pos + 100 when |
| 10055 | checking for invisible text. | 10051 | checking for invisible text. |
| 10056 | 10052 | ||
| @@ -10058,7 +10054,7 @@ Sat Aug 16 13:13:32 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10058 | 10054 | ||
| 10059 | * dispextern.h (WINDOW_TO_FRAME_HPOS/VPOS): Moved to dispnew.c | 10055 | * dispextern.h (WINDOW_TO_FRAME_HPOS/VPOS): Moved to dispnew.c |
| 10060 | 10056 | ||
| 10061 | * xfns.c (x_contour_region): Use pixel coordinates from window | 10057 | * xfns.c (x_contour_region): Use pixel coordinates from window |
| 10062 | cursor instead of WINDOW_TO_FRAME_H/VPOS. | 10058 | cursor instead of WINDOW_TO_FRAME_H/VPOS. |
| 10063 | 10059 | ||
| 10064 | * dispextern.h (FRAME_TO_WINDOW_HPOS, FRAME_TO_WINDOW_VPOS): | 10060 | * dispextern.h (FRAME_TO_WINDOW_HPOS, FRAME_TO_WINDOW_VPOS): |
| @@ -10066,11 +10062,11 @@ Sat Aug 16 13:13:32 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10066 | 10062 | ||
| 10067 | * dispnew.c (frame_to_window_hpos, frame_to_window_vpos): Removed. | 10063 | * dispnew.c (frame_to_window_hpos, frame_to_window_vpos): Removed. |
| 10068 | 10064 | ||
| 10069 | * xterm.c (x_y_to_hpos_vpos): Get hpos/vpos from window relative | 10065 | * xterm.c (x_y_to_hpos_vpos): Get hpos/vpos from window relative |
| 10070 | pixel coordinates. | 10066 | pixel coordinates. |
| 10071 | (note_mouse_highlight): Use it. | 10067 | (note_mouse_highlight): Use it. |
| 10072 | 10068 | ||
| 10073 | * xdisp.c (echo_area_display): Ignore calls for terminal frames | 10069 | * xdisp.c (echo_area_display): Ignore calls for terminal frames |
| 10074 | under a window system. | 10070 | under a window system. |
| 10075 | 10071 | ||
| 10076 | * dispnew.c (adjust_frame_glyphs): Call redraw_frame if | 10072 | * dispnew.c (adjust_frame_glyphs): Call redraw_frame if |
| @@ -10078,7 +10074,7 @@ Sat Aug 16 13:13:32 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10078 | (update_window_line): Add width of face padding glyph to | 10074 | (update_window_line): Add width of face padding glyph to |
| 10079 | displayed widths of rows. | 10075 | displayed widths of rows. |
| 10080 | 10076 | ||
| 10081 | * xterm.c (x_display_and_set_cursor): Set clipping after | 10077 | * xterm.c (x_display_and_set_cursor): Set clipping after |
| 10082 | erasing cursor. | 10078 | erasing cursor. |
| 10083 | 10079 | ||
| 10084 | * window.c (Fset_window_configuration): Free only those | 10080 | * window.c (Fset_window_configuration): Free only those |
| @@ -10101,25 +10097,25 @@ Sat Aug 16 13:13:32 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10101 | * dispextern.h (struct display_cursor): New member string_length. | 10097 | * dispextern.h (struct display_cursor): New member string_length. |
| 10102 | 10098 | ||
| 10103 | * xdisp.c (next_display_element): Return padding spaces. | 10099 | * xdisp.c (next_display_element): Return padding spaces. |
| 10104 | (init_string_cursor): Take precision and field_width | 10100 | (init_string_cursor): Take precision and field_width. |
| 10105 | (display_string): Use string cursor, skip over invisible text. | 10101 | (display_string): Use string cursor, skip over invisible text. |
| 10106 | 10102 | ||
| 10107 | Thu Aug 14 10:41:41 1997 Gerd Moellmann <gerd@acm.org> | 10103 | 1997-08-14 Gerd Moellmann <gerd@acm.org> |
| 10108 | 10104 | ||
| 10109 | * xterm.c (x_clip_to_row): Clip to partially visible lines. | 10105 | * xterm.c (x_clip_to_row): Clip to partially visible lines. |
| 10110 | (x_display_and_set_cursor): Call it. | 10106 | (x_display_and_set_cursor): Call it. |
| 10111 | (draw_glyphs): Call it | 10107 | (draw_glyphs): Call it. |
| 10112 | (draw_bitmap): Call it. | 10108 | (draw_bitmap): Call it. |
| 10113 | 10109 | ||
| 10114 | * dispnew.c (adjust_frame_glyphs): Optimize frame garbaging. | 10110 | * dispnew.c (adjust_frame_glyphs): Optimize frame garbaging. |
| 10115 | (allocate_leaf_matrix): Return flags. | 10111 | (allocate_leaf_matrix): Return flags. |
| 10116 | (row_equal_p): Compare enabled_p. | 10112 | (row_equal_p): Compare enabled_p. |
| 10117 | 10113 | ||
| 10118 | * xterm.c (x_erase_phys_cursor): Set phys_cursor_on_p to 0 | 10114 | * xterm.c (x_erase_phys_cursor): Set phys_cursor_on_p to 0 |
| 10119 | for type == -1. | 10115 | for type == -1. |
| 10120 | 10116 | ||
| 10121 | * xterm.c (x_display_and_set_cursor): Bar cursor 1 pixel taller. | 10117 | * xterm.c (x_display_and_set_cursor): Bar cursor 1 pixel taller. |
| 10122 | (draw_glyphs): Clip height one pixel taller. | 10118 | (draw_glyphs): Clip height one pixel taller. |
| 10123 | 10119 | ||
| 10124 | * dispnew.c (direct_output_for_insert): Give up for hscrolled | 10120 | * dispnew.c (direct_output_for_insert): Give up for hscrolled |
| 10125 | mini window. | 10121 | mini window. |
| @@ -10129,7 +10125,7 @@ Thu Aug 14 10:41:41 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10129 | * xdisp.c (echo_area_display): Call update_single_window if | 10125 | * xdisp.c (echo_area_display): Call update_single_window if |
| 10130 | possible. | 10126 | possible. |
| 10131 | 10127 | ||
| 10132 | * dispnew.c (update_window_line): Call scrolling_window. | 10128 | * dispnew.c (update_window_line): Call scrolling_window. |
| 10133 | (scrolling_window): Work on enabled desired lines only. | 10129 | (scrolling_window): Work on enabled desired lines only. |
| 10134 | (update_single_window): Update a single window like update_frame | 10130 | (update_single_window): Update a single window like update_frame |
| 10135 | does for all windows. | 10131 | does for all windows. |
| @@ -10159,7 +10155,7 @@ Thu Aug 14 10:41:41 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10159 | 10155 | ||
| 10160 | * xterm.h (FRAME_X_TRUNC_WIDTH). | 10156 | * xterm.h (FRAME_X_TRUNC_WIDTH). |
| 10161 | 10157 | ||
| 10162 | * frame.h (FRAME_TRUNC_WIDTH): Width of area at the left margin | 10158 | * frame.h (FRAME_TRUNC_WIDTH): Width of area at the left margin |
| 10163 | of a window reserved for truncation mark. | 10159 | of a window reserved for truncation mark. |
| 10164 | 10160 | ||
| 10165 | * dispextern.h: Take FRAME_TRUNC_WIDTH into account. | 10161 | * dispextern.h: Take FRAME_TRUNC_WIDTH into account. |
| @@ -10210,23 +10206,23 @@ Thu Aug 14 10:41:41 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10210 | update end to prevent cursor flickering. Revert changes to | 10206 | update end to prevent cursor flickering. Revert changes to |
| 10211 | setting cursor.endpos. | 10207 | setting cursor.endpos. |
| 10212 | 10208 | ||
| 10213 | Wed Aug 13 10:46:12 1997 Gerd Moellmann <gerd@acm.org> | 10209 | 1997-08-13 Gerd Moellmann <gerd@acm.org> |
| 10214 | 10210 | ||
| 10215 | * dispnew.c (direct_output_for_insert): Don't set cursor.endpos | 10211 | * dispnew.c (direct_output_for_insert): Don't set cursor.endpos |
| 10216 | to PT because this prevents multi-byte characters from being | 10212 | to PT because this prevents multi-byte characters from being |
| 10217 | recognized. | 10213 | recognized. |
| 10218 | 10214 | ||
| 10219 | * xdisp.c (skip_to, display_line): Advance cursor at end of | 10215 | * xdisp.c (skip_to, display_line): Advance cursor at end of |
| 10220 | truncated line. | 10216 | truncated line. |
| 10221 | 10217 | ||
| 10222 | * xterm.c (x_draw_3d_borders): Use CapRound. Struct rect | 10218 | * xterm.c (x_draw_3d_borders): Use CapRound. Struct rect |
| 10223 | replaced by XRectangle. | 10219 | replaced by XRectangle. |
| 10224 | 10220 | ||
| 10225 | * dispnew.c (scrolling_window): New method. | 10221 | * dispnew.c (scrolling_window): New method. |
| 10226 | 10222 | ||
| 10227 | * xterm.c (do_line_dance): New implementation, new method. | 10223 | * xterm.c (do_line_dance): New implementation, new method. |
| 10228 | 10224 | ||
| 10229 | * xdisp.c (draw_glyphs): Draw truncation bitmaps. Clip to | 10225 | * xdisp.c (draw_glyphs): Draw truncation bitmaps. Clip to |
| 10230 | visible part of line. | 10226 | visible part of line. |
| 10231 | 10227 | ||
| 10232 | * dispnew.c (update_window_line): Fill inverse video lines | 10228 | * dispnew.c (update_window_line): Fill inverse video lines |
| @@ -10255,12 +10251,12 @@ Wed Aug 13 10:46:12 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10255 | (change_frame_size_1): Correct cursor.x if frame gets too small. | 10251 | (change_frame_size_1): Correct cursor.x if frame gets too small. |
| 10256 | (update_window_line): Start at row->x. | 10252 | (update_window_line): Start at row->x. |
| 10257 | 10253 | ||
| 10258 | * xdisp.c (redisplay_internal): Correct cursor.x (everwhere | 10254 | * xdisp.c (redisplay_internal): Correct cursor.x (everywhere |
| 10259 | in xdisp.c). | 10255 | in xdisp.c). |
| 10260 | 10256 | ||
| 10261 | * xterm.c (set_output_cursor): Use window relative X/Y. | 10257 | * xterm.c (set_output_cursor): Use window relative X/Y. |
| 10262 | (global): Use window relative output cursor x/y. | 10258 | (global): Use window relative output cursor x/y. |
| 10263 | (draw_glyphs): Remove y param. Pass window relative x/y. | 10259 | (draw_glyphs): Remove y param. Pass window relative x/y. |
| 10264 | 10260 | ||
| 10265 | * dispnew.c (update_window): Start rows at start_y. | 10261 | * dispnew.c (update_window): Start rows at start_y. |
| 10266 | (update_window): Don't try scrolling because it wouldn't work | 10262 | (update_window): Don't try scrolling because it wouldn't work |
| @@ -10269,12 +10265,12 @@ Wed Aug 13 10:46:12 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10269 | * dispextern.h (struct glyph_row): Remove shift_left_by, | 10265 | * dispextern.h (struct glyph_row): Remove shift_left_by, |
| 10270 | add x. | 10266 | add x. |
| 10271 | 10267 | ||
| 10272 | * window.h: (struct window): New member start_y. | 10268 | * window.h (struct window): New member start_y. |
| 10273 | 10269 | ||
| 10274 | * window.c (replace_window): Initialize start_y. | 10270 | * window.c (replace_window): Initialize start_y. |
| 10275 | (make_window): Ditto. | 10271 | (make_window): Ditto. |
| 10276 | 10272 | ||
| 10277 | Tue Aug 12 14:53:04 1997 Gerd Moellmann <gerd@acm.org> | 10273 | 1997-08-12 Gerd Moellmann <gerd@acm.org> |
| 10278 | 10274 | ||
| 10279 | * xterm.c (draw_glyphs): Clip rows that would paint over | 10275 | * xterm.c (draw_glyphs): Clip rows that would paint over |
| 10280 | the mode line. | 10276 | the mode line. |
| @@ -10301,7 +10297,7 @@ Tue Aug 12 14:53:04 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10301 | with window relative pixel coordinates. Use GLYPH_TO_PIXEL_- | 10297 | with window relative pixel coordinates. Use GLYPH_TO_PIXEL_- |
| 10302 | COORDS mit new arguments. | 10298 | COORDS mit new arguments. |
| 10303 | 10299 | ||
| 10304 | Mon Aug 11 12:32:34 1997 Gerd Moellmann <gerd@acm.org> | 10300 | 1997-08-11 Gerd Moellmann <gerd@acm.org> |
| 10305 | 10301 | ||
| 10306 | * xdisp.c (start_display): Use SKIP_TO instead of SKIP_IN- | 10302 | * xdisp.c (start_display): Use SKIP_TO instead of SKIP_IN- |
| 10307 | DISPLAY_LINE. | 10303 | DISPLAY_LINE. |
| @@ -10326,11 +10322,11 @@ Mon Aug 11 12:32:34 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10326 | 10322 | ||
| 10327 | * dispnew.c (direct_output_for_insert): Set updated_row. | 10323 | * dispnew.c (direct_output_for_insert): Set updated_row. |
| 10328 | 10324 | ||
| 10329 | Sat Aug 9 12:11:44 1997 Gerd Moellmann <gerd@acm.org> | 10325 | 1997-08-09 Gerd Moellmann <gerd@acm.org> |
| 10330 | 10326 | ||
| 10331 | * dispextern.h (struct glyph): Padding flag removed. | 10327 | * dispextern.h (struct glyph): Padding flag removed. |
| 10332 | 10328 | ||
| 10333 | Tue Aug 5 09:59:08 1997 Gerd Moellmann <gerd@acm.org> | 10329 | 1997-08-05 Gerd Moellmann <gerd@acm.org> |
| 10334 | 10330 | ||
| 10335 | * sysdep.c (reset_sys_modes): cursor_to with 4 params. | 10331 | * sysdep.c (reset_sys_modes): cursor_to with 4 params. |
| 10336 | 10332 | ||
| @@ -10345,7 +10341,7 @@ Tue Aug 5 09:59:08 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10345 | removed. Remove references to it everywhere. Reverse_p in | 10341 | removed. Remove references to it everywhere. Reverse_p in |
| 10346 | glyph_row -> right_to_left_p. Change references to it. | 10342 | glyph_row -> right_to_left_p. Change references to it. |
| 10347 | 10343 | ||
| 10348 | Mon Aug 4 18:09:27 1997 Gerd Moellmann <gerd@acm.org> | 10344 | 1997-08-04 Gerd Moellmann <gerd@acm.org> |
| 10349 | 10345 | ||
| 10350 | * dispnew.c (direct_output_for_insert): Use INSERT_GLYPHS. | 10346 | * dispnew.c (direct_output_for_insert): Use INSERT_GLYPHS. |
| 10351 | 10347 | ||
| @@ -10366,11 +10362,11 @@ Mon Aug 4 18:09:27 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10366 | * keyboard.c (command_loop_1): Call DIRECT_OUTPUT_FOR_INSERT | 10362 | * keyboard.c (command_loop_1): Call DIRECT_OUTPUT_FOR_INSERT |
| 10367 | for any character. | 10363 | for any character. |
| 10368 | 10364 | ||
| 10369 | Thu Jul 31 15:39:10 1997 Gerd Moellmann <gerd@acm.org> | 10365 | 1997-07-31 Gerd Moellmann <gerd@acm.org> |
| 10370 | 10366 | ||
| 10371 | * xdisp.c (echo_area_display): Use new DISPLAY_STRING. | 10367 | * xdisp.c (echo_area_display): Use new DISPLAY_STRING. |
| 10372 | 10368 | ||
| 10373 | Wed Jul 30 12:18:03 1997 Gerd Moellmann <gerd@acm.org> | 10369 | 1997-07-30 Gerd Moellmann <gerd@acm.org> |
| 10374 | 10370 | ||
| 10375 | * dispextern.h (struct glyph_row): MAX_ASCENT, MAX_DESCENT. | 10371 | * dispextern.h (struct glyph_row): MAX_ASCENT, MAX_DESCENT. |
| 10376 | (struct glyph): ASCENT, DESCENT. | 10372 | (struct glyph): ASCENT, DESCENT. |
| @@ -10384,7 +10380,7 @@ Wed Jul 30 12:18:03 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10384 | * dispextern.h (struct display_cursor): WHAT_FOUND, SOURCE_OBJECT. | 10380 | * dispextern.h (struct display_cursor): WHAT_FOUND, SOURCE_OBJECT. |
| 10385 | Renamed from CHAR_CURSOR. | 10381 | Renamed from CHAR_CURSOR. |
| 10386 | 10382 | ||
| 10387 | Tue Jul 29 12:52:40 1997 Gerd Moellmann <gerd@acm.org> | 10383 | 1997-07-29 Gerd Moellmann <gerd@acm.org> |
| 10388 | 10384 | ||
| 10389 | * xdisp.c (display_text_line): Mostly pixel oriented. | 10385 | * xdisp.c (display_text_line): Mostly pixel oriented. |
| 10390 | 10386 | ||
| @@ -10405,7 +10401,7 @@ Tue Jul 29 12:52:40 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10405 | * term.c (encode_terminal_code): Don't use GLYPH_CHAR, use | 10401 | * term.c (encode_terminal_code): Don't use GLYPH_CHAR, use |
| 10406 | FAST_GLYPH_CHAR instead because GLYPH_CHAR won't remove faces. | 10402 | FAST_GLYPH_CHAR instead because GLYPH_CHAR won't remove faces. |
| 10407 | 10403 | ||
| 10408 | Mon Jul 28 14:23:06 1997 Gerd Moellmann <gerd@acm.org> | 10404 | 1997-07-28 Gerd Moellmann <gerd@acm.org> |
| 10409 | 10405 | ||
| 10410 | * dispnew.c (init_char_info): Correct TAB_WIDTH to a reasonable | 10406 | * dispnew.c (init_char_info): Correct TAB_WIDTH to a reasonable |
| 10411 | value. | 10407 | value. |
| @@ -10418,7 +10414,7 @@ Mon Jul 28 14:23:06 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10418 | * dispextern.h (struct char_info ): GLYPH_ROW for intermediate | 10414 | * dispextern.h (struct char_info ): GLYPH_ROW for intermediate |
| 10419 | glyphs. | 10415 | glyphs. |
| 10420 | 10416 | ||
| 10421 | * dispnew.c (init_char_info): Init GLYPH_ROW to NULL. CHAR_CURSOR | 10417 | * dispnew.c (init_char_info): Init GLYPH_ROW to NULL. CHAR_CURSOR |
| 10422 | moved to xdisp.c. | 10418 | moved to xdisp.c. |
| 10423 | 10419 | ||
| 10424 | * xdisp.c (display_text_line): Use CHAR_CURSOR. | 10420 | * xdisp.c (display_text_line): Use CHAR_CURSOR. |
| @@ -10430,7 +10426,7 @@ Mon Jul 28 14:23:06 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10430 | * term.c (get_char_info): Intermediate glyph generation. | 10426 | * term.c (get_char_info): Intermediate glyph generation. |
| 10431 | (append_intermediate_glyph): Ditto. | 10427 | (append_intermediate_glyph): Ditto. |
| 10432 | 10428 | ||
| 10433 | Sun Jul 27 18:57:24 1997 Gerd Moellmann <gerd@acm.org> | 10429 | 1997-07-27 Gerd Moellmann <gerd@acm.org> |
| 10434 | 10430 | ||
| 10435 | * dispnew.c (compute_char_cursor_face): Compute the face for a | 10431 | * dispnew.c (compute_char_cursor_face): Compute the face for a |
| 10436 | CHAR_CURSOR. | 10432 | CHAR_CURSOR. |
| @@ -10440,7 +10436,7 @@ Sun Jul 27 18:57:24 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10440 | * dispextern.h (struct char_cursor): Cursor for iterating over | 10436 | * dispextern.h (struct char_cursor): Cursor for iterating over |
| 10441 | display text of CURRENT_BUFFER. | 10437 | display text of CURRENT_BUFFER. |
| 10442 | 10438 | ||
| 10443 | Sat Jul 26 13:33:03 1997 Gerd Moellmann <gerd@acm.org> | 10439 | 1997-07-26 Gerd Moellmann <gerd@acm.org> |
| 10444 | 10440 | ||
| 10445 | * term.c (get_char_info): Set MAX_PIXEL_WIDTH in CHAR_INFO. | 10441 | * term.c (get_char_info): Set MAX_PIXEL_WIDTH in CHAR_INFO. |
| 10446 | 10442 | ||
| @@ -10460,7 +10456,7 @@ Sat Jul 26 13:33:03 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10460 | encode character. | 10456 | encode character. |
| 10461 | (XTget_char_info): Get display information about a character. | 10457 | (XTget_char_info): Get display information about a character. |
| 10462 | 10458 | ||
| 10463 | Wed Jul 23 16:50:18 1997 Gerd Moellmann <gerd@acm.org> | 10459 | 1997-07-23 Gerd Moellmann <gerd@acm.org> |
| 10464 | 10460 | ||
| 10465 | * dispextern.h (WINDOW_DISPLAY_MODE_LINE_HEIGHT): Height is | 10461 | * dispextern.h (WINDOW_DISPLAY_MODE_LINE_HEIGHT): Height is |
| 10466 | zero if window is mini-window. | 10462 | zero if window is mini-window. |
| @@ -10499,7 +10495,7 @@ Wed Jul 23 16:50:18 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10499 | (WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y): Macros to get various | 10495 | (WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y): Macros to get various |
| 10500 | pixel values related to windows. | 10496 | pixel values related to windows. |
| 10501 | 10497 | ||
| 10502 | Mon Jul 21 12:22:02 1997 Gerd Moellmann <gerd@acm.org> | 10498 | 1997-07-21 Gerd Moellmann <gerd@acm.org> |
| 10503 | 10499 | ||
| 10504 | * xterm.c (XTflash): Flash last line of frame. | 10500 | * xterm.c (XTflash): Flash last line of frame. |
| 10505 | 10501 | ||
| @@ -10529,7 +10525,7 @@ Mon Jul 21 12:22:02 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10529 | 10525 | ||
| 10530 | * dispnew.c (scrolling_window): Scrolling for windows. | 10526 | * dispnew.c (scrolling_window): Scrolling for windows. |
| 10531 | 10527 | ||
| 10532 | Wed Jul 16 13:37:51 1997 Gerd Moellmann <gerd@acm.org> | 10528 | 1997-07-16 Gerd Moellmann <gerd@acm.org> |
| 10533 | 10529 | ||
| 10534 | * dispnew.c (build_frame_matrix): Work on windows with update | 10530 | * dispnew.c (build_frame_matrix): Work on windows with update |
| 10535 | flag set. | 10531 | flag set. |
| @@ -10553,7 +10549,7 @@ Wed Jul 16 13:37:51 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10553 | * dispnew.c (build_frame_matrix_from_leaf_window): Determine | 10549 | * dispnew.c (build_frame_matrix_from_leaf_window): Determine |
| 10554 | border glyph once. | 10550 | border glyph once. |
| 10555 | 10551 | ||
| 10556 | Tue Jul 15 13:58:33 1997 Gerd Moellmann <gerd@acm.org> | 10552 | 1997-07-15 Gerd Moellmann <gerd@acm.org> |
| 10557 | 10553 | ||
| 10558 | * window.c (mark_window_cursors_off): Mark all cursors in | 10554 | * window.c (mark_window_cursors_off): Mark all cursors in |
| 10559 | window tree off. | 10555 | window tree off. |
| @@ -10611,7 +10607,7 @@ Tue Jul 15 13:58:33 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10611 | (direct_output_forward_char): Ditto. | 10607 | (direct_output_forward_char): Ditto. |
| 10612 | (update_frame_1): Ditto. | 10608 | (update_frame_1): Ditto. |
| 10613 | 10609 | ||
| 10614 | Mon Jul 14 12:30:03 1997 Gerd Moellmann <gerd@acm.org> | 10610 | 1997-07-14 Gerd Moellmann <gerd@acm.org> |
| 10615 | 10611 | ||
| 10616 | * dispnew.c (updated_window): Set by UPDATE_WINDOW to the window | 10612 | * dispnew.c (updated_window): Set by UPDATE_WINDOW to the window |
| 10617 | being updated. | 10613 | being updated. |
| @@ -10671,7 +10667,7 @@ Mon Jul 14 12:30:03 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10671 | 10667 | ||
| 10672 | * window.h: LAST_POINT_X and LAST_POINT_Y removed. | 10668 | * window.h: LAST_POINT_X and LAST_POINT_Y removed. |
| 10673 | 10669 | ||
| 10674 | Sun Jul 13 14:18:24 1997 Gerd Moellmann <gerd@acm.org> | 10670 | 1997-07-13 Gerd Moellmann <gerd@acm.org> |
| 10675 | 10671 | ||
| 10676 | * xdisp.c: Bug fixes using SET_CURSOR with HPOS 0 instead | 10672 | * xdisp.c: Bug fixes using SET_CURSOR with HPOS 0 instead |
| 10677 | of FRAME_LEFT_SCROLL_BAR_WIDTH. | 10673 | of FRAME_LEFT_SCROLL_BAR_WIDTH. |
| @@ -10685,7 +10681,7 @@ Sun Jul 13 14:18:24 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10685 | (update_frame_1): Call CLEAR_DESIRED_MATRICES. | 10681 | (update_frame_1): Call CLEAR_DESIRED_MATRICES. |
| 10686 | (update_frame): Return return value from UPDATE_FRAME_1. | 10682 | (update_frame): Return return value from UPDATE_FRAME_1. |
| 10687 | 10683 | ||
| 10688 | Sat Jul 12 12:58:48 1997 Gerd Moellmann <gerd@acm.org> | 10684 | 1997-07-12 Gerd Moellmann <gerd@acm.org> |
| 10689 | 10685 | ||
| 10690 | * xdisp.c (try_window): Set WINDOW_END_VPOS with window relative | 10686 | * xdisp.c (try_window): Set WINDOW_END_VPOS with window relative |
| 10691 | LAST_TEXT_VPOS. | 10687 | LAST_TEXT_VPOS. |
| @@ -10722,7 +10718,7 @@ Sat Jul 12 12:58:48 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10722 | used counters for the current glyph row. | 10718 | used counters for the current glyph row. |
| 10723 | 10719 | ||
| 10724 | 10720 | ||
| 10725 | Fri Jul 11 13:16:50 1997 Gerd Moellmann <gerd@acm.org> | 10721 | 1997-07-11 Gerd Moellmann <gerd@acm.org> |
| 10726 | 10722 | ||
| 10727 | * lisp.h: Prototype for SCAN_BUFFER. | 10723 | * lisp.h: Prototype for SCAN_BUFFER. |
| 10728 | 10724 | ||
| @@ -10778,7 +10774,7 @@ Fri Jul 11 13:16:50 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10778 | * xdisp.c (message2_nolog): Don't fwrite NULL message If | 10774 | * xdisp.c (message2_nolog): Don't fwrite NULL message If |
| 10779 | NONINTERACTIVE. | 10775 | NONINTERACTIVE. |
| 10780 | 10776 | ||
| 10781 | Mon Jul 7 14:44:38 1997 Gerd Moellmann <gerd@acm.org> | 10777 | 1997-07-07 Gerd Moellmann <gerd@acm.org> |
| 10782 | 10778 | ||
| 10783 | * dispnew.c (init_desired_glyphs): Clear both frame matrix | 10779 | * dispnew.c (init_desired_glyphs): Clear both frame matrix |
| 10784 | and window matrices. | 10780 | and window matrices. |
| @@ -10793,10 +10789,9 @@ Mon Jul 7 14:44:38 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10793 | (display_text_line): Use window matrix. | 10789 | (display_text_line): Use window matrix. |
| 10794 | (try_window): Use window relative positions. | 10790 | (try_window): Use window relative positions. |
| 10795 | 10791 | ||
| 10796 | Sun Jul 6 17:02:26 1997 Gerd Moellmann <gerd@acm.org> | 10792 | 1997-07-06 Gerd Moellmann <gerd@acm.org> |
| 10797 | 10793 | ||
| 10798 | * dispnew.c (adjust_frame_glyphs): Allocate window matrices from | 10794 | * dispnew.c (adjust_frame_glyphs): Allocate window matrices from (0, 0). |
| 10799 | (0, 0). | ||
| 10800 | (allocate_leaf_matrix): Add FRAME_MENU_BAR_LINES to the height of | 10795 | (allocate_leaf_matrix): Add FRAME_MENU_BAR_LINES to the height of |
| 10801 | top-most windows. | 10796 | top-most windows. |
| 10802 | 10797 | ||
| @@ -10824,7 +10819,7 @@ Sun Jul 6 17:02:26 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10824 | matrices. | 10819 | matrices. |
| 10825 | (clear_glyph_row): Only reset used counters and flags. | 10820 | (clear_glyph_row): Only reset used counters and flags. |
| 10826 | 10821 | ||
| 10827 | Sat Jul 5 14:55:44 1997 Gerd Moellmann <gerd@acm.org> | 10822 | 1997-07-05 Gerd Moellmann <gerd@acm.org> |
| 10828 | 10823 | ||
| 10829 | * dispnew.c (scroll_frame_lines): Don't assume first scolled | 10824 | * dispnew.c (scroll_frame_lines): Don't assume first scolled |
| 10830 | line is non-empty. | 10825 | line is non-empty. |
| @@ -10866,7 +10861,7 @@ Sat Jul 5 14:55:44 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10866 | (mirror_make_current): Make window desired matrix row current when | 10861 | (mirror_make_current): Make window desired matrix row current when |
| 10867 | frame matrix row was made current. | 10862 | frame matrix row was made current. |
| 10868 | 10863 | ||
| 10869 | Fri Jul 4 13:27:46 1997 Gerd Moellmann <gerd@acm.org> | 10864 | 1997-07-04 Gerd Moellmann <gerd@acm.org> |
| 10870 | 10865 | ||
| 10871 | * dispnew.c (check_matrix_pointer_lossage): Check against | 10866 | * dispnew.c (check_matrix_pointer_lossage): Check against |
| 10872 | pointer lossage in matrices. | 10867 | pointer lossage in matrices. |
| @@ -10883,7 +10878,7 @@ Fri Jul 4 13:27:46 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10883 | (rotate_pointers): Removed. | 10878 | (rotate_pointers): Removed. |
| 10884 | (scroll_frame_lines): Simplified. | 10879 | (scroll_frame_lines): Simplified. |
| 10885 | 10880 | ||
| 10886 | Thu Jul 3 13:54:21 1997 Gerd Moellmann <gerd@acm.org> | 10881 | 1997-07-03 Gerd Moellmann <gerd@acm.org> |
| 10887 | 10882 | ||
| 10888 | * dispextern.h (MATRIX_ROW_SWAP_CONTENTS): Removed. | 10883 | * dispextern.h (MATRIX_ROW_SWAP_CONTENTS): Removed. |
| 10889 | 10884 | ||
| @@ -10895,7 +10890,7 @@ Thu Jul 3 13:54:21 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10895 | for window matrices. | 10890 | for window matrices. |
| 10896 | (update_line): Call make_matrix_row_current. | 10891 | (update_line): Call make_matrix_row_current. |
| 10897 | 10892 | ||
| 10898 | Wed Jul 2 13:43:35 1997 Gerd Moellmann <gerd@acm.org> | 10893 | 1997-07-02 Gerd Moellmann <gerd@acm.org> |
| 10899 | 10894 | ||
| 10900 | * dispextern.h (SET_MATRIX_ROW_ENABLED_P): Better macro name. | 10895 | * dispextern.h (SET_MATRIX_ROW_ENABLED_P): Better macro name. |
| 10901 | (SET_MATRIX_ROW_INVERSE_P): Better name and HIGHLIGHT_P -> | 10896 | (SET_MATRIX_ROW_INVERSE_P): Better name and HIGHLIGHT_P -> |
| @@ -10920,7 +10915,7 @@ Wed Jul 2 13:43:35 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10920 | (fill_up_glyph_row_areas_with_spaces): Fill up areas with | 10915 | (fill_up_glyph_row_areas_with_spaces): Fill up areas with |
| 10921 | spaces. | 10916 | spaces. |
| 10922 | 10917 | ||
| 10923 | Tue Jul 1 13:49:55 1997 Gerd Moellmann <gerd@acm.org> | 10918 | 1997-07-01 Gerd Moellmann <gerd@acm.org> |
| 10924 | 10919 | ||
| 10925 | * xterm.c (dumprectangle): Use vectors in glyph rows. | 10920 | * xterm.c (dumprectangle): Use vectors in glyph rows. |
| 10926 | 10921 | ||
| @@ -10954,10 +10949,10 @@ Tue Jul 1 13:49:55 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10954 | 10949 | ||
| 10955 | * dispnew.c (line_hash_code): Simplified. | 10950 | * dispnew.c (line_hash_code): Simplified. |
| 10956 | 10951 | ||
| 10957 | Mon Jun 30 20:39:38 1997 Gerd Moellmann <gerd@acm.org> | 10952 | 1997-06-30 Gerd Moellmann <gerd@acm.org> |
| 10958 | 10953 | ||
| 10959 | * dispnew.c: Prototype for ROTATE_VECTOR, ROTATE_POINTERS, | 10954 | * dispnew.c: Prototype for ROTATE_VECTOR, ROTATE_POINTERS, |
| 10960 | CHANGE_FRAME_SIZE_1 | 10955 | CHANGE_FRAME_SIZE_1. |
| 10961 | (preserve_other_columns): Void return. | 10956 | (preserve_other_columns): Void return. |
| 10962 | (cancel_my_columns): Void return type. | 10957 | (cancel_my_columns): Void return type. |
| 10963 | (scrolling): Int return type. | 10958 | (scrolling): Int return type. |
| @@ -10979,7 +10974,7 @@ Mon Jun 30 20:39:38 1997 Gerd Moellmann <gerd@acm.org> | |||
| 10979 | * dispnew.c (redraw_frame): FRAME_PTR -> struct frame. Return | 10974 | * dispnew.c (redraw_frame): FRAME_PTR -> struct frame. Return |
| 10980 | void. | 10975 | void. |
| 10981 | (cancel_line): Return void. | 10976 | (cancel_line): Return void. |
| 10982 | (clear_frame_records): Return void. | 10977 | (clear_frame_records): Return void. |
| 10983 | 10978 | ||
| 10984 | * dispextern.h (struct glyph): Remove GLYPH, add bit-fields. | 10979 | * dispextern.h (struct glyph): Remove GLYPH, add bit-fields. |
| 10985 | (SET_CHAR_GLYPH): Fill a character glyph. | 10980 | (SET_CHAR_GLYPH): Fill a character glyph. |
| @@ -11004,14 +10999,14 @@ Mon Jun 30 20:39:38 1997 Gerd Moellmann <gerd@acm.org> | |||
| 11004 | * alloc.c (mark_object): Change window mark code to stop with | 10999 | * alloc.c (mark_object): Change window mark code to stop with |
| 11005 | member CURRENT_MATRIX. | 11000 | member CURRENT_MATRIX. |
| 11006 | 11001 | ||
| 11007 | Sat Jun 28 13:54:55 1997 Gerd Moellmann <gerd@acm.org> | 11002 | 1997-06-28 Gerd Moellmann <gerd@acm.org> |
| 11008 | 11003 | ||
| 11009 | * scroll.c (do_scrolling): Change algorithm to use pointers. | 11004 | * scroll.c (do_scrolling): Change algorithm to use pointers. |
| 11010 | (do_direct_scrolling): Ditto. | 11005 | (do_direct_scrolling): Ditto. |
| 11011 | 11006 | ||
| 11012 | * dispnew.c (get_glyph_matrix_row): Use pointers stored in rows. | 11007 | * dispnew.c (get_glyph_matrix_row): Use pointers stored in rows. |
| 11013 | (new_glyph_pool): Formerly new_FRAME_GLYPH_MATRIX. | 11008 | (new_glyph_pool): Formerly new_FRAME_GLYPH_MATRIX. |
| 11014 | (free_glyph_pool): Formerly FREE_FRAME_GLYPH_MATRIX | 11009 | (free_glyph_pool): Formerly FREE_FRAME_GLYPH_MATRIX. |
| 11015 | (realloc_glyph_pool): Formerly REALLOC_FRAME_GLYPH_MATRIX. | 11010 | (realloc_glyph_pool): Formerly REALLOC_FRAME_GLYPH_MATRIX. |
| 11016 | Returns 1 if pool changed. | 11011 | Returns 1 if pool changed. |
| 11017 | (matrix_row): Additional check for lost pointers to glyph rows. | 11012 | (matrix_row): Additional check for lost pointers to glyph rows. |
| @@ -11033,7 +11028,7 @@ Sat Jun 28 13:54:55 1997 Gerd Moellmann <gerd@acm.org> | |||
| 11033 | (global): All macro names changed from prefix FRAME_MATRIX to | 11028 | (global): All macro names changed from prefix FRAME_MATRIX to |
| 11034 | MATRIX. | 11029 | MATRIX. |
| 11035 | 11030 | ||
| 11036 | Fri Jun 27 14:51:15 1997 Gerd Moellmann <gerd@acm.org> | 11031 | 1997-06-27 Gerd Moellmann <gerd@acm.org> |
| 11037 | 11032 | ||
| 11038 | * dispextern.h (struct glyph_pool): Replacement for former | 11033 | * dispextern.h (struct glyph_pool): Replacement for former |
| 11039 | FRAME_GLYPH_MATRIX. | 11034 | FRAME_GLYPH_MATRIX. |
| @@ -11045,7 +11040,7 @@ Fri Jun 27 14:51:15 1997 Gerd Moellmann <gerd@acm.org> | |||
| 11045 | 11040 | ||
| 11046 | * frame.c (make_frame): Initialize pools. | 11041 | * frame.c (make_frame): Initialize pools. |
| 11047 | 11042 | ||
| 11048 | Thu Jun 26 00:00:55 1997 Gerd Moellmann <gerd@acm.org> | 11043 | 1997-06-26 Gerd Moellmann <gerd@acm.org> |
| 11049 | 11044 | ||
| 11050 | * scroll.c (do_direct_scrolling): Don't assume that the | 11045 | * scroll.c (do_direct_scrolling): Don't assume that the |
| 11051 | line moving algorithm has no intermediate steps. | 11046 | line moving algorithm has no intermediate steps. |
| @@ -11063,14 +11058,14 @@ Thu Jun 26 00:00:55 1997 Gerd Moellmann <gerd@acm.org> | |||
| 11063 | * alloc.c (mark_object): Mark windows specially. | 11058 | * alloc.c (mark_object): Mark windows specially. |
| 11064 | 11059 | ||
| 11065 | 11060 | ||
| 11066 | Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | 11061 | 1997-06-25 Gerd Moellmann <gerd@acm.org> |
| 11067 | 11062 | ||
| 11068 | * dispextern.h (struct glyph): Add member OBJECT | 11063 | * dispextern.h (struct glyph): Add member OBJECT |
| 11069 | referencing a Lisp object from which a glyph was drawn. | 11064 | referencing a Lisp object from which a glyph was drawn. |
| 11070 | Member TEXT_POSITION renamed POSITION. | 11065 | Member TEXT_POSITION renamed POSITION. |
| 11071 | * xterm.c, xdisp.c, dispnew.c: Rename TEXT_POSITION -> POSITION. | 11066 | * xterm.c, xdisp.c, dispnew.c: Rename TEXT_POSITION -> POSITION. |
| 11072 | 11067 | ||
| 11073 | * alloc.c: Include dispextern.h | 11068 | * alloc.c: Include dispextern.h. |
| 11074 | (mark_object): Mark objects referenced from glyphs. | 11069 | (mark_object): Mark objects referenced from glyphs. |
| 11075 | 11070 | ||
| 11076 | * frame.c (make_frame): Initialize DECODE_MODE_SPEC_BUFFER. | 11071 | * frame.c (make_frame): Initialize DECODE_MODE_SPEC_BUFFER. |
| @@ -11154,11 +11149,11 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 11154 | * dispnew.c (direct_output_forward_char): Old glyph functions | 11149 | * dispnew.c (direct_output_forward_char): Old glyph functions |
| 11155 | removed, new inserted. | 11150 | removed, new inserted. |
| 11156 | (line_hash_code): Use new glyphs. | 11151 | (line_hash_code): Use new glyphs. |
| 11157 | (line_draw_cost): Ditto | 11152 | (line_draw_cost): Ditto. |
| 11158 | (cancel_line): Ditto | 11153 | (cancel_line): Ditto. |
| 11159 | (clear_frame_records): Ditto. | 11154 | (clear_frame_records): Ditto. |
| 11160 | (init_desired_glyphs): Ditto. | 11155 | (init_desired_glyphs): Ditto. |
| 11161 | (get_display_line): Ditto | 11156 | (get_display_line): Ditto. |
| 11162 | (scroll_frame_lines): Ditto. | 11157 | (scroll_frame_lines): Ditto. |
| 11163 | (preserve_other_columns): Ditto. | 11158 | (preserve_other_columns): Ditto. |
| 11164 | (adjust_window_charstarts): Ditto. | 11159 | (adjust_window_charstarts): Ditto. |
| @@ -11302,7 +11297,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 11302 | 11297 | ||
| 11303 | 1999-06-22 Ken'ichi Handa <handa@gnu.org> | 11298 | 1999-06-22 Ken'ichi Handa <handa@gnu.org> |
| 11304 | 11299 | ||
| 11305 | * fileio.c: (Finsert_file_contents): In the case of REPLACE, call | 11300 | * fileio.c (Finsert_file_contents): In the case of REPLACE, call |
| 11306 | del_range_byte instead of del_range_1, set `inserted' to the | 11301 | del_range_byte instead of del_range_1, set `inserted' to the |
| 11307 | number of characters actually inserted. | 11302 | number of characters actually inserted. |
| 11308 | 11303 | ||
| @@ -11348,7 +11343,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 11348 | 11343 | ||
| 11349 | 1999-06-14 Tak Ota <ota@atc.sel.sony.com> | 11344 | 1999-06-14 Tak Ota <ota@atc.sel.sony.com> |
| 11350 | 11345 | ||
| 11351 | * w32bdf.c: (clear_cached_bitmap_slots): Remove. | 11346 | * w32bdf.c (clear_cached_bitmap_slots): Remove. |
| 11352 | (get_bitmap_with_cache): Check if CreateBitmap failed. | 11347 | (get_bitmap_with_cache): Check if CreateBitmap failed. |
| 11353 | Adjust cache size dynamically so cache is never larger than the | 11348 | Adjust cache size dynamically so cache is never larger than the |
| 11354 | system limit of GDI resources. | 11349 | system limit of GDI resources. |
| @@ -11366,7 +11361,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 11366 | 11361 | ||
| 11367 | 1999-06-11 Jason Rumney <jasonr@altavista.net> | 11362 | 1999-06-11 Jason Rumney <jasonr@altavista.net> |
| 11368 | 11363 | ||
| 11369 | * w32term.c (cancel_mouse_face): New function. See equiv | 11364 | * w32term.c (cancel_mouse_face): New function. See equiv |
| 11370 | changes to xterm.c on 1996-10-31. | 11365 | changes to xterm.c on 1996-10-31. |
| 11371 | (x_set_window_size): Use cancel_mouse_face. | 11366 | (x_set_window_size): Use cancel_mouse_face. |
| 11372 | (w32_read_socket): Use cancel_mouse_face. | 11367 | (w32_read_socket): Use cancel_mouse_face. |
| @@ -11606,11 +11601,11 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 11606 | 11601 | ||
| 11607 | 1999-05-02 Jason Rumney <jasonr@altavista.net> | 11602 | 1999-05-02 Jason Rumney <jasonr@altavista.net> |
| 11608 | 11603 | ||
| 11609 | * w32term.c (w32_write_glyphs, w32_clear_end_of_line, | 11604 | * w32term.c (w32_write_glyphs, w32_clear_end_of_line) |
| 11610 | w32_clear_frame, clear_cursor, x_display_bar_cursor, | 11605 | (w32_clear_frame, clear_cursor, x_display_bar_cursor) |
| 11611 | x_display_box_cursor, x_set_window_size): Use phys_cursor_on | 11606 | (x_display_box_cursor, x_set_window_size): Use phys_cursor_on |
| 11612 | field in frame. | 11607 | field in frame. |
| 11613 | (do_line_dance): Updated WRT xterm.c. Use macros where possible. | 11608 | (do_line_dance): Updated WRT xterm.c. Use macros where possible. |
| 11614 | (dumprectangle): Take into account the width of a left-side | 11609 | (dumprectangle): Take into account the width of a left-side |
| 11615 | scroll bar. | 11610 | scroll bar. |
| 11616 | 11611 | ||
| @@ -11856,7 +11851,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 11856 | * w32fns.c (w32_strict_fontnames): New variable. | 11851 | * w32fns.c (w32_strict_fontnames): New variable. |
| 11857 | (Fx_create_frame): Formatting fix. | 11852 | (Fx_create_frame): Formatting fix. |
| 11858 | (w32_load_system_font): Keep trying to load non-existant font | 11853 | (w32_load_system_font): Keep trying to load non-existant font |
| 11859 | if w32_strict_fontnames is nil. Formatting fix. | 11854 | if w32_strict_fontnames is nil. Formatting fix. |
| 11860 | (syms_of_w32fns): Add w32-strict-fontnames. | 11855 | (syms_of_w32fns): Add w32-strict-fontnames. |
| 11861 | 11856 | ||
| 11862 | * w32term.c (W32_TEXTOUT): Do not multiply nchars by charset_dim. | 11857 | * w32term.c (W32_TEXTOUT): Do not multiply nchars by charset_dim. |
| @@ -11895,8 +11890,8 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 11895 | 11890 | ||
| 11896 | 1999-03-06 Kenichi Handa <handa@etl.go.jp> | 11891 | 1999-03-06 Kenichi Handa <handa@etl.go.jp> |
| 11897 | 11892 | ||
| 11898 | * Makefile.in (callproc.o, coding.o, fileio.o, msdos.o, process.o, | 11893 | * Makefile.in (callproc.o, coding.o, fileio.o, msdos.o, process.o) |
| 11899 | term.o, xselect.o): Depend on ccl.h. | 11894 | (term.o, xselect.o): Depend on ccl.h. |
| 11900 | 11895 | ||
| 11901 | 1999-03-05 Geoff Voelker <voelker@cs.washington.edu> | 11896 | 1999-03-05 Geoff Voelker <voelker@cs.washington.edu> |
| 11902 | 11897 | ||
| @@ -12013,7 +12008,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12013 | 12008 | ||
| 12014 | 1999-02-21 Eli Zaretskii <eliz@delysid.gnu.org> | 12009 | 1999-02-21 Eli Zaretskii <eliz@delysid.gnu.org> |
| 12015 | 12010 | ||
| 12016 | * fileio.c: (lstat) [!S_ISLNK]: Use stat instead of lstat. | 12011 | * fileio.c (lstat) [!S_ISLNK]: Use stat instead of lstat. |
| 12017 | 12012 | ||
| 12018 | 1999-02-21 Richard Stallman <rms@gnu.org> | 12013 | 1999-02-21 Richard Stallman <rms@gnu.org> |
| 12019 | 12014 | ||
| @@ -12035,7 +12030,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12035 | data is included, to enable profiling. | 12030 | data is included, to enable profiling. |
| 12036 | ($(EMACS)): Map file not needed for emacs.exe. | 12031 | ($(EMACS)): Map file not needed for emacs.exe. |
| 12037 | 12032 | ||
| 12038 | * emacs.c (main): [!SYSTEM_MALLOC]: Call realloc and free as well | 12033 | * emacs.c (main) [!SYSTEM_MALLOC]: Call realloc and free as well |
| 12039 | as malloc before calling uninterrupt_malloc, for consistency. | 12034 | as malloc before calling uninterrupt_malloc, for consistency. |
| 12040 | This also enables profiling to work on WINDOWSNT. | 12035 | This also enables profiling to work on WINDOWSNT. |
| 12041 | 12036 | ||
| @@ -12051,9 +12046,9 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12051 | 12046 | ||
| 12052 | 1999-02-17 Richard Stallman <rms@gnu.org> | 12047 | 1999-02-17 Richard Stallman <rms@gnu.org> |
| 12053 | 12048 | ||
| 12054 | * insdel.c (adjust_markers_for_replace): When doing an insertion | 12049 | * insdel.c (adjust_markers_for_replace): When doing an |
| 12055 | (replacing a region of zero length), handle markers at the | 12050 | insertion (replacing a region of zero length), handle markers |
| 12056 | insertion point properly. | 12051 | at the insertion point properly. |
| 12057 | 12052 | ||
| 12058 | 1999-02-17 Andrew Innes <andrewi@gnu.org> | 12053 | 1999-02-17 Andrew Innes <andrewi@gnu.org> |
| 12059 | 12054 | ||
| @@ -12201,7 +12196,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12201 | 12196 | ||
| 12202 | 1999-01-31 Andrew Innes <andrewi@gnu.org> | 12197 | 1999-01-31 Andrew Innes <andrewi@gnu.org> |
| 12203 | 12198 | ||
| 12204 | * unexw32.c: (ROUND_UP_DST_AND_ZERO): New macro. | 12199 | * unexw32.c (ROUND_UP_DST_AND_ZERO): New macro. |
| 12205 | (copy_executable_and_dump_data): Use it to ensure alignment slop | 12200 | (copy_executable_and_dump_data): Use it to ensure alignment slop |
| 12206 | is zeroed. | 12201 | is zeroed. |
| 12207 | 12202 | ||
| @@ -12354,7 +12349,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12354 | * w32fns.c (x_to_w32_charset): Add iso8859-9. | 12349 | * w32fns.c (x_to_w32_charset): Add iso8859-9. |
| 12355 | (w32_to_x_charset): Fix charset mappings. | 12350 | (w32_to_x_charset): Fix charset mappings. |
| 12356 | 12351 | ||
| 12357 | * w32term.c: Remove codepage macros. Remove redundant BIG5 macros. | 12352 | * w32term.c: Remove codepage macros. Remove redundant BIG5 macros. |
| 12358 | (dumpglyphs): Move definitions out of block containing goto. | 12353 | (dumpglyphs): Move definitions out of block containing goto. |
| 12359 | Remove redundant code for BIG5. | 12354 | Remove redundant code for BIG5. |
| 12360 | Use w32_codepage_for_font instead of | 12355 | Use w32_codepage_for_font instead of |
| @@ -12374,11 +12369,11 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12374 | 12369 | ||
| 12375 | 1999-01-17 Andrew Innes <andrewi@gnu.org> | 12370 | 1999-01-17 Andrew Innes <andrewi@gnu.org> |
| 12376 | 12371 | ||
| 12377 | * w32proc.c: (w32_executable_type): Relax the check to identify | 12372 | * w32proc.c (w32_executable_type): Relax the check to identify |
| 12378 | cygwin-compiled applications, because the exact dll name varies | 12373 | cygwin-compiled applications, because the exact dll name varies |
| 12379 | with release. Now only require the name to start "cygwin". | 12374 | with release. Now only require the name to start "cygwin". |
| 12380 | 12375 | ||
| 12381 | * w32heap.h: (ROUND_UP): | 12376 | * w32heap.h (ROUND_UP): |
| 12382 | (ROUND_DOWN): New macros. | 12377 | (ROUND_DOWN): New macros. |
| 12383 | (need_to_recreate_heap): Renamed to using_dynamic_heap. | 12378 | (need_to_recreate_heap): Renamed to using_dynamic_heap. |
| 12384 | (init_heap): New extern. | 12379 | (init_heap): New extern. |
| @@ -12390,7 +12385,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12390 | (w32_fatal_reload_error): | 12385 | (w32_fatal_reload_error): |
| 12391 | (get_section_size): Obsolete externs removed. | 12386 | (get_section_size): Obsolete externs removed. |
| 12392 | 12387 | ||
| 12393 | * w32heap.c: (RVA_TO_PTR): Redefine to convert RVA to address in | 12388 | * w32heap.c (RVA_TO_PTR): Redefine to convert RVA to address in |
| 12394 | current process. | 12389 | current process. |
| 12395 | (round_to_next): Obsolete function removed. | 12390 | (round_to_next): Obsolete function removed. |
| 12396 | (preload_heap_section): New variable. | 12391 | (preload_heap_section): New variable. |
| @@ -12456,10 +12451,10 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12456 | (unexec): Rounds off preload heap to nearest page rather than | 12451 | (unexec): Rounds off preload heap to nearest page rather than |
| 12457 | virtual allocation unit. Modified to match other changes. | 12452 | virtual allocation unit. Modified to match other changes. |
| 12458 | 12453 | ||
| 12459 | * mem-limits.h: (get_lim_data): Use reserved_heap_size instead of | 12454 | * mem-limits.h (get_lim_data): Use reserved_heap_size instead of |
| 12460 | data_region_size. | 12455 | data_region_size. |
| 12461 | 12456 | ||
| 12462 | * makefile.nt: (TEMACS_TMP): New macro. | 12457 | * makefile.nt (TEMACS_TMP): New macro. |
| 12463 | ($(TEMACS)): Output to TEMACS_TMP from link, use post-link | 12458 | ($(TEMACS)): Output to TEMACS_TMP from link, use post-link |
| 12464 | processor to add static heap section in support of new unexec. | 12459 | processor to add static heap section in support of new unexec. |
| 12465 | 12460 | ||
| @@ -12521,7 +12516,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12521 | character. Don't allow to put binary data into the clipboard. | 12516 | character. Don't allow to put binary data into the clipboard. |
| 12522 | Return zero in case of success, 1 or 2 otherwise. | 12517 | Return zero in case of success, 1 or 2 otherwise. |
| 12523 | (get_clipboard_data): Only bail out if the null character is in | 12518 | (get_clipboard_data): Only bail out if the null character is in |
| 12524 | the last 32-byte chunk of clipboard data | 12519 | the last 32-byte chunk of clipboard data. |
| 12525 | (Fw16_set_clipboard_data): Make ok and put_status be unsigned. If | 12520 | (Fw16_set_clipboard_data): Make ok and put_status be unsigned. If |
| 12526 | they save binary data, print a message in the echo area saying the | 12521 | they save binary data, print a message in the echo area saying the |
| 12527 | text was not put into the clipboard. | 12522 | text was not put into the clipboard. |
| @@ -12568,7 +12563,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12568 | (init_intervals, make_interval): Set a count variable. | 12563 | (init_intervals, make_interval): Set a count variable. |
| 12569 | Use lisp_malloc instead of setting allocating_for_lisp. | 12564 | Use lisp_malloc instead of setting allocating_for_lisp. |
| 12570 | (init_float, make_float, init_cons, Fcons): Likewise. | 12565 | (init_float, make_float, init_cons, Fcons): Likewise. |
| 12571 | (allocate_vectorlike, init_symbol, Fmake_symbol): Likewise | 12566 | (allocate_vectorlike, init_symbol, Fmake_symbol): Likewise. |
| 12572 | (init_marker, allocate_misc, init_strings): Likewise. | 12567 | (init_marker, allocate_misc, init_strings): Likewise. |
| 12573 | (make_uninit_multibyte_string): Likewise. | 12568 | (make_uninit_multibyte_string): Likewise. |
| 12574 | (gc_sweep, compact_strings): Decrement the count variables. | 12569 | (gc_sweep, compact_strings): Decrement the count variables. |
| @@ -12602,7 +12597,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12602 | * w32term.c (x_iconify_frame): Wait for frame to be iconified; do | 12597 | * w32term.c (x_iconify_frame): Wait for frame to be iconified; do |
| 12603 | not set async_iconified flag though. | 12598 | not set async_iconified flag though. |
| 12604 | 12599 | ||
| 12605 | * w32proc.c: (Vw32_start_process_inherit_error_mode): New variable. | 12600 | * w32proc.c (Vw32_start_process_inherit_error_mode): New variable. |
| 12606 | (create_child): Use it. | 12601 | (create_child): Use it. |
| 12607 | (syms_of_ntproc): Defvar it. Also fix docstrings for | 12602 | (syms_of_ntproc): Defvar it. Also fix docstrings for |
| 12608 | w32-start-process-share-console and w32-start-process-show-window. | 12603 | w32-start-process-share-console and w32-start-process-show-window. |
| @@ -12951,7 +12946,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12951 | 12946 | ||
| 12952 | 1998-11-16 Kenichi Handa <handa@etl.go.jp> | 12947 | 1998-11-16 Kenichi Handa <handa@etl.go.jp> |
| 12953 | 12948 | ||
| 12954 | * Makefile.in (abbrev.o): Depend on charset.h | 12949 | * Makefile.in (abbrev.o): Depend on charset.h. |
| 12955 | (bytecode.o): Depend on charset.h. | 12950 | (bytecode.o): Depend on charset.h. |
| 12956 | 12951 | ||
| 12957 | * bytecode.c: Include charset.h. | 12952 | * bytecode.c: Include charset.h. |
| @@ -12979,8 +12974,8 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 12979 | 1998-11-11 Eli Zaretskii <eliz@delysid.gnu.org> | 12974 | 1998-11-11 Eli Zaretskii <eliz@delysid.gnu.org> |
| 12980 | 12975 | ||
| 12981 | * fns.c (MAX_ALLOCA): New macro. | 12976 | * fns.c (MAX_ALLOCA): New macro. |
| 12982 | (Fbase64_encode_region, Fbase64_encode_string, | 12977 | (Fbase64_encode_region, Fbase64_encode_string) |
| 12983 | Fbase64_decode_region, Fbase64_decode_string): Don't allocate | 12978 | (Fbase64_decode_region, Fbase64_decode_string): Don't allocate |
| 12984 | more than MAX_ALLOCA bytes with alloca; otherwise use xmalloc. | 12979 | more than MAX_ALLOCA bytes with alloca; otherwise use xmalloc. |
| 12985 | 12980 | ||
| 12986 | 1998-11-11 Ken'ichi Handa <handa@delysid.gnu.org> | 12981 | 1998-11-11 Ken'ichi Handa <handa@delysid.gnu.org> |
| @@ -13418,21 +13413,21 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 13418 | * makefile.nt (w32fns.c): Add x-list-font.c to dependancies. | 13413 | * makefile.nt (w32fns.c): Add x-list-font.c to dependancies. |
| 13419 | 13414 | ||
| 13420 | * w32faces.c: Update comments referring to obsolete structs. | 13415 | * w32faces.c: Update comments referring to obsolete structs. |
| 13421 | (allocate_face, copy_face, face_eql, load_font, | 13416 | (allocate_face, copy_face, face_eql, load_font) |
| 13422 | Fpixmap_spec_p, free_frame_faces, new_computed_face, | 13417 | (Fpixmap_spec_p, free_frame_faces, new_computed_face) |
| 13423 | frame_update_line_height, merge_faces, compute_base_face, | 13418 | (frame_update_line_height, merge_faces, compute_base_face) |
| 13424 | Fset_face_attribute_internal): Use fontset support based on xfaces.c. | 13419 | (Fset_face_attribute_internal): Use fontset support based on xfaces.c. |
| 13425 | 13420 | ||
| 13426 | * w32fns.c: (Vx_pixel_size_width): New global variable. | 13421 | * w32fns.c (Vx_pixel_size_width): New global variable. |
| 13427 | (unibyte_display_via_language_environment): New global variable. | 13422 | (unibyte_display_via_language_environment): New global variable. |
| 13428 | (x_set_font): Add support for setting fontsets. | 13423 | (x_set_font): Add support for setting fontsets. |
| 13429 | (Fx_create_frame): Add check_w32(). Initialize fontsets. Fix | 13424 | (Fx_create_frame): Add check_w32(). Initialize fontsets. Fix |
| 13430 | font names to match xlfd-tight-regexp. | 13425 | font names to match xlfd-tight-regexp. |
| 13431 | (w32_load_font): Rewrite based on x_load_font. | 13426 | (w32_load_font): Rewrite based on x_load_font. |
| 13432 | (x_to_w32_charset, w32_to_x_charset): Add character sets. Use | 13427 | (x_to_w32_charset, w32_to_x_charset): Add character sets. Use |
| 13433 | `iso8859-1' rather than `ansi'. | 13428 | `iso8859-1' rather than `ansi'. |
| 13434 | (w32_to_x_font): Remove `-' from font name. Remove the `-' off the | 13429 | (w32_to_x_font): Remove `-' from font name. Remove the `-' off the |
| 13435 | end. Move charset into `charset registry' field. | 13430 | end. Move charset into `charset registry' field. |
| 13436 | (enum_font_cb2): Check charsets match. Include width in font list. | 13431 | (enum_font_cb2): Check charsets match. Include width in font list. |
| 13437 | (w32_list_fonts): Rewrite based on x_list_fonts. | 13432 | (w32_list_fonts): Rewrite based on x_list_fonts. |
| 13438 | Moved from w32term.c to have access to enumfont_t struct. | 13433 | Moved from w32term.c to have access to enumfont_t struct. |
| @@ -13455,8 +13450,8 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 13455 | (syms_of_w32term): Add w32-no-unicode-output flag. | 13450 | (syms_of_w32term): Add w32-no-unicode-output flag. |
| 13456 | 13451 | ||
| 13457 | * w32term.h: Remove redundant font_info struct definition. | 13452 | * w32term.h: Remove redundant font_info struct definition. |
| 13458 | (Vx_pixel_size_width_font_regexp, | 13453 | (Vx_pixel_size_width_font_regexp) |
| 13459 | unibyte_display_via_language_environment): Declare variables. | 13454 | (unibyte_display_via_language_environment): Declare variables. |
| 13460 | (w32_list_fonts, w32_get_font_info, w32_query_font, w32_load_font): | 13455 | (w32_list_fonts, w32_get_font_info, w32_query_font, w32_load_font): |
| 13461 | Declare functions. | 13456 | Declare functions. |
| 13462 | (w32_output): New fields font_baseline and fontset. | 13457 | (w32_output): New fields font_baseline and fontset. |
| @@ -13819,8 +13814,8 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 13819 | 13814 | ||
| 13820 | 1998-09-06 Lars Magne Ingebrigtsen <larsi@gnus.org> | 13815 | 1998-09-06 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 13821 | 13816 | ||
| 13822 | * fns.c (Fbase64_decode_string, Fbase64_encode_string, | 13817 | * fns.c (Fbase64_decode_string, Fbase64_encode_string) |
| 13823 | base64_decode_1, Fbase64_decode_region, Fbase64_encode_region): | 13818 | (base64_decode_1, Fbase64_decode_region, Fbase64_encode_region): |
| 13824 | New functions. | 13819 | New functions. |
| 13825 | 13820 | ||
| 13826 | 1998-09-06 Richard Stallman <rms@gnu.org> | 13821 | 1998-09-06 Richard Stallman <rms@gnu.org> |
| @@ -13852,7 +13847,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 13852 | (Fw16_set_clipboard_data): Always convert multibyte strings. Use | 13847 | (Fw16_set_clipboard_data): Always convert multibyte strings. Use |
| 13853 | Vnext_selection_coding_system if non-nil. | 13848 | Vnext_selection_coding_system if non-nil. |
| 13854 | (Fw16_get_clipboard_data): Always convert a string that includes | 13849 | (Fw16_get_clipboard_data): Always convert a string that includes |
| 13855 | non-ASCII characters. Use Vnext_selection_coding_system if | 13850 | non-ASCII characters. Use Vnext_selection_coding_system if |
| 13856 | non-nil. | 13851 | non-nil. |
| 13857 | 13852 | ||
| 13858 | 1998-08-31 Andrew Innes <andrewi@harlequin.co.uk> | 13853 | 1998-08-31 Andrew Innes <andrewi@harlequin.co.uk> |
| @@ -13957,8 +13952,7 @@ Wed Jun 25 15:22:58 1997 Gerd Moellmann <gerd@acm.org> | |||
| 13957 | * xterm.c (fixup_locale): New function. For now, it resets | 13952 | * xterm.c (fixup_locale): New function. For now, it resets |
| 13958 | LC_TIME to "C" (reverting the 1998-08-07 change), and also | 13953 | LC_TIME to "C" (reverting the 1998-08-07 change), and also |
| 13959 | resets LC_MESSAGES to "C". | 13954 | resets LC_MESSAGES to "C". |
| 13960 | (x_term_init): Use it to fix up the locale after setlocale | 13955 | (x_term_init): Use it to fix up the locale after setlocale (LC_ALL, ""). |
| 13961 | (LC_ALL, ""). | ||
| 13962 | 13956 | ||
| 13963 | 1998-08-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 13957 | 1998-08-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| 13964 | 13958 | ||
diff --git a/src/Makefile.in b/src/Makefile.in index 11e4d00b488..401f9a92ed8 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -280,18 +280,10 @@ ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(TOOLKIT_DEFINES) $(MYCPPFLAGS) -I. -I${srcd | |||
| 280 | .c.o: | 280 | .c.o: |
| 281 | $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $< | 281 | $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $< |
| 282 | 282 | ||
| 283 | #ifndef LIBX10_MACHINE | ||
| 284 | #define LIBX10_MACHINE | ||
| 285 | #endif | ||
| 286 | |||
| 287 | #ifndef LIBX11_MACHINE | 283 | #ifndef LIBX11_MACHINE |
| 288 | #define LIBX11_MACHINE | 284 | #define LIBX11_MACHINE |
| 289 | #endif | 285 | #endif |
| 290 | 286 | ||
| 291 | #ifndef LIBX10_SYSTEM | ||
| 292 | #define LIBX10_SYSTEM | ||
| 293 | #endif | ||
| 294 | |||
| 295 | #ifndef LIBX11_SYSTEM | 287 | #ifndef LIBX11_SYSTEM |
| 296 | #define LIBX11_SYSTEM | 288 | #define LIBX11_SYSTEM |
| 297 | #endif | 289 | #endif |
| @@ -447,7 +439,7 @@ XFT_LIBS=@XFT_LIBS@ | |||
| 447 | X11_LDFLAGS = LD_SWITCH_X_SITE LD_SWITCH_X_DEFAULT | 439 | X11_LDFLAGS = LD_SWITCH_X_SITE LD_SWITCH_X_DEFAULT |
| 448 | LIBX= $(LIBXMENU) $(X11_LDFLAGS) $(LIBXT) LIBTIFF LIBJPEG LIBPNG LIBGIF LIBXPM LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM $(XFT_LIBS) | 440 | LIBX= $(LIBXMENU) $(X11_LDFLAGS) $(LIBXT) LIBTIFF LIBJPEG LIBPNG LIBGIF LIBXPM LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM $(XFT_LIBS) |
| 449 | #else /* not HAVE_X11 */ | 441 | #else /* not HAVE_X11 */ |
| 450 | LIBX= $(LIBXMENU) LD_SWITCH_X_SITE -lX10 LIBX10_MACHINE LIBX10_SYSTEM | 442 | LIBX= $(LIBXMENU) LD_SWITCH_X_SITE |
| 451 | #endif /* not HAVE_X11 */ | 443 | #endif /* not HAVE_X11 */ |
| 452 | #else /* not HAVE_X_WINDOWS */ | 444 | #else /* not HAVE_X_WINDOWS */ |
| 453 | #endif /* not HAVE_X_WINDOWS */ | 445 | #endif /* not HAVE_X_WINDOWS */ |
| @@ -621,7 +613,7 @@ obj= dispnew.o frame.o scroll.o xdisp.o $(XMENU_OBJ) window.o \ | |||
| 621 | cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \ | 613 | cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \ |
| 622 | alloc.o data.o doc.o editfns.o callint.o \ | 614 | alloc.o data.o doc.o editfns.o callint.o \ |
| 623 | eval.o floatfns.o fns.o print.o lread.o \ | 615 | eval.o floatfns.o fns.o print.o lread.o \ |
| 624 | abbrev.o syntax.o UNEXEC bytecode.o \ | 616 | syntax.o UNEXEC bytecode.o \ |
| 625 | process.o callproc.o \ | 617 | process.o callproc.o \ |
| 626 | region-cache.o sound.o atimer.o \ | 618 | region-cache.o sound.o atimer.o \ |
| 627 | doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \ | 619 | doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \ |
| @@ -630,7 +622,7 @@ obj= dispnew.o frame.o scroll.o xdisp.o $(XMENU_OBJ) window.o \ | |||
| 630 | /* Object files used on some machine or other. | 622 | /* Object files used on some machine or other. |
| 631 | These go in the DOC file on all machines | 623 | These go in the DOC file on all machines |
| 632 | in case they are needed there. */ | 624 | in case they are needed there. */ |
| 633 | SOME_MACHINE_OBJECTS = sunfns.o dosfns.o msdos.o \ | 625 | SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ |
| 634 | xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ | 626 | xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ |
| 635 | mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o \ | 627 | mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o \ |
| 636 | w32.o w32bdf.o w32console.o w32fns.o w32heap.o w32inevt.o \ | 628 | w32.o w32bdf.o w32console.o w32fns.o w32heap.o w32inevt.o \ |
| @@ -1311,10 +1303,8 @@ composite.o: composite.c buffer.h character.h $(INTERVAL_SRC) $(config_h) | |||
| 1311 | OTHER_FILES and OBJECTS_MACHINE | 1303 | OTHER_FILES and OBJECTS_MACHINE |
| 1312 | select which of these should be compiled. */ | 1304 | select which of these should be compiled. */ |
| 1313 | 1305 | ||
| 1314 | sunfns.o: sunfns.c buffer.h window.h dispextern.h termhooks.h $(config_h) | ||
| 1315 | |||
| 1316 | #ifdef HAVE_CARBON | 1306 | #ifdef HAVE_CARBON |
| 1317 | abbrev.o buffer.o callint.o cmds.o dispnew.o editfns.o fileio.o frame.o \ | 1307 | buffer.o callint.o cmds.o dispnew.o editfns.o fileio.o frame.o \ |
| 1318 | fontset.o indent.o insdel.o keyboard.o macros.o minibuf.o msdos.o process.o \ | 1308 | fontset.o indent.o insdel.o keyboard.o macros.o minibuf.o msdos.o process.o \ |
| 1319 | scroll.o sysdep.o term.o terminal.o widget.o window.o xdisp.o xfaces.o xfns.o xmenu.o \ | 1309 | scroll.o sysdep.o term.o terminal.o widget.o window.o xdisp.o xfaces.o xfns.o xmenu.o \ |
| 1320 | xterm.o xselect.o sound.o: macgui.h | 1310 | xterm.o xselect.o sound.o: macgui.h |
diff --git a/src/abbrev.c b/src/abbrev.c deleted file mode 100644 index bed7f73d1c3..00000000000 --- a/src/abbrev.c +++ /dev/null | |||
| @@ -1,809 +0,0 @@ | |||
| 1 | /* Primitives for word-abbrev mode. | ||
| 2 | Copyright (C) 1985, 1986, 1993, 1996, 1998, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | #include <config.h> | ||
| 24 | #include <stdio.h> | ||
| 25 | |||
| 26 | #include "lisp.h" | ||
| 27 | #include "commands.h" | ||
| 28 | #include "buffer.h" | ||
| 29 | #include "window.h" | ||
| 30 | #include "character.h" | ||
| 31 | #include "syntax.h" | ||
| 32 | |||
| 33 | /* An abbrev table is an obarray. | ||
| 34 | Each defined abbrev is represented by a symbol in that obarray | ||
| 35 | whose print name is the abbreviation. | ||
| 36 | The symbol's value is a string which is the expansion. | ||
| 37 | If its function definition is non-nil, it is called | ||
| 38 | after the expansion is done. | ||
| 39 | The plist slot of the abbrev symbol is its usage count. */ | ||
| 40 | |||
| 41 | /* List of all abbrev-table name symbols: | ||
| 42 | symbols whose values are abbrev tables. */ | ||
| 43 | |||
| 44 | Lisp_Object Vabbrev_table_name_list; | ||
| 45 | |||
| 46 | /* The table of global abbrevs. These are in effect | ||
| 47 | in any buffer in which abbrev mode is turned on. */ | ||
| 48 | |||
| 49 | Lisp_Object Vglobal_abbrev_table; | ||
| 50 | |||
| 51 | /* The local abbrev table used by default (in Fundamental Mode buffers) */ | ||
| 52 | |||
| 53 | Lisp_Object Vfundamental_mode_abbrev_table; | ||
| 54 | |||
| 55 | /* Set nonzero when an abbrev definition is changed */ | ||
| 56 | |||
| 57 | int abbrevs_changed; | ||
| 58 | |||
| 59 | int abbrev_all_caps; | ||
| 60 | |||
| 61 | /* Non-nil => use this location as the start of abbrev to expand | ||
| 62 | (rather than taking the word before point as the abbrev) */ | ||
| 63 | |||
| 64 | Lisp_Object Vabbrev_start_location; | ||
| 65 | |||
| 66 | /* Buffer that Vabbrev_start_location applies to */ | ||
| 67 | Lisp_Object Vabbrev_start_location_buffer; | ||
| 68 | |||
| 69 | /* The symbol representing the abbrev most recently expanded */ | ||
| 70 | |||
| 71 | Lisp_Object Vlast_abbrev; | ||
| 72 | |||
| 73 | /* A string for the actual text of the abbrev most recently expanded. | ||
| 74 | This has more info than Vlast_abbrev since case is significant. */ | ||
| 75 | |||
| 76 | Lisp_Object Vlast_abbrev_text; | ||
| 77 | |||
| 78 | /* Character address of start of last abbrev expanded */ | ||
| 79 | |||
| 80 | EMACS_INT last_abbrev_point; | ||
| 81 | |||
| 82 | /* Hook to run before expanding any abbrev. */ | ||
| 83 | |||
| 84 | Lisp_Object Vpre_abbrev_expand_hook, Qpre_abbrev_expand_hook; | ||
| 85 | |||
| 86 | Lisp_Object Qsystem_type, Qcount, Qforce; | ||
| 87 | |||
| 88 | DEFUN ("make-abbrev-table", Fmake_abbrev_table, Smake_abbrev_table, 0, 0, 0, | ||
| 89 | doc: /* Create a new, empty abbrev table object. */) | ||
| 90 | () | ||
| 91 | { | ||
| 92 | /* The value 59 is arbitrary chosen prime number. */ | ||
| 93 | return Fmake_vector (make_number (59), make_number (0)); | ||
| 94 | } | ||
| 95 | |||
| 96 | DEFUN ("clear-abbrev-table", Fclear_abbrev_table, Sclear_abbrev_table, 1, 1, 0, | ||
| 97 | doc: /* Undefine all abbrevs in abbrev table TABLE, leaving it empty. */) | ||
| 98 | (table) | ||
| 99 | Lisp_Object table; | ||
| 100 | { | ||
| 101 | int i, size; | ||
| 102 | |||
| 103 | CHECK_VECTOR (table); | ||
| 104 | size = XVECTOR (table)->size; | ||
| 105 | abbrevs_changed = 1; | ||
| 106 | for (i = 0; i < size; i++) | ||
| 107 | XVECTOR (table)->contents[i] = make_number (0); | ||
| 108 | return Qnil; | ||
| 109 | } | ||
| 110 | |||
| 111 | DEFUN ("define-abbrev", Fdefine_abbrev, Sdefine_abbrev, 3, 6, 0, | ||
| 112 | doc: /* Define an abbrev in TABLE named NAME, to expand to EXPANSION and call HOOK. | ||
| 113 | NAME must be a string, and should be lower-case. | ||
| 114 | EXPANSION should usually be a string. | ||
| 115 | To undefine an abbrev, define it with EXPANSION = nil. | ||
| 116 | If HOOK is non-nil, it should be a function of no arguments; | ||
| 117 | it is called after EXPANSION is inserted. | ||
| 118 | If EXPANSION is not a string, the abbrev is a special one, | ||
| 119 | which does not expand in the usual way but only runs HOOK. | ||
| 120 | |||
| 121 | COUNT, if specified, gives the initial value for the abbrev's | ||
| 122 | usage-count, which is incremented each time the abbrev is used. | ||
| 123 | \(The default is zero.) | ||
| 124 | |||
| 125 | SYSTEM-FLAG, if non-nil, says that this is a "system" abbreviation | ||
| 126 | which should not be saved in the user's abbreviation file. | ||
| 127 | Unless SYSTEM-FLAG is `force', a system abbreviation will not | ||
| 128 | overwrite a non-system abbreviation of the same name. */) | ||
| 129 | (table, name, expansion, hook, count, system_flag) | ||
| 130 | Lisp_Object table, name, expansion, hook, count, system_flag; | ||
| 131 | { | ||
| 132 | Lisp_Object sym, oexp, ohook, tem; | ||
| 133 | CHECK_VECTOR (table); | ||
| 134 | CHECK_STRING (name); | ||
| 135 | |||
| 136 | /* If defining a system abbrev, do not overwrite a non-system abbrev | ||
| 137 | of the same name, unless 'force is used. */ | ||
| 138 | if (!NILP (system_flag) && !EQ (system_flag, Qforce)) | ||
| 139 | { | ||
| 140 | sym = Fintern_soft (name, table); | ||
| 141 | |||
| 142 | if (!NILP (SYMBOL_VALUE (sym)) && | ||
| 143 | NILP (Fplist_get (XSYMBOL (sym)->plist, Qsystem_type))) return Qnil; | ||
| 144 | } | ||
| 145 | |||
| 146 | if (NILP (count)) | ||
| 147 | count = make_number (0); | ||
| 148 | else | ||
| 149 | CHECK_NUMBER (count); | ||
| 150 | |||
| 151 | sym = Fintern (name, table); | ||
| 152 | |||
| 153 | oexp = SYMBOL_VALUE (sym); | ||
| 154 | ohook = XSYMBOL (sym)->function; | ||
| 155 | if (!((EQ (oexp, expansion) | ||
| 156 | || (STRINGP (oexp) && STRINGP (expansion) | ||
| 157 | && (tem = Fstring_equal (oexp, expansion), !NILP (tem)))) | ||
| 158 | && | ||
| 159 | (EQ (ohook, hook) | ||
| 160 | || (tem = Fequal (ohook, hook), !NILP (tem)))) | ||
| 161 | && NILP (system_flag)) | ||
| 162 | abbrevs_changed = 1; | ||
| 163 | |||
| 164 | Fset (sym, expansion); | ||
| 165 | Ffset (sym, hook); | ||
| 166 | |||
| 167 | if (! NILP (system_flag)) | ||
| 168 | Fsetplist (sym, list4 (Qcount, count, Qsystem_type, system_flag)); | ||
| 169 | else | ||
| 170 | Fsetplist (sym, count); | ||
| 171 | |||
| 172 | return name; | ||
| 173 | } | ||
| 174 | |||
| 175 | /* Check if the characters in ABBREV have word syntax in either the | ||
| 176 | * current (if global == 0) or standard syntax table. */ | ||
| 177 | static void | ||
| 178 | abbrev_check_chars (abbrev, global) | ||
| 179 | Lisp_Object abbrev; | ||
| 180 | int global; | ||
| 181 | { | ||
| 182 | int i, i_byte, len, nbad = 0; | ||
| 183 | int j, found, nuniq = 0; | ||
| 184 | char *badchars, *baduniq; | ||
| 185 | |||
| 186 | CHECK_STRING (abbrev); | ||
| 187 | len = SCHARS (abbrev); | ||
| 188 | |||
| 189 | badchars = (char *) alloca (len + 1); | ||
| 190 | |||
| 191 | for (i = 0, i_byte = 0; i < len; ) | ||
| 192 | { | ||
| 193 | int c; | ||
| 194 | |||
| 195 | FETCH_STRING_CHAR_ADVANCE (c, abbrev, i, i_byte); | ||
| 196 | |||
| 197 | if (global) | ||
| 198 | { | ||
| 199 | /* Copied from SYNTAX in syntax.h, except using FOLLOW_PARENT. */ | ||
| 200 | Lisp_Object syntax_temp | ||
| 201 | = CHAR_TABLE_REF (Vstandard_syntax_table, c); | ||
| 202 | if ( (CONSP (syntax_temp) | ||
| 203 | ? (enum syntaxcode) (XINT (XCAR (syntax_temp)) & 0xff) | ||
| 204 | : Swhitespace) != Sword ) badchars[nbad++] = c; | ||
| 205 | } | ||
| 206 | else if (SYNTAX (c) != Sword) | ||
| 207 | badchars[nbad++] = c; | ||
| 208 | } | ||
| 209 | |||
| 210 | if (nbad == 0) return; | ||
| 211 | |||
| 212 | baduniq = (char *) alloca (nbad + 1); | ||
| 213 | |||
| 214 | for (i = 0; i < nbad; i++) | ||
| 215 | { | ||
| 216 | found = 0; | ||
| 217 | |||
| 218 | for (j = 0; j < nuniq; j++) | ||
| 219 | { | ||
| 220 | if (badchars[i] == baduniq[j]) | ||
| 221 | { | ||
| 222 | found = 1; | ||
| 223 | break; | ||
| 224 | } | ||
| 225 | } | ||
| 226 | |||
| 227 | if (found) continue ; | ||
| 228 | |||
| 229 | baduniq[nuniq++] = badchars[i]; | ||
| 230 | } | ||
| 231 | |||
| 232 | baduniq[nuniq] = '\0'; | ||
| 233 | |||
| 234 | error ("Some abbrev characters (%s) are not word constituents %s", | ||
| 235 | baduniq, global ? "in the standard syntax" : "in this mode" ); | ||
| 236 | } | ||
| 237 | |||
| 238 | DEFUN ("define-global-abbrev", Fdefine_global_abbrev, Sdefine_global_abbrev, 2, 2, | ||
| 239 | "sDefine global abbrev: \nsExpansion for %s: ", | ||
| 240 | doc: /* Define ABBREV as a global abbreviation for EXPANSION. | ||
| 241 | The characters in ABBREV must all be word constituents in the standard | ||
| 242 | syntax table. */) | ||
| 243 | (abbrev, expansion) | ||
| 244 | Lisp_Object abbrev, expansion; | ||
| 245 | { | ||
| 246 | abbrev_check_chars (abbrev, 1); | ||
| 247 | |||
| 248 | Fdefine_abbrev (Vglobal_abbrev_table, Fdowncase (abbrev), | ||
| 249 | expansion, Qnil, make_number (0), Qnil); | ||
| 250 | return abbrev; | ||
| 251 | } | ||
| 252 | |||
| 253 | DEFUN ("define-mode-abbrev", Fdefine_mode_abbrev, Sdefine_mode_abbrev, 2, 2, | ||
| 254 | "sDefine mode abbrev: \nsExpansion for %s: ", | ||
| 255 | doc: /* Define ABBREV as a mode-specific abbreviation for EXPANSION. | ||
| 256 | The characters in ABBREV must all be word-constituents in the current mode. */) | ||
| 257 | (abbrev, expansion) | ||
| 258 | Lisp_Object abbrev, expansion; | ||
| 259 | { | ||
| 260 | if (NILP (current_buffer->abbrev_table)) | ||
| 261 | error ("Major mode has no abbrev table"); | ||
| 262 | |||
| 263 | abbrev_check_chars (abbrev, 0); | ||
| 264 | |||
| 265 | Fdefine_abbrev (current_buffer->abbrev_table, Fdowncase (abbrev), | ||
| 266 | expansion, Qnil, make_number (0), Qnil); | ||
| 267 | return abbrev; | ||
| 268 | } | ||
| 269 | |||
| 270 | DEFUN ("abbrev-symbol", Fabbrev_symbol, Sabbrev_symbol, 1, 2, 0, | ||
| 271 | doc: /* Return the symbol representing abbrev named ABBREV. | ||
| 272 | This symbol's name is ABBREV, but it is not the canonical symbol of that name; | ||
| 273 | it is interned in an abbrev-table rather than the normal obarray. | ||
| 274 | The value is nil if that abbrev is not defined. | ||
| 275 | Optional second arg TABLE is abbrev table to look it up in. | ||
| 276 | The default is to try buffer's mode-specific abbrev table, then global table. */) | ||
| 277 | (abbrev, table) | ||
| 278 | Lisp_Object abbrev, table; | ||
| 279 | { | ||
| 280 | Lisp_Object sym; | ||
| 281 | CHECK_STRING (abbrev); | ||
| 282 | if (!NILP (table)) | ||
| 283 | sym = Fintern_soft (abbrev, table); | ||
| 284 | else | ||
| 285 | { | ||
| 286 | sym = Qnil; | ||
| 287 | if (!NILP (current_buffer->abbrev_table)) | ||
| 288 | sym = Fintern_soft (abbrev, current_buffer->abbrev_table); | ||
| 289 | if (NILP (SYMBOL_VALUE (sym))) | ||
| 290 | sym = Qnil; | ||
| 291 | if (NILP (sym)) | ||
| 292 | sym = Fintern_soft (abbrev, Vglobal_abbrev_table); | ||
| 293 | } | ||
| 294 | if (NILP (SYMBOL_VALUE (sym))) | ||
| 295 | return Qnil; | ||
| 296 | return sym; | ||
| 297 | } | ||
| 298 | |||
| 299 | DEFUN ("abbrev-expansion", Fabbrev_expansion, Sabbrev_expansion, 1, 2, 0, | ||
| 300 | doc: /* Return the string that ABBREV expands into in the current buffer. | ||
| 301 | Optionally specify an abbrev table as second arg; | ||
| 302 | then ABBREV is looked up in that table only. */) | ||
| 303 | (abbrev, table) | ||
| 304 | Lisp_Object abbrev, table; | ||
| 305 | { | ||
| 306 | Lisp_Object sym; | ||
| 307 | sym = Fabbrev_symbol (abbrev, table); | ||
| 308 | if (NILP (sym)) return sym; | ||
| 309 | return Fsymbol_value (sym); | ||
| 310 | } | ||
| 311 | |||
| 312 | /* Expand the word before point, if it is an abbrev. | ||
| 313 | Returns 1 if an expansion is done. */ | ||
| 314 | |||
| 315 | DEFUN ("expand-abbrev", Fexpand_abbrev, Sexpand_abbrev, 0, 0, "", | ||
| 316 | doc: /* Expand the abbrev before point, if there is an abbrev there. | ||
| 317 | Effective when explicitly called even when `abbrev-mode' is nil. | ||
| 318 | Returns the abbrev symbol, if expansion took place. */) | ||
| 319 | () | ||
| 320 | { | ||
| 321 | register char *buffer, *p; | ||
| 322 | int wordstart, wordend; | ||
| 323 | register int wordstart_byte, wordend_byte, idx, idx_byte; | ||
| 324 | int whitecnt; | ||
| 325 | int uccount = 0, lccount = 0; | ||
| 326 | register Lisp_Object sym; | ||
| 327 | Lisp_Object expansion, hook, tem; | ||
| 328 | Lisp_Object value; | ||
| 329 | int multibyte = ! NILP (current_buffer->enable_multibyte_characters); | ||
| 330 | |||
| 331 | value = Qnil; | ||
| 332 | |||
| 333 | Frun_hooks (1, &Qpre_abbrev_expand_hook); | ||
| 334 | |||
| 335 | wordstart = 0; | ||
| 336 | if (!(BUFFERP (Vabbrev_start_location_buffer) | ||
| 337 | && XBUFFER (Vabbrev_start_location_buffer) == current_buffer)) | ||
| 338 | Vabbrev_start_location = Qnil; | ||
| 339 | if (!NILP (Vabbrev_start_location)) | ||
| 340 | { | ||
| 341 | tem = Vabbrev_start_location; | ||
| 342 | CHECK_NUMBER_COERCE_MARKER (tem); | ||
| 343 | wordstart = XINT (tem); | ||
| 344 | Vabbrev_start_location = Qnil; | ||
| 345 | if (wordstart < BEGV || wordstart > ZV) | ||
| 346 | wordstart = 0; | ||
| 347 | if (wordstart && wordstart != ZV) | ||
| 348 | { | ||
| 349 | wordstart_byte = CHAR_TO_BYTE (wordstart); | ||
| 350 | if (FETCH_BYTE (wordstart_byte) == '-') | ||
| 351 | del_range (wordstart, wordstart + 1); | ||
| 352 | } | ||
| 353 | } | ||
| 354 | if (!wordstart) | ||
| 355 | wordstart = scan_words (PT, -1); | ||
| 356 | |||
| 357 | if (!wordstart) | ||
| 358 | return value; | ||
| 359 | |||
| 360 | wordstart_byte = CHAR_TO_BYTE (wordstart); | ||
| 361 | wordend = scan_words (wordstart, 1); | ||
| 362 | if (!wordend) | ||
| 363 | return value; | ||
| 364 | |||
| 365 | if (wordend > PT) | ||
| 366 | wordend = PT; | ||
| 367 | |||
| 368 | wordend_byte = CHAR_TO_BYTE (wordend); | ||
| 369 | whitecnt = PT - wordend; | ||
| 370 | if (wordend <= wordstart) | ||
| 371 | return value; | ||
| 372 | |||
| 373 | p = buffer = (char *) alloca (wordend_byte - wordstart_byte); | ||
| 374 | |||
| 375 | for (idx = wordstart, idx_byte = wordstart_byte; idx < wordend; ) | ||
| 376 | { | ||
| 377 | register int c; | ||
| 378 | |||
| 379 | if (multibyte) | ||
| 380 | { | ||
| 381 | FETCH_CHAR_ADVANCE (c, idx, idx_byte); | ||
| 382 | } | ||
| 383 | else | ||
| 384 | { | ||
| 385 | c = FETCH_BYTE (idx_byte); | ||
| 386 | idx++, idx_byte++; | ||
| 387 | } | ||
| 388 | |||
| 389 | if (UPPERCASEP (c)) | ||
| 390 | c = DOWNCASE (c), uccount++; | ||
| 391 | else if (! NOCASEP (c)) | ||
| 392 | lccount++; | ||
| 393 | if (multibyte) | ||
| 394 | p += CHAR_STRING (c, p); | ||
| 395 | else | ||
| 396 | *p++ = c; | ||
| 397 | } | ||
| 398 | |||
| 399 | if (VECTORP (current_buffer->abbrev_table)) | ||
| 400 | sym = oblookup (current_buffer->abbrev_table, buffer, | ||
| 401 | wordend - wordstart, p - buffer); | ||
| 402 | else | ||
| 403 | XSETFASTINT (sym, 0); | ||
| 404 | |||
| 405 | if (INTEGERP (sym) || NILP (SYMBOL_VALUE (sym))) | ||
| 406 | sym = oblookup (Vglobal_abbrev_table, buffer, | ||
| 407 | wordend - wordstart, p - buffer); | ||
| 408 | if (INTEGERP (sym) || NILP (SYMBOL_VALUE (sym))) | ||
| 409 | return value; | ||
| 410 | |||
| 411 | if (INTERACTIVE && !EQ (minibuf_window, selected_window)) | ||
| 412 | { | ||
| 413 | /* Add an undo boundary, in case we are doing this for | ||
| 414 | a self-inserting command which has avoided making one so far. */ | ||
| 415 | SET_PT (wordend); | ||
| 416 | Fundo_boundary (); | ||
| 417 | } | ||
| 418 | |||
| 419 | Vlast_abbrev_text | ||
| 420 | = Fbuffer_substring (make_number (wordstart), make_number (wordend)); | ||
| 421 | |||
| 422 | /* Now sym is the abbrev symbol. */ | ||
| 423 | Vlast_abbrev = sym; | ||
| 424 | value = sym; | ||
| 425 | last_abbrev_point = wordstart; | ||
| 426 | |||
| 427 | /* Increment use count. */ | ||
| 428 | if (INTEGERP (XSYMBOL (sym)->plist)) | ||
| 429 | XSETINT (XSYMBOL (sym)->plist, | ||
| 430 | XINT (XSYMBOL (sym)->plist) + 1); | ||
| 431 | else if (INTEGERP (tem = Fget (sym, Qcount))) | ||
| 432 | Fput (sym, Qcount, make_number (XINT (tem) + 1)); | ||
| 433 | |||
| 434 | /* If this abbrev has an expansion, delete the abbrev | ||
| 435 | and insert the expansion. */ | ||
| 436 | expansion = SYMBOL_VALUE (sym); | ||
| 437 | if (STRINGP (expansion)) | ||
| 438 | { | ||
| 439 | SET_PT (wordstart); | ||
| 440 | |||
| 441 | insert_from_string (expansion, 0, 0, SCHARS (expansion), | ||
| 442 | SBYTES (expansion), 1); | ||
| 443 | del_range_both (PT, PT_BYTE, | ||
| 444 | wordend + (PT - wordstart), | ||
| 445 | wordend_byte + (PT_BYTE - wordstart_byte), | ||
| 446 | 1); | ||
| 447 | |||
| 448 | SET_PT (PT + whitecnt); | ||
| 449 | |||
| 450 | if (uccount && !lccount) | ||
| 451 | { | ||
| 452 | /* Abbrev was all caps */ | ||
| 453 | /* If expansion is multiple words, normally capitalize each word */ | ||
| 454 | /* This used to be if (!... && ... >= ...) Fcapitalize; else Fupcase | ||
| 455 | but Megatest 68000 compiler can't handle that */ | ||
| 456 | if (!abbrev_all_caps) | ||
| 457 | if (scan_words (PT, -1) > scan_words (wordstart, 1)) | ||
| 458 | { | ||
| 459 | Fupcase_initials_region (make_number (wordstart), | ||
| 460 | make_number (PT)); | ||
| 461 | goto caped; | ||
| 462 | } | ||
| 463 | /* If expansion is one word, or if user says so, upcase it all. */ | ||
| 464 | Fupcase_region (make_number (wordstart), make_number (PT)); | ||
| 465 | caped: ; | ||
| 466 | } | ||
| 467 | else if (uccount) | ||
| 468 | { | ||
| 469 | /* Abbrev included some caps. Cap first initial of expansion */ | ||
| 470 | int pos = wordstart_byte; | ||
| 471 | |||
| 472 | /* Find the initial. */ | ||
| 473 | if (multibyte) | ||
| 474 | while (pos < PT_BYTE | ||
| 475 | && SYNTAX (FETCH_MULTIBYTE_CHAR (pos)) != Sword) | ||
| 476 | INC_POS (pos); | ||
| 477 | else | ||
| 478 | while (pos < PT_BYTE | ||
| 479 | && (SYNTAX (*BUF_BYTE_ADDRESS (current_buffer, pos)) | ||
| 480 | != Sword)) | ||
| 481 | pos++; | ||
| 482 | |||
| 483 | /* Change just that. */ | ||
| 484 | pos = BYTE_TO_CHAR (pos); | ||
| 485 | Fupcase_initials_region (make_number (pos), make_number (pos + 1)); | ||
| 486 | } | ||
| 487 | } | ||
| 488 | |||
| 489 | hook = XSYMBOL (sym)->function; | ||
| 490 | if (!NILP (hook)) | ||
| 491 | { | ||
| 492 | Lisp_Object expanded, prop; | ||
| 493 | |||
| 494 | /* If the abbrev has a hook function, run it. */ | ||
| 495 | expanded = call0 (hook); | ||
| 496 | |||
| 497 | /* In addition, if the hook function is a symbol with | ||
| 498 | a non-nil `no-self-insert' property, let the value it returned | ||
| 499 | specify whether we consider that an expansion took place. If | ||
| 500 | it returns nil, no expansion has been done. */ | ||
| 501 | |||
| 502 | if (SYMBOLP (hook) | ||
| 503 | && NILP (expanded) | ||
| 504 | && (prop = Fget (hook, intern ("no-self-insert")), | ||
| 505 | !NILP (prop))) | ||
| 506 | value = Qnil; | ||
| 507 | } | ||
| 508 | |||
| 509 | return value; | ||
| 510 | } | ||
| 511 | |||
| 512 | DEFUN ("unexpand-abbrev", Funexpand_abbrev, Sunexpand_abbrev, 0, 0, "", | ||
| 513 | doc: /* Undo the expansion of the last abbrev that expanded. | ||
| 514 | This differs from ordinary undo in that other editing done since then | ||
| 515 | is not undone. */) | ||
| 516 | () | ||
| 517 | { | ||
| 518 | int opoint = PT; | ||
| 519 | int adjust = 0; | ||
| 520 | if (last_abbrev_point < BEGV | ||
| 521 | || last_abbrev_point > ZV) | ||
| 522 | return Qnil; | ||
| 523 | SET_PT (last_abbrev_point); | ||
| 524 | if (STRINGP (Vlast_abbrev_text)) | ||
| 525 | { | ||
| 526 | /* This isn't correct if Vlast_abbrev->function was used | ||
| 527 | to do the expansion */ | ||
| 528 | Lisp_Object val; | ||
| 529 | int zv_before; | ||
| 530 | |||
| 531 | val = SYMBOL_VALUE (Vlast_abbrev); | ||
| 532 | if (!STRINGP (val)) | ||
| 533 | error ("Value of `abbrev-symbol' must be a string"); | ||
| 534 | zv_before = ZV; | ||
| 535 | del_range_byte (PT_BYTE, PT_BYTE + SBYTES (val), 1); | ||
| 536 | /* Don't inherit properties here; just copy from old contents. */ | ||
| 537 | insert_from_string (Vlast_abbrev_text, 0, 0, | ||
| 538 | SCHARS (Vlast_abbrev_text), | ||
| 539 | SBYTES (Vlast_abbrev_text), 0); | ||
| 540 | Vlast_abbrev_text = Qnil; | ||
| 541 | /* Total number of characters deleted. */ | ||
| 542 | adjust = ZV - zv_before; | ||
| 543 | } | ||
| 544 | SET_PT (last_abbrev_point < opoint ? opoint + adjust : opoint); | ||
| 545 | return Qnil; | ||
| 546 | } | ||
| 547 | |||
| 548 | static void | ||
| 549 | write_abbrev (sym, stream) | ||
| 550 | Lisp_Object sym, stream; | ||
| 551 | { | ||
| 552 | Lisp_Object name, count, system_flag; | ||
| 553 | |||
| 554 | if (INTEGERP (XSYMBOL (sym)->plist)) | ||
| 555 | { | ||
| 556 | count = XSYMBOL (sym)->plist; | ||
| 557 | system_flag = Qnil; | ||
| 558 | } | ||
| 559 | else | ||
| 560 | { | ||
| 561 | count = Fget (sym, Qcount); | ||
| 562 | system_flag = Fget (sym, Qsystem_type); | ||
| 563 | } | ||
| 564 | |||
| 565 | if (NILP (SYMBOL_VALUE (sym)) || ! NILP (system_flag)) | ||
| 566 | return; | ||
| 567 | |||
| 568 | insert (" (", 5); | ||
| 569 | name = SYMBOL_NAME (sym); | ||
| 570 | Fprin1 (name, stream); | ||
| 571 | insert (" ", 1); | ||
| 572 | Fprin1 (SYMBOL_VALUE (sym), stream); | ||
| 573 | insert (" ", 1); | ||
| 574 | Fprin1 (XSYMBOL (sym)->function, stream); | ||
| 575 | insert (" ", 1); | ||
| 576 | Fprin1 (count, stream); | ||
| 577 | insert (")\n", 2); | ||
| 578 | } | ||
| 579 | |||
| 580 | static void | ||
| 581 | describe_abbrev (sym, stream) | ||
| 582 | Lisp_Object sym, stream; | ||
| 583 | { | ||
| 584 | Lisp_Object one, count, system_flag; | ||
| 585 | |||
| 586 | if (INTEGERP (XSYMBOL (sym)->plist)) | ||
| 587 | { | ||
| 588 | count = XSYMBOL (sym)->plist; | ||
| 589 | system_flag = Qnil; | ||
| 590 | } | ||
| 591 | else | ||
| 592 | { | ||
| 593 | count = Fget (sym, Qcount); | ||
| 594 | system_flag = Fget (sym, Qsystem_type); | ||
| 595 | } | ||
| 596 | |||
| 597 | if (NILP (SYMBOL_VALUE (sym))) | ||
| 598 | return; | ||
| 599 | |||
| 600 | one = make_number (1); | ||
| 601 | Fprin1 (Fsymbol_name (sym), stream); | ||
| 602 | |||
| 603 | if (!NILP (system_flag)) | ||
| 604 | { | ||
| 605 | insert_string (" (sys)"); | ||
| 606 | Findent_to (make_number (20), one); | ||
| 607 | } | ||
| 608 | else | ||
| 609 | Findent_to (make_number (15), one); | ||
| 610 | |||
| 611 | Fprin1 (count, stream); | ||
| 612 | Findent_to (make_number (20), one); | ||
| 613 | Fprin1 (SYMBOL_VALUE (sym), stream); | ||
| 614 | if (!NILP (XSYMBOL (sym)->function)) | ||
| 615 | { | ||
| 616 | Findent_to (make_number (45), one); | ||
| 617 | Fprin1 (XSYMBOL (sym)->function, stream); | ||
| 618 | } | ||
| 619 | Fterpri (stream); | ||
| 620 | } | ||
| 621 | |||
| 622 | static void | ||
| 623 | record_symbol (sym, list) | ||
| 624 | Lisp_Object sym, list; | ||
| 625 | { | ||
| 626 | XSETCDR (list, Fcons (sym, XCDR (list))); | ||
| 627 | } | ||
| 628 | |||
| 629 | DEFUN ("insert-abbrev-table-description", Finsert_abbrev_table_description, | ||
| 630 | Sinsert_abbrev_table_description, 1, 2, 0, | ||
| 631 | doc: /* Insert before point a full description of abbrev table named NAME. | ||
| 632 | NAME is a symbol whose value is an abbrev table. | ||
| 633 | If optional 2nd arg READABLE is non-nil, a human-readable description | ||
| 634 | is inserted. Otherwise the description is an expression, | ||
| 635 | a call to `define-abbrev-table', which would | ||
| 636 | define the abbrev table NAME exactly as it is currently defined. | ||
| 637 | |||
| 638 | Abbrevs marked as "system abbrevs" are normally omitted. However, if | ||
| 639 | READABLE is non-nil, they are listed. */) | ||
| 640 | (name, readable) | ||
| 641 | Lisp_Object name, readable; | ||
| 642 | { | ||
| 643 | Lisp_Object table; | ||
| 644 | Lisp_Object symbols; | ||
| 645 | Lisp_Object stream; | ||
| 646 | |||
| 647 | CHECK_SYMBOL (name); | ||
| 648 | table = Fsymbol_value (name); | ||
| 649 | CHECK_VECTOR (table); | ||
| 650 | |||
| 651 | XSETBUFFER (stream, current_buffer); | ||
| 652 | |||
| 653 | symbols = Fcons (Qnil, Qnil); | ||
| 654 | map_obarray (table, record_symbol, symbols); | ||
| 655 | symbols = XCDR (symbols); | ||
| 656 | symbols = Fsort (symbols, Qstring_lessp); | ||
| 657 | |||
| 658 | if (!NILP (readable)) | ||
| 659 | { | ||
| 660 | insert_string ("("); | ||
| 661 | Fprin1 (name, stream); | ||
| 662 | insert_string (")\n\n"); | ||
| 663 | while (! NILP (symbols)) | ||
| 664 | { | ||
| 665 | describe_abbrev (XCAR (symbols), stream); | ||
| 666 | symbols = XCDR (symbols); | ||
| 667 | } | ||
| 668 | |||
| 669 | insert_string ("\n\n"); | ||
| 670 | } | ||
| 671 | else | ||
| 672 | { | ||
| 673 | insert_string ("(define-abbrev-table '"); | ||
| 674 | Fprin1 (name, stream); | ||
| 675 | insert_string (" '(\n"); | ||
| 676 | while (! NILP (symbols)) | ||
| 677 | { | ||
| 678 | write_abbrev (XCAR (symbols), stream); | ||
| 679 | symbols = XCDR (symbols); | ||
| 680 | } | ||
| 681 | insert_string (" ))\n\n"); | ||
| 682 | } | ||
| 683 | |||
| 684 | return Qnil; | ||
| 685 | } | ||
| 686 | |||
| 687 | DEFUN ("define-abbrev-table", Fdefine_abbrev_table, Sdefine_abbrev_table, | ||
| 688 | 2, 2, 0, | ||
| 689 | doc: /* Define TABLENAME (a symbol) as an abbrev table name. | ||
| 690 | Define abbrevs in it according to DEFINITIONS, which is a list of elements | ||
| 691 | of the form (ABBREVNAME EXPANSION HOOK USECOUNT SYSTEMFLAG). | ||
| 692 | \(If the list is shorter than that, omitted elements default to nil). */) | ||
| 693 | (tablename, definitions) | ||
| 694 | Lisp_Object tablename, definitions; | ||
| 695 | { | ||
| 696 | Lisp_Object name, exp, hook, count; | ||
| 697 | Lisp_Object table, elt, sys; | ||
| 698 | |||
| 699 | CHECK_SYMBOL (tablename); | ||
| 700 | table = Fboundp (tablename); | ||
| 701 | if (NILP (table) || (table = Fsymbol_value (tablename), NILP (table))) | ||
| 702 | { | ||
| 703 | table = Fmake_abbrev_table (); | ||
| 704 | Fset (tablename, table); | ||
| 705 | Vabbrev_table_name_list = Fcons (tablename, Vabbrev_table_name_list); | ||
| 706 | } | ||
| 707 | CHECK_VECTOR (table); | ||
| 708 | |||
| 709 | for (; CONSP (definitions); definitions = XCDR (definitions)) | ||
| 710 | { | ||
| 711 | elt = XCAR (definitions); | ||
| 712 | name = Fcar (elt); elt = Fcdr (elt); | ||
| 713 | exp = Fcar (elt); elt = Fcdr (elt); | ||
| 714 | hook = Fcar (elt); elt = Fcdr (elt); | ||
| 715 | count = Fcar (elt); elt = Fcdr (elt); | ||
| 716 | sys = Fcar (elt); | ||
| 717 | Fdefine_abbrev (table, name, exp, hook, count, sys); | ||
| 718 | } | ||
| 719 | return Qnil; | ||
| 720 | } | ||
| 721 | |||
| 722 | void | ||
| 723 | syms_of_abbrev () | ||
| 724 | { | ||
| 725 | Qsystem_type = intern ("system-type"); | ||
| 726 | staticpro (&Qsystem_type); | ||
| 727 | |||
| 728 | Qcount = intern ("count"); | ||
| 729 | staticpro (&Qcount); | ||
| 730 | |||
| 731 | Qforce = intern ("force"); | ||
| 732 | staticpro (&Qforce); | ||
| 733 | |||
| 734 | DEFVAR_LISP ("abbrev-table-name-list", &Vabbrev_table_name_list, | ||
| 735 | doc: /* List of symbols whose values are abbrev tables. */); | ||
| 736 | Vabbrev_table_name_list = Fcons (intern ("fundamental-mode-abbrev-table"), | ||
| 737 | Fcons (intern ("global-abbrev-table"), | ||
| 738 | Qnil)); | ||
| 739 | |||
| 740 | DEFVAR_LISP ("global-abbrev-table", &Vglobal_abbrev_table, | ||
| 741 | doc: /* The abbrev table whose abbrevs affect all buffers. | ||
| 742 | Each buffer may also have a local abbrev table. | ||
| 743 | If it does, the local table overrides the global one | ||
| 744 | for any particular abbrev defined in both. */); | ||
| 745 | Vglobal_abbrev_table = Fmake_abbrev_table (); | ||
| 746 | |||
| 747 | DEFVAR_LISP ("fundamental-mode-abbrev-table", &Vfundamental_mode_abbrev_table, | ||
| 748 | doc: /* The abbrev table of mode-specific abbrevs for Fundamental Mode. */); | ||
| 749 | Vfundamental_mode_abbrev_table = Fmake_abbrev_table (); | ||
| 750 | current_buffer->abbrev_table = Vfundamental_mode_abbrev_table; | ||
| 751 | buffer_defaults.abbrev_table = Vfundamental_mode_abbrev_table; | ||
| 752 | |||
| 753 | DEFVAR_LISP ("last-abbrev", &Vlast_abbrev, | ||
| 754 | doc: /* The abbrev-symbol of the last abbrev expanded. See `abbrev-symbol'. */); | ||
| 755 | |||
| 756 | DEFVAR_LISP ("last-abbrev-text", &Vlast_abbrev_text, | ||
| 757 | doc: /* The exact text of the last abbrev expanded. | ||
| 758 | A value of nil means the abbrev has already been unexpanded. */); | ||
| 759 | |||
| 760 | DEFVAR_INT ("last-abbrev-location", &last_abbrev_point, | ||
| 761 | doc: /* The location of the start of the last abbrev expanded. */); | ||
| 762 | |||
| 763 | Vlast_abbrev = Qnil; | ||
| 764 | Vlast_abbrev_text = Qnil; | ||
| 765 | last_abbrev_point = 0; | ||
| 766 | |||
| 767 | DEFVAR_LISP ("abbrev-start-location", &Vabbrev_start_location, | ||
| 768 | doc: /* Buffer position for `expand-abbrev' to use as the start of the abbrev. | ||
| 769 | When nil, use the word before point as the abbrev. | ||
| 770 | Calling `expand-abbrev' sets this to nil. */); | ||
| 771 | Vabbrev_start_location = Qnil; | ||
| 772 | |||
| 773 | DEFVAR_LISP ("abbrev-start-location-buffer", &Vabbrev_start_location_buffer, | ||
| 774 | doc: /* Buffer that `abbrev-start-location' has been set for. | ||
| 775 | Trying to expand an abbrev in any other buffer clears `abbrev-start-location'. */); | ||
| 776 | Vabbrev_start_location_buffer = Qnil; | ||
| 777 | |||
| 778 | DEFVAR_BOOL ("abbrevs-changed", &abbrevs_changed, | ||
| 779 | doc: /* Set non-nil by defining or altering any word abbrevs. | ||
| 780 | This causes `save-some-buffers' to offer to save the abbrevs. */); | ||
| 781 | abbrevs_changed = 0; | ||
| 782 | |||
| 783 | DEFVAR_BOOL ("abbrev-all-caps", &abbrev_all_caps, | ||
| 784 | doc: /* *Set non-nil means expand multi-word abbrevs all caps if abbrev was so. */); | ||
| 785 | abbrev_all_caps = 0; | ||
| 786 | |||
| 787 | DEFVAR_LISP ("pre-abbrev-expand-hook", &Vpre_abbrev_expand_hook, | ||
| 788 | doc: /* Function or functions to be called before abbrev expansion is done. | ||
| 789 | This is the first thing that `expand-abbrev' does, and so this may change | ||
| 790 | the current abbrev table before abbrev lookup happens. */); | ||
| 791 | Vpre_abbrev_expand_hook = Qnil; | ||
| 792 | Qpre_abbrev_expand_hook = intern ("pre-abbrev-expand-hook"); | ||
| 793 | staticpro (&Qpre_abbrev_expand_hook); | ||
| 794 | |||
| 795 | defsubr (&Smake_abbrev_table); | ||
| 796 | defsubr (&Sclear_abbrev_table); | ||
| 797 | defsubr (&Sdefine_abbrev); | ||
| 798 | defsubr (&Sdefine_global_abbrev); | ||
| 799 | defsubr (&Sdefine_mode_abbrev); | ||
| 800 | defsubr (&Sabbrev_expansion); | ||
| 801 | defsubr (&Sabbrev_symbol); | ||
| 802 | defsubr (&Sexpand_abbrev); | ||
| 803 | defsubr (&Sunexpand_abbrev); | ||
| 804 | defsubr (&Sinsert_abbrev_table_description); | ||
| 805 | defsubr (&Sdefine_abbrev_table); | ||
| 806 | } | ||
| 807 | |||
| 808 | /* arch-tag: b721db69-f633-44a8-a361-c275acbdad7d | ||
| 809 | (do not change this comment) */ | ||
diff --git a/src/config.in b/src/config.in index c23ec13ac88..616e52049ff 100644 --- a/src/config.in +++ b/src/config.in | |||
| @@ -708,9 +708,6 @@ Boston, MA 02110-1301, USA. */ | |||
| 708 | expects to use version 10. */ | 708 | expects to use version 10. */ |
| 709 | #undef HAVE_X11 | 709 | #undef HAVE_X11 |
| 710 | 710 | ||
| 711 | /* Define to 1 if you have the X11R5 or newer version of Xlib. */ | ||
| 712 | #undef HAVE_X11R5 | ||
| 713 | |||
| 714 | /* Define to 1 if you have the X11R6 or newer version of Xlib. */ | 711 | /* Define to 1 if you have the X11R6 or newer version of Xlib. */ |
| 715 | #undef HAVE_X11R6 | 712 | #undef HAVE_X11R6 |
| 716 | 713 | ||
| @@ -1147,7 +1144,7 @@ typedef unsigned size_t; | |||
| 1147 | 1144 | ||
| 1148 | #ifdef HAVE_X11R6 | 1145 | #ifdef HAVE_X11R6 |
| 1149 | #define HAVE_X_I18N | 1146 | #define HAVE_X_I18N |
| 1150 | #elif defined HAVE_X11R5 && !defined X11R5_INHIBIT_I18N | 1147 | #elif !defined X11R5_INHIBIT_I18N |
| 1151 | #define HAVE_X_I18N | 1148 | #define HAVE_X_I18N |
| 1152 | #endif | 1149 | #endif |
| 1153 | 1150 | ||
diff --git a/src/dispextern.h b/src/dispextern.h index e89d0d7e390..086d2bffaf6 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -1820,6 +1820,9 @@ struct it_slice | |||
| 1820 | Lisp_Object height; | 1820 | Lisp_Object height; |
| 1821 | }; | 1821 | }; |
| 1822 | 1822 | ||
| 1823 | /* Input sources for fetching characters or data to display. | ||
| 1824 | The input source is found in the `method' field. */ | ||
| 1825 | |||
| 1823 | enum it_method { | 1826 | enum it_method { |
| 1824 | GET_FROM_BUFFER = 0, | 1827 | GET_FROM_BUFFER = 0, |
| 1825 | GET_FROM_DISPLAY_VECTOR, | 1828 | GET_FROM_DISPLAY_VECTOR, |
| @@ -1921,20 +1924,27 @@ struct it | |||
| 1921 | position in overlay strings etc. */ | 1924 | position in overlay strings etc. */ |
| 1922 | struct display_pos current; | 1925 | struct display_pos current; |
| 1923 | 1926 | ||
| 1927 | /* Total number of overlay strings to process. This can be > | ||
| 1928 | OVERLAY_STRING_CHUNK_SIZE. */ | ||
| 1929 | int n_overlay_strings; | ||
| 1930 | |||
| 1924 | /* Vector of overlays to process. Overlay strings are processed | 1931 | /* Vector of overlays to process. Overlay strings are processed |
| 1925 | OVERLAY_STRING_CHUNK_SIZE at a time. */ | 1932 | OVERLAY_STRING_CHUNK_SIZE at a time. */ |
| 1926 | #define OVERLAY_STRING_CHUNK_SIZE 16 | 1933 | #define OVERLAY_STRING_CHUNK_SIZE 16 |
| 1927 | Lisp_Object overlay_strings[OVERLAY_STRING_CHUNK_SIZE]; | 1934 | Lisp_Object overlay_strings[OVERLAY_STRING_CHUNK_SIZE]; |
| 1928 | 1935 | ||
| 1929 | /* Total number of overlay strings to process. This can be > | 1936 | /* For each overlay string, the overlay it came from. */ |
| 1930 | OVERLAY_STRING_CHUNK_SIZE. */ | 1937 | Lisp_Object string_overlays[OVERLAY_STRING_CHUNK_SIZE]; |
| 1931 | int n_overlay_strings; | ||
| 1932 | 1938 | ||
| 1933 | /* If non-nil, a Lisp string being processed. If | 1939 | /* If non-nil, a Lisp string being processed. If |
| 1934 | current.overlay_string_index >= 0, this is an overlay string from | 1940 | current.overlay_string_index >= 0, this is an overlay string from |
| 1935 | pos. */ | 1941 | pos. */ |
| 1936 | Lisp_Object string; | 1942 | Lisp_Object string; |
| 1937 | 1943 | ||
| 1944 | /* If non-nil, we are processing a string that came | ||
| 1945 | from a `display' property given by an overlay. */ | ||
| 1946 | Lisp_Object from_overlay; | ||
| 1947 | |||
| 1938 | /* Stack of saved values. New entries are pushed when we begin to | 1948 | /* Stack of saved values. New entries are pushed when we begin to |
| 1939 | process an overlay string or a string from a `glyph' property. | 1949 | process an overlay string or a string from a `glyph' property. |
| 1940 | Entries are popped when we return to deliver display elements | 1950 | Entries are popped when we return to deliver display elements |
| @@ -1970,6 +1980,7 @@ struct it | |||
| 1970 | /* current text and display positions. */ | 1980 | /* current text and display positions. */ |
| 1971 | struct text_pos position; | 1981 | struct text_pos position; |
| 1972 | struct display_pos current; | 1982 | struct display_pos current; |
| 1983 | Lisp_Object from_overlay; | ||
| 1973 | enum glyph_row_area area; | 1984 | enum glyph_row_area area; |
| 1974 | enum it_method method; | 1985 | enum it_method method; |
| 1975 | unsigned multibyte_p : 1; | 1986 | unsigned multibyte_p : 1; |
| @@ -1986,13 +1997,6 @@ struct it | |||
| 1986 | /* Stack pointer. */ | 1997 | /* Stack pointer. */ |
| 1987 | int sp; | 1998 | int sp; |
| 1988 | 1999 | ||
| 1989 | /* Setting of buffer-local variable selective-display-ellipsis. */ | ||
| 1990 | unsigned selective_display_ellipsis_p : 1; | ||
| 1991 | |||
| 1992 | /* 1 means control characters are translated into the form `^C' | ||
| 1993 | where the `^' can be replaced by a display table entry. */ | ||
| 1994 | unsigned ctl_arrow_p : 1; | ||
| 1995 | |||
| 1996 | /* -1 means selective display hides everything between a \r and the | 2000 | /* -1 means selective display hides everything between a \r and the |
| 1997 | next newline; > 0 means hide lines indented more than that value. */ | 2001 | next newline; > 0 means hide lines indented more than that value. */ |
| 1998 | int selective; | 2002 | int selective; |
| @@ -2004,6 +2008,16 @@ struct it | |||
| 2004 | /* Face to use. */ | 2008 | /* Face to use. */ |
| 2005 | int face_id; | 2009 | int face_id; |
| 2006 | 2010 | ||
| 2011 | /* Setting of buffer-local variable selective-display-ellipsis. */ | ||
| 2012 | unsigned selective_display_ellipsis_p : 1; | ||
| 2013 | |||
| 2014 | /* 1 means control characters are translated into the form `^C' | ||
| 2015 | where the `^' can be replaced by a display table entry. */ | ||
| 2016 | unsigned ctl_arrow_p : 1; | ||
| 2017 | |||
| 2018 | /* 1 means lines are truncated. */ | ||
| 2019 | unsigned truncate_lines_p : 1; | ||
| 2020 | |||
| 2007 | /* Non-zero means that the current face has a box. */ | 2021 | /* Non-zero means that the current face has a box. */ |
| 2008 | unsigned face_box_p : 1; | 2022 | unsigned face_box_p : 1; |
| 2009 | 2023 | ||
| @@ -2083,9 +2097,6 @@ struct it | |||
| 2083 | Lisp_Object object; | 2097 | Lisp_Object object; |
| 2084 | struct text_pos position; | 2098 | struct text_pos position; |
| 2085 | 2099 | ||
| 2086 | /* 1 means lines are truncated. */ | ||
| 2087 | unsigned truncate_lines_p : 1; | ||
| 2088 | |||
| 2089 | /* Number of columns per \t. */ | 2100 | /* Number of columns per \t. */ |
| 2090 | short tab_width; | 2101 | short tab_width; |
| 2091 | 2102 | ||
| @@ -2866,6 +2877,9 @@ void free_frame_faces P_ ((struct frame *)); | |||
| 2866 | void recompute_basic_faces P_ ((struct frame *)); | 2877 | void recompute_basic_faces P_ ((struct frame *)); |
| 2867 | int face_at_buffer_position P_ ((struct window *, int, int, int, int *, | 2878 | int face_at_buffer_position P_ ((struct window *, int, int, int, int *, |
| 2868 | int, int)); | 2879 | int, int)); |
| 2880 | int face_for_overlay_string P_ ((struct window *, int, int, | ||
| 2881 | int, int *, | ||
| 2882 | int, int, Lisp_Object)); | ||
| 2869 | int face_at_string_position P_ ((struct window *, Lisp_Object, int, int, int, | 2883 | int face_at_string_position P_ ((struct window *, Lisp_Object, int, int, int, |
| 2870 | int, int *, enum face_id, int)); | 2884 | int, int *, enum face_id, int)); |
| 2871 | int merge_faces P_ ((struct frame *, Lisp_Object, int, int)); | 2885 | int merge_faces P_ ((struct frame *, Lisp_Object, int, int)); |
diff --git a/src/dispnew.c b/src/dispnew.c index fcf54652115..973630609b6 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -7112,7 +7112,7 @@ The value is nil if the selected frame is on a text-only-terminal. */); | |||
| 7112 | 7112 | ||
| 7113 | DEFVAR_LISP ("window-system-version", &Vwindow_system_version, | 7113 | DEFVAR_LISP ("window-system-version", &Vwindow_system_version, |
| 7114 | doc: /* The version number of the window system in use. | 7114 | doc: /* The version number of the window system in use. |
| 7115 | For X windows, this is 10 or 11. */); | 7115 | For X windows, this is 11. */); |
| 7116 | 7116 | ||
| 7117 | DEFVAR_BOOL ("cursor-in-echo-area", &cursor_in_echo_area, | 7117 | DEFVAR_BOOL ("cursor-in-echo-area", &cursor_in_echo_area, |
| 7118 | doc: /* Non-nil means put cursor in minibuffer, at end of any message there. */); | 7118 | doc: /* Non-nil means put cursor in minibuffer, at end of any message there. */); |
diff --git a/src/emacs.c b/src/emacs.c index db442c219a4..c7fd234c6ef 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -1569,7 +1569,6 @@ main (argc, argv | |||
| 1569 | syms_of_fns (); | 1569 | syms_of_fns (); |
| 1570 | syms_of_floatfns (); | 1570 | syms_of_floatfns (); |
| 1571 | 1571 | ||
| 1572 | syms_of_abbrev (); | ||
| 1573 | syms_of_buffer (); | 1572 | syms_of_buffer (); |
| 1574 | syms_of_bytecode (); | 1573 | syms_of_bytecode (); |
| 1575 | syms_of_callint (); | 1574 | syms_of_callint (); |
| @@ -2542,8 +2541,9 @@ The value is nil if that directory's name is not known. */); | |||
| 2542 | 2541 | ||
| 2543 | DEFVAR_LISP ("installation-directory", &Vinstallation_directory, | 2542 | DEFVAR_LISP ("installation-directory", &Vinstallation_directory, |
| 2544 | doc: /* A directory within which to look for the `lib-src' and `etc' directories. | 2543 | doc: /* A directory within which to look for the `lib-src' and `etc' directories. |
| 2545 | This is non-nil when we can't find those directories in their standard installed | 2544 | This is non-nil when we can't find those directories in their standard |
| 2546 | locations, but we can find them near where the Emacs executable was found. */); | 2545 | installed locations, but we can find them near where the Emacs executable |
| 2546 | was found. */); | ||
| 2547 | Vinstallation_directory = Qnil; | 2547 | Vinstallation_directory = Qnil; |
| 2548 | 2548 | ||
| 2549 | DEFVAR_LISP ("system-messages-locale", &Vsystem_messages_locale, | 2549 | DEFVAR_LISP ("system-messages-locale", &Vsystem_messages_locale, |
diff --git a/src/frame.c b/src/frame.c index eecc6878c55..759e21c25c8 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -523,17 +523,7 @@ make_initial_frame (void) | |||
| 523 | struct terminal *terminal; | 523 | struct terminal *terminal; |
| 524 | Lisp_Object frame; | 524 | Lisp_Object frame; |
| 525 | 525 | ||
| 526 | #ifdef MULTI_KBOARD | 526 | eassert (initial_kboard); |
| 527 | /* Create the initial keyboard. */ | ||
| 528 | if (!initial_kboard) | ||
| 529 | { | ||
| 530 | initial_kboard = (KBOARD *) xmalloc (sizeof (KBOARD)); | ||
| 531 | init_kboard (initial_kboard); | ||
| 532 | /* Leave Vwindow_system at its `t' default for now. */ | ||
| 533 | initial_kboard->next_kboard = all_kboards; | ||
| 534 | all_kboards = initial_kboard; | ||
| 535 | } | ||
| 536 | #endif | ||
| 537 | 527 | ||
| 538 | /* The first call must initialize Vframe_list. */ | 528 | /* The first call must initialize Vframe_list. */ |
| 539 | if (! (NILP (Vframe_list) || CONSP (Vframe_list))) | 529 | if (! (NILP (Vframe_list) || CONSP (Vframe_list))) |
diff --git a/src/gtkutil.c b/src/gtkutil.c index 81ef09b7ec4..e36e192c65e 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -3460,6 +3460,7 @@ xg_tool_bar_menu_proxy (toolitem, user_data) | |||
| 3460 | GtkImage *wimage = GTK_IMAGE (gtk_bin_get_child (GTK_BIN (wbutton))); | 3460 | GtkImage *wimage = GTK_IMAGE (gtk_bin_get_child (GTK_BIN (wbutton))); |
| 3461 | GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (wbutton)); | 3461 | GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (wbutton)); |
| 3462 | GtkImageType store_type = gtk_image_get_storage_type (wimage); | 3462 | GtkImageType store_type = gtk_image_get_storage_type (wimage); |
| 3463 | |||
| 3463 | if (store_type == GTK_IMAGE_STOCK) | 3464 | if (store_type == GTK_IMAGE_STOCK) |
| 3464 | { | 3465 | { |
| 3465 | gchar *stock_id; | 3466 | gchar *stock_id; |
| @@ -3489,6 +3490,25 @@ xg_tool_bar_menu_proxy (toolitem, user_data) | |||
| 3489 | 3490 | ||
| 3490 | wmenuimage = gtk_image_new_from_pixbuf (dest_pixbuf); | 3491 | wmenuimage = gtk_image_new_from_pixbuf (dest_pixbuf); |
| 3491 | } | 3492 | } |
| 3493 | else | ||
| 3494 | { | ||
| 3495 | fprintf (stderr, "internal error: GTK_IMAGE_PIXBUF failed\n"); | ||
| 3496 | abort (); | ||
| 3497 | } | ||
| 3498 | } | ||
| 3499 | else if (store_type == GTK_IMAGE_ICON_NAME) | ||
| 3500 | { | ||
| 3501 | const gchar *icon_name; | ||
| 3502 | GtkIconSize icon_size; | ||
| 3503 | |||
| 3504 | gtk_image_get_icon_name (wimage, &icon_name, &icon_size); | ||
| 3505 | wmenuimage = gtk_image_new_from_icon_name (icon_name, | ||
| 3506 | GTK_ICON_SIZE_MENU); | ||
| 3507 | } | ||
| 3508 | else | ||
| 3509 | { | ||
| 3510 | fprintf (stderr, "internal error: store_type is %d\n", store_type); | ||
| 3511 | abort (); | ||
| 3492 | } | 3512 | } |
| 3493 | } | 3513 | } |
| 3494 | if (wmenuimage) | 3514 | if (wmenuimage) |
diff --git a/src/image.c b/src/image.c index 33d5e1a9b2d..91be3f4b57e 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -733,9 +733,9 @@ Lisp_Object Qxbm; | |||
| 733 | /* Keywords. */ | 733 | /* Keywords. */ |
| 734 | 734 | ||
| 735 | extern Lisp_Object QCwidth, QCheight, QCforeground, QCbackground, QCfile; | 735 | extern Lisp_Object QCwidth, QCheight, QCforeground, QCbackground, QCfile; |
| 736 | extern Lisp_Object QCdata, QCtype, Qcount; | 736 | extern Lisp_Object QCdata, QCtype; |
| 737 | extern Lisp_Object Qcenter; | 737 | extern Lisp_Object Qcenter; |
| 738 | Lisp_Object QCascent, QCmargin, QCrelief; | 738 | Lisp_Object QCascent, QCmargin, QCrelief, Qcount; |
| 739 | Lisp_Object QCconversion, QCcolor_symbols, QCheuristic_mask; | 739 | Lisp_Object QCconversion, QCcolor_symbols, QCheuristic_mask; |
| 740 | Lisp_Object QCindex, QCmatrix, QCcolor_adjustment, QCmask; | 740 | Lisp_Object QCindex, QCmatrix, QCcolor_adjustment, QCmask; |
| 741 | 741 | ||
| @@ -9089,6 +9089,9 @@ non-numeric, there is no explicit limit on the size of images. */); | |||
| 9089 | define_image_type (&xbm_type, 1); | 9089 | define_image_type (&xbm_type, 1); |
| 9090 | define_image_type (&pbm_type, 1); | 9090 | define_image_type (&pbm_type, 1); |
| 9091 | 9091 | ||
| 9092 | Qcount = intern ("count"); | ||
| 9093 | staticpro (&Qcount); | ||
| 9094 | |||
| 9092 | QCascent = intern (":ascent"); | 9095 | QCascent = intern (":ascent"); |
| 9093 | staticpro (&QCascent); | 9096 | staticpro (&QCascent); |
| 9094 | QCmargin = intern (":margin"); | 9097 | QCmargin = intern (":margin"); |
diff --git a/src/keyboard.c b/src/keyboard.c index 426ea34e3a4..0678fcdb4de 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -4017,9 +4017,6 @@ discard_mouse_events () | |||
| 4017 | if (sp->kind == MOUSE_CLICK_EVENT | 4017 | if (sp->kind == MOUSE_CLICK_EVENT |
| 4018 | || sp->kind == WHEEL_EVENT | 4018 | || sp->kind == WHEEL_EVENT |
| 4019 | || sp->kind == HORIZ_WHEEL_EVENT | 4019 | || sp->kind == HORIZ_WHEEL_EVENT |
| 4020 | #ifdef WINDOWSNT | ||
| 4021 | || sp->kind == W32_SCROLL_BAR_CLICK_EVENT | ||
| 4022 | #endif | ||
| 4023 | #ifdef HAVE_GPM | 4020 | #ifdef HAVE_GPM |
| 4024 | || sp->kind == GPM_CLICK_EVENT | 4021 | || sp->kind == GPM_CLICK_EVENT |
| 4025 | #endif | 4022 | #endif |
| @@ -4913,13 +4910,17 @@ char *lispy_function_keys[] = | |||
| 4913 | 0, /* VK_MENU 0x12 */ | 4910 | 0, /* VK_MENU 0x12 */ |
| 4914 | "pause", /* VK_PAUSE 0x13 */ | 4911 | "pause", /* VK_PAUSE 0x13 */ |
| 4915 | "capslock", /* VK_CAPITAL 0x14 */ | 4912 | "capslock", /* VK_CAPITAL 0x14 */ |
| 4916 | 4913 | "kana", /* VK_KANA/VK_HANGUL 0x15 */ | |
| 4917 | 0, 0, 0, 0, 0, 0, /* 0x15 .. 0x1A */ | 4914 | 0, /* 0x16 */ |
| 4918 | 4915 | "junja", /* VK_JUNJA 0x17 */ | |
| 4916 | "final", /* VK_FINAL 0x18 */ | ||
| 4917 | "kanji", /* VK_KANJI/VK_HANJA 0x19 */ | ||
| 4918 | 0, /* 0x1A */ | ||
| 4919 | "escape", /* VK_ESCAPE 0x1B */ | 4919 | "escape", /* VK_ESCAPE 0x1B */ |
| 4920 | 4920 | "convert", /* VK_CONVERT 0x1C */ | |
| 4921 | 0, 0, 0, 0, /* 0x1C .. 0x1F */ | 4921 | "non-convert", /* VK_NONCONVERT 0x1D */ |
| 4922 | 4922 | "accept", /* VK_ACCEPT 0x1E */ | |
| 4923 | "mode-change", /* VK_MODECHANGE 0x1F */ | ||
| 4923 | 0, /* VK_SPACE 0x20 */ | 4924 | 0, /* VK_SPACE 0x20 */ |
| 4924 | "prior", /* VK_PRIOR 0x21 */ | 4925 | "prior", /* VK_PRIOR 0x21 */ |
| 4925 | "next", /* VK_NEXT 0x22 */ | 4926 | "next", /* VK_NEXT 0x22 */ |
| @@ -4952,9 +4953,8 @@ char *lispy_function_keys[] = | |||
| 4952 | "lwindow", /* VK_LWIN 0x5B */ | 4953 | "lwindow", /* VK_LWIN 0x5B */ |
| 4953 | "rwindow", /* VK_RWIN 0x5C */ | 4954 | "rwindow", /* VK_RWIN 0x5C */ |
| 4954 | "apps", /* VK_APPS 0x5D */ | 4955 | "apps", /* VK_APPS 0x5D */ |
| 4955 | 4956 | 0, /* 0x5E */ | |
| 4956 | 0, 0, /* 0x5E .. 0x5F */ | 4957 | "sleep", |
| 4957 | |||
| 4958 | "kp-0", /* VK_NUMPAD0 0x60 */ | 4958 | "kp-0", /* VK_NUMPAD0 0x60 */ |
| 4959 | "kp-1", /* VK_NUMPAD1 0x61 */ | 4959 | "kp-1", /* VK_NUMPAD1 0x61 */ |
| 4960 | "kp-2", /* VK_NUMPAD2 0x62 */ | 4960 | "kp-2", /* VK_NUMPAD2 0x62 */ |
| @@ -5001,7 +5001,9 @@ char *lispy_function_keys[] = | |||
| 5001 | 5001 | ||
| 5002 | "kp-numlock", /* VK_NUMLOCK 0x90 */ | 5002 | "kp-numlock", /* VK_NUMLOCK 0x90 */ |
| 5003 | "scroll", /* VK_SCROLL 0x91 */ | 5003 | "scroll", /* VK_SCROLL 0x91 */ |
| 5004 | 5004 | /* Not sure where the following block comes from. | |
| 5005 | Windows headers have NEC and Fujitsu specific keys in | ||
| 5006 | this block, but nothing generic. */ | ||
| 5005 | "kp-space", /* VK_NUMPAD_CLEAR 0x92 */ | 5007 | "kp-space", /* VK_NUMPAD_CLEAR 0x92 */ |
| 5006 | "kp-enter", /* VK_NUMPAD_ENTER 0x93 */ | 5008 | "kp-enter", /* VK_NUMPAD_ENTER 0x93 */ |
| 5007 | "kp-prior", /* VK_NUMPAD_PRIOR 0x94 */ | 5009 | "kp-prior", /* VK_NUMPAD_PRIOR 0x94 */ |
| @@ -5021,19 +5023,47 @@ char *lispy_function_keys[] = | |||
| 5021 | * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys. | 5023 | * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys. |
| 5022 | * Used only as parameters to GetAsyncKeyState and GetKeyState. | 5024 | * Used only as parameters to GetAsyncKeyState and GetKeyState. |
| 5023 | * No other API or message will distinguish left and right keys this way. | 5025 | * No other API or message will distinguish left and right keys this way. |
| 5026 | * 0xA0 .. 0xA5 | ||
| 5024 | */ | 5027 | */ |
| 5025 | /* 0xA0 .. 0xEF */ | 5028 | 0, 0, 0, 0, 0, 0, |
| 5026 | 5029 | ||
| 5027 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 5030 | /* Multimedia keys. These are handled as WM_APPCOMMAND, which allows us |
| 5028 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 5031 | to enable them selectively, and gives access to a few more functions. |
| 5029 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 5032 | See lispy_multimedia_keys below. */ |
| 5030 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 5033 | 0, 0, 0, 0, 0, 0, 0, /* 0xA6 .. 0xAC Browser */ |
| 5031 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 5034 | 0, 0, 0, /* 0xAD .. 0xAF Volume */ |
| 5035 | 0, 0, 0, 0, /* 0xB0 .. 0xB3 Media */ | ||
| 5036 | 0, 0, 0, 0, /* 0xB4 .. 0xB7 Apps */ | ||
| 5032 | 5037 | ||
| 5033 | /* 0xF0 .. 0xF5 */ | 5038 | /* 0xB8 .. 0xC0 "OEM" keys - all seem to be punctuation. */ |
| 5039 | 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 5034 | 5040 | ||
| 5035 | 0, 0, 0, 0, 0, 0, | 5041 | /* 0xC1 - 0xDA unallocated, 0xDB-0xDF more OEM keys */ |
| 5042 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 5043 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 5036 | 5044 | ||
| 5045 | 0, /* 0xE0 */ | ||
| 5046 | "ax", /* VK_OEM_AX 0xE1 */ | ||
| 5047 | 0, /* VK_OEM_102 0xE2 */ | ||
| 5048 | "ico-help", /* VK_ICO_HELP 0xE3 */ | ||
| 5049 | "ico-00", /* VK_ICO_00 0xE4 */ | ||
| 5050 | 0, /* VK_PROCESSKEY 0xE5 */ | ||
| 5051 | "ico-clear", /* VK_ICO_CLEAR 0xE6 */ | ||
| 5052 | "packet", /* VK_PACKET 0xE7 */ | ||
| 5053 | 0, /* 0xE8 */ | ||
| 5054 | "reset", /* VK_OEM_RESET 0xE9 */ | ||
| 5055 | "jump", /* VK_OEM_JUMP 0xEA */ | ||
| 5056 | "oem-pa1", /* VK_OEM_PA1 0xEB */ | ||
| 5057 | "oem-pa2", /* VK_OEM_PA2 0xEC */ | ||
| 5058 | "oem-pa3", /* VK_OEM_PA3 0xED */ | ||
| 5059 | "wsctrl", /* VK_OEM_WSCTRL 0xEE */ | ||
| 5060 | "cusel", /* VK_OEM_CUSEL 0xEF */ | ||
| 5061 | "oem-attn", /* VK_OEM_ATTN 0xF0 */ | ||
| 5062 | "finish", /* VK_OEM_FINISH 0xF1 */ | ||
| 5063 | "copy", /* VK_OEM_COPY 0xF2 */ | ||
| 5064 | "auto", /* VK_OEM_AUTO 0xF3 */ | ||
| 5065 | "enlw", /* VK_OEM_ENLW 0xF4 */ | ||
| 5066 | "backtab", /* VK_OEM_BACKTAB 0xF5 */ | ||
| 5037 | "attn", /* VK_ATTN 0xF6 */ | 5067 | "attn", /* VK_ATTN 0xF6 */ |
| 5038 | "crsel", /* VK_CRSEL 0xF7 */ | 5068 | "crsel", /* VK_CRSEL 0xF7 */ |
| 5039 | "exsel", /* VK_EXSEL 0xF8 */ | 5069 | "exsel", /* VK_EXSEL 0xF8 */ |
| @@ -5046,6 +5076,65 @@ char *lispy_function_keys[] = | |||
| 5046 | 0 /* 0xFF */ | 5076 | 0 /* 0xFF */ |
| 5047 | }; | 5077 | }; |
| 5048 | 5078 | ||
| 5079 | /* Some of these duplicate the "Media keys" on newer keyboards, | ||
| 5080 | but they are delivered to the application in a different way. */ | ||
| 5081 | static char *lispy_multimedia_keys[] = | ||
| 5082 | { | ||
| 5083 | 0, | ||
| 5084 | "browser-back", | ||
| 5085 | "browser-forward", | ||
| 5086 | "browser-refresh", | ||
| 5087 | "browser-stop", | ||
| 5088 | "browser-search", | ||
| 5089 | "browser-favorites", | ||
| 5090 | "browser-home", | ||
| 5091 | "volume-mute", | ||
| 5092 | "volume-down", | ||
| 5093 | "volume-up", | ||
| 5094 | "media-next", | ||
| 5095 | "media-previous", | ||
| 5096 | "media-stop", | ||
| 5097 | "media-play-pause", | ||
| 5098 | "mail", | ||
| 5099 | "media-select", | ||
| 5100 | "app-1", | ||
| 5101 | "app-2", | ||
| 5102 | "bass-down", | ||
| 5103 | "bass-boost", | ||
| 5104 | "bass-up", | ||
| 5105 | "treble-down", | ||
| 5106 | "treble-up", | ||
| 5107 | "mic-volume-mute", | ||
| 5108 | "mic-volume-down", | ||
| 5109 | "mic-volume-up", | ||
| 5110 | "help", | ||
| 5111 | "find", | ||
| 5112 | "new", | ||
| 5113 | "open", | ||
| 5114 | "close", | ||
| 5115 | "save", | ||
| 5116 | "print", | ||
| 5117 | "undo", | ||
| 5118 | "redo", | ||
| 5119 | "copy", | ||
| 5120 | "cut", | ||
| 5121 | "paste", | ||
| 5122 | "mail-reply", | ||
| 5123 | "mail-forward", | ||
| 5124 | "mail-send", | ||
| 5125 | "spell-check", | ||
| 5126 | "toggle-dictate-command", | ||
| 5127 | "mic-toggle", | ||
| 5128 | "correction-list", | ||
| 5129 | "media-play", | ||
| 5130 | "media-pause", | ||
| 5131 | "media-record", | ||
| 5132 | "media-fast-forward", | ||
| 5133 | "media-rewind", | ||
| 5134 | "media-channel-up", | ||
| 5135 | "media-channel-down" | ||
| 5136 | }; | ||
| 5137 | |||
| 5049 | #else /* not HAVE_NTGUI */ | 5138 | #else /* not HAVE_NTGUI */ |
| 5050 | 5139 | ||
| 5051 | /* This should be dealt with in XTread_socket now, and that doesn't | 5140 | /* This should be dealt with in XTread_socket now, and that doesn't |
| @@ -5563,6 +5652,21 @@ make_lispy_event (event) | |||
| 5563 | (sizeof (lispy_function_keys) | 5652 | (sizeof (lispy_function_keys) |
| 5564 | / sizeof (lispy_function_keys[0]))); | 5653 | / sizeof (lispy_function_keys[0]))); |
| 5565 | 5654 | ||
| 5655 | #ifdef WINDOWSNT | ||
| 5656 | case MULTIMEDIA_KEY_EVENT: | ||
| 5657 | if (event->code < (sizeof (lispy_multimedia_keys) | ||
| 5658 | / sizeof (lispy_multimedia_keys[0])) | ||
| 5659 | && event->code > 0 && lispy_multimedia_keys[event->code]) | ||
| 5660 | { | ||
| 5661 | return modify_event_symbol (event->code, event->modifiers, | ||
| 5662 | Qfunction_key, Qnil, | ||
| 5663 | lispy_multimedia_keys, &func_key_syms, | ||
| 5664 | (sizeof (lispy_multimedia_keys) | ||
| 5665 | / sizeof (lispy_multimedia_keys[0]))); | ||
| 5666 | } | ||
| 5667 | return Qnil; | ||
| 5668 | #endif | ||
| 5669 | |||
| 5566 | #ifdef HAVE_MOUSE | 5670 | #ifdef HAVE_MOUSE |
| 5567 | /* A mouse click. Figure out where it is, decide whether it's | 5671 | /* A mouse click. Figure out where it is, decide whether it's |
| 5568 | a press, click or drag, and build the appropriate structure. */ | 5672 | a press, click or drag, and build the appropriate structure. */ |
| @@ -6003,52 +6107,6 @@ make_lispy_event (event) | |||
| 6003 | 6107 | ||
| 6004 | #endif /* USE_TOOLKIT_SCROLL_BARS */ | 6108 | #endif /* USE_TOOLKIT_SCROLL_BARS */ |
| 6005 | 6109 | ||
| 6006 | #ifdef WINDOWSNT | ||
| 6007 | case W32_SCROLL_BAR_CLICK_EVENT: | ||
| 6008 | { | ||
| 6009 | int button = event->code; | ||
| 6010 | int is_double; | ||
| 6011 | Lisp_Object position; | ||
| 6012 | Lisp_Object *start_pos_ptr; | ||
| 6013 | Lisp_Object start_pos; | ||
| 6014 | |||
| 6015 | { | ||
| 6016 | Lisp_Object window; | ||
| 6017 | Lisp_Object portion_whole; | ||
| 6018 | Lisp_Object part; | ||
| 6019 | |||
| 6020 | window = event->frame_or_window; | ||
| 6021 | portion_whole = Fcons (event->x, event->y); | ||
| 6022 | part = *scroll_bar_parts[(int) event->part]; | ||
| 6023 | |||
| 6024 | position | ||
| 6025 | = Fcons (window, | ||
| 6026 | Fcons (Qvertical_scroll_bar, | ||
| 6027 | Fcons (portion_whole, | ||
| 6028 | Fcons (make_number (event->timestamp), | ||
| 6029 | Fcons (part, Qnil))))); | ||
| 6030 | } | ||
| 6031 | |||
| 6032 | /* Always treat W32 scroll bar events as clicks. */ | ||
| 6033 | event->modifiers |= click_modifier; | ||
| 6034 | |||
| 6035 | { | ||
| 6036 | /* Get the symbol we should use for the mouse click. */ | ||
| 6037 | Lisp_Object head; | ||
| 6038 | |||
| 6039 | head = modify_event_symbol (button, | ||
| 6040 | event->modifiers, | ||
| 6041 | Qmouse_click, | ||
| 6042 | Vlispy_mouse_stem, | ||
| 6043 | NULL, &mouse_syms, | ||
| 6044 | XVECTOR (mouse_syms)->size); | ||
| 6045 | return Fcons (head, | ||
| 6046 | Fcons (position, | ||
| 6047 | Qnil)); | ||
| 6048 | } | ||
| 6049 | } | ||
| 6050 | #endif /* WINDOWSNT */ | ||
| 6051 | |||
| 6052 | case DRAG_N_DROP_EVENT: | 6110 | case DRAG_N_DROP_EVENT: |
| 6053 | { | 6111 | { |
| 6054 | FRAME_PTR f; | 6112 | FRAME_PTR f; |
| @@ -7097,7 +7155,7 @@ tty_read_avail_input (struct terminal *terminal, | |||
| 7097 | int nread = 0; | 7155 | int nread = 0; |
| 7098 | 7156 | ||
| 7099 | if (!terminal->name) /* Don't read from a dead terminal. */ | 7157 | if (!terminal->name) /* Don't read from a dead terminal. */ |
| 7100 | return; | 7158 | return 0; |
| 7101 | 7159 | ||
| 7102 | if (terminal->type != output_termcap) | 7160 | if (terminal->type != output_termcap) |
| 7103 | abort (); | 7161 | abort (); |
| @@ -11571,9 +11629,12 @@ init_keyboard () | |||
| 11571 | #ifdef MULTI_KBOARD | 11629 | #ifdef MULTI_KBOARD |
| 11572 | current_kboard = initial_kboard; | 11630 | current_kboard = initial_kboard; |
| 11573 | #endif | 11631 | #endif |
| 11632 | /* Re-initialize the keyboard again. */ | ||
| 11574 | wipe_kboard (current_kboard); | 11633 | wipe_kboard (current_kboard); |
| 11575 | init_kboard (current_kboard); | 11634 | init_kboard (current_kboard); |
| 11576 | /* Leave Vwindow_system at its `t' default for now. */ | 11635 | /* A value of nil for Vwindow_system normally means a tty, but we also use |
| 11636 | it for the initial terminal since there is no window system there. */ | ||
| 11637 | current_kboard->Vwindow_system = Qnil; | ||
| 11577 | 11638 | ||
| 11578 | if (!noninteractive) | 11639 | if (!noninteractive) |
| 11579 | { | 11640 | { |
| @@ -12399,6 +12460,15 @@ and the Lisp function within which the error was signaled. */); | |||
| 12399 | Help functions bind this to allow help on disabled menu items | 12460 | Help functions bind this to allow help on disabled menu items |
| 12400 | and tool-bar buttons. */); | 12461 | and tool-bar buttons. */); |
| 12401 | Venable_disabled_menus_and_buttons = Qnil; | 12462 | Venable_disabled_menus_and_buttons = Qnil; |
| 12463 | |||
| 12464 | #ifdef MULTI_KBOARD | ||
| 12465 | /* Create the initial keyboard. */ | ||
| 12466 | initial_kboard = (KBOARD *) xmalloc (sizeof (KBOARD)); | ||
| 12467 | init_kboard (initial_kboard); | ||
| 12468 | /* Vwindow_system is left at t for now. */ | ||
| 12469 | initial_kboard->next_kboard = all_kboards; | ||
| 12470 | all_kboards = initial_kboard; | ||
| 12471 | #endif | ||
| 12402 | } | 12472 | } |
| 12403 | 12473 | ||
| 12404 | void | 12474 | void |
diff --git a/src/lisp.h b/src/lisp.h index 62c629bd4a8..f4b93ff9dce 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -84,6 +84,20 @@ extern void die P_((const char *, const char *, int)) NO_RETURN; | |||
| 84 | 84 | ||
| 85 | #ifdef ENABLE_CHECKING | 85 | #ifdef ENABLE_CHECKING |
| 86 | 86 | ||
| 87 | /* The suppress_checking variable is initialized to 0 in alloc.c. Set | ||
| 88 | it to 1 using a debugger to temporarily disable aborting on | ||
| 89 | detected internal inconsistencies or error conditions. | ||
| 90 | |||
| 91 | Testing suppress_checking after the supplied condition ensures that | ||
| 92 | the side effects produced by CHECK will be consistent, independent | ||
| 93 | of whether ENABLE_CHECKING is defined, or whether the checks are | ||
| 94 | suppressed at run time. | ||
| 95 | |||
| 96 | In some cases, a good compiler may be able to optimize away the | ||
| 97 | CHECK macro altogether, e.g., if XSTRING (x) uses CHECK to test | ||
| 98 | STRINGP (x), but a particular use of XSTRING is invoked only after | ||
| 99 | testing that STRINGP (x) is true, making the test redundant. */ | ||
| 100 | |||
| 87 | #define CHECK(check,msg) (((check) || suppress_checking \ | 101 | #define CHECK(check,msg) (((check) || suppress_checking \ |
| 88 | ? (void) 0 \ | 102 | ? (void) 0 \ |
| 89 | : die ((msg), __FILE__, __LINE__)), \ | 103 | : die ((msg), __FILE__, __LINE__)), \ |
diff --git a/src/m/ibmps2-aix.h b/src/m/ibmps2-aix.h index 8c975b81bb9..045bcf2c294 100644 --- a/src/m/ibmps2-aix.h +++ b/src/m/ibmps2-aix.h | |||
| @@ -213,7 +213,6 @@ so disable it for them. */ | |||
| 213 | #undef NOMULTIPLEJOBS | 213 | #undef NOMULTIPLEJOBS |
| 214 | #undef BROKEN_TIOCGETC | 214 | #undef BROKEN_TIOCGETC |
| 215 | #undef BROKEN_TIOCGWINSZ | 215 | #undef BROKEN_TIOCGWINSZ |
| 216 | #undef LIBX10_SYSTEM | ||
| 217 | #undef LIBX11_SYSTEM | 216 | #undef LIBX11_SYSTEM |
| 218 | #undef LIB_X11_LIB | 217 | #undef LIB_X11_LIB |
| 219 | #endif | 218 | #endif |
diff --git a/src/m/is386.h b/src/m/is386.h index 02fe12d93e5..5041db9a6c8 100644 --- a/src/m/is386.h +++ b/src/m/is386.h | |||
| @@ -21,7 +21,6 @@ Intel 386 (-machine=intel386 or -machine=is386.h) | |||
| 21 | It may also be correct for Microport systems. | 21 | It may also be correct for Microport systems. |
| 22 | NOTE-END */ | 22 | NOTE-END */ |
| 23 | 23 | ||
| 24 | #define LIBX10_MACHINE -lnsl_s | ||
| 25 | #define LIBX11_MACHINE -lnsl_s | 24 | #define LIBX11_MACHINE -lnsl_s |
| 26 | 25 | ||
| 27 | #define LIBS_DEBUG -lg | 26 | #define LIBS_DEBUG -lg |
diff --git a/src/m/sparc.h b/src/m/sparc.h index 8df81ee91aa..bf122d857cc 100644 --- a/src/m/sparc.h +++ b/src/m/sparc.h | |||
| @@ -64,18 +64,6 @@ NOTE-END */ | |||
| 64 | 64 | ||
| 65 | #define SEGMENT_MASK (SEGSIZ - 1) | 65 | #define SEGMENT_MASK (SEGSIZ - 1) |
| 66 | 66 | ||
| 67 | /* Arrange to link with sun windows, if requested. */ | ||
| 68 | /* For details on emacstool and sunfns, see etc/SUN-SUPPORT */ | ||
| 69 | /* These programs require Sun UNIX 4.2 Release 3.2 or greater */ | ||
| 70 | |||
| 71 | #ifdef HAVE_SUN_WINDOWS | ||
| 72 | #define OTHER_FILES ${etcdir}emacstool | ||
| 73 | #define LIBS_MACHINE -lsuntool -lsunwindow -lpixrect | ||
| 74 | #define OBJECTS_MACHINE sunfns.o | ||
| 75 | #define SYMS_MACHINE syms_of_sunfns () | ||
| 76 | #define PURESIZE 130000 | ||
| 77 | #endif | ||
| 78 | |||
| 79 | #if !defined (__NetBSD__) && !defined (__linux__) && !defined (__OpenBSD__) | 67 | #if !defined (__NetBSD__) && !defined (__linux__) && !defined (__OpenBSD__) |
| 80 | /* This really belongs in s/sun.h. */ | 68 | /* This really belongs in s/sun.h. */ |
| 81 | 69 | ||
diff --git a/src/m/sun2.h b/src/m/sun2.h index e764ded3ce7..a872bf6f3bb 100644 --- a/src/m/sun2.h +++ b/src/m/sun2.h | |||
| @@ -85,17 +85,5 @@ NOTE-END */ | |||
| 85 | 85 | ||
| 86 | #define SEGMENT_MASK (SEGSIZ - 1) | 86 | #define SEGMENT_MASK (SEGSIZ - 1) |
| 87 | 87 | ||
| 88 | /* Arrange to link with sun windows, if requested. */ | ||
| 89 | /* For details on emacstool and sunfns, see etc/SUN-SUPPORT */ | ||
| 90 | /* These programs require Sun UNIX 4.2 Release 3.2 or greater */ | ||
| 91 | |||
| 92 | #ifdef HAVE_SUN_WINDOWS | ||
| 93 | #define OTHER_FILES ${libsrc}emacstool | ||
| 94 | #define LIBS_MACHINE -lsuntool -lsunwindow -lpixrect | ||
| 95 | #define OBJECTS_MACHINE sunfns.o | ||
| 96 | #define SYMS_MACHINE syms_of_sunfns () | ||
| 97 | #define PURESIZE 132000 | ||
| 98 | #endif | ||
| 99 | |||
| 100 | /* arch-tag: 543c3570-74ca-4099-aa47-db7c7b691c8e | 88 | /* arch-tag: 543c3570-74ca-4099-aa47-db7c7b691c8e |
| 101 | (do not change this comment) */ | 89 | (do not change this comment) */ |
diff --git a/src/m/sun386.h b/src/m/sun386.h index a3eedbe755e..ed98960c809 100644 --- a/src/m/sun386.h +++ b/src/m/sun386.h | |||
| @@ -56,18 +56,6 @@ NOTE-END */ | |||
| 56 | 56 | ||
| 57 | #define LIBS_TERMCAP -ltermcap | 57 | #define LIBS_TERMCAP -ltermcap |
| 58 | 58 | ||
| 59 | /* Arrange to link with sun windows, if requested. */ | ||
| 60 | /* For details on emacstool and sunfns, see etc/SUN-SUPPORT */ | ||
| 61 | /* These programs require Sun UNIX 4.2 Release 3.2 or greater */ | ||
| 62 | |||
| 63 | #ifdef HAVE_SUN_WINDOWS | ||
| 64 | #define OTHER_FILES ${etcdir}emacstool | ||
| 65 | #define LIBS_MACHINE -lsuntool -lsunwindow -lpixrect | ||
| 66 | #define OBJECTS_MACHINE sunfns.o | ||
| 67 | #define SYMS_MACHINE syms_of_sunfns () | ||
| 68 | #define PURESIZE 132000 | ||
| 69 | #endif | ||
| 70 | |||
| 71 | /* Roadrunner uses 'COFF' format */ | 59 | /* Roadrunner uses 'COFF' format */ |
| 72 | #define COFF | 60 | #define COFF |
| 73 | 61 | ||
diff --git a/src/macfns.c b/src/macfns.c index 0f40127637a..2b8c24db3b3 100644 --- a/src/macfns.c +++ b/src/macfns.c | |||
| @@ -4644,8 +4644,8 @@ ID is specified by either an integer or a float. */) | |||
| 4644 | Lisp_Object result; | 4644 | Lisp_Object result; |
| 4645 | 4645 | ||
| 4646 | check_mac (); | 4646 | check_mac (); |
| 4647 | CHECK_NUMBER_OR_FLOAT(id); | 4647 | CHECK_NUMBER_OR_FLOAT (id); |
| 4648 | font_id = NUMBERP (id) ? XINT (id) : (ATSUFontID) XFLOAT (id); | 4648 | font_id = INTEGERP (id) ? XINT (id) : XFLOAT_DATA (id); |
| 4649 | BLOCK_INPUT; | 4649 | BLOCK_INPUT; |
| 4650 | result = mac_atsu_font_face_attributes (font_id); | 4650 | result = mac_atsu_font_face_attributes (font_id); |
| 4651 | UNBLOCK_INPUT; | 4651 | UNBLOCK_INPUT; |
diff --git a/src/macterm.c b/src/macterm.c index 7f837d2a20d..f107f081421 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -3791,7 +3791,6 @@ x_draw_stretch_glyph_string (s) | |||
| 3791 | struct glyph_string *s; | 3791 | struct glyph_string *s; |
| 3792 | { | 3792 | { |
| 3793 | xassert (s->first_glyph->type == STRETCH_GLYPH); | 3793 | xassert (s->first_glyph->type == STRETCH_GLYPH); |
| 3794 | s->stippled_p = s->face->stipple != 0; | ||
| 3795 | 3794 | ||
| 3796 | if (s->hl == DRAW_CURSOR | 3795 | if (s->hl == DRAW_CURSOR |
| 3797 | && !x_stretch_cursor_p) | 3796 | && !x_stretch_cursor_p) |
diff --git a/src/makefile.w32-in b/src/makefile.w32-in index 296c10c4208..7c2c344a2d4 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in | |||
| @@ -56,8 +56,7 @@ FULL_LINK_FLAGS = $(LINK_FLAGS) $(TEMACS_EXTRA_LINK) | |||
| 56 | # | 56 | # |
| 57 | OBJ0 = $(BLD)/emacs.$(O) | 57 | OBJ0 = $(BLD)/emacs.$(O) |
| 58 | 58 | ||
| 59 | OBJ1 = $(BLD)/abbrev.$(O) \ | 59 | OBJ1 = $(BLD)/alloc.$(O) \ |
| 60 | $(BLD)/alloc.$(O) \ | ||
| 61 | $(BLD)/atimer.$(O) \ | 60 | $(BLD)/atimer.$(O) \ |
| 62 | $(BLD)/buffer.$(O) \ | 61 | $(BLD)/buffer.$(O) \ |
| 63 | $(BLD)/bytecode.$(O) \ | 62 | $(BLD)/bytecode.$(O) \ |
diff --git a/src/puresize.h b/src/puresize.h index f5b675055b8..bf4971a0b5f 100644 --- a/src/puresize.h +++ b/src/puresize.h | |||
| @@ -43,7 +43,7 @@ Boston, MA 02110-1301, USA. */ | |||
| 43 | #endif | 43 | #endif |
| 44 | 44 | ||
| 45 | #ifndef BASE_PURESIZE | 45 | #ifndef BASE_PURESIZE |
| 46 | #define BASE_PURESIZE (1170000 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA) | 46 | #define BASE_PURESIZE (1180000 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA) |
| 47 | #endif | 47 | #endif |
| 48 | 48 | ||
| 49 | /* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */ | 49 | /* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */ |
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h index 56a09f9b315..2881fa1eb75 100644 --- a/src/s/ms-w32.h +++ b/src/s/ms-w32.h | |||
| @@ -292,6 +292,7 @@ Boston, MA 02110-1301, USA. */ | |||
| 292 | #define HAVE_INET_SOCKETS 1 | 292 | #define HAVE_INET_SOCKETS 1 |
| 293 | 293 | ||
| 294 | #undef HAVE_AIX_SMT_EXP | 294 | #undef HAVE_AIX_SMT_EXP |
| 295 | #define USE_TOOLKIT_SCROLL_BARS 1 | ||
| 295 | 296 | ||
| 296 | /* Define if you have the ANSI `strerror' function. | 297 | /* Define if you have the ANSI `strerror' function. |
| 297 | Otherwise you must have the variable `char *sys_errlist[]'. */ | 298 | Otherwise you must have the variable `char *sys_errlist[]'. */ |
diff --git a/src/s/msdos.h b/src/s/msdos.h index 10246513811..297fda45baa 100644 --- a/src/s/msdos.h +++ b/src/s/msdos.h | |||
| @@ -263,7 +263,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */ | |||
| 263 | #ifdef HAVE_X_WINDOWS | 263 | #ifdef HAVE_X_WINDOWS |
| 264 | /* We need a little extra space, see ../../lisp/loadup.el */ | 264 | /* We need a little extra space, see ../../lisp/loadup.el */ |
| 265 | #define SYSTEM_PURESIZE_EXTRA 15000 | 265 | #define SYSTEM_PURESIZE_EXTRA 15000 |
| 266 | #define HAVE_X11R5 | ||
| 267 | #define LIBX11_SYSTEM -lxext -lsys | 266 | #define LIBX11_SYSTEM -lxext -lsys |
| 268 | #else | 267 | #else |
| 269 | /* We need a little extra space, see ../../lisp/loadup.el */ | 268 | /* We need a little extra space, see ../../lisp/loadup.el */ |
diff --git a/src/s/ptx.h b/src/s/ptx.h index d192bd6098a..4170e5036c9 100644 --- a/src/s/ptx.h +++ b/src/s/ptx.h | |||
| @@ -29,7 +29,6 @@ Boston, MA 02110-1301, USA. */ | |||
| 29 | 29 | ||
| 30 | /* Undo these defines because they are incorrect or need to be changed. */ | 30 | /* Undo these defines because they are incorrect or need to be changed. */ |
| 31 | #undef LIB_X11_LIB | 31 | #undef LIB_X11_LIB |
| 32 | #undef LIBX10_SYSTEM | ||
| 33 | #undef LIBX11_SYSTEM | 32 | #undef LIBX11_SYSTEM |
| 34 | #undef USG_SHARED_LIBRARIES | 33 | #undef USG_SHARED_LIBRARIES |
| 35 | 34 | ||
diff --git a/src/s/sco4.h b/src/s/sco4.h index 4912b275aaa..d16bcbead49 100644 --- a/src/s/sco4.h +++ b/src/s/sco4.h | |||
| @@ -100,11 +100,9 @@ Boston, MA 02110-1301, USA. */ | |||
| 100 | #define LIBS_SYSTEM -lPW | 100 | #define LIBS_SYSTEM -lPW |
| 101 | #endif | 101 | #endif |
| 102 | 102 | ||
| 103 | #ifdef HAVE_X11R5 | ||
| 104 | /* configure can't get this right linking fails unless -lsocket is used. */ | 103 | /* configure can't get this right linking fails unless -lsocket is used. */ |
| 105 | #undef HAVE_XSCREENNUMBEROFSCREEN | 104 | #undef HAVE_XSCREENNUMBEROFSCREEN |
| 106 | #define HAVE_XSCREENNUMBEROFSCREEN | 105 | #define HAVE_XSCREENNUMBEROFSCREEN |
| 107 | #endif | ||
| 108 | 106 | ||
| 109 | /* We don't have -loldX, and we don't need it. */ | 107 | /* We don't have -loldX, and we don't need it. */ |
| 110 | #define LIB_XMENU_LIB | 108 | #define LIB_XMENU_LIB |
diff --git a/src/s/sco5.h b/src/s/sco5.h index a5cc19656ab..1f56a998014 100644 --- a/src/s/sco5.h +++ b/src/s/sco5.h | |||
| @@ -98,11 +98,9 @@ Boston, MA 02110-1301, USA. */ | |||
| 98 | #define LIBS_SYSTEM -lPW | 98 | #define LIBS_SYSTEM -lPW |
| 99 | #endif | 99 | #endif |
| 100 | 100 | ||
| 101 | #ifdef HAVE_X11R5 | ||
| 102 | /* configure can't get this right linking fails unless -lsocket is used. */ | 101 | /* configure can't get this right linking fails unless -lsocket is used. */ |
| 103 | #undef HAVE_XSCREENNUMBEROFSCREEN | 102 | #undef HAVE_XSCREENNUMBEROFSCREEN |
| 104 | #define HAVE_XSCREENNUMBEROFSCREEN | 103 | #define HAVE_XSCREENNUMBEROFSCREEN |
| 105 | #endif | ||
| 106 | 104 | ||
| 107 | /* We don't have -loldX, and we don't need it. */ | 105 | /* We don't have -loldX, and we don't need it. */ |
| 108 | #define LIB_XMENU_LIB | 106 | #define LIB_XMENU_LIB |
diff --git a/src/s/usg5-3.h b/src/s/usg5-3.h index d9b53718488..5df34f31b0e 100644 --- a/src/s/usg5-3.h +++ b/src/s/usg5-3.h | |||
| @@ -181,7 +181,6 @@ Boston, MA 02110-1301, USA. */ | |||
| 181 | 181 | ||
| 182 | /* X needs to talk on the network, so search the network library. */ | 182 | /* X needs to talk on the network, so search the network library. */ |
| 183 | 183 | ||
| 184 | #define LIBX10_SYSTEM -lnsl_s | ||
| 185 | #define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lc_s | 184 | #define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lc_s |
| 186 | 185 | ||
| 187 | /* The docs for system V/386 suggest v.3 has sigpause, | 186 | /* The docs for system V/386 suggest v.3 has sigpause, |
diff --git a/src/s/usg5-4.h b/src/s/usg5-4.h index 3dc05f3e9fd..657fa9c51c6 100644 --- a/src/s/usg5-4.h +++ b/src/s/usg5-4.h | |||
| @@ -180,7 +180,6 @@ Boston, MA 02110-1301, USA. */ | |||
| 180 | library, as opposed to a DLL. Share libraries were used in SVR3, and are | 180 | library, as opposed to a DLL. Share libraries were used in SVR3, and are |
| 181 | available only in order to allow SVR3 binaries to run. They should not be | 181 | available only in order to allow SVR3 binaries to run. They should not be |
| 182 | linked in to new binaries. -- caraway!pinkas@caraway.intel.com. */ | 182 | linked in to new binaries. -- caraway!pinkas@caraway.intel.com. */ |
| 183 | #undef LIBX10_SYSTEM | ||
| 184 | #undef LIBX11_SYSTEM | 183 | #undef LIBX11_SYSTEM |
| 185 | 184 | ||
| 186 | /* Tell x11term.c and keyboard.c we have the system V streams feature. */ | 185 | /* Tell x11term.c and keyboard.c we have the system V streams feature. */ |
diff --git a/src/s/windows95.h b/src/s/windows95.h deleted file mode 100644 index cf7f3f13c88..00000000000 --- a/src/s/windows95.h +++ /dev/null | |||
| @@ -1,8 +0,0 @@ | |||
| 1 | /* System description file for Windows 95. */ | ||
| 2 | |||
| 3 | #include "windowsnt.h" | ||
| 4 | |||
| 5 | #define WINDOWS95 | ||
| 6 | |||
| 7 | /* arch-tag: 8a37be6f-312c-4b2a-919e-58a71a0fb4b3 | ||
| 8 | (do not change this comment) */ | ||
diff --git a/src/sunfns.c b/src/sunfns.c deleted file mode 100644 index 86e64cbcdcc..00000000000 --- a/src/sunfns.c +++ /dev/null | |||
| @@ -1,519 +0,0 @@ | |||
| 1 | /* Functions for Sun Windows menus and selection buffer. | ||
| 2 | Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is probably totally obsolete. In any case, the FSF is | ||
| 6 | unwilling to support it. We agreed to include it in our distribution | ||
| 7 | only on the understanding that we would spend no time at all on it. | ||
| 8 | |||
| 9 | If you have complaints about this file, send them to peck@sun.com. | ||
| 10 | If no one at Sun wants to maintain this, then consider it not | ||
| 11 | maintained at all. It would be a bad thing for the GNU project if | ||
| 12 | this file took our effort away from higher-priority things. | ||
| 13 | |||
| 14 | |||
| 15 | This file is part of GNU Emacs. | ||
| 16 | |||
| 17 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 18 | it under the terms of the GNU General Public License as published by | ||
| 19 | the Free Software Foundation; either version 3, or (at your option) | ||
| 20 | any later version. | ||
| 21 | |||
| 22 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 23 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 24 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 25 | GNU General Public License for more details. | ||
| 26 | |||
| 27 | You should have received a copy of the GNU General Public License | ||
| 28 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 29 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 30 | Boston, MA 02110-1301, USA. */ | ||
| 31 | |||
| 32 | /* Author: Jeff Peck, Sun Microsystems, Inc. <peck@sun.com> | ||
| 33 | Original ideas by David Kastan and Eric Negaard, SRI International | ||
| 34 | Major help from: Steve Greenbaum, Reasoning Systems, Inc. | ||
| 35 | <froud@kestrel.arpa> | ||
| 36 | who first discovered the Menu_Base_Kludge. | ||
| 37 | */ | ||
| 38 | |||
| 39 | /* | ||
| 40 | * Emacs Lisp-Callable functions for sunwindows | ||
| 41 | */ | ||
| 42 | #include <config.h> | ||
| 43 | |||
| 44 | #include <stdio.h> | ||
| 45 | #include <errno.h> | ||
| 46 | #include <signal.h> | ||
| 47 | #include <sunwindow/window_hs.h> | ||
| 48 | #include <suntool/selection.h> | ||
| 49 | #include <suntool/menu.h> | ||
| 50 | #include <suntool/walkmenu.h> | ||
| 51 | #include <suntool/frame.h> | ||
| 52 | #include <suntool/window.h> | ||
| 53 | |||
| 54 | #include <fcntl.h> | ||
| 55 | #undef NULL /* We don't need sunview's idea of NULL */ | ||
| 56 | #include "lisp.h" | ||
| 57 | #include "window.h" | ||
| 58 | #include "buffer.h" | ||
| 59 | #include "termhooks.h" | ||
| 60 | |||
| 61 | /* conversion to/from character & frame coordinates */ | ||
| 62 | /* From Gosling Emacs SunWindow driver by Chris Torek */ | ||
| 63 | |||
| 64 | /* Chars to frame coords. Note that we speak in zero origin. */ | ||
| 65 | #define CtoSX(cx) ((cx) * Sun_Font_Xsize) | ||
| 66 | #define CtoSY(cy) ((cy) * Sun_Font_Ysize) | ||
| 67 | |||
| 68 | /* Frame coords to chars */ | ||
| 69 | #define StoCX(sx) ((sx) / Sun_Font_Xsize) | ||
| 70 | #define StoCY(sy) ((sy) / Sun_Font_Ysize) | ||
| 71 | |||
| 72 | #define CHECK_GFX(x) if((win_fd<0)&&(Fsun_window_init(),(win_fd<0)))return(x) | ||
| 73 | int win_fd = -1; | ||
| 74 | struct pixfont *Sun_Font; /* The font */ | ||
| 75 | int Sun_Font_Xsize; /* Width of font */ | ||
| 76 | int Sun_Font_Ysize; /* Height of font */ | ||
| 77 | |||
| 78 | #define Menu_Base_Kludge /* until menu_show_using_fd gets fixed */ | ||
| 79 | #ifdef Menu_Base_Kludge | ||
| 80 | static Frame Menu_Base_Frame; | ||
| 81 | static int Menu_Base_fd; | ||
| 82 | static Lisp_Object sm_kludge_string; | ||
| 83 | #endif | ||
| 84 | struct cursor CurrentCursor; /* The current cursor */ | ||
| 85 | |||
| 86 | static short CursorData[16]; /* Build cursor here */ | ||
| 87 | static mpr_static(CursorMpr, 16, 16, 1, CursorData); | ||
| 88 | static struct cursor NewCursor = {0, 0, PIX_SRC ^ PIX_DST, &CursorMpr}; | ||
| 89 | |||
| 90 | #define RIGHT_ARROW_CURSOR /* if you want the right arrow */ | ||
| 91 | #ifdef RIGHT_ARROW_CURSOR | ||
| 92 | /* The default right-arrow cursor, with XOR drawing. */ | ||
| 93 | static short ArrowCursorData[16] = { | ||
| 94 | 0x0001,0x0003,0x0007,0x000F,0x001F,0x003F,0x007F,0x000F, | ||
| 95 | 0x001B,0x0019,0x0030,0x0030,0x0060,0x0060,0x00C0,0x00C0}; | ||
| 96 | static mpr_static(ArrowCursorMpr, 16, 16, 1, ArrowCursorData); | ||
| 97 | struct cursor DefaultCursor = {15, 0, PIX_SRC ^ PIX_DST, &ArrowCursorMpr}; | ||
| 98 | |||
| 99 | #else | ||
| 100 | /* The default left-arrow cursor, with XOR drawing. */ | ||
| 101 | static short ArrowCursorData[16] = { | ||
| 102 | 0x8000,0xC000,0xE000,0xF000,0xF800,0xFC00,0xFE00,0xF000, | ||
| 103 | 0xD800,0x9800,0x0C00,0x0C00,0x0600,0x0600,0x0300,0x0300}; | ||
| 104 | static mpr_static(ArrowCursorMpr, 16, 16, 1, ArrowCursorData); | ||
| 105 | struct cursor DefaultCursor = {0, 0, PIX_SRC ^ PIX_DST, &ArrowCursorMpr}; | ||
| 106 | #endif | ||
| 107 | |||
| 108 | /* | ||
| 109 | * Initialize window | ||
| 110 | */ | ||
| 111 | DEFUN ("sun-window-init", Fsun_window_init, Ssun_window_init, 0, 1, 0, | ||
| 112 | doc: /* One time setup for using Sun Windows with mouse. | ||
| 113 | Unless optional argument FORCE is non-nil, is a noop after its first call. | ||
| 114 | Returns a number representing the file descriptor of the open Sun Window, | ||
| 115 | or -1 if can not open it. */) | ||
| 116 | (force) | ||
| 117 | Lisp_Object force; | ||
| 118 | { | ||
| 119 | char *cp; | ||
| 120 | static int already_initialized = 0; | ||
| 121 | |||
| 122 | if ((! already_initialized) || (!NILP(force))) { | ||
| 123 | cp = getenv("WINDOW_GFX"); | ||
| 124 | if (cp != 0) win_fd = emacs_open (cp, O_RDWR, 0); | ||
| 125 | if (win_fd > 0) | ||
| 126 | { | ||
| 127 | Sun_Font = pf_default(); | ||
| 128 | Sun_Font_Xsize = Sun_Font->pf_defaultsize.x; | ||
| 129 | Sun_Font_Ysize = Sun_Font->pf_defaultsize.y; | ||
| 130 | Fsun_change_cursor_icon (Qnil); /* set up the default cursor */ | ||
| 131 | already_initialized = 1; | ||
| 132 | #ifdef Menu_Base_Kludge | ||
| 133 | |||
| 134 | /* Make a frame to use for putting the menu on, and get its fd. */ | ||
| 135 | Menu_Base_Frame = window_create(0, FRAME, | ||
| 136 | WIN_X, 0, WIN_Y, 0, | ||
| 137 | WIN_ROWS, 1, WIN_COLUMNS, 1, | ||
| 138 | WIN_SHOW, FALSE, | ||
| 139 | FRAME_NO_CONFIRM, 1, | ||
| 140 | 0); | ||
| 141 | Menu_Base_fd = (int) window_get(Menu_Base_Frame, WIN_FD); | ||
| 142 | #endif | ||
| 143 | } | ||
| 144 | } | ||
| 145 | return(make_number(win_fd)); | ||
| 146 | } | ||
| 147 | |||
| 148 | /* | ||
| 149 | * Mouse sit-for (allows a shorter interval than the regular sit-for | ||
| 150 | * and can be interrupted by the mouse) | ||
| 151 | */ | ||
| 152 | DEFUN ("sit-for-millisecs", Fsit_for_millisecs, Ssit_for_millisecs, 1, 1, 0, | ||
| 153 | doc: /* Like sit-for, but ARG is milliseconds. | ||
| 154 | Perform redisplay, then wait for ARG milliseconds or until | ||
| 155 | input is available. Returns t if wait completed with no input. | ||
| 156 | Redisplay does not happen if input is available before it starts. */) | ||
| 157 | (n) | ||
| 158 | Lisp_Object n; | ||
| 159 | { | ||
| 160 | struct timeval Timeout; | ||
| 161 | int waitmask = 1; | ||
| 162 | |||
| 163 | CHECK_NUMBER (n); | ||
| 164 | Timeout.tv_sec = XINT(n) / 1000; | ||
| 165 | Timeout.tv_usec = (XINT(n) - (Timeout.tv_sec * 1000)) * 1000; | ||
| 166 | |||
| 167 | if (detect_input_pending()) return(Qnil); | ||
| 168 | redisplay_preserve_echo_area (16); | ||
| 169 | /* | ||
| 170 | * Check for queued keyboard input/mouse hits again | ||
| 171 | * (A bit screen update can take some time!) | ||
| 172 | */ | ||
| 173 | if (detect_input_pending()) return(Qnil); | ||
| 174 | select(1,&waitmask,0,0,&Timeout); | ||
| 175 | if (detect_input_pending()) return(Qnil); | ||
| 176 | return(Qt); | ||
| 177 | } | ||
| 178 | |||
| 179 | /* | ||
| 180 | * Sun sleep-for (allows a shorter interval than the regular sleep-for) | ||
| 181 | */ | ||
| 182 | DEFUN ("sleep-for-millisecs", | ||
| 183 | Fsleep_for_millisecs, | ||
| 184 | Ssleep_for_millisecs, 1, 1, 0, | ||
| 185 | doc: /* Pause, without updating display, for ARG milliseconds. */) | ||
| 186 | (n) | ||
| 187 | Lisp_Object n; | ||
| 188 | { | ||
| 189 | unsigned useconds; | ||
| 190 | |||
| 191 | CHECK_NUMBER (n); | ||
| 192 | useconds = XINT(n) * 1000; | ||
| 193 | usleep(useconds); | ||
| 194 | return(Qt); | ||
| 195 | } | ||
| 196 | |||
| 197 | DEFUN ("update-display", Fupdate_display, Supdate_display, 0, 0, 0, | ||
| 198 | doc: /* Perform redisplay. */) | ||
| 199 | () | ||
| 200 | { | ||
| 201 | redisplay_preserve_echo_area (17); | ||
| 202 | return(Qt); | ||
| 203 | } | ||
| 204 | |||
| 205 | |||
| 206 | /* | ||
| 207 | * Change the Sun mouse icon | ||
| 208 | */ | ||
| 209 | DEFUN ("sun-change-cursor-icon", | ||
| 210 | Fsun_change_cursor_icon, | ||
| 211 | Ssun_change_cursor_icon, 1, 1, 0, | ||
| 212 | doc: /* Change the Sun mouse cursor icon. | ||
| 213 | ICON is a lisp vector whose 1st element | ||
| 214 | is the X offset of the cursor hot-point, whose 2nd element is the Y offset | ||
| 215 | of the cursor hot-point and whose 3rd element is the cursor pixel data | ||
| 216 | expressed as a string. If ICON is nil then the original arrow cursor is used. */) | ||
| 217 | (Icon) | ||
| 218 | Lisp_Object Icon; | ||
| 219 | { | ||
| 220 | register unsigned char *cp; | ||
| 221 | register short *p; | ||
| 222 | register int i; | ||
| 223 | Lisp_Object X_Hot, Y_Hot, Data; | ||
| 224 | |||
| 225 | CHECK_GFX (Qnil); | ||
| 226 | /* | ||
| 227 | * If the icon is null, we just restore the DefaultCursor | ||
| 228 | */ | ||
| 229 | if (NILP(Icon)) | ||
| 230 | CurrentCursor = DefaultCursor; | ||
| 231 | else { | ||
| 232 | /* | ||
| 233 | * extract the data from the vector | ||
| 234 | */ | ||
| 235 | CHECK_VECTOR (Icon); | ||
| 236 | if (XVECTOR(Icon)->size < 3) return(Qnil); | ||
| 237 | X_Hot = XVECTOR(Icon)->contents[0]; | ||
| 238 | Y_Hot = XVECTOR(Icon)->contents[1]; | ||
| 239 | Data = XVECTOR(Icon)->contents[2]; | ||
| 240 | |||
| 241 | CHECK_NUMBER (X_Hot); | ||
| 242 | CHECK_NUMBER (Y_Hot); | ||
| 243 | CHECK_STRING (Data); | ||
| 244 | if (SCHARS (Data) != 32) return(Qnil); | ||
| 245 | /* | ||
| 246 | * Setup the new cursor | ||
| 247 | */ | ||
| 248 | NewCursor.cur_xhot = X_Hot; | ||
| 249 | NewCursor.cur_yhot = Y_Hot; | ||
| 250 | cp = SDATA (Data); | ||
| 251 | p = CursorData; | ||
| 252 | i = 16; | ||
| 253 | while(--i >= 0) | ||
| 254 | *p++ = (cp[0] << 8) | cp[1], cp += 2; | ||
| 255 | CurrentCursor = NewCursor; | ||
| 256 | } | ||
| 257 | win_setcursor(win_fd, &CurrentCursor); | ||
| 258 | return(Qt); | ||
| 259 | } | ||
| 260 | |||
| 261 | /* | ||
| 262 | * Interface for sunwindows selection | ||
| 263 | */ | ||
| 264 | static Lisp_Object Current_Selection; | ||
| 265 | |||
| 266 | static | ||
| 267 | sel_write (sel, file) | ||
| 268 | struct selection *sel; | ||
| 269 | FILE *file; | ||
| 270 | { | ||
| 271 | fwrite (SDATA (Current_Selection), sizeof (char), | ||
| 272 | sel->sel_items, file); | ||
| 273 | } | ||
| 274 | |||
| 275 | static | ||
| 276 | sel_clear (sel, windowfd) | ||
| 277 | struct selection *sel; | ||
| 278 | int windowfd; | ||
| 279 | { | ||
| 280 | } | ||
| 281 | |||
| 282 | static | ||
| 283 | sel_read (sel, file) | ||
| 284 | struct selection *sel; | ||
| 285 | FILE *file; | ||
| 286 | { | ||
| 287 | register int i, n; | ||
| 288 | register char *cp; | ||
| 289 | |||
| 290 | Current_Selection = empty_unibyte_string; | ||
| 291 | if (sel->sel_items <= 0) | ||
| 292 | return (0); | ||
| 293 | cp = (char *) malloc(sel->sel_items); | ||
| 294 | if (cp == (char *)0) { | ||
| 295 | error("malloc failed in sel_read"); | ||
| 296 | return(-1); | ||
| 297 | } | ||
| 298 | n = fread(cp, sizeof(char), sel->sel_items, file); | ||
| 299 | if (n > sel->sel_items) { | ||
| 300 | error("fread botch in sel_read"); | ||
| 301 | return(-1); | ||
| 302 | } else if (n < 0) { | ||
| 303 | error("Error reading selection"); | ||
| 304 | return(-1); | ||
| 305 | } | ||
| 306 | /* | ||
| 307 | * The shelltool select saves newlines as carriage returns, | ||
| 308 | * but emacs wants newlines. | ||
| 309 | */ | ||
| 310 | for (i = 0; i < n; i++) | ||
| 311 | if (cp[i] == '\r') cp[i] = '\n'; | ||
| 312 | |||
| 313 | Current_Selection = make_string (cp, n); | ||
| 314 | free (cp); | ||
| 315 | return (0); | ||
| 316 | } | ||
| 317 | |||
| 318 | /* | ||
| 319 | * Set the window system "selection" to be the arg STRING | ||
| 320 | */ | ||
| 321 | DEFUN ("sun-set-selection", Fsun_set_selection, Ssun_set_selection, 1, 1, | ||
| 322 | "sSet selection to: ", | ||
| 323 | doc: /* Set the current sunwindow selection to STRING. */) | ||
| 324 | (str) | ||
| 325 | Lisp_Object str; | ||
| 326 | { | ||
| 327 | struct selection selection; | ||
| 328 | |||
| 329 | CHECK_STRING (str); | ||
| 330 | Current_Selection = str; | ||
| 331 | |||
| 332 | CHECK_GFX (Qnil); | ||
| 333 | selection.sel_type = SELTYPE_CHAR; | ||
| 334 | selection.sel_items = SCHARS (str); | ||
| 335 | selection.sel_itembytes = 1; | ||
| 336 | selection.sel_pubflags = 1; | ||
| 337 | selection_set(&selection, sel_write, sel_clear, win_fd); | ||
| 338 | return (Qt); | ||
| 339 | } | ||
| 340 | /* | ||
| 341 | * Stuff the current window system selection into the current buffer | ||
| 342 | */ | ||
| 343 | DEFUN ("sun-get-selection", Fsun_get_selection, Ssun_get_selection, 0, 0, 0, | ||
| 344 | doc: /* Return the current sunwindows selection as a string. */) | ||
| 345 | () | ||
| 346 | { | ||
| 347 | CHECK_GFX (Current_Selection); | ||
| 348 | selection_get (sel_read, win_fd); | ||
| 349 | return (Current_Selection); | ||
| 350 | } | ||
| 351 | |||
| 352 | Menu sun_menu_create(); | ||
| 353 | |||
| 354 | Menu_item | ||
| 355 | sun_item_create (Pair) | ||
| 356 | Lisp_Object Pair; | ||
| 357 | { | ||
| 358 | /* In here, we depend on Lisp supplying zero terminated strings in the data*/ | ||
| 359 | /* so we can just pass the pointers, and not recopy anything */ | ||
| 360 | |||
| 361 | Menu_item menu_item; | ||
| 362 | Menu submenu; | ||
| 363 | Lisp_Object String; | ||
| 364 | Lisp_Object Value; | ||
| 365 | |||
| 366 | CHECK_LIST_CONS (Pair, Pair); | ||
| 367 | String = Fcar(Pair); | ||
| 368 | CHECK_STRING(String); | ||
| 369 | Value = Fcdr(Pair); | ||
| 370 | if (SYMBOLP (Value)) | ||
| 371 | Value = SYMBOL_VALUE (Value); | ||
| 372 | if (VECTORP (Value)) { | ||
| 373 | submenu = sun_menu_create (Value); | ||
| 374 | menu_item = menu_create_item | ||
| 375 | (MENU_RELEASE, MENU_PULLRIGHT_ITEM, SDATA (String), submenu, 0); | ||
| 376 | } else { | ||
| 377 | menu_item = menu_create_item | ||
| 378 | (MENU_RELEASE, MENU_STRING_ITEM, SDATA (String), Value, 0); | ||
| 379 | } | ||
| 380 | return menu_item; | ||
| 381 | } | ||
| 382 | |||
| 383 | Menu | ||
| 384 | sun_menu_create (Vector) | ||
| 385 | Lisp_Object Vector; | ||
| 386 | { | ||
| 387 | Menu menu; | ||
| 388 | int i; | ||
| 389 | CHECK_VECTOR(Vector); | ||
| 390 | menu=menu_create(0); | ||
| 391 | for(i = 0; i < XVECTOR(Vector)->size; i++) { | ||
| 392 | menu_set (menu, MENU_APPEND_ITEM, | ||
| 393 | sun_item_create(XVECTOR(Vector)->contents[i]), 0); | ||
| 394 | } | ||
| 395 | return menu; | ||
| 396 | } | ||
| 397 | |||
| 398 | /* | ||
| 399 | * If the first item of the menu has nil as its value, then make the | ||
| 400 | * item look like a label by inverting it and making it unselectable. | ||
| 401 | * Returns 1 if the label was made, 0 otherwise. | ||
| 402 | */ | ||
| 403 | int | ||
| 404 | make_menu_label (menu) | ||
| 405 | Menu menu; | ||
| 406 | { | ||
| 407 | int made_label_p = 0; | ||
| 408 | |||
| 409 | if (( menu_get(menu, MENU_NITEMS) > 0 ) && /* At least one item */ | ||
| 410 | ((Lisp_Object) menu_get(menu_get(menu, MENU_NTH_ITEM, 1), | ||
| 411 | MENU_VALUE) == Qnil )) { | ||
| 412 | menu_set(menu_get(menu, MENU_NTH_ITEM, 1), | ||
| 413 | MENU_INVERT, TRUE, | ||
| 414 | MENU_FEEDBACK, FALSE, | ||
| 415 | 0); | ||
| 416 | made_label_p = 1; | ||
| 417 | } | ||
| 418 | return made_label_p; | ||
| 419 | } | ||
| 420 | |||
| 421 | /* | ||
| 422 | * Do a pop-up menu and return the selected value | ||
| 423 | */ | ||
| 424 | DEFUN ("sun-menu-internal", | ||
| 425 | Fsun_menu_internal, | ||
| 426 | Ssun_menu_internal, 5, 5, 0, | ||
| 427 | doc: /* Set up a SunView pop-up menu and return the user's choice. | ||
| 428 | Arguments WINDOW, X, Y, BUTTON, and MENU. | ||
| 429 | *** User code should generally use sun-menu-evaluate *** | ||
| 430 | |||
| 431 | Arguments WINDOW, X, Y, BUTTON, and MENU. | ||
| 432 | Put MENU up in WINDOW at position X, Y. | ||
| 433 | The BUTTON argument specifies the button to be released that selects an item: | ||
| 434 | 1 = LEFT BUTTON | ||
| 435 | 2 = MIDDLE BUTTON | ||
| 436 | 4 = RIGHT BUTTON | ||
| 437 | The MENU argument is a vector containing (STRING . VALUE) pairs. | ||
| 438 | The VALUE of the selected item is returned. | ||
| 439 | If the VALUE of the first pair is nil, then the first STRING will be used | ||
| 440 | as a menu label. */) | ||
| 441 | (window, X_Position, Y_Position, Button, MEnu) | ||
| 442 | Lisp_Object window, X_Position, Y_Position, Button, MEnu; | ||
| 443 | { | ||
| 444 | Menu menu; | ||
| 445 | int button, xpos, ypos; | ||
| 446 | Event event0; | ||
| 447 | Event *event = &event0; | ||
| 448 | Lisp_Object Value, Pair; | ||
| 449 | |||
| 450 | CHECK_NUMBER(X_Position); | ||
| 451 | CHECK_NUMBER(Y_Position); | ||
| 452 | CHECK_LIVE_WINDOW(window); | ||
| 453 | CHECK_NUMBER(Button); | ||
| 454 | CHECK_VECTOR(MEnu); | ||
| 455 | |||
| 456 | CHECK_GFX (Qnil); | ||
| 457 | |||
| 458 | xpos = CtoSX (WINDOW_LEFT_EDGE_COL (XWINDOW (window)) | ||
| 459 | + WINDOW_LEFT_SCROLL_BAR_COLS (XWINDOW (window)) | ||
| 460 | + XINT(X_Position)); | ||
| 461 | ypos = CtoSY (WINDOW_TOP_EDGE_LINE (XWINDOW(window)) + XINT(Y_Position)); | ||
| 462 | #ifdef Menu_Base_Kludge | ||
| 463 | {static Lisp_Object symbol[2]; | ||
| 464 | symbol[0] = Fintern (sm_kludge_string, Qnil); | ||
| 465 | Pair = Ffuncall (1, symbol); | ||
| 466 | xpos += XINT (XCDR (Pair)); | ||
| 467 | ypos += XINT (XCAR (Pair)); | ||
| 468 | } | ||
| 469 | #endif | ||
| 470 | |||
| 471 | button = XINT(Button); | ||
| 472 | if(button == 4) button = 3; | ||
| 473 | event_set_id (event, BUT(button)); | ||
| 474 | event_set_down (event); | ||
| 475 | event_set_x (event, xpos); | ||
| 476 | event_set_y (event, ypos); | ||
| 477 | |||
| 478 | menu = sun_menu_create(MEnu); | ||
| 479 | make_menu_label(menu); | ||
| 480 | |||
| 481 | #ifdef Menu_Base_Kludge | ||
| 482 | Value = (Lisp_Object) menu_show(menu, Menu_Base_Frame, event, 0); | ||
| 483 | #else | ||
| 484 | /* This confuses the notifier or something: */ | ||
| 485 | Value = (Lisp_Object) menu_show_using_fd(menu, win_fd, event, 0); | ||
| 486 | /* | ||
| 487 | * Right button gets lost, and event sequencing or delivery gets mixed up | ||
| 488 | * So, until that gets fixed, we use this <Menu_Base_Frame> kludge: | ||
| 489 | */ | ||
| 490 | #endif | ||
| 491 | menu_destroy (menu); | ||
| 492 | |||
| 493 | return ((int)Value ? Value : Qnil); | ||
| 494 | } | ||
| 495 | |||
| 496 | |||
| 497 | /* | ||
| 498 | * Define everything | ||
| 499 | */ | ||
| 500 | syms_of_sunfns() | ||
| 501 | { | ||
| 502 | #ifdef Menu_Base_Kludge | ||
| 503 | /* i'm just too lazy to re-write this into C code */ | ||
| 504 | /* so we will call this elisp function from C */ | ||
| 505 | sm_kludge_string = make_pure_string ("sm::menu-kludge", 15, 15, 0); | ||
| 506 | #endif /* Menu_Base_Kludge */ | ||
| 507 | |||
| 508 | defsubr(&Ssun_window_init); | ||
| 509 | defsubr(&Ssit_for_millisecs); | ||
| 510 | defsubr(&Ssleep_for_millisecs); | ||
| 511 | defsubr(&Supdate_display); | ||
| 512 | defsubr(&Ssun_change_cursor_icon); | ||
| 513 | defsubr(&Ssun_set_selection); | ||
| 514 | defsubr(&Ssun_get_selection); | ||
| 515 | defsubr(&Ssun_menu_internal); | ||
| 516 | } | ||
| 517 | |||
| 518 | /* arch-tag: 2d7decb7-58f6-41aa-b45b-077ccfab7158 | ||
| 519 | (do not change this comment) */ | ||
diff --git a/src/termhooks.h b/src/termhooks.h index 4d8fb8a861b..369bdff158d 100644 --- a/src/termhooks.h +++ b/src/termhooks.h | |||
| @@ -132,10 +132,6 @@ enum event_kind | |||
| 132 | whose scroll bar was clicked in. | 132 | whose scroll bar was clicked in. |
| 133 | .timestamp gives a timestamp (in | 133 | .timestamp gives a timestamp (in |
| 134 | milliseconds) for the click. */ | 134 | milliseconds) for the click. */ |
| 135 | #ifdef WINDOWSNT | ||
| 136 | W32_SCROLL_BAR_CLICK_EVENT, /* as for SCROLL_BAR_CLICK, but only generated | ||
| 137 | by MS-Windows scroll bar controls. */ | ||
| 138 | #endif | ||
| 139 | SELECTION_REQUEST_EVENT, /* Another X client wants a selection from us. | 135 | SELECTION_REQUEST_EVENT, /* Another X client wants a selection from us. |
| 140 | See `struct selection_input_event'. */ | 136 | See `struct selection_input_event'. */ |
| 141 | SELECTION_CLEAR_EVENT, /* Another X client cleared our selection. */ | 137 | SELECTION_CLEAR_EVENT, /* Another X client cleared our selection. */ |
| @@ -200,6 +196,21 @@ enum event_kind | |||
| 200 | #ifdef HAVE_GPM | 196 | #ifdef HAVE_GPM |
| 201 | , GPM_CLICK_EVENT | 197 | , GPM_CLICK_EVENT |
| 202 | #endif | 198 | #endif |
| 199 | |||
| 200 | #ifdef WINDOWSNT | ||
| 201 | /* Generated when an APPCOMMAND event is received, in response to | ||
| 202 | Multimedia or Internet buttons on some keyboards. | ||
| 203 | Such keys are available as normal function keys on X through the | ||
| 204 | Xkeyboard extension. | ||
| 205 | On Windows, some of them get mapped to normal function key events, | ||
| 206 | but others need to be handled by APPCOMMAND. Handling them all as | ||
| 207 | APPCOMMAND events means they can be disabled | ||
| 208 | (w32-pass-multimedia-buttons-to-system), important on Windows since | ||
| 209 | the system never sees these keys if Emacs claims to handle them. | ||
| 210 | On X, the window manager seems to grab the keys it wants | ||
| 211 | first, so this is not a problem there. */ | ||
| 212 | , MULTIMEDIA_KEY_EVENT | ||
| 213 | #endif | ||
| 203 | }; | 214 | }; |
| 204 | 215 | ||
| 205 | /* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT | 216 | /* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT |
diff --git a/src/textprop.c b/src/textprop.c index e8ba1d87afc..f7b50755ed1 100644 --- a/src/textprop.c +++ b/src/textprop.c | |||
| @@ -713,7 +713,7 @@ POSITION is at the end of OBJECT, both car and cdr are nil. */) | |||
| 713 | Lisp_Object overlay; | 713 | Lisp_Object overlay; |
| 714 | Lisp_Object val | 714 | Lisp_Object val |
| 715 | = get_char_property_and_overlay (position, prop, object, &overlay); | 715 | = get_char_property_and_overlay (position, prop, object, &overlay); |
| 716 | return Fcons(val, overlay); | 716 | return Fcons (val, overlay); |
| 717 | } | 717 | } |
| 718 | 718 | ||
| 719 | 719 | ||
diff --git a/src/unexmacosx.c b/src/unexmacosx.c index e9664f94bbc..3646aec6983 100644 --- a/src/unexmacosx.c +++ b/src/unexmacosx.c | |||
| @@ -443,15 +443,13 @@ unexec_regions_recorder (task_t task, void *rr, unsigned type, | |||
| 443 | 443 | ||
| 444 | while (num && num_unexec_regions < MAX_UNEXEC_REGIONS) | 444 | while (num && num_unexec_regions < MAX_UNEXEC_REGIONS) |
| 445 | { | 445 | { |
| 446 | /* Subtract the size of trailing null pages from filesize. It | 446 | /* Subtract the size of trailing null bytes from filesize. It |
| 447 | can be smaller than vmsize in segment commands. In such a | 447 | can be smaller than vmsize in segment commands. In such a |
| 448 | case, trailing pages are initialized with zeros. */ | 448 | case, trailing bytes are initialized with zeros. */ |
| 449 | for (p = ranges->address + ranges->size; p > ranges->address; | 449 | for (p = ranges->address + ranges->size; p > ranges->address; p--) |
| 450 | p -= sizeof (int)) | 450 | if (*(((char *) p)-1)) |
| 451 | if (*(((int *) p)-1)) | 451 | break; |
| 452 | break; | 452 | filesize = p - ranges->address; |
| 453 | filesize = ROUNDUP_TO_PAGE_BOUNDARY (p - ranges->address); | ||
| 454 | assert (filesize <= ranges->size); | ||
| 455 | 453 | ||
| 456 | unexec_regions[num_unexec_regions].filesize = filesize; | 454 | unexec_regions[num_unexec_regions].filesize = filesize; |
| 457 | unexec_regions[num_unexec_regions++].range = *ranges; | 455 | unexec_regions[num_unexec_regions++].range = *ranges; |
| @@ -503,11 +501,19 @@ unexec_regions_merge () | |||
| 503 | { | 501 | { |
| 504 | int i, n; | 502 | int i, n; |
| 505 | unexec_region_info r; | 503 | unexec_region_info r; |
| 504 | vm_size_t padsize; | ||
| 506 | 505 | ||
| 507 | qsort (unexec_regions, num_unexec_regions, sizeof (unexec_regions[0]), | 506 | qsort (unexec_regions, num_unexec_regions, sizeof (unexec_regions[0]), |
| 508 | &unexec_regions_sort_compare); | 507 | &unexec_regions_sort_compare); |
| 509 | n = 0; | 508 | n = 0; |
| 510 | r = unexec_regions[0]; | 509 | r = unexec_regions[0]; |
| 510 | padsize = r.range.address & (pagesize - 1); | ||
| 511 | if (padsize) | ||
| 512 | { | ||
| 513 | r.range.address -= padsize; | ||
| 514 | r.range.size += padsize; | ||
| 515 | r.filesize += padsize; | ||
| 516 | } | ||
| 511 | for (i = 1; i < num_unexec_regions; i++) | 517 | for (i = 1; i < num_unexec_regions; i++) |
| 512 | { | 518 | { |
| 513 | if (r.range.address + r.range.size == unexec_regions[i].range.address | 519 | if (r.range.address + r.range.size == unexec_regions[i].range.address |
| @@ -520,6 +526,17 @@ unexec_regions_merge () | |||
| 520 | { | 526 | { |
| 521 | unexec_regions[n++] = r; | 527 | unexec_regions[n++] = r; |
| 522 | r = unexec_regions[i]; | 528 | r = unexec_regions[i]; |
| 529 | padsize = r.range.address & (pagesize - 1); | ||
| 530 | if (padsize) | ||
| 531 | { | ||
| 532 | if ((unexec_regions[n-1].range.address | ||
| 533 | + unexec_regions[n-1].range.size) == r.range.address) | ||
| 534 | unexec_regions[n-1].range.size -= padsize; | ||
| 535 | |||
| 536 | r.range.address -= padsize; | ||
| 537 | r.range.size += padsize; | ||
| 538 | r.filesize += padsize; | ||
| 539 | } | ||
| 523 | } | 540 | } |
| 524 | } | 541 | } |
| 525 | unexec_regions[n++] = r; | 542 | unexec_regions[n++] = r; |
| @@ -562,6 +579,11 @@ print_load_command_name (int lc) | |||
| 562 | case LC_TWOLEVEL_HINTS: | 579 | case LC_TWOLEVEL_HINTS: |
| 563 | printf ("LC_TWOLEVEL_HINTS"); | 580 | printf ("LC_TWOLEVEL_HINTS"); |
| 564 | break; | 581 | break; |
| 582 | #ifdef LC_UUID | ||
| 583 | case LC_UUID: | ||
| 584 | printf ("LC_UUID "); | ||
| 585 | break; | ||
| 586 | #endif | ||
| 565 | default: | 587 | default: |
| 566 | printf ("unknown "); | 588 | printf ("unknown "); |
| 567 | } | 589 | } |
diff --git a/src/w32fns.c b/src/w32fns.c index 288b1f96665..808376bf580 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -150,6 +150,9 @@ int w32_mouse_move_interval; | |||
| 150 | /* Flag to indicate if XBUTTON events should be passed on to Windows. */ | 150 | /* Flag to indicate if XBUTTON events should be passed on to Windows. */ |
| 151 | int w32_pass_extra_mouse_buttons_to_system; | 151 | int w32_pass_extra_mouse_buttons_to_system; |
| 152 | 152 | ||
| 153 | /* Flag to indicate if media keys should be passed on to Windows. */ | ||
| 154 | int w32_pass_multimedia_buttons_to_system; | ||
| 155 | |||
| 153 | /* Non nil if no window manager is in use. */ | 156 | /* Non nil if no window manager is in use. */ |
| 154 | Lisp_Object Vx_no_window_manager; | 157 | Lisp_Object Vx_no_window_manager; |
| 155 | 158 | ||
| @@ -3387,6 +3390,10 @@ w32_wnd_proc (hwnd, msg, wParam, lParam) | |||
| 3387 | signal_user_input (); | 3390 | signal_user_input (); |
| 3388 | return 0; | 3391 | return 0; |
| 3389 | 3392 | ||
| 3393 | case WM_APPCOMMAND: | ||
| 3394 | if (w32_pass_multimedia_buttons_to_system) | ||
| 3395 | goto dflt; | ||
| 3396 | /* Otherwise, pass to lisp, the same way we do with mousehwheel. */ | ||
| 3390 | case WM_MOUSEHWHEEL: | 3397 | case WM_MOUSEHWHEEL: |
| 3391 | wmsg.dwModifiers = w32_get_modifiers (); | 3398 | wmsg.dwModifiers = w32_get_modifiers (); |
| 3392 | my_post_msg (&wmsg, hwnd, msg, wParam, lParam); | 3399 | my_post_msg (&wmsg, hwnd, msg, wParam, lParam); |
| @@ -8945,6 +8952,30 @@ If this variable is non-nil, Emacs will pass them on, allowing the | |||
| 8945 | system to handle them. */); | 8952 | system to handle them. */); |
| 8946 | w32_pass_extra_mouse_buttons_to_system = 0; | 8953 | w32_pass_extra_mouse_buttons_to_system = 0; |
| 8947 | 8954 | ||
| 8955 | DEFVAR_BOOL ("w32-pass-multimedia-buttons-to-system", | ||
| 8956 | &w32_pass_multimedia_buttons_to_system, | ||
| 8957 | doc: /* If non-nil, media buttons are passed to Windows. | ||
| 8958 | Some modern keyboards contain buttons for controlling media players, web | ||
| 8959 | browsers and other applications. Generally these buttons are handled on a | ||
| 8960 | system wide basis, but by setting this to nil they are made available | ||
| 8961 | to Emacs for binding. Depending on your keyboard, additional keys that | ||
| 8962 | may be available are: | ||
| 8963 | |||
| 8964 | browser-back, browser-forward, browser-refresh, browser-stop, | ||
| 8965 | browser-search, browser-favorites, browser-home, | ||
| 8966 | mail, mail-reply, mail-forward, mail-send, | ||
| 8967 | app-1, app-2, | ||
| 8968 | help, find, new, open, close, save, print, undo, redo, copy, cut, paste, | ||
| 8969 | spell-check, correction-list, toggle-dictate-command, | ||
| 8970 | media-next, media-previous, media-stop, media-play-pause, media-select, | ||
| 8971 | media-play, media-pause, media-record, media-fast-forward, media-rewind, | ||
| 8972 | media-channel-up, media-channel-down, | ||
| 8973 | volume-mute, volume-up, volume-down, | ||
| 8974 | mic-volume-mute, mic-volume-down, mic-volume-up, mic-toggle, | ||
| 8975 | bass-down, bass-boost, bass-up, treble-down, treble-up | ||
| 8976 | */); | ||
| 8977 | w32_pass_multimedia_buttons_to_system = 1; | ||
| 8978 | |||
| 8948 | DEFVAR_LISP ("x-pointer-shape", &Vx_pointer_shape, | 8979 | DEFVAR_LISP ("x-pointer-shape", &Vx_pointer_shape, |
| 8949 | doc: /* The shape of the pointer when over text. | 8980 | doc: /* The shape of the pointer when over text. |
| 8950 | Changing the value does not affect existing frames | 8981 | Changing the value does not affect existing frames |
diff --git a/src/w32term.c b/src/w32term.c index aae84473532..93e81b7bdb4 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -2769,7 +2769,6 @@ x_draw_stretch_glyph_string (s) | |||
| 2769 | struct glyph_string *s; | 2769 | struct glyph_string *s; |
| 2770 | { | 2770 | { |
| 2771 | xassert (s->first_glyph->type == STRETCH_GLYPH); | 2771 | xassert (s->first_glyph->type == STRETCH_GLYPH); |
| 2772 | s->stippled_p = s->face->stipple != 0; | ||
| 2773 | 2772 | ||
| 2774 | if (s->hl == DRAW_CURSOR | 2773 | if (s->hl == DRAW_CURSOR |
| 2775 | && !x_stretch_cursor_p) | 2774 | && !x_stretch_cursor_p) |
| @@ -4426,7 +4425,7 @@ w32_scroll_bar_handle_click (bar, msg, emacs_event) | |||
| 4426 | if (! WINDOWP (bar->window)) | 4425 | if (! WINDOWP (bar->window)) |
| 4427 | abort (); | 4426 | abort (); |
| 4428 | 4427 | ||
| 4429 | emacs_event->kind = W32_SCROLL_BAR_CLICK_EVENT; | 4428 | emacs_event->kind = SCROLL_BAR_CLICK_EVENT; |
| 4430 | emacs_event->code = 0; | 4429 | emacs_event->code = 0; |
| 4431 | /* not really meaningful to distinguish up/down */ | 4430 | /* not really meaningful to distinguish up/down */ |
| 4432 | emacs_event->modifiers = msg->dwModifiers; | 4431 | emacs_event->modifiers = msg->dwModifiers; |
| @@ -4793,6 +4792,29 @@ w32_read_socket (sd, expected, hold_quit) | |||
| 4793 | } | 4792 | } |
| 4794 | break; | 4793 | break; |
| 4795 | 4794 | ||
| 4795 | case WM_APPCOMMAND: | ||
| 4796 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); | ||
| 4797 | |||
| 4798 | if (f && !f->iconified) | ||
| 4799 | { | ||
| 4800 | if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight) | ||
| 4801 | && !EQ (f->tool_bar_window, dpyinfo->mouse_face_window)) | ||
| 4802 | { | ||
| 4803 | clear_mouse_face (dpyinfo); | ||
| 4804 | dpyinfo->mouse_face_hidden = 1; | ||
| 4805 | } | ||
| 4806 | |||
| 4807 | if (temp_index == sizeof temp_buffer / sizeof (short)) | ||
| 4808 | temp_index = 0; | ||
| 4809 | temp_buffer[temp_index++] = msg.msg.wParam; | ||
| 4810 | inev.kind = MULTIMEDIA_KEY_EVENT; | ||
| 4811 | inev.code = GET_APPCOMMAND_LPARAM(msg.msg.lParam); | ||
| 4812 | inev.modifiers = msg.dwModifiers; | ||
| 4813 | XSETFRAME (inev.frame_or_window, f); | ||
| 4814 | inev.timestamp = msg.msg.time; | ||
| 4815 | } | ||
| 4816 | break; | ||
| 4817 | |||
| 4796 | case WM_MOUSEMOVE: | 4818 | case WM_MOUSEMOVE: |
| 4797 | /* Ignore non-movement. */ | 4819 | /* Ignore non-movement. */ |
| 4798 | { | 4820 | { |
diff --git a/src/w32term.h b/src/w32term.h index f5aff57622e..595d7d1f147 100644 --- a/src/w32term.h +++ b/src/w32term.h | |||
| @@ -625,6 +625,10 @@ extern void w32_unload_font (); | |||
| 625 | #ifndef WM_MOUSEHWHEEL | 625 | #ifndef WM_MOUSEHWHEEL |
| 626 | #define WM_MOUSEHWHEEL (WM_MOUSEWHEEL + 4) | 626 | #define WM_MOUSEHWHEEL (WM_MOUSEWHEEL + 4) |
| 627 | #endif /* WM_MOUSEHWHEEL */ | 627 | #endif /* WM_MOUSEHWHEEL */ |
| 628 | #ifndef WM_APPCOMMAND | ||
| 629 | #define WM_APPCOMMAND 0x319 | ||
| 630 | #define GET_APPCOMMAND_LPARAM(lParam) (HIWORD(lParam) & 0x7fff) | ||
| 631 | #endif | ||
| 628 | 632 | ||
| 629 | #define WM_EMACS_START (WM_USER + 1) | 633 | #define WM_EMACS_START (WM_USER + 1) |
| 630 | #define WM_EMACS_KILL (WM_EMACS_START + 0) | 634 | #define WM_EMACS_KILL (WM_EMACS_START + 0) |
diff --git a/src/xdisp.c b/src/xdisp.c index a83ee8983dc..96244877a2e 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -963,8 +963,8 @@ static void compute_string_pos P_ ((struct text_pos *, struct text_pos, | |||
| 963 | static int face_before_or_after_it_pos P_ ((struct it *, int)); | 963 | static int face_before_or_after_it_pos P_ ((struct it *, int)); |
| 964 | static int next_overlay_change P_ ((int)); | 964 | static int next_overlay_change P_ ((int)); |
| 965 | static int handle_single_display_spec P_ ((struct it *, Lisp_Object, | 965 | static int handle_single_display_spec P_ ((struct it *, Lisp_Object, |
| 966 | Lisp_Object, struct text_pos *, | 966 | Lisp_Object, Lisp_Object, |
| 967 | int)); | 967 | struct text_pos *, int)); |
| 968 | static int underlying_face_id P_ ((struct it *)); | 968 | static int underlying_face_id P_ ((struct it *)); |
| 969 | static int in_ellipses_for_invisible_text_p P_ ((struct display_pos *, | 969 | static int in_ellipses_for_invisible_text_p P_ ((struct display_pos *, |
| 970 | struct window *)); | 970 | struct window *)); |
| @@ -3077,16 +3077,18 @@ handle_stop (it) | |||
| 3077 | if (it->method == GET_FROM_DISPLAY_VECTOR) | 3077 | if (it->method == GET_FROM_DISPLAY_VECTOR) |
| 3078 | handle_overlay_change_p = 0; | 3078 | handle_overlay_change_p = 0; |
| 3079 | 3079 | ||
| 3080 | /* Handle overlay changes. */ | 3080 | /* Handle overlay changes. |
| 3081 | This sets HANDLED to HANDLED_RECOMPUTE_PROPS | ||
| 3082 | if it finds overlays. */ | ||
| 3081 | if (handle_overlay_change_p) | 3083 | if (handle_overlay_change_p) |
| 3082 | handled = handle_overlay_change (it); | 3084 | handled = handle_overlay_change (it); |
| 3083 | |||
| 3084 | /* Determine where to stop next. */ | ||
| 3085 | if (handled == HANDLED_NORMALLY) | ||
| 3086 | compute_stop_pos (it); | ||
| 3087 | } | 3085 | } |
| 3088 | } | 3086 | } |
| 3089 | while (handled == HANDLED_RECOMPUTE_PROPS); | 3087 | while (handled == HANDLED_RECOMPUTE_PROPS); |
| 3088 | |||
| 3089 | /* Determine where to stop next. */ | ||
| 3090 | if (handled == HANDLED_NORMALLY) | ||
| 3091 | compute_stop_pos (it); | ||
| 3090 | } | 3092 | } |
| 3091 | 3093 | ||
| 3092 | 3094 | ||
| @@ -3367,18 +3369,58 @@ handle_face_prop (it) | |||
| 3367 | else | 3369 | else |
| 3368 | { | 3370 | { |
| 3369 | int base_face_id, bufpos; | 3371 | int base_face_id, bufpos; |
| 3372 | int i; | ||
| 3373 | Lisp_Object from_overlay | ||
| 3374 | = (it->current.overlay_string_index >= 0 | ||
| 3375 | ? it->string_overlays[it->current.overlay_string_index] | ||
| 3376 | : Qnil); | ||
| 3377 | |||
| 3378 | /* See if we got to this string directly or indirectly from | ||
| 3379 | an overlay property. That includes the before-string or | ||
| 3380 | after-string of an overlay, strings in display properties | ||
| 3381 | provided by an overlay, their text properties, etc. | ||
| 3382 | |||
| 3383 | FROM_OVERLAY is the overlay that brought us here, or nil if none. */ | ||
| 3384 | if (! NILP (from_overlay)) | ||
| 3385 | for (i = it->sp - 1; i >= 0; i--) | ||
| 3386 | { | ||
| 3387 | if (it->stack[i].current.overlay_string_index >= 0) | ||
| 3388 | from_overlay | ||
| 3389 | = it->string_overlays[it->stack[i].current.overlay_string_index]; | ||
| 3390 | else if (! NILP (it->stack[i].from_overlay)) | ||
| 3391 | from_overlay = it->stack[i].from_overlay; | ||
| 3370 | 3392 | ||
| 3371 | if (it->current.overlay_string_index >= 0) | 3393 | if (!NILP (from_overlay)) |
| 3372 | bufpos = IT_CHARPOS (*it); | 3394 | break; |
| 3395 | } | ||
| 3396 | |||
| 3397 | if (! NILP (from_overlay)) | ||
| 3398 | { | ||
| 3399 | bufpos = IT_CHARPOS (*it); | ||
| 3400 | /* For a string from an overlay, the base face depends | ||
| 3401 | only on text properties and ignores overlays. */ | ||
| 3402 | base_face_id | ||
| 3403 | = face_for_overlay_string (it->w, | ||
| 3404 | IT_CHARPOS (*it), | ||
| 3405 | it->region_beg_charpos, | ||
| 3406 | it->region_end_charpos, | ||
| 3407 | &next_stop, | ||
| 3408 | (IT_CHARPOS (*it) | ||
| 3409 | + TEXT_PROP_DISTANCE_LIMIT), | ||
| 3410 | 0, | ||
| 3411 | from_overlay); | ||
| 3412 | } | ||
| 3373 | else | 3413 | else |
| 3374 | bufpos = 0; | 3414 | { |
| 3415 | bufpos = 0; | ||
| 3375 | 3416 | ||
| 3376 | /* For strings from a buffer, i.e. overlay strings or strings | 3417 | /* For strings from a `display' property, use the face at |
| 3377 | from a `display' property, use the face at IT's current | 3418 | IT's current buffer position as the base face to merge |
| 3378 | buffer position as the base face to merge with, so that | 3419 | with, so that overlay strings appear in the same face as |
| 3379 | overlay strings appear in the same face as surrounding | 3420 | surrounding text, unless they specify their own |
| 3380 | text, unless they specify their own faces. */ | 3421 | faces. */ |
| 3381 | base_face_id = underlying_face_id (it); | 3422 | base_face_id = underlying_face_id (it); |
| 3423 | } | ||
| 3382 | 3424 | ||
| 3383 | new_face_id = face_at_string_position (it->w, | 3425 | new_face_id = face_at_string_position (it->w, |
| 3384 | it->string, | 3426 | it->string, |
| @@ -3789,7 +3831,7 @@ static enum prop_handled | |||
| 3789 | handle_display_prop (it) | 3831 | handle_display_prop (it) |
| 3790 | struct it *it; | 3832 | struct it *it; |
| 3791 | { | 3833 | { |
| 3792 | Lisp_Object prop, object; | 3834 | Lisp_Object prop, object, overlay; |
| 3793 | struct text_pos *position; | 3835 | struct text_pos *position; |
| 3794 | /* Nonzero if some property replaces the display of the text itself. */ | 3836 | /* Nonzero if some property replaces the display of the text itself. */ |
| 3795 | int display_replaced_p = 0; | 3837 | int display_replaced_p = 0; |
| @@ -3817,10 +3859,12 @@ handle_display_prop (it) | |||
| 3817 | if (!it->string_from_display_prop_p) | 3859 | if (!it->string_from_display_prop_p) |
| 3818 | it->area = TEXT_AREA; | 3860 | it->area = TEXT_AREA; |
| 3819 | 3861 | ||
| 3820 | prop = Fget_char_property (make_number (position->charpos), | 3862 | prop = get_char_property_and_overlay (make_number (position->charpos), |
| 3821 | Qdisplay, object); | 3863 | Qdisplay, object, &overlay); |
| 3822 | if (NILP (prop)) | 3864 | if (NILP (prop)) |
| 3823 | return HANDLED_NORMALLY; | 3865 | return HANDLED_NORMALLY; |
| 3866 | /* Now OVERLAY is the overlay that gave us this property, or nil | ||
| 3867 | if it was a text property. */ | ||
| 3824 | 3868 | ||
| 3825 | if (!STRINGP (it->string)) | 3869 | if (!STRINGP (it->string)) |
| 3826 | object = it->w->buffer; | 3870 | object = it->w->buffer; |
| @@ -3842,7 +3886,7 @@ handle_display_prop (it) | |||
| 3842 | { | 3886 | { |
| 3843 | for (; CONSP (prop); prop = XCDR (prop)) | 3887 | for (; CONSP (prop); prop = XCDR (prop)) |
| 3844 | { | 3888 | { |
| 3845 | if (handle_single_display_spec (it, XCAR (prop), object, | 3889 | if (handle_single_display_spec (it, XCAR (prop), object, overlay, |
| 3846 | position, display_replaced_p)) | 3890 | position, display_replaced_p)) |
| 3847 | { | 3891 | { |
| 3848 | display_replaced_p = 1; | 3892 | display_replaced_p = 1; |
| @@ -3857,7 +3901,7 @@ handle_display_prop (it) | |||
| 3857 | { | 3901 | { |
| 3858 | int i; | 3902 | int i; |
| 3859 | for (i = 0; i < ASIZE (prop); ++i) | 3903 | for (i = 0; i < ASIZE (prop); ++i) |
| 3860 | if (handle_single_display_spec (it, AREF (prop, i), object, | 3904 | if (handle_single_display_spec (it, AREF (prop, i), object, overlay, |
| 3861 | position, display_replaced_p)) | 3905 | position, display_replaced_p)) |
| 3862 | { | 3906 | { |
| 3863 | display_replaced_p = 1; | 3907 | display_replaced_p = 1; |
| @@ -3869,7 +3913,8 @@ handle_display_prop (it) | |||
| 3869 | } | 3913 | } |
| 3870 | else | 3914 | else |
| 3871 | { | 3915 | { |
| 3872 | int ret = handle_single_display_spec (it, prop, object, position, 0); | 3916 | int ret = handle_single_display_spec (it, prop, object, overlay, |
| 3917 | position, 0); | ||
| 3873 | if (ret < 0) /* Replaced by "", i.e. nothing. */ | 3918 | if (ret < 0) /* Replaced by "", i.e. nothing. */ |
| 3874 | return HANDLED_RECOMPUTE_PROPS; | 3919 | return HANDLED_RECOMPUTE_PROPS; |
| 3875 | if (ret) | 3920 | if (ret) |
| @@ -3911,6 +3956,9 @@ display_prop_end (it, object, start_pos) | |||
| 3911 | replaced text display with something else, for example an image; | 3956 | replaced text display with something else, for example an image; |
| 3912 | we ignore such properties after the first one has been processed. | 3957 | we ignore such properties after the first one has been processed. |
| 3913 | 3958 | ||
| 3959 | OVERLAY is the overlay this `display' property came from, | ||
| 3960 | or nil if it was a text property. | ||
| 3961 | |||
| 3914 | If PROP is a `space' or `image' specification, and in some other | 3962 | If PROP is a `space' or `image' specification, and in some other |
| 3915 | cases too, set *POSITION to the position where the `display' | 3963 | cases too, set *POSITION to the position where the `display' |
| 3916 | property ends. | 3964 | property ends. |
| @@ -3920,11 +3968,12 @@ display_prop_end (it, object, start_pos) | |||
| 3920 | "something" is "nothing". */ | 3968 | "something" is "nothing". */ |
| 3921 | 3969 | ||
| 3922 | static int | 3970 | static int |
| 3923 | handle_single_display_spec (it, spec, object, position, | 3971 | handle_single_display_spec (it, spec, object, overlay, position, |
| 3924 | display_replaced_before_p) | 3972 | display_replaced_before_p) |
| 3925 | struct it *it; | 3973 | struct it *it; |
| 3926 | Lisp_Object spec; | 3974 | Lisp_Object spec; |
| 3927 | Lisp_Object object; | 3975 | Lisp_Object object; |
| 3976 | Lisp_Object overlay; | ||
| 3928 | struct text_pos *position; | 3977 | struct text_pos *position; |
| 3929 | int display_replaced_before_p; | 3978 | int display_replaced_before_p; |
| 3930 | { | 3979 | { |
| @@ -4034,7 +4083,7 @@ handle_single_display_spec (it, spec, object, position, | |||
| 4034 | return 0; | 4083 | return 0; |
| 4035 | } | 4084 | } |
| 4036 | 4085 | ||
| 4037 | /* Handle `(space_width WIDTH)'. */ | 4086 | /* Handle `(space-width WIDTH)'. */ |
| 4038 | if (CONSP (spec) | 4087 | if (CONSP (spec) |
| 4039 | && EQ (XCAR (spec), Qspace_width) | 4088 | && EQ (XCAR (spec), Qspace_width) |
| 4040 | && CONSP (XCDR (spec))) | 4089 | && CONSP (XCDR (spec))) |
| @@ -4158,6 +4207,7 @@ handle_single_display_spec (it, spec, object, position, | |||
| 4158 | it->position = start_pos; | 4207 | it->position = start_pos; |
| 4159 | it->object = NILP (object) ? it->w->buffer : object; | 4208 | it->object = NILP (object) ? it->w->buffer : object; |
| 4160 | it->method = GET_FROM_IMAGE; | 4209 | it->method = GET_FROM_IMAGE; |
| 4210 | it->from_overlay = Qnil; | ||
| 4161 | it->face_id = face_id; | 4211 | it->face_id = face_id; |
| 4162 | 4212 | ||
| 4163 | /* Say that we haven't consumed the characters with | 4213 | /* Say that we haven't consumed the characters with |
| @@ -4228,6 +4278,7 @@ handle_single_display_spec (it, spec, object, position, | |||
| 4228 | it->position = *position; | 4278 | it->position = *position; |
| 4229 | push_it (it); | 4279 | push_it (it); |
| 4230 | it->position = save_pos; | 4280 | it->position = save_pos; |
| 4281 | it->from_overlay = overlay; | ||
| 4231 | 4282 | ||
| 4232 | if (NILP (location)) | 4283 | if (NILP (location)) |
| 4233 | it->area = TEXT_AREA; | 4284 | it->area = TEXT_AREA; |
| @@ -5011,7 +5062,10 @@ load_overlay_strings (it, charpos) | |||
| 5011 | i = 0; | 5062 | i = 0; |
| 5012 | j = it->current.overlay_string_index; | 5063 | j = it->current.overlay_string_index; |
| 5013 | while (i < OVERLAY_STRING_CHUNK_SIZE && j < n) | 5064 | while (i < OVERLAY_STRING_CHUNK_SIZE && j < n) |
| 5014 | it->overlay_strings[i++] = entries[j++].string; | 5065 | { |
| 5066 | it->overlay_strings[i] = entries[j].string; | ||
| 5067 | it->string_overlays[i++] = entries[j++].overlay; | ||
| 5068 | } | ||
| 5015 | 5069 | ||
| 5016 | CHECK_IT (it); | 5070 | CHECK_IT (it); |
| 5017 | } | 5071 | } |
| @@ -5057,6 +5111,7 @@ get_overlay_strings_1 (it, charpos, compute_stop_p) | |||
| 5057 | string. */ | 5111 | string. */ |
| 5058 | IT_STRING_CHARPOS (*it) = IT_STRING_BYTEPOS (*it) = 0; | 5112 | IT_STRING_CHARPOS (*it) = IT_STRING_BYTEPOS (*it) = 0; |
| 5059 | it->string = it->overlay_strings[0]; | 5113 | it->string = it->overlay_strings[0]; |
| 5114 | it->from_overlay = Qnil; | ||
| 5060 | it->stop_charpos = 0; | 5115 | it->stop_charpos = 0; |
| 5061 | xassert (STRINGP (it->string)); | 5116 | xassert (STRINGP (it->string)); |
| 5062 | it->end_charpos = SCHARS (it->string); | 5117 | it->end_charpos = SCHARS (it->string); |
| @@ -5110,6 +5165,7 @@ push_it (it) | |||
| 5110 | p->face_id = it->face_id; | 5165 | p->face_id = it->face_id; |
| 5111 | p->string = it->string; | 5166 | p->string = it->string; |
| 5112 | p->method = it->method; | 5167 | p->method = it->method; |
| 5168 | p->from_overlay = it->from_overlay; | ||
| 5113 | switch (p->method) | 5169 | switch (p->method) |
| 5114 | { | 5170 | { |
| 5115 | case GET_FROM_IMAGE: | 5171 | case GET_FROM_IMAGE: |
| @@ -5163,6 +5219,7 @@ pop_it (it) | |||
| 5163 | it->current = p->current; | 5219 | it->current = p->current; |
| 5164 | it->position = p->position; | 5220 | it->position = p->position; |
| 5165 | it->string = p->string; | 5221 | it->string = p->string; |
| 5222 | it->from_overlay = p->from_overlay; | ||
| 5166 | if (NILP (it->string)) | 5223 | if (NILP (it->string)) |
| 5167 | SET_TEXT_POS (it->current.string_pos, -1, -1); | 5224 | SET_TEXT_POS (it->current.string_pos, -1, -1); |
| 5168 | it->method = p->method; | 5225 | it->method = p->method; |
| @@ -17545,7 +17602,9 @@ are the selected window and the window's buffer). */) | |||
| 17545 | buffer = w->buffer; | 17602 | buffer = w->buffer; |
| 17546 | CHECK_BUFFER (buffer); | 17603 | CHECK_BUFFER (buffer); |
| 17547 | 17604 | ||
| 17548 | if (NILP (format)) | 17605 | /* Make formatting the modeline a non-op when noninteractive, otherwise |
| 17606 | there will be problems later caused by a partially initialized frame. */ | ||
| 17607 | if (NILP (format) || noninteractive) | ||
| 17549 | return empty_unibyte_string; | 17608 | return empty_unibyte_string; |
| 17550 | 17609 | ||
| 17551 | if (no_props) | 17610 | if (no_props) |
diff --git a/src/xfaces.c b/src/xfaces.c index 50d733c7d0b..fd7dbb88133 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -8216,6 +8216,85 @@ face_at_buffer_position (w, pos, region_beg, region_end, | |||
| 8216 | return lookup_face (f, attrs); | 8216 | return lookup_face (f, attrs); |
| 8217 | } | 8217 | } |
| 8218 | 8218 | ||
| 8219 | /* Return the face ID at buffer position POS for displaying ASCII | ||
| 8220 | characters associated with overlay strings for overlay OVERLAY. | ||
| 8221 | |||
| 8222 | Like face_at_buffer_position except for OVERLAY. Currently it | ||
| 8223 | simply disregards the `face' properties of all overlays. */ | ||
| 8224 | |||
| 8225 | int | ||
| 8226 | face_for_overlay_string (w, pos, region_beg, region_end, | ||
| 8227 | endptr, limit, mouse, overlay) | ||
| 8228 | struct window *w; | ||
| 8229 | int pos; | ||
| 8230 | int region_beg, region_end; | ||
| 8231 | int *endptr; | ||
| 8232 | int limit; | ||
| 8233 | int mouse; | ||
| 8234 | Lisp_Object overlay; | ||
| 8235 | { | ||
| 8236 | struct frame *f = XFRAME (w->frame); | ||
| 8237 | Lisp_Object attrs[LFACE_VECTOR_SIZE]; | ||
| 8238 | Lisp_Object prop, position; | ||
| 8239 | int i, noverlays; | ||
| 8240 | Lisp_Object *overlay_vec; | ||
| 8241 | Lisp_Object frame; | ||
| 8242 | int endpos; | ||
| 8243 | Lisp_Object propname = mouse ? Qmouse_face : Qface; | ||
| 8244 | Lisp_Object limit1, end; | ||
| 8245 | struct face *default_face; | ||
| 8246 | |||
| 8247 | /* W must display the current buffer. We could write this function | ||
| 8248 | to use the frame and buffer of W, but right now it doesn't. */ | ||
| 8249 | /* xassert (XBUFFER (w->buffer) == current_buffer); */ | ||
| 8250 | |||
| 8251 | XSETFRAME (frame, f); | ||
| 8252 | XSETFASTINT (position, pos); | ||
| 8253 | |||
| 8254 | endpos = ZV; | ||
| 8255 | if (pos < region_beg && region_beg < endpos) | ||
| 8256 | endpos = region_beg; | ||
| 8257 | |||
| 8258 | /* Get the `face' or `mouse_face' text property at POS, and | ||
| 8259 | determine the next position at which the property changes. */ | ||
| 8260 | prop = Fget_text_property (position, propname, w->buffer); | ||
| 8261 | XSETFASTINT (limit1, (limit < endpos ? limit : endpos)); | ||
| 8262 | end = Fnext_single_property_change (position, propname, w->buffer, limit1); | ||
| 8263 | if (INTEGERP (end)) | ||
| 8264 | endpos = XINT (end); | ||
| 8265 | |||
| 8266 | *endptr = endpos; | ||
| 8267 | |||
| 8268 | default_face = FACE_FROM_ID (f, DEFAULT_FACE_ID); | ||
| 8269 | |||
| 8270 | /* Optimize common cases where we can use the default face. */ | ||
| 8271 | if (NILP (prop) | ||
| 8272 | && !(pos >= region_beg && pos < region_end)) | ||
| 8273 | return DEFAULT_FACE_ID; | ||
| 8274 | |||
| 8275 | /* Begin with attributes from the default face. */ | ||
| 8276 | bcopy (default_face->lface, attrs, sizeof attrs); | ||
| 8277 | |||
| 8278 | /* Merge in attributes specified via text properties. */ | ||
| 8279 | if (!NILP (prop)) | ||
| 8280 | merge_face_ref (f, prop, attrs, 1, 0); | ||
| 8281 | |||
| 8282 | /* If in the region, merge in the region face. */ | ||
| 8283 | if (pos >= region_beg && pos < region_end) | ||
| 8284 | { | ||
| 8285 | merge_named_face (f, Qregion, attrs, 0); | ||
| 8286 | |||
| 8287 | if (region_end < endpos) | ||
| 8288 | endpos = region_end; | ||
| 8289 | } | ||
| 8290 | |||
| 8291 | *endptr = endpos; | ||
| 8292 | |||
| 8293 | /* Look up a realized face with the given face attributes, | ||
| 8294 | or realize a new one for ASCII characters. */ | ||
| 8295 | return lookup_face (f, attrs, 0, NULL); | ||
| 8296 | } | ||
| 8297 | |||
| 8219 | 8298 | ||
| 8220 | /* Compute the face at character position POS in Lisp string STRING on | 8299 | /* Compute the face at character position POS in Lisp string STRING on |
| 8221 | window W, for ASCII characters. | 8300 | window W, for ASCII characters. |
diff --git a/src/xfns.c b/src/xfns.c index b176b3ffda5..95efa697110 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -143,11 +143,7 @@ static Lisp_Object Vgtk_version_string; | |||
| 143 | 143 | ||
| 144 | #endif /* USE_GTK */ | 144 | #endif /* USE_GTK */ |
| 145 | 145 | ||
| 146 | #ifdef HAVE_X11R4 | ||
| 147 | #define MAXREQUEST(dpy) (XMaxRequestSize (dpy)) | 146 | #define MAXREQUEST(dpy) (XMaxRequestSize (dpy)) |
| 148 | #else | ||
| 149 | #define MAXREQUEST(dpy) ((dpy)->max_request_size) | ||
| 150 | #endif | ||
| 151 | 147 | ||
| 152 | /* The gray bitmap `bitmaps/gray'. This is done because xterm.c uses | 148 | /* The gray bitmap `bitmaps/gray'. This is done because xterm.c uses |
| 153 | it, and including `bitmaps/gray' more than once is a problem when | 149 | it, and including `bitmaps/gray' more than once is a problem when |
| @@ -1601,7 +1597,6 @@ x_set_name_internal (f, name) | |||
| 1601 | if (FRAME_X_WINDOW (f)) | 1597 | if (FRAME_X_WINDOW (f)) |
| 1602 | { | 1598 | { |
| 1603 | BLOCK_INPUT; | 1599 | BLOCK_INPUT; |
| 1604 | #ifdef HAVE_X11R4 | ||
| 1605 | { | 1600 | { |
| 1606 | XTextProperty text, icon; | 1601 | XTextProperty text, icon; |
| 1607 | int bytes, stringp; | 1602 | int bytes, stringp; |
| @@ -1669,12 +1664,6 @@ x_set_name_internal (f, name) | |||
| 1669 | if (do_free_text_value) | 1664 | if (do_free_text_value) |
| 1670 | xfree (text.value); | 1665 | xfree (text.value); |
| 1671 | } | 1666 | } |
| 1672 | #else /* not HAVE_X11R4 */ | ||
| 1673 | XSetIconName (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | ||
| 1674 | SDATA (name)); | ||
| 1675 | XStoreName (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | ||
| 1676 | SDATA (name)); | ||
| 1677 | #endif /* not HAVE_X11R4 */ | ||
| 1678 | UNBLOCK_INPUT; | 1667 | UNBLOCK_INPUT; |
| 1679 | } | 1668 | } |
| 1680 | } | 1669 | } |
| @@ -1861,23 +1850,6 @@ x_default_scroll_bar_color_parameter (f, alist, prop, xprop, xclass, | |||
| 1861 | 1850 | ||
| 1862 | 1851 | ||
| 1863 | 1852 | ||
| 1864 | #if !defined (HAVE_X11R4) && !defined (HAVE_XSETWMPROTOCOLS) | ||
| 1865 | |||
| 1866 | Status | ||
| 1867 | XSetWMProtocols (dpy, w, protocols, count) | ||
| 1868 | Display *dpy; | ||
| 1869 | Window w; | ||
| 1870 | Atom *protocols; | ||
| 1871 | int count; | ||
| 1872 | { | ||
| 1873 | Atom prop; | ||
| 1874 | prop = XInternAtom (dpy, "WM_PROTOCOLS", False); | ||
| 1875 | if (prop == None) return False; | ||
| 1876 | XChangeProperty (dpy, w, prop, XA_ATOM, 32, PropModeReplace, | ||
| 1877 | (unsigned char *) protocols, count); | ||
| 1878 | return True; | ||
| 1879 | } | ||
| 1880 | #endif /* not HAVE_X11R4 && not HAVE_XSETWMPROTOCOLS */ | ||
| 1881 | 1853 | ||
| 1882 | #ifdef USE_X_TOOLKIT | 1854 | #ifdef USE_X_TOOLKIT |
| 1883 | 1855 | ||
| @@ -4220,11 +4192,7 @@ select_visual (dpyinfo) | |||
| 4220 | 4192 | ||
| 4221 | dpyinfo->visual = DefaultVisualOfScreen (screen); | 4193 | dpyinfo->visual = DefaultVisualOfScreen (screen); |
| 4222 | 4194 | ||
| 4223 | #ifdef HAVE_X11R4 | ||
| 4224 | vinfo_template.visualid = XVisualIDFromVisual (dpyinfo->visual); | 4195 | vinfo_template.visualid = XVisualIDFromVisual (dpyinfo->visual); |
| 4225 | #else | ||
| 4226 | vinfo_template.visualid = dpyinfo->visual->visualid; | ||
| 4227 | #endif | ||
| 4228 | vinfo_template.screen = XScreenNumberOfScreen (screen); | 4196 | vinfo_template.screen = XScreenNumberOfScreen (screen); |
| 4229 | vinfo = XGetVisualInfo (dpy, VisualIDMask | VisualScreenMask, | 4197 | vinfo = XGetVisualInfo (dpy, VisualIDMask | VisualScreenMask, |
| 4230 | &vinfo_template, &n_visuals); | 4198 | &vinfo_template, &n_visuals); |
diff --git a/src/xselect.c b/src/xselect.c index 0db5ef57767..45907b30be4 100644 --- a/src/xselect.c +++ b/src/xselect.c | |||
| @@ -140,11 +140,7 @@ static Lisp_Object Qforeign_selection; | |||
| 140 | incremental transfer stuff, but it might improve server performance. */ | 140 | incremental transfer stuff, but it might improve server performance. */ |
| 141 | #define MAX_SELECTION_QUANTUM 0xFFFFFF | 141 | #define MAX_SELECTION_QUANTUM 0xFFFFFF |
| 142 | 142 | ||
| 143 | #ifdef HAVE_X11R4 | ||
| 144 | #define SELECTION_QUANTUM(dpy) ((XMaxRequestSize(dpy) << 2) - 100) | 143 | #define SELECTION_QUANTUM(dpy) ((XMaxRequestSize(dpy) << 2) - 100) |
| 145 | #else | ||
| 146 | #define SELECTION_QUANTUM(dpy) (((dpy)->max_request_size << 2) - 100) | ||
| 147 | #endif | ||
| 148 | 144 | ||
| 149 | /* The timestamp of the last input event Emacs received from the X server. */ | 145 | /* The timestamp of the last input event Emacs received from the X server. */ |
| 150 | /* Defined in keyboard.c. */ | 146 | /* Defined in keyboard.c. */ |
diff --git a/src/xterm.c b/src/xterm.c index 9af6060d167..7d20e9bd48f 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -2754,7 +2754,6 @@ x_draw_stretch_glyph_string (s) | |||
| 2754 | struct glyph_string *s; | 2754 | struct glyph_string *s; |
| 2755 | { | 2755 | { |
| 2756 | xassert (s->first_glyph->type == STRETCH_GLYPH); | 2756 | xassert (s->first_glyph->type == STRETCH_GLYPH); |
| 2757 | s->stippled_p = s->face->stipple != 0; | ||
| 2758 | 2757 | ||
| 2759 | if (s->hl == DRAW_CURSOR | 2758 | if (s->hl == DRAW_CURSOR |
| 2760 | && !x_stretch_cursor_p) | 2759 | && !x_stretch_cursor_p) |
| @@ -3688,12 +3687,7 @@ x_find_modifier_meanings (dpyinfo) | |||
| 3688 | dpyinfo->super_mod_mask = 0; | 3687 | dpyinfo->super_mod_mask = 0; |
| 3689 | dpyinfo->hyper_mod_mask = 0; | 3688 | dpyinfo->hyper_mod_mask = 0; |
| 3690 | 3689 | ||
| 3691 | #ifdef HAVE_X11R4 | ||
| 3692 | XDisplayKeycodes (dpyinfo->display, &min_code, &max_code); | 3690 | XDisplayKeycodes (dpyinfo->display, &min_code, &max_code); |
| 3693 | #else | ||
| 3694 | min_code = dpyinfo->display->min_keycode; | ||
| 3695 | max_code = dpyinfo->display->max_keycode; | ||
| 3696 | #endif | ||
| 3697 | 3691 | ||
| 3698 | syms = XGetKeyboardMapping (dpyinfo->display, | 3692 | syms = XGetKeyboardMapping (dpyinfo->display, |
| 3699 | min_code, max_code - min_code + 1, | 3693 | min_code, max_code - min_code + 1, |
| @@ -6709,14 +6703,6 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit) | |||
| 6709 | || (orig_keysym & (1 << 28)) | 6703 | || (orig_keysym & (1 << 28)) |
| 6710 | || (keysym != NoSymbol && nbytes == 0)) | 6704 | || (keysym != NoSymbol && nbytes == 0)) |
| 6711 | && ! (IsModifierKey (orig_keysym) | 6705 | && ! (IsModifierKey (orig_keysym) |
| 6712 | #ifndef HAVE_X11R5 | ||
| 6713 | #ifdef XK_Mode_switch | ||
| 6714 | || ((unsigned)(orig_keysym) == XK_Mode_switch) | ||
| 6715 | #endif | ||
| 6716 | #ifdef XK_Num_Lock | ||
| 6717 | || ((unsigned)(orig_keysym) == XK_Num_Lock) | ||
| 6718 | #endif | ||
| 6719 | #endif /* not HAVE_X11R5 */ | ||
| 6720 | /* The symbols from XK_ISO_Lock | 6706 | /* The symbols from XK_ISO_Lock |
| 6721 | to XK_ISO_Last_Group_Lock | 6707 | to XK_ISO_Last_Group_Lock |
| 6722 | don't have real modifiers but | 6708 | don't have real modifiers but |
| @@ -7806,7 +7792,6 @@ x_text_icon (f, icon_name) | |||
| 7806 | if (FRAME_X_WINDOW (f) == 0) | 7792 | if (FRAME_X_WINDOW (f) == 0) |
| 7807 | return 1; | 7793 | return 1; |
| 7808 | 7794 | ||
| 7809 | #ifdef HAVE_X11R4 | ||
| 7810 | { | 7795 | { |
| 7811 | XTextProperty text; | 7796 | XTextProperty text; |
| 7812 | text.value = (unsigned char *) icon_name; | 7797 | text.value = (unsigned char *) icon_name; |
| @@ -7815,9 +7800,6 @@ x_text_icon (f, icon_name) | |||
| 7815 | text.nitems = strlen (icon_name); | 7800 | text.nitems = strlen (icon_name); |
| 7816 | XSetWMIconName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &text); | 7801 | XSetWMIconName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &text); |
| 7817 | } | 7802 | } |
| 7818 | #else /* not HAVE_X11R4 */ | ||
| 7819 | XSetIconName (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), icon_name); | ||
| 7820 | #endif /* not HAVE_X11R4 */ | ||
| 7821 | 7803 | ||
| 7822 | if (f->output_data.x->icon_bitmap > 0) | 7804 | if (f->output_data.x->icon_bitmap > 0) |
| 7823 | x_destroy_bitmap (f, f->output_data.x->icon_bitmap); | 7805 | x_destroy_bitmap (f, f->output_data.x->icon_bitmap); |
| @@ -9505,7 +9487,6 @@ x_make_frame_invisible (f) | |||
| 9505 | else | 9487 | else |
| 9506 | #endif | 9488 | #endif |
| 9507 | { | 9489 | { |
| 9508 | #ifdef HAVE_X11R4 | ||
| 9509 | 9490 | ||
| 9510 | if (! XWithdrawWindow (FRAME_X_DISPLAY (f), window, | 9491 | if (! XWithdrawWindow (FRAME_X_DISPLAY (f), window, |
| 9511 | DefaultScreen (FRAME_X_DISPLAY (f)))) | 9492 | DefaultScreen (FRAME_X_DISPLAY (f)))) |
| @@ -9513,31 +9494,6 @@ x_make_frame_invisible (f) | |||
| 9513 | UNBLOCK_INPUT_RESIGNAL; | 9494 | UNBLOCK_INPUT_RESIGNAL; |
| 9514 | error ("Can't notify window manager of window withdrawal"); | 9495 | error ("Can't notify window manager of window withdrawal"); |
| 9515 | } | 9496 | } |
| 9516 | #else /* ! defined (HAVE_X11R4) */ | ||
| 9517 | |||
| 9518 | /* Tell the window manager what we're going to do. */ | ||
| 9519 | if (! EQ (Vx_no_window_manager, Qt)) | ||
| 9520 | { | ||
| 9521 | XEvent unmap; | ||
| 9522 | |||
| 9523 | unmap.xunmap.type = UnmapNotify; | ||
| 9524 | unmap.xunmap.window = window; | ||
| 9525 | unmap.xunmap.event = DefaultRootWindow (FRAME_X_DISPLAY (f)); | ||
| 9526 | unmap.xunmap.from_configure = False; | ||
| 9527 | if (! XSendEvent (FRAME_X_DISPLAY (f), | ||
| 9528 | DefaultRootWindow (FRAME_X_DISPLAY (f)), | ||
| 9529 | False, | ||
| 9530 | SubstructureRedirectMaskSubstructureNotifyMask, | ||
| 9531 | &unmap)) | ||
| 9532 | { | ||
| 9533 | UNBLOCK_INPUT_RESIGNAL; | ||
| 9534 | error ("Can't notify window manager of withdrawal"); | ||
| 9535 | } | ||
| 9536 | } | ||
| 9537 | |||
| 9538 | /* Unmap the window ourselves. Cheeky! */ | ||
| 9539 | XUnmapWindow (FRAME_X_DISPLAY (f), window); | ||
| 9540 | #endif /* ! defined (HAVE_X11R4) */ | ||
| 9541 | } | 9497 | } |
| 9542 | 9498 | ||
| 9543 | /* We can't distinguish this from iconification | 9499 | /* We can't distinguish this from iconification |
| @@ -9903,16 +9859,11 @@ x_wm_set_size_hint (f, flags, user_position) | |||
| 9903 | them; otherwise, we set the min_width and min_height members | 9859 | them; otherwise, we set the min_width and min_height members |
| 9904 | to the size for a zero x zero frame. */ | 9860 | to the size for a zero x zero frame. */ |
| 9905 | 9861 | ||
| 9906 | #ifdef HAVE_X11R4 | ||
| 9907 | size_hints.flags |= PBaseSize; | 9862 | size_hints.flags |= PBaseSize; |
| 9908 | size_hints.base_width = base_width; | 9863 | size_hints.base_width = base_width; |
| 9909 | size_hints.base_height = base_height; | 9864 | size_hints.base_height = base_height; |
| 9910 | size_hints.min_width = base_width + min_cols * size_hints.width_inc; | 9865 | size_hints.min_width = base_width + min_cols * size_hints.width_inc; |
| 9911 | size_hints.min_height = base_height + min_rows * size_hints.height_inc; | 9866 | size_hints.min_height = base_height + min_rows * size_hints.height_inc; |
| 9912 | #else | ||
| 9913 | size_hints.min_width = base_width; | ||
| 9914 | size_hints.min_height = base_height; | ||
| 9915 | #endif | ||
| 9916 | } | 9867 | } |
| 9917 | 9868 | ||
| 9918 | /* If we don't need the old flags, we don't need the old hint at all. */ | 9869 | /* If we don't need the old flags, we don't need the old hint at all. */ |
| @@ -9928,12 +9879,8 @@ x_wm_set_size_hint (f, flags, user_position) | |||
| 9928 | long supplied_return; | 9879 | long supplied_return; |
| 9929 | int value; | 9880 | int value; |
| 9930 | 9881 | ||
| 9931 | #ifdef HAVE_X11R4 | ||
| 9932 | value = XGetWMNormalHints (FRAME_X_DISPLAY (f), window, &hints, | 9882 | value = XGetWMNormalHints (FRAME_X_DISPLAY (f), window, &hints, |
| 9933 | &supplied_return); | 9883 | &supplied_return); |
| 9934 | #else | ||
| 9935 | value = XGetNormalHints (FRAME_X_DISPLAY (f), window, &hints); | ||
| 9936 | #endif | ||
| 9937 | 9884 | ||
| 9938 | #ifdef USE_X_TOOLKIT | 9885 | #ifdef USE_X_TOOLKIT |
| 9939 | size_hints.base_height = hints.base_height; | 9886 | size_hints.base_height = hints.base_height; |
| @@ -9974,11 +9921,7 @@ x_wm_set_size_hint (f, flags, user_position) | |||
| 9974 | } | 9921 | } |
| 9975 | #endif /* PWinGravity */ | 9922 | #endif /* PWinGravity */ |
| 9976 | 9923 | ||
| 9977 | #ifdef HAVE_X11R4 | ||
| 9978 | XSetWMNormalHints (FRAME_X_DISPLAY (f), window, &size_hints); | 9924 | XSetWMNormalHints (FRAME_X_DISPLAY (f), window, &size_hints); |
| 9979 | #else | ||
| 9980 | XSetNormalHints (FRAME_X_DISPLAY (f), window, &size_hints); | ||
| 9981 | #endif | ||
| 9982 | } | 9925 | } |
| 9983 | #endif /* not USE_GTK */ | 9926 | #endif /* not USE_GTK */ |
| 9984 | 9927 | ||
| @@ -11138,9 +11081,7 @@ x_term_init (display_name, xrm_option, resource_name) | |||
| 11138 | argv[argc++] = "--name"; | 11081 | argv[argc++] = "--name"; |
| 11139 | argv[argc++] = resource_name; | 11082 | argv[argc++] = resource_name; |
| 11140 | 11083 | ||
| 11141 | #ifdef HAVE_X11R5 | ||
| 11142 | XSetLocaleModifiers (""); | 11084 | XSetLocaleModifiers (""); |
| 11143 | #endif | ||
| 11144 | 11085 | ||
| 11145 | gtk_init (&argc, &argv2); | 11086 | gtk_init (&argc, &argv2); |
| 11146 | 11087 | ||
| @@ -11205,9 +11146,7 @@ x_term_init (display_name, xrm_option, resource_name) | |||
| 11205 | } | 11146 | } |
| 11206 | 11147 | ||
| 11207 | #else /* not USE_X_TOOLKIT */ | 11148 | #else /* not USE_X_TOOLKIT */ |
| 11208 | #ifdef HAVE_X11R5 | ||
| 11209 | XSetLocaleModifiers (""); | 11149 | XSetLocaleModifiers (""); |
| 11210 | #endif | ||
| 11211 | dpy = XOpenDisplay (SDATA (display_name)); | 11150 | dpy = XOpenDisplay (SDATA (display_name)); |
| 11212 | #endif /* not USE_X_TOOLKIT */ | 11151 | #endif /* not USE_X_TOOLKIT */ |
| 11213 | #endif /* not USE_GTK*/ | 11152 | #endif /* not USE_GTK*/ |
| @@ -11518,9 +11457,6 @@ x_term_init (display_name, xrm_option, resource_name) | |||
| 11518 | #endif /* ! defined (SIGIO) */ | 11457 | #endif /* ! defined (SIGIO) */ |
| 11519 | 11458 | ||
| 11520 | #ifdef USE_LUCID | 11459 | #ifdef USE_LUCID |
| 11521 | #ifdef HAVE_X11R5 /* It seems X11R4 lacks XtCvtStringToFont, and XPointer. */ | ||
| 11522 | /* Make sure that we have a valid font for dialog boxes | ||
| 11523 | so that Xt does not crash. */ | ||
| 11524 | { | 11460 | { |
| 11525 | Display *dpy = dpyinfo->display; | 11461 | Display *dpy = dpyinfo->display; |
| 11526 | XrmValue d, fr, to; | 11462 | XrmValue d, fr, to; |
| @@ -11540,7 +11476,6 @@ x_term_init (display_name, xrm_option, resource_name) | |||
| 11540 | x_uncatch_errors (); | 11476 | x_uncatch_errors (); |
| 11541 | } | 11477 | } |
| 11542 | #endif | 11478 | #endif |
| 11543 | #endif | ||
| 11544 | 11479 | ||
| 11545 | /* See if we should run in synchronous mode. This is useful | 11480 | /* See if we should run in synchronous mode. This is useful |
| 11546 | for debugging X code. */ | 11481 | for debugging X code. */ |
diff --git a/src/xterm.h b/src/xterm.h index ec583e39f4d..40cbf695d38 100644 --- a/src/xterm.h +++ b/src/xterm.h | |||
| @@ -59,43 +59,6 @@ typedef GtkWidget *xt_or_gtk_widget; | |||
| 59 | 59 | ||
| 60 | /* Bookkeeping to distinguish X versions. */ | 60 | /* Bookkeeping to distinguish X versions. */ |
| 61 | 61 | ||
| 62 | /* HAVE_X11R4 is defined if we have the features of X11R4. It should | ||
| 63 | be defined when we're using X11R5, since X11R5 has the features of | ||
| 64 | X11R4. If, in the future, we find we need more of these flags | ||
| 65 | (HAVE_X11R5, for example), code should always be written to test | ||
| 66 | the most recent flag first: | ||
| 67 | |||
| 68 | #ifdef HAVE_X11R5 | ||
| 69 | ... | ||
| 70 | #elif HAVE_X11R4 | ||
| 71 | ... | ||
| 72 | #elif HAVE_X11 | ||
| 73 | ... | ||
| 74 | #endif | ||
| 75 | |||
| 76 | If you ever find yourself writing a "#ifdef HAVE_FOO" clause that | ||
| 77 | looks a lot like another one, consider moving the text into a macro | ||
| 78 | whose definition is configuration-dependent, but whose usage is | ||
| 79 | universal - like the stuff in systime.h. | ||
| 80 | |||
| 81 | It turns out that we can auto-detect whether we're being compiled | ||
| 82 | with X11R3 or X11R4 by looking for the flag macros for R4 structure | ||
| 83 | members that R3 doesn't have. */ | ||
| 84 | #ifdef PBaseSize | ||
| 85 | /* AIX 3.1's X is somewhere between X11R3 and X11R4. It has | ||
| 86 | PBaseSize, but not XWithdrawWindow, XSetWMName, XSetWMNormalHints, | ||
| 87 | XSetWMIconName. | ||
| 88 | AIX 3.2 is at least X11R4. */ | ||
| 89 | #if (!defined AIX) || (defined AIX3_2) | ||
| 90 | #define HAVE_X11R4 | ||
| 91 | #endif | ||
| 92 | #endif | ||
| 93 | |||
| 94 | #ifdef HAVE_X11R5 | ||
| 95 | /* In case someone has X11R5 on AIX 3.1, | ||
| 96 | make sure HAVE_X11R4 is defined as well as HAVE_X11R5. */ | ||
| 97 | #define HAVE_X11R4 | ||
| 98 | #endif | ||
| 99 | 62 | ||
| 100 | #ifdef HAVE_X_I18N | 63 | #ifdef HAVE_X_I18N |
| 101 | #include <X11/Xlocale.h> | 64 | #include <X11/Xlocale.h> |