Eli Zaretskii [Thu, 14 Jul 2011 16:25:15 +0000 (19:25 +0300)]
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.
Eli Zaretskii [Sat, 9 Jul 2011 13:57:13 +0000 (16:57 +0300)]
Fix various problems with cursor positioning around display properties.
src/xdisp.c (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.
(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.
Eli Zaretskii [Tue, 5 Jul 2011 17:06:29 +0000 (20:06 +0300)]
Empty the bidi cache "stack" when it->sp is zeroed.
Solves crashes due to overflow of bidi cache stack.
Make sure cache is saved and restored around all temporary iterations.
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.
src/bidi.c (bidi_unshelve_cache): Ensure we have enough space before
restoring the shelved cache.
(bidi_cache_ensure_space): Don't assume the required size is just
one BIDI_CACHE_CHUNK away.
src/xdisp.c (back_to_previous_visible_line_start, reseat_1)
(init_iterator): Empty the bidi cache "stack".
Eli Zaretskii [Sun, 3 Jul 2011 18:36:56 +0000 (21:36 +0300)]
Save and restore bidi cache when saving and restoring the iterator.
Not tested, just compiled.
src/bidi.c (bidi_shelve_cache, bidi_unshelve_cache): New functions.
src/dispextern.h (bidi_shelve_cache, bidi_unshelve_cache): Declare
prototypes.
src/xdisp.c (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.
Eli Zaretskii [Sat, 2 Jul 2011 15:16:27 +0000 (18:16 +0300)]
Start fixing cursor motion around invisible text.
Hit a MAJOR design problem in pushing and popping bidi iterator state.
src/xdisp.c (reseat_1): Call bidi_init_it to resync the bidi
iterator with IT's position.
(handle_stop, back_to_previous_visible_line_start, reseat_1):
Reset the from_disp_prop_p flag.
src/bidi.c (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.
Eli Zaretskii [Sat, 2 Jul 2011 10:05:14 +0000 (13:05 +0300)]
Fix the use case of popping from display property.
src/dispextern.h (struct iterator_stack_entry, struct it): New
member from_disp_prop_p.
src/xdisp.c (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.
Eli Zaretskii [Fri, 1 Jul 2011 10:53:29 +0000 (13:53 +0300)]
Support bidi reordering of unibyte strings. Fix crash displaying "All" in mode line of an empty buffer.
src/dispextern.h (struct bidi_string_data): New member `unibyte'.
src/xdisp.c (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.
src/bidi.c (bidi_count_bytes, bidi_char_at_pos): Accept an
additional argument UNIBYTE, and support unibyte strings. All
callers changed.
(bidi_fetch_char): Support unibyte strings.
Eli Zaretskii [Sat, 25 Jun 2011 16:14:01 +0000 (19:14 +0300)]
Initial version of display/overlay strings is working.
src/xdisp.c (set_iterator_to_next, get_visually_first_element): Use
it->bidi_it.string.schars rather than it->string_nchars when
testing whether we're beyond string end, because string_nchars is
zero for strings that come from overlays and display properties.
src/bidi.c (bidi_cache_iterator_state): Fix a bug with testing
character positions against the cached range, when we use a
stacked cache.
src/dispextern.h (struct iterator_stack_entry): New member
paragraph_embedding.
src/xdisp.c (push_it, pop_it): Save and restore it.
Eli Zaretskii [Sat, 25 Jun 2011 11:44:30 +0000 (14:44 +0300)]
Set up the bidi iterator for iterating display strings and overlay strings.
Not tested yet, just compiled.
src/xdisp.c (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 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.
src/bidi.c (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
src/dispextern.h (struct iterator_stack_entry): New member bidi_p.
(struct it): Member bidi_p is now a bit field 1 bit wide.
Eli Zaretskii [Thu, 23 Jun 2011 18:09:52 +0000 (21:09 +0300)]
Added to bidi.c support functions for reordering display strings.
src/bidi.c (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.
src/dispextern.h (bidi_push_it, bidi_pop_it): Add prototypes.
Eli Zaretskii [Sun, 19 Jun 2011 18:27:03 +0000 (21:27 +0300)]
Fix display of R2L buffer names in Buffer-menu.
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.
Eli Zaretskii [Sat, 18 Jun 2011 20:17:29 +0000 (23:17 +0300)]
Add comments for forced L2R directions of menu bar and tool bar.
GCPRO Lisp string inside bidi.c.
Force L2R direction in buffer menu buffer.
src/xdisp.c (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.
src/bidi.c (bidi_move_to_visually_next): GCPRO the Lisp string we
are iterating.
lisp/buff-menu.el (Buffer-menu-mode, list-buffers-noselect): Force
left-to-right paragraph direction.
Eli Zaretskii [Sat, 18 Jun 2011 14:33:14 +0000 (17:33 +0300)]
Fix a gratuitous crash in emacs -nw with iso-safe terminal encoding.
src/term.c (produce_glyphs): Add IT_GLYPHLESS to the values of
it->what accepted by the xassert. Fixes a gratuitous crash in an
Emacs built with -DXASSERTS.
Eli Zaretskii [Sat, 18 Jun 2011 13:28:53 +0000 (16:28 +0300)]
Tried and abandoned idea of displaying mode line and tool/menu-bars R2L.
Added those features to etc/TODO wishlist.
Fixed src/.gdbinit for changes in Lisp vector structures.
src/.gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
(xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
and vector-like objects.
Eli Zaretskii [Sat, 18 Jun 2011 11:14:51 +0000 (14:14 +0300)]
Refactor getting the first element into a separate function.
src/xdisp.c (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.
Eli Zaretskii [Sat, 18 Jun 2011 08:09:05 +0000 (11:09 +0300)]
Fix the decision about box_face in mode line for reordered text.
This fixes display of composed characters in buffer name on mode line.
src/xdisp.c (face_before_or_after_it_pos): Support bidi iteration
when BEFORE_P is zero.
(next_element_from_c_string): Handle the case of the first string
character that is not the first one in the visual order.
Eli Zaretskii [Thu, 16 Jun 2011 16:32:33 +0000 (19:32 +0300)]
Fix display of R2L strings in mode line.
Composed characters still don't work.
src/xdisp.c (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.
src/bidi.c (bidi_level_of_next_char): Fix the logic for looking up
the sentinel state in the cache.
Eli Zaretskii [Sat, 11 Jun 2011 15:13:17 +0000 (18:13 +0300)]
Initial version of string reordering. Tested only on mode line and
TTY menu bar. Display is buggy.
src/xdisp.c (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.
(reseat_to_string): Enable bidi-related code.
(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_mode_line, display_mode_element): Temporarily force L2R
paragraph direction.
(display_string): Support display of R2L glyph rows. Use
IT_STRING_CHARPOS when displaying from a Lisp string.
Eli Zaretskii [Fri, 10 Jun 2011 11:43:04 +0000 (14:43 +0300)]
Tested and fixed compute_display_string_pos for buffer iteration.
Also fixed an unrelated bug caused by vertical-motion.
src/xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
itb.string.lstring.
(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.
Eli Zaretskii [Thu, 9 Jun 2011 17:12:10 +0000 (20:12 +0300)]
Adapt compute_display_string_pos to iteration over strings.
Just compiled, not yet tested.
src/xdisp.c (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).
src/bidi.c (bidi_fetch_char): Support strings with display
properties.
src/dispextern.h (struct bidi_string_data): New member bufpos.
(compute_display_string_pos): Update prototype.
Eli Zaretskii [Thu, 9 Jun 2011 14:39:27 +0000 (17:39 +0300)]
Add code to initialize bidi iterator for displaying strings.
For now, ifdef'ed away. Some more testing.
src/bidi.c (bidi_level_of_next_char): Allow the sentinel "position"
to pass the test for valid cached positions.
src/xdisp.c (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 (for now ifdef'ed out).
(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.)
src/dispextern.h (struct bidi_string_data): New member lstring.
Eli Zaretskii [Wed, 8 Jun 2011 18:01:56 +0000 (21:01 +0300)]
Started work on string reordering. Just compiled, not yet tested.
src/bidi.c (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.
(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.
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.
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.
Eli Zaretskii [Sat, 28 May 2011 17:23:44 +0000 (20:23 +0300)]
Fix cursor motion across display strings covering reordered text.
src/xdisp.c (set_cursor_from_row): Set start and stop points
according to the row's direction when priming the loop that looks
for the glyph on which to display cursor.
(single_display_spec_intangible_p): Function deleted.
(display_prop_intangible_p): Reimplement to call
handle_display_spec instead of single_display_spec_intangible_p.
Accept 3 additional arguments needed by handle_display_spec. This
fixes incorrect cursor motion across display property with complex
values: lists, `(when COND...)' forms, etc.
(single_display_spec_string_p): Support property values that are
lists with the argument STRING its top-level element.
(display_prop_string_p): Fix the condition for processing a
property that is a list to be consistent with handle_display_spec.
src/keyboard.c (adjust_point_for_property): Adjust the call to
display_prop_intangible_p to its new signature.
src/dispextern.h (display_prop_intangible_p): Adjust prototype.
Eli Zaretskii [Sat, 28 May 2011 11:05:40 +0000 (14:05 +0300)]
Fix cursor motion near overlays covering reordered text.
src/xdisp.c (set_cursor_from_row): Set start and stop points of the
loop that looks for the glyph on which to display cursor according
to the row's direction.
Eli Zaretskii [Sat, 21 May 2011 14:22:14 +0000 (17:22 +0300)]
Discovery of replacing display properties now uses the same code
as the display engine. Tested OK with display properties whose
value is a list.
src/dispextern.h (struct bidi_it): New member frame_window_p.
(bidi_init_it, compute_display_string_pos): Update prototypes.
src/bidi.c (bidi_fetch_char): Accept additional argument
FRAME_WINDOW_P and pass it to compute_display_string_pos. All
callers changed.
(bidi_init_it): Accept additional argument FRAME_WINDOW_P and use
it to initialize the frame_window_p member of struct bidi_it.
src/xdisp.c (handle_display_spec): New function, refactored from the
last portion of handle_display_prop.
(compute_display_string_pos): Accept additional argument
FRAME_WINDOW_P. Call handle_display_spec to determine whether the
value of a `display' property is a "replacing spec".
(handle_single_display_spec): Accept 2 additional arguments BUFPOS
and FRAME_WINDOW_P. If IT is NULL, don't set up the iterator from
the display property, but just return a value indicating whether
the display property will replace the characters it covers.
(Fcurrent_bidi_paragraph_direction): Initialize the nchars and
frame_window_p members of struct bidi_it.
Eli Zaretskii [Sat, 14 May 2011 13:41:52 +0000 (16:41 +0300)]
Text covered by `display' overlays is correctly reordered.
Cursor positioning is not yet right near the overlay.
src/xdisp.c (compute_display_string_pos): Non-trivial implementation.
(compute_display_string_end): New function.
src/dispextern.h (compute_display_string_end): Declare prototype.
src/bidi.c (bidi_resolve_explicit_1): Use ZV for disp_pos.
(bidi_fetch_char): Implement support for runs of characters
covered by display strings.
Eli Zaretskii [Sat, 14 May 2011 11:59:20 +0000 (14:59 +0300)]
Refactoring with bidi_fetch_char tested and debugged.
src/bidi.c (bidi_fetch_char): Accept also character position
corresponding to BYTEPOS. All callers changed.
(bidi_cache_iterator_state, bidi_resolve_explicit_1)
(bidi_resolve_explicit, bidi_resolve_weak)
(bidi_level_of_next_char, bidi_move_to_visually_next): Abort if
bidi_it->nchars is non-positive.
(bidi_level_of_next_char): Don't try to lookup the cache for the
next/previous character if nothing is cached there yet, or if we
were just reseat()'ed to a new position.
(bidi_paragraph_init, bidi_resolve_explicit_1)
(bidi_level_of_next_char): Fix arguments in the calls to
bidi_fetch_char.
Eli Zaretskii [Tue, 10 May 2011 16:12:16 +0000 (19:12 +0300)]
Started work on reordering display strings. Refactor FETCH_CHAR.
Only compiled, not tested.
src/xdisp.c (compute_display_string_pos): New function.
(reseat_1): Initialize bidi_it.disp_pos.
src/bidi.c (bidi_copy_it): Use offsetof.
(bidi_fetch_char, bidi_fetch_char_advance): New functions.
(bidi_cache_search, bidi_cache_iterator_state)
(bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak)
(bidi_level_of_next_char, bidi_move_to_visually_next): Support
character positions inside a run of characters covered by a
display string.
(bidi_paragraph_init, bidi_resolve_explicit_1)
(bidi_level_of_next_char): Call bidi_fetch_char and
bidi_fetch_char_advance instead of FETCH_CHAR and
FETCH_CHAR_ADVANCE.
(bidi_init_it): Initialize new members.
(LRE_CHAR, RLE_CHAR, PDF_CHAR, LRO_CHAR, RLO_CHAR): Remove macro
definitions.
(bidi_explicit_dir_char): Lookup character type in bidi_type_table,
instead of using explicit *_CHAR codes.
(bidi_resolve_explicit, bidi_resolve_weak): Use
FETCH_MULTIBYTE_CHAR instead of FETCH_CHAR, as reordering of
bidirectional text is supported only in multibyte buffers.
src/dispextern.h (struct bidi_it): New members nchars and disp_pos.
ch_len is now EMACS_INT.
(compute_display_string_pos): Declare prototype.
Katsumi Yamaoka [Tue, 10 May 2011 03:14:44 +0000 (03:14 +0000)]
shr.el (shr-put-image-function): New variable.
(shr-image-fetched, shr-image-displayer, shr-tag-img): Funcall it.
(shr-put-image): Return scaled image.
gnus-art.el (gnus-shr-put-image): New function.
(gnus-article-prepare-display): Bind shr-put-image-function to it.
gnus-html.el (gnus-html-wash-images): Register scaled images, not original ones, as deletable.
Teodor Zlatanov [Mon, 9 May 2011 22:27:17 +0000 (22:27 +0000)]
registry.el (registry-full): Add convenience method. Fix logic.
(registry-insert): Use it. Fix logic here too.
gnus-registry.el (gnus-registry-insert): Add wrapper that calls `registry-prune' if `registry-full' returns t.
(gnus-registry-handle-action, gnus-registry-get-or-make-entry, gnus-registry-set-id-key, gnus-registry-usage-test): Use it.
lisp/misc.el: Implement new command `list-dynamic-libraries'.
* misc.el (list-dynamic-libraries--loaded-only-p): New variable.
(list-dynamic-libraries--refresh): New function.
(list-dynamic-libraries): New command.
Chong Yidong [Mon, 9 May 2011 01:24:00 +0000 (21:24 -0400)]
Various fixes to compilation-error-regexp-alist-alist.
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Fix
the ant regexp to handle end-line and end-column info from jikes.
Re-introduce maven regexp. Give the ruby-Test::Unit regexp a
higher priority to avoid clobbering by gnu.
Chong Yidong [Sun, 8 May 2011 05:17:17 +0000 (01:17 -0400)]
Perform grep-mode's buffer modifications in a process filter (Bug#7952)
* progmodes/grep.el (grep-mode-font-lock-keywords): Remove
buffer-changing entries.
(grep-filter): New function.
(grep-mode): Add it to compilation-filter-hook.
* progmodes/compile.el (compilation-filter-hook)
(compilation-filter-start): New defvars.
(compilation-filter): Call compilation-filter-hook prior to
updating the process mark.
Eli Zaretskii [Sat, 7 May 2011 15:44:19 +0000 (18:44 +0300)]
Fix bug #8597 with setting frame background mode on w32 console.
src/w32console.c (Fset_screen_color): Doc fix.
(Fget_screen_color): New function.
(syms_of_ntterm): Defsubr it.
lisp/term/w32console.el (terminal-init-w32console): Call
get-screen-color and use its output to set the frame
background-mode.
Eli Zaretskii [Sat, 7 May 2011 11:28:55 +0000 (14:28 +0300)]
Adapt the MS-DOS build to latest changes.
src/callproc.c (call_process_cleanup): Don't close and unlink the
temporary file if Fcall_process didn't create it in the first
place.
(Fcall_process): Don't create tempfile if stdout of the child
process will be redirected to a file specified with `:file'.
Don't try to re-open tempfile in that case, and set fd[0] to -1 as
cue to call_process_cleanup not to close that handle.
msdos/inttypes.h: Include stdint.h.
(uintmax_t): Don't define, it is defined in stdint.h.
msdos/sedlibmk.inp (am__append_1): Edit to comment out.
(am__append_2): Edit to expose.
(NEXT_AS_FIRST_DIRECTIVE_STDARG_H, NEXT_STDARG_H, STDARG_H): Edit
to empty.
(@GL_GENERATE_STDARG_H_TRUE@, @GL_GENERATE_STDARG_H_FALSE@): Edit
to comment out corresponding lines.
Eli Zaretskii [Sat, 7 May 2011 11:25:05 +0000 (14:25 +0300)]
Fix changes in 2011-05-01T00:04:17Z!larsi@gnus.org for MS-DOS.
src/callproc.c (call_process_cleanup): Don't close and unlink the
temporary file if Fcall_process didn't create it in the first
place.
(Fcall_process): Don't create tempfile if stdout of the child
process will be redirected to a file specified with `:file'.
Don't try to re-open tempfile in that case, and set fd[0] to -1 as
cue to call_process_cleanup not to close that handle.
Eli Zaretskii [Sat, 7 May 2011 10:24:55 +0000 (13:24 +0300)]
Adapt MS-DOS configury to latest changes.
msdos/inttypes.h: Include stdint.h.
(uintmax_t): Don't define, it is defined in stdint.h.
msdos/sedlibmk.inp (am__append_1): Edit to comment out.
(am__append_2): Edit to expose.
(NEXT_AS_FIRST_DIRECTIVE_STDARG_H, NEXT_STDARG_H, STDARG_H): Edit
to empty.
(@GL_GENERATE_STDARG_H_TRUE@, @GL_GENERATE_STDARG_H_FALSE@): Edit
to comment out corresponding lines.
Stefan Monnier [Sat, 7 May 2011 04:03:49 +0000 (01:03 -0300)]
Make bytecomp.el understand that defmethod defines functions.
* lisp/emacs-lisp/eieio.el (eieio--defalias, eieio--defgeneric-init-form):
New functions.
(defgeneric, eieio--defmethod): Use them.
(eieio-defgeneric): Remove.
(defmethod): Call defgeneric in a way visible to the byte-compiler.
Ben Key [Sat, 7 May 2011 04:00:12 +0000 (23:00 -0500)]
* nt/configure.bat: Renamed the fusercflags variable to escusercflags
so that the variable name better matches its purpose, to be identical
to usercflags with the exception that all quotes are escaped by the \
character.
Renamed the fuserldflags variable to escuserldflags so that the
variable name better matches its purpose, to be identical to
userldflags with the exception that all quotes are escaped by the \
character.
A new ESC_USER_CFLAGS variable is written to config.settings. This
variable has the same value as the escusercflags variable.
* nt/gmake.defs, nt/nmake.defs: Added the variable ESC_CFLAGS. This
variable is identical to the CFLAGS variable except that it includes
the new ESC_USER_CFLAGS variable instead of USER_CFLAGS.
* src/makefile.w32-in: The bootstrap-temacs rule now makes use of one
of two shell specific rules, either bootstrap-temacs-CMD or
bootstrap-temacs-SH. The bootstrap-temacs-SH rule is identical to the
previous implementation of the bootstrap-temacs rule. The
bootstrap-temacs-CMD rule is similar to the previous implementation of
the bootstrap-temacs rule except that it makes use of the ESC_CFLAGS
variable instead of the CFLAGS variable.
These changes are required to extend my earlier fix to add support for
--cflags and --ldflags options that include quotes so that it works
whether make uses cmd or sh as the shell.
Michael Albinus [Fri, 6 May 2011 22:12:31 +0000 (00:12 +0200)]
* dbusbind.c (QCdbus_type_unix_fd): Declare static.
(xd_remove_watch): Don't check QCdbus_type_unix_fd for SYMBOLP, it
is a constant.
(Fdbus_init_bus, xd_read_queued_messages): Bus can be a symbol or
a string. Handle both cases.
(Fdbus_call_method_asynchronously, Fdbus_register_signal)
(Fdbus_register_method): Use Qinvalid_function.
Eli Zaretskii [Fri, 6 May 2011 12:09:08 +0000 (15:09 +0300)]
Adapt Windows include files to latest changes.
nt/inc/inttypes.h [!__MINGW32__]: Include stdint.h. Move the
definition of uintmax_t from here...
nt/inc/stdint.h (uintmax_t): ...to here.
(intptr_t) [!__GNUC__]: New typedef.
Paul Eggert [Fri, 6 May 2011 07:13:19 +0000 (00:13 -0700)]
Do not assume EMACS_INT is the same width as a pointer.
This prepares for a future patch that will prefer 64-bit EMACS_INT if
available. That patch can be tried now, by compiling with -DWIDE_EMACS_INT,
but it is temporarily not the default so that it can be further tested.
Also, install some other fixes for problems discovered by the static
checking of GCC 4.6.0.
Glenn Morris [Fri, 6 May 2011 04:28:53 +0000 (21:28 -0700)]
Add diary comments feature.
* lisp/calendar/diary-lib.el (diary-comment-start, diary-comment-end):
New options.
(diary-add-to-list): Strip comments from the displayed string.
(diary-mode): Set comment-start and comment-end.