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

33770 commits

Author SHA1 Message Date
Martin Rudalics
fdaf534a7b Fix and rewrite doc on window recombining facilities.
* window.c (Fsplit_window_internal): Set combination limit of
new parent window to t iff Vwindow_combination_limit is t;
fixing a regression introduced with the change from 2012-09-22.
(Fwindow_combination_limit, Fset_window_combination_limit): Fix
doc-strings.

* elisp.texi (Top): Add Recombining Windows to menu.
* windows.texi (Recombining Windows): New subsection.
(Splitting Windows): Rewrite text on handling of window
combinations and move it to new subsection.
2012-11-07 10:41:52 +01:00
Eli Zaretskii
acf93bcf19 Fix bug #12811 with scrolling under scroll-up/down-aggressively.
src/xdisp.c (try_scrolling): Fix correction of aggressive-scroll
 amount when the scroll margins are too large.  When scrolling
 backwards in the buffer, give up if cannot reach point or the
 scroll margin within a reasonable number of screen lines.  Fixes
 point position in window under scroll-up/down-aggressively when
 point is positioned many lines beyond the window top/bottom.
2012-11-06 18:36:02 +02:00
Eli Zaretskii
508f51f5f4 Fix bug #12774 with crashes in ralloc.c.
src/ralloc.c (relinquish): If real_morecore fails to return memory
 to the system, don't crash; instead, leave the last heap
 unchanged and return.
2012-11-05 19:23:25 +02:00
Eli Zaretskii
858f0f24b1 Adapt MSDOS port to latest changes.
config.bat: Copy lib/execinfo.in.h to lib/execinfo.in-h if needed.

 msdos/sedlibmk.inp: Sync with changes in lib/Makefile.in.
 (HAVE_DECL_ENVIRON, GNULIB_ENVIRON): Edit to require declaration
 through lib/unistd.h.
 msdos/sed1v2.inp: Sync with changes in src/Makefile.in.
 msdos/sed2v2.inp: Sync with changes in src/config.in.

 src/lisp.mk: Adjust comments to the fact that term/internal is now
 loaded from loadup.el.
 src/msdos.c (msdos_abort): Rename from emacs_abort, and make static.
 (msdos_fatal_signal): New function.
 (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to
 its argument list.
 src/conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline"
 for GCC versions before 4.
 (emacs_raise): Define to call msdos_fatal_signal.

 lisp/term/pc-win.el: Don't load term/internal from here.
 lisp/loadup.el: Load term/internal from here.
2012-11-03 15:58:33 +02:00
Eli Zaretskii
1d4341f988 Load term/internal from loadup.el. 2012-11-03 15:56:02 +02:00
Eli Zaretskii
b3cf17f695 Adapt the MSDOS build to the latest changes on mainline. 2012-11-03 15:48:33 +02:00
Jan Djärv
ad10696b89 Backport from trunk.
* widget.c (resize_cb): New function.
(EmacsFrameRealize): Add resize_cb as event handler.
(EmacsFrameResize): Check if all is up to date before changing frame
size.

Fixes: debbugs:12733
2012-11-03 12:33:28 +01:00
Eli Zaretskii
67b50ba47b Fix bidi initialization in init_from_display_pos.
src/xdisp.c (init_from_display_pos): Fix initialization of the bidi
 iterator when starting in the middle of a display or overlay
 string.

Fixes: debbugs:12745
2012-11-03 11:25:34 +02:00
Eli Zaretskii
7e8b50d9e5 Fix MS-Windows build broken by fixing bug #12776 on Posix platforms.
src/w32proc.c (getpgrp, setpgid): New functions.

 nt/inc/unistd.h (setpgid, getpgrp): Provide prototypes.
 nt/config.nt (GETPGRP_VOID): Define to 1.
2012-11-01 16:21:45 +02:00
Paul Eggert
5c6ce1c7d0 Spelling fixes. 2012-10-31 12:23:06 -07:00
Paul Eggert
322aea6ddf Fix crash when using Emacs as commit editor for git.
* callproc.c (setpgrp): Remove macro, as we now use setpgid
and it is configured in conf_post.h.
(Fcall_process): Don't invoke both setsid and setpgid; the former
is enough, if it exists.
* callproc.c (Fcall_process, child_setup):
* process.c (create_process): Use setpgid.
* conf_post.h (setpgid) [!HAVE_SETPGID]: New macro, which substitutes
for the real thing.
* dispnew.c (init_display): Initialize the foreground group
if we are running a tty display.
* emacs.c (main): Do not worry about setpgrp; init_display does it now.
* lisp.h (init_foreground_group): New decl.
* sysdep.c (inherited_pgroup): New static var.
(init_foreground_group, tcsetpgrp_without_stopping)
(narrow_foreground_group, widen_foreground_group): New functions.
(init_sys_modes): Narrow foreground group.
(reset_sys_modes): Widen foreground group.

Fixes: debbugs:12697
2012-10-31 10:27:29 -07:00
Michael Albinus
220cb2bd70 * dbusbind.c: Fix cut'n'waste error. Use HAVE_DBUS_VALIDATE_INTERFACE. 2012-10-31 12:45:40 +01:00
Martin Rudalics
218e997a10 Install fixes for Bug#12764 and Bug#12766.
* window.el (quit-restore-window): If the window has been
created on an existing frame and ended up as the sole window on
that frame, do not delete it (Bug#12764).

* minibuf.c (read_minibuf): Restore current buffer since
choose_minibuf_frame calling Fset_frame_selected_window may
change it (Bug#12766).
2012-10-31 11:02:51 +01:00
Jan Djärv
02615da072 * frame.c (Fframe_pixel_height): Fix documentation.
Fixes: debbugs:12733
2012-10-30 19:28:48 +01:00
Kenichi Handa
6ccc848cd8 merge trun 2012-10-30 20:38:37 +09:00
Kenichi Handa
aee5b18ec3 font.c (Ffont_at): If WINDOW is specified and it is not displaying the current buffer, signal an error. 2012-10-30 20:14:15 +09:00
Daniel Colascione
53372c278e Complete fix for build break 2012-10-29 19:10:52 -08:00
Daniel Colascione
7f590b0c3b Fix build break in non-Cygw32 Cygwin builds introduced in 2012-10-29T17:24:29Z!dancol@dancol.org. 2012-10-29 17:56:38 -08:00
Daniel Colascione
ba11600816 2012-10-29 Daniel Colascione <dancol@dancol.org>
cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode): In
preparation for fixing bug#12739, move these functions from
here...

* coding.h, coding.c: ... to here, and compile them only when
WINDOWSNT or HAVE_NTGUI.  Moving these functions out of cygw32
proper lets us write cygw32-agnostic code for the HAVE_NTGUI case.
2012-10-29 09:24:29 -08:00
Eli Zaretskii
640bf8ad44 Don't use CLOCKS_PER_SEC in w32 timers.
src/w32proc.c (TIMER_TICKS_PER_SEC): New macro.
 (timer_loop, getitimer, setitimer): Use it instead of
 CLOCKS_PER_SEC, which is no longer pertinent, since we don't use
 'clock'.
 (w32_get_timer_time): Use 10*TIMER_TICKS_PER_SEC instead of a
 literal 10000.
2012-10-28 19:42:52 +02:00
Jan Djärv
64ccff5f0e * nsterm.m (NO_APPDEFINED_DATA): New define.
(last_appdefined_event_data): New variable
(last_appdefined_event): Remove.
(ns_select): Initialize t from last_appdefined_event_data instead
of [last_appdefined_event data1].
(sendEvent:): Save [theEvent data1] to last_appdefined_event_data,
remove last_appdefined_event.

Fixes: debbugs:12698
2012-10-28 17:10:06 +01:00
Stefan Monnier
e483264ca5 * src/frame.c (x_set_font): Catch internal error. 2012-10-28 11:52:42 -04:00
Eli Zaretskii
2f246cd3c8 Fix compiler warnings in w32proc.c.
src/w32proc.c (sys_spawnve): Avoid compiler warning about format mismatch.
 (timer_loop): Remove unused variable.
2012-10-27 21:43:48 +02:00
Eli Zaretskii
2e612797ce Use 'volatile' types for communications between timer thread and main thread. 2012-10-27 21:32:30 +02:00
Eli Zaretskii
15cc05e984 Fix a typo in a comment. 2012-10-27 21:20:02 +02:00
Eli Zaretskii
6c16c13ed1 Fix w32 implementation of itimers: overflow and ITIMER_PROF.
Avoid overflow in w32 implementation of interval timers.  When
 possible, for ITIMER_PROF count only times the main thread
 actually executes.

 src/w32proc.c <struct itimer_data>: 'expire' and 'reload' are now
 ULONGLONG types.  Likewise for all the other data which was
 previously clock_t.
 (GetThreadTimes_Proc): New typedef.
 (w32_get_timer_time): New function, returns a suitable time value
 for the timer.
 (timer_loop): Enter critical section when accessing ULONGLONG
 values of the itimer_data struct, as these accesses are no longer
 atomic.  Call 'w32_get_timer_time' instead of 'clock'.
 (init_timers): Initialize s_pfn_Get_Thread_Times.
 (start_timer_thread): Don't assign itimer->caller_thread here.
 (getitimer): Assign itimer->caller_thread here.
 (setitimer): Always call getitimer to get the value of ticks_now.
2012-10-27 13:21:26 +02:00
Eli Zaretskii
ccc83f50a4 Avoid hourglass mouse pointer when a tooltip for menu item is shown.
src/w32fns.c (w32_wnd_proc) <WM_MOUSEMOVE>: Don't enable tracking of
 mouse movement events if the menu bar is active.  This avoids
 producing a busy "hour-glass" cursor by Windows if the mouse
 pointer is positioned over a tooltip shown for some menu item.
2012-10-26 11:46:46 +02:00
Paul Eggert
69deda53a8 Don't assume process IDs fit in int.
* emacs.c (shut_down_emacs) [!DOS_NT]:
* sysdep.c (sys_suspend) [SIGTSTP && !MSDOS]:
* term.c (dissociate_if_controlling_tty) [!DOS_NT]:
Use pid_t, not int, to store process IDs, as 'int'
is not wide enough on a few platforms (e.g., AIX and IRIX).
2012-10-24 21:35:39 -07:00
Kenichi Handa
6a8f819329 merge trunk 2012-10-24 00:47:51 +09:00
Kenichi Handa
7e70a15287 Make face-font-rescale-alist work correctly for non-ASCII fonts. 2012-10-24 00:42:29 +09:00
Chong Yidong
49238e7f5c Make unused variable font-list-limit obsolete, and move it out of C.
* display.texi (Font Lookup): Remove font-list-limit.

* lisp/startup.el (command-line):
* lisp/cus-start.el: Don't refer to font-list-limit.

* lisp/faces.el (font-list-limit): Define as an obsolete variable.

* xfaces.c (Vfont_list_limit): Move unused variable to faces.el.
2012-10-23 10:39:13 +08:00
Jan Djärv
ef44695952 * nsfont.m (nsfont_open, ns_glyph_metrics): Force integer advancement
for screen font.
(nsfont_draw): Turn off LCD-smoothing.

Fixes: debbugs:11484
2012-10-21 20:48:11 +02:00
Jan Djärv
5ec86886a7 * xterm.c (x_focus_changed): Check if daemonp when sending focus in
event.

Fixes: debbugs:12681
2012-10-21 16:53:28 +02:00
Paul Eggert
791ef5f8ea Spelling fixes. 2012-10-21 00:23:34 -07:00
Glenn Morris
ee7a418df3 Recognize that cp51932.el and eucjp-ms.el are loaded during dumping
* src/lisp.mk (lisp): Add cp51932.el and eucjp-ms.el.

* lib-src/make-docfile.c (scan_lisp_file): Add cp51932.el and eucjp-ms.el.
2012-10-20 18:19:46 -07:00
Paul Eggert
4973679b3f Port to OpenBSD 5.1.
* frame.c (Fmouse_position, Fmouse_pixel_position):
* xdisp.c (produce_stretch_glyph):
Declare local vars only when they're needed.
This is clearer and avoids a warning on OpenBSD about unused vars.
* frame.h (FRAME_WINDOW_P): Always evaluate its argument.
This is safer, and avoids OpenBSD warnings about unused vars.
* keyboard.c (record_menu_key): Remove unnecessary decl.
(poll_timer): Define only if POLL_FOR_INPUT is defined.
* unexelf.c (ELFSIZE) [!ElfW]: Do not define if already defined,
as our definition clashes with OpenBSD's.
* xfaces.c (load_face_colors, check_lface_attrs)
(get_lface_attributes_no_remap, get_lface_attributes)
(lface_fully_specified_p, x_supports_face_attributes_p)
(tty_supports_face_attributes_p, face_fontset, realize_face)
(realize_x_face, realize_tty_face):
Declare parameters to be Lisp_Object[LFACE_VECTOR_SIZE], not
merely Lisp_Object *.  This is more informative and avoids
a warning on OpenBSD about accessing beyond an object's size.
2012-10-20 14:30:51 -07:00
Eli Zaretskii
c95a426663 Add comments with instructions for creating new Lisp data types. 2012-10-20 15:20:44 +02:00
Chong Yidong
c664f46329 * lread.c (Fload): Doc fix.
Fixes: debbugs:12592
2012-10-20 20:50:49 +08:00
Paul Eggert
f0a8017501 Undo faccessat change. 2012-10-19 12:25:18 -07:00
Paul Eggert
e752e0b0a2 Use faccessat, not access, when checking file permissions.
* .bzrignore: Add lib/fcntl.h.
* configure.ac (euidaccess): Remove check; gnulib does this for us now.
(gl_FCNTL_O_FLAGS): Define a dummy version.
* lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
* lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
* lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
* m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
(GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
openat-die, openat-h, save-cwd.  Do not avoid fcntl-h.
Omit gnulib's m4/fcntl-o.m4.
* nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
(access): Remove.
(faccessat): New macro.
* src/Makefile.in (LIB_EACCESS): New macro.
(LIBES): Use it.
* src/callproc.c (init_callproc):
* src/charset.c (init_charset):
* src/fileio.c (check_existing, check_executable):
* src/lread.c (openp, load_path_check):
* src/process.c (allocate_pty):
* src/xrdb.c (file_p):
Use faccessat, not access or euidaccess.  Use symbolic names
instead of integers for the flags, as they're portable now.
* src/charset.c, src/xrdb.c: Include <fcntl.h>, for the new flags used.
* src/fileio.c (Ffile_readable_p):
Use faccessat, not stat + open + close.
(file_directory_p): New function, which uses 'stat' on most places
but 'access' (for efficiency) if WINDOWSNT.
* src/fileio.c (Ffile_directory_p, Fset_file_times):
* src/xrdb.c (file_p): Use file_directory_p.
* src/lisp.h (file_directory_p): New decl.
* src/lread.c (openp): When opening a file, use fstat rather than
stat, as that avoids a permissions race.  When not opening a file,
use file_directory_p rather than stat.
* src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
changed to '#if O_NONBLOCK', to accommodate gnulib O_* tyle.
* src/w32.c (sys_faccessat): Rename from sys_access and switch to
faccessat's API.  All uses changed.

Fixes: debbugs:12632
2012-10-19 09:52:02 -07:00
Kenichi Handa
6ec83f926d src/ChangeLog: Fix changers name. 2012-10-19 22:02:52 +09:00
Kenichi Handa
a0d7415fb6 font.c (Ffont_at): Fix previous change. 2012-10-19 21:59:42 +09:00
Eli Zaretskii
c052c554b4 Increase the value of BASE_PURESIZE to avoid pure space overflow.
src/puresize.h (BASE_PURESIZE): Bump the base value to 1700000.  See
 http://lists.gnu.org/archive/html/emacs-devel/2012-10/msg00593.html
 for the reasons.
2012-10-19 12:05:09 +02:00
Eli Zaretskii
d282492862 Decrease NSTATICS to 0x800. 2012-10-19 08:43:12 +02:00
Stefan Monnier
f60d391f5f * src/fns.c (Fnreverse): Include the problem element when signalling an error.
Fixes: debbugs:12677
2012-10-18 20:54:35 -04:00
Jan Djärv
1a9327d5cd * nsterm.m (ns_select): Check writefds before call to
FD_ISSET.

Fixes: debbugs:12668
2012-10-18 20:54:37 +02:00
Eli Zaretskii
afb8aa2482 Fix wording of error message in staticpro. 2012-10-18 20:21:55 +02:00
Daniel Colascione
14145a1e84 Increase NSTATICS; tell the user when we run out of static slots. 2012-10-18 09:00:08 -08:00
Martin Rudalics
1f76f6f579 In window.c fix two flaws reported by Dmitry Antipov.
* window.c (Ftemp_output_buffer_show): Remove.
(Fwindow_vscroll, Fset_window_vscroll): Use decode_live_window.
(syms_of_window): Remove defsubr for Stemp_output_buffer_show.
2012-10-18 10:27:49 +02:00
Eli Zaretskii
a68089e4a4 Fix warnings when compiling on MS-Windows with -std=gnu99.
src/makefile.w32-in ($(BLD)/w32.$(O)): 
 ($(BLD)/vm-limit.$(O)): 
 ($(BLD)/term.$(O)): 
 ($(BLD)/unexw32.$(O)): 
 ($(BLD)/fileio.$(O)): 
 ($(BLD)/dispnew.$(O)): Update dependencies.
 src/w32term.h (w32_initialize_display_info, initialize_w32_display):
 Add prototypes.
 src/w32proc.c: Include ctype.h.
 src/w32.h (init_environment, check_windows_init_file)
 (syms_of_ntproc, syms_of_ntterm, dostounix_filename)
 (unixtodos_filename, init_winsock, srandom, random, sys_pipe)
 (set_process_dir, sys_spawnve, register_child, sys_sleep, getwd)
 (sys_link): Add prototypes.
 src/w32.c: Include w32select.h.
 (sys_access, e_malloc, sys_select): Add prototypes.
 (emacs_gnutls_pull): 'timeout' is now EMACS_TIME, not struct timeval.
 src/vm-limit.c [WINDOWSNT]: Include w32heap.h.
 src/unexw32.c: Include lisp.h and w32.h.
 src/term.c [WINDOWSNT]: Include w32term.h.
 src/process.c [WINDOWSNT]: Add prototype of sys_select.
 src/fileio.c [WINDOWSNT]: Include w32.h.
 src/dispnew.c [WINDOWSNT]: Include w32.h.

 nt/inc/pwd.h (getuid, geteuid): Add prototypes.
 nt/inc/ms-w32.h (sys_wait, _getpid, gmtgime_r, localtime_r)
 (signal_handler, sys_signal, sigemptyset, sigfillset, sigprocmask)
 (pthread_sigmask, sigismember, setpgrp, sigaction, alarm)
 (sys_kill, getpagesize): Add prototypes for emulated functions.
 nt/inc/grp.h (getgid, getegid): Add prototypes.
 nt/gmake.defs (DEBUG_CFLAGS) [NOOPT]: Add -std=gnu99.
 nt/configure.bat (chkapiN): Avoid compiler warning in junk.c when
 compiling with -std=gnu99.
 nt/config.nt (CHECK_LISP_OBJECT_TYPE): Don't undef, so that it
 could be used via --cflags switch to configure.bat.
2012-10-17 21:02:44 +02:00