1. 03 Apr, 2015 3 commits
    • Jan D's avatar
      Introduce limited Xpm support (32 bit ZPixmap) for Cairo. · 74c4ce27
      Jan D authored
      * configure.ac (HAVE_RSVG): Move after cairo.
      (USE_CAIRO): Disable rsvg, don't disable Xpm.
      
      * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
      (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
      don't return early.
      (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
      (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
      and create a surface.
      74c4ce27
    • Jan D's avatar
      Tool tips for menus did not show any text. · 5558a144
      Jan D authored
      * src/xterm.c (x_update_begin): Don't create any surface for non-visible
      tip frames, the geometry may be wrong.
      5558a144
    • Jan D's avatar
      Don't optimized away tool tip redraw, may lead to corrupted text. · c775195c
      Jan D authored
      * src/xterm.c (handle_one_xevent): Always redraw tool tips on
      MapNotify.  Update tool tip frame sizes on ConfigureNotify.
      c775195c
  2. 31 Mar, 2015 1 commit
  3. 29 Mar, 2015 1 commit
    • Jan D's avatar
      Fixes: debbugs:19175 · 4d2e7e17
      Jan D authored
      * gtkutil.c (xg_display_open):
      * xterm.c (x_display_ok, x_term_init): Block SIGIO when opening
      a display.
      4d2e7e17
  4. 28 Mar, 2015 2 commits
  5. 27 Mar, 2015 7 commits
    • Paul Eggert's avatar
      Avoid some core dumps in X session management · 01d1024b
      Paul Eggert authored
      Derived from a bug report by Nicolas Richard in:
      http://bugs.gnu.org/20191#20
      * xsmfns.c (smc_save_yourself_CB): Don't dump core if
      invocation-name is not a string.  Initialize user-login-name if it
      is not already initialized, and don't dump core if it is not a
      string.
      (create_client_leader_window): Don't dump core if x-resource-name
      and x-resource-class are not both strings.
      (x_session_initialize): Don't dump core if x-session-previous-id,
      invocation-directory, and invocation-name are not strings.
      01d1024b
    • Paul Eggert's avatar
      Port user-login-name initialization to Qnil == 0 · 589a4034
      Paul Eggert authored
      * editfns.c (Fuser_login_name, Fuser_real_login_name)
      (syms_of_editfns): Don't rely on all-bits-zero being an Elisp integer,
      as this is no longer true now that Qnil == 0.
      589a4034
    • Paul Eggert's avatar
      Assume !BROKEN_NON_BLOCKING_CONNECT · 087fdee7
      Paul Eggert authored
      From a suggestion by Eli Zaretskii in:
      http://lists.gnu.org/archive/html/emacs-devel/2015-03/msg00824.html
      * process.c (NON_BLOCKING_CONNECT): Simplify by assuming that
      BROKEN_NON_BLOCKING_CONNECT is not defined.
      (SELECT_CAN_DO_WRITE_MASK): Remove, and assume it's now true.
      087fdee7
    • Eli Zaretskii's avatar
      Fix crashes when restoring sub-char-tables from desktop file · 9552a65f
      Eli Zaretskii authored
       src/lread.c (substitute_object_recurse): For sub-char-tables, start
       the recursive SUBSTITUTE loop from index of 2, to skip the
       non-Lisp members of the sub-char-table.  See the discussion at
       http://lists.gnu.org/archive/html/emacs-devel/2015-03/msg00520.html
       for the details.
      9552a65f
    • Eli Zaretskii's avatar
    • Eli Zaretskii's avatar
      Support non-blocking connect on MS-Windows (Bug#20207) · d133cf83
      Eli Zaretskii authored
       Based on ideas from Kim F. Storm <storm@cua.dk>, see
       http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg00873.html.
      
       src/w32proc.c (reader_thread): If the FILE_CONNECT flag is set, call
       '_sys_wait_connect'.  If it returns STATUS_CONNECT_FAILED, exit
       the thread with code 2.
       (sys_select): Support 'wfds' in addition to 'rfds'.  If a
       descriptor in 'wfds' has its bit set, but the corresponding
       fd_info member doesn't have its FILE_CONNECT flag set, ignore the
       descriptor.  Otherwise, acknowledge a successful non-blocking
       connect by resetting the FILE_CONNECT flag and setting cp->status
       to STATUS_READ_ACKNOWLEDGED.
       src/w32.h (STATUS_CONNECT_FAILED): New enumeration value.
       (struct _child_process): New member 'errcode'.
       (FILE_CONNECT): New flag.
       (_sys_wait_connect): Add prototype.
       src/w32.c (pfn_WSAEnumNetworkEvents): New function pointer.
       (init_winsock): Load WSAEnumNetworkEvents from winsock DLL.
       (set_errno): Map WSAEWOULDBLOCK and WSAENOTCONN.
       (sys_connect): Support non-blocking 'connect' calls by setting the
       FILE_CONNECT flag in the fd_info member and returning EINPROGRESS.
       (_sys_read_ahead): Add debug message if this function is called
       for a descriptor that waits for a non-blocking connect to complete.
       (_sys_wait_connect): New function.
       (sys_read): Support STATUS_CONNECT_FAILED.  Return the error code
       recorded by _sys_wait_connect when the non-blocking connect
       failed.  Don't call WSAGetLastError before a call to set_errno had
       a chance to use its value, since WSAGetLastError clears the last
       error.
      
       nt/inc/ms-w32.h (BROKEN_NON_BLOCKING_CONNECT): Don't define.
      d133cf83
    • NicolasPetton's avatar
      8478885d
  6. 25 Mar, 2015 2 commits
  7. 24 Mar, 2015 2 commits
    • Paul Eggert's avatar
      Fix minor ldexp issues · 711770da
      Paul Eggert authored
      * doc/lispref/numbers.texi (Float Basics): Improve ldexp documentation.
      * src/floatfns.c (Fldexp): Require 2 args.  Avoid undefined behavior
      if the exponent is out of 'int' range.  Improve documentation.
      Fixes: bug#20185
      711770da
    • Daniel Colascione's avatar
      Make process-running-child-p return foreground process group ID · 23a98c7a
      Daniel Colascione authored
      * etc/NEWS: Mention change to `process-running-child-p`.
      
      * src/process.c (Fprocess_running_child_p): Return number identifier of
      the foreground process group if we know it.
      23a98c7a
  8. 23 Mar, 2015 2 commits
    • Paul Eggert's avatar
      Minor refactoring of new Fmake_process code · 24960fc7
      Paul Eggert authored
      * process.c (Fmake_process): Refactor to avoid call to Flength, to
      avoid cast to 'char **', and to reduce indenting and reuse of locals.
      24960fc7
    • Daiki Ueno's avatar
      Generalize start-process with keyword args · 47e0e319
      Daiki Ueno authored
      * src/process.c (Fmake_process): New function.
      (create_process, create_pty): Check p->pty_flag instead of
      Vprocess_connection_type.
      (syms_of_process): Register QCcommand, QCconnection_type, Qpty,
      Qpipe, and Smake_process.  Unregister Sstart_process.
      
      * lisp/subr.el (start-process): New function, ported from the C
      implementation.
      
      * doc/lispref/processes.texi (Asynchronous Processes): Mention
      `make-process'.
      
      * etc/NEWS: Mention `make-process'.
      47e0e319
  9. 22 Mar, 2015 3 commits
    • Glenn Morris's avatar
      ChangeLog fix · a4ff05a2
      Glenn Morris authored
      No need to merge to trunk, since it corrects a backported entry that
      should not appear in trunk.
      a4ff05a2
    • Jan D's avatar
      Backport 20156 fix (stack corruption) · ae3d7333
      Jan D authored
      Fixes: debbugs:20156
      
      * src/fontset.c (fontset_pattern_regexp): Backport: Replace + 1 with
      + 3 in alloca (tiny change)
      ae3d7333
    • Jan D's avatar
      Fixes: debbugs:20156 · 32315502
      Jan D authored
      * src/fontset.c (fontset_pattern_regexp): Replace + 1 with + 3 for
      regexsize.
      32315502
  10. 21 Mar, 2015 1 commit
  11. 18 Mar, 2015 1 commit
    • Stefan Monnier's avatar
      Add classes as run-time descriptors of cl-structs. · 872481d9
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class): New function.
      (cl--make-slot-desc): New constructor.
      (cl--plist-remove, cl--struct-register-child): New functions.
      (cl-struct-define): Rewrite.
      (cl-structure-class, cl-structure-object, cl-slot-descriptor)
      (cl--class): New structs.
      (cl--struct-default-parent): Initialize it here.
      * lisp/emacs-lisp/cl-macs.el (cl--find-class): New macro.
      (cl-defsubst, cl--defsubst-expand, cl--sublis): Move before first use.
      (cl--struct-default-parent): New var.
      (cl-defstruct): Adjust to new representation of classes; add
      default parent.  In accessors, signal `wrong-type-argument' rather than
      a generic error.
      (cl-struct-sequence-type, cl-struct-slot-info)
      (cl-struct-slot-offset): Rewrite.
      * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-specializers)
      (cl-generic-generalizers): Rewrite.
      * src/alloc.c (purecopy): Handle hash-tables.
      
      * lisp/emacs-lisp/debug.el (debug--implement-debug-on-entry):
      Bind inhibit-debug-on-entry here...
      (debug): Instead of here.
      
      * lisp/emacs-lisp/macroexp.el (macroexp--debug-eager): New var.
      (internal-macroexpand-for-load): Use it.
      
      * lwlib/xlwmenu.c (pop_up_menu): Remove debugging code.
      872481d9
  12. 16 Mar, 2015 1 commit
    • Stefan Monnier's avatar
      Add `predicate' arg to `read-buffer' and use it for erc-iswitchb · f925fc93
      Stefan Monnier authored
      Fixes: debbugs:20116
      
      * src/minibuf.c (Fread_buffer): Add `predicate' argument.
      * src/callint.c (Fcall_interactively): Adjust calls accordingly.
      
      * lisp/erc/erc.el (erc-switch-to-buffer): Rename from erc-iswitchb and rewrite
      using read-buffer.
      (erc--buffer-p): New function, extracted from erc-buffer-filter.
      (erc-buffer-filter): Use it.
      (erc-with-all-buffers-of-server): Silence compile warning if the return
      value is unused.
      (erc-is-valid-nick-p, erc-common-server-suffixes, erc-get-arglist)
      (erc-command-name, erc-popup-input-buffer): Use \` and \' to match
      beg/end of string.
      
      * lisp/obsolete/iswitchb.el (iswitchb-read-buffer): Add `predicate' arg.
      * lisp/isearchb.el (isearchb-iswitchb): Adjust accordingly.
      * lisp/ido.el (ido-read-buffer): Add `predicate' argument.
      * lisp/misearch.el (unload-function-defs-list): Declare before use.
      f925fc93
  13. 15 Mar, 2015 1 commit
    • Eli Zaretskii's avatar
      Fix subtle problems with linum-mode and invisible text · 4e5eb854
      Eli Zaretskii authored
       src/xdisp.c (handle_invisible_prop): Fix up it->position even when
       we are going to load overlays at the beginning of the invisible
       text.
       (setup_for_ellipsis): Reset the ignore_overlay_strings_at_pos_p
       flag also here.
       (next_overlay_string): Set the overlay_strings_at_end_processed_p
       flag only if the overlays just processed were actually loaded at
       EOB.
      4e5eb854
  14. 14 Mar, 2015 2 commits
  15. 13 Mar, 2015 2 commits
  16. 12 Mar, 2015 2 commits
    • Eli Zaretskii's avatar
      Fix support of scripts in w32font.c (Bug#19993) · fc10058a
      Eli Zaretskii authored
       src/w32font.c (font_supported_scripts): Add subranges for Latin
       Supplement, Latin Extended-A/B, Vai, Supplemental Punctuation, Tai
       Le, Buginese, Yijing Hexagrams, Ancient Greek Numbers, Tai Xuan
       Jing, Counting Rods, Sundanese, Lepcha, Ol Chiki, Saurashtra,
       Kayah Li, Rejang, Ancient Symbols, Phistos Disc, Carian, Lycian,
       Lydian, Dominoe Tiles, and Mahjong Tiles.  Break the Mathematical
       Alphanumeric Symbols into several "scripts" like fontset.el does.
       (syms_of_w32font): DEFSYM all the new script symbols.
      
       lisp/international/fontset.el (script-representative-chars): Add a
       representative character for 'vai'.
      fc10058a
    • Glenn Morris's avatar
      Fix --no-bitmap-icon · cc113215
      Glenn Morris authored
      * src/frame.h (x_set_bitmap_icon): Don't set the icon if icon-type is
      nil/not present in the parameter alist.
      
      Fixes: debbugs:19680
      cc113215
  17. 07 Mar, 2015 1 commit
    • Eli Zaretskii's avatar
      Partially revert the fix for bug #11732 · e851da35
      Eli Zaretskii authored
       src/w32fns.c <ImmReleaseContext_Proc, ImmSetCompositionWindow_Proc>:
       Fix typedefs to be consistent with the corresponding w32 API
       signatures.
       (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Don't invoke
       DefWindowProc if we successfully handled the message, as doing so
       causes problems in displaying selection dialogs.
      e851da35
  18. 05 Mar, 2015 2 commits
    • Paul Eggert's avatar
      Work around x86 glibc backtrace bug · cbc9d8d4
      Paul Eggert authored
      * sysdep.c (emacs_backtrace): Don't dump core on x86.
      Fixes: bug#19959
      cbc9d8d4
    • Eli Zaretskii's avatar
      Fix region extension when scroll bar is on the right · 1be3bd0a
      Eli Zaretskii authored
       src/keyboard.c (make_lispy_position): When the click is on the
       right-side vertical scroll bar, pass the rightmost X coordinate to
       buffer_posn_from_coords, so that the returned text position
       reflects the closest point to the click.  Fixes region extension
       when mouse moves outside the Emacs frame that has scroll bars on
       the right.
      1be3bd0a
  19. 04 Mar, 2015 2 commits
  20. 03 Mar, 2015 2 commits
    • Daniel Colascione's avatar
      Rename gc-precise-p to gc-precise · 15ddf7a6
      Daniel Colascione authored
      2015-03-03  Daniel Colascione  <dancol@dancol.org>
      
      	* alloc.c (syms_of_alloc): Rename `gc-precise-p' to `gc-precise'.
      
      2015-03-03  Daniel Colascione  <dancol@dancol.org>
      
      	* automated/finalizer-tests.el (finalizer-basic)
      	(finalizer-circular-reference, finalizer-cross-reference)
      	(finalizer-error): Rename `gc-precise-p' to `gc-precise'.
      
      	* automated/generator-tests.el (cps-test-iter-close-finalizer):
      	Rename `gc-precise-p' to `gc-precise'.
      15ddf7a6
    • Paul Eggert's avatar
      * alloc.c (run_finalizers): Omit unused local. · a6fb5e2d
      Paul Eggert authored
      Also, redo newly-added code as per usual Emacs style.
      a6fb5e2d