Commit graph

32740 commits

Author SHA1 Message Date
Eli Zaretskii
85d0efd175 Fix bug #11513 with raise-frame on MS-Windows.
src/w32term.c (my_bring_window_to_top): New function.
 (x_raise_frame): Use handle returned by DeferWindowPos, which
 could be different from the original one.  Call
 my_bring_window_to_top instead of my_set_foreground_window.
 src/w32fns.c (w32_wnd_proc): Accept and process WM_EMACS_BRINGTOTOP
 by calling BringWindowToTop.
 src/w32term.h (WM_EMACS_BRINGTOTOP): New message.
 (WM_EMACS_END): Increase by one.
2012-05-28 20:22:40 +03:00
Paul Eggert
da92a98c3d * bidi.c (bidi_mirror_char): Put eassert before conversion to int.
This avoids undefined behavior that might cause the eassert
to not catch an out-of-range value.
2012-05-28 00:13:45 -07:00
Juanma Barranquero
74d1f848fa src/makefile.w32-in: Update dependencies. 2012-05-28 03:58:42 +02:00
Eli Zaretskii
9e1a06fcf8 Fix last change in bidi_mirror_char. 2012-05-27 15:27:07 +03:00
Andreas Schwab
f3dd73121c * unexmacosx.c (copy_data_segment): Truncate after 16 characters
when referring to sectname field in printf format.
2012-05-27 14:18:35 +02:00
Paul Eggert
57b81a9f51 * lisp.h [REL_ALLOC]: Omit duplicate prototypes.
Only r_alloc_inhibit_buffer_relocation needed to be added;
the others were already declared.
2012-05-27 00:51:09 -07:00
Paul Eggert
81899c9138 * bidi.c (bidi_mirror_char): Don't possibly truncate the integer
before checking whether it's out of range.  Put the check inside
eassert.  See
<http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00485.html>.
2012-05-27 00:32:46 -07:00
Glenn Morris
33017fafd1 Merge from emacs-24; up to 2012-04-24T08:35:02Z!lekktu@gmail.com 2012-05-26 18:06:44 -07:00
Paul Eggert
c1892f1145 Fix coding-related core dumps with gcc -ftrapv.
The code was computing A - B, where A and B are pointers, and B is
random garbage.  This can lead to core dumps on platforms that
have special pointer registers, and it also leads to core dumps on
x86-64 when compiled with gcc -ftrapv.  The fix is to compute
A - B only when B is initialized properly.
* coding.c (coding_set_source, coding_set_destination): Return void.
(coding_change_source, coding_change_destinations): New functions,
with the old behaviors of coding_set_source and coding_set_destination.
All callers that need an offset changed to use these new functions.
2012-05-26 15:27:21 -07:00
Glenn Morris
eb7afdaddc Don't mess with INFOPATH in ns builds
It's not necessary, and would break if INFOPATH was already set (bug#2791).
Ref also
http://lists.gnu.org/archive/html/emacs-devel/2009-05/msg00035.html
http://lists.gnu.org/archive/html/emacs-devel/2005-06/msg00064.html

* lisp/paths.el (Info-default-directory-list):
* lisp/info.el (info-initialize): For self-contained NS builds, put the
included info/ directory at the front. 

* src/nsterm.m (ns_init_paths): Don't mess with INFOPATH.
2012-05-26 14:23:28 -07:00
Stefan Monnier
a179e3f7b4 Use declare' in lambda' and mis minor changes.
* lisp/subr.el (lambda): Use declare.
* lisp/emacs-lisp/lisp-mode.el (lambda):
* lisp/emacs-lisp/edebug.el (lambda): Move properties to its definition.
* lisp/gnus/legacy-gnus-agent.el (gnus-agent-unhook-expire-days):
* lisp/gnus/gnus-demon.el (gnus-demon-init): Don't bother with type-of.
2012-05-26 11:52:27 -04:00
Eli Zaretskii
53a63be64d Extend mouse support on W32 text-mode console.
src/xdisp.c (draw_row_with_mouse_face): Call
 tty_draw_row_with_mouse_face for WINDOWSNT as well.
 src/w32console.c: Include window.h.
 (w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face): New
 functions.
 (initialize_w32_display): Initialize mouse-highlight data.
 src/w32inevt.c: Include termchar.h and window.h.
 (do_mouse_event): Support mouse-autoselect-window.  When the mouse
 moves, call note_mouse_highlight.  If help_echo changed, call
 gen_help_event to produce help-echo message in the echo area.
 Call clear_mouse_face if mouse_face_hidden is set in the mouse
 highlight info.

 etc/NEWS: Describe the changes.
2012-05-26 15:14:56 +03:00
Eli Zaretskii
c4aeb92ab4 Support help-echo and tooltip messages on w32 text-mode terminals.
src/w32inevt.c (do_mouse_event): If help_echo changed, call gen_help_event
 to produce help-echo message in the echo area.
2012-05-26 14:58:19 +03:00
Eli Zaretskii
f12fdf0237 Support mouse-autoselect-window on w32 text-mode terminals.
src/w32inevt.c (do_mouse_event): Support mouse-autoselect-window.
2012-05-26 14:46:20 +03:00
Eli Zaretskii
42e3a36157 Refactor mouse highlight invocation for w32 console.
src/w32inevt.c: Include termchar.h.
 (mouse_moved_to): Move the call to note_mouse_highlight from here...
 (do_mouse_event): ...to here.
 Call clear_mouse_face if mouse_face_hidden is set in the mouse
 highlight info.
2012-05-26 12:56:31 +03:00
Eli Zaretskii
eb3f6f0189 Support mouse highlight on w32 text-mode frames.
src/xdisp.c (draw_row_with_mouse_face): Call
 tty_draw_row_with_mouse_face for WINDOWSNT as well.
 src/w32inevt.c (mouse_moved_to): When the mouse moves, call
 note_mouse_highlight.
 src/w32console.c: Include window.h.
 (w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face): New
 functions.
 (initialize_w32_display): Initialize mouse-highlight data.
2012-05-26 12:31:59 +03:00
Paul Eggert
4cfd81f6c9 * lread.c (read1): Simplify slightly to avoid an overflow warning
with GCC 4.7.0 on x86-64.
2012-05-26 01:30:49 -07:00
Eli Zaretskii
4446092aff Revert last change in bidi.c.
src/bidi.c (bidi_mirror_char): Revert last change: an int is
 definitely wide enough here.
2012-05-26 10:03:39 +03:00
Glenn Morris
f9f334f0c2 * lisp/paths.el: Remove no-byte-compile.
* lisp/loadup.el: No need to load lisp/paths.el uncompiled.

* src/lisp.mk (lisp): Update for this change.
2012-05-25 18:13:24 -04:00
Paul Eggert
024811862b * src/buffer.c (Fmove_overflay): Clip instead of trying to fix bug 9642. 2012-05-25 13:30:19 -07:00
Paul Eggert
23d10a2703 Merge from trunk. 2012-05-25 12:27:58 -07:00
Paul Eggert
243e053005 Merge recent dbus changes better. 2012-05-25 12:24:54 -07:00
Glenn Morris
c6574eb515 * src/lisp.mk (lisp): Update for more files being compiled now. 2012-05-25 14:58:25 -04:00
Paul Eggert
42b2a986d9 Merge from trunk. 2012-05-25 11:19:24 -07:00
Stefan Monnier
48def666f1 * src/lread.c: Remove `read_pure' which makes no difference.
(read_pure): Remove var.
(unreadpure): Remove function.
(readevalloop): Don't call read_list with -1 flag.
(read1, read_vector): Don't test read_pure any more.
(read_list): Simplify.
2012-05-25 14:06:13 -04:00
Stefan Monnier
e8d32c7e80 * src/fileio.c, src/character.h: Minor style tweaks. 2012-05-25 11:01:30 -04:00
Ken Brown
2f9b9adb46 * src/callproc.c (Fcall_process): Restore a line that was accidentally commented out (bug#11547). 2012-05-24 07:21:34 -04:00
Dmitry Antipov
4b2addb7e3 * src/window.h (clip_changed): Remove useless declaration. 2012-05-23 23:13:51 -07:00
Eli Zaretskii
52c55cc7d2 Fix bug #11519 with relocation of buffer text during regex search.
src/lisp.h [REL_ALLOC]: Add prototypes for external functions
 defined on ralloc.c.
 src/buffer.c [REL_ALLOC]: Remove prototypes of
 r_alloc_reset_variable, r_alloc, r_re_alloc, and r_alloc_free,
 they are now on lisp.h.
 src/ralloc.c (r_alloc_inhibit_buffer_relocation): New function.
 src/search.c (search_buffer): Use it to inhibit relocation of buffer
 text while re_search_2 is doing its job, because re_search_2 is
 passed C pointers to buffer text.
2012-05-23 20:32:28 +03:00
Juanma Barranquero
bd7239f542 Fix ChangeLog typos. 2012-05-22 20:31:19 +02:00
Juanma Barranquero
584461b299 src/makefile.w32-in: Follow-up to 2012-05-22T16:20:27Z!eggert@cs.ucla.edu.
(TAGS, TAGS-gmake, CONFIG_H): Remove further references to m/intel386.h.
2012-05-22 18:42:08 +02:00
Paul Eggert
3437465030 Remove src/m/*.
* configure.in: Remove all mention of src/m/*.
(machine, machfile, M_FILE, config_machfile, and_machfile): Remove.
All uses removed.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
(BITS_PER_LONG_LONG): Move to src/lisp.h.
* lib/makefile.w32-in: Remove dependencies on
$(EMACS_ROOT)/src/m/intel386.h.
* make-dist: Don't make links to src/m.
* admin/CPP-DEFINES: Do not mention src/m/*.h.
(BITS_PER_EMACS_INT, BITS_PER_LONG, BITS_PER_CHAR)
(BITS_PER_SHORT, BITS_PER_INT): Remove.
* admin/MAINTAINERS: Remove src/m/.
* lib-src/makefile.w32-in: Remove dependencies on
$(EMACS_ROOT)/src/m/intel386.h.
* msdos/mainmake.v2 (TAGS tags): Don't look at $(CURDIR)/src/m/intel386.h.
* nt/config.nt: Do not include "m/intel386.h"; file was removed.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG):
Move to src/lisp.h.
(EMACS_INT_MAX): New macro.
This directory predates autoconf and is no longer needed nowadays.
Move its few remaining bits of functionality to where they're needed.
* src/m/README, src/m/alpha.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibmrs6000.h:
* src/m/ibms390x.h, src/m/intel386.h, src/m/m68k.h, src/m/macppc.h:
* src/m/sparc.h, src/m/template.h: Remove.
* src/Makefile.in (M_FILE): Remove.  All uses removed.
* src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS):
* src/lisp.h (USE_LSB_TAG):
* src/mem-limits.h (EXCEEDS_LISP_PTR):
Use VAL_MAX, not VALBITS, in #if.
* src/lisp.h (EMACS_INT_MAX): New macro, useful in #if.
(EMACS_UINT): Define unconditionally now.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
(BITS_PER_EMACS_INT): New constants, replacing
what used to be in config.h, but not useful in #if.
(GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't
define them any more.
(VAL_MAX): New macro.
(VALMASK): Use it.
* src/puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not
BITS_PER_EMACS_INT, in #if.
* src/s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
(BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed.
* src/s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]:
* src/s/ms-w32.h (DATA_START):
Move here from removed file m/intel386.h.
* src/s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this.
* src/s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
2012-05-22 09:20:27 -07:00
Eli Zaretskii
23415acf5a Update value of window-system-version for MS-DOS build.
src/msdos.c (internal_terminal_init) <Vwindow_system_version>:
 Update value to 24.
2012-05-21 22:56:36 +03:00
Paul Eggert
261cb4bb75 Assume C89 or later.
* configure.in (AC_C_PROTOTYPES, AC_C_VOLATILE, AC_C_CONST)
(POINTER_TYPE, PROTOTYPES): Remove.
* admin/CPP-DEFINES: Remove NULL, const.
* lib-src/etags.c (static, const): Remove macros.
(PTR): Remove; all uses replaced with void *.  Omit needless casts.
* src/alloc.c, src/buffer.c, lisp.h: Replace POINTER_TYPE with void.
* alloc.c (overrun_check_malloc, overrun_check_realloc, xmalloc)
(xrealloc):
* buffer.c (mmap_free_1, mmap_enlarge): Omit needless casts.
* editfns.c, fns.c, gmalloc.c, insdel.c, sysdep.c, termcap.c (NULL):
* textprop.c, tparam.c (NULL): Remove.
* ralloc.c, vm-limit.c (POINTER): Assume void * works.
* regex.c (SIGN_EXTEND_CHAR): Assume signed char works.
* regex.h (_RE_ARGS): Remove.  All uses rewritten to use prototypes.
* unexelf.c (ElfBitsW): Assume c89 preprocessor or better.
* xterm.c (input_signal_count): Assume volatile works.
2012-05-21 08:36:54 -07:00
Ken Brown
ff23cd9f45 * src/xgselect.c (xg_select): Fix first argument in call to 'select' (bug#11508). 2012-05-21 09:35:40 -04:00
Ken Brown
1b170bc63c Get rid of compiler warnings on Cygwin.
* src/gmalloc.c (_free_internal_nolock, _realloc_internal_nolock)
[CYGWIN]:  Cast ptr to (char *) before comparing to _heapbase.
2012-05-20 08:19:13 -04:00
Ken Brown
b2f4d39feb Improve test for when xg_select should just invoke select (bug#9754).
* src/xfns.c (x_in_use): Remove `static' qualifier.
* src/xterm.h (x_in_use): Declare.
* src/xgselect.c: Include xterm.h.
(xg_select): Test `x_in_use' instead of `inhibit_window_system'
and `display_arg'.
2012-05-19 17:46:43 -04:00
Paul Eggert
9232a6d9a7 Remove unused HAVE_* symbols for functions.
* configure.in (AC_CHECK_FUNCS): Remove XSetWMProtocols,
getdomainname, mblen (twice), mbrlen (twice), mbsinit, ualarm,
getsockopt, setsockopt, mremap, mempcpy.
* admin/CPP-DEFINES (HAVE_GETDOMAINNAME): Remove.
* msdos/sed2v2.inp (HAVE_MBLEN): Remove.
* msdos/sed2x.inp (HAVE_XSETWMPROTOCOLS): Remove.
* nt/config.nt (HAVE_GETDOMAINNAME, HAVE_XSETWMPROTOCOLS)
(HAVE_GETSOCKOPT, HAVE_SETSOCKOPT): Remove; not needed.
* src/s/ms-w32.h (HAVE_GETDOMAINNAME): Remove; not needed.
2012-05-19 11:04:49 -07:00
Eli Zaretskii
44e2736828 A better fix for bug #11464 with pos-visible-in-window-p and R2L text.
src/xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator
 state after an additional call to move_it_in_display_line_to, keep
 the values of it->max_ascent and it->max_descent found for the
 entire line.
 (pos_visible_p): Revert the comparison against bottom_y to what it
 was in 2012-05-13T18:22:35Z!eliz@gnu.org.
2012-05-19 15:14:11 +03:00
Paul Eggert
003fdae201 Remove no-longer-used macro HAVE_FTIME.
* configure.in (machine): Do not set to 'vax', since src/m/vax.h
is being removed.
(AC_CHECK_FUNCS): Remove ftime.
* admin/CPP-DEFINES (HAVE_FTIME): Remove.
* nt/config.nt (HAVE_FTIME): Remove undef; not needed.
* src/m/vax.h: Remove; no longer needed since HAVE_FTIME is being removed.
* src/s/ms-w32.h (HAVE_FTIME): Remove; not needed.
2012-05-19 01:49:08 -07:00
Eli Zaretskii
784b56e25b Fix compilation with -DGLYPH_DEBUG=1 on MS-Windows.
src/w32term.c [GLYPH_DEBUG]: Add prototype for x_check_font.
 (x_check_font) [GLYPH_DEBUG]: New function, copied from xterm.c
 src/w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: Fix broken
 reference to image_cache->refcount.
 (x_create_tip_frame): Fix broken use of FRAME_IMAGE_CACHE.
2012-05-18 11:36:50 +03:00
Juri Linkov
a0a79cde7c Move word search functions from search.c to isearch.el (bug#10145, bug#11381).
* lisp/isearch.el (word-search-regexp, word-search-backward)
(word-search-forward, word-search-backward-lax)
(word-search-forward-lax): Move functions from search.c.

* src/search.c (Fword_search_regexp, Fword_search_backward)
(Fword_search_forward, Fword_search_backward_lax)
(Fword_search_forward_lax): Move functions to isearch.el.
2012-05-17 03:03:49 +03:00
Paul Eggert
b05725233b * xgselect.c (xg_select): Just invoke 'select' if -nw.
Suggested by Ken Brown.

Fixes: debbugs:9754
2012-05-15 19:22:53 -07:00
Stefan Monnier
9660f5fc84 * src/lread.c (init_obarray): Declare Qt and Qnil as special. 2012-05-15 16:20:18 -04:00
Eli Zaretskii
ccbf309ce0 Fix the changes in 2012-04-22T13:58:00Z!cyd@gnu.org for bug #11464.
src/xdisp.c (pos_visible_p): Fix last change.
2012-05-15 19:17:42 +03:00
Glenn Morris
985584aed1 Make a self-contained ns build able to find its own libexec directory
Ref: http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00298.html

* src/nsterm.m (ns_init_paths):
Put "libexec" before "bin", for the sake of init_callproc_1.
2012-05-14 09:33:11 -07:00
Glenn Morris
4374de8319 * src/nsterm.m (ns_init_paths): Fix typo ("libexec" not "lib-exec"). 2012-05-14 09:23:11 -07:00
Paul Eggert
078c97cbff * keyboard.c (kbd_buffer_get_event) [!HAVE_DBUS]: Omit unused local. 2012-05-14 08:22:29 -07:00
Paul Eggert
dc44c39ad5 * unexaix.c: Port to more-recent AIX compilers.
(report_error, report_error_1, make_hdr, copy_sym)
(mark_x, adjust_lnnoptrs, unrelocate_symbols):
Make arguments const char *, not char *, to avoid violations of C
standard and to fix some AIX warnings reported by Gilles Pion.
2012-05-14 08:11:10 -07:00
Chong Yidong
e18afed7d6 Merge from emacs-24; up to 2012-04-22T13:58:00Z!cyd@gnu.org 2012-05-14 19:59:28 +08:00