Chong Yidong [Tue, 8 Nov 2011 15:34:21 +0000 (23:34 +0800)]
* doc/lispref/windows.texi (Resizing Windows): Simplify introduction.
Don't document enlarge-window, shrink-window, enlarge-window-horizontally,
and shrink-window-horizontally; they are no longer preferred for calling
from Lisp, and are already documented in the Emacs manual.
Martin Rudalics [Tue, 8 Nov 2011 09:33:22 +0000 (10:33 +0100)]
Remove stale references to help-setup parameter in doc-strings.
* window.el (display-buffer-function, special-display-function):
Mention display-buffer-record-window but do not mention
help-setup parameter in doc-strings.
Chong Yidong [Tue, 8 Nov 2011 07:25:56 +0000 (15:25 +0800)]
Move low-level window width/height functions to C, and high-level functions to Lisp.
* lisp/window.el (window-total-height, window-total-width): Doc fix.
(window-body-size): Move from C.
(window-body-height, window-body-width): Move to C.
* src/window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.
(Fwindow_body_height, Fwindow_body_width): Move from Lisp. Signal
an error if not a live window.
(Fwindow_total_width, Fwindow_total_height): Move from Lisp.
(Fwindow_total_size, Fwindow_body_size): Move to Lisp.
Stefan Monnier [Tue, 8 Nov 2011 02:57:59 +0000 (21:57 -0500)]
* lisp/window.el: Make special-display like display-buffer-alist.
(display-buffer--special-action): New function, morphed
from display-buffer--special.
(display-buffer): Use it to handle special-display-buffers at higher
priority (just after display-buffer-alist).
(display-buffer-fallback-action, display-buffer--other-frame-action)
(pop-to-buffer-same-window): Remove display-buffer--special.
Eli Zaretskii [Mon, 7 Nov 2011 16:42:34 +0000 (18:42 +0200)]
Allow to run temacs.exe on MS-Windows in GUI mode.
src/w32.c (check_windows_init_file): Don't look for term/w32-win.el
if Vpurify_flag is non-nil. Fixes a crash when running w32 build
of temacs in GUI mode.
Martin Rudalics [Mon, 7 Nov 2011 09:51:08 +0000 (10:51 +0100)]
Remove term "subwindow" from code and documentation.
* window.h: Declare delete_all_child_windows instead of
delete_all_subwindows.
* window.c (Fwindow_nest, Fset_window_nest)
(Fset_window_new_total, Fset_window_new_normal)
(Fwindow_resize_apply): Don't use term subwindow in doc-strings.
(delete_all_subwindows): Rename to delete_all_child_windows.
(Fdelete_other_windows_internal, Fset_window_configuration):
Call delete_all_child_windows instead of delete_all_subwindows.
* frame.c (delete_frame): Call delete_all_child_windows instead
of delete_all_subwindows.
* window.el (window-combinations): Make WINDOW argument
mandatory. Rewrite doc-string.
(walk-window-subtree, window-atom-check, window-min-delta)
(window-max-delta, window--resize-this-window)
(window--resize-root-window-vertically, window-tree)
(balance-windows, window-state-put): Rewrite doc-strings as to
not mention the term "subwindow".
(window--resize-subwindows-skip-p): Rename to
window--resize-child-windows-skip-p.
(window--resize-subwindows-normal): Rename to
window--resize-child-windows-normal.
(window--resize-subwindows): Rename to
window--resize-child-windows.
(window-or-subwindow-p): Rename to window--in-subtree-p.
* windows.texi (Resizing Windows, Splitting Windows)
(Window Configurations): Use "child window" instead of
"subwindow".
Paul Eggert [Sun, 6 Nov 2011 21:12:10 +0000 (13:12 -0800)]
Fix some portability problems with 'inline'.
* dispextern.h (window_box, window_box_height, window_text_bottom_y)
(window_box_width, window_box_left, window_box_left_offset)
(window_box_right, window_box_right_offset): Declare extern.
Otherwise, these inline functions do not conform to C99 and
are miscompiled by Microsoft compilers. Reported by Eli Zaretskii in
<http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>.
* intervals.c (adjust_intervals_for_insertion)
(adjust_intervals_for_deletion): Now extern, because otherwise the
extern inline functions 'offset_intervals' couldn't refer to it.
(static_offset_intervals): Remove.
(offset_intervals): Rewrite using the old contents of
static_offset_intervals. The old version didn't conform to C99
because an extern inline function contained a reference to an
identifier with static linkage.
Eli Zaretskii [Sun, 6 Nov 2011 18:21:52 +0000 (20:21 +0200)]
Fix bug #9963 with abort in "temacs -nw".
src/xdisp.c (init_iterator, reseat_to_string): Don't set the
iterator's bidi_p flag if Vpurify_flag is non-nil.
(Fcurrent_bidi_paragraph_direction): If Vpurify_flag is non-nil,
return Qleft_to_right.
Chong Yidong [Sun, 6 Nov 2011 06:14:01 +0000 (14:14 +0800)]
Manual updates for window changes.
* doc/emacs/windows.texi (Basic Window): Add xref to Cursor Display.
(Split Window): Document negative arg for splitting commands.
(Other Window): Document mouse-1 in text area of window.
(Change Window): Don't mention window attributes, since they
aren't defined. C-x 1 can't be used with minibuffer windows.
Windows are no longer auto-deleted.
(Window Choice): Add xref to Choosing Window in Lisp manual.
(Window Convenience): Note that windmove disables shift-selection.
Move M-x compare-windows here from Other Window node.
* doc/emacs/custom.texi (Mouse Buttons):
* doc/emacs/search.texi (Isearch Scroll):
* doc/emacs/windows.texi (Split Window): Use new names split-window-below
and split-window-right.
* doc/lispref/windows.texi (Basic Windows): Clarify various definitions.
Treat window-normalize-* as internal; don't document them.
(Windows and Frames): Various clarifications, e.g. non-live
windows also belong to frames. Fix window-list description.
Simplify window nesting example.
(Splitting Windows, Window Configurations): Use
split-window-below.
Chong Yidong [Sun, 6 Nov 2011 03:59:53 +0000 (11:59 +0800)]
Delete window-combination-p; tweaks to window-top-child and window-left-child.
* lisp/window.el (window-combination-p): Function deleted; its
side-effect is not used in any existing code.
(window-combinations, window-combined-p): Call window-*-child
directly.
* window.c (Fwindow_live_p, Fwindow_frame, Fframe_root_window)
(Fminibuffer_window, Fwindow_buffer, Fwindow_splits)
(Fset_window_splits, Fwindow_nest, Fset_window_nest)
(Fwindow_use_time, Fwindow_total_size, Fwindow_normal_size)
(Fwindow_new_normal, Fwindow_left_column, Fwindow_top_line)
(Fwindow_margins, Fwindow_fringes, Fwindow_scroll_bars)
(Fwindow_vscroll): Doc fix.
(Fwindow_top_child, Fwindow_left_child): Eliminate a nil default
argument, since it makes no sense to pass a live window and for
consistency with window-child.
Jason Rumney [Sat, 5 Nov 2011 18:50:59 +0000 (02:50 +0800)]
* src/w32font.c (font_matches_spec): Filter out non-Japanese kana fonts.
(add_font_entity_to_list): Filter out non-Japanese Shift-JIS
fonts.
(add_font_entity_to_list): Fix logic errors in mixed boolean and
bitwise arithmetic preventing use of unicode-sip and non-truetype
opentype fonts.
Jan Djärv [Sat, 5 Nov 2011 12:25:01 +0000 (13:25 +0100)]
* nsfns.m: Declare image_cache_refcount if GLYPH_DEBUG.
(unwind_create_frame): New function.
(Fx_create_frame): Restructure code to be more similar to the one in
xfns.c. Call record_unwind_protect with unwind_create_frame (Bug#9943).
Initialize image_cache_refcount if GLYPH_DEBUG (Bug#9943).
Move terminal->reference_count++ just before making the frame official
(Bug#9943).
* nsterm.m (x_free_frame_resources): New function.
(x_destroy_window): Move code to x_free_frame_resources.
Jan Djärv [Sat, 5 Nov 2011 12:04:34 +0000 (13:04 +0100)]
* xfns.c (unwind_create_frame): Fix comment.
(Fx_create_frame, x_create_tip_frame): Move
terminal->reference_count++ just before making the frame
official. Move initialization of image_cache_refcount and
dpyinfo_refcount before calling init_frame_faces.
Eli Zaretskii [Sat, 5 Nov 2011 11:34:56 +0000 (13:34 +0200)]
Support MSVC build with newer versions of Visual Studio.
Small portions of the changes by Fabrice Popineau <fabrice.popineau@supelec.fr>.
src/makefile.w32-in (TAGS-gmake): Don't use $(patsubst ...), as
Nmake barfs on that. Use $(OBJ*_c) variables instead, defined on
nt/gmake.defs.
src/lisp.h (ENUM_BF): New macro, for enumerated types in bitfields,
which are not supported by MSVC.
(Lisp_Symbol, Lisp_Misc_Any, Lisp_Marker, Lisp_Misc_Overlay)
(Lisp_Save_Value, Lisp_Free): Use ENUM_BF for enumerated types in
bitfields.
(Lisp_Object) [USE_LISP_UNION_TYPE]: Use ENUM_BF for enumerated
types in bitfields.
(DEFUN) [_MSC_VER]: Define in a different way for MSVC.
src/w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version.
src/w32.c: Don't include w32api.h for MSVC.
(init_environment) [_MSC_VER]: Call sys_access, not _access.
src/s/ms-w32.h <sigset_t, ssize_t> [_MSC_VER]: Typedefs for MSVC.
[_MSC_VER]: Include sys/timeb.h, sys/stat.h, and signal.h.
(fstat, stat, utime) [_MSC_VER]: Redirect to their sys_* cousins.
(malloc, free, realloc, calloc) [_MSC_VER]: Always redirect to the
e_* cousins.
(alloca) [_MSC_VER]: Define to _alloca.
src/lisp.h (DECL_ALIGN) [_MSC_VER]: Define for MSVC.
src/regex.c <re_char> [_MSC_VER]: A separate definition for MSVC.
nt/makefile.w32-in (clean-other-dirs-nmake)
(distclean-other-dirs-nmake, maintainer-clean-other-dirs-nmake):
Update for current structure of doc/ subdirectories.
nt/gmake.defs (OBJ0_c, OBJ1_c, OBJ2_c): New variables.
nt/INSTALL: Update for newer versions of MSVC.
lib/makefile.w32-in (FRC): New dummy target.
(TAGS): Depend on FRC.
Eli Zaretskii [Fri, 4 Nov 2011 21:59:16 +0000 (23:59 +0200)]
Last part of fix for bug #8562 with Emacs on Windows 9X.
nt/runemacs.c (ensure_unicows_dll): New function, tries to load
UNICOWS.DLL on Windows 9X.
(WinMain): If ensure_unicows_dll fails to find UNICOWS.DLL,
display a dialog to the effect that Emacs cannot be started.
Eli Zaretskii [Fri, 4 Nov 2011 20:01:06 +0000 (22:01 +0200)]
Fix bug #9955 with mouse-highlight that starts at beginning of window.
src/xdisp.c (note_mouse_highlight): If either of
previous/next-single-property-change returns nil, treat that as
the beginning or the end of the buffer.
Jan Djärv [Fri, 4 Nov 2011 18:18:05 +0000 (19:18 +0100)]
* gtkutil.c (xg_make_tool_item): Add callbacks of one of wimage or
label is not null.
(xg_tool_item_stale_p): Handle the fact that wimage and/or wlbl
may be NULL.
Eli Zaretskii [Fri, 4 Nov 2011 10:09:41 +0000 (12:09 +0200)]
Fix documentation per bug #9949.
src/window.c (Fwindow_body_size): Mention in the doc string that the
return value is in frame's canonical units.
lisp/window.el (window-body-height, window-body-width): Mention in
the doc string that the return values are in frame's canonical
units.
doc/lispref/windows.texi (Window Sizes): Mention in the doc string that the
return values of `window-body-height' and `window-body-width' are
in frame's canonical units.
* semantic/ede-grammar.el (semantic-ede-grammar-compiler-wisent):
(semantic-ede-grammar-compiler-bovine): Fix requires that are
added to the grammar-make-script.
Martin Rudalics [Wed, 2 Nov 2011 09:39:18 +0000 (10:39 +0100)]
In quit-window call unrecord-window-buffer later. (Bug#9937)
* window.el (quit-window): Call unrecord-window-buffer after
showing another buffer in the window. (Bug#9937)
(bury-buffer): Call switch-to-prev-buffer with second argument
'bury.
Eli Zaretskii [Tue, 1 Nov 2011 18:57:03 +0000 (20:57 +0200)]
Fix mouse highlight in continued lines on a TTY.
src/xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment.
Don't stop backward scan on the continuation glyph, even though
its CHARPOS is positive.
Eli Zaretskii [Mon, 31 Oct 2011 17:37:39 +0000 (19:37 +0200)]
Fix distribution tarball for the MS-DOS build.
make-dist (tempdir): Create `autogen'.
(msdos): Add depfiles.bat and inttypes.h.
(autogen): Put README, config.in, and Makefile.in ionto the
distribution, they are needed for the MS-DOS build.
msdos/sed3v2.inp (insrcdir): Comment out definition.
$(insrcdir): Edit into MS-DOS existence test.
Fix memory leak by y-or-n-p-with-timeout with GUI (Bug#9830).
* xmenu.c (cleanup_widget_value_tree): New function.
(xmenu_show, xdialog_show): Use it in record_unwind_protect instead of
calling free_menubar_widget_value_tree directly (Bug#9830).
Jan Djärv [Sun, 30 Oct 2011 17:17:48 +0000 (18:17 +0100)]
Fix hang after C-z in gnome-shell.
* xterm.c: Declare x_handle_net_wm_state to return int.
(handle_one_xevent): Check if we are iconified but don't have
_NET_WM_STATE_HIDDEN. If do, treat as deiconify.
(get_current_wm_state): Return non-zero if not hidden,
check for _NET_WM_STATE_HIDDEN (Bug#9893).
(do_ewmh_fullscreen): Ignore return value from get_current_wm_state.
(x_handle_net_wm_state): Return what get_current_wm_state returns.
(x_term_init): Initialize dpyinfo->Xatom_net_wm_state_hidden.
Ulf Jasper [Sun, 30 Oct 2011 15:21:37 +0000 (16:21 +0100)]
newsticker: Clean up newsticker--group-manage-orphan-feeds
2011-10-30 Ulf Jasper <ulf.jasper@web.de>
* net/newst-treeview.el: Remove "Time-stamp".
(newsticker--group-manage-orphan-feeds): Do not call
newsticker--treeview-tree-update.
(newsticker-treeview-update, newsticker-treeview): Call
newsticker--treeview-tree-update if necessary.
2011-10-30 Ulf Jasper <ulf.jasper@web.de>
* automated/newsticker-tests.el
(newsticker--group-manage-orphan-feeds): Removed fsetting of
newsticker--treeview-tree-update.
Chong Yidong [Sun, 30 Oct 2011 01:56:03 +0000 (09:56 +0800)]
Rename split-window-{above-each-other|split-window-side-by-side}
to split-window-below and split-window-right.
* lisp/window.el (split-window-below, split-window-right): Rename from
split-window-above-each-other and split-window-side-by-side
respectively. All callers changed.
(split-window-sensibly, split-window-sensibly): Use them.
(split-window-keep-point): Doc fix.
* lisp/isearch.el: Add isearch-scroll property to split-window-below
and split-window-right.