1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-08 08:43:52 -08:00
Commit graph

34238 commits

Author SHA1 Message Date
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
Dmitry Antipov
68643cdeb6 * syntax.c (scan_sexps_forward): Fix byte position calculation
Bug#13664 (a.k.a Bug#13667) introduced with 2013-02-08 change.
2013-02-10 20:25:33 +04:00
Paul Eggert
7ba11bee64 * fileio.c (Fexpand_file_name): Omit confusing pointer comparison
that was not needed.
2013-02-10 00:26:56 -08:00
Paul Eggert
eff1c1900f Minor hashing refactoring.
* fns.c (SXHASH_REDUCE): Move to lisp.h.
(sxhash_float): Return EMACS_UINT, for consistency with the other
hash functions.
* lisp.h (INTMASK): Now a macro, since SXHASH_REDUCE is now a
non-static inline function and therefore can't use static vars.
(SXHASH_REDUCE): Move here from fns.c, and make it inline.
* profiler.c (hashfn_profiler): Use SXHASH_REDUCE, to be consistent
with the other hash functions.
2013-02-09 14:42:33 -08:00
Eli Zaretskii
4dde2087c4 Fix last ChangeLog entry.
Fixes: debbugs:13661
2013-02-09 18:39:46 +02:00
Eli Zaretskii
74ba158362 Fix bug #13661 with w32-downcase-file-names and shell-command.
src/callproc.c (Fcall_process_region): Make sure the XXXXXX part of
 the temporary file pattern is not downcased even when
 w32-downcase-file-names is non-nil.
2013-02-09 18:36:53 +02:00
Eli Zaretskii
8549f9e89b Remove all references to buffer-file-type and related features.
src/xdisp.c (decode_mode_spec): Remove handling of %t.

 lisp/net/ange-ftp.el (ange-ftp-insert-file-contents): Don't reference
 buffer-file-type.
 lisp/mail/feedmail.el (feedmail-force-binary-write): Doc fix.
 (feedmail-run-the-queue, feedmail-dump-message-to-queue)
 (feedmail-send-it-immediately): Don't bind buffer-file-type, bind
 coding-system-for-write instead.
 lisp/jka-compr.el (jka-compr-write-region): Don't bind
 buffer-file-type.
 lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't bind
 buffer-file-type.
 lisp/files.el (file-name-buffer-file-type-alist): Remove defvar.
 (insert-file-contents-literally): Remove reference to
 file-name-buffer-file-type-alist.
 lisp/dos-w32.el (file-name-buffer-file-type-alist): Deprecate and
 make-obsolete.
 (find-buffer-file-type-match, find-buffer-file-type): Remove.
 (find-buffer-file-type-coding-system): Remove references to
 find-buffer-file-type-match, find-buffer-file-type, and
 buffer-file-type.
 Don't put find-buffer-file-type-coding-system into
 file-coding-system-alist.
 (find-file-binary, find-file-text): Bind coding-system-for-read
 instead of file-name-buffer-file-type-alist.
 lisp/erc/erc-dcc.el (erc-dcc-get-file): Don't reference buffer-file-type.

 doc/emacs/msdog.texi (Text and Binary): Delete the description of
 file-name-buffer-file-type-alist.

 doc/lispref/modes.texi (%-Constructs): Remove the description of %t.
 doc/lispref/nonascii.texi (MS-DOS File Types): Delete node.

Fixes: debbugs:12989
2013-02-09 14:52:01 +02:00
Eli Zaretskii
6b48c83105 src/msdos.c (careadlinkatcwd): Remove. 2013-02-09 11:02:17 +02:00
Stefan Monnier
75a65c7eb4 * src/lread.c (skip_dyn_bytes): New function.
(read1): Use it.  Use getc instead of READCHAR to read bytes.
(load_each_byte): Remove.  Update users.

Fixes: debbugs:12598
2013-02-08 12:42:09 -05:00
Glenn Morris
078891963d Merge from emacs-24; up to 2012-12-14T21:27:39Z!rgm@gnu.org 2013-02-08 09:23:24 -08:00
Dmitry Antipov
8ca3092052 * search.c (scan_buffer): Calculate end byte position just once.
(scan_newline): Do not recalculate start_byte.
(search_command): Use eassert.
* syntax.c (struct lisp_parse_state): New member location_byte.
(scan_sexps_forward): Record from_byte and avoid redundant
character to byte position calculation ...
(Fparse_partial_sexp): ... here.  Break too long line.
2013-02-08 18:44:53 +04:00
Eli Zaretskii
c220ea73ff src/xdisp.c: Fix commentary of display_count_lines. 2013-02-08 16:27:04 +02:00
Dmitry Antipov
25721f5bb5 * lisp.h (make_uninit_vector): New function.
* alloc.c (Fvector, Fmake_byte_code):
* ccl.c (Fregister_ccl_program):
* charset.c (Fdefine_charset_internal, define_charset_internal):
* coding.c (make_subsidiaries, Fdefine_coding_system_internal):
* composite.c (syms_of_composite):
* font.c (Fquery_font, Ffont_info, syms_of_font):
* fontset.c (FONT_DEF_NEW, Fset_fontset_font):
* ftfont.c (ftfont_shape_by_flt):
* indent.c (recompute_width_table):
* nsselect.m (clean_local_selection_data):
* syntax.c (init_syntax_once):
* w32unsubscribe.c (uniscribe_shape):
* window.c (Fcurrent_window_configuration):
* xfaces.c (Fx_family_fonts):
* xselect.c (selection_data_to_lisp_data): Use it.
2013-02-08 09:28:52 +04:00