aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | Use bool for boolean in xfaces.cPaul Eggert2015-01-261-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * dispextern.h: Adjust to signature changes. * font.c (font_at, font_range): * fontset.c (Finternal_char_font): * fringe.c (draw_fringe_bitmap_1): * xdisp.c (handle_face_prop, face_before_or_after_it_pos) (get_next_display_element, highlight_trailing_whitespace) (display_string, calc_line_height_property) (note_mode_line_or_margin_highlight, note_mouse_highlight): * xfaces.c (tty_suppress_bold_inverse_default_colors_p) (menu_face_changed_default, recompute_basic_faces) (Fbitmap_spec_p, parse_rgb_list, tty_lookup_color) (tty_defined_color, defined_color, face_color_gray_p) (face_color_supported_p, load_color2, load_face_colors) (Fx_list_fonts, LFACEP, push_named_merge_point) (resolve_face_name, lface_from_face_name_no_resolve) (lface_from_face_name, get_lface_attributes_no_remap) (get_lface_attributes, lface_fully_specified_p) (set_lface_from_font, merge_face_vectors, merge_named_face) (merge_face_ref, Finternal_make_lisp_face) (Finternal_lisp_face_p, Finternal_copy_lisp_face) (Finternal_set_lisp_face_attribute) (update_face_from_frame_parameter, set_font_frame_param) (face_boolean_x_resource_value) (Finternal_set_lisp_face_attribute_from_resource) (x_update_menu_appearance, Finternal_get_lisp_face_attribute) (Finternal_merge_in_global_face, Fface_font, face_attr_equal_p) (lface_equal_p, Finternal_lisp_face_equal_p) (Finternal_lisp_face_empty_p, lface_same_font_attributes_p) (Fcolor_distance, lookup_named_face, lookup_basic_face) (lookup_derived_face, Fface_attributes_as_vector) (x_supports_face_attributes_p, tty_supports_face_attributes_p) (Fdisplay_supports_face_attributes_p, realize_basic_faces) (realize_default_face, realize_named_face) (realize_non_ascii_face, realize_x_face, map_tty_color) (realize_tty_face, compute_char_face, face_at_buffer_position) (face_for_overlay_string, face_at_string_position): Use bool for boolean. * xfaces.c (set_lface_from_font): Return void, since callers never use the result.
* | * image.c (lookup_pixel_color): Reorder conditions that areAndreas Schwab2015-01-261-0/+10
| | | | | | | | | | | | | | | | | | written backwards. (x_to_xcolors): Likewise. (x_detect_edges): Likewise. (png_load_body): Likewise. (gif_close): Likewise. (gif_load): Likewise.
* | Use bool for boolean in w32term.cEli Zaretskii2015-01-261-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/w32term.c (x_update_window_begin, x_update_window_end) (x_update_end, x_after_update_window_line) (x_set_glyph_string_gc, x_draw_glyph_string_background) (x_draw_glyph_string_foreground) (x_draw_composite_glyph_string_foreground) (x_draw_glyphless_glyph_string_foreground) (x_draw_image_glyph_string, x_draw_glyph_string) (x_draw_stretch_glyph_string, note_mouse_movement) (w32_mouse_position, x_scroll_bar_report_motion) (x_horizontal_scroll_bar_report_motion, w32_read_socket) (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar) (w32_draw_window_cursor, x_new_font, x_set_offset) (x_set_window_size, x_make_frame_invisible, x_iconify_frame): Use bool where appropriate.
* | Use bool for boolean in w32fns.cEli Zaretskii2015-01-251-0/+10
| | | | | | | | | | | | | | | | | | src/w32fns.c (w32_defined_color, x_decode_color) (Fxw_color_defined_p, Fxw_color_values, x_set_icon_type) (x_set_menu_bar_lines, x_change_tool_bar_height) (x_set_internal_border_width, x_explicitly_set_name) (x_implicitly_set_name, Fx_create_frame, w32_window) (x_create_tip_frame, Fx_show_tip): Use bool where appropriate.
* | Use bool for boolean in xfns.cPaul Eggert2015-01-251-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * xfaces.c (x_update_menu_appearance): * xfns.c (x_real_positions, x_defined_color, x_decode_color) (xg_set_icon, xg_set_icon_from_xpm_data, x_set_cursor_color) (x_set_icon_type, x_set_icon_name, x_set_menu_bar_lines) (x_change_tool_bar_height, x_set_internal_border_width) (x_encode_text, x_set_name_internal, x_explicitly_set_name) (x_implicitly_set_name, x_default_scroll_bar_color_parameter) (hack_wm_protocols, xic_create_fontsetname, xic_free_xfontset) (x_window, x_icon, Fx_wm_set_size_hint, Fx_create_frame) (Fxw_color_defined_p, Fxw_color_values, x_create_tip_frame) (Fx_show_tip, clean_up_file_dialog, Fx_file_dialog) (clean_up_dialog, syms_of_xfns): * xterm.h (xg_set_icon, xg_set_icon_from_xpm_data) (xic_create_fontsetname): Use bool for boolean. * xfns.c: Include bitmaps/gray.xbm unconditionally.
* | Count MANY function args more reliablyPaul Eggert2015-01-251-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alloc.c (Fgc_status, purecopy, unbind_to, garbage_collect_1): * buffer.c (Fbuffer_list, Fkill_buffer): * callint.c (read_file_name, Fcall_interactively): * charset.c (Fset_charset_priority, syms_of_charset): * chartab.c (uniprop_encode_value_numeric): * coding.c (syms_of_coding): * composite.c (syms_of_composite): * data.c (wrong_range): * dbusbind.c (syms_of_dbusbind): * dired.c (file_attributes): * editfns.c (Fdecode_time, update_buffer_properties, format2): * eval.c (run_hook_with_args_2, apply1, call1, call2, call3) (call4, call5, call6, call7): * fileio.c (Finsert_file_contents, choose_write_coding_system) (Fcar_less_than_car, build_annotations, auto_save_error): * filelock.c (get_boot_time): * fns.c (internal_equal, nconc2, Fyes_or_no_p, Fwidget_apply): (maybe_resize_hash_table, secure_hash): * font.c (font_style_to_value, font_open_by_name, Flist_fonts): * fontset.c (fontset_add, Fset_fontset_font): * ftfont.c (ftfont_lookup_cache): * gtkutil.c (xg_get_font): * insdel.c (signal_before_change, signal_after_change): * keymap.c (append_key): * lread.c (load_warn_old_style_backquotes, Fload, init_lread): * minibuf.c (Fread_buffer): * print.c (print_preprocess): * process.c (Fformat_network_address, Fmake_network_process) (server_accept_connection): * sound.c (Fplay_sound_internal): * term.c (Fsuspend_tty, Fresume_tty): * window.c (window_list): * xdisp.c (run_redisplay_end_trigger_hook, add_to_log) (message_with_string): * xfaces.c (Fx_list_fonts): * xfont.c (syms_of_xfont): * xselect.c (x_handle_selection_request) (x_handle_selection_clear, x_clear_frame_selections) (x_clipboard_manager_error_1): Prefer CALLMANY and CALLN to counting args by hand. * doc.c (reread_doc_file): Remove unused code. * fns.c (concat2, concat3): Redo to avoid need for local-var vector. (cmpfn_user_defined, hashfn_user_defined, Fmaphash): Prefer call1 and call2 to Ffuncall. * keyboard.c (safe_run_hook_funcall, safe_run_hooks): Use struct literal rather than a local var, for simplicity. * keymap.c (where_is_internal): Use NULL rather than a pointer to unused args. * lisp.h (CALLMANY, CALLN): New macros. * sound.c (Fplay_sound_internal): Coalesce duplicate code. Fixes: bug#19634
* | Use gnustep-config if availablePaul Eggert2015-01-241-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (--with-gnustep): Document this. (NS_GNUSTEP_CONFIG): New variable, set if gnustep-config works. If gnustep-config works, use 'gnustep-config --objc-flags' and 'gnustep-config --gui-libs' to compute GNUstep configuration variables, instead of attempting to infer them individually. * etc/NEWS: Document this. * src/emacs.c [NS_IMPL_GNUSTEP]: Don't include <GNUstepBase/GSConfig.h>. It doesn't appear to be needed, and the inclusion breaks on Ubuntu 14.10 when 'configure' uses 'gnustep-config'. Fixes: bug#19507
* | src/xdisp.c (init_iterator): Restore a comment lost in transition.Eli Zaretskii2015-01-221-0/+4
| |
* | Use bool for boolean in xfont.c, xftfont.c, xgselect.cPaul Eggert2015-01-211-0/+9
| | | | | | | | | | | | | | | | | | | | * xfont.c (xfont_driver, xfont_chars_supported) (xfont_text_extents): * xftfont.c (xftfont_get_colors, xftfont_open) (xftfont_prepare_face, xftfont_done_face) (xftfont_cached_font_ok): * xgselect.c (xg_select): Use bool for boolean.
* | Don't downcase system diagnostics' first lettersPaul Eggert2015-01-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * etc/NEWS: Document this. * lisp/emacs-lisp/bytecomp.el (byte-compile-file): * lisp/ffap.el (find-file-at-point): * lisp/files.el (insert-file-1): * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory) (ange-ftp-copy-file-internal): * lisp/progmodes/etags.el (visit-tags-table): * lisp/url/url-dav.el (url-dav-delete-directory, url-dav-delete-file) (url-dav-directory-files): Keep diagnostics consistent with system's. * lisp/erc/erc-dcc.el (erc-dcc-server): * lisp/ffap.el (ffap-machine-p): Ignore case while comparing diagnostics. * src/fileio.c (report_file_errno): Don't downcase, and simplify. Fixes: bug#19642
* | Better isolate code that assumes NIL_IS_ZEROPaul Eggert2015-01-211-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Stefan Monnier in: http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00588.html * alloc.c (allocate_pseudovector): Use memclear, not memsetnil, to remove a 'verify'. * callint.c (Fcall_interactively): * dispnew.c (realloc_glyph_pool): * xdisp.c (init_iterator): Use memclear, not memset, to remove a 'verify'. * lisp.h (memclear): Rename from memsetnil, and take a byte count rather than a word count. All callers changed.
* | Undo port to hypothetical nonzero Qnil casePaul Eggert2015-01-201-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This mostly undoes the previous change in this area. See: http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00570.html * alloc.c (allocate_pseudovector): * callint.c (Fcall_interactively): * dispnew.c (realloc_glyph_pool): * fringe.c (init_fringe): * lisp.h (memsetnil): * xdisp.c (init_iterator): Simplify by assuming that Qnil is zero, but verify the assumption. * lisp.h (NIL_IS_ZERO): Revert back to this symbol, removing NIL_IS_NONZERO. All uses changed.
* | Fix double chars in NS port.Jan Djärv2015-01-201-0/+4
| | | | | | | | | | | | Fixes: debbugs:19531 * nsterm.m (EV_TRAILER2): Set Vinhibit_quit to Qt.
* | Prefer xlispstrdup to avoid dumb calls to strlenDmitry Antipov2015-01-201-0/+8
| | | | | | | | | | | | | | * nsfont.m (ns_get_family): * nsterm.m (ns_term_init): * w32fns.c (w32_window): * xfns.c (x_window, Fx_select_font): Use xlispstrdup.
* | Correct an old fix for GTK font selectionPaul Eggert2015-01-191-0/+4
| | | | | | | | | | * gtkutil.c (xg_get_font): Fix off-by-2 typo. Fixes: bug#3228
* | Fix minor bugs with printing null bytesPaul Eggert2015-01-191-0/+5
| | | | | | | | | | | | * minibuf.c (read_minibuf_noninteractive): * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Work even if the Lisp string contains a null byte.
* | Port to hypothetical case where Qnil is nonzeroPaul Eggert2015-01-191-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alloc.c (allocate_pseudovector): * callint.c (Fcall_interactively): * coding.c (syms_of_coding): * dispnew.c (realloc_glyph_pool): * fringe.c (init_fringe): * lisp.h (memsetnil): * xdisp.c (init_iterator): Port to the currently-hypothetical case where Qnil is nonzero. * dispnew.c (adjust_glyph_matrix): Remove unnecessary verification, as there are no Lisp_Object values in the data here. * lisp.h (NIL_IS_NONZERO): New symbol, replacing NIL_IS_ZERO. All uses changed. Define only if not already defined, so that one can debug with -DNIL_IS_NONZERO. * xdisp.c (init_iterator): Remove unnecessary initializations to 0.
* | Verify that Qnil is zero before relying on that in redisplay.Eli Zaretskii2015-01-191-0/+10
| | | | | | | | | | | | | | | | | | src/dispnew.c (adjust_glyph_matrix, realloc_glyph_pool): Verify that Qnil is represented as zero, before using that to initialize parts of the glyph structure. src/xdisp.c (init_iterator): Verify that Qnil is represented as zero, before using that to initialize parts of the iterator structure.
* | Prefer memset to repeatedly assigning QnilPaul Eggert2015-01-191-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alloc.c (allocate_pseudovector): Catch more bogus values. * alloc.c (allocate_pseudovector): * callint.c (Fcall_interactively): * coding.c (syms_of_coding): * fringe.c (init_fringe): Verify that Qnil == 0. * callint.c (Fcall_interactively): * eval.c (Fapply, Ffuncall): * fns.c (mapcar1, larger_vector): * font.c (font_expand_wildcards): * fringe.c (init_fringe): Prefer memset to assigning zeros by hand. * callint.c (Fcall_interactively): Remove duplicate assignment of Qnil to args[i]. * coding.c (syms_of_coding): Prefer LISP_INITIALLY_ZERO to assigning zeros by hand. * fileio.c (Ffile_selinux_context): Rewrite to avoid need for Lisp_Object array. * lisp.h (XLI_BUILTIN_LISPSYM): New macro. (DEFINE_LISP_SYMBOL_END): Use it. (NIL_IS_ZERO): New constant. (memsetnil): New function.
* | Prefer INLINE functions in font.h to match style used in lisp.hDmitry Antipov2015-01-161-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | * font.h (FONTP, FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P) (CHECK_FONT, CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT) (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, CHECK_FONT_GET_OBJECT): Now functions. * font.c (Ffont_otf_alternates, Fquery_font, Ffont_get_glyphs): * ftfont.c (ftfont_shape): * macfont.m (macfont_shape): * w32uniscribe.c (uniscribe_shape): * xftfont.c (xftfont_shape): Adjust CHECK_FONT_GET_OBJECT users.
* | Tiny lisp.h cleanupDmitry Antipov2015-01-161-0/+3
| | | | | | | | | | * lisp.h (XTERMINAL): Add eassert. * process.c (make_lisp_proc): Now static here.
* | Tune pseudovector allocation assuming Qnil == 0Dmitry Antipov2015-01-161-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alloc.c (allocate_pseudovector): Use memset for both Lisp_Objects and regular slots. Add zerolen arg. * lisp.h (allocate_pseudovector): Adjust prototype. (ALLOCATE_PSEUDOVECTOR): Adjust user. (ALLOCATE_ZEROED_PSEUDOVECTOR): New macro. (allocate_hash_table, allocate_window, allocate_frame) (allocate_process, allocate_terminal): Remove prototypes. * fns.c (allocate_hash_table): Now static here. * frame.c (allocate_frame): * process.c (allocate_process): * terminal.c (allocate_terminal): * window.c (allocate_window): Now static here. Use ALLOCATE_ZEROED_PSEUDOVECTOR. Add comment.
* | Give up on -Wsuggest-attribute=constPaul Eggert2015-01-151-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The attribute doesn't help performance significantly, and the warning seems to be more trouble than it's worth. See the thread at: http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00361.html * configure.ac (WERROR_CFLAGS): Don't use -Wsuggest-attribute=const. * lib-src/make-docfile.c (write_globals): Remove special hack for Fnext_read_file_uses_dialog_p. * src/decompress.c (Fzlib_available_p): * src/gnutls.c (Fgnutls_available_p): * src/gtkutil.h (xg_uses_old_file_dialog): * src/xdisp.c (Ftool_bar_height): * src/xmenu.c (popup_activated): No longer const, since it's not const on at lest some configurations, and we shouldn't lie to the compiler.
* | Add set-binary-mode primitive to switch a standard stream to binary I/O.Eli Zaretskii2015-01-151-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/fileio.c: Include binary-io.h. (Fset_binary_mode): New function. (syms_of_fileio): Defsubr it. (syms_of_fileio) <Qstdin, Qstdout, Qstderr>: DEFSYM them. admin/unidata/unidata/uvs.el (uvs-print-table-ivd): Call set-binary-mode on stdout. doc/lispref/streams.texi (Input Functions): Document 'set-binary-mode'. (Output Functions): Cross-reference to documentation of 'set-binary-mode'. etc/NEWS: Mention 'set-binary-mode'.
* | Flag :unknown-ca and :self-signed SSL certs (Bug#19404)Ted Zlatanov2015-01-151-0/+7
| | | | | | | | | | | | | | | | | | Fixes: debbugs:19404 * gnutls.c (init_gnutls_functions): Import gnutls_x509_crt_check_issuer. (Fgnutls_peer_status): Use it to set the :self-signed flag. Rename the previous :self-signed to :unknown-ca. (Fgnutls_peer_status_warning_describe): Explain :unknown-ca flag.
* | Fix crashes on MS-Windows due to pop-up menus (Bug#19596)Eli Zaretskii2015-01-141-0/+5
| | | | | | | | | | | | src/w32fns.c (w32_wnd_proc): Ignore MENUITEMINFO's dwItemData data when FLAGS indicate the item is not highlighted, i.e. it's not our help-echo string.
* | In update_frame_menubar remove garbaged code.Martin Rudalics2015-01-141-0/+4
| | | | | | | | * xmenu.c (update_frame_menubar): Remove garbaged code.
* | Never move gap in make_buffer_string_both.Dmitry Antipov2015-01-141-0/+4
| | | | | | | | | | | | * editfns.c (make_buffer_string_both): If requested range intersects the gap, don't move the latter but copy in two regions, thus avoiding unnecessary relocation of buffer data.
* | Consistently handle time zone specification.Dmitry Antipov2015-01-141-0/+5
| | | | | | | | | | | | * editfns.c (decode_time_zone): New function, refactored out from ... (Fencode_time): ... adjusted user. (Fset_time_zone_rule): Use decode_time_zone.
* | remove_slash_colon need not be inlinePaul Eggert2015-01-141-0/+6
| | | | | | | | | | * process.c, process.h (remove_slash_colon): No longer inline. This saves text bytes without hurting runtime performance.
* | Consolidate common path transformation code.Dmitry Antipov2015-01-141-0/+4
| | | | | | | | | | | | * process.h (remove_slash_colon): New function. * callproc.c (encode_current_directory, call_process): * process.c (Fstart_process): Use it.
* | Avoid extra multibyteness check in ENCODE_FILE users.Dmitry Antipov2015-01-141-0/+8
| | | | | | | | | | | | | | * callproc.c (encode_current_directory, Fcall_process, call_process): * dired.c (directory_files_internal, file_name_completion): Do not check for STRING_MULTIBYTE because encode_file_name is a no-op for unibyte strings.
* | Use bool for boolean in xmenu.c, xml.cPaul Eggert2015-01-131-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Don't say Fnext_read_file_uses_dialog_p is constPaul Eggert2015-01-131-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's const only if a windowing system is not used; don't say it's const otherwise. See: http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00310.html * lib-src/make-docfile.c (write_globals): Add a special hack for Fnext_read_file_uses_dialog_p. * src/fileio.c (next_read_file_uses_dialog_p): Remove. Move guts back to ... (Fnext_read_file_uses_dialog_p): ... here. Don't declare as const, as make-docfile.c now has a special case for this function. This is an ugly hack, but it's better than lying to the compiler.
* | Remove now-unnecessary forward XTYPE declPaul Eggert2015-01-131-0/+7
| | | | | | | | | | | | * lisp.h (XTYPE): Remove forward declaration. The recent merge from emacs-24 fixed the problem in a better way, by moving XPNTR's definition to after XTYPE's.
* | Fix problems with 32-bit wide-int build exposed by MinGWEli Zaretskii2015-01-131-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lisp.h (XPNTR): Move definition to after XTYPE, to avoid compilation error in an unoptimized build when !USE_LSB_TAG. src/w32heap.c (DUMPED_HEAP_SIZE): For 32-bit wide-int build, use the same larger value as for the 64-bit build. src/w32term.h (SCROLL_BAR_PACK): Cast the result to UINT_PTR to avoid compiler warnings. src/w32proc.c (Fw32_get_codepage_charset, Fw32_set_keyboard_layout): Avoid compiler warnings about cast from integer to pointer of different size. src/w32menu.c (menubar_selection_callback, w32_menu_show): Cast to UINT_PTR instead of EMACS_INT, to avoid compiler warnings about casting from integer to pointer of different size. (add_menu_item): Pass the help-echo string as a pointer to Lisp_String, not as a Lisp_Object. (w32_menu_display_help): Use make_lisp_ptr to reconstruct a Lisp string object from its C pointer. src/w32fns.c (w32_msg_pump) <WM_EMACS_UNREGISTER_HOT_KEY>: Use make_lisp_ptr instead of XIL, to reconstruct a Lisp_Cons from its C pointer. <WM_EMACS_TOGGLE_LOCK_KEY>: msg.lparam is now a C integer. (Fx_create_frame): Type-cast the result of XFASTINT to avoild compiler warnings about size differences. (Fw32_unregister_hot_key): Pass the tail of w32_grabbed_keys as a pointer to a Lisp_Cons struct, not as a disguised EMACS_INT. (Fw32_toggle_lock_key): Pass the new state of the key as a C integer; use -1 for nil. Doc fix. src/.gdbinit (xgetsym): New subroutine. (xsymname, xsymbol): Use it. (xprintsym): No need to call xgetptr.
* | Make Fnext_read_file_uses_dialog_p compatible with recent DEFUN change.Dmitry Antipov2015-01-131-0/+5
| | | | | | | | | | | | | | * fileio.c (next_read_file_uses_dialog_p): New workaround ... (Fnext_read_file_uses_dialog_p): ... called from here to avoid ATTRIBUTE_CONST dependency from #ifdefs. For details, see http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00289.html.
* | In adjust_frame_size don't return too early after font size change.Martin Rudalics2015-01-131-0/+5
| | | | | | | | | | * frame.c (adjust_frame_size): Make sure new numbers of lines/columns get installed after font size change (Bug#19575).
* | Consolidate duplicated string matching code.Dmitry Antipov2015-01-131-0/+9
| | | | | | | | | | | | | | | | | | | | | | * search.c (fast_string_match_internal): New function, consolidated from... (fast_string_match, fast_string_match_ignore_case): ...functions which are... * lisp.h (fast_string_match, fast_string_match_ignore_case): inlined from here now. (fast_string_match_internal): Add prototype. * dired.c (file_name_completion): Use fast_string_match_internal.
* | Support const and noreturn DEFUN attributes.Dmitry Antipov2015-01-131-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib-src/make-docfile.c (struct global): New field 'flags'. (DEFUN_noreturn, DEFUN_const): New enum bitfields. (add_global): Now return pointer to global. (write_globals): Add _Noreturn and ATTRIBUTE_CONST attributes if requested by global's flags. (stream_match): New function. (scan_c_stream): Recognize 'attributes:' of DEFUN. * src/callint.c (Finteractive): * src/character.c (Fcharacterp, Fmax_char): * src.data.c (Feq, Fnull, Fconsp, Fatom, Flistp, Fnlistp, Fsymbolp) (Fstringp, Fchar_or_string_p, Fintegerp, Fnatnump, Fnumberp) (Ffloatp, Fbyteorder): * src/decompress.c (Fzlib_available_p): * src/fns.c (Fidentity): * src/frame.c (Fframe_windows_min_size): * src/gnutls.c (Fgnutls_error_p, Fgnutls_available_p): * src/window.c (Fwindow__sanitize_window_sizes): * src/xdisp.c (Ftool_bar_height): * src/xfaces.c (Fface_attribute_relative_p): Add const attribute. * src/emacs.c (Fkill_emacs): * src/eval.c (Fthrow): * src/keyboard.c (Ftop_level, Fexit_recursive_edit) (Fabor_recursive_edit): Add noreturn attribute.
* | Port to 32-bit MingGW --with-wide-intPaul Eggert2015-01-121-0/+9
| | | | | | | | | | | | | | | | Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00265.html * lisp.h (struct Lisp_Sub_Char_Table): Check that offset matches what we think it is, rather than checking only its alignment (and doing so incorrectly on MinGW).
* | Miscellaneous tiny fixes here and there.Dmitry Antipov2015-01-121-0/+7
| | | | | | | | | | | | | | * fileio.c (Ffile_name_as_directory, Fdirectory_file_name): Remove dead NILP check. * image.c (Flookup_image): Use regular format for docstring. * keyboard.c (apply_modifiers_uncached): Use stpcpy.
* | Adjust frame heights to real height of tool bar.Martin Rudalics2015-01-121-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * frame.el (frame-notice-user-settings): Remove code dealing with frame-initial-frame-tool-bar-height. Turn off `tool-bar-mode' only if `window-system-frame-alist' or `default-frame-alist' ask for it. (make-frame): Update frame-adjust-size-history if needed. * dispnew.c (change_frame_size_1): Pass Qchange_frame_size to adjust_frame_size. * frame.c (frame_default_tool_bar_height): New variable. (adjust_frame_size): Possibly add requested adjustment to Vframe_adjust_size_history. (make_frame): Initialize tool_bar_redisplayed_once slot. (Fset_frame_height, Fset_frame_width, Fset_frame_size): Clarify doc-string. Call adjust_frame_size unconditionally (the frame's text size may remain unaltered but the pixel size may change). (x_figure_window_size): If frame_default_tool_bar_height was set, use it instead of calculating the tool bar height from DEFAULT_TOOL_BAR_IMAGE_HEIGHT. Don't set Vframe_initial_frame_tool_bar_height. (Qchange_frame_size, Qxg_frame_set_char_size) (Qset_window_configuration, Qx_create_frame_1) (Qx_create_frame_2): New symbols. (Vframe_initial_frame_tool_bar_height): Remove. (Vframe_adjust_size_history): New history variable for debugging frame size adjustments. * frame.h (struct frame): New boolean slot tool_bar_redisplayed_once. (frame_default_tool_bar_height): Extern. * gtkutil.c (xg_frame_set_char_size): Pass Qxg_frame_set_char_size to adjust_frame_size. * nsfns.m (Fx_create_frame): Pass Pass Qx_create_frame_1 and Qx_create_frame_2 to adjust_frame_size. * w32fns.c (x_change_tool_bar_height): Call adjust_frame_size with inhibit 1 when we have not redisplayed the tool bar yet. (Fx_create_frame): Pass Pass Qx_create_frame_1 and Qx_create_frame_2 to adjust_frame_size. * w32menu.c (set_frame_menubar): Simplify adjust_frame_size call. * window.c (Fset_window_configuration): Pass Qset_window_configuration to adjust_frame_size. * xdisp.c (redisplay_tool_bar): Assign new height to frame_default_tool_bar_height. (redisplay_internal): If we haven't redisplayed this frame's tool bar, call redisplay_tool_bar early so we can adjust the frame size accordingly. * xfns.c (x_change_tool_bar_height): Call adjust_frame_size with inhibit 1 when we have not redisplayed the tool bar yet. (Fx_create_frame): Pass Pass Qx_create_frame_1 and Qx_create_frame_2 to adjust_frame_size.
* | Have 'make' output better GEN namesPaul Eggert2015-01-111-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/Makefile.in (PHONY_EXTRAS): New macro. (.PHONY): Depend on it, and on $(lisp)/loaddefs.el, so that the relevant files' time stamps are ignored. (custom-deps, $(lisp)/cus-load.el, finder-data) ($(lisp)/finder-inf.el): Use PHONY_EXTRAS. (custom-deps, $(lisp)/cus-load.el, finder-data) ($(lisp)/finder-inf.el, autoloads, $(lisp)/loaddefs.el) ($(lisp)/subdirs.el, update-subdirs): Output more-accurate destination names with GEN. * src/Makefile.in (gl-stamp, globals.h): Simplify by putting the new contents of globals.h into gl-stamp. This lets us use AM_V_GEN more naturally so that 'make' can output more-accurate names.
* | * src/buffer.c (init_buffer_once): Initialize buffer_local_flags early.Stefan Monnier2015-01-111-0/+6
| | | | | | | | | | | | * src/buffer.c (init_buffer_once): Initialize buffer_local_flags before calling reset_buffer_local_variables, and make sure we initialize it completely.
* | * coding.c (Fcoding_system_plist): Use common style for docstring.Dmitry Antipov2015-01-111-0/+4
| |
* | Port to MSB hosts without optimizationPaul Eggert2015-01-111-0/+7
| | | | | | | | | | | | E.g., when configuring --with-wide-int CFLAGS='-O0' on x86, the inline function XTYPE needs to be declared before being used. * lisp.h (XTYPE): New forward declaration.
* | Port to 32-bit --with-wide-intPaul Eggert2015-01-101-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prefer symbol indexes to struct Lisp_Symbol * casted and then widened, as the latter had trouble with GCC on Fedora 21 when configured --with-wide-int and when used in static initializers. * lib-src/make-docfile.c (write_globals): Define and use symbols like iQnil (a small integer, like 0) rather than aQnil (an address constant). * src/alloc.c (garbage_collect_1, which_symbols): * src/lread.c (init_obarray): Prefer builtin_lisp_symbol when it can be used. * src/dispextern.h (struct image_type.type): * src/font.c (font_property_table.key): * src/frame.c (struct frame_parm_table.sym): * src/keyboard.c (scroll_bar_parts, struct event_head): * src/xdisp.c (struct props.name): Use the index of a builtin symbol rather than its address. All uses changed. * src/lisp.h (TAG_SYMPTR, XSYMBOL_INIT): Remove, replacing with ... (TAG_SYMOFFSET, SYMBOL_INDEX): ... new macros that deal with symbol indexes rather than pointers, and which work better on MSB hosts because they shift right before tagging. All uses changed. (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END): No longer noops on wide-int hosts, since they work now. (builtin_lisp_symbol): New function.
* | Port to HAVE_FREETYPE && !HAVE_XFTPaul Eggert2015-01-101-0/+7
| | | | | | | | | | | | * dispextern.h (struct face.extra) [HAVE_FREETYPE && !HAVE_XFT]: * font.h (syms_of_xftfont) [HAVE_FREETYPE && !HAVE_XFT]: Declare in this case too.
* | Port Qnil==0 changes to 32-bit --with-wide-intPaul Eggert2015-01-101-0/+9
| | | | | | | | | | | | | | | | | | | | * lisp.h (lisp_h_XSYMBOL, XSYMBOL): Assume USE_LSB_TAG in the macro-implemented version. For the non-USE_LSB_TAG case, supply a new inline function that is the inverse of the new TAG_SYMPTR. (lisp_h_XUNTAGBASE, XUNTAGBASE): Remove. All uses removed. (TAG_SYMPTR) [!USE_LSB_TAG]: If the pointer subtraction yields a negative number, don't allow sign bits to bleed into the encoded value. Shift in zero bits instead.