Jan Djärv [Thu, 1 Nov 2012 22:44:53 +0000 (23:44 +0100)]
* 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.
Eli Zaretskii [Fri, 2 Nov 2012 14:00:45 +0000 (16:00 +0200)]
Implement backtrace output for fatal errors on MS-Windows.
src/w32fns.c (CaptureStackBackTrace_proc): New typedef.
(BACKTRACE_LIMIT_MAX): New macro.
(w32_backtrace): New function.
(emacs_abort): Use w32_backtrace when the user chooses not to
attach a debugger. Update the text of the abort dialog.
Dmitry Antipov [Fri, 2 Nov 2012 09:44:08 +0000 (13:44 +0400)]
Remove pad from struct input_event.
* termhooks.h (struct input_event): Remove padding field.
Adjust comment.
* keyboard.c (event_to_kboard): Simplify because frame_or_window
member is never cons for a long time. Adjust comment.
(mark_kboards): Adjust because SELECTION_REQUEST_EVENT and
SELECTION_CLEAR_EVENT has no Lisp_Objects to mark. Add comment.
* xterm.c (handle_one_xevent): Do not initialize frame_or_window
field of SELECTION_REQUEST_EVENT and SELECTION_CLEAR_EVENT.
Glenn Morris [Thu, 1 Nov 2012 07:16:32 +0000 (00:16 -0700)]
More edits for cl.texi
* doc/misc/cl.texi: More copyedits, plus:
(Time of Evaluation, Iteration): Add xref to Emacs Lisp manual.
(Macro Bindings, Blocks and Exits): Acknowledge existence of lexical-binding.
(Iteration): Mainly defer to doc of standard dolist, dotimes.
Paul Eggert [Wed, 31 Oct 2012 17:27:29 +0000 (10:27 -0700)]
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.
Martin Rudalics [Wed, 31 Oct 2012 10:02:51 +0000 (11:02 +0100)]
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).
Glenn Morris [Wed, 31 Oct 2012 07:25:18 +0000 (00:25 -0700)]
Document cl-flet and cl-labels in doc/misc/cl.texi
* doc/misc/cl.texi (Function Bindings): Update for cl-flet and cl-labels.
(Obsolete Lexical Binding): Rename section from "Lexical Bindings".
(Obsolete Macros): Rename section from "Obsolete Lexical Macros".
Reword, and add details of flet and labels.
Glenn Morris [Tue, 30 Oct 2012 07:34:37 +0000 (00:34 -0700)]
Doc and manual updates for cl-letf and letf Fixes: debbugs:12760
* doc/misc/cl.texi (Modify Macros): Update for cl-letf changes.
(Obsolete Lexical Macros): Say a little more about letf/cl-letf.
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.
Stefan Monnier [Mon, 29 Oct 2012 00:06:39 +0000 (20:06 -0400)]
* lisp/progmodes/sh-script.el (sh-font-lock-paren): Also put punctuation
syntax to the matching opener, if any.
(sh-smie-sh-forward-token, sh-smie-sh-backward-token): Recognize this
matching open as a "case-(".
(sh-smie-rc-grammar): Add a corresponding rule for it.
Eli Zaretskii [Sun, 28 Oct 2012 17:42:52 +0000 (19:42 +0200)]
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.
Jan Djärv [Sun, 28 Oct 2012 16:10:06 +0000 (17:10 +0100)]
* 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.
Martin Rudalics [Sun, 28 Oct 2012 12:56:15 +0000 (13:56 +0100)]
Reformulate description of windows basics. Describe changes in window ordering.
* windows.texi (Basic Windows): Reformulate description of live,
internal and valid windows.
(Cyclic Window Ordering): Describe new argument of
get-lru-window and get-largest-window. Add description of
window-in-direction.
Glenn Morris [Sun, 28 Oct 2012 01:55:40 +0000 (18:55 -0700)]
Start moving some cl.texi features to an Obsolete appendix
* doc/misc/cl.texi (Lexical Bindings): Move to appendix of obsolete features.
(Porting Common Lisp): Emacs Lisp can do true lexical binding now.
(Obsolete Features): New appendix. Move Lexical Bindings here.
Glenn Morris [Sat, 27 Oct 2012 22:42:07 +0000 (15:42 -0700)]
Move generalized variable documentation from misc/cl.texi to lispref
* doc/lispref/variables.texi (Generalized Variables): New section,
adapted from misc/cl.texi.
* doc/lispref/elisp.texi (Top): Add Generalized Variables to menu.
* doc/lispref/lists.texi (List Elements, List Variables):
Mention generalized variables.
* doc/misc/cl.texi (Control Structure): Update for setf now being in core.
(Setf Extensions): Rename from Basic Setf. Move much of the
former content to lispref/variables.texi.
(Modify Macros): Move pop, push details to lispref/variables.texi.
(Customizing Setf): Copyedits for setf etc being in core.
(Modify Macros, Efficiency Concerns, Porting Common Lisp):
Further namespaces updates.
Eli Zaretskii [Sat, 27 Oct 2012 11:21:26 +0000 (13:21 +0200)]
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.
Juri Linkov [Sat, 27 Oct 2012 09:17:14 +0000 (12:17 +0300)]
* lisp/wdired.el (wdired-keep-marker-rename): New defcustom.
(wdired-do-renames): Use it instead of `dired-keep-marker-rename'.
* lisp/dired.el (dired-keep-marker-rename): Add reference to
`wdired-keep-marker-rename' in the docstring.
Add default character value ?R to display initially in
Customization UI instead of ?@.
* windows.texi (Choosing Window): Don't mention the obsolete
special display feature.
(Choosing Window Options): Remove obsolete special-display
variables, and the functions special-display-p and
special-display-popup-frame.
Bastien [Fri, 26 Oct 2012 17:07:35 +0000 (13:07 -0400)]
* lisp/face-remap.el: Use lexical-binding.
(text-scale-adjust): Improve docstring. Use itself for the temporary
overlay-map bindings, so as to repeat the "Use..." message each time.
Eli Zaretskii [Fri, 26 Oct 2012 09:46:46 +0000 (11:46 +0200)]
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.