| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| |
| | |
src/xdisp.c (handle_face_prop): If the default face was remapped use
the remapped face for strings from prefix properties.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* frame.h (enum text_cursor_kinds): Move from here...
* dispextern.h (enum text_cursor_kinds): ...to here.
(toplevel): Drop unnecessary declarations.
(struct redisplay_interface): Use bool and enum text_cursor_kinds
in update_window_end_hook and draw_window_cursor functions.
(display_and_set_cursor, x_update_cursor): Adjust prototypes.
* nsterm.m (ns_update_window_end, ns_draw_window_cursor):
* w32term.c (x_update_window_end,w32_draw_window_cursor):
* xterm.c (x_update_window_end, x_draw_window_cursor):
* xdisp.c (display_and_set_cursor, update_window_cursor)
(update_cursor_in_window_tree, x_update_cursor): Use bool and
enum text_cursor_kinds where appropriate.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* dispextern.h (updated_row, updated_area): Remove declaration.
(struct redisplay_interface): Pass glyph row and row area parameters
to write_glyphs, insert_glyphs and clear_end_of_line functions.
(x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
Adjust prototypes.
* dispnew.c (updated_row, updated_area): Remove.
(redraw_overlapped_rows, update_window_line): Adjust user.
(update_marginal_area, update_text_area): Likewise. Pass updated row
as a parameter. Prefer enum glyph_row_area to int where appropriate.
* xdisp.c (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
Adjust users.
|
| | |
| |
| |
| | |
All uses removed.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
(call_process): New arg TEMPFILE_INDEX. Callers changed.
Record deleted process-id in critical section, not afterwards.
Don't mistakenly kill process created by a call-process invocation
that discards output and does not wait.
Fixes: debbugs:15144
|
| | |
| |
| |
| |
| |
| |
| |
| | |
and GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES.
* alloc.c (toplevel): Remove unnecessary nested #if...#endif.
(mark_maybe_object) [!GC_MARK_STACK]: Define to emacs_abort
to shut up compiler in mark_object.
(dump_zombies): Convert to global and add EXTERNALLY_VISIBLE.
|
| | |
| |
| |
| |
| | |
We can't portably rely on PTY_OPEN doing that, even if
it calls posix_openpt with O_CLOEXEC.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
(struct animation_cache): Make signature a flexible array member.
All uses changed. This is a tad slower but may insulate us better
from future changes to ImageMagick.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(SIGNATURE_DIGESTSIZE): New constant.
(struct animation_cache): Make 'signature' a fixed size array of bytes.
(imagemagick_create_cache): Copy the signature. This saves
several KB of memory that ImageMagick wastes per signature.
Don't bother updating the update_time, as the caller does that now.
(imagemagick_prune_animation_cache): Don't destroy the signature, as
it's a fixed size struct member now.
(imagemagick_get_animation_cache): Always destroy the signature,
as it's now imagemagick_create_cache's responsibility to copy it.
Avoid duplicate calls to strcmp and to imagemagick_create_cache,
and use memcmp rather than strcmp.
eassert that ImageMagick returns a signature of the specified length.
|
| | | |
|
| | |
| |
| |
| |
| | |
Bug introduced by 2013-08-19T07:01:37Z!eggert@cs.ucla.edu, which obviously hadn't even been
tested once.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix some other minor performance problems while we're at it.
(imagemagick_create_cache): Clear just the members that
need clearing. Don't set update_time, as caller does that now.
(imagemagick_prune_animation_cache, imagemagick_get_animation_cache):
Simplify by using pointer-to-pointer instead of a prev pointer.
(imagemagick_prune_animation_cache): Use make_emacs_time rather
than EMACS_TIME_FROM_DOUBLE, and DestroyString rather than free.
(imagemagick_get_animation_cache): Don't xstrdup the image signature;
it's already a copy. Free the signature probe unless it's cached.
|
| | |
| |
| |
| |
| |
| | |
This was introduced by my 2013-08-12 fix for Bug#15035.
Fixes: debbugs:15106
|
| | |
| |
| |
| | |
(imagemagick_prune_animation_cache): Now static.
|
| | |
| |
| |
| | |
pruning all entries.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
* src/sheap.c (STATIC_HEAP_SIZE): Adjust to current needs; use bigger
static heap if ENABLE_CHECKING is defined.
(max_bss_sbrk_ptr): New variable.
(bss_sbrk): Use it.
(report_sheap_usage): Report maximum static heap usage instead of
ending static heap usage.
|
| | |
| |
| |
| |
| |
| | |
src/decompress.c (Fzlib_available_p) [WINDOWSNT]: Update the value
of zlib_initialized according to the results of calling
init_zlib_functions.
|
| | | |
|
| | |
| |
| |
| |
| | |
The apparently only saved time on invalid animated images, and slowed
down everything else. Optimise for the common case.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* doc/lispref/positions.texi (Character Motion):
* doc/lispref/markers.texi (Moving Markers):
(Creating Markers): Comment out undefined behavior.
* src/marker.c (set_marker): Remove documentation of undefined behavior.
|
| | |
| |
| |
| |
| |
| | |
(imagemagick_compute_animated_image): Allow images that say they
have sub-images that are bigger than the main image, but just crop
them.
|
| | |
| |
| |
| |
| | |
(imagemagick_compute_animated_image): Setting the iterator row to
zero is apparently not allowed.
|
| | |
| |
| |
| |
| | |
* image.c (imagemagick_compute_animated_image): Animate correctly
when sub-images are smaller than the main image.
|
| | |
| |
| |
| | |
Fixes: debbugs:15001
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* frame.c (delete_frame):
* xdisp.c (next_element_from_display_vector):
Avoid uninitialized local.
* image.c (imagemagick_compute_animated_image): Port to C89.
Prefer usual GNU indentation style for loops.
Be more careful about bizarrely large sizes, by using ptrdiff_t
instead of int.
|
| | |
| |
| |
| |
| |
| | |
(imagemagick_compute_animated_image): Fix some compilation
warnings. Implement a very simple cache to make the animation
usable at all, but it should be replaced with a per-image cache.
|
| | |
| |
| |
| | |
* frame.c (delete_frame): Prefer fast ad-hoc loop to next_frame.
|
| | |
| |
| |
| |
| | |
src/xdisp.c (next_element_from_display_vector): Support 'box' face attribute
in the face definitions of a display vector.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
src/xdisp.c (compute_window_start_on_continuation_line): When
WORD_WRAP is in effect, use move_it_to instead of move_it_by_lines
to make sure we end up setting the window start at the leftmost
visible character of the display line. This avoids funky
horizontal shifting because the window start is not kept on the
same position.
|
| | |
| |
| |
| | |
Fixes: debbugs:14700
|
| | |
| |
| |
| |
| |
| |
| |
| | |
to do `for' loops over alist values.
* buffer.h (FOR_EACH_BUFFER):
* process.c (FOR_EACH_PROCESS): Use it.
(handle_child_signal, status_notify, Fget_buffer_process)
(kill_buffer_processes): Use FOR_EACH_PROCESS.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
(tty_free_frame_resources, delete_tty): Prefer eassert to emacs_abort.
* image.c (make_image_cache): For struct image_cache, prefer xmalloc
to xzalloc and so avoid redundant call to memset.
* xterm.c (x_term_init): Avoid unnecessary initializations of dpyinfo
members because it is allocated with xzalloc and so already zeroed.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp.h (xlispstrdupa): New macro.
(xlispstrdup): New prototype.
* alloc.c (xlispstrdup): New function.
* callint.c (Fcall_interactively):
* fileio.c (Ffile_name_directory, Fexpand_file_name)
(Fsubstitute_in_file_name):
* frame.c (Fmake_terminal_frame): Use xlispstrdupa.
* image.c (x_create_bitmap_from_file):
* w32term.c (w32_term_init):
* xterm.c (x_term_init): Use xlispstrdup.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
There's still some problems with background color settings, though.
Fixes: debbugs:14700
|
| | | |
|
| | |
| |
| |
| |
| | |
non-zero windows_or_buffers_changed, clear current_matrix_up_to_date_p
and so do not call to try_cursor_movement for that window.
|
| | | |
|
| | |
| |
| |
| |
| | |
Use changed. This avoids the need to call xmalloc and for the
caller to call xfree, and avoids memory leaks in some situations.
|
| | |
| |
| |
| | |
(try_window, try_window_reusing_current_matrix, try_window_id): Use it.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
window_end_vpos from Lisp_Object to ptrdiff_t and int, respectively.
(wset_window_end_pos, wset_window_end_vpos): Remove.
* dispnew.c (adjust_glyph_matrix):
* window.c (Fwindow_end, replace_window, set_window_buffer)
(make_window):
* xdisp.c (check_window_end, move_it_to, redisplay_internal)
(set_vertical_scroll_bar, redisplay_window, try_window)
(try_window_reusing_current_matrix, find_first_unchanged_at_end_row)
(try_window_id, decode_mode_spec, mouse_face_from_buffer_pos)
(note_mouse_highlight): Adjust users.
(try_cursor_movement): Likewise. Convert old precondition to eassert.
Add comment.
|
| | |
| |
| |
| |
| | |
* image.c (imagemagick_filename_hint): Use `const char *' and
prefer SSDATA to SDATA to avoid warnings.
|
| | |
| |
| |
| |
| |
| |
| | |
* window.c (set_window_fringes, set_window_margins)
(set_window_scroll_bars, apply_window_adjustment): New functions.
(set_window_buffer, Fset_window_margins, Fset_window_fringes)
(Fset_window_scroll_bars): Use them.
|