1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-01 03:11:09 -08:00
Commit graph

34250 commits

Author SHA1 Message Date
Daniel Colascione
6181850468 * sheap.c (report_sheap_usage): Use message, not message1, so
that we don't try to create a buffer while we're in the middle
  of dumping Emacs.  Explain why.
2013-02-19 21:56:28 -08:00
Daniel Colascione
d69f1120d8 2013-02-19 Daniel Colascione <dancol@dancol.org>
* sheap.c (report_sheap_usage): Use message, not message1, so
       that we don't try to create a buffer while we're in the middle
       of dumping Emacs.  Explain why.
2013-02-19 21:43:53 -08:00
Dmitry Antipov
2a14a4f13c * search.c (find_newline): Return byte position in bytepos.
Adjust comment.
(find_next_newline_no_quit, find_before_next_newline): Add
bytepos argument.
* lisp.h (find_newline, find_next_newline_no_quit)
(find_before_next_newline): Adjust prototypes.
* bidi.c (bidi_find_paragraph_start):
* editfns.c (Fconstrain_to_field, Fline_end_position):
* indent.c (compute_motion, vmotion):
* xdisp.c (back_to_previous_line_start, forward_to_next_line_start):
(get_visually_first_element, move_it_vertically_backward):
Adjust users and avoid calls to CHAR_TO_BYTE where appropriate.
2013-02-20 09:18:20 +04:00
Paul Eggert
8b17a8b958 Spelling fixes. 2013-02-19 06:44:03 -08:00
Glenn Morris
872faefb07 Merge from emacs-24; up to 2012-12-20T16:09:05Z!dmantipov@yandex.ru 2013-02-18 19:29:28 -08:00
Eli Zaretskii
17ddfd150f Avoid leaking handles on MS-Windows.
src/w32proc.c (new_child): Avoid leaking handles if the subprocess
 resources were not orderly released.
2013-02-18 18:38:50 +02:00
Eli Zaretskii
c1b9b2c27f Fix a typo in a comment. 2013-02-18 18:34:09 +02:00
Glenn Morris
a51e9ff76c Merge from emacs-24; up to 2012-12-20T05:05:41Z!dmantipov@yandex.ru 2013-02-17 11:01:46 -08:00
Eli Zaretskii
ae11bda519 Fix bug #13735 with network streams on MS-Windows.
Revert changes to w32proc.c done since 2012-11-30T09:23:15Z!eliz@gnu.org.

Do NOT merge to trunk!

 src/w32proc.c (new_child): Remove the loop that attempted to salvage
 slots of dead processes.
 (new_child, delete_child, find_child_pid): Don't insist on
 procinfo.hProcess be NULL for a process slot to be considered
 inactive, or be non-NULL to be considered active.
 (reader_thread): Don't set the FILE_AT_EOF flag of a file
 descriptor if the corresponding child was deleted and its
 char_avail handle is NULL.
 (reap_subprocess): Don't reset the FILE_AT_EOF flag.
 (sys_select): Don't pass a NULL process handle to
 WaitForMultipleObjects.

Fixes: debbugs:13735 debbugs:13546
2013-02-17 20:17:34 +02:00
Stefan Monnier
2f73da9c57 Prefer message1' over message'.
* src/xml.c (init_libxml2_functions):
* src/sound.c (sound_warning):
* src/sheap.c (report_sheap_usage):
* src/process.c (wait_reading_process_output):
* src/msdos.c (XMenuActivate):
* src/macros.c (Fstart_kbd_macro, Fend_kbd_macro):
* src/keyboard.c (top_level_1):
* src/editfns.c (Fmessage, Fmessage_box):
* src/callint.c (Fcall_interactively):
* src/fns.c (Fyes_or_no_p): Prefer `message1' over `message'.
2013-02-17 11:49:27 -05:00
Eli Zaretskii
fd80c659d2 Fix bug #13723 with redrawing vertical border in GUI sessions.
src/xdisp.c (x_draw_vertical_border): For a window that is neither
 the leftmost nor the rightmost, redraw both the left and the right
 vertical borders.
2013-02-17 18:22:11 +02:00
Jan Djärv
fd9547e88b Move scroll-bar-adjust-thumb-portion.
* xterm.c (syms_of_xterm): Move scroll-bar-adjust-thumb-portion ...

* frame.c (syms_of_frame): ... to here.
2013-02-17 11:41:33 +01:00
Eli Zaretskii
c793958519 Remove functions and macros unused on MS-Windows.
src/w32.c (sys_chown): Remove unused function.

 nt/inc/ms-w32.h (chown, logb): Remove, unused.
2013-02-16 16:16:07 +02:00
Eli Zaretskii
cd91fb4b0a Don't use __STDC__ on MS-Windows unless necessary (Bug #9066).
nt/inc/ms-w32.h (__STDC__): Fiddle with value only for MSVC.

 src/w32term.c <input_signal_count>: Declare 'volatile' unconditionally.
2013-02-16 15:59:37 +02:00
Eli Zaretskii
f277993be3 Don't set h_errno on MS-Windows except in gethostbyname.
See http://lists.gnu.org/archive/html/emacs-devel/2013-02/msg00293.html
and the following discussion for the details.

 src/w32.c (set_errno): Reset h_errno and don't set it to any other
 value.  Set errno instead.
 (check_errno): Reset h_errno.
 (sys_socket, socket_to_fd, sys_bind, sys_connect)
 (sys_gethostname, sys_getservbyname, sys_getpeername)
 (sys_shutdown, sys_setsockopt, sys_listen, sys_getsockname)
 (sys_accept, sys_recvfrom, sys_sendto, fcntl, sys_read): Don't set
 h_errno.
 (sys_gethostbyname): Set h_errno only errors detected.
2013-02-16 13:08:49 +02:00
Eli Zaretskii
b2af991a2f Remove unneeded bits of commit 2013-02-15T09:41:31Z!eliz@gnu.org merged from release branch. 2013-02-15 21:37:29 +02:00
Paul Eggert
e454145b09 * process.c (h_errno) [!HAVE_H_ERRNO]: Remove unused decl. 2013-02-15 11:08:11 -08:00
Eli Zaretskii
ef9c57e27a Fix bug #13720 with auto-save-timeout less than 4 seconds.
src/keyboard.c (read_char): Fix calculation of auto-save time out
 when auto-save-timeout is less than 4.
2013-02-15 20:52:16 +02:00
Glenn Morris
d64d97e537 Merge from emacs-24; up to 2012-12-19T19:51:40Z!monnier@iro.umontreal.ca 2013-02-15 09:31:12 -08:00
Eli Zaretskii
a7727d05be Fix commit 2013-02-15T09:41:31Z!eliz@gnu.org for bug #13546. 2013-02-15 15:14:26 +02:00
Dmitry Antipov
0063fdb148 * composite.c (fill_gstring_header): Remove useless prototype.
Break long line.
* lisp.h (message_dolog, compile_pattern): Adjust prototype.
* print.c (PRINTDECLARE, print_object):
* search.c (compile_pattern, fast_looking_at, search_buffer):
(simple_search, boyer_moore, Freplace_match):
* xdisp.c (c_string_pos, number_of_chars, message_dolog):
(get_overlay_arrow_glyph_row, display_mode_element):
(decode_mode_spec_coding, message3):
* xfaces.c (face_at_string_position): Use bool for booleans.
Adjust comments.
2013-02-15 16:26:42 +04:00
Eli Zaretskii
ef862e206a Allow deleted processes to be reaped by SIGCHLD handler on MS-Windows.
src/w32proc.c (new_child): Free up to 2 slots of dead processes at a
 time.  Improve diagnostics in DebPrint.
 (reader_thread): If cp->char_avail is NULL, set the FILE_AT_EOF
 flag, so that sys_select could have a chance of noticing that this
 process is dead, and call a SIGCHLD handler for it.  Improve
 diagnostics in DebPrint.
 (reap_subprocess): Reset the FILE_AT_EOF flag set by
 reader_thread.
 (sys_select): Watch a process whose procinfo.hProcess is non-NULL
 even if its char_avail is NULL.  Allows to reap subprocesses that
 were forcibly deleted by delete-process.  (Bug#13546)
2013-02-15 11:41:31 +02:00
Eli Zaretskii
bcf7fe2aef Improve error reporting as part of solving bug #13546 on MS-Windows.
src/w32.c (sys_socket, sys_bind, sys_connect, sys_gethostname)
 (sys_gethostbyname, sys_getservbyname, sys_getpeername)
 (sys_shutdown, sys_setsockopt, sys_listen, sys_getsockname)
 (sys_accept, sys_recvfrom, sys_sendto, fcntl): In case of failure,
 make sure errno is set to an appropriate value.  (Bug#13546)
 (socket_to_fd): Add assertion against indexing fd_info[] with a
 value that is out of bounds.
 (sys_accept): If fd is negative, do not set up the child_process
 structure for reading.
2013-02-15 11:01:13 +02:00
Paul Eggert
648e5523fb Merge from emacs-24; up to 2012-12-19T13:01:16Z!michael.albinus@gmx.de 2013-02-14 22:35:54 -08:00
Paul Eggert
974c7646ec Backport GCPRO fix from trunk.
The bug was reported for AIX before today's changes.
I reproduced the problem on Fedora 17 x86-64 when setting
GC_MARK_STACK by hand, and I presume it occurs with default
configurations on HP-UX and Unixware.
Trunk fix on 2013-01-14 by Dmitry Antipov <dmantipov@yandex.ru>:
Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
* eval.c (eval_sub): Protect `form' from being GCed before its
car and cdr becomes protected with the backtrace entry.

Fixes: debbugs:13650
2013-02-14 14:08:38 -08:00
Paul Eggert
35b3a27e67 Fix AIX port.
* configure.ac (DATA_START, DATA_SEG_BITS): Set to 0x20000000 on AIX.
(GC_MARK_STACK): Do not set to GC_USE_GCPROS_AS_BEFORE, as that
runs afoul of some other bug in Emacs, and the default value
GC_MAKE_GCPROS_NOOPS has been tested and works.
* src/lisp.h (XPNTR) [!USE_LSB_TAG && DATA_SEG_BITS]:
Fix bug introduced in 2012-07-27 change.  DATA_SEG_BITS, if set,
was #undeffed earlier, so it cannot be used as a macro here.
Use the constant and not the macro.  Tested on AIX.
* src/unexaix.c: Revert 2013-02-11 and 2013-02-12 changes to this
file.  They're almost surely OK but we're just before a release so
we should avoid changes unless they're clearly needed.  Instead,
make the following minor change:
(ADDR_CORRECT): New macro.

Fixes: debbugs:13650
2013-02-14 12:05:10 -08:00
Jan Djärv
51b3a99c94 * gtkutil.c (tb_size_cb): New function.
(xg_create_tool_bar): Connect size-allocate to tb_size_cb.

Fixes: debbugs:13512
2013-02-14 20:01:12 +01:00
Stefan Monnier
e31560a791 * src/keyboard.c (active_maps): Fcurrent_active_maps expects a position, not
an event.
2013-02-14 09:40:54 -05:00
Stefan Monnier
fe33626173 * src/keyboard.c (syms_of_keyboard): Further tweaks of docstring. 2013-02-13 14:43:06 -05:00
Eli Zaretskii
0e4e7b741b More robust creation of a subprocess, attempt to solve bug #13546.
src/w32proc.c (new_child): If no vacant slots are found in
 child_procs[], make another pass looking for slots whose process
 has exited or died.
2013-02-13 19:04:30 +02:00
Eli Zaretskii
6e432f0cda Cleanup related to bug #13546 with subprocesses on MS-Windows.
src/w32.c (sys_pipe): When failing due to file descriptors above
 MAXDESC, set errno to EMFILE.
 (_sys_read_ahead): Update cp->status when failing to read serial
 communications input, so that the status doesn't stay at
 STATUS_READ_IN_PROGRESS.
2013-02-13 19:00:26 +02:00
Dmitry Antipov
5a655b9f0d * font.c (font_range): Add pos_byte argument. Adjust comment
and break long line.
* font.h (font_range): Adjust prototype.
* composite.c (autocmp_chars): Pass byte position to font_range.
Break long line.  Remove useless prototype and format comment.
2013-02-13 11:14:38 +04:00
Glenn Morris
01fcc3a532 Merge from emacs-24; up to 2012-12-17T11:17:34Z!rgm@gnu.org 2013-02-12 20:31:09 -08:00
Glenn Morris
1a359750bb * src/keyboard.c (input-decode-map, key-translation-map): Doc fixes. 2013-02-12 20:26:43 -08:00
Paul Eggert
83be852403 Minor getenv-related fixes.
* callproc.c (Fcall_process_region) [!DOS_NT]:
Avoid unnecessary duplicate call to getenv.
* callproc.c (init_callproc):
* dispnew.c (init_display):
* sysdep.c (sys_subshell):
Omit unnecessary cast of getenv or egetenv.
2013-02-12 18:10:36 -08:00
Juanma Barranquero
45b2b76861 src/makefile.w32-in: Update dependencies. 2013-02-13 01:50:38 +01:00
Paul Eggert
f53f992ad5 Improve AIX port some more.
With this, it should be as good as it was in 23.3, though it's
still pretty bad: the dumped emacs does not run.  See Mark Fleishman in
http://lists.gnu.org/archive/html/help-gnu-emacs/2011-04/msg00287.html
* unexaix.c (start_of_text): Remove.
(_data, _text): Declare as char[], not int, as AIX manual suggests.
(bias, lnnoptr, text_scnptr, data_scnptr, load_scnptr)
(orig_load_scnptr, orig_data_scnptr):
Now off_t, not long, since they are file offsets.
(make_hdr): Use _data, not start_of_data ().
This is the key part of the fix.
(make_hdr, unrelocate_symbols): Use off_t for file offsets.
(unrelocate_symbols): Cast pointers to intptr_t, not to ulong.

Fixes: debbugs:13650
2013-02-12 10:43:11 -08:00
Paul Eggert
4458c2551b * pre-crt0.c (data_start): Initialize to 1.
This ports to compilers that optimize the external declaration
'int x = 0;' as if it were 'int x;' to shrink the executable.
2013-02-12 10:33:42 -08:00
Paul Eggert
65e7ca35a6 In doc, use standard American English style for e.g., etc., i.e. 2013-02-12 09:36:54 -08:00
Eli Zaretskii
c413156231 Fix cursor positioning near scroll margin at top of window.
src/xdisp.c (try_scrolling): Scroll text up more if point is too close
 to ZV and inside the scroll margin.  This makes sure point is moved
 outside the scroll margin in these cases.
2013-02-12 18:43:09 +02:00
Eli Zaretskii
33b49d71e4 Minor additional fix in the wake of bugs #13623 and 13626.
src/xdisp.c (redisplay_internal): Don't set w->region_showing to the
 marker's position.
 (display_line): Set w->region_showing to the value of
 it->region_beg_charpos, not to -1.  This fixes redisplay
 optimization when cursor is moved up after M->.
 src/window.h (struct window): region_showing can no longer be negative.
2013-02-12 18:36:55 +02:00
Paul Eggert
a84b7c5334 Tune by using memchr and memrchr.
* .bzrignore: Add string.h.
* admin/merge-gnulib (GNULIB_MODULES): Add memrchr.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/memrchr.c, lib/string.in.h, m4/memrchr.m4, m4/string_h.m4:
New files, from gnulib.
* src/doc.c (Fsnarf_documentation):
* src/fileio.c (Fsubstitute_in_file_name):
* src/search.c (find_newline, scan_newline):
* src/xdisp.c (pos_visible_p, display_count_lines):
Use memchr and memrchr rather than scanning byte-by-byte.
* src/search.c (find_newline): Rename from scan_buffer.
Omit first arg TARGET, as it's always '\n'.  All callers changed.
2013-02-11 15:37:18 -08:00
Paul Eggert
227be86d10 Improve AIX port.
This doesn't fix the bug, but it makes progress: Emacs builds now.
* unexaix.c: Include inttypes.h, stdarg.h.
(report_error, report_error_1): Mark as _Noreturn.
(report_error): Don't report the wrong errno.
(report_error_1): Now varargs.  All callers changed.
(make_hdr): Use uintptr_t, not unsigned, when converting pointers
to unsigned.  Don't use ADDR_CORRECT, as it no longer exists.
(write_ptr): Use %p to print address rather than %lx and a cast
to unsigned long.  Grow buffer a bit, to be safer.

Fixes: debbugs:13650
2013-02-11 12:32:54 -08:00
Paul Eggert
b09a48104f Clean up read_key_sequence a tiny bit more.
* keyboard.c (read_char_x_menu_prompt) [HAVE_MENUS]:
(read_key_sequence): Remove unused locals.
2013-02-11 11:42:04 -08:00
Stefan Monnier
99d0d6dc23 Clean up read_key_sequence a bit; reread active keymaps after first event.
* src/keyboard.c (read_char, read_char_x_menu_prompt)
(read_char_minibuf_menu_prompt):
Replace nmaps+maps with a single `map' arg.
(follow_key): Operate on a single map.
(active_maps): New function.
(test_undefined): Also return true for nil bindings.
(read_key_sequence): Use active_maps to replace the arrays of keymaps with
a single (composed) keymap.  Remember `first_event' to choose the right
set of active keymaps.  Recompute the set of keymaps after receiving
the first event.  Remove GOBBLE_FIRST_EVENT.
(syms_of_keyboard): Remove inhibit_local_menu_bar_menus.
* src/keyboard.h (read_char): Update declaration.
* src/lread.c (read_filtered_event): Adjust call to read_char.
* lisp/cus-start.el (all): Remove inhibit-local-menu-bar-menus.
2013-02-11 14:21:23 -05:00
Eli Zaretskii
f5e1b6804d Fix previous commit for bug #13675.
src/xdisp.c (move_it_vertically_backward, move_it_by_lines): Don't
 use the limitation on backwards movement when lines are truncated
 in the window.
2013-02-11 19:32:32 +02:00
Eli Zaretskii
713bfeaab3 Fix rare aborts in bidi.c.
src/bidi.c (bidi_resolve_neutral): After finding the next
 non-neutral character, accept NEUTRAL_ON type as well, because
 directional control characters, such as LRE and RLE, have their
 type converted to that by bidi_resolve_weak.  This avoids aborts
 when LRE/RLE follows a run of neutrals.
 (bidi_move_to_visually_next): Assert that return value of
 bidi_peek_at_next_level is non-negative.  Negative values will
 cause an infloop.
2013-02-11 19:27:48 +02:00
Dmitry Antipov
f74de3451c * marker.c (set_marker_internal): If desired position is passed
as a marker, avoid call to buf_charpos_to_bytepos.
* window.c (Fset_window_point): Omit redundant type checking.
(Fset_window_start): Likewise.  Format comment.
(window_scroll_pixel_based): Use set_marker_restricted_both
with character and byte positions obtained from an iterator.
(Fset_window_configuration): Use set_marker_restricted_both.
* xdisp.c (message_dolog): Likewise.
2013-02-11 14:21:52 +04:00
Paul Eggert
e37778785a Remove obsolete references to VAX in comments. 2013-02-10 16:35:37 -08:00
Eli Zaretskii
a4ba396395 Speed up some redisplay operations with very long lines (Bug#13675).
src/xdisp.c (move_it_vertically_backward, move_it_by_lines): When
 text lines are longer than window's screen lines, don't move back
 too far.  This speeds up some redisplay operations.
2013-02-10 18:49:09 +02:00