aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | A possible fix for bug #18815 with assertion violations in bidi.c.Eli Zaretskii2014-10-241-0/+6
| | | | | | | | | | | | src/bidi.c (bidi_resolve_explicit, bidi_find_bracket_pairs) (bidi_resolve_brackets): Use end of string position rather than ZV when iterating over a string.
* | Improve mouse dragging of frame edges.Martin Rudalics2014-10-241-0/+7
| | | | | | | | | | | | | | | | | | | | * keyboard.c (make_lispy_position): Return coordinates also when on scroll bars, fringes, margins or not in a window. * xdisp.c (show_mouse_face): Don't change cursor face during mouse tracking. * mouse.el (mouse-drag-line): Don't use mouse-pixel-position. Calculate increment from last position instead of window edge. Add right- and bottom-divider bindings to transient map.
* | Fix some doc-strings in frame.c (Bug#18789).Martin Rudalics2014-10-231-0/+6
| | | | | | | | | | | | * frame.c (Fset_frame_height, Fset_frame_width, Fset_frame_size) (frame_resize_pixelwise, frame_inhibit_implied_resize): Fix doc-strings (Bug#18789).
* | * Makefile.in (ACLOCAL_INPUTS): Omit unnecessary use of 'wildcard'.Paul Eggert2014-10-221-0/+4
| |
* | Fix bug #18778 with slow redisplay of bracketed L2R text with long lines.Eli Zaretskii2014-10-221-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/bidi.c (bidi_cache_reset_to): New function. (bidi_cache_reset): Call it. (bidi_init_it, bidi_line_init): Initialize the bracket_pairing_pos member to -1. (bidi_resolve_explicit): Reset bracket_pairing_pos and bracket_enclosed_type only if bracket_pairing_pos's value is not ZV. (MAX_BPA_STACK): Make sure the value is signed. (PUSH_BPA_STACK): If the BPA stack overflows, don't bail out, but stop pushing values onto the stack. (bidi_find_bracket_pairs): If the bracketed text is only on the base embedding level, remove all the states cached by this function from the cache, and return zero, so that the brackets in this segment of text are processed as normal neutrals. (bidi_resolve_brackets): Detect the brackets that are to be processed as neutrals, and don't call bidi_find_bracket_pairs on them.
* | Get rid of backend-dependent selection-handling functions for kill/yankStefan Monnier2014-10-211-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and make it generic instead by relying on the lower-level selection management functions. * select.el (select-enable-clipboard): Rename from gui-select-enable-clipboard. (select-enable-primary): Move from x-win.el and rename from x-select-enable-primary. (gui-last-selected-text): Remove. (gui--last-selected-text-clipboard, gui--last-selected-text-primary): New vars. (gui-select-text): Rewrite, based on x-win.el's old x-select-text. (gui-select-text-alist, gui-selection-value-alist): Remove. (x-select-request-type): Move from x-win.el. (gui--selection-value-internal): New function, taken from x-win's x-selection-value-internal. (gui-selection-value): Rewrite, based on x-win.el's old x-selection-value. (gui-set-selection-alist): Rename from gui-own-selection-alist and extend it to handle a nil value as a "disown" request. (gui-disown-selection-alist): Remove. (xselect-convert-to-delete): Adjust accordingly. (gui-set-selection): Simplify accordingly as well. Use dotimes. * lisp/frame.el (gui-method): Use window-system rather than framep. (gui-method-declare): The tty case is now nil rather than t. (make-frame): Adjust accordingly. * lisp/term/x-win.el (x-last-selected-text-primary) (x-select-enable-primary): Remove (moved to select.el). (x-select-request-type): Move to select.el. (x-selection-value-internal, x--selection-value): Remove functions. (gui-selection-value, gui-select-text): Remove moethods. (gui-set-selection): Merge own and disown methods. * lisp/startup.el (command-line): Adjust now that `gui-method' expects nil for ttys. * lisp/term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard) (ns-selection-value): Remove functions. (gui-select-text, gui-selection-value): Don't define method any more. (gui-set-selection): Merge the old own and disown methods. (gui-selection-exists-p, gui-get-selection): Adjust to new name of underlying C primitive. * lisp/term/pc-win.el (w16-get-selection-value): Add dummy argument and drop test of gui-select-enable-clipboard, to make it usable as a gui-get-selection method. (gui-selection-exists-p): Adjust to new name of C primitive. (gui-set-selection): Merge own and disown methods. (gui-select-text, gui-selection-value): Delete methods. (w16--select-text): Delete function. * lisp/term/w32-win.el (w32--select-text, w32--get-selection-value): Delete function (move functionality into w32--set-selection and w32--get-selection). (gui-select-text, gui-selection-value): Don't define methods. (w32--set-selection, w32--get-selection, w32--selection-owner-p): New functions. (gui-get-selection, gui-selection-owner-p, gui-selection-exists-p): Use them. (gui-selection-exists-p): Adjust to new name of C primitive. * src/nsselect.m (ns_get_local_selection): Signal error rather than `quit'. (Fns_own_selection_internal): Tighten scoping. (Fns_selection_exists_p): Rename from Fx_selection_exists_p. (Fns_get_selection): Rename from Fx_get_selection_internal. (Fns_get_selection_internal, Fns_store_selection_internal): Remove functions. (syms_of_nsselect): Adjust accordingly. * src/w16select.c (Fw16_selection_exists_p): Rename from Fx_selection_exists_p. (syms_of_win16select): Adjust accordingly. * src/w32select.c (Fw32_selection_exists_p): Rename from Fx_selection_exists_p. (syms_of_w32select): Adjust accordingly.
* | Handle wrapped menu bar lines when resizing frames with Windows API.Martin Rudalics2014-10-211-0/+7
| | | | | | | | | | | | | | * w32fns.c (Fw32_frame_menu_bar_size): New function. * w32term.c (x_set_window_size): Account for wrapped menu bar lines when setting up frame height (Bug#15174 and Bug#18720). (w32_add_wrapped_menu_bar_lines): New variable.
* | Merge from emacs-24Stefan Monnier2014-10-201-6/+11
|\ \ | |/
| * * src/xdisp.c (redisplay_window): Re-run pre-redisplay-function after weStefan Monnier2014-10-201-19/+23
| | | | | | | | move point.
* | Merge from emacs-24; up to 2014-07-28T06:28:15Z!dmantipov@yandex.ruGlenn Morris2014-10-201-0/+4
|\ \ | |/
| * Add 24.4 release ChangeLog entriesemacs-24.4Glenn Morris2014-10-201-0/+4
| |
* | src/ChangeLog: Remove stray duplicate entry.Eli Zaretskii2014-10-191-4/+0
| |
* | * gtkutil.c (create_dialog): Don't use gtk_dialog_get_action_area onJan Djärv2014-10-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | Gt+ >= 3.12, or gtk_misc_set_alignment on Gtk+ >= 3.14. (make_widget_for_menu_item): Don't use gtk_misc_set_alignment on Gtk+ >= 3.14 (Bug#18674). (update_frame_tool_bar): Don't use gtk_misc_set_padding on Gtk+ >= 3.14 (Bug#18674). * gtkutil.c (xg_update_menubar, xg_update_menu_item): Only call g_object_notify for label if Gtk+ >= 2.16 (Bug#16522).
* | * src/xterm.c (handle_one_xevent): Check return value fromJan Djärv2014-10-191-0/+6
| | | | | | | | | | | | | | | | | | x_handle_net_wm_state, remove net_wm_state_hidden_seen. (get_current_wm_state): Remove net_wm_state_hidden_seen setting. * src/xterm.h (x_output): Remove net_wm_state_hidden_seen. Fixes: debbugs:18722
* | * gtkutil.c (create_dialog): Don't use gtk_dialog_get_action_area onJan Djärv2014-10-191-0/+9
| | | | | | | | | | | | | | | | Gt+ >= 3.12, or gtk_misc_set_alignment on Gtk+ >= 3.14. (make_widget_for_menu_item): Don't use gtk_misc_set_alignment on Gtk+ >= 3.14 (Bug#18674). (update_frame_tool_bar): Don't use gtk_misc_set_padding on Gtk+ >= 3.14 (Bug#18674).
* | * gtkutil.c: Remove no-longer-used code.Paul Eggert2014-10-181-0/+9
| | | | | | | | | | | | | | | | (xg_update_menubar): Remove unused local and unnecessary call to gtk_menu_item_get_submenu. (XG_TOOL_BAR_PROXY_BUTTON, xg_tool_bar_proxy_callback) (xg_get_tool_bar_widgets, xg_tool_bar_proxy_help_callback) (TOOLBAR_TOP_WIDGET): Remove; no longer used.
* | * xfns.c (syms_of_xfns): Remove x-gtk-whole-detached-tool-bar.Jan Djärv2014-10-181-0/+2
| |
* | Handle deprecated Gtk+ stuff for version <= 3.10Jan Djärv2014-10-181-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/term/x-win.el (x-gtk-stock-map): Add icon names suggested as replacements to stock names before stock names in a list. Cdr may be a list, each name is tried in turn until one is found. * src/gtkutil.c (XG_TEXT_CANCEL, XG_TEXT_OPEN, XG_TEXT_OK): New defines to handle Gtk versions. (xg_get_file_with_chooser): Use them. (xg_have_tear_offs, tearoff_remove, tearoff_activate): Remove (create_menus): Remove teroff argument and code. Remove call to gtk_menu_set_title. (xg_update_menubar, xg_update_submenu): Remove tearoff code. Adjust args to create_menus. (xg_tool_bar_menu_proxy, xg_tool_bar_detach_callback) (xg_tool_bar_attach_callback, TOOLBAR_TOP_WIDGET): Remove. (xg_pack_tool_bar): Replace TOOLBAR_TOP_WIDGET, remove detach code. (xg_make_tool_item): Remove detach code. (xg_update_tool_bar_sizes): Replace TOOLBAR_TOP_WIDGET. (find_icon_from_name): New function. (update_frame_tool_bar): Remove GtkStockItem code, move to find_icon_from_name. Let stock be a list of icon names to try. Only use gtk_image_new_from_stock on Gtk+ < 3.10. Replace TOOLBAR_TOP_WIDGET. (free_frame_tool_bar, xg_change_toolbar_position ): Replace TOOLBAR_TOP_WIDGET. (xg_initialize): Remove tearoff code. * src/gtkutil.h (xg_have_tear_offs): Remove declaration. * src/xmenu.c (set_frame_menubar): Remove GTK block that calls xg_have_tear_offs. * src/xterm.h (handlebox_widget): Remove.
* | A better fix for drawing hollow cursor on X on 1-pixel thin space characters.Eli Zaretskii2014-10-181-0/+7
| | | | | | | | | | | | | | | | src/xterm.c (x_draw_bar_cursor, x_draw_hollow_cursor): Subtract 1 pixel from the window's cursor glyph width, since X renders hollow blocks 1 pixel wider than the 'width' parameter. src/xdisp.c (get_phys_cursor_geometry): Don't subtract 1 pixel from glyph->pixel_width; this is now done in xterm.c.
* | Fix bidi reordering of bracket characters in isolates.Eli Zaretskii2014-10-181-0/+22
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/bidi.c (bidi_cache_find): Rename the argument NEUTRALS_OK to RESOLVED_ONLY; when non-zero, return from the cache only fully resolved states. All callers changed. (CANONICAL_EQU): New macro. (PUSH_BPA_STACK): Use it to push onto the BPA stack the canonical equivalent of the paired closing bracket character. (bidi_find_bracket_pairs): Set the bracket_pairing_pos member to the default non-negative value, to be checked later in bidi_resolve_brackets. Use CANONICAL_EQU to test candidate characters against those pushed onto the BPA stack. (bidi_record_type_for_neutral): New function. (bidi_resolve_brackets): Record next_for_neutral and prev_for_neutral when embedding level gets pushed. Force resolution of bracket pairs when entering a level run that was not yet BPA-resolved. (bidi_resolve_neutral): Add assertions before calling bidi_resolve_neutral_1. (bidi_level_of_next_char): Remove the code that attempted to resolve unresolved neutrals; that is now done by bidi_resolve_neutral.
* | | Ensure 8-byte stack alignment in w32select's callback.Eli Zaretskii2014-10-181-0/+4
| | | | | | | | | | | | src/w32select.c (owner_callback): Mark with ALIGN_STACK attribute.
* | | Merge from emacs-24; up to 2014-07-28T02:47:29Z!fgallina@gnu.orgGlenn Morris2014-10-171-0/+7
|\ \ \ | | |/ | |/|
| * | Fix display on X of 1-pixel R2L characters.Eli Zaretskii2014-10-171-0/+7
| | | | | | | | | | | | | | | | | | | | | src/xterm.c (x_draw_hollow_cursor): Fix display of hollow cursor on 1-pixel R2L characters. Reported by Dmitry Antipov <dmantipov@yandex.ru>, see http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00518.html.
* | | src/bidi.c (bidi_find_bracket_pairs): Avoid a loop that does nothing useful.Eli Zaretskii2014-10-161-0/+5
| | |
* | | * bidi.c (bidi_find_bracket_pairs): Initialize local var.Paul Eggert2014-10-151-0/+7
| | | | | | | | | | | | | | | | | | This pacifies GCC 4.9.1 with --enable-gcc-warnings. It's not clear to me whether the initialization is needed, but it can't hurt so I played it safe.
* | | * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Enable by default.Stefan Monnier2014-10-151-10/+13
| | | | | | | | | | | | | | | | | | | | | Remove incorrect handling of eldoc-print-after-edit. (eldoc-message-commands, eldoc-last-data): Use defvar. * lisp/loadup.el (emacs-lisp/eldoc): Load it. * src/lisp.mk (lisp): Add emacs-lisp/eldoc.elc.
* | | src/ChangeLog: Fix a typo.Eli Zaretskii2014-10-151-1/+1
| | |
* | | Update the bidirectional reordering engine for Unicode 6.3 and 7.0.Eli Zaretskii2014-10-151-0/+67
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/bidi.c (bidi_ignore_explicit_marks_for_paragraph_level): Remove variable. (bidi_get_type): Return the isolate initiators and terminator types. (bidi_isolate_fmt_char, bidi_paired_bracket_type) (bidi_fetch_char_skip_isolates, find_first_strong_char) (bidi_find_bracket_pairs, bidi_resolve_brackets): New functions. (bidi_set_sos_type): Renamed from bidi_set_sor_type and updated for the new features. (bidi_push_embedding_level, bidi_pop_embedding_level): Update to push and pop correctly for isolates. (bidi_remember_char): Modified to accept an additional argument and record the bidi type according to its value. (bidi_cache_iterator_state): Accept an additional argument to only update an existing state. Handle the new members of struct bidi_it. (bidi_cache_find): Arguments changed: no lnger accepts a level, instead accepts a flag telling it whether it is okay to return unresolved neutrals. (bidi_initialize): Initiate and staticpro the bracket-type uniprop table. Initialize new isolate-related members. (bidi_paragraph_init): Some code factored out into find_first_strong_char. (bidi_resolve_explicit_1): Function deleted, its code incorporated into bidi_resolve_explicit. (bidi_resolve_explicit): Support the isolate initiators and terminator. Fix handling of embeddings and overrides according to new UBA requirements. Record information about previously seen characters here (moved from bidi_level_of_next_char). (bidi_resolve_weak): Adapt to changes in struct members. (FLAG_EMBEDDING_INSIDE, FLAG_OPPOSITE_INSIDE, MAX_BPA_STACK) (STORE_BRACKET_CHARPOS, PUSH_BPA_STACK): New macros. (bidi_resolve_neutral): Call bidi_resolve_brackets to handle the paired bracket resolution. Handle isolate initiators and terminator. (bidi_type_of_next_char): Remove unneeded code for BN limit. (bidi_level_of_next_char): Move the code that records information about previous characters to bidi_resolve_explicit. Fix logic of resolving neutrals and make sure their cache entries are updated. Remove now unneeded special handling of PDF level. src/dispextern.h (struct glyph): Enlarge the width of resolved_level. (BIDI_MAXDEPTH): New macro, renamed from BIDI_MAXLEVEL and enlarged per Unicode 6.3. (enum bidi_bracket_type_t): New data type. (struct bidi_saved_info): Leave only 2 type members out of 4. Remove bytepos. (struct bidi_stack): Add members necessary to support isolating sequences. (struct bidi_it): Add new members necessary to support isolating sequences and bracket pair resolution. src/xdisp.c (Fbidi_resolved_levels): New function. (syms_of_xdisp): Defsubr it. (append_glyph, append_composite_glyph, produce_image_glyph) (append_stretch_glyph, append_glyphless_glyph): Convert aborts to assertions. (syms_of_xdisp) <inhibit-bidi-mirroring>: New variable. src/term.c (append_glyph, append_composite_glyph) (append_glyphless_glyph): Convert aborts to assertions. src/.gdbinit (pgx): Display the character codepoint, resolved level, and bidi type also for glyphless glyphs. lisp/simple.el (what-cursor-position): Update to support the new bidi characters. lisp/descr-text.el (describe-char): Update to support the new bidi characters. admin/unidata/unidata-gen.el (unidata-prop-alist): New properties 'paired-bracket' and 'bracket-type', in support of the UBA 6.3. (unidata-gen-table): Support PROP-IDX being a function. (unidata-describe-bidi-bracket-type, unidata-gen-brackets-list) (unidata-gen-bracket-type-list): New functions. (unidata-check): Support checking the 'bracket-type' attribute. (unidata-gen-files): Don't create backups for uni-*.el files. admin/unidata/Makefile.in (${unidir}/charprop.el): Depend on BidiMirroring.txt and BidiBrackets.txt. admin/unidata/BidiBrackets.txt: New file, from Unicode. etc/NEWS: Mention the UBA implementation update. etc/HELLO: Remove now unneeded directional control characters. doc/lispref/nonascii.texi (Character Properties): Document the new properties 'bracket-type' and 'paired-bracket'. doc/lisprefdisplay.texi (Bidirectional Display): Update the version of the UBA to which we are conforming. test/BidiCharacterTest.txt: New file, from Unicode. test/biditest.el: New file.
* | | Avoid unwanted point motion in Fline_beginning_position.Dmitry Antipov2014-10-151-0/+9
|/ / | | | | | | | | | | | | | | * lisp.h (scan_newline_from_point): Add prototype. * search.c (scan_newline_from_point): New function, refactored from... * cmds.c (Fforward_line): ...adjusted user. * editfns.c (Fline_beginning_position): Use scan_newline_from_point and simplify the former since the latter doesn't move point.
* | Cleanup terminal handling code.Dmitry Antipov2014-10-141-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * dispextern.h (get_named_tty): Remove prototype but... * termhooks.h (get_named_terminal): ...resurrect it under more meaningful name. (get_terminal): Likewise, but with... (decode_live_terminal): ...this name. (decode_tty_terminal): Add prototype. * term.c (get_tty_terminal): Remove. (get_named_tty): Remove. (Ftty_display_color_p, Ftty_display_color_cells, Ftty_type) (Fcontrolling_tty_p, Fsuspend_tty, Fresume_tty): Use decode_tty_terminal. (Ftty_no_underline, Ftty_top_frame): Use decode_live_terminal. * terminal.c (get_terminal): Refactor to... (decode_terminal, decode_live_terminal): ...new functions. (decode_tty_terminal): Replacement for get_tty_terminal. (get_named_terminal): Likewise for get_named_tty. * coding.c (Fset_terminal_coding_system_internal) (Fterminal_coding_system, Fset_keyboard_coding_system_internal): (Fkeyboard_coding_system): * composite.c (Fcomposition_get_gstring): * dispnew.c (Fsend_string_to_terminal): * frame.c (Fmake_terminal_frame): * nsfns.m (check_ns_display_info): * w32fns.c, xfns.c (check_x_display_info): * xselect.c (frame_for_x_selection): Use decode_live_terminal. * keyboard.c (handle_interrupt_signal, handle_interrupt) (Fset_quit_char): Use get_named_terminal. (Fset_output_flow_control, Fset_input_meta_mode): Use decode_tty_terminal.
* | Fix bug #18699 with startup aborts of 32-bit MinGW64 build.Eli Zaretskii2014-10-131-0/+5
| | | | | | | | | | src/w32term.h (ALIGN_STACK): Use _WIN64, not _W64, to distinguish between 32-bit and 64-bit MinGW builds.
* | Merge from emacs-24; up to 2014-07-26T11:58:24Z!schwab@linux-m68k.orgGlenn Morris2014-10-121-0/+10
|\ \ | |/
| * Fix port to Debian GNU/kFreeBSD 7 (wheezy).Paul Eggert2014-10-101-0/+5
| | | | | | | | | | | | * process.c (accept4) [!HAVE_ACCEPT4]: New macro. Fixes: debbugs:18666
| * * src/frame.c (Fmouse_pixel_position): Call Vmouse_position_function.Stefan Monnier2014-10-091-0/+5
| | | | | | | | Fixes: debbugs:18638
| * Fix bug #18610 with crashes when visiting files with ESC and 8-bit bytes.Kenichi Handa2014-10-081-0/+5
| | | | | | | | | | | | | | src/coding.c (detect_coding_iso_2022): Set coding->rejected correctly when an invalid escape sequence is found. Backported from trunk.
* | * editfns.c (dump_tz_string): No longer const.Paul Eggert2014-10-121-0/+3
| | | | | | | | It might be modified.
* | Spelling fixes.Paul Eggert2014-10-121-1/+1
| |
* | * nsmenu.m (clear): Assume OS X 10.6 or later.Paul Eggert2014-10-121-0/+4
| |
* | Require OSX >= 10.6. Remove PowerPC unexec code.Jan Djärv2014-10-121-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Require OSX 10.6. Remove NSInteger test, use nsfont for Gnustep, macfont for OSX. * etc/NEWS: OSX required is 10.6 or newer. * src/Makefile.in: Replace nsfont.o macfont.o with ns_fontfile in comment. * src/macfont.h (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_FORMAT_BITMAP) (mac_font_copy_non_synthetic_table): Remove versions for OSX < 10.6 * src/nsfns.m: Always include src/macfont.h on COCOA. (ns_filename_from_panel, ns_directory_from_panel) (Fx_create_frame, Fns_popup_font_panel, ns_run_file_dialog) (Fns_read_file_name, Fns_list_services): Remove code for OSX < 10.6 * src/nsterm.m: Always include src/macfont.h on COCOA. (ns_update_auto_hide_menu_bar, ns_draw_fringe_bitmap) (ns_dumpglyphs_image, ns_check_menu_open) (applicationDidFinishLaunching) (antialiasThresholdDidChange:) (keyDown:, toggleFullScreen:, setPosition:portion:whole:): Remove checks for OSX <= 10.5/10.6. (changeFont:): Use macfont on COCOA, nsfont on GNUSTEP. (syms_of_nsterm): Call syms_of_macfont on COCOA, syms_of_nsfont on GNUSTEP. * src/macfont.m: Remove >= 1050 check. (macfont_create_family_with_symbol) (macfont_get_glyph_for_character) (mac_font_get_glyphs_for_variants) (mac_ctfont_create_available_families, syms_of_macfont): Remove code for OSX < 10.6. (mac_font_family_group, mac_font_family_compare): Remove, only used for OSX < 10.6. * src/nsimage.m (allocInitFromFile:): Remove code for OSX < 10.6. * src/nsmenu.m (NSMenuDidBeginTrackingNotification): Remove. (x_activate_menubar, trackingNotification:): Remove check for OSX >= 10.5. (menuNeedsUpdate:): Remove check for OSX < 10.5. * src/nsterm.h (MAC_OS_X_VERSION_10_4, MAC_OS_X_VERSION_10_5): Remove. (NS_HAVE_NSINTEGER): Remove block. Remove >= OSX 10.6 tests. * src/unexmacosx.c: Remove include ppc/reloc.h. (unrelocate, copy_dysymtab): Remove PPC code. (rebase_reloc_address): Remove, only used for PPC:
* | Fix putenv race conditions with undefined behavior.Paul Eggert2014-10-111-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do all putenv calls before Emacs creates any threads. Use a safer way to modify the TZ environment variable in the presence of multiple threads. For further thread-safety, prefer localtime_r and gmtime_r to localtime and gmtime, and prefer struct tm's tm_gmtoff (if available) to calling both localtime_r and gmtime_r. * configure.ac (LOCALTIME_CACHE): Remove. We needn't worry about SunOS 4 any more; Sun dropped support in 2003. All uses of LOCALTIME_CACHE removed. This simplifies the fix. (tzalloc): Add check for this function. * admin/merge-gnulib (GNULIB_MODULES): Add time_r, since Emacs now calls localtime_r and gmtime_r directly. * src/dbusbind.c (Fdbus__init_bus): Move xputenv call from here ... (init_dbusbind): ... to this new function. * src/emacs.c (main) [HAVE_DBUS]: Call it before creating threads. * src/xterm.c (x_term_init): Move xputenv call from here ... (init_xterm): ... to this new function. * src/emacs.c (main) [USE_GTK]: Call it before creating threads. * src/editfns.c (HAVE_TM_GMTOFF): Default to false. (dump_tz_string): New constant. (init_editfns): Use it. This centralizes the dump_tz stuff. Call set_time_zone_rule here, so that its xputenv is done before Emacs goes multithreaded. (mktime_z) [!HAVE_TZALLOC]: New function, which is typically thread-safe enough for Emacs. (format_time_string, Fdecode_time, Fcurrent_time_string) (Fcurrent_time_zone): Prefer localtime_r and gmtime_r, which are more thread-safe, to localtime and gmtime. Remove now-unnecessary calls to block_input. (tm_gmtoff): New static function. (Fdecode_time, Fcurrent_time_zone): Use it. (Fencode_time): Use mktime_z, for better thread-safety. (set_time_zone_rule): Now static. Rewrite to be mostly thread-safe, i.e., not quite thread-safe but good enough for Emacs typical usage. Do not reclaim storage that is in the environment; let it leak. Always call tzset, since localtime_r does not. * src/emacs.c (dump_tz, Fdump_emacs) [HAVE_TZSET]: Remove dump_tz stuff. This is now done in init_editfns. * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree) [!HAVE_TZALLOC]: New macros and declarations, for platforms lacking tzalloc & friends. Fixes: debbugs:8705
* | Fix mailaddress.Jan Djärv2014-10-111-1/+1
| |
* | * lisp.h (USE_STACK_STRING): Now true only if USE_STACK CONS.Paul Eggert2014-10-081-0/+9
| | | | | | | | | | | | | | | | On x86 platforms this works around GCC bug 63495 <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63495>, and more generally should fix a portability problem in Emacs. Problem reported by Stefan Monnier in: http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00261.html
* | Enhance terpri to allow conditionally output a newlineLeo Liu2014-10-091-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/streams.texi (Output Functions): Document new argument ENSURE to terpri. * doc/misc/cl.texi (Porting Common Lisp): Remove parse-integer. * lisp/emacs-lisp/cl-extra.el (cl-fresh-line): New function. * src/keymap.c (describe_vector_princ): * src/keyboard.c (Fcommand_error_default_function): Adapt to change to Fterpri. * src/print.c (printchar_stdout_last): Declare. (printchar): Record the last char written to stdout. (Fterpri): Add optional argument ENSURE. * test/automated/print-tests.el: New file. (terpri): Tests for terpri. (Bug#18652)
* | Fix bug #18649 with handling C-g on MS-Windows in -nw sessions.Eli Zaretskii2014-10-081-0/+7
| | | | | | | | | | | | | | | | | | src/w32inevt.c (maybe_generate_resize_event): Pass non-zero as the DELAY argument to change_frame_size, so that the frame size changes, if any are needed, are delayed until the next redisplay. This is to avoid a too early QUIT inside change_frame_size, when it calls Lisp in frame_windows_min_size, in case one of the events we've read sets the quit-flag.
* | Accept terminal devices on MS-Windows in APIs that accept frame or display.Eli Zaretskii2014-10-081-0/+5
| | | | | | | | | | src/w32fns.c (check_x_display_info): Accept terminal objects as argument, to follow what xfns.c does.
* | * admin/unidata/Makefile.in: Check for deleted uni- files. Glenn Morris2014-10-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | (all): Use unifiles rather than charprop.el. (FORCE): New variable and phony rule. (${unidir}/charprop.el): Respect FORCE. (unifiles): New rule. * src/Makefile.in ($(srcdir)/macuvs.h) ($(lispsource)/international/charprop.el): Add explicit FORCE. Fixes: debbugs:18489
* | Fix bug #18650 with warning about zlib when loading url-vars.el.Eli Zaretskii2014-10-071-0/+6
| | | | | | | | | | | | | | | | | | src/decompress.c (init_zlib_functions): Move the message about zlib being unavailable from here... (Fzlib_decompress_region): ...to here. lisp/url/url-http.el (url-http-create-request): Recheck zlib availability on windows-nt each time it might be required.
* | * font.c (Ffont_get_glyphs): Use validate_subarray and fixDmitry Antipov2014-10-071-0/+5
| | | | | | | | the case where an optional string is used. Adjust docstring.
* | * lisp/term/w32-win.el: Move all code from 32-common-fns.el here.Stefan Monnier2014-10-061-9/+12
| | | | | | | | | | | | | | | | | | | | | | (gui-select-text, gui-selection-value): Use w32 handlers in the w32 console as well. * lisp/w32-common-fns.el: Remove. * lisp/loadup.el: Don't load w32-common-fns.el. * w32-fns.elc: Don't require w32-common-fns. * src/lisp.mk (lisp): Remove w32-common-fns.elc. Fixes: debbugs:18629
* | * keyboard.c (Qleft, Qright): Remove duplicate definitions.Paul Eggert2014-10-051-0/+7
| | | | | | | | | | | | These were already defined in buffer.c, and the duplicate definitions cause problems on platforms like 'gcc -fno-common'. Reported by Peter Dyballa in: http://bugs.gnu.org/9927#137