diff options
| author | Kenichi Handa | 2011-07-07 08:28:00 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2011-07-07 08:28:00 +0900 |
| commit | d2a0a50628933d3cdb09818eee2e17f55e22531f (patch) | |
| tree | d19c8e71eb63eb6ccd204c2f36f406e4cf853154 /src | |
| parent | c805dec0b5fa81b5c9f2b724e2ec12a17d723aca (diff) | |
| parent | 354cf0ba0b20108c9776be1d868458893bc2cd54 (diff) | |
| download | emacs-d2a0a50628933d3cdb09818eee2e17f55e22531f.tar.gz emacs-d2a0a50628933d3cdb09818eee2e17f55e22531f.zip | |
merge trunk
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 432 | ||||
| -rw-r--r-- | src/ChangeLog.9 | 2 | ||||
| -rw-r--r-- | src/Makefile.in | 8 | ||||
| -rw-r--r-- | src/alloc.c | 13 | ||||
| -rw-r--r-- | src/bidi.c | 4 | ||||
| -rw-r--r-- | src/buffer.c | 66 | ||||
| -rw-r--r-- | src/buffer.h | 4 | ||||
| -rw-r--r-- | src/bytecode.c | 6 | ||||
| -rw-r--r-- | src/callint.c | 56 | ||||
| -rw-r--r-- | src/casefiddle.c | 3 | ||||
| -rw-r--r-- | src/casetab.c | 6 | ||||
| -rw-r--r-- | src/category.c | 12 | ||||
| -rw-r--r-- | src/ccl.c | 23 | ||||
| -rw-r--r-- | src/character.h | 3 | ||||
| -rw-r--r-- | src/cmds.c | 19 | ||||
| -rw-r--r-- | src/coding.c | 2 | ||||
| -rw-r--r-- | src/composite.c | 10 | ||||
| -rw-r--r-- | src/dbusbind.c | 144 | ||||
| -rw-r--r-- | src/dired.c | 22 | ||||
| -rw-r--r-- | src/dispnew.c | 7 | ||||
| -rw-r--r-- | src/doc.c | 3 | ||||
| -rw-r--r-- | src/editfns.c | 23 | ||||
| -rw-r--r-- | src/emacs.c | 6 | ||||
| -rw-r--r-- | src/emacsgtkfixed.c | 101 | ||||
| -rw-r--r-- | src/emacsgtkfixed.h | 8 | ||||
| -rw-r--r-- | src/eval.c | 106 | ||||
| -rw-r--r-- | src/fileio.c | 157 | ||||
| -rw-r--r-- | src/fns.c | 86 | ||||
| -rw-r--r-- | src/frame.c | 145 | ||||
| -rw-r--r-- | src/fringe.c | 18 | ||||
| -rw-r--r-- | src/gnutls.c | 83 | ||||
| -rw-r--r-- | src/gtkutil.c | 16 | ||||
| -rw-r--r-- | src/image.c | 2 | ||||
| -rw-r--r-- | src/insdel.c | 3 | ||||
| -rw-r--r-- | src/keyboard.c | 17 | ||||
| -rw-r--r-- | src/keyboard.h | 2 | ||||
| -rw-r--r-- | src/keymap.c | 569 | ||||
| -rw-r--r-- | src/lisp.h | 8 | ||||
| -rw-r--r-- | src/lread.c | 267 | ||||
| -rw-r--r-- | src/macros.c | 25 | ||||
| -rw-r--r-- | src/makefile.w32-in | 1679 | ||||
| -rw-r--r-- | src/minibuf.c | 96 | ||||
| -rw-r--r-- | src/msdos.c | 3 | ||||
| -rw-r--r-- | src/print.c | 52 | ||||
| -rw-r--r-- | src/process.c | 261 | ||||
| -rw-r--r-- | src/search.c | 6 | ||||
| -rw-r--r-- | src/sound.c | 12 | ||||
| -rw-r--r-- | src/syntax.c | 9 | ||||
| -rw-r--r-- | src/sysdep.c | 42 | ||||
| -rw-r--r-- | src/terminal.c | 6 | ||||
| -rw-r--r-- | src/textprop.c | 64 | ||||
| -rw-r--r-- | src/undo.c | 7 | ||||
| -rw-r--r-- | src/w32.c | 3 | ||||
| -rw-r--r-- | src/w32fns.c | 4 | ||||
| -rw-r--r-- | src/w32menu.c | 1 | ||||
| -rw-r--r-- | src/w32proc.c | 1 | ||||
| -rw-r--r-- | src/w32select.c | 1 | ||||
| -rw-r--r-- | src/window.c | 231 | ||||
| -rw-r--r-- | src/window.h | 4 | ||||
| -rw-r--r-- | src/xdisp.c | 207 | ||||
| -rw-r--r-- | src/xfaces.c | 227 | ||||
| -rw-r--r-- | src/xfns.c | 23 | ||||
| -rw-r--r-- | src/xgselect.c | 10 | ||||
| -rw-r--r-- | src/xmenu.c | 3 | ||||
| -rw-r--r-- | src/xsettings.c | 433 | ||||
| -rw-r--r-- | src/xterm.c | 10 |
66 files changed, 2692 insertions, 3190 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 1a56298ee20..a3536cda7a4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -40,6 +40,426 @@ | |||
| 40 | * font.c (font_range): Adjusted for the change of | 40 | * font.c (font_range): Adjusted for the change of |
| 41 | Vunicode_category_table. | 41 | Vunicode_category_table. |
| 42 | 42 | ||
| 43 | 2011-07-06 Paul Eggert <eggert@cs.ucla.edu> | ||
| 44 | |||
| 45 | Remove unportable assumption about struct layout (Bug#8884). | ||
| 46 | * alloc.c (mark_buffer): | ||
| 47 | * buffer.c (reset_buffer_local_variables, Fbuffer_local_variables) | ||
| 48 | (clone_per_buffer_values): Don't assume that | ||
| 49 | sizeof (struct buffer) is a multiple of sizeof (Lisp_Object). | ||
| 50 | This isn't true in general, and it's particularly not true | ||
| 51 | if Emacs is configured with --with-wide-int. | ||
| 52 | * buffer.h (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): | ||
| 53 | New macros, used in the buffer.c change. | ||
| 54 | |||
| 55 | 2011-07-05 Jan Djärv <jan.h.d@swipnet.se> | ||
| 56 | |||
| 57 | * xsettings.c: Use both GConf and GSettings if both are available. | ||
| 58 | (store_config_changed_event): Add comment. | ||
| 59 | (dpyinfo_valid, store_font_name_changed, map_tool_bar_style) | ||
| 60 | (store_tool_bar_style_changed): New functions. | ||
| 61 | (store_monospaced_changed): Add comment. Call dpyinfo_valid. | ||
| 62 | (struct xsettings): Move font inside HAVE_XFT. | ||
| 63 | (GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines. | ||
| 64 | (GSETTINGS_MONO_FONT): Renamed from SYSTEM_MONO_FONT. | ||
| 65 | Move inside HAVE_XFT. | ||
| 66 | (something_changed_gsettingsCB): Renamed from something_changedCB. | ||
| 67 | Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME | ||
| 68 | also. | ||
| 69 | (GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines. | ||
| 70 | (GCONF_MONO_FONT): Renamed from SYSTEM_MONO_FONT. Move inside HAVE_XFT. | ||
| 71 | (something_changed_gconfCB): Renamed from something_changedCB. | ||
| 72 | Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also. | ||
| 73 | (parse_settings): Move check for font inside HAVE_XFT. | ||
| 74 | (read_settings, apply_xft_settings): Add comment. | ||
| 75 | (read_and_apply_settings): Add comment. Call map_tool_bar_style and | ||
| 76 | store_tool_bar_style_changed. Move check for font inside HAVE_XFT and | ||
| 77 | call store_font_name_changed. | ||
| 78 | (xft_settings_event): Add comment. | ||
| 79 | (init_gsettings): Add comment. Get values for GSETTINGS_TOOL_BAR_STYLE | ||
| 80 | and GSETTINGS_FONT_NAME. Move check for fonts within HAVE_XFT. | ||
| 81 | (init_gconf): Add comment. Get values for GCONF_TOOL_BAR_STYLE | ||
| 82 | and GCONF_FONT_NAME. Move check for fonts within HAVE_XFT. | ||
| 83 | (xsettings_initialize): Call init_gsettings last. | ||
| 84 | (xsettings_get_system_font, xsettings_get_system_normal_font): Add | ||
| 85 | comment. | ||
| 86 | |||
| 87 | 2011-07-05 Paul Eggert <eggert@cs.ucla.edu> | ||
| 88 | |||
| 89 | Random fixes. E.g., (random) never returned negative values. | ||
| 90 | * fns.c (Frandom): Use GET_EMACS_TIME for random seed, and add the | ||
| 91 | subseconds part to the entropy, as that's a bit more random. | ||
| 92 | Prefer signed to unsigned, since the signedness doesn't matter and | ||
| 93 | in general we prefer signed. When given a limit, use a | ||
| 94 | denominator equal to INTMASK + 1, not to VALMASK + 1, because the | ||
| 95 | latter isn't right if USE_2_TAGS_FOR_INTS. | ||
| 96 | * sysdep.c (get_random): Return a value in the range 0..INTMASK, | ||
| 97 | not 0..VALMASK. Don't discard "excess" bits that random () returns. | ||
| 98 | |||
| 99 | 2011-07-04 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 100 | |||
| 101 | * textprop.c (text_property_stickiness): | ||
| 102 | Obey Vtext_property_default_nonsticky. | ||
| 103 | (syms_of_textprop): Add `display' to Vtext_property_default_nonsticky. | ||
| 104 | * w32fns.c (syms_of_w32fns): | ||
| 105 | * xfns.c (syms_of_xfns): Don't Add `display' since it's there by default. | ||
| 106 | |||
| 107 | 2011-07-04 Paul Eggert <eggert@cs.ucla.edu> | ||
| 108 | |||
| 109 | * fileio.c (barf_or_query_if_file_exists): Use S_ISDIR. | ||
| 110 | This is more efficient than Ffile_directory_p and avoids a minor race. | ||
| 111 | |||
| 112 | 2011-07-04 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 113 | |||
| 114 | * buffer.c (Foverlay_put): Say what the return value is | ||
| 115 | (bug#7835). | ||
| 116 | |||
| 117 | * fileio.c (barf_or_query_if_file_exists): Check first if the file | ||
| 118 | is a directory before asking whether to use the file name | ||
| 119 | (bug#7564). | ||
| 120 | (barf_or_query_if_file_exists): Make the "File is a directory" | ||
| 121 | error be more correct. | ||
| 122 | |||
| 123 | * fns.c (Frequire): Remove the mention of the .gz files, since | ||
| 124 | that's installation-specific, but keep the mention of | ||
| 125 | `get-load-suffixes'. | ||
| 126 | |||
| 127 | 2011-07-04 Paul Eggert <eggert@cs.ucla.edu> | ||
| 128 | |||
| 129 | * editfns.c (Fformat_time_string): Don't assume strlen fits in int. | ||
| 130 | Report string overflow if the output is too long. | ||
| 131 | |||
| 132 | 2011-07-04 Juanma Barranquero <lekktu@gmail.com> | ||
| 133 | |||
| 134 | * gnutls.c (Fgnutls_boot): Don't mention :verify-error. | ||
| 135 | (syms_of_gnutls): Remove duplicate DEFSYM for | ||
| 136 | Qgnutls_bootprop_verify_hostname_error, an error for | ||
| 137 | Qgnutls_bootprop_verify_error (which is no longer used). | ||
| 138 | |||
| 139 | * eval.c (find_handler_clause): Remove parameters `sig' and `data', | ||
| 140 | unused since 2011-01-26T20:02:07Z!monnier@iro.umontreal.ca. All callers changed. | ||
| 141 | Also (re)move comments that are misplaced or no longer relevant. | ||
| 142 | |||
| 143 | 2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 144 | |||
| 145 | * callint.c (Finteractive): Clarify the meaning of "@" (bug#8813). | ||
| 146 | |||
| 147 | 2011-07-03 Chong Yidong <cyd@stupidchicken.com> | ||
| 148 | |||
| 149 | * xfaces.c (Finternal_merge_in_global_face): Modify the foreground | ||
| 150 | and background color parameters if they have been changed. | ||
| 151 | |||
| 152 | 2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 153 | |||
| 154 | * editfns.c (Fformat): Clarify the - and 0 flags (bug#6659). | ||
| 155 | |||
| 156 | 2011-07-03 Paul Eggert <eggert@cs.ucla.edu> | ||
| 157 | |||
| 158 | * xsettings.c (SYSTEM_FONT): Define only when used. | ||
| 159 | No need to define when HAVE_GSETTINGS || !HAVE_XFT. | ||
| 160 | |||
| 161 | * keymap.c (access_keymap_1): Now static. | ||
| 162 | |||
| 163 | 2011-07-02 Chong Yidong <cyd@stupidchicken.com> | ||
| 164 | |||
| 165 | * keyboard.c (command_loop_1): If a down-mouse event is unbound, | ||
| 166 | leave any prefix arg for the up event (Bug#1586). | ||
| 167 | |||
| 168 | 2011-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 169 | |||
| 170 | * lread.c (syms_of_lread): Mention single symbols defined by | ||
| 171 | `defvar' or `defconst' (bug#7154). | ||
| 172 | |||
| 173 | * fns.c (Frequire): Mention .el.gz files (bug#7314). | ||
| 174 | (Frequire): Mention get-load-suffixes. | ||
| 175 | |||
| 176 | 2011-07-02 Martin Rudalics <rudalics@gmx.at> | ||
| 177 | |||
| 178 | * window.h (window): Remove clone_number slot. | ||
| 179 | * window.c (Fwindow_clone_number, Fset_window_clone_number): | ||
| 180 | Remove. | ||
| 181 | (make_parent_window, make_window, saved_window) | ||
| 182 | (Fset_window_configuration, save_window_save): Don't deal with | ||
| 183 | clone numbers. | ||
| 184 | * buffer.c (Qclone_number): Remove declaration. | ||
| 185 | (sort_overlays, overlay_strings): Don't deal with clone numbers. | ||
| 186 | |||
| 187 | 2011-07-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 188 | |||
| 189 | Add multiple inheritance to keymaps. | ||
| 190 | * keymap.c (Fmake_composed_keymap): New function. | ||
| 191 | (Fset_keymap_parent): Simplify. | ||
| 192 | (fix_submap_inheritance): Remove. | ||
| 193 | (access_keymap_1): New function extracted from access_keymap to handle | ||
| 194 | embedded parents and handle lists of maps. | ||
| 195 | (access_keymap): Use it. | ||
| 196 | (Fkeymap_prompt, map_keymap_internal, map_keymap, store_in_keymap) | ||
| 197 | (Fcopy_keymap): Handle embedded parents. | ||
| 198 | (Fcommand_remapping, define_as_prefix): Simplify. | ||
| 199 | (Fkey_binding): Simplify. | ||
| 200 | (syms_of_keymap): Move minibuffer-local-completion-map, | ||
| 201 | minibuffer-local-filename-completion-map, | ||
| 202 | minibuffer-local-must-match-map, and | ||
| 203 | minibuffer-local-filename-must-match-map to Elisp. | ||
| 204 | (syms_of_keymap): Defsubr make-composed-keymap. | ||
| 205 | * keyboard.c (menu_bar_items): Use map_keymap_canonical. | ||
| 206 | (parse_menu_item): Trivial simplification. | ||
| 207 | |||
| 208 | 2011-07-01 Glenn Morris <rgm@gnu.org> | ||
| 209 | |||
| 210 | * Makefile.in (SETTINGS_LIBS): Fix typo. | ||
| 211 | |||
| 212 | 2011-07-01 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny patch) | ||
| 213 | |||
| 214 | * coding.c (Fencode_coding_string): Record the last coding system | ||
| 215 | used, as the function doc string says (bug#8738). | ||
| 216 | |||
| 217 | 2011-07-01 Jan Djärv <jan.h.d@swipnet.se> | ||
| 218 | |||
| 219 | * xsettings.c (store_monospaced_changed): Take new font as arg and | ||
| 220 | check for change against current_mono_font. | ||
| 221 | (EMACS_TYPE_SETTINGS): Remove this and related defines. | ||
| 222 | (emacs_settings_constructor, emacs_settings_get_property) | ||
| 223 | (emacs_settings_set_property, emacs_settings_class_init) | ||
| 224 | (emacs_settings_init, gsettings_obj): Remove. | ||
| 225 | (something_changedCB): New function for HAVE_GSETTINGS. | ||
| 226 | (something_changedCB): HAVE_GCONF: Call store_monospaced_changed | ||
| 227 | with value as argument. | ||
| 228 | (init_gsettings): Check that GSETTINGS_SCHEMA exists before calling | ||
| 229 | g_settings_new (Bug#8967). Do not create gsettings_obj. | ||
| 230 | Remove calls to g_settings_bind. Connect something_changedCB to | ||
| 231 | "changed". | ||
| 232 | |||
| 233 | * xgselect.c: Add defined (HAVE_GSETTINGS). | ||
| 234 | (xgselect_initialize): Ditto. | ||
| 235 | |||
| 236 | * process.c: Add defined (HAVE_GSETTINGS) for xgselect.h | ||
| 237 | (wait_reading_process_output): Add defined (HAVE_GSETTINGS) for | ||
| 238 | xg_select. | ||
| 239 | |||
| 240 | 2011-07-01 Paul Eggert <eggert@cs.ucla.edu> | ||
| 241 | |||
| 242 | * eval.c (struct backtrace): Simplify and port the data structure. | ||
| 243 | Do not assume that "int nargs : BITS_PER_INT - 2;" produces a | ||
| 244 | signed bit field, as this assumption is not portable and it makes | ||
| 245 | Emacs crash when compiled with Sun C 5.8 on sparc. Do not use | ||
| 246 | "char debug_on_exit : 1" as this is not portable either; instead, | ||
| 247 | use the portable "unsigned int debug_on_exit : 1". Remove unused | ||
| 248 | member evalargs. Remove obsolete comments about cc bombing out. | ||
| 249 | |||
| 250 | 2011-06-30 Jan Djärv <jan.h.d@swipnet.se> | ||
| 251 | |||
| 252 | * xsettings.c: Include glib-object.h, gio/gio.h if HAVE_GSETTINGS. | ||
| 253 | Let HAVE_GSETTINGS override HAVE_GCONF. | ||
| 254 | (store_monospaced_changed): New function. | ||
| 255 | (EMACS_SETTINGS): A new type derived from GObject to handle | ||
| 256 | GSettings notifications. | ||
| 257 | (emacs_settings_constructor, emacs_settings_get_property) | ||
| 258 | (emacs_settings_set_property, emacs_settings_class_init): | ||
| 259 | New functions. | ||
| 260 | (gsettings_client, gsettings_obj): New variables. | ||
| 261 | (GSETTINGS_SCHEMA): New define. | ||
| 262 | (something_changedCB): Call store_monospaced_changed. | ||
| 263 | (init_gsettings): New function. | ||
| 264 | (xsettings_initialize): Call init_gsettings. | ||
| 265 | (syms_of_xsettings): Initialize gsettings_client, gsettings_obj | ||
| 266 | to NULL. | ||
| 267 | |||
| 268 | * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Renamed from | ||
| 269 | GCONF_CFLAGS/LIBS. | ||
| 270 | |||
| 271 | 2011-06-29 Martin Rudalics <rudalics@gmx.at> | ||
| 272 | |||
| 273 | * window.c (resize_root_window, grow_mini_window) | ||
| 274 | (shrink_mini_window): Rename Qresize_root_window to | ||
| 275 | Qwindow_resize_root_window and Qresize_root_window_vertically to | ||
| 276 | Qwindow_resize_root_window_vertically. | ||
| 277 | |||
| 278 | 2011-06-28 Paul Eggert <eggert@cs.ucla.edu> | ||
| 279 | |||
| 280 | * gnutls.c (Qgnutls_bootprop_verify_error): Remove unused var. | ||
| 281 | |||
| 282 | 2011-06-27 Juanma Barranquero <lekktu@gmail.com> | ||
| 283 | |||
| 284 | * makefile.w32-in: Redesign dependencies so they reflect more | ||
| 285 | clearly which files are directly included by each source file, | ||
| 286 | and not through other includes. | ||
| 287 | |||
| 288 | 2011-06-27 Martin Rudalics <rudalics@gmx.at> | ||
| 289 | |||
| 290 | * buffer.c (Qclone_number): Declare static and DEFSYM it. | ||
| 291 | (sort_overlays, overlay_strings): When an overlay's clone number | ||
| 292 | matches the window's clone number process the overlay even if | ||
| 293 | the overlay's window property doesn't match the current window. | ||
| 294 | |||
| 295 | * window.c (Fwindow_vchild): Rename to Fwindow_top_child. | ||
| 296 | (Fwindow_hchild): Rename to Fwindow_left_child. | ||
| 297 | (Fwindow_next): Rename to Fwindow_next_sibling. | ||
| 298 | (Fwindow_prev): Rename to Fwindow_prev_sibling. | ||
| 299 | (resize_window_check): Rename to window_resize_check. | ||
| 300 | (resize_window_apply): Rename to window_resize_apply. | ||
| 301 | (Fresize_window_apply): Rename to Fwindow_resize_apply. | ||
| 302 | (Fdelete_other_windows_internal, resize_frame_windows) | ||
| 303 | (Fsplit_window_internal, Fdelete_window_internal) | ||
| 304 | (grow_mini_window, shrink_mini_window) | ||
| 305 | (Fresize_mini_window_internal): Fix callers accordingly. | ||
| 306 | |||
| 307 | 2011-06-26 Jan Djärv <jan.h.d@swipnet.se> | ||
| 308 | |||
| 309 | * emacsgtkfixed.h: State that this is only used with Gtk+3. | ||
| 310 | (emacs_fixed_set_min_size): Remove. | ||
| 311 | (emacs_fixed_new): Take frame as argument. | ||
| 312 | |||
| 313 | * emacsgtkfixed.c: State that this is only used with Gtk+3. | ||
| 314 | (_EmacsFixedPrivate): Remove minwidth/height. | ||
| 315 | Add struct frame *f. | ||
| 316 | (emacs_fixed_init): Initialize priv->f. | ||
| 317 | (get_parent_class, emacs_fixed_set_min_size): Remove. | ||
| 318 | (emacs_fixed_new): Set priv->f to argument. | ||
| 319 | (emacs_fixed_get_preferred_width) | ||
| 320 | (emacs_fixed_get_preferred_height): Use min_width/height from | ||
| 321 | frames size_hint to set minimum and natural (Bug#8919). | ||
| 322 | (XSetWMSizeHints, XSetWMNormalHints): Override these functions | ||
| 323 | and use min_width/height from frames size_hint to set | ||
| 324 | min_width/height (Bug#8919). | ||
| 325 | |||
| 326 | * gtkutil.c (xg_create_frame_widgets): Pass f to emacs_fixed_new. | ||
| 327 | (x_wm_set_size_hint): Remove call to emacs_fixed_set_min_size. | ||
| 328 | Fix indentation. | ||
| 329 | |||
| 330 | 2011-06-26 Eli Zaretskii <eliz@gnu.org> | ||
| 331 | |||
| 332 | * bidi.c (bidi_paragraph_init): Test for ZV_BYTE before calling | ||
| 333 | bidi_at_paragraph_end, since fast_looking_at doesn't like to be | ||
| 334 | called at ZV. | ||
| 335 | |||
| 336 | 2011-06-26 Chong Yidong <cyd@stupidchicken.com> | ||
| 337 | |||
| 338 | * process.c (wait_reading_process_output): Bypass select if | ||
| 339 | waiting for a cell while ignoring keyboard input, and input is | ||
| 340 | pending. Suggested by Jan Djärv (Bug#8869). | ||
| 341 | |||
| 342 | 2011-06-25 Paul Eggert <eggert@cs.ucla.edu> | ||
| 343 | |||
| 344 | Use gnulib's dup2 module instead of rolling our own. | ||
| 345 | * sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this. | ||
| 346 | |||
| 347 | 2011-06-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 348 | |||
| 349 | * dispnew.c (scrolling_window): Before scrolling, turn off a | ||
| 350 | mouse-highlight in the window being scrolled. | ||
| 351 | |||
| 352 | 2011-06-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 353 | |||
| 354 | Move DEFSYM to lisp.h and use everywhere. | ||
| 355 | |||
| 356 | * character.h (DEFSYM): Move declaration... | ||
| 357 | * lisp.h (DEFSYM): ...here. | ||
| 358 | |||
| 359 | * gnutls.c: | ||
| 360 | * minibuf.c: | ||
| 361 | * w32menu.c: | ||
| 362 | * w32proc.c: | ||
| 363 | * w32select.c: Don't include character.h. | ||
| 364 | |||
| 365 | * alloc.c (syms_of_alloc): | ||
| 366 | * buffer.c (syms_of_buffer): | ||
| 367 | * bytecode.c (syms_of_bytecode): | ||
| 368 | * callint.c (syms_of_callint): | ||
| 369 | * casefiddle.c (syms_of_casefiddle): | ||
| 370 | * casetab.c (init_casetab_once): | ||
| 371 | * category.c (init_category_once, syms_of_category): | ||
| 372 | * ccl.c (syms_of_ccl): | ||
| 373 | * cmds.c (syms_of_cmds): | ||
| 374 | * composite.c (syms_of_composite): | ||
| 375 | * dbusbind.c (syms_of_dbusbind): | ||
| 376 | * dired.c (syms_of_dired): | ||
| 377 | * dispnew.c (syms_of_display): | ||
| 378 | * doc.c (syms_of_doc): | ||
| 379 | * editfns.c (syms_of_editfns): | ||
| 380 | * emacs.c (syms_of_emacs): | ||
| 381 | * eval.c (syms_of_eval): | ||
| 382 | * fileio.c (syms_of_fileio): | ||
| 383 | * fns.c (syms_of_fns): | ||
| 384 | * frame.c (syms_of_frame): | ||
| 385 | * fringe.c (syms_of_fringe): | ||
| 386 | * insdel.c (syms_of_insdel): | ||
| 387 | * keymap.c (syms_of_keymap): | ||
| 388 | * lread.c (init_obarray, syms_of_lread): | ||
| 389 | * macros.c (syms_of_macros): | ||
| 390 | * msdos.c (syms_of_msdos): | ||
| 391 | * print.c (syms_of_print): | ||
| 392 | * process.c (syms_of_process): | ||
| 393 | * search.c (syms_of_search): | ||
| 394 | * sound.c (syms_of_sound): | ||
| 395 | * syntax.c (init_syntax_once, syms_of_syntax): | ||
| 396 | * terminal.c (syms_of_terminal): | ||
| 397 | * textprop.c (syms_of_textprop): | ||
| 398 | * undo.c (syms_of_undo): | ||
| 399 | * w32.c (globals_of_w32): | ||
| 400 | * window.c (syms_of_window): | ||
| 401 | * xdisp.c (syms_of_xdisp): | ||
| 402 | * xfaces.c (syms_of_xfaces): | ||
| 403 | * xfns.c (syms_of_xfns): | ||
| 404 | * xmenu.c (syms_of_xmenu): | ||
| 405 | * xsettings.c (syms_of_xsettings): | ||
| 406 | * xterm.c (syms_of_xterm): Use DEFSYM. | ||
| 407 | |||
| 408 | 2011-06-24 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 409 | |||
| 410 | * gnutls.c (syms_of_gnutls): Use the DEFSYM macro from character.h. | ||
| 411 | |||
| 412 | 2011-06-23 Paul Eggert <eggert@cs.ucla.edu> | ||
| 413 | |||
| 414 | Integer and buffer overflow fixes (Bug#8873). | ||
| 415 | |||
| 416 | * print.c (printchar, strout): Check for string overflow. | ||
| 417 | (PRINTPREPARE, printchar, strout): | ||
| 418 | Don't set size unless allocation succeeds. | ||
| 419 | |||
| 420 | * minibuf.c (read_minibuf_noninteractive): Use ptrdiff_t, not int, | ||
| 421 | for sizes. Check for string overflow more accurately. | ||
| 422 | Simplify newline removal at end; this suppresses a GCC 4.6.0 warning. | ||
| 423 | |||
| 424 | * macros.c: Integer and buffer overflow fixes. | ||
| 425 | * keyboard.h (struct keyboard.kbd_macro_bufsize): | ||
| 426 | * macros.c (Fstart_kbd_macro, store_kbd_macro_char): | ||
| 427 | Use ptrdiff_t, not int, for sizes. | ||
| 428 | Don't increment bufsize until after realloc succeeds. | ||
| 429 | Check for size-calculation overflow. | ||
| 430 | (Fstart_kbd_macro): Use EMACS_INT, not int, for XINT result. | ||
| 431 | |||
| 432 | * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling. | ||
| 433 | |||
| 434 | * lread.c: Integer overflow fixes. | ||
| 435 | (read_integer): Radix is now EMACS_INT, not int, | ||
| 436 | to improve quality of diagnostics for out-of-range radices. | ||
| 437 | Calculate buffer size correctly for out-of-range radices. | ||
| 438 | (read1): Check for integer overflow in radices, and in | ||
| 439 | read-circle numbers. | ||
| 440 | (read_escape): Avoid int overflow. | ||
| 441 | (Fload, openp, read_buffer_size, read1) | ||
| 442 | (substitute_object_recurse, read_vector, read_list, map_obarray): | ||
| 443 | Use ptrdiff_t, not int, for sizes. | ||
| 444 | (read1): Use EMACS_INT, not int, for sizes. | ||
| 445 | Check for size overflow. | ||
| 446 | |||
| 447 | * image.c (cache_image): Check for size arithmetic overflow. | ||
| 448 | |||
| 449 | * lread.c: Integer overflow issues. | ||
| 450 | (saved_doc_string_size, saved_doc_string_length) | ||
| 451 | (prev_saved_doc_string_size, prev_saved_doc_string_length): | ||
| 452 | Now ptrdiff_t, not int. | ||
| 453 | (read1): Don't assume doc string length fits in int. Check for | ||
| 454 | out-of-range doc string lengths. | ||
| 455 | (read_list): Don't assume file position fits in int. | ||
| 456 | (read_escape): Check for hex character overflow. | ||
| 457 | |||
| 458 | 2011-06-22 Leo Liu <sdl.web@gmail.com> | ||
| 459 | |||
| 460 | * minibuf.c (Fcompleting_read_default, Vcompleting_read_function): | ||
| 461 | Move to minibuffer.el. | ||
| 462 | |||
| 43 | 2011-06-22 Paul Eggert <eggert@cs.ucla.edu> | 463 | 2011-06-22 Paul Eggert <eggert@cs.ucla.edu> |
| 44 | 464 | ||
| 45 | Fixes for GLYPH_DEBUG found by GCC 4.6.0 static checking. | 465 | Fixes for GLYPH_DEBUG found by GCC 4.6.0 static checking. |
| @@ -272,7 +692,7 @@ | |||
| 272 | 692 | ||
| 273 | 2011-06-22 Jim Meyering <meyering@redhat.com> | 693 | 2011-06-22 Jim Meyering <meyering@redhat.com> |
| 274 | 694 | ||
| 275 | don't leak an XBM-image-sized buffer | 695 | Don't leak an XBM-image-sized buffer |
| 276 | * image.c (xbm_load): Free the image buffer after using it. | 696 | * image.c (xbm_load): Free the image buffer after using it. |
| 277 | 697 | ||
| 278 | 2011-06-21 Paul Eggert <eggert@cs.ucla.edu> | 698 | 2011-06-21 Paul Eggert <eggert@cs.ucla.edu> |
| @@ -292,7 +712,7 @@ | |||
| 292 | 712 | ||
| 293 | * fns.c (secure_hash): Rename from crypto_hash_function and change | 713 | * fns.c (secure_hash): Rename from crypto_hash_function and change |
| 294 | the first arg to accept symbols. | 714 | the first arg to accept symbols. |
| 295 | (Fsecure_hash): New primtive. | 715 | (Fsecure_hash): New primitive. |
| 296 | (syms_of_fns): New symbols. | 716 | (syms_of_fns): New symbols. |
| 297 | 717 | ||
| 298 | 2011-06-20 Deniz Dogan <deniz@dogan.se> | 718 | 2011-06-20 Deniz Dogan <deniz@dogan.se> |
| @@ -1466,7 +1886,7 @@ | |||
| 1466 | and %.0c. Fix bug with strchr succeeding on '\0' when looking for | 1886 | and %.0c. Fix bug with strchr succeeding on '\0' when looking for |
| 1467 | flags. Fix bug with (format "%c" 256.0). Avoid integer overflow when | 1887 | flags. Fix bug with (format "%c" 256.0). Avoid integer overflow when |
| 1468 | formatting out-of-range floating point numbers with int | 1888 | formatting out-of-range floating point numbers with int |
| 1469 | formats. (Bug#8668) | 1889 | formats. (Bug#8668) |
| 1470 | 1890 | ||
| 1471 | * lisp.h (FIXNUM_OVERFLOW_P): Work even if arg is a NaN. | 1891 | * lisp.h (FIXNUM_OVERFLOW_P): Work even if arg is a NaN. |
| 1472 | 1892 | ||
| @@ -2430,9 +2850,9 @@ | |||
| 2430 | :verify-hostname-error, :verify-error, and :verify-flags | 2850 | :verify-hostname-error, :verify-error, and :verify-flags |
| 2431 | parameters of `gnutls-boot' and documented those parameters in the | 2851 | parameters of `gnutls-boot' and documented those parameters in the |
| 2432 | docstring. Start callback support. | 2852 | docstring. Start callback support. |
| 2433 | (emacs_gnutls_handshake): Add Woe32 support. Retry handshake | 2853 | (emacs_gnutls_handshake): Add Woe32 support. Retry handshake |
| 2434 | unless a fatal error occured. Call gnutls_alert_send_appropriate | 2854 | unless a fatal error occurred. Call gnutls_alert_send_appropriate |
| 2435 | on error. Return error code. | 2855 | on error. Return error code. |
| 2436 | (emacs_gnutls_write): Call emacs_gnutls_handle_error. | 2856 | (emacs_gnutls_write): Call emacs_gnutls_handle_error. |
| 2437 | (emacs_gnutls_read): Likewise. | 2857 | (emacs_gnutls_read): Likewise. |
| 2438 | (Fgnutls_boot): Return handshake error code. | 2858 | (Fgnutls_boot): Return handshake error code. |
diff --git a/src/ChangeLog.9 b/src/ChangeLog.9 index 0c39de74a6a..f25434087c1 100644 --- a/src/ChangeLog.9 +++ b/src/ChangeLog.9 | |||
| @@ -5985,7 +5985,7 @@ | |||
| 5985 | GC_PROTECT_MALLOC_STATE]: New function. | 5985 | GC_PROTECT_MALLOC_STATE]: New function. |
| 5986 | (PROTECT_MALLOC_STATE): New macro. | 5986 | (PROTECT_MALLOC_STATE): New macro. |
| 5987 | (__malloc_initialize, morecore, _malloc_internal) | 5987 | (__malloc_initialize, morecore, _malloc_internal) |
| 5988 | (_free_internal) _realloc_internal): Use it to make _heapinfo | 5988 | (_free_internal, _realloc_internal): Use it to make _heapinfo |
| 5989 | read-only outside of gmalloc. | 5989 | read-only outside of gmalloc. |
| 5990 | 5990 | ||
| 5991 | * keymap.c: Update copyright. | 5991 | * keymap.c: Update copyright. |
diff --git a/src/Makefile.in b/src/Makefile.in index c4250b90633..f628c321f70 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -152,8 +152,8 @@ DBUS_LIBS = @DBUS_LIBS@ | |||
| 152 | ## dbusbind.o if HAVE_DBUS, else empty. | 152 | ## dbusbind.o if HAVE_DBUS, else empty. |
| 153 | DBUS_OBJ = @DBUS_OBJ@ | 153 | DBUS_OBJ = @DBUS_OBJ@ |
| 154 | 154 | ||
| 155 | GCONF_CFLAGS = @GCONF_CFLAGS@ | 155 | SETTINGS_CFLAGS = @SETTINGS_CFLAGS@ |
| 156 | GCONF_LIBS = @GCONF_LIBS@ | 156 | SETTINGS_LIBS = @SETTINGS_LIBS@ |
| 157 | 157 | ||
| 158 | ## gtkutil.o if USE_GTK, else empty. | 158 | ## gtkutil.o if USE_GTK, else empty. |
| 159 | GTK_OBJ=@GTK_OBJ@ | 159 | GTK_OBJ=@GTK_OBJ@ |
| @@ -305,7 +305,7 @@ ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I$(srcdir) \ | |||
| 305 | $(C_SWITCH_MACHINE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \ | 305 | $(C_SWITCH_MACHINE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \ |
| 306 | $(C_SWITCH_X_SYSTEM) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \ | 306 | $(C_SWITCH_X_SYSTEM) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \ |
| 307 | $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \ | 307 | $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \ |
| 308 | $(GCONF_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \ | 308 | $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \ |
| 309 | $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) $(PROFILING_CFLAGS) \ | 309 | $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) $(PROFILING_CFLAGS) \ |
| 310 | $(LIBGNUTLS_CFLAGS) \ | 310 | $(LIBGNUTLS_CFLAGS) \ |
| 311 | $(C_WARNINGS_SWITCH) $(CFLAGS) | 311 | $(C_WARNINGS_SWITCH) $(CFLAGS) |
| @@ -381,7 +381,7 @@ otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) \ | |||
| 381 | LIBES = $(LIBS) $(LIBX_BASE) $(LIBX_OTHER) $(LIBSOUND) \ | 381 | LIBES = $(LIBS) $(LIBX_BASE) $(LIBX_OTHER) $(LIBSOUND) \ |
| 382 | $(RSVG_LIBS) $(IMAGEMAGICK_LIBS) $(DBUS_LIBS) \ | 382 | $(RSVG_LIBS) $(IMAGEMAGICK_LIBS) $(DBUS_LIBS) \ |
| 383 | $(LIBXML2_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \ | 383 | $(LIBXML2_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \ |
| 384 | $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) $(GCONF_LIBS) $(LIBSELINUX_LIBS) \ | 384 | $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) $(SETTINGS_LIBS) $(LIBSELINUX_LIBS) \ |
| 385 | $(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \ | 385 | $(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \ |
| 386 | $(LIBGNUTLS_LIBS) \ | 386 | $(LIBGNUTLS_LIBS) \ |
| 387 | $(LIB_GCC) $(LIB_MATH) $(LIB_STANDARD) $(LIB_GCC) | 387 | $(LIB_GCC) $(LIB_MATH) $(LIB_STANDARD) $(LIB_GCC) |
diff --git a/src/alloc.c b/src/alloc.c index 69623d103c3..f679787e95c 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -5619,7 +5619,8 @@ mark_buffer (Lisp_Object buf) | |||
| 5619 | /* buffer-local Lisp variables start at `undo_list', | 5619 | /* buffer-local Lisp variables start at `undo_list', |
| 5620 | tho only the ones from `name' on are GC'd normally. */ | 5620 | tho only the ones from `name' on are GC'd normally. */ |
| 5621 | for (ptr = &buffer->BUFFER_INTERNAL_FIELD (name); | 5621 | for (ptr = &buffer->BUFFER_INTERNAL_FIELD (name); |
| 5622 | (char *)ptr < (char *)buffer + sizeof (struct buffer); | 5622 | ptr <= &PER_BUFFER_VALUE (buffer, |
| 5623 | PER_BUFFER_VAR_OFFSET (LAST_FIELD_PER_BUFFER)); | ||
| 5623 | ptr++) | 5624 | ptr++) |
| 5624 | mark_object (*ptr); | 5625 | mark_object (*ptr); |
| 5625 | 5626 | ||
| @@ -6251,8 +6252,7 @@ do hash-consing of the objects allocated to pure space. */); | |||
| 6251 | DEFVAR_LISP ("post-gc-hook", Vpost_gc_hook, | 6252 | DEFVAR_LISP ("post-gc-hook", Vpost_gc_hook, |
| 6252 | doc: /* Hook run after garbage collection has finished. */); | 6253 | doc: /* Hook run after garbage collection has finished. */); |
| 6253 | Vpost_gc_hook = Qnil; | 6254 | Vpost_gc_hook = Qnil; |
| 6254 | Qpost_gc_hook = intern_c_string ("post-gc-hook"); | 6255 | DEFSYM (Qpost_gc_hook, "post-gc-hook"); |
| 6255 | staticpro (&Qpost_gc_hook); | ||
| 6256 | 6256 | ||
| 6257 | DEFVAR_LISP ("memory-signal-data", Vmemory_signal_data, | 6257 | DEFVAR_LISP ("memory-signal-data", Vmemory_signal_data, |
| 6258 | doc: /* Precomputed `signal' argument for memory-full error. */); | 6258 | doc: /* Precomputed `signal' argument for memory-full error. */); |
| @@ -6266,11 +6266,8 @@ do hash-consing of the objects allocated to pure space. */); | |||
| 6266 | doc: /* Non-nil means Emacs cannot get much more Lisp memory. */); | 6266 | doc: /* Non-nil means Emacs cannot get much more Lisp memory. */); |
| 6267 | Vmemory_full = Qnil; | 6267 | Vmemory_full = Qnil; |
| 6268 | 6268 | ||
| 6269 | staticpro (&Qgc_cons_threshold); | 6269 | DEFSYM (Qgc_cons_threshold, "gc-cons-threshold"); |
| 6270 | Qgc_cons_threshold = intern_c_string ("gc-cons-threshold"); | 6270 | DEFSYM (Qchar_table_extra_slots, "char-table-extra-slots"); |
| 6271 | |||
| 6272 | staticpro (&Qchar_table_extra_slots); | ||
| 6273 | Qchar_table_extra_slots = intern_c_string ("char-table-extra-slots"); | ||
| 6274 | 6271 | ||
| 6275 | DEFVAR_LISP ("gc-elapsed", Vgc_elapsed, | 6272 | DEFVAR_LISP ("gc-elapsed", Vgc_elapsed, |
| 6276 | doc: /* Accumulated time elapsed in garbage collections. | 6273 | doc: /* Accumulated time elapsed in garbage collections. |
diff --git a/src/bidi.c b/src/bidi.c index 1f3b196d5a4..469afdb3819 100644 --- a/src/bidi.c +++ b/src/bidi.c | |||
| @@ -744,8 +744,6 @@ bidi_paragraph_init (bidi_dir_t dir, struct bidi_it *bidi_it, int no_default_p) | |||
| 744 | || type == LRE || type == LRO)); | 744 | || type == LRE || type == LRO)); |
| 745 | type = bidi_get_type (ch, NEUTRAL_DIR)) | 745 | type = bidi_get_type (ch, NEUTRAL_DIR)) |
| 746 | { | 746 | { |
| 747 | if (type == NEUTRAL_B && bidi_at_paragraph_end (pos, bytepos) >= -1) | ||
| 748 | break; | ||
| 749 | if (bytepos >= ZV_BYTE) | 747 | if (bytepos >= ZV_BYTE) |
| 750 | { | 748 | { |
| 751 | /* Pretend there's a paragraph separator at end of | 749 | /* Pretend there's a paragraph separator at end of |
| @@ -753,6 +751,8 @@ bidi_paragraph_init (bidi_dir_t dir, struct bidi_it *bidi_it, int no_default_p) | |||
| 753 | type = NEUTRAL_B; | 751 | type = NEUTRAL_B; |
| 754 | break; | 752 | break; |
| 755 | } | 753 | } |
| 754 | if (type == NEUTRAL_B && bidi_at_paragraph_end (pos, bytepos) >= -1) | ||
| 755 | break; | ||
| 756 | /* Fetch next character and advance to get past it. */ | 756 | /* Fetch next character and advance to get past it. */ |
| 757 | ch = bidi_fetch_char (bytepos, pos, &disp_pos, | 757 | ch = bidi_fetch_char (bytepos, pos, &disp_pos, |
| 758 | bidi_it->frame_window_p, &ch_len, &nchars); | 758 | bidi_it->frame_window_p, &ch_len, &nchars); |
diff --git a/src/buffer.c b/src/buffer.c index 238923a2ba0..e2f34d629e9 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -471,8 +471,8 @@ clone_per_buffer_values (struct buffer *from, struct buffer *to) | |||
| 471 | 471 | ||
| 472 | /* buffer-local Lisp variables start at `undo_list', | 472 | /* buffer-local Lisp variables start at `undo_list', |
| 473 | tho only the ones from `name' on are GC'd normally. */ | 473 | tho only the ones from `name' on are GC'd normally. */ |
| 474 | for (offset = PER_BUFFER_VAR_OFFSET (undo_list); | 474 | for (offset = PER_BUFFER_VAR_OFFSET (FIRST_FIELD_PER_BUFFER); |
| 475 | offset < sizeof *to; | 475 | offset <= PER_BUFFER_VAR_OFFSET (LAST_FIELD_PER_BUFFER); |
| 476 | offset += sizeof (Lisp_Object)) | 476 | offset += sizeof (Lisp_Object)) |
| 477 | { | 477 | { |
| 478 | Lisp_Object obj; | 478 | Lisp_Object obj; |
| @@ -830,8 +830,8 @@ reset_buffer_local_variables (register struct buffer *b, int permanent_too) | |||
| 830 | 830 | ||
| 831 | /* buffer-local Lisp variables start at `undo_list', | 831 | /* buffer-local Lisp variables start at `undo_list', |
| 832 | tho only the ones from `name' on are GC'd normally. */ | 832 | tho only the ones from `name' on are GC'd normally. */ |
| 833 | for (offset = PER_BUFFER_VAR_OFFSET (undo_list); | 833 | for (offset = PER_BUFFER_VAR_OFFSET (FIRST_FIELD_PER_BUFFER); |
| 834 | offset < sizeof *b; | 834 | offset <= PER_BUFFER_VAR_OFFSET (LAST_FIELD_PER_BUFFER); |
| 835 | offset += sizeof (Lisp_Object)) | 835 | offset += sizeof (Lisp_Object)) |
| 836 | { | 836 | { |
| 837 | int idx = PER_BUFFER_IDX (offset); | 837 | int idx = PER_BUFFER_IDX (offset); |
| @@ -1055,8 +1055,8 @@ No argument or nil as argument means use current buffer as BUFFER. */) | |||
| 1055 | 1055 | ||
| 1056 | /* buffer-local Lisp variables start at `undo_list', | 1056 | /* buffer-local Lisp variables start at `undo_list', |
| 1057 | tho only the ones from `name' on are GC'd normally. */ | 1057 | tho only the ones from `name' on are GC'd normally. */ |
| 1058 | for (offset = PER_BUFFER_VAR_OFFSET (undo_list); | 1058 | for (offset = PER_BUFFER_VAR_OFFSET (FIRST_FIELD_PER_BUFFER); |
| 1059 | offset < sizeof (struct buffer); | 1059 | offset <= PER_BUFFER_VAR_OFFSET (LAST_FIELD_PER_BUFFER); |
| 1060 | /* sizeof EMACS_INT == sizeof Lisp_Object */ | 1060 | /* sizeof EMACS_INT == sizeof Lisp_Object */ |
| 1061 | offset += (sizeof (EMACS_INT))) | 1061 | offset += (sizeof (EMACS_INT))) |
| 1062 | { | 1062 | { |
| @@ -4056,7 +4056,8 @@ DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0, | |||
| 4056 | } | 4056 | } |
| 4057 | 4057 | ||
| 4058 | DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0, | 4058 | DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0, |
| 4059 | doc: /* Set one property of overlay OVERLAY: give property PROP value VALUE. */) | 4059 | doc: /* Set one property of overlay OVERLAY: give property PROP value VALUE. |
| 4060 | VALUE will be returned.*/) | ||
| 4060 | (Lisp_Object overlay, Lisp_Object prop, Lisp_Object value) | 4061 | (Lisp_Object overlay, Lisp_Object prop, Lisp_Object value) |
| 4061 | { | 4062 | { |
| 4062 | Lisp_Object tail, buffer; | 4063 | Lisp_Object tail, buffer; |
| @@ -5209,39 +5210,26 @@ syms_of_buffer (void) | |||
| 5209 | staticpro (&Vbuffer_alist); | 5210 | staticpro (&Vbuffer_alist); |
| 5210 | staticpro (&Qprotected_field); | 5211 | staticpro (&Qprotected_field); |
| 5211 | staticpro (&Qpermanent_local); | 5212 | staticpro (&Qpermanent_local); |
| 5212 | Qpermanent_local_hook = intern_c_string ("permanent-local-hook"); | ||
| 5213 | staticpro (&Qpermanent_local_hook); | ||
| 5214 | staticpro (&Qkill_buffer_hook); | 5213 | staticpro (&Qkill_buffer_hook); |
| 5215 | Qoverlayp = intern_c_string ("overlayp"); | 5214 | |
| 5216 | staticpro (&Qoverlayp); | 5215 | DEFSYM (Qpermanent_local_hook, "permanent-local-hook"); |
| 5217 | Qevaporate = intern_c_string ("evaporate"); | 5216 | DEFSYM (Qoverlayp, "overlayp"); |
| 5218 | staticpro (&Qevaporate); | 5217 | DEFSYM (Qevaporate, "evaporate"); |
| 5219 | Qmodification_hooks = intern_c_string ("modification-hooks"); | 5218 | DEFSYM (Qmodification_hooks, "modification-hooks"); |
| 5220 | staticpro (&Qmodification_hooks); | 5219 | DEFSYM (Qinsert_in_front_hooks, "insert-in-front-hooks"); |
| 5221 | Qinsert_in_front_hooks = intern_c_string ("insert-in-front-hooks"); | 5220 | DEFSYM (Qinsert_behind_hooks, "insert-behind-hooks"); |
| 5222 | staticpro (&Qinsert_in_front_hooks); | 5221 | DEFSYM (Qget_file_buffer, "get-file-buffer"); |
| 5223 | Qinsert_behind_hooks = intern_c_string ("insert-behind-hooks"); | 5222 | DEFSYM (Qpriority, "priority"); |
| 5224 | staticpro (&Qinsert_behind_hooks); | 5223 | DEFSYM (Qbefore_string, "before-string"); |
| 5225 | Qget_file_buffer = intern_c_string ("get-file-buffer"); | 5224 | DEFSYM (Qafter_string, "after-string"); |
| 5226 | staticpro (&Qget_file_buffer); | 5225 | DEFSYM (Qfirst_change_hook, "first-change-hook"); |
| 5227 | Qpriority = intern_c_string ("priority"); | 5226 | DEFSYM (Qbefore_change_functions, "before-change-functions"); |
| 5228 | staticpro (&Qpriority); | 5227 | DEFSYM (Qafter_change_functions, "after-change-functions"); |
| 5229 | Qbefore_string = intern_c_string ("before-string"); | 5228 | DEFSYM (Qkill_buffer_query_functions, "kill-buffer-query-functions"); |
| 5230 | staticpro (&Qbefore_string); | 5229 | |
| 5231 | Qafter_string = intern_c_string ("after-string"); | ||
| 5232 | staticpro (&Qafter_string); | ||
| 5233 | Qfirst_change_hook = intern_c_string ("first-change-hook"); | ||
| 5234 | staticpro (&Qfirst_change_hook); | ||
| 5235 | Qbefore_change_functions = intern_c_string ("before-change-functions"); | ||
| 5236 | staticpro (&Qbefore_change_functions); | ||
| 5237 | Qafter_change_functions = intern_c_string ("after-change-functions"); | ||
| 5238 | staticpro (&Qafter_change_functions); | ||
| 5239 | /* The next one is initialized in init_buffer_once. */ | 5230 | /* The next one is initialized in init_buffer_once. */ |
| 5240 | staticpro (&Qucs_set_table_for_input); | 5231 | staticpro (&Qucs_set_table_for_input); |
| 5241 | 5232 | ||
| 5242 | Qkill_buffer_query_functions = intern_c_string ("kill-buffer-query-functions"); | ||
| 5243 | staticpro (&Qkill_buffer_query_functions); | ||
| 5244 | |||
| 5245 | Fput (Qprotected_field, Qerror_conditions, | 5233 | Fput (Qprotected_field, Qerror_conditions, |
| 5246 | pure_cons (Qprotected_field, pure_cons (Qerror, Qnil))); | 5234 | pure_cons (Qprotected_field, pure_cons (Qerror, Qnil))); |
| 5247 | Fput (Qprotected_field, Qerror_message, | 5235 | Fput (Qprotected_field, Qerror_message, |
| @@ -6035,8 +6023,7 @@ If any of them returns nil, the buffer is not killed. */); | |||
| 6035 | doc: /* Normal hook run before changing the major mode of a buffer. | 6023 | doc: /* Normal hook run before changing the major mode of a buffer. |
| 6036 | The function `kill-all-local-variables' runs this before doing anything else. */); | 6024 | The function `kill-all-local-variables' runs this before doing anything else. */); |
| 6037 | Vchange_major_mode_hook = Qnil; | 6025 | Vchange_major_mode_hook = Qnil; |
| 6038 | Qchange_major_mode_hook = intern_c_string ("change-major-mode-hook"); | 6026 | DEFSYM (Qchange_major_mode_hook, "change-major-mode-hook"); |
| 6039 | staticpro (&Qchange_major_mode_hook); | ||
| 6040 | 6027 | ||
| 6041 | DEFVAR_LISP ("buffer-list-update-hook", Vbuffer_list_update_hook, | 6028 | DEFVAR_LISP ("buffer-list-update-hook", Vbuffer_list_update_hook, |
| 6042 | doc: /* Hook run when the buffer list changes. | 6029 | doc: /* Hook run when the buffer list changes. |
| @@ -6044,8 +6031,7 @@ Functions running this hook are `get-buffer-create', | |||
| 6044 | `make-indirect-buffer', `rename-buffer', `kill-buffer', | 6031 | `make-indirect-buffer', `rename-buffer', `kill-buffer', |
| 6045 | `record-buffer' and `unrecord-buffer'. */); | 6032 | `record-buffer' and `unrecord-buffer'. */); |
| 6046 | Vbuffer_list_update_hook = Qnil; | 6033 | Vbuffer_list_update_hook = Qnil; |
| 6047 | Qbuffer_list_update_hook = intern_c_string ("buffer-list-update-hook"); | 6034 | DEFSYM (Qbuffer_list_update_hook, "buffer-list-update-hook"); |
| 6048 | staticpro (&Qbuffer_list_update_hook); | ||
| 6049 | 6035 | ||
| 6050 | defsubr (&Sbuffer_live_p); | 6036 | defsubr (&Sbuffer_live_p); |
| 6051 | defsubr (&Sbuffer_list); | 6037 | defsubr (&Sbuffer_list); |
diff --git a/src/buffer.h b/src/buffer.h index 4643e0d9d0e..06864dd5789 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -612,6 +612,7 @@ struct buffer | |||
| 612 | /* Everything from here down must be a Lisp_Object. */ | 612 | /* Everything from here down must be a Lisp_Object. */ |
| 613 | /* buffer-local Lisp variables start at `undo_list', | 613 | /* buffer-local Lisp variables start at `undo_list', |
| 614 | tho only the ones from `name' on are GC'd normally. */ | 614 | tho only the ones from `name' on are GC'd normally. */ |
| 615 | #define FIRST_FIELD_PER_BUFFER undo_list | ||
| 615 | 616 | ||
| 616 | /* Changes in the buffer are recorded here for undo. | 617 | /* Changes in the buffer are recorded here for undo. |
| 617 | t means don't record anything. | 618 | t means don't record anything. |
| @@ -846,6 +847,9 @@ struct buffer | |||
| 846 | t means to use hollow box cursor. | 847 | t means to use hollow box cursor. |
| 847 | See `cursor-type' for other values. */ | 848 | See `cursor-type' for other values. */ |
| 848 | Lisp_Object BUFFER_INTERNAL_FIELD (cursor_in_non_selected_windows); | 849 | Lisp_Object BUFFER_INTERNAL_FIELD (cursor_in_non_selected_windows); |
| 850 | |||
| 851 | /* This must be the last field in the above list. */ | ||
| 852 | #define LAST_FIELD_PER_BUFFER cursor_in_non_selected_windows | ||
| 849 | }; | 853 | }; |
| 850 | 854 | ||
| 851 | 855 | ||
diff --git a/src/bytecode.c b/src/bytecode.c index 58b26c79b84..9ed29e94b54 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -1840,8 +1840,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1840 | void | 1840 | void |
| 1841 | syms_of_bytecode (void) | 1841 | syms_of_bytecode (void) |
| 1842 | { | 1842 | { |
| 1843 | Qbytecode = intern_c_string ("byte-code"); | 1843 | DEFSYM (Qbytecode, "byte-code"); |
| 1844 | staticpro (&Qbytecode); | ||
| 1845 | 1844 | ||
| 1846 | defsubr (&Sbyte_code); | 1845 | defsubr (&Sbyte_code); |
| 1847 | 1846 | ||
| @@ -1863,8 +1862,7 @@ integer, it is incremented each time that symbol's function is called. */); | |||
| 1863 | 1862 | ||
| 1864 | byte_metering_on = 0; | 1863 | byte_metering_on = 0; |
| 1865 | Vbyte_code_meter = Fmake_vector (make_number (256), make_number (0)); | 1864 | Vbyte_code_meter = Fmake_vector (make_number (256), make_number (0)); |
| 1866 | Qbyte_code_meter = intern_c_string ("byte-code-meter"); | 1865 | DEFSYM (Qbyte_code_meter, "byte-code-meter"); |
| 1867 | staticpro (&Qbyte_code_meter); | ||
| 1868 | { | 1866 | { |
| 1869 | int i = 256; | 1867 | int i = 256; |
| 1870 | while (i--) | 1868 | while (i--) |
diff --git a/src/callint.c b/src/callint.c index dc5e6a4c37a..1371b403e4b 100644 --- a/src/callint.c +++ b/src/callint.c | |||
| @@ -105,9 +105,10 @@ Z -- Coding system, nil if no prefix arg. | |||
| 105 | 105 | ||
| 106 | In addition, if the string begins with `*', an error is signaled if | 106 | In addition, if the string begins with `*', an error is signaled if |
| 107 | the buffer is read-only. | 107 | the buffer is read-only. |
| 108 | If the string begins with `@', Emacs searches the key sequence which | 108 | If `@' appears at the beginning of the string, and if the key sequence |
| 109 | invoked the command for its first mouse click (or any other event | 109 | used to invoke the command includes any mouse events, then the window |
| 110 | which specifies a window). | 110 | associated with the first of those events is selected before the |
| 111 | command is run. | ||
| 111 | If the string begins with `^' and `shift-select-mode' is non-nil, | 112 | If the string begins with `^' and `shift-select-mode' is non-nil, |
| 112 | Emacs first calls the function `handle-shift-selection'. | 113 | Emacs first calls the function `handle-shift-selection'. |
| 113 | You may use `@', `*', and `^' together. They are processed in the | 114 | You may use `@', `*', and `^' together. They are processed in the |
| @@ -896,41 +897,20 @@ syms_of_callint (void) | |||
| 896 | pure_cons (intern_c_string ("point"), | 897 | pure_cons (intern_c_string ("point"), |
| 897 | pure_cons (intern_c_string ("mark"), Qnil)))); | 898 | pure_cons (intern_c_string ("mark"), Qnil)))); |
| 898 | 899 | ||
| 899 | Qlist = intern_c_string ("list"); | 900 | DEFSYM (Qlist, "list"); |
| 900 | staticpro (&Qlist); | 901 | DEFSYM (Qlet, "let"); |
| 901 | Qlet = intern_c_string ("let"); | 902 | DEFSYM (Qif, "if"); |
| 902 | staticpro (&Qlet); | 903 | DEFSYM (Qwhen, "when"); |
| 903 | Qif = intern_c_string ("if"); | 904 | DEFSYM (Qletx, "let*"); |
| 904 | staticpro (&Qif); | 905 | DEFSYM (Qsave_excursion, "save-excursion"); |
| 905 | Qwhen = intern_c_string ("when"); | 906 | DEFSYM (Qprogn, "progn"); |
| 906 | staticpro (&Qwhen); | 907 | DEFSYM (Qminus, "-"); |
| 907 | Qletx = intern_c_string ("let*"); | 908 | DEFSYM (Qplus, "+"); |
| 908 | staticpro (&Qletx); | 909 | DEFSYM (Qhandle_shift_selection, "handle-shift-selection"); |
| 909 | Qsave_excursion = intern_c_string ("save-excursion"); | 910 | DEFSYM (Qcall_interactively, "call-interactively"); |
| 910 | staticpro (&Qsave_excursion); | 911 | DEFSYM (Qcommand_debug_status, "command-debug-status"); |
| 911 | Qprogn = intern_c_string ("progn"); | 912 | DEFSYM (Qenable_recursive_minibuffers, "enable-recursive-minibuffers"); |
| 912 | staticpro (&Qprogn); | 913 | DEFSYM (Qmouse_leave_buffer_hook, "mouse-leave-buffer-hook"); |
| 913 | |||
| 914 | Qminus = intern_c_string ("-"); | ||
| 915 | staticpro (&Qminus); | ||
| 916 | |||
| 917 | Qplus = intern_c_string ("+"); | ||
| 918 | staticpro (&Qplus); | ||
| 919 | |||
| 920 | Qhandle_shift_selection = intern_c_string ("handle-shift-selection"); | ||
| 921 | staticpro (&Qhandle_shift_selection); | ||
| 922 | |||
| 923 | Qcall_interactively = intern_c_string ("call-interactively"); | ||
| 924 | staticpro (&Qcall_interactively); | ||
| 925 | |||
| 926 | Qcommand_debug_status = intern_c_string ("command-debug-status"); | ||
| 927 | staticpro (&Qcommand_debug_status); | ||
| 928 | |||
| 929 | Qenable_recursive_minibuffers = intern_c_string ("enable-recursive-minibuffers"); | ||
| 930 | staticpro (&Qenable_recursive_minibuffers); | ||
| 931 | |||
| 932 | Qmouse_leave_buffer_hook = intern_c_string ("mouse-leave-buffer-hook"); | ||
| 933 | staticpro (&Qmouse_leave_buffer_hook); | ||
| 934 | 914 | ||
| 935 | DEFVAR_KBOARD ("prefix-arg", Vprefix_arg, | 915 | DEFVAR_KBOARD ("prefix-arg", Vprefix_arg, |
| 936 | doc: /* The value of the prefix argument for the next editing command. | 916 | doc: /* The value of the prefix argument for the next editing command. |
diff --git a/src/casefiddle.c b/src/casefiddle.c index 1a0a62f273c..50ad4eeda74 100644 --- a/src/casefiddle.c +++ b/src/casefiddle.c | |||
| @@ -417,8 +417,7 @@ With negative argument, capitalize previous words but do not move. */) | |||
| 417 | void | 417 | void |
| 418 | syms_of_casefiddle (void) | 418 | syms_of_casefiddle (void) |
| 419 | { | 419 | { |
| 420 | Qidentity = intern_c_string ("identity"); | 420 | DEFSYM (Qidentity, "identity"); |
| 421 | staticpro (&Qidentity); | ||
| 422 | defsubr (&Supcase); | 421 | defsubr (&Supcase); |
| 423 | defsubr (&Sdowncase); | 422 | defsubr (&Sdowncase); |
| 424 | defsubr (&Scapitalize); | 423 | defsubr (&Scapitalize); |
diff --git a/src/casetab.c b/src/casetab.c index 29120dd08ce..3433b313c03 100644 --- a/src/casetab.c +++ b/src/casetab.c | |||
| @@ -244,8 +244,7 @@ init_casetab_once (void) | |||
| 244 | { | 244 | { |
| 245 | register int i; | 245 | register int i; |
| 246 | Lisp_Object down, up; | 246 | Lisp_Object down, up; |
| 247 | Qcase_table = intern_c_string ("case-table"); | 247 | DEFSYM (Qcase_table, "case-table"); |
| 248 | staticpro (&Qcase_table); | ||
| 249 | 248 | ||
| 250 | /* Intern this now in case it isn't already done. | 249 | /* Intern this now in case it isn't already done. |
| 251 | Setting this variable twice is harmless. | 250 | Setting this variable twice is harmless. |
| @@ -288,8 +287,7 @@ init_casetab_once (void) | |||
| 288 | void | 287 | void |
| 289 | syms_of_casetab (void) | 288 | syms_of_casetab (void) |
| 290 | { | 289 | { |
| 291 | Qcase_table_p = intern_c_string ("case-table-p"); | 290 | DEFSYM (Qcase_table_p, "case-table-p"); |
| 292 | staticpro (&Qcase_table_p); | ||
| 293 | 291 | ||
| 294 | staticpro (&Vascii_canon_table); | 292 | staticpro (&Vascii_canon_table); |
| 295 | staticpro (&Vascii_downcase_table); | 293 | staticpro (&Vascii_downcase_table); |
diff --git a/src/category.c b/src/category.c index 23fd874c824..08eadb04730 100644 --- a/src/category.c +++ b/src/category.c | |||
| @@ -453,8 +453,7 @@ void | |||
| 453 | init_category_once (void) | 453 | init_category_once (void) |
| 454 | { | 454 | { |
| 455 | /* This has to be done here, before we call Fmake_char_table. */ | 455 | /* This has to be done here, before we call Fmake_char_table. */ |
| 456 | Qcategory_table = intern_c_string ("category-table"); | 456 | DEFSYM (Qcategory_table, "category-table"); |
| 457 | staticpro (&Qcategory_table); | ||
| 458 | 457 | ||
| 459 | /* Intern this now in case it isn't already done. | 458 | /* Intern this now in case it isn't already done. |
| 460 | Setting this variable twice is harmless. | 459 | Setting this variable twice is harmless. |
| @@ -475,12 +474,9 @@ init_category_once (void) | |||
| 475 | void | 474 | void |
| 476 | syms_of_category (void) | 475 | syms_of_category (void) |
| 477 | { | 476 | { |
| 478 | Qcategoryp = intern_c_string ("categoryp"); | 477 | DEFSYM (Qcategoryp, "categoryp"); |
| 479 | staticpro (&Qcategoryp); | 478 | DEFSYM (Qcategorysetp, "categorysetp"); |
| 480 | Qcategorysetp = intern_c_string ("categorysetp"); | 479 | DEFSYM (Qcategory_table_p, "category-table-p"); |
| 481 | staticpro (&Qcategorysetp); | ||
| 482 | Qcategory_table_p = intern_c_string ("category-table-p"); | ||
| 483 | staticpro (&Qcategory_table_p); | ||
| 484 | 480 | ||
| 485 | DEFVAR_LISP ("word-combining-categories", Vword_combining_categories, | 481 | DEFVAR_LISP ("word-combining-categories", Vword_combining_categories, |
| 486 | doc: /* List of pair (cons) of categories to determine word boundary. | 482 | doc: /* List of pair (cons) of categories to determine word boundary. |
| @@ -2305,23 +2305,12 @@ syms_of_ccl (void) | |||
| 2305 | staticpro (&Vccl_program_table); | 2305 | staticpro (&Vccl_program_table); |
| 2306 | Vccl_program_table = Fmake_vector (make_number (32), Qnil); | 2306 | Vccl_program_table = Fmake_vector (make_number (32), Qnil); |
| 2307 | 2307 | ||
| 2308 | Qccl = intern_c_string ("ccl"); | 2308 | DEFSYM (Qccl, "ccl"); |
| 2309 | staticpro (&Qccl); | 2309 | DEFSYM (Qcclp, "cclp"); |
| 2310 | 2310 | DEFSYM (Qccl_program, "ccl-program"); | |
| 2311 | Qcclp = intern_c_string ("cclp"); | 2311 | DEFSYM (Qccl_program_idx, "ccl-program-idx"); |
| 2312 | staticpro (&Qcclp); | 2312 | DEFSYM (Qcode_conversion_map, "code-conversion-map"); |
| 2313 | 2313 | DEFSYM (Qcode_conversion_map_id, "code-conversion-map-id"); | |
| 2314 | Qccl_program = intern_c_string ("ccl-program"); | ||
| 2315 | staticpro (&Qccl_program); | ||
| 2316 | |||
| 2317 | Qccl_program_idx = intern_c_string ("ccl-program-idx"); | ||
| 2318 | staticpro (&Qccl_program_idx); | ||
| 2319 | |||
| 2320 | Qcode_conversion_map = intern_c_string ("code-conversion-map"); | ||
| 2321 | staticpro (&Qcode_conversion_map); | ||
| 2322 | |||
| 2323 | Qcode_conversion_map_id = intern_c_string ("code-conversion-map-id"); | ||
| 2324 | staticpro (&Qcode_conversion_map_id); | ||
| 2325 | 2314 | ||
| 2326 | DEFVAR_LISP ("code-conversion-map-vector", Vcode_conversion_map_vector, | 2315 | DEFVAR_LISP ("code-conversion-map-vector", Vcode_conversion_map_vector, |
| 2327 | doc: /* Vector of code conversion maps. */); | 2316 | doc: /* Vector of code conversion maps. */); |
diff --git a/src/character.h b/src/character.h index d8e77c50953..063b5147dc9 100644 --- a/src/character.h +++ b/src/character.h | |||
| @@ -667,7 +667,4 @@ extern Lisp_Object string_escape_byte8 (Lisp_Object); | |||
| 667 | #define GET_TRANSLATION_TABLE(id) \ | 667 | #define GET_TRANSLATION_TABLE(id) \ |
| 668 | (XCDR(XVECTOR(Vtranslation_table_vector)->contents[(id)])) | 668 | (XCDR(XVECTOR(Vtranslation_table_vector)->contents[(id)])) |
| 669 | 669 | ||
| 670 | #define DEFSYM(sym, name) \ | ||
| 671 | do { (sym) = intern_c_string ((name)); staticpro (&(sym)); } while (0) | ||
| 672 | |||
| 673 | #endif /* EMACS_CHARACTER_H */ | 670 | #endif /* EMACS_CHARACTER_H */ |
diff --git a/src/cmds.c b/src/cmds.c index 5dc4d2bfe30..f49cfc221be 100644 --- a/src/cmds.c +++ b/src/cmds.c | |||
| @@ -511,20 +511,11 @@ internal_self_insert (int c, EMACS_INT n) | |||
| 511 | void | 511 | void |
| 512 | syms_of_cmds (void) | 512 | syms_of_cmds (void) |
| 513 | { | 513 | { |
| 514 | Qkill_backward_chars = intern_c_string ("kill-backward-chars"); | 514 | DEFSYM (Qkill_backward_chars, "kill-backward-chars"); |
| 515 | staticpro (&Qkill_backward_chars); | 515 | DEFSYM (Qkill_forward_chars, "kill-forward-chars"); |
| 516 | 516 | DEFSYM (Qoverwrite_mode_binary, "overwrite-mode-binary"); | |
| 517 | Qkill_forward_chars = intern_c_string ("kill-forward-chars"); | 517 | DEFSYM (Qexpand_abbrev, "expand-abbrev"); |
| 518 | staticpro (&Qkill_forward_chars); | 518 | DEFSYM (Qpost_self_insert_hook, "post-self-insert-hook"); |
| 519 | |||
| 520 | Qoverwrite_mode_binary = intern_c_string ("overwrite-mode-binary"); | ||
| 521 | staticpro (&Qoverwrite_mode_binary); | ||
| 522 | |||
| 523 | Qexpand_abbrev = intern_c_string ("expand-abbrev"); | ||
| 524 | staticpro (&Qexpand_abbrev); | ||
| 525 | |||
| 526 | Qpost_self_insert_hook = intern_c_string ("post-self-insert-hook"); | ||
| 527 | staticpro (&Qpost_self_insert_hook); | ||
| 528 | 519 | ||
| 529 | DEFVAR_LISP ("post-self-insert-hook", Vpost_self_insert_hook, | 520 | DEFVAR_LISP ("post-self-insert-hook", Vpost_self_insert_hook, |
| 530 | doc: /* Hook run at the end of `self-insert-command'. | 521 | doc: /* Hook run at the end of `self-insert-command'. |
diff --git a/src/coding.c b/src/coding.c index 9939774ea82..65c8a767c2b 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -9000,7 +9000,7 @@ not fully specified.) */) | |||
| 9000 | (Lisp_Object string, Lisp_Object coding_system, Lisp_Object nocopy, Lisp_Object buffer) | 9000 | (Lisp_Object string, Lisp_Object coding_system, Lisp_Object nocopy, Lisp_Object buffer) |
| 9001 | { | 9001 | { |
| 9002 | return code_convert_string (string, coding_system, buffer, | 9002 | return code_convert_string (string, coding_system, buffer, |
| 9003 | 1, ! NILP (nocopy), 1); | 9003 | 1, ! NILP (nocopy), 0); |
| 9004 | } | 9004 | } |
| 9005 | 9005 | ||
| 9006 | 9006 | ||
diff --git a/src/composite.c b/src/composite.c index 7123b505e68..577640f6fb7 100644 --- a/src/composite.c +++ b/src/composite.c | |||
| @@ -1936,8 +1936,7 @@ syms_of_composite (void) | |||
| 1936 | { | 1936 | { |
| 1937 | int i; | 1937 | int i; |
| 1938 | 1938 | ||
| 1939 | Qcomposition = intern_c_string ("composition"); | 1939 | DEFSYM (Qcomposition, "composition"); |
| 1940 | staticpro (&Qcomposition); | ||
| 1941 | 1940 | ||
| 1942 | /* Make a hash table for static composition. */ | 1941 | /* Make a hash table for static composition. */ |
| 1943 | { | 1942 | { |
| @@ -1996,11 +1995,8 @@ valid. | |||
| 1996 | The default value is the function `compose-chars-after'. */); | 1995 | The default value is the function `compose-chars-after'. */); |
| 1997 | Vcompose_chars_after_function = intern_c_string ("compose-chars-after"); | 1996 | Vcompose_chars_after_function = intern_c_string ("compose-chars-after"); |
| 1998 | 1997 | ||
| 1999 | Qauto_composed = intern_c_string ("auto-composed"); | 1998 | DEFSYM (Qauto_composed, "auto-composed"); |
| 2000 | staticpro (&Qauto_composed); | 1999 | DEFSYM (Qauto_composition_function, "auto-composition-function"); |
| 2001 | |||
| 2002 | Qauto_composition_function = intern_c_string ("auto-composition-function"); | ||
| 2003 | staticpro (&Qauto_composition_function); | ||
| 2004 | 2000 | ||
| 2005 | DEFVAR_LISP ("auto-composition-mode", Vauto_composition_mode, | 2001 | DEFVAR_LISP ("auto-composition-mode", Vauto_composition_mode, |
| 2006 | doc: /* Non-nil if Auto-Composition mode is enabled. | 2002 | doc: /* Non-nil if Auto-Composition mode is enabled. |
diff --git a/src/dbusbind.c b/src/dbusbind.c index 302b93146fd..4828f4e968d 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c | |||
| @@ -2189,142 +2189,76 @@ void | |||
| 2189 | syms_of_dbusbind (void) | 2189 | syms_of_dbusbind (void) |
| 2190 | { | 2190 | { |
| 2191 | 2191 | ||
| 2192 | Qdbus_init_bus = intern_c_string ("dbus-init-bus"); | 2192 | DEFSYM (Qdbus_init_bus, "dbus-init-bus"); |
| 2193 | staticpro (&Qdbus_init_bus); | ||
| 2194 | defsubr (&Sdbus_init_bus); | 2193 | defsubr (&Sdbus_init_bus); |
| 2195 | 2194 | ||
| 2196 | Qdbus_close_bus = intern_c_string ("dbus-close-bus"); | 2195 | DEFSYM (Qdbus_close_bus, "dbus-close-bus"); |
| 2197 | staticpro (&Qdbus_close_bus); | ||
| 2198 | defsubr (&Sdbus_close_bus); | 2196 | defsubr (&Sdbus_close_bus); |
| 2199 | 2197 | ||
| 2200 | Qdbus_get_unique_name = intern_c_string ("dbus-get-unique-name"); | 2198 | DEFSYM (Qdbus_get_unique_name, "dbus-get-unique-name"); |
| 2201 | staticpro (&Qdbus_get_unique_name); | ||
| 2202 | defsubr (&Sdbus_get_unique_name); | 2199 | defsubr (&Sdbus_get_unique_name); |
| 2203 | 2200 | ||
| 2204 | Qdbus_call_method = intern_c_string ("dbus-call-method"); | 2201 | DEFSYM (Qdbus_call_method, "dbus-call-method"); |
| 2205 | staticpro (&Qdbus_call_method); | ||
| 2206 | defsubr (&Sdbus_call_method); | 2202 | defsubr (&Sdbus_call_method); |
| 2207 | 2203 | ||
| 2208 | Qdbus_call_method_asynchronously | 2204 | DEFSYM (Qdbus_call_method_asynchronously, "dbus-call-method-asynchronously"); |
| 2209 | = intern_c_string ("dbus-call-method-asynchronously"); | ||
| 2210 | staticpro (&Qdbus_call_method_asynchronously); | ||
| 2211 | defsubr (&Sdbus_call_method_asynchronously); | 2205 | defsubr (&Sdbus_call_method_asynchronously); |
| 2212 | 2206 | ||
| 2213 | Qdbus_method_return_internal | 2207 | DEFSYM (Qdbus_method_return_internal, "dbus-method-return-internal"); |
| 2214 | = intern_c_string ("dbus-method-return-internal"); | ||
| 2215 | staticpro (&Qdbus_method_return_internal); | ||
| 2216 | defsubr (&Sdbus_method_return_internal); | 2208 | defsubr (&Sdbus_method_return_internal); |
| 2217 | 2209 | ||
| 2218 | Qdbus_method_error_internal = intern_c_string ("dbus-method-error-internal"); | 2210 | DEFSYM (Qdbus_method_error_internal, "dbus-method-error-internal"); |
| 2219 | staticpro (&Qdbus_method_error_internal); | ||
| 2220 | defsubr (&Sdbus_method_error_internal); | 2211 | defsubr (&Sdbus_method_error_internal); |
| 2221 | 2212 | ||
| 2222 | Qdbus_send_signal = intern_c_string ("dbus-send-signal"); | 2213 | DEFSYM (Qdbus_send_signal, "dbus-send-signal"); |
| 2223 | staticpro (&Qdbus_send_signal); | ||
| 2224 | defsubr (&Sdbus_send_signal); | 2214 | defsubr (&Sdbus_send_signal); |
| 2225 | 2215 | ||
| 2226 | Qdbus_register_service = intern_c_string ("dbus-register-service"); | 2216 | DEFSYM (Qdbus_register_service, "dbus-register-service"); |
| 2227 | staticpro (&Qdbus_register_service); | ||
| 2228 | defsubr (&Sdbus_register_service); | 2217 | defsubr (&Sdbus_register_service); |
| 2229 | 2218 | ||
| 2230 | Qdbus_register_signal = intern_c_string ("dbus-register-signal"); | 2219 | DEFSYM (Qdbus_register_signal, "dbus-register-signal"); |
| 2231 | staticpro (&Qdbus_register_signal); | ||
| 2232 | defsubr (&Sdbus_register_signal); | 2220 | defsubr (&Sdbus_register_signal); |
| 2233 | 2221 | ||
| 2234 | Qdbus_register_method = intern_c_string ("dbus-register-method"); | 2222 | DEFSYM (Qdbus_register_method, "dbus-register-method"); |
| 2235 | staticpro (&Qdbus_register_method); | ||
| 2236 | defsubr (&Sdbus_register_method); | 2223 | defsubr (&Sdbus_register_method); |
| 2237 | 2224 | ||
| 2238 | Qdbus_error = intern_c_string ("dbus-error"); | 2225 | DEFSYM (Qdbus_error, "dbus-error"); |
| 2239 | staticpro (&Qdbus_error); | ||
| 2240 | Fput (Qdbus_error, Qerror_conditions, | 2226 | Fput (Qdbus_error, Qerror_conditions, |
| 2241 | list2 (Qdbus_error, Qerror)); | 2227 | list2 (Qdbus_error, Qerror)); |
| 2242 | Fput (Qdbus_error, Qerror_message, | 2228 | Fput (Qdbus_error, Qerror_message, |
| 2243 | make_pure_c_string ("D-Bus error")); | 2229 | make_pure_c_string ("D-Bus error")); |
| 2244 | 2230 | ||
| 2245 | QCdbus_system_bus = intern_c_string (":system"); | 2231 | DEFSYM (QCdbus_system_bus, ":system"); |
| 2246 | staticpro (&QCdbus_system_bus); | 2232 | DEFSYM (QCdbus_session_bus, ":session"); |
| 2247 | 2233 | DEFSYM (QCdbus_request_name_allow_replacement, ":allow-replacement"); | |
| 2248 | QCdbus_session_bus = intern_c_string (":session"); | 2234 | DEFSYM (QCdbus_request_name_replace_existing, ":replace-existing"); |
| 2249 | staticpro (&QCdbus_session_bus); | 2235 | DEFSYM (QCdbus_request_name_do_not_queue, ":do-not-queue"); |
| 2250 | 2236 | DEFSYM (QCdbus_request_name_reply_primary_owner, ":primary-owner"); | |
| 2251 | QCdbus_request_name_allow_replacement | 2237 | DEFSYM (QCdbus_request_name_reply_exists, ":exists"); |
| 2252 | = intern_c_string (":allow-replacement"); | 2238 | DEFSYM (QCdbus_request_name_reply_in_queue, ":in-queue"); |
| 2253 | staticpro (&QCdbus_request_name_allow_replacement); | 2239 | DEFSYM (QCdbus_request_name_reply_already_owner, ":already-owner"); |
| 2254 | 2240 | DEFSYM (QCdbus_timeout, ":timeout"); | |
| 2255 | QCdbus_request_name_replace_existing = intern_c_string (":replace-existing"); | 2241 | DEFSYM (QCdbus_type_byte, ":byte"); |
| 2256 | staticpro (&QCdbus_request_name_replace_existing); | 2242 | DEFSYM (QCdbus_type_boolean, ":boolean"); |
| 2257 | 2243 | DEFSYM (QCdbus_type_int16, ":int16"); | |
| 2258 | QCdbus_request_name_do_not_queue = intern_c_string (":do-not-queue"); | 2244 | DEFSYM (QCdbus_type_uint16, ":uint16"); |
| 2259 | staticpro (&QCdbus_request_name_do_not_queue); | 2245 | DEFSYM (QCdbus_type_int32, ":int32"); |
| 2260 | 2246 | DEFSYM (QCdbus_type_uint32, ":uint32"); | |
| 2261 | QCdbus_request_name_reply_primary_owner = intern_c_string (":primary-owner"); | 2247 | DEFSYM (QCdbus_type_int64, ":int64"); |
| 2262 | staticpro (&QCdbus_request_name_reply_primary_owner); | 2248 | DEFSYM (QCdbus_type_uint64, ":uint64"); |
| 2263 | 2249 | DEFSYM (QCdbus_type_double, ":double"); | |
| 2264 | QCdbus_request_name_reply_exists = intern_c_string (":exists"); | 2250 | DEFSYM (QCdbus_type_string, ":string"); |
| 2265 | staticpro (&QCdbus_request_name_reply_exists); | 2251 | DEFSYM (QCdbus_type_object_path, ":object-path"); |
| 2266 | 2252 | DEFSYM (QCdbus_type_signature, ":signature"); | |
| 2267 | QCdbus_request_name_reply_in_queue = intern_c_string (":in-queue"); | ||
| 2268 | staticpro (&QCdbus_request_name_reply_in_queue); | ||
| 2269 | |||
| 2270 | QCdbus_request_name_reply_already_owner = intern_c_string (":already-owner"); | ||
| 2271 | staticpro (&QCdbus_request_name_reply_already_owner); | ||
| 2272 | |||
| 2273 | QCdbus_timeout = intern_c_string (":timeout"); | ||
| 2274 | staticpro (&QCdbus_timeout); | ||
| 2275 | |||
| 2276 | QCdbus_type_byte = intern_c_string (":byte"); | ||
| 2277 | staticpro (&QCdbus_type_byte); | ||
| 2278 | |||
| 2279 | QCdbus_type_boolean = intern_c_string (":boolean"); | ||
| 2280 | staticpro (&QCdbus_type_boolean); | ||
| 2281 | |||
| 2282 | QCdbus_type_int16 = intern_c_string (":int16"); | ||
| 2283 | staticpro (&QCdbus_type_int16); | ||
| 2284 | |||
| 2285 | QCdbus_type_uint16 = intern_c_string (":uint16"); | ||
| 2286 | staticpro (&QCdbus_type_uint16); | ||
| 2287 | |||
| 2288 | QCdbus_type_int32 = intern_c_string (":int32"); | ||
| 2289 | staticpro (&QCdbus_type_int32); | ||
| 2290 | |||
| 2291 | QCdbus_type_uint32 = intern_c_string (":uint32"); | ||
| 2292 | staticpro (&QCdbus_type_uint32); | ||
| 2293 | |||
| 2294 | QCdbus_type_int64 = intern_c_string (":int64"); | ||
| 2295 | staticpro (&QCdbus_type_int64); | ||
| 2296 | |||
| 2297 | QCdbus_type_uint64 = intern_c_string (":uint64"); | ||
| 2298 | staticpro (&QCdbus_type_uint64); | ||
| 2299 | |||
| 2300 | QCdbus_type_double = intern_c_string (":double"); | ||
| 2301 | staticpro (&QCdbus_type_double); | ||
| 2302 | |||
| 2303 | QCdbus_type_string = intern_c_string (":string"); | ||
| 2304 | staticpro (&QCdbus_type_string); | ||
| 2305 | |||
| 2306 | QCdbus_type_object_path = intern_c_string (":object-path"); | ||
| 2307 | staticpro (&QCdbus_type_object_path); | ||
| 2308 | |||
| 2309 | QCdbus_type_signature = intern_c_string (":signature"); | ||
| 2310 | staticpro (&QCdbus_type_signature); | ||
| 2311 | 2253 | ||
| 2312 | #ifdef DBUS_TYPE_UNIX_FD | 2254 | #ifdef DBUS_TYPE_UNIX_FD |
| 2313 | QCdbus_type_unix_fd = intern_c_string (":unix-fd"); | 2255 | DEFSYM (QCdbus_type_unix_fd, ":unix-fd"); |
| 2314 | staticpro (&QCdbus_type_unix_fd); | ||
| 2315 | #endif | 2256 | #endif |
| 2316 | 2257 | ||
| 2317 | QCdbus_type_array = intern_c_string (":array"); | 2258 | DEFSYM (QCdbus_type_array, ":array"); |
| 2318 | staticpro (&QCdbus_type_array); | 2259 | DEFSYM (QCdbus_type_variant, ":variant"); |
| 2319 | 2260 | DEFSYM (QCdbus_type_struct, ":struct"); | |
| 2320 | QCdbus_type_variant = intern_c_string (":variant"); | 2261 | DEFSYM (QCdbus_type_dict_entry, ":dict-entry"); |
| 2321 | staticpro (&QCdbus_type_variant); | ||
| 2322 | |||
| 2323 | QCdbus_type_struct = intern_c_string (":struct"); | ||
| 2324 | staticpro (&QCdbus_type_struct); | ||
| 2325 | |||
| 2326 | QCdbus_type_dict_entry = intern_c_string (":dict-entry"); | ||
| 2327 | staticpro (&QCdbus_type_dict_entry); | ||
| 2328 | 2262 | ||
| 2329 | DEFVAR_LISP ("dbus-registered-buses", | 2263 | DEFVAR_LISP ("dbus-registered-buses", |
| 2330 | Vdbus_registered_buses, | 2264 | Vdbus_registered_buses, |
diff --git a/src/dired.c b/src/dired.c index 3ab1ba8a900..415f9ac5ae5 100644 --- a/src/dired.c +++ b/src/dired.c | |||
| @@ -1017,21 +1017,13 @@ Comparison is in lexicographic order and case is significant. */) | |||
| 1017 | void | 1017 | void |
| 1018 | syms_of_dired (void) | 1018 | syms_of_dired (void) |
| 1019 | { | 1019 | { |
| 1020 | Qdirectory_files = intern_c_string ("directory-files"); | 1020 | DEFSYM (Qdirectory_files, "directory-files"); |
| 1021 | Qdirectory_files_and_attributes = intern_c_string ("directory-files-and-attributes"); | 1021 | DEFSYM (Qdirectory_files_and_attributes, "directory-files-and-attributes"); |
| 1022 | Qfile_name_completion = intern_c_string ("file-name-completion"); | 1022 | DEFSYM (Qfile_name_completion, "file-name-completion"); |
| 1023 | Qfile_name_all_completions = intern_c_string ("file-name-all-completions"); | 1023 | DEFSYM (Qfile_name_all_completions, "file-name-all-completions"); |
| 1024 | Qfile_attributes = intern_c_string ("file-attributes"); | 1024 | DEFSYM (Qfile_attributes, "file-attributes"); |
| 1025 | Qfile_attributes_lessp = intern_c_string ("file-attributes-lessp"); | 1025 | DEFSYM (Qfile_attributes_lessp, "file-attributes-lessp"); |
| 1026 | Qdefault_directory = intern_c_string ("default-directory"); | 1026 | DEFSYM (Qdefault_directory, "default-directory"); |
| 1027 | |||
| 1028 | staticpro (&Qdirectory_files); | ||
| 1029 | staticpro (&Qdirectory_files_and_attributes); | ||
| 1030 | staticpro (&Qfile_name_completion); | ||
| 1031 | staticpro (&Qfile_name_all_completions); | ||
| 1032 | staticpro (&Qfile_attributes); | ||
| 1033 | staticpro (&Qfile_attributes_lessp); | ||
| 1034 | staticpro (&Qdefault_directory); | ||
| 1035 | 1027 | ||
| 1036 | defsubr (&Sdirectory_files); | 1028 | defsubr (&Sdirectory_files); |
| 1037 | defsubr (&Sdirectory_files_and_attributes); | 1029 | defsubr (&Sdirectory_files_and_attributes); |
diff --git a/src/dispnew.c b/src/dispnew.c index 21df105971b..8691c921853 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -4543,6 +4543,7 @@ scrolling_window (struct window *w, int header_line_p) | |||
| 4543 | /* Copy on the display. */ | 4543 | /* Copy on the display. */ |
| 4544 | if (r->current_y != r->desired_y) | 4544 | if (r->current_y != r->desired_y) |
| 4545 | { | 4545 | { |
| 4546 | rif->clear_window_mouse_face (w); | ||
| 4546 | rif->scroll_run_hook (w, r); | 4547 | rif->scroll_run_hook (w, r); |
| 4547 | 4548 | ||
| 4548 | /* Invalidate runs that copy from where we copied to. */ | 4549 | /* Invalidate runs that copy from where we copied to. */ |
| @@ -6438,10 +6439,8 @@ syms_of_display (void) | |||
| 6438 | frame_and_buffer_state = Fmake_vector (make_number (20), Qlambda); | 6439 | frame_and_buffer_state = Fmake_vector (make_number (20), Qlambda); |
| 6439 | staticpro (&frame_and_buffer_state); | 6440 | staticpro (&frame_and_buffer_state); |
| 6440 | 6441 | ||
| 6441 | Qdisplay_table = intern_c_string ("display-table"); | 6442 | DEFSYM (Qdisplay_table, "display-table"); |
| 6442 | staticpro (&Qdisplay_table); | 6443 | DEFSYM (Qredisplay_dont_pause, "redisplay-dont-pause"); |
| 6443 | Qredisplay_dont_pause = intern_c_string ("redisplay-dont-pause"); | ||
| 6444 | staticpro (&Qredisplay_dont_pause); | ||
| 6445 | 6444 | ||
| 6446 | DEFVAR_INT ("baud-rate", baud_rate, | 6445 | DEFVAR_INT ("baud-rate", baud_rate, |
| 6447 | doc: /* *The output baud rate of the terminal. | 6446 | doc: /* *The output baud rate of the terminal. |
| @@ -945,8 +945,7 @@ a new string, without any text properties, is returned. */) | |||
| 945 | void | 945 | void |
| 946 | syms_of_doc (void) | 946 | syms_of_doc (void) |
| 947 | { | 947 | { |
| 948 | Qfunction_documentation = intern_c_string ("function-documentation"); | 948 | DEFSYM (Qfunction_documentation, "function-documentation"); |
| 949 | staticpro (&Qfunction_documentation); | ||
| 950 | 949 | ||
| 951 | DEFVAR_LISP ("internal-doc-file-name", Vdoc_file_name, | 950 | DEFVAR_LISP ("internal-doc-file-name", Vdoc_file_name, |
| 952 | doc: /* Name of file containing documentation strings of built-in symbols. */); | 951 | doc: /* Name of file containing documentation strings of built-in symbols. */); |
diff --git a/src/editfns.c b/src/editfns.c index c0c0e530265..bb36d0dee71 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -1700,7 +1700,7 @@ For example, to produce full ISO 8601 format, use "%Y-%m-%dT%T%z". */) | |||
| 1700 | (Lisp_Object format_string, Lisp_Object timeval, Lisp_Object universal) | 1700 | (Lisp_Object format_string, Lisp_Object timeval, Lisp_Object universal) |
| 1701 | { | 1701 | { |
| 1702 | time_t value; | 1702 | time_t value; |
| 1703 | int size; | 1703 | ptrdiff_t size; |
| 1704 | int usec; | 1704 | int usec; |
| 1705 | int ns; | 1705 | int ns; |
| 1706 | struct tm *tm; | 1706 | struct tm *tm; |
| @@ -1717,7 +1717,9 @@ For example, to produce full ISO 8601 format, use "%Y-%m-%dT%T%z". */) | |||
| 1717 | Vlocale_coding_system, 1); | 1717 | Vlocale_coding_system, 1); |
| 1718 | 1718 | ||
| 1719 | /* This is probably enough. */ | 1719 | /* This is probably enough. */ |
| 1720 | size = SBYTES (format_string) * 6 + 50; | 1720 | size = SBYTES (format_string); |
| 1721 | if (size <= (STRING_BYTES_BOUND - 50) / 6) | ||
| 1722 | size = size * 6 + 50; | ||
| 1721 | 1723 | ||
| 1722 | BLOCK_INPUT; | 1724 | BLOCK_INPUT; |
| 1723 | tm = ut ? gmtime (&value) : localtime (&value); | 1725 | tm = ut ? gmtime (&value) : localtime (&value); |
| @@ -1730,7 +1732,7 @@ For example, to produce full ISO 8601 format, use "%Y-%m-%dT%T%z". */) | |||
| 1730 | while (1) | 1732 | while (1) |
| 1731 | { | 1733 | { |
| 1732 | char *buf = (char *) alloca (size + 1); | 1734 | char *buf = (char *) alloca (size + 1); |
| 1733 | int result; | 1735 | size_t result; |
| 1734 | 1736 | ||
| 1735 | buf[0] = '\1'; | 1737 | buf[0] = '\1'; |
| 1736 | BLOCK_INPUT; | 1738 | BLOCK_INPUT; |
| @@ -1749,6 +1751,8 @@ For example, to produce full ISO 8601 format, use "%Y-%m-%dT%T%z". */) | |||
| 1749 | SBYTES (format_string), | 1751 | SBYTES (format_string), |
| 1750 | tm, ut, ns); | 1752 | tm, ut, ns); |
| 1751 | UNBLOCK_INPUT; | 1753 | UNBLOCK_INPUT; |
| 1754 | if (STRING_BYTES_BOUND <= result) | ||
| 1755 | string_overflow (); | ||
| 1752 | size = result + 1; | 1756 | size = result + 1; |
| 1753 | } | 1757 | } |
| 1754 | } | 1758 | } |
| @@ -3557,7 +3561,8 @@ The width specifier supplies a lower limit for the length of the | |||
| 3557 | printed representation. The padding, if any, normally goes on the | 3561 | printed representation. The padding, if any, normally goes on the |
| 3558 | left, but it goes on the right if the - flag is present. The padding | 3562 | left, but it goes on the right if the - flag is present. The padding |
| 3559 | character is normally a space, but it is 0 if the 0 flag is present. | 3563 | character is normally a space, but it is 0 if the 0 flag is present. |
| 3560 | The - flag takes precedence over the 0 flag. | 3564 | The 0 flag is ignored if the - flag is present, or the format sequence |
| 3565 | is something other than %d, %e, %f, and %g. | ||
| 3561 | 3566 | ||
| 3562 | For %e, %f, and %g sequences, the number after the "." in the | 3567 | For %e, %f, and %g sequences, the number after the "." in the |
| 3563 | precision specifier says how many decimal places to show; if zero, the | 3568 | precision specifier says how many decimal places to show; if zero, the |
| @@ -4738,9 +4743,7 @@ syms_of_editfns (void) | |||
| 4738 | environbuf = 0; | 4743 | environbuf = 0; |
| 4739 | initial_tz = 0; | 4744 | initial_tz = 0; |
| 4740 | 4745 | ||
| 4741 | Qbuffer_access_fontify_functions | 4746 | DEFSYM (Qbuffer_access_fontify_functions, "buffer-access-fontify-functions"); |
| 4742 | = intern_c_string ("buffer-access-fontify-functions"); | ||
| 4743 | staticpro (&Qbuffer_access_fontify_functions); | ||
| 4744 | 4747 | ||
| 4745 | DEFVAR_LISP ("inhibit-field-text-motion", Vinhibit_field_text_motion, | 4748 | DEFVAR_LISP ("inhibit-field-text-motion", Vinhibit_field_text_motion, |
| 4746 | doc: /* Non-nil means text motion commands don't notice fields. */); | 4749 | doc: /* Non-nil means text motion commands don't notice fields. */); |
| @@ -4802,10 +4805,8 @@ functions if all the text being accessed has this property. */); | |||
| 4802 | defsubr (&Sregion_beginning); | 4805 | defsubr (&Sregion_beginning); |
| 4803 | defsubr (&Sregion_end); | 4806 | defsubr (&Sregion_end); |
| 4804 | 4807 | ||
| 4805 | staticpro (&Qfield); | 4808 | DEFSYM (Qfield, "field"); |
| 4806 | Qfield = intern_c_string ("field"); | 4809 | DEFSYM (Qboundary, "boundary"); |
| 4807 | staticpro (&Qboundary); | ||
| 4808 | Qboundary = intern_c_string ("boundary"); | ||
| 4809 | defsubr (&Sfield_beginning); | 4810 | defsubr (&Sfield_beginning); |
| 4810 | defsubr (&Sfield_end); | 4811 | defsubr (&Sfield_end); |
| 4811 | defsubr (&Sfield_string); | 4812 | defsubr (&Sfield_string); |
diff --git a/src/emacs.c b/src/emacs.c index c4b4caad9b5..e4b3a68a6c1 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -2375,10 +2375,8 @@ from the parent process and its tty file descriptors. */) | |||
| 2375 | void | 2375 | void |
| 2376 | syms_of_emacs (void) | 2376 | syms_of_emacs (void) |
| 2377 | { | 2377 | { |
| 2378 | Qfile_name_handler_alist = intern_c_string ("file-name-handler-alist"); | 2378 | DEFSYM (Qfile_name_handler_alist, "file-name-handler-alist"); |
| 2379 | staticpro (&Qfile_name_handler_alist); | 2379 | DEFSYM (Qrisky_local_variable, "risky-local-variable"); |
| 2380 | Qrisky_local_variable = intern_c_string ("risky-local-variable"); | ||
| 2381 | staticpro (&Qrisky_local_variable); | ||
| 2382 | 2380 | ||
| 2383 | #ifndef CANNOT_DUMP | 2381 | #ifndef CANNOT_DUMP |
| 2384 | defsubr (&Sdump_emacs); | 2382 | defsubr (&Sdump_emacs); |
diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c index fe3514bce93..0b57e2cdf36 100644 --- a/src/emacsgtkfixed.c +++ b/src/emacsgtkfixed.c | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | /* A Gtk Widget that inherits GtkFixed, but can be shrinked. | 1 | /* A Gtk Widget that inherits GtkFixed, but can be shrinked. |
| 2 | This file is only use when compiling with Gtk+ 3. | ||
| 2 | 3 | ||
| 3 | Copyright (C) 2011 Free Software Foundation, Inc. | 4 | Copyright (C) 2011 Free Software Foundation, Inc. |
| 4 | 5 | ||
| @@ -17,12 +18,19 @@ GNU General Public License for more details. | |||
| 17 | You should have received a copy of the GNU General Public License | 18 | You should have received a copy of the GNU General Public License |
| 18 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 19 | 20 | ||
| 20 | #include "emacsgtkfixed.h" | 21 | #include <config.h> |
| 21 | 22 | ||
| 23 | #include "emacsgtkfixed.h" | ||
| 24 | #include <signal.h> | ||
| 25 | #include <stdio.h> | ||
| 26 | #include <setjmp.h> | ||
| 27 | #include "lisp.h" | ||
| 28 | #include "frame.h" | ||
| 29 | #include "xterm.h" | ||
| 22 | 30 | ||
| 23 | struct _EmacsFixedPrivate | 31 | struct _EmacsFixedPrivate |
| 24 | { | 32 | { |
| 25 | int minwidth, minheight; | 33 | struct frame *f; |
| 26 | }; | 34 | }; |
| 27 | 35 | ||
| 28 | 36 | ||
| @@ -59,7 +67,7 @@ emacs_fixed_init (EmacsFixed *fixed) | |||
| 59 | { | 67 | { |
| 60 | fixed->priv = G_TYPE_INSTANCE_GET_PRIVATE (fixed, EMACS_TYPE_FIXED, | 68 | fixed->priv = G_TYPE_INSTANCE_GET_PRIVATE (fixed, EMACS_TYPE_FIXED, |
| 61 | EmacsFixedPrivate); | 69 | EmacsFixedPrivate); |
| 62 | fixed->priv->minwidth = fixed->priv->minheight = 0; | 70 | fixed->priv->f = 0; |
| 63 | } | 71 | } |
| 64 | 72 | ||
| 65 | /** | 73 | /** |
| @@ -70,17 +78,12 @@ emacs_fixed_init (EmacsFixed *fixed) | |||
| 70 | * Returns: a new #EmacsFixed. | 78 | * Returns: a new #EmacsFixed. |
| 71 | */ | 79 | */ |
| 72 | GtkWidget* | 80 | GtkWidget* |
| 73 | emacs_fixed_new (void) | 81 | emacs_fixed_new (struct frame *f) |
| 74 | { | ||
| 75 | return g_object_new (EMACS_TYPE_FIXED, NULL); | ||
| 76 | } | ||
| 77 | |||
| 78 | static GtkWidgetClass * | ||
| 79 | get_parent_class (EmacsFixed *fixed) | ||
| 80 | { | 82 | { |
| 81 | EmacsFixedClass *klass = EMACS_FIXED_GET_CLASS (fixed); | 83 | EmacsFixed *fixed = g_object_new (EMACS_TYPE_FIXED, NULL); |
| 82 | GtkFixedClass *parent_class = g_type_class_peek_parent (klass); | 84 | EmacsFixedPrivate *priv = fixed->priv; |
| 83 | return (GtkWidgetClass*) parent_class; | 85 | priv->f = f; |
| 86 | return GTK_WIDGET (fixed); | ||
| 84 | } | 87 | } |
| 85 | 88 | ||
| 86 | static void | 89 | static void |
| @@ -90,9 +93,9 @@ emacs_fixed_get_preferred_width (GtkWidget *widget, | |||
| 90 | { | 93 | { |
| 91 | EmacsFixed *fixed = EMACS_FIXED (widget); | 94 | EmacsFixed *fixed = EMACS_FIXED (widget); |
| 92 | EmacsFixedPrivate *priv = fixed->priv; | 95 | EmacsFixedPrivate *priv = fixed->priv; |
| 93 | GtkWidgetClass *widget_class = get_parent_class (fixed); | 96 | int w = priv->f->output_data.x->size_hints.min_width; |
| 94 | widget_class->get_preferred_width (widget, minimum, natural); | 97 | if (minimum) *minimum = w; |
| 95 | if (minimum) *minimum = priv->minwidth; | 98 | if (natural) *natural = w; |
| 96 | } | 99 | } |
| 97 | 100 | ||
| 98 | static void | 101 | static void |
| @@ -102,22 +105,62 @@ emacs_fixed_get_preferred_height (GtkWidget *widget, | |||
| 102 | { | 105 | { |
| 103 | EmacsFixed *fixed = EMACS_FIXED (widget); | 106 | EmacsFixed *fixed = EMACS_FIXED (widget); |
| 104 | EmacsFixedPrivate *priv = fixed->priv; | 107 | EmacsFixedPrivate *priv = fixed->priv; |
| 105 | GtkWidgetClass *widget_class = get_parent_class (fixed); | 108 | int h = priv->f->output_data.x->size_hints.min_height; |
| 106 | widget_class->get_preferred_height (widget, minimum, natural); | 109 | if (minimum) *minimum = h; |
| 107 | if (minimum) *minimum = priv->minheight; | 110 | if (natural) *natural = h; |
| 108 | } | 111 | } |
| 109 | 112 | ||
| 113 | |||
| 114 | /* Override the X function so we can intercept Gtk+ 3 calls. | ||
| 115 | Use our values for min_width/height so that KDE don't freak out | ||
| 116 | (Bug#8919), and so users can resize our frames as they wish. */ | ||
| 117 | |||
| 110 | void | 118 | void |
| 111 | emacs_fixed_set_min_size (EmacsFixed *widget, int width, int height) | 119 | XSetWMSizeHints(Display* d, |
| 120 | Window w, | ||
| 121 | XSizeHints* hints, | ||
| 122 | Atom prop) | ||
| 112 | { | 123 | { |
| 113 | EmacsFixedPrivate *priv = widget->priv; | 124 | struct x_display_info *dpyinfo = x_display_info_for_display (d); |
| 114 | GtkWidgetClass *widget_class = get_parent_class (widget); | 125 | struct frame *f = x_top_window_to_frame (dpyinfo, w); |
| 115 | int mw, nw, mh, nh; | 126 | long data[18]; |
| 116 | 127 | data[0] = hints->flags; | |
| 117 | widget_class->get_preferred_height (GTK_WIDGET (widget), &mh, &nh); | 128 | data[1] = hints->x; |
| 118 | widget_class->get_preferred_width (GTK_WIDGET (widget), &mw, &nw); | 129 | data[2] = hints->y; |
| 130 | data[3] = hints->width; | ||
| 131 | data[4] = hints->height; | ||
| 132 | data[5] = hints->min_width; | ||
| 133 | data[6] = hints->min_height; | ||
| 134 | data[7] = hints->max_width; | ||
| 135 | data[8] = hints->max_height; | ||
| 136 | data[9] = hints->width_inc; | ||
| 137 | data[10] = hints->height_inc; | ||
| 138 | data[11] = hints->min_aspect.x; | ||
| 139 | data[12] = hints->min_aspect.y; | ||
| 140 | data[13] = hints->max_aspect.x; | ||
| 141 | data[14] = hints->max_aspect.y; | ||
| 142 | data[15] = hints->base_width; | ||
| 143 | data[16] = hints->base_height; | ||
| 144 | data[17] = hints->win_gravity; | ||
| 145 | |||
| 146 | if ((hints->flags & PMinSize) && f) | ||
| 147 | { | ||
| 148 | int w = f->output_data.x->size_hints.min_width; | ||
| 149 | int h = f->output_data.x->size_hints.min_height; | ||
| 150 | data[5] = w; | ||
| 151 | data[6] = h; | ||
| 152 | } | ||
| 153 | |||
| 154 | XChangeProperty (d, w, prop, XA_WM_SIZE_HINTS, 32, PropModeReplace, | ||
| 155 | (unsigned char *) data, 18); | ||
| 156 | } | ||
| 119 | 157 | ||
| 120 | /* Gtk complains if min size is less than natural size. */ | 158 | /* Override this X11 function. |
| 121 | if (width <= nw) priv->minwidth = width; | 159 | This function is in the same X11 file as the one above. So we must |
| 122 | if (height <= nh) priv->minheight = height; | 160 | provide it also. */ |
| 161 | |||
| 162 | void | ||
| 163 | XSetWMNormalHints (Display *d, Window w, XSizeHints *hints) | ||
| 164 | { | ||
| 165 | XSetWMSizeHints (d, w, hints, XA_WM_NORMAL_HINTS); | ||
| 123 | } | 166 | } |
diff --git a/src/emacsgtkfixed.h b/src/emacsgtkfixed.h index 405374373ec..dbac136bd7f 100644 --- a/src/emacsgtkfixed.h +++ b/src/emacsgtkfixed.h | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | /* A Gtk Widget that inherits GtkFixed, but can be shrinked. | 1 | /* A Gtk Widget that inherits GtkFixed, but can be shrinked. |
| 2 | This file is only use when compiling with Gtk+ 3. | ||
| 2 | 3 | ||
| 3 | Copyright (C) 2011 Free Software Foundation, Inc. | 4 | Copyright (C) 2011 Free Software Foundation, Inc. |
| 4 | 5 | ||
| @@ -24,6 +25,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 24 | 25 | ||
| 25 | G_BEGIN_DECLS | 26 | G_BEGIN_DECLS |
| 26 | 27 | ||
| 28 | struct frame; | ||
| 29 | |||
| 27 | #define EMACS_TYPE_FIXED (emacs_fixed_get_type ()) | 30 | #define EMACS_TYPE_FIXED (emacs_fixed_get_type ()) |
| 28 | #define EMACS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EMACS_TYPE_FIXED, EmacsFixed)) | 31 | #define EMACS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EMACS_TYPE_FIXED, EmacsFixed)) |
| 29 | #define EMACS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EMACS_TYPE_FIXED, EmacsFixedClass)) | 32 | #define EMACS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EMACS_TYPE_FIXED, EmacsFixedClass)) |
| @@ -49,8 +52,7 @@ struct _EmacsFixedClass | |||
| 49 | GtkFixedClass parent_class; | 52 | GtkFixedClass parent_class; |
| 50 | }; | 53 | }; |
| 51 | 54 | ||
| 52 | extern GtkWidget *emacs_fixed_new (void); | 55 | extern GtkWidget *emacs_fixed_new (struct frame *f); |
| 53 | extern void emacs_fixed_set_min_size (EmacsFixed *widget, int width, int height); | ||
| 54 | extern GType emacs_fixed_get_type (void); | 56 | extern GType emacs_fixed_get_type (void); |
| 55 | 57 | ||
| 56 | G_END_DECLS | 58 | G_END_DECLS |
diff --git a/src/eval.c b/src/eval.c index be582775fea..90d0df61858 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -32,25 +32,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 32 | #include "xterm.h" | 32 | #include "xterm.h" |
| 33 | #endif | 33 | #endif |
| 34 | 34 | ||
| 35 | /* This definition is duplicated in alloc.c and keyboard.c. */ | ||
| 36 | /* Putting it in lisp.h makes cc bomb out! */ | ||
| 37 | |||
| 38 | struct backtrace | 35 | struct backtrace |
| 39 | { | 36 | { |
| 40 | struct backtrace *next; | 37 | struct backtrace *next; |
| 41 | Lisp_Object *function; | 38 | Lisp_Object *function; |
| 42 | Lisp_Object *args; /* Points to vector of args. */ | 39 | Lisp_Object *args; /* Points to vector of args. */ |
| 43 | #define NARGS_BITS (BITS_PER_INT - 2) | 40 | ptrdiff_t nargs; /* Length of vector. */ |
| 44 | /* Let's not use size_t because we want to allow negative values (for | ||
| 45 | UNEVALLED). Also let's steal 2 bits so we save a word (or more for | ||
| 46 | alignment). In any case I doubt Emacs would survive a function call with | ||
| 47 | more than 500M arguments. */ | ||
| 48 | int nargs : NARGS_BITS; /* Length of vector. | ||
| 49 | If nargs is UNEVALLED, args points | ||
| 50 | to slot holding list of unevalled args. */ | ||
| 51 | char evalargs : 1; | ||
| 52 | /* Nonzero means call value of debugger when done with this operation. */ | 41 | /* Nonzero means call value of debugger when done with this operation. */ |
| 53 | char debug_on_exit : 1; | 42 | unsigned int debug_on_exit : 1; |
| 54 | }; | 43 | }; |
| 55 | 44 | ||
| 56 | static struct backtrace *backtrace_list; | 45 | static struct backtrace *backtrace_list; |
| @@ -1651,8 +1640,7 @@ internal_condition_case_n (Lisp_Object (*bfun) (ptrdiff_t, Lisp_Object *), | |||
| 1651 | } | 1640 | } |
| 1652 | 1641 | ||
| 1653 | 1642 | ||
| 1654 | static Lisp_Object find_handler_clause (Lisp_Object, Lisp_Object, | 1643 | static Lisp_Object find_handler_clause (Lisp_Object, Lisp_Object); |
| 1655 | Lisp_Object, Lisp_Object); | ||
| 1656 | static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, | 1644 | static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, |
| 1657 | Lisp_Object data); | 1645 | Lisp_Object data); |
| 1658 | 1646 | ||
| @@ -1728,8 +1716,7 @@ See also the function `condition-case'. */) | |||
| 1728 | 1716 | ||
| 1729 | for (h = handlerlist; h; h = h->next) | 1717 | for (h = handlerlist; h; h = h->next) |
| 1730 | { | 1718 | { |
| 1731 | clause = find_handler_clause (h->handler, conditions, | 1719 | clause = find_handler_clause (h->handler, conditions); |
| 1732 | error_symbol, data); | ||
| 1733 | if (!NILP (clause)) | 1720 | if (!NILP (clause)) |
| 1734 | break; | 1721 | break; |
| 1735 | } | 1722 | } |
| @@ -1900,8 +1887,10 @@ skip_debugger (Lisp_Object conditions, Lisp_Object data) | |||
| 1900 | } | 1887 | } |
| 1901 | 1888 | ||
| 1902 | /* Call the debugger if calling it is currently enabled for CONDITIONS. | 1889 | /* Call the debugger if calling it is currently enabled for CONDITIONS. |
| 1903 | SIG and DATA describe the signal, as in find_handler_clause. */ | 1890 | SIG and DATA describe the signal. There are two ways to pass them: |
| 1904 | 1891 | = SIG is the error symbol, and DATA is the rest of the data. | |
| 1892 | = SIG is nil, and DATA is (SYMBOL . REST-OF-DATA). | ||
| 1893 | This is for memory-full errors only. */ | ||
| 1905 | static int | 1894 | static int |
| 1906 | maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, Lisp_Object data) | 1895 | maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, Lisp_Object data) |
| 1907 | { | 1896 | { |
| @@ -1928,19 +1917,8 @@ maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, Lisp_Object data) | |||
| 1928 | return 0; | 1917 | return 0; |
| 1929 | } | 1918 | } |
| 1930 | 1919 | ||
| 1931 | /* Value of Qlambda means we have called debugger and user has continued. | ||
| 1932 | There are two ways to pass SIG and DATA: | ||
| 1933 | = SIG is the error symbol, and DATA is the rest of the data. | ||
| 1934 | = SIG is nil, and DATA is (SYMBOL . REST-OF-DATA). | ||
| 1935 | This is for memory-full errors only. | ||
| 1936 | |||
| 1937 | We need to increase max_specpdl_size temporarily around | ||
| 1938 | anything we do that can push on the specpdl, so as not to get | ||
| 1939 | a second error here in case we're handling specpdl overflow. */ | ||
| 1940 | |||
| 1941 | static Lisp_Object | 1920 | static Lisp_Object |
| 1942 | find_handler_clause (Lisp_Object handlers, Lisp_Object conditions, | 1921 | find_handler_clause (Lisp_Object handlers, Lisp_Object conditions) |
| 1943 | Lisp_Object sig, Lisp_Object data) | ||
| 1944 | { | 1922 | { |
| 1945 | register Lisp_Object h; | 1923 | register Lisp_Object h; |
| 1946 | 1924 | ||
| @@ -2291,7 +2269,6 @@ eval_sub (Lisp_Object form) | |||
| 2291 | backtrace.function = &original_fun; /* This also protects them from gc. */ | 2269 | backtrace.function = &original_fun; /* This also protects them from gc. */ |
| 2292 | backtrace.args = &original_args; | 2270 | backtrace.args = &original_args; |
| 2293 | backtrace.nargs = UNEVALLED; | 2271 | backtrace.nargs = UNEVALLED; |
| 2294 | backtrace.evalargs = 1; | ||
| 2295 | backtrace.debug_on_exit = 0; | 2272 | backtrace.debug_on_exit = 0; |
| 2296 | 2273 | ||
| 2297 | if (debug_on_next_call) | 2274 | if (debug_on_next_call) |
| @@ -2325,10 +2302,7 @@ eval_sub (Lisp_Object form) | |||
| 2325 | xsignal2 (Qwrong_number_of_arguments, original_fun, numargs); | 2302 | xsignal2 (Qwrong_number_of_arguments, original_fun, numargs); |
| 2326 | 2303 | ||
| 2327 | else if (XSUBR (fun)->max_args == UNEVALLED) | 2304 | else if (XSUBR (fun)->max_args == UNEVALLED) |
| 2328 | { | 2305 | val = (XSUBR (fun)->function.aUNEVALLED) (args_left); |
| 2329 | backtrace.evalargs = 0; | ||
| 2330 | val = (XSUBR (fun)->function.aUNEVALLED) (args_left); | ||
| 2331 | } | ||
| 2332 | else if (XSUBR (fun)->max_args == MANY) | 2306 | else if (XSUBR (fun)->max_args == MANY) |
| 2333 | { | 2307 | { |
| 2334 | /* Pass a vector of evaluated arguments. */ | 2308 | /* Pass a vector of evaluated arguments. */ |
| @@ -2984,7 +2958,6 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) | |||
| 2984 | backtrace.function = &args[0]; | 2958 | backtrace.function = &args[0]; |
| 2985 | backtrace.args = &args[1]; | 2959 | backtrace.args = &args[1]; |
| 2986 | backtrace.nargs = nargs - 1; | 2960 | backtrace.nargs = nargs - 1; |
| 2987 | backtrace.evalargs = 0; | ||
| 2988 | backtrace.debug_on_exit = 0; | 2961 | backtrace.debug_on_exit = 0; |
| 2989 | 2962 | ||
| 2990 | if (debug_on_next_call) | 2963 | if (debug_on_next_call) |
| @@ -3141,7 +3114,6 @@ apply_lambda (Lisp_Object fun, Lisp_Object args) | |||
| 3141 | 3114 | ||
| 3142 | backtrace_list->args = arg_vector; | 3115 | backtrace_list->args = arg_vector; |
| 3143 | backtrace_list->nargs = i; | 3116 | backtrace_list->nargs = i; |
| 3144 | backtrace_list->evalargs = 0; | ||
| 3145 | tem = funcall_lambda (fun, numargs, arg_vector); | 3117 | tem = funcall_lambda (fun, numargs, arg_vector); |
| 3146 | 3118 | ||
| 3147 | /* Do the debug-on-exit now, while arg_vector still exists. */ | 3119 | /* Do the debug-on-exit now, while arg_vector still exists. */ |
| @@ -3190,7 +3162,7 @@ funcall_lambda (Lisp_Object fun, ptrdiff_t nargs, | |||
| 3190 | shouldn't bind any arguments, instead just call the byte-code | 3162 | shouldn't bind any arguments, instead just call the byte-code |
| 3191 | interpreter directly; it will push arguments as necessary. | 3163 | interpreter directly; it will push arguments as necessary. |
| 3192 | 3164 | ||
| 3193 | Byte-code objects with either a non-existant, or a nil value for | 3165 | Byte-code objects with either a non-existent, or a nil value for |
| 3194 | the `push args' slot (the default), have dynamically-bound | 3166 | the `push args' slot (the default), have dynamically-bound |
| 3195 | arguments, and use the argument-binding code below instead (as do | 3167 | arguments, and use the argument-binding code below instead (as do |
| 3196 | all interpreted functions, even lexically bound ones). */ | 3168 | all interpreted functions, even lexically bound ones). */ |
| @@ -3694,46 +3666,23 @@ To prevent this happening, set `quit-flag' to nil | |||
| 3694 | before making `inhibit-quit' nil. */); | 3666 | before making `inhibit-quit' nil. */); |
| 3695 | Vinhibit_quit = Qnil; | 3667 | Vinhibit_quit = Qnil; |
| 3696 | 3668 | ||
| 3697 | Qinhibit_quit = intern_c_string ("inhibit-quit"); | 3669 | DEFSYM (Qinhibit_quit, "inhibit-quit"); |
| 3698 | staticpro (&Qinhibit_quit); | 3670 | DEFSYM (Qautoload, "autoload"); |
| 3699 | 3671 | DEFSYM (Qdebug_on_error, "debug-on-error"); | |
| 3700 | Qautoload = intern_c_string ("autoload"); | 3672 | DEFSYM (Qmacro, "macro"); |
| 3701 | staticpro (&Qautoload); | 3673 | DEFSYM (Qdeclare, "declare"); |
| 3702 | |||
| 3703 | Qdebug_on_error = intern_c_string ("debug-on-error"); | ||
| 3704 | staticpro (&Qdebug_on_error); | ||
| 3705 | |||
| 3706 | Qmacro = intern_c_string ("macro"); | ||
| 3707 | staticpro (&Qmacro); | ||
| 3708 | |||
| 3709 | Qdeclare = intern_c_string ("declare"); | ||
| 3710 | staticpro (&Qdeclare); | ||
| 3711 | 3674 | ||
| 3712 | /* Note that the process handling also uses Qexit, but we don't want | 3675 | /* Note that the process handling also uses Qexit, but we don't want |
| 3713 | to staticpro it twice, so we just do it here. */ | 3676 | to staticpro it twice, so we just do it here. */ |
| 3714 | Qexit = intern_c_string ("exit"); | 3677 | DEFSYM (Qexit, "exit"); |
| 3715 | staticpro (&Qexit); | ||
| 3716 | |||
| 3717 | Qinteractive = intern_c_string ("interactive"); | ||
| 3718 | staticpro (&Qinteractive); | ||
| 3719 | |||
| 3720 | Qcommandp = intern_c_string ("commandp"); | ||
| 3721 | staticpro (&Qcommandp); | ||
| 3722 | |||
| 3723 | Qdefun = intern_c_string ("defun"); | ||
| 3724 | staticpro (&Qdefun); | ||
| 3725 | |||
| 3726 | Qand_rest = intern_c_string ("&rest"); | ||
| 3727 | staticpro (&Qand_rest); | ||
| 3728 | |||
| 3729 | Qand_optional = intern_c_string ("&optional"); | ||
| 3730 | staticpro (&Qand_optional); | ||
| 3731 | |||
| 3732 | Qclosure = intern_c_string ("closure"); | ||
| 3733 | staticpro (&Qclosure); | ||
| 3734 | 3678 | ||
| 3735 | Qdebug = intern_c_string ("debug"); | 3679 | DEFSYM (Qinteractive, "interactive"); |
| 3736 | staticpro (&Qdebug); | 3680 | DEFSYM (Qcommandp, "commandp"); |
| 3681 | DEFSYM (Qdefun, "defun"); | ||
| 3682 | DEFSYM (Qand_rest, "&rest"); | ||
| 3683 | DEFSYM (Qand_optional, "&optional"); | ||
| 3684 | DEFSYM (Qclosure, "closure"); | ||
| 3685 | DEFSYM (Qdebug, "debug"); | ||
| 3737 | 3686 | ||
| 3738 | DEFVAR_LISP ("debug-on-error", Vdebug_on_error, | 3687 | DEFVAR_LISP ("debug-on-error", Vdebug_on_error, |
| 3739 | doc: /* *Non-nil means enter debugger if an error is signaled. | 3688 | doc: /* *Non-nil means enter debugger if an error is signaled. |
| @@ -3807,9 +3756,7 @@ The value the function returns is not used. */); | |||
| 3807 | Every element of this list can be either a cons (VAR . VAL) | 3756 | Every element of this list can be either a cons (VAR . VAL) |
| 3808 | specifying a lexical binding, or a single symbol VAR indicating | 3757 | specifying a lexical binding, or a single symbol VAR indicating |
| 3809 | that this variable should use dynamic scoping. */ | 3758 | that this variable should use dynamic scoping. */ |
| 3810 | Qinternal_interpreter_environment | 3759 | DEFSYM (Qinternal_interpreter_environment, "internal-interpreter-environment"); |
| 3811 | = intern_c_string ("internal-interpreter-environment"); | ||
| 3812 | staticpro (&Qinternal_interpreter_environment); | ||
| 3813 | DEFVAR_LISP ("internal-interpreter-environment", | 3760 | DEFVAR_LISP ("internal-interpreter-environment", |
| 3814 | Vinternal_interpreter_environment, | 3761 | Vinternal_interpreter_environment, |
| 3815 | doc: /* If non-nil, the current lexical environment of the lisp interpreter. | 3762 | doc: /* If non-nil, the current lexical environment of the lisp interpreter. |
| @@ -3821,8 +3768,7 @@ alist of active lexical bindings. */); | |||
| 3821 | (Just imagine if someone makes it buffer-local). */ | 3768 | (Just imagine if someone makes it buffer-local). */ |
| 3822 | Funintern (Qinternal_interpreter_environment, Qnil); | 3769 | Funintern (Qinternal_interpreter_environment, Qnil); |
| 3823 | 3770 | ||
| 3824 | Vrun_hooks = intern_c_string ("run-hooks"); | 3771 | DEFSYM (Vrun_hooks, "run-hooks"); |
| 3825 | staticpro (&Vrun_hooks); | ||
| 3826 | 3772 | ||
| 3827 | staticpro (&Vautoload_queue); | 3773 | staticpro (&Vautoload_queue); |
| 3828 | Vautoload_queue = Qnil; | 3774 | Vautoload_queue = Qnil; |
diff --git a/src/fileio.c b/src/fileio.c index 824df8172e7..c6f8dfe4683 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -1755,6 +1755,10 @@ barf_or_query_if_file_exists (Lisp_Object absname, const char *querystring, | |||
| 1755 | regardless of what access permissions it has. */ | 1755 | regardless of what access permissions it has. */ |
| 1756 | if (lstat (SSDATA (encoded_filename), &statbuf) >= 0) | 1756 | if (lstat (SSDATA (encoded_filename), &statbuf) >= 0) |
| 1757 | { | 1757 | { |
| 1758 | if (S_ISDIR (statbuf.st_mode)) | ||
| 1759 | xsignal2 (Qfile_error, | ||
| 1760 | build_string ("File is a directory"), absname); | ||
| 1761 | |||
| 1758 | if (! interactive) | 1762 | if (! interactive) |
| 1759 | xsignal2 (Qfile_already_exists, | 1763 | xsignal2 (Qfile_already_exists, |
| 1760 | build_string ("File already exists"), absname); | 1764 | build_string ("File already exists"), absname); |
| @@ -5425,92 +5429,50 @@ Fread_file_name (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filena | |||
| 5425 | void | 5429 | void |
| 5426 | syms_of_fileio (void) | 5430 | syms_of_fileio (void) |
| 5427 | { | 5431 | { |
| 5428 | Qoperations = intern_c_string ("operations"); | 5432 | DEFSYM (Qoperations, "operations"); |
| 5429 | Qexpand_file_name = intern_c_string ("expand-file-name"); | 5433 | DEFSYM (Qexpand_file_name, "expand-file-name"); |
| 5430 | Qsubstitute_in_file_name = intern_c_string ("substitute-in-file-name"); | 5434 | DEFSYM (Qsubstitute_in_file_name, "substitute-in-file-name"); |
| 5431 | Qdirectory_file_name = intern_c_string ("directory-file-name"); | 5435 | DEFSYM (Qdirectory_file_name, "directory-file-name"); |
| 5432 | Qfile_name_directory = intern_c_string ("file-name-directory"); | 5436 | DEFSYM (Qfile_name_directory, "file-name-directory"); |
| 5433 | Qfile_name_nondirectory = intern_c_string ("file-name-nondirectory"); | 5437 | DEFSYM (Qfile_name_nondirectory, "file-name-nondirectory"); |
| 5434 | Qunhandled_file_name_directory = intern_c_string ("unhandled-file-name-directory"); | 5438 | DEFSYM (Qunhandled_file_name_directory, "unhandled-file-name-directory"); |
| 5435 | Qfile_name_as_directory = intern_c_string ("file-name-as-directory"); | 5439 | DEFSYM (Qfile_name_as_directory, "file-name-as-directory"); |
| 5436 | Qcopy_file = intern_c_string ("copy-file"); | 5440 | DEFSYM (Qcopy_file, "copy-file"); |
| 5437 | Qmake_directory_internal = intern_c_string ("make-directory-internal"); | 5441 | DEFSYM (Qmake_directory_internal, "make-directory-internal"); |
| 5438 | Qmake_directory = intern_c_string ("make-directory"); | 5442 | DEFSYM (Qmake_directory, "make-directory"); |
| 5439 | Qdelete_directory_internal = intern_c_string ("delete-directory-internal"); | 5443 | DEFSYM (Qdelete_directory_internal, "delete-directory-internal"); |
| 5440 | Qdelete_file = intern_c_string ("delete-file"); | 5444 | DEFSYM (Qdelete_file, "delete-file"); |
| 5441 | Qrename_file = intern_c_string ("rename-file"); | 5445 | DEFSYM (Qrename_file, "rename-file"); |
| 5442 | Qadd_name_to_file = intern_c_string ("add-name-to-file"); | 5446 | DEFSYM (Qadd_name_to_file, "add-name-to-file"); |
| 5443 | Qmake_symbolic_link = intern_c_string ("make-symbolic-link"); | 5447 | DEFSYM (Qmake_symbolic_link, "make-symbolic-link"); |
| 5444 | Qfile_exists_p = intern_c_string ("file-exists-p"); | 5448 | DEFSYM (Qfile_exists_p, "file-exists-p"); |
| 5445 | Qfile_executable_p = intern_c_string ("file-executable-p"); | 5449 | DEFSYM (Qfile_executable_p, "file-executable-p"); |
| 5446 | Qfile_readable_p = intern_c_string ("file-readable-p"); | 5450 | DEFSYM (Qfile_readable_p, "file-readable-p"); |
| 5447 | Qfile_writable_p = intern_c_string ("file-writable-p"); | 5451 | DEFSYM (Qfile_writable_p, "file-writable-p"); |
| 5448 | Qfile_symlink_p = intern_c_string ("file-symlink-p"); | 5452 | DEFSYM (Qfile_symlink_p, "file-symlink-p"); |
| 5449 | Qaccess_file = intern_c_string ("access-file"); | 5453 | DEFSYM (Qaccess_file, "access-file"); |
| 5450 | Qfile_directory_p = intern_c_string ("file-directory-p"); | 5454 | DEFSYM (Qfile_directory_p, "file-directory-p"); |
| 5451 | Qfile_regular_p = intern_c_string ("file-regular-p"); | 5455 | DEFSYM (Qfile_regular_p, "file-regular-p"); |
| 5452 | Qfile_accessible_directory_p = intern_c_string ("file-accessible-directory-p"); | 5456 | DEFSYM (Qfile_accessible_directory_p, "file-accessible-directory-p"); |
| 5453 | Qfile_modes = intern_c_string ("file-modes"); | 5457 | DEFSYM (Qfile_modes, "file-modes"); |
| 5454 | Qset_file_modes = intern_c_string ("set-file-modes"); | 5458 | DEFSYM (Qset_file_modes, "set-file-modes"); |
| 5455 | Qset_file_times = intern_c_string ("set-file-times"); | 5459 | DEFSYM (Qset_file_times, "set-file-times"); |
| 5456 | Qfile_selinux_context = intern_c_string("file-selinux-context"); | 5460 | DEFSYM (Qfile_selinux_context, "file-selinux-context"); |
| 5457 | Qset_file_selinux_context = intern_c_string("set-file-selinux-context"); | 5461 | DEFSYM (Qset_file_selinux_context, "set-file-selinux-context"); |
| 5458 | Qfile_newer_than_file_p = intern_c_string ("file-newer-than-file-p"); | 5462 | DEFSYM (Qfile_newer_than_file_p, "file-newer-than-file-p"); |
| 5459 | Qinsert_file_contents = intern_c_string ("insert-file-contents"); | 5463 | DEFSYM (Qinsert_file_contents, "insert-file-contents"); |
| 5460 | Qwrite_region = intern_c_string ("write-region"); | 5464 | DEFSYM (Qwrite_region, "write-region"); |
| 5461 | Qverify_visited_file_modtime = intern_c_string ("verify-visited-file-modtime"); | 5465 | DEFSYM (Qverify_visited_file_modtime, "verify-visited-file-modtime"); |
| 5462 | Qset_visited_file_modtime = intern_c_string ("set-visited-file-modtime"); | 5466 | DEFSYM (Qset_visited_file_modtime, "set-visited-file-modtime"); |
| 5463 | Qauto_save_coding = intern_c_string ("auto-save-coding"); | 5467 | DEFSYM (Qauto_save_coding, "auto-save-coding"); |
| 5464 | 5468 | ||
| 5465 | staticpro (&Qoperations); | 5469 | DEFSYM (Qfile_name_history, "file-name-history"); |
| 5466 | staticpro (&Qexpand_file_name); | ||
| 5467 | staticpro (&Qsubstitute_in_file_name); | ||
| 5468 | staticpro (&Qdirectory_file_name); | ||
| 5469 | staticpro (&Qfile_name_directory); | ||
| 5470 | staticpro (&Qfile_name_nondirectory); | ||
| 5471 | staticpro (&Qunhandled_file_name_directory); | ||
| 5472 | staticpro (&Qfile_name_as_directory); | ||
| 5473 | staticpro (&Qcopy_file); | ||
| 5474 | staticpro (&Qmake_directory_internal); | ||
| 5475 | staticpro (&Qmake_directory); | ||
| 5476 | staticpro (&Qdelete_directory_internal); | ||
| 5477 | staticpro (&Qdelete_file); | ||
| 5478 | staticpro (&Qrename_file); | ||
| 5479 | staticpro (&Qadd_name_to_file); | ||
| 5480 | staticpro (&Qmake_symbolic_link); | ||
| 5481 | staticpro (&Qfile_exists_p); | ||
| 5482 | staticpro (&Qfile_executable_p); | ||
| 5483 | staticpro (&Qfile_readable_p); | ||
| 5484 | staticpro (&Qfile_writable_p); | ||
| 5485 | staticpro (&Qaccess_file); | ||
| 5486 | staticpro (&Qfile_symlink_p); | ||
| 5487 | staticpro (&Qfile_directory_p); | ||
| 5488 | staticpro (&Qfile_regular_p); | ||
| 5489 | staticpro (&Qfile_accessible_directory_p); | ||
| 5490 | staticpro (&Qfile_modes); | ||
| 5491 | staticpro (&Qset_file_modes); | ||
| 5492 | staticpro (&Qset_file_times); | ||
| 5493 | staticpro (&Qfile_selinux_context); | ||
| 5494 | staticpro (&Qset_file_selinux_context); | ||
| 5495 | staticpro (&Qfile_newer_than_file_p); | ||
| 5496 | staticpro (&Qinsert_file_contents); | ||
| 5497 | staticpro (&Qwrite_region); | ||
| 5498 | staticpro (&Qverify_visited_file_modtime); | ||
| 5499 | staticpro (&Qset_visited_file_modtime); | ||
| 5500 | staticpro (&Qauto_save_coding); | ||
| 5501 | |||
| 5502 | Qfile_name_history = intern_c_string ("file-name-history"); | ||
| 5503 | Fset (Qfile_name_history, Qnil); | 5470 | Fset (Qfile_name_history, Qnil); |
| 5504 | staticpro (&Qfile_name_history); | ||
| 5505 | 5471 | ||
| 5506 | Qfile_error = intern_c_string ("file-error"); | 5472 | DEFSYM (Qfile_error, "file-error"); |
| 5507 | staticpro (&Qfile_error); | 5473 | DEFSYM (Qfile_already_exists, "file-already-exists"); |
| 5508 | Qfile_already_exists = intern_c_string ("file-already-exists"); | 5474 | DEFSYM (Qfile_date_error, "file-date-error"); |
| 5509 | staticpro (&Qfile_already_exists); | 5475 | DEFSYM (Qexcl, "excl"); |
| 5510 | Qfile_date_error = intern_c_string ("file-date-error"); | ||
| 5511 | staticpro (&Qfile_date_error); | ||
| 5512 | Qexcl = intern_c_string ("excl"); | ||
| 5513 | staticpro (&Qexcl); | ||
| 5514 | 5476 | ||
| 5515 | DEFVAR_LISP ("file-name-coding-system", Vfile_name_coding_system, | 5477 | DEFVAR_LISP ("file-name-coding-system", Vfile_name_coding_system, |
| 5516 | doc: /* *Coding system for encoding file names. | 5478 | doc: /* *Coding system for encoding file names. |
| @@ -5528,15 +5490,10 @@ instead use `file-name-coding-system' to get a constant encoding | |||
| 5528 | of file names regardless of the current language environment. */); | 5490 | of file names regardless of the current language environment. */); |
| 5529 | Vdefault_file_name_coding_system = Qnil; | 5491 | Vdefault_file_name_coding_system = Qnil; |
| 5530 | 5492 | ||
| 5531 | Qformat_decode = intern_c_string ("format-decode"); | 5493 | DEFSYM (Qformat_decode, "format-decode"); |
| 5532 | staticpro (&Qformat_decode); | 5494 | DEFSYM (Qformat_annotate_function, "format-annotate-function"); |
| 5533 | Qformat_annotate_function = intern_c_string ("format-annotate-function"); | 5495 | DEFSYM (Qafter_insert_file_set_coding, "after-insert-file-set-coding"); |
| 5534 | staticpro (&Qformat_annotate_function); | 5496 | DEFSYM (Qcar_less_than_car, "car-less-than-car"); |
| 5535 | Qafter_insert_file_set_coding = intern_c_string ("after-insert-file-set-coding"); | ||
| 5536 | staticpro (&Qafter_insert_file_set_coding); | ||
| 5537 | |||
| 5538 | Qcar_less_than_car = intern_c_string ("car-less-than-car"); | ||
| 5539 | staticpro (&Qcar_less_than_car); | ||
| 5540 | 5497 | ||
| 5541 | Fput (Qfile_error, Qerror_conditions, | 5498 | Fput (Qfile_error, Qerror_conditions, |
| 5542 | Fpurecopy (list2 (Qfile_error, Qerror))); | 5499 | Fpurecopy (list2 (Qfile_error, Qerror))); |
| @@ -5615,9 +5572,7 @@ After `write-region' completes, Emacs calls the function stored in | |||
| 5615 | current when building the annotations (i.e., at least once), with that | 5572 | current when building the annotations (i.e., at least once), with that |
| 5616 | buffer current. */); | 5573 | buffer current. */); |
| 5617 | Vwrite_region_annotate_functions = Qnil; | 5574 | Vwrite_region_annotate_functions = Qnil; |
| 5618 | staticpro (&Qwrite_region_annotate_functions); | 5575 | DEFSYM (Qwrite_region_annotate_functions, "write-region-annotate-functions"); |
| 5619 | Qwrite_region_annotate_functions | ||
| 5620 | = intern_c_string ("write-region-annotate-functions"); | ||
| 5621 | 5576 | ||
| 5622 | DEFVAR_LISP ("write-region-post-annotation-function", | 5577 | DEFVAR_LISP ("write-region-post-annotation-function", |
| 5623 | Vwrite_region_post_annotation_function, | 5578 | Vwrite_region_post_annotation_function, |
| @@ -5681,12 +5636,10 @@ This includes interactive calls to `delete-file' and | |||
| 5681 | `delete-directory' and the Dired deletion commands. */); | 5636 | `delete-directory' and the Dired deletion commands. */); |
| 5682 | delete_by_moving_to_trash = 0; | 5637 | delete_by_moving_to_trash = 0; |
| 5683 | Qdelete_by_moving_to_trash = intern_c_string ("delete-by-moving-to-trash"); | 5638 | Qdelete_by_moving_to_trash = intern_c_string ("delete-by-moving-to-trash"); |
| 5684 | Qmove_file_to_trash = intern_c_string ("move-file-to-trash"); | 5639 | |
| 5685 | staticpro (&Qmove_file_to_trash); | 5640 | DEFSYM (Qmove_file_to_trash, "move-file-to-trash"); |
| 5686 | Qcopy_directory = intern_c_string ("copy-directory"); | 5641 | DEFSYM (Qcopy_directory, "copy-directory"); |
| 5687 | staticpro (&Qcopy_directory); | 5642 | DEFSYM (Qdelete_directory, "delete-directory"); |
| 5688 | Qdelete_directory = intern_c_string ("delete-directory"); | ||
| 5689 | staticpro (&Qdelete_directory); | ||
| 5690 | 5643 | ||
| 5691 | defsubr (&Sfind_file_name_handler); | 5644 | defsubr (&Sfind_file_name_handler); |
| 5692 | defsubr (&Sfile_name_directory); | 5645 | defsubr (&Sfile_name_directory); |
| @@ -79,10 +79,14 @@ Other values of LIMIT are ignored. */) | |||
| 79 | { | 79 | { |
| 80 | EMACS_INT val; | 80 | EMACS_INT val; |
| 81 | Lisp_Object lispy_val; | 81 | Lisp_Object lispy_val; |
| 82 | EMACS_UINT denominator; | ||
| 83 | 82 | ||
| 84 | if (EQ (limit, Qt)) | 83 | if (EQ (limit, Qt)) |
| 85 | seed_random (getpid () + time (NULL)); | 84 | { |
| 85 | EMACS_TIME t; | ||
| 86 | EMACS_GET_TIME (t); | ||
| 87 | seed_random (getpid () ^ EMACS_SECS (t) ^ EMACS_USECS (t)); | ||
| 88 | } | ||
| 89 | |||
| 86 | if (NATNUMP (limit) && XFASTINT (limit) != 0) | 90 | if (NATNUMP (limit) && XFASTINT (limit) != 0) |
| 87 | { | 91 | { |
| 88 | /* Try to take our random number from the higher bits of VAL, | 92 | /* Try to take our random number from the higher bits of VAL, |
| @@ -92,7 +96,7 @@ Other values of LIMIT are ignored. */) | |||
| 92 | it's possible to get a quotient larger than n; discarding | 96 | it's possible to get a quotient larger than n; discarding |
| 93 | these values eliminates the bias that would otherwise appear | 97 | these values eliminates the bias that would otherwise appear |
| 94 | when using a large n. */ | 98 | when using a large n. */ |
| 95 | denominator = ((EMACS_UINT) 1 << VALBITS) / XFASTINT (limit); | 99 | EMACS_INT denominator = (INTMASK + 1) / XFASTINT (limit); |
| 96 | do | 100 | do |
| 97 | val = get_random () / denominator; | 101 | val = get_random () / denominator; |
| 98 | while (val >= XFASTINT (limit)); | 102 | while (val >= XFASTINT (limit)); |
| @@ -2613,6 +2617,7 @@ is not loaded; so load the file FILENAME. | |||
| 2613 | If FILENAME is omitted, the printname of FEATURE is used as the file name, | 2617 | If FILENAME is omitted, the printname of FEATURE is used as the file name, |
| 2614 | and `load' will try to load this name appended with the suffix `.elc' or | 2618 | and `load' will try to load this name appended with the suffix `.elc' or |
| 2615 | `.el', in that order. The name without appended suffix will not be used. | 2619 | `.el', in that order. The name without appended suffix will not be used. |
| 2620 | See `get-load-suffixes' for the complete list of suffixes. | ||
| 2616 | If the optional third argument NOERROR is non-nil, | 2621 | If the optional third argument NOERROR is non-nil, |
| 2617 | then return nil if the file is not found instead of signaling an error. | 2622 | then return nil if the file is not found instead of signaling an error. |
| 2618 | Normally the return value is FEATURE. | 2623 | Normally the return value is FEATURE. |
| @@ -4854,34 +4859,20 @@ syms_of_fns (void) | |||
| 4854 | DEFSYM (Qsha512, "sha512"); | 4859 | DEFSYM (Qsha512, "sha512"); |
| 4855 | 4860 | ||
| 4856 | /* Hash table stuff. */ | 4861 | /* Hash table stuff. */ |
| 4857 | Qhash_table_p = intern_c_string ("hash-table-p"); | 4862 | DEFSYM (Qhash_table_p, "hash-table-p"); |
| 4858 | staticpro (&Qhash_table_p); | 4863 | DEFSYM (Qeq, "eq"); |
| 4859 | Qeq = intern_c_string ("eq"); | 4864 | DEFSYM (Qeql, "eql"); |
| 4860 | staticpro (&Qeq); | 4865 | DEFSYM (Qequal, "equal"); |
| 4861 | Qeql = intern_c_string ("eql"); | 4866 | DEFSYM (QCtest, ":test"); |
| 4862 | staticpro (&Qeql); | 4867 | DEFSYM (QCsize, ":size"); |
| 4863 | Qequal = intern_c_string ("equal"); | 4868 | DEFSYM (QCrehash_size, ":rehash-size"); |
| 4864 | staticpro (&Qequal); | 4869 | DEFSYM (QCrehash_threshold, ":rehash-threshold"); |
| 4865 | QCtest = intern_c_string (":test"); | 4870 | DEFSYM (QCweakness, ":weakness"); |
| 4866 | staticpro (&QCtest); | 4871 | DEFSYM (Qkey, "key"); |
| 4867 | QCsize = intern_c_string (":size"); | 4872 | DEFSYM (Qvalue, "value"); |
| 4868 | staticpro (&QCsize); | 4873 | DEFSYM (Qhash_table_test, "hash-table-test"); |
| 4869 | QCrehash_size = intern_c_string (":rehash-size"); | 4874 | DEFSYM (Qkey_or_value, "key-or-value"); |
| 4870 | staticpro (&QCrehash_size); | 4875 | DEFSYM (Qkey_and_value, "key-and-value"); |
| 4871 | QCrehash_threshold = intern_c_string (":rehash-threshold"); | ||
| 4872 | staticpro (&QCrehash_threshold); | ||
| 4873 | QCweakness = intern_c_string (":weakness"); | ||
| 4874 | staticpro (&QCweakness); | ||
| 4875 | Qkey = intern_c_string ("key"); | ||
| 4876 | staticpro (&Qkey); | ||
| 4877 | Qvalue = intern_c_string ("value"); | ||
| 4878 | staticpro (&Qvalue); | ||
| 4879 | Qhash_table_test = intern_c_string ("hash-table-test"); | ||
| 4880 | staticpro (&Qhash_table_test); | ||
| 4881 | Qkey_or_value = intern_c_string ("key-or-value"); | ||
| 4882 | staticpro (&Qkey_or_value); | ||
| 4883 | Qkey_and_value = intern_c_string ("key-and-value"); | ||
| 4884 | staticpro (&Qkey_and_value); | ||
| 4885 | 4876 | ||
| 4886 | defsubr (&Ssxhash); | 4877 | defsubr (&Ssxhash); |
| 4887 | defsubr (&Smake_hash_table); | 4878 | defsubr (&Smake_hash_table); |
| @@ -4900,18 +4891,12 @@ syms_of_fns (void) | |||
| 4900 | defsubr (&Smaphash); | 4891 | defsubr (&Smaphash); |
| 4901 | defsubr (&Sdefine_hash_table_test); | 4892 | defsubr (&Sdefine_hash_table_test); |
| 4902 | 4893 | ||
| 4903 | Qstring_lessp = intern_c_string ("string-lessp"); | 4894 | DEFSYM (Qstring_lessp, "string-lessp"); |
| 4904 | staticpro (&Qstring_lessp); | 4895 | DEFSYM (Qprovide, "provide"); |
| 4905 | Qprovide = intern_c_string ("provide"); | 4896 | DEFSYM (Qrequire, "require"); |
| 4906 | staticpro (&Qprovide); | 4897 | DEFSYM (Qyes_or_no_p_history, "yes-or-no-p-history"); |
| 4907 | Qrequire = intern_c_string ("require"); | 4898 | DEFSYM (Qcursor_in_echo_area, "cursor-in-echo-area"); |
| 4908 | staticpro (&Qrequire); | 4899 | DEFSYM (Qwidget_type, "widget-type"); |
| 4909 | Qyes_or_no_p_history = intern_c_string ("yes-or-no-p-history"); | ||
| 4910 | staticpro (&Qyes_or_no_p_history); | ||
| 4911 | Qcursor_in_echo_area = intern_c_string ("cursor-in-echo-area"); | ||
| 4912 | staticpro (&Qcursor_in_echo_area); | ||
| 4913 | Qwidget_type = intern_c_string ("widget-type"); | ||
| 4914 | staticpro (&Qwidget_type); | ||
| 4915 | 4900 | ||
| 4916 | staticpro (&string_char_byte_cache_string); | 4901 | staticpro (&string_char_byte_cache_string); |
| 4917 | string_char_byte_cache_string = Qnil; | 4902 | string_char_byte_cache_string = Qnil; |
| @@ -4925,18 +4910,13 @@ syms_of_fns (void) | |||
| 4925 | doc: /* A list of symbols which are the features of the executing Emacs. | 4910 | doc: /* A list of symbols which are the features of the executing Emacs. |
| 4926 | Used by `featurep' and `require', and altered by `provide'. */); | 4911 | Used by `featurep' and `require', and altered by `provide'. */); |
| 4927 | Vfeatures = Fcons (intern_c_string ("emacs"), Qnil); | 4912 | Vfeatures = Fcons (intern_c_string ("emacs"), Qnil); |
| 4928 | Qsubfeatures = intern_c_string ("subfeatures"); | 4913 | DEFSYM (Qsubfeatures, "subfeatures"); |
| 4929 | staticpro (&Qsubfeatures); | ||
| 4930 | 4914 | ||
| 4931 | #ifdef HAVE_LANGINFO_CODESET | 4915 | #ifdef HAVE_LANGINFO_CODESET |
| 4932 | Qcodeset = intern_c_string ("codeset"); | 4916 | DEFSYM (Qcodeset, "codeset"); |
| 4933 | staticpro (&Qcodeset); | 4917 | DEFSYM (Qdays, "days"); |
| 4934 | Qdays = intern_c_string ("days"); | 4918 | DEFSYM (Qmonths, "months"); |
| 4935 | staticpro (&Qdays); | 4919 | DEFSYM (Qpaper, "paper"); |
| 4936 | Qmonths = intern_c_string ("months"); | ||
| 4937 | staticpro (&Qmonths); | ||
| 4938 | Qpaper = intern_c_string ("paper"); | ||
| 4939 | staticpro (&Qpaper); | ||
| 4940 | #endif /* HAVE_LANGINFO_CODESET */ | 4920 | #endif /* HAVE_LANGINFO_CODESET */ |
| 4941 | 4921 | ||
| 4942 | DEFVAR_BOOL ("use-dialog-box", use_dialog_box, | 4922 | DEFVAR_BOOL ("use-dialog-box", use_dialog_box, |
diff --git a/src/frame.c b/src/frame.c index 27a31fac3e7..635996ca424 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -4240,104 +4240,58 @@ selected frame. This is useful when `make-pointer-invisible' is set. */) | |||
| 4240 | void | 4240 | void |
| 4241 | syms_of_frame (void) | 4241 | syms_of_frame (void) |
| 4242 | { | 4242 | { |
| 4243 | Qframep = intern_c_string ("framep"); | 4243 | DEFSYM (Qframep, "framep"); |
| 4244 | staticpro (&Qframep); | 4244 | DEFSYM (Qframe_live_p, "frame-live-p"); |
| 4245 | Qframe_live_p = intern_c_string ("frame-live-p"); | 4245 | DEFSYM (Qexplicit_name, "explicit-name"); |
| 4246 | staticpro (&Qframe_live_p); | 4246 | DEFSYM (Qheight, "height"); |
| 4247 | Qexplicit_name = intern_c_string ("explicit-name"); | 4247 | DEFSYM (Qicon, "icon"); |
| 4248 | staticpro (&Qexplicit_name); | 4248 | DEFSYM (Qminibuffer, "minibuffer"); |
| 4249 | Qheight = intern_c_string ("height"); | 4249 | DEFSYM (Qmodeline, "modeline"); |
| 4250 | staticpro (&Qheight); | 4250 | DEFSYM (Qonly, "only"); |
| 4251 | Qicon = intern_c_string ("icon"); | 4251 | DEFSYM (Qwidth, "width"); |
| 4252 | staticpro (&Qicon); | 4252 | DEFSYM (Qgeometry, "geometry"); |
| 4253 | Qminibuffer = intern_c_string ("minibuffer"); | 4253 | DEFSYM (Qicon_left, "icon-left"); |
| 4254 | staticpro (&Qminibuffer); | 4254 | DEFSYM (Qicon_top, "icon-top"); |
| 4255 | Qmodeline = intern_c_string ("modeline"); | 4255 | DEFSYM (Qtooltip, "tooltip"); |
| 4256 | staticpro (&Qmodeline); | 4256 | DEFSYM (Qleft, "left"); |
| 4257 | Qonly = intern_c_string ("only"); | 4257 | DEFSYM (Qright, "right"); |
| 4258 | staticpro (&Qonly); | 4258 | DEFSYM (Quser_position, "user-position"); |
| 4259 | Qwidth = intern_c_string ("width"); | 4259 | DEFSYM (Quser_size, "user-size"); |
| 4260 | staticpro (&Qwidth); | 4260 | DEFSYM (Qwindow_id, "window-id"); |
| 4261 | Qgeometry = intern_c_string ("geometry"); | ||
| 4262 | staticpro (&Qgeometry); | ||
| 4263 | Qicon_left = intern_c_string ("icon-left"); | ||
| 4264 | staticpro (&Qicon_left); | ||
| 4265 | Qicon_top = intern_c_string ("icon-top"); | ||
| 4266 | staticpro (&Qicon_top); | ||
| 4267 | Qtooltip = intern_c_string ("tooltip"); | ||
| 4268 | staticpro (&Qtooltip); | ||
| 4269 | Qleft = intern_c_string ("left"); | ||
| 4270 | staticpro (&Qleft); | ||
| 4271 | Qright = intern_c_string ("right"); | ||
| 4272 | staticpro (&Qright); | ||
| 4273 | Quser_position = intern_c_string ("user-position"); | ||
| 4274 | staticpro (&Quser_position); | ||
| 4275 | Quser_size = intern_c_string ("user-size"); | ||
| 4276 | staticpro (&Quser_size); | ||
| 4277 | Qwindow_id = intern_c_string ("window-id"); | ||
| 4278 | staticpro (&Qwindow_id); | ||
| 4279 | #ifdef HAVE_X_WINDOWS | 4261 | #ifdef HAVE_X_WINDOWS |
| 4280 | Qouter_window_id = intern_c_string ("outer-window-id"); | 4262 | DEFSYM (Qouter_window_id, "outer-window-id"); |
| 4281 | staticpro (&Qouter_window_id); | ||
| 4282 | #endif | 4263 | #endif |
| 4283 | Qparent_id = intern_c_string ("parent-id"); | 4264 | DEFSYM (Qparent_id, "parent-id"); |
| 4284 | staticpro (&Qparent_id); | 4265 | DEFSYM (Qx, "x"); |
| 4285 | Qx = intern_c_string ("x"); | 4266 | DEFSYM (Qw32, "w32"); |
| 4286 | staticpro (&Qx); | 4267 | DEFSYM (Qpc, "pc"); |
| 4287 | Qw32 = intern_c_string ("w32"); | 4268 | DEFSYM (Qmac, "mac"); |
| 4288 | staticpro (&Qw32); | 4269 | DEFSYM (Qns, "ns"); |
| 4289 | Qpc = intern_c_string ("pc"); | 4270 | DEFSYM (Qvisible, "visible"); |
| 4290 | staticpro (&Qpc); | 4271 | DEFSYM (Qbuffer_predicate, "buffer-predicate"); |
| 4291 | Qmac = intern_c_string ("mac"); | 4272 | DEFSYM (Qbuffer_list, "buffer-list"); |
| 4292 | staticpro (&Qmac); | 4273 | DEFSYM (Qburied_buffer_list, "buried-buffer-list"); |
| 4293 | Qns = intern_c_string ("ns"); | 4274 | DEFSYM (Qdisplay_type, "display-type"); |
| 4294 | staticpro (&Qns); | 4275 | DEFSYM (Qbackground_mode, "background-mode"); |
| 4295 | Qvisible = intern_c_string ("visible"); | 4276 | DEFSYM (Qnoelisp, "noelisp"); |
| 4296 | staticpro (&Qvisible); | 4277 | DEFSYM (Qtty_color_mode, "tty-color-mode"); |
| 4297 | Qbuffer_predicate = intern_c_string ("buffer-predicate"); | 4278 | DEFSYM (Qtty, "tty"); |
| 4298 | staticpro (&Qbuffer_predicate); | 4279 | DEFSYM (Qtty_type, "tty-type"); |
| 4299 | Qbuffer_list = intern_c_string ("buffer-list"); | 4280 | |
| 4300 | staticpro (&Qbuffer_list); | 4281 | DEFSYM (Qface_set_after_frame_default, "face-set-after-frame-default"); |
| 4301 | Qburied_buffer_list = intern_c_string ("buried-buffer-list"); | 4282 | |
| 4302 | staticpro (&Qburied_buffer_list); | 4283 | DEFSYM (Qfullwidth, "fullwidth"); |
| 4303 | Qdisplay_type = intern_c_string ("display-type"); | 4284 | DEFSYM (Qfullheight, "fullheight"); |
| 4304 | staticpro (&Qdisplay_type); | 4285 | DEFSYM (Qfullboth, "fullboth"); |
| 4305 | Qbackground_mode = intern_c_string ("background-mode"); | 4286 | DEFSYM (Qmaximized, "maximized"); |
| 4306 | staticpro (&Qbackground_mode); | 4287 | DEFSYM (Qx_resource_name, "x-resource-name"); |
| 4307 | Qnoelisp = intern_c_string ("noelisp"); | 4288 | DEFSYM (Qx_frame_parameter, "x-frame-parameter"); |
| 4308 | staticpro (&Qnoelisp); | 4289 | |
| 4309 | Qtty_color_mode = intern_c_string ("tty-color-mode"); | 4290 | DEFSYM (Qterminal, "terminal"); |
| 4310 | staticpro (&Qtty_color_mode); | 4291 | DEFSYM (Qterminal_live_p, "terminal-live-p"); |
| 4311 | Qtty = intern_c_string ("tty"); | ||
| 4312 | staticpro (&Qtty); | ||
| 4313 | Qtty_type = intern_c_string ("tty-type"); | ||
| 4314 | staticpro (&Qtty_type); | ||
| 4315 | |||
| 4316 | Qface_set_after_frame_default = intern_c_string ("face-set-after-frame-default"); | ||
| 4317 | staticpro (&Qface_set_after_frame_default); | ||
| 4318 | |||
| 4319 | Qfullwidth = intern_c_string ("fullwidth"); | ||
| 4320 | staticpro (&Qfullwidth); | ||
| 4321 | Qfullheight = intern_c_string ("fullheight"); | ||
| 4322 | staticpro (&Qfullheight); | ||
| 4323 | Qfullboth = intern_c_string ("fullboth"); | ||
| 4324 | staticpro (&Qfullboth); | ||
| 4325 | Qmaximized = intern_c_string ("maximized"); | ||
| 4326 | staticpro (&Qmaximized); | ||
| 4327 | Qx_resource_name = intern_c_string ("x-resource-name"); | ||
| 4328 | staticpro (&Qx_resource_name); | ||
| 4329 | |||
| 4330 | Qx_frame_parameter = intern_c_string ("x-frame-parameter"); | ||
| 4331 | staticpro (&Qx_frame_parameter); | ||
| 4332 | |||
| 4333 | Qterminal = intern_c_string ("terminal"); | ||
| 4334 | staticpro (&Qterminal); | ||
| 4335 | Qterminal_live_p = intern_c_string ("terminal-live-p"); | ||
| 4336 | staticpro (&Qterminal_live_p); | ||
| 4337 | 4292 | ||
| 4338 | #ifdef HAVE_NS | 4293 | #ifdef HAVE_NS |
| 4339 | Qns_parse_geometry = intern_c_string ("ns-parse-geometry"); | 4294 | DEFSYM (Qns_parse_geometry, "ns-parse-geometry"); |
| 4340 | staticpro (&Qns_parse_geometry); | ||
| 4341 | #endif | 4295 | #endif |
| 4342 | 4296 | ||
| 4343 | { | 4297 | { |
| @@ -4451,8 +4405,7 @@ actually deleted, or some time later (or even both when an earlier function | |||
| 4451 | in `delete-frame-functions' (indirectly) calls `delete-frame' | 4405 | in `delete-frame-functions' (indirectly) calls `delete-frame' |
| 4452 | recursively). */); | 4406 | recursively). */); |
| 4453 | Vdelete_frame_functions = Qnil; | 4407 | Vdelete_frame_functions = Qnil; |
| 4454 | Qdelete_frame_functions = intern_c_string ("delete-frame-functions"); | 4408 | DEFSYM (Qdelete_frame_functions, "delete-frame-functions"); |
| 4455 | staticpro (&Qdelete_frame_functions); | ||
| 4456 | 4409 | ||
| 4457 | DEFVAR_LISP ("menu-bar-mode", Vmenu_bar_mode, | 4410 | DEFVAR_LISP ("menu-bar-mode", Vmenu_bar_mode, |
| 4458 | doc: /* Non-nil if Menu-Bar mode is enabled. | 4411 | doc: /* Non-nil if Menu-Bar mode is enabled. |
diff --git a/src/fringe.c b/src/fringe.c index d886ac48852..a4dc9433aff 100644 --- a/src/fringe.c +++ b/src/fringe.c | |||
| @@ -1738,18 +1738,12 @@ Return nil if POS is not visible in WINDOW. */) | |||
| 1738 | void | 1738 | void |
| 1739 | syms_of_fringe (void) | 1739 | syms_of_fringe (void) |
| 1740 | { | 1740 | { |
| 1741 | Qtruncation = intern_c_string ("truncation"); | 1741 | DEFSYM (Qtruncation, "truncation"); |
| 1742 | staticpro (&Qtruncation); | 1742 | DEFSYM (Qcontinuation, "continuation"); |
| 1743 | Qcontinuation = intern_c_string ("continuation"); | 1743 | DEFSYM (Qoverlay_arrow, "overlay-arrow"); |
| 1744 | staticpro (&Qcontinuation); | 1744 | DEFSYM (Qempty_line, "empty-line"); |
| 1745 | Qoverlay_arrow = intern_c_string ("overlay-arrow"); | 1745 | DEFSYM (Qtop_bottom, "top-bottom"); |
| 1746 | staticpro (&Qoverlay_arrow); | 1746 | DEFSYM (Qhollow_small, "hollow-small"); |
| 1747 | Qempty_line = intern_c_string ("empty-line"); | ||
| 1748 | staticpro (&Qempty_line); | ||
| 1749 | Qtop_bottom = intern_c_string ("top-bottom"); | ||
| 1750 | staticpro (&Qtop_bottom); | ||
| 1751 | Qhollow_small = intern_c_string ("hollow-small"); | ||
| 1752 | staticpro (&Qhollow_small); | ||
| 1753 | 1747 | ||
| 1754 | defsubr (&Sdestroy_fringe_bitmap); | 1748 | defsubr (&Sdestroy_fringe_bitmap); |
| 1755 | defsubr (&Sdefine_fringe_bitmap); | 1749 | defsubr (&Sdefine_fringe_bitmap); |
diff --git a/src/gnutls.c b/src/gnutls.c index 9342ce7912e..76cfa5dcc98 100644 --- a/src/gnutls.c +++ b/src/gnutls.c | |||
| @@ -51,7 +51,6 @@ static Lisp_Object Qgnutls_bootprop_callbacks; | |||
| 51 | static Lisp_Object Qgnutls_bootprop_loglevel; | 51 | static Lisp_Object Qgnutls_bootprop_loglevel; |
| 52 | static Lisp_Object Qgnutls_bootprop_hostname; | 52 | static Lisp_Object Qgnutls_bootprop_hostname; |
| 53 | static Lisp_Object Qgnutls_bootprop_verify_flags; | 53 | static Lisp_Object Qgnutls_bootprop_verify_flags; |
| 54 | static Lisp_Object Qgnutls_bootprop_verify_error; | ||
| 55 | static Lisp_Object Qgnutls_bootprop_verify_hostname_error; | 54 | static Lisp_Object Qgnutls_bootprop_verify_hostname_error; |
| 56 | 55 | ||
| 57 | /* Callback keys for `gnutls-boot'. Unused currently. */ | 56 | /* Callback keys for `gnutls-boot'. Unused currently. */ |
| @@ -380,7 +379,7 @@ emacs_gnutls_read (struct Lisp_Process *proc, char *buf, EMACS_INT nbyte) | |||
| 380 | /* non-fatal error */ | 379 | /* non-fatal error */ |
| 381 | return -1; | 380 | return -1; |
| 382 | else { | 381 | else { |
| 383 | /* a fatal error occured */ | 382 | /* a fatal error occurred */ |
| 384 | return 0; | 383 | return 0; |
| 385 | } | 384 | } |
| 386 | } | 385 | } |
| @@ -639,9 +638,6 @@ certificates for `gnutls-x509pki'. | |||
| 639 | :verify-flags is a bitset as per GnuTLS' | 638 | :verify-flags is a bitset as per GnuTLS' |
| 640 | gnutls_certificate_set_verify_flags. | 639 | gnutls_certificate_set_verify_flags. |
| 641 | 640 | ||
| 642 | :verify-error, if non-nil, makes failure of the certificate validation | ||
| 643 | an error. Otherwise it will be just a series of warnings. | ||
| 644 | |||
| 645 | :verify-hostname-error, if non-nil, makes a hostname mismatch an | 641 | :verify-hostname-error, if non-nil, makes a hostname mismatch an |
| 646 | error. Otherwise it will be just a warning. | 642 | error. Otherwise it will be just a warning. |
| 647 | 643 | ||
| @@ -1101,72 +1097,35 @@ syms_of_gnutls (void) | |||
| 1101 | { | 1097 | { |
| 1102 | gnutls_global_initialized = 0; | 1098 | gnutls_global_initialized = 0; |
| 1103 | 1099 | ||
| 1104 | Qgnutls_dll = intern_c_string ("gnutls"); | 1100 | DEFSYM (Qgnutls_dll, "gnutls"); |
| 1105 | staticpro (&Qgnutls_dll); | 1101 | DEFSYM (Qgnutls_log_level, "gnutls-log-level"); |
| 1106 | 1102 | DEFSYM (Qgnutls_code, "gnutls-code"); | |
| 1107 | Qgnutls_log_level = intern_c_string ("gnutls-log-level"); | 1103 | DEFSYM (Qgnutls_anon, "gnutls-anon"); |
| 1108 | staticpro (&Qgnutls_log_level); | 1104 | DEFSYM (Qgnutls_x509pki, "gnutls-x509pki"); |
| 1109 | 1105 | DEFSYM (Qgnutls_bootprop_hostname, ":hostname"); | |
| 1110 | Qgnutls_code = intern_c_string ("gnutls-code"); | 1106 | DEFSYM (Qgnutls_bootprop_priority, ":priority"); |
| 1111 | staticpro (&Qgnutls_code); | 1107 | DEFSYM (Qgnutls_bootprop_trustfiles, ":trustfiles"); |
| 1112 | 1108 | DEFSYM (Qgnutls_bootprop_keylist, ":keylist"); | |
| 1113 | Qgnutls_anon = intern_c_string ("gnutls-anon"); | 1109 | DEFSYM (Qgnutls_bootprop_crlfiles, ":crlfiles"); |
| 1114 | staticpro (&Qgnutls_anon); | 1110 | DEFSYM (Qgnutls_bootprop_callbacks, ":callbacks"); |
| 1115 | 1111 | DEFSYM (Qgnutls_bootprop_callbacks_verify, "verify"); | |
| 1116 | Qgnutls_x509pki = intern_c_string ("gnutls-x509pki"); | 1112 | DEFSYM (Qgnutls_bootprop_loglevel, ":loglevel"); |
| 1117 | staticpro (&Qgnutls_x509pki); | 1113 | DEFSYM (Qgnutls_bootprop_verify_flags, ":verify-flags"); |
| 1118 | 1114 | DEFSYM (Qgnutls_bootprop_verify_hostname_error, ":verify-hostname-error"); | |
| 1119 | Qgnutls_bootprop_hostname = intern_c_string (":hostname"); | 1115 | |
| 1120 | staticpro (&Qgnutls_bootprop_hostname); | 1116 | DEFSYM (Qgnutls_e_interrupted, "gnutls-e-interrupted"); |
| 1121 | |||
| 1122 | Qgnutls_bootprop_priority = intern_c_string (":priority"); | ||
| 1123 | staticpro (&Qgnutls_bootprop_priority); | ||
| 1124 | |||
| 1125 | Qgnutls_bootprop_trustfiles = intern_c_string (":trustfiles"); | ||
| 1126 | staticpro (&Qgnutls_bootprop_trustfiles); | ||
| 1127 | |||
| 1128 | Qgnutls_bootprop_keylist = intern_c_string (":keylist"); | ||
| 1129 | staticpro (&Qgnutls_bootprop_keylist); | ||
| 1130 | |||
| 1131 | Qgnutls_bootprop_crlfiles = intern_c_string (":crlfiles"); | ||
| 1132 | staticpro (&Qgnutls_bootprop_crlfiles); | ||
| 1133 | |||
| 1134 | Qgnutls_bootprop_callbacks = intern_c_string (":callbacks"); | ||
| 1135 | staticpro (&Qgnutls_bootprop_callbacks); | ||
| 1136 | |||
| 1137 | Qgnutls_bootprop_callbacks_verify = intern_c_string ("verify"); | ||
| 1138 | staticpro (&Qgnutls_bootprop_callbacks_verify); | ||
| 1139 | |||
| 1140 | Qgnutls_bootprop_loglevel = intern_c_string (":loglevel"); | ||
| 1141 | staticpro (&Qgnutls_bootprop_loglevel); | ||
| 1142 | |||
| 1143 | Qgnutls_bootprop_verify_flags = intern_c_string (":verify-flags"); | ||
| 1144 | staticpro (&Qgnutls_bootprop_verify_flags); | ||
| 1145 | |||
| 1146 | Qgnutls_bootprop_verify_hostname_error = intern_c_string (":verify-error"); | ||
| 1147 | staticpro (&Qgnutls_bootprop_verify_error); | ||
| 1148 | |||
| 1149 | Qgnutls_bootprop_verify_hostname_error = intern_c_string (":verify-hostname-error"); | ||
| 1150 | staticpro (&Qgnutls_bootprop_verify_hostname_error); | ||
| 1151 | |||
| 1152 | Qgnutls_e_interrupted = intern_c_string ("gnutls-e-interrupted"); | ||
| 1153 | staticpro (&Qgnutls_e_interrupted); | ||
| 1154 | Fput (Qgnutls_e_interrupted, Qgnutls_code, | 1117 | Fput (Qgnutls_e_interrupted, Qgnutls_code, |
| 1155 | make_number (GNUTLS_E_INTERRUPTED)); | 1118 | make_number (GNUTLS_E_INTERRUPTED)); |
| 1156 | 1119 | ||
| 1157 | Qgnutls_e_again = intern_c_string ("gnutls-e-again"); | 1120 | DEFSYM (Qgnutls_e_again, "gnutls-e-again"); |
| 1158 | staticpro (&Qgnutls_e_again); | ||
| 1159 | Fput (Qgnutls_e_again, Qgnutls_code, | 1121 | Fput (Qgnutls_e_again, Qgnutls_code, |
| 1160 | make_number (GNUTLS_E_AGAIN)); | 1122 | make_number (GNUTLS_E_AGAIN)); |
| 1161 | 1123 | ||
| 1162 | Qgnutls_e_invalid_session = intern_c_string ("gnutls-e-invalid-session"); | 1124 | DEFSYM (Qgnutls_e_invalid_session, "gnutls-e-invalid-session"); |
| 1163 | staticpro (&Qgnutls_e_invalid_session); | ||
| 1164 | Fput (Qgnutls_e_invalid_session, Qgnutls_code, | 1125 | Fput (Qgnutls_e_invalid_session, Qgnutls_code, |
| 1165 | make_number (GNUTLS_E_INVALID_SESSION)); | 1126 | make_number (GNUTLS_E_INVALID_SESSION)); |
| 1166 | 1127 | ||
| 1167 | Qgnutls_e_not_ready_for_handshake = | 1128 | DEFSYM (Qgnutls_e_not_ready_for_handshake, "gnutls-e-not-ready-for-handshake"); |
| 1168 | intern_c_string ("gnutls-e-not-ready-for-handshake"); | ||
| 1169 | staticpro (&Qgnutls_e_not_ready_for_handshake); | ||
| 1170 | Fput (Qgnutls_e_not_ready_for_handshake, Qgnutls_code, | 1129 | Fput (Qgnutls_e_not_ready_for_handshake, Qgnutls_code, |
| 1171 | make_number (GNUTLS_E_APPLICATION_ERROR_MIN)); | 1130 | make_number (GNUTLS_E_APPLICATION_ERROR_MIN)); |
| 1172 | 1131 | ||
diff --git a/src/gtkutil.c b/src/gtkutil.c index 6c00058e7af..343fcfa083a 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -1086,7 +1086,7 @@ xg_create_frame_widgets (FRAME_PTR f) | |||
| 1086 | whbox = gtk_hbox_new (FALSE, 0); | 1086 | whbox = gtk_hbox_new (FALSE, 0); |
| 1087 | 1087 | ||
| 1088 | #ifdef HAVE_GTK3 | 1088 | #ifdef HAVE_GTK3 |
| 1089 | wfixed = emacs_fixed_new (); | 1089 | wfixed = emacs_fixed_new (f); |
| 1090 | #else | 1090 | #else |
| 1091 | wfixed = gtk_fixed_new (); | 1091 | wfixed = gtk_fixed_new (); |
| 1092 | #endif | 1092 | #endif |
| @@ -1286,18 +1286,6 @@ x_wm_set_size_hint (FRAME_PTR f, long int flags, int user_position) | |||
| 1286 | size_hints.min_width = base_width + min_cols * size_hints.width_inc; | 1286 | size_hints.min_width = base_width + min_cols * size_hints.width_inc; |
| 1287 | size_hints.min_height = base_height + min_rows * size_hints.height_inc; | 1287 | size_hints.min_height = base_height + min_rows * size_hints.height_inc; |
| 1288 | 1288 | ||
| 1289 | #ifdef HAVE_GTK3 | ||
| 1290 | /* Gtk3 ignores min width/height and overwrites them with its own idea | ||
| 1291 | of min width/height. Put out min values to the widget so Gtk | ||
| 1292 | gets the same value we want it to be. Without this, a user can't | ||
| 1293 | shrink an Emacs frame. | ||
| 1294 | */ | ||
| 1295 | if (FRAME_GTK_WIDGET (f)) | ||
| 1296 | emacs_fixed_set_min_size (EMACS_FIXED (FRAME_GTK_WIDGET (f)), | ||
| 1297 | size_hints.min_width, | ||
| 1298 | size_hints.min_height); | ||
| 1299 | #endif | ||
| 1300 | |||
| 1301 | /* These currently have a one to one mapping with the X values, but I | 1289 | /* These currently have a one to one mapping with the X values, but I |
| 1302 | don't think we should rely on that. */ | 1290 | don't think we should rely on that. */ |
| 1303 | hint_flags |= GDK_HINT_WIN_GRAVITY; | 1291 | hint_flags |= GDK_HINT_WIN_GRAVITY; |
| @@ -1336,7 +1324,7 @@ x_wm_set_size_hint (FRAME_PTR f, long int flags, int user_position) | |||
| 1336 | { | 1324 | { |
| 1337 | BLOCK_INPUT; | 1325 | BLOCK_INPUT; |
| 1338 | gtk_window_set_geometry_hints (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), | 1326 | gtk_window_set_geometry_hints (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), |
| 1339 | NULL, &size_hints, hint_flags); | 1327 | NULL, &size_hints, hint_flags); |
| 1340 | f->output_data.x->size_hints = size_hints; | 1328 | f->output_data.x->size_hints = size_hints; |
| 1341 | f->output_data.x->hint_flags = hint_flags; | 1329 | f->output_data.x->hint_flags = hint_flags; |
| 1342 | UNBLOCK_INPUT; | 1330 | UNBLOCK_INPUT; |
diff --git a/src/image.c b/src/image.c index a9785e5d00f..6e8440fb431 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -1836,6 +1836,8 @@ cache_image (struct frame *f, struct image *img) | |||
| 1836 | /* If no free slot found, maybe enlarge c->images. */ | 1836 | /* If no free slot found, maybe enlarge c->images. */ |
| 1837 | if (i == c->used && c->used == c->size) | 1837 | if (i == c->used && c->used == c->size) |
| 1838 | { | 1838 | { |
| 1839 | if (min (PTRDIFF_MAX, SIZE_MAX) / sizeof *c->images / 2 < c->size) | ||
| 1840 | memory_full (SIZE_MAX); | ||
| 1839 | c->size *= 2; | 1841 | c->size *= 2; |
| 1840 | c->images = (struct image **) xrealloc (c->images, | 1842 | c->images = (struct image **) xrealloc (c->images, |
| 1841 | c->size * sizeof *c->images); | 1843 | c->size * sizeof *c->images); |
diff --git a/src/insdel.c b/src/insdel.c index c52785cd33d..0cae578925d 100644 --- a/src/insdel.c +++ b/src/insdel.c | |||
| @@ -2219,8 +2219,7 @@ syms_of_insdel (void) | |||
| 2219 | This affects `before-change-functions' and `after-change-functions', | 2219 | This affects `before-change-functions' and `after-change-functions', |
| 2220 | as well as hooks attached to text properties and overlays. */); | 2220 | as well as hooks attached to text properties and overlays. */); |
| 2221 | inhibit_modification_hooks = 0; | 2221 | inhibit_modification_hooks = 0; |
| 2222 | Qinhibit_modification_hooks = intern_c_string ("inhibit-modification-hooks"); | 2222 | DEFSYM (Qinhibit_modification_hooks, "inhibit-modification-hooks"); |
| 2223 | staticpro (&Qinhibit_modification_hooks); | ||
| 2224 | 2223 | ||
| 2225 | defsubr (&Scombine_after_change_execute); | 2224 | defsubr (&Scombine_after_change_execute); |
| 2226 | } | 2225 | } |
diff --git a/src/keyboard.c b/src/keyboard.c index bffe2b035dc..16300e6154c 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -1539,7 +1539,18 @@ command_loop_1 (void) | |||
| 1539 | message_with_string ("%s is undefined", keys, 0); | 1539 | message_with_string ("%s is undefined", keys, 0); |
| 1540 | KVAR (current_kboard, defining_kbd_macro) = Qnil; | 1540 | KVAR (current_kboard, defining_kbd_macro) = Qnil; |
| 1541 | update_mode_lines = 1; | 1541 | update_mode_lines = 1; |
| 1542 | KVAR (current_kboard, Vprefix_arg) = Qnil; | 1542 | /* If this is a down-mouse event, don't reset prefix-arg; |
| 1543 | pass it to the command run by the up event. */ | ||
| 1544 | if (EVENT_HAS_PARAMETERS (last_command_event)) | ||
| 1545 | { | ||
| 1546 | Lisp_Object breakdown | ||
| 1547 | = parse_modifiers (EVENT_HEAD (last_command_event)); | ||
| 1548 | int modifiers = XINT (XCAR (XCDR (breakdown))); | ||
| 1549 | if (!(modifiers & down_modifier)) | ||
| 1550 | KVAR (current_kboard, Vprefix_arg) = Qnil; | ||
| 1551 | } | ||
| 1552 | else | ||
| 1553 | KVAR (current_kboard, Vprefix_arg) = Qnil; | ||
| 1543 | } | 1554 | } |
| 1544 | else | 1555 | else |
| 1545 | { | 1556 | { |
| @@ -7470,7 +7481,7 @@ menu_bar_items (Lisp_Object old) | |||
| 7470 | if (CONSP (def)) | 7481 | if (CONSP (def)) |
| 7471 | { | 7482 | { |
| 7472 | menu_bar_one_keymap_changed_items = Qnil; | 7483 | menu_bar_one_keymap_changed_items = Qnil; |
| 7473 | map_keymap (def, menu_bar_item, Qnil, NULL, 1); | 7484 | map_keymap_canonical (def, menu_bar_item, Qnil, NULL); |
| 7474 | } | 7485 | } |
| 7475 | } | 7486 | } |
| 7476 | 7487 | ||
| @@ -7811,7 +7822,7 @@ parse_menu_item (Lisp_Object item, int inmenubar) | |||
| 7811 | /* If we got no definition, this item is just unselectable text which | 7822 | /* If we got no definition, this item is just unselectable text which |
| 7812 | is OK in a submenu but not in the menubar. */ | 7823 | is OK in a submenu but not in the menubar. */ |
| 7813 | if (NILP (def)) | 7824 | if (NILP (def)) |
| 7814 | return (inmenubar ? 0 : 1); | 7825 | return (!inmenubar); |
| 7815 | 7826 | ||
| 7816 | /* See if this is a separate pane or a submenu. */ | 7827 | /* See if this is a separate pane or a submenu. */ |
| 7817 | def = AREF (item_properties, ITEM_PROPERTY_DEF); | 7828 | def = AREF (item_properties, ITEM_PROPERTY_DEF); |
diff --git a/src/keyboard.h b/src/keyboard.h index 20763c35f3a..91008a3ea24 100644 --- a/src/keyboard.h +++ b/src/keyboard.h | |||
| @@ -123,7 +123,7 @@ struct kboard | |||
| 123 | Lisp_Object *kbd_macro_end; | 123 | Lisp_Object *kbd_macro_end; |
| 124 | 124 | ||
| 125 | /* Allocated size of kbd_macro_buffer. */ | 125 | /* Allocated size of kbd_macro_buffer. */ |
| 126 | int kbd_macro_bufsize; | 126 | ptrdiff_t kbd_macro_bufsize; |
| 127 | 127 | ||
| 128 | /* Last anonymous kbd macro defined. */ | 128 | /* Last anonymous kbd macro defined. */ |
| 129 | Lisp_Object KBOARD_INTERNAL_FIELD (Vlast_kbd_macro); | 129 | Lisp_Object KBOARD_INTERNAL_FIELD (Vlast_kbd_macro); |
diff --git a/src/keymap.c b/src/keymap.c index 6ef2a716b6d..be31f72eec6 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -16,6 +16,27 @@ GNU General Public License for more details. | |||
| 16 | You should have received a copy of the GNU General Public License | 16 | You should have received a copy of the GNU General Public License |
| 17 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | 17 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 18 | 18 | ||
| 19 | /* Old BUGS: | ||
| 20 | - [M-C-a] != [?\M-\C-a] | ||
| 21 | - [M-f2] != [?\e f2]. | ||
| 22 | - (define-key map [menu-bar foo] <bla>) does not always place <bla> | ||
| 23 | at the head of the menu (if `foo' was already bound earlier and | ||
| 24 | then unbound, for example). | ||
| 25 | TODO: | ||
| 26 | - allow many more Meta -> ESC mappings (like Hyper -> C-e for Emacspeak) | ||
| 27 | - Think about the various defaulting that's currently hard-coded in | ||
| 28 | keyboard.c (uppercase->lowercase, char->charset, button-events, ...) | ||
| 29 | and make it more generic. Maybe we should allow mappings of the | ||
| 30 | form (PREDICATE . BINDING) as generalization of the default binding, | ||
| 31 | tho probably a cleaner way to attack this is to allow functional | ||
| 32 | keymaps (i.e. keymaps that are implemented as functions that implement | ||
| 33 | a few different methods like `lookup', `map', ...). | ||
| 34 | - Make [a] equivalent to [?a]. | ||
| 35 | BEWARE: | ||
| 36 | - map-keymap should work meaningfully even if entries are added/removed | ||
| 37 | to the keymap while iterating through it: | ||
| 38 | start - removed <= visited <= start + added | ||
| 39 | */ | ||
| 19 | 40 | ||
| 20 | #include <config.h> | 41 | #include <config.h> |
| 21 | #include <stdio.h> | 42 | #include <stdio.h> |
| @@ -73,7 +94,6 @@ static Lisp_Object where_is_cache_keymaps; | |||
| 73 | 94 | ||
| 74 | static Lisp_Object Flookup_key (Lisp_Object, Lisp_Object, Lisp_Object); | 95 | static Lisp_Object Flookup_key (Lisp_Object, Lisp_Object, Lisp_Object); |
| 75 | static Lisp_Object store_in_keymap (Lisp_Object, Lisp_Object, Lisp_Object); | 96 | static Lisp_Object store_in_keymap (Lisp_Object, Lisp_Object, Lisp_Object); |
| 76 | static void fix_submap_inheritance (Lisp_Object, Lisp_Object, Lisp_Object); | ||
| 77 | 97 | ||
| 78 | static Lisp_Object define_as_prefix (Lisp_Object, Lisp_Object); | 98 | static Lisp_Object define_as_prefix (Lisp_Object, Lisp_Object); |
| 79 | static void describe_command (Lisp_Object, Lisp_Object); | 99 | static void describe_command (Lisp_Object, Lisp_Object); |
| @@ -130,6 +150,17 @@ in case you use it as a menu with `x-popup-menu'. */) | |||
| 130 | return Fcons (Qkeymap, Qnil); | 150 | return Fcons (Qkeymap, Qnil); |
| 131 | } | 151 | } |
| 132 | 152 | ||
| 153 | DEFUN ("make-composed-keymap", Fmake_composed_keymap, Smake_composed_keymap, | ||
| 154 | 0, MANY, 0, | ||
| 155 | doc: /* Construct and return a new keymap composed of KEYMAPS. | ||
| 156 | When looking up a key in the returned map, the key is looked in each | ||
| 157 | keymap in turn until a binding is found. | ||
| 158 | usage: (make-composed-keymap &rest KEYMAPS) */) | ||
| 159 | (ptrdiff_t nargs, Lisp_Object *args) | ||
| 160 | { | ||
| 161 | return Fcons (Qkeymap, Flist (nargs, args)); | ||
| 162 | } | ||
| 163 | |||
| 133 | /* This function is used for installing the standard key bindings | 164 | /* This function is used for installing the standard key bindings |
| 134 | at initialization time. | 165 | at initialization time. |
| 135 | 166 | ||
| @@ -174,6 +205,12 @@ when reading a key-sequence to be looked-up in this keymap. */) | |||
| 174 | Lisp_Object tem = XCAR (map); | 205 | Lisp_Object tem = XCAR (map); |
| 175 | if (STRINGP (tem)) | 206 | if (STRINGP (tem)) |
| 176 | return tem; | 207 | return tem; |
| 208 | else if (KEYMAPP (tem)) | ||
| 209 | { | ||
| 210 | tem = Fkeymap_prompt (tem); | ||
| 211 | if (!NILP (tem)) | ||
| 212 | return tem; | ||
| 213 | } | ||
| 177 | map = XCDR (map); | 214 | map = XCDR (map); |
| 178 | } | 215 | } |
| 179 | return Qnil; | 216 | return Qnil; |
| @@ -300,23 +337,16 @@ Return PARENT. PARENT should be nil or another keymap. */) | |||
| 300 | { | 337 | { |
| 301 | Lisp_Object list, prev; | 338 | Lisp_Object list, prev; |
| 302 | struct gcpro gcpro1, gcpro2; | 339 | struct gcpro gcpro1, gcpro2; |
| 303 | int i; | ||
| 304 | 340 | ||
| 305 | /* Force a keymap flush for the next call to where-is. | 341 | /* Flush any reverse-map cache. */ |
| 306 | Since this can be called from within where-is, we don't set where_is_cache | 342 | where_is_cache = Qnil; where_is_cache_keymaps = Qt; |
| 307 | directly but only where_is_cache_keymaps, since where_is_cache shouldn't | ||
| 308 | be changed during where-is, while where_is_cache_keymaps is only used at | ||
| 309 | the very beginning of where-is and can thus be changed here without any | ||
| 310 | adverse effect. | ||
| 311 | This is a very minor correctness (rather than safety) issue. */ | ||
| 312 | where_is_cache_keymaps = Qt; | ||
| 313 | 343 | ||
| 314 | GCPRO2 (keymap, parent); | 344 | GCPRO2 (keymap, parent); |
| 315 | keymap = get_keymap (keymap, 1, 1); | 345 | keymap = get_keymap (keymap, 1, 1); |
| 316 | 346 | ||
| 317 | if (!NILP (parent)) | 347 | if (!NILP (parent)) |
| 318 | { | 348 | { |
| 319 | parent = get_keymap (parent, 1, 1); | 349 | parent = get_keymap (parent, 1, 0); |
| 320 | 350 | ||
| 321 | /* Check for cycles. */ | 351 | /* Check for cycles. */ |
| 322 | if (keymap_memberp (keymap, parent)) | 352 | if (keymap_memberp (keymap, parent)) |
| @@ -332,121 +362,35 @@ Return PARENT. PARENT should be nil or another keymap. */) | |||
| 332 | If we came to the end, add the parent in PREV. */ | 362 | If we came to the end, add the parent in PREV. */ |
| 333 | if (!CONSP (list) || KEYMAPP (list)) | 363 | if (!CONSP (list) || KEYMAPP (list)) |
| 334 | { | 364 | { |
| 335 | /* If we already have the right parent, return now | ||
| 336 | so that we avoid the loops below. */ | ||
| 337 | if (EQ (XCDR (prev), parent)) | ||
| 338 | RETURN_UNGCPRO (parent); | ||
| 339 | |||
| 340 | CHECK_IMPURE (prev); | 365 | CHECK_IMPURE (prev); |
| 341 | XSETCDR (prev, parent); | 366 | XSETCDR (prev, parent); |
| 342 | break; | 367 | RETURN_UNGCPRO (parent); |
| 343 | } | 368 | } |
| 344 | prev = list; | 369 | prev = list; |
| 345 | } | 370 | } |
| 346 | |||
| 347 | /* Scan through for submaps, and set their parents too. */ | ||
| 348 | |||
| 349 | for (list = XCDR (keymap); CONSP (list); list = XCDR (list)) | ||
| 350 | { | ||
| 351 | /* Stop the scan when we come to the parent. */ | ||
| 352 | if (EQ (XCAR (list), Qkeymap)) | ||
| 353 | break; | ||
| 354 | |||
| 355 | /* If this element holds a prefix map, deal with it. */ | ||
| 356 | if (CONSP (XCAR (list)) | ||
| 357 | && CONSP (XCDR (XCAR (list)))) | ||
| 358 | fix_submap_inheritance (keymap, XCAR (XCAR (list)), | ||
| 359 | XCDR (XCAR (list))); | ||
| 360 | |||
| 361 | if (VECTORP (XCAR (list))) | ||
| 362 | for (i = 0; i < ASIZE (XCAR (list)); i++) | ||
| 363 | if (CONSP (XVECTOR (XCAR (list))->contents[i])) | ||
| 364 | fix_submap_inheritance (keymap, make_number (i), | ||
| 365 | XVECTOR (XCAR (list))->contents[i]); | ||
| 366 | |||
| 367 | if (CHAR_TABLE_P (XCAR (list))) | ||
| 368 | { | ||
| 369 | map_char_table (fix_submap_inheritance, Qnil, XCAR (list), keymap); | ||
| 370 | } | ||
| 371 | } | ||
| 372 | |||
| 373 | RETURN_UNGCPRO (parent); | ||
| 374 | } | ||
| 375 | |||
| 376 | /* EVENT is defined in MAP as a prefix, and SUBMAP is its definition. | ||
| 377 | if EVENT is also a prefix in MAP's parent, | ||
| 378 | make sure that SUBMAP inherits that definition as its own parent. */ | ||
| 379 | |||
| 380 | static void | ||
| 381 | fix_submap_inheritance (Lisp_Object map, Lisp_Object event, Lisp_Object submap) | ||
| 382 | { | ||
| 383 | Lisp_Object map_parent, parent_entry; | ||
| 384 | |||
| 385 | /* SUBMAP is a cons that we found as a key binding. | ||
| 386 | Discard the other things found in a menu key binding. */ | ||
| 387 | |||
| 388 | submap = get_keymap (get_keyelt (submap, 0), 0, 0); | ||
| 389 | |||
| 390 | /* If it isn't a keymap now, there's no work to do. */ | ||
| 391 | if (!CONSP (submap)) | ||
| 392 | return; | ||
| 393 | |||
| 394 | map_parent = keymap_parent (map, 0); | ||
| 395 | if (!NILP (map_parent)) | ||
| 396 | parent_entry = | ||
| 397 | get_keymap (access_keymap (map_parent, event, 0, 0, 0), 0, 0); | ||
| 398 | else | ||
| 399 | parent_entry = Qnil; | ||
| 400 | |||
| 401 | /* If MAP's parent has something other than a keymap, | ||
| 402 | our own submap shadows it completely. */ | ||
| 403 | if (!CONSP (parent_entry)) | ||
| 404 | return; | ||
| 405 | |||
| 406 | if (! EQ (parent_entry, submap)) | ||
| 407 | { | ||
| 408 | Lisp_Object submap_parent; | ||
| 409 | submap_parent = submap; | ||
| 410 | while (1) | ||
| 411 | { | ||
| 412 | Lisp_Object tem; | ||
| 413 | |||
| 414 | tem = keymap_parent (submap_parent, 0); | ||
| 415 | |||
| 416 | if (KEYMAPP (tem)) | ||
| 417 | { | ||
| 418 | if (keymap_memberp (tem, parent_entry)) | ||
| 419 | /* Fset_keymap_parent could create a cycle. */ | ||
| 420 | return; | ||
| 421 | submap_parent = tem; | ||
| 422 | } | ||
| 423 | else | ||
| 424 | break; | ||
| 425 | } | ||
| 426 | Fset_keymap_parent (submap_parent, parent_entry); | ||
| 427 | } | ||
| 428 | } | 371 | } |
| 429 | 372 | ||
| 373 | |||
| 430 | /* Look up IDX in MAP. IDX may be any sort of event. | 374 | /* Look up IDX in MAP. IDX may be any sort of event. |
| 431 | Note that this does only one level of lookup; IDX must be a single | 375 | Note that this does only one level of lookup; IDX must be a single |
| 432 | event, not a sequence. | 376 | event, not a sequence. |
| 433 | 377 | ||
| 378 | MAP must be a keymap or a list of keymaps. | ||
| 379 | |||
| 434 | If T_OK is non-zero, bindings for Qt are treated as default | 380 | If T_OK is non-zero, bindings for Qt are treated as default |
| 435 | bindings; any key left unmentioned by other tables and bindings is | 381 | bindings; any key left unmentioned by other tables and bindings is |
| 436 | given the binding of Qt. | 382 | given the binding of Qt. |
| 437 | 383 | ||
| 438 | If T_OK is zero, bindings for Qt are not treated specially. | 384 | If T_OK is zero, bindings for Qt are not treated specially. |
| 439 | 385 | ||
| 440 | If NOINHERIT, don't accept a subkeymap found in an inherited keymap. */ | 386 | If NOINHERIT, don't accept a subkeymap found in an inherited keymap. |
| 441 | 387 | ||
| 442 | Lisp_Object | 388 | Returns Qunbound if no binding was found (and returns Qnil if a nil |
| 443 | access_keymap (Lisp_Object map, Lisp_Object idx, int t_ok, int noinherit, int autoload) | 389 | binding was found). */ |
| 444 | { | ||
| 445 | Lisp_Object val; | ||
| 446 | |||
| 447 | /* Qunbound in VAL means we have found no binding yet. */ | ||
| 448 | val = Qunbound; | ||
| 449 | 390 | ||
| 391 | static Lisp_Object | ||
| 392 | access_keymap_1 (Lisp_Object map, Lisp_Object idx, int t_ok, int noinherit, int autoload) | ||
| 393 | { | ||
| 450 | /* If idx is a list (some sort of mouse click, perhaps?), | 394 | /* If idx is a list (some sort of mouse click, perhaps?), |
| 451 | the index we want to use is the car of the list, which | 395 | the index we want to use is the car of the list, which |
| 452 | ought to be a symbol. */ | 396 | ought to be a symbol. */ |
| @@ -461,21 +405,21 @@ access_keymap (Lisp_Object map, Lisp_Object idx, int t_ok, int noinherit, int au | |||
| 461 | with more than 24 bits of integer. */ | 405 | with more than 24 bits of integer. */ |
| 462 | XSETFASTINT (idx, XINT (idx) & (CHAR_META | (CHAR_META - 1))); | 406 | XSETFASTINT (idx, XINT (idx) & (CHAR_META | (CHAR_META - 1))); |
| 463 | 407 | ||
| 464 | /* Handle the special meta -> esc mapping. */ | 408 | /* Handle the special meta -> esc mapping. */ |
| 465 | if (INTEGERP (idx) && XFASTINT (idx) & meta_modifier) | 409 | if (INTEGERP (idx) && XFASTINT (idx) & meta_modifier) |
| 466 | { | 410 | { |
| 467 | /* See if there is a meta-map. If there's none, there is | 411 | /* See if there is a meta-map. If there's none, there is |
| 468 | no binding for IDX, unless a default binding exists in MAP. */ | 412 | no binding for IDX, unless a default binding exists in MAP. */ |
| 469 | struct gcpro gcpro1; | 413 | struct gcpro gcpro1; |
| 470 | Lisp_Object event_meta_map; | 414 | Lisp_Object event_meta_binding, event_meta_map; |
| 471 | GCPRO1 (map); | 415 | GCPRO1 (map); |
| 472 | /* A strange value in which Meta is set would cause | 416 | /* A strange value in which Meta is set would cause |
| 473 | infinite recursion. Protect against that. */ | 417 | infinite recursion. Protect against that. */ |
| 474 | if (XINT (meta_prefix_char) & CHAR_META) | 418 | if (XINT (meta_prefix_char) & CHAR_META) |
| 475 | meta_prefix_char = make_number (27); | 419 | meta_prefix_char = make_number (27); |
| 476 | event_meta_map = get_keymap (access_keymap (map, meta_prefix_char, | 420 | event_meta_binding = access_keymap_1 (map, meta_prefix_char, t_ok, |
| 477 | t_ok, noinherit, autoload), | 421 | noinherit, autoload); |
| 478 | 0, autoload); | 422 | event_meta_map = get_keymap (event_meta_binding, 0, autoload); |
| 479 | UNGCPRO; | 423 | UNGCPRO; |
| 480 | if (CONSP (event_meta_map)) | 424 | if (CONSP (event_meta_map)) |
| 481 | { | 425 | { |
| @@ -486,8 +430,8 @@ access_keymap (Lisp_Object map, Lisp_Object idx, int t_ok, int noinherit, int au | |||
| 486 | /* Set IDX to t, so that we only find a default binding. */ | 430 | /* Set IDX to t, so that we only find a default binding. */ |
| 487 | idx = Qt; | 431 | idx = Qt; |
| 488 | else | 432 | else |
| 489 | /* We know there is no binding. */ | 433 | /* An explicit nil binding, or no binding at all. */ |
| 490 | return Qnil; | 434 | return NILP (event_meta_binding) ? Qnil : Qunbound; |
| 491 | } | 435 | } |
| 492 | 436 | ||
| 493 | /* t_binding is where we put a default binding that applies, | 437 | /* t_binding is where we put a default binding that applies, |
| @@ -495,25 +439,52 @@ access_keymap (Lisp_Object map, Lisp_Object idx, int t_ok, int noinherit, int au | |||
| 495 | for this key sequence. */ | 439 | for this key sequence. */ |
| 496 | { | 440 | { |
| 497 | Lisp_Object tail; | 441 | Lisp_Object tail; |
| 498 | Lisp_Object t_binding = Qnil; | 442 | Lisp_Object t_binding = Qunbound; |
| 443 | Lisp_Object retval = Qunbound; | ||
| 444 | Lisp_Object retval_tail = Qnil; | ||
| 499 | struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; | 445 | struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; |
| 500 | 446 | ||
| 501 | GCPRO4 (map, tail, idx, t_binding); | 447 | GCPRO4 (tail, idx, t_binding, retval); |
| 502 | 448 | ||
| 503 | for (tail = XCDR (map); | 449 | for (tail = (CONSP (map) && EQ (Qkeymap, XCAR (map))) ? XCDR (map) : map; |
| 504 | (CONSP (tail) | 450 | (CONSP (tail) |
| 505 | || (tail = get_keymap (tail, 0, autoload), CONSP (tail))); | 451 | || (tail = get_keymap (tail, 0, autoload), CONSP (tail))); |
| 506 | tail = XCDR (tail)) | 452 | tail = XCDR (tail)) |
| 507 | { | 453 | { |
| 508 | Lisp_Object binding; | 454 | /* Qunbound in VAL means we have found no binding. */ |
| 455 | Lisp_Object val = Qunbound; | ||
| 456 | Lisp_Object binding = XCAR (tail); | ||
| 457 | Lisp_Object submap = get_keymap (binding, 0, autoload); | ||
| 509 | 458 | ||
| 510 | binding = XCAR (tail); | 459 | if (EQ (binding, Qkeymap)) |
| 511 | if (SYMBOLP (binding)) | ||
| 512 | { | 460 | { |
| 513 | /* If NOINHERIT, stop finding prefix definitions | 461 | if (noinherit || NILP (retval)) |
| 514 | after we pass a second occurrence of the `keymap' symbol. */ | 462 | /* If NOINHERIT, stop here, the rest is inherited. */ |
| 515 | if (noinherit && EQ (binding, Qkeymap)) | 463 | break; |
| 516 | RETURN_UNGCPRO (Qnil); | 464 | else if (!EQ (retval, Qunbound)) |
| 465 | { | ||
| 466 | Lisp_Object parent_entry; | ||
| 467 | eassert (KEYMAPP (retval)); | ||
| 468 | parent_entry | ||
| 469 | = get_keymap (access_keymap_1 (tail, idx, | ||
| 470 | t_ok, 0, autoload), | ||
| 471 | 0, autoload); | ||
| 472 | if (KEYMAPP (parent_entry)) | ||
| 473 | { | ||
| 474 | if (CONSP (retval_tail)) | ||
| 475 | XSETCDR (retval_tail, parent_entry); | ||
| 476 | else | ||
| 477 | { | ||
| 478 | retval_tail = Fcons (retval, parent_entry); | ||
| 479 | retval = Fcons (Qkeymap, retval_tail); | ||
| 480 | } | ||
| 481 | } | ||
| 482 | break; | ||
| 483 | } | ||
| 484 | } | ||
| 485 | else if (CONSP (submap)) | ||
| 486 | { | ||
| 487 | val = access_keymap_1 (submap, idx, t_ok, noinherit, autoload); | ||
| 517 | } | 488 | } |
| 518 | else if (CONSP (binding)) | 489 | else if (CONSP (binding)) |
| 519 | { | 490 | { |
| @@ -556,23 +527,47 @@ access_keymap (Lisp_Object map, Lisp_Object idx, int t_ok, int noinherit, int au | |||
| 556 | (i.e. it shadows any parent binding but not bindings in | 527 | (i.e. it shadows any parent binding but not bindings in |
| 557 | keymaps of lower precedence). */ | 528 | keymaps of lower precedence). */ |
| 558 | val = Qnil; | 529 | val = Qnil; |
| 530 | |||
| 559 | val = get_keyelt (val, autoload); | 531 | val = get_keyelt (val, autoload); |
| 560 | if (KEYMAPP (val)) | 532 | |
| 561 | fix_submap_inheritance (map, idx, val); | 533 | if (!KEYMAPP (val)) |
| 562 | RETURN_UNGCPRO (val); | 534 | { |
| 535 | if (NILP (retval) || EQ (retval, Qunbound)) | ||
| 536 | retval = val; | ||
| 537 | if (!NILP (val)) | ||
| 538 | break; /* Shadows everything that follows. */ | ||
| 539 | } | ||
| 540 | else if (NILP (retval) || EQ (retval, Qunbound)) | ||
| 541 | retval = val; | ||
| 542 | else if (CONSP (retval_tail)) | ||
| 543 | { | ||
| 544 | XSETCDR (retval_tail, Fcons (val, Qnil)); | ||
| 545 | retval_tail = XCDR (retval_tail); | ||
| 546 | } | ||
| 547 | else | ||
| 548 | { | ||
| 549 | retval_tail = Fcons (val, Qnil); | ||
| 550 | retval = Fcons (Qkeymap, Fcons (retval, retval_tail)); | ||
| 551 | } | ||
| 563 | } | 552 | } |
| 564 | QUIT; | 553 | QUIT; |
| 565 | } | 554 | } |
| 566 | UNGCPRO; | 555 | UNGCPRO; |
| 567 | return get_keyelt (t_binding, autoload); | 556 | return EQ (Qunbound, retval) ? get_keyelt (t_binding, autoload) : retval; |
| 568 | } | 557 | } |
| 569 | } | 558 | } |
| 570 | 559 | ||
| 560 | Lisp_Object | ||
| 561 | access_keymap (Lisp_Object map, Lisp_Object idx, | ||
| 562 | int t_ok, int noinherit, int autoload) | ||
| 563 | { | ||
| 564 | Lisp_Object val = access_keymap_1 (map, idx, t_ok, noinherit, autoload); | ||
| 565 | return EQ (val, Qunbound) ? Qnil : val; | ||
| 566 | } | ||
| 567 | |||
| 571 | static void | 568 | static void |
| 572 | map_keymap_item (map_keymap_function_t fun, Lisp_Object args, Lisp_Object key, Lisp_Object val, void *data) | 569 | map_keymap_item (map_keymap_function_t fun, Lisp_Object args, Lisp_Object key, Lisp_Object val, void *data) |
| 573 | { | 570 | { |
| 574 | /* We should maybe try to detect bindings shadowed by previous | ||
| 575 | ones and things like that. */ | ||
| 576 | if (EQ (val, Qt)) | 571 | if (EQ (val, Qt)) |
| 577 | val = Qnil; | 572 | val = Qnil; |
| 578 | (*fun) (key, val, args, data); | 573 | (*fun) (key, val, args, data); |
| @@ -583,8 +578,8 @@ map_keymap_char_table_item (Lisp_Object args, Lisp_Object key, Lisp_Object val) | |||
| 583 | { | 578 | { |
| 584 | if (!NILP (val)) | 579 | if (!NILP (val)) |
| 585 | { | 580 | { |
| 586 | map_keymap_function_t fun = | 581 | map_keymap_function_t fun |
| 587 | (map_keymap_function_t) XSAVE_VALUE (XCAR (args))->pointer; | 582 | = (map_keymap_function_t) XSAVE_VALUE (XCAR (args))->pointer; |
| 588 | args = XCDR (args); | 583 | args = XCDR (args); |
| 589 | /* If the key is a range, make a copy since map_char_table modifies | 584 | /* If the key is a range, make a copy since map_char_table modifies |
| 590 | it in place. */ | 585 | it in place. */ |
| @@ -612,7 +607,9 @@ map_keymap_internal (Lisp_Object map, | |||
| 612 | { | 607 | { |
| 613 | Lisp_Object binding = XCAR (tail); | 608 | Lisp_Object binding = XCAR (tail); |
| 614 | 609 | ||
| 615 | if (CONSP (binding)) | 610 | if (KEYMAPP (binding)) /* An embedded parent. */ |
| 611 | break; | ||
| 612 | else if (CONSP (binding)) | ||
| 616 | map_keymap_item (fun, args, XCAR (binding), XCDR (binding), data); | 613 | map_keymap_item (fun, args, XCAR (binding), XCDR (binding), data); |
| 617 | else if (VECTORP (binding)) | 614 | else if (VECTORP (binding)) |
| 618 | { | 615 | { |
| @@ -644,7 +641,7 @@ map_keymap_call (Lisp_Object key, Lisp_Object val, Lisp_Object fun, void *dummy) | |||
| 644 | call2 (fun, key, val); | 641 | call2 (fun, key, val); |
| 645 | } | 642 | } |
| 646 | 643 | ||
| 647 | /* Same as map_keymap_internal, but doesn't traverses parent keymaps as well. | 644 | /* Same as map_keymap_internal, but traverses parent keymaps as well. |
| 648 | A non-zero AUTOLOAD indicates that autoloaded keymaps should be loaded. */ | 645 | A non-zero AUTOLOAD indicates that autoloaded keymaps should be loaded. */ |
| 649 | void | 646 | void |
| 650 | map_keymap (Lisp_Object map, map_keymap_function_t fun, Lisp_Object args, void *data, int autoload) | 647 | map_keymap (Lisp_Object map, map_keymap_function_t fun, Lisp_Object args, void *data, int autoload) |
| @@ -654,8 +651,15 @@ map_keymap (Lisp_Object map, map_keymap_function_t fun, Lisp_Object args, void * | |||
| 654 | map = get_keymap (map, 1, autoload); | 651 | map = get_keymap (map, 1, autoload); |
| 655 | while (CONSP (map)) | 652 | while (CONSP (map)) |
| 656 | { | 653 | { |
| 657 | map = map_keymap_internal (map, fun, args, data); | 654 | if (KEYMAPP (XCAR (map))) |
| 658 | map = get_keymap (map, 0, autoload); | 655 | { |
| 656 | map_keymap (XCAR (map), fun, args, data, autoload); | ||
| 657 | map = XCDR (map); | ||
| 658 | } | ||
| 659 | else | ||
| 660 | map = map_keymap_internal (map, fun, args, data); | ||
| 661 | if (!CONSP (map)) | ||
| 662 | map = get_keymap (map, 0, autoload); | ||
| 659 | } | 663 | } |
| 660 | UNGCPRO; | 664 | UNGCPRO; |
| 661 | } | 665 | } |
| @@ -791,16 +795,10 @@ get_keyelt (Lisp_Object object, int autoload) | |||
| 791 | } | 795 | } |
| 792 | 796 | ||
| 793 | /* If the contents are (KEYMAP . ELEMENT), go indirect. */ | 797 | /* If the contents are (KEYMAP . ELEMENT), go indirect. */ |
| 798 | else if (KEYMAPP (XCAR (object))) | ||
| 799 | error ("Wow, indirect keymap entry!!"); | ||
| 794 | else | 800 | else |
| 795 | { | 801 | return object; |
| 796 | struct gcpro gcpro1; | ||
| 797 | Lisp_Object map; | ||
| 798 | GCPRO1 (object); | ||
| 799 | map = get_keymap (Fcar_safe (object), 0, autoload); | ||
| 800 | UNGCPRO; | ||
| 801 | return (!CONSP (map) ? object /* Invalid keymap */ | ||
| 802 | : access_keymap (map, Fcdr (object), 0, 0, autoload)); | ||
| 803 | } | ||
| 804 | } | 802 | } |
| 805 | } | 803 | } |
| 806 | 804 | ||
| @@ -811,6 +809,9 @@ store_in_keymap (Lisp_Object keymap, register Lisp_Object idx, Lisp_Object def) | |||
| 811 | where_is_cache = Qnil; | 809 | where_is_cache = Qnil; |
| 812 | where_is_cache_keymaps = Qt; | 810 | where_is_cache_keymaps = Qt; |
| 813 | 811 | ||
| 812 | if (EQ (idx, Qkeymap)) | ||
| 813 | error ("`keymap' is reserved for embedded parent maps"); | ||
| 814 | |||
| 814 | /* If we are preparing to dump, and DEF is a menu element | 815 | /* If we are preparing to dump, and DEF is a menu element |
| 815 | with a menu item indicator, copy it to ensure it is not pure. */ | 816 | with a menu item indicator, copy it to ensure it is not pure. */ |
| 816 | if (CONSP (def) && PURE_P (def) | 817 | if (CONSP (def) && PURE_P (def) |
| @@ -903,7 +904,16 @@ store_in_keymap (Lisp_Object keymap, register Lisp_Object idx, Lisp_Object def) | |||
| 903 | } | 904 | } |
| 904 | else if (CONSP (elt)) | 905 | else if (CONSP (elt)) |
| 905 | { | 906 | { |
| 906 | if (EQ (idx, XCAR (elt))) | 907 | if (EQ (Qkeymap, XCAR (elt))) |
| 908 | { /* A sub keymap. This might be due to a lookup that found | ||
| 909 | two matching bindings (maybe because of a sub keymap). | ||
| 910 | It almost never happens (since the second binding normally | ||
| 911 | only happens in the inherited part of the keymap), but | ||
| 912 | if it does, we want to update the sub-keymap since the | ||
| 913 | main one might be temporary (built by access_keymap). */ | ||
| 914 | tail = insertion_point = elt; | ||
| 915 | } | ||
| 916 | else if (EQ (idx, XCAR (elt))) | ||
| 907 | { | 917 | { |
| 908 | CHECK_IMPURE (elt); | 918 | CHECK_IMPURE (elt); |
| 909 | XSETCDR (elt, def); | 919 | XSETCDR (elt, def); |
| @@ -1068,7 +1078,13 @@ is not copied. */) | |||
| 1068 | ASET (elt, i, copy_keymap_item (AREF (elt, i))); | 1078 | ASET (elt, i, copy_keymap_item (AREF (elt, i))); |
| 1069 | } | 1079 | } |
| 1070 | else if (CONSP (elt)) | 1080 | else if (CONSP (elt)) |
| 1071 | elt = Fcons (XCAR (elt), copy_keymap_item (XCDR (elt))); | 1081 | { |
| 1082 | if (EQ (XCAR (elt), Qkeymap)) | ||
| 1083 | /* This is a sub keymap. */ | ||
| 1084 | elt = Fcopy_keymap (elt); | ||
| 1085 | else | ||
| 1086 | elt = Fcons (XCAR (elt), copy_keymap_item (XCDR (elt))); | ||
| 1087 | } | ||
| 1072 | XSETCDR (tail, Fcons (elt, Qnil)); | 1088 | XSETCDR (tail, Fcons (elt, Qnil)); |
| 1073 | tail = XCDR (tail); | 1089 | tail = XCDR (tail); |
| 1074 | keymap = XCDR (keymap); | 1090 | keymap = XCDR (keymap); |
| @@ -1234,23 +1250,15 @@ remapping in all currently active keymaps. */) | |||
| 1234 | ASET (command_remapping_vector, 1, command); | 1250 | ASET (command_remapping_vector, 1, command); |
| 1235 | 1251 | ||
| 1236 | if (NILP (keymaps)) | 1252 | if (NILP (keymaps)) |
| 1237 | return Fkey_binding (command_remapping_vector, Qnil, Qt, position); | 1253 | command = Fkey_binding (command_remapping_vector, Qnil, Qt, position); |
| 1238 | else | 1254 | else |
| 1239 | { | 1255 | command = Flookup_key (Fcons (Qkeymap, keymaps), |
| 1240 | Lisp_Object maps, binding; | 1256 | command_remapping_vector, Qnil); |
| 1241 | 1257 | return INTEGERP (command) ? Qnil : command; | |
| 1242 | for (maps = keymaps; CONSP (maps); maps = XCDR (maps)) | ||
| 1243 | { | ||
| 1244 | binding = Flookup_key (XCAR (maps), command_remapping_vector, Qnil); | ||
| 1245 | if (!NILP (binding) && !INTEGERP (binding)) | ||
| 1246 | return binding; | ||
| 1247 | } | ||
| 1248 | return Qnil; | ||
| 1249 | } | ||
| 1250 | } | 1258 | } |
| 1251 | 1259 | ||
| 1252 | /* Value is number if KEY is too long; nil if valid but has no definition. */ | 1260 | /* Value is number if KEY is too long; nil if valid but has no definition. */ |
| 1253 | /* GC is possible in this function if it autoloads a keymap. */ | 1261 | /* GC is possible in this function. */ |
| 1254 | 1262 | ||
| 1255 | DEFUN ("lookup-key", Flookup_key, Slookup_key, 2, 3, 0, | 1263 | DEFUN ("lookup-key", Flookup_key, Slookup_key, 2, 3, 0, |
| 1256 | doc: /* In keymap KEYMAP, look up key sequence KEY. Return the definition. | 1264 | doc: /* In keymap KEYMAP, look up key sequence KEY. Return the definition. |
| @@ -1325,10 +1333,6 @@ define_as_prefix (Lisp_Object keymap, Lisp_Object c) | |||
| 1325 | Lisp_Object cmd; | 1333 | Lisp_Object cmd; |
| 1326 | 1334 | ||
| 1327 | cmd = Fmake_sparse_keymap (Qnil); | 1335 | cmd = Fmake_sparse_keymap (Qnil); |
| 1328 | /* If this key is defined as a prefix in an inherited keymap, | ||
| 1329 | make it a prefix in this map, and make its definition | ||
| 1330 | inherit the other prefix definition. */ | ||
| 1331 | cmd = nconc2 (cmd, access_keymap (keymap, c, 0, 0, 0)); | ||
| 1332 | store_in_keymap (keymap, c, cmd); | 1336 | store_in_keymap (keymap, c, cmd); |
| 1333 | 1337 | ||
| 1334 | return cmd; | 1338 | return cmd; |
| @@ -1530,7 +1534,7 @@ like in the respective argument of `key-binding'. */) | |||
| 1530 | { | 1534 | { |
| 1531 | int count = SPECPDL_INDEX (); | 1535 | int count = SPECPDL_INDEX (); |
| 1532 | 1536 | ||
| 1533 | Lisp_Object keymaps; | 1537 | Lisp_Object keymaps = Fcons (current_global_map, Qnil); |
| 1534 | 1538 | ||
| 1535 | /* If a mouse click position is given, our variables are based on | 1539 | /* If a mouse click position is given, our variables are based on |
| 1536 | the buffer clicked on, not the current buffer. So we may have to | 1540 | the buffer clicked on, not the current buffer. So we may have to |
| @@ -1560,12 +1564,11 @@ like in the respective argument of `key-binding'. */) | |||
| 1560 | } | 1564 | } |
| 1561 | } | 1565 | } |
| 1562 | 1566 | ||
| 1563 | keymaps = Fcons (current_global_map, Qnil); | ||
| 1564 | |||
| 1565 | if (!NILP (olp)) | 1567 | if (!NILP (olp)) |
| 1566 | { | 1568 | { |
| 1567 | if (!NILP (KVAR (current_kboard, Voverriding_terminal_local_map))) | 1569 | if (!NILP (KVAR (current_kboard, Voverriding_terminal_local_map))) |
| 1568 | keymaps = Fcons (KVAR (current_kboard, Voverriding_terminal_local_map), keymaps); | 1570 | keymaps = Fcons (KVAR (current_kboard, Voverriding_terminal_local_map), |
| 1571 | keymaps); | ||
| 1569 | /* The doc said that overriding-terminal-local-map should | 1572 | /* The doc said that overriding-terminal-local-map should |
| 1570 | override overriding-local-map. The code used them both, | 1573 | override overriding-local-map. The code used them both, |
| 1571 | but it seems clearer to use just one. rms, jan 2005. */ | 1574 | but it seems clearer to use just one. rms, jan 2005. */ |
| @@ -1576,23 +1579,19 @@ like in the respective argument of `key-binding'. */) | |||
| 1576 | { | 1579 | { |
| 1577 | Lisp_Object *maps; | 1580 | Lisp_Object *maps; |
| 1578 | int nmaps, i; | 1581 | int nmaps, i; |
| 1579 | 1582 | EMACS_INT pt | |
| 1580 | Lisp_Object keymap, local_map; | 1583 | = INTEGERP (position) ? XINT (position) |
| 1581 | EMACS_INT pt; | ||
| 1582 | |||
| 1583 | pt = INTEGERP (position) ? XINT (position) | ||
| 1584 | : MARKERP (position) ? marker_position (position) | 1584 | : MARKERP (position) ? marker_position (position) |
| 1585 | : PT; | 1585 | : PT; |
| 1586 | 1586 | /* This usually returns the buffer's local map, | |
| 1587 | /* Get the buffer local maps, possibly overriden by text or | 1587 | but that can be overridden by a `local-map' property. */ |
| 1588 | overlay properties */ | 1588 | Lisp_Object local_map = get_local_map (pt, current_buffer, Qlocal_map); |
| 1589 | 1589 | /* This returns nil unless there is a `keymap' property. */ | |
| 1590 | local_map = get_local_map (pt, current_buffer, Qlocal_map); | 1590 | Lisp_Object keymap = get_local_map (pt, current_buffer, Qkeymap); |
| 1591 | keymap = get_local_map (pt, current_buffer, Qkeymap); | ||
| 1592 | 1591 | ||
| 1593 | if (CONSP (position)) | 1592 | if (CONSP (position)) |
| 1594 | { | 1593 | { |
| 1595 | Lisp_Object string; | 1594 | Lisp_Object string = POSN_STRING (position); |
| 1596 | 1595 | ||
| 1597 | /* For a mouse click, get the local text-property keymap | 1596 | /* For a mouse click, get the local text-property keymap |
| 1598 | of the place clicked on, rather than point. */ | 1597 | of the place clicked on, rather than point. */ |
| @@ -1619,8 +1618,7 @@ like in the respective argument of `key-binding'. */) | |||
| 1619 | consider `local-map' and `keymap' properties of | 1618 | consider `local-map' and `keymap' properties of |
| 1620 | that string. */ | 1619 | that string. */ |
| 1621 | 1620 | ||
| 1622 | if (string = POSN_STRING (position), | 1621 | if (CONSP (string) && STRINGP (XCAR (string))) |
| 1623 | (CONSP (string) && STRINGP (XCAR (string)))) | ||
| 1624 | { | 1622 | { |
| 1625 | Lisp_Object pos, map; | 1623 | Lisp_Object pos, map; |
| 1626 | 1624 | ||
| @@ -1691,12 +1689,7 @@ specified buffer position instead of point are used. | |||
| 1691 | */) | 1689 | */) |
| 1692 | (Lisp_Object key, Lisp_Object accept_default, Lisp_Object no_remap, Lisp_Object position) | 1690 | (Lisp_Object key, Lisp_Object accept_default, Lisp_Object no_remap, Lisp_Object position) |
| 1693 | { | 1691 | { |
| 1694 | Lisp_Object *maps, value; | 1692 | Lisp_Object value; |
| 1695 | int nmaps, i; | ||
| 1696 | struct gcpro gcpro1, gcpro2; | ||
| 1697 | int count = SPECPDL_INDEX (); | ||
| 1698 | |||
| 1699 | GCPRO2 (key, position); | ||
| 1700 | 1693 | ||
| 1701 | if (NILP (position) && VECTORP (key)) | 1694 | if (NILP (position) && VECTORP (key)) |
| 1702 | { | 1695 | { |
| @@ -1715,145 +1708,9 @@ specified buffer position instead of point are used. | |||
| 1715 | } | 1708 | } |
| 1716 | } | 1709 | } |
| 1717 | 1710 | ||
| 1718 | /* Key sequences beginning with mouse clicks | 1711 | value = Flookup_key (Fcons (Qkeymap, Fcurrent_active_maps (Qt, position)), |
| 1719 | are read using the keymaps of the buffer clicked on, not | 1712 | key, accept_default); |
| 1720 | the current buffer. So we may have to switch the buffer | ||
| 1721 | here. */ | ||
| 1722 | |||
| 1723 | if (CONSP (position)) | ||
| 1724 | { | ||
| 1725 | Lisp_Object window; | ||
| 1726 | |||
| 1727 | window = POSN_WINDOW (position); | ||
| 1728 | |||
| 1729 | if (WINDOWP (window) | ||
| 1730 | && BUFFERP (XWINDOW (window)->buffer) | ||
| 1731 | && XBUFFER (XWINDOW (window)->buffer) != current_buffer) | ||
| 1732 | { | ||
| 1733 | /* Arrange to go back to the original buffer once we're done | ||
| 1734 | processing the key sequence. We don't use | ||
| 1735 | save_excursion_{save,restore} here, in analogy to | ||
| 1736 | `read-key-sequence' to avoid saving point. Maybe this | ||
| 1737 | would not be a problem here, but it is easier to keep | ||
| 1738 | things the same. | ||
| 1739 | */ | ||
| 1740 | |||
| 1741 | record_unwind_protect (Fset_buffer, Fcurrent_buffer ()); | ||
| 1742 | |||
| 1743 | set_buffer_internal (XBUFFER (XWINDOW (window)->buffer)); | ||
| 1744 | } | ||
| 1745 | } | ||
| 1746 | |||
| 1747 | if (! NILP (KVAR (current_kboard, Voverriding_terminal_local_map))) | ||
| 1748 | { | ||
| 1749 | value = Flookup_key (KVAR (current_kboard, Voverriding_terminal_local_map), | ||
| 1750 | key, accept_default); | ||
| 1751 | if (! NILP (value) && !INTEGERP (value)) | ||
| 1752 | goto done; | ||
| 1753 | } | ||
| 1754 | else if (! NILP (Voverriding_local_map)) | ||
| 1755 | { | ||
| 1756 | value = Flookup_key (Voverriding_local_map, key, accept_default); | ||
| 1757 | if (! NILP (value) && !INTEGERP (value)) | ||
| 1758 | goto done; | ||
| 1759 | } | ||
| 1760 | else | ||
| 1761 | { | ||
| 1762 | Lisp_Object keymap, local_map; | ||
| 1763 | EMACS_INT pt; | ||
| 1764 | |||
| 1765 | pt = INTEGERP (position) ? XINT (position) | ||
| 1766 | : MARKERP (position) ? marker_position (position) | ||
| 1767 | : PT; | ||
| 1768 | |||
| 1769 | local_map = get_local_map (pt, current_buffer, Qlocal_map); | ||
| 1770 | keymap = get_local_map (pt, current_buffer, Qkeymap); | ||
| 1771 | |||
| 1772 | if (CONSP (position)) | ||
| 1773 | { | ||
| 1774 | Lisp_Object string; | ||
| 1775 | |||
| 1776 | /* For a mouse click, get the local text-property keymap | ||
| 1777 | of the place clicked on, rather than point. */ | ||
| 1778 | 1713 | ||
| 1779 | if (POSN_INBUFFER_P (position)) | ||
| 1780 | { | ||
| 1781 | Lisp_Object pos; | ||
| 1782 | |||
| 1783 | pos = POSN_BUFFER_POSN (position); | ||
| 1784 | if (INTEGERP (pos) | ||
| 1785 | && XINT (pos) >= BEG && XINT (pos) <= Z) | ||
| 1786 | { | ||
| 1787 | local_map = get_local_map (XINT (pos), | ||
| 1788 | current_buffer, Qlocal_map); | ||
| 1789 | |||
| 1790 | keymap = get_local_map (XINT (pos), | ||
| 1791 | current_buffer, Qkeymap); | ||
| 1792 | } | ||
| 1793 | } | ||
| 1794 | |||
| 1795 | /* If on a mode line string with a local keymap, | ||
| 1796 | or for a click on a string, i.e. overlay string or a | ||
| 1797 | string displayed via the `display' property, | ||
| 1798 | consider `local-map' and `keymap' properties of | ||
| 1799 | that string. */ | ||
| 1800 | |||
| 1801 | if (string = POSN_STRING (position), | ||
| 1802 | (CONSP (string) && STRINGP (XCAR (string)))) | ||
| 1803 | { | ||
| 1804 | Lisp_Object pos, map; | ||
| 1805 | |||
| 1806 | pos = XCDR (string); | ||
| 1807 | string = XCAR (string); | ||
| 1808 | if (INTEGERP (pos) | ||
| 1809 | && XINT (pos) >= 0 | ||
| 1810 | && XINT (pos) < SCHARS (string)) | ||
| 1811 | { | ||
| 1812 | map = Fget_text_property (pos, Qlocal_map, string); | ||
| 1813 | if (!NILP (map)) | ||
| 1814 | local_map = map; | ||
| 1815 | |||
| 1816 | map = Fget_text_property (pos, Qkeymap, string); | ||
| 1817 | if (!NILP (map)) | ||
| 1818 | keymap = map; | ||
| 1819 | } | ||
| 1820 | } | ||
| 1821 | |||
| 1822 | } | ||
| 1823 | |||
| 1824 | if (! NILP (keymap)) | ||
| 1825 | { | ||
| 1826 | value = Flookup_key (keymap, key, accept_default); | ||
| 1827 | if (! NILP (value) && !INTEGERP (value)) | ||
| 1828 | goto done; | ||
| 1829 | } | ||
| 1830 | |||
| 1831 | nmaps = current_minor_maps (0, &maps); | ||
| 1832 | /* Note that all these maps are GCPRO'd | ||
| 1833 | in the places where we found them. */ | ||
| 1834 | |||
| 1835 | for (i = 0; i < nmaps; i++) | ||
| 1836 | if (! NILP (maps[i])) | ||
| 1837 | { | ||
| 1838 | value = Flookup_key (maps[i], key, accept_default); | ||
| 1839 | if (! NILP (value) && !INTEGERP (value)) | ||
| 1840 | goto done; | ||
| 1841 | } | ||
| 1842 | |||
| 1843 | if (! NILP (local_map)) | ||
| 1844 | { | ||
| 1845 | value = Flookup_key (local_map, key, accept_default); | ||
| 1846 | if (! NILP (value) && !INTEGERP (value)) | ||
| 1847 | goto done; | ||
| 1848 | } | ||
| 1849 | } | ||
| 1850 | |||
| 1851 | value = Flookup_key (current_global_map, key, accept_default); | ||
| 1852 | |||
| 1853 | done: | ||
| 1854 | unbind_to (count, Qnil); | ||
| 1855 | |||
| 1856 | UNGCPRO; | ||
| 1857 | if (NILP (value) || INTEGERP (value)) | 1714 | if (NILP (value) || INTEGERP (value)) |
| 1858 | return Qnil; | 1715 | return Qnil; |
| 1859 | 1716 | ||
| @@ -3774,15 +3631,13 @@ Return list of symbols found. */) | |||
| 3774 | void | 3631 | void |
| 3775 | syms_of_keymap (void) | 3632 | syms_of_keymap (void) |
| 3776 | { | 3633 | { |
| 3777 | Qkeymap = intern_c_string ("keymap"); | 3634 | DEFSYM (Qkeymap, "keymap"); |
| 3778 | staticpro (&Qkeymap); | ||
| 3779 | staticpro (&apropos_predicate); | 3635 | staticpro (&apropos_predicate); |
| 3780 | staticpro (&apropos_accumulate); | 3636 | staticpro (&apropos_accumulate); |
| 3781 | apropos_predicate = Qnil; | 3637 | apropos_predicate = Qnil; |
| 3782 | apropos_accumulate = Qnil; | 3638 | apropos_accumulate = Qnil; |
| 3783 | 3639 | ||
| 3784 | Qkeymap_canonicalize = intern_c_string ("keymap-canonicalize"); | 3640 | DEFSYM (Qkeymap_canonicalize, "keymap-canonicalize"); |
| 3785 | staticpro (&Qkeymap_canonicalize); | ||
| 3786 | 3641 | ||
| 3787 | /* Now we are ready to set up this property, so we can | 3642 | /* Now we are ready to set up this property, so we can |
| 3788 | create char tables. */ | 3643 | create char tables. */ |
| @@ -3831,31 +3686,6 @@ don't alter it yourself. */); | |||
| 3831 | Vminibuffer_local_ns_map = Fmake_sparse_keymap (Qnil); | 3686 | Vminibuffer_local_ns_map = Fmake_sparse_keymap (Qnil); |
| 3832 | Fset_keymap_parent (Vminibuffer_local_ns_map, Vminibuffer_local_map); | 3687 | Fset_keymap_parent (Vminibuffer_local_ns_map, Vminibuffer_local_map); |
| 3833 | 3688 | ||
| 3834 | DEFVAR_LISP ("minibuffer-local-completion-map", Vminibuffer_local_completion_map, | ||
| 3835 | doc: /* Local keymap for minibuffer input with completion. */); | ||
| 3836 | Vminibuffer_local_completion_map = Fmake_sparse_keymap (Qnil); | ||
| 3837 | Fset_keymap_parent (Vminibuffer_local_completion_map, Vminibuffer_local_map); | ||
| 3838 | |||
| 3839 | DEFVAR_LISP ("minibuffer-local-filename-completion-map", | ||
| 3840 | Vminibuffer_local_filename_completion_map, | ||
| 3841 | doc: /* Local keymap for minibuffer input with completion for filenames. */); | ||
| 3842 | Vminibuffer_local_filename_completion_map = Fmake_sparse_keymap (Qnil); | ||
| 3843 | Fset_keymap_parent (Vminibuffer_local_filename_completion_map, | ||
| 3844 | Vminibuffer_local_completion_map); | ||
| 3845 | |||
| 3846 | |||
| 3847 | DEFVAR_LISP ("minibuffer-local-must-match-map", Vminibuffer_local_must_match_map, | ||
| 3848 | doc: /* Local keymap for minibuffer input with completion, for exact match. */); | ||
| 3849 | Vminibuffer_local_must_match_map = Fmake_sparse_keymap (Qnil); | ||
| 3850 | Fset_keymap_parent (Vminibuffer_local_must_match_map, | ||
| 3851 | Vminibuffer_local_completion_map); | ||
| 3852 | |||
| 3853 | DEFVAR_LISP ("minibuffer-local-filename-must-match-map", | ||
| 3854 | Vminibuffer_local_filename_must_match_map, | ||
| 3855 | doc: /* Local keymap for minibuffer input with completion for filenames with exact match. */); | ||
| 3856 | Vminibuffer_local_filename_must_match_map = Fmake_sparse_keymap (Qnil); | ||
| 3857 | Fset_keymap_parent (Vminibuffer_local_filename_must_match_map, | ||
| 3858 | Vminibuffer_local_must_match_map); | ||
| 3859 | 3689 | ||
| 3860 | DEFVAR_LISP ("minor-mode-map-alist", Vminor_mode_map_alist, | 3690 | DEFVAR_LISP ("minor-mode-map-alist", Vminor_mode_map_alist, |
| 3861 | doc: /* Alist of keymaps to use for minor modes. | 3691 | doc: /* Alist of keymaps to use for minor modes. |
| @@ -3902,27 +3732,13 @@ preferred. */); | |||
| 3902 | pure_cons (intern_c_string ("mouse-5"), | 3732 | pure_cons (intern_c_string ("mouse-5"), |
| 3903 | Qnil))))))))); | 3733 | Qnil))))))))); |
| 3904 | 3734 | ||
| 3905 | 3735 | DEFSYM (Qsingle_key_description, "single-key-description"); | |
| 3906 | Qsingle_key_description = intern_c_string ("single-key-description"); | 3736 | DEFSYM (Qkey_description, "key-description"); |
| 3907 | staticpro (&Qsingle_key_description); | 3737 | DEFSYM (Qkeymapp, "keymapp"); |
| 3908 | 3738 | DEFSYM (Qnon_ascii, "non-ascii"); | |
| 3909 | Qkey_description = intern_c_string ("key-description"); | 3739 | DEFSYM (Qmenu_item, "menu-item"); |
| 3910 | staticpro (&Qkey_description); | 3740 | DEFSYM (Qremap, "remap"); |
| 3911 | 3741 | DEFSYM (QCadvertised_binding, ":advertised-binding"); | |
| 3912 | Qkeymapp = intern_c_string ("keymapp"); | ||
| 3913 | staticpro (&Qkeymapp); | ||
| 3914 | |||
| 3915 | Qnon_ascii = intern_c_string ("non-ascii"); | ||
| 3916 | staticpro (&Qnon_ascii); | ||
| 3917 | |||
| 3918 | Qmenu_item = intern_c_string ("menu-item"); | ||
| 3919 | staticpro (&Qmenu_item); | ||
| 3920 | |||
| 3921 | Qremap = intern_c_string ("remap"); | ||
| 3922 | staticpro (&Qremap); | ||
| 3923 | |||
| 3924 | QCadvertised_binding = intern_c_string (":advertised-binding"); | ||
| 3925 | staticpro (&QCadvertised_binding); | ||
| 3926 | 3742 | ||
| 3927 | command_remapping_vector = Fmake_vector (make_number (2), Qremap); | 3743 | command_remapping_vector = Fmake_vector (make_number (2), Qremap); |
| 3928 | staticpro (&command_remapping_vector); | 3744 | staticpro (&command_remapping_vector); |
| @@ -3938,6 +3754,7 @@ preferred. */); | |||
| 3938 | defsubr (&Sset_keymap_parent); | 3754 | defsubr (&Sset_keymap_parent); |
| 3939 | defsubr (&Smake_keymap); | 3755 | defsubr (&Smake_keymap); |
| 3940 | defsubr (&Smake_sparse_keymap); | 3756 | defsubr (&Smake_sparse_keymap); |
| 3757 | defsubr (&Smake_composed_keymap); | ||
| 3941 | defsubr (&Smap_keymap_internal); | 3758 | defsubr (&Smap_keymap_internal); |
| 3942 | defsubr (&Smap_keymap); | 3759 | defsubr (&Smap_keymap); |
| 3943 | defsubr (&Scopy_keymap); | 3760 | defsubr (&Scopy_keymap); |
diff --git a/src/lisp.h b/src/lisp.h index 4c9543bdfe8..762d34abb9c 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -1162,6 +1162,9 @@ struct Lisp_Symbol | |||
| 1162 | 1162 | ||
| 1163 | #define SYMBOL_CONSTANT_P(sym) XSYMBOL (sym)->constant | 1163 | #define SYMBOL_CONSTANT_P(sym) XSYMBOL (sym)->constant |
| 1164 | 1164 | ||
| 1165 | #define DEFSYM(sym, name) \ | ||
| 1166 | do { (sym) = intern_c_string ((name)); staticpro (&(sym)); } while (0) | ||
| 1167 | |||
| 1165 | 1168 | ||
| 1166 | /*********************************************************************** | 1169 | /*********************************************************************** |
| 1167 | Hash Tables | 1170 | Hash Tables |
| @@ -1980,10 +1983,7 @@ extern void defvar_kboard (struct Lisp_Kboard_Objfwd *, const char *, int); | |||
| 1980 | #define DEFVAR_KBOARD(lname, vname, doc) \ | 1983 | #define DEFVAR_KBOARD(lname, vname, doc) \ |
| 1981 | do { \ | 1984 | do { \ |
| 1982 | static struct Lisp_Kboard_Objfwd ko_fwd; \ | 1985 | static struct Lisp_Kboard_Objfwd ko_fwd; \ |
| 1983 | defvar_kboard (&ko_fwd, \ | 1986 | defvar_kboard (&ko_fwd, lname, offsetof (KBOARD, vname ## _)); \ |
| 1984 | lname, \ | ||
| 1985 | (int)((char *)(¤t_kboard->vname ## _) \ | ||
| 1986 | - (char *)current_kboard)); \ | ||
| 1987 | } while (0) | 1987 | } while (0) |
| 1988 | 1988 | ||
| 1989 | 1989 | ||
diff --git a/src/lread.c b/src/lread.c index e75d61ae985..a9b69a1977b 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -120,9 +120,9 @@ static EMACS_INT readchar_count; | |||
| 120 | /* This contains the last string skipped with #@. */ | 120 | /* This contains the last string skipped with #@. */ |
| 121 | static char *saved_doc_string; | 121 | static char *saved_doc_string; |
| 122 | /* Length of buffer allocated in saved_doc_string. */ | 122 | /* Length of buffer allocated in saved_doc_string. */ |
| 123 | static int saved_doc_string_size; | 123 | static ptrdiff_t saved_doc_string_size; |
| 124 | /* Length of actual data in saved_doc_string. */ | 124 | /* Length of actual data in saved_doc_string. */ |
| 125 | static int saved_doc_string_length; | 125 | static ptrdiff_t saved_doc_string_length; |
| 126 | /* This is the file position that string came from. */ | 126 | /* This is the file position that string came from. */ |
| 127 | static file_offset saved_doc_string_position; | 127 | static file_offset saved_doc_string_position; |
| 128 | 128 | ||
| @@ -131,9 +131,9 @@ static file_offset saved_doc_string_position; | |||
| 131 | is put in saved_doc_string. */ | 131 | is put in saved_doc_string. */ |
| 132 | static char *prev_saved_doc_string; | 132 | static char *prev_saved_doc_string; |
| 133 | /* Length of buffer allocated in prev_saved_doc_string. */ | 133 | /* Length of buffer allocated in prev_saved_doc_string. */ |
| 134 | static int prev_saved_doc_string_size; | 134 | static ptrdiff_t prev_saved_doc_string_size; |
| 135 | /* Length of actual data in prev_saved_doc_string. */ | 135 | /* Length of actual data in prev_saved_doc_string. */ |
| 136 | static int prev_saved_doc_string_length; | 136 | static ptrdiff_t prev_saved_doc_string_length; |
| 137 | /* This is the file position that string came from. */ | 137 | /* This is the file position that string came from. */ |
| 138 | static file_offset prev_saved_doc_string_position; | 138 | static file_offset prev_saved_doc_string_position; |
| 139 | 139 | ||
| @@ -1069,9 +1069,9 @@ Return t if the file exists and loads successfully. */) | |||
| 1069 | 1069 | ||
| 1070 | /* Avoid weird lossage with null string as arg, | 1070 | /* Avoid weird lossage with null string as arg, |
| 1071 | since it would try to load a directory as a Lisp file */ | 1071 | since it would try to load a directory as a Lisp file */ |
| 1072 | if (SCHARS (file) > 0) | 1072 | if (SBYTES (file) > 0) |
| 1073 | { | 1073 | { |
| 1074 | int size = SBYTES (file); | 1074 | ptrdiff_t size = SBYTES (file); |
| 1075 | 1075 | ||
| 1076 | found = Qnil; | 1076 | found = Qnil; |
| 1077 | GCPRO2 (file, found); | 1077 | GCPRO2 (file, found); |
| @@ -1472,7 +1472,7 @@ openp (Lisp_Object path, Lisp_Object str, Lisp_Object suffixes, Lisp_Object *sto | |||
| 1472 | for (tail = NILP (suffixes) ? Fcons (empty_unibyte_string, Qnil) : suffixes; | 1472 | for (tail = NILP (suffixes) ? Fcons (empty_unibyte_string, Qnil) : suffixes; |
| 1473 | CONSP (tail); tail = XCDR (tail)) | 1473 | CONSP (tail); tail = XCDR (tail)) |
| 1474 | { | 1474 | { |
| 1475 | int lsuffix = SBYTES (XCAR (tail)); | 1475 | ptrdiff_t lsuffix = SBYTES (XCAR (tail)); |
| 1476 | Lisp_Object handler; | 1476 | Lisp_Object handler; |
| 1477 | int exists; | 1477 | int exists; |
| 1478 | 1478 | ||
| @@ -2037,7 +2037,7 @@ read0 (Lisp_Object readcharfun) | |||
| 2037 | Fmake_string (make_number (1), make_number (c))); | 2037 | Fmake_string (make_number (1), make_number (c))); |
| 2038 | } | 2038 | } |
| 2039 | 2039 | ||
| 2040 | static int read_buffer_size; | 2040 | static ptrdiff_t read_buffer_size; |
| 2041 | static char *read_buffer; | 2041 | static char *read_buffer; |
| 2042 | 2042 | ||
| 2043 | /* Read a \-escape sequence, assuming we already read the `\'. | 2043 | /* Read a \-escape sequence, assuming we already read the `\'. |
| @@ -2208,7 +2208,9 @@ read_escape (Lisp_Object readcharfun, int stringp) | |||
| 2208 | UNREAD (c); | 2208 | UNREAD (c); |
| 2209 | break; | 2209 | break; |
| 2210 | } | 2210 | } |
| 2211 | count++; | 2211 | if (MAX_CHAR < i) |
| 2212 | error ("Hex character out of range: \\x%x...", i); | ||
| 2213 | count += count < 3; | ||
| 2212 | } | 2214 | } |
| 2213 | 2215 | ||
| 2214 | if (count < 3 && i >= 0x80) | 2216 | if (count < 3 && i >= 0x80) |
| @@ -2236,10 +2238,7 @@ read_escape (Lisp_Object readcharfun, int stringp) | |||
| 2236 | else if (c >= 'a' && c <= 'f') i = (i << 4) + (c - 'a') + 10; | 2238 | else if (c >= 'a' && c <= 'f') i = (i << 4) + (c - 'a') + 10; |
| 2237 | else if (c >= 'A' && c <= 'F') i = (i << 4) + (c - 'A') + 10; | 2239 | else if (c >= 'A' && c <= 'F') i = (i << 4) + (c - 'A') + 10; |
| 2238 | else | 2240 | else |
| 2239 | { | 2241 | error ("Non-hex digit used for Unicode escape"); |
| 2240 | error ("Non-hex digit used for Unicode escape"); | ||
| 2241 | break; | ||
| 2242 | } | ||
| 2243 | } | 2242 | } |
| 2244 | if (i > 0x10FFFF) | 2243 | if (i > 0x10FFFF) |
| 2245 | error ("Non-Unicode character: 0x%x", i); | 2244 | error ("Non-Unicode character: 0x%x", i); |
| @@ -2278,10 +2277,12 @@ digit_to_number (int character, int base) | |||
| 2278 | range. */ | 2277 | range. */ |
| 2279 | 2278 | ||
| 2280 | static Lisp_Object | 2279 | static Lisp_Object |
| 2281 | read_integer (Lisp_Object readcharfun, int radix) | 2280 | read_integer (Lisp_Object readcharfun, EMACS_INT radix) |
| 2282 | { | 2281 | { |
| 2283 | /* Room for sign, leading 0, other digits, trailing null byte. */ | 2282 | /* Room for sign, leading 0, other digits, trailing null byte. |
| 2284 | char buf[1 + 1 + sizeof (uintmax_t) * CHAR_BIT + 1]; | 2283 | Also, room for invalid syntax diagnostic. */ |
| 2284 | char buf[max (1 + 1 + sizeof (uintmax_t) * CHAR_BIT + 1, | ||
| 2285 | sizeof "integer, radix " + INT_STRLEN_BOUND (EMACS_INT))]; | ||
| 2285 | 2286 | ||
| 2286 | int valid = -1; /* 1 if valid, 0 if not, -1 if incomplete. */ | 2287 | int valid = -1; /* 1 if valid, 0 if not, -1 if incomplete. */ |
| 2287 | 2288 | ||
| @@ -2333,7 +2334,7 @@ read_integer (Lisp_Object readcharfun, int radix) | |||
| 2333 | 2334 | ||
| 2334 | if (! valid) | 2335 | if (! valid) |
| 2335 | { | 2336 | { |
| 2336 | sprintf (buf, "integer, radix %d", radix); | 2337 | sprintf (buf, "integer, radix %"pI"d", radix); |
| 2337 | invalid_syntax (buf); | 2338 | invalid_syntax (buf); |
| 2338 | } | 2339 | } |
| 2339 | 2340 | ||
| @@ -2471,7 +2472,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2471 | if (c == '[') | 2472 | if (c == '[') |
| 2472 | { | 2473 | { |
| 2473 | Lisp_Object tmp; | 2474 | Lisp_Object tmp; |
| 2474 | int depth, size; | 2475 | EMACS_INT depth, size; |
| 2475 | 2476 | ||
| 2476 | tmp = read_vector (readcharfun, 0); | 2477 | tmp = read_vector (readcharfun, 0); |
| 2477 | if (!INTEGERP (AREF (tmp, 0))) | 2478 | if (!INTEGERP (AREF (tmp, 0))) |
| @@ -2497,7 +2498,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2497 | if (c == '"') | 2498 | if (c == '"') |
| 2498 | { | 2499 | { |
| 2499 | Lisp_Object tmp, val; | 2500 | Lisp_Object tmp, val; |
| 2500 | int size_in_chars | 2501 | EMACS_INT size_in_chars |
| 2501 | = ((XFASTINT (length) + BOOL_VECTOR_BITS_PER_CHAR - 1) | 2502 | = ((XFASTINT (length) + BOOL_VECTOR_BITS_PER_CHAR - 1) |
| 2502 | / BOOL_VECTOR_BITS_PER_CHAR); | 2503 | / BOOL_VECTOR_BITS_PER_CHAR); |
| 2503 | 2504 | ||
| @@ -2569,13 +2570,16 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2569 | and function definitions. */ | 2570 | and function definitions. */ |
| 2570 | if (c == '@') | 2571 | if (c == '@') |
| 2571 | { | 2572 | { |
| 2572 | int i, nskip = 0; | 2573 | enum { extra = 100 }; |
| 2574 | ptrdiff_t i, nskip = 0; | ||
| 2573 | 2575 | ||
| 2574 | load_each_byte = 1; | 2576 | load_each_byte = 1; |
| 2575 | /* Read a decimal integer. */ | 2577 | /* Read a decimal integer. */ |
| 2576 | while ((c = READCHAR) >= 0 | 2578 | while ((c = READCHAR) >= 0 |
| 2577 | && c >= '0' && c <= '9') | 2579 | && c >= '0' && c <= '9') |
| 2578 | { | 2580 | { |
| 2581 | if ((STRING_BYTES_BOUND - extra) / 10 <= nskip) | ||
| 2582 | string_overflow (); | ||
| 2579 | nskip *= 10; | 2583 | nskip *= 10; |
| 2580 | nskip += c - '0'; | 2584 | nskip += c - '0'; |
| 2581 | } | 2585 | } |
| @@ -2594,9 +2598,9 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2594 | with prev_saved_doc_string, so we save two strings. */ | 2598 | with prev_saved_doc_string, so we save two strings. */ |
| 2595 | { | 2599 | { |
| 2596 | char *temp = saved_doc_string; | 2600 | char *temp = saved_doc_string; |
| 2597 | int temp_size = saved_doc_string_size; | 2601 | ptrdiff_t temp_size = saved_doc_string_size; |
| 2598 | file_offset temp_pos = saved_doc_string_position; | 2602 | file_offset temp_pos = saved_doc_string_position; |
| 2599 | int temp_len = saved_doc_string_length; | 2603 | ptrdiff_t temp_len = saved_doc_string_length; |
| 2600 | 2604 | ||
| 2601 | saved_doc_string = prev_saved_doc_string; | 2605 | saved_doc_string = prev_saved_doc_string; |
| 2602 | saved_doc_string_size = prev_saved_doc_string_size; | 2606 | saved_doc_string_size = prev_saved_doc_string_size; |
| @@ -2611,12 +2615,12 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2611 | 2615 | ||
| 2612 | if (saved_doc_string_size == 0) | 2616 | if (saved_doc_string_size == 0) |
| 2613 | { | 2617 | { |
| 2614 | saved_doc_string_size = nskip + 100; | 2618 | saved_doc_string_size = nskip + extra; |
| 2615 | saved_doc_string = (char *) xmalloc (saved_doc_string_size); | 2619 | saved_doc_string = (char *) xmalloc (saved_doc_string_size); |
| 2616 | } | 2620 | } |
| 2617 | if (nskip > saved_doc_string_size) | 2621 | if (nskip > saved_doc_string_size) |
| 2618 | { | 2622 | { |
| 2619 | saved_doc_string_size = nskip + 100; | 2623 | saved_doc_string_size = nskip + extra; |
| 2620 | saved_doc_string = (char *) xrealloc (saved_doc_string, | 2624 | saved_doc_string = (char *) xrealloc (saved_doc_string, |
| 2621 | saved_doc_string_size); | 2625 | saved_doc_string_size); |
| 2622 | } | 2626 | } |
| @@ -2661,49 +2665,60 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2661 | /* Reader forms that can reuse previously read objects. */ | 2665 | /* Reader forms that can reuse previously read objects. */ |
| 2662 | if (c >= '0' && c <= '9') | 2666 | if (c >= '0' && c <= '9') |
| 2663 | { | 2667 | { |
| 2664 | int n = 0; | 2668 | EMACS_INT n = 0; |
| 2665 | Lisp_Object tem; | 2669 | Lisp_Object tem; |
| 2666 | 2670 | ||
| 2667 | /* Read a non-negative integer. */ | 2671 | /* Read a non-negative integer. */ |
| 2668 | while (c >= '0' && c <= '9') | 2672 | while (c >= '0' && c <= '9') |
| 2669 | { | 2673 | { |
| 2670 | n *= 10; | 2674 | if (MOST_POSITIVE_FIXNUM / 10 < n |
| 2671 | n += c - '0'; | 2675 | || MOST_POSITIVE_FIXNUM < n * 10 + c - '0') |
| 2676 | n = MOST_POSITIVE_FIXNUM + 1; | ||
| 2677 | else | ||
| 2678 | n = n * 10 + c - '0'; | ||
| 2672 | c = READCHAR; | 2679 | c = READCHAR; |
| 2673 | } | 2680 | } |
| 2674 | /* #n=object returns object, but associates it with n for #n#. */ | 2681 | |
| 2675 | if (c == '=' && !NILP (Vread_circle)) | 2682 | if (n <= MOST_POSITIVE_FIXNUM) |
| 2676 | { | 2683 | { |
| 2677 | /* Make a placeholder for #n# to use temporarily */ | 2684 | if (c == 'r' || c == 'R') |
| 2678 | Lisp_Object placeholder; | 2685 | return read_integer (readcharfun, n); |
| 2679 | Lisp_Object cell; | ||
| 2680 | 2686 | ||
| 2681 | placeholder = Fcons (Qnil, Qnil); | 2687 | if (! NILP (Vread_circle)) |
| 2682 | cell = Fcons (make_number (n), placeholder); | 2688 | { |
| 2683 | read_objects = Fcons (cell, read_objects); | 2689 | /* #n=object returns object, but associates it with |
| 2690 | n for #n#. */ | ||
| 2691 | if (c == '=') | ||
| 2692 | { | ||
| 2693 | /* Make a placeholder for #n# to use temporarily */ | ||
| 2694 | Lisp_Object placeholder; | ||
| 2695 | Lisp_Object cell; | ||
| 2684 | 2696 | ||
| 2685 | /* Read the object itself. */ | 2697 | placeholder = Fcons (Qnil, Qnil); |
| 2686 | tem = read0 (readcharfun); | 2698 | cell = Fcons (make_number (n), placeholder); |
| 2699 | read_objects = Fcons (cell, read_objects); | ||
| 2687 | 2700 | ||
| 2688 | /* Now put it everywhere the placeholder was... */ | 2701 | /* Read the object itself. */ |
| 2689 | substitute_object_in_subtree (tem, placeholder); | 2702 | tem = read0 (readcharfun); |
| 2690 | 2703 | ||
| 2691 | /* ...and #n# will use the real value from now on. */ | 2704 | /* Now put it everywhere the placeholder was... */ |
| 2692 | Fsetcdr (cell, tem); | 2705 | substitute_object_in_subtree (tem, placeholder); |
| 2693 | 2706 | ||
| 2694 | return tem; | 2707 | /* ...and #n# will use the real value from now on. */ |
| 2695 | } | 2708 | Fsetcdr (cell, tem); |
| 2696 | /* #n# returns a previously read object. */ | 2709 | |
| 2697 | if (c == '#' && !NILP (Vread_circle)) | 2710 | return tem; |
| 2698 | { | 2711 | } |
| 2699 | tem = Fassq (make_number (n), read_objects); | ||
| 2700 | if (CONSP (tem)) | ||
| 2701 | return XCDR (tem); | ||
| 2702 | /* Fall through to error message. */ | ||
| 2703 | } | ||
| 2704 | else if (c == 'r' || c == 'R') | ||
| 2705 | return read_integer (readcharfun, n); | ||
| 2706 | 2712 | ||
| 2713 | /* #n# returns a previously read object. */ | ||
| 2714 | if (c == '#') | ||
| 2715 | { | ||
| 2716 | tem = Fassq (make_number (n), read_objects); | ||
| 2717 | if (CONSP (tem)) | ||
| 2718 | return XCDR (tem); | ||
| 2719 | } | ||
| 2720 | } | ||
| 2721 | } | ||
| 2707 | /* Fall through to error message. */ | 2722 | /* Fall through to error message. */ |
| 2708 | } | 2723 | } |
| 2709 | else if (c == 'x' || c == 'X') | 2724 | else if (c == 'x' || c == 'X') |
| @@ -2846,14 +2861,16 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2846 | a single-byte character. */ | 2861 | a single-byte character. */ |
| 2847 | int force_singlebyte = 0; | 2862 | int force_singlebyte = 0; |
| 2848 | int cancel = 0; | 2863 | int cancel = 0; |
| 2849 | int nchars = 0; | 2864 | ptrdiff_t nchars = 0; |
| 2850 | 2865 | ||
| 2851 | while ((ch = READCHAR) >= 0 | 2866 | while ((ch = READCHAR) >= 0 |
| 2852 | && ch != '\"') | 2867 | && ch != '\"') |
| 2853 | { | 2868 | { |
| 2854 | if (end - p < MAX_MULTIBYTE_LENGTH) | 2869 | if (end - p < MAX_MULTIBYTE_LENGTH) |
| 2855 | { | 2870 | { |
| 2856 | int offset = p - read_buffer; | 2871 | ptrdiff_t offset = p - read_buffer; |
| 2872 | if (min (PTRDIFF_MAX, SIZE_MAX) / 2 < read_buffer_size) | ||
| 2873 | memory_full (SIZE_MAX); | ||
| 2857 | read_buffer = (char *) xrealloc (read_buffer, | 2874 | read_buffer = (char *) xrealloc (read_buffer, |
| 2858 | read_buffer_size *= 2); | 2875 | read_buffer_size *= 2); |
| 2859 | p = read_buffer + offset; | 2876 | p = read_buffer + offset; |
| @@ -2996,7 +3013,9 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2996 | { | 3013 | { |
| 2997 | if (end - p < MAX_MULTIBYTE_LENGTH) | 3014 | if (end - p < MAX_MULTIBYTE_LENGTH) |
| 2998 | { | 3015 | { |
| 2999 | int offset = p - read_buffer; | 3016 | ptrdiff_t offset = p - read_buffer; |
| 3017 | if (min (PTRDIFF_MAX, SIZE_MAX) / 2 < read_buffer_size) | ||
| 3018 | memory_full (SIZE_MAX); | ||
| 3000 | read_buffer = (char *) xrealloc (read_buffer, | 3019 | read_buffer = (char *) xrealloc (read_buffer, |
| 3001 | read_buffer_size *= 2); | 3020 | read_buffer_size *= 2); |
| 3002 | p = read_buffer + offset; | 3021 | p = read_buffer + offset; |
| @@ -3023,7 +3042,9 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 3023 | 3042 | ||
| 3024 | if (p == end) | 3043 | if (p == end) |
| 3025 | { | 3044 | { |
| 3026 | int offset = p - read_buffer; | 3045 | ptrdiff_t offset = p - read_buffer; |
| 3046 | if (min (PTRDIFF_MAX, SIZE_MAX) / 2 < read_buffer_size) | ||
| 3047 | memory_full (SIZE_MAX); | ||
| 3027 | read_buffer = (char *) xrealloc (read_buffer, | 3048 | read_buffer = (char *) xrealloc (read_buffer, |
| 3028 | read_buffer_size *= 2); | 3049 | read_buffer_size *= 2); |
| 3029 | p = read_buffer + offset; | 3050 | p = read_buffer + offset; |
| @@ -3135,7 +3156,7 @@ substitute_object_recurse (Lisp_Object object, Lisp_Object placeholder, Lisp_Obj | |||
| 3135 | { | 3156 | { |
| 3136 | case Lisp_Vectorlike: | 3157 | case Lisp_Vectorlike: |
| 3137 | { | 3158 | { |
| 3138 | int i, length = 0; | 3159 | ptrdiff_t i, length = 0; |
| 3139 | if (BOOL_VECTOR_P (subtree)) | 3160 | if (BOOL_VECTOR_P (subtree)) |
| 3140 | return subtree; /* No sub-objects anyway. */ | 3161 | return subtree; /* No sub-objects anyway. */ |
| 3141 | else if (CHAR_TABLE_P (subtree) || SUB_CHAR_TABLE_P (subtree) | 3162 | else if (CHAR_TABLE_P (subtree) || SUB_CHAR_TABLE_P (subtree) |
| @@ -3358,8 +3379,7 @@ string_to_number (char const *string, int base, int ignore_trailing) | |||
| 3358 | static Lisp_Object | 3379 | static Lisp_Object |
| 3359 | read_vector (Lisp_Object readcharfun, int bytecodeflag) | 3380 | read_vector (Lisp_Object readcharfun, int bytecodeflag) |
| 3360 | { | 3381 | { |
| 3361 | register int i; | 3382 | ptrdiff_t i, size; |
| 3362 | register int size; | ||
| 3363 | register Lisp_Object *ptr; | 3383 | register Lisp_Object *ptr; |
| 3364 | register Lisp_Object tem, item, vector; | 3384 | register Lisp_Object tem, item, vector; |
| 3365 | register struct Lisp_Cons *otem; | 3385 | register struct Lisp_Cons *otem; |
| @@ -3528,15 +3548,15 @@ read_list (int flag, register Lisp_Object readcharfun) | |||
| 3528 | doc string, caller must make it | 3548 | doc string, caller must make it |
| 3529 | multibyte. */ | 3549 | multibyte. */ |
| 3530 | 3550 | ||
| 3531 | int pos = XINT (XCDR (val)); | 3551 | EMACS_INT pos = XINT (XCDR (val)); |
| 3532 | /* Position is negative for user variables. */ | 3552 | /* Position is negative for user variables. */ |
| 3533 | if (pos < 0) pos = -pos; | 3553 | if (pos < 0) pos = -pos; |
| 3534 | if (pos >= saved_doc_string_position | 3554 | if (pos >= saved_doc_string_position |
| 3535 | && pos < (saved_doc_string_position | 3555 | && pos < (saved_doc_string_position |
| 3536 | + saved_doc_string_length)) | 3556 | + saved_doc_string_length)) |
| 3537 | { | 3557 | { |
| 3538 | int start = pos - saved_doc_string_position; | 3558 | ptrdiff_t start = pos - saved_doc_string_position; |
| 3539 | int from, to; | 3559 | ptrdiff_t from, to; |
| 3540 | 3560 | ||
| 3541 | /* Process quoting with ^A, | 3561 | /* Process quoting with ^A, |
| 3542 | and find the end of the string, | 3562 | and find the end of the string, |
| @@ -3567,8 +3587,9 @@ read_list (int flag, register Lisp_Object readcharfun) | |||
| 3567 | && pos < (prev_saved_doc_string_position | 3587 | && pos < (prev_saved_doc_string_position |
| 3568 | + prev_saved_doc_string_length)) | 3588 | + prev_saved_doc_string_length)) |
| 3569 | { | 3589 | { |
| 3570 | int start = pos - prev_saved_doc_string_position; | 3590 | ptrdiff_t start = |
| 3571 | int from, to; | 3591 | pos - prev_saved_doc_string_position; |
| 3592 | ptrdiff_t from, to; | ||
| 3572 | 3593 | ||
| 3573 | /* Process quoting with ^A, | 3594 | /* Process quoting with ^A, |
| 3574 | and find the end of the string, | 3595 | and find the end of the string, |
| @@ -3891,7 +3912,7 @@ hash_string (const char *ptr, size_t len) | |||
| 3891 | void | 3912 | void |
| 3892 | map_obarray (Lisp_Object obarray, void (*fn) (Lisp_Object, Lisp_Object), Lisp_Object arg) | 3913 | map_obarray (Lisp_Object obarray, void (*fn) (Lisp_Object, Lisp_Object), Lisp_Object arg) |
| 3893 | { | 3914 | { |
| 3894 | register int i; | 3915 | ptrdiff_t i; |
| 3895 | register Lisp_Object tail; | 3916 | register Lisp_Object tail; |
| 3896 | CHECK_VECTOR (obarray); | 3917 | CHECK_VECTOR (obarray); |
| 3897 | for (i = ASIZE (obarray) - 1; i >= 0; i--) | 3918 | for (i = ASIZE (obarray) - 1; i >= 0; i--) |
| @@ -3962,8 +3983,7 @@ init_obarray (void) | |||
| 3962 | /* Qt is correct even if CANNOT_DUMP. loadup.el will set to nil at end. */ | 3983 | /* Qt is correct even if CANNOT_DUMP. loadup.el will set to nil at end. */ |
| 3963 | Vpurify_flag = Qt; | 3984 | Vpurify_flag = Qt; |
| 3964 | 3985 | ||
| 3965 | Qvariable_documentation = intern_c_string ("variable-documentation"); | 3986 | DEFSYM (Qvariable_documentation, "variable-documentation"); |
| 3966 | staticpro (&Qvariable_documentation); | ||
| 3967 | 3987 | ||
| 3968 | read_buffer_size = 100 + MAX_MULTIBYTE_LENGTH; | 3988 | read_buffer_size = 100 + MAX_MULTIBYTE_LENGTH; |
| 3969 | read_buffer = (char *) xmalloc (read_buffer_size); | 3989 | read_buffer = (char *) xmalloc (read_buffer_size); |
| @@ -3991,7 +4011,7 @@ defalias (sname, string) | |||
| 3991 | #endif /* NOTDEF */ | 4011 | #endif /* NOTDEF */ |
| 3992 | 4012 | ||
| 3993 | /* Define an "integer variable"; a symbol whose value is forwarded to a | 4013 | /* Define an "integer variable"; a symbol whose value is forwarded to a |
| 3994 | C variable of type int. Sample call (munged w "xx" to fool make-docfile): | 4014 | C variable of type EMACS_INT. Sample call (with "xx" to fool make-docfile): |
| 3995 | DEFxxVAR_INT ("emacs-priority", &emacs_priority, "Documentation"); */ | 4015 | DEFxxVAR_INT ("emacs-priority", &emacs_priority, "Documentation"); */ |
| 3996 | void | 4016 | void |
| 3997 | defvar_int (struct Lisp_Intfwd *i_fwd, | 4017 | defvar_int (struct Lisp_Intfwd *i_fwd, |
| @@ -4371,8 +4391,7 @@ customize `jka-compr-load-suffixes' rather than the present variable. */); | |||
| 4371 | 4391 | ||
| 4372 | DEFVAR_BOOL ("load-in-progress", load_in_progress, | 4392 | DEFVAR_BOOL ("load-in-progress", load_in_progress, |
| 4373 | doc: /* Non-nil if inside of `load'. */); | 4393 | doc: /* Non-nil if inside of `load'. */); |
| 4374 | Qload_in_progress = intern_c_string ("load-in-progress"); | 4394 | DEFSYM (Qload_in_progress, "load-in-progress"); |
| 4375 | staticpro (&Qload_in_progress); | ||
| 4376 | 4395 | ||
| 4377 | DEFVAR_LISP ("after-load-alist", Vafter_load_alist, | 4396 | DEFVAR_LISP ("after-load-alist", Vafter_load_alist, |
| 4378 | doc: /* An alist of expressions to be evalled when particular files are loaded. | 4397 | doc: /* An alist of expressions to be evalled when particular files are loaded. |
| @@ -4401,9 +4420,11 @@ The remaining ENTRIES in the alist element describe the functions and | |||
| 4401 | variables defined in that file, the features provided, and the | 4420 | variables defined in that file, the features provided, and the |
| 4402 | features required. Each entry has the form `(provide . FEATURE)', | 4421 | features required. Each entry has the form `(provide . FEATURE)', |
| 4403 | `(require . FEATURE)', `(defun . FUNCTION)', `(autoload . SYMBOL)', | 4422 | `(require . FEATURE)', `(defun . FUNCTION)', `(autoload . SYMBOL)', |
| 4404 | `(defface . SYMBOL)', or `(t . SYMBOL)'. In addition, an entry `(t | 4423 | `(defface . SYMBOL)', or `(t . SYMBOL)'. Entries like `(t . SYMBOL)' |
| 4405 | . SYMBOL)' may precede an entry `(defun . FUNCTION)', and means that | 4424 | may precede a `(defun . FUNCTION)' entry, and means that SYMBOL was an |
| 4406 | SYMBOL was an autoload before this file redefined it as a function. | 4425 | autoload before this file redefined it as a function. In addition, |
| 4426 | entries may also be single symbols, which means that SYMBOL was | ||
| 4427 | defined by `defvar' or `defconst'. | ||
| 4407 | 4428 | ||
| 4408 | During preloading, the file name recorded is relative to the main Lisp | 4429 | During preloading, the file name recorded is relative to the main Lisp |
| 4409 | directory. These file names are converted to absolute at startup. */); | 4430 | directory. These file names are converted to absolute at startup. */); |
| @@ -4503,67 +4524,34 @@ This variable is automatically set from the file variables of an interpreted | |||
| 4503 | DEFVAR_LISP ("old-style-backquotes", Vold_style_backquotes, | 4524 | DEFVAR_LISP ("old-style-backquotes", Vold_style_backquotes, |
| 4504 | doc: /* Set to non-nil when `read' encounters an old-style backquote. */); | 4525 | doc: /* Set to non-nil when `read' encounters an old-style backquote. */); |
| 4505 | Vold_style_backquotes = Qnil; | 4526 | Vold_style_backquotes = Qnil; |
| 4506 | Qold_style_backquotes = intern_c_string ("old-style-backquotes"); | 4527 | DEFSYM (Qold_style_backquotes, "old-style-backquotes"); |
| 4507 | staticpro (&Qold_style_backquotes); | ||
| 4508 | 4528 | ||
| 4509 | /* Vsource_directory was initialized in init_lread. */ | 4529 | /* Vsource_directory was initialized in init_lread. */ |
| 4510 | 4530 | ||
| 4511 | load_descriptor_list = Qnil; | 4531 | load_descriptor_list = Qnil; |
| 4512 | staticpro (&load_descriptor_list); | 4532 | staticpro (&load_descriptor_list); |
| 4513 | 4533 | ||
| 4514 | Qcurrent_load_list = intern_c_string ("current-load-list"); | 4534 | DEFSYM (Qcurrent_load_list, "current-load-list"); |
| 4515 | staticpro (&Qcurrent_load_list); | 4535 | DEFSYM (Qstandard_input, "standard-input"); |
| 4516 | 4536 | DEFSYM (Qread_char, "read-char"); | |
| 4517 | Qstandard_input = intern_c_string ("standard-input"); | 4537 | DEFSYM (Qget_file_char, "get-file-char"); |
| 4518 | staticpro (&Qstandard_input); | 4538 | DEFSYM (Qget_emacs_mule_file_char, "get-emacs-mule-file-char"); |
| 4519 | 4539 | DEFSYM (Qload_force_doc_strings, "load-force-doc-strings"); | |
| 4520 | Qread_char = intern_c_string ("read-char"); | 4540 | |
| 4521 | staticpro (&Qread_char); | 4541 | DEFSYM (Qbackquote, "`"); |
| 4522 | 4542 | DEFSYM (Qcomma, ","); | |
| 4523 | Qget_file_char = intern_c_string ("get-file-char"); | 4543 | DEFSYM (Qcomma_at, ",@"); |
| 4524 | staticpro (&Qget_file_char); | 4544 | DEFSYM (Qcomma_dot, ",."); |
| 4525 | 4545 | ||
| 4526 | Qget_emacs_mule_file_char = intern_c_string ("get-emacs-mule-file-char"); | 4546 | DEFSYM (Qinhibit_file_name_operation, "inhibit-file-name-operation"); |
| 4527 | staticpro (&Qget_emacs_mule_file_char); | 4547 | DEFSYM (Qascii_character, "ascii-character"); |
| 4528 | 4548 | DEFSYM (Qfunction, "function"); | |
| 4529 | Qload_force_doc_strings = intern_c_string ("load-force-doc-strings"); | 4549 | DEFSYM (Qload, "load"); |
| 4530 | staticpro (&Qload_force_doc_strings); | 4550 | DEFSYM (Qload_file_name, "load-file-name"); |
| 4531 | 4551 | DEFSYM (Qeval_buffer_list, "eval-buffer-list"); | |
| 4532 | Qbackquote = intern_c_string ("`"); | 4552 | DEFSYM (Qfile_truename, "file-truename"); |
| 4533 | staticpro (&Qbackquote); | 4553 | DEFSYM (Qdir_ok, "dir-ok"); |
| 4534 | Qcomma = intern_c_string (","); | 4554 | DEFSYM (Qdo_after_load_evaluation, "do-after-load-evaluation"); |
| 4535 | staticpro (&Qcomma); | ||
| 4536 | Qcomma_at = intern_c_string (",@"); | ||
| 4537 | staticpro (&Qcomma_at); | ||
| 4538 | Qcomma_dot = intern_c_string (",."); | ||
| 4539 | staticpro (&Qcomma_dot); | ||
| 4540 | |||
| 4541 | Qinhibit_file_name_operation = intern_c_string ("inhibit-file-name-operation"); | ||
| 4542 | staticpro (&Qinhibit_file_name_operation); | ||
| 4543 | |||
| 4544 | Qascii_character = intern_c_string ("ascii-character"); | ||
| 4545 | staticpro (&Qascii_character); | ||
| 4546 | |||
| 4547 | Qfunction = intern_c_string ("function"); | ||
| 4548 | staticpro (&Qfunction); | ||
| 4549 | |||
| 4550 | Qload = intern_c_string ("load"); | ||
| 4551 | staticpro (&Qload); | ||
| 4552 | |||
| 4553 | Qload_file_name = intern_c_string ("load-file-name"); | ||
| 4554 | staticpro (&Qload_file_name); | ||
| 4555 | |||
| 4556 | Qeval_buffer_list = intern_c_string ("eval-buffer-list"); | ||
| 4557 | staticpro (&Qeval_buffer_list); | ||
| 4558 | |||
| 4559 | Qfile_truename = intern_c_string ("file-truename"); | ||
| 4560 | staticpro (&Qfile_truename) ; | ||
| 4561 | |||
| 4562 | Qdir_ok = intern_c_string ("dir-ok"); | ||
| 4563 | staticpro (&Qdir_ok); | ||
| 4564 | |||
| 4565 | Qdo_after_load_evaluation = intern_c_string ("do-after-load-evaluation"); | ||
| 4566 | staticpro (&Qdo_after_load_evaluation) ; | ||
| 4567 | 4555 | ||
| 4568 | staticpro (&dump_path); | 4556 | staticpro (&dump_path); |
| 4569 | 4557 | ||
| @@ -4575,18 +4563,11 @@ This variable is automatically set from the file variables of an interpreted | |||
| 4575 | Vloads_in_progress = Qnil; | 4563 | Vloads_in_progress = Qnil; |
| 4576 | staticpro (&Vloads_in_progress); | 4564 | staticpro (&Vloads_in_progress); |
| 4577 | 4565 | ||
| 4578 | Qhash_table = intern_c_string ("hash-table"); | 4566 | DEFSYM (Qhash_table, "hash-table"); |
| 4579 | staticpro (&Qhash_table); | 4567 | DEFSYM (Qdata, "data"); |
| 4580 | Qdata = intern_c_string ("data"); | 4568 | DEFSYM (Qtest, "test"); |
| 4581 | staticpro (&Qdata); | 4569 | DEFSYM (Qsize, "size"); |
| 4582 | Qtest = intern_c_string ("test"); | 4570 | DEFSYM (Qweakness, "weakness"); |
| 4583 | staticpro (&Qtest); | 4571 | DEFSYM (Qrehash_size, "rehash-size"); |
| 4584 | Qsize = intern_c_string ("size"); | 4572 | DEFSYM (Qrehash_threshold, "rehash-threshold"); |
| 4585 | staticpro (&Qsize); | ||
| 4586 | Qweakness = intern_c_string ("weakness"); | ||
| 4587 | staticpro (&Qweakness); | ||
| 4588 | Qrehash_size = intern_c_string ("rehash-size"); | ||
| 4589 | staticpro (&Qrehash_size); | ||
| 4590 | Qrehash_threshold = intern_c_string ("rehash-threshold"); | ||
| 4591 | staticpro (&Qrehash_threshold); | ||
| 4592 | } | 4573 | } |
diff --git a/src/macros.c b/src/macros.c index 3523e513d6a..60f30c3fbbe 100644 --- a/src/macros.c +++ b/src/macros.c | |||
| @@ -71,10 +71,10 @@ macro before appending to it. */) | |||
| 71 | { | 71 | { |
| 72 | if (current_kboard->kbd_macro_bufsize > 200) | 72 | if (current_kboard->kbd_macro_bufsize > 200) |
| 73 | { | 73 | { |
| 74 | current_kboard->kbd_macro_bufsize = 30; | ||
| 75 | current_kboard->kbd_macro_buffer | 74 | current_kboard->kbd_macro_buffer |
| 76 | = (Lisp_Object *)xrealloc (current_kboard->kbd_macro_buffer, | 75 | = (Lisp_Object *)xrealloc (current_kboard->kbd_macro_buffer, |
| 77 | 30 * sizeof (Lisp_Object)); | 76 | 30 * sizeof (Lisp_Object)); |
| 77 | current_kboard->kbd_macro_bufsize = 30; | ||
| 78 | } | 78 | } |
| 79 | current_kboard->kbd_macro_ptr = current_kboard->kbd_macro_buffer; | 79 | current_kboard->kbd_macro_ptr = current_kboard->kbd_macro_buffer; |
| 80 | current_kboard->kbd_macro_end = current_kboard->kbd_macro_buffer; | 80 | current_kboard->kbd_macro_end = current_kboard->kbd_macro_buffer; |
| @@ -82,7 +82,8 @@ macro before appending to it. */) | |||
| 82 | } | 82 | } |
| 83 | else | 83 | else |
| 84 | { | 84 | { |
| 85 | int i, len; | 85 | ptrdiff_t i; |
| 86 | EMACS_INT len; | ||
| 86 | int cvt; | 87 | int cvt; |
| 87 | 88 | ||
| 88 | /* Check the type of last-kbd-macro in case Lisp code changed it. */ | 89 | /* Check the type of last-kbd-macro in case Lisp code changed it. */ |
| @@ -94,10 +95,13 @@ macro before appending to it. */) | |||
| 94 | has put another macro there. */ | 95 | has put another macro there. */ |
| 95 | if (current_kboard->kbd_macro_bufsize < len + 30) | 96 | if (current_kboard->kbd_macro_bufsize < len + 30) |
| 96 | { | 97 | { |
| 97 | current_kboard->kbd_macro_bufsize = len + 30; | 98 | if (min (PTRDIFF_MAX, SIZE_MAX) / sizeof (Lisp_Object) - 30 |
| 99 | < current_kboard->kbd_macro_bufsize) | ||
| 100 | memory_full (SIZE_MAX); | ||
| 98 | current_kboard->kbd_macro_buffer | 101 | current_kboard->kbd_macro_buffer |
| 99 | = (Lisp_Object *)xrealloc (current_kboard->kbd_macro_buffer, | 102 | = (Lisp_Object *)xrealloc (current_kboard->kbd_macro_buffer, |
| 100 | (len + 30) * sizeof (Lisp_Object)); | 103 | (len + 30) * sizeof (Lisp_Object)); |
| 104 | current_kboard->kbd_macro_bufsize = len + 30; | ||
| 101 | } | 105 | } |
| 102 | 106 | ||
| 103 | /* Must convert meta modifier when copying string to vector. */ | 107 | /* Must convert meta modifier when copying string to vector. */ |
| @@ -191,14 +195,17 @@ store_kbd_macro_char (Lisp_Object c) | |||
| 191 | { | 195 | { |
| 192 | if (kb->kbd_macro_ptr - kb->kbd_macro_buffer == kb->kbd_macro_bufsize) | 196 | if (kb->kbd_macro_ptr - kb->kbd_macro_buffer == kb->kbd_macro_bufsize) |
| 193 | { | 197 | { |
| 194 | int ptr_offset, end_offset, nbytes; | 198 | ptrdiff_t ptr_offset, end_offset, nbytes; |
| 195 | 199 | ||
| 196 | ptr_offset = kb->kbd_macro_ptr - kb->kbd_macro_buffer; | 200 | ptr_offset = kb->kbd_macro_ptr - kb->kbd_macro_buffer; |
| 197 | end_offset = kb->kbd_macro_end - kb->kbd_macro_buffer; | 201 | end_offset = kb->kbd_macro_end - kb->kbd_macro_buffer; |
| 198 | kb->kbd_macro_bufsize *= 2; | 202 | if (min (PTRDIFF_MAX, SIZE_MAX) / sizeof *kb->kbd_macro_buffer / 2 |
| 199 | nbytes = kb->kbd_macro_bufsize * sizeof *kb->kbd_macro_buffer; | 203 | < kb->kbd_macro_bufsize) |
| 204 | memory_full (SIZE_MAX); | ||
| 205 | nbytes = kb->kbd_macro_bufsize * 2 * sizeof *kb->kbd_macro_buffer; | ||
| 200 | kb->kbd_macro_buffer | 206 | kb->kbd_macro_buffer |
| 201 | = (Lisp_Object *) xrealloc (kb->kbd_macro_buffer, nbytes); | 207 | = (Lisp_Object *) xrealloc (kb->kbd_macro_buffer, nbytes); |
| 208 | kb->kbd_macro_bufsize *= 2; | ||
| 202 | kb->kbd_macro_ptr = kb->kbd_macro_buffer + ptr_offset; | 209 | kb->kbd_macro_ptr = kb->kbd_macro_buffer + ptr_offset; |
| 203 | kb->kbd_macro_end = kb->kbd_macro_buffer + end_offset; | 210 | kb->kbd_macro_end = kb->kbd_macro_buffer + end_offset; |
| 204 | } | 211 | } |
| @@ -360,15 +367,13 @@ init_macros (void) | |||
| 360 | void | 367 | void |
| 361 | syms_of_macros (void) | 368 | syms_of_macros (void) |
| 362 | { | 369 | { |
| 363 | Qexecute_kbd_macro = intern_c_string ("execute-kbd-macro"); | 370 | DEFSYM (Qexecute_kbd_macro, "execute-kbd-macro"); |
| 364 | staticpro (&Qexecute_kbd_macro); | ||
| 365 | 371 | ||
| 366 | DEFVAR_LISP ("kbd-macro-termination-hook", Vkbd_macro_termination_hook, | 372 | DEFVAR_LISP ("kbd-macro-termination-hook", Vkbd_macro_termination_hook, |
| 367 | doc: /* Normal hook run whenever a keyboard macro terminates. | 373 | doc: /* Normal hook run whenever a keyboard macro terminates. |
| 368 | This is run whether the macro ends normally or prematurely due to an error. */); | 374 | This is run whether the macro ends normally or prematurely due to an error. */); |
| 369 | Vkbd_macro_termination_hook = Qnil; | 375 | Vkbd_macro_termination_hook = Qnil; |
| 370 | Qkbd_macro_termination_hook = intern_c_string ("kbd-macro-termination-hook"); | 376 | DEFSYM (Qkbd_macro_termination_hook, "kbd-macro-termination-hook"); |
| 371 | staticpro (&Qkbd_macro_termination_hook); | ||
| 372 | 377 | ||
| 373 | defsubr (&Sstart_kbd_macro); | 378 | defsubr (&Sstart_kbd_macro); |
| 374 | defsubr (&Send_kbd_macro); | 379 | defsubr (&Send_kbd_macro); |
diff --git a/src/makefile.w32-in b/src/makefile.w32-in index 173fc673955..88b53554925 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in | |||
| @@ -382,471 +382,452 @@ full-tags: TAGS TAGS-LISP ../nt/TAGS | |||
| 382 | ### DEPENDENCIES ### | 382 | ### DEPENDENCIES ### |
| 383 | 383 | ||
| 384 | EMACS_ROOT = .. | 384 | EMACS_ROOT = .. |
| 385 | CONFIG_H = $(EMACS_ROOT)/src/s/ms-w32.h \ | 385 | GNU_LIB = $(EMACS_ROOT)/lib |
| 386 | $(EMACS_ROOT)/src/m/intel386.h \ | 386 | NT_INC = $(EMACS_ROOT)/nt/inc |
| 387 | $(EMACS_ROOT)/src/config.h \ | 387 | |
| 388 | $(EMACS_ROOT)/nt/inc/sys/stat.h | 388 | SYSTIME_H = $(SRC)/systime.h \ |
| 389 | LISP_H = $(SRC)/lisp.h \ | 389 | $(NT_INC)/sys/time.h |
| 390 | $(SRC)/globals.h \ | 390 | ATIMER_H = $(SRC)/atimer.h \ |
| 391 | $(EMACS_ROOT)/lib/intprops.h \ | 391 | $(SYSTIME_H) |
| 392 | $(EMACS_ROOT)/nt/inc/inttypes.h \ | 392 | BLOCKINPUT_H = $(SRC)/blockinput.h \ |
| 393 | $(EMACS_ROOT)/nt/inc/stdint.h | 393 | $(ATIMER_H) |
| 394 | PROCESS_H = $(SRC)/process.h \ | 394 | CAREADLINKAT_H = $(GNU_LIB)/careadlinkat.h \ |
| 395 | $(EMACS_ROOT)/nt/inc/unistd.h \ | 395 | $(NT_INC)/unistd.h |
| 396 | $(SRC)/gnutls.h | 396 | CHARACTER_H = $(SRC)/character.h \ |
| 397 | $(GNU_LIB)/verify.h | ||
| 398 | CHARSET_H = $(SRC)/charset.h \ | ||
| 399 | $(GNU_LIB)/verify.h | ||
| 400 | CODING_H = $(SRC)/coding.h \ | ||
| 401 | $(SRC)/composite.h | ||
| 402 | MS_W32_H = $(SRC)/s/ms-w32.h \ | ||
| 403 | $(NT_INC)/sys/stat.h | ||
| 404 | CONFIG_H = $(SRC)/config.h \ | ||
| 405 | $(SRC)/m/intel386.h \ | ||
| 406 | $(MS_W32_H) | ||
| 407 | DIR_H = $(NT_INC)/sys/dir.h \ | ||
| 408 | $(SRC)/ndir.h | ||
| 409 | W32GUI_H = $(SRC)/w32gui.h \ | ||
| 410 | $(SYSTIME_H) | ||
| 411 | DISPEXTERN_H = $(SRC)/dispextern.h \ | ||
| 412 | $(W32GUI_H) | ||
| 413 | FILEMODE_H = $(GNU_LIB)/filemode.h \ | ||
| 414 | $(NT_INC)/sys/stat.h | ||
| 415 | FONT_H = $(SRC)/font.h \ | ||
| 416 | $(SRC)/ccl.h | ||
| 417 | FRAME_H = $(SRC)/frame.h \ | ||
| 418 | $(DISPEXTERN_H) | ||
| 419 | FTOASTR_H = $(GNU_LIB)/ftoastr.h \ | ||
| 420 | $(GNU_LIB)/intprops.h | ||
| 421 | GRP_H = $(NT_INC)/grp.h \ | ||
| 422 | $(NT_INC)/pwd.h | ||
| 423 | INTERVALS_H = $(SRC)/intervals.h \ | ||
| 424 | $(SRC)/composite.h \ | ||
| 425 | $(DISPEXTERN_H) | ||
| 426 | INTTYPES_H = $(NT_INC)/inttypes.h \ | ||
| 427 | $(NT_INC)/stdint.h | ||
| 428 | KEYBOARD_H = $(SRC)/keyboard.h \ | ||
| 429 | $(CODING_H) \ | ||
| 430 | $(SYSTIME_H) | ||
| 431 | LANGINFO_H = $(NT_INC)/langinfo.h \ | ||
| 432 | $(NT_INC)/nl_types.h | ||
| 433 | LISP_H = $(SRC)/lisp.h \ | ||
| 434 | $(SRC)/globals.h \ | ||
| 435 | $(GNU_LIB)/intprops.h \ | ||
| 436 | $(INTTYPES_H) | ||
| 437 | MD5_H = $(GNU_LIB)/md5.h \ | ||
| 438 | $(NT_INC)/stdint.h | ||
| 439 | MENU_H = $(SRC)/menu.h \ | ||
| 440 | $(SYSTIME_H) | ||
| 441 | PROCESS_H = $(SRC)/process.h \ | ||
| 442 | $(SRC)/gnutls.h \ | ||
| 443 | $(NT_INC)/unistd.h | ||
| 444 | SHA1_H = $(GNU_LIB)/sha1.h \ | ||
| 445 | $(NT_INC)/stdint.h | ||
| 446 | SHA256_H = $(GNU_LIB)/sha256.h \ | ||
| 447 | $(NT_INC)/stdint.h | ||
| 448 | U64_H = $(GNU_LIB)/u64.h \ | ||
| 449 | $(NT_INC)/stdint.h | ||
| 450 | SHA512_H = $(GNU_LIB)/sha512.h \ | ||
| 451 | $(U64_H) | ||
| 452 | SOCKET_H = $(NT_INC)/sys/socket.h \ | ||
| 453 | $(SRC)/w32.h | ||
| 454 | SYSTTY_H = $(SRC)/systty.h \ | ||
| 455 | $(NT_INC)/sys/ioctl.h \ | ||
| 456 | $(NT_INC)/unistd.h | ||
| 457 | TERMHOOKS_H = $(SRC)/termhooks.h \ | ||
| 458 | $(SYSTIME_H) | ||
| 459 | W32TERM_H = $(SRC)/w32term.h \ | ||
| 460 | $(W32GUI_H) | ||
| 461 | WINDOW_H = $(SRC)/window.h \ | ||
| 462 | $(DISPEXTERN_H) | ||
| 397 | 463 | ||
| 398 | $(BLD)/alloc.$(O) : \ | 464 | $(BLD)/alloc.$(O) : \ |
| 399 | $(SRC)/alloc.c \ | 465 | $(SRC)/alloc.c \ |
| 400 | $(CONFIG_H) \ | ||
| 401 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 402 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 403 | $(LISP_H) \ | ||
| 404 | $(PROCESS_H) \ | ||
| 405 | $(SRC)/atimer.h \ | ||
| 406 | $(SRC)/blockinput.h \ | ||
| 407 | $(SRC)/buffer.h \ | 466 | $(SRC)/buffer.h \ |
| 408 | $(SRC)/character.h \ | ||
| 409 | $(SRC)/coding.h \ | ||
| 410 | $(SRC)/composite.h \ | ||
| 411 | $(SRC)/dispextern.h \ | ||
| 412 | $(SRC)/frame.h \ | ||
| 413 | $(SRC)/intervals.h \ | ||
| 414 | $(SRC)/keyboard.h \ | ||
| 415 | $(SRC)/puresize.h \ | 467 | $(SRC)/puresize.h \ |
| 416 | $(SRC)/syssignal.h \ | 468 | $(SRC)/syssignal.h \ |
| 417 | $(SRC)/systime.h \ | ||
| 418 | $(SRC)/termhooks.h \ | ||
| 419 | $(SRC)/w32.h \ | 469 | $(SRC)/w32.h \ |
| 420 | $(SRC)/w32gui.h \ | 470 | $(NT_INC)/unistd.h \ |
| 421 | $(SRC)/window.h | 471 | $(BLOCKINPUT_H) \ |
| 472 | $(CHARACTER_H) \ | ||
| 473 | $(CONFIG_H) \ | ||
| 474 | $(FRAME_H) \ | ||
| 475 | $(INTERVALS_H) \ | ||
| 476 | $(KEYBOARD_H) \ | ||
| 477 | $(LISP_H) \ | ||
| 478 | $(PROCESS_H) \ | ||
| 479 | $(TERMHOOKS_H) \ | ||
| 480 | $(WINDOW_H) | ||
| 422 | 481 | ||
| 423 | $(BLD)/atimer.$(O) : \ | 482 | $(BLD)/atimer.$(O) : \ |
| 424 | $(SRC)/atimer.c \ | 483 | $(SRC)/atimer.c \ |
| 484 | $(SRC)/syssignal.h \ | ||
| 485 | $(NT_INC)/sys/time.h \ | ||
| 486 | $(NT_INC)/unistd.h \ | ||
| 487 | $(ATIMER_H) \ | ||
| 488 | $(BLOCKINPUT_H) \ | ||
| 425 | $(CONFIG_H) \ | 489 | $(CONFIG_H) \ |
| 426 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 427 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 428 | $(LISP_H) \ | 490 | $(LISP_H) \ |
| 429 | $(SRC)/atimer.h \ | 491 | $(SYSTIME_H) |
| 430 | $(SRC)/blockinput.h \ | ||
| 431 | $(SRC)/syssignal.h \ | ||
| 432 | $(SRC)/systime.h | ||
| 433 | 492 | ||
| 434 | $(BLD)/bidi.$(O) : \ | 493 | $(BLD)/bidi.$(O) : \ |
| 435 | $(SRC)/bidi.c \ | 494 | $(SRC)/bidi.c \ |
| 436 | $(CONFIG_H) \ | ||
| 437 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 438 | $(LISP_H) \ | ||
| 439 | $(SRC)/bidimirror.h \ | 495 | $(SRC)/bidimirror.h \ |
| 440 | $(SRC)/biditype.h \ | 496 | $(SRC)/biditype.h \ |
| 441 | $(SRC)/buffer.h \ | 497 | $(SRC)/buffer.h \ |
| 442 | $(SRC)/character.h \ | 498 | $(CHARACTER_H) \ |
| 443 | $(SRC)/dispextern.h \ | 499 | $(CONFIG_H) \ |
| 444 | $(SRC)/systime.h \ | 500 | $(DISPEXTERN_H) \ |
| 445 | $(SRC)/w32gui.h | 501 | $(LISP_H) |
| 446 | 502 | ||
| 447 | $(BLD)/buffer.$(O) : \ | 503 | $(BLD)/buffer.$(O) : \ |
| 448 | $(SRC)/buffer.c \ | 504 | $(SRC)/buffer.c \ |
| 449 | $(CONFIG_H) \ | ||
| 450 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 451 | $(EMACS_ROOT)/nt/inc/sys/param.h \ | ||
| 452 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 453 | $(LISP_H) \ | ||
| 454 | $(SRC)/atimer.h \ | ||
| 455 | $(SRC)/blockinput.h \ | ||
| 456 | $(SRC)/buffer.h \ | 505 | $(SRC)/buffer.h \ |
| 457 | $(SRC)/character.h \ | ||
| 458 | $(SRC)/coding.h \ | ||
| 459 | $(SRC)/commands.h \ | 506 | $(SRC)/commands.h \ |
| 460 | $(SRC)/composite.h \ | ||
| 461 | $(SRC)/dispextern.h \ | ||
| 462 | $(SRC)/frame.h \ | ||
| 463 | $(SRC)/indent.h \ | 507 | $(SRC)/indent.h \ |
| 464 | $(SRC)/intervals.h \ | ||
| 465 | $(SRC)/keyboard.h \ | ||
| 466 | $(SRC)/keymap.h \ | 508 | $(SRC)/keymap.h \ |
| 467 | $(SRC)/region-cache.h \ | 509 | $(SRC)/region-cache.h \ |
| 468 | $(SRC)/systime.h \ | 510 | $(NT_INC)/sys/param.h \ |
| 469 | $(SRC)/w32gui.h \ | 511 | $(NT_INC)/sys/stat.h \ |
| 470 | $(SRC)/window.h | 512 | $(NT_INC)/unistd.h \ |
| 513 | $(GNU_LIB)/verify.h \ | ||
| 514 | $(BLOCKINPUT_H) \ | ||
| 515 | $(CHARACTER_H) \ | ||
| 516 | $(CONFIG_H) \ | ||
| 517 | $(FRAME_H) \ | ||
| 518 | $(INTERVALS_H) \ | ||
| 519 | $(KEYBOARD_H) \ | ||
| 520 | $(LISP_H) \ | ||
| 521 | $(WINDOW_H) | ||
| 471 | 522 | ||
| 472 | $(BLD)/bytecode.$(O) : \ | 523 | $(BLD)/bytecode.$(O) : \ |
| 473 | $(SRC)/bytecode.c \ | 524 | $(SRC)/bytecode.c \ |
| 474 | $(CONFIG_H) \ | ||
| 475 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 476 | $(LISP_H) \ | ||
| 477 | $(SRC)/buffer.h \ | 525 | $(SRC)/buffer.h \ |
| 478 | $(SRC)/character.h \ | ||
| 479 | $(SRC)/dispextern.h \ | ||
| 480 | $(SRC)/syntax.h \ | 526 | $(SRC)/syntax.h \ |
| 481 | $(SRC)/systime.h \ | 527 | $(CHARACTER_H) \ |
| 482 | $(SRC)/w32gui.h \ | 528 | $(CONFIG_H) \ |
| 483 | $(SRC)/window.h | 529 | $(LISP_H) \ |
| 530 | $(WINDOW_H) | ||
| 484 | 531 | ||
| 485 | $(BLD)/callint.$(O) : \ | 532 | $(BLD)/callint.$(O) : \ |
| 486 | $(SRC)/callint.c \ | 533 | $(SRC)/callint.c \ |
| 487 | $(CONFIG_H) \ | ||
| 488 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 489 | $(LISP_H) \ | ||
| 490 | $(SRC)/buffer.h \ | 534 | $(SRC)/buffer.h \ |
| 491 | $(SRC)/character.h \ | ||
| 492 | $(SRC)/coding.h \ | ||
| 493 | $(SRC)/commands.h \ | 535 | $(SRC)/commands.h \ |
| 494 | $(SRC)/composite.h \ | ||
| 495 | $(SRC)/dispextern.h \ | ||
| 496 | $(SRC)/keyboard.h \ | ||
| 497 | $(SRC)/keymap.h \ | 536 | $(SRC)/keymap.h \ |
| 498 | $(SRC)/systime.h \ | 537 | $(CHARACTER_H) \ |
| 499 | $(SRC)/w32gui.h \ | 538 | $(CONFIG_H) \ |
| 500 | $(SRC)/window.h | 539 | $(KEYBOARD_H) \ |
| 540 | $(LISP_H) \ | ||
| 541 | $(WINDOW_H) | ||
| 501 | 542 | ||
| 502 | $(BLD)/callproc.$(O) : \ | 543 | $(BLD)/callproc.$(O) : \ |
| 503 | $(SRC)/callproc.c \ | 544 | $(SRC)/callproc.c \ |
| 504 | $(CONFIG_H) \ | ||
| 505 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 506 | $(EMACS_ROOT)/nt/inc/sys/file.h \ | ||
| 507 | $(EMACS_ROOT)/nt/inc/sys/ioctl.h \ | ||
| 508 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 509 | $(LISP_H) \ | ||
| 510 | $(PROCESS_H) \ | ||
| 511 | $(SRC)/atimer.h \ | ||
| 512 | $(SRC)/blockinput.h \ | ||
| 513 | $(SRC)/buffer.h \ | 545 | $(SRC)/buffer.h \ |
| 514 | $(SRC)/ccl.h \ | 546 | $(SRC)/ccl.h \ |
| 515 | $(SRC)/character.h \ | ||
| 516 | $(SRC)/coding.h \ | ||
| 517 | $(SRC)/commands.h \ | 547 | $(SRC)/commands.h \ |
| 518 | $(SRC)/composite.h \ | 548 | $(SRC)/composite.h \ |
| 519 | $(SRC)/dispextern.h \ | ||
| 520 | $(SRC)/epaths.h \ | 549 | $(SRC)/epaths.h \ |
| 521 | $(SRC)/frame.h \ | ||
| 522 | $(SRC)/syssignal.h \ | 550 | $(SRC)/syssignal.h \ |
| 523 | $(SRC)/systime.h \ | ||
| 524 | $(SRC)/systty.h \ | ||
| 525 | $(SRC)/termhooks.h \ | ||
| 526 | $(SRC)/w32.h \ | 551 | $(SRC)/w32.h \ |
| 527 | $(SRC)/w32gui.h | 552 | $(NT_INC)/sys/file.h \ |
| 553 | $(NT_INC)/unistd.h \ | ||
| 554 | $(BLOCKINPUT_H) \ | ||
| 555 | $(CHARACTER_H) \ | ||
| 556 | $(CODING_H) \ | ||
| 557 | $(CONFIG_H) \ | ||
| 558 | $(FRAME_H) \ | ||
| 559 | $(LISP_H) \ | ||
| 560 | $(PROCESS_H) \ | ||
| 561 | $(SYSTTY_H) \ | ||
| 562 | $(TERMHOOKS_H) | ||
| 528 | 563 | ||
| 529 | $(BLD)/casefiddle.$(O) : \ | 564 | $(BLD)/casefiddle.$(O) : \ |
| 530 | $(SRC)/casefiddle.c \ | 565 | $(SRC)/casefiddle.c \ |
| 531 | $(CONFIG_H) \ | ||
| 532 | $(LISP_H) \ | ||
| 533 | $(SRC)/buffer.h \ | 566 | $(SRC)/buffer.h \ |
| 534 | $(SRC)/character.h \ | ||
| 535 | $(SRC)/commands.h \ | 567 | $(SRC)/commands.h \ |
| 536 | $(SRC)/composite.h \ | 568 | $(SRC)/composite.h \ |
| 537 | $(SRC)/keymap.h \ | 569 | $(SRC)/keymap.h \ |
| 538 | $(SRC)/syntax.h | 570 | $(SRC)/syntax.h \ |
| 571 | $(CHARACTER_H) \ | ||
| 572 | $(CONFIG_H) \ | ||
| 573 | $(LISP_H) | ||
| 539 | 574 | ||
| 540 | $(BLD)/casetab.$(O) : \ | 575 | $(BLD)/casetab.$(O) : \ |
| 541 | $(SRC)/casetab.c \ | 576 | $(SRC)/casetab.c \ |
| 542 | $(CONFIG_H) \ | ||
| 543 | $(LISP_H) \ | ||
| 544 | $(SRC)/buffer.h \ | 577 | $(SRC)/buffer.h \ |
| 545 | $(SRC)/character.h | 578 | $(CHARACTER_H) \ |
| 579 | $(CONFIG_H) \ | ||
| 580 | $(LISP_H) | ||
| 546 | 581 | ||
| 547 | $(BLD)/category.$(O) : \ | 582 | $(BLD)/category.$(O) : \ |
| 548 | $(SRC)/category.c \ | 583 | $(SRC)/category.c \ |
| 549 | $(CONFIG_H) \ | ||
| 550 | $(LISP_H) \ | ||
| 551 | $(SRC)/buffer.h \ | 584 | $(SRC)/buffer.h \ |
| 552 | $(SRC)/category.h \ | 585 | $(SRC)/category.h \ |
| 553 | $(SRC)/character.h \ | 586 | $(SRC)/keymap.h \ |
| 554 | $(SRC)/charset.h \ | 587 | $(CHARACTER_H) \ |
| 555 | $(SRC)/keymap.h | 588 | $(CHARSET_H) \ |
| 589 | $(CONFIG_H) \ | ||
| 590 | $(LISP_H) | ||
| 556 | 591 | ||
| 557 | $(BLD)/ccl.$(O) : \ | 592 | $(BLD)/ccl.$(O) : \ |
| 558 | $(SRC)/ccl.c \ | 593 | $(SRC)/ccl.c \ |
| 559 | $(CONFIG_H) \ | ||
| 560 | $(LISP_H) \ | ||
| 561 | $(SRC)/ccl.h \ | 594 | $(SRC)/ccl.h \ |
| 562 | $(SRC)/character.h \ | 595 | $(CHARACTER_H) \ |
| 563 | $(SRC)/charset.h \ | 596 | $(CHARSET_H) \ |
| 564 | $(SRC)/coding.h \ | 597 | $(CODING_H) \ |
| 565 | $(SRC)/composite.h | 598 | $(CONFIG_H) \ |
| 599 | $(LISP_H) | ||
| 566 | 600 | ||
| 567 | $(BLD)/character.$(O) : \ | 601 | $(BLD)/character.$(O) : \ |
| 568 | $(SRC)/character.c \ | 602 | $(SRC)/character.c \ |
| 569 | $(CONFIG_H) \ | ||
| 570 | $(LISP_H) \ | ||
| 571 | $(SRC)/buffer.h \ | 603 | $(SRC)/buffer.h \ |
| 572 | $(SRC)/character.h \ | ||
| 573 | $(SRC)/charset.h \ | ||
| 574 | $(SRC)/composite.h \ | 604 | $(SRC)/composite.h \ |
| 575 | $(SRC)/disptab.h | 605 | $(SRC)/disptab.h \ |
| 606 | $(GNU_LIB)/intprops.h \ | ||
| 607 | $(CHARACTER_H) \ | ||
| 608 | $(CHARSET_H) \ | ||
| 609 | $(CONFIG_H) \ | ||
| 610 | $(LISP_H) | ||
| 576 | 611 | ||
| 577 | $(BLD)/charset.$(O) : \ | 612 | $(BLD)/charset.$(O) : \ |
| 578 | $(SRC)/charset.c \ | 613 | $(SRC)/charset.c \ |
| 579 | $(CONFIG_H) \ | ||
| 580 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 581 | $(LISP_H) \ | ||
| 582 | $(SRC)/buffer.h \ | 614 | $(SRC)/buffer.h \ |
| 583 | $(SRC)/character.h \ | 615 | $(SRC)/disptab.h \ |
| 584 | $(SRC)/charset.h \ | 616 | $(NT_INC)/unistd.h \ |
| 585 | $(SRC)/coding.h \ | 617 | $(CHARACTER_H) \ |
| 586 | $(SRC)/composite.h \ | 618 | $(CHARSET_H) \ |
| 587 | $(SRC)/disptab.h | 619 | $(CODING_H) \ |
| 620 | $(CONFIG_H) \ | ||
| 621 | $(LISP_H) | ||
| 588 | 622 | ||
| 589 | $(BLD)/chartab.$(O) : \ | 623 | $(BLD)/chartab.$(O) : \ |
| 590 | $(SRC)/chartab.c \ | 624 | $(SRC)/chartab.c \ |
| 591 | $(CONFIG_H) \ | ||
| 592 | $(LISP_H) \ | ||
| 593 | $(SRC)/ccl.h \ | 625 | $(SRC)/ccl.h \ |
| 594 | $(SRC)/character.h \ | 626 | $(CHARACTER_H) \ |
| 595 | $(SRC)/charset.h | 627 | $(CHARSET_H) \ |
| 628 | $(CONFIG_H) \ | ||
| 629 | $(LISP_H) | ||
| 596 | 630 | ||
| 597 | $(BLD)/cmds.$(O) : \ | 631 | $(BLD)/cmds.$(O) : \ |
| 598 | $(SRC)/cmds.c \ | 632 | $(SRC)/cmds.c \ |
| 599 | $(CONFIG_H) \ | ||
| 600 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 601 | $(LISP_H) \ | ||
| 602 | $(SRC)/buffer.h \ | 633 | $(SRC)/buffer.h \ |
| 603 | $(SRC)/character.h \ | ||
| 604 | $(SRC)/coding.h \ | ||
| 605 | $(SRC)/commands.h \ | 634 | $(SRC)/commands.h \ |
| 606 | $(SRC)/composite.h \ | ||
| 607 | $(SRC)/dispextern.h \ | ||
| 608 | $(SRC)/frame.h \ | ||
| 609 | $(SRC)/keyboard.h \ | ||
| 610 | $(SRC)/keymap.h \ | 635 | $(SRC)/keymap.h \ |
| 611 | $(SRC)/syntax.h \ | 636 | $(SRC)/syntax.h \ |
| 612 | $(SRC)/systime.h \ | 637 | $(CHARACTER_H) \ |
| 613 | $(SRC)/w32gui.h \ | 638 | $(CONFIG_H) \ |
| 614 | $(SRC)/window.h | 639 | $(DISPEXTERN_H) \ |
| 640 | $(FRAME_H) \ | ||
| 641 | $(KEYBOARD_H) \ | ||
| 642 | $(LISP_H) \ | ||
| 643 | $(WINDOW_H) | ||
| 615 | 644 | ||
| 616 | $(BLD)/coding.$(O) : \ | 645 | $(BLD)/coding.$(O) : \ |
| 617 | $(SRC)/coding.c \ | 646 | $(SRC)/coding.c \ |
| 618 | $(CONFIG_H) \ | ||
| 619 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 620 | $(LISP_H) \ | ||
| 621 | $(SRC)/buffer.h \ | 647 | $(SRC)/buffer.h \ |
| 622 | $(SRC)/ccl.h \ | 648 | $(SRC)/ccl.h \ |
| 623 | $(SRC)/character.h \ | ||
| 624 | $(SRC)/charset.h \ | ||
| 625 | $(SRC)/coding.h \ | ||
| 626 | $(SRC)/composite.h \ | 649 | $(SRC)/composite.h \ |
| 627 | $(SRC)/dispextern.h \ | 650 | $(CHARACTER_H) \ |
| 628 | $(SRC)/frame.h \ | 651 | $(CHARSET_H) \ |
| 629 | $(SRC)/systime.h \ | 652 | $(CODING_H) \ |
| 630 | $(SRC)/termhooks.h \ | 653 | $(CONFIG_H) \ |
| 631 | $(SRC)/w32gui.h \ | 654 | $(FRAME_H) \ |
| 632 | $(SRC)/window.h | 655 | $(LISP_H) \ |
| 656 | $(TERMHOOKS_H) \ | ||
| 657 | $(WINDOW_H) | ||
| 633 | 658 | ||
| 634 | $(BLD)/composite.$(O) : \ | 659 | $(BLD)/composite.$(O) : \ |
| 635 | $(SRC)/composite.c \ | 660 | $(SRC)/composite.c \ |
| 661 | $(SRC)/buffer.h \ | ||
| 662 | $(CHARACTER_H) \ | ||
| 663 | $(CODING_H) \ | ||
| 636 | $(CONFIG_H) \ | 664 | $(CONFIG_H) \ |
| 637 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | 665 | $(DISPEXTERN_H) \ |
| 666 | $(FONT_H) \ | ||
| 667 | $(FRAME_H) \ | ||
| 668 | $(INTERVALS_H) \ | ||
| 638 | $(LISP_H) \ | 669 | $(LISP_H) \ |
| 639 | $(SRC)/buffer.h \ | 670 | $(TERMHOOKS_H) \ |
| 640 | $(SRC)/ccl.h \ | 671 | $(WINDOW_H) |
| 641 | $(SRC)/character.h \ | ||
| 642 | $(SRC)/coding.h \ | ||
| 643 | $(SRC)/composite.h \ | ||
| 644 | $(SRC)/dispextern.h \ | ||
| 645 | $(SRC)/font.h \ | ||
| 646 | $(SRC)/frame.h \ | ||
| 647 | $(SRC)/intervals.h \ | ||
| 648 | $(SRC)/systime.h \ | ||
| 649 | $(SRC)/termhooks.h \ | ||
| 650 | $(SRC)/w32gui.h \ | ||
| 651 | $(SRC)/window.h | ||
| 652 | 672 | ||
| 653 | $(BLD)/data.$(O) : \ | 673 | $(BLD)/data.$(O) : \ |
| 654 | $(SRC)/data.c \ | 674 | $(SRC)/data.c \ |
| 655 | $(CONFIG_H) \ | ||
| 656 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 657 | $(LISP_H) \ | ||
| 658 | $(SRC)/buffer.h \ | 675 | $(SRC)/buffer.h \ |
| 659 | $(SRC)/ccl.h \ | ||
| 660 | $(SRC)/character.h \ | ||
| 661 | $(SRC)/coding.h \ | ||
| 662 | $(SRC)/composite.h \ | ||
| 663 | $(SRC)/dispextern.h \ | ||
| 664 | $(SRC)/font.h \ | ||
| 665 | $(SRC)/frame.h \ | ||
| 666 | $(SRC)/keyboard.h \ | ||
| 667 | $(SRC)/puresize.h \ | 676 | $(SRC)/puresize.h \ |
| 668 | $(SRC)/syssignal.h \ | 677 | $(SRC)/syssignal.h \ |
| 669 | $(SRC)/systime.h \ | 678 | $(GNU_LIB)/intprops.h \ |
| 670 | $(SRC)/termhooks.h \ | 679 | $(CHARACTER_H) \ |
| 671 | $(SRC)/w32gui.h | 680 | $(CONFIG_H) \ |
| 681 | $(FONT_H) \ | ||
| 682 | $(FRAME_H) \ | ||
| 683 | $(KEYBOARD_H) \ | ||
| 684 | $(LISP_H) \ | ||
| 685 | $(TERMHOOKS_H) | ||
| 672 | 686 | ||
| 673 | $(BLD)/dired.$(O) : \ | 687 | $(BLD)/dired.$(O) : \ |
| 674 | $(SRC)/dired.c \ | 688 | $(SRC)/dired.c \ |
| 675 | $(CONFIG_H) \ | ||
| 676 | $(EMACS_ROOT)/nt/inc/grp.h \ | ||
| 677 | $(EMACS_ROOT)/nt/inc/pwd.h \ | ||
| 678 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 679 | $(EMACS_ROOT)/nt/inc/sys/dir.h \ | ||
| 680 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 681 | $(EMACS_ROOT)/lib/filemode.h \ | ||
| 682 | $(LISP_H) \ | ||
| 683 | $(SRC)/atimer.h \ | ||
| 684 | $(SRC)/blockinput.h \ | ||
| 685 | $(SRC)/buffer.h \ | 689 | $(SRC)/buffer.h \ |
| 686 | $(SRC)/character.h \ | ||
| 687 | $(SRC)/charset.h \ | ||
| 688 | $(SRC)/coding.h \ | ||
| 689 | $(SRC)/commands.h \ | 690 | $(SRC)/commands.h \ |
| 690 | $(SRC)/composite.h \ | ||
| 691 | $(SRC)/ndir.h \ | ||
| 692 | $(SRC)/regex.h \ | 691 | $(SRC)/regex.h \ |
| 693 | $(SRC)/systime.h | 692 | $(NT_INC)/pwd.h \ |
| 693 | $(NT_INC)/sys/stat.h \ | ||
| 694 | $(NT_INC)/unistd.h \ | ||
| 695 | $(BLOCKINPUT_H) \ | ||
| 696 | $(CHARACTER_H) \ | ||
| 697 | $(CHARSET_H) \ | ||
| 698 | $(CODING_H) \ | ||
| 699 | $(CONFIG_H) \ | ||
| 700 | $(DIR_H) \ | ||
| 701 | $(FILEMODE_H) \ | ||
| 702 | $(GRP_H) \ | ||
| 703 | $(LISP_H) \ | ||
| 704 | $(SYSTIME_H) | ||
| 694 | 705 | ||
| 695 | $(BLD)/dispnew.$(O) : \ | 706 | $(BLD)/dispnew.$(O) : \ |
| 696 | $(SRC)/dispnew.c \ | 707 | $(SRC)/dispnew.c \ |
| 697 | $(CONFIG_H) \ | ||
| 698 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 699 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 700 | $(LISP_H) \ | ||
| 701 | $(PROCESS_H) \ | ||
| 702 | $(SRC)/atimer.h \ | ||
| 703 | $(SRC)/blockinput.h \ | ||
| 704 | $(SRC)/buffer.h \ | 708 | $(SRC)/buffer.h \ |
| 705 | $(SRC)/character.h \ | ||
| 706 | $(SRC)/cm.h \ | 709 | $(SRC)/cm.h \ |
| 707 | $(SRC)/coding.h \ | ||
| 708 | $(SRC)/commands.h \ | 710 | $(SRC)/commands.h \ |
| 709 | $(SRC)/composite.h \ | ||
| 710 | $(SRC)/dispextern.h \ | ||
| 711 | $(SRC)/disptab.h \ | 711 | $(SRC)/disptab.h \ |
| 712 | $(SRC)/frame.h \ | ||
| 713 | $(SRC)/indent.h \ | 712 | $(SRC)/indent.h \ |
| 714 | $(SRC)/intervals.h \ | ||
| 715 | $(SRC)/keyboard.h \ | ||
| 716 | $(SRC)/syssignal.h \ | 713 | $(SRC)/syssignal.h \ |
| 717 | $(SRC)/systime.h \ | ||
| 718 | $(SRC)/termchar.h \ | 714 | $(SRC)/termchar.h \ |
| 719 | $(SRC)/termhooks.h \ | ||
| 720 | $(SRC)/termopts.h \ | 715 | $(SRC)/termopts.h \ |
| 721 | $(SRC)/w32gui.h \ | 716 | $(NT_INC)/unistd.h \ |
| 722 | $(SRC)/w32term.h \ | 717 | $(BLOCKINPUT_H) \ |
| 723 | $(SRC)/window.h | 718 | $(CHARACTER_H) \ |
| 719 | $(CONFIG_H) \ | ||
| 720 | $(DISPEXTERN_H) \ | ||
| 721 | $(FRAME_H) \ | ||
| 722 | $(INTERVALS_H) \ | ||
| 723 | $(KEYBOARD_H) \ | ||
| 724 | $(LISP_H) \ | ||
| 725 | $(PROCESS_H) \ | ||
| 726 | $(SYSTIME_H) \ | ||
| 727 | $(TERMHOOKS_H) \ | ||
| 728 | $(W32TERM_H) \ | ||
| 729 | $(WINDOW_H) | ||
| 724 | 730 | ||
| 725 | $(BLD)/doc.$(O) : \ | 731 | $(BLD)/doc.$(O) : \ |
| 726 | $(SRC)/doc.c \ | 732 | $(SRC)/doc.c \ |
| 727 | $(CONFIG_H) \ | ||
| 728 | buildobj.h \ | ||
| 729 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 730 | $(EMACS_ROOT)/nt/inc/sys/file.h \ | ||
| 731 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 732 | $(LISP_H) \ | ||
| 733 | $(SRC)/buffer.h \ | 733 | $(SRC)/buffer.h \ |
| 734 | $(SRC)/character.h \ | 734 | $(SRC)/buildobj.h \ |
| 735 | $(SRC)/coding.h \ | ||
| 736 | $(SRC)/composite.h \ | ||
| 737 | $(SRC)/keyboard.h \ | ||
| 738 | $(SRC)/keymap.h \ | 735 | $(SRC)/keymap.h \ |
| 739 | $(SRC)/systime.h | 736 | $(NT_INC)/sys/file.h \ |
| 737 | $(NT_INC)/unistd.h \ | ||
| 738 | $(CHARACTER_H) \ | ||
| 739 | $(CONFIG_H) \ | ||
| 740 | $(KEYBOARD_H) \ | ||
| 741 | $(LISP_H) | ||
| 740 | 742 | ||
| 741 | $(BLD)/doprnt.$(O) : \ | 743 | $(BLD)/doprnt.$(O) : \ |
| 742 | $(SRC)/doprnt.c \ | 744 | $(SRC)/doprnt.c \ |
| 745 | $(NT_INC)/unistd.h \ | ||
| 746 | $(CHARACTER_H) \ | ||
| 743 | $(CONFIG_H) \ | 747 | $(CONFIG_H) \ |
| 744 | $(EMACS_ROOT)/nt/inc/unistd.h \ | 748 | $(LISP_H) |
| 745 | $(LISP_H) \ | ||
| 746 | $(SRC)/character.h | ||
| 747 | 749 | ||
| 748 | $(BLD)/editfns.$(O) : \ | 750 | $(BLD)/editfns.$(O) : \ |
| 749 | $(SRC)/editfns.c \ | 751 | $(SRC)/editfns.c \ |
| 752 | $(SRC)/buffer.h \ | ||
| 753 | $(NT_INC)/pwd.h \ | ||
| 754 | $(NT_INC)/unistd.h \ | ||
| 755 | $(GNU_LIB)/intprops.h \ | ||
| 756 | $(GNU_LIB)/strftime.h \ | ||
| 757 | $(GNU_LIB)/verify.h \ | ||
| 758 | $(BLOCKINPUT_H) \ | ||
| 759 | $(CHARACTER_H) \ | ||
| 760 | $(CODING_H) \ | ||
| 750 | $(CONFIG_H) \ | 761 | $(CONFIG_H) \ |
| 751 | $(EMACS_ROOT)/nt/inc/pwd.h \ | 762 | $(FRAME_H) \ |
| 752 | $(EMACS_ROOT)/nt/inc/unistd.h \ | 763 | $(INTERVALS_H) \ |
| 753 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 754 | $(EMACS_ROOT)/lib/strftime.h \ | ||
| 755 | $(EMACS_ROOT)/lib/verify.h \ | ||
| 756 | $(LISP_H) \ | 764 | $(LISP_H) \ |
| 757 | $(SRC)/atimer.h \ | 765 | $(SYSTIME_H) \ |
| 758 | $(SRC)/blockinput.h \ | 766 | $(WINDOW_H) |
| 759 | $(SRC)/buffer.h \ | ||
| 760 | $(SRC)/character.h \ | ||
| 761 | $(SRC)/coding.h \ | ||
| 762 | $(SRC)/composite.h \ | ||
| 763 | $(SRC)/dispextern.h \ | ||
| 764 | $(SRC)/frame.h \ | ||
| 765 | $(SRC)/intervals.h \ | ||
| 766 | $(SRC)/systime.h \ | ||
| 767 | $(SRC)/w32gui.h \ | ||
| 768 | $(SRC)/window.h | ||
| 769 | 767 | ||
| 770 | $(BLD)/emacs.$(O) : \ | 768 | $(BLD)/emacs.$(O) : \ |
| 771 | $(SRC)/emacs.c \ | 769 | $(SRC)/emacs.c \ |
| 772 | $(CONFIG_H) \ | ||
| 773 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 774 | $(EMACS_ROOT)/nt/inc/sys/file.h \ | ||
| 775 | $(EMACS_ROOT)/nt/inc/sys/ioctl.h \ | ||
| 776 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 777 | $(LISP_H) \ | ||
| 778 | $(PROCESS_H) \ | ||
| 779 | $(SRC)/atimer.h \ | ||
| 780 | $(SRC)/blockinput.h \ | ||
| 781 | $(SRC)/buffer.h \ | 770 | $(SRC)/buffer.h \ |
| 782 | $(SRC)/coding.h \ | ||
| 783 | $(SRC)/commands.h \ | 771 | $(SRC)/commands.h \ |
| 784 | $(SRC)/composite.h \ | 772 | $(SRC)/gnutls.h \ |
| 785 | $(SRC)/dispextern.h \ | ||
| 786 | $(SRC)/frame.h \ | ||
| 787 | $(SRC)/intervals.h \ | ||
| 788 | $(SRC)/keyboard.h \ | ||
| 789 | $(SRC)/keymap.h \ | 773 | $(SRC)/keymap.h \ |
| 790 | $(SRC)/syssignal.h \ | 774 | $(SRC)/syssignal.h \ |
| 791 | $(SRC)/systime.h \ | ||
| 792 | $(SRC)/systty.h \ | ||
| 793 | $(SRC)/termhooks.h \ | ||
| 794 | $(SRC)/unexec.h \ | 775 | $(SRC)/unexec.h \ |
| 795 | $(SRC)/w32.h \ | 776 | $(SRC)/w32.h \ |
| 796 | $(SRC)/w32gui.h \ | ||
| 797 | $(SRC)/w32heap.h \ | 777 | $(SRC)/w32heap.h \ |
| 798 | $(SRC)/window.h | 778 | $(NT_INC)/sys/file.h \ |
| 779 | $(NT_INC)/unistd.h \ | ||
| 780 | $(BLOCKINPUT_H) \ | ||
| 781 | $(CONFIG_H) \ | ||
| 782 | $(FRAME_H) \ | ||
| 783 | $(INTERVALS_H) \ | ||
| 784 | $(KEYBOARD_H) \ | ||
| 785 | $(LISP_H) \ | ||
| 786 | $(PROCESS_H) \ | ||
| 787 | $(SYSTTY_H) \ | ||
| 788 | $(TERMHOOKS_H) \ | ||
| 789 | $(WINDOW_H) | ||
| 799 | 790 | ||
| 800 | $(BLD)/eval.$(O) : \ | 791 | $(BLD)/eval.$(O) : \ |
| 801 | $(SRC)/eval.c \ | 792 | $(SRC)/eval.c \ |
| 802 | $(CONFIG_H) \ | ||
| 803 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 804 | $(LISP_H) \ | ||
| 805 | $(SRC)/atimer.h \ | ||
| 806 | $(SRC)/blockinput.h \ | ||
| 807 | $(SRC)/coding.h \ | ||
| 808 | $(SRC)/commands.h \ | 793 | $(SRC)/commands.h \ |
| 809 | $(SRC)/composite.h \ | 794 | $(BLOCKINPUT_H) \ |
| 810 | $(SRC)/dispextern.h \ | 795 | $(CONFIG_H) \ |
| 811 | $(SRC)/frame.h \ | 796 | $(DISPEXTERN_H) \ |
| 812 | $(SRC)/keyboard.h \ | 797 | $(FRAME_H) \ |
| 813 | $(SRC)/systime.h \ | 798 | $(KEYBOARD_H) \ |
| 814 | $(SRC)/w32gui.h | 799 | $(LISP_H) |
| 815 | 800 | ||
| 816 | $(BLD)/fileio.$(O) : \ | 801 | $(BLD)/fileio.$(O) : \ |
| 817 | $(SRC)/fileio.c \ | 802 | $(SRC)/fileio.c \ |
| 818 | $(CONFIG_H) \ | ||
| 819 | $(EMACS_ROOT)/nt/inc/pwd.h \ | ||
| 820 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 821 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 822 | $(LISP_H) \ | ||
| 823 | $(SRC)/atimer.h \ | ||
| 824 | $(SRC)/blockinput.h \ | ||
| 825 | $(SRC)/buffer.h \ | 803 | $(SRC)/buffer.h \ |
| 826 | $(SRC)/character.h \ | ||
| 827 | $(SRC)/coding.h \ | ||
| 828 | $(SRC)/commands.h \ | 804 | $(SRC)/commands.h \ |
| 829 | $(SRC)/composite.h \ | 805 | $(NT_INC)/pwd.h \ |
| 830 | $(SRC)/dispextern.h \ | 806 | $(NT_INC)/sys/stat.h \ |
| 831 | $(SRC)/frame.h \ | 807 | $(NT_INC)/unistd.h \ |
| 832 | $(SRC)/intervals.h \ | 808 | $(BLOCKINPUT_H) \ |
| 833 | $(SRC)/systime.h \ | 809 | $(CHARACTER_H) \ |
| 834 | $(SRC)/w32gui.h \ | 810 | $(CODING_H) \ |
| 835 | $(SRC)/window.h | 811 | $(CONFIG_H) \ |
| 812 | $(DISPEXTERN_H) \ | ||
| 813 | $(FRAME_H) \ | ||
| 814 | $(INTERVALS_H) \ | ||
| 815 | $(LISP_H) \ | ||
| 816 | $(SYSTIME_H) \ | ||
| 817 | $(WINDOW_H) | ||
| 836 | 818 | ||
| 837 | $(BLD)/filelock.$(O) : \ | 819 | $(BLD)/filelock.$(O) : \ |
| 838 | $(SRC)/filelock.c \ | 820 | $(SRC)/filelock.c \ |
| 821 | $(SRC)/buffer.h \ | ||
| 822 | $(NT_INC)/pwd.h \ | ||
| 823 | $(NT_INC)/sys/file.h \ | ||
| 824 | $(NT_INC)/sys/stat.h \ | ||
| 825 | $(NT_INC)/unistd.h \ | ||
| 826 | $(CHARACTER_H) \ | ||
| 827 | $(CODING_H) \ | ||
| 839 | $(CONFIG_H) \ | 828 | $(CONFIG_H) \ |
| 840 | $(EMACS_ROOT)/nt/inc/pwd.h \ | ||
| 841 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 842 | $(EMACS_ROOT)/nt/inc/sys/file.h \ | ||
| 843 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 844 | $(LISP_H) \ | 829 | $(LISP_H) \ |
| 845 | $(SRC)/buffer.h \ | 830 | $(SYSTIME_H) |
| 846 | $(SRC)/character.h \ | ||
| 847 | $(SRC)/coding.h \ | ||
| 848 | $(SRC)/composite.h \ | ||
| 849 | $(SRC)/systime.h | ||
| 850 | 831 | ||
| 851 | $(BLD)/firstfile.$(O) : \ | 832 | $(BLD)/firstfile.$(O) : \ |
| 852 | $(SRC)/firstfile.c \ | 833 | $(SRC)/firstfile.c \ |
| @@ -854,271 +835,213 @@ $(BLD)/firstfile.$(O) : \ | |||
| 854 | 835 | ||
| 855 | $(BLD)/floatfns.$(O) : \ | 836 | $(BLD)/floatfns.$(O) : \ |
| 856 | $(SRC)/floatfns.c \ | 837 | $(SRC)/floatfns.c \ |
| 838 | $(SRC)/syssignal.h \ | ||
| 857 | $(CONFIG_H) \ | 839 | $(CONFIG_H) \ |
| 858 | $(LISP_H) \ | 840 | $(LISP_H) |
| 859 | $(SRC)/syssignal.h | ||
| 860 | 841 | ||
| 861 | $(BLD)/fns.$(O) : \ | 842 | $(BLD)/fns.$(O) : \ |
| 862 | $(SRC)/fns.c \ | 843 | $(SRC)/fns.c \ |
| 863 | $(CONFIG_H) \ | ||
| 864 | $(EMACS_ROOT)/nt/inc/langinfo.h \ | ||
| 865 | $(EMACS_ROOT)/nt/inc/nl_types.h \ | ||
| 866 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 867 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 868 | $(EMACS_ROOT)/lib/md5.h \ | ||
| 869 | $(EMACS_ROOT)/lib/sha1.h \ | ||
| 870 | $(EMACS_ROOT)/lib/sha256.h \ | ||
| 871 | $(EMACS_ROOT)/lib/sha512.h \ | ||
| 872 | $(LISP_H) \ | ||
| 873 | $(SRC)/atimer.h \ | ||
| 874 | $(SRC)/blockinput.h \ | ||
| 875 | $(SRC)/buffer.h \ | 844 | $(SRC)/buffer.h \ |
| 876 | $(SRC)/character.h \ | ||
| 877 | $(SRC)/coding.h \ | ||
| 878 | $(SRC)/commands.h \ | 845 | $(SRC)/commands.h \ |
| 879 | $(SRC)/composite.h \ | ||
| 880 | $(SRC)/dispextern.h \ | ||
| 881 | $(SRC)/frame.h \ | ||
| 882 | $(SRC)/intervals.h \ | ||
| 883 | $(SRC)/keyboard.h \ | ||
| 884 | $(SRC)/keymap.h \ | 846 | $(SRC)/keymap.h \ |
| 885 | $(SRC)/systime.h \ | 847 | $(NT_INC)/unistd.h \ |
| 886 | $(SRC)/w32gui.h \ | 848 | $(GNU_LIB)/intprops.h \ |
| 887 | $(SRC)/window.h | 849 | $(BLOCKINPUT_H) \ |
| 850 | $(CHARACTER_H) \ | ||
| 851 | $(CODING_H) \ | ||
| 852 | $(CONFIG_H) \ | ||
| 853 | $(FRAME_H) \ | ||
| 854 | $(INTERVALS_H) \ | ||
| 855 | $(KEYBOARD_H) \ | ||
| 856 | $(LANGINFO_H) \ | ||
| 857 | $(LISP_H) \ | ||
| 858 | $(MD5_H) \ | ||
| 859 | $(SHA1_H) \ | ||
| 860 | $(SHA256_H) \ | ||
| 861 | $(SHA512_H) \ | ||
| 862 | $(WINDOW_H) | ||
| 888 | 863 | ||
| 889 | $(BLD)/font.$(O) : \ | 864 | $(BLD)/font.$(O) : \ |
| 890 | $(SRC)/font.c \ | 865 | $(SRC)/font.c \ |
| 891 | $(CONFIG_H) \ | ||
| 892 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 893 | $(LISP_H) \ | ||
| 894 | $(SRC)/buffer.h \ | 866 | $(SRC)/buffer.h \ |
| 895 | $(SRC)/ccl.h \ | ||
| 896 | $(SRC)/character.h \ | ||
| 897 | $(SRC)/charset.h \ | ||
| 898 | $(SRC)/composite.h \ | 867 | $(SRC)/composite.h \ |
| 899 | $(SRC)/dispextern.h \ | ||
| 900 | $(SRC)/font.h \ | ||
| 901 | $(SRC)/fontset.h \ | 868 | $(SRC)/fontset.h \ |
| 902 | $(SRC)/frame.h \ | 869 | $(CHARACTER_H) \ |
| 903 | $(SRC)/systime.h \ | 870 | $(CHARSET_H) \ |
| 904 | $(SRC)/w32gui.h \ | 871 | $(CONFIG_H) \ |
| 905 | $(SRC)/w32term.h \ | 872 | $(DISPEXTERN_H) \ |
| 906 | $(SRC)/window.h | 873 | $(FONT_H) \ |
| 874 | $(FRAME_H) \ | ||
| 875 | $(LISP_H) \ | ||
| 876 | $(W32TERM_H) \ | ||
| 877 | $(WINDOW_H) | ||
| 907 | 878 | ||
| 908 | $(BLD)/fontset.$(O) : \ | 879 | $(BLD)/fontset.$(O) : \ |
| 909 | $(SRC)/fontset.c \ | 880 | $(SRC)/fontset.c \ |
| 910 | $(CONFIG_H) \ | ||
| 911 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 912 | $(LISP_H) \ | ||
| 913 | $(SRC)/atimer.h \ | ||
| 914 | $(SRC)/blockinput.h \ | ||
| 915 | $(SRC)/buffer.h \ | 881 | $(SRC)/buffer.h \ |
| 916 | $(SRC)/ccl.h \ | 882 | $(SRC)/ccl.h \ |
| 917 | $(SRC)/character.h \ | ||
| 918 | $(SRC)/charset.h \ | ||
| 919 | $(SRC)/coding.h \ | ||
| 920 | $(SRC)/composite.h \ | ||
| 921 | $(SRC)/dispextern.h \ | ||
| 922 | $(SRC)/font.h \ | ||
| 923 | $(SRC)/fontset.h \ | 883 | $(SRC)/fontset.h \ |
| 924 | $(SRC)/frame.h \ | 884 | $(BLOCKINPUT_H) \ |
| 925 | $(SRC)/intervals.h \ | 885 | $(CHARACTER_H) \ |
| 926 | $(SRC)/keyboard.h \ | 886 | $(CHARSET_H) \ |
| 927 | $(SRC)/systime.h \ | 887 | $(CONFIG_H) \ |
| 928 | $(SRC)/termhooks.h \ | 888 | $(DISPEXTERN_H) \ |
| 929 | $(SRC)/w32gui.h \ | 889 | $(FONT_H) \ |
| 930 | $(SRC)/w32term.h \ | 890 | $(FRAME_H) \ |
| 931 | $(SRC)/window.h | 891 | $(INTERVALS_H) \ |
| 892 | $(KEYBOARD_H) \ | ||
| 893 | $(LISP_H) \ | ||
| 894 | $(TERMHOOKS_H) \ | ||
| 895 | $(W32TERM_H) \ | ||
| 896 | $(WINDOW_H) | ||
| 932 | 897 | ||
| 933 | $(BLD)/frame.$(O) : \ | 898 | $(BLD)/frame.$(O) : \ |
| 934 | $(SRC)/frame.c \ | 899 | $(SRC)/frame.c \ |
| 935 | $(CONFIG_H) \ | ||
| 936 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 937 | $(LISP_H) \ | ||
| 938 | $(SRC)/atimer.h \ | ||
| 939 | $(SRC)/blockinput.h \ | ||
| 940 | $(SRC)/buffer.h \ | 900 | $(SRC)/buffer.h \ |
| 941 | $(SRC)/ccl.h \ | ||
| 942 | $(SRC)/character.h \ | ||
| 943 | $(SRC)/coding.h \ | ||
| 944 | $(SRC)/commands.h \ | 901 | $(SRC)/commands.h \ |
| 945 | $(SRC)/composite.h \ | ||
| 946 | $(SRC)/dispextern.h \ | ||
| 947 | $(SRC)/font.h \ | ||
| 948 | $(SRC)/fontset.h \ | 902 | $(SRC)/fontset.h \ |
| 949 | $(SRC)/frame.h \ | ||
| 950 | $(SRC)/keyboard.h \ | ||
| 951 | $(SRC)/systime.h \ | ||
| 952 | $(SRC)/termchar.h \ | 903 | $(SRC)/termchar.h \ |
| 953 | $(SRC)/termhooks.h \ | 904 | $(BLOCKINPUT_H) \ |
| 954 | $(SRC)/w32gui.h \ | 905 | $(CHARACTER_H) \ |
| 955 | $(SRC)/w32term.h \ | 906 | $(CONFIG_H) \ |
| 956 | $(SRC)/window.h | 907 | $(DISPEXTERN_H) \ |
| 908 | $(FONT_H) \ | ||
| 909 | $(FRAME_H) \ | ||
| 910 | $(KEYBOARD_H) \ | ||
| 911 | $(LISP_H) \ | ||
| 912 | $(TERMHOOKS_H) \ | ||
| 913 | $(W32TERM_H) \ | ||
| 914 | $(WINDOW_H) | ||
| 957 | 915 | ||
| 958 | $(BLD)/fringe.$(O) : \ | 916 | $(BLD)/fringe.$(O) : \ |
| 959 | $(SRC)/fringe.c \ | 917 | $(SRC)/fringe.c \ |
| 918 | $(SRC)/buffer.h \ | ||
| 919 | $(BLOCKINPUT_H) \ | ||
| 960 | $(CONFIG_H) \ | 920 | $(CONFIG_H) \ |
| 961 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | 921 | $(DISPEXTERN_H) \ |
| 922 | $(FRAME_H) \ | ||
| 962 | $(LISP_H) \ | 923 | $(LISP_H) \ |
| 963 | $(SRC)/atimer.h \ | 924 | $(TERMHOOKS_H) \ |
| 964 | $(SRC)/blockinput.h \ | 925 | $(WINDOW_H) |
| 965 | $(SRC)/buffer.h \ | ||
| 966 | $(SRC)/dispextern.h \ | ||
| 967 | $(SRC)/frame.h \ | ||
| 968 | $(SRC)/systime.h \ | ||
| 969 | $(SRC)/termhooks.h \ | ||
| 970 | $(SRC)/w32gui.h \ | ||
| 971 | $(SRC)/window.h | ||
| 972 | 926 | ||
| 973 | $(BLD)/gmalloc.$(O) : \ | 927 | $(BLD)/gmalloc.$(O) : \ |
| 974 | $(SRC)/gmalloc.c \ | 928 | $(SRC)/gmalloc.c \ |
| 975 | $(CONFIG_H) \ | 929 | $(SRC)/getpagesize.h \ |
| 976 | $(EMACS_ROOT)/nt/inc/unistd.h \ | 930 | $(NT_INC)/unistd.h \ |
| 977 | $(SRC)/getpagesize.h | 931 | $(CONFIG_H) |
| 978 | 932 | ||
| 979 | $(BLD)/gnutls.$(O) : \ | 933 | $(BLD)/gnutls.$(O) : \ |
| 980 | $(SRC)/gnutls.c \ | 934 | $(SRC)/gnutls.c \ |
| 935 | $(SRC)/w32.h \ | ||
| 981 | $(CONFIG_H) \ | 936 | $(CONFIG_H) \ |
| 982 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 983 | $(LISP_H) \ | 937 | $(LISP_H) \ |
| 984 | $(PROCESS_H) \ | 938 | $(PROCESS_H) |
| 985 | $(SRC)/w32.h | ||
| 986 | 939 | ||
| 987 | $(BLD)/image.$(O) : \ | 940 | $(BLD)/image.$(O) : \ |
| 988 | $(SRC)/image.c \ | 941 | $(SRC)/image.c \ |
| 989 | $(CONFIG_H) \ | ||
| 990 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 991 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 992 | $(LISP_H) \ | ||
| 993 | $(SRC)/atimer.h \ | ||
| 994 | $(SRC)/blockinput.h \ | ||
| 995 | $(SRC)/ccl.h \ | ||
| 996 | $(SRC)/character.h \ | ||
| 997 | $(SRC)/coding.h \ | ||
| 998 | $(SRC)/composite.h \ | ||
| 999 | $(SRC)/dispextern.h \ | ||
| 1000 | $(SRC)/epaths.h \ | 942 | $(SRC)/epaths.h \ |
| 1001 | $(SRC)/font.h \ | ||
| 1002 | $(SRC)/frame.h \ | ||
| 1003 | $(SRC)/systime.h \ | ||
| 1004 | $(SRC)/termhooks.h \ | ||
| 1005 | $(SRC)/w32.h \ | 943 | $(SRC)/w32.h \ |
| 1006 | $(SRC)/w32gui.h \ | 944 | $(NT_INC)/unistd.h \ |
| 1007 | $(SRC)/w32term.h \ | 945 | $(BLOCKINPUT_H) \ |
| 1008 | $(SRC)/window.h | 946 | $(CHARACTER_H) \ |
| 947 | $(CODING_H) \ | ||
| 948 | $(CONFIG_H) \ | ||
| 949 | $(DISPEXTERN_H) \ | ||
| 950 | $(FONT_H) \ | ||
| 951 | $(FRAME_H) \ | ||
| 952 | $(LISP_H) \ | ||
| 953 | $(SYSTIME_H) \ | ||
| 954 | $(TERMHOOKS_H) \ | ||
| 955 | $(W32TERM_H) \ | ||
| 956 | $(WINDOW_H) | ||
| 1009 | 957 | ||
| 1010 | $(BLD)/indent.$(O) : \ | 958 | $(BLD)/indent.$(O) : \ |
| 1011 | $(SRC)/indent.c \ | 959 | $(SRC)/indent.c \ |
| 1012 | $(CONFIG_H) \ | ||
| 1013 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1014 | $(LISP_H) \ | ||
| 1015 | $(SRC)/buffer.h \ | 960 | $(SRC)/buffer.h \ |
| 1016 | $(SRC)/category.h \ | 961 | $(SRC)/category.h \ |
| 1017 | $(SRC)/character.h \ | ||
| 1018 | $(SRC)/coding.h \ | ||
| 1019 | $(SRC)/composite.h \ | 962 | $(SRC)/composite.h \ |
| 1020 | $(SRC)/dispextern.h \ | ||
| 1021 | $(SRC)/disptab.h \ | 963 | $(SRC)/disptab.h \ |
| 1022 | $(SRC)/frame.h \ | ||
| 1023 | $(SRC)/indent.h \ | 964 | $(SRC)/indent.h \ |
| 1024 | $(SRC)/intervals.h \ | ||
| 1025 | $(SRC)/keyboard.h \ | ||
| 1026 | $(SRC)/region-cache.h \ | 965 | $(SRC)/region-cache.h \ |
| 1027 | $(SRC)/systime.h \ | ||
| 1028 | $(SRC)/termchar.h \ | 966 | $(SRC)/termchar.h \ |
| 1029 | $(SRC)/termopts.h \ | 967 | $(SRC)/termopts.h \ |
| 1030 | $(SRC)/w32gui.h \ | 968 | $(CHARACTER_H) \ |
| 1031 | $(SRC)/window.h | 969 | $(CONFIG_H) \ |
| 970 | $(DISPEXTERN_H) \ | ||
| 971 | $(FRAME_H) \ | ||
| 972 | $(INTERVALS_H) \ | ||
| 973 | $(KEYBOARD_H) \ | ||
| 974 | $(LISP_H) \ | ||
| 975 | $(WINDOW_H) | ||
| 1032 | 976 | ||
| 1033 | $(BLD)/insdel.$(O) : \ | 977 | $(BLD)/insdel.$(O) : \ |
| 1034 | $(SRC)/insdel.c \ | 978 | $(SRC)/insdel.c \ |
| 1035 | $(CONFIG_H) \ | ||
| 1036 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1037 | $(LISP_H) \ | ||
| 1038 | $(SRC)/atimer.h \ | ||
| 1039 | $(SRC)/blockinput.h \ | ||
| 1040 | $(SRC)/buffer.h \ | 979 | $(SRC)/buffer.h \ |
| 1041 | $(SRC)/character.h \ | ||
| 1042 | $(SRC)/composite.h \ | ||
| 1043 | $(SRC)/dispextern.h \ | ||
| 1044 | $(SRC)/intervals.h \ | ||
| 1045 | $(SRC)/region-cache.h \ | 980 | $(SRC)/region-cache.h \ |
| 1046 | $(SRC)/systime.h \ | 981 | $(GNU_LIB)/intprops.h \ |
| 1047 | $(SRC)/w32gui.h \ | 982 | $(BLOCKINPUT_H) \ |
| 1048 | $(SRC)/window.h | 983 | $(CHARACTER_H) \ |
| 984 | $(CONFIG_H) \ | ||
| 985 | $(INTERVALS_H) \ | ||
| 986 | $(LISP_H) \ | ||
| 987 | $(WINDOW_H) | ||
| 1049 | 988 | ||
| 1050 | $(BLD)/intervals.$(O) : \ | 989 | $(BLD)/intervals.$(O) : \ |
| 1051 | $(SRC)/intervals.c \ | 990 | $(SRC)/intervals.c \ |
| 1052 | $(CONFIG_H) \ | ||
| 1053 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1054 | $(LISP_H) \ | ||
| 1055 | $(SRC)/buffer.h \ | 991 | $(SRC)/buffer.h \ |
| 1056 | $(SRC)/coding.h \ | ||
| 1057 | $(SRC)/composite.h \ | ||
| 1058 | $(SRC)/dispextern.h \ | ||
| 1059 | $(SRC)/intervals.h \ | ||
| 1060 | $(SRC)/keyboard.h \ | ||
| 1061 | $(SRC)/keymap.h \ | 992 | $(SRC)/keymap.h \ |
| 1062 | $(SRC)/puresize.h \ | 993 | $(SRC)/puresize.h \ |
| 1063 | $(SRC)/systime.h \ | 994 | $(GNU_LIB)/intprops.h \ |
| 1064 | $(SRC)/w32gui.h | 995 | $(CONFIG_H) \ |
| 996 | $(INTERVALS_H) \ | ||
| 997 | $(KEYBOARD_H) \ | ||
| 998 | $(LISP_H) | ||
| 1065 | 999 | ||
| 1066 | $(BLD)/keyboard.$(O) : \ | 1000 | $(BLD)/keyboard.$(O) : \ |
| 1067 | $(SRC)/keyboard.c \ | 1001 | $(SRC)/keyboard.c \ |
| 1068 | $(CONFIG_H) \ | ||
| 1069 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 1070 | $(EMACS_ROOT)/nt/inc/sys/ioctl.h \ | ||
| 1071 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1072 | $(LISP_H) \ | ||
| 1073 | $(PROCESS_H) \ | ||
| 1074 | $(SRC)/atimer.h \ | ||
| 1075 | $(SRC)/blockinput.h \ | ||
| 1076 | $(SRC)/buffer.h \ | 1002 | $(SRC)/buffer.h \ |
| 1077 | $(SRC)/character.h \ | ||
| 1078 | $(SRC)/coding.h \ | ||
| 1079 | $(SRC)/commands.h \ | 1003 | $(SRC)/commands.h \ |
| 1080 | $(SRC)/composite.h \ | ||
| 1081 | $(SRC)/dispextern.h \ | ||
| 1082 | $(SRC)/disptab.h \ | 1004 | $(SRC)/disptab.h \ |
| 1083 | $(SRC)/frame.h \ | ||
| 1084 | $(SRC)/intervals.h \ | ||
| 1085 | $(SRC)/keyboard.h \ | ||
| 1086 | $(SRC)/keymap.h \ | 1005 | $(SRC)/keymap.h \ |
| 1087 | $(SRC)/macros.h \ | 1006 | $(SRC)/macros.h \ |
| 1088 | $(SRC)/puresize.h \ | 1007 | $(SRC)/puresize.h \ |
| 1089 | $(SRC)/syntax.h \ | 1008 | $(SRC)/syntax.h \ |
| 1090 | $(SRC)/syssignal.h \ | 1009 | $(SRC)/syssignal.h \ |
| 1091 | $(SRC)/systime.h \ | ||
| 1092 | $(SRC)/termchar.h \ | 1010 | $(SRC)/termchar.h \ |
| 1093 | $(SRC)/termhooks.h \ | ||
| 1094 | $(SRC)/termopts.h \ | 1011 | $(SRC)/termopts.h \ |
| 1095 | $(SRC)/w32gui.h \ | 1012 | $(NT_INC)/sys/ioctl.h \ |
| 1096 | $(SRC)/w32term.h \ | 1013 | $(NT_INC)/unistd.h \ |
| 1097 | $(SRC)/window.h | 1014 | $(ATIMER_H) \ |
| 1015 | $(BLOCKINPUT_H) \ | ||
| 1016 | $(CHARACTER_H) \ | ||
| 1017 | $(CONFIG_H) \ | ||
| 1018 | $(DISPEXTERN_H) \ | ||
| 1019 | $(FRAME_H) \ | ||
| 1020 | $(INTERVALS_H) \ | ||
| 1021 | $(KEYBOARD_H) \ | ||
| 1022 | $(LISP_H) \ | ||
| 1023 | $(PROCESS_H) \ | ||
| 1024 | $(SYSTIME_H) \ | ||
| 1025 | $(TERMHOOKS_H) \ | ||
| 1026 | $(W32TERM_H) \ | ||
| 1027 | $(WINDOW_H) | ||
| 1098 | 1028 | ||
| 1099 | $(BLD)/keymap.$(O) : \ | 1029 | $(BLD)/keymap.$(O) : \ |
| 1100 | $(SRC)/keymap.c \ | 1030 | $(SRC)/keymap.c \ |
| 1101 | $(CONFIG_H) \ | ||
| 1102 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1103 | $(LISP_H) \ | ||
| 1104 | $(SRC)/atimer.h \ | ||
| 1105 | $(SRC)/blockinput.h \ | ||
| 1106 | $(SRC)/buffer.h \ | 1031 | $(SRC)/buffer.h \ |
| 1107 | $(SRC)/character.h \ | ||
| 1108 | $(SRC)/charset.h \ | ||
| 1109 | $(SRC)/coding.h \ | ||
| 1110 | $(SRC)/commands.h \ | 1032 | $(SRC)/commands.h \ |
| 1111 | $(SRC)/composite.h \ | ||
| 1112 | $(SRC)/dispextern.h \ | ||
| 1113 | $(SRC)/frame.h \ | ||
| 1114 | $(SRC)/intervals.h \ | ||
| 1115 | $(SRC)/keyboard.h \ | ||
| 1116 | $(SRC)/keymap.h \ | 1033 | $(SRC)/keymap.h \ |
| 1117 | $(SRC)/puresize.h \ | 1034 | $(SRC)/puresize.h \ |
| 1118 | $(SRC)/systime.h \ | 1035 | $(BLOCKINPUT_H) \ |
| 1119 | $(SRC)/termhooks.h \ | 1036 | $(CHARACTER_H) \ |
| 1120 | $(SRC)/w32gui.h \ | 1037 | $(CHARSET_H) \ |
| 1121 | $(SRC)/window.h | 1038 | $(CONFIG_H) \ |
| 1039 | $(FRAME_H) \ | ||
| 1040 | $(INTERVALS_H) \ | ||
| 1041 | $(KEYBOARD_H) \ | ||
| 1042 | $(LISP_H) \ | ||
| 1043 | $(TERMHOOKS_H) \ | ||
| 1044 | $(WINDOW_H) | ||
| 1122 | 1045 | ||
| 1123 | $(BLD)/lastfile.$(O) : \ | 1046 | $(BLD)/lastfile.$(O) : \ |
| 1124 | $(SRC)/lastfile.c \ | 1047 | $(SRC)/lastfile.c \ |
| @@ -1126,714 +1049,560 @@ $(BLD)/lastfile.$(O) : \ | |||
| 1126 | 1049 | ||
| 1127 | $(BLD)/lread.$(O) : \ | 1050 | $(BLD)/lread.$(O) : \ |
| 1128 | $(SRC)/lread.c \ | 1051 | $(SRC)/lread.c \ |
| 1129 | $(CONFIG_H) \ | ||
| 1130 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 1131 | $(EMACS_ROOT)/nt/inc/sys/file.h \ | ||
| 1132 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1133 | $(LISP_H) \ | ||
| 1134 | $(SRC)/atimer.h \ | ||
| 1135 | $(SRC)/blockinput.h \ | ||
| 1136 | $(SRC)/buffer.h \ | 1052 | $(SRC)/buffer.h \ |
| 1137 | $(SRC)/character.h \ | ||
| 1138 | $(SRC)/charset.h \ | ||
| 1139 | $(SRC)/coding.h \ | ||
| 1140 | $(SRC)/commands.h \ | 1053 | $(SRC)/commands.h \ |
| 1141 | $(SRC)/composite.h \ | ||
| 1142 | $(SRC)/dispextern.h \ | ||
| 1143 | $(SRC)/epaths.h \ | 1054 | $(SRC)/epaths.h \ |
| 1144 | $(SRC)/frame.h \ | 1055 | $(NT_INC)/sys/file.h \ |
| 1145 | $(SRC)/intervals.h \ | 1056 | $(NT_INC)/sys/stat.h \ |
| 1146 | $(SRC)/keyboard.h \ | 1057 | $(NT_INC)/unistd.h \ |
| 1147 | $(SRC)/systime.h \ | 1058 | $(BLOCKINPUT_H) \ |
| 1148 | $(SRC)/termhooks.h \ | 1059 | $(CHARACTER_H) \ |
| 1149 | $(SRC)/w32gui.h | 1060 | $(CHARSET_H) \ |
| 1061 | $(CODING_H) \ | ||
| 1062 | $(CONFIG_H) \ | ||
| 1063 | $(FRAME_H) \ | ||
| 1064 | $(INTERVALS_H) \ | ||
| 1065 | $(KEYBOARD_H) \ | ||
| 1066 | $(LISP_H) \ | ||
| 1067 | $(TERMHOOKS_H) | ||
| 1150 | 1068 | ||
| 1151 | $(BLD)/macros.$(O) : \ | 1069 | $(BLD)/macros.$(O) : \ |
| 1152 | $(SRC)/macros.c \ | 1070 | $(SRC)/macros.c \ |
| 1153 | $(CONFIG_H) \ | ||
| 1154 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1155 | $(LISP_H) \ | ||
| 1156 | $(SRC)/buffer.h \ | 1071 | $(SRC)/buffer.h \ |
| 1157 | $(SRC)/coding.h \ | ||
| 1158 | $(SRC)/commands.h \ | 1072 | $(SRC)/commands.h \ |
| 1159 | $(SRC)/composite.h \ | ||
| 1160 | $(SRC)/dispextern.h \ | ||
| 1161 | $(SRC)/keyboard.h \ | ||
| 1162 | $(SRC)/macros.h \ | 1073 | $(SRC)/macros.h \ |
| 1163 | $(SRC)/systime.h \ | 1074 | $(CONFIG_H) \ |
| 1164 | $(SRC)/w32gui.h \ | 1075 | $(KEYBOARD_H) \ |
| 1165 | $(SRC)/window.h | 1076 | $(LISP_H) \ |
| 1077 | $(WINDOW_H) | ||
| 1166 | 1078 | ||
| 1167 | $(BLD)/marker.$(O) : \ | 1079 | $(BLD)/marker.$(O) : \ |
| 1168 | $(SRC)/marker.c \ | 1080 | $(SRC)/marker.c \ |
| 1169 | $(CONFIG_H) \ | ||
| 1170 | $(LISP_H) \ | ||
| 1171 | $(SRC)/buffer.h \ | 1081 | $(SRC)/buffer.h \ |
| 1172 | $(SRC)/character.h | 1082 | $(CHARACTER_H) \ |
| 1083 | $(CONFIG_H) \ | ||
| 1084 | $(LISP_H) | ||
| 1173 | 1085 | ||
| 1174 | $(BLD)/menu.$(O) : \ | 1086 | $(BLD)/menu.$(O) : \ |
| 1175 | $(SRC)/menu.c \ | 1087 | $(SRC)/menu.c \ |
| 1088 | $(SRC)/keymap.h \ | ||
| 1089 | $(BLOCKINPUT_H) \ | ||
| 1176 | $(CONFIG_H) \ | 1090 | $(CONFIG_H) \ |
| 1177 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | 1091 | $(DISPEXTERN_H) \ |
| 1092 | $(FRAME_H) \ | ||
| 1093 | $(KEYBOARD_H) \ | ||
| 1178 | $(LISP_H) \ | 1094 | $(LISP_H) \ |
| 1179 | $(SRC)/atimer.h \ | 1095 | $(MENU_H) \ |
| 1180 | $(SRC)/blockinput.h \ | 1096 | $(TERMHOOKS_H) \ |
| 1181 | $(SRC)/coding.h \ | 1097 | $(W32TERM_H) \ |
| 1182 | $(SRC)/composite.h \ | 1098 | $(WINDOW_H) |
| 1183 | $(SRC)/dispextern.h \ | ||
| 1184 | $(SRC)/frame.h \ | ||
| 1185 | $(SRC)/keyboard.h \ | ||
| 1186 | $(SRC)/keymap.h \ | ||
| 1187 | $(SRC)/menu.h \ | ||
| 1188 | $(SRC)/systime.h \ | ||
| 1189 | $(SRC)/termhooks.h \ | ||
| 1190 | $(SRC)/w32gui.h \ | ||
| 1191 | $(SRC)/w32term.h \ | ||
| 1192 | $(SRC)/window.h | ||
| 1193 | 1099 | ||
| 1194 | $(BLD)/minibuf.$(O) : \ | 1100 | $(BLD)/minibuf.$(O) : \ |
| 1195 | $(SRC)/minibuf.c \ | 1101 | $(SRC)/minibuf.c \ |
| 1196 | $(CONFIG_H) \ | ||
| 1197 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1198 | $(LISP_H) \ | ||
| 1199 | $(SRC)/buffer.h \ | 1102 | $(SRC)/buffer.h \ |
| 1200 | $(SRC)/character.h \ | ||
| 1201 | $(SRC)/coding.h \ | ||
| 1202 | $(SRC)/commands.h \ | 1103 | $(SRC)/commands.h \ |
| 1203 | $(SRC)/composite.h \ | ||
| 1204 | $(SRC)/dispextern.h \ | ||
| 1205 | $(SRC)/frame.h \ | ||
| 1206 | $(SRC)/intervals.h \ | ||
| 1207 | $(SRC)/keyboard.h \ | ||
| 1208 | $(SRC)/keymap.h \ | 1104 | $(SRC)/keymap.h \ |
| 1209 | $(SRC)/syntax.h \ | 1105 | $(SRC)/syntax.h \ |
| 1210 | $(SRC)/systime.h \ | 1106 | $(CONFIG_H) \ |
| 1211 | $(SRC)/termhooks.h \ | 1107 | $(DISPEXTERN_H) \ |
| 1212 | $(SRC)/w32gui.h \ | 1108 | $(FRAME_H) \ |
| 1213 | $(SRC)/window.h | 1109 | $(INTERVALS_H) \ |
| 1110 | $(KEYBOARD_H) \ | ||
| 1111 | $(LISP_H) \ | ||
| 1112 | $(TERMHOOKS_H) \ | ||
| 1113 | $(WINDOW_H) | ||
| 1214 | 1114 | ||
| 1215 | $(BLD)/w32.$(O) : \ | 1115 | $(BLD)/w32.$(O) : \ |
| 1216 | $(SRC)/w32.c \ | 1116 | $(SRC)/w32.c \ |
| 1117 | $(SRC)/ndir.h \ | ||
| 1118 | $(SRC)/w32.h \ | ||
| 1119 | $(SRC)/w32heap.h \ | ||
| 1120 | $(NT_INC)/pwd.h \ | ||
| 1121 | $(NT_INC)/sys/file.h \ | ||
| 1122 | $(NT_INC)/sys/time.h \ | ||
| 1123 | $(GNU_LIB)/allocator.h \ | ||
| 1124 | $(CAREADLINKAT_H) \ | ||
| 1125 | $(CODING_H) \ | ||
| 1217 | $(CONFIG_H) \ | 1126 | $(CONFIG_H) \ |
| 1218 | $(EMACS_ROOT)/nt/inc/grp.h \ | 1127 | $(DISPEXTERN_H) \ |
| 1219 | $(EMACS_ROOT)/nt/inc/pwd.h \ | 1128 | $(GRP_H) \ |
| 1220 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 1221 | $(EMACS_ROOT)/nt/inc/sys/file.h \ | ||
| 1222 | $(EMACS_ROOT)/nt/inc/sys/socket.h \ | ||
| 1223 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1224 | $(EMACS_ROOT)/lib/allocator.h \ | ||
| 1225 | $(EMACS_ROOT)/lib/careadlinkat.h \ | ||
| 1226 | $(LISP_H) \ | 1129 | $(LISP_H) \ |
| 1227 | $(PROCESS_H) \ | 1130 | $(PROCESS_H) \ |
| 1228 | $(SRC)/coding.h \ | 1131 | $(SOCKET_H) \ |
| 1229 | $(SRC)/composite.h \ | 1132 | $(SYSTIME_H) |
| 1230 | $(SRC)/dispextern.h \ | ||
| 1231 | $(SRC)/ndir.h \ | ||
| 1232 | $(SRC)/systime.h \ | ||
| 1233 | $(SRC)/w32.h \ | ||
| 1234 | $(SRC)/w32gui.h \ | ||
| 1235 | $(SRC)/w32heap.h | ||
| 1236 | 1133 | ||
| 1237 | $(BLD)/w32heap.$(O) : \ | 1134 | $(BLD)/w32heap.$(O) : \ |
| 1238 | $(SRC)/w32heap.c \ | 1135 | $(SRC)/w32heap.c \ |
| 1136 | $(SRC)/w32heap.h \ | ||
| 1239 | $(CONFIG_H) \ | 1137 | $(CONFIG_H) \ |
| 1240 | $(LISP_H) \ | 1138 | $(LISP_H) |
| 1241 | $(SRC)/w32heap.h | ||
| 1242 | 1139 | ||
| 1243 | $(BLD)/w32inevt.$(O) : \ | 1140 | $(BLD)/w32inevt.$(O) : \ |
| 1244 | $(SRC)/w32inevt.c \ | 1141 | $(SRC)/w32inevt.c \ |
| 1142 | $(SRC)/w32heap.h \ | ||
| 1143 | $(BLOCKINPUT_H) \ | ||
| 1245 | $(CONFIG_H) \ | 1144 | $(CONFIG_H) \ |
| 1246 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | 1145 | $(DISPEXTERN_H) \ |
| 1146 | $(FRAME_H) \ | ||
| 1147 | $(KEYBOARD_H) \ | ||
| 1247 | $(LISP_H) \ | 1148 | $(LISP_H) \ |
| 1248 | $(SRC)/atimer.h \ | 1149 | $(TERMHOOKS_H) \ |
| 1249 | $(SRC)/blockinput.h \ | 1150 | $(W32TERM_H) |
| 1250 | $(SRC)/coding.h \ | ||
| 1251 | $(SRC)/composite.h \ | ||
| 1252 | $(SRC)/dispextern.h \ | ||
| 1253 | $(SRC)/frame.h \ | ||
| 1254 | $(SRC)/keyboard.h \ | ||
| 1255 | $(SRC)/systime.h \ | ||
| 1256 | $(SRC)/termhooks.h \ | ||
| 1257 | $(SRC)/w32gui.h \ | ||
| 1258 | $(SRC)/w32heap.h \ | ||
| 1259 | $(SRC)/w32term.h | ||
| 1260 | 1151 | ||
| 1261 | $(BLD)/w32proc.$(O) : \ | 1152 | $(BLD)/w32proc.$(O) : \ |
| 1262 | $(SRC)/w32proc.c \ | 1153 | $(SRC)/w32proc.c \ |
| 1263 | $(CONFIG_H) \ | ||
| 1264 | $(EMACS_ROOT)/nt/inc/langinfo.h \ | ||
| 1265 | $(EMACS_ROOT)/nt/inc/nl_types.h \ | ||
| 1266 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 1267 | $(EMACS_ROOT)/nt/inc/sys/file.h \ | ||
| 1268 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1269 | $(LISP_H) \ | ||
| 1270 | $(PROCESS_H) \ | ||
| 1271 | $(SRC)/character.h \ | ||
| 1272 | $(SRC)/coding.h \ | ||
| 1273 | $(SRC)/composite.h \ | ||
| 1274 | $(SRC)/dispextern.h \ | ||
| 1275 | $(SRC)/syssignal.h \ | 1154 | $(SRC)/syssignal.h \ |
| 1276 | $(SRC)/systime.h \ | ||
| 1277 | $(SRC)/syswait.h \ | 1155 | $(SRC)/syswait.h \ |
| 1278 | $(SRC)/w32.h \ | 1156 | $(SRC)/w32.h \ |
| 1279 | $(SRC)/w32gui.h \ | ||
| 1280 | $(SRC)/w32heap.h \ | 1157 | $(SRC)/w32heap.h \ |
| 1281 | $(SRC)/w32term.h | 1158 | $(NT_INC)/nl_types.h \ |
| 1159 | $(NT_INC)/sys/file.h \ | ||
| 1160 | $(CODING_H) \ | ||
| 1161 | $(CONFIG_H) \ | ||
| 1162 | $(DISPEXTERN_H) \ | ||
| 1163 | $(LANGINFO_H) \ | ||
| 1164 | $(LISP_H) \ | ||
| 1165 | $(PROCESS_H) \ | ||
| 1166 | $(SYSTIME_H) \ | ||
| 1167 | $(W32TERM_H) | ||
| 1282 | 1168 | ||
| 1283 | $(BLD)/w32console.$(O) : \ | 1169 | $(BLD)/w32console.$(O) : \ |
| 1284 | $(SRC)/w32console.c \ | 1170 | $(SRC)/w32console.c \ |
| 1285 | $(CONFIG_H) \ | ||
| 1286 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1287 | $(LISP_H) \ | ||
| 1288 | $(SRC)/character.h \ | ||
| 1289 | $(SRC)/coding.h \ | ||
| 1290 | $(SRC)/composite.h \ | ||
| 1291 | $(SRC)/dispextern.h \ | ||
| 1292 | $(SRC)/disptab.h \ | 1171 | $(SRC)/disptab.h \ |
| 1293 | $(SRC)/frame.h \ | ||
| 1294 | $(SRC)/systime.h \ | ||
| 1295 | $(SRC)/termchar.h \ | 1172 | $(SRC)/termchar.h \ |
| 1296 | $(SRC)/termhooks.h \ | 1173 | $(SRC)/w32inevt.h \ |
| 1297 | $(SRC)/w32gui.h \ | 1174 | $(CHARACTER_H) \ |
| 1298 | $(SRC)/w32inevt.h | 1175 | $(CODING_H) \ |
| 1176 | $(CONFIG_H) \ | ||
| 1177 | $(DISPEXTERN_H) \ | ||
| 1178 | $(FRAME_H) \ | ||
| 1179 | $(LISP_H) \ | ||
| 1180 | $(TERMHOOKS_H) | ||
| 1299 | 1181 | ||
| 1300 | $(BLD)/print.$(O) : \ | 1182 | $(BLD)/print.$(O) : \ |
| 1301 | $(SRC)/print.c \ | 1183 | $(SRC)/print.c \ |
| 1184 | $(SRC)/buffer.h \ | ||
| 1185 | $(SRC)/termchar.h \ | ||
| 1186 | $(BLOCKINPUT_H) \ | ||
| 1187 | $(CHARACTER_H) \ | ||
| 1188 | $(CHARSET_H) \ | ||
| 1302 | $(CONFIG_H) \ | 1189 | $(CONFIG_H) \ |
| 1303 | $(EMACS_ROOT)/nt/inc/unistd.h \ | 1190 | $(DISPEXTERN_H) \ |
| 1304 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | 1191 | $(FONT_H) \ |
| 1305 | $(EMACS_ROOT)/lib/ftoastr.h \ | 1192 | $(FRAME_H) \ |
| 1193 | $(FTOASTR_H) \ | ||
| 1194 | $(INTERVALS_H) \ | ||
| 1195 | $(KEYBOARD_H) \ | ||
| 1306 | $(LISP_H) \ | 1196 | $(LISP_H) \ |
| 1307 | $(PROCESS_H) \ | 1197 | $(PROCESS_H) \ |
| 1308 | $(SRC)/atimer.h \ | 1198 | $(TERMHOOKS_H) \ |
| 1309 | $(SRC)/blockinput.h \ | 1199 | $(WINDOW_H) |
| 1310 | $(SRC)/buffer.h \ | ||
| 1311 | $(SRC)/ccl.h \ | ||
| 1312 | $(SRC)/character.h \ | ||
| 1313 | $(SRC)/charset.h \ | ||
| 1314 | $(SRC)/coding.h \ | ||
| 1315 | $(SRC)/composite.h \ | ||
| 1316 | $(SRC)/dispextern.h \ | ||
| 1317 | $(SRC)/font.h \ | ||
| 1318 | $(SRC)/frame.h \ | ||
| 1319 | $(SRC)/intervals.h \ | ||
| 1320 | $(SRC)/keyboard.h \ | ||
| 1321 | $(SRC)/systime.h \ | ||
| 1322 | $(SRC)/termchar.h \ | ||
| 1323 | $(SRC)/termhooks.h \ | ||
| 1324 | $(SRC)/w32gui.h \ | ||
| 1325 | $(SRC)/window.h | ||
| 1326 | 1200 | ||
| 1327 | $(BLD)/process.$(O) : \ | 1201 | $(BLD)/process.$(O) : \ |
| 1328 | $(SRC)/process.c \ | 1202 | $(SRC)/process.c \ |
| 1329 | $(CONFIG_H) \ | ||
| 1330 | $(EMACS_ROOT)/nt/inc/netdb.h \ | ||
| 1331 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 1332 | $(EMACS_ROOT)/nt/inc/arpa/inet.h \ | ||
| 1333 | $(EMACS_ROOT)/nt/inc/netinet/in.h \ | ||
| 1334 | $(EMACS_ROOT)/nt/inc/sys/file.h \ | ||
| 1335 | $(EMACS_ROOT)/nt/inc/sys/ioctl.h \ | ||
| 1336 | $(EMACS_ROOT)/nt/inc/sys/socket.h \ | ||
| 1337 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1338 | $(LISP_H) \ | ||
| 1339 | $(PROCESS_H) \ | ||
| 1340 | $(SRC)/atimer.h \ | ||
| 1341 | $(SRC)/blockinput.h \ | ||
| 1342 | $(SRC)/buffer.h \ | 1203 | $(SRC)/buffer.h \ |
| 1343 | $(SRC)/character.h \ | ||
| 1344 | $(SRC)/coding.h \ | ||
| 1345 | $(SRC)/commands.h \ | 1204 | $(SRC)/commands.h \ |
| 1346 | $(SRC)/composite.h \ | 1205 | $(SRC)/composite.h \ |
| 1347 | $(SRC)/dispextern.h \ | 1206 | $(SRC)/gnutls.h \ |
| 1348 | $(SRC)/frame.h \ | ||
| 1349 | $(SRC)/keyboard.h \ | ||
| 1350 | $(SRC)/sysselect.h \ | 1207 | $(SRC)/sysselect.h \ |
| 1351 | $(SRC)/syssignal.h \ | 1208 | $(SRC)/syssignal.h \ |
| 1352 | $(SRC)/systime.h \ | ||
| 1353 | $(SRC)/systty.h \ | ||
| 1354 | $(SRC)/syswait.h \ | 1209 | $(SRC)/syswait.h \ |
| 1355 | $(SRC)/termhooks.h \ | ||
| 1356 | $(SRC)/termopts.h \ | 1210 | $(SRC)/termopts.h \ |
| 1357 | $(SRC)/w32.h \ | 1211 | $(NT_INC)/arpa/inet.h \ |
| 1358 | $(SRC)/w32gui.h \ | 1212 | $(NT_INC)/netdb.h \ |
| 1359 | $(SRC)/window.h | 1213 | $(NT_INC)/netinet/in.h \ |
| 1214 | $(NT_INC)/sys/file.h \ | ||
| 1215 | $(NT_INC)/sys/ioctl.h \ | ||
| 1216 | $(NT_INC)/sys/stat.h \ | ||
| 1217 | $(NT_INC)/unistd.h \ | ||
| 1218 | $(ATIMER_H) \ | ||
| 1219 | $(BLOCKINPUT_H) \ | ||
| 1220 | $(CHARACTER_H) \ | ||
| 1221 | $(CODING_H) \ | ||
| 1222 | $(CONFIG_H) \ | ||
| 1223 | $(DISPEXTERN_H) \ | ||
| 1224 | $(FRAME_H) \ | ||
| 1225 | $(KEYBOARD_H) \ | ||
| 1226 | $(LISP_H) \ | ||
| 1227 | $(PROCESS_H) \ | ||
| 1228 | $(SOCKET_H) \ | ||
| 1229 | $(SYSTIME_H) \ | ||
| 1230 | $(SYSTTY_H) \ | ||
| 1231 | $(TERMHOOKS_H) \ | ||
| 1232 | $(WINDOW_H) | ||
| 1360 | 1233 | ||
| 1361 | $(BLD)/ralloc.$(O) : \ | 1234 | $(BLD)/ralloc.$(O) : \ |
| 1362 | $(SRC)/ralloc.c \ | 1235 | $(SRC)/ralloc.c \ |
| 1363 | $(CONFIG_H) \ | ||
| 1364 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 1365 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1366 | $(LISP_H) \ | ||
| 1367 | $(SRC)/atimer.h \ | ||
| 1368 | $(SRC)/blockinput.h \ | ||
| 1369 | $(SRC)/getpagesize.h \ | 1236 | $(SRC)/getpagesize.h \ |
| 1370 | $(SRC)/systime.h | 1237 | $(NT_INC)/unistd.h \ |
| 1238 | $(BLOCKINPUT_H) \ | ||
| 1239 | $(CONFIG_H) \ | ||
| 1240 | $(LISP_H) | ||
| 1371 | 1241 | ||
| 1372 | $(BLD)/regex.$(O) : \ | 1242 | $(BLD)/regex.$(O) : \ |
| 1373 | $(SRC)/regex.c \ | 1243 | $(SRC)/regex.c \ |
| 1374 | $(CONFIG_H) \ | ||
| 1375 | $(LISP_H) \ | ||
| 1376 | $(SRC)/buffer.h \ | 1244 | $(SRC)/buffer.h \ |
| 1377 | $(SRC)/category.h \ | 1245 | $(SRC)/category.h \ |
| 1378 | $(SRC)/character.h \ | ||
| 1379 | $(SRC)/regex.h \ | 1246 | $(SRC)/regex.h \ |
| 1380 | $(SRC)/syntax.h | 1247 | $(SRC)/syntax.h \ |
| 1248 | $(NT_INC)/unistd.h \ | ||
| 1249 | $(CHARACTER_H) \ | ||
| 1250 | $(CONFIG_H) \ | ||
| 1251 | $(LISP_H) | ||
| 1381 | 1252 | ||
| 1382 | $(BLD)/region-cache.$(O) : \ | 1253 | $(BLD)/region-cache.$(O) : \ |
| 1383 | $(SRC)/region-cache.c \ | 1254 | $(SRC)/region-cache.c \ |
| 1384 | $(CONFIG_H) \ | ||
| 1385 | $(LISP_H) \ | ||
| 1386 | $(SRC)/buffer.h \ | 1255 | $(SRC)/buffer.h \ |
| 1387 | $(SRC)/region-cache.h | 1256 | $(SRC)/region-cache.h \ |
| 1257 | $(CONFIG_H) \ | ||
| 1258 | $(LISP_H) | ||
| 1388 | 1259 | ||
| 1389 | $(BLD)/scroll.$(O) : \ | 1260 | $(BLD)/scroll.$(O) : \ |
| 1390 | $(SRC)/scroll.c \ | 1261 | $(SRC)/scroll.c \ |
| 1262 | $(SRC)/termchar.h \ | ||
| 1391 | $(CONFIG_H) \ | 1263 | $(CONFIG_H) \ |
| 1392 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | 1264 | $(DISPEXTERN_H) \ |
| 1265 | $(FRAME_H) \ | ||
| 1266 | $(KEYBOARD_H) \ | ||
| 1393 | $(LISP_H) \ | 1267 | $(LISP_H) \ |
| 1394 | $(SRC)/coding.h \ | 1268 | $(TERMHOOKS_H) \ |
| 1395 | $(SRC)/composite.h \ | 1269 | $(WINDOW_H) |
| 1396 | $(SRC)/dispextern.h \ | ||
| 1397 | $(SRC)/frame.h \ | ||
| 1398 | $(SRC)/keyboard.h \ | ||
| 1399 | $(SRC)/systime.h \ | ||
| 1400 | $(SRC)/termchar.h \ | ||
| 1401 | $(SRC)/termhooks.h \ | ||
| 1402 | $(SRC)/w32gui.h \ | ||
| 1403 | $(SRC)/window.h | ||
| 1404 | 1270 | ||
| 1405 | $(BLD)/search.$(O) : \ | 1271 | $(BLD)/search.$(O) : \ |
| 1406 | $(SRC)/search.c \ | 1272 | $(SRC)/search.c \ |
| 1407 | $(CONFIG_H) \ | ||
| 1408 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1409 | $(LISP_H) \ | ||
| 1410 | $(SRC)/atimer.h \ | ||
| 1411 | $(SRC)/blockinput.h \ | ||
| 1412 | $(SRC)/buffer.h \ | 1273 | $(SRC)/buffer.h \ |
| 1413 | $(SRC)/category.h \ | 1274 | $(SRC)/category.h \ |
| 1414 | $(SRC)/character.h \ | ||
| 1415 | $(SRC)/charset.h \ | ||
| 1416 | $(SRC)/commands.h \ | 1275 | $(SRC)/commands.h \ |
| 1417 | $(SRC)/composite.h \ | ||
| 1418 | $(SRC)/dispextern.h \ | ||
| 1419 | $(SRC)/intervals.h \ | ||
| 1420 | $(SRC)/regex.h \ | 1276 | $(SRC)/regex.h \ |
| 1421 | $(SRC)/region-cache.h \ | 1277 | $(SRC)/region-cache.h \ |
| 1422 | $(SRC)/syntax.h \ | 1278 | $(SRC)/syntax.h \ |
| 1423 | $(SRC)/systime.h \ | 1279 | $(BLOCKINPUT_H) \ |
| 1424 | $(SRC)/w32gui.h | 1280 | $(CHARACTER_H) \ |
| 1281 | $(CHARSET_H) \ | ||
| 1282 | $(CONFIG_H) \ | ||
| 1283 | $(INTERVALS_H) \ | ||
| 1284 | $(LISP_H) | ||
| 1425 | 1285 | ||
| 1426 | $(BLD)/sound.$(O) : \ | 1286 | $(BLD)/sound.$(O) : \ |
| 1427 | $(SRC)/sound.c \ | 1287 | $(SRC)/sound.c \ |
| 1428 | $(CONFIG_H) \ | ||
| 1429 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 1430 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1431 | $(LISP_H) \ | ||
| 1432 | $(SRC)/atimer.h \ | ||
| 1433 | $(SRC)/dispextern.h \ | ||
| 1434 | $(SRC)/syssignal.h \ | 1288 | $(SRC)/syssignal.h \ |
| 1435 | $(SRC)/systime.h \ | 1289 | $(NT_INC)/unistd.h \ |
| 1436 | $(SRC)/w32gui.h | 1290 | $(ATIMER_H) \ |
| 1291 | $(CONFIG_H) \ | ||
| 1292 | $(DISPEXTERN_H) \ | ||
| 1293 | $(LISP_H) | ||
| 1437 | 1294 | ||
| 1438 | $(BLD)/syntax.$(O) : \ | 1295 | $(BLD)/syntax.$(O) : \ |
| 1439 | $(SRC)/syntax.c \ | 1296 | $(SRC)/syntax.c \ |
| 1440 | $(CONFIG_H) \ | ||
| 1441 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1442 | $(LISP_H) \ | ||
| 1443 | $(SRC)/buffer.h \ | 1297 | $(SRC)/buffer.h \ |
| 1444 | $(SRC)/category.h \ | 1298 | $(SRC)/category.h \ |
| 1445 | $(SRC)/character.h \ | ||
| 1446 | $(SRC)/commands.h \ | 1299 | $(SRC)/commands.h \ |
| 1447 | $(SRC)/composite.h \ | ||
| 1448 | $(SRC)/dispextern.h \ | ||
| 1449 | $(SRC)/intervals.h \ | ||
| 1450 | $(SRC)/keymap.h \ | 1300 | $(SRC)/keymap.h \ |
| 1451 | $(SRC)/regex.h \ | 1301 | $(SRC)/regex.h \ |
| 1452 | $(SRC)/syntax.h \ | 1302 | $(SRC)/syntax.h \ |
| 1453 | $(SRC)/systime.h \ | 1303 | $(CHARACTER_H) \ |
| 1454 | $(SRC)/w32gui.h | 1304 | $(CONFIG_H) \ |
| 1305 | $(INTERVALS_H) \ | ||
| 1306 | $(LISP_H) | ||
| 1455 | 1307 | ||
| 1456 | $(BLD)/sysdep.$(O) : \ | 1308 | $(BLD)/sysdep.$(O) : \ |
| 1457 | $(SRC)/sysdep.c \ | 1309 | $(SRC)/sysdep.c \ |
| 1458 | $(CONFIG_H) \ | ||
| 1459 | $(EMACS_ROOT)/nt/inc/grp.h \ | ||
| 1460 | $(EMACS_ROOT)/nt/inc/netdb.h \ | ||
| 1461 | $(EMACS_ROOT)/nt/inc/pwd.h \ | ||
| 1462 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 1463 | $(EMACS_ROOT)/nt/inc/sys/file.h \ | ||
| 1464 | $(EMACS_ROOT)/nt/inc/sys/ioctl.h \ | ||
| 1465 | $(EMACS_ROOT)/nt/inc/sys/socket.h \ | ||
| 1466 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1467 | $(EMACS_ROOT)/lib/allocator.h \ | ||
| 1468 | $(EMACS_ROOT)/lib/careadlinkat.h \ | ||
| 1469 | $(EMACS_ROOT)/lib/ignore-value.h \ | ||
| 1470 | $(LISP_H) \ | ||
| 1471 | $(PROCESS_H) \ | ||
| 1472 | $(SRC)/atimer.h \ | ||
| 1473 | $(SRC)/blockinput.h \ | ||
| 1474 | $(SRC)/cm.h \ | 1310 | $(SRC)/cm.h \ |
| 1475 | $(SRC)/coding.h \ | ||
| 1476 | $(SRC)/composite.h \ | ||
| 1477 | $(SRC)/dispextern.h \ | ||
| 1478 | $(SRC)/frame.h \ | ||
| 1479 | $(SRC)/keyboard.h \ | ||
| 1480 | $(SRC)/sysselect.h \ | 1311 | $(SRC)/sysselect.h \ |
| 1481 | $(SRC)/syssignal.h \ | 1312 | $(SRC)/syssignal.h \ |
| 1482 | $(SRC)/systime.h \ | ||
| 1483 | $(SRC)/systty.h \ | ||
| 1484 | $(SRC)/syswait.h \ | 1313 | $(SRC)/syswait.h \ |
| 1485 | $(SRC)/termchar.h \ | 1314 | $(SRC)/termchar.h \ |
| 1486 | $(SRC)/termhooks.h \ | ||
| 1487 | $(SRC)/termopts.h \ | 1315 | $(SRC)/termopts.h \ |
| 1488 | $(SRC)/w32.h \ | 1316 | $(NT_INC)/netdb.h \ |
| 1489 | $(SRC)/w32gui.h \ | 1317 | $(NT_INC)/pwd.h \ |
| 1490 | $(SRC)/window.h | 1318 | $(NT_INC)/sys/file.h \ |
| 1319 | $(NT_INC)/sys/stat.h \ | ||
| 1320 | $(NT_INC)/unistd.h \ | ||
| 1321 | $(GNU_LIB)/allocator.h \ | ||
| 1322 | $(GNU_LIB)/ignore-value.h \ | ||
| 1323 | $(BLOCKINPUT_H) \ | ||
| 1324 | $(CAREADLINKAT_H) \ | ||
| 1325 | $(CONFIG_H) \ | ||
| 1326 | $(DISPEXTERN_H) \ | ||
| 1327 | $(FRAME_H) \ | ||
| 1328 | $(GRP_H) \ | ||
| 1329 | $(KEYBOARD_H) \ | ||
| 1330 | $(LISP_H) \ | ||
| 1331 | $(PROCESS_H) \ | ||
| 1332 | $(SOCKET_H) \ | ||
| 1333 | $(SYSTIME_H) \ | ||
| 1334 | $(SYSTTY_H) \ | ||
| 1335 | $(TERMHOOKS_H) \ | ||
| 1336 | $(WINDOW_H) | ||
| 1491 | 1337 | ||
| 1492 | $(BLD)/term.$(O) : \ | 1338 | $(BLD)/term.$(O) : \ |
| 1493 | $(SRC)/term.c \ | 1339 | $(SRC)/term.c \ |
| 1494 | $(CONFIG_H) \ | ||
| 1495 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 1496 | $(EMACS_ROOT)/nt/inc/sys/file.h \ | ||
| 1497 | $(EMACS_ROOT)/nt/inc/sys/ioctl.h \ | ||
| 1498 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1499 | $(LISP_H) \ | ||
| 1500 | $(SRC)/atimer.h \ | ||
| 1501 | $(SRC)/blockinput.h \ | ||
| 1502 | $(SRC)/buffer.h \ | 1340 | $(SRC)/buffer.h \ |
| 1503 | $(SRC)/character.h \ | ||
| 1504 | $(SRC)/charset.h \ | ||
| 1505 | $(SRC)/cm.h \ | 1341 | $(SRC)/cm.h \ |
| 1506 | $(SRC)/coding.h \ | ||
| 1507 | $(SRC)/composite.h \ | 1342 | $(SRC)/composite.h \ |
| 1508 | $(SRC)/dispextern.h \ | ||
| 1509 | $(SRC)/disptab.h \ | 1343 | $(SRC)/disptab.h \ |
| 1510 | $(SRC)/frame.h \ | ||
| 1511 | $(SRC)/intervals.h \ | ||
| 1512 | $(SRC)/keyboard.h \ | ||
| 1513 | $(SRC)/keymap.h \ | 1344 | $(SRC)/keymap.h \ |
| 1514 | $(SRC)/syssignal.h \ | 1345 | $(SRC)/syssignal.h \ |
| 1515 | $(SRC)/systime.h \ | ||
| 1516 | $(SRC)/systty.h \ | ||
| 1517 | $(SRC)/termchar.h \ | 1346 | $(SRC)/termchar.h \ |
| 1518 | $(SRC)/termhooks.h \ | ||
| 1519 | $(SRC)/termopts.h \ | 1347 | $(SRC)/termopts.h \ |
| 1520 | $(SRC)/tparam.h \ | 1348 | $(SRC)/tparam.h \ |
| 1521 | $(SRC)/w32gui.h \ | 1349 | $(NT_INC)/sys/file.h \ |
| 1522 | $(SRC)/window.h | 1350 | $(NT_INC)/unistd.h \ |
| 1351 | $(BLOCKINPUT_H) \ | ||
| 1352 | $(CHARACTER_H) \ | ||
| 1353 | $(CHARSET_H) \ | ||
| 1354 | $(CODING_H) \ | ||
| 1355 | $(CONFIG_H) \ | ||
| 1356 | $(DISPEXTERN_H) \ | ||
| 1357 | $(FRAME_H) \ | ||
| 1358 | $(INTERVALS_H) \ | ||
| 1359 | $(KEYBOARD_H) \ | ||
| 1360 | $(LISP_H) \ | ||
| 1361 | $(SYSTTY_H) \ | ||
| 1362 | $(TERMHOOKS_H) \ | ||
| 1363 | $(WINDOW_H) | ||
| 1523 | 1364 | ||
| 1524 | $(BLD)/terminal.$(O) : \ | 1365 | $(BLD)/terminal.$(O) : \ |
| 1525 | $(SRC)/terminal.c \ | 1366 | $(SRC)/terminal.c \ |
| 1367 | $(SRC)/termchar.h \ | ||
| 1368 | $(CHARSET_H) \ | ||
| 1369 | $(CODING_H) \ | ||
| 1526 | $(CONFIG_H) \ | 1370 | $(CONFIG_H) \ |
| 1527 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | 1371 | $(FRAME_H) \ |
| 1372 | $(KEYBOARD_H) \ | ||
| 1528 | $(LISP_H) \ | 1373 | $(LISP_H) \ |
| 1529 | $(SRC)/charset.h \ | 1374 | $(TERMHOOKS_H) |
| 1530 | $(SRC)/coding.h \ | ||
| 1531 | $(SRC)/composite.h \ | ||
| 1532 | $(SRC)/dispextern.h \ | ||
| 1533 | $(SRC)/frame.h \ | ||
| 1534 | $(SRC)/keyboard.h \ | ||
| 1535 | $(SRC)/systime.h \ | ||
| 1536 | $(SRC)/termchar.h \ | ||
| 1537 | $(SRC)/termhooks.h \ | ||
| 1538 | $(SRC)/w32gui.h | ||
| 1539 | 1375 | ||
| 1540 | $(BLD)/textprop.$(O) : \ | 1376 | $(BLD)/textprop.$(O) : \ |
| 1541 | $(SRC)/textprop.c \ | 1377 | $(SRC)/textprop.c \ |
| 1378 | $(SRC)/buffer.h \ | ||
| 1542 | $(CONFIG_H) \ | 1379 | $(CONFIG_H) \ |
| 1543 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | 1380 | $(INTERVALS_H) \ |
| 1544 | $(LISP_H) \ | 1381 | $(LISP_H) \ |
| 1545 | $(SRC)/buffer.h \ | 1382 | $(WINDOW_H) |
| 1546 | $(SRC)/composite.h \ | ||
| 1547 | $(SRC)/dispextern.h \ | ||
| 1548 | $(SRC)/intervals.h \ | ||
| 1549 | $(SRC)/systime.h \ | ||
| 1550 | $(SRC)/w32gui.h \ | ||
| 1551 | $(SRC)/window.h | ||
| 1552 | 1383 | ||
| 1553 | $(BLD)/tparam.$(O) : \ | 1384 | $(BLD)/tparam.$(O) : \ |
| 1554 | $(SRC)/tparam.c \ | 1385 | $(SRC)/tparam.c \ |
| 1386 | $(SRC)/tparam.h \ | ||
| 1555 | $(CONFIG_H) \ | 1387 | $(CONFIG_H) \ |
| 1556 | $(LISP_H) \ | 1388 | $(LISP_H) |
| 1557 | $(SRC)/tparam.h | ||
| 1558 | 1389 | ||
| 1559 | $(BLD)/undo.$(O) : \ | 1390 | $(BLD)/undo.$(O) : \ |
| 1560 | $(SRC)/undo.c \ | 1391 | $(SRC)/undo.c \ |
| 1561 | $(CONFIG_H) \ | ||
| 1562 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1563 | $(LISP_H) \ | ||
| 1564 | $(SRC)/buffer.h \ | 1392 | $(SRC)/buffer.h \ |
| 1565 | $(SRC)/commands.h \ | 1393 | $(SRC)/commands.h \ |
| 1566 | $(SRC)/dispextern.h \ | 1394 | $(CONFIG_H) \ |
| 1567 | $(SRC)/systime.h \ | 1395 | $(LISP_H) \ |
| 1568 | $(SRC)/w32gui.h \ | 1396 | $(WINDOW_H) |
| 1569 | $(SRC)/window.h | ||
| 1570 | 1397 | ||
| 1571 | $(BLD)/unexw32.$(O) : \ | 1398 | $(BLD)/unexw32.$(O) : \ |
| 1572 | $(SRC)/unexw32.c \ | 1399 | $(SRC)/unexw32.c \ |
| 1573 | $(CONFIG_H) \ | ||
| 1574 | $(SRC)/unexec.h \ | 1400 | $(SRC)/unexec.h \ |
| 1575 | $(SRC)/w32heap.h | 1401 | $(SRC)/w32heap.h \ |
| 1402 | $(CONFIG_H) | ||
| 1576 | 1403 | ||
| 1577 | $(BLD)/vm-limit.$(O) : \ | 1404 | $(BLD)/vm-limit.$(O) : \ |
| 1578 | $(SRC)/vm-limit.c \ | 1405 | $(SRC)/vm-limit.c \ |
| 1406 | $(SRC)/mem-limits.h \ | ||
| 1579 | $(CONFIG_H) \ | 1407 | $(CONFIG_H) \ |
| 1580 | $(LISP_H) \ | 1408 | $(LISP_H) |
| 1581 | $(SRC)/mem-limits.h | ||
| 1582 | 1409 | ||
| 1583 | $(BLD)/window.$(O) : \ | 1410 | $(BLD)/window.$(O) : \ |
| 1584 | $(SRC)/window.c \ | 1411 | $(SRC)/window.c \ |
| 1585 | $(CONFIG_H) \ | ||
| 1586 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1587 | $(LISP_H) \ | ||
| 1588 | $(SRC)/atimer.h \ | ||
| 1589 | $(SRC)/blockinput.h \ | ||
| 1590 | $(SRC)/buffer.h \ | 1412 | $(SRC)/buffer.h \ |
| 1591 | $(SRC)/coding.h \ | ||
| 1592 | $(SRC)/commands.h \ | 1413 | $(SRC)/commands.h \ |
| 1593 | $(SRC)/composite.h \ | ||
| 1594 | $(SRC)/dispextern.h \ | ||
| 1595 | $(SRC)/disptab.h \ | 1414 | $(SRC)/disptab.h \ |
| 1596 | $(SRC)/frame.h \ | ||
| 1597 | $(SRC)/indent.h \ | 1415 | $(SRC)/indent.h \ |
| 1598 | $(SRC)/intervals.h \ | ||
| 1599 | $(SRC)/keyboard.h \ | ||
| 1600 | $(SRC)/keymap.h \ | 1416 | $(SRC)/keymap.h \ |
| 1601 | $(SRC)/systime.h \ | ||
| 1602 | $(SRC)/termchar.h \ | 1417 | $(SRC)/termchar.h \ |
| 1603 | $(SRC)/termhooks.h \ | 1418 | $(BLOCKINPUT_H) \ |
| 1604 | $(SRC)/w32gui.h \ | 1419 | $(CONFIG_H) \ |
| 1605 | $(SRC)/w32term.h \ | 1420 | $(DISPEXTERN_H) \ |
| 1606 | $(SRC)/window.h | 1421 | $(FRAME_H) \ |
| 1422 | $(INTERVALS_H) \ | ||
| 1423 | $(KEYBOARD_H) \ | ||
| 1424 | $(LISP_H) \ | ||
| 1425 | $(TERMHOOKS_H) \ | ||
| 1426 | $(W32TERM_H) \ | ||
| 1427 | $(WINDOW_H) | ||
| 1607 | 1428 | ||
| 1608 | $(BLD)/xdisp.$(O) : \ | 1429 | $(BLD)/xdisp.$(O) : \ |
| 1609 | $(SRC)/xdisp.c \ | 1430 | $(SRC)/xdisp.c \ |
| 1610 | $(CONFIG_H) \ | ||
| 1611 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 1612 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1613 | $(LISP_H) \ | ||
| 1614 | $(PROCESS_H) \ | ||
| 1615 | $(SRC)/atimer.h \ | ||
| 1616 | $(SRC)/blockinput.h \ | ||
| 1617 | $(SRC)/buffer.h \ | 1431 | $(SRC)/buffer.h \ |
| 1618 | $(SRC)/ccl.h \ | ||
| 1619 | $(SRC)/character.h \ | ||
| 1620 | $(SRC)/charset.h \ | ||
| 1621 | $(SRC)/coding.h \ | ||
| 1622 | $(SRC)/commands.h \ | 1432 | $(SRC)/commands.h \ |
| 1623 | $(SRC)/composite.h \ | ||
| 1624 | $(SRC)/dispextern.h \ | ||
| 1625 | $(SRC)/disptab.h \ | 1433 | $(SRC)/disptab.h \ |
| 1626 | $(SRC)/font.h \ | ||
| 1627 | $(SRC)/fontset.h \ | 1434 | $(SRC)/fontset.h \ |
| 1628 | $(SRC)/frame.h \ | ||
| 1629 | $(SRC)/indent.h \ | 1435 | $(SRC)/indent.h \ |
| 1630 | $(SRC)/intervals.h \ | ||
| 1631 | $(SRC)/keyboard.h \ | ||
| 1632 | $(SRC)/keymap.h \ | 1436 | $(SRC)/keymap.h \ |
| 1633 | $(SRC)/macros.h \ | 1437 | $(SRC)/macros.h \ |
| 1634 | $(SRC)/region-cache.h \ | 1438 | $(SRC)/region-cache.h \ |
| 1635 | $(SRC)/systime.h \ | ||
| 1636 | $(SRC)/termchar.h \ | 1439 | $(SRC)/termchar.h \ |
| 1637 | $(SRC)/termhooks.h \ | ||
| 1638 | $(SRC)/termopts.h \ | 1440 | $(SRC)/termopts.h \ |
| 1639 | $(SRC)/w32gui.h \ | 1441 | $(BLOCKINPUT_H) \ |
| 1640 | $(SRC)/w32term.h \ | 1442 | $(CHARACTER_H) \ |
| 1641 | $(SRC)/window.h | 1443 | $(CHARSET_H) \ |
| 1444 | $(CODING_H) \ | ||
| 1445 | $(CONFIG_H) \ | ||
| 1446 | $(DISPEXTERN_H) \ | ||
| 1447 | $(FONT_H) \ | ||
| 1448 | $(FRAME_H) \ | ||
| 1449 | $(INTERVALS_H) \ | ||
| 1450 | $(KEYBOARD_H) \ | ||
| 1451 | $(LISP_H) \ | ||
| 1452 | $(PROCESS_H) \ | ||
| 1453 | $(TERMHOOKS_H) \ | ||
| 1454 | $(W32TERM_H) \ | ||
| 1455 | $(WINDOW_H) | ||
| 1642 | 1456 | ||
| 1643 | $(BLD)/xfaces.$(O) : \ | 1457 | $(BLD)/xfaces.$(O) : \ |
| 1644 | $(SRC)/xfaces.c \ | 1458 | $(SRC)/xfaces.c \ |
| 1645 | $(CONFIG_H) \ | ||
| 1646 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1647 | $(LISP_H) \ | ||
| 1648 | $(SRC)/atimer.h \ | ||
| 1649 | $(SRC)/blockinput.h \ | ||
| 1650 | $(SRC)/buffer.h \ | 1459 | $(SRC)/buffer.h \ |
| 1651 | $(SRC)/ccl.h \ | ||
| 1652 | $(SRC)/character.h \ | ||
| 1653 | $(SRC)/charset.h \ | ||
| 1654 | $(SRC)/coding.h \ | ||
| 1655 | $(SRC)/composite.h \ | ||
| 1656 | $(SRC)/dispextern.h \ | ||
| 1657 | $(SRC)/font.h \ | ||
| 1658 | $(SRC)/fontset.h \ | 1460 | $(SRC)/fontset.h \ |
| 1659 | $(SRC)/frame.h \ | ||
| 1660 | $(SRC)/intervals.h \ | ||
| 1661 | $(SRC)/keyboard.h \ | ||
| 1662 | $(SRC)/systime.h \ | ||
| 1663 | $(SRC)/termchar.h \ | 1461 | $(SRC)/termchar.h \ |
| 1664 | $(SRC)/termhooks.h \ | 1462 | $(NT_INC)/sys/stat.h \ |
| 1665 | $(SRC)/w32gui.h \ | 1463 | $(BLOCKINPUT_H) \ |
| 1666 | $(SRC)/w32term.h \ | 1464 | $(CHARACTER_H) \ |
| 1667 | $(SRC)/window.h | 1465 | $(CHARSET_H) \ |
| 1466 | $(CONFIG_H) \ | ||
| 1467 | $(DISPEXTERN_H) \ | ||
| 1468 | $(FONT_H) \ | ||
| 1469 | $(FRAME_H) \ | ||
| 1470 | $(INTERVALS_H) \ | ||
| 1471 | $(KEYBOARD_H) \ | ||
| 1472 | $(LISP_H) \ | ||
| 1473 | $(TERMHOOKS_H) \ | ||
| 1474 | $(W32TERM_H) \ | ||
| 1475 | $(WINDOW_H) | ||
| 1668 | 1476 | ||
| 1669 | $(BLD)/w32fns.$(O) : \ | 1477 | $(BLD)/w32fns.$(O) : \ |
| 1670 | $(SRC)/w32fns.c \ | 1478 | $(SRC)/w32fns.c \ |
| 1671 | $(CONFIG_H) \ | ||
| 1672 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1673 | $(LISP_H) \ | ||
| 1674 | $(SRC)/atimer.h \ | ||
| 1675 | $(SRC)/blockinput.h \ | ||
| 1676 | $(SRC)/buffer.h \ | 1479 | $(SRC)/buffer.h \ |
| 1677 | $(SRC)/ccl.h \ | 1480 | $(SRC)/ccl.h \ |
| 1678 | $(SRC)/character.h \ | ||
| 1679 | $(SRC)/charset.h \ | ||
| 1680 | $(SRC)/coding.h \ | ||
| 1681 | $(SRC)/composite.h \ | ||
| 1682 | $(SRC)/dispextern.h \ | ||
| 1683 | $(SRC)/epaths.h \ | 1481 | $(SRC)/epaths.h \ |
| 1684 | $(SRC)/font.h \ | ||
| 1685 | $(SRC)/fontset.h \ | 1482 | $(SRC)/fontset.h \ |
| 1686 | $(SRC)/frame.h \ | ||
| 1687 | $(SRC)/intervals.h \ | ||
| 1688 | $(SRC)/keyboard.h \ | ||
| 1689 | $(SRC)/systime.h \ | ||
| 1690 | $(SRC)/termhooks.h \ | ||
| 1691 | $(SRC)/w32.h \ | 1483 | $(SRC)/w32.h \ |
| 1692 | $(SRC)/w32font.h \ | 1484 | $(SRC)/w32font.h \ |
| 1693 | $(SRC)/w32gui.h \ | ||
| 1694 | $(SRC)/w32heap.h \ | 1485 | $(SRC)/w32heap.h \ |
| 1695 | $(SRC)/w32term.h \ | 1486 | $(BLOCKINPUT_H) \ |
| 1696 | $(SRC)/window.h | 1487 | $(CHARACTER_H) \ |
| 1488 | $(CHARSET_H) \ | ||
| 1489 | $(CODING_H) \ | ||
| 1490 | $(CONFIG_H) \ | ||
| 1491 | $(DISPEXTERN_H) \ | ||
| 1492 | $(FONT_H) \ | ||
| 1493 | $(FRAME_H) \ | ||
| 1494 | $(INTERVALS_H) \ | ||
| 1495 | $(KEYBOARD_H) \ | ||
| 1496 | $(LISP_H) \ | ||
| 1497 | $(SYSTIME_H) \ | ||
| 1498 | $(TERMHOOKS_H) \ | ||
| 1499 | $(W32TERM_H) \ | ||
| 1500 | $(WINDOW_H) | ||
| 1697 | 1501 | ||
| 1698 | $(BLD)/w32menu.$(O) : \ | 1502 | $(BLD)/w32menu.$(O) : \ |
| 1699 | $(SRC)/w32menu.c \ | 1503 | $(SRC)/w32menu.c \ |
| 1700 | $(CONFIG_H) \ | ||
| 1701 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1702 | $(LISP_H) \ | ||
| 1703 | $(SRC)/atimer.h \ | ||
| 1704 | $(SRC)/blockinput.h \ | ||
| 1705 | $(SRC)/buffer.h \ | 1504 | $(SRC)/buffer.h \ |
| 1706 | $(SRC)/character.h \ | ||
| 1707 | $(SRC)/charset.h \ | ||
| 1708 | $(SRC)/coding.h \ | ||
| 1709 | $(SRC)/composite.h \ | ||
| 1710 | $(SRC)/dispextern.h \ | ||
| 1711 | $(SRC)/frame.h \ | ||
| 1712 | $(SRC)/keyboard.h \ | ||
| 1713 | $(SRC)/keymap.h \ | 1505 | $(SRC)/keymap.h \ |
| 1714 | $(SRC)/menu.h \ | 1506 | $(BLOCKINPUT_H) \ |
| 1715 | $(SRC)/systime.h \ | 1507 | $(CHARSET_H) \ |
| 1716 | $(SRC)/termhooks.h \ | 1508 | $(CODING_H) \ |
| 1717 | $(SRC)/w32gui.h \ | 1509 | $(CONFIG_H) \ |
| 1718 | $(SRC)/w32term.h \ | 1510 | $(DISPEXTERN_H) \ |
| 1719 | $(SRC)/window.h | 1511 | $(FRAME_H) \ |
| 1512 | $(KEYBOARD_H) \ | ||
| 1513 | $(LISP_H) \ | ||
| 1514 | $(MENU_H) \ | ||
| 1515 | $(TERMHOOKS_H) \ | ||
| 1516 | $(W32TERM_H) \ | ||
| 1517 | $(WINDOW_H) | ||
| 1720 | 1518 | ||
| 1721 | $(BLD)/w32term.$(O) : \ | 1519 | $(BLD)/w32term.$(O) : \ |
| 1722 | $(SRC)/w32term.c \ | 1520 | $(SRC)/w32term.c \ |
| 1723 | $(CONFIG_H) \ | ||
| 1724 | $(EMACS_ROOT)/nt/inc/unistd.h \ | ||
| 1725 | $(EMACS_ROOT)/nt/inc/sys/ioctl.h \ | ||
| 1726 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1727 | $(LISP_H) \ | ||
| 1728 | $(PROCESS_H) \ | ||
| 1729 | $(SRC)/atimer.h \ | ||
| 1730 | $(SRC)/blockinput.h \ | ||
| 1731 | $(SRC)/buffer.h \ | 1521 | $(SRC)/buffer.h \ |
| 1732 | $(SRC)/ccl.h \ | 1522 | $(SRC)/ccl.h \ |
| 1733 | $(SRC)/character.h \ | ||
| 1734 | $(SRC)/charset.h \ | ||
| 1735 | $(SRC)/coding.h \ | ||
| 1736 | $(SRC)/composite.h \ | ||
| 1737 | $(SRC)/dispextern.h \ | ||
| 1738 | $(SRC)/disptab.h \ | 1523 | $(SRC)/disptab.h \ |
| 1739 | $(SRC)/font.h \ | ||
| 1740 | $(SRC)/fontset.h \ | 1524 | $(SRC)/fontset.h \ |
| 1741 | $(SRC)/frame.h \ | ||
| 1742 | $(SRC)/intervals.h \ | ||
| 1743 | $(SRC)/keyboard.h \ | ||
| 1744 | $(SRC)/keymap.h \ | 1525 | $(SRC)/keymap.h \ |
| 1745 | $(SRC)/systime.h \ | ||
| 1746 | $(SRC)/systty.h \ | ||
| 1747 | $(SRC)/termchar.h \ | 1526 | $(SRC)/termchar.h \ |
| 1748 | $(SRC)/termhooks.h \ | ||
| 1749 | $(SRC)/termopts.h \ | 1527 | $(SRC)/termopts.h \ |
| 1750 | $(SRC)/w32font.h \ | 1528 | $(SRC)/w32font.h \ |
| 1751 | $(SRC)/w32gui.h \ | ||
| 1752 | $(SRC)/w32heap.h \ | 1529 | $(SRC)/w32heap.h \ |
| 1753 | $(SRC)/w32term.h \ | 1530 | $(NT_INC)/sys/stat.h \ |
| 1754 | $(SRC)/window.h | 1531 | $(ATIMER_H) \ |
| 1532 | $(BLOCKINPUT_H) \ | ||
| 1533 | $(CHARACTER_H) \ | ||
| 1534 | $(CHARSET_H) \ | ||
| 1535 | $(CODING_H) \ | ||
| 1536 | $(CONFIG_H) \ | ||
| 1537 | $(DISPEXTERN_H) \ | ||
| 1538 | $(FONT_H) \ | ||
| 1539 | $(FRAME_H) \ | ||
| 1540 | $(INTERVALS_H) \ | ||
| 1541 | $(KEYBOARD_H) \ | ||
| 1542 | $(LISP_H) \ | ||
| 1543 | $(PROCESS_H) \ | ||
| 1544 | $(SYSTIME_H) \ | ||
| 1545 | $(SYSTTY_H) \ | ||
| 1546 | $(TERMHOOKS_H) \ | ||
| 1547 | $(W32TERM_H) \ | ||
| 1548 | $(WINDOW_H) | ||
| 1755 | 1549 | ||
| 1756 | $(BLD)/w32select.$(O) : \ | 1550 | $(BLD)/w32select.$(O) : \ |
| 1757 | $(SRC)/w32select.c \ | 1551 | $(SRC)/w32select.c \ |
| 1758 | $(CONFIG_H) \ | ||
| 1759 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1760 | $(LISP_H) \ | ||
| 1761 | $(SRC)/atimer.h \ | ||
| 1762 | $(SRC)/blockinput.h \ | ||
| 1763 | $(SRC)/character.h \ | ||
| 1764 | $(SRC)/charset.h \ | ||
| 1765 | $(SRC)/coding.h \ | ||
| 1766 | $(SRC)/composite.h \ | 1552 | $(SRC)/composite.h \ |
| 1767 | $(SRC)/systime.h \ | ||
| 1768 | $(SRC)/w32gui.h \ | ||
| 1769 | $(SRC)/w32heap.h \ | 1553 | $(SRC)/w32heap.h \ |
| 1770 | $(SRC)/w32term.h | 1554 | $(BLOCKINPUT_H) \ |
| 1555 | $(CHARSET_H) \ | ||
| 1556 | $(CODING_H) \ | ||
| 1557 | $(CONFIG_H) \ | ||
| 1558 | $(LISP_H) \ | ||
| 1559 | $(W32TERM_H) | ||
| 1771 | 1560 | ||
| 1772 | $(BLD)/w32reg.$(O) : \ | 1561 | $(BLD)/w32reg.$(O) : \ |
| 1773 | $(SRC)/w32reg.c \ | 1562 | $(SRC)/w32reg.c \ |
| 1563 | $(BLOCKINPUT_H) \ | ||
| 1774 | $(CONFIG_H) \ | 1564 | $(CONFIG_H) \ |
| 1775 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1776 | $(LISP_H) \ | 1565 | $(LISP_H) \ |
| 1777 | $(SRC)/atimer.h \ | 1566 | $(W32TERM_H) |
| 1778 | $(SRC)/blockinput.h \ | ||
| 1779 | $(SRC)/systime.h \ | ||
| 1780 | $(SRC)/w32gui.h \ | ||
| 1781 | $(SRC)/w32term.h | ||
| 1782 | 1567 | ||
| 1783 | $(BLD)/w32xfns.$(O) : \ | 1568 | $(BLD)/w32xfns.$(O) : \ |
| 1784 | $(SRC)/w32xfns.c \ | 1569 | $(SRC)/w32xfns.c \ |
| 1570 | $(SRC)/fontset.h \ | ||
| 1571 | $(BLOCKINPUT_H) \ | ||
| 1572 | $(CHARSET_H) \ | ||
| 1785 | $(CONFIG_H) \ | 1573 | $(CONFIG_H) \ |
| 1786 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | 1574 | $(FRAME_H) \ |
| 1575 | $(KEYBOARD_H) \ | ||
| 1787 | $(LISP_H) \ | 1576 | $(LISP_H) \ |
| 1788 | $(SRC)/atimer.h \ | 1577 | $(W32TERM_H) |
| 1789 | $(SRC)/blockinput.h \ | ||
| 1790 | $(SRC)/charset.h \ | ||
| 1791 | $(SRC)/coding.h \ | ||
| 1792 | $(SRC)/composite.h \ | ||
| 1793 | $(SRC)/dispextern.h \ | ||
| 1794 | $(SRC)/fontset.h \ | ||
| 1795 | $(SRC)/frame.h \ | ||
| 1796 | $(SRC)/keyboard.h \ | ||
| 1797 | $(SRC)/systime.h \ | ||
| 1798 | $(SRC)/w32gui.h \ | ||
| 1799 | $(SRC)/w32term.h | ||
| 1800 | 1578 | ||
| 1801 | $(BLD)/w32font.$(O) : \ | 1579 | $(BLD)/w32font.$(O) : \ |
| 1802 | $(SRC)/w32font.c \ | 1580 | $(SRC)/w32font.c \ |
| 1803 | $(CONFIG_H) \ | ||
| 1804 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1805 | $(LISP_H) \ | ||
| 1806 | $(SRC)/ccl.h \ | ||
| 1807 | $(SRC)/character.h \ | ||
| 1808 | $(SRC)/charset.h \ | ||
| 1809 | $(SRC)/coding.h \ | ||
| 1810 | $(SRC)/composite.h \ | ||
| 1811 | $(SRC)/dispextern.h \ | ||
| 1812 | $(SRC)/font.h \ | ||
| 1813 | $(SRC)/fontset.h \ | 1581 | $(SRC)/fontset.h \ |
| 1814 | $(SRC)/frame.h \ | ||
| 1815 | $(SRC)/systime.h \ | ||
| 1816 | $(SRC)/w32font.h \ | 1582 | $(SRC)/w32font.h \ |
| 1817 | $(SRC)/w32gui.h \ | 1583 | $(CHARACTER_H) \ |
| 1818 | $(SRC)/w32term.h | 1584 | $(CHARSET_H) \ |
| 1585 | $(CODING_H) \ | ||
| 1586 | $(CONFIG_H) \ | ||
| 1587 | $(DISPEXTERN_H) \ | ||
| 1588 | $(FONT_H) \ | ||
| 1589 | $(FRAME_H) \ | ||
| 1590 | $(LISP_H) \ | ||
| 1591 | $(W32TERM_H) | ||
| 1819 | 1592 | ||
| 1820 | $(BLD)/w32uniscribe.$(O) : \ | 1593 | $(BLD)/w32uniscribe.$(O) : \ |
| 1821 | $(SRC)/w32uniscribe.c \ | 1594 | $(SRC)/w32uniscribe.c \ |
| 1822 | $(CONFIG_H) \ | ||
| 1823 | $(EMACS_ROOT)/nt/inc/sys/time.h \ | ||
| 1824 | $(LISP_H) \ | ||
| 1825 | $(SRC)/ccl.h \ | ||
| 1826 | $(SRC)/character.h \ | ||
| 1827 | $(SRC)/charset.h \ | ||
| 1828 | $(SRC)/composite.h \ | 1595 | $(SRC)/composite.h \ |
| 1829 | $(SRC)/dispextern.h \ | ||
| 1830 | $(SRC)/font.h \ | ||
| 1831 | $(SRC)/fontset.h \ | 1596 | $(SRC)/fontset.h \ |
| 1832 | $(SRC)/frame.h \ | ||
| 1833 | $(SRC)/systime.h \ | ||
| 1834 | $(SRC)/w32font.h \ | 1597 | $(SRC)/w32font.h \ |
| 1835 | $(SRC)/w32gui.h \ | 1598 | $(CHARACTER_H) \ |
| 1836 | $(SRC)/w32term.h | 1599 | $(CHARSET_H) \ |
| 1600 | $(CONFIG_H) \ | ||
| 1601 | $(DISPEXTERN_H) \ | ||
| 1602 | $(FONT_H) \ | ||
| 1603 | $(FRAME_H) \ | ||
| 1604 | $(LISP_H) \ | ||
| 1605 | $(W32TERM_H) | ||
| 1837 | 1606 | ||
| 1838 | # Each object file depends on stamp_BLD, because in parallel builds we must | 1607 | # Each object file depends on stamp_BLD, because in parallel builds we must |
| 1839 | # make sure $(BLD) exists before starting compilations. | 1608 | # make sure $(BLD) exists before starting compilations. |
diff --git a/src/minibuf.c b/src/minibuf.c index ca2f22df9ed..cf37c337be4 100644 --- a/src/minibuf.c +++ b/src/minibuf.c | |||
| @@ -25,7 +25,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 25 | #include "lisp.h" | 25 | #include "lisp.h" |
| 26 | #include "commands.h" | 26 | #include "commands.h" |
| 27 | #include "buffer.h" | 27 | #include "buffer.h" |
| 28 | #include "character.h" | ||
| 29 | #include "dispextern.h" | 28 | #include "dispextern.h" |
| 30 | #include "keyboard.h" | 29 | #include "keyboard.h" |
| 31 | #include "frame.h" | 30 | #include "frame.h" |
| @@ -72,7 +71,6 @@ Lisp_Object Qcompletion_ignore_case; | |||
| 72 | static Lisp_Object Qminibuffer_completion_table; | 71 | static Lisp_Object Qminibuffer_completion_table; |
| 73 | static Lisp_Object Qminibuffer_completion_predicate; | 72 | static Lisp_Object Qminibuffer_completion_predicate; |
| 74 | static Lisp_Object Qminibuffer_completion_confirm; | 73 | static Lisp_Object Qminibuffer_completion_confirm; |
| 75 | static Lisp_Object Qcompleting_read_default; | ||
| 76 | static Lisp_Object Quser_variable_p; | 74 | static Lisp_Object Quser_variable_p; |
| 77 | 75 | ||
| 78 | static Lisp_Object Qminibuffer_default; | 76 | static Lisp_Object Qminibuffer_default; |
| @@ -237,7 +235,7 @@ read_minibuf_noninteractive (Lisp_Object map, Lisp_Object initial, | |||
| 237 | Lisp_Object defalt, | 235 | Lisp_Object defalt, |
| 238 | int allow_props, int inherit_input_method) | 236 | int allow_props, int inherit_input_method) |
| 239 | { | 237 | { |
| 240 | size_t size, len; | 238 | ptrdiff_t size, len; |
| 241 | char *line, *s; | 239 | char *line, *s; |
| 242 | Lisp_Object val; | 240 | Lisp_Object val; |
| 243 | 241 | ||
| @@ -247,12 +245,12 @@ read_minibuf_noninteractive (Lisp_Object map, Lisp_Object initial, | |||
| 247 | val = Qnil; | 245 | val = Qnil; |
| 248 | size = 100; | 246 | size = 100; |
| 249 | len = 0; | 247 | len = 0; |
| 250 | line = (char *) xmalloc (size * sizeof *line); | 248 | line = (char *) xmalloc (size); |
| 251 | while ((s = fgets (line + len, size - len, stdin)) != NULL | 249 | while ((s = fgets (line + len, size - len, stdin)) != NULL |
| 252 | && (len = strlen (line), | 250 | && (len = strlen (line), |
| 253 | len == size - 1 && line[len - 1] != '\n')) | 251 | len == size - 1 && line[len - 1] != '\n')) |
| 254 | { | 252 | { |
| 255 | if ((size_t) -1 / 2 < size) | 253 | if (STRING_BYTES_BOUND / 2 < size) |
| 256 | memory_full (SIZE_MAX); | 254 | memory_full (SIZE_MAX); |
| 257 | size *= 2; | 255 | size *= 2; |
| 258 | line = (char *) xrealloc (line, size); | 256 | line = (char *) xrealloc (line, size); |
| @@ -260,11 +258,9 @@ read_minibuf_noninteractive (Lisp_Object map, Lisp_Object initial, | |||
| 260 | 258 | ||
| 261 | if (s) | 259 | if (s) |
| 262 | { | 260 | { |
| 263 | len = strlen (line); | 261 | char *nl = strchr (line, '\n'); |
| 264 | 262 | if (nl) | |
| 265 | if (len > 0 && line[len - 1] == '\n') | 263 | *nl = '\0'; |
| 266 | line[--len] = '\0'; | ||
| 267 | |||
| 268 | val = build_string (line); | 264 | val = build_string (line); |
| 269 | xfree (line); | 265 | xfree (line); |
| 270 | } | 266 | } |
| @@ -1694,7 +1690,7 @@ See also `completing-read-function'. */) | |||
| 1694 | (Lisp_Object prompt, Lisp_Object collection, Lisp_Object predicate, Lisp_Object require_match, Lisp_Object initial_input, Lisp_Object hist, Lisp_Object def, Lisp_Object inherit_input_method) | 1690 | (Lisp_Object prompt, Lisp_Object collection, Lisp_Object predicate, Lisp_Object require_match, Lisp_Object initial_input, Lisp_Object hist, Lisp_Object def, Lisp_Object inherit_input_method) |
| 1695 | { | 1691 | { |
| 1696 | Lisp_Object args[9]; | 1692 | Lisp_Object args[9]; |
| 1697 | args[0] = Vcompleting_read_function; | 1693 | args[0] = Fsymbol_value (intern ("completing-read-function")); |
| 1698 | args[1] = prompt; | 1694 | args[1] = prompt; |
| 1699 | args[2] = collection; | 1695 | args[2] = collection; |
| 1700 | args[3] = predicate; | 1696 | args[3] = predicate; |
| @@ -1705,76 +1701,6 @@ See also `completing-read-function'. */) | |||
| 1705 | args[8] = inherit_input_method; | 1701 | args[8] = inherit_input_method; |
| 1706 | return Ffuncall (9, args); | 1702 | return Ffuncall (9, args); |
| 1707 | } | 1703 | } |
| 1708 | |||
| 1709 | DEFUN ("completing-read-default", Fcompleting_read_default, Scompleting_read_default, 2, 8, 0, | ||
| 1710 | doc: /* Default method for reading from the minibuffer with completion. | ||
| 1711 | See `completing-read' for the meaning of the arguments. */) | ||
| 1712 | (Lisp_Object prompt, Lisp_Object collection, Lisp_Object predicate, Lisp_Object require_match, Lisp_Object initial_input, Lisp_Object hist, Lisp_Object def, Lisp_Object inherit_input_method) | ||
| 1713 | { | ||
| 1714 | Lisp_Object val, histvar, histpos, position; | ||
| 1715 | Lisp_Object init; | ||
| 1716 | int pos = 0; | ||
| 1717 | int count = SPECPDL_INDEX (); | ||
| 1718 | struct gcpro gcpro1; | ||
| 1719 | |||
| 1720 | init = initial_input; | ||
| 1721 | GCPRO1 (def); | ||
| 1722 | |||
| 1723 | specbind (Qminibuffer_completion_table, collection); | ||
| 1724 | specbind (Qminibuffer_completion_predicate, predicate); | ||
| 1725 | specbind (Qminibuffer_completion_confirm, | ||
| 1726 | EQ (require_match, Qt) ? Qnil : require_match); | ||
| 1727 | |||
| 1728 | position = Qnil; | ||
| 1729 | if (!NILP (init)) | ||
| 1730 | { | ||
| 1731 | if (CONSP (init)) | ||
| 1732 | { | ||
| 1733 | position = Fcdr (init); | ||
| 1734 | init = Fcar (init); | ||
| 1735 | } | ||
| 1736 | CHECK_STRING (init); | ||
| 1737 | if (!NILP (position)) | ||
| 1738 | { | ||
| 1739 | CHECK_NUMBER (position); | ||
| 1740 | /* Convert to distance from end of input. */ | ||
| 1741 | pos = XINT (position) - SCHARS (init); | ||
| 1742 | } | ||
| 1743 | } | ||
| 1744 | |||
| 1745 | if (SYMBOLP (hist)) | ||
| 1746 | { | ||
| 1747 | histvar = hist; | ||
| 1748 | histpos = Qnil; | ||
| 1749 | } | ||
| 1750 | else | ||
| 1751 | { | ||
| 1752 | histvar = Fcar_safe (hist); | ||
| 1753 | histpos = Fcdr_safe (hist); | ||
| 1754 | } | ||
| 1755 | if (NILP (histvar)) | ||
| 1756 | histvar = Qminibuffer_history; | ||
| 1757 | if (NILP (histpos)) | ||
| 1758 | XSETFASTINT (histpos, 0); | ||
| 1759 | |||
| 1760 | val = read_minibuf (NILP (require_match) | ||
| 1761 | ? (NILP (Vminibuffer_completing_file_name) | ||
| 1762 | || EQ (Vminibuffer_completing_file_name, Qlambda) | ||
| 1763 | ? Vminibuffer_local_completion_map | ||
| 1764 | : Vminibuffer_local_filename_completion_map) | ||
| 1765 | : (NILP (Vminibuffer_completing_file_name) | ||
| 1766 | || EQ (Vminibuffer_completing_file_name, Qlambda) | ||
| 1767 | ? Vminibuffer_local_must_match_map | ||
| 1768 | : Vminibuffer_local_filename_must_match_map), | ||
| 1769 | init, prompt, make_number (pos), 0, | ||
| 1770 | histvar, histpos, def, 0, | ||
| 1771 | !NILP (inherit_input_method)); | ||
| 1772 | |||
| 1773 | if (STRINGP (val) && SCHARS (val) == 0 && ! NILP (def)) | ||
| 1774 | val = CONSP (def) ? XCAR (def) : def; | ||
| 1775 | |||
| 1776 | RETURN_UNGCPRO (unbind_to (count, val)); | ||
| 1777 | } | ||
| 1778 | 1704 | ||
| 1779 | Lisp_Object Fassoc_string (register Lisp_Object key, Lisp_Object list, Lisp_Object case_fold); | 1705 | Lisp_Object Fassoc_string (register Lisp_Object key, Lisp_Object list, Lisp_Object case_fold); |
| 1780 | 1706 | ||
| @@ -2013,7 +1939,6 @@ syms_of_minibuf (void) | |||
| 2013 | minibuf_save_list = Qnil; | 1939 | minibuf_save_list = Qnil; |
| 2014 | staticpro (&minibuf_save_list); | 1940 | staticpro (&minibuf_save_list); |
| 2015 | 1941 | ||
| 2016 | DEFSYM (Qcompleting_read_default, "completing-read-default"); | ||
| 2017 | DEFSYM (Qcompletion_ignore_case, "completion-ignore-case"); | 1942 | DEFSYM (Qcompletion_ignore_case, "completion-ignore-case"); |
| 2018 | DEFSYM (Qread_file_name_internal, "read-file-name-internal"); | 1943 | DEFSYM (Qread_file_name_internal, "read-file-name-internal"); |
| 2019 | DEFSYM (Qminibuffer_default, "minibuffer-default"); | 1944 | DEFSYM (Qminibuffer_default, "minibuffer-default"); |
| @@ -2132,12 +2057,6 @@ If the value is `confirm-after-completion', the user may exit with an | |||
| 2132 | doc: /* Non-nil means completing file names. */); | 2057 | doc: /* Non-nil means completing file names. */); |
| 2133 | Vminibuffer_completing_file_name = Qnil; | 2058 | Vminibuffer_completing_file_name = Qnil; |
| 2134 | 2059 | ||
| 2135 | DEFVAR_LISP ("completing-read-function", | ||
| 2136 | Vcompleting_read_function, | ||
| 2137 | doc: /* The function called by `completing-read' to do the work. | ||
| 2138 | It should accept the same arguments as `completing-read'. */); | ||
| 2139 | Vcompleting_read_function = Qcompleting_read_default; | ||
| 2140 | |||
| 2141 | DEFVAR_LISP ("minibuffer-help-form", Vminibuffer_help_form, | 2060 | DEFVAR_LISP ("minibuffer-help-form", Vminibuffer_help_form, |
| 2142 | doc: /* Value that `help-form' takes on inside the minibuffer. */); | 2061 | doc: /* Value that `help-form' takes on inside the minibuffer. */); |
| 2143 | Vminibuffer_help_form = Qnil; | 2062 | Vminibuffer_help_form = Qnil; |
| @@ -2214,5 +2133,4 @@ properties. */); | |||
| 2214 | defsubr (&Stest_completion); | 2133 | defsubr (&Stest_completion); |
| 2215 | defsubr (&Sassoc_string); | 2134 | defsubr (&Sassoc_string); |
| 2216 | defsubr (&Scompleting_read); | 2135 | defsubr (&Scompleting_read); |
| 2217 | defsubr (&Scompleting_read_default); | ||
| 2218 | } | 2136 | } |
diff --git a/src/msdos.c b/src/msdos.c index 73804df55cc..3f12bc85cbe 100644 --- a/src/msdos.c +++ b/src/msdos.c | |||
| @@ -4267,8 +4267,7 @@ syms_of_msdos (void) | |||
| 4267 | #ifndef HAVE_X_WINDOWS | 4267 | #ifndef HAVE_X_WINDOWS |
| 4268 | 4268 | ||
| 4269 | /* The following two are from xfns.c: */ | 4269 | /* The following two are from xfns.c: */ |
| 4270 | Qreverse = intern_c_string ("reverse"); | 4270 | DEFSYM (Qreverse, "reverse"); |
| 4271 | staticpro (&Qreverse); | ||
| 4272 | 4271 | ||
| 4273 | DEFVAR_LISP ("dos-unsupported-char-glyph", Vdos_unsupported_char_glyph, | 4272 | DEFVAR_LISP ("dos-unsupported-char-glyph", Vdos_unsupported_char_glyph, |
| 4274 | doc: /* *Glyph to display instead of chars not supported by current codepage. | 4273 | doc: /* *Glyph to display instead of chars not supported by current codepage. |
diff --git a/src/print.c b/src/print.c index d07f89702cc..14b4326bb6f 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -159,8 +159,9 @@ int print_output_debug_flag EXTERNALLY_VISIBLE = 1; | |||
| 159 | } \ | 159 | } \ |
| 160 | else \ | 160 | else \ |
| 161 | { \ | 161 | { \ |
| 162 | print_buffer_size = 1000; \ | 162 | ptrdiff_t new_size = 1000; \ |
| 163 | print_buffer = (char *) xmalloc (print_buffer_size); \ | 163 | print_buffer = (char *) xmalloc (new_size); \ |
| 164 | print_buffer_size = new_size; \ | ||
| 164 | free_print_buffer = 1; \ | 165 | free_print_buffer = 1; \ |
| 165 | } \ | 166 | } \ |
| 166 | print_buffer_pos = 0; \ | 167 | print_buffer_pos = 0; \ |
| @@ -235,9 +236,15 @@ printchar (unsigned int ch, Lisp_Object fun) | |||
| 235 | 236 | ||
| 236 | if (NILP (fun)) | 237 | if (NILP (fun)) |
| 237 | { | 238 | { |
| 238 | if (print_buffer_pos_byte + len >= print_buffer_size) | 239 | if (print_buffer_size - len <= print_buffer_pos_byte) |
| 239 | print_buffer = (char *) xrealloc (print_buffer, | 240 | { |
| 240 | print_buffer_size *= 2); | 241 | ptrdiff_t new_size; |
| 242 | if (STRING_BYTES_BOUND / 2 < print_buffer_size) | ||
| 243 | string_overflow (); | ||
| 244 | new_size = print_buffer_size * 2; | ||
| 245 | print_buffer = (char *) xrealloc (print_buffer, new_size); | ||
| 246 | print_buffer_size = new_size; | ||
| 247 | } | ||
| 241 | memcpy (print_buffer + print_buffer_pos_byte, str, len); | 248 | memcpy (print_buffer + print_buffer_pos_byte, str, len); |
| 242 | print_buffer_pos += 1; | 249 | print_buffer_pos += 1; |
| 243 | print_buffer_pos_byte += len; | 250 | print_buffer_pos_byte += len; |
| @@ -280,11 +287,14 @@ strout (const char *ptr, EMACS_INT size, EMACS_INT size_byte, | |||
| 280 | 287 | ||
| 281 | if (NILP (printcharfun)) | 288 | if (NILP (printcharfun)) |
| 282 | { | 289 | { |
| 283 | if (print_buffer_pos_byte + size_byte > print_buffer_size) | 290 | if (print_buffer_size - size_byte < print_buffer_pos_byte) |
| 284 | { | 291 | { |
| 285 | print_buffer_size = print_buffer_size * 2 + size_byte; | 292 | ptrdiff_t new_size; |
| 286 | print_buffer = (char *) xrealloc (print_buffer, | 293 | if (STRING_BYTES_BOUND / 2 - size_byte < print_buffer_size) |
| 287 | print_buffer_size); | 294 | string_overflow (); |
| 295 | new_size = print_buffer_size * 2 + size_byte; | ||
| 296 | print_buffer = (char *) xrealloc (print_buffer, new_size); | ||
| 297 | print_buffer_size = new_size; | ||
| 288 | } | 298 | } |
| 289 | memcpy (print_buffer + print_buffer_pos_byte, ptr, size_byte); | 299 | memcpy (print_buffer + print_buffer_pos_byte, ptr, size_byte); |
| 290 | print_buffer_pos += size; | 300 | print_buffer_pos += size; |
| @@ -2059,8 +2069,7 @@ print_interval (INTERVAL interval, Lisp_Object printcharfun) | |||
| 2059 | void | 2069 | void |
| 2060 | syms_of_print (void) | 2070 | syms_of_print (void) |
| 2061 | { | 2071 | { |
| 2062 | Qtemp_buffer_setup_hook = intern_c_string ("temp-buffer-setup-hook"); | 2072 | DEFSYM (Qtemp_buffer_setup_hook, "temp-buffer-setup-hook"); |
| 2063 | staticpro (&Qtemp_buffer_setup_hook); | ||
| 2064 | 2073 | ||
| 2065 | DEFVAR_LISP ("standard-output", Vstandard_output, | 2074 | DEFVAR_LISP ("standard-output", Vstandard_output, |
| 2066 | doc: /* Output stream `print' uses by default for outputting a character. | 2075 | doc: /* Output stream `print' uses by default for outputting a character. |
| @@ -2069,8 +2078,7 @@ It may also be a buffer (output is inserted before point) | |||
| 2069 | or a marker (output is inserted and the marker is advanced) | 2078 | or a marker (output is inserted and the marker is advanced) |
| 2070 | or the symbol t (output appears in the echo area). */); | 2079 | or the symbol t (output appears in the echo area). */); |
| 2071 | Vstandard_output = Qt; | 2080 | Vstandard_output = Qt; |
| 2072 | Qstandard_output = intern_c_string ("standard-output"); | 2081 | DEFSYM (Qstandard_output, "standard-output"); |
| 2073 | staticpro (&Qstandard_output); | ||
| 2074 | 2082 | ||
| 2075 | DEFVAR_LISP ("float-output-format", Vfloat_output_format, | 2083 | DEFVAR_LISP ("float-output-format", Vfloat_output_format, |
| 2076 | doc: /* The format descriptor string used to print floats. | 2084 | doc: /* The format descriptor string used to print floats. |
| @@ -2089,8 +2097,7 @@ decimal point. 0 is not allowed with `e' or `g'. | |||
| 2089 | A value of nil means to use the shortest notation | 2097 | A value of nil means to use the shortest notation |
| 2090 | that represents the number without losing information. */); | 2098 | that represents the number without losing information. */); |
| 2091 | Vfloat_output_format = Qnil; | 2099 | Vfloat_output_format = Qnil; |
| 2092 | Qfloat_output_format = intern_c_string ("float-output-format"); | 2100 | DEFSYM (Qfloat_output_format, "float-output-format"); |
| 2093 | staticpro (&Qfloat_output_format); | ||
| 2094 | 2101 | ||
| 2095 | DEFVAR_LISP ("print-length", Vprint_length, | 2102 | DEFVAR_LISP ("print-length", Vprint_length, |
| 2096 | doc: /* Maximum length of list to print before abbreviating. | 2103 | doc: /* Maximum length of list to print before abbreviating. |
| @@ -2195,17 +2202,10 @@ priorities. */); | |||
| 2195 | defsubr (&Sredirect_debugging_output); | 2202 | defsubr (&Sredirect_debugging_output); |
| 2196 | #endif | 2203 | #endif |
| 2197 | 2204 | ||
| 2198 | Qexternal_debugging_output = intern_c_string ("external-debugging-output"); | 2205 | DEFSYM (Qexternal_debugging_output, "external-debugging-output"); |
| 2199 | staticpro (&Qexternal_debugging_output); | 2206 | DEFSYM (Qprint_escape_newlines, "print-escape-newlines"); |
| 2200 | 2207 | DEFSYM (Qprint_escape_multibyte, "print-escape-multibyte"); | |
| 2201 | Qprint_escape_newlines = intern_c_string ("print-escape-newlines"); | 2208 | DEFSYM (Qprint_escape_nonascii, "print-escape-nonascii"); |
| 2202 | staticpro (&Qprint_escape_newlines); | ||
| 2203 | |||
| 2204 | Qprint_escape_multibyte = intern_c_string ("print-escape-multibyte"); | ||
| 2205 | staticpro (&Qprint_escape_multibyte); | ||
| 2206 | |||
| 2207 | Qprint_escape_nonascii = intern_c_string ("print-escape-nonascii"); | ||
| 2208 | staticpro (&Qprint_escape_nonascii); | ||
| 2209 | 2209 | ||
| 2210 | print_prune_charset_plist = Qnil; | 2210 | print_prune_charset_plist = Qnil; |
| 2211 | staticpro (&print_prune_charset_plist); | 2211 | staticpro (&print_prune_charset_plist); |
diff --git a/src/process.c b/src/process.c index 0040d14a0f6..6bd168d8840 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -102,9 +102,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 102 | #include "gnutls.h" | 102 | #include "gnutls.h" |
| 103 | #endif | 103 | #endif |
| 104 | 104 | ||
| 105 | #if defined (USE_GTK) || defined (HAVE_GCONF) | 105 | #if defined (USE_GTK) || defined (HAVE_GCONF) || defined (HAVE_GSETTINGS) |
| 106 | #include "xgselect.h" | 106 | #include "xgselect.h" |
| 107 | #endif /* defined (USE_GTK) || defined (HAVE_GCONF) */ | 107 | #endif |
| 108 | #ifdef HAVE_NS | 108 | #ifdef HAVE_NS |
| 109 | #include "nsterm.h" | 109 | #include "nsterm.h" |
| 110 | #endif | 110 | #endif |
| @@ -4479,13 +4479,19 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd, | |||
| 4479 | set_waiting_for_input (&timeout); | 4479 | set_waiting_for_input (&timeout); |
| 4480 | } | 4480 | } |
| 4481 | 4481 | ||
| 4482 | /* Skip the `select' call if input is available and we're | ||
| 4483 | waiting for keyboard input or a cell change (which can be | ||
| 4484 | triggered by processing X events). In the latter case, set | ||
| 4485 | nfds to 1 to avoid breaking the loop. */ | ||
| 4482 | no_avail = 0; | 4486 | no_avail = 0; |
| 4483 | if (read_kbd && detect_input_pending ()) | 4487 | if ((read_kbd || !NILP (wait_for_cell)) |
| 4488 | && detect_input_pending ()) | ||
| 4484 | { | 4489 | { |
| 4485 | nfds = 0; | 4490 | nfds = read_kbd ? 0 : 1; |
| 4486 | no_avail = 1; | 4491 | no_avail = 1; |
| 4487 | } | 4492 | } |
| 4488 | else | 4493 | |
| 4494 | if (!no_avail) | ||
| 4489 | { | 4495 | { |
| 4490 | 4496 | ||
| 4491 | #ifdef ADAPTIVE_READ_BUFFERING | 4497 | #ifdef ADAPTIVE_READ_BUFFERING |
| @@ -4521,7 +4527,7 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd, | |||
| 4521 | process_output_skip = 0; | 4527 | process_output_skip = 0; |
| 4522 | } | 4528 | } |
| 4523 | #endif | 4529 | #endif |
| 4524 | #if defined (USE_GTK) || defined (HAVE_GCONF) | 4530 | #if defined (USE_GTK) || defined (HAVE_GCONF) || defined (HAVE_GSETTINGS) |
| 4525 | nfds = xg_select | 4531 | nfds = xg_select |
| 4526 | #elif defined (HAVE_NS) | 4532 | #elif defined (HAVE_NS) |
| 4527 | nfds = ns_select | 4533 | nfds = ns_select |
| @@ -7236,14 +7242,10 @@ syms_of_process (void) | |||
| 7236 | { | 7242 | { |
| 7237 | #ifdef subprocesses | 7243 | #ifdef subprocesses |
| 7238 | 7244 | ||
| 7239 | Qprocessp = intern_c_string ("processp"); | 7245 | DEFSYM (Qprocessp, "processp"); |
| 7240 | staticpro (&Qprocessp); | 7246 | DEFSYM (Qrun, "run"); |
| 7241 | Qrun = intern_c_string ("run"); | 7247 | DEFSYM (Qstop, "stop"); |
| 7242 | staticpro (&Qrun); | 7248 | DEFSYM (Qsignal, "signal"); |
| 7243 | Qstop = intern_c_string ("stop"); | ||
| 7244 | staticpro (&Qstop); | ||
| 7245 | Qsignal = intern_c_string ("signal"); | ||
| 7246 | staticpro (&Qsignal); | ||
| 7247 | 7249 | ||
| 7248 | /* Qexit is already staticpro'd by syms_of_eval; don't staticpro it | 7250 | /* Qexit is already staticpro'd by syms_of_eval; don't staticpro it |
| 7249 | here again. | 7251 | here again. |
| @@ -7251,92 +7253,52 @@ syms_of_process (void) | |||
| 7251 | Qexit = intern_c_string ("exit"); | 7253 | Qexit = intern_c_string ("exit"); |
| 7252 | staticpro (&Qexit); */ | 7254 | staticpro (&Qexit); */ |
| 7253 | 7255 | ||
| 7254 | Qopen = intern_c_string ("open"); | 7256 | DEFSYM (Qopen, "open"); |
| 7255 | staticpro (&Qopen); | 7257 | DEFSYM (Qclosed, "closed"); |
| 7256 | Qclosed = intern_c_string ("closed"); | 7258 | DEFSYM (Qconnect, "connect"); |
| 7257 | staticpro (&Qclosed); | 7259 | DEFSYM (Qfailed, "failed"); |
| 7258 | Qconnect = intern_c_string ("connect"); | 7260 | DEFSYM (Qlisten, "listen"); |
| 7259 | staticpro (&Qconnect); | 7261 | DEFSYM (Qlocal, "local"); |
| 7260 | Qfailed = intern_c_string ("failed"); | 7262 | DEFSYM (Qipv4, "ipv4"); |
| 7261 | staticpro (&Qfailed); | ||
| 7262 | Qlisten = intern_c_string ("listen"); | ||
| 7263 | staticpro (&Qlisten); | ||
| 7264 | Qlocal = intern_c_string ("local"); | ||
| 7265 | staticpro (&Qlocal); | ||
| 7266 | Qipv4 = intern_c_string ("ipv4"); | ||
| 7267 | staticpro (&Qipv4); | ||
| 7268 | #ifdef AF_INET6 | 7263 | #ifdef AF_INET6 |
| 7269 | Qipv6 = intern_c_string ("ipv6"); | 7264 | DEFSYM (Qipv6, "ipv6"); |
| 7270 | staticpro (&Qipv6); | 7265 | #endif |
| 7271 | #endif | 7266 | DEFSYM (Qdatagram, "datagram"); |
| 7272 | Qdatagram = intern_c_string ("datagram"); | 7267 | DEFSYM (Qseqpacket, "seqpacket"); |
| 7273 | staticpro (&Qdatagram); | 7268 | |
| 7274 | Qseqpacket = intern_c_string ("seqpacket"); | 7269 | DEFSYM (QCport, ":port"); |
| 7275 | staticpro (&Qseqpacket); | 7270 | DEFSYM (QCspeed, ":speed"); |
| 7276 | 7271 | DEFSYM (QCprocess, ":process"); | |
| 7277 | QCport = intern_c_string (":port"); | 7272 | |
| 7278 | staticpro (&QCport); | 7273 | DEFSYM (QCbytesize, ":bytesize"); |
| 7279 | QCspeed = intern_c_string (":speed"); | 7274 | DEFSYM (QCstopbits, ":stopbits"); |
| 7280 | staticpro (&QCspeed); | 7275 | DEFSYM (QCparity, ":parity"); |
| 7281 | QCprocess = intern_c_string (":process"); | 7276 | DEFSYM (Qodd, "odd"); |
| 7282 | staticpro (&QCprocess); | 7277 | DEFSYM (Qeven, "even"); |
| 7283 | 7278 | DEFSYM (QCflowcontrol, ":flowcontrol"); | |
| 7284 | QCbytesize = intern_c_string (":bytesize"); | 7279 | DEFSYM (Qhw, "hw"); |
| 7285 | staticpro (&QCbytesize); | 7280 | DEFSYM (Qsw, "sw"); |
| 7286 | QCstopbits = intern_c_string (":stopbits"); | 7281 | DEFSYM (QCsummary, ":summary"); |
| 7287 | staticpro (&QCstopbits); | 7282 | |
| 7288 | QCparity = intern_c_string (":parity"); | 7283 | DEFSYM (Qreal, "real"); |
| 7289 | staticpro (&QCparity); | 7284 | DEFSYM (Qnetwork, "network"); |
| 7290 | Qodd = intern_c_string ("odd"); | 7285 | DEFSYM (Qserial, "serial"); |
| 7291 | staticpro (&Qodd); | 7286 | DEFSYM (QCbuffer, ":buffer"); |
| 7292 | Qeven = intern_c_string ("even"); | 7287 | DEFSYM (QChost, ":host"); |
| 7293 | staticpro (&Qeven); | 7288 | DEFSYM (QCservice, ":service"); |
| 7294 | QCflowcontrol = intern_c_string (":flowcontrol"); | 7289 | DEFSYM (QClocal, ":local"); |
| 7295 | staticpro (&QCflowcontrol); | 7290 | DEFSYM (QCremote, ":remote"); |
| 7296 | Qhw = intern_c_string ("hw"); | 7291 | DEFSYM (QCcoding, ":coding"); |
| 7297 | staticpro (&Qhw); | 7292 | DEFSYM (QCserver, ":server"); |
| 7298 | Qsw = intern_c_string ("sw"); | 7293 | DEFSYM (QCnowait, ":nowait"); |
| 7299 | staticpro (&Qsw); | 7294 | DEFSYM (QCsentinel, ":sentinel"); |
| 7300 | QCsummary = intern_c_string (":summary"); | 7295 | DEFSYM (QClog, ":log"); |
| 7301 | staticpro (&QCsummary); | 7296 | DEFSYM (QCnoquery, ":noquery"); |
| 7302 | 7297 | DEFSYM (QCstop, ":stop"); | |
| 7303 | Qreal = intern_c_string ("real"); | 7298 | DEFSYM (QCoptions, ":options"); |
| 7304 | staticpro (&Qreal); | 7299 | DEFSYM (QCplist, ":plist"); |
| 7305 | Qnetwork = intern_c_string ("network"); | 7300 | |
| 7306 | staticpro (&Qnetwork); | 7301 | DEFSYM (Qlast_nonmenu_event, "last-nonmenu-event"); |
| 7307 | Qserial = intern_c_string ("serial"); | ||
| 7308 | staticpro (&Qserial); | ||
| 7309 | QCbuffer = intern_c_string (":buffer"); | ||
| 7310 | staticpro (&QCbuffer); | ||
| 7311 | QChost = intern_c_string (":host"); | ||
| 7312 | staticpro (&QChost); | ||
| 7313 | QCservice = intern_c_string (":service"); | ||
| 7314 | staticpro (&QCservice); | ||
| 7315 | QClocal = intern_c_string (":local"); | ||
| 7316 | staticpro (&QClocal); | ||
| 7317 | QCremote = intern_c_string (":remote"); | ||
| 7318 | staticpro (&QCremote); | ||
| 7319 | QCcoding = intern_c_string (":coding"); | ||
| 7320 | staticpro (&QCcoding); | ||
| 7321 | QCserver = intern_c_string (":server"); | ||
| 7322 | staticpro (&QCserver); | ||
| 7323 | QCnowait = intern_c_string (":nowait"); | ||
| 7324 | staticpro (&QCnowait); | ||
| 7325 | QCsentinel = intern_c_string (":sentinel"); | ||
| 7326 | staticpro (&QCsentinel); | ||
| 7327 | QClog = intern_c_string (":log"); | ||
| 7328 | staticpro (&QClog); | ||
| 7329 | QCnoquery = intern_c_string (":noquery"); | ||
| 7330 | staticpro (&QCnoquery); | ||
| 7331 | QCstop = intern_c_string (":stop"); | ||
| 7332 | staticpro (&QCstop); | ||
| 7333 | QCoptions = intern_c_string (":options"); | ||
| 7334 | staticpro (&QCoptions); | ||
| 7335 | QCplist = intern_c_string (":plist"); | ||
| 7336 | staticpro (&QCplist); | ||
| 7337 | |||
| 7338 | Qlast_nonmenu_event = intern_c_string ("last-nonmenu-event"); | ||
| 7339 | staticpro (&Qlast_nonmenu_event); | ||
| 7340 | 7302 | ||
| 7341 | staticpro (&Vprocess_alist); | 7303 | staticpro (&Vprocess_alist); |
| 7342 | #ifdef SIGCHLD | 7304 | #ifdef SIGCHLD |
| @@ -7345,73 +7307,40 @@ syms_of_process (void) | |||
| 7345 | 7307 | ||
| 7346 | #endif /* subprocesses */ | 7308 | #endif /* subprocesses */ |
| 7347 | 7309 | ||
| 7348 | QCname = intern_c_string (":name"); | 7310 | DEFSYM (QCname, ":name"); |
| 7349 | staticpro (&QCname); | 7311 | DEFSYM (QCtype, ":type"); |
| 7350 | QCtype = intern_c_string (":type"); | 7312 | |
| 7351 | staticpro (&QCtype); | 7313 | DEFSYM (Qeuid, "euid"); |
| 7352 | 7314 | DEFSYM (Qegid, "egid"); | |
| 7353 | Qeuid = intern_c_string ("euid"); | 7315 | DEFSYM (Quser, "user"); |
| 7354 | staticpro (&Qeuid); | 7316 | DEFSYM (Qgroup, "group"); |
| 7355 | Qegid = intern_c_string ("egid"); | 7317 | DEFSYM (Qcomm, "comm"); |
| 7356 | staticpro (&Qegid); | 7318 | DEFSYM (Qstate, "state"); |
| 7357 | Quser = intern_c_string ("user"); | 7319 | DEFSYM (Qppid, "ppid"); |
| 7358 | staticpro (&Quser); | 7320 | DEFSYM (Qpgrp, "pgrp"); |
| 7359 | Qgroup = intern_c_string ("group"); | 7321 | DEFSYM (Qsess, "sess"); |
| 7360 | staticpro (&Qgroup); | 7322 | DEFSYM (Qttname, "ttname"); |
| 7361 | Qcomm = intern_c_string ("comm"); | 7323 | DEFSYM (Qtpgid, "tpgid"); |
| 7362 | staticpro (&Qcomm); | 7324 | DEFSYM (Qminflt, "minflt"); |
| 7363 | Qstate = intern_c_string ("state"); | 7325 | DEFSYM (Qmajflt, "majflt"); |
| 7364 | staticpro (&Qstate); | 7326 | DEFSYM (Qcminflt, "cminflt"); |
| 7365 | Qppid = intern_c_string ("ppid"); | 7327 | DEFSYM (Qcmajflt, "cmajflt"); |
| 7366 | staticpro (&Qppid); | 7328 | DEFSYM (Qutime, "utime"); |
| 7367 | Qpgrp = intern_c_string ("pgrp"); | 7329 | DEFSYM (Qstime, "stime"); |
| 7368 | staticpro (&Qpgrp); | 7330 | DEFSYM (Qtime, "time"); |
| 7369 | Qsess = intern_c_string ("sess"); | 7331 | DEFSYM (Qcutime, "cutime"); |
| 7370 | staticpro (&Qsess); | 7332 | DEFSYM (Qcstime, "cstime"); |
| 7371 | Qttname = intern_c_string ("ttname"); | 7333 | DEFSYM (Qctime, "ctime"); |
| 7372 | staticpro (&Qttname); | 7334 | DEFSYM (Qpri, "pri"); |
| 7373 | Qtpgid = intern_c_string ("tpgid"); | 7335 | DEFSYM (Qnice, "nice"); |
| 7374 | staticpro (&Qtpgid); | 7336 | DEFSYM (Qthcount, "thcount"); |
| 7375 | Qminflt = intern_c_string ("minflt"); | 7337 | DEFSYM (Qstart, "start"); |
| 7376 | staticpro (&Qminflt); | 7338 | DEFSYM (Qvsize, "vsize"); |
| 7377 | Qmajflt = intern_c_string ("majflt"); | 7339 | DEFSYM (Qrss, "rss"); |
| 7378 | staticpro (&Qmajflt); | 7340 | DEFSYM (Qetime, "etime"); |
| 7379 | Qcminflt = intern_c_string ("cminflt"); | 7341 | DEFSYM (Qpcpu, "pcpu"); |
| 7380 | staticpro (&Qcminflt); | 7342 | DEFSYM (Qpmem, "pmem"); |
| 7381 | Qcmajflt = intern_c_string ("cmajflt"); | 7343 | DEFSYM (Qargs, "args"); |
| 7382 | staticpro (&Qcmajflt); | ||
| 7383 | Qutime = intern_c_string ("utime"); | ||
| 7384 | staticpro (&Qutime); | ||
| 7385 | Qstime = intern_c_string ("stime"); | ||
| 7386 | staticpro (&Qstime); | ||
| 7387 | Qtime = intern_c_string ("time"); | ||
| 7388 | staticpro (&Qtime); | ||
| 7389 | Qcutime = intern_c_string ("cutime"); | ||
| 7390 | staticpro (&Qcutime); | ||
| 7391 | Qcstime = intern_c_string ("cstime"); | ||
| 7392 | staticpro (&Qcstime); | ||
| 7393 | Qctime = intern_c_string ("ctime"); | ||
| 7394 | staticpro (&Qctime); | ||
| 7395 | Qpri = intern_c_string ("pri"); | ||
| 7396 | staticpro (&Qpri); | ||
| 7397 | Qnice = intern_c_string ("nice"); | ||
| 7398 | staticpro (&Qnice); | ||
| 7399 | Qthcount = intern_c_string ("thcount"); | ||
| 7400 | staticpro (&Qthcount); | ||
| 7401 | Qstart = intern_c_string ("start"); | ||
| 7402 | staticpro (&Qstart); | ||
| 7403 | Qvsize = intern_c_string ("vsize"); | ||
| 7404 | staticpro (&Qvsize); | ||
| 7405 | Qrss = intern_c_string ("rss"); | ||
| 7406 | staticpro (&Qrss); | ||
| 7407 | Qetime = intern_c_string ("etime"); | ||
| 7408 | staticpro (&Qetime); | ||
| 7409 | Qpcpu = intern_c_string ("pcpu"); | ||
| 7410 | staticpro (&Qpcpu); | ||
| 7411 | Qpmem = intern_c_string ("pmem"); | ||
| 7412 | staticpro (&Qpmem); | ||
| 7413 | Qargs = intern_c_string ("args"); | ||
| 7414 | staticpro (&Qargs); | ||
| 7415 | 7344 | ||
| 7416 | DEFVAR_BOOL ("delete-exited-processes", delete_exited_processes, | 7345 | DEFVAR_BOOL ("delete-exited-processes", delete_exited_processes, |
| 7417 | doc: /* *Non-nil means delete processes immediately when they exit. | 7346 | doc: /* *Non-nil means delete processes immediately when they exit. |
diff --git a/src/search.c b/src/search.c index 6c835f2cc64..d29a51c695b 100644 --- a/src/search.c +++ b/src/search.c | |||
| @@ -3181,10 +3181,8 @@ syms_of_search (void) | |||
| 3181 | } | 3181 | } |
| 3182 | searchbuf_head = &searchbufs[0]; | 3182 | searchbuf_head = &searchbufs[0]; |
| 3183 | 3183 | ||
| 3184 | Qsearch_failed = intern_c_string ("search-failed"); | 3184 | DEFSYM (Qsearch_failed, "search-failed"); |
| 3185 | staticpro (&Qsearch_failed); | 3185 | DEFSYM (Qinvalid_regexp, "invalid-regexp"); |
| 3186 | Qinvalid_regexp = intern_c_string ("invalid-regexp"); | ||
| 3187 | staticpro (&Qinvalid_regexp); | ||
| 3188 | 3186 | ||
| 3189 | Fput (Qsearch_failed, Qerror_conditions, | 3187 | Fput (Qsearch_failed, Qerror_conditions, |
| 3190 | pure_cons (Qsearch_failed, pure_cons (Qerror, Qnil))); | 3188 | pure_cons (Qsearch_failed, pure_cons (Qerror, Qnil))); |
diff --git a/src/sound.c b/src/sound.c index 0e71e66352e..07c7dab0ada 100644 --- a/src/sound.c +++ b/src/sound.c | |||
| @@ -1477,14 +1477,10 @@ Internal use only, use `play-sound' instead. */) | |||
| 1477 | void | 1477 | void |
| 1478 | syms_of_sound (void) | 1478 | syms_of_sound (void) |
| 1479 | { | 1479 | { |
| 1480 | QCdevice = intern_c_string(":device"); | 1480 | DEFSYM (QCdevice, ":device"); |
| 1481 | staticpro (&QCdevice); | 1481 | DEFSYM (QCvolume, ":volume"); |
| 1482 | QCvolume = intern_c_string (":volume"); | 1482 | DEFSYM (Qsound, "sound"); |
| 1483 | staticpro (&QCvolume); | 1483 | DEFSYM (Qplay_sound_functions, "play-sound-functions"); |
| 1484 | Qsound = intern_c_string ("sound"); | ||
| 1485 | staticpro (&Qsound); | ||
| 1486 | Qplay_sound_functions = intern_c_string ("play-sound-functions"); | ||
| 1487 | staticpro (&Qplay_sound_functions); | ||
| 1488 | 1484 | ||
| 1489 | defsubr (&Splay_sound_internal); | 1485 | defsubr (&Splay_sound_internal); |
| 1490 | } | 1486 | } |
diff --git a/src/syntax.c b/src/syntax.c index 82103cfa3d4..8c2d5ded21f 100644 --- a/src/syntax.c +++ b/src/syntax.c | |||
| @@ -3362,8 +3362,7 @@ init_syntax_once (void) | |||
| 3362 | Lisp_Object temp; | 3362 | Lisp_Object temp; |
| 3363 | 3363 | ||
| 3364 | /* This has to be done here, before we call Fmake_char_table. */ | 3364 | /* This has to be done here, before we call Fmake_char_table. */ |
| 3365 | Qsyntax_table = intern_c_string ("syntax-table"); | 3365 | DEFSYM (Qsyntax_table, "syntax-table"); |
| 3366 | staticpro (&Qsyntax_table); | ||
| 3367 | 3366 | ||
| 3368 | /* Intern_C_String this now in case it isn't already done. | 3367 | /* Intern_C_String this now in case it isn't already done. |
| 3369 | Setting this variable twice is harmless. | 3368 | Setting this variable twice is harmless. |
| @@ -3448,8 +3447,7 @@ init_syntax_once (void) | |||
| 3448 | void | 3447 | void |
| 3449 | syms_of_syntax (void) | 3448 | syms_of_syntax (void) |
| 3450 | { | 3449 | { |
| 3451 | Qsyntax_table_p = intern_c_string ("syntax-table-p"); | 3450 | DEFSYM (Qsyntax_table_p, "syntax-table-p"); |
| 3452 | staticpro (&Qsyntax_table_p); | ||
| 3453 | 3451 | ||
| 3454 | staticpro (&Vsyntax_code_object); | 3452 | staticpro (&Vsyntax_code_object); |
| 3455 | 3453 | ||
| @@ -3461,8 +3459,7 @@ syms_of_syntax (void) | |||
| 3461 | /* Defined in regex.c */ | 3459 | /* Defined in regex.c */ |
| 3462 | staticpro (&re_match_object); | 3460 | staticpro (&re_match_object); |
| 3463 | 3461 | ||
| 3464 | Qscan_error = intern_c_string ("scan-error"); | 3462 | DEFSYM (Qscan_error, "scan-error"); |
| 3465 | staticpro (&Qscan_error); | ||
| 3466 | Fput (Qscan_error, Qerror_conditions, | 3463 | Fput (Qscan_error, Qerror_conditions, |
| 3467 | pure_cons (Qscan_error, pure_cons (Qerror, Qnil))); | 3464 | pure_cons (Qscan_error, pure_cons (Qerror, Qnil))); |
| 3468 | Fput (Qscan_error, Qerror_message, | 3465 | Fput (Qscan_error, Qerror_message, |
diff --git a/src/sysdep.c b/src/sysdep.c index 5ad3389dd8f..8b6939b91fe 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -1783,7 +1783,8 @@ seed_random (long int arg) | |||
| 1783 | } | 1783 | } |
| 1784 | 1784 | ||
| 1785 | /* | 1785 | /* |
| 1786 | * Build a full Emacs-sized word out of whatever we've got. | 1786 | * Return a nonnegative random integer out of whatever we've got. |
| 1787 | * It contains enough bits to make a random (signed) Emacs fixnum. | ||
| 1787 | * This suffices even for a 64-bit architecture with a 15-bit rand. | 1788 | * This suffices even for a 64-bit architecture with a 15-bit rand. |
| 1788 | */ | 1789 | */ |
| 1789 | EMACS_INT | 1790 | EMACS_INT |
| @@ -1791,9 +1792,11 @@ get_random (void) | |||
| 1791 | { | 1792 | { |
| 1792 | EMACS_UINT val = 0; | 1793 | EMACS_UINT val = 0; |
| 1793 | int i; | 1794 | int i; |
| 1794 | for (i = 0; i < (VALBITS + RAND_BITS - 1) / RAND_BITS; i++) | 1795 | for (i = 0; i < (FIXNUM_BITS + RAND_BITS - 1) / RAND_BITS; i++) |
| 1795 | val = (val << RAND_BITS) ^ random (); | 1796 | val = (random () ^ (val << RAND_BITS) |
| 1796 | return val & (((EMACS_INT) 1 << VALBITS) - 1); | 1797 | ^ (val >> (BITS_PER_EMACS_INT - RAND_BITS))); |
| 1798 | val ^= val >> (BITS_PER_EMACS_INT - FIXNUM_BITS); | ||
| 1799 | return val & INTMASK; | ||
| 1797 | } | 1800 | } |
| 1798 | 1801 | ||
| 1799 | #ifndef HAVE_STRERROR | 1802 | #ifndef HAVE_STRERROR |
| @@ -2012,37 +2015,6 @@ perror (void) | |||
| 2012 | } | 2015 | } |
| 2013 | #endif /* HPUX and not HAVE_PERROR */ | 2016 | #endif /* HPUX and not HAVE_PERROR */ |
| 2014 | 2017 | ||
| 2015 | #ifndef HAVE_DUP2 | ||
| 2016 | |||
| 2017 | /* | ||
| 2018 | * Emulate BSD dup2. First close newd if it already exists. | ||
| 2019 | * Then, attempt to dup oldd. If not successful, call dup2 recursively | ||
| 2020 | * until we are, then close the unsuccessful ones. | ||
| 2021 | */ | ||
| 2022 | |||
| 2023 | int | ||
| 2024 | dup2 (int oldd, int newd) | ||
| 2025 | { | ||
| 2026 | register int fd, ret; | ||
| 2027 | |||
| 2028 | emacs_close (newd); | ||
| 2029 | |||
| 2030 | #ifdef F_DUPFD | ||
| 2031 | return fcntl (oldd, F_DUPFD, newd); | ||
| 2032 | #else | ||
| 2033 | fd = dup (old); | ||
| 2034 | if (fd == -1) | ||
| 2035 | return -1; | ||
| 2036 | if (fd == new) | ||
| 2037 | return new; | ||
| 2038 | ret = dup2 (old,new); | ||
| 2039 | emacs_close (fd); | ||
| 2040 | return ret; | ||
| 2041 | #endif | ||
| 2042 | } | ||
| 2043 | |||
| 2044 | #endif /* not HAVE_DUP2 */ | ||
| 2045 | |||
| 2046 | /* | 2018 | /* |
| 2047 | * Gettimeofday. Simulate as much as possible. Only accurate | 2019 | * Gettimeofday. Simulate as much as possible. Only accurate |
| 2048 | * to nearest second. Emacs doesn't use tzp so ignore it for now. | 2020 | * to nearest second. Emacs doesn't use tzp so ignore it for now. |
diff --git a/src/terminal.c b/src/terminal.c index c135c0f93ef..67577adf3b4 100644 --- a/src/terminal.c +++ b/src/terminal.c | |||
| @@ -555,10 +555,8 @@ Each function is called with argument, the terminal. | |||
| 555 | This may be called just before actually deleting the terminal, | 555 | This may be called just before actually deleting the terminal, |
| 556 | or some time later. */); | 556 | or some time later. */); |
| 557 | Vdelete_terminal_functions = Qnil; | 557 | Vdelete_terminal_functions = Qnil; |
| 558 | Qdelete_terminal_functions = intern_c_string ("delete-terminal-functions"); | 558 | DEFSYM (Qdelete_terminal_functions, "delete-terminal-functions"); |
| 559 | staticpro (&Qdelete_terminal_functions); | 559 | DEFSYM (Qrun_hook_with_args, "run-hook-with-args"); |
| 560 | Qrun_hook_with_args = intern_c_string ("run-hook-with-args"); | ||
| 561 | staticpro (&Qrun_hook_with_args); | ||
| 562 | 560 | ||
| 563 | defsubr (&Sdelete_terminal); | 561 | defsubr (&Sdelete_terminal); |
| 564 | defsubr (&Sframe_terminal); | 562 | defsubr (&Sframe_terminal); |
diff --git a/src/textprop.c b/src/textprop.c index dd8695f7af8..29425f7a550 100644 --- a/src/textprop.c +++ b/src/textprop.c | |||
| @@ -1707,10 +1707,14 @@ text_property_stickiness (Lisp_Object prop, Lisp_Object pos, Lisp_Object buffer) | |||
| 1707 | { | 1707 | { |
| 1708 | Lisp_Object prev_pos, front_sticky; | 1708 | Lisp_Object prev_pos, front_sticky; |
| 1709 | int is_rear_sticky = 1, is_front_sticky = 0; /* defaults */ | 1709 | int is_rear_sticky = 1, is_front_sticky = 0; /* defaults */ |
| 1710 | Lisp_Object defalt = Fassq (prop, Vtext_property_default_nonsticky); | ||
| 1710 | 1711 | ||
| 1711 | if (NILP (buffer)) | 1712 | if (NILP (buffer)) |
| 1712 | XSETBUFFER (buffer, current_buffer); | 1713 | XSETBUFFER (buffer, current_buffer); |
| 1713 | 1714 | ||
| 1715 | if (CONSP (defalt) && !NILP (XCDR (defalt))) | ||
| 1716 | is_rear_sticky = 0; | ||
| 1717 | |||
| 1714 | if (XINT (pos) > BUF_BEGV (XBUFFER (buffer))) | 1718 | if (XINT (pos) > BUF_BEGV (XBUFFER (buffer))) |
| 1715 | /* Consider previous character. */ | 1719 | /* Consider previous character. */ |
| 1716 | { | 1720 | { |
| @@ -2230,9 +2234,11 @@ If a character in a buffer has PROPERTY, new text inserted adjacent to | |||
| 2230 | the character doesn't inherit PROPERTY if NONSTICKINESS is non-nil, | 2234 | the character doesn't inherit PROPERTY if NONSTICKINESS is non-nil, |
| 2231 | inherits it if NONSTICKINESS is nil. The `front-sticky' and | 2235 | inherits it if NONSTICKINESS is nil. The `front-sticky' and |
| 2232 | `rear-nonsticky' properties of the character override NONSTICKINESS. */); | 2236 | `rear-nonsticky' properties of the character override NONSTICKINESS. */); |
| 2233 | /* Text property `syntax-table' should be nonsticky by default. */ | 2237 | /* Text properties `syntax-table'and `display' should be nonsticky |
| 2238 | by default. */ | ||
| 2234 | Vtext_property_default_nonsticky | 2239 | Vtext_property_default_nonsticky |
| 2235 | = Fcons (Fcons (intern_c_string ("syntax-table"), Qt), Qnil); | 2240 | = Fcons (Fcons (intern_c_string ("syntax-table"), Qt), |
| 2241 | Fcons (Fcons (intern_c_string ("display"), Qt), Qnil)); | ||
| 2236 | 2242 | ||
| 2237 | staticpro (&interval_insert_behind_hooks); | 2243 | staticpro (&interval_insert_behind_hooks); |
| 2238 | staticpro (&interval_insert_in_front_hooks); | 2244 | staticpro (&interval_insert_in_front_hooks); |
| @@ -2242,45 +2248,27 @@ inherits it if NONSTICKINESS is nil. The `front-sticky' and | |||
| 2242 | 2248 | ||
| 2243 | /* Common attributes one might give text */ | 2249 | /* Common attributes one might give text */ |
| 2244 | 2250 | ||
| 2245 | staticpro (&Qforeground); | 2251 | DEFSYM (Qforeground, "foreground"); |
| 2246 | Qforeground = intern_c_string ("foreground"); | 2252 | DEFSYM (Qbackground, "background"); |
| 2247 | staticpro (&Qbackground); | 2253 | DEFSYM (Qfont, "font"); |
| 2248 | Qbackground = intern_c_string ("background"); | 2254 | DEFSYM (Qstipple, "stipple"); |
| 2249 | staticpro (&Qfont); | 2255 | DEFSYM (Qunderline, "underline"); |
| 2250 | Qfont = intern_c_string ("font"); | 2256 | DEFSYM (Qread_only, "read-only"); |
| 2251 | staticpro (&Qstipple); | 2257 | DEFSYM (Qinvisible, "invisible"); |
| 2252 | Qstipple = intern_c_string ("stipple"); | 2258 | DEFSYM (Qintangible, "intangible"); |
| 2253 | staticpro (&Qunderline); | 2259 | DEFSYM (Qcategory, "category"); |
| 2254 | Qunderline = intern_c_string ("underline"); | 2260 | DEFSYM (Qlocal_map, "local-map"); |
| 2255 | staticpro (&Qread_only); | 2261 | DEFSYM (Qfront_sticky, "front-sticky"); |
| 2256 | Qread_only = intern_c_string ("read-only"); | 2262 | DEFSYM (Qrear_nonsticky, "rear-nonsticky"); |
| 2257 | staticpro (&Qinvisible); | 2263 | DEFSYM (Qmouse_face, "mouse-face"); |
| 2258 | Qinvisible = intern_c_string ("invisible"); | 2264 | DEFSYM (Qminibuffer_prompt, "minibuffer-prompt"); |
| 2259 | staticpro (&Qintangible); | ||
| 2260 | Qintangible = intern_c_string ("intangible"); | ||
| 2261 | staticpro (&Qcategory); | ||
| 2262 | Qcategory = intern_c_string ("category"); | ||
| 2263 | staticpro (&Qlocal_map); | ||
| 2264 | Qlocal_map = intern_c_string ("local-map"); | ||
| 2265 | staticpro (&Qfront_sticky); | ||
| 2266 | Qfront_sticky = intern_c_string ("front-sticky"); | ||
| 2267 | staticpro (&Qrear_nonsticky); | ||
| 2268 | Qrear_nonsticky = intern_c_string ("rear-nonsticky"); | ||
| 2269 | staticpro (&Qmouse_face); | ||
| 2270 | Qmouse_face = intern_c_string ("mouse-face"); | ||
| 2271 | staticpro (&Qminibuffer_prompt); | ||
| 2272 | Qminibuffer_prompt = intern_c_string ("minibuffer-prompt"); | ||
| 2273 | 2265 | ||
| 2274 | /* Properties that text might use to specify certain actions */ | 2266 | /* Properties that text might use to specify certain actions */ |
| 2275 | 2267 | ||
| 2276 | staticpro (&Qmouse_left); | 2268 | DEFSYM (Qmouse_left, "mouse-left"); |
| 2277 | Qmouse_left = intern_c_string ("mouse-left"); | 2269 | DEFSYM (Qmouse_entered, "mouse-entered"); |
| 2278 | staticpro (&Qmouse_entered); | 2270 | DEFSYM (Qpoint_left, "point-left"); |
| 2279 | Qmouse_entered = intern_c_string ("mouse-entered"); | 2271 | DEFSYM (Qpoint_entered, "point-entered"); |
| 2280 | staticpro (&Qpoint_left); | ||
| 2281 | Qpoint_left = intern_c_string ("point-left"); | ||
| 2282 | staticpro (&Qpoint_entered); | ||
| 2283 | Qpoint_entered = intern_c_string ("point-entered"); | ||
| 2284 | 2272 | ||
| 2285 | defsubr (&Stext_properties_at); | 2273 | defsubr (&Stext_properties_at); |
| 2286 | defsubr (&Sget_text_property); | 2274 | defsubr (&Sget_text_property); |
diff --git a/src/undo.c b/src/undo.c index e7e9ae5632e..7e121e8b27d 100644 --- a/src/undo.c +++ b/src/undo.c | |||
| @@ -637,11 +637,8 @@ Return what remains of the list. */) | |||
| 637 | void | 637 | void |
| 638 | syms_of_undo (void) | 638 | syms_of_undo (void) |
| 639 | { | 639 | { |
| 640 | Qinhibit_read_only = intern_c_string ("inhibit-read-only"); | 640 | DEFSYM (Qinhibit_read_only, "inhibit-read-only"); |
| 641 | staticpro (&Qinhibit_read_only); | 641 | DEFSYM (Qapply, "apply"); |
| 642 | |||
| 643 | Qapply = intern_c_string ("apply"); | ||
| 644 | staticpro (&Qapply); | ||
| 645 | 642 | ||
| 646 | pending_boundary = Qnil; | 643 | pending_boundary = Qnil; |
| 647 | staticpro (&pending_boundary); | 644 | staticpro (&pending_boundary); |
| @@ -5960,8 +5960,7 @@ globals_of_w32 (void) | |||
| 5960 | get_process_times_fn = (GetProcessTimes_Proc) | 5960 | get_process_times_fn = (GetProcessTimes_Proc) |
| 5961 | GetProcAddress (kernel32, "GetProcessTimes"); | 5961 | GetProcAddress (kernel32, "GetProcessTimes"); |
| 5962 | 5962 | ||
| 5963 | QCloaded_from = intern_c_string (":loaded-from"); | 5963 | DEFSYM (QCloaded_from, ":loaded-from"); |
| 5964 | staticpro (&QCloaded_from); | ||
| 5965 | 5964 | ||
| 5966 | Vlibrary_cache = Qnil; | 5965 | Vlibrary_cache = Qnil; |
| 5967 | staticpro (&Vlibrary_cache); | 5966 | staticpro (&Vlibrary_cache); |
diff --git a/src/w32fns.c b/src/w32fns.c index e4b11b70441..cba0b91e685 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -6805,10 +6805,6 @@ syms_of_w32fns (void) | |||
| 6805 | DEFSYM (Qfont_param, "font-parameter"); | 6805 | DEFSYM (Qfont_param, "font-parameter"); |
| 6806 | /* This is the end of symbol initialization. */ | 6806 | /* This is the end of symbol initialization. */ |
| 6807 | 6807 | ||
| 6808 | /* Text property `display' should be nonsticky by default. */ | ||
| 6809 | Vtext_property_default_nonsticky | ||
| 6810 | = Fcons (Fcons (Qdisplay, Qt), Vtext_property_default_nonsticky); | ||
| 6811 | |||
| 6812 | 6808 | ||
| 6813 | Fput (Qundefined_color, Qerror_conditions, | 6809 | Fput (Qundefined_color, Qerror_conditions, |
| 6814 | pure_cons (Qundefined_color, pure_cons (Qerror, Qnil))); | 6810 | pure_cons (Qundefined_color, pure_cons (Qerror, Qnil))); |
diff --git a/src/w32menu.c b/src/w32menu.c index e2f6de7f0c8..c31a8c1fd96 100644 --- a/src/w32menu.c +++ b/src/w32menu.c | |||
| @@ -33,7 +33,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 33 | #include "blockinput.h" | 33 | #include "blockinput.h" |
| 34 | #include "buffer.h" | 34 | #include "buffer.h" |
| 35 | #include "charset.h" | 35 | #include "charset.h" |
| 36 | #include "character.h" | ||
| 37 | #include "coding.h" | 36 | #include "coding.h" |
| 38 | #include "menu.h" | 37 | #include "menu.h" |
| 39 | 38 | ||
diff --git a/src/w32proc.c b/src/w32proc.c index e94d9aa3254..47cbf57d9ea 100644 --- a/src/w32proc.c +++ b/src/w32proc.c | |||
| @@ -51,7 +51,6 @@ extern BOOL WINAPI IsValidLocale (LCID, DWORD); | |||
| 51 | #endif | 51 | #endif |
| 52 | 52 | ||
| 53 | #include "lisp.h" | 53 | #include "lisp.h" |
| 54 | #include "character.h" | ||
| 55 | #include "w32.h" | 54 | #include "w32.h" |
| 56 | #include "w32heap.h" | 55 | #include "w32heap.h" |
| 57 | #include "systime.h" | 56 | #include "systime.h" |
diff --git a/src/w32select.c b/src/w32select.c index ef0cb3adc24..e3225c3f996 100644 --- a/src/w32select.c +++ b/src/w32select.c | |||
| @@ -80,7 +80,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 80 | #include "blockinput.h" | 80 | #include "blockinput.h" |
| 81 | #include "charset.h" | 81 | #include "charset.h" |
| 82 | #include "coding.h" | 82 | #include "coding.h" |
| 83 | #include "character.h" | ||
| 84 | #include "composite.h" | 83 | #include "composite.h" |
| 85 | 84 | ||
| 86 | 85 | ||
diff --git a/src/window.c b/src/window.c index 65df9f26e64..154efe4a222 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -54,7 +54,7 @@ Lisp_Object Qwindowp, Qwindow_live_p; | |||
| 54 | static Lisp_Object Qwindow_configuration_p, Qrecord_window_buffer; | 54 | static Lisp_Object Qwindow_configuration_p, Qrecord_window_buffer; |
| 55 | static Lisp_Object Qwindow_deletable_p, Qdelete_window, Qdisplay_buffer; | 55 | static Lisp_Object Qwindow_deletable_p, Qdelete_window, Qdisplay_buffer; |
| 56 | static Lisp_Object Qreplace_buffer_in_windows, Qget_mru_window; | 56 | static Lisp_Object Qreplace_buffer_in_windows, Qget_mru_window; |
| 57 | static Lisp_Object Qresize_root_window, Qresize_root_window_vertically; | 57 | static Lisp_Object Qwindow_resize_root_window, Qwindow_resize_root_window_vertically; |
| 58 | static Lisp_Object Qscroll_up, Qscroll_down, Qscroll_command; | 58 | static Lisp_Object Qscroll_up, Qscroll_down, Qscroll_command; |
| 59 | static Lisp_Object Qsafe, Qabove, Qbelow; | 59 | static Lisp_Object Qsafe, Qabove, Qbelow; |
| 60 | static Lisp_Object Qauto_buffer_name; | 60 | static Lisp_Object Qauto_buffer_name; |
| @@ -82,8 +82,8 @@ static int foreach_window_1 (struct window *, | |||
| 82 | int (* fn) (struct window *, void *), | 82 | int (* fn) (struct window *, void *), |
| 83 | void *); | 83 | void *); |
| 84 | static Lisp_Object window_list_1 (Lisp_Object, Lisp_Object, Lisp_Object); | 84 | static Lisp_Object window_list_1 (Lisp_Object, Lisp_Object, Lisp_Object); |
| 85 | static int resize_window_check (struct window *, int); | 85 | static int window_resize_check (struct window *, int); |
| 86 | static void resize_window_apply (struct window *, int); | 86 | static void window_resize_apply (struct window *, int); |
| 87 | static Lisp_Object select_window (Lisp_Object, Lisp_Object, int); | 87 | static Lisp_Object select_window (Lisp_Object, Lisp_Object, int); |
| 88 | 88 | ||
| 89 | /* This is the window in which the terminal's cursor should | 89 | /* This is the window in which the terminal's cursor should |
| @@ -408,14 +408,6 @@ buffer of the selected window before each command. */) | |||
| 408 | return select_window (window, norecord, 0); | 408 | return select_window (window, norecord, 0); |
| 409 | } | 409 | } |
| 410 | 410 | ||
| 411 | DEFUN ("window-clone-number", Fwindow_clone_number, Swindow_clone_number, 0, 1, 0, | ||
| 412 | doc: /* Return WINDOW's clone number. | ||
| 413 | WINDOW can be any window and defaults to the selected one. */) | ||
| 414 | (Lisp_Object window) | ||
| 415 | { | ||
| 416 | return decode_any_window (window)->clone_number; | ||
| 417 | } | ||
| 418 | |||
| 419 | DEFUN ("window-buffer", Fwindow_buffer, Swindow_buffer, 0, 1, 0, | 411 | DEFUN ("window-buffer", Fwindow_buffer, Swindow_buffer, 0, 1, 0, |
| 420 | doc: /* Return the buffer that WINDOW is displaying. | 412 | doc: /* Return the buffer that WINDOW is displaying. |
| 421 | WINDOW can be any window and defaults to the selected one. | 413 | WINDOW can be any window and defaults to the selected one. |
| @@ -434,37 +426,37 @@ Return nil if WINDOW has no parent. */) | |||
| 434 | return decode_any_window (window)->parent; | 426 | return decode_any_window (window)->parent; |
| 435 | } | 427 | } |
| 436 | 428 | ||
| 437 | DEFUN ("window-vchild", Fwindow_vchild, Swindow_vchild, 0, 1, 0, | 429 | DEFUN ("window-top-child", Fwindow_top_child, Swindow_top_child, 0, 1, 0, |
| 438 | doc: /* Return WINDOW's first vertical child window. | 430 | doc: /* Return WINDOW's topmost child window. |
| 439 | WINDOW can be any window and defaults to the selected one. | 431 | WINDOW can be any window and defaults to the selected one. |
| 440 | Return nil if WINDOW has no vertical child. */) | 432 | Return nil if WINDOW is not a vertical combination. */) |
| 441 | (Lisp_Object window) | 433 | (Lisp_Object window) |
| 442 | { | 434 | { |
| 443 | return decode_any_window (window)->vchild; | 435 | return decode_any_window (window)->vchild; |
| 444 | } | 436 | } |
| 445 | 437 | ||
| 446 | DEFUN ("window-hchild", Fwindow_hchild, Swindow_hchild, 0, 1, 0, | 438 | DEFUN ("window-left-child", Fwindow_left_child, Swindow_left_child, 0, 1, 0, |
| 447 | doc: /* Return WINDOW's first horizontal child window. | 439 | doc: /* Return WINDOW's leftmost child window. |
| 448 | WINDOW can be any window and defaults to the selected one. | 440 | WINDOW can be any window and defaults to the selected one. |
| 449 | Return nil if WINDOW has no horizontal child. */) | 441 | Return nil if WINDOW is not a horizontal combination. */) |
| 450 | (Lisp_Object window) | 442 | (Lisp_Object window) |
| 451 | { | 443 | { |
| 452 | return decode_any_window (window)->hchild; | 444 | return decode_any_window (window)->hchild; |
| 453 | } | 445 | } |
| 454 | 446 | ||
| 455 | DEFUN ("window-next", Fwindow_next, Swindow_next, 0, 1, 0, | 447 | DEFUN ("window-next-sibling", Fwindow_next_sibling, Swindow_next_sibling, 0, 1, 0, |
| 456 | doc: /* Return WINDOW's right sibling window. | 448 | doc: /* Return WINDOW's next sibling window. |
| 457 | WINDOW can be any window and defaults to the selected one. | 449 | WINDOW can be any window and defaults to the selected one. |
| 458 | Return nil if WINDOW has no right sibling. */) | 450 | Return nil if WINDOW has no next sibling. */) |
| 459 | (Lisp_Object window) | 451 | (Lisp_Object window) |
| 460 | { | 452 | { |
| 461 | return decode_any_window (window)->next; | 453 | return decode_any_window (window)->next; |
| 462 | } | 454 | } |
| 463 | 455 | ||
| 464 | DEFUN ("window-prev", Fwindow_prev, Swindow_prev, 0, 1, 0, | 456 | DEFUN ("window-prev-sibling", Fwindow_prev_sibling, Swindow_prev_sibling, 0, 1, 0, |
| 465 | doc: /* Return WINDOW's left sibling window. | 457 | doc: /* Return WINDOW's previous sibling window. |
| 466 | WINDOW can be any window and defaults to the selected one. | 458 | WINDOW can be any window and defaults to the selected one. |
| 467 | Return nil if WINDOW has no left sibling. */) | 459 | Return nil if WINDOW has no previous sibling. */) |
| 468 | (Lisp_Object window) | 460 | (Lisp_Object window) |
| 469 | { | 461 | { |
| 470 | return decode_any_window (window)->prev; | 462 | return decode_any_window (window)->prev; |
| @@ -2576,7 +2568,7 @@ selected frame and no others. */) | |||
| 2576 | static Lisp_Object | 2568 | static Lisp_Object |
| 2577 | resize_root_window (Lisp_Object window, Lisp_Object delta, Lisp_Object horizontal, Lisp_Object ignore) | 2569 | resize_root_window (Lisp_Object window, Lisp_Object delta, Lisp_Object horizontal, Lisp_Object ignore) |
| 2578 | { | 2570 | { |
| 2579 | return call4 (Qresize_root_window, window, delta, horizontal, ignore); | 2571 | return call4 (Qwindow_resize_root_window, window, delta, horizontal, ignore); |
| 2580 | } | 2572 | } |
| 2581 | 2573 | ||
| 2582 | 2574 | ||
| @@ -2695,13 +2687,13 @@ window-start value is reasonable when this function is called. */) | |||
| 2695 | XSETINT (delta, XINT (r->total_lines) - XINT (w->total_lines)); | 2687 | XSETINT (delta, XINT (r->total_lines) - XINT (w->total_lines)); |
| 2696 | w->top_line = r->top_line; | 2688 | w->top_line = r->top_line; |
| 2697 | resize_root_window (window, delta, Qnil, Qnil); | 2689 | resize_root_window (window, delta, Qnil, Qnil); |
| 2698 | if (resize_window_check (w, 0)) | 2690 | if (window_resize_check (w, 0)) |
| 2699 | resize_window_apply (w, 0); | 2691 | window_resize_apply (w, 0); |
| 2700 | else | 2692 | else |
| 2701 | { | 2693 | { |
| 2702 | resize_root_window (window, delta, Qnil, Qt); | 2694 | resize_root_window (window, delta, Qnil, Qt); |
| 2703 | if (resize_window_check (w, 0)) | 2695 | if (window_resize_check (w, 0)) |
| 2704 | resize_window_apply (w, 0); | 2696 | window_resize_apply (w, 0); |
| 2705 | else | 2697 | else |
| 2706 | resize_failed = 1; | 2698 | resize_failed = 1; |
| 2707 | } | 2699 | } |
| @@ -2713,13 +2705,13 @@ window-start value is reasonable when this function is called. */) | |||
| 2713 | XSETINT (delta, XINT (r->total_cols) - XINT (w->total_cols)); | 2705 | XSETINT (delta, XINT (r->total_cols) - XINT (w->total_cols)); |
| 2714 | w->left_col = r->left_col; | 2706 | w->left_col = r->left_col; |
| 2715 | resize_root_window (window, delta, Qt, Qnil); | 2707 | resize_root_window (window, delta, Qt, Qnil); |
| 2716 | if (resize_window_check (w, 1)) | 2708 | if (window_resize_check (w, 1)) |
| 2717 | resize_window_apply (w, 1); | 2709 | window_resize_apply (w, 1); |
| 2718 | else | 2710 | else |
| 2719 | { | 2711 | { |
| 2720 | resize_root_window (window, delta, Qt, Qt); | 2712 | resize_root_window (window, delta, Qt, Qt); |
| 2721 | if (resize_window_check (w, 1)) | 2713 | if (window_resize_check (w, 1)) |
| 2722 | resize_window_apply (w, 1); | 2714 | window_resize_apply (w, 1); |
| 2723 | else | 2715 | else |
| 2724 | resize_failed = 1; | 2716 | resize_failed = 1; |
| 2725 | } | 2717 | } |
| @@ -3087,18 +3079,6 @@ set_window_buffer (Lisp_Object window, Lisp_Object buffer, int run_hooks_p, int | |||
| 3087 | unbind_to (count, Qnil); | 3079 | unbind_to (count, Qnil); |
| 3088 | } | 3080 | } |
| 3089 | 3081 | ||
| 3090 | DEFUN ("set-window-clone-number", Fset_window_clone_number, Sset_window_clone_number, 2, 2, 0, | ||
| 3091 | doc: /* Set WINDOW's clone number to CLONE-NUMBER. | ||
| 3092 | WINDOW can be any window and defaults to the selected one. */) | ||
| 3093 | (Lisp_Object window, Lisp_Object clone_number) | ||
| 3094 | { | ||
| 3095 | register struct window *w = decode_any_window (window); | ||
| 3096 | |||
| 3097 | CHECK_NUMBER (clone_number); | ||
| 3098 | w->clone_number = clone_number; | ||
| 3099 | return w->clone_number; | ||
| 3100 | } | ||
| 3101 | |||
| 3102 | DEFUN ("set-window-buffer", Fset_window_buffer, Sset_window_buffer, 2, 3, 0, | 3082 | DEFUN ("set-window-buffer", Fset_window_buffer, Sset_window_buffer, 2, 3, 0, |
| 3103 | doc: /* Make WINDOW display BUFFER-OR-NAME as its contents. | 3083 | doc: /* Make WINDOW display BUFFER-OR-NAME as its contents. |
| 3104 | WINDOW has to be a live window and defaults to the selected one. | 3084 | WINDOW has to be a live window and defaults to the selected one. |
| @@ -3289,7 +3269,6 @@ make_parent_window (Lisp_Object window, int horflag) | |||
| 3289 | 3269 | ||
| 3290 | ++sequence_number; | 3270 | ++sequence_number; |
| 3291 | XSETFASTINT (p->sequence_number, sequence_number); | 3271 | XSETFASTINT (p->sequence_number, sequence_number); |
| 3292 | XSETFASTINT (p->clone_number, sequence_number); | ||
| 3293 | 3272 | ||
| 3294 | replace_window (window, parent, 1); | 3273 | replace_window (window, parent, 1); |
| 3295 | 3274 | ||
| @@ -3335,7 +3314,6 @@ make_window (void) | |||
| 3335 | XSETFASTINT (w->use_time, 0); | 3314 | XSETFASTINT (w->use_time, 0); |
| 3336 | ++sequence_number; | 3315 | ++sequence_number; |
| 3337 | XSETFASTINT (w->sequence_number, sequence_number); | 3316 | XSETFASTINT (w->sequence_number, sequence_number); |
| 3338 | XSETFASTINT (w->clone_number, sequence_number); | ||
| 3339 | w->temslot = w->last_modified = w->last_overlay_modified = Qnil; | 3317 | w->temslot = w->last_modified = w->last_overlay_modified = Qnil; |
| 3340 | XSETFASTINT (w->last_point, 0); | 3318 | XSETFASTINT (w->last_point, 0); |
| 3341 | w->last_had_star = w->vertical_scroll_bar = Qnil; | 3319 | w->last_had_star = w->vertical_scroll_bar = Qnil; |
| @@ -3415,7 +3393,7 @@ Note: This function does not operate on any subwindows of WINDOW. */) | |||
| 3415 | `window-min-height' or `window-min-width'. It does check that window | 3393 | `window-min-height' or `window-min-width'. It does check that window |
| 3416 | sizes do not drop below one line (two columns). */ | 3394 | sizes do not drop below one line (two columns). */ |
| 3417 | static int | 3395 | static int |
| 3418 | resize_window_check (struct window *w, int horflag) | 3396 | window_resize_check (struct window *w, int horflag) |
| 3419 | { | 3397 | { |
| 3420 | struct window *c; | 3398 | struct window *c; |
| 3421 | 3399 | ||
| @@ -3429,7 +3407,7 @@ resize_window_check (struct window *w, int horflag) | |||
| 3429 | while (c) | 3407 | while (c) |
| 3430 | { | 3408 | { |
| 3431 | if ((XINT (c->new_total) != XINT (w->new_total)) | 3409 | if ((XINT (c->new_total) != XINT (w->new_total)) |
| 3432 | || !resize_window_check (c, horflag)) | 3410 | || !window_resize_check (c, horflag)) |
| 3433 | return 0; | 3411 | return 0; |
| 3434 | c = NILP (c->next) ? 0 : XWINDOW (c->next); | 3412 | c = NILP (c->next) ? 0 : XWINDOW (c->next); |
| 3435 | } | 3413 | } |
| @@ -3442,7 +3420,7 @@ resize_window_check (struct window *w, int horflag) | |||
| 3442 | int sum_of_sizes = 0; | 3420 | int sum_of_sizes = 0; |
| 3443 | while (c) | 3421 | while (c) |
| 3444 | { | 3422 | { |
| 3445 | if (!resize_window_check (c, horflag)) | 3423 | if (!window_resize_check (c, horflag)) |
| 3446 | return 0; | 3424 | return 0; |
| 3447 | sum_of_sizes = sum_of_sizes + XINT (c->new_total); | 3425 | sum_of_sizes = sum_of_sizes + XINT (c->new_total); |
| 3448 | c = NILP (c->next) ? 0 : XWINDOW (c->next); | 3426 | c = NILP (c->next) ? 0 : XWINDOW (c->next); |
| @@ -3461,7 +3439,7 @@ resize_window_check (struct window *w, int horflag) | |||
| 3461 | int sum_of_sizes = 0; | 3439 | int sum_of_sizes = 0; |
| 3462 | while (c) | 3440 | while (c) |
| 3463 | { | 3441 | { |
| 3464 | if (!resize_window_check (c, horflag)) | 3442 | if (!window_resize_check (c, horflag)) |
| 3465 | return 0; | 3443 | return 0; |
| 3466 | sum_of_sizes = sum_of_sizes + XINT (c->new_total); | 3444 | sum_of_sizes = sum_of_sizes + XINT (c->new_total); |
| 3467 | c = NILP (c->next) ? 0 : XWINDOW (c->next); | 3445 | c = NILP (c->next) ? 0 : XWINDOW (c->next); |
| @@ -3474,7 +3452,7 @@ resize_window_check (struct window *w, int horflag) | |||
| 3474 | while (c) | 3452 | while (c) |
| 3475 | { | 3453 | { |
| 3476 | if ((XINT (c->new_total) != XINT (w->new_total)) | 3454 | if ((XINT (c->new_total) != XINT (w->new_total)) |
| 3477 | || !resize_window_check (c, horflag)) | 3455 | || !window_resize_check (c, horflag)) |
| 3478 | return 0; | 3456 | return 0; |
| 3479 | c = NILP (c->next) ? 0 : XWINDOW (c->next); | 3457 | c = NILP (c->next) ? 0 : XWINDOW (c->next); |
| 3480 | } | 3458 | } |
| @@ -3494,9 +3472,9 @@ resize_window_check (struct window *w, int horflag) | |||
| 3494 | each of these windows. | 3472 | each of these windows. |
| 3495 | 3473 | ||
| 3496 | This function does not perform any error checks. Make sure you have | 3474 | This function does not perform any error checks. Make sure you have |
| 3497 | run resize_window_check on W before applying this function. */ | 3475 | run window_resize_check on W before applying this function. */ |
| 3498 | static void | 3476 | static void |
| 3499 | resize_window_apply (struct window *w, int horflag) | 3477 | window_resize_apply (struct window *w, int horflag) |
| 3500 | { | 3478 | { |
| 3501 | struct window *c; | 3479 | struct window *c; |
| 3502 | int pos; | 3480 | int pos; |
| @@ -3530,7 +3508,7 @@ resize_window_apply (struct window *w, int horflag) | |||
| 3530 | XSETFASTINT (c->left_col, pos); | 3508 | XSETFASTINT (c->left_col, pos); |
| 3531 | else | 3509 | else |
| 3532 | XSETFASTINT (c->top_line, pos); | 3510 | XSETFASTINT (c->top_line, pos); |
| 3533 | resize_window_apply (c, horflag); | 3511 | window_resize_apply (c, horflag); |
| 3534 | if (!horflag) | 3512 | if (!horflag) |
| 3535 | pos = pos + XINT (c->total_lines); | 3513 | pos = pos + XINT (c->total_lines); |
| 3536 | c = NILP (c->next) ? 0 : XWINDOW (c->next); | 3514 | c = NILP (c->next) ? 0 : XWINDOW (c->next); |
| @@ -3546,7 +3524,7 @@ resize_window_apply (struct window *w, int horflag) | |||
| 3546 | XSETFASTINT (c->left_col, pos); | 3524 | XSETFASTINT (c->left_col, pos); |
| 3547 | else | 3525 | else |
| 3548 | XSETFASTINT (c->top_line, pos); | 3526 | XSETFASTINT (c->top_line, pos); |
| 3549 | resize_window_apply (c, horflag); | 3527 | window_resize_apply (c, horflag); |
| 3550 | if (horflag) | 3528 | if (horflag) |
| 3551 | pos = pos + XINT (c->total_cols); | 3529 | pos = pos + XINT (c->total_cols); |
| 3552 | c = NILP (c->next) ? 0 : XWINDOW (c->next); | 3530 | c = NILP (c->next) ? 0 : XWINDOW (c->next); |
| @@ -3559,7 +3537,7 @@ resize_window_apply (struct window *w, int horflag) | |||
| 3559 | } | 3537 | } |
| 3560 | 3538 | ||
| 3561 | 3539 | ||
| 3562 | DEFUN ("resize-window-apply", Fresize_window_apply, Sresize_window_apply, 1, 2, 0, | 3540 | DEFUN ("window-resize-apply", Fwindow_resize_apply, Swindow_resize_apply, 1, 2, 0, |
| 3563 | doc: /* Apply requested size values for window-tree of FRAME. | 3541 | doc: /* Apply requested size values for window-tree of FRAME. |
| 3564 | Optional argument HORIZONTAL omitted or nil means apply requested height | 3542 | Optional argument HORIZONTAL omitted or nil means apply requested height |
| 3565 | values. HORIZONTAL non-nil means apply requested width values. | 3543 | values. HORIZONTAL non-nil means apply requested width values. |
| @@ -3584,12 +3562,12 @@ be applied on the Elisp level. */) | |||
| 3584 | f = XFRAME (frame); | 3562 | f = XFRAME (frame); |
| 3585 | r = XWINDOW (FRAME_ROOT_WINDOW (f)); | 3563 | r = XWINDOW (FRAME_ROOT_WINDOW (f)); |
| 3586 | 3564 | ||
| 3587 | if (!resize_window_check (r, horflag) | 3565 | if (!window_resize_check (r, horflag) |
| 3588 | || ! EQ (r->new_total, (horflag ? r->total_cols : r->total_lines))) | 3566 | || ! EQ (r->new_total, (horflag ? r->total_cols : r->total_lines))) |
| 3589 | return Qnil; | 3567 | return Qnil; |
| 3590 | 3568 | ||
| 3591 | BLOCK_INPUT; | 3569 | BLOCK_INPUT; |
| 3592 | resize_window_apply (r, horflag); | 3570 | window_resize_apply (r, horflag); |
| 3593 | 3571 | ||
| 3594 | windows_or_buffers_changed++; | 3572 | windows_or_buffers_changed++; |
| 3595 | FRAME_WINDOW_SIZES_CHANGED (f) = 1; | 3573 | FRAME_WINDOW_SIZES_CHANGED (f) = 1; |
| @@ -3641,22 +3619,22 @@ resize_frame_windows (struct frame *f, int size, int horflag) | |||
| 3641 | XSETINT (delta, new_size - old_size); | 3619 | XSETINT (delta, new_size - old_size); |
| 3642 | /* Try a "normal" resize first. */ | 3620 | /* Try a "normal" resize first. */ |
| 3643 | resize_root_window (root, delta, horflag ? Qt : Qnil, Qnil); | 3621 | resize_root_window (root, delta, horflag ? Qt : Qnil, Qnil); |
| 3644 | if (resize_window_check (r, horflag) && new_size == XINT (r->new_total)) | 3622 | if (window_resize_check (r, horflag) && new_size == XINT (r->new_total)) |
| 3645 | resize_window_apply (r, horflag); | 3623 | window_resize_apply (r, horflag); |
| 3646 | else | 3624 | else |
| 3647 | { | 3625 | { |
| 3648 | /* Try with "reasonable" minimum sizes next. */ | 3626 | /* Try with "reasonable" minimum sizes next. */ |
| 3649 | resize_root_window (root, delta, horflag ? Qt : Qnil, Qt); | 3627 | resize_root_window (root, delta, horflag ? Qt : Qnil, Qt); |
| 3650 | if (resize_window_check (r, horflag) | 3628 | if (window_resize_check (r, horflag) |
| 3651 | && new_size == XINT (r->new_total)) | 3629 | && new_size == XINT (r->new_total)) |
| 3652 | resize_window_apply (r, horflag); | 3630 | window_resize_apply (r, horflag); |
| 3653 | else | 3631 | else |
| 3654 | { | 3632 | { |
| 3655 | /* Finally, try with "safe" minimum sizes. */ | 3633 | /* Finally, try with "safe" minimum sizes. */ |
| 3656 | resize_root_window (root, delta, horflag ? Qt : Qnil, Qsafe); | 3634 | resize_root_window (root, delta, horflag ? Qt : Qnil, Qsafe); |
| 3657 | if (resize_window_check (r, horflag) | 3635 | if (window_resize_check (r, horflag) |
| 3658 | && new_size == XINT (r->new_total)) | 3636 | && new_size == XINT (r->new_total)) |
| 3659 | resize_window_apply (r, horflag); | 3637 | window_resize_apply (r, horflag); |
| 3660 | else | 3638 | else |
| 3661 | { | 3639 | { |
| 3662 | /* We lost. Delete all windows but the frame's | 3640 | /* We lost. Delete all windows but the frame's |
| @@ -3765,7 +3743,7 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3765 | XSETINT (p->new_total, | 3743 | XSETINT (p->new_total, |
| 3766 | XINT (horflag ? p->total_cols : p->total_lines) | 3744 | XINT (horflag ? p->total_cols : p->total_lines) |
| 3767 | - XINT (total_size)); | 3745 | - XINT (total_size)); |
| 3768 | if (!resize_window_check (p, horflag)) | 3746 | if (!window_resize_check (p, horflag)) |
| 3769 | error ("Window sizes don't fit"); | 3747 | error ("Window sizes don't fit"); |
| 3770 | else | 3748 | else |
| 3771 | /* Undo the temporary pretension. */ | 3749 | /* Undo the temporary pretension. */ |
| @@ -3773,7 +3751,7 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3773 | } | 3751 | } |
| 3774 | else | 3752 | else |
| 3775 | { | 3753 | { |
| 3776 | if (!resize_window_check (o, horflag)) | 3754 | if (!window_resize_check (o, horflag)) |
| 3777 | error ("Resizing old window failed"); | 3755 | error ("Resizing old window failed"); |
| 3778 | else if (XINT (total_size) + XINT (o->new_total) | 3756 | else if (XINT (total_size) + XINT (o->new_total) |
| 3779 | != XINT (horflag ? o->total_cols : o->total_lines)) | 3757 | != XINT (horflag ? o->total_cols : o->total_lines)) |
| @@ -3861,13 +3839,13 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3861 | n->total_cols = o->total_cols; | 3839 | n->total_cols = o->total_cols; |
| 3862 | } | 3840 | } |
| 3863 | 3841 | ||
| 3864 | /* Iso-coordinates and sizes are assigned by resize_window_apply, | 3842 | /* Iso-coordinates and sizes are assigned by window_resize_apply, |
| 3865 | get them ready here. */ | 3843 | get them ready here. */ |
| 3866 | n->new_total = total_size; | 3844 | n->new_total = total_size; |
| 3867 | n->new_normal = normal_size; | 3845 | n->new_normal = normal_size; |
| 3868 | 3846 | ||
| 3869 | BLOCK_INPUT; | 3847 | BLOCK_INPUT; |
| 3870 | resize_window_apply (p, horflag); | 3848 | window_resize_apply (p, horflag); |
| 3871 | adjust_glyphs (f); | 3849 | adjust_glyphs (f); |
| 3872 | /* Set buffer of NEW to buffer of reference window. Don't run | 3850 | /* Set buffer of NEW to buffer of reference window. Don't run |
| 3873 | any hooks. */ | 3851 | any hooks. */ |
| @@ -3945,13 +3923,13 @@ when WINDOW is the only window on its frame. */) | |||
| 3945 | XWINDOW (s->next)->prev = sibling; | 3923 | XWINDOW (s->next)->prev = sibling; |
| 3946 | } | 3924 | } |
| 3947 | 3925 | ||
| 3948 | if (resize_window_check (r, horflag) | 3926 | if (window_resize_check (r, horflag) |
| 3949 | && EQ (r->new_total, (horflag ? r->total_cols : r->total_lines))) | 3927 | && EQ (r->new_total, (horflag ? r->total_cols : r->total_lines))) |
| 3950 | /* We can delete WINDOW now. */ | 3928 | /* We can delete WINDOW now. */ |
| 3951 | { | 3929 | { |
| 3952 | /* Block input. */ | 3930 | /* Block input. */ |
| 3953 | BLOCK_INPUT; | 3931 | BLOCK_INPUT; |
| 3954 | resize_window_apply (p, horflag); | 3932 | window_resize_apply (p, horflag); |
| 3955 | 3933 | ||
| 3956 | windows_or_buffers_changed++; | 3934 | windows_or_buffers_changed++; |
| 3957 | Vwindow_list = Qnil; | 3935 | Vwindow_list = Qnil; |
| @@ -4073,11 +4051,12 @@ grow_mini_window (struct window *w, int delta) | |||
| 4073 | 4051 | ||
| 4074 | root = FRAME_ROOT_WINDOW (f); | 4052 | root = FRAME_ROOT_WINDOW (f); |
| 4075 | r = XWINDOW (root); | 4053 | r = XWINDOW (root); |
| 4076 | value = call2 (Qresize_root_window_vertically, root, make_number (- delta)); | 4054 | value = call2 (Qwindow_resize_root_window_vertically, |
| 4077 | if (INTEGERP (value) && resize_window_check (r, 0)) | 4055 | root, make_number (- delta)); |
| 4056 | if (INTEGERP (value) && window_resize_check (r, 0)) | ||
| 4078 | { | 4057 | { |
| 4079 | BLOCK_INPUT; | 4058 | BLOCK_INPUT; |
| 4080 | resize_window_apply (r, 0); | 4059 | window_resize_apply (r, 0); |
| 4081 | 4060 | ||
| 4082 | /* Grow the mini-window. */ | 4061 | /* Grow the mini-window. */ |
| 4083 | XSETFASTINT (w->top_line, XFASTINT (r->top_line) + XFASTINT (r->total_lines)); | 4062 | XSETFASTINT (w->top_line, XFASTINT (r->top_line) + XFASTINT (r->total_lines)); |
| @@ -4107,12 +4086,12 @@ shrink_mini_window (struct window *w) | |||
| 4107 | { | 4086 | { |
| 4108 | root = FRAME_ROOT_WINDOW (f); | 4087 | root = FRAME_ROOT_WINDOW (f); |
| 4109 | r = XWINDOW (root); | 4088 | r = XWINDOW (root); |
| 4110 | value = call2 (Qresize_root_window_vertically, | 4089 | value = call2 (Qwindow_resize_root_window_vertically, |
| 4111 | root, make_number (size - 1)); | 4090 | root, make_number (size - 1)); |
| 4112 | if (INTEGERP (value) && resize_window_check (r, 0)) | 4091 | if (INTEGERP (value) && window_resize_check (r, 0)) |
| 4113 | { | 4092 | { |
| 4114 | BLOCK_INPUT; | 4093 | BLOCK_INPUT; |
| 4115 | resize_window_apply (r, 0); | 4094 | window_resize_apply (r, 0); |
| 4116 | 4095 | ||
| 4117 | /* Shrink the mini-window. */ | 4096 | /* Shrink the mini-window. */ |
| 4118 | XSETFASTINT (w->top_line, XFASTINT (r->top_line) + XFASTINT (r->total_lines)); | 4097 | XSETFASTINT (w->top_line, XFASTINT (r->top_line) + XFASTINT (r->total_lines)); |
| @@ -4150,12 +4129,12 @@ DEFUN ("resize-mini-window-internal", Fresize_mini_window_internal, Sresize_mini | |||
| 4150 | 4129 | ||
| 4151 | r = XWINDOW (FRAME_ROOT_WINDOW (f)); | 4130 | r = XWINDOW (FRAME_ROOT_WINDOW (f)); |
| 4152 | height = XINT (r->total_lines) + XINT (w->total_lines); | 4131 | height = XINT (r->total_lines) + XINT (w->total_lines); |
| 4153 | if (resize_window_check (r, 0) | 4132 | if (window_resize_check (r, 0) |
| 4154 | && XINT (w->new_total) > 0 | 4133 | && XINT (w->new_total) > 0 |
| 4155 | && height == XINT (r->new_total) + XINT (w->new_total)) | 4134 | && height == XINT (r->new_total) + XINT (w->new_total)) |
| 4156 | { | 4135 | { |
| 4157 | BLOCK_INPUT; | 4136 | BLOCK_INPUT; |
| 4158 | resize_window_apply (r, 0); | 4137 | window_resize_apply (r, 0); |
| 4159 | 4138 | ||
| 4160 | w->total_lines = w->new_total; | 4139 | w->total_lines = w->new_total; |
| 4161 | XSETFASTINT (w->top_line, XINT (r->top_line) + XINT (r->total_lines)); | 4140 | XSETFASTINT (w->top_line, XINT (r->top_line) + XINT (r->total_lines)); |
| @@ -5347,8 +5326,7 @@ struct saved_window | |||
| 5347 | { | 5326 | { |
| 5348 | struct vectorlike_header header; | 5327 | struct vectorlike_header header; |
| 5349 | 5328 | ||
| 5350 | Lisp_Object window, clone_number; | 5329 | Lisp_Object window, buffer, start, pointm, mark; |
| 5351 | Lisp_Object buffer, start, pointm, mark; | ||
| 5352 | Lisp_Object left_col, top_line, total_cols, total_lines; | 5330 | Lisp_Object left_col, top_line, total_cols, total_lines; |
| 5353 | Lisp_Object normal_cols, normal_lines; | 5331 | Lisp_Object normal_cols, normal_lines; |
| 5354 | Lisp_Object hscroll, min_hscroll; | 5332 | Lisp_Object hscroll, min_hscroll; |
| @@ -5567,7 +5545,6 @@ the return value is nil. Otherwise the value is t. */) | |||
| 5567 | } | 5545 | } |
| 5568 | } | 5546 | } |
| 5569 | 5547 | ||
| 5570 | w->clone_number = p->clone_number; | ||
| 5571 | /* If we squirreled away the buffer in the window's height, | 5548 | /* If we squirreled away the buffer in the window's height, |
| 5572 | restore it now. */ | 5549 | restore it now. */ |
| 5573 | if (BUFFERP (w->total_lines)) | 5550 | if (BUFFERP (w->total_lines)) |
| @@ -5850,7 +5827,6 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, int i) | |||
| 5850 | 5827 | ||
| 5851 | XSETFASTINT (w->temslot, i); i++; | 5828 | XSETFASTINT (w->temslot, i); i++; |
| 5852 | p->window = window; | 5829 | p->window = window; |
| 5853 | p->clone_number = w->clone_number; | ||
| 5854 | p->buffer = w->buffer; | 5830 | p->buffer = w->buffer; |
| 5855 | p->left_col = w->left_col; | 5831 | p->left_col = w->left_col; |
| 5856 | p->top_line = w->top_line; | 5832 | p->top_line = w->top_line; |
| @@ -6441,69 +6417,30 @@ init_window (void) | |||
| 6441 | void | 6417 | void |
| 6442 | syms_of_window (void) | 6418 | syms_of_window (void) |
| 6443 | { | 6419 | { |
| 6444 | Qscroll_up = intern_c_string ("scroll-up"); | 6420 | DEFSYM (Qscroll_up, "scroll-up"); |
| 6445 | staticpro (&Qscroll_up); | 6421 | DEFSYM (Qscroll_down, "scroll-down"); |
| 6446 | 6422 | DEFSYM (Qscroll_command, "scroll-command"); | |
| 6447 | Qscroll_down = intern_c_string ("scroll-down"); | ||
| 6448 | staticpro (&Qscroll_down); | ||
| 6449 | |||
| 6450 | Qscroll_command = intern_c_string ("scroll-command"); | ||
| 6451 | staticpro (&Qscroll_command); | ||
| 6452 | 6423 | ||
| 6453 | Fput (Qscroll_up, Qscroll_command, Qt); | 6424 | Fput (Qscroll_up, Qscroll_command, Qt); |
| 6454 | Fput (Qscroll_down, Qscroll_command, Qt); | 6425 | Fput (Qscroll_down, Qscroll_command, Qt); |
| 6455 | 6426 | ||
| 6456 | staticpro (&Qwindow_configuration_change_hook); | 6427 | DEFSYM (Qwindow_configuration_change_hook, "window-configuration-change-hook"); |
| 6457 | Qwindow_configuration_change_hook | 6428 | DEFSYM (Qwindowp, "windowp"); |
| 6458 | = intern_c_string ("window-configuration-change-hook"); | 6429 | DEFSYM (Qwindow_configuration_p, "window-configuration-p"); |
| 6459 | 6430 | DEFSYM (Qwindow_live_p, "window-live-p"); | |
| 6460 | Qwindowp = intern_c_string ("windowp"); | 6431 | DEFSYM (Qwindow_deletable_p, "window-deletable-p"); |
| 6461 | staticpro (&Qwindowp); | 6432 | DEFSYM (Qdelete_window, "delete-window"); |
| 6462 | 6433 | DEFSYM (Qwindow_resize_root_window, "window--resize-root-window"); | |
| 6463 | Qwindow_configuration_p = intern_c_string ("window-configuration-p"); | 6434 | DEFSYM (Qwindow_resize_root_window_vertically, "window--resize-root-window-vertically"); |
| 6464 | staticpro (&Qwindow_configuration_p); | 6435 | DEFSYM (Qsafe, "safe"); |
| 6465 | 6436 | DEFSYM (Qdisplay_buffer, "display-buffer"); | |
| 6466 | Qwindow_live_p = intern_c_string ("window-live-p"); | 6437 | DEFSYM (Qreplace_buffer_in_windows, "replace-buffer-in-windows"); |
| 6467 | staticpro (&Qwindow_live_p); | 6438 | DEFSYM (Qrecord_window_buffer, "record-window-buffer"); |
| 6468 | 6439 | DEFSYM (Qget_mru_window, "get-mru-window"); | |
| 6469 | Qwindow_deletable_p = intern_c_string ("window-deletable-p"); | 6440 | DEFSYM (Qtemp_buffer_show_hook, "temp-buffer-show-hook"); |
| 6470 | staticpro (&Qwindow_deletable_p); | 6441 | DEFSYM (Qabove, "above"); |
| 6471 | 6442 | DEFSYM (Qbelow, "below"); | |
| 6472 | Qdelete_window = intern_c_string ("delete-window"); | 6443 | DEFSYM (Qauto_buffer_name, "auto-buffer-name"); |
| 6473 | staticpro (&Qdelete_window); | ||
| 6474 | |||
| 6475 | Qresize_root_window = intern_c_string ("resize-root-window"); | ||
| 6476 | staticpro (&Qresize_root_window); | ||
| 6477 | |||
| 6478 | Qresize_root_window_vertically = intern_c_string ("resize-root-window-vertically"); | ||
| 6479 | staticpro (&Qresize_root_window_vertically); | ||
| 6480 | |||
| 6481 | Qsafe = intern_c_string ("safe"); | ||
| 6482 | staticpro (&Qsafe); | ||
| 6483 | |||
| 6484 | Qdisplay_buffer = intern_c_string ("display-buffer"); | ||
| 6485 | staticpro (&Qdisplay_buffer); | ||
| 6486 | |||
| 6487 | Qreplace_buffer_in_windows = intern_c_string ("replace-buffer-in-windows"); | ||
| 6488 | staticpro (&Qreplace_buffer_in_windows); | ||
| 6489 | |||
| 6490 | Qrecord_window_buffer = intern_c_string ("record-window-buffer"); | ||
| 6491 | staticpro (&Qrecord_window_buffer); | ||
| 6492 | |||
| 6493 | Qget_mru_window = intern_c_string ("get-mru-window"); | ||
| 6494 | staticpro (&Qget_mru_window); | ||
| 6495 | |||
| 6496 | Qtemp_buffer_show_hook = intern_c_string ("temp-buffer-show-hook"); | ||
| 6497 | staticpro (&Qtemp_buffer_show_hook); | ||
| 6498 | |||
| 6499 | Qabove = intern_c_string ("above"); | ||
| 6500 | staticpro (&Qabove); | ||
| 6501 | |||
| 6502 | Qbelow = intern_c_string ("below"); | ||
| 6503 | staticpro (&Qbelow); | ||
| 6504 | |||
| 6505 | Qauto_buffer_name = intern_c_string ("auto-buffer-name"); | ||
| 6506 | staticpro (&Qauto_buffer_name); | ||
| 6507 | 6444 | ||
| 6508 | staticpro (&Vwindow_list); | 6445 | staticpro (&Vwindow_list); |
| 6509 | 6446 | ||
| @@ -6634,13 +6571,12 @@ function `window-nest' and altered by the function `set-window-nest'. */); | |||
| 6634 | defsubr (&Sset_frame_selected_window); | 6571 | defsubr (&Sset_frame_selected_window); |
| 6635 | defsubr (&Spos_visible_in_window_p); | 6572 | defsubr (&Spos_visible_in_window_p); |
| 6636 | defsubr (&Swindow_line_height); | 6573 | defsubr (&Swindow_line_height); |
| 6637 | defsubr (&Swindow_clone_number); | ||
| 6638 | defsubr (&Swindow_buffer); | 6574 | defsubr (&Swindow_buffer); |
| 6639 | defsubr (&Swindow_parent); | 6575 | defsubr (&Swindow_parent); |
| 6640 | defsubr (&Swindow_vchild); | 6576 | defsubr (&Swindow_top_child); |
| 6641 | defsubr (&Swindow_hchild); | 6577 | defsubr (&Swindow_left_child); |
| 6642 | defsubr (&Swindow_next); | 6578 | defsubr (&Swindow_next_sibling); |
| 6643 | defsubr (&Swindow_prev); | 6579 | defsubr (&Swindow_prev_sibling); |
| 6644 | defsubr (&Swindow_splits); | 6580 | defsubr (&Swindow_splits); |
| 6645 | defsubr (&Sset_window_splits); | 6581 | defsubr (&Sset_window_splits); |
| 6646 | defsubr (&Swindow_nest); | 6582 | defsubr (&Swindow_nest); |
| @@ -6654,7 +6590,7 @@ function `window-nest' and altered by the function `set-window-nest'. */); | |||
| 6654 | defsubr (&Swindow_new_normal); | 6590 | defsubr (&Swindow_new_normal); |
| 6655 | defsubr (&Sset_window_new_total); | 6591 | defsubr (&Sset_window_new_total); |
| 6656 | defsubr (&Sset_window_new_normal); | 6592 | defsubr (&Sset_window_new_normal); |
| 6657 | defsubr (&Sresize_window_apply); | 6593 | defsubr (&Swindow_resize_apply); |
| 6658 | defsubr (&Swindow_body_size); | 6594 | defsubr (&Swindow_body_size); |
| 6659 | defsubr (&Swindow_hscroll); | 6595 | defsubr (&Swindow_hscroll); |
| 6660 | defsubr (&Sset_window_hscroll); | 6596 | defsubr (&Sset_window_hscroll); |
| @@ -6684,7 +6620,6 @@ function `window-nest' and altered by the function `set-window-nest'. */); | |||
| 6684 | defsubr (&Sdelete_window_internal); | 6620 | defsubr (&Sdelete_window_internal); |
| 6685 | defsubr (&Sresize_mini_window_internal); | 6621 | defsubr (&Sresize_mini_window_internal); |
| 6686 | defsubr (&Sset_window_buffer); | 6622 | defsubr (&Sset_window_buffer); |
| 6687 | defsubr (&Sset_window_clone_number); | ||
| 6688 | defsubr (&Srun_window_configuration_change_hook); | 6623 | defsubr (&Srun_window_configuration_change_hook); |
| 6689 | defsubr (&Sselect_window); | 6624 | defsubr (&Sselect_window); |
| 6690 | defsubr (&Sforce_window_update); | 6625 | defsubr (&Sforce_window_update); |
diff --git a/src/window.h b/src/window.h index c3f59e4b116..485734e907e 100644 --- a/src/window.h +++ b/src/window.h | |||
| @@ -165,10 +165,6 @@ struct window | |||
| 165 | /* Unique number of window assigned when it was created. */ | 165 | /* Unique number of window assigned when it was created. */ |
| 166 | Lisp_Object sequence_number; | 166 | Lisp_Object sequence_number; |
| 167 | 167 | ||
| 168 | /* Sequence number of window this window was cloned from. Identic | ||
| 169 | to sequence number if window was not cloned. */ | ||
| 170 | Lisp_Object clone_number; | ||
| 171 | |||
| 172 | /* No permanent meaning; used by save-window-excursion's | 168 | /* No permanent meaning; used by save-window-excursion's |
| 173 | bookkeeping. */ | 169 | bookkeeping. */ |
| 174 | Lisp_Object temslot; | 170 | Lisp_Object temslot; |
diff --git a/src/xdisp.c b/src/xdisp.c index f0b219702f6..a99f06a4e45 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -26428,8 +26428,7 @@ syms_of_xdisp (void) | |||
| 26428 | Vmessage_stack = Qnil; | 26428 | Vmessage_stack = Qnil; |
| 26429 | staticpro (&Vmessage_stack); | 26429 | staticpro (&Vmessage_stack); |
| 26430 | 26430 | ||
| 26431 | Qinhibit_redisplay = intern_c_string ("inhibit-redisplay"); | 26431 | DEFSYM (Qinhibit_redisplay, "inhibit-redisplay"); |
| 26432 | staticpro (&Qinhibit_redisplay); | ||
| 26433 | 26432 | ||
| 26434 | message_dolog_marker1 = Fmake_marker (); | 26433 | message_dolog_marker1 = Fmake_marker (); |
| 26435 | staticpro (&message_dolog_marker1); | 26434 | staticpro (&message_dolog_marker1); |
| @@ -26454,141 +26453,72 @@ syms_of_xdisp (void) | |||
| 26454 | defsubr (&Sinvisible_p); | 26453 | defsubr (&Sinvisible_p); |
| 26455 | defsubr (&Scurrent_bidi_paragraph_direction); | 26454 | defsubr (&Scurrent_bidi_paragraph_direction); |
| 26456 | 26455 | ||
| 26457 | staticpro (&Qmenu_bar_update_hook); | 26456 | DEFSYM (Qmenu_bar_update_hook, "menu-bar-update-hook"); |
| 26458 | Qmenu_bar_update_hook = intern_c_string ("menu-bar-update-hook"); | 26457 | DEFSYM (Qoverriding_terminal_local_map, "overriding-terminal-local-map"); |
| 26459 | 26458 | DEFSYM (Qoverriding_local_map, "overriding-local-map"); | |
| 26460 | staticpro (&Qoverriding_terminal_local_map); | 26459 | DEFSYM (Qwindow_scroll_functions, "window-scroll-functions"); |
| 26461 | Qoverriding_terminal_local_map = intern_c_string ("overriding-terminal-local-map"); | 26460 | DEFSYM (Qwindow_text_change_functions, "window-text-change-functions"); |
| 26462 | 26461 | DEFSYM (Qredisplay_end_trigger_functions, "redisplay-end-trigger-functions"); | |
| 26463 | staticpro (&Qoverriding_local_map); | 26462 | DEFSYM (Qinhibit_point_motion_hooks, "inhibit-point-motion-hooks"); |
| 26464 | Qoverriding_local_map = intern_c_string ("overriding-local-map"); | 26463 | DEFSYM (Qeval, "eval"); |
| 26465 | 26464 | DEFSYM (QCdata, ":data"); | |
| 26466 | staticpro (&Qwindow_scroll_functions); | 26465 | DEFSYM (Qdisplay, "display"); |
| 26467 | Qwindow_scroll_functions = intern_c_string ("window-scroll-functions"); | 26466 | DEFSYM (Qspace_width, "space-width"); |
| 26468 | 26467 | DEFSYM (Qraise, "raise"); | |
| 26469 | staticpro (&Qwindow_text_change_functions); | 26468 | DEFSYM (Qslice, "slice"); |
| 26470 | Qwindow_text_change_functions = intern_c_string ("window-text-change-functions"); | 26469 | DEFSYM (Qspace, "space"); |
| 26471 | 26470 | DEFSYM (Qmargin, "margin"); | |
| 26472 | staticpro (&Qredisplay_end_trigger_functions); | 26471 | DEFSYM (Qpointer, "pointer"); |
| 26473 | Qredisplay_end_trigger_functions = intern_c_string ("redisplay-end-trigger-functions"); | 26472 | DEFSYM (Qleft_margin, "left-margin"); |
| 26474 | 26473 | DEFSYM (Qright_margin, "right-margin"); | |
| 26475 | staticpro (&Qinhibit_point_motion_hooks); | 26474 | DEFSYM (Qcenter, "center"); |
| 26476 | Qinhibit_point_motion_hooks = intern_c_string ("inhibit-point-motion-hooks"); | 26475 | DEFSYM (Qline_height, "line-height"); |
| 26477 | 26476 | DEFSYM (QCalign_to, ":align-to"); | |
| 26478 | Qeval = intern_c_string ("eval"); | 26477 | DEFSYM (QCrelative_width, ":relative-width"); |
| 26479 | staticpro (&Qeval); | 26478 | DEFSYM (QCrelative_height, ":relative-height"); |
| 26480 | 26479 | DEFSYM (QCeval, ":eval"); | |
| 26481 | QCdata = intern_c_string (":data"); | 26480 | DEFSYM (QCpropertize, ":propertize"); |
| 26482 | staticpro (&QCdata); | 26481 | DEFSYM (QCfile, ":file"); |
| 26483 | Qdisplay = intern_c_string ("display"); | 26482 | DEFSYM (Qfontified, "fontified"); |
| 26484 | staticpro (&Qdisplay); | 26483 | DEFSYM (Qfontification_functions, "fontification-functions"); |
| 26485 | Qspace_width = intern_c_string ("space-width"); | 26484 | DEFSYM (Qtrailing_whitespace, "trailing-whitespace"); |
| 26486 | staticpro (&Qspace_width); | 26485 | DEFSYM (Qescape_glyph, "escape-glyph"); |
| 26487 | Qraise = intern_c_string ("raise"); | 26486 | DEFSYM (Qnobreak_space, "nobreak-space"); |
| 26488 | staticpro (&Qraise); | 26487 | DEFSYM (Qimage, "image"); |
| 26489 | Qslice = intern_c_string ("slice"); | 26488 | DEFSYM (Qtext, "text"); |
| 26490 | staticpro (&Qslice); | 26489 | DEFSYM (Qboth, "both"); |
| 26491 | Qspace = intern_c_string ("space"); | 26490 | DEFSYM (Qboth_horiz, "both-horiz"); |
| 26492 | staticpro (&Qspace); | 26491 | DEFSYM (Qtext_image_horiz, "text-image-horiz"); |
| 26493 | Qmargin = intern_c_string ("margin"); | 26492 | DEFSYM (QCmap, ":map"); |
| 26494 | staticpro (&Qmargin); | 26493 | DEFSYM (QCpointer, ":pointer"); |
| 26495 | Qpointer = intern_c_string ("pointer"); | 26494 | DEFSYM (Qrect, "rect"); |
| 26496 | staticpro (&Qpointer); | 26495 | DEFSYM (Qcircle, "circle"); |
| 26497 | Qleft_margin = intern_c_string ("left-margin"); | 26496 | DEFSYM (Qpoly, "poly"); |
| 26498 | staticpro (&Qleft_margin); | 26497 | DEFSYM (Qmessage_truncate_lines, "message-truncate-lines"); |
| 26499 | Qright_margin = intern_c_string ("right-margin"); | 26498 | DEFSYM (Qgrow_only, "grow-only"); |
| 26500 | staticpro (&Qright_margin); | 26499 | DEFSYM (Qinhibit_menubar_update, "inhibit-menubar-update"); |
| 26501 | Qcenter = intern_c_string ("center"); | 26500 | DEFSYM (Qinhibit_eval_during_redisplay, "inhibit-eval-during-redisplay"); |
| 26502 | staticpro (&Qcenter); | 26501 | DEFSYM (Qposition, "position"); |
| 26503 | Qline_height = intern_c_string ("line-height"); | 26502 | DEFSYM (Qbuffer_position, "buffer-position"); |
| 26504 | staticpro (&Qline_height); | 26503 | DEFSYM (Qobject, "object"); |
| 26505 | QCalign_to = intern_c_string (":align-to"); | 26504 | DEFSYM (Qbar, "bar"); |
| 26506 | staticpro (&QCalign_to); | 26505 | DEFSYM (Qhbar, "hbar"); |
| 26507 | QCrelative_width = intern_c_string (":relative-width"); | 26506 | DEFSYM (Qbox, "box"); |
| 26508 | staticpro (&QCrelative_width); | 26507 | DEFSYM (Qhollow, "hollow"); |
| 26509 | QCrelative_height = intern_c_string (":relative-height"); | 26508 | DEFSYM (Qhand, "hand"); |
| 26510 | staticpro (&QCrelative_height); | 26509 | DEFSYM (Qarrow, "arrow"); |
| 26511 | QCeval = intern_c_string (":eval"); | 26510 | DEFSYM (Qtext, "text"); |
| 26512 | staticpro (&QCeval); | 26511 | DEFSYM (Qinhibit_free_realized_faces, "inhibit-free-realized-faces"); |
| 26513 | QCpropertize = intern_c_string (":propertize"); | ||
| 26514 | staticpro (&QCpropertize); | ||
| 26515 | QCfile = intern_c_string (":file"); | ||
| 26516 | staticpro (&QCfile); | ||
| 26517 | Qfontified = intern_c_string ("fontified"); | ||
| 26518 | staticpro (&Qfontified); | ||
| 26519 | Qfontification_functions = intern_c_string ("fontification-functions"); | ||
| 26520 | staticpro (&Qfontification_functions); | ||
| 26521 | Qtrailing_whitespace = intern_c_string ("trailing-whitespace"); | ||
| 26522 | staticpro (&Qtrailing_whitespace); | ||
| 26523 | Qescape_glyph = intern_c_string ("escape-glyph"); | ||
| 26524 | staticpro (&Qescape_glyph); | ||
| 26525 | Qnobreak_space = intern_c_string ("nobreak-space"); | ||
| 26526 | staticpro (&Qnobreak_space); | ||
| 26527 | Qimage = intern_c_string ("image"); | ||
| 26528 | staticpro (&Qimage); | ||
| 26529 | Qtext = intern_c_string ("text"); | ||
| 26530 | staticpro (&Qtext); | ||
| 26531 | Qboth = intern_c_string ("both"); | ||
| 26532 | staticpro (&Qboth); | ||
| 26533 | Qboth_horiz = intern_c_string ("both-horiz"); | ||
| 26534 | staticpro (&Qboth_horiz); | ||
| 26535 | Qtext_image_horiz = intern_c_string ("text-image-horiz"); | ||
| 26536 | staticpro (&Qtext_image_horiz); | ||
| 26537 | QCmap = intern_c_string (":map"); | ||
| 26538 | staticpro (&QCmap); | ||
| 26539 | QCpointer = intern_c_string (":pointer"); | ||
| 26540 | staticpro (&QCpointer); | ||
| 26541 | Qrect = intern_c_string ("rect"); | ||
| 26542 | staticpro (&Qrect); | ||
| 26543 | Qcircle = intern_c_string ("circle"); | ||
| 26544 | staticpro (&Qcircle); | ||
| 26545 | Qpoly = intern_c_string ("poly"); | ||
| 26546 | staticpro (&Qpoly); | ||
| 26547 | Qmessage_truncate_lines = intern_c_string ("message-truncate-lines"); | ||
| 26548 | staticpro (&Qmessage_truncate_lines); | ||
| 26549 | Qgrow_only = intern_c_string ("grow-only"); | ||
| 26550 | staticpro (&Qgrow_only); | ||
| 26551 | Qinhibit_menubar_update = intern_c_string ("inhibit-menubar-update"); | ||
| 26552 | staticpro (&Qinhibit_menubar_update); | ||
| 26553 | Qinhibit_eval_during_redisplay = intern_c_string ("inhibit-eval-during-redisplay"); | ||
| 26554 | staticpro (&Qinhibit_eval_during_redisplay); | ||
| 26555 | Qposition = intern_c_string ("position"); | ||
| 26556 | staticpro (&Qposition); | ||
| 26557 | Qbuffer_position = intern_c_string ("buffer-position"); | ||
| 26558 | staticpro (&Qbuffer_position); | ||
| 26559 | Qobject = intern_c_string ("object"); | ||
| 26560 | staticpro (&Qobject); | ||
| 26561 | Qbar = intern_c_string ("bar"); | ||
| 26562 | staticpro (&Qbar); | ||
| 26563 | Qhbar = intern_c_string ("hbar"); | ||
| 26564 | staticpro (&Qhbar); | ||
| 26565 | Qbox = intern_c_string ("box"); | ||
| 26566 | staticpro (&Qbox); | ||
| 26567 | Qhollow = intern_c_string ("hollow"); | ||
| 26568 | staticpro (&Qhollow); | ||
| 26569 | Qhand = intern_c_string ("hand"); | ||
| 26570 | staticpro (&Qhand); | ||
| 26571 | Qarrow = intern_c_string ("arrow"); | ||
| 26572 | staticpro (&Qarrow); | ||
| 26573 | Qtext = intern_c_string ("text"); | ||
| 26574 | staticpro (&Qtext); | ||
| 26575 | Qinhibit_free_realized_faces = intern_c_string ("inhibit-free-realized-faces"); | ||
| 26576 | staticpro (&Qinhibit_free_realized_faces); | ||
| 26577 | 26512 | ||
| 26578 | list_of_error = Fcons (Fcons (intern_c_string ("error"), | 26513 | list_of_error = Fcons (Fcons (intern_c_string ("error"), |
| 26579 | Fcons (intern_c_string ("void-variable"), Qnil)), | 26514 | Fcons (intern_c_string ("void-variable"), Qnil)), |
| 26580 | Qnil); | 26515 | Qnil); |
| 26581 | staticpro (&list_of_error); | 26516 | staticpro (&list_of_error); |
| 26582 | 26517 | ||
| 26583 | Qlast_arrow_position = intern_c_string ("last-arrow-position"); | 26518 | DEFSYM (Qlast_arrow_position, "last-arrow-position"); |
| 26584 | staticpro (&Qlast_arrow_position); | 26519 | DEFSYM (Qlast_arrow_string, "last-arrow-string"); |
| 26585 | Qlast_arrow_string = intern_c_string ("last-arrow-string"); | 26520 | DEFSYM (Qoverlay_arrow_string, "overlay-arrow-string"); |
| 26586 | staticpro (&Qlast_arrow_string); | 26521 | DEFSYM (Qoverlay_arrow_bitmap, "overlay-arrow-bitmap"); |
| 26587 | |||
| 26588 | Qoverlay_arrow_string = intern_c_string ("overlay-arrow-string"); | ||
| 26589 | staticpro (&Qoverlay_arrow_string); | ||
| 26590 | Qoverlay_arrow_bitmap = intern_c_string ("overlay-arrow-bitmap"); | ||
| 26591 | staticpro (&Qoverlay_arrow_bitmap); | ||
| 26592 | 26522 | ||
| 26593 | echo_buffer[0] = echo_buffer[1] = Qnil; | 26523 | echo_buffer[0] = echo_buffer[1] = Qnil; |
| 26594 | staticpro (&echo_buffer[0]); | 26524 | staticpro (&echo_buffer[0]); |
| @@ -26622,10 +26552,8 @@ syms_of_xdisp (void) | |||
| 26622 | staticpro (&previous_help_echo_string); | 26552 | staticpro (&previous_help_echo_string); |
| 26623 | help_echo_pos = -1; | 26553 | help_echo_pos = -1; |
| 26624 | 26554 | ||
| 26625 | Qright_to_left = intern_c_string ("right-to-left"); | 26555 | DEFSYM (Qright_to_left, "right-to-left"); |
| 26626 | staticpro (&Qright_to_left); | 26556 | DEFSYM (Qleft_to_right, "left-to-right"); |
| 26627 | Qleft_to_right = intern_c_string ("left-to-right"); | ||
| 26628 | staticpro (&Qleft_to_right); | ||
| 26629 | 26557 | ||
| 26630 | #ifdef HAVE_WINDOW_SYSTEM | 26558 | #ifdef HAVE_WINDOW_SYSTEM |
| 26631 | DEFVAR_BOOL ("x-stretch-cursor", x_stretch_cursor_p, | 26559 | DEFVAR_BOOL ("x-stretch-cursor", x_stretch_cursor_p, |
| @@ -26945,8 +26873,7 @@ the frame's other specifications determine how to blink the cursor off. */); | |||
| 26945 | If non-nil, windows are automatically scrolled horizontally to make | 26873 | If non-nil, windows are automatically scrolled horizontally to make |
| 26946 | point visible. */); | 26874 | point visible. */); |
| 26947 | automatic_hscrolling_p = 1; | 26875 | automatic_hscrolling_p = 1; |
| 26948 | Qauto_hscroll_mode = intern_c_string ("auto-hscroll-mode"); | 26876 | DEFSYM (Qauto_hscroll_mode, "auto-hscroll-mode"); |
| 26949 | staticpro (&Qauto_hscroll_mode); | ||
| 26950 | 26877 | ||
| 26951 | DEFVAR_INT ("hscroll-margin", hscroll_margin, | 26878 | DEFVAR_INT ("hscroll-margin", hscroll_margin, |
| 26952 | doc: /* *How many columns away from the window edge point is allowed to get | 26879 | doc: /* *How many columns away from the window edge point is allowed to get |
| @@ -27002,8 +26929,7 @@ property. | |||
| 27002 | 26929 | ||
| 27003 | To add a prefix to non-continuation lines, use `line-prefix'. */); | 26930 | To add a prefix to non-continuation lines, use `line-prefix'. */); |
| 27004 | Vwrap_prefix = Qnil; | 26931 | Vwrap_prefix = Qnil; |
| 27005 | staticpro (&Qwrap_prefix); | 26932 | DEFSYM (Qwrap_prefix, "wrap-prefix"); |
| 27006 | Qwrap_prefix = intern_c_string ("wrap-prefix"); | ||
| 27007 | Fmake_variable_buffer_local (Qwrap_prefix); | 26933 | Fmake_variable_buffer_local (Qwrap_prefix); |
| 27008 | 26934 | ||
| 27009 | DEFVAR_LISP ("line-prefix", Vline_prefix, | 26935 | DEFVAR_LISP ("line-prefix", Vline_prefix, |
| @@ -27016,8 +26942,7 @@ property. | |||
| 27016 | 26942 | ||
| 27017 | To add a prefix to continuation lines, use `wrap-prefix'. */); | 26943 | To add a prefix to continuation lines, use `wrap-prefix'. */); |
| 27018 | Vline_prefix = Qnil; | 26944 | Vline_prefix = Qnil; |
| 27019 | staticpro (&Qline_prefix); | 26945 | DEFSYM (Qline_prefix, "line-prefix"); |
| 27020 | Qline_prefix = intern_c_string ("line-prefix"); | ||
| 27021 | Fmake_variable_buffer_local (Qline_prefix); | 26946 | Fmake_variable_buffer_local (Qline_prefix); |
| 27022 | 26947 | ||
| 27023 | DEFVAR_BOOL ("inhibit-eval-during-redisplay", inhibit_eval_during_redisplay, | 26948 | DEFVAR_BOOL ("inhibit-eval-during-redisplay", inhibit_eval_during_redisplay, |
diff --git a/src/xfaces.c b/src/xfaces.c index 5833633c2e7..91f4b133466 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -3813,6 +3813,18 @@ Default face attributes override any local face attributes. */) | |||
| 3813 | Fmodify_frame_parameters (frame, Fcons (Fcons (Qfont, name), | 3813 | Fmodify_frame_parameters (frame, Fcons (Fcons (Qfont, name), |
| 3814 | Qnil)); | 3814 | Qnil)); |
| 3815 | } | 3815 | } |
| 3816 | |||
| 3817 | if (STRINGP (gvec[LFACE_FOREGROUND_INDEX])) | ||
| 3818 | Fmodify_frame_parameters (frame, | ||
| 3819 | Fcons (Fcons (Qforeground_color, | ||
| 3820 | gvec[LFACE_FOREGROUND_INDEX]), | ||
| 3821 | Qnil)); | ||
| 3822 | |||
| 3823 | if (STRINGP (gvec[LFACE_BACKGROUND_INDEX])) | ||
| 3824 | Fmodify_frame_parameters (frame, | ||
| 3825 | Fcons (Fcons (Qbackground_color, | ||
| 3826 | gvec[LFACE_BACKGROUND_INDEX]), | ||
| 3827 | Qnil)); | ||
| 3816 | } | 3828 | } |
| 3817 | } | 3829 | } |
| 3818 | 3830 | ||
| @@ -6393,153 +6405,82 @@ DEFUN ("show-face-resources", Fshow_face_resources, Sshow_face_resources, | |||
| 6393 | void | 6405 | void |
| 6394 | syms_of_xfaces (void) | 6406 | syms_of_xfaces (void) |
| 6395 | { | 6407 | { |
| 6396 | Qface = intern_c_string ("face"); | 6408 | DEFSYM (Qface, "face"); |
| 6397 | staticpro (&Qface); | 6409 | DEFSYM (Qface_no_inherit, "face-no-inherit"); |
| 6398 | Qface_no_inherit = intern_c_string ("face-no-inherit"); | 6410 | DEFSYM (Qbitmap_spec_p, "bitmap-spec-p"); |
| 6399 | staticpro (&Qface_no_inherit); | 6411 | DEFSYM (Qframe_set_background_mode, "frame-set-background-mode"); |
| 6400 | Qbitmap_spec_p = intern_c_string ("bitmap-spec-p"); | ||
| 6401 | staticpro (&Qbitmap_spec_p); | ||
| 6402 | Qframe_set_background_mode = intern_c_string ("frame-set-background-mode"); | ||
| 6403 | staticpro (&Qframe_set_background_mode); | ||
| 6404 | 6412 | ||
| 6405 | /* Lisp face attribute keywords. */ | 6413 | /* Lisp face attribute keywords. */ |
| 6406 | QCfamily = intern_c_string (":family"); | 6414 | DEFSYM (QCfamily, ":family"); |
| 6407 | staticpro (&QCfamily); | 6415 | DEFSYM (QCheight, ":height"); |
| 6408 | QCheight = intern_c_string (":height"); | 6416 | DEFSYM (QCweight, ":weight"); |
| 6409 | staticpro (&QCheight); | 6417 | DEFSYM (QCslant, ":slant"); |
| 6410 | QCweight = intern_c_string (":weight"); | 6418 | DEFSYM (QCunderline, ":underline"); |
| 6411 | staticpro (&QCweight); | 6419 | DEFSYM (QCinverse_video, ":inverse-video"); |
| 6412 | QCslant = intern_c_string (":slant"); | 6420 | DEFSYM (QCreverse_video, ":reverse-video"); |
| 6413 | staticpro (&QCslant); | 6421 | DEFSYM (QCforeground, ":foreground"); |
| 6414 | QCunderline = intern_c_string (":underline"); | 6422 | DEFSYM (QCbackground, ":background"); |
| 6415 | staticpro (&QCunderline); | 6423 | DEFSYM (QCstipple, ":stipple"); |
| 6416 | QCinverse_video = intern_c_string (":inverse-video"); | 6424 | DEFSYM (QCwidth, ":width"); |
| 6417 | staticpro (&QCinverse_video); | 6425 | DEFSYM (QCfont, ":font"); |
| 6418 | QCreverse_video = intern_c_string (":reverse-video"); | 6426 | DEFSYM (QCfontset, ":fontset"); |
| 6419 | staticpro (&QCreverse_video); | 6427 | DEFSYM (QCbold, ":bold"); |
| 6420 | QCforeground = intern_c_string (":foreground"); | 6428 | DEFSYM (QCitalic, ":italic"); |
| 6421 | staticpro (&QCforeground); | 6429 | DEFSYM (QCoverline, ":overline"); |
| 6422 | QCbackground = intern_c_string (":background"); | 6430 | DEFSYM (QCstrike_through, ":strike-through"); |
| 6423 | staticpro (&QCbackground); | 6431 | DEFSYM (QCbox, ":box"); |
| 6424 | QCstipple = intern_c_string (":stipple"); | 6432 | DEFSYM (QCinherit, ":inherit"); |
| 6425 | staticpro (&QCstipple); | ||
| 6426 | QCwidth = intern_c_string (":width"); | ||
| 6427 | staticpro (&QCwidth); | ||
| 6428 | QCfont = intern_c_string (":font"); | ||
| 6429 | staticpro (&QCfont); | ||
| 6430 | QCfontset = intern_c_string (":fontset"); | ||
| 6431 | staticpro (&QCfontset); | ||
| 6432 | QCbold = intern_c_string (":bold"); | ||
| 6433 | staticpro (&QCbold); | ||
| 6434 | QCitalic = intern_c_string (":italic"); | ||
| 6435 | staticpro (&QCitalic); | ||
| 6436 | QCoverline = intern_c_string (":overline"); | ||
| 6437 | staticpro (&QCoverline); | ||
| 6438 | QCstrike_through = intern_c_string (":strike-through"); | ||
| 6439 | staticpro (&QCstrike_through); | ||
| 6440 | QCbox = intern_c_string (":box"); | ||
| 6441 | staticpro (&QCbox); | ||
| 6442 | QCinherit = intern_c_string (":inherit"); | ||
| 6443 | staticpro (&QCinherit); | ||
| 6444 | 6433 | ||
| 6445 | /* Symbols used for Lisp face attribute values. */ | 6434 | /* Symbols used for Lisp face attribute values. */ |
| 6446 | QCcolor = intern_c_string (":color"); | 6435 | DEFSYM (QCcolor, ":color"); |
| 6447 | staticpro (&QCcolor); | 6436 | DEFSYM (QCline_width, ":line-width"); |
| 6448 | QCline_width = intern_c_string (":line-width"); | 6437 | DEFSYM (QCstyle, ":style"); |
| 6449 | staticpro (&QCline_width); | 6438 | DEFSYM (Qreleased_button, "released-button"); |
| 6450 | QCstyle = intern_c_string (":style"); | 6439 | DEFSYM (Qpressed_button, "pressed-button"); |
| 6451 | staticpro (&QCstyle); | 6440 | DEFSYM (Qnormal, "normal"); |
| 6452 | Qreleased_button = intern_c_string ("released-button"); | 6441 | DEFSYM (Qultra_light, "ultra-light"); |
| 6453 | staticpro (&Qreleased_button); | 6442 | DEFSYM (Qextra_light, "extra-light"); |
| 6454 | Qpressed_button = intern_c_string ("pressed-button"); | 6443 | DEFSYM (Qlight, "light"); |
| 6455 | staticpro (&Qpressed_button); | 6444 | DEFSYM (Qsemi_light, "semi-light"); |
| 6456 | Qnormal = intern_c_string ("normal"); | 6445 | DEFSYM (Qsemi_bold, "semi-bold"); |
| 6457 | staticpro (&Qnormal); | 6446 | DEFSYM (Qbold, "bold"); |
| 6458 | Qultra_light = intern_c_string ("ultra-light"); | 6447 | DEFSYM (Qextra_bold, "extra-bold"); |
| 6459 | staticpro (&Qultra_light); | 6448 | DEFSYM (Qultra_bold, "ultra-bold"); |
| 6460 | Qextra_light = intern_c_string ("extra-light"); | 6449 | DEFSYM (Qoblique, "oblique"); |
| 6461 | staticpro (&Qextra_light); | 6450 | DEFSYM (Qitalic, "italic"); |
| 6462 | Qlight = intern_c_string ("light"); | 6451 | DEFSYM (Qreverse_oblique, "reverse-oblique"); |
| 6463 | staticpro (&Qlight); | 6452 | DEFSYM (Qreverse_italic, "reverse-italic"); |
| 6464 | Qsemi_light = intern_c_string ("semi-light"); | 6453 | DEFSYM (Qultra_condensed, "ultra-condensed"); |
| 6465 | staticpro (&Qsemi_light); | 6454 | DEFSYM (Qextra_condensed, "extra-condensed"); |
| 6466 | Qsemi_bold = intern_c_string ("semi-bold"); | 6455 | DEFSYM (Qcondensed, "condensed"); |
| 6467 | staticpro (&Qsemi_bold); | 6456 | DEFSYM (Qsemi_condensed, "semi-condensed"); |
| 6468 | Qbold = intern_c_string ("bold"); | 6457 | DEFSYM (Qsemi_expanded, "semi-expanded"); |
| 6469 | staticpro (&Qbold); | 6458 | DEFSYM (Qexpanded, "expanded"); |
| 6470 | Qextra_bold = intern_c_string ("extra-bold"); | 6459 | DEFSYM (Qextra_expanded, "extra-expanded"); |
| 6471 | staticpro (&Qextra_bold); | 6460 | DEFSYM (Qultra_expanded, "ultra-expanded"); |
| 6472 | Qultra_bold = intern_c_string ("ultra-bold"); | 6461 | DEFSYM (Qbackground_color, "background-color"); |
| 6473 | staticpro (&Qultra_bold); | 6462 | DEFSYM (Qforeground_color, "foreground-color"); |
| 6474 | Qoblique = intern_c_string ("oblique"); | 6463 | DEFSYM (Qunspecified, "unspecified"); |
| 6475 | staticpro (&Qoblique); | 6464 | DEFSYM (Qignore_defface, ":ignore-defface"); |
| 6476 | Qitalic = intern_c_string ("italic"); | 6465 | |
| 6477 | staticpro (&Qitalic); | 6466 | DEFSYM (Qface_alias, "face-alias"); |
| 6478 | Qreverse_oblique = intern_c_string ("reverse-oblique"); | 6467 | DEFSYM (Qdefault, "default"); |
| 6479 | staticpro (&Qreverse_oblique); | 6468 | DEFSYM (Qtool_bar, "tool-bar"); |
| 6480 | Qreverse_italic = intern_c_string ("reverse-italic"); | 6469 | DEFSYM (Qregion, "region"); |
| 6481 | staticpro (&Qreverse_italic); | 6470 | DEFSYM (Qfringe, "fringe"); |
| 6482 | Qultra_condensed = intern_c_string ("ultra-condensed"); | 6471 | DEFSYM (Qheader_line, "header-line"); |
| 6483 | staticpro (&Qultra_condensed); | 6472 | DEFSYM (Qscroll_bar, "scroll-bar"); |
| 6484 | Qextra_condensed = intern_c_string ("extra-condensed"); | 6473 | DEFSYM (Qmenu, "menu"); |
| 6485 | staticpro (&Qextra_condensed); | 6474 | DEFSYM (Qcursor, "cursor"); |
| 6486 | Qcondensed = intern_c_string ("condensed"); | 6475 | DEFSYM (Qborder, "border"); |
| 6487 | staticpro (&Qcondensed); | 6476 | DEFSYM (Qmouse, "mouse"); |
| 6488 | Qsemi_condensed = intern_c_string ("semi-condensed"); | 6477 | DEFSYM (Qmode_line_inactive, "mode-line-inactive"); |
| 6489 | staticpro (&Qsemi_condensed); | 6478 | DEFSYM (Qvertical_border, "vertical-border"); |
| 6490 | Qsemi_expanded = intern_c_string ("semi-expanded"); | 6479 | DEFSYM (Qtty_color_desc, "tty-color-desc"); |
| 6491 | staticpro (&Qsemi_expanded); | 6480 | DEFSYM (Qtty_color_standard_values, "tty-color-standard-values"); |
| 6492 | Qexpanded = intern_c_string ("expanded"); | 6481 | DEFSYM (Qtty_color_by_index, "tty-color-by-index"); |
| 6493 | staticpro (&Qexpanded); | 6482 | DEFSYM (Qtty_color_alist, "tty-color-alist"); |
| 6494 | Qextra_expanded = intern_c_string ("extra-expanded"); | 6483 | DEFSYM (Qscalable_fonts_allowed, "scalable-fonts-allowed"); |
| 6495 | staticpro (&Qextra_expanded); | ||
| 6496 | Qultra_expanded = intern_c_string ("ultra-expanded"); | ||
| 6497 | staticpro (&Qultra_expanded); | ||
| 6498 | Qbackground_color = intern_c_string ("background-color"); | ||
| 6499 | staticpro (&Qbackground_color); | ||
| 6500 | Qforeground_color = intern_c_string ("foreground-color"); | ||
| 6501 | staticpro (&Qforeground_color); | ||
| 6502 | Qunspecified = intern_c_string ("unspecified"); | ||
| 6503 | staticpro (&Qunspecified); | ||
| 6504 | Qignore_defface = intern_c_string (":ignore-defface"); | ||
| 6505 | staticpro (&Qignore_defface); | ||
| 6506 | |||
| 6507 | Qface_alias = intern_c_string ("face-alias"); | ||
| 6508 | staticpro (&Qface_alias); | ||
| 6509 | Qdefault = intern_c_string ("default"); | ||
| 6510 | staticpro (&Qdefault); | ||
| 6511 | Qtool_bar = intern_c_string ("tool-bar"); | ||
| 6512 | staticpro (&Qtool_bar); | ||
| 6513 | Qregion = intern_c_string ("region"); | ||
| 6514 | staticpro (&Qregion); | ||
| 6515 | Qfringe = intern_c_string ("fringe"); | ||
| 6516 | staticpro (&Qfringe); | ||
| 6517 | Qheader_line = intern_c_string ("header-line"); | ||
| 6518 | staticpro (&Qheader_line); | ||
| 6519 | Qscroll_bar = intern_c_string ("scroll-bar"); | ||
| 6520 | staticpro (&Qscroll_bar); | ||
| 6521 | Qmenu = intern_c_string ("menu"); | ||
| 6522 | staticpro (&Qmenu); | ||
| 6523 | Qcursor = intern_c_string ("cursor"); | ||
| 6524 | staticpro (&Qcursor); | ||
| 6525 | Qborder = intern_c_string ("border"); | ||
| 6526 | staticpro (&Qborder); | ||
| 6527 | Qmouse = intern_c_string ("mouse"); | ||
| 6528 | staticpro (&Qmouse); | ||
| 6529 | Qmode_line_inactive = intern_c_string ("mode-line-inactive"); | ||
| 6530 | staticpro (&Qmode_line_inactive); | ||
| 6531 | Qvertical_border = intern_c_string ("vertical-border"); | ||
| 6532 | staticpro (&Qvertical_border); | ||
| 6533 | Qtty_color_desc = intern_c_string ("tty-color-desc"); | ||
| 6534 | staticpro (&Qtty_color_desc); | ||
| 6535 | Qtty_color_standard_values = intern_c_string ("tty-color-standard-values"); | ||
| 6536 | staticpro (&Qtty_color_standard_values); | ||
| 6537 | Qtty_color_by_index = intern_c_string ("tty-color-by-index"); | ||
| 6538 | staticpro (&Qtty_color_by_index); | ||
| 6539 | Qtty_color_alist = intern_c_string ("tty-color-alist"); | ||
| 6540 | staticpro (&Qtty_color_alist); | ||
| 6541 | Qscalable_fonts_allowed = intern_c_string ("scalable-fonts-allowed"); | ||
| 6542 | staticpro (&Qscalable_fonts_allowed); | ||
| 6543 | 6484 | ||
| 6544 | Vparam_value_alist = Fcons (Fcons (Qnil, Qnil), Qnil); | 6485 | Vparam_value_alist = Fcons (Fcons (Qnil, Qnil), Qnil); |
| 6545 | staticpro (&Vparam_value_alist); | 6486 | staticpro (&Vparam_value_alist); |
diff --git a/src/xfns.c b/src/xfns.c index 2b2ecf93739..c70f4bb9a82 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -5797,25 +5797,14 @@ syms_of_xfns (void) | |||
| 5797 | /* The section below is built by the lisp expression at the top of the file, | 5797 | /* The section below is built by the lisp expression at the top of the file, |
| 5798 | just above where these variables are declared. */ | 5798 | just above where these variables are declared. */ |
| 5799 | /*&&& init symbols here &&&*/ | 5799 | /*&&& init symbols here &&&*/ |
| 5800 | Qnone = intern_c_string ("none"); | 5800 | DEFSYM (Qnone, "none"); |
| 5801 | staticpro (&Qnone); | 5801 | DEFSYM (Qsuppress_icon, "suppress-icon"); |
| 5802 | Qsuppress_icon = intern_c_string ("suppress-icon"); | 5802 | DEFSYM (Qundefined_color, "undefined-color"); |
| 5803 | staticpro (&Qsuppress_icon); | 5803 | DEFSYM (Qcompound_text, "compound-text"); |
| 5804 | Qundefined_color = intern_c_string ("undefined-color"); | 5804 | DEFSYM (Qcancel_timer, "cancel-timer"); |
| 5805 | staticpro (&Qundefined_color); | 5805 | DEFSYM (Qfont_param, "font-parameter"); |
| 5806 | Qcompound_text = intern_c_string ("compound-text"); | ||
| 5807 | staticpro (&Qcompound_text); | ||
| 5808 | Qcancel_timer = intern_c_string ("cancel-timer"); | ||
| 5809 | staticpro (&Qcancel_timer); | ||
| 5810 | Qfont_param = intern_c_string ("font-parameter"); | ||
| 5811 | staticpro (&Qfont_param); | ||
| 5812 | /* This is the end of symbol initialization. */ | 5806 | /* This is the end of symbol initialization. */ |
| 5813 | 5807 | ||
| 5814 | /* Text property `display' should be nonsticky by default. */ | ||
| 5815 | Vtext_property_default_nonsticky | ||
| 5816 | = Fcons (Fcons (Qdisplay, Qt), Vtext_property_default_nonsticky); | ||
| 5817 | |||
| 5818 | |||
| 5819 | Fput (Qundefined_color, Qerror_conditions, | 5808 | Fput (Qundefined_color, Qerror_conditions, |
| 5820 | pure_cons (Qundefined_color, pure_cons (Qerror, Qnil))); | 5809 | pure_cons (Qundefined_color, pure_cons (Qerror, Qnil))); |
| 5821 | Fput (Qundefined_color, Qerror_message, | 5810 | Fput (Qundefined_color, Qerror_message, |
diff --git a/src/xgselect.c b/src/xgselect.c index 0d154f6496a..9ccdd37489f 100644 --- a/src/xgselect.c +++ b/src/xgselect.c | |||
| @@ -15,14 +15,14 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
| 15 | GNU General Public License for more details. | 15 | GNU General Public License for more details. |
| 16 | 16 | ||
| 17 | You should have received a copy of the GNU General Public License | 17 | You should have received a copy of the GNU General Public License |
| 18 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | 18 | along with GNU Emacs. If not, see <http§://www.gnu.org/licenses/>. */ |
| 19 | 19 | ||
| 20 | #include <config.h> | 20 | #include <config.h> |
| 21 | 21 | ||
| 22 | #include <setjmp.h> | 22 | #include <setjmp.h> |
| 23 | #include "xgselect.h" | 23 | #include "xgselect.h" |
| 24 | 24 | ||
| 25 | #if defined (USE_GTK) || defined (HAVE_GCONF) | 25 | #if defined (USE_GTK) || defined (HAVE_GCONF) || defined (HAVE_GSETTINGS) |
| 26 | 26 | ||
| 27 | #include <glib.h> | 27 | #include <glib.h> |
| 28 | #include <errno.h> | 28 | #include <errno.h> |
| @@ -149,13 +149,13 @@ xg_select (int max_fds, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds, | |||
| 149 | 149 | ||
| 150 | return retval; | 150 | return retval; |
| 151 | } | 151 | } |
| 152 | #endif /* defined (USE_GTK) || defined (HAVE_GCONF) */ | 152 | #endif /* USE_GTK || HAVE_GCONF || HAVE_GSETTINGS */ |
| 153 | 153 | ||
| 154 | void | 154 | void |
| 155 | xgselect_initialize (void) | 155 | xgselect_initialize (void) |
| 156 | { | 156 | { |
| 157 | #if defined (USE_GTK) || defined (HAVE_GCONF) | 157 | #if defined (USE_GTK) || defined (HAVE_GCONF) || defined (HAVE_GSETTINGS) |
| 158 | gfds_size = 128; | 158 | gfds_size = 128; |
| 159 | gfds = xmalloc (sizeof (*gfds)*gfds_size); | 159 | gfds = xmalloc (sizeof (*gfds)*gfds_size); |
| 160 | #endif /* defined (USE_GTK) || defined (HAVE_GCONF) */ | 160 | #endif |
| 161 | } | 161 | } |
diff --git a/src/xmenu.c b/src/xmenu.c index 1cb71187c0c..fc629b35104 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -2559,8 +2559,7 @@ DEFUN ("menu-or-popup-active-p", Fmenu_or_popup_active_p, Smenu_or_popup_active_ | |||
| 2559 | void | 2559 | void |
| 2560 | syms_of_xmenu (void) | 2560 | syms_of_xmenu (void) |
| 2561 | { | 2561 | { |
| 2562 | Qdebug_on_next_call = intern_c_string ("debug-on-next-call"); | 2562 | DEFSYM (Qdebug_on_next_call, "debug-on-next-call"); |
| 2563 | staticpro (&Qdebug_on_next_call); | ||
| 2564 | 2563 | ||
| 2565 | #ifdef USE_X_TOOLKIT | 2564 | #ifdef USE_X_TOOLKIT |
| 2566 | widget_id_tick = (1<<16); | 2565 | widget_id_tick = (1<<16); |
diff --git a/src/xsettings.c b/src/xsettings.c index e2575650df9..06718df5a3c 100644 --- a/src/xsettings.c +++ b/src/xsettings.c | |||
| @@ -34,9 +34,15 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 34 | 34 | ||
| 35 | #include <X11/Xproto.h> | 35 | #include <X11/Xproto.h> |
| 36 | 36 | ||
| 37 | #ifdef HAVE_GSETTINGS | ||
| 38 | #include <glib-object.h> | ||
| 39 | #include <gio/gio.h> | ||
| 40 | #endif | ||
| 41 | |||
| 37 | #ifdef HAVE_GCONF | 42 | #ifdef HAVE_GCONF |
| 38 | #include <gconf/gconf-client.h> | 43 | #include <gconf/gconf-client.h> |
| 39 | #endif | 44 | #endif |
| 45 | |||
| 40 | #ifdef HAVE_XFT | 46 | #ifdef HAVE_XFT |
| 41 | #include <X11/Xft/Xft.h> | 47 | #include <X11/Xft/Xft.h> |
| 42 | #endif | 48 | #endif |
| @@ -48,10 +54,7 @@ static Lisp_Object Qmonospace_font_name, Qfont_name, Qfont_render, | |||
| 48 | Qtool_bar_style; | 54 | Qtool_bar_style; |
| 49 | static Lisp_Object current_tool_bar_style; | 55 | static Lisp_Object current_tool_bar_style; |
| 50 | 56 | ||
| 51 | #ifdef HAVE_GCONF | 57 | /* Store an config changed event in to the event queue. */ |
| 52 | static GConfClient *gconf_client; | ||
| 53 | #endif | ||
| 54 | |||
| 55 | 58 | ||
| 56 | static void | 59 | static void |
| 57 | store_config_changed_event (Lisp_Object arg, Lisp_Object display_name) | 60 | store_config_changed_event (Lisp_Object arg, Lisp_Object display_name) |
| @@ -64,6 +67,97 @@ store_config_changed_event (Lisp_Object arg, Lisp_Object display_name) | |||
| 64 | kbd_buffer_store_event (&event); | 67 | kbd_buffer_store_event (&event); |
| 65 | } | 68 | } |
| 66 | 69 | ||
| 70 | /* Return non-zero if DPYINFO is still valid. */ | ||
| 71 | static int | ||
| 72 | dpyinfo_valid (struct x_display_info *dpyinfo) | ||
| 73 | { | ||
| 74 | int found = 0; | ||
| 75 | if (dpyinfo != NULL) | ||
| 76 | { | ||
| 77 | struct x_display_info *d; | ||
| 78 | for (d = x_display_list; !found && d; d = d->next) | ||
| 79 | found = d == dpyinfo && d->display == dpyinfo->display; | ||
| 80 | } | ||
| 81 | return found; | ||
| 82 | } | ||
| 83 | |||
| 84 | /* Store a monospace font change event if the monospaced font changed. */ | ||
| 85 | |||
| 86 | #ifdef HAVE_XFT | ||
| 87 | static void | ||
| 88 | store_monospaced_changed (const char *newfont) | ||
| 89 | { | ||
| 90 | if (current_mono_font != NULL && strcmp (newfont, current_mono_font) == 0) | ||
| 91 | return; /* No change. */ | ||
| 92 | |||
| 93 | xfree (current_mono_font); | ||
| 94 | current_mono_font = xstrdup (newfont); | ||
| 95 | |||
| 96 | if (dpyinfo_valid (first_dpyinfo) && use_system_font) | ||
| 97 | { | ||
| 98 | store_config_changed_event (Qmonospace_font_name, | ||
| 99 | XCAR (first_dpyinfo->name_list_element)); | ||
| 100 | } | ||
| 101 | } | ||
| 102 | |||
| 103 | /* Store a font name change event if the font name changed. */ | ||
| 104 | |||
| 105 | static void | ||
| 106 | store_font_name_changed (const char *newfont) | ||
| 107 | { | ||
| 108 | if (current_font != NULL && strcmp (newfont, current_font) == 0) | ||
| 109 | return; /* No change. */ | ||
| 110 | |||
| 111 | xfree (current_font); | ||
| 112 | current_font = xstrdup (newfont); | ||
| 113 | |||
| 114 | if (dpyinfo_valid (first_dpyinfo)) | ||
| 115 | { | ||
| 116 | store_config_changed_event (Qfont_name, | ||
| 117 | XCAR (first_dpyinfo->name_list_element)); | ||
| 118 | } | ||
| 119 | } | ||
| 120 | #endif /* HAVE_XFT */ | ||
| 121 | |||
| 122 | /* Map TOOL_BAR_STYLE from a string to its correspinding Lisp value. | ||
| 123 | Return Qnil if TOOL_BAR_STYLE is not known. */ | ||
| 124 | |||
| 125 | static Lisp_Object | ||
| 126 | map_tool_bar_style (const char *tool_bar_style) | ||
| 127 | { | ||
| 128 | Lisp_Object style = Qnil; | ||
| 129 | if (tool_bar_style) | ||
| 130 | { | ||
| 131 | if (strcmp (tool_bar_style, "both") == 0) | ||
| 132 | style = Qboth; | ||
| 133 | else if (strcmp (tool_bar_style, "both-horiz") == 0) | ||
| 134 | style = Qboth_horiz; | ||
| 135 | else if (strcmp (tool_bar_style, "icons") == 0) | ||
| 136 | style = Qimage; | ||
| 137 | else if (strcmp (tool_bar_style, "text") == 0) | ||
| 138 | style = Qtext; | ||
| 139 | } | ||
| 140 | |||
| 141 | return style; | ||
| 142 | } | ||
| 143 | |||
| 144 | /* Store a tool bar style change event if the tool bar style changed. */ | ||
| 145 | |||
| 146 | static void | ||
| 147 | store_tool_bar_style_changed (const char *newstyle, | ||
| 148 | struct x_display_info *dpyinfo) | ||
| 149 | { | ||
| 150 | Lisp_Object style = map_tool_bar_style (newstyle); | ||
| 151 | if (EQ (current_tool_bar_style, style)) | ||
| 152 | return; /* No change. */ | ||
| 153 | |||
| 154 | current_tool_bar_style = style; | ||
| 155 | if (dpyinfo_valid (dpyinfo)) | ||
| 156 | store_config_changed_event (Qtool_bar_style, | ||
| 157 | XCAR (dpyinfo->name_list_element)); | ||
| 158 | } | ||
| 159 | |||
| 160 | |||
| 67 | #define XSETTINGS_FONT_NAME "Gtk/FontName" | 161 | #define XSETTINGS_FONT_NAME "Gtk/FontName" |
| 68 | #define XSETTINGS_TOOL_BAR_STYLE "Gtk/ToolbarStyle" | 162 | #define XSETTINGS_TOOL_BAR_STYLE "Gtk/ToolbarStyle" |
| 69 | 163 | ||
| @@ -83,55 +177,128 @@ struct xsettings | |||
| 83 | FcBool aa, hinting; | 177 | FcBool aa, hinting; |
| 84 | int rgba, lcdfilter, hintstyle; | 178 | int rgba, lcdfilter, hintstyle; |
| 85 | double dpi; | 179 | double dpi; |
| 86 | #endif | ||
| 87 | 180 | ||
| 88 | char *font; | 181 | char *font; |
| 182 | #endif | ||
| 183 | |||
| 89 | char *tb_style; | 184 | char *tb_style; |
| 90 | 185 | ||
| 91 | unsigned seen; | 186 | unsigned seen; |
| 92 | }; | 187 | }; |
| 93 | 188 | ||
| 189 | #ifdef HAVE_GSETTINGS | ||
| 190 | #define GSETTINGS_SCHEMA "org.gnome.desktop.interface" | ||
| 191 | #define GSETTINGS_TOOL_BAR_STYLE "toolbar-style" | ||
| 192 | |||
| 193 | #ifdef HAVE_XFT | ||
| 194 | #define GSETTINGS_MONO_FONT "monospace-font-name" | ||
| 195 | #define GSETTINGS_FONT_NAME "font-name" | ||
| 196 | #endif | ||
| 197 | |||
| 198 | |||
| 199 | /* The single GSettings instance, or NULL if not connected to GSettings. */ | ||
| 200 | |||
| 201 | static GSettings *gsettings_client; | ||
| 202 | |||
| 203 | /* Callback called when something changed in GSettings. */ | ||
| 204 | |||
| 205 | static void | ||
| 206 | something_changed_gsettingsCB (GSettings *settings, | ||
| 207 | gchar *key, | ||
| 208 | gpointer user_data) | ||
| 209 | { | ||
| 210 | GVariant *val; | ||
| 211 | |||
| 212 | if (strcmp (key, GSETTINGS_TOOL_BAR_STYLE) == 0) | ||
| 213 | { | ||
| 214 | val = g_settings_get_value (settings, GSETTINGS_TOOL_BAR_STYLE); | ||
| 215 | if (val) | ||
| 216 | { | ||
| 217 | g_variant_ref_sink (val); | ||
| 218 | if (g_variant_is_of_type (val, G_VARIANT_TYPE_STRING)) | ||
| 219 | { | ||
| 220 | const gchar *newstyle = g_variant_get_string (val, NULL); | ||
| 221 | store_tool_bar_style_changed (newstyle, first_dpyinfo); | ||
| 222 | } | ||
| 223 | g_variant_unref (val); | ||
| 224 | } | ||
| 225 | } | ||
| 226 | #ifdef HAVE_XFT | ||
| 227 | else if (strcmp (key, GSETTINGS_MONO_FONT) == 0) | ||
| 228 | { | ||
| 229 | val = g_settings_get_value (settings, GSETTINGS_MONO_FONT); | ||
| 230 | if (val) | ||
| 231 | { | ||
| 232 | g_variant_ref_sink (val); | ||
| 233 | if (g_variant_is_of_type (val, G_VARIANT_TYPE_STRING)) | ||
| 234 | { | ||
| 235 | const gchar *newfont = g_variant_get_string (val, NULL); | ||
| 236 | store_monospaced_changed (newfont); | ||
| 237 | } | ||
| 238 | g_variant_unref (val); | ||
| 239 | } | ||
| 240 | } | ||
| 241 | else if (strcmp (key, GSETTINGS_FONT_NAME) == 0) | ||
| 242 | { | ||
| 243 | val = g_settings_get_value (settings, GSETTINGS_FONT_NAME); | ||
| 244 | if (val) | ||
| 245 | { | ||
| 246 | g_variant_ref_sink (val); | ||
| 247 | if (g_variant_is_of_type (val, G_VARIANT_TYPE_STRING)) | ||
| 248 | { | ||
| 249 | const gchar *newfont = g_variant_get_string (val, NULL); | ||
| 250 | store_font_name_changed (newfont); | ||
| 251 | } | ||
| 252 | g_variant_unref (val); | ||
| 253 | } | ||
| 254 | } | ||
| 255 | #endif /* HAVE_XFT */ | ||
| 256 | } | ||
| 257 | |||
| 258 | #endif /* HAVE_GSETTINGS */ | ||
| 259 | |||
| 94 | #ifdef HAVE_GCONF | 260 | #ifdef HAVE_GCONF |
| 261 | #define GCONF_TOOL_BAR_STYLE "/desktop/gnome/interface/toolbar_style" | ||
| 262 | #ifdef HAVE_XFT | ||
| 263 | #define GCONF_MONO_FONT "/desktop/gnome/interface/monospace_font_name" | ||
| 264 | #define GCONF_FONT_NAME "/desktop/gnome/interface/font_name" | ||
| 265 | #endif | ||
| 95 | 266 | ||
| 96 | #define SYSTEM_MONO_FONT "/desktop/gnome/interface/monospace_font_name" | 267 | /* The single GConf instance, or NULL if not connected to GConf. */ |
| 97 | #define SYSTEM_FONT "/desktop/gnome/interface/font_name" | ||
| 98 | 268 | ||
| 99 | /* Callback called when something changed in GConf that we care about, | 269 | static GConfClient *gconf_client; |
| 100 | that is SYSTEM_MONO_FONT. */ | 270 | |
| 271 | /* Callback called when something changed in GConf that we care about. */ | ||
| 101 | 272 | ||
| 102 | static void | 273 | static void |
| 103 | something_changedCB (GConfClient *client, | 274 | something_changed_gconfCB (GConfClient *client, |
| 104 | guint cnxn_id, | 275 | guint cnxn_id, |
| 105 | GConfEntry *entry, | 276 | GConfEntry *entry, |
| 106 | gpointer user_data) | 277 | gpointer user_data) |
| 107 | { | 278 | { |
| 108 | GConfValue *v = gconf_entry_get_value (entry); | 279 | GConfValue *v = gconf_entry_get_value (entry); |
| 280 | const char *key = gconf_entry_get_key (entry); | ||
| 109 | 281 | ||
| 110 | if (!v) return; | 282 | if (!v || v->type != GCONF_VALUE_STRING || ! key) return; |
| 111 | if (v->type == GCONF_VALUE_STRING) | 283 | if (strcmp (key, GCONF_TOOL_BAR_STYLE) == 0) |
| 112 | { | 284 | { |
| 113 | const char *value = gconf_value_get_string (v); | 285 | const char *value = gconf_value_get_string (v); |
| 114 | if (current_mono_font != NULL && strcmp (value, current_mono_font) == 0) | 286 | store_tool_bar_style_changed (value, first_dpyinfo); |
| 115 | return; /* No change. */ | ||
| 116 | |||
| 117 | xfree (current_mono_font); | ||
| 118 | current_mono_font = xstrdup (value); | ||
| 119 | } | 287 | } |
| 120 | 288 | #ifdef HAVE_XFT | |
| 121 | 289 | else if (strcmp (key, GCONF_MONO_FONT) == 0) | |
| 122 | if (first_dpyinfo != NULL) | 290 | { |
| 291 | const char *value = gconf_value_get_string (v); | ||
| 292 | store_monospaced_changed (value); | ||
| 293 | } | ||
| 294 | else if (strcmp (key, GCONF_FONT_NAME) == 0) | ||
| 123 | { | 295 | { |
| 124 | /* Check if display still open */ | 296 | const char *value = gconf_value_get_string (v); |
| 125 | struct x_display_info *dpyinfo; | 297 | store_font_name_changed (value); |
| 126 | int found = 0; | ||
| 127 | for (dpyinfo = x_display_list; !found && dpyinfo; dpyinfo = dpyinfo->next) | ||
| 128 | found = dpyinfo == first_dpyinfo; | ||
| 129 | |||
| 130 | if (found && use_system_font) | ||
| 131 | store_config_changed_event (Qmonospace_font_name, | ||
| 132 | XCAR (first_dpyinfo->name_list_element)); | ||
| 133 | } | 298 | } |
| 299 | #endif /* HAVE_XFT */ | ||
| 134 | } | 300 | } |
| 301 | |||
| 135 | #endif /* HAVE_GCONF */ | 302 | #endif /* HAVE_GCONF */ |
| 136 | 303 | ||
| 137 | #ifdef HAVE_XFT | 304 | #ifdef HAVE_XFT |
| @@ -274,14 +441,14 @@ parse_settings (unsigned char *prop, | |||
| 274 | bytes_parsed += 4; /* Skip serial for this value */ | 441 | bytes_parsed += 4; /* Skip serial for this value */ |
| 275 | if (bytes_parsed > bytes) return BadLength; | 442 | if (bytes_parsed > bytes) return BadLength; |
| 276 | 443 | ||
| 277 | want_this = | 444 | want_this = |
| 278 | #ifdef HAVE_XFT | 445 | #ifdef HAVE_XFT |
| 279 | (nlen > 6 && strncmp (name, "Xft/", 4) == 0) | 446 | (nlen > 6 && strncmp (name, "Xft/", 4) == 0) |
| 447 | || strcmp (XSETTINGS_FONT_NAME, name) == 0 | ||
| 280 | || | 448 | || |
| 281 | #endif | 449 | #endif |
| 282 | (strcmp (XSETTINGS_FONT_NAME, name) == 0) | 450 | strcmp (XSETTINGS_TOOL_BAR_STYLE, name) == 0; |
| 283 | || (strcmp (XSETTINGS_TOOL_BAR_STYLE, name) == 0); | 451 | |
| 284 | |||
| 285 | switch (type) | 452 | switch (type) |
| 286 | { | 453 | { |
| 287 | case 0: /* Integer */ | 454 | case 0: /* Integer */ |
| @@ -322,17 +489,17 @@ parse_settings (unsigned char *prop, | |||
| 322 | if (want_this) | 489 | if (want_this) |
| 323 | { | 490 | { |
| 324 | ++settings_seen; | 491 | ++settings_seen; |
| 325 | if (strcmp (name, XSETTINGS_FONT_NAME) == 0) | 492 | if (strcmp (name, XSETTINGS_TOOL_BAR_STYLE) == 0) |
| 326 | { | ||
| 327 | settings->font = xstrdup (sval); | ||
| 328 | settings->seen |= SEEN_FONT; | ||
| 329 | } | ||
| 330 | else if (strcmp (name, XSETTINGS_TOOL_BAR_STYLE) == 0) | ||
| 331 | { | 493 | { |
| 332 | settings->tb_style = xstrdup (sval); | 494 | settings->tb_style = xstrdup (sval); |
| 333 | settings->seen |= SEEN_TB_STYLE; | 495 | settings->seen |= SEEN_TB_STYLE; |
| 334 | } | 496 | } |
| 335 | #ifdef HAVE_XFT | 497 | #ifdef HAVE_XFT |
| 498 | else if (strcmp (name, XSETTINGS_FONT_NAME) == 0) | ||
| 499 | { | ||
| 500 | settings->font = xstrdup (sval); | ||
| 501 | settings->seen |= SEEN_FONT; | ||
| 502 | } | ||
| 336 | else if (strcmp (name, "Xft/Antialias") == 0) | 503 | else if (strcmp (name, "Xft/Antialias") == 0) |
| 337 | { | 504 | { |
| 338 | settings->seen |= SEEN_AA; | 505 | settings->seen |= SEEN_AA; |
| @@ -397,6 +564,10 @@ parse_settings (unsigned char *prop, | |||
| 397 | return settings_seen; | 564 | return settings_seen; |
| 398 | } | 565 | } |
| 399 | 566 | ||
| 567 | /* Read settings from the XSettings property window on display for DPYINFO. | ||
| 568 | Store settings read in SETTINGS. | ||
| 569 | Return non-zero if successful, zero if not. */ | ||
| 570 | |||
| 400 | static int | 571 | static int |
| 401 | read_settings (struct x_display_info *dpyinfo, struct xsettings *settings) | 572 | read_settings (struct x_display_info *dpyinfo, struct xsettings *settings) |
| 402 | { | 573 | { |
| @@ -426,6 +597,8 @@ read_settings (struct x_display_info *dpyinfo, struct xsettings *settings) | |||
| 426 | return rc != 0; | 597 | return rc != 0; |
| 427 | } | 598 | } |
| 428 | 599 | ||
| 600 | /* Apply Xft settings in SETTINGS to the Xft library. | ||
| 601 | If SEND_EVENT_P is non-zero store a Lisp event that Xft settings changed. */ | ||
| 429 | 602 | ||
| 430 | static void | 603 | static void |
| 431 | apply_xft_settings (struct x_display_info *dpyinfo, | 604 | apply_xft_settings (struct x_display_info *dpyinfo, |
| @@ -444,9 +617,9 @@ apply_xft_settings (struct x_display_info *dpyinfo, | |||
| 444 | pat); | 617 | pat); |
| 445 | FcPatternGetBool (pat, FC_ANTIALIAS, 0, &oldsettings.aa); | 618 | FcPatternGetBool (pat, FC_ANTIALIAS, 0, &oldsettings.aa); |
| 446 | FcPatternGetBool (pat, FC_HINTING, 0, &oldsettings.hinting); | 619 | FcPatternGetBool (pat, FC_HINTING, 0, &oldsettings.hinting); |
| 447 | # ifdef FC_HINT_STYLE | 620 | #ifdef FC_HINT_STYLE |
| 448 | FcPatternGetInteger (pat, FC_HINT_STYLE, 0, &oldsettings.hintstyle); | 621 | FcPatternGetInteger (pat, FC_HINT_STYLE, 0, &oldsettings.hintstyle); |
| 449 | # endif | 622 | #endif |
| 450 | FcPatternGetInteger (pat, FC_LCD_FILTER, 0, &oldsettings.lcdfilter); | 623 | FcPatternGetInteger (pat, FC_LCD_FILTER, 0, &oldsettings.lcdfilter); |
| 451 | FcPatternGetInteger (pat, FC_RGBA, 0, &oldsettings.rgba); | 624 | FcPatternGetInteger (pat, FC_RGBA, 0, &oldsettings.rgba); |
| 452 | FcPatternGetDouble (pat, FC_DPI, 0, &oldsettings.dpi); | 625 | FcPatternGetDouble (pat, FC_DPI, 0, &oldsettings.dpi); |
| @@ -485,7 +658,7 @@ apply_xft_settings (struct x_display_info *dpyinfo, | |||
| 485 | oldsettings.lcdfilter = settings->lcdfilter; | 658 | oldsettings.lcdfilter = settings->lcdfilter; |
| 486 | } | 659 | } |
| 487 | 660 | ||
| 488 | # ifdef FC_HINT_STYLE | 661 | #ifdef FC_HINT_STYLE |
| 489 | if ((settings->seen & SEEN_HINTSTYLE) != 0 | 662 | if ((settings->seen & SEEN_HINTSTYLE) != 0 |
| 490 | && oldsettings.hintstyle != settings->hintstyle) | 663 | && oldsettings.hintstyle != settings->hintstyle) |
| 491 | { | 664 | { |
| @@ -494,7 +667,7 @@ apply_xft_settings (struct x_display_info *dpyinfo, | |||
| 494 | ++changed; | 667 | ++changed; |
| 495 | oldsettings.hintstyle = settings->hintstyle; | 668 | oldsettings.hintstyle = settings->hintstyle; |
| 496 | } | 669 | } |
| 497 | # endif | 670 | #endif |
| 498 | 671 | ||
| 499 | if ((settings->seen & SEEN_DPI) != 0 && oldsettings.dpi != settings->dpi | 672 | if ((settings->seen & SEEN_DPI) != 0 && oldsettings.dpi != settings->dpi |
| 500 | && settings->dpi > 0) | 673 | && settings->dpi > 0) |
| @@ -545,11 +718,13 @@ apply_xft_settings (struct x_display_info *dpyinfo, | |||
| 545 | #endif /* HAVE_XFT */ | 718 | #endif /* HAVE_XFT */ |
| 546 | } | 719 | } |
| 547 | 720 | ||
| 721 | /* Read XSettings from the display for DPYINFO. | ||
| 722 | If SEND_EVENT_P is non-zero store a Lisp event settings that changed. */ | ||
| 723 | |||
| 548 | static void | 724 | static void |
| 549 | read_and_apply_settings (struct x_display_info *dpyinfo, int send_event_p) | 725 | read_and_apply_settings (struct x_display_info *dpyinfo, int send_event_p) |
| 550 | { | 726 | { |
| 551 | struct xsettings settings; | 727 | struct xsettings settings; |
| 552 | Lisp_Object dpyname = XCAR (dpyinfo->name_list_element); | ||
| 553 | 728 | ||
| 554 | if (!read_settings (dpyinfo, &settings)) | 729 | if (!read_settings (dpyinfo, &settings)) |
| 555 | return; | 730 | return; |
| @@ -557,38 +732,29 @@ read_and_apply_settings (struct x_display_info *dpyinfo, int send_event_p) | |||
| 557 | apply_xft_settings (dpyinfo, True, &settings); | 732 | apply_xft_settings (dpyinfo, True, &settings); |
| 558 | if (settings.seen & SEEN_TB_STYLE) | 733 | if (settings.seen & SEEN_TB_STYLE) |
| 559 | { | 734 | { |
| 560 | Lisp_Object style = Qnil; | 735 | if (send_event_p) |
| 561 | if (strcmp (settings.tb_style, "both") == 0) | 736 | store_tool_bar_style_changed (settings.tb_style, dpyinfo); |
| 562 | style = Qboth; | 737 | else |
| 563 | else if (strcmp (settings.tb_style, "both-horiz") == 0) | 738 | current_tool_bar_style = map_tool_bar_style (settings.tb_style); |
| 564 | style = Qboth_horiz; | ||
| 565 | else if (strcmp (settings.tb_style, "icons") == 0) | ||
| 566 | style = Qimage; | ||
| 567 | else if (strcmp (settings.tb_style, "text") == 0) | ||
| 568 | style = Qtext; | ||
| 569 | if (!NILP (style) && !EQ (style, current_tool_bar_style)) | ||
| 570 | { | ||
| 571 | current_tool_bar_style = style; | ||
| 572 | if (send_event_p) | ||
| 573 | store_config_changed_event (Qtool_bar_style, dpyname); | ||
| 574 | } | ||
| 575 | xfree (settings.tb_style); | 739 | xfree (settings.tb_style); |
| 576 | } | 740 | } |
| 577 | 741 | #ifdef HAVE_XFT | |
| 578 | if (settings.seen & SEEN_FONT) | 742 | if (settings.seen & SEEN_FONT) |
| 579 | { | 743 | { |
| 580 | if (!current_font || strcmp (current_font, settings.font) != 0) | 744 | if (send_event_p) |
| 745 | store_font_name_changed (settings.font); | ||
| 746 | else | ||
| 581 | { | 747 | { |
| 582 | xfree (current_font); | 748 | xfree (current_font); |
| 583 | current_font = settings.font; | 749 | current_font = xstrdup (settings.font); |
| 584 | if (send_event_p) | ||
| 585 | store_config_changed_event (Qfont_name, dpyname); | ||
| 586 | } | 750 | } |
| 587 | else | 751 | xfree (settings.font); |
| 588 | xfree (settings.font); | ||
| 589 | } | 752 | } |
| 753 | #endif | ||
| 590 | } | 754 | } |
| 591 | 755 | ||
| 756 | /* Check if EVENT for the display in DPYINFO is XSettings related. */ | ||
| 757 | |||
| 592 | void | 758 | void |
| 593 | xft_settings_event (struct x_display_info *dpyinfo, XEvent *event) | 759 | xft_settings_event (struct x_display_info *dpyinfo, XEvent *event) |
| 594 | { | 760 | { |
| @@ -630,41 +796,130 @@ xft_settings_event (struct x_display_info *dpyinfo, XEvent *event) | |||
| 630 | read_and_apply_settings (dpyinfo, True); | 796 | read_and_apply_settings (dpyinfo, True); |
| 631 | } | 797 | } |
| 632 | 798 | ||
| 799 | /* Initialize GSettings and read startup values. */ | ||
| 800 | |||
| 801 | static void | ||
| 802 | init_gsettings (void) | ||
| 803 | { | ||
| 804 | #ifdef HAVE_GSETTINGS | ||
| 805 | GVariant *val; | ||
| 806 | const gchar *const *schemas; | ||
| 807 | int schema_found = 0; | ||
| 808 | |||
| 809 | #ifdef HAVE_G_TYPE_INIT | ||
| 810 | g_type_init (); | ||
| 811 | #endif | ||
| 812 | |||
| 813 | schemas = g_settings_list_schemas(); | ||
| 814 | if (schemas == NULL) return; | ||
| 815 | while (! schema_found && *schemas != NULL) | ||
| 816 | schema_found = strcmp (*schemas++, GSETTINGS_SCHEMA) == 0; | ||
| 817 | if (!schema_found) return; | ||
| 818 | |||
| 819 | gsettings_client = g_settings_new (GSETTINGS_SCHEMA); | ||
| 820 | if (!gsettings_client) return; | ||
| 821 | g_object_ref_sink (G_OBJECT (gsettings_client)); | ||
| 822 | g_signal_connect (G_OBJECT (gsettings_client), "changed", | ||
| 823 | G_CALLBACK (something_changed_gsettingsCB), NULL); | ||
| 824 | |||
| 825 | val = g_settings_get_value (gsettings_client, GSETTINGS_TOOL_BAR_STYLE); | ||
| 826 | if (val) | ||
| 827 | { | ||
| 828 | g_variant_ref_sink (val); | ||
| 829 | if (g_variant_is_of_type (val, G_VARIANT_TYPE_STRING)) | ||
| 830 | current_tool_bar_style | ||
| 831 | = map_tool_bar_style (g_variant_get_string (val, NULL)); | ||
| 832 | g_variant_unref (val); | ||
| 833 | } | ||
| 834 | |||
| 835 | #ifdef HAVE_XFT | ||
| 836 | val = g_settings_get_value (gsettings_client, GSETTINGS_MONO_FONT); | ||
| 837 | if (val) | ||
| 838 | { | ||
| 839 | g_variant_ref_sink (val); | ||
| 840 | if (g_variant_is_of_type (val, G_VARIANT_TYPE_STRING)) | ||
| 841 | current_mono_font = xstrdup (g_variant_get_string (val, NULL)); | ||
| 842 | g_variant_unref (val); | ||
| 843 | } | ||
| 844 | |||
| 845 | val = g_settings_get_value (gsettings_client, GSETTINGS_FONT_NAME); | ||
| 846 | if (val) | ||
| 847 | { | ||
| 848 | g_variant_ref_sink (val); | ||
| 849 | if (g_variant_is_of_type (val, G_VARIANT_TYPE_STRING)) | ||
| 850 | current_font = xstrdup (g_variant_get_string (val, NULL)); | ||
| 851 | g_variant_unref (val); | ||
| 852 | } | ||
| 853 | #endif /* HAVE_XFT */ | ||
| 854 | |||
| 855 | #endif /* HAVE_GSETTINGS */ | ||
| 856 | } | ||
| 857 | |||
| 858 | /* Init GConf and read startup values. */ | ||
| 633 | 859 | ||
| 634 | static void | 860 | static void |
| 635 | init_gconf (void) | 861 | init_gconf (void) |
| 636 | { | 862 | { |
| 637 | #if defined (HAVE_GCONF) && defined (HAVE_XFT) | 863 | #if defined (HAVE_GCONF) |
| 638 | char *s; | 864 | char *s; |
| 639 | 865 | ||
| 640 | #ifdef HAVE_G_TYPE_INIT | 866 | #ifdef HAVE_G_TYPE_INIT |
| 641 | g_type_init (); | 867 | g_type_init (); |
| 642 | #endif | 868 | #endif |
| 869 | |||
| 643 | gconf_client = gconf_client_get_default (); | 870 | gconf_client = gconf_client_get_default (); |
| 644 | s = gconf_client_get_string (gconf_client, SYSTEM_MONO_FONT, NULL); | 871 | gconf_client_set_error_handling (gconf_client, GCONF_CLIENT_HANDLE_NONE); |
| 872 | gconf_client_add_dir (gconf_client, | ||
| 873 | GCONF_TOOL_BAR_STYLE, | ||
| 874 | GCONF_CLIENT_PRELOAD_ONELEVEL, | ||
| 875 | NULL); | ||
| 876 | gconf_client_notify_add (gconf_client, | ||
| 877 | GCONF_TOOL_BAR_STYLE, | ||
| 878 | something_changed_gconfCB, | ||
| 879 | NULL, NULL, NULL); | ||
| 880 | |||
| 881 | s = gconf_client_get_string (gconf_client, GCONF_TOOL_BAR_STYLE, NULL); | ||
| 882 | if (s) | ||
| 883 | { | ||
| 884 | current_tool_bar_style = map_tool_bar_style (s); | ||
| 885 | g_free (s); | ||
| 886 | } | ||
| 887 | |||
| 888 | #ifdef HAVE_XFT | ||
| 889 | s = gconf_client_get_string (gconf_client, GCONF_MONO_FONT, NULL); | ||
| 645 | if (s) | 890 | if (s) |
| 646 | { | 891 | { |
| 647 | current_mono_font = xstrdup (s); | 892 | current_mono_font = xstrdup (s); |
| 648 | g_free (s); | 893 | g_free (s); |
| 649 | } | 894 | } |
| 650 | s = gconf_client_get_string (gconf_client, SYSTEM_FONT, NULL); | 895 | s = gconf_client_get_string (gconf_client, GCONF_FONT_NAME, NULL); |
| 651 | if (s) | 896 | if (s) |
| 652 | { | 897 | { |
| 653 | current_font = xstrdup (s); | 898 | current_font = xstrdup (s); |
| 654 | g_free (s); | 899 | g_free (s); |
| 655 | } | 900 | } |
| 656 | gconf_client_set_error_handling (gconf_client, GCONF_CLIENT_HANDLE_NONE); | ||
| 657 | gconf_client_add_dir (gconf_client, | 901 | gconf_client_add_dir (gconf_client, |
| 658 | SYSTEM_MONO_FONT, | 902 | GCONF_MONO_FONT, |
| 903 | GCONF_CLIENT_PRELOAD_ONELEVEL, | ||
| 904 | NULL); | ||
| 905 | gconf_client_notify_add (gconf_client, | ||
| 906 | GCONF_MONO_FONT, | ||
| 907 | something_changed_gconfCB, | ||
| 908 | NULL, NULL, NULL); | ||
| 909 | gconf_client_add_dir (gconf_client, | ||
| 910 | GCONF_FONT_NAME, | ||
| 659 | GCONF_CLIENT_PRELOAD_ONELEVEL, | 911 | GCONF_CLIENT_PRELOAD_ONELEVEL, |
| 660 | NULL); | 912 | NULL); |
| 661 | gconf_client_notify_add (gconf_client, | 913 | gconf_client_notify_add (gconf_client, |
| 662 | SYSTEM_MONO_FONT, | 914 | GCONF_FONT_NAME, |
| 663 | something_changedCB, | 915 | something_changed_gconfCB, |
| 664 | NULL, NULL, NULL); | 916 | NULL, NULL, NULL); |
| 665 | #endif /* HAVE_GCONF && HAVE_XFT */ | 917 | #endif /* HAVE_XFT */ |
| 918 | #endif /* HAVE_GCONF */ | ||
| 666 | } | 919 | } |
| 667 | 920 | ||
| 921 | /* Init Xsettings and read startup values. */ | ||
| 922 | |||
| 668 | static void | 923 | static void |
| 669 | init_xsettings (struct x_display_info *dpyinfo) | 924 | init_xsettings (struct x_display_info *dpyinfo) |
| 670 | { | 925 | { |
| @@ -689,8 +944,12 @@ xsettings_initialize (struct x_display_info *dpyinfo) | |||
| 689 | if (first_dpyinfo == NULL) first_dpyinfo = dpyinfo; | 944 | if (first_dpyinfo == NULL) first_dpyinfo = dpyinfo; |
| 690 | init_gconf (); | 945 | init_gconf (); |
| 691 | init_xsettings (dpyinfo); | 946 | init_xsettings (dpyinfo); |
| 947 | init_gsettings (); | ||
| 692 | } | 948 | } |
| 693 | 949 | ||
| 950 | /* Return the system monospaced font. | ||
| 951 | May be NULL if not known. */ | ||
| 952 | |||
| 694 | const char * | 953 | const char * |
| 695 | xsettings_get_system_font (void) | 954 | xsettings_get_system_font (void) |
| 696 | { | 955 | { |
| @@ -698,6 +957,9 @@ xsettings_get_system_font (void) | |||
| 698 | } | 957 | } |
| 699 | 958 | ||
| 700 | #ifdef USE_LUCID | 959 | #ifdef USE_LUCID |
| 960 | /* Return the system font. | ||
| 961 | May be NULL if not known. */ | ||
| 962 | |||
| 701 | const char * | 963 | const char * |
| 702 | xsettings_get_system_normal_font (void) | 964 | xsettings_get_system_normal_font (void) |
| 703 | { | 965 | { |
| @@ -746,16 +1008,16 @@ syms_of_xsettings (void) | |||
| 746 | current_mono_font = NULL; | 1008 | current_mono_font = NULL; |
| 747 | current_font = NULL; | 1009 | current_font = NULL; |
| 748 | first_dpyinfo = NULL; | 1010 | first_dpyinfo = NULL; |
| 1011 | #ifdef HAVE_GSETTINGS | ||
| 1012 | gsettings_client = NULL; | ||
| 1013 | #endif | ||
| 749 | #ifdef HAVE_GCONF | 1014 | #ifdef HAVE_GCONF |
| 750 | gconf_client = NULL; | 1015 | gconf_client = NULL; |
| 751 | #endif | 1016 | #endif |
| 752 | 1017 | ||
| 753 | Qmonospace_font_name = intern_c_string ("monospace-font-name"); | 1018 | DEFSYM (Qmonospace_font_name, "monospace-font-name"); |
| 754 | staticpro (&Qmonospace_font_name); | 1019 | DEFSYM (Qfont_name, "font-name"); |
| 755 | Qfont_name = intern_c_string ("font-name"); | 1020 | DEFSYM (Qfont_render, "font-render"); |
| 756 | staticpro (&Qfont_name); | ||
| 757 | Qfont_render = intern_c_string ("font-render"); | ||
| 758 | staticpro (&Qfont_render); | ||
| 759 | defsubr (&Sfont_get_system_font); | 1021 | defsubr (&Sfont_get_system_font); |
| 760 | defsubr (&Sfont_get_system_normal_font); | 1022 | defsubr (&Sfont_get_system_normal_font); |
| 761 | 1023 | ||
| @@ -772,14 +1034,13 @@ If this variable is nil, Emacs ignores system font changes. */); | |||
| 772 | 1034 | ||
| 773 | #ifdef HAVE_XFT | 1035 | #ifdef HAVE_XFT |
| 774 | Fprovide (intern_c_string ("font-render-setting"), Qnil); | 1036 | Fprovide (intern_c_string ("font-render-setting"), Qnil); |
| 775 | #ifdef HAVE_GCONF | 1037 | #if defined (HAVE_GCONF) || defined (HAVE_GSETTINGS) |
| 776 | Fprovide (intern_c_string ("system-font-setting"), Qnil); | 1038 | Fprovide (intern_c_string ("system-font-setting"), Qnil); |
| 777 | #endif | 1039 | #endif |
| 778 | #endif | 1040 | #endif |
| 779 | 1041 | ||
| 780 | current_tool_bar_style = Qnil; | 1042 | current_tool_bar_style = Qnil; |
| 781 | Qtool_bar_style = intern_c_string ("tool-bar-style"); | 1043 | DEFSYM (Qtool_bar_style, "tool-bar-style"); |
| 782 | staticpro (&Qtool_bar_style); | ||
| 783 | defsubr (&Stool_bar_get_system_style); | 1044 | defsubr (&Stool_bar_get_system_style); |
| 784 | 1045 | ||
| 785 | Fprovide (intern_c_string ("dynamic-setting"), Qnil); | 1046 | Fprovide (intern_c_string ("dynamic-setting"), Qnil); |
diff --git a/src/xterm.c b/src/xterm.c index bc7592795c4..20516ee9d6f 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -10698,11 +10698,8 @@ syms_of_xterm (void) | |||
| 10698 | staticpro (&last_mouse_scroll_bar); | 10698 | staticpro (&last_mouse_scroll_bar); |
| 10699 | last_mouse_scroll_bar = Qnil; | 10699 | last_mouse_scroll_bar = Qnil; |
| 10700 | 10700 | ||
| 10701 | staticpro (&Qvendor_specific_keysyms); | 10701 | DEFSYM (Qvendor_specific_keysyms, "vendor-specific-keysyms"); |
| 10702 | Qvendor_specific_keysyms = intern_c_string ("vendor-specific-keysyms"); | 10702 | DEFSYM (Qlatin_1, "latin-1"); |
| 10703 | |||
| 10704 | staticpro (&Qlatin_1); | ||
| 10705 | Qlatin_1 = intern_c_string ("latin-1"); | ||
| 10706 | 10703 | ||
| 10707 | staticpro (&last_mouse_press_frame); | 10704 | staticpro (&last_mouse_press_frame); |
| 10708 | last_mouse_press_frame = Qnil; | 10705 | last_mouse_press_frame = Qnil; |
| @@ -10711,8 +10708,7 @@ syms_of_xterm (void) | |||
| 10711 | xg_default_icon_file = make_pure_c_string ("icons/hicolor/scalable/apps/emacs.svg"); | 10708 | xg_default_icon_file = make_pure_c_string ("icons/hicolor/scalable/apps/emacs.svg"); |
| 10712 | staticpro (&xg_default_icon_file); | 10709 | staticpro (&xg_default_icon_file); |
| 10713 | 10710 | ||
| 10714 | Qx_gtk_map_stock = intern_c_string ("x-gtk-map-stock"); | 10711 | DEFSYM (Qx_gtk_map_stock, "x-gtk-map-stock"); |
| 10715 | staticpro (&Qx_gtk_map_stock); | ||
| 10716 | #endif | 10712 | #endif |
| 10717 | 10713 | ||
| 10718 | DEFVAR_BOOL ("x-use-underline-position-properties", | 10714 | DEFVAR_BOOL ("x-use-underline-position-properties", |