aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* * src/nsterm.m (ns_term_shutdown): Synchronize user defaults before exiting ↵William Xu2011-05-282-0/+7
| | | | (Bug#8239).
* src/ChangeLog: Fix last entry.Eli Zaretskii2011-05-281-2/+2
|
* avoid a sign-extension bug in crypto_hash_functionJim Meyering2011-05-282-2/+18
| | | | | | | | | | * fns.c (to_uchar): Define. (crypto_hash_function): Use it to convert some newly-signed variables to unsigned, to avoid sign-extension bugs. For example, without this change, (md5 "truc") would evaluate to 45723a2aff78ff4fff7fff1114760e62 rather than the expected 45723a2af3788c4ff17f8d1114760e62. Reported by Antoine Levitt in http://thread.gmane.org/gmane.emacs.devel/139824
* src/ccl.c: Fix last commit.Eli Zaretskii2011-05-281-0/+1
|
* Fix order of ChangeLog entries after merge.Paul Eggert2011-05-271-4/+4
|
* Merge from trunk.Paul Eggert2011-05-272-2/+8
|\
| * * src/xselect.c (x_convert_selection): Yet another int/Lisp_Object mixup.Stefan Monnier2011-05-272-2/+8
| |
* | * data.c (arith_driver): Omit unnecessary mask and test.Paul Eggert2011-05-271-3/+0
| |
* | Merge: Integer overflow fixes.Paul Eggert2011-05-2713-569/+855
|\ \ | |/ |/|
| * * dbusbind.c (xd_invalid_serial): Remove. (Bug#8722)Paul Eggert2011-05-242-9/+1
| |
| * Add Bug#.Paul Eggert2011-05-231-2/+3
| |
| * * dbusbind.c: Serial number integer overflow fixes.Paul Eggert2011-05-232-22/+60
| | | | | | | | | | | | | | | | | | | | (CHECK_DBUS_SERIAL_GET_SERIAL): New macro. (xd_invalid_serial): New static function. (Fdbus_call_method_asynchronously, xd_read_message_1): Use a float to hold a serial number that is too large for a fixnum. (Fdbus_method_return_internal, Fdbus_method_error_internal): Check for serial numbers out of range. Decode any serial number that was so large that it became a float.
| * * dbusbind.c (xd_read_message_1): Don't assume dbus_uint32_t can fit in int.Paul Eggert2011-05-232-4/+7
| |
| * * dbusbind.c: Use XFASTINT rather than XUINT, and check for nonneg.Paul Eggert2011-05-232-18/+26
| | | | | | | | | | | | | | | | | | (Fdbus_call_method, Fdbus_call_method_asynchronously): Use XFASTINT rather than XUINT when numbers are nonnegative. (xd_append_arg, Fdbus_method_return_internal): (Fdbus_method_error_internal): Likewise. Also, for unsigned arguments, check that Lisp number is nonnegative, rather than silently wrapping negative numbers around.
| * * data.c (arith_driver, Flsh): Avoid unnecessary casts to EMACS_UINT.Paul Eggert2011-05-232-3/+8
| |
| * * ccl.c (ccl_driver): Redo slightly to avoid the need for 'unsigned'.Paul Eggert2011-05-222-4/+6
| |
| * Add bug#.Paul Eggert2011-05-221-1/+1
| |
| * ccl: add integer overflow checksPaul Eggert2011-05-222-100/+140
| | | | | | | | | | | | | | | | | | | | * ccl.c (CCL_CODE_MAX, GET_CCL_RANGE, GET_CCL_CODE, GET_CCL_INT): (IN_INT_RANGE): New macros. (ccl_driver): Use them to check for integer overflow when decoding a CCL program. Many of the new checks are whether XINT (x) fits in int; it doesn't always, on 64-bit hosts. The new version doesn't catch all possible integer overflows, but it's an improvement.
| * * alloc.c (make_event_array): Use XINT, not XUINT.Paul Eggert2011-05-222-1/+4
| | | | | | | | There's no need for unsigned here.
| * * mem-limits.h (EXCEEDS_LISP_PTR) [!USE_LSB_TAG]: EMACS_UINT -> uintptr_tPaul Eggert2011-05-222-3/+8
| | | | | | | | | | This follows up to the 2011-05-06 change that substituted uintptr_t for EMACS_INT. This case wasn't caught back then.
| * Merge from trunk.Paul Eggert2011-05-225-70/+95
| |\
| * | Rework Fformat to avoid integer overflow issues.Paul Eggert2011-05-222-383/+548
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * editfns.c: Include <float.h> unconditionally, as it's everywhere now (part of C89). Include <verify.h>. (MAX_10_EXP, CONVERTED_BYTE_SIZE): Remove; no longer needed. (pWIDE, pWIDElen, signed_wide, unsigned_wide): New defns. (Fformat): Avoid the prepass trying to compute sizes; it was only approximate and thus did not catch overflow reliably. Instead, walk through the format just once, formatting and computing sizes as we go, checking for integer overflow at every step, and allocating a larger buffer as needed. Keep track separately whether the format is multibyte. Keep only the most-recently calculated precision, rather than them all. Record whether each argument has been converted to string. Use EMACS_INT, not int, for byte and char and arg counts. Support field widths and precisions larger than INT_MAX. Avoid sprintf's undefined behavior with conversion specifications such as %#d and %.0c. Fix bug with strchr succeeding on '\0' when looking for flags. Fix bug with (format "%c" 256.0). Avoid integer overflow when formatting out-of-range floating point numbers with int formats. (Bug#8668)
| * | * lisp.h (FIXNUM_OVERFLOW_P): Work even if arg is a NaN.Paul Eggert2011-05-222-3/+6
| | |
| * | * data.c: Avoid integer truncation in expressions involving floats.Paul Eggert2011-05-202-2/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * data.c: Include <intprops.h>. (arith_driver): When there's an integer overflow in an expression involving floating point, convert the integers to floating point so that the resulting value does not suffer from catastrophic integer truncation. For example, on a 64-bit host (* 4 most-negative-fixnum 0.5) should yield about -4.6e+18, not zero. Do not rely on undefined behavior after integer overflow.
| * | merge count_size_as_multibyte, parse_str_to_multibytePaul Eggert2011-05-207-37/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * character.c, character.h (count_size_as_multibyte): Renamed from parse_str_to_multibyte; all uses changed. Check for integer overflow. * insdel.c, lisp.h (count_size_as_multibyte): Remove, since it's now a duplicate of the other. This is more of a character than a buffer op, so better that it's in character.c. * fns.c, print.c: Adjust to above changes.
* | | * xselect.c: Fix minor problems prompted by GCC 4.6.0 warnings.Paul Eggert2011-05-272-7/+11
| | | | | | | | | | | | | | | | | | (x_handle_selection_request, frame_for_x_selection): Remove unused vars. (x_clipboard_manager_save): Now static. (Fx_clipboard_manager_save): Rename local to avoid shadowing.
* | | * fns.c: Fix minor problems prompted by GCC 4.6.0 warnings.Paul Eggert2011-05-272-10/+14
| | | | | | | | | | | | | | | (crypto_hash_function): Now static. Fix pointer signedness problems. Avoid unnecessary initializations.
* | | Support X clipboard managers.Chong Yidong2011-05-276-305/+401
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/select.el (xselect-convert-to-targets): Add MULTIPLE target to list. (xselect-convert-to-save-targets): New function. * src/xselect.c: Support for clipboard managers. (Vselection_alist): Move to termhooks.h as terminal-local var. (LOCAL_SELECTION): New macro. (x_atom_to_symbol): Handle x_display_info_for_display fail case. (symbol_to_x_atom): Remove gratuitous arg. (x_handle_selection_request, lisp_data_to_selection_data) (x_get_foreign_selection, Fx_register_dnd_atom): Callers changed. (x_own_selection, x_get_local_selection, x_convert_selection): New arg, specifying work frame. Use terminal-local Vselection_alist. (some_frame_on_display): Delete unused function. (Fx_own_selection_internal, Fx_get_selection_internal) (Fx_disown_selection_internal, Fx_selection_owner_p) (Fx_selection_exists_p): New optional frame arg. (frame_for_x_selection, Fx_clipboard_manager_save): New functions. (x_handle_selection_clear): Don't treat other terminals with the same keyboard specially. Use the terminal-local Vselection_alist. (x_clear_frame_selections): Use Frun_hook_with_args. * src/termhooks.h (Vselection_alist): Make it terminal-local. * src/terminal.c (create_terminal): Initialize it. * src/xterm.c (x_term_init): Intern ATOM and CLIPBOARD_MANAGER atoms. * src/xterm.h: Add support for those atoms.
* | | src/xselect.c (x_handle_selection_request): Fix typo in last change.Chong Yidong2011-05-261-5/+5
| | |
* | | * src/xselect.c: ICCCM-compliant handling of MULTIPLE targets.Chong Yidong2011-05-262-343/+329
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (converted_selections, conversion_fail_tag): New global variables. (x_selection_request_lisp_error): Free the above. (x_get_local_selection): Remove unnecessary code. (x_reply_selection_request): Args changed; handle arbitrary array of converted selections stored in converted_selections. Separate the XChangeProperty and SelectionNotify steps. (x_handle_selection_request): Rewrite to handle MULTIPLE target. (x_convert_selection): New function. (x_handle_selection_event): Simplify. (x_get_foreign_selection): Don't ignore incoming requests while waiting for an answer; this will fail when we implement SAVE_TARGETS, and seems unnecessary anyway. (selection_data_to_lisp_data): Recognize ATOM_PAIR type. (Vx_sent_selection_functions): Doc fix.
* | | Allow empty regions in transpose-regionsLeo Liu2011-05-262-2/+7
| | | | | | | | | | | | See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8699.
* | | Merge from emacs-23; up to 2010-06-12T08:59:37Z!albinus@detlef.Glenn Morris2011-05-245-27/+77
|\ \ \
| * | | Take account of periodic fringe bitmap's dependency on y-position in redrawing.YAMAMOTO Mitsuharu2011-05-255-23/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * dispextern.h (struct glyph_row): New member fringe_bitmap_periodic_p. * dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row for fringe update if it has periodic bitmap. (row_equal_p): Also compare left_fringe_offset, right_fringe_offset, and fringe_bitmap_periodic_p. * fringe.c (get_fringe_bitmap_data): New function. (draw_fringe_bitmap_1, update_window_fringes): Use it. (update_window_fringes): Record periodicity of fringe bitmap in glyph row. Mark glyph row for fringe update if periodicity changed. * xdisp.c (try_window_reusing_current_matrix): Don't mark scrolled row for fringe update unless it has periodic bitmap.
| * | | xdisp.c (get_next_display_element): Set correct it->face_id for a static ↵Kenichi Handa2011-05-252-2/+19
| | | | | | | | | | | | | | | | composition.
* | | | Implement primitive `sha1' and remove sha1.elLeo Liu2011-05-244-38/+104
| |_|/ |/| |
* | | * gnutls.c: Remove unused macros.Paul Eggert2011-05-222-3/+8
| | | | | | | | | | | | | | | | | | | | | (fn_gnutls_transport_set_lowat, fn_gnutls_transport_set_pull_function): (fn_gnutls_transport_set_push_function) [!WINDOWSNT]: Remove macros that are defined and never used. Caught by gcc -Wunused-macros (GCC 4.6.0, Fedora 14).
* | | Remove var mistakenly introduced in 2011-05-22T19:46:47Z!cyd@stupidchicken.com.Chong Yidong2011-05-222-19/+19
| | | | | | | | | | | | | | | | | | | | | * src/xselect.c (syms_of_xselect): Remove unused symbol SAVE_TARGETS. (Fx_get_selection_internal): Minor cleanup. (Fx_own_selection_internal): Rename arguments for consistency with select.el.
* | | * xselect.c (QSAVE_TARGETS): New static var, to fix build failure.Paul Eggert2011-05-222-1/+5
| | |
* | | * src/xselect.c (syms_of_xselect): Include character.h; use DEFSYM.Chong Yidong2011-05-222-32/+24
| | |
* | | Merge from emacs-23; up to 2010-06-11T18:51:00Z!juri@jurta.org.Glenn Morris2011-05-202-12/+23
|\ \ \ | |/ /
| * | * dispnew.c (scrolling_window): Don't exclude the case that theYAMAMOTO Mitsuharu2011-05-212-12/+23
| | | | | | | | | | | | last enabled row in the desired matrix touches the bottom boundary.
* | | * src/Makefile.in (SOME_MACHINE_OBJECTS): Add some more files.Glenn Morris2011-05-202-1/+14
| | |
* | | * src/Makefile.in ($(etc)/DOC): Make second command line even shorter.Glenn Morris2011-05-202-1/+5
| |/ |/|
* | Fix the MSDOS build as follows from 2011-05-19T06:04:16Z!rgm@gnu.org, ↵Eli Zaretskii2011-05-202-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2011-05-20T00:41:03Z!rgm@gnu.org. config.bat: Concatenate lisp.mk onto the end of src/Makefile. msdos/sed1v2.inp (make-docfile commands): Recognize only if the line begins with a TAB. Use $(etc) rather than a literal "../etc". (`sed SED-COMMAND $(srcdir)/lisp.mk`): Edit to replace with "$(lisp). (@lisp_frag@): Edit out. msdos/sedlibmk.inp (GNULIB_GROUP_MEMBER, HAVE_GROUP_MEMBER): Edit to zero. src/callproc.c (Fcall_process) [MSDOS]: Fix arguments to report_file_error introduced by the change from 2011-05-07.
* | * systime.h (Time): Define only if emacs is defined.Paul Eggert2011-05-192-3/+12
| | | | | | | | | | | | This is to allow ../lib-src/profile.c to be compiled on FreeBSD, where the include path doesn't have X11/X.h by default. See <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00561.html>.
* | merge trunkKenichi Handa2011-05-203-247/+197
|\ \
| * | Remove $shortlisp from src/Makefile.in.Glenn Morris2011-05-193-250/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.in (lisp_frag): New output file. * src/lisp.mk: New file, split from Makefile.in, and inheriting its copyright years. * src/Makefile.in (lisp): Move to separate file, inserted by @lisp_frag@. (shortlisp): Remove. ($(etc)/DOC): Edit lisp.mk rather than using $shortlisp. * lisp/loadup.el, doc/misc/Makefile.in: Comment changes.
| * | Remove the SOME_MACHINE_LISP distinction in src/Makefile.in.Glenn Morris2011-05-182-145/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See discussion in http://debbugs.gnu.org/8302 * configure.in (NS_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT) (WINDOW_SUPPORT): Remove output variables that are no longer used. * lib-src/makefile.w32-in (echolisp): Remove rule that is no longer needed. (clean): No more echolisp.tmp. * .bzrignore: Remove lib-src/echolisp.tmp. * lisp/emacs-lisp/autoload.el (batch-update-autoloads): Set autoload-excludes by parsing lisp/loadup.el rather than Makefiles. * lisp/loadup.el: Update commentary. * msdos/sed1x.inp (TOOLTIP_SUPPORT, WINDOW_SUPPORT): * msdos/sed1v2.inp (MSDOS_SUPPORT, NS_SUPPORT, MOUSE_SUPPORT) (TOOLTIP_SUPPORT, WINDOW_SUPPORT): No need to edit these any more. * src/Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT) (REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT) (BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove. (lisp): Set the order to that of loadup.el. (shortlisp): Make it a copy of $lisp. (SOME_MACHINE_LISP): Remove. ($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too. Use just $shortlisp, not $SOME_MACHINE_LISP too.
* | | composite.c (find_automatic_composition): Fix previous change.Kenichi Handa2011-05-202-1/+5
|/ /
* | merge trunkKenichi Handa2011-05-1929-129/+311
|\ \