Commit graph

11294 commits

Author SHA1 Message Date
Paul Eggert
cb993c584c Port --enable-checking=all to Fedora 14 x86.
* alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
Move to lisp.h.
(xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
(overrun_check_realloc, overrun_check_free):
Use XMALLOC_OVERRUN_SIZE_SIZE, not sizeof (size_t).
That way, xmalloc returns a properly-aligned pointer even if
XMALLOC_OVERRUN_CHECK is defined.  The old debugging code happened
to align OK on typical 64-bit hosts, but not on Fedora 14 x86.
* charset.c (syms_of_charset): Take XMALLOC_OVERRUN_CHECK_OVERHEAD
into account when calculating the initial malloc maximum.
* lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
Move here from alloc.c, so that charset.c can use it too.
Properly align; the old code wasn't right for common 32-bit hosts
when configured with --enable-checking=all.
(XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
(XMALLOC_OVERRUN_SIZE_SIZE): New macros.
2011-09-29 20:25:46 -07:00
Eli Zaretskii
31bed48620 Fix the MSDOS build.
msdos/mainmake.v2 (boot): Condition the value on the existence of
 autogen/README, not admin/admin.el, since the latter is now part
 of the release tarball.
 (install): Don't copy lib-src/fns.el, as that file is no longer
 generated in that directory.
 msdos/sed1v2.inp (LIB_PTHREAD, LIB_PTHREAD_SIGMASK): Edit to empty.
 (SETTINGS_CFLAGS, SETTINGS_LIBS): Edit these instead of
 GCONF_CFLAGS and GCONF_LIBS.
 msdos/sedlibmk.inp (ALLOCA_H, AR, ARFLAGS, GNULIB_CHDIR, GNULIB_DUP)
 (GNULIB_FDATASYNC, GNULIB_FDOPEN, GNULIB_FSTAT, GNULIB_PCLOSE)
 (GNULIB_PTHREAD_SIGMASK, GNULIB_RAISE, GNULIB_SIGACTION)
 (GNULIB_SIGPROCMASK, GNULIB_SIGNAL_H_SIGPIPE, HAVE_FDATASYNC)
 (HAVE_PCLOSE, HAVE_POPEN, HAVE_POSIX_SIGNALBLOCKING)
 (HAVE_PTHREAD_SIGMASK, HAVE_RAISE, HAVE_SIGACTION)
 (HAVE_SIGHANDLER_T, HAVE_SIGINFO_T, HAVE_SIGSET_T)
 (HAVE_STRUCT_SIGACTION_SA_SIGACTION)
 (HAVE_TYPE_VOLATILE_SIG_ATOMIC_T, LIB_PTHREAD)
 (LIB_PTHREAD_SIGMASK, NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H)
 (NEXT_SIGNAL_H, REPLACE_FDOPEN, REPLACE_PTHREAD_SIGMASK)
 (REPLACE_RAISE): New edits.
 (gl_LIBOBJS): Remove md5.o, filemode.o, and sha1.o.  Add
 pthread_sigmask.o.
 (@GL_GENERATE_ALLOCA_H_TRUE@, @GL_GENERATE_ALLOCA_H_FALSE@): Edit
 to comment out unneeded lines.
 (warn-on-use.h): Edit the recipe commands to work with DJGPP
 without requiring a Unixy shell.
 msdos/inttypes.h (strtoimax) [DJGPP < 2.04]: New macro.
 msdos/sed2v2.inp (HAVE_ALLOCA, HAVE_DECL_STRTOLL, HAVE_DECL_STRTOIMAX)
 (HAVE_STRTOLL, HAVE_SIGSET_T, HAVE_SNPRINTF): New edits.

 .bzrignore: Add ./GNUMakefile.unix.
 config.bat: Rename GNUMakefile, so it is not run on MS-DOS.
 Rename signal.in.h and alloca.in.h.

 src/sysdep.c (snprintf) [EOVERFLOW]: If EOVERFLOW is not defined,
 use EDOM.
2011-09-29 15:00:18 +03:00
Eli Zaretskii
fbcaa2f388 Fix bug #9624 with crashes in Muse mode.
src/xdisp.c (compute_display_string_end): If there's no display
 string at CHARPOS, return -1.
 src/bidi.c (bidi_fetch_char): When compute_display_string_end
 returns a negative value, treat the character as a normal
 character not covered by a display string.
2011-09-28 17:37:27 +03:00
Juanma Barranquero
a239d4e9c0 Fix typos. 2011-09-28 02:59:28 +02:00
Eli Zaretskii
88652fd58c Fix bug #9610 with slow cursor motion in buffers with invisible text.
src/xdisp.c (handle_invisible_prop): If invisible text ends on a
 newline, reseat the iterator instead of bidi-iterating there one
 character at a time.  (Bug#9610)
 (BUFFER_POS_REACHED_P, move_it_in_display_line_to): Bail when past
 TO_CHARPOS if the bidi iterator is at base embedding level.
2011-09-27 20:18:31 +03:00
Andreas Schwab
ed497dd4ec * lread.c (readevalloop): Use correct code for NBSP.
(read1): Likewise.  (Bug#9608)
2011-09-27 10:37:07 +02:00
Michael Albinus
b2bf61aa89 * dbusbind.c (Fdbus_register_signal): When service is not
registered, use nil in Vdbus_registered_objects_table.  (Bug#9581)
2011-09-25 18:00:02 +02:00
Glenn Morris
32bbb17c0e * src/buffer.c (truncate-lines): Doc fix. 2011-09-24 19:30:31 -07:00
Chong Yidong
94e0933e1f Minor doc fixes for some window functions.
Minor doc fixes for switch-to-buffer, window-prev-buffers,
set-window-prev-buffers, set-window-next-buffers.
2011-09-24 18:51:36 -04:00
Glenn Morris
cddde9219f * src/minibuf.c (read_minibuf): Disable line truncation. (Bug#5715) 2011-09-24 11:29:35 -07:00
Paul Eggert
25b4bfa0d1 Fix minor problems found by static checking.
* xdisp.c (string_from_display_spec): Don't assume vecsize fits in int.
* indent.c (Fvertical_motion): Fix == vs = typo.
2011-09-24 09:31:55 -07:00
Paul Eggert
9f985e85e1 * xdisp.c (string_from_display_spec): Don't use int for vector length. 2011-09-24 09:28:25 -07:00
Paul Eggert
1260aef1ae * indent.c (Fvertical_motion): Fix == vs = typo. 2011-09-24 09:15:32 -07:00
Eli Zaretskii
6bf7006fa2 Change the default value of redisplay-dont-pause to t.
src/dispnew.c (syms_of_display) <redisplay-dont-pause>: Default
 value is now t.  Doc fix.
 doc/lispref/display.texi (Forcing Redisplay): Update the description of
 redisplay-dont-pause due to change in the default value.
 etc/NEWS: Mention the change of the default value.
2011-09-24 17:38:16 +03:00
Eli Zaretskii
e3cbd34b87 Fix vertical cursor motion when the newline is covered by a display string.
src/indent.c (Fvertical_motion): Compute and apply the overshoot
 logic when moving up, not only when moving down.  Fix the
 confusing name and values of the it_overshoot_expected variable;
 logic changes accordingly.  (Bug#9254) (Bug#9549)
 src/xdisp.c (pos_visible_p): Produce correct pixel coordinates when
 CHARPOS is covered by a display string which includes newlines.
 (move_it_vertically_backward): Avoid inflooping when START_CHARPOS
 is covered by a display string with embedded newlines.
2011-09-24 16:23:58 +03:00
Michael Albinus
a3de0cbd6d * dbusbind.c (Fdbus_register_signal): Add match rule to
Vdbus_registered_objects_table.  (Bug#9581)
(Fdbus_register_method, Vdbus_registered_objects_table): Fix
docstring.
2011-09-24 13:36:53 +02:00
Jim Meyering
b260039d42 do not ignore write error for any output size
The previous change was incomplete.
While it makes emacs --batch detect the vast majority of stdout
write failures, errors were still ignored whenever the output size is
k * (BUFSIZ+1) - 4.  E.g., on a system with BUFSIZ of 4096,
  $ emacs --batch --eval '(print (format "%4093d" 0))' > /dev/full \
      && echo FAIL: ignored write error
  FAIL: ignored write error
  $ emacs --batch --eval '(print (format "%20481d" 0))' > /dev/full \
      && echo FAIL: ignored write error
  FAIL: ignored write error
* emacs.c (Fkill_emacs): Also test ferror.  (Bug#9574)
2011-09-24 11:22:06 +02:00
Andreas Schwab
8eca8a7c48 * src/emacs.c (Fkill_emacs): In noninteractive mode exit
non-successfully if a write error occurred on stdout.  (Bug#9574)
2011-09-23 11:56:55 +02:00
Eli Zaretskii
3341db6299 Fix assertion failure when displaying stretch glyphs under linum-mode.
src/xdisp.c (pop_it): Allow it->object that is a cons cell to pass
 the xassert test.
 src/dispextern.h (struct it): Update the comment documenting what
 can it->OBJECT be.
2011-09-21 04:13:18 -04:00
Eli Zaretskii
fd317ddfc9 Fix bidi-aware cursor motion inside indentation.
src/xdisp.c (Fcurrent_bidi_paragraph_direction): Fix search for previous
 non-empty line.  Fixes confusing cursor motion with arrow keys at
 the beginning of a line that starts with whitespace.
2011-09-20 20:42:16 +03:00
Eli Zaretskii
8c203dbf33 Fix bug #9549 with longlines-show-hard-newlines.
src/xdisp.c (set_cursor_from_row): If the row ends in a newline from
 a display string, extend search for cursor position to end of row.
 (find_row_edges): If the row ends in a newline from a display
 string, increment its MATRIX_ROW_END_CHARPOS by one.
 Handle the case of a display string with multiple newlines.
2011-09-20 20:13:45 +03:00
Lars Magne Ingebrigtsen
a4824228fa * lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is.
Fixes: debbugs:9493
2011-09-19 10:25:35 +02:00
Chong Yidong
33ed493bca Fix handling of X resource for window icons.
* src/xfns.c (Fx_create_frame): Handle bitmapIcon resource as a boolean.

* doc/emacs/cmdargs.texi (Icons X): Fix description of Emacs icon.

* doc/emacs/xresources.texi (Table of Resources): Fix documentation of
bitmapIcon.

* doc/lispref/frames.texi (Management Parameters): Fix description of
icon-type parameter.

Fixes: debbugs:9154
2011-09-18 16:01:37 -04:00
Eli Zaretskii
3e62b7e004 Fix bug #9545 with crash in Dired when $ is pressed.
src/xdisp.c (reseat_at_next_visible_line_start): Undo the change made on
 2011-09-17 that saved paragraph information and restored it after
 the call to `reseat'.
2011-09-18 22:02:17 +03:00
Eli Zaretskii
c02dcedf1b Fix a bug in :align-to on a TTY when the column is beyond frame width.
src/xdisp.c (produce_stretch_glyph): Don't subtract 1 "pixel" when
 computing width of the stretch on a TTY.
2011-09-18 19:17:40 +03:00
Eli Zaretskii
56cd55c849 Fix bug #9530 on a TTY.
src/xdisp.c (display_line): Record maximum and minimum buffer
 positions even if no glyphs were produced (e.g., by a zero-width
 stretch).  Fixes bug#9530 on a TTY.  Under word-wrap, don't record
 buffer positions that will be removed from the glyph row because
 they don't fit.
2011-09-18 18:48:12 +03:00
Chong Yidong
5ed99d3685 Merge changes from emacs-23 branch 2011-09-18 11:21:57 -04:00
Eli Zaretskii
9bade7b2d8 src/xdisp.c (reseat_at_next_visible_line_start): Fix last change. 2011-09-18 18:16:47 +03:00
Paul Eggert
87e4427a0d Fix minor problem found by static checking.
* xdisp.c (reseat_at_next_visible_line_start): Mark locals as
initialized, to pacify gcc -Wuninitialized.
2011-09-18 02:01:39 -07:00
Paul Eggert
e5e9d610c9 * fileio.c: Report proper errno when syscall falls.
(Finsert_file_contents): Save and restore errno,
so that report_file_error outputs the correct diagnostic.
(Fwrite_region) [CLASH_DETECTION]: Likewise.
2011-09-18 01:34:09 -07:00
Eli Zaretskii
a1674f0b8f src/.gdbinit (pgx): Fix references to fields of `struct glyph'. 2011-09-18 03:33:04 -04:00
Eli Zaretskii
fbfb6dd4fd Fix bug #9530 with incorrect display of zero-width stretch.
src/xdisp.c (produce_stretch_glyph): Another fix for changes made on
 2011-08-30T17:32:44Z!eliz@gnu.org.
2011-09-17 21:21:24 +03:00
Eli Zaretskii
1137e8b8eb Fix bug #9470 with slow redisplay in huge single-paragraph buffers.
src/bidi.c (MAX_PARAGRAPH_SEARCH): New macro.
 (bidi_find_paragraph_start): Search back for paragraph beginning
 at most MAX_PARAGRAPH_SEARCH lines; if not found, return BEGV_BYTE.
 (bidi_move_to_visually_next): Only trigger paragraph-related
 computations when the last character is a newline or at EOB, not
 just any NEUTRAL_B.
 src/xdisp.c (reseat_at_next_visible_line_start): Keep information
 about the current paragraph and restore it after the call to
 reseat.
2011-09-17 18:18:56 +03:00
Juanma Barranquero
8d5ed89901 Fix typos. 2011-09-17 14:19:04 +02:00
Eli Zaretskii
bb187662be Fix bug #9524 with cursor positioning on display strings in truncated lines.
src/xdisp.c (set_cursor_from_row): Don't invoke special treatment of
 truncated lines if point is covered by a display string.
2011-09-17 11:09:45 +03:00
Sven Joachim
a91adc7e1f lisp/window.el (window-min-width, window-state-put): Fix typos (bug#9522). 2011-09-17 02:42:13 +02:00
Paul Eggert
2e621251ca * xselect.c: Relax test for outgoing X longs (Bug#9498).
(cons_to_x_long): New function.
(lisp_data_to_selection_data): Use it.  Correct the test for
short-versus-long data; it was negated.  Break out of vector
loop, for efficiency, when a long datum is discovered.
2011-09-16 10:49:29 -07:00
Stefan Monnier
91a15bc634 * src/eval.c (Fquote): Document its non-consing behavior.
Fixes: debbugs:9482
2011-09-16 10:14:48 -04:00
Eli Zaretskii
b41c3a3565 Fix a compilation error with MinGW GCC 3.x in tiff_handler.
src/image.c (tiff_handler): Work around a bug in MinGW GCC 3.x (see
 GCC PR/17406) by declaring this function with external scope.
2011-09-16 13:25:39 +03:00
Paul Eggert
7812ba2dea * editfns.c (Fformat): Fix bug in text-property fix (Bug#9514).
Don't mishandle (length (format "%%")) and (format "%4000s%%" "").
2011-09-15 11:11:37 -07:00
Paul Eggert
4c12272509 Fix my ChangeLog entry. 2011-09-15 10:41:25 -07:00
Andreas Schwab
cf7edc2a6e * src/editfns.c (Fformat): Correctly handle text properties on "%%". 2011-09-15 18:56:07 +02:00
Eli Zaretskii
bd01620e01 Add comments about special meaning of TAB characters in compositions.
src/xterm.c (x_draw_composite_glyph_string_foreground):
 src/w32term.c (x_draw_composite_glyph_string_foreground):
 src/term.c (encode_terminal_code):
 src/composite.c (composition_update_it, get_composition_id):
 src/xdisp.c (get_next_display_element)
 (fill_composite_glyph_string): Add comments about special meaning
 of TAB characters in a composition.
2011-09-15 19:22:58 +03:00
Paul Eggert
a02719a326 * editfns.c (Fformat): Fix off-by-1 bug for "%%b" (Bug#9514).
This occurs when processing a multibyte format, which can happen
when using 'eval'.  Problem reported by Wolfgang Jenker.
2011-09-15 09:10:37 -07:00
Johan Bockgård
72589a3cee Fix bug #9495 with cursor positioning on truncated lines.
Patch by Johan Bockgוrd <bojohan@gnu.org>

 src/xdisp.c (try_cursor_movement): Only check for exact match if
 cursor hpos found by set_cursor_from_row is valid.  (Bug#9495)
2011-09-15 19:02:49 +03:00
Paul Eggert
1c14176cfd Remove unused external symbols.
* dispextern.h (calc_pixel_width_or_height): Remove decl.
* xdisp.c (calc_pixel_width_or_height): Now static.
* doprnt.c (exprintf) [! (HAVE_X_WINDOWS && USE_X_TOOLKIT)]: Remove.
* indent.c (check_display_width):
* w32term.c: Fix comment to match code.
* xterm.c, xterm.h (x_catching_errors): Remove.
2011-09-14 14:45:51 -07:00
Paul Eggert
d2eea5b594 * xselect.c: Use signed conversions more consistently (Bug#9498).
(selection_data_to_lisp_data): Assume incoming selection data are
signed integers, not unsigned.  This is to be consistent with
outgoing selection data, which was modified to use signed integers
in as part of the fix to Bug#9196 in response to Jan Djärv's comment
in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9196#32> that X11
expects long, not unsigned long.
2011-09-14 08:47:21 -07:00
Eli Zaretskii
46888499da xdisp.c (try_window_reusing_current_matrix): Fix incorrect computation of loop end.
src/xdisp.c (try_window_reusing_current_matrix): Fix incorrect
 computation of loop end.  Reported by Johan Bockgård <bojohan@gnu.org>.
2011-09-14 01:20:23 -04:00
Chong Yidong
ef8ef9fb80 * lisp/window.el (window-deletable-p): Never delete last frame on a terminal.
* src/frame.c (Fother_visible_frames_p): Function deleted.
2011-09-13 11:33:16 -04:00
Eli Zaretskii
fa819fed53 Fix bug #2496 with column counting in presence of display tables.
src/indent.c (compute_motion): Process display vector front to back
 rather than the other way around.
2011-09-12 07:51:27 -04:00