summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Further fix for bug #11860 with Arabic display on Windows.Eli Zaretskii2012-09-012-16/+30
| | | | | | src/w32uniscribe.c (uniscribe_shape): Handle correctly the case of more than one grapheme cluster passed to the shaper: compute the offset adjustment values separately for each cluster.
* Remove conflict markers and fix entries for ↵Eli Zaretskii2012-09-011-5/+4
| | | | 2012-09-01T06:38:52Z!dancol@dancol.org.
* Fix last changes related to w32 and Cygwin.Eli Zaretskii2012-09-012-0/+7
| | | | | | src/image.c: Restore mistakenly removed inclusion of w32.h. Without it, GCC doesn't see prototypes of w32_delayed_load, and complains about implicit conversions from integer to pointer.
* Prevent crash if w32 used before it's initializedDaniel Colascione2012-09-012-1/+6
|
* Merge from cygw32 branchDaniel Colascione2012-09-0120-156/+176
|\
| * Refactor window-system configurationDaniel Colascione2012-08-3120-156/+175
| | | | | | | | | | | | | | | | | | | | This change streamlines the window system selection code in configure.in and moves many common function declarations from window-specific headers to frame.h. It introduces a new TERM_HEADER macro in config.h: we set this macro to the right header to use for the window system for which we're compiling Emacs and have source files include it indirectly. This way, we don't have to teach every file about every window system.
* | * sysdep.c (seed_random): Fix typo: HAV_LRAND48 -> HAVE_LRAND48.Paul Eggert2012-08-311-1/+1
| | | | | | | | This fixes a bug on old systems that do not have the 'random' function.
* | Better seed support for (random).Paul Eggert2012-08-315-26/+39
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/numbers.texi (Random Numbers): Document new behavior of the calls (random) and (random STRING). * etc/NEWS: Document new behavior of (random), (random "string"). * lisp/play/5x5.el, lisp/play/animate.el, lisp/play/cookie1.el: * lisp/play/dissociate.el, lisp/play/doctor.el, lisp/play/dunnet.el: * lisp/play/gomoku.el, lisp/play/landmark.el, lisp/play/mpuz.el: * lisp/play/tetris.el, lisp/play/zone.el: * lisp/calc/calc-comb.el (math-init-random-base): * lisp/play/blackbox.el (bb-init-board): * lisp/play/life.el (life): * lisp/server.el (server-use-tcp): * lisp/type-break.el (type-break): Remove unnecessary call to (random t). * lisp/net/sasl.el (sasl-unique-id-function): Change (random t) to (random), now that the latter is more random. * lisp/play/life.el (life-initialized): Remove no-longer-needed var. * lisp/gnus/gnus-sync.el (gnus-sync-lesync-setup): * lisp/gnus/message.el (message-canlock-generate, message-unique-id): Change (random t) to (random), now that the latter is more random. * lisp/org/org-id.el (org-id-uuid): Change (random t) to (random), now that the latter is more random. * src/emacs.c (main): Call init_random. * src/fns.c (Frandom): Set the seed from a string argument, if given. Remove long-obsolete Gentzel cruft. * src/lisp.h, src/sysdep.c (seed_random): Now takes address and size, not long. (init_random): New function.
* Remove mark_ttys function and fix tty_display_info initialization.Dmitry Antipov2012-08-314-18/+11
| | | | | | | | | * lisp.h (mark_ttys): Remove prototype. * alloc.c (Fgarbage_collect): Remove redundant (and the only) call to mark_ttys because all possible values of 'top_frame' slot are the frames which are reachable from Vframe_list. * term.c (mark_ttys): Remove. (init_tty): Safely initialize 'top_frame' slot with Qnil.
* Change struct frame bitfields from unsigned char to unsigned.Dmitry Antipov2012-08-312-12/+21
| | | | | | | | * frame.h (struct frame): Change type of 'display_preempted', 'visible', 'iconified', 'has_minibuffer', 'wants_modeline', 'auto_raise', 'auto_lower', 'no_split', 'explicit_name', 'window_sizes_changed', 'mouse_moved' and 'pointer_invisible' bitfields from unsigned char to unsigned.
* Remove unused member of struct x_output and struct w32_output.Dmitry Antipov2012-08-313-6/+6
| | | | | * xterm.h (struct x_output): Remove unused field 'needs_exposure'. * w32term.h (struct w32_output): Likewise.
* * gtkutil.c (x_wm_set_size_hint): Use 1 col for base_width so itJan Djärv2012-08-302-2/+8
| | | | | | does not become zero. Fixes: debbugs:12234
* * dispnew.c (update_frame_1): Pacify gcc -Wstrict-overflowPaul Eggert2012-08-302-0/+6
| | | | for GCC 4.7.1 x86-64.
* init_lread fix for bug#12302Glenn Morris2012-08-292-3/+12
| | | | | | * src/lread.c (init_lread): For out-of-tree builds, only add the source directory's site-lisp dir to the load-path if it exists, consistent with in-tree builds.
* Improve NS dialogs. Add close button, remove ugly casts.Jan Djärv2012-08-283-39/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize button_values to NULL. Call setStykeMask so dialogs get a close button. (windowShouldClose:): Set window_closed. (dealloc): New member, free button_values. (process_dialog:): Make member function. Remove window argument, replace window with self. Count buttons and allocate and store values in button_values. (addButton:value:row:): value is int with the name tag. Call setTag with tag. Remove return self, declare return value as void. (addString:row:): Remove return self, declare return value as void. (addSplit): Remove return self, declare return value as void. (clicked:): Remove return self, declare return value as void. Set dialog_return to button_values[seltag]. Code formatting change. (initFromContents:isQuestion:): Adjust call to process_dialog. Code formatting change. (timeout_handler:): Set timer_fired to YES. (runDialogAt:): Set timer_fired to NO. Handle click on close button as quit. * nsterm.h (EmacsDialogPanel): Make timer_fired BOOL. Add window_closed and button_values. Add void as return value for add(Button|String|Split). addButton takes int instead of Lisp_Object. Add process_dialog as new member.
* Merge from emacs-24; up to 2012-05-04T19:17:01Z!monnier@iro.umontreal.caGlenn Morris2012-08-283-18/+45
|\
| * Update release logsemacs-24.2Chong Yidong2012-08-241-4/+4
| |
| * Fix bug #12242 with crashes in ralloc.c on OpenBSD.Eli Zaretskii2012-08-242-13/+37
| | | | | | | | | | src/ralloc.c (free_bloc): Don't dereference a 'heap' structure if it is not one of the heaps we manage.
| * Bump version to 24.2Chong Yidong2012-08-161-0/+4
| |
| * * src/eval.c (Fcalled_interactively_p): Doc fix. (Bug#11747)Glenn Morris2012-08-142-5/+8
| |
| * * systime.h (EMACS_TIME_CMP): Don't cast time_t values to long.Ulrich Mueller2012-08-142-7/+9
| | | | | | | | Fixes: debbugs:11712
| * Backport: Don't disable Unicode menus on Windows NT and later.Eli Zaretskii2012-08-133-2/+15
| | | | | | | | | | | | | | | | src/w32menu.c: Include w32heap.h. (add_menu_item): If the call to AppendMenuW (via unicode_append_menu) fails, disable Unicode menus only if we are running on Windows 9X/Me. src/makefile.w32-in ($(BLD)/w32menu.$(O)): Depend on w32heap.h.
| * Backport fix for Bug#11677 from trunkChong Yidong2012-08-132-17/+29
| |
| * Backports for 1995-05-29T20:16:10Z!kwzh@gnu.org, ↵Jan Djärv2012-08-123-34/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1995-05-03T21:38:13Z!rms@gnu.org and 1995-05-31T19:46:12Z!kwzh@gnu.org. * nsmenu.m (ns_update_menubar): Add braces to ambigous if-else. * nsmenu.m (Popdown_data): New struct. (pop_down_menu): p->pointer is Popdown_data. Release the pool and free Popdown_data. (ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu. (initWithContentRect): Make imgView and contentView non-static and autorelease them. Also autorelease img and matrix. (dealloc): Remove (Bug#1995-05-29T20:16:10Z!kwzh@gnu.org). * nsterm.m (keyDown:): Interpret flags without left/right bits as the left key (Bug#1995-05-03T21:38:13Z!rms@gnu.org). * nsterm.m (ns_read_socket): Return early if there is a modal window (Bug#1995-05-31T19:46:12Z!kwzh@gnu.org).
* | In Fset_window_configuration install revison of reverted fix.Martin Rudalics2012-08-282-1/+17
| | | | | | | | | | * window.c (Fset_window_configuration): Install revision of reverted fix.
* | Remove handling of auto-buffer-name window parameter.Martin Rudalics2012-08-282-15/+6
| | | | | | | | | | * window.c (Fset_window_configuration): Remove handling of auto-buffer-name window parameter.
* | Do not allow to set major mode for a dead buffer.Dmitry Antipov2012-08-282-4/+12
| | | | | | | | | | | | | | * buffer.c (Fset_buffer_major_mode): Signal an error if the buffer is dead. (Fother_buffer, other_buffer_safely): Remove redundant nested declaration.
* | Always use set_buffer_if_live to restore original buffer at unwind.Dmitry Antipov2012-08-2817-24/+37
| | | | | | | | | | | | | | | | * buffer.h (record_unwind_current_buffer): New function. * bytecode.c, dispnew.c, editfns.c, fileio.c, fns.c, insdel.c: * keyboard.c, keymap.c, minibuf.c, print.c, process.c, textprop.c: * undo.c, window.c: Adjust users. * buffer.c (set_buffer_if_live): Fix comment.
* | Fix usage of set_buffer_internal.Dmitry Antipov2012-08-2810-38/+40
| | | | | | | | | | | | | | | | | | | | | | | | * buffer.h (set_buffer_internal): Make it BUFFER_INLINE. * buffer.c (set_buffer_if_live): Use set_buffer_internal. * coding.c (decode_coding): Omit redundant test. * fileio.c (decide_coding_unwind): Likewise. * fns.c (secure_hash): Likewise. * insdel.c (modify_region): Likewise. * keyboard.c (command_loop_1): Likewise. * print.c (PRINTFINISH): Likewise. * xdisp.c (run_window_scroll_functions): Use set_buffer_internal.
* | * dispnew.c: Use bool for boolean.Paul Eggert2012-08-277-166/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (frame_garbaged, display_completed, delayed_size_change) (fonts_changed_p, add_window_display_history) (add_frame_display_history, verify_row_hash) (adjust_glyph_matrix, clear_window_matrices, glyph_row_slice_p) (row_equal_p, realloc_glyph_pool) (allocate_matrices_for_frame_redisplay) (showing_window_margins_p) (adjust_frame_glyphs_for_frame_redisplay) (build_frame_matrix_from_leaf_window, make_current) (mirrored_line_dance, mirror_line_dance, update_frame) (update_window_tree, update_single_window) (check_current_matrix_flags, update_window, update_text_area) (update_window_line, set_window_update_flags, scrolling_window) (update_frame_1, scrolling, buffer_posn_from_coords) (do_pending_window_change, change_frame_size) (change_frame_size_1, sit_for): Use bool for boolean. (clear_glyph_matrix_rows): Rename from enable_glyph_matrix_rows, and remove last int (actually boolean) argument, which was always 0. All callers changed. * dispextern.h, frame.h, lisp.h: Reflect above API changes. * dispextern.h (struct composition_it): Use bool for boolean. (struct glyph_matrix): Don't assume buffer sizes can fit in 'int'. (struct bidi_it): Use unsigned:1, not int, for boolean prev_was_pdf. * dired.c (file_name_completion): Use bool for boolean. (This was missed in an earlier change.)
* | In Fset_window_configuration revert first part of last change.Martin Rudalics2012-08-272-18/+5
| | | | | | | | | | * window.c (Fset_window_configuration): Revert first part of last change.
* | * nsmenu.m (initWithContentRect:styleMask:backing:defer:): InitializeJan Djärv2012-08-273-4/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | dialog_return. (windowShouldClose:): Use stop instead of stopModalWithCode. (clicked:): Ditto, and also set dialog_return. (timeout_handler:): Use stop instead of abortModal. Send a dummy event. (runDialogAt:): Make ret Lisp_Object. Set it from dialog_return when modal loop returns. * nsterm.h (NSPanel): New class variable dialog_return. Fixes: debbugs:12258
* | * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans.Paul Eggert2012-08-2710-73/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * composite.c (find_composition, composition_gstring_p) (composition_reseat_it, find_automatic_composition): * data.c (let_shadows_buffer_binding_p) (let_shadows_global_binding_p, set_internal, make_blv) (Fmake_variable_buffer_local, Fmake_local_variable) (Fmake_variable_frame_local, arithcompare, cons_to_unsigned) (cons_to_signed, arith_driver): * dbusbind.c (xd_in_read_queued_messages): * dired.c (directory_files_internal, file_name_completion): Use bool for booleans. * dired.c (file_name_completion): * process.h (fd_callback): Omit int (actually boolean) argument. It wasn't being used. All uses changed. * composite.h, lisp.h: Reflect above API changes.
* | * cmds.c, coding.c: Use bool for booleans.Paul Eggert2012-08-277-266/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cmds.c (move_point, Fself_insert_command): * coding.h (struct composition status, struct coding_system): * coding.c (detect_coding_utf_8, encode_coding_utf_8) (detect_coding_utf_16, encode_coding_utf_16, detect_coding_emacs_mule) (emacs_mule_char, decode_coding_emacs_mule) (encode_coding_emacs_mule, detect_coding_iso_2022) (decode_coding_iso_2022, encode_invocation_designation) (encode_designation_at_bol, encode_coding_iso_2022) (detect_coding_sjis, detect_coding_big5, decode_coding_sjis) (decode_coding_big5, encode_coding_sjis, encode_coding_big5) (detect_coding_ccl, encode_coding_ccl, decode_coding_raw_text) (encode_coding_raw_text, detect_coding_charset) (decode_coding_charset, encode_coding_charset, detect_eol) (detect_coding, get_translation_table, produce_chars) (consume_chars, reused_workbuf_in_use) (make_conversion_work_buffer, code_conversion_save) (decode_coding_object, encode_coding_object) (detect_coding_system, char_encodable_p) (Funencodable_char_position, code_convert_region) (code_convert_string, code_convert_string_norecord) (Fset_coding_system_priority): * fileio.c (Finsert_file_contents): Use bool for booleans. * coding.h, lisp.h: Reflect above API changes. * coding.c: Remove unnecessary static function decls. (detect_coding): Use unsigned, not signed, to copy an unsigned field. (decode_coding, encode_coding, decode_coding_gap): Return 'void', not a boolean 'int', since callers never look at the return value. (ALLOC_CONVERSION_WORK_AREA): Assume caller returns 'void', not 'int'. * coding.h (decoding_buffer_size, encoding_buffer_size) (emacs_mule_string_char): Remove unused extern decls. (struct iso_2022_spec, struct coding_system): Use 'unsigned int : 1' for boolean fields, since there's more than one. (struct emacs_mule_spec): Remove unused field 'full_support'. All initializations removed. * cmds.c (internal_self_insert): Don't assume EMACS_INT fits in 'int'.
* | Fix spare memory change.Dmitry Antipov2012-08-272-0/+8
| | | | | | | | | | * alloc.c (mark_maybe_pointer): Handle MEM_TYPE_SPARE. (valid_lisp_object_p): Likewise.
* | Address two problems in Fset_window_configuration (Bug#8789) and (Bug#12208).Martin Rudalics2012-08-272-2/+36
| | | | | | | | | | | | | | * window.c (Fset_window_configuration): Record any window's old buffer if it's replaced (see Bug#8789). If the new current buffer doesn't appear in the selected window, go to its old point (Bug#12208).
* | Special MEM_TYPE_SPARE to denote reserved memory.Dmitry Antipov2012-08-272-7/+17
| | | | | | | | | | | | | | * alloc.c (enum mem_type): New memory type. (refill_memory_reserve): Use new type for spare memory. This prevents live_cons_p and live_string_p from incorrect detection of uninitialized objects from spare memory as live.
* | Spelling fixes.Paul Eggert2012-08-264-4/+7
| | | | | | | | * Makefile.in (.PHONY): versioclean -> versionclean.
* | Remove unused external symbols.Paul Eggert2012-08-265-9/+16
| | | | | | | | | | | | | | | | | | | | | | * data.c (Qcons, Qfloat, Qmisc, Qstring, Qvector): * window.c (Qwindow_valid_p, decode_valid_window): Now static, not extern. * data.c (Qinterval): Remove; unused. (syms_of_data): Do not define 'interval'. * lisp.h (Qinteger, Qstring, Qmisc, Qvector, Qfloat, Qcons): * window.h (decode_valid_window): Remove decls.
* | * fns.c (Fstring_to_unibyte): Adjust to str_to_unibyte change.Paul Eggert2012-08-261-1/+1
| |
* | * character.c, charset.c, chartab.c: Use bool for booleans.Paul Eggert2012-08-266-56/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * character.c (lisp_string_width, string_count_byte8) (string_escape_byte8): * charset.c (charset_map_loaded, load_charset_map, read_hex): (load_charset_map_from_file, map_charset_chars) (Fdefine_charset_internal, define_charset_internal) (Fdeclare_equiv_charset, find_charsets_in_text) (Ffind_charset_region, char_charset, Fiso_charset): * chartab.c (sub_char_table_ref, sub_char_table_ref_and_range) (sub_char_table_set, sub_char_table_set_range) (char_table_set_range, optimize_sub_char_table) (map_sub_char_table): Use bool for boolean. * character.c (str_to_unibyte): Omit last boolean argument; it was always 0. All callers changed. * character.h, charset.h: Adjust to match previous changes. * character.h (char_printable_p): Remove decl of nonexistent function. * charset.h (struct charset): Members code_linear_p, iso_chars_96, ascii_compatible_p, supplementary_p, compact_codes_p, unified_p are all boolean, so make them single-bit bitfields.
* | * lisp.h (ASET): Remove attempt to detect side effects.Paul Eggert2012-08-252-3/+9
| | | | | | | | | | | | | | It was meant to be temporary and it often doesn't work, because when IDX has side effects the behavior of IDX==IDX is undefined. See Stefan Monnier in <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00762.html>.
* | * src/lisp.h (functionp): New function (extracted from Ffunctionp).Barry O'Reilly2012-08-253-33/+43
| | | | | | | | | | (FUNCTIONP): Use it. * src/eval.c (Ffunctionp): Use it.
* | * xgselect.c (xg_select): Use auto storage for the GPollFD bufferPaul Eggert2012-08-254-37/+27
| | | | | | | | | | | | | | | | | | as that's faster and simpler than static storage. Don't bother with the g_main_context_query overhead if g_main_context_pending says no events are pending. (gfds, gfds_size): Remove these static vars. (xgselect_initialize): Remove; no longer needed. All uses and decls removed.
* | * emacs.c (fatal_error_signal_hook): Remove.Paul Eggert2012-08-242-8/+3
| | | | | | | | All uses removed. This leftover from old code was always 0.
* | * casefiddle.c, casetab.c, category.c: Use bool for boolean.Paul Eggert2012-08-245-18/+28
| | | | | | | | | | | | | | | | * casefiddle.c (casify_object, casify_region): * casetab.c (set_case_table): * category.c, category.h (word_boundary_p): * category.h (CHAR_HAS_CATEGORY): Use bool for booleans, instead of int.
* | MS-Windows adaptations for 2012-08-25T04:04:08Z!eggert@cs.ucla.edu and ↵Eli Zaretskii2012-08-252-0/+5
| | | | | | | | | | | | | | | | 2012-08-25T04:27:32Z!eggert@cs.ucla.edu. lib/makefile.w32-in ($(BLD)/execinfo.$(O), execinfo.h): New targets. (GNULIBOBJS): Add $(BLD)/execinfo.$(O). src/makefile.w32-in ($(BLD)/alloc.$(O)): Depend on $(GNU_LIB)/execinfo.h.
* | On assertion failure, print backtrace if available.Paul Eggert2012-08-243-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | Merge from gnulib, incorporating: 2012-08-24 execinfo: port to FreeBSD 2012-08-22 execinfo: new module * admin/merge-gnulib (GNULIB_MODULES): Add execinfo. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4: New files. * src/alloc.c [ENABLE_CHECKING]: Include <execinfo.h>. (die) [ENABLE_CHECKING]: Print a backtrace if available. * src/Makefile.in (LIB_EXECINFO): New macro. (LIBES): Use it.
* | * bytecode.c, callint.c, callproc.c: Use bool for boolean.Paul Eggert2012-08-246-30/+43
| | | | | | | | | | | | | | | | | | | | | | | | * bytecode.c (exec_byte_code): * callint.c (check_mark, Fcall_interactively): * callproc.c (Fcall_process, add_env, child_setup, getenv_internal_1) (getenv_internal, sync_process_alive, call_process_exited): * lisp.h (USE_SAFE_ALLOCA): Use bool for booleans, instead of int. * lisp.h, process.h: Adjust prototypes to match above changes. * callint.c (Fcall_interactively): Don't assume the mark's offset fits in 'int'.
* | * buffer.c, buffer.h: Use bool for boolean.Paul Eggert2012-08-234-78/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * buffer.c (reset_buffer_local_variables) (buffer_lisp_local_variables, Fset_buffer_modified_p) (Frestore_buffer_modified_p, Fset_buffer_multibyte): (overlays_at, overlays_in, mouse_face_overlay_overlaps) (overlay_touches_p, overlay_strings, Foverlay_put) (report_overlay_modification, call_overlay_mod_hooks): (mmap_enlarge, mmap_set_vars): * buffer.h (buffer_has_overlays, uppercasep, lowercasep): Use bool for booleans, instead of int. * buffer.c (compact_buffer, mmap_free_1): Return void, not int, since the 1-or-0 return value is always ignored anyway. (mmap_initialized_p): * buffer.h (struct buffer_text.inhibit_shrinking): Now bool, not int. * buffer.h, lisp.h: Adjust prototypes to match above changes.