Commit graph

31674 commits

Author SHA1 Message Date
Andreas Schwab
46cfea45c4 Fix last change 2011-07-17 12:35:42 +02:00
Andreas Schwab
0a6a104b85 Make read-symbol-positions-list more accurate
* src/lread.c (read_integer): Unread even EOF character.
(read1): Likewise.  Properly record start position of symbol.
2011-07-17 12:29:24 +02:00
Andreas Schwab
52968808d6 * src/lread.c (read1): Read `#:' as empty uninterned symbol if no
symbol character follows.
2011-07-17 10:00:53 +02:00
Paul Eggert
9e381cdd96 * fileio.c (Fcopy_file): Pacify gcc re fchown. (Bug#9002)
This works around a problem with the previous change to Fcopy_file.
Recent glibc declares fchown with __attribute__((warn_unused_result)),
and without this change, GCC might complain about discarding
fchown's return value.
2011-07-16 18:18:51 -07:00
Juanma Barranquero
b56414357f src/makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059). 2011-07-17 01:40:44 +02:00
Lars Magne Ingebrigtsen
750c33f71e Move the defintion of `gnutls-log-level' to the C level to avoid loading problems 2011-07-17 00:49:20 +02:00
Paul Eggert
a803145704 * fileio.c (Fcopy_file): Don't diagnose fchown failures.
Fixes: debbugs:9002
2011-07-16 14:53:38 -07:00
Lars Magne Ingebrigtsen
dd88932771 Use the same condition for POLL_FOR_INPUT in both keyboard.c and process.c
Fixes: debbugs:1858
2011-07-16 20:27:08 +02:00
Lawrence Mitchell
87e8668442 Allow controlling how many prime bits to use during TLS negotiation 2011-07-15 19:41:24 +02:00
Andreas Schwab
64348f4010 * src/doc.c (Fsubstitute_command_keys): Revert last change. 2011-07-15 17:31:36 +02:00
Lars Magne Ingebrigtsen
f863868c45 Clarify that \= only quotes the next character 2011-07-15 16:31:14 +02:00
Lars Magne Ingebrigtsen
1d698799d3 `lexical-binding' doc clarification
* lread.c (syms_of_lread): Clarify that is isn't only
`eval-buffer' and `eval-defun' that's affected by
`lexical-binding'.

Fixes: debbugs:8460
2011-07-15 14:57:20 +02:00
Eli Zaretskii
aa4b6df690 Fix vertical cursor motion in Speedbar frames under bidi display.
src/xdisp.c (move_it_in_display_line_to): Fix vertical motion with
 bidi redisplay when a line includes both an image and is
 truncated.
2011-07-15 13:50:03 +03:00
Glenn Morris
ec2bc542a4 No need for ChangeLog entry about quickly reverted change.
(Also confusing since the original ChangeLog entry was removed.)
2011-07-14 22:18:02 -04:00
Paul Eggert
ad6042bb6f Fix minor problems found by static checking.
* bidi.c (bidi_cache_size): Now EMACS_INT, not size_t.
(elsz): Now a signed constant, not a size_t var.  We prefer signed
types to unsigned, to avoid integer comparison confusion.  Without
this change, GCC 4.6.1 with -Wunsafe-loop-optimizations complains
"cannot optimize loop, the loop counter may overflow", a symptom
of the confusion.
2011-07-14 14:43:31 -07:00
Paul Eggert
f00bbb22a2 * indent.c (Fvertical_motion): Mark locals as initialized. 2011-07-14 14:35:23 -07:00
Paul Eggert
5d856da6d0 * xdisp.c (reseat_to_string): Fix pointer signedness issue. 2011-07-14 14:34:18 -07:00
Lars Magne Ingebrigtsen
2fd0959ded * data.c (Fcdr, Fcar): Revert the last change, since it didn't really clarify much. 2011-07-14 22:08:05 +02:00
Lars Magne Ingebrigtsen
49080b1062 Mention `case-fold-search' in all the re_search_* functions
Fixes: debbugs:8138
2011-07-14 20:45:36 +02:00
Lars Magne Ingebrigtsen
6468f31c78 * keyboard.c (Fopen_dribble_file): Document when the file is closed.
Fixes: debbugs:8056
2011-07-14 20:34:54 +02:00
Adam Sjøgren
00bef2baa1 * data.c (car, cdr): add functionality hints to documentation. 2011-07-14 20:29:19 +02:00
Eli Zaretskii
df9733bf6b Fix format conversion in bidi.c.
src/bidi.c (bidi_dump_cached_states): Fix format of displaying
 bidi_cache_idx.
2011-07-14 20:43:50 +03:00
Eli Zaretskii
0bb2392728 Support bidi reordering of overlay and display strings.
Fix bugs #7616, #8133, #8867.

 src/xdisp.c (compute_display_string_pos)
 (compute_display_string_end): Accept additional argument STRING.
 (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL.
 (reseat_to_string): Initialize bidi_it->string.s and
 bidi_it->string.schars.
 (Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to
 NULL (avoids a crash in bidi_paragraph_init).  Initialize
 itb.string.lstring.
 (init_iterator): Call bidi_init_it only of a valid
 buffer position was specified.  Initialize paragraph_embedding to
 L2R.
 (reseat_to_string): Initialize the bidi iterator.
 (display_string): If we need to ignore text properties of
 LISP_STRING, set IT->stop_charpos to IT->end_charpos.  (The
 original value of -1 will not work with bidi.)
 (compute_display_string_pos): First arg is now struct
 `text_pos *'; all callers changed.  Support display properties on
 Lisp strings.
 (compute_display_string_end): Support display properties on Lisp
 strings.
 (init_iterator, reseat_1, reseat_to_string): Initialize the
 string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS
 when iterating on a string not from display properties).
 (compute_display_string_pos, compute_display_string_end): Fix
 calculation of the object to scan.  Fixes an error when using
 arrow keys.
 (next_element_from_buffer): Don't abort when IT_CHARPOS is before
 base_level_stop; instead, set base_level_stop to BEGV.  Fixes
 crashes in vertical-motion.
 (next_element_from_buffer): Improve commentary for when
 the iterator is before prev_stop.
 (init_iterator): Initialize bidi_p from the default value of
 bidi-display-reordering, not from buffer-local value.  Use the
 buffer-local value only if initializing for buffer iteration.
 (handle_invisible_prop): Support invisible properties on strings
 that are being bidi-reordered.
 (set_iterator_to_next): Support bidi reordering of C strings and
 Lisp strings.
 (next_element_from_string): Support bidi reordering of Lisp
 strings.
 (handle_stop_backwards): Support Lisp strings as well.
 (display_string): Support display of R2L glyph rows.  Use
 IT_STRING_CHARPOS when displaying from a Lisp string.
 (init_iterator): Don't initialize it->bidi_p for strings
 here.
 (reseat_to_string): Initialize it->bidi_p for strings here.
 (next_element_from_string, next_element_from_c_string)
 (next_element_from_buffer): Add xassert's for correspondence
 between IT's object being iterated and it->bidi_it.string
 structure.
 (face_before_or_after_it_pos): Support bidi iteration.
 (next_element_from_c_string): Handle the case of the first string
 character that is not the first one in the visual order.
 (get_visually_first_element): New function, refactored from common
 parts of next_element_from_buffer, next_element_from_string, and
 next_element_from_c_string.
 (tool_bar_lines_needed, redisplay_tool_bar)
 (display_menu_bar): Force left-to-right direction.  Add a FIXME
 comment for making that be controlled by a user option.
 (push_it, pop_it): Save and restore the state of the
 bidi iterator.  Save and restore the bidi_p flag.
 (pop_it): Iterate out of display property for string iteration as
 well.
 (iterate_out_of_display_property): Support iteration over strings.
 (handle_single_display_spec): Set up it->bidi_it for iteration
 over a display string, and call bidi_init_it.
 (handle_single_display_spec, next_overlay_string)
 (get_overlay_strings_1, push_display_prop): Set up the bidi
 iterator for displaying display or overlay strings.
 (forward_to_next_line_start): Don't use the shortcut if
 bidi-iterating.
 (back_to_previous_visible_line_start): If handle_display_prop
 pushed the iterator stack, restore the internal state of the bidi
 iterator by calling bidi_pop_it same number of times.
 (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero,
 and we are bidi-iterating, don't decrement the iterator position;
 instead, set the first_elt flag in the bidi iterator, to produce
 the same effect.
 (reseat_1): Remove redundant setting of string_from_display_prop_p.
 (push_display_prop): xassert that we are iterating a buffer.
 (push_it, pop_it): Save and restore paragraph_embedding member.
 (handle_single_display_spec, next_overlay_string)
 (get_overlay_strings_1, reseat_1, reseat_to_string)
 (push_display_prop): Set up the `unibyte' member of bidi_it.string
 correctly.  Don't assume unibyte strings are not bidi-reordered.
 (compute_display_string_pos)
 (compute_display_string_end): Fix handling the case of C string.
 (push_it, pop_it): Save and restore from_disp_prop_p.
 (handle_single_display_spec, push_display_prop): Set the
 from_disp_prop_p flag.
 (get_overlay_strings_1): Reset the from_disp_prop_p flag.
 (pop_it): Call iterate_out_of_display_property only if we are
 popping after iteration over a string that came from a display
 property.  Fix a typo in popping stretch info.  Add an assertion
 for verifying that the iterator position is in sync with the bidi
 iterator.
 (handle_single_display_spec, get_overlay_strings_1)
 (push_display_prop): Fix initialization of paragraph direction for
 string when that of the parent object is not yet determined.
 (reseat_1): Call bidi_init_it to resync the bidi
 iterator with IT's position.  (Bug#7616)
 (find_row_edges): If ROW->start.pos gives position
 smaller than min_pos, use it as ROW->minpos.  (Bug#7616)
 (handle_stop, back_to_previous_visible_line_start, reseat_1):
 Reset the from_disp_prop_p flag.
 (SAVE_IT, RESTORE_IT): New macros.
 (pos_visible_p, face_before_or_after_it_pos)
 (back_to_previous_visible_line_start)
 (move_it_in_display_line_to, move_it_in_display_line)
 (move_it_to, move_it_vertically_backward, move_it_by_lines)
 (try_scrolling, redisplay_window, display_line): Use them when
 saving a temporary copy of the iterator and restoring it back.
 (back_to_previous_visible_line_start, reseat_1)
 (init_iterator): Empty the bidi cache "stack".
 (move_it_in_display_line_to): If iterator ended up at
 EOL, but we never saw any buffer positions smaller than
 to_charpos, return MOVE_POS_MATCH_OR_ZV.  Fixes vertical cursor
 motion in bidi-reordered lines.
 (move_it_in_display_line_to): Record prev_method and prev_pos
 immediately before the call to set_iterator_to_next.  Fixes cursor
 motion in bidi-reordered lines with stretch glyphs and strings
 displayed in margins.  (Bug#8133) (Bug#8867)
 Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
 TO_CHARPOS.
 (pos_visible_p): Support positions in bidi-reordered lines.  Save
 and restore bidi cache.
 src/bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int.
 (bidi_paragraph_info): Delete unused struct.
 (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT.
 (bidi_cache_start): New variable.
 (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not
 to zero.
 (bidi_cache_fetch_state, bidi_cache_search)
 (bidi_cache_find_level_change, bidi_cache_iterator_state)
 (bidi_cache_find, bidi_peek_at_next_level)
 (bidi_level_of_next_char, bidi_find_other_level_edge)
 (bidi_move_to_visually_next): Compare cache index with
 bidi_cache_start rather than with zero.
 (bidi_fetch_char): Accept new argument STRING; all callers
 changed.  Support iteration over a string.  Support strings with
 display properties.  Support unibyte strings.  Fix the type of
 `len' according to what STRING_CHAR_AND_LENGTH expects.
 (bidi_paragraph_init, bidi_resolve_explicit_1)
 (bidi_resolve_explicit, bidi_resolve_weak)
 (bidi_level_of_next_char, bidi_move_to_visually_next): Support
 iteration over a string.
 (bidi_set_sor_type, bidi_resolve_explicit_1)
 (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit
 can now be zero (for strings); special values 0 and -1 were
 changed to -1 and -2, respectively.
 (bidi_char_at_pos): New function.
 (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak):
 Call it instead of FETCH_MULTIBYTE_CHAR.
 (bidi_move_to_visually_next): Abort if charpos or bytepos were not
 initialized to valid values.
 (bidi_init_it): Don't initialize charpos and bytepos with invalid
 values.
 (bidi_level_of_next_char): Allow the sentinel "position" to pass
 the test for valid cached positions.  Fix the logic for looking up
 the sentinel state in the cache.  GCPRO the Lisp string we are
 iterating.
 (bidi_push_it, bidi_pop_it): New functions.
 (bidi_initialize): Initialize the bidi cache start stack pointer.
 (bidi_cache_ensure_space): New function, refactored from part of
 bidi_cache_iterator_state.  Don't assume the required size is just
 one BIDI_CACHE_CHUNK away.
 (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
 (bidi_count_bytes, bidi_char_at_pos): New functions.
 (bidi_cache_search): Don't assume bidi_cache_last_idx is
 always valid if bidi_cache_idx is valid.
 (bidi_cache_find_level_change): xassert that bidi_cache_last_idx
 is valid if it's going to be used.
 (bidi_shelve_cache, bidi_unshelve_cache): New functions.
 (bidi_cache_fetch_state, bidi_cache_search)
 (bidi_cache_find_level_change, bidi_cache_ensure_space)
 (bidi_cache_iterator_state, bidi_cache_find)
 (bidi_find_other_level_edge, bidi_cache_start_stack): All
 variables related to cache indices are now EMACS_INT.
 src/dispextern.h (struct bidi_string_data): New structure.
 (struct bidi_it): New member `string'.  Make flag members be 1-bit
 fields, and put them last in the struct.
 (compute_display_string_pos, compute_display_string_end): Update
 prototypes.
 (bidi_push_it, bidi_pop_it): Add prototypes.
 (struct iterator_stack_entry): New members bidi_p,
 paragraph_embedding, and from_disp_prop_p.
 (struct it): Member bidi_p is now a bit field 1 bit wide.
 (bidi_shelve_cache, bidi_unshelve_cache): Declare
 prototypes.
 src/.gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
 (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
 and vector-like objects.
 src/dispnew.c (buffer_posn_from_coords): Save and restore the bidi
 cache around display iteration.
 src/window.c (Fwindow_end, window_scroll_pixel_based)
 (displayed_window_lines, Frecenter): Save and restore the bidi
 cache around display iteration.
 lisp/buff-menu.el (Buffer-menu-buffer+size): Accept an additional
 argument LRM; if non-nil, append an invisible LRM character to the
 buffer name.
 (list-buffers-noselect): Call Buffer-menu-buffer+size with the
 last argument non-nil, when formatting buffer names.
 (Buffer-menu-mode, list-buffers-noselect): Force left-to-right
 paragraph direction.
 doc/lispref/display.texi (Other Display Specs): Document that `left-fringe'
 and `right-fringe' display specifications are of the "replacing"
 kind.
2011-07-14 20:28:42 +03:00
Eli Zaretskii
c965adc5e0 Fix declarations of variables related to bidi cache indices.
src/bidi.c (bidi_cache_fetch_state, bidi_cache_search)
 (bidi_cache_find_level_change, bidi_cache_ensure_space)
 (bidi_cache_iterator_state, bidi_cache_find)
 (bidi_find_other_level_edge, bidi_cache_start_stack): All
 variables related to cache indices are now EMACS_INT.
2011-07-14 19:25:15 +03:00
Lars Magne Ingebrigtsen
f0fcdf4bf6 Mention that `delete-region' doesn't alter the kill ring. 2011-07-14 15:40:24 +02:00
Lars Magne Ingebrigtsen
3bbd2265c6 * editfns.c (Fdelete_region): Clarify the use of the named parameters.
Fixes: debbugs:6788
2011-07-14 15:37:20 +02:00
Martin Rudalics
adc47434a2 Fix bugs in vertical-motion and display-buffer-normalize-special.
* indent.c (Fvertical_motion): Set and restore w->pointm when
saving and restoring the window's buffer (Bug#9006).

* window.el (display-buffer-normalize-special): Replace
`dedicated' by `dedicate' to dedicate window (Bug#9072).
2011-07-14 10:30:34 +02:00
Juanma Barranquero
5eba16a37c Fix typos. 2011-07-14 03:09:00 +02:00
Lars Magne Ingebrigtsen
837c31f830 Fstring_to_char doc clarification
* editfns.c (Fstring_to_char): Clarify just what is returned
(bug#6576).  Text by Eli Zaretskii.
2011-07-14 01:48:35 +02:00
Juanma Barranquero
ac389d0c75 src/gnutls.c (init_gnutls_functions): Honor gnutls_log_level (bug#9059). 2011-07-13 22:33:44 +02:00
Eli Zaretskii
0be0ce4741 src/buffer.c (mmap_find): Fix a typo. 2011-07-13 00:09:28 -04:00
Johan Bockgård
cd18e7e3f4 Fix execution of x selection hooks.
* xselect.c (Qx_lost_selection_functions)
(Qx_sent_selection_functions): New vars.
(syms_of_xselect): DEFSYM them.
(x_handle_selection_request): Pass Qx_sent_selection_functions
rather than Vx_sent_selection_functions to Frun_hook_with_args.
(x_handle_selection_clear,x_clear_frame_selections):
Pass Qx_lost_selection_functions rather than
Vx_lost_selection_functions to Frun_hook_with_args.
2011-07-13 03:48:43 +02:00
Paul Eggert
2941c447eb * buffer.c (Fget_buffer_create): Initialized inhibit_shrinking.
The old code sometimes used this field without initializing it.
2011-07-12 18:15:33 -07:00
Paul Eggert
47ea7f442f * alloc.c (gc_sweep): Don't read past end of array.
In theory, the old code could also have corrupted Emacs internals,
though it'd be very unlikely.
2011-07-12 18:04:29 -07:00
Andreas Schwab
bc985c877c * src/character.c (Fcharacterp): Don't advertise optional ignored
argument. (Bug#4026)
2011-07-12 23:17:39 +02:00
Lars Magne Ingebrigtsen
b3dadd7683 (syms_of_keymap): Clarify that "modifier" is "modifier key"
Fixes: debbugs:4257
2011-07-12 23:12:36 +02:00
Lars Magne Ingebrigtsen
0cf346886f window.c doc fixes.
Fixes: debbugs:4199
2011-07-12 23:09:01 +02:00
Paul Eggert
077e3dda94 Merge: Fix minor new problems caught by GCC 4.6.1. 2011-07-12 10:29:33 -07:00
Paul Eggert
490011a6cc * xsettings.c (store_monospaced_changed): Define only if used. 2011-07-12 09:47:56 -07:00
Paul Eggert
270768cd6e * term.c (init_tty): Remove unused local. 2011-07-12 09:39:15 -07:00
Chong Yidong
b1f5845471 * xdisp.c (Vresize_mini_windows): Incredibly minor doc fix (Bug#3300). 2011-07-11 23:04:06 -04:00
Lars Magne Ingebrigtsen
6e70ab070f Make it explicit that the mini-windows are the mini-buffer and the echo area
Fixes: debbugs:3320
2011-07-11 17:55:00 +02:00
Lars Magne Ingebrigtsen
22b9578d36 Remove support for supdup, c10 and perq terminals, which are no longer supported.
Fixes: debbugs:1482
2011-07-11 17:16:10 +02:00
Johan Bockgård
8974cc9fd1 * src/xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check. 2011-07-10 23:49:05 +02:00
Jan Djärv
a560d9743a * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event
for non-popups.

Fixes: debbugs:3642
2011-07-10 18:55:22 +02:00
Andreas Schwab
268c2c36f4 Protoize
* src/alloc.c (reset_malloc_hooks): Protoize.
* src/cm.c (losecursor): Likewise.
* src/ralloc.c (r_alloc_check): Likewise.
2011-07-10 10:52:10 +02:00
Andreas Schwab
1dae0f0aad Protoize
* src/buffer.c (mmap_init, mmap_find, mmap_free_1, mmap_enlarge)
(mmap_set_vars, mmap_alloc, mmap_free, mmap_realloc): Protoize.
* src/data.c (fmod): Likewise.
* src/dispnew.c (swap_glyphs_in_rows): Likewise.
* src/emacs.c (memory_warning_signal): Likewise.
* src/floatfns.c (float_error): Likewise.
* src/font.c (check_gstring, check_otf_features, otf_tag_symbol)
(otf_open, font_otf_capability, generate_otf_features)
(font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
Likewise.
* src/image.c (pbm_read_file): Likewise.
* src/indent.c (string_display_width): Likewise.
* src/intervals.c (check_for_interval, search_for_interval)
(inc_interval_count, count_intervals, root_interval)
(adjust_intervals_for_insertion, make_new_interval): Likewise.
* src/lread.c (defalias): Likewise.
* src/regex.c (set_image_of_range_1, set_image_of_range)
(regex_grow_registers): Likewise.
* src/sysdep.c (strerror): Likewise.
* src/termcap.c (valid_filename_p, tprint, main): Likewise.
* src/tparam.c (main): Likewise.
* src/unexhp9k800.c (run_time_remap, save_data_space)
(update_file_ptrs, read_header, write_header, calculate_checksum)
(copy_file, copy_rest, display_header): Likewise.
* src/widget.c (mark_shell_size_user_specified, create_frame_gcs):
Likewise.
* src/xdisp.c (check_it): Likewise.
* src/xfaces.c (register_color, unregister_color, unregister_colors):
Likewise.
* src/xfns.c (print_fontset_result): Likewise.
* src/xrdb.c (member, fatal, main): Likewise.
2011-07-10 10:20:10 +02:00
Paul Eggert
99033785c7 Fix ChangeLog to reflect merge better. 2011-07-09 21:58:22 -07:00
Paul Eggert
0f5860c118 Merge from trunk. 2011-07-09 21:54:04 -07:00
Eli Zaretskii
66ff7ddf93 src/bidi.c: Fix type of a variable revealed on x86_64. 2011-07-09 19:23:49 +03:00