1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-10 17:02:06 -07:00
Commit graph

36449 commits

Author SHA1 Message Date
Jan Djärv
ac225d22f6 * xfns.c (syms_of_xfns): Remove x-gtk-whole-detached-tool-bar. 2014-10-18 18:25:24 +02:00
Jan Djärv
3f4c6d52d3 Handle deprecated Gtk+ stuff for version <= 3.10
* 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.
2014-10-18 18:19:53 +02:00
Eli Zaretskii
a4c80e35cc A better fix for drawing hollow cursor on X on 1-pixel thin space characters.
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.
2014-10-18 16:09:18 +03:00
Eli Zaretskii
6b247d2873 Fix bidi reordering of bracket characters in isolates.
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.
2014-10-18 15:47:57 +03:00
Eli Zaretskii
b5e71861a3 Add support for canonically equivalent bracket characters. 2014-10-18 14:07:44 +03:00
Eli Zaretskii
1c39638499 Move cache retrieval on forwards scans to bidi_resolve_brackets. 2014-10-18 13:23:29 +03:00
Eli Zaretskii
022309033e Fix processing of brackets in isolates and crash in w32select.c. 2014-10-18 10:10:38 +03:00
Eli Zaretskii
4b6d6e6909 Ensure 8-byte stack alignment in w32select's callback.
src/w32select.c (owner_callback): Mark with ALIGN_STACK attribute.
2014-10-18 09:40:04 +03:00
Glenn Morris
1a1f8804c8 Merge from emacs-24; up to 2014-07-28T02:47:29Z!fgallina@gnu.org 2014-10-17 09:14:37 -07:00
Eli Zaretskii
cacd5c3580 Fix display on X of 1-pixel R2L characters.
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.
2014-10-17 09:43:36 +03:00
Eli Zaretskii
19068c105a Fix a typo in a comment. 2014-10-16 17:56:57 +03:00
Eli Zaretskii
e23e97d504 Cherry-pick a fix from trunk; fix level handling in bidi_resolve_brackets. 2014-10-16 16:18:00 +03:00
Eli Zaretskii
40018ffb38 src/bidi.c (bidi_find_bracket_pairs): Avoid a loop that does nothing useful. 2014-10-16 09:55:34 +03:00
Glenn Morris
10471ae361 Merge from emacs-24; up to 2014-07-27T18:05:37Z!eliz@gnu.org 2014-10-15 21:49:34 -04:00
Glenn Morris
affeda3b11 Tabify recent ChangeLog change 2014-10-15 21:47:10 -04:00
Paul Eggert
efd91b5847 * bidi.c (bidi_find_bracket_pairs): Initialize local var.
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.
2014-10-15 10:53:04 -07:00
Stefan Monnier
dcdf2bd8d6 * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Enable by default.
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.
2014-10-15 13:32:41 -04:00
Eli Zaretskii
f65b226e7a src/ChangeLog: Fix a typo. 2014-10-15 18:46:57 +03:00
Eli Zaretskii
ed7ebd933a Update the bidirectional reordering engine for Unicode 6.3 and 7.0.
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.
2014-10-15 17:11:25 +03:00
Dmitry Antipov
0b4d6d30be Avoid unwanted point motion in Fline_beginning_position.
* 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.
2014-10-15 17:37:10 +04:00
Eli Zaretskii
48af58622b Fix initialization of flags when pushing BPA stack. 2014-10-15 15:23:59 +03:00
Eli Zaretskii
4669732cc0 Rewrote bracket resolution to match subtleties of Reference Implementation. 2014-10-15 13:22:15 +03:00
Glenn Morris
55aa96681c Rewrite ChangeLog release notes to be less confusing 2014-10-15 00:22:14 -07:00
Eli Zaretskii
e3060a0c4d Merge from trunk and resolve conflicts. 2014-10-14 21:10:37 +03:00
Eli Zaretskii
b7e6292712 Fix resolution of neutrals that came out of the cache. 2014-10-14 16:32:53 +03:00
Eli Zaretskii
3fe73df071 Implement inhibit-bidi-mirroring; improve biditest.el. 2014-10-14 16:17:16 +03:00
Dmitry Antipov
bb75cdf9c7 Cleanup terminal handling code.
* 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.
2014-10-14 16:45:41 +04:00
Eli Zaretskii
c1621a49bd Increase 'level' in glyph struct; convert bad type aborts into assertions. 2014-10-14 12:16:02 +03:00
Eli Zaretskii
2b882ee755 Fix bug #18699 with startup aborts of 32-bit MinGW64 build.
src/w32term.h (ALIGN_STACK): Use _WIN64, not _W64, to distinguish
 between 32-bit and 64-bit MinGW builds.
2014-10-13 15:44:03 +03:00
Eli Zaretskii
e5500a96a7 Fixed BPA stack overflow and infloop with nested brackets. 2014-10-13 14:26:58 +03:00
Glenn Morris
b1d5ab0352 Merge from emacs-24; up to 2014-07-26T11:58:24Z!schwab@linux-m68k.org 2014-10-12 15:56:45 -07:00
Paul Eggert
ec11ab9b78 * editfns.c (dump_tz_string): No longer const.
It might be modified.
2014-10-12 13:36:49 -07:00
Paul Eggert
cc541e588a Spelling fixes. 2014-10-12 13:09:15 -07:00
Paul Eggert
80b20192ee * nsmenu.m (clear): Assume OS X 10.6 or later. 2014-10-12 11:02:47 -07:00
Eli Zaretskii
84e5bb98bf Fix bidi_cache_find when NEUTRALS_OK is false; RLI no longer aborts. 2014-10-12 20:13:14 +03:00
Eli Zaretskii
942ba67827 Refactored saving prev info, resolve_neutrals, and high-level cache access. 2014-10-12 19:23:43 +03:00
Paul Eggert
b73d3f5834 Update doc to say Mac OS X 10.6 or later now required.
* doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Basics)
(Mac / GNUstep Customization):
* nextstep/README: Mac OS X 10.6 or later now required.
2014-10-12 07:56:58 -07:00
Jan Djärv
9a265587d2 Require OSX >= 10.6. Remove PowerPC unexec code.
* 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:
2014-10-12 10:35:50 +02:00
Paul Eggert
4c4c5b9121 Fix putenv race conditions with undefined behavior.
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
2014-10-11 23:09:50 -07:00
Eli Zaretskii
4d5fab649d Reset bracket_resolved bit earlier; remove bytepos from bidi_saved_info. 2014-10-11 17:10:46 +03:00
Eli Zaretskii
8cc6103196 Rename type_after_w1 into type_after_wn. 2014-10-11 15:24:30 +03:00
Eli Zaretskii
4eb60cd3a1 Reset the bracket_resolved flag before advancing to next character. 2014-10-11 15:21:26 +03:00
Jan Djärv
da373d7b88 Fix mailaddress 2014-10-11 10:24:56 +02:00
Jan Djärv
1badfceee7 Fix mailaddress. 2014-10-11 10:22:00 +02:00
Paul Eggert
390c2f3bcc Fix port to Debian GNU/kFreeBSD 7 (wheezy).
* process.c (accept4) [!HAVE_ACCEPT4]: New macro.

Fixes: debbugs:18666
2014-10-10 11:02:09 -07:00
Eli Zaretskii
70939d8240 Fix assertion violations due to unresolvable neutrals in cache. 2014-10-10 16:31:23 +03:00
Eli Zaretskii
f6d76d1c6c Fixed crash at startup by starting bidi_bracket_type_t from 1, not zero. 2014-10-10 12:38:48 +03:00
Eli Zaretskii
18e91e6296 Added BPA. Emacs aborts at startup. 2014-10-09 20:54:42 +03:00
Paul Eggert
078c4dc635 Spelling fixes. 2014-10-09 08:59:41 -07:00
Stefan Monnier
d7a6097b57 * src/frame.c (Fmouse_pixel_position): Call Vmouse_position_function.
Fixes: debbugs:18638
2014-10-09 09:50:10 -04:00