1. 14 Oct, 2013 3 commits
    • Dmitry Antipov's avatar
      * termhooks.h (FRAME_MUST_WRITE_SPACES, FRAME_LINE_INS_DEL_OK) · 77e3b1b7
      Dmitry Antipov authored
      (FRAME_CHAR_INS_DEL_OK, FRAME_SCROLL_REGION_OK)
      (FRAME_SCROLL_REGION_COST, FRAME_MEMORY_BELOW_FRAME):
      Adjust to match the change described below.
      (struct terminal): Move must_write_spaces, line_ins_del_ok,
      char_ins_del_ok, scroll_region_ok, scroll_region_cost and
      memory_below_frame members to...
      * termchar.h (struct tty_display_info): ...here because they're
      relevant only on TTYs.  Prefer unsigned bitfield where appropriate.
      * term.c (init_tty):
      * nsterm.m (ns_create_terminal):
      * w32term.c (w32_create_terminal):
      * xterm.c (x_create_terminal): Adjust users.
      * dispnew.c (line_hash_code, line_draw_cost): Pass frame arg
      to filter out non-TTY frames.  Adjust comment.
      (scrolling): Adjust user.  Prefer eassert for debugging check.
      77e3b1b7
    • Dmitry Antipov's avatar
      * xfaces.c (PT_PER_INCH): Remove unused macro. · e558436b
      Dmitry Antipov authored
      * termhooks.h (struct terminal): Remove set-but-unused
      member fast_clear_end_of_line.
      (FRAME_FAST_CLEAR_END_OF_LINE): Remove.
      * nsterm.m (ns_create_terminal):
      * term.c (init_tty):
      * w32term.c (w32_create_terminal):
      * xterm.c (x_create_terminal): Adjust users.
      e558436b
    • Paul Eggert's avatar
      * lisp.h (bool_vector_size): New function. · 1c0a7493
      Paul Eggert authored
      All uses of XBOOL_VECTOR (x)->size changed to bool_vector_size (x).
      * data.c (bool_vector_spare_mask, bool_vector_binop_driver)
      (Fbool_vector_not, Fbool_vector_count_matches_at):
      Remove uses of 'eassume' that should no longer be needed,
      because they are subsumed by the 'eassume' in bool_vector_size.
      1c0a7493
  2. 13 Oct, 2013 1 commit
  3. 12 Oct, 2013 1 commit
    • Eli Zaretskii's avatar
      Avoid compilation warnings in image.c. · 567f95ec
      Eli Zaretskii authored
       src/image.c (GIFLIB_MAJOR, GIFLIB_MINOR, GIFLIB_RELEASE): Move back
       after inclusion of gif_lib.h, thus fixing compiler warnings caused
       by 2013-10-10T19:15:33Z!eggert@cs.ucla.edu.
      567f95ec
  4. 11 Oct, 2013 8 commits
    • Eli Zaretskii's avatar
      Support frame dimension changes while TTY menus are displayed. · abe02020
      Eli Zaretskii authored
       src/xdisp.c (deep_copy_glyph_row): Handle the case that FROM and TO
       have different dimensions.
       src/dispnew.c (fill_up_frame_row_with_spaces): Now has external
       visibility.
       src/dispextern.h (fill_up_frame_row_with_spaces): Add prototype.
      
      Fixes: debbugs:15575
      abe02020
    • Dmitry Antipov's avatar
      * term.c (tty_menu_show): Never return with unbalanced · 9428abbf
      Dmitry Antipov authored
      specpdl.  Use eassert for debugging check.  Adjust style.
      9428abbf
    • Eli Zaretskii's avatar
      Menu item selection on TTYs is now cyclical. · 052bac0b
      Eli Zaretskii authored
       src/term.c (read_menu_input): Make selection of menu items
       cyclical.  Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
       (tty_menu_activate): Fix off-by-one error when computing max_y.
      052bac0b
    • Ted Zlatanov's avatar
      Support GnuTLS v3 and set up its audit logging properly. · e1f9f9e3
      Ted Zlatanov authored
      * configure.ac: Define HAVE_GNUTLS3 if GnuTLS v3 is found.
      
      * src/gnutls.c (gnutls_audit_log_function): Add function for GnuTLS
      audit logging (only used with GnuTLS 3.x) and enable it.
      e1f9f9e3
    • Dmitry Antipov's avatar
      * dispnew.c (redraw_frame): Remove useless #ifdef because · 7d563e36
      Dmitry Antipov authored
      FRAME_MSDOS_P is a compile-time zero everywhere except MS-DOS.
      Also, move TTY fflush to...
      * term.c (tty_update_end): ...this function.
      7d563e36
    • Eli Zaretskii's avatar
      Fix bug #15575 with crashes in TTY menus. · 48621e69
      Eli Zaretskii authored
       src/xdisp.c (display_tty_menu_item): Make sure we never write beyond
       the end of the frame's glyph matrix.
       src/term.c (tty_menu_display): Don't move cursor while overwriting
       frame's glyphs with menu items.  Limit the number of items
       displayed to what can be shown on the available screen lines,
       excluding the echo area.
       (tty_menu_activate): Limit the Y coordinate allowed by
       read_menu_input to the last screen line used for menu display.
      48621e69
    • Paul Eggert's avatar
      * lisp.h (eassume): New macro. · b9ff995e
      Paul Eggert authored
      Also, include <verify.h>, for 'assume'.
      * alloc.c (bool_vector_payload_bytes, Fmake_bool_vector)
      (vroundup, vector_nbytes):
      * data.c (bool_vector_spare_mask, bool_vector_binop_driver)
      (Fbool_vector_not, Fbool_vector_count_matches)
      (Fbool_vector_count_matches_at):
      Use eassume, not eassert.
      * casetab.c (set_identity, shuffle):
      * composite.c (composition_gstring_put_cache):
      * dispnew.c (update_frame_1):
      * ftfont.c (ftfont_shape_by_flt):
      * image.c (gif_load):
      * intervals.c (offset_intervals):
      * macfont.m (macfont_shape):
      Remove calls to 'assume' that are no longer needed, because
      --enable-gcc-warnings no longer generates bogus warnings
      when these calls are removed.
      b9ff995e
    • Dmitry Antipov's avatar
      33ac0265
  5. 10 Oct, 2013 7 commits
    • Stefan Monnier's avatar
      * src/fileio.c (Fsubstitute_in_file_name): Use substitute-env-in-file-name. · ee041f2d
      Stefan Monnier authored
      (Qsubstitute_env_in_file_name): New var.
      (syms_of_fileio): Define it.
      * lisp/env.el (substitute-env-in-file-name): New function.
      (substitute-env-vars): Extend the meaning of the optional arg.
      ee041f2d
    • Eli Zaretskii's avatar
      Attempt to fix crashes per bug #15575. · 00036e1d
      Eli Zaretskii authored
       src/xdisp.c (deep_copy_glyph_row): Assert that the 'used' counts of
       FROM and TO are identical.  Copy only the glyphs of TEXT_AREA.
       src/term.c (save_and_enable_current_matrix): Don't allocate and
       don't save margin areas.
       (restore_desired_matrix): Don't restore margin areas.
       (free_saved_screen): Don't free margin areas.
      00036e1d
    • Paul Eggert's avatar
      * image.c: Pacify --enable-gcc-warnings. · 99149625
      Paul Eggert authored
      (GIFLIB_MAJOR, GIFLIB_MINOR, GIFLIB_RELEASE, fn_GifErrorString):
      #define only if used.
      99149625
    • Eli Zaretskii's avatar
      MS-Windows follow-up to 2013-10-10T01:03:11Z!rgm@gnu.org: support giflib 5.x. · a5dab159
      Eli Zaretskii authored
       src/image.c (GIFLIB_MAJOR): Define to 4 if undefined.
       (GIFLIB_MINOR, GIFLIB_RELEASE): Define to zero if undefined.
       (GifErrorString) [GIFLIB_MAJOR >= 5]: Define a function pointer.
       (gif_load): For giflib v5.x and later, display the error message
       produced by giflib when its functions fail.
       (syms_of_image) <Qlibgif_version> [HAVE_NTGUI]: New DEFSYM.
      
       lisp/term/w32-win.el (dynamic-library-alist): Define separate lists
       of GIF DLLs for versions before and after 5.0.0 of giflib.
      
      Fixes: debbugs:15531
      a5dab159
    • Dmitry Antipov's avatar
      * keyboard.c (last_event_timestamp): Remove. For X selection and · 6bbe6da8
      Dmitry Antipov authored
      GTK popup menus, it may be obtained from per-frame X display info.
      (kbd_buffer_store_event_hold, kbd_buffer_get_event)
      (process_special_events): Adjust users.
      * keyboard.h (last_event_timestamp): Remove declaration.
      * xmenu.c (xmenu_show, create_and_show_popup_menu): Lost last arg.
      Use FRAME_DISPLAY_INFO (f)->last_user_time for gtk_menu_popup.
      * menu.h (xmenu_show): Adjust prototype.
      * menu.c (Fx_popup_menu): Adjust user.
      * xselect.c (x_own_selection, x_get_foreign_selection)
      (Fx_disown_selection_internal): Use dpyinfo->last_user_time.
      6bbe6da8
    • Dmitry Antipov's avatar
      * keyboard.c (init_kboard): Now static. Add arg · 1afcba63
      Dmitry Antipov authored
      to denote window system.  Adjust comment.
      (init_keyboard): Adjust user.
      (allocate_kboard): New function.
      (syms_of_keyboard):
      * nsterm.m (ns_term_init):
      * term.c (init_tty):
      * w32term.c (w32_create_terminal):
      * xterm.c (x_term_init): Use it.
      * keyboard.h (init_kboard): Remove prototype.
      (allocate_kboard): Add prototype.
      1afcba63
    • Barry Fishman's avatar
      Handle giflib 5 changes (tiny change) · f3606ef7
      Barry Fishman authored
      * configure.ac: Update for giflib 5. 
      
      * src/image.c (GIFLIB_MAJOR): Ensure it's defined.
      (DGifOpen, DGifOpenFileName): Handle giflib 5 syntax.  (Bug#15531)
      f3606ef7
  6. 09 Oct, 2013 8 commits
  7. 08 Oct, 2013 11 commits
  8. 07 Oct, 2013 1 commit
    • Paul Eggert's avatar
      Improve support for popcount and counting trailing zeros. · 595e113b
      Paul Eggert authored
      Do this by using the Gnulib modules for this.
      This should generate faster code on non-GCC, non-MSC platforms,
      and make the code a bit more portable, at least in theory.
      * admin/merge-gnulib (GNULIB_MODULES): Add count-one-bits
      and count-trailing-zeros.
      * lib/count-one-bits.c, lib/count-one-bits.h:
      * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
      * m4/count-one-bits.m4, m4/count-trailing-zeros.m4:
      New files, copied from gnulib.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
      * src/data.c: Include <count-one-bits.h>, <count-trailing-zeros.h>.
      (USE_MSC_POPCOUNT, POPCOUNT_STATIC_INLINE)
      (NEED_GENERIC_POPCOUNT, popcount_size_t_generic)
      (popcount_size_t_msc, popcount_size_t_gcc):
      Remove; now done by Gnulib.
      (popcount_size_t): Now a macro that defers to Gnulib.
      (count_trailing_zero_bits): Return int, for consistency with
      Gnulib and because Emacs prefers signed to unsigned int.
      Don't assume that size_t is either unsigned int or unsigned long
      or unsigned long long.
      (size_t_to_host_endian): Do not assume that size_t is either
      exactly 32 or exactly 64 bits wide.
      * src/lisp.h (BITS_PER_SIZE_T): Define consistently with BITS_PER_LONG
      etc., so that it's now an enum constant, not a macro.
      No need to assume that it's either 32 or 64.
      
      Fixes: debbugs:15550
      595e113b