summaryrefslogtreecommitdiff
path: root/ChangeLog
Commit message (Expand)AuthorAgeFilesLines
* Use just LIBXMENU, not LIBXMENU_DIR and LIBXMENU_BASE....This simplifies the previous change to configure.ac and src/Makefile.in. Paul Eggert2013-11-211-2/+3
* Fix some dependency problems that cause unnecessary recompiles....Problem reported by RMS in <http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00421.html>. * configure.ac (OLDXMENU_TARGET, OLDXMENU, LIBXMENU, OLDXMENU_DEPS): Remove. (LIBXMENU_DIR, LIBXMENU_BASE): New vars. * src/Makefile.in (OLDXMENU_TARGET, OLDXMENU, OLDXMENU_DEPS) (really-lwlib, really-oldXMenu, stamp-oldxmenu) (../src/$(OLDXMENU), $(OLDXMENU)): Remove. (LIBXMENU_DIR, LIBXMENU_BASE): New macros. (LIBXMENU): Use them. (temacs$(EXEEXT)): Depend on $(LIBXMENU), not stamp-oldxmenu. ($(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a, FORCE): New targets. (boostrap-clean): No need to remove stamp-oldxmenu. Paul Eggert2013-11-201-0/+7
* * make-dist: Distribute build-aux/msys-to-w32.Glenn Morris2013-11-191-0/+4
* * Makefile.in (msys_to_w32, msys_lisppath_to_w32): Remove....(msys_w32prefix_subst): Rename from msys_prefix_subst. Operate on w32prefixpattern. (epaths-force-w32): Use build-aux/msys-to-w32. * build-aux/msys-to-w32: New file. Dani Moncayo2013-11-191-0/+8
* * configure.ac (DEBUGGER_SEES_C_MACROS): Remove....* src/lisp.h (DEBUGGER_SEES_C_MACROS): Likewise. It apparently doesn't work for GCC 3, and I suppose it's more trouble than it's worth to worry about this. Paul Eggert2013-11-161-0/+6
* * configure.ac (DEBUGGER_SEES_C_MACROS): New macro....* src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN, DEFINE_GDB_SYMBOL_END): Define to empty if DEBUGGER_SEES_C_MACROS is defined. This avoids placing unnecessary constants into the Emacs code. Paul Eggert2013-11-141-0/+4
* Simplify, port and tune bool vector implementation....* configure.ac (BITSIZEOF_SIZE_T, SIZEOF_SIZE_T): Remove. * src/alloc.c (bool_vector_exact_payload_bytes) (bool_vector_payload_bytes): Remove. (bool_vector_fill): Return its argument. * src/alloc.c (bool_vector_fill): * src/lread.c (read1): * src/print.c (print_object): Simplify by using bool_vector_bytes. * src/alloc.c (make_uninit_bool_vector): New function, broken out from Fmake_bool_vector. (Fmake_bool_vector): Use it. Use tail call. (make_uninit_bool_vector, vector_nbytes): Simplify size calculations. * src/data.c (BITS_PER_ULL): New constant. (ULLONG_MAX, count_one_bits_ll): Fall back on long counterparts if long long versions don't exist. (shift_right_ull): New function. (count_one_bits_word): New function, replacing popcount_bits_word macro. Don't assume that bits_word is no wider than long long. (count_one_bits_word, count_trailing_zero_bits): Don't assume that bits_word is no wider than long long. * src/data.c (bool_vector_binop_driver, bool_vector_not): * src/fns.c (Fcopy_sequence): * src/lread.c (read1): Create an uninitialized destination, to avoid needless work. (internal_equal): Simplify. (Ffillarray): Prefer tail call. * src/data.c (bool_vector_binop_driver): Don't assume bit vectors always contain at least one word. (bits_word_to_host_endian): Prefer if to #if. Don't assume chars are narrower than ints. * src/data.c (Fbool_vector_count_matches, Fbool_vector_count_matches_at): * src/fns.c (Fcopy_sequence): Simplify and tune. * src/lisp.h (bits_word, BITS_WORD_MAX, BITS_PER_BITS_WORD): Don't try to port to hosts where bits_word values have holes; the code wouldn't work there anyway. Verify this assumption, though. (bool_vector_bytes): New function. (make_uninit_bool_vector): New decl. (bool_vector_fill): Now returns Lisp_Object. Paul Eggert2013-11-131-0/+5
* * Makefile.in (ACLOCAL_INPUTS): Add configure.ac.Paul Eggert2013-11-131-0/+4
* Remove nt/msysconfig.sh...* configure.ac [MINGW32]: Source nt/mingw-cfg.site. * make-dist: Don't distribute nt/msysconfig.sh. * nt/msysconfig.sh: Remove. * nt/INSTALL: Update for this. * nt/mingw-cfg.site: Comment. Dani Moncayo2013-11-111-0/+3
* * Makefile.in (epaths-force-w32): Simplify w32srcdir computation.Dani Moncayo2013-11-111-0/+4
* Merge from gnulib....This incorporates: 2013-11-08 extern-inline: port better to OS X 10.9 2013-11-08 fpending: fix regression on DragonFly BSD * lib/fpending.h, m4/extern-inline.m4, m4/fpending.m4: Update from gnulib. Paul Eggert2013-11-081-0/+8
* Port to C11 aligned_alloc, and fix some integer overflows....* configure.ac (GMALLOC_OBJ): Initialize to empty if !system_malloc and doug_lea_malloc. (aligned_alloc): Test for existence if !GMALLOC_OBJ and not darwin. (posix_memalign): Test for existence only if !GMALLOC_OBJ and not darwin and !aligned_alloc. * src/alloc.c (USE_ALIGNED_ALLOC): New symbol. (USE_POSIX_MEMALIGN): Remove. All uses replaced with USE_ALIGNED_ALLOC, and use of posix_memalign replaced with aligned_alloc. (aligned_alloc): New function, defined or declared as needed. * src/conf_post.h (HAVE_POSIX_MEMALIGN) [DARWIN_OS]: Don't undef; configure.ac now does this. * src/gmalloc.c (aligned_alloc) [MSDOS]: New decl. (calloc, aligned_alloc): Check for integer overflow. (aligned_alloc): Rename from memalign. All uses changed. (memalign): New function, an alias for aligned_alloc. Paul Eggert2013-11-061-0/+9
* * Makefile.in (epaths-force-w32): Move srcdir tweak here...* configure.ac (abs_srcdir) [MINGW32]: No point setting it here, config.status computes it. Glenn Morris2013-11-051-0/+4
* Correct the top-level ChangeLog.Eli Zaretskii2013-11-051-2/+0
* * make-dist: Don't distribute old, unsupported w32 build method.Glenn Morris2013-11-051-0/+2
* Remove the autogen/ directory...Ref: http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00806.html * autogen: Remove directory. Move update_autogen to admin/. * autogen.sh: Remove reference to copy_autogen. * GNUmakefile (configure): * Makefile.in (bootstrap): Do not try to run copy_autogen. * config.bat: Use msdos/autogen rather than autogen. * admin/update_autogen: Move here from ../autogen. (usage): Update. Remove -l, add -A. (autogendir): New variable. (ldefs_flag): Default to set. (genfiles): Reduce to only ms-dos relevant files. (main): Make checking autogen sources optional. Make copying of autogen files optional. * msdos/autogen/config.in: * msdos/autogen/Makefile.in: Move here from ../autogen. * nt/INSTALL: Remove reference to copy_autogen. * nt/config.nt: Comment. Glenn Morris2013-11-041-0/+8
* Simplify and port recent bool vector changes....* configure.ac (BITSIZEOF_SIZE_T, SIZEOF_SIZE_T): New symbols to configure. * src/alloc.c (ROUNDUP): Move here from lisp.h, since it's now used only in this file. Use a more-efficient implementation if the second argument is a power of 2. (ALIGN): Rewrite in terms of ROUNDUP. Make it a function. Remove no-longer-necessary compile-time checks. (bool_vector_exact_payload_bytes): New function. (bool_vector_payload_bytes): Remove 2nd arg; callers that need exact payload changed to call the new function. Do not assume that the arg or result fits in ptrdiff_t. (bool_vector_fill): New function. (Fmake_bool_vector): Use it. Don't assume bit counts fit in ptrdiff_t. (vroundup_ct): Don't assume arg fits in size_t. * src/category.c (SET_CATEGORY_SET): Remove. All callers now just invoke set_category_set. (set_category_set): 2nd arg is now EMACS_INT and 3rd is now bool. All callers changed. Use bool_vector_set. * src/category.h (XCATEGORY_SET): Remove; no longer needed. (CATEGORY_MEMBER): Now a function. Rewrite in terms of bool_vector_bitref. * src/data.c (Faref): Use bool_vector_ref. (Faset): Use bool_vector_set. (bits_word_to_host_endian): Don't assume you can shift by CHAR_BIT. (Fbool_vector_not, Fbool_vector_count_matches) (Fbool_vector_count_matches_at): Don't assume CHAR_BIT == 8. * src/fns.c (concat): Use bool_vector_ref. (Ffillarray): Use bool_vector_fill. (mapcar1): Use bool_vector_ref. (sxhash_bool_vector): Hash words, not bytes. * src/lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Now a macro as well as a constant, since it's now used in #if. (bits_word, BITS_WORD_MAX, BITS_PER_BITS_WORD): Fall back on unsigned char on unusual architectures, so that we no longer assume that the number of bits per bits_word is a power of two or is a multiple of 8 or of CHAR_BIT. (Qt): Add forward decl. (struct Lisp_Bool_Vector): Don't assume EMACS_INT is aligned at least as strictly as bits_word. (bool_vector_data, bool_vector_uchar_data): New accessors. All data structure accesses changed to use them. (bool_vector_words, bool_vector_bitref, bool_vector_ref) (bool_vector_set): New functions. (bool_vector_fill): New decl. (ROUNDUP): Move to alloc.c as described above. Paul Eggert2013-11-041-0/+6
* Fix bug #15260 with building and installing Emacs in non-ASCII directories.... src/xdisp.c (message3_nolog, message_with_string): Encode the string before writing it to the terminal in a non-interactive session. src/lread.c (openp): If both FILENAME and SUFFIX are unibyte, make sure we concatenate them into a unibyte string. src/fileio.c (make_temp_name): Encode PREFIX, and decode the resulting temporary name before returning it to the caller. (Fexpand_file_name): If NAME is pure-ASCII and DEFAULT_DIRECTORY is a unibyte string, convert NAME to a unibyte string to ensure that the result is also a unibyte string. src/emacs.c (init_cmdargs): Use build_unibyte_string to make sure we create unibyte strings from default paths and directory/file names. src/coding.h (ENCODE_FILE): Do not attempt to encode a unibyte string. src/callproc.c (init_callproc): Use build_unibyte_string to make sure we create unibyte strings from default paths and directory/file names. src/buffer.c (init_buffer): Don't store default-directory of *scratch* in multibyte form. The original problem which led to that is described in http://lists.gnu.org/archive/html/emacs-pretest-bug/2004-11/msg00532.html, but it was solved long ago. lisp/startup.el (normal-top-level): Move setting eol-mnemonic-unix, eol-mnemonic-mac, eol-mnemonic-dos, and also setup of the locale environment and decoding all of the default-directory's to here from command-line. (command-line): Decode also argv[0]. lisp/loadup.el: Error out if default-directory is a multibyte string when we are dumping. lisp/Makefile.in (emacs): Don't set LC_ALL=C. leim/Makefile.in (RUN_EMACS): Don't set LC_ALL=C. configure.ac: Don't disallow builds in non-ASCII directories. Eli Zaretskii2013-11-041-0/+5
* Port to stricter C99 platforms....Especially, C99 prohibits nesting a struct X inside struct Y if struct X has a flexible array member. Also, merge from gnulib, incorporating: 2013-11-03 intprops: port to Oracle Studio c99 * lib/intprops.h: Update from gnulib. * src/alloc.c (struct sdata): New type. (sdata): Implement in terms of struct sdata. Remove u member; all uses replaced by next_vector, set_next_vector. (SDATA_SELECTOR, SDATA_DATA, SDATA_DATA_OFFSET): Adjust to sdata change. (SDATA_DATA_OFFSET): Now a constant, not a macro. (struct sblock): Rename first_data member to data, which is now a flexible array member. All uses changed. (next_vector, set_next_vector, large_vector_vec): New functions. (vector_alignment): New constant. (roundup_size): Make it a multiple of ALIGNOF_STRUCT_LISP_VECTOR, too. (struct large-vector): Now merely a NEXT member, since the old approach ran afoul of stricter C99. All uses changed to use large_vector_vec or large_vector_offset. (large_vector_offset): New constant. * src/dispnew.c: Include tparam.h, for tgetent. Do not include term.h; no longer needed. * src/gnutls.c (Fgnutls_boot): Don't continue after calling a _Noreturn. * src/lisp.h (ENUM_BF) [__SUNPRO_C && __STDC__]: Use unsigned int. (struct Lisp_Vector): Use a flexible array member for contents, instead of a union with a member that is an array of size 1. All uses changed. (ALIGNOF_STRUCT_LISP_VECTOR): New constant, to make up for the fact that the struct no longer contains a union. (struct Lisp_Misc_Any, struct Lisp_Marker, struct Lisp_Overlay) (struct Lisp_Save_Value, struct Lisp_Free): Use unsigned, not int, for spacers, to avoid c99 warning. (union specbinding): Use unsigned, not bool, for bitfield, as bool is not portable to pre-C99 hosts. Paul Eggert2013-11-031-0/+7
* test/automated: Use relative filename for emacs executable...* Makefile.in (check): Depend on all. * test/automated/Makefile.in (abs_top_builddir): Remove variable. (EMACS): Use a relative file name. (lisp-compile): Remove (assume it's up-to-date). (compile-main): Do not run lisp-compile. (check): Use --chdir. Glenn Morris2013-11-021-0/+4
* * configure.ac: Use [!...] rather than [^...], for ksh. (Bug#15769)Glenn Morris2013-10-311-0/+4
* * Makefile.in (distclean, bootstrap-clean, maintainer-clean):...Also clean admin/unidata, if present. * admin/unidata/Makefile.in (bootstrap-clean): New rule. Glenn Morris2013-10-291-0/+5
* * configure.ac: It seems installing in non-ASCII is not, in fact, ok.Glenn Morris2013-10-271-0/+4
* * configure.ac: It seems _installing_ in non-ASCII is ok, not building.Glenn Morris2013-10-241-0/+4
* Avoid non-portable "` ... \"...\" ... `" nesting...* configure.ac: * Makefile.in (install-arch-indep, install-etcdoc, install-info): * lib-src/Makefile.in ($(DESTDIR)${archlibdir}): * nt/Makefile.in ($(DESTDIR)${archlibdir}): Avoid non-portable "`\" nesting. Glenn Morris2013-10-241-0/+4
* Attempt at a fix for mingw CPPFLAGS...* configure.ac (CPPFLAGS) [mingw32]: Use abs_top_srcdir. * Makefile.in (abs_top_srcdir): * lib-src/Makefile.in (abs_top_srcdir): * lwlib/Makefile.in (abs_top_srcdir): * nt/Makefile.in (abs_top_srcdir): * oldXMenu/Makefile.in (abs_top_srcdir): * src/Makefile.in (abs_top_srcdir): New, set by configure. Glenn Morris2013-10-231-0/+6
* * configure.ac (src/.gdbinit): Use ac_abs_top_srcdir.Glenn Morris2013-10-231-0/+1
* * Makefile.in (epaths-force-w32): Use abs_srcdirGlenn Morris2013-10-231-1/+1
* * configure.ac: Explicit error for non-ASCII directories...Fixes: debbugs:15260 Glenn Morris2013-10-231-0/+2
* More Makefile quoting...* Makefile.in (install-arch-dep, install-nt, uninstall, uninstall-nt): Quote entities that might contain whitespace. Glenn Morris2013-10-231-1/+2
* Progress towards allowing installation in directories with whitespace...* Makefile.in (COPYDESTS, write_subdir, install-arch-dep) (install-arch-indep, install-etcdoc, install-info, install-man) (install-etc, uninstall): Quote entities that might contain whitespace. * build-aux/update-subdirs: Handle whitespace in argument. Check cd return value. * doc/emacs/Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. * doc/lispintro/Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. * doc/lispref/Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. * doc/misc/Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. * lib-src/Makefile.in ($(DESTDIR)${archlibdir}, need-blessmail, install) (uninstall): Quote entities that might contain whitespace. * nt/Makefile.in ($(DESTDIR)${archlibdir}, install, uninstall): Quote entities that might contain whitespace. Glenn Morris2013-10-231-0/+7
* Make building in directories with whitespace possible...Make has trouble with targets containing whitespace, http://savannah.gnu.org/bugs/?712, so the general approach is to use relative paths where possible. It's generally only Emacs itself that needs absolute paths, eg in src/epaths.h. * configure.ac (srcdir): Don't make it absolute - abs_srcdir exists. * Makefile.in (abs_srcdir): New, set by configure. (buildlisppath): Use abs_srcdir. (install-arch-indep, install-etcdoc, install-info, install-man) (install-etc): Quote entities that might contain whitespace. * admin/unidata/Makefile.in (emacs, ${DSTDIR}/charprop.el): Quote entities that might contain whitespace. * leim/Makefile.in (abs_srcdir): New, set by configure. (buildlisppath): Use abs_srcdir. (RUN_EMACS, .el.elc, changed.tit, changed.misc, leim-list.el) ($(srcdir)/ja-dic/ja-dic.el, setwins, distclean, check-declare): Quote entities that might contain whitespace. * lib-src/Makefile.in ($(DESTDIR)${archlibdir}): Quote entities that might contain whitespace. * lisp/Makefile.in (abs_srcdir, abs_lisp): New, set by configure. (emacs, compile, compile-always): Quote entities that might contain whitespace. (custom-deps, finder-data, autoloads): Use abs_lisp. ($(MH_E_DIR)/mh-loaddefs.el, $(TRAMP_DIR)/tramp-loaddefs.el) ($(CAL_DIR)/cal-loaddefs.el, $(CAL_DIR)/diary-loaddefs.el) ($(CAL_DIR)/hol-loaddefs.el): Manually expand target file name. * nextstep/Makefile.in (${ns_check_file} ${ns_appdir}): Quote entities that might contain whitespace. * nt/Makefile.in ($(DESTDIR)${archlibdir}): Quote entities that might contain whitespace. * src/Makefile.in (RUN_TEMACS): Make relative (again). ($(leimdir)/leim-list.el, .el.elc, $(lispsource)/loaddefs.el) (bootstrap-emacs$(EXEEXT)): Quote entities that might contain whitespace. * test/automated/Makefile.in (abs_top_srcdir, top_builddir): New, set by configure. (top_srcdir): Remove. (abs_test, abs_lispsrc): New. (lisp): No longer absolute. (emacs, lisp-compile, compile, compile-always): Quote entities that might contain whitespace. Fixes: debbugs:15675 Glenn Morris2013-10-221-0/+9
* Merge from gnulib....This incorporates: 2013-10-14 acl: allow cross-compilation to Gentoo 2013-10-18 extern-inline: make safe for -Wundef usage 2013-09-30 fpending: use pure+const function attrs * lib/fpending.h, m4/acl.m4, m4/extern-inline.m4: Update from gnulib. Paul Eggert2013-10-221-0/+8
* * configure.ac [alpha]: Explicit error in non-ELF case. ...* doc/emacs/ack.texi (Acknowledgments): Comment out old alpha stuff. * lisp/emacs-lisp/authors.el (authors-fixed-entries): Comment out old alpha stuff. Fixes: debbugs:15601 Glenn Morris2013-10-131-0/+4
* Merge from gnulib....This incorporates: 2013-10-10 strtoumax: port to Solaris 8 2013-10-09 strtoimax, strtoumax: port to HP-UX 11.11 * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/inttypes.in.h, lib/strtoimax.c, m4/inttypes.m4, m4/strtoimax.m4: * m4/strtoumax.m4: Update from gnulib. Paul Eggert2013-10-121-0/+10
* * configure.ac (LIBGNUTLS): Don't set LIBGNUTLS_* back to the empty...string when gnutls2 is installed but gnutls3 is not. Stefan Monnier2013-10-111-0/+5
* Support GnuTLS v3 and set up its audit logging properly....* 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. Ted Zlatanov2013-10-111-0/+4
* Handle giflib 5 changes (tiny change)...* configure.ac: Update for giflib 5. * src/image.c (GIFLIB_MAJOR): Ensure it's defined. (DGifOpen, DGifOpenFileName): Handle giflib 5 syntax. (Bug#15531) Barry Fishman2013-10-091-0/+4
* Support menus on text-mode terminals.... src/xterm.h (xw_popup_dialog): Add prototype. src/xmenu.c (Fx_popup_dialog): Function moved to menu.c. (xmenu_show): Block input here, instead in Fx_popup_menu. (xw_popup_dialog): New function, with X-specific bits of popup dialogs. src/xdisp.c (deep_copy_glyph_row, display_tty_menu_item): New functions. src/window.c (Fset_window_configuration): Use run-time tests of the frame type instead of compile-time conditionals, when menu-bar lines are considered. src/w32term.h (w32con_hide_cursor, w32con_show_cursor) (w32_popup_dialog): New prototypes. src/w32menu.c (Fx_popup_dialog): Function deleted. (w32_popup_dialog): New function, with w32 specific bits of popup dialogs. Block input here. src/w32inevt.c (w32_console_read_socket): Minor change to add debugging TTY events. src/w32fns.c (show_hourglass): If returning early because the frame is not a GUI frame, unblock input. src/w32console.c (w32con_hide_cursor, w32con_show_cursor, cursorX) (cursorY): New functions. src/termhooks.h (cursorX, cursorY): Prototypes of functions on WINDOWSNT, macros that call curX and curY elsewhere. src/termchar.h (struct tty_display_info) <showing_menu>: New flag. src/term.c (tty_hide_cursor, tty_show_cursor) [WINDOWSNT]: Call w32 specific function to hide and show cursor on a text-mode terminal. (tty_menu_struct, struct tty_menu_state): New structures. (tty_menu_create, tty_menu_make_room, tty_menu_search_pane) (tty_menu_calc_size, mouse_get_xy, tty_menu_display) (have_menus_p, tty_menu_add_pane, tty_menu_add_selection) (tty_menu_locate, save_and_enable_current_matrix) (restore_desired_matrix, screen_update, read_menu_input) (tty_menu_activate, tty_menu_destroy, tty_menu_help_callback) (tty_pop_down_menu, tty_menu_last_menubar_item) (tty_menu_new_item_coords, tty_menu_show): New functions. (syms_of_term): New DEFSYMs for tty-menu-* symbols. src/nsterm.h (ns_popup_dialog): Adjust prototype. src/nsmenu.m (ns_menu_show): Block and unblock input here, instead of in x-popup-menu. (ns_popup_dialog): Adapt order of arguments to the other *_menu_show implementations. (Fx_popup_dialog): Function deleted. src/msdos.c (x_set_menu_bar_lines): Delete unused function. src/menu.h (tty_menu_show, menu_item_width): provide prototypes. src/menu.c (have_boxes): New function. (single_keymap_panes): Use it instead of a compile-time conditional. (single_menu_item): Use run-time tests of the frame type instead of compile-time conditionals. (encode_menu_string): New function. (list_of_items, list_of_panes): Use it instead of ENCODE_STRING the macro, since different types of frame need different encoding of menu items. (digest_single_submenu): Use run-time tests of frame type instead of, or in addition to, compile-time conditionals. (menu_item_width, Fmenu_bar_menu_at_x_y): New functions. (Fx_popup_menu): Detect when the function is called from keyboard on a TTY. Don't barf when invoked on a text-mode frame. Check frame type at run time, instead of compile-time conditionals for invoking terminal-specific menu-show functions. Call tty_menu_show on text-mode frames. (Fx_popup_dialog): Moved here from xmenu.c. Test frame types at run time to determine which alternative to invoke; support dialogs on TTYs. src/keyboard.h <Qmouse_movement>: Declare. src/keyboard.c <Qmouse_movement>: Now extern. <Qecho_keystrokes>: New static variable. (read_key_sequence): Accept an additional argument, a flag to prevent redisplay during reading of the key sequence. All callers changed. (read_menu_command): New function. (read_char): When COMMANDFLAG is -2, do not redisplay and do not autosave. (toolkit_menubar_in_use): New function. (make_lispy_event): Use it instead of a compile-time test. src/fns.c (Fyes_or_no_p) [HAVE_MENUS]: Don't condition on window-system being available. src/editfns.c (Fmessage_box) [HAVE_MENUS]: Don't condition the call to x-popup-dialog on the frame type, they all now support popup dialogs. src/dispnew.c (save_current_matrix): Save the margin areas. (restore_current_matrix): Restore margin areas. (update_frame_with_menu): New function. src/dispextern.h (display_tty_menu_item, update_frame_with_menu): Add prototypes. src/alloc.c (make_save_ptr): Now compiled unconditionally. lisp/tmm.el (tmm-menubar): Adapt doc string to TTY menus functionality. lisp/tooltip.el (tooltip-mode): Don't error out on TTYs. lisp/menu-bar.el (popup-menu, popup-menu-normalize-position): Moved here from mouse.el. (popup-menu): Support menu-bar navigation on TTYs using C-f/C-b and arrow keys. (tty-menu-navigation-map): New map for TTY menu navigation. lisp/loadup.el ("tooltip"): Load even if x-show-tip is not available. lisp/frame.el (display-mouse-p): Report text-mode mouse as available on w32. (display-popup-menus-p): Report availability if mouse is available; don't condition on window-system. lisp/faces.el (tty-menu-enabled-face, tty-menu-disabled-face) (tty-menu-selected-face): New faces. configure.ac (HAVE_MENUS): Define unconditionally. doc/emacs/screen.texi (Menu Bar): Adapt to TTY menus. doc/emacs/frames.texi (Frames): Mention menu support on text terminals. doc/emacs/files.texi (Visiting): Mention the "File" menu-bar menu. doc/emacs/display.texi (Standard Faces): Mention TTY faces for menus. doc/lispref/keymaps.texi (Defining Menus, Mouse Menus, Menu Bar): Modify wording to the effect that menus are supported on TTYs. doc/lisprefframes.texi (Pop-Up Menus, Dialog Boxes) (Display Feature Testing): Update for menu support on TTYs. etc/NEWS: Mention the new features. Eli Zaretskii2013-10-081-0/+4
|\
* | ChangeLog consistency.Paul Eggert2013-10-071-1/+1
* | Improve support for popcount and counting trailing zeros....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 Paul Eggert2013-10-071-0/+12
* | Use hardware support for byteswapping on glibc x86 etc....On Fedora 19 x86-64, the new bswap_64 needs 1 instruction, whereas the old swap64 needed 30. * admin/merge-gnulib (GNULIB_MODULES): Add byteswap. * lib/byteswap.in.h, m4/byteswap.m4: New files, copied from Gnulib. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * src/fringe.c (init_fringe_bitmap) [WORDS_BIGENDIAN]: * src/sound.c (le2hl, le2hs, be2hl) [!WINDOWSNT]: Use byteswap.h's macros to swap bytes. * src/lisp.h (swap16, swap32, swap64): Remove. All uses replaced by bswap_16, bswap_32, bswap_64. Paul Eggert2013-10-041-0/+6
* | Merge from gnulib....* src/conf_post.h (__has_builtin, assume): Remove; gnulib now does these. * src/lisp.h: Include <verify.h>, for 'assume'. This also incorpoprates: 2013-10-02 verify: new macro 'assume' 2013-09-26 dup2, dup3: work around another cygwin crasher 2013-09-26 getdtablesize: work around cygwin issue Paul Eggert2013-10-031-0/+7
|/
* Merge from gnulib....This incorporates: 2013-09-24 manywarnings: enable nicer gcc warning messages 2013-09-23 warnings: port --enable-gcc-warnings to Solaris Studio 12.3 2013-09-21 timespec: use the new TIMESPEC_RESOLUTION elsewhere * configure.ac (WERROR_CFLAGS): Omit -fdiagnostics-show-option and -funit-at-a-time, since manywarnings does that for us now. Paul Eggert2013-09-241-0/+9
* Suppress some unhelpful warnings when using clang....* configure.ac: With clang, check for and use -Wno-switch, -Wno-tautological-constant-out-of-range-compare and -Wno-pointer-sign. * conf_post.h(assume): Use __builtin_unreachable for clang. * src/filelock.c (lock_file_1): Rearrange to remove compiler warning about excess arguments to snprintf. Jan Djärv2013-09-231-0/+5
* Tell valgrind about conservative GC regions and suppress spurious...warings. * alloc.c (USE_VALGRIND): New macro; on by default when ENABLE_CHECKING. (mark_maybe_object,mark_maybe_pointer) [USE_VALGRIND]: Mark conservatively-scanned regions valid for valgrind purposes. (valgrind_p) [USE_VALGRIND]: New variable. (init_alloc) [USE_VALGRIND]: Initialize valgrind_p. Daniel Colascione2013-09-221-0/+4
* * INSTALL: New homepage of libtiff.Xue Fuqiao2013-09-201-0/+4
* Work around performance bug on OS X 10.8 and earlier....Perhaps Apple will fix this bug some day. See the thread starting with Daniel Colascione's email in: http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00343.html * configure.ac (FORTIFY_SOUR): New verbatim section. Paul Eggert2013-09-191-0/+8
* Merge from gnulib....This incorporates the following changes: 2013-09-19 stdio: OS X port of putc_unlocked + extern inline 2013-09-19 signal: OS X port of sigaddset etc. + extern inline 2013-09-19 extern-inline: do not always suppress extern inline on OS X 2013-09-17 getgroups: statement without effect 2013-08-28 headers: check that _GL_INLINE_HEADER_BEGIN is defined Paul Eggert2013-09-191-0/+9
* Fix MinGW builds from inside the MSYS installation tree.... configure.ac <srcdir> [MINGW32]: Make sure the value of 'srcdir' is in the full /d/foo/bar form. See the discussion in http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00210.html, and in particular http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00252.html and its followups, for the details. Eli Zaretskii2013-09-191-0/+9