1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-11 14:01:43 -08:00
Commit graph

80 commits

Author SHA1 Message Date
Paul Eggert
a9bb9d8fc2 Fix DPI calculation when Xft/DPI is default
* src/xsettings.c (parse_settings): Don't use Xft/DPI default
value of -1, which evaluates to 2**32 - 1 (Bug#21152).
Remove unnecessary cast while we're in the neighborhood.
2015-08-09 23:23:38 -07:00
Paul Eggert
3ef29501b0 Use bool for boolean in xmenu.c, xml.c
* xmenu.c (x_menu_set_in_use, popup_get_selection)
(Fx_menu_bar_open_internal, popup_widget_loop)
(x_activate_menubar, xg_crazy_callback_abort)
(update_frame_menubar, set_frame_menubar)
(initialize_frame_menubar, free_frame_menubar)
(create_and_show_popup_menu, x_menu_show)
(create_and_show_dialog, x_dialog_show):
* xml.c (libxml2_loaded_p, init_libxml2_functions, parse_region)
(Flibxml_parse_html_region, Flibxml_parse_xml_region):
* xrdb.c (main) [TESTRM]:
* xsettings.c (init_gsettings):
* xterm.c (XFillRectangle, xg_scroll_callback)
(xg_end_scroll_callback):
* xterm.h (x_menu_set_in_use) [USE_GTK || USE_MOTIF]:
Use bool for boolean.
* xmenu.c (TRUE): Remove; no longer used.
(show_help_event): Remove long-unused code.
(set_frame_menubar): Remove "#if 1" and corresponding "#endif" lines.
2015-01-13 21:20:31 -08:00
Paul Eggert
58f2d6ef32 Compute C decls for DEFSYMs automatically
Fixes Bug#15880.
This patch also makes Q constants (e.g., Qnil) constant addresses
from the C point of view.
* make-docfile.c: Revamp to generate table of symbols, too.
Include <stdbool.h>.
(xstrdup): New function.
(main): Don't process the same file twice.
(SYMBOL): New constant in enum global_type.
(struct symbol): Turn 'value' member into a union, either v.value
for int or v.svalue for string.  All uses changed.
(add_global): New arg svalue, which overrides value, so that globals
can have a string value.
(close_emacs_global): New arg num_symbols; all uses changed.
Output lispsym decl.
(write_globals): Output symbol globals too.  Output more
ATTRIBUTE_CONST, now that Qnil etc. are C constants.
Output defsym_name table.
(scan_c_file): Move most of guts into ...
(scan_c_stream): ... new function.  Scan for DEFSYMs and
record symbols found.  Don't read past EOF if file doesn't
end in newline.
* alloc.c, bidi.c, buffer.c, bytecode.c, callint.c, casefiddle:
* casetab.c, category.c, ccl.c, charset.c, chartab.c, cmds.c, coding.c:
* composite.c, data.c, dbusbind.c, decompress.c, dired.c, dispnew.c:
* doc.c, editfns.c, emacs.c, eval.c, fileio.c, fns.c, font.c, fontset.c:
* frame.c, fringe.c, ftfont.c, ftxfont.c, gfilenotify.c, gnutls.c:
* image.c, inotify.c, insdel.c, keyboard.c, keymap.c, lread.c:
* macfont.m, macros.c, minibuf.c, nsfns.m, nsfont.m, nsimage.m:
* nsmenu.m, nsselect.m, nsterm.m, print.c, process.c, profiler.c:
* search.c, sound.c, syntax.c, term.c, terminal.c, textprop.c, undo.c:
* window.c, xdisp.c, xfaces.c, xfns.c, xftfont.c, xmenu.c, xml.c:
* xselect.c, xsettings.c, xterm.c:
Remove Q vars that represent symbols (e.g., Qnil, Qt, Qemacs).
These names are now defined automatically by make-docfile.
* alloc.c (init_symbol): New function.
(Fmake_symbol): Use it.
(c_symbol_p): New function.
(valid_lisp_object_p, purecopy): Use it.
* alloc.c (marked_pinned_symbols):
Use make_lisp_symbol instead of make_lisp_ptr.
(garbage_collect_1): Mark lispsym symbols.
(CHECK_ALLOCATED_AND_LIVE_SYMBOL): New macro.
(mark_object): Use it.
(sweep_symbols): Sweep lispsym symbols.
(symbol_uses_obj): New function.
(which_symbols): Use it.  Work for lispsym symbols, too.
(init_alloc_once): Initialize Vpurify_flag here; no need to wait,
since Qt's address is already known now.
(syms_of_alloc): Add lispsym count to symbols_consed.
* buffer.c (init_buffer_once): Compare to Qnil, not to make_number (0),
when testing whether storage is all bits zero.
* dispextern (struct image_type):
* font.c (font_property_table):
* frame.c (struct frame_parm_table, frame_parms):
* keyboard.c (scroll_bar_parts, struct event_head):
* xdisp.c (struct props):
Use XSYMBOL_INIT (Qfoo) and struct Lisp_Symbol * rather than &Qfoo and
Lisp_Object *, since Qfoo is no longer an object whose address can be
taken.  All uses changed.
* eval.c (run_hook): New function.  Most uses of Frun_hooks changed to
use it, so that they no longer need to take the address of a Lisp sym.
(syms_of_eval): Don't use DEFSYM on Vrun_hooks, as it's a variable.
* frame.c (syms_of_frame): Add defsyms for the frame_parms table.
* keyboard.c (syms_of_keyboard): Don't DEFSYM Qmenu_bar here.
DEFSYM Qdeactivate_mark before the corresponding var.
* keymap.c (syms_of_keymap): Use DEFSYM for Qmenu_bar and Qmode_line
instead of interning their symbols; this avoids duplicates.
(LISP_INITIALLY, TAG_PTR)
(DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END, XSYMBOL_INIT):
New macros.
(LISP_INITIALLY_ZERO): Use it.
(enum symbol_interned, enum symbol_redirect, struct Lisp_Symbol)
(EXFUN, DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_*):
Move decls up, to avoid forward uses.  Include globals.h earlier, too.
(make_lisp_symbol): New function.
(XSETSYMBOL): Use it.
(DEFSYM): Now just a placeholder for make-docfile.
* lread.c (DEFINE_SYMBOLS): Define, for globals.h.
(intern_sym): New function, with body taken from old intern_driver.
(intern_driver): Use it.  Last arg is now Lisp integer, not ptrdiff_t.
All uses changed.
(define_symbol): New function.
(init_obarray): Define the C symbols taken from lispsym.
Use plain DEFSYM for Qt and Qnil.
* syntax.c (init_syntax_once): No need to worry about
Qchar_table_extra_slots.
2015-01-05 10:14:58 -08:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Paul Eggert
3d1afd119e Fix parse_settings to match internal documentation
* xsettings.c (parse_settings): Return the number of settings seen.
Count the settings changes accurately.
(read_settings): Don't confuse number of settings changes with
the return code from XGetWindowProperty.
2014-12-27 12:01:46 -08:00
Paul Eggert
7a305f8bb5 Use bool for boolean in xselect.c, xsettings.c
* xselect.c (x_get_local_selection, struct selection_data)
(x_selection_request_lisp_error, struct prop_location)
(x_handle_selection_request, x_convert_selection)
(waiting_for_other_props_on_window, expect_property_change)
(wait_for_property_change, x_handle_property_notify)
(x_get_foreign_selection, x_get_window_property)
(receive_incremental_selection)
(x_get_window_property_as_lisp_data)
(lisp_data_to_selection_data, Fx_get_selection_internal)
(x_send_client_event):
* xselect.c, xterm.h (x_handle_dnd_message):
* xsettings.c (dpyinfo_valid, parse_settings, read_settings)
(apply_xft_settings, read_and_apply_settings)
(xft_settings_event, init_gsettings, init_xsettings)
(syms_of_xsettings):
Use bool for boolean.
* xselect.c (x_get_window_property): Omit last arg, which was an
unused boolean.
* xsettings.c (apply_xft_settings): Remove 2nd arg, which was
always true.  All callers changed.
2014-12-26 13:44:31 -08:00
Jan Djärv
4a5c71d7c2 * xsettings.c (init_gsettings): Use g_settings_schema_source_lookup
instead of deprecated g_settings_list_schemas if possible.

Fixes: debbugs:17434
2014-05-10 12:42:08 +02:00
Paul Eggert
8268febfe0 Fix a few crashes and leaks when cloning C strings.
* alloc.c, lisp.h (dupstring): New function.
* gtkutil.c (xg_get_font):
* term.c (tty_default_color_capabilities):
* xsettings.c (store_monospaced_changed)
(store_font_name_changed, parse_settings)
(read_and_apply_settings, init_gsettings, init_gconf): Use it.
This avoids some unlikely crashes due to accessing freed storage,
and avoids some minor memory leaks in the more-typical case.
2014-02-28 13:45:34 -08:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Dmitry Antipov
2d9783e0b9 Prefer 'unsigned long' to 'long unsigned int' and 'unsigned long int'.
* ftxfont.c (ftxfont_get_gcs):
* gtkutil.c (xg_set_widget_bg, xg_set_background_color):
* xfaces.c (x_free_colors, x_free_dpy_colors)
(x_create_gc, unload_color):
* xselect.c (x_property_data_to_lisp):
* xsettings.c (parse_settings):
* xterm.c (x_copy_color, x_alloc_lighter_color, x_setup_relief_color)
(get_bits_and_offset): Adjust definition.
* frame.c (XParseGeometry): Adjust locals.
* lisp.h (toplevel): Adjust EMACS_UINT type definition.
* regex.h (toplevel): Likewise for reg_syntax_t.
2013-10-29 20:08:08 +04:00
Paul Eggert
4eed315732 Use hardware support for byteswapping on glibc x86 etc.
On Fedora 19 x86-64, the new bswap_64 needs 1 instruction,
whereas the old swap64 needed 30.
* admin/merge-gnulib (GNULIB_MODULES): Add byteswap.
* lib/byteswap.in.h, m4/byteswap.m4: New files, copied from Gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* src/fringe.c (init_fringe_bitmap) [WORDS_BIGENDIAN]:
* src/sound.c (le2hl, le2hs, be2hl) [!WINDOWSNT]:
Use byteswap.h's macros to swap bytes.
* src/lisp.h (swap16, swap32, swap64): Remove.
All uses replaced by bswap_16, bswap_32, bswap_64.
2013-10-04 00:36:22 -07:00
Daniel Colascione
3e0b94e7ff Add set operations for bool-vector.
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00404.html

* data.c (Qbool_vector_p): New symbol.
(bool_vector_spare_mask,popcount_size_t_generic)
(popcount_size_t_msc,popcount_size_t_gcc)
(popcount_size_t)
(bool_vector_binop_driver)
(count_trailing_zero_bits,size_t_to_host_endian)
(Fbool_vector_exclusive_or)
(Fbool_vector_union)
(Fbool_vector_intersection,Fbool_vector_set_difference)
(Fbool_vector_subsetp,Fbool_vector_not)
(Fbool_vector_count_matches)
(Fbool_vector_count_matches_at): New functions.
(syms_of_data): Intern new symbol, functions.
* alloc.c (bool_vector_payload_bytes): New function.
(Fmake_bool_vector): Instead of calling Fmake_vector,
which performs redundant initialization and argument checking,
just call allocate_vector ourselves.  Make sure we clear any
terminating padding to zero.
(vector_nbytes,sweep_vectors): Use bool_vector_payload_bytes
instead of open-coding the size calculation.
(vroundup_ct): New macro.
(vroundup): Assume argument >= 0; invoke vroundup_ct.
* casetab.c (shuffle,set_identity): Change lint_assume to assume.
* composite.c (composition_gstring_put_cache): Change
lint_assume to assume.
* conf_post.h (assume): New macro.
(lint_assume): Remove.
* dispnew.c (update_frame_1): Change lint_assume to assume.
* ftfont.c (ftfont_shape_by_flt): Change lint_assume
to assume.
* image.c (gif_load): Change lint_assume to assume.
* lisp.h (eassert_and_assume): New macro.
(Qbool_vector_p): Declare.
(CHECK_BOOL_VECTOR,ROUNDUP,BITS_PER_SIZE_T): New macros.
(swap16,swap32,swap64): New inline functions.
* macfont.c (macfont_shape): Change lint_assume to assume.
* ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout.
* xsettings.c (parse_settings): Use new swap16 and
swap32 from lisp.h instead of file-specific macros.
2013-09-22 01:31:55 -08:00
Paul Eggert
b7ad2f7401 Don't overuse 'const' in types of locals.
* bidi.c (bidi_count_bytes):
* gtkutil.c, gtkutil.h (xg_event_is_for_menubar)
(xg_event_is_for_scrollbar):
* xselect.c (x_handle_property_notify)
(x_handle_selection_notify, x_handle_dnd_message):
* xsettings.c, xsettings.h (xft_settings_event):
* xterm.c (x_handle_net_wm_state, handle_one_event)
(x_menubar_window_to_frame, x_detect_focus_change)
(construct_mouse_click, note_mouse_movement)
(x_scroll_bar_to_input_event, x_scroll_bar_expose)
(x_scroll_bar_handle_click, x_scroll_bar_note_movement)
(handle_one_xevent, x_handle_net_wm_state):
* xterm.h (x_handle_property_notify, x_handle_selection_notify)
(x_handle_dnd_message):
Avoid unnecessary 'const', typically the second 'const' in
'const foo * const arg', a 'const' that does not affect the API
and doesn't significantly help the human reader.
2013-09-17 00:06:42 -07:00
Dmitry Antipov
19452b8665 * configure.ac: Do not check for g_type_init because we
require glib >= 2.28 for GTK3, glib >= 2.10 for GTK2,
glib >= 2.26 for GSettings and glib >= 2.7.0 for GConf, so
suitable glib should provide g_type_init unconditionally.
* src/image.c (fn_g_type_init) [WINDOWSNT]: Define and load
only if Glib < 2.36.0.
(fn_g_type_init) [!WINDOWSNT]: Define only if Glib < 2.36.0.
* src/xsettings.c (init_gconf, init_gsettings): Do not check
for g_type_init.
2013-09-17 10:33:24 +04:00
Jan Djärv
3f386383dc * xsettings.c (init_gconf, init_gsettings): Check for Glib 2.36.0
before calling g_type_init.
2013-09-16 20:17:35 +02:00
Dmitry Antipov
61582e6aad Do not copy X event in handle_one_xevent except KeyPress case.
Wnen XEvent is processed, it is unlikely to be changed except
KeyPress case, so we can avoid copying and use const pointer to
const data to make sure that an event is not changed elsewhere.
* xterm.c (handle_one_xevent): Change 2nd arg to 'const XEvent *
const' and do not create local copy except for the KeyPress event.
Use casts to avoid a few glitches.  Adjust formatting.  Add comments.
(SET_SAVED_BUTTON_EVENT): Remove and move the code to the only user.
(x_handle_net_wm_state, x_menubar_window_to_frame)
(x_detect_focus_change, construct_mouse_click, note_mouse_movement)
(x_scroll_bar_to_input_event, x_scroll_bar_expose)
(x_scroll_bar_handle_click, x_scroll_bar_note_movement):
* gtkutil.c (xg_event_is_for_menubar, xg_event_is_for_scrollbar):
* xselect.c (x_handle_property_notify, x_handle_selection_notify)
(x_handle_dnd_message):
* xsettings.c (xft_settings_event):
Use 'const XEvent * const' where appropriate.
* xterm.h, gtkutil.h, xsettngs.h: Adjust related prototypes.
2013-09-16 14:41:41 +04:00
Dmitry Antipov
d7e6881a2e * fringe.c (draw_window_fringes, update_window_fringes)
(compute_fringe_widths):
* w32term.c (x_draw_glyph_string):
* window.c (candidate_window_p, Frecenter):
* xfaces.c (realize_basic_faces, realize_default_face)
(Fbitmap_space_p, Finternal_set_lisp_face_attribute)
(x_update_menu_appearance, face_attr_equal_p, lface_equal_p):
* xfns.c (x_set_cursor_color, xic_free_xfontset):
* xmenu.c (Fx_menu_bar_open_internal):
* xselect.c (x_reply_selection_request, Fx_get_atom_name):
* xsettings.c (xft_settings_event):
* xterm.c (x_draw_glyph_string, x_had_errors_p):
Use bool for booleans.  Adjust style and comments where
appropriate.
* dispextern.h (draw_window_fringes, update_window_fringes)
(compute_fringe_widths):
* xterm.h (x_had_errors_p): Adjust prototype.
2013-07-30 09:56:18 +04:00
Paul Eggert
29abe551a0 Port to C89.
* lib-src/ebrowse.c (USAGE): Remove macro with too-long string literal ...
(usage_message): ... and replace it with this new static constant
containing multiple literals.  All uses changed.
* lib-src/emacsclient.c (print_help_and_exit):
Rewrite to avoid string literals longer than the C89 limits.
(start_daemon_and_retry_set_socket):
Rewrite to avoid non-constant array initializer.
* lib-src/make-docfile.c (enum global_type): Omit trailing comma.
* src/bytecode.c (BYTE_CODE_THREADED): Do not define if __STRICT_ANSI__.
(B__dummy__): New dummy symbol, to pacify C89.
* src/dbusbind.c (XD_DEBUG_MESSAGE): Omit debugging on C89 hosts, since
they can't grok varargs macros.
* src/dispnew.c (add_window_display_history)
(add_frame_display_history):
* src/print.c (print_object):
* src/xdisp.c (debug_method_add):
Use %p printf format only for void pointers.
* src/emacs.c (usage_message): New constant, replacing ...
(USAGE1, USAGE2, USAGE3): Remove; they were too long for C89.
(main): Adjust to usage reorg.
* src/fns.c (syms_of_fns):
* src/profiler.c (syms_of_profiler):
Don't use non-constant struct initializers.
* src/gnutls.h (gnutls_initstage_t):
* src/lisp.h (enum Lisp_Fwd_Type):
* src/lread.c (lisp_file_lexically_bound_p):
* src/xsettings.c (anonymous enum):
Remove trailing comma.
* src/xsettings.c (apply_xft_settings): Use %f, not %lf; %lf is a C99ism.
* src/lisp.h (ENUM_BF): Use unsigned if pedantic.
(DEFUN_FUNCTION_INIT): New macro, that falls back on a cast if pre-C99.
(DEFUN): Use it.
* src/regex.c (const_re_char): New type, to pacify strict C89.
All uses of 'const re_char' replaced to use it.
* src/regex.h (_Restrict_): Rename from __restrict, to avoid clash
with glibc when strict C89.  This change is imported from gnulib.
All uses changed.
(_Restrict_arr_): Rename from __restrict_arr, similarly.
* src/sysdep.c (time_from_jiffies) [!HAVE_LONG_LONG_INT]:
Omit GNU_LINUX implementation, since it requires long long.
* src/xterm.c (x_draw_underwave):
Do not assume the traditional order of struct's members.
(x_term_init): Rewrite to avoid the need for non-constant structure
initializers.
2013-07-10 16:23:57 -07:00
Dmitry Antipov
42143acda9 * frame.h (struct frame): Drop resx and resy because the same data is
available from window system-specific output context.  Adjust users.
(default_pixesls_per_inch_x, default_pixesls_per_inch_y): New
functions to provide defaults when no window system available.
(FRAME_RES_X, FRAME_RES_Y): New macros.
(NUMVAL): Moved from xdisp.c.
* font.c (font_pixel_size, font_find_for_lface, font_open_for_lface)
(Ffont_face_attributes, Fopen_font):
* image.c (gs_load):
* w32font.c (fill_in_logfont):
* xdisp.c (calc_pixel_width_or_height):
* xfaces.c (Fx_family_fonts, set_lface_from_font): Use them.
* xsettings.c (apply_xft_settings): Drop frame loop and adjust comment.
2013-03-20 13:56:19 +04:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Paul Eggert
5f3f57be38 Clean out old termopts cruft.
* termopts.h (flow_control, meta_key): Remove unused decls.
* dispnew.c, indent.c, nsterm.m, term.c, xsettings.c, xsmfns.c:
Don't include termopts.h.
2012-10-10 08:10:57 -07:00
Paul Eggert
4d7e6e51dd Simplify and avoid signal-handling races.
* nt/inc/ms-w32.h (emacs_raise): New macro.
* src/alloc.c (die):
* src/sysdep.c (emacs_abort) [HAVE_NTGUI]:
Avoid recursive loop if there's a fatal error in the function itself.
* src/atimer.c (pending_atimers):
* src/blockinput.h: Don't include "atimer.h"; no longer needed.
(interrupt_input_pending): Remove.  All uses removed.
pending_signals now counts both atimers and ordinary interrupts.
This is less racy than having three separate pending-signal flags.
(block_input, unblock_input, totally_unblock_input, unblock_input_to)
(input_blocked_p):
Rename from their upper-case counterparts BLOCK_INPUT,
UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT_TO,
INPUT_BLOCKED_P, and turn into functions.  All uses changed.
This makes it easier to access volatile variables more accurately.
(BLOCK_INPUT_RESIGNAL): Remove.  All uses replaced by unblock_input ().
(input_blocked_p): Prefer this to 'interrupt_input_blocked', as
that's more reliable if the code is buggy and sets
interrupt_input_blocked to a negative value.  All uses changed.
* src/atimer.c (deliver_alarm_signal):
Remove.  No need to deliver this to the parent; any thread can
handle this signal now.  All uses replaced by underlying handler.
* src/atimer.c (turn_on_atimers):
* src/dispnew.c (handle_window_change_signal):
* src/emacs.c (handle_danger_signal):
* src/keyboard.c (kbd_buffer_get_event):
Don't reestablish signal handler; not needed with sigaction.
* src/blockinput.h (UNBLOCK_INPUT_TO, TOTALLY_UNBLOCK_INPUT)
(UNBLOCK_INPUT_TO):
Rework to avoid unnecessary accesses to volatile variables.
(UNBLOCK_INPUT_TO): Now a function.
(totally_unblock_input, unblock_input): New decls.
* src/data.c (handle_arith_signal, deliver_arith_signal): Move to sysdep.c
(init_data): Remove.  Necessary stuff now done in init_signal.
* src/emacs.c, src/xdisp.c: Include "atimer.h", since we invoke atimer functions.
* src/emacs.c (handle_fatal_signal, deliver_fatal_signal): Move to sysdep.c.
(fatal_error_code): Remove; no longer needed.
(terminate_due_to_signal): Rename from fatal_error_backtrace, since
it doesn't always backtrace.  All uses changed.  No need to reset
signal to default, since sigaction and/or die does that for us now.
Use emacs_raise (FOO), not kill (getpid (), FOO).
(main): Check more-accurately whether we're dumping.
Move fatal-error setup to sysdep.c
* src/floatfns.c: Do not include "syssignal.h"; no longer needed.
* src/gtkutil.c (xg_get_file_name, xg_get_font):
Remove no-longer-needed signal-mask manipulation.
* src/keyboard.c, src/process.c (POLL_FOR_INPUT):
Don't depend on USE_ASYNC_EVENTS, a symbol that is never defined.
* src/keyboard.c (read_avail_input): Remove.
All uses replaced by gobble_input.
(Ftop_level): Use TOTALLY_UNBLOCK_INPUT rather than open code.
(kbd_buffer_store_event_hold, gobble_input):
(record_asynch_buffer_change) [USABLE_SIGIO]:
(store_user_signal_events):
No need to mess with signal mask.
(gobble_input): If blocking input and there are terminals, simply
set pending_signals to 1 and return.  All hooks changed to not
worry about whether input is blocked.
(process_pending_signals): Clear pending_signals before processing
them, in case a signal comes in while we're processing.
By convention callers now test pending_signals before calling us.
(UNBLOCK_INPUT_TO, unblock_input, totally_unblock_input):
New functions, to support changes to blockinput.h.
(handle_input_available_signal): Now extern.
(reinvoke_input_signal): Remove.  All uses replaced by
handle_async_input.
(quit_count): Now volatile, since a signal handler uses it.
(handle_interrupt): Now takes bool IN_SIGNAL_HANDLER as arg.  All
callers changed.  Block SIGINT only if not already blocked.
Clear sigmask reliably, even if Fsignal returns, which it can.
Omit unnecessary accesses to volatile var.
(quit_throw_to_read_char): No need to restore sigmask.
* src/keyboard.c (gobble_input, handle_user_signal):
* src/process.c (wait_reading_process_output):
Call signal-handling code rather than killing ourselves.
* src/lisp.h: Include <float.h>, for...
(IEEE_FLOATING_POINT): New macro, moved here to avoid duplication.
(pending_signals): Now volatile.
(syms_of_data): Now const if IEEE floating point.
(handle_input_available_signal) [USABLE_SIGIO]:
(terminate_due_to_signal, record_child_status_change): New decls.
* src/process.c (create_process): Avoid disaster if memory is exhausted
while we're processing a vfork, by tightening the critical section
around the vfork.
(send_process_frame, process_sent_to, handle_pipe_signal)
(deliver_pipe_signal): Remove.  No longer needed, as Emacs now
ignores SIGPIPE.
(send_process): No need for setjmp/longjmp any more, since the
SIGPIPE stuff is now gone.  Instead, report an error if errno
is EPIPE.
(record_child_status_change): Now extern.  PID and W are now args.
Return void, not bool.  All callers changed.
* src/sysdep.c (wait_debugging) [(BSD_SYSTEM || HPUX) && !defined (__GNU__)]:
Remove.  All uses removed.  This bug should be fixed now in a
different way.
(wait_for_termination_1): Use waitpid rather than sigsuspend,
and record the child status change directly.  This avoids the
need to futz with the signal mask.
(process_fatal_action): Move here from emacs.c.
(emacs_sigaction_flags): New function, containing
much of what used to be in emacs_sigaction_init.
(emacs_sigaction_init): Use it.  Block nonfatal system signals that are
caught by emacs, to make races less likely.
(deliver_process_signal): Rename from handle_on_main_thread.
All uses changed.
(BACKTRACE_LIMIT_MAX): Now at top level.
(thread_backtrace_buffer, threadback_backtrace_pointers):
New static vars.
(deliver_thread_signal, deliver_fatal_thread_signal):
New functions, for more-accurate delivery of thread-specific signals.
(handle_fatal_signal, deliver_fatal_signal): Move here from emacs.c.
(deliver_arith_signal): Handle in this thread, not
in the main thread, since it's triggered by this thread.
(maybe_fatal_sig): New function.
(init_signals): New arg DUMPING so that we can be more accurate
about whether we're dumping.  Caller changed.
Treat thread-specific signals differently from process-general signals.
Block all signals while handling fatal error; that's safer.
xsignal from SIGFPE only on non-IEEE hosts, treating it as fatal
on IEEE hosts.
When batch, ignore SIGHUP, SIGINT, SIGTERM if they were already ignored.
Ignore SIGPIPE unless batch.
(emacs_backtrace): Output backtrace for the appropriate thread,
which is not necessarily the main thread.
* src/syssignal.h: Include <stdbool.h>.
(emacs_raise): New macro.
* src/xterm.c (x_connection_signal): Remove; no longer needed
now that we use sigaction.
(x_connection_closed): No need to mess with sigmask now.
(x_initialize): No need to reset SIGPIPE handler here, since
init_signals does this for us now.

Fixes: debbugs:12471
2012-09-23 01:44:20 -07:00
Paul Eggert
0328b6de4a Port better to POSIX hosts lacking _setjmp.
* configure.ac (HAVE__SETJMP, HAVE_SIGSETJMP): New symbols.
(_setjmp, _longjmp): Remove.
* src/lisp.h: Include <setjmp.h> here, since we use its symbols here.
All instances of '#include <setjmp.h>' removed, if the
only reason for the instance was because "lisp.h" was included.
(sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols.
Unless otherwise specified, replace all uses of jmp_buf, _setjmp,
and _longjmp with the new symbols.  Emacs already uses _setjmp if
available, so this change affects only POSIXish hosts that have
sigsetjmp but not _setjmp, such as some versions of Solaris and
Unixware.  (Also, POSIX-2008 marks _setjmp as obsolescent.)
* src/image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros.
(png_load_body) [HAVE_PNG]:
(PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]:
(PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]:
Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp,
since PNG requires jmp_buf.  This is the only exception to the
general rule that we now use sys_setjmp and sys_longjmp.
This exception is OK since this code does not change the signal
mask or longjmp out of a signal handler.

Fixes: debbugs:12446
2012-09-15 00:06:56 -07:00
Dmitry Antipov
4a7edc24ba Use empty_unibyte_string where applicable.
* keyboard.c (parse_tool_bar_item): Use empty_unibyte_string.
* lread.c (read1): Likewise.
* xsettings.c (syms_of_xsettings): Likewise.
2012-07-12 07:45:46 +04:00
Dmitry Antipov
a8290ec31c Use make_formatted_string to avoid double length calculation.
* lisp.h (make_formatted_string): New prototype.
* alloc.c (make_formatted_string): New function.
* buffer.c (Fgenerate_new_buffer_name): Use it.
* dbus.c (syms_of_dbusbind): Likewise.
* editfns.c (Fcurrent_time_zone): Likewise.
* filelock.c (get_boot_time): Likewise.
* frame.c (make_terminal_frame, set_term_frame_name)
(x_report_frame_params): Likewise.
* image.c (gs_load): Likewise.
* minibuf.c (get_minibuffer): Likewise.
* msdos.c (dos_set_window_size): Likewise.
* process.c (make_process): Likewise.
* xdisp.c (ensure_echo_area_buffers): Likewise.
* xsettings.c (apply_xft_settings): Likewise.
2012-07-09 16:02:27 +04:00
Dmitry Antipov
2014308a5d * alloc.c (allocate_string_data): Remove dead code.
* xsettings.c (XSETTINGS_FONT_NAME): Move under HAVE_XFT to
avoid GCC warning about unused macro.
2012-06-27 19:46:48 +04:00
Chong Yidong
fb7ada5f94 Remove * characters from the front of variable docstrings. 2012-04-09 21:05:48 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Paul Eggert
da6062e6ea Spelling fixes. 2011-11-14 23:55:13 -08:00
Juanma Barranquero
5e617bc2b6 Whitespace changes. 2011-09-09 03:06:52 +02:00
Paul Eggert
490011a6cc * xsettings.c (store_monospaced_changed): Define only if used. 2011-07-12 09:47:56 -07:00
Jan Djärv
869795d6b5 Use GConf and GSettings both, check GConf/GSettings toolbar style and font name.
* configure.in (HAVE_GCONF): Allow both HAVE_GCONF and HAVE_GSETTINGS.

* lisp/dynamic-setting.el (dynamic-setting-handle-config-changed-event): 
Update doc string.

* src/xsettings.c: Use both GConf and GSettings if both are available.
(store_config_changed_event): Add comment.
(dpyinfo_valid, store_font_name_changed, map_tool_bar_style)
(store_tool_bar_style_changed): New functions.
(store_monospaced_changed): Add comment. Call dpyinfo_valid.
(struct xsettings): Move font inside HAVE_XFT.
(GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines.
(GSETTINGS_MONO_FONT): Renamed from SYSTEM_MONO_FONT.
Move inside HAVE_XFT.
(something_changed_gsettingsCB): Renamed from something_changedCB.
Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME
also.
(GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines.
(GCONF_MONO_FONT): Renamed from SYSTEM_MONO_FONT. Move inside HAVE_XFT.
(something_changed_gconfCB): Renamed from something_changedCB.
Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also.
(parse_settings): Move check for font inside HAVE_XFT.
(read_settings, apply_xft_settings): Add comment.
(read_and_apply_settings): Add comment.  Call map_tool_bar_style and
store_tool_bar_style_changed.  Move check for font inside HAVE_XFT and
call store_font_name_changed.
(xft_settings_event): Add comment.
(init_gsettings): Add comment.  Get values for GSETTINGS_TOOL_BAR_STYLE
and GSETTINGS_FONT_NAME.  Move check for fonts within HAVE_XFT.
(init_gconf): Add comment.  Get values for GCONF_TOOL_BAR_STYLE
and GCONF_FONT_NAME.  Move check for fonts within HAVE_XFT.
(xsettings_initialize): Call init_gsettings last.
(xsettings_get_system_font, xsettings_get_system_normal_font): Add
comment.
2011-07-05 10:21:38 +02:00
Paul Eggert
2e13213db2 * xsettings.c (SYSTEM_FONT): Define only when used.
No need to define when HAVE_GSETTINGS || !HAVE_XFT.
2011-07-02 23:17:19 -07:00
Jan Djärv
0949d2b6ba * process.c: Add defined (HAVE_GSETTINGS) for xgselect.h
(wait_reading_process_output): Add defined (HAVE_GSETTINGS) for
xg_select.

* xgselect.c: Add defined (HAVE_GSETTINGS).
(xgselect_initialize): Ditto.

* xsettings.c (store_monospaced_changed): Take new font as arg and
check for change against current_mono_font.
(EMACS_TYPE_SETTINGS): Remove this and related defines.
(emacs_settings_constructor, emacs_settings_get_property)
(emacs_settings_set_property, emacs_settings_class_init)
(emacs_settings_init, gsettings_obj): Remove.
(something_changedCB): New function for HAVE_GSETTINGS.
(something_changedCB): HAVE_GCONF: Call store_monospaced_changed
with value as argument.
(init_gsettings): Check that GSETTINGS_SCHEMA exists before calling
g_settings_new.  Do not create gsettings_obj.
Remove calls to g_settings_bind. Connect something_changedCB to
"changed".

Fixes: debbugs:8967
2011-07-01 11:18:46 +02:00
Jan Djärv
51bb811f62 Fix bad include.
* xsettings.c: Include glib-object.h, gio/gio.h if HAVE_GSETTINGS.
2011-06-30 17:07:40 +02:00
Jan Djärv
9851bfc58d Add GSettings support (GConf is going away).
* configure.in (gsettings): New option and check for GSettings.

* src/Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Renamed from
GCONF_CFLAGS/LIBS.

* src/xsettings.c: Include glib.h if HAVE_GSETTINGS.
Let HAVE_GSETTINGS override HAVE_GCONF.
(store_monospaced_changed): New function.
(EMACS_SETTINGS): A new type derived from GObject to handle
GSettings notifications.
(emacs_settings_constructor, emacs_settings_get_property)
(emacs_settings_set_property, emacs_settings_class_init):
New functions.
(gsettings_client, gsettings_obj): New variables.
(GSETTINGS_SCHEMA): New define.
(something_changedCB): Call store_monospaced_changed.
(init_gsettings): New function.
(xsettings_initialize): Call init_gsettings.
(syms_of_xsettings): Initialize gsettings_client, gsettings_obj
to NULL.
2011-06-30 16:00:26 +02:00
Juanma Barranquero
cd3520a41d Move DEFSYM to lisp.h and use everywhere. 2011-06-24 23:25:22 +02:00
Paul Eggert
2674ddc8af * xsettings.c (Ffont_get_system_normal_font, Ffont_get_system_font): Avoid need for strlen. 2011-06-21 10:52:14 -07:00
Paul Eggert
aaafe47af1 * xsettings.c (apply_xft_settings): Fix potential buffer overrun.
This is unlikely, but can occur if DPI is outlandish.
2011-06-21 10:49:46 -07:00
Paul Eggert
8bd7b8304a Merge from mainline. 2011-04-14 13:16:48 -07:00
Paul Eggert
a7ca3326c4 Undo the DEFUN->DEFUE change. 2011-04-13 22:04:02 -07:00
Paul Eggert
e87b6180b0 * xsettings.c, xsettings.h (xsettings_get_system_normal_font):
Define only if USE_LUCID.
2011-04-13 20:08:55 -07:00
Andreas Schwab
baad03f0e1 Use xfree instead of free where appropriate (Bug#8437)
* charset.c (Fclear_charset_maps): Use xfree instead of free.
(Bug#8437)
* keyboard.c (parse_tool_bar_item): Likewise.
* sound.c (sound_cleanup, alsa_close): Likewise.
* termcap.c (tgetent): Likewise.
* xfns.c (x_default_font_parameter): Likewise.
* xsettings.c (read_and_apply_settings): Likewise.
2011-04-12 12:20:32 +02:00
Paul Eggert
16a97296c0 Make Emacs functions such as Fatom 'static' by default.
This makes it easier for human readers (and static analyzers)
to see whether these functions can be called from other modules.
DEFUN now defines a static function.  To make the function external
so that it can be used in other C modules, use the new macro DEFUE.
* lisp.h (DEFINE_FUNC): New macro, with the old contents of DEFUN.
(DEFUN): Rewrite in terms of DEFINE_FUNC.  It now generates a
static function definition.  Use DEFUE if you want an extern one.
(DEFUE, INFUN): New macros.
(Funibyte_char_to_multibyte, Fsyntax_table_p, Finit_image_library):
(Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
(Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
(Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
Remove decls, since these functions are now static.
(Funintern, Fget_internal_run_time): New decls, since these functions
were already external.
* alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c:
* ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c:
* doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c:
* fns.c, font.c, fontset.c, frame.c, image.c, indent.c:
* keyboard.c, keymap.c, lread.c:
* macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c:
* syntax.c, term.c, terminal.c, textprop.c, undo.c:
* window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c:
Mark functions with DEFUE instead of DEFUN,
if they are used in other modules.
* buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward
decls for now-static functions.
* buffer.h (Fdelete_overlay): Remove decl.
* callproc.c (Fgetenv_internal): Mark as internal.
* composite.c (Fremove_list_of_text_properties): Remove decl.
(Fcomposition_get_gstring): New forward static decl.
* composite.h (Fcomposite_get_gstring): Remove decl.
* dired.c (Ffile_attributes): New forward static decl.
* doc.c (Fdocumntation_property): New forward static decl.
* eval.c (Ffetch_bytecode): New forward static decl.
(Funintern): Remove extern decl; now in .h file where it belongs.
* fileio.c (Fmake_symbolic_link): New forward static decl.
* image.c (Finit_image_library): New forward static decl.
* insdel.c (Fcombine_after_change_execute): Make forward decl static.
* intervals.h (Fprevious_property_change):
(Fremove_list_of_text_properties): Remove decls.
* keyboard.c (Fthis_command_keys): Remove decl.
(Fcommand_execute): New forward static decl.
* keymap.c (Flookup_key): New forward static decl.
(Fcopy_keymap): Now static.
* keymap.h (Flookup_key): Remove decl.
* process.c (Fget_process): New forward static decl.
(Fprocess_datagram_address): Mark as internal.
* syntax.c (Fsyntax_table_p): New forward static decl.
(skip_chars): Remove duplicate decl.
* textprop.c (Fprevious_property_change): New forward static decl.
* window.c (Fset_window_fringes, Fset_window_scroll_bars):
Now internal.
(Fset_window_margins, Fset_window_vscroll): New forward static decls.
* window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
2011-04-10 18:41:15 -07:00
Paul Eggert
af59aa6e3c Port to Solaris 10, which doesn't support FC_HINT_STYLE. 2011-02-11 21:13:34 -08:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Tom Tromey
29208e8237 Move all DEFVAR'd globals into a structure -- threading infrastructure
* globals.h: New file.
	* xterm.h (Vx_pixel_size_width_font_regexp): Remove declaration.
	* window.h (Vinitial_window_system, Vminibuf_scroll_window)
	(Vwindow_system_version): Remove declaration.
	* w32term.h (Vw32_enable_palette)
	(Vx_pixel_size_width_font_regexp): Remove declaration.
	* w32menu.c (Voverriding_local_map)
	(Voverriding_local_map_menu_flag): Remove declaration.
	* w32inevt.c (Vw32_alt_is_meta, Vw32_apps_modifier)
	(Vw32_capslock_is_shiftlock, Vw32_enable_caps_lock)
	(Vw32_enable_num_lock, Vw32_lwindow_modifier)
	(Vw32_pass_lwindow_to_system, Vw32_pass_rwindow_to_system)
	(Vw32_phantom_key_code, Vw32_recognize_altgr)
	(Vw32_rwindow_modifier, Vw32_scroll_lock_modifier)
	(w32_use_full_screen_buffer): Remove declaration.
	* w32.c (Vsystem_configuration, Vw32_downcase_file_names)
	(Vw32_generate_fake_inodes, Vw32_get_true_file_attributes)
	(w32_num_mouse_buttons, w32_pipe_read_delay): Remove declaration.
	* termopts.h (Vtruncate_partial_width_windows, inverse_video)
	(no_redraw_on_reenter, visible_bell): Remove declaration.
	* sysdep.c (Vsystem_name): Remove declaration.
	* syntax.h (parse_sexp_lookup_properties): Remove declaration.
	* menu.h (Vmenu_updating_frame): Remove declaration.
	* macros.h (Vexecuting_kbd_macro, executing_kbd_macro_index):
	Remove declaration.
	* lisp.h (Vafter_init_time, Vafter_load_alist)
	(Vauto_save_list_file_name, Vbefore_init_time, Vcommand_history)
	(Vcompletion_regexp_list, Vcurrent_load_list)
	(Vcurrent_prefix_arg, Vdata_directory, Vdebug_on_error)
	(Vdoc_directory, Vdoc_file_name, Vdynamic_library_alist)
	(Vexec_directory, Vexec_path, Vexec_suffixes)
	(Vface_font_rescale_alist, Vface_ignored_fonts, Vfeatures)
	(Vhelp_form, Vhistory_length, Vinhibit_field_text_motion)
	(Vinhibit_quit, Vinhibit_read_only, Vinhibit_redisplay)
	(Vinstallation_directory, Vinvocation_directory)
	(Vinvocation_name, Vload_file_rep_suffixes, Vload_history)
	(Vload_suffixes, Vmark_even_if_inactive, Vmemory_full)
	(Vmessage_log_max, Vobarray, Vprint_length, Vprint_level)
	(Vpurify_flag, Vquit_flag, Vsaved_region_selection)
	(Vscalable_fonts_allowed, Vselect_active_regions)
	(Vshell_file_name, Vstandard_input, Vstandard_output)
	(Vsystem_name, Vtemporary_file_directory, Vthrow_on_input)
	(Vtop_level, Vtty_erase_char, Vundo_outer_limit)
	(Vuser_login_name, Vwindow_scroll_functions)
	(Vwindow_system_version, Vx_no_window_manager)
	(Vx_resource_class, Vx_resource_name, baud_rate)
	(completion_ignore_case, debug_on_next_call, gc_cons_threshold)
	(history_delete_duplicates, inhibit_x_resources)
	(last_nonmenu_event, load_in_progress, max_specpdl_size)
	(minibuffer_auto_raise, print_escape_newlines, scroll_margin)
	(use_dialog_box, use_file_dialog): Remove declaration.  Include
	globals.h.
	* keymap.h (Voverriding_local_map)
	(Voverriding_local_map_menu_flag, meta_prefix_char): Remove
	declaration.
	* keyboard.h (Vdouble_click_time, Vfunction_key_map)
	(Vinput_method_function, Vkey_translation_map)
	(Vlucid_menu_bar_dirty_flag, Vthis_original_command)
	(do_mouse_tracking, extra_keyboard_modifiers)
	(num_nonmacro_input_events): Remove declaration.
	* intervals.h (Vchar_property_alias_alist)
	(Vdefault_text_properties, Vinhibit_point_motion_hooks)
	(Vtext_property_default_nonsticky): Remove declaration.
	* gtkutil.h (x_gtk_file_dialog_help_text)
	(x_gtk_show_hidden_files, x_gtk_use_old_file_dialog)
	(x_gtk_whole_detached_tool_bar): Remove declaration.
	* frame.h (Vdefault_frame_alist, Vframe_alpha_lower_limit)
	(Vmenu_bar_mode, Vmouse_highlight, Vterminal_frame)
	(Vtool_bar_mode, Vx_resource_class, Vx_resource_name)
	(focus_follows_mouse): Remove declaration.
	* fontset.h (Valternate_fontname_alist, Vfontset_alias_alist)
	(Vignore_relative_composition, Votf_script_alist)
	(Vuse_default_ascent, Vvertical_centering_font_regexp): Remove
	declaration.
	* font.h (Vfont_log): Remove declaration.
	* dosfns.h (Vdos_display_scancodes, Vdos_version)
	(Vdos_windows_version, dos_codepage, dos_country_code)
	(dos_decimal_point, dos_hyper_key, dos_keyboard_layout)
	(dos_keypad_mode, dos_super_key, dos_timezone_offset): Remove
	declaration.
	* disptab.h (Vglyph_table, Vstandard_display_table): Remove
	declaration.
	* dispextern.h (Vface_remapping_alist, Vglyphless_char_display)
	(Vmouse_autoselect_window, Voverflow_newline_into_fringe)
	(Vshow_trailing_whitespace, Vtool_bar_button_margin)
	(Vtool_bar_style, cursor_in_echo_area, display_hourglass_p)
	(inverse_video, mode_line_in_non_selected_windows)
	(tool_bar_button_relief, tool_bar_max_label_size)
	(underline_minimum_offset)
	(unibyte_display_via_language_environment, x_stretch_cursor_p):
	Remove declaration.
	* composite.h (Vauto_composition_function)
	(Vcomposition_function_table): Remove declaration.
	* commands.h (Vexecuting_kbd_macro)
	(Vminibuffer_local_completion_map)
	(Vminibuffer_local_filename_completion_map)
	(Vminibuffer_local_filename_must_match_map)
	(Vminibuffer_local_map, Vminibuffer_local_must_match_map)
	(Vminibuffer_local_ns_map, Vthis_command)
	(Vunread_command_events, cursor_in_echo_area)
	(last_command_event, last_nonmenu_event, unread_command_char):
	Remove declaration.
	* coding.h (Vcoding_system_for_read, Vcoding_system_for_write)
	(Vdefault_file_name_coding_system)
	(Vdefault_process_coding_system, Vfile_name_coding_system)
	(Vlast_coding_system_used, Vlocale_coding_system)
	(Vselect_safe_coding_system_function)
	(Vtranslation_table_for_input, coding_system_require_warning)
	(eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided)
	(eol_mnemonic_unix, inherit_process_coding_system): Remove
	declaration.
	* charset.h (Vcharset_list, Vcurrent_iso639_language): Remove
	declaration.
	* character.h (Vauto_fill_chars, Vchar_direction_table)
	(Vchar_script_table, Vchar_width_table, Vprintable_chars)
	(Vscript_representative_chars, Vtranslation_table_vector)
	(Vunicode_category_table): Remove declaration.
	* ccl.h (Vfont_ccl_encoder_alist): Remove declaration.
	* buffer.h (Vafter_change_functions, Vbefore_change_functions)
	(Vdeactivate_mark, Vfirst_change_hook, Vtransient_mark_mode)
	(inhibit_modification_hooks): Remove declaration.
	* xterm.c (syms_of_xterm): Update.
	(Vx_alt_keysym, Vx_hyper_keysym, Vx_keysym_table)
	(Vx_meta_keysym, Vx_super_keysym, Vx_toolkit_scroll_bars)
	(x_mouse_click_focus_ignore_position)
	(x_underline_at_descent_line)
	(x_use_underline_position_properties): Remove.
	* xsmfns.c (syms_of_xsmfns): Update.
	(Vx_session_id, Vx_session_previous_id): Remove.
	* xsettings.c (syms_of_xsettings): Update.
	(Vxft_settings, use_system_font): Remove.
	* xselect.c (syms_of_xselect): Update.
	(Vselection_converter_alist, Vx_lost_selection_functions)
	(Vx_sent_selection_functions, x_selection_timeout): Remove.
	* xfns.c (syms_of_xfns): Update.
	(Vgtk_version_string, Vmotif_version_string)
	(Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape)
	(Vx_max_tooltip_size, Vx_mode_pointer_shape)
	(Vx_no_window_manager, Vx_nontext_pointer_shape)
	(Vx_pixel_size_width_font_regexp, Vx_pointer_shape)
	(Vx_sensitive_text_pointer_shape)
	(Vx_window_horizontal_drag_shape, x_gtk_file_dialog_help_text)
	(x_gtk_show_hidden_files, x_gtk_use_old_file_dialog)
	(x_gtk_use_system_tooltips, x_gtk_whole_detached_tool_bar):
	Remove.
	* xfaces.c (syms_of_xfaces): Update.
	(Vface_default_stipple, Vface_font_rescale_alist)
	(Vface_ignored_fonts, Vface_new_frame_defaults)
	(Vface_remapping_alist, Vfont_list_limit)
	(Vscalable_fonts_allowed, Vtty_defined_color_alist): Remove.
	* xdisp.c (syms_of_xdisp): Update.
	(Vauto_resize_tool_bars, Vblink_cursor_alist)
	(Vdisplay_pixels_per_inch, Vfontification_functions)
	(Vframe_title_format, Vglobal_mode_string)
	(Vglyphless_char_display, Vhourglass_delay, Vhscroll_step)
	(Vicon_title_format, Vinhibit_redisplay)
	(Vline_number_display_limit, Vline_prefix)
	(Vmax_mini_window_height, Vmenu_bar_update_hook)
	(Vmenu_updating_frame, Vmessage_log_max)
	(Vmouse_autoselect_window, Vnobreak_char_display)
	(Voverlay_arrow_position, Voverlay_arrow_string)
	(Voverlay_arrow_variable_list, Vredisplay_end_trigger_functions)
	(Vresize_mini_windows, Vshow_trailing_whitespace)
	(Vtool_bar_border, Vtool_bar_button_margin, Vtool_bar_style)
	(Vtruncate_partial_width_windows, Vvoid_text_area_pointer)
	(Vwindow_scroll_functions, Vwindow_size_change_functions)
	(Vwindow_text_change_functions, Vwrap_prefix)
	(auto_raise_tool_bar_buttons_p, automatic_hscrolling_p)
	(debug_end_pos, display_hourglass_p, emacs_scroll_step)
	(highlight_nonselected_windows, hscroll_margin)
	(inhibit_eval_during_redisplay, inhibit_free_realized_faces)
	(inhibit_menubar_update, inhibit_try_cursor_movement)
	(inhibit_try_window_id, inhibit_try_window_reusing)
	(line_number_display_limit_width)
	(make_cursor_line_fully_visible_p, message_truncate_lines)
	(mode_line_inverse_video, multiple_frames, overline_margin)
	(scroll_conservatively, scroll_margin, tool_bar_button_relief)
	(tool_bar_max_label_size, underline_minimum_offset)
	(unibyte_display_via_language_environment, x_stretch_cursor_p):
	Remove.
	* window.c (syms_of_window): Update.
	(Vminibuf_scroll_window, Vother_window_scroll_buffer)
	(Vrecenter_redisplay, Vscroll_preserve_screen_position)
	(Vtemp_buffer_show_function, Vwindow_configuration_change_hook)
	(Vwindow_point_insertion_type, auto_window_vscroll_p)
	(mode_line_in_non_selected_windows, next_screen_context_lines)
	(window_min_height, window_min_width): Remove.
	(scroll_margin): Remove declaration.
	* w32term.c (syms_of_w32term): Update.
	(Vw32_capslock_is_shiftlock, Vw32_grab_focus_on_raise)
	(Vw32_recognize_altgr, Vw32_swap_mouse_buttons)
	(Vx_toolkit_scroll_bars, w32_num_mouse_buttons)
	(w32_use_visible_system_caret, x_underline_at_descent_line)
	(x_use_underline_position_properties): Remove.
	(Vcommand_line_args, Vsystem_name, extra_keyboard_modifiers):
	Remove declaration.
	* w32select.c (syms_of_w32select): Update.
	(Vnext_selection_coding_system, Vselection_coding_system): Remove.
	* w32proc.c (syms_of_ntproc): Update.
	(Vw32_downcase_file_names, Vw32_generate_fake_inodes)
	(Vw32_get_true_file_attributes, Vw32_quote_process_args)
	(Vw32_start_process_inherit_error_mode)
	(Vw32_start_process_share_console)
	(Vw32_start_process_show_window, w32_pipe_read_delay): Remove.
	(Vsystem_name): Remove declaration.
	* w32font.c (syms_of_w32font): Update.
	(Vw32_charset_info_alist): Remove.
	* w32fns.c (globals_of_w32fns, syms_of_w32fns): Update.
	(Vw32_alt_is_meta, Vw32_apps_modifier, Vw32_bdf_filename_alist)
	(Vw32_color_map, Vw32_enable_caps_lock, Vw32_enable_num_lock)
	(Vw32_enable_palette, Vw32_lwindow_modifier)
	(Vw32_pass_alt_to_system, Vw32_pass_lwindow_to_system)
	(Vw32_pass_rwindow_to_system, Vw32_phantom_key_code)
	(Vw32_rwindow_modifier, Vw32_scroll_lock_modifier)
	(Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape)
	(Vx_max_tooltip_size, Vx_mode_pointer_shape)
	(Vx_no_window_manager, Vx_nontext_pointer_shape)
	(Vx_pixel_size_width_font_regexp, Vx_pointer_shape)
	(Vx_sensitive_text_pointer_shape)
	(Vx_window_horizontal_drag_shape, w32_ansi_code_page)
	(w32_enable_synthesized_fonts, w32_mouse_button_tolerance)
	(w32_mouse_move_interval)
	(w32_pass_extra_mouse_buttons_to_system)
	(w32_pass_multimedia_buttons_to_system, w32_quit_key)
	(w32_strict_fontnames, w32_strict_painting): Remove.
	(Vhourglass_delay, Vmenu_bar_mode, Vtool_bar_mode)
	(Vw32_recognize_altgr, Vwindow_system_version)
	(w32_num_mouse_buttons, w32_use_visible_system_caret): Remove
	declaration.
	* w32console.c (syms_of_ntterm): Update.
	(w32_use_full_screen_buffer): Remove.
	(Vtty_defined_color_alist): Remove declaration.
	* w16select.c (syms_of_win16select): Update.
	(Vnext_selection_coding_system, Vselection_coding_system): Remove.
	* undo.c (syms_of_undo): Update.
	(Vundo_outer_limit, Vundo_outer_limit_function)
	(undo_inhibit_record_point, undo_limit, undo_strong_limit):
	Remove.
	* textprop.c (syms_of_textprop): Update.
	(Vchar_property_alias_alist, Vdefault_text_properties)
	(Vinhibit_point_motion_hooks, Vtext_property_default_nonsticky):
	Remove.
	* terminal.c (syms_of_terminal): Update.
	(Vdelete_terminal_functions, Vring_bell_function): Remove.
	* term.c (syms_of_term): Update.
	(Vresume_tty_functions, Vsuspend_tty_functions)
	(no_redraw_on_reenter, system_uses_terminfo, visible_cursor):
	Remove.
	* syntax.c (syms_of_syntax): Update.
	(Vfind_word_boundary_function_table, multibyte_syntax_as_symbol)
	(open_paren_in_column_0_is_defun_start)
	(parse_sexp_ignore_comments, parse_sexp_lookup_properties)
	(words_include_escapes): Remove.
	* search.c (syms_of_search): Update.
	(Vinhibit_changing_match_data, Vsearch_spaces_regexp): Remove.
	* process.c (syms_of_process): Update.
	(Vprocess_adaptive_read_buffering, Vprocess_connection_type)
	(delete_exited_processes): Remove.
	* print.c (syms_of_print): Update.
	(Vfloat_output_format, Vprint_charset_text_property)
	(Vprint_circle, Vprint_continuous_numbering, Vprint_gensym)
	(Vprint_length, Vprint_level, Vprint_number_table)
	(Vstandard_output, print_escape_multibyte)
	(print_escape_newlines, print_escape_nonascii, print_quoted):
	Remove.
	* msdos.c (syms_of_msdos): Update.
	(Vdos_unsupported_char_glyph): Remove.
	(unibyte_display_via_language_environment): Remove declaration.
	* minibuf.c (syms_of_minibuf): Update.
	(Vcompletion_regexp_list, Vhistory_add_new_input)
	(Vhistory_length, Vminibuffer_completing_file_name)
	(Vminibuffer_completion_confirm)
	(Vminibuffer_completion_predicate, Vminibuffer_completion_table)
	(Vminibuffer_exit_hook, Vminibuffer_help_form)
	(Vminibuffer_history_position, Vminibuffer_history_variable)
	(Vminibuffer_prompt_properties, Vminibuffer_setup_hook)
	(Vread_buffer_function, Vread_expression_map)
	(completion_ignore_case, enable_recursive_minibuffers)
	(history_delete_duplicates, minibuffer_allow_text_properties)
	(minibuffer_auto_raise, read_buffer_completion_ignore_case):
	Remove.
	* marker.c (syms_of_marker): Update.
	(byte_debug_flag): Remove.
	* macros.c (syms_of_macros): Update.
	(Vexecuting_kbd_macro, executing_kbd_macro_index): Remove.
	* lread.c (syms_of_lread): Update.
	(Vafter_load_alist, Vbyte_boolean_vars)
	(Vbytecomp_version_regexp, Vcurrent_load_list)
	(Veval_buffer_list, Vload_file_name, Vload_file_rep_suffixes)
	(Vload_history, Vload_path, Vload_read_function)
	(Vload_source_file_function, Vload_suffixes, Vobarray)
	(Vold_style_backquotes, Vpreloaded_file_list, Vread_circle)
	(Vread_symbol_positions_list, Vread_with_symbol_positions)
	(Vsource_directory, Vstandard_input, Vuser_init_file, Vvalues)
	(force_load_messages, load_convert_to_unibyte)
	(load_dangerous_libraries, load_force_doc_strings)
	(load_in_progress): Remove.
	* keymap.c (syms_of_keymap): Update.
	(Vdefine_key_rebound_commands, Vemulation_mode_map_alists)
	(Vminibuffer_local_completion_map)
	(Vminibuffer_local_filename_completion_map)
	(Vminibuffer_local_filename_must_match_map)
	(Vminibuffer_local_map, Vminibuffer_local_must_match_map)
	(Vminibuffer_local_ns_map, Vminor_mode_map_alist)
	(Vminor_mode_overriding_map_alist, Vwhere_is_preferred_modifier):
	Remove.
	* keyboard.c (syms_of_keyboard): Update.
	(Vauto_save_timeout, Vcommand_error_function)
	(Vcommand_hook_internal, Vdeactivate_mark)
	(Vdeferred_action_function, Vdeferred_action_list)
	(Vdisable_point_adjustment, Vdouble_click_time)
	(Vecho_keystrokes, Venable_disabled_menus_and_buttons)
	(Vfunction_key_map, Vglobal_disable_point_adjustment)
	(Vhelp_char, Vhelp_event_list, Vhelp_form)
	(Vinput_method_function, Vinput_method_previous_message)
	(Vkey_translation_map, Vlast_event_frame)
	(Vlucid_menu_bar_dirty_flag, Vmenu_bar_final_items)
	(Vminibuffer_message_timeout, Voverriding_local_map)
	(Voverriding_local_map_menu_flag, Vpost_command_hook)
	(Vpre_command_hook, Vprefix_help_command)
	(Vsaved_region_selection, Vselect_active_regions)
	(Vshow_help_function, Vspecial_event_map, Vsuggest_key_bindings)
	(Vthis_command, Vthis_command_keys_shift_translated)
	(Vthis_original_command, Vthrow_on_input, Vtimer_idle_list)
	(Vtimer_list, Vtool_bar_separator_image_expression, Vtop_level)
	(Vtty_erase_char, Vunread_command_events)
	(Vunread_input_method_events, Vunread_post_input_method_events)
	(auto_save_interval, cannot_suspend, do_mouse_tracking)
	(double_click_fuzz, extra_keyboard_modifiers)
	(inhibit_local_menu_bar_menus, last_command_event)
	(last_input_event, last_nonmenu_event, menu_prompt_more_char)
	(menu_prompting, meta_prefix_char, num_input_keys)
	(num_nonmacro_input_events, polling_period, unread_command_char):
	Remove.
	* insdel.c (syms_of_insdel): Update.
	(Vcombine_after_change_calls, check_markers_debug_flag): Remove.
	* indent.c (syms_of_indent): Update.
	(indent_tabs_mode): Remove.
	* image.c (syms_of_image): Update.
	(Vimage_cache_eviction_delay, Vimage_types)
	(Vimagemagick_render_type, Vmax_image_size, Vx_bitmap_file_path)
	(cross_disabled_images): Remove.
	* fringe.c (syms_of_fringe): Update.
	(Vfringe_bitmaps, Voverflow_newline_into_fringe): Remove.
	* frame.c (syms_of_frame): Update.
	(Vdefault_frame_alist, Vdefault_frame_scroll_bars)
	(Vdelete_frame_functions, Vframe_alpha_lower_limit)
	(Vmake_pointer_invisible, Vmenu_bar_mode, Vmouse_highlight)
	(Vmouse_position_function, Vterminal_frame, Vtool_bar_mode)
	(Vx_resource_class, Vx_resource_name, focus_follows_mouse):
	Remove.
	* fontset.c (syms_of_fontset): Update.
	(Valternate_fontname_alist, Vfont_encoding_charset_alist)
	(Vfontset_alias_alist, Vignore_relative_composition)
	(Votf_script_alist, Vuse_default_ascent)
	(Vvertical_centering_font_regexp): Remove.
	* font.c (syms_of_font): Update.
	(Vfont_encoding_alist, Vfont_log, Vfont_slant_table)
	(Vfont_weight_table, Vfont_width_table): Remove.
	* fns.c (syms_of_fns): Update.
	(Vfeatures, use_dialog_box, use_file_dialog): Remove.
	* filelock.c (syms_of_filelock): Update.
	(Vtemporary_file_directory): Remove.
	* fileio.c (syms_of_fileio): Update.
	(Vafter_insert_file_functions, Vauto_save_include_big_deletions)
	(Vauto_save_list_file_name, Vauto_save_visited_file_name)
	(Vdefault_file_name_coding_system, Vfile_name_coding_system)
	(Vfile_name_handler_alist, Vinhibit_file_name_handlers)
	(Vinhibit_file_name_operation, Vset_auto_coding_function)
	(Vwrite_region_annotate_functions)
	(Vwrite_region_annotations_so_far)
	(Vwrite_region_post_annotation_function)
	(delete_by_moving_to_trash, write_region_inhibit_fsync): Remove.
	(Vw32_get_true_file_attributes): Remove declaration.
	* eval.c (syms_of_eval): Update.
	(Vdebug_ignored_errors, Vdebug_on_error, Vdebug_on_signal)
	(Vdebugger, Vinhibit_quit, Vmacro_declaration_function)
	(Vquit_flag, Vsignal_hook_function, Vstack_trace_on_error)
	(debug_on_next_call, debug_on_quit, debugger_may_continue)
	(max_lisp_eval_depth, max_specpdl_size): Remove.
	* emacs.c (syms_of_emacs): Update.
	(Vafter_init_time, Vbefore_init_time, Vcommand_line_args)
	(Vdynamic_library_alist, Vemacs_copyright, Vemacs_version)
	(Vinstallation_directory, Vinvocation_directory)
	(Vinvocation_name, Vkill_emacs_hook, Vpath_separator)
	(Vprevious_system_messages_locale, Vprevious_system_time_locale)
	(Vsystem_configuration, Vsystem_configuration_options)
	(Vsystem_messages_locale, Vsystem_time_locale, Vsystem_type)
	(inhibit_x_resources, noninteractive1): Remove.
	* editfns.c (syms_of_editfns): Update.
	(Vbuffer_access_fontified_property)
	(Vbuffer_access_fontify_functions, Vinhibit_field_text_motion)
	(Voperating_system_release, Vsystem_name, Vuser_full_name)
	(Vuser_login_name, Vuser_real_login_name): Remove.
	* dosfns.c (syms_of_dosfns): Update.
	(Vdos_display_scancodes, Vdos_version, Vdos_windows_version)
	(dos_codepage, dos_country_code, dos_decimal_point)
	(dos_hyper_key, dos_keyboard_layout, dos_keypad_mode)
	(dos_super_key, dos_timezone_offset): Remove.
	* doc.c (syms_of_doc): Update.
	(Vbuild_files, Vdoc_file_name): Remove.
	* dispnew.c (syms_of_display): Update.
	(Vglyph_table, Vinitial_window_system)
	(Vredisplay_preemption_period, Vstandard_display_table)
	(Vwindow_system_version, baud_rate, cursor_in_echo_area)
	(inverse_video, redisplay_dont_pause, visible_bell): Remove.
	* dired.c (syms_of_dired): Update.
	(Vcompletion_ignored_extensions): Remove.
	(Vw32_get_true_file_attributes): Remove declaration.
	* dbusbind.c (syms_of_dbusbind): Update.
	(Vdbus_debug, Vdbus_registered_buses)
	(Vdbus_registered_objects_table): Remove.
	* data.c (syms_of_data): Update.
	(Vmost_negative_fixnum, Vmost_positive_fixnum): Remove.
	* composite.c (syms_of_composite): Update.
	(Vauto_composition_function, Vauto_composition_mode)
	(Vcompose_chars_after_function, Vcomposition_function_table):
	Remove.
	* coding.c (syms_of_coding): Update.
	(Vcharset_revision_table, Vcoding_category_list)
	(Vcoding_system_alist, Vcoding_system_for_read)
	(Vcoding_system_for_write, Vcoding_system_list)
	(Vdefault_process_coding_system, Venable_character_translation)
	(Vfile_coding_system_alist, Vlast_code_conversion_error)
	(Vlast_coding_system_used, Vlatin_extra_code_table)
	(Vlocale_coding_system, Vnetwork_coding_system_alist)
	(Vprocess_coding_system_alist)
	(Vselect_safe_coding_system_function)
	(Vstandard_translation_table_for_decode)
	(Vstandard_translation_table_for_encode)
	(Vtranslation_table_for_input, coding_system_require_warning)
	(eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided)
	(eol_mnemonic_unix, inherit_process_coding_system)
	(inhibit_eol_conversion, inhibit_iso_escape_detection)
	(inhibit_null_byte_detection): Remove.
	* cmds.c (syms_of_cmds): Update.
	(Vpost_self_insert_hook): Remove.
	* charset.c (syms_of_charset): Update.
	(Vcharset_list, Vcharset_map_path, Vcurrent_iso639_language)
	(inhibit_load_charset_map): Remove.
	* character.c (syms_of_character): Update.
	(Vauto_fill_chars, Vchar_direction_table, Vchar_script_table)
	(Vchar_width_table, Vprintable_chars)
	(Vscript_representative_chars, Vtranslation_table_vector)
	(Vunicode_category_table): Remove.
	* ccl.c (syms_of_ccl): Update.
	(Vcode_conversion_map_vector, Vfont_ccl_encoder_alist)
	(Vtranslation_hash_table_vector): Remove.
	* category.c (syms_of_category): Update.
	(Vword_combining_categories, Vword_separating_categories): Remove.
	* callproc.c (syms_of_callproc): Update.
	(Vconfigure_info_directory, Vdata_directory, Vdoc_directory)
	(Vexec_directory, Vexec_path, Vexec_suffixes)
	(Vinitial_environment, Vprocess_environment)
	(Vshared_game_score_directory, Vshell_file_name): Remove.
	* callint.c (syms_of_callint): Update.
	(Vcommand_debug_status, Vcommand_history, Vcurrent_prefix_arg)
	(Vmark_even_if_inactive, Vmouse_leave_buffer_hook): Remove.
	* bytecode.c (syms_of_bytecode): Update.
	(Vbyte_code_meter, byte_metering_on): Remove.
	* buffer.c (syms_of_buffer): Update.
	(Vafter_change_functions, Vbefore_change_functions)
	(Vchange_major_mode_hook, Vfirst_change_hook)
	(Vinhibit_read_only, Vkill_buffer_query_functions)
	(Vtransient_mark_mode, inhibit_modification_hooks): Remove.
	* alloc.c (syms_of_alloc): Update.
	(Vgc_cons_percentage, Vgc_elapsed, Vmemory_full)
	(Vmemory_signal_data, Vpost_gc_hook, Vpurify_flag)
	(cons_cells_consed, floats_consed, garbage_collection_messages)
	(gc_cons_threshold, gcs_done, intervals_consed)
	(misc_objects_consed, pure_bytes_used, string_chars_consed)
	(strings_consed, symbols_consed, vector_cells_consed): Remove.

	* lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
	(DEFVAR_INT): Assume global is in `globals'.
	* alloc.c (globals): Define.
2011-01-18 13:45:37 -07:00
Glenn Morris
4ff155dd40 * src/xsettings.c: Comment fix. 2011-01-15 18:10:13 -08:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00