]> code.delx.au - gnu-emacs/log
gnu-emacs
9 years ago* automated/icalendar-tests.el (icalendar--decode-isodatetime): Hydra fix.
Glenn Morris [Sat, 2 Aug 2014 05:44:18 +0000 (01:44 -0400)]
* automated/icalendar-tests.el (icalendar--decode-isodatetime): Hydra fix.
Use more precise TZ specification, as per 2013-08-04.

9 years agoMake functions static that no longer need to be extern.
Paul Eggert [Fri, 1 Aug 2014 15:12:01 +0000 (08:12 -0700)]
Make functions static that no longer need to be extern.

* frame.c, frame.h (set_menu_bar_lines):
* keyboard.c (Qleftmost, Qrightmost):
* xfns.c, frame.h, menu.h (x_set_menu_bar_lines, x_set_tool_bar_lines)
(x_set_internal_border_width):
Now static.

9 years agoChangeLog date fix
Glenn Morris [Fri, 1 Aug 2014 14:49:28 +0000 (10:49 -0400)]
ChangeLog date fix

9 years agoMerge from emacs-24; up to 2014-06-26T21:51:25Z!rgm@gnu.org.
Eli Zaretskii [Fri, 1 Aug 2014 13:10:07 +0000 (16:10 +0300)]
Merge from emacs-24; up to 2014-06-26T21:51:25Z!rgm@gnu.org.

9 years agoAuto-commit of loaddefs files.
Glenn Morris [Fri, 1 Aug 2014 11:18:48 +0000 (07:18 -0400)]
Auto-commit of loaddefs files.

9 years agoAuto-commit of loaddefs files.
Glenn Morris [Fri, 1 Aug 2014 10:21:35 +0000 (06:21 -0400)]
Auto-commit of loaddefs files.

9 years agoFix display of R2L lines when the last character fits only partially.
Eli Zaretskii [Fri, 1 Aug 2014 09:39:04 +0000 (12:39 +0300)]
Fix display of R2L lines when the last character fits only partially.

 See http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00476.html
 for the details.
 src/xdisp.c (extend_face_to_end_of_line): If the last glyph of an
 R2L row is visible only partially, give the row a negative x
 offset.
 (display_line): Fix the calculation of the glyph whose pixel width
 is used to decide whether the last produced glyph fits on the
 line.  When the last glyph fits only partially, give the row a
 negative x offset.

9 years ago* atimer.c (toplevel) [HAVE_TIMERFD]: Include errno.h.
Dmitry Antipov [Fri, 1 Aug 2014 06:52:02 +0000 (10:52 +0400)]
* atimer.c (toplevel) [HAVE_TIMERFD]: Include errno.h.
(timerfd_callback): Ignore weird events with no data.  Add tight
assertions and comments.
(init_atimer) [HAVE_TIMERFD]: Add environment variable to optionally
disabletimerfd-based timer.  Use TFD_NONBLOCK for timer descriptor.

9 years ago* lisp/progmodes/python.el: Shell output capture enhancements.
Fabián Ezequiel Gallina [Fri, 1 Aug 2014 00:18:19 +0000 (21:18 -0300)]
* lisp/progmodes/python.el: Shell output capture enhancements.
(python-shell-accept-process-output): New function.
(inferior-python-mode)
(python-shell-send-setup-code): Use it.

9 years agodoc/misc/ChangeLog: Add missing entry for gnus.texi
Tassilo Horn [Fri, 1 Aug 2014 00:10:16 +0000 (00:10 +0000)]
doc/misc/ChangeLog: Add missing entry for gnus.texi

9 years agoMinor style fix to previous patch.
Paul Eggert [Fri, 1 Aug 2014 00:04:52 +0000 (17:04 -0700)]
Minor style fix to previous patch.

9 years ago* frame.c (x_set_frame_parameters): Fix typo in previous patch.
Paul Eggert [Fri, 1 Aug 2014 00:01:44 +0000 (17:01 -0700)]
* frame.c (x_set_frame_parameters): Fix typo in previous patch.

I had confused && with ||.

9 years agoSimplify timerfd configuration and fix some minor glitches.
Paul Eggert [Thu, 31 Jul 2014 20:17:01 +0000 (13:17 -0700)]
Simplify timerfd configuration and fix some minor glitches.

* configure.ac (HAVE_TIMERFD): Define only if TFD_CLOEXEC works,
since the code leaked file descriptors to children when !TFD_CLOEXEC.
(HAVE_TIMERFD_CLOEXEC): Remove; no longer used.
* m4/clock_time.m4 (gl_CLOCK_TIME): Don't check for clock_getres.
This reverts the previous change to this file, so it matches
gnulib again.
* src/atimer.c (TIMERFD_CREATE_FLAGS): Remove; we now assume TFD_CLOEXEC.
(alarm_timer, alarm_timer_ok, set_alarm, init_atimer):
Fall back on timer_create if timerfd_create fails at runtime.
(resolution) [HAVE_CLOCK_GETRES]: Remove; we now rely on the
kernel primitives to do resolution.  All uses removed.
(timerfd) [!HAVE_TIMERFD]: Define to be -1, for convenience.
(turn_on_atimers): Clear timer_create-based timers too,
for consistency.

9 years ago* frame.c (x_set_frame_parameters): Don't use uninitialized locals.
Paul Eggert [Thu, 31 Jul 2014 13:55:12 +0000 (06:55 -0700)]
* frame.c (x_set_frame_parameters): Don't use uninitialized locals.

Without this change, the code can access the local variable 'width'
even when it has not been initialized, and likewise for 'height';
in either case this leads to undefined behavior.

9 years ago[Gnus] Allow list-valued gcc-self group params
Tassilo Horn [Thu, 31 Jul 2014 13:11:41 +0000 (13:11 +0000)]
[Gnus] Allow list-valued gcc-self group params

* lisp/gnus/gnus-msg.el (gnus-inews-insert-gcc):
  Allow `gcc-self' to be a list of groups and t.
* doc/misc/gnus.texi (Group Parameters):
  Document that `gcc-self' may also be a list.

9 years agoChangeLog fix
Glenn Morris [Wed, 30 Jul 2014 17:13:16 +0000 (13:13 -0400)]
ChangeLog fix

9 years agoFix Bug#15408 (icalendar time zone problem)
Ulf Jasper [Wed, 30 Jul 2014 16:25:58 +0000 (18:25 +0200)]
Fix Bug#15408 (icalendar time zone problem)

2014-07-30 Christophe Deleuze <christophe.deleuze@free.fr>

* calendar/icalendar.el (icalendar--decode-isodatetime): Use
actual current-time-zone when converting to local time. (Bug#15408)

2014-07-30  Ulf Jasper  <ulf.jasper@web.de>

* automated/icalendar-tests.el (icalendar--decode-isodatetime): New test.

9 years ago* xterm.c (x_sync_with_move): Really wait 0.5s, not 0.0005s.
Dmitry Antipov [Wed, 30 Jul 2014 04:03:45 +0000 (08:03 +0400)]
* xterm.c (x_sync_with_move): Really wait 0.5s, not 0.0005s.

9 years ago* xrdb.c (x_load_resources) [USE_MOTIF]: Although not strictly
Dmitry Antipov [Wed, 30 Jul 2014 03:41:56 +0000 (07:41 +0400)]
* xrdb.c (x_load_resources) [USE_MOTIF]: Although not strictly
necessary, put horizontal scroll bar resources as well.  See
<http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00430.html>.

9 years ago* xrdb.c (x_load_resources) [!USE_MOTIF]: Put horizontal scroll bar
Dmitry Antipov [Tue, 29 Jul 2014 16:38:46 +0000 (20:38 +0400)]
* xrdb.c (x_load_resources) [!USE_MOTIF]: Put horizontal scroll bar
background value to match the resource of its vertical counterpart.

9 years agoIn window--state-put-2 handle horizontal scroll bars.
Martin Rudalics [Tue, 29 Jul 2014 15:08:30 +0000 (17:08 +0200)]
In window--state-put-2 handle horizontal scroll bars.

* window.el (window--state-put-2): Handle horizontal scroll
bars, if present.

9 years agoFix Bug#18016.
Rüdiger Sonderfeld [Tue, 29 Jul 2014 14:21:11 +0000 (16:21 +0200)]
Fix Bug#18016.

menu-bar.el (menu-bar-update-buffers): Update item list format
in `buffers-menu' to confirm with changes to `get_keyelt'
(2014-07-02T01:49:31Z!monnier@iro.umontreal.ca).  (Bug#18016)

9 years agoFix bug #18146 with bogus key rebindings in TUTORIAL.he.
Eli Zaretskii [Tue, 29 Jul 2014 13:41:50 +0000 (16:41 +0300)]
Fix bug #18146 with bogus key rebindings in TUTORIAL.he.

 lisp/tutorial.el (tutorial--display-changes): Accept punctuation
 characters before the key binding.  (Bug#18146)

9 years agoIn adjust_frame_size use FRAME_WINDOW_P instead of FRAME_X_WINDOW (Bug#18138).
Martin Rudalics [Tue, 29 Jul 2014 08:51:49 +0000 (10:51 +0200)]
In adjust_frame_size use FRAME_WINDOW_P instead of FRAME_X_WINDOW (Bug#18138).

* frame.c (adjust_frame_size): Use FRAME_WINDOW_P instead of
FRAME_X_WINDOW when calling x_set_window_size (Bug#18138).

9 years agoFix hscroll of R2L lines that begin with a TAB or another wide glyph.
Eli Zaretskii [Tue, 29 Jul 2014 08:19:29 +0000 (11:19 +0300)]
Fix hscroll of R2L lines that begin with a TAB or another wide glyph.

 src/xdisp.c (append_stretch_glyph): In a R2L glyph row, decrease the
 pixel width of the first glyph that is hscrolled from display.
 (display_line): In R2L glyph rows, don't give a negative offset to
 row->x when the first glyph begins before first_visible_x.

9 years agoFixes: debbugs:18140
Andreas Schwab [Tue, 29 Jul 2014 08:08:04 +0000 (10:08 +0200)]
Fixes: debbugs:18140
* macros.c (Fstart_kbd_macro): Initialize kbd_macro_ptr and
kbd_macro_end together with kbd_macro_buffer.

9 years ago* lisp/progmodes/python.el (inferior-python-mode): Make input prompts
Fabián Ezequiel Gallina [Mon, 28 Jul 2014 21:07:10 +0000 (18:07 -0300)]
* lisp/progmodes/python.el (inferior-python-mode): Make input prompts
read-only.

9 years agoFix Changelog typo, introduced by last commit.
Michael Albinus [Mon, 28 Jul 2014 19:14:21 +0000 (21:14 +0200)]
Fix Changelog typo, introduced by last commit.

9 years ago* net/tramp-sh.el (tramp-get-remote-python): Also search for
Emilio C. Lopes [Mon, 28 Jul 2014 19:08:43 +0000 (21:08 +0200)]
* net/tramp-sh.el (tramp-get-remote-python): Also search for
executables named "python2" or "python3".
(tramp-get-remote-uid-with-python): Use parentheses around
arguments to `print' to make it compatible with Python 3.
(tramp-get-remote-gid-with-python): Ditto.

Fixes: debbugs:18118
9 years agoFix some issues with setting the frame height.
Martin Rudalics [Mon, 28 Jul 2014 17:03:23 +0000 (19:03 +0200)]
Fix some issues with setting the frame height.

* frame.c (x_set_frame_parameters): Revert part of 2014-07-24
change that added the top margin height to the requested height
and revert (undocumented) part of 2014-07-28 change that changed
the logic of whether a size change occurred.

9 years agoFix Gnus-related issues reported by David Kastrup <dak@gnu.org> in
Dmitry Antipov [Mon, 28 Jul 2014 14:50:55 +0000 (18:50 +0400)]
Fix Gnus-related issues reported by David Kastrup <dak@gnu.org> in
<http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00370.html>.
* atimer.c (timerfd_callback): Always read expiration data.
Add comment.
(turn_on_atimers) [HAVE_TIMERFD]: Disarm timerfd timer.
* process.c (add_timer_wait_descriptor): Add timer descriptor
to input_wait_mask and non_process_wait_mask as well.

9 years agoFix another part of bug #18035 with redisplay of line-prefix and linum-mode.
Eli Zaretskii [Mon, 28 Jul 2014 13:09:02 +0000 (16:09 +0300)]
Fix another part of bug #18035 with redisplay of line-prefix and linum-mode.

 src/xdisp.c (display_line): If called with iterator set up to write
 to a marginal area, delay the call to handle_line_prefix until we
 switch back to the text area.

9 years agoMerge from emacs-24; up to 2014-06-26T06:55:15Z!rgm@gnu.org
Glenn Morris [Mon, 28 Jul 2014 09:39:09 +0000 (05:39 -0400)]
Merge from emacs-24; up to 2014-06-26T06:55:15Z!rgm@gnu.org

9 years agoMerge commit 2014-07-28T09:07:56Z!tsdh@gnu.org from trunk.
Tassilo Horn [Mon, 28 Jul 2014 09:32:25 +0000 (11:32 +0200)]
Merge commit 2014-07-28T09:07:56Z!tsdh@gnu.org from trunk.

9 years agoOpen doc text also if it's not saved to a file.
Stephen Berman [Mon, 28 Jul 2014 09:07:56 +0000 (11:07 +0200)]
Open doc text also if it's not saved to a file.

* doc-view.el (doc-view-open-text): Don't require that the
document is saved in a file (e.g., email attachment).

9 years agoFix --without-x build and pacify --enable-gcc-warnings.
Dmitry Antipov [Mon, 28 Jul 2014 08:07:55 +0000 (12:07 +0400)]
Fix --without-x build and pacify --enable-gcc-warnings.
Problems reported in Bug#18122 and Bug#18124.
* frame.c (get_frame_param): Define even if !HAVE_WINDOW_SYSTEM.
(frame_windows_min_size): Now static.
* frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS) [!HAVE_WINDOW_SYSTEM]:
Define as no-op.
(adjust_frame_size): Always declare prototype.

9 years agosrc/ChangeLog: Fix a typo.
Eli Zaretskii [Mon, 28 Jul 2014 07:18:46 +0000 (10:18 +0300)]
src/ChangeLog: Fix a typo.

9 years agoFix the GDB xsubchartable command.
Eli Zaretskii [Mon, 28 Jul 2014 07:17:22 +0000 (10:17 +0300)]
Fix the GDB xsubchartable command.

 src/.gdbinit (xsubchartable): The members 'depth' and 'min_char' are
 now C integers.

9 years agoFix GDB xwindow command.
Eli Zaretskii [Mon, 28 Jul 2014 07:10:17 +0000 (10:10 +0300)]
Fix GDB xwindow command.

 src/.gdbinit (xwindow): The members total_cols, total_lines,
 left_col, and top_line are C integers (and has been so for the
 last 1.5 years).

9 years agoOn GNU/Linux, use timerfd for asynchronous timers.
Dmitry Antipov [Mon, 28 Jul 2014 06:28:15 +0000 (10:28 +0400)]
On GNU/Linux, use timerfd for asynchronous timers.
* configure.ac (toplevel): Check whether GNU/Linux-specific
timerfd functions and macros are available.
* m4/clock_time.m4 (gl_CLOCK_TIME): Check for clock_getres as well.
* src/atimer.c (toplevel) [HAVE_TIMERFD]: Include sys/timerfd.h.
(toplevel): Rename alarm_timer_ok to special_timer_available.
[HAVE_TIMERFD]: Declare timerfd.
[HAVE_CLOCK_GETRES]: Declare resolution.
(start_atimer) [HAVE_CLOCK_GETRES]: Round up timestamp to
system timer resolution.
(set_alarm) [HAVE_TIMERFD]: Use timerfd_settime.
(timerfd_callback) [HAVE_TIMERFD]: New function.
(atimer_result, debug_timer_callback, Fdebug_timer_check)
[ENABLE_CHECKING]: New function for the sake of automated tests.
(init_atimer) [HAVE_TIMERFD]: Setup timerfd.
[HAVE_CLOCK_GETRES]: Likewise for system timer resolution.
[ENABLE_CHECKING]: Defsubr test function.
* src/atimer.h (timerfd_callback) [HAVE_TIMERFD]: Add prototype.
* src/lisp.h (add_timer_wait_descriptor) [HAVE_TIMERFD]: Likewise.
* src/process.c (add_timer_wait_descriptor) [HAVE_TIMERFD]: New function.
* test/automated/timer-tests.el (timer-tests-debug-timer-check): New test.

9 years agoParse completion input in a iPython friendly way.
Fabián Ezequiel Gallina [Mon, 28 Jul 2014 04:32:28 +0000 (01:32 -0300)]
Parse completion input in a iPython friendly way.

* lisp/progmodes/python.el
(python-shell-completion-at-point): Rename from
python-shell-completion-complete-at-point.
(inferior-python-mode): Use it.
(python-completion-at-point): Rename from
python-completion-complete-at-point.  Parse input up to first
backward occurrence of whitespace, open-paren, close-paren or
string delimiter.
(python-mode): Use it.

Fixes: debbugs:18084
9 years agoPrevent Python process shell buffer to pop twice.
Fabián Ezequiel Gallina [Mon, 28 Jul 2014 03:58:06 +0000 (00:58 -0300)]
Prevent Python process shell buffer to pop twice.
* lisp/progmodes/python.el (python-shell-switch-to-shell): Do not call
pop-to-buffer.

9 years ago* lisp/progmodes/python.el
Fabián Ezequiel Gallina [Mon, 28 Jul 2014 03:35:37 +0000 (00:35 -0300)]
* lisp/progmodes/python.el
(python-shell-with-shell-buffer): New macro.
(python-shell-font-lock-get-or-create-buffer)
(python-shell-font-lock-kill-buffer)
(python-shell-font-lock-with-font-lock-buffer)
(python-shell-font-lock-cleanup-buffer)
(python-shell-font-lock-toggle): Use it.
(python-shell-font-lock-turn-on)
(python-shell-font-lock-turn-off): Use it.  Make command.

9 years agoGrab all Python process output before inferior-python-mode hooks.
Fabián Ezequiel Gallina [Mon, 28 Jul 2014 02:47:29 +0000 (23:47 -0300)]
Grab all Python process output before inferior-python-mode hooks.

* lisp/progmodes/python.el (inferior-python-mode): Call
accept-process-output and sit-for to ensure all output for process
has been received before running hooks.
(python-shell-internal-get-or-create-process): Cleanup
accept-process-output and sit-for calls.

9 years ago* frame.c (x_set_frame_parameters): Don't use uninitialized locals.
Paul Eggert [Mon, 28 Jul 2014 02:13:11 +0000 (19:13 -0700)]
* frame.c (x_set_frame_parameters): Don't use uninitialized locals.

9 years agoMore robust shell startup and code setup.
Fabián Ezequiel Gallina [Mon, 28 Jul 2014 01:41:29 +0000 (22:41 -0300)]
More robust shell startup and code setup.

* lisp/progmodes/python.el (python-shell-make-comint): Remove
accept-process-output call.
(python-shell-get-buffer): Return current buffer if major-mode is
inferior-python-mode.
(python-shell-get-or-create-process): Use it.
(python-shell-send-setup-code): Send all setup code in one string,
output success message and accept-process-output.

9 years agoSupport horizontal scrolling of bidirectional text.
Eli Zaretskii [Sun, 27 Jul 2014 18:05:37 +0000 (21:05 +0300)]
Support horizontal scrolling of bidirectional text.

 lisp/scroll-bar.el (scroll-bar-toolkit-horizontal-scroll): Add
 rudimentary support for bidirectional text.

9 years agoReinstate removed code.
Jan Djärv [Sun, 27 Jul 2014 14:45:26 +0000 (16:45 +0200)]
Reinstate removed code.

* nsterm.m (applicationDidFinishLaunching antialiasThresholdDidChange):
Reinstate code removed by the prevoius commit to this file.

9 years agoComplete pixelwise frame/window resizing, add horizontal scrollbar support.
Martin Rudalics [Sun, 27 Jul 2014 13:21:30 +0000 (15:21 +0200)]
Complete pixelwise frame/window resizing, add horizontal scrollbar support.

* frame.el (frame-notice-user-settings): Rewrite using
frame-initial-frame-tool-bar-height.
* menu-bar.el (menu-bar-horizontal-scroll-bar)
(menu-bar-no-horizontal-scroll-bar): New functions.
(menu-bar-showhide-scroll-bar-menu): Add bindings for horizontal
scroll bars.
* scroll-bar.el (scroll-bar-lines)
(set-horizontal-scroll-bar-mode)
(get-horizontal-scroll-bar-mode, horizontal-scroll-bar-mode)
(scroll-bar-horizontal-drag-1, scroll-bar-horizontal-drag)
(scroll-bar-toolkit-horizontal-scroll): New functions.
(horizontal-scroll-bar-mode)
(previous-horizontal-scroll-bar-mode)
(horizontal-scroll-bar-mode-explicit): New variables.
(horizontal-scroll-bar-mode): New option.
(toggle-horizontal-scroll-bar): Do something.
(top-level): Bind horizontal-scroll-bar mouse-1.
* startup.el (tool-bar-originally-present): Remove variable.
(command-line): Don't set tool-bar-originally-present.
* window.el (window-min-height): Update doc-string.
(window--dump-frame): Dump horizontal scroll bar values.
(window--min-size-1): Handle minibuffer window separately.
Count in margins and horizontal scroll bar.  Return safe value
iff IGNORE equals 'safe.
(frame-windows-min-size): New function (used by frame resizing
routines).
(fit-frame-to-buffer, fit-window-to-buffer): Count in horizontal
scroll bars.
(window--sanitize-window-sizes): New function.
(window-split-min-size): Remove.
(split-window): Count divider-width.  Don't use
`window-split-min-size' any more.  Reword error messages.
Sanitize windows sizes after splitting.
* buffer.h (struct buffer): New fields scroll_bar_height and
horizontal_scroll_bar_type.
* buffer.c (bset_scroll_bar_height)
(bset_horizontal_scroll_bar_type): New functions.
(Fbuffer_swap_text): Handle old_pointm field.
(init_buffer_once): Set defaults for scroll_bar_height and
horizontal_scroll_bar_type.
(syms_of_buffer): New variables scroll_bar_height and
horizontal_scroll_bar_type.
* dispextern.h (window_part): Rename ON_SCROLL_BAR to
ON_VERTICAL_SCROLL_BAR.  Add ON_HORIZONTAL_SCROLL_BAR.
(set_vertical_scroll_bar): Remove prototype.
(x_change_tool_bar_height): Add prototype.
* dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
(window_to_frame_vpos, update_frame_1, scrolling, init_display):
Use FRAME_TOTAL_COLS and FRAME_TOTAL_LINES instead of FRAME_COLS
and FRAME_LINES.
(adjust_frame_glyphs_for_window_redisplay): Rearrange lines.
(update_window): Start mode_line_row->y after horizontal scroll
bar.
(change_frame_size_1): Call adjust_frame_size.
(init_display): When changing the size of a tty frame do not
pass height of menu bar.
(Qframe_windows_min_size): New symbol.
* frame.h (struct frame): List tool bar fields after menu bar
fields.  Add official, total_lines, horizontal_scroll_bars,
config_scroll_bar_height and config_scroll_bar_lines fields.
(FRAME_HAS_HORIZONTAL_SCROLL_BARS)
(FRAME_CONFIG_SCROLL_BAR_HEIGHT, FRAME_CONFIG_SCROLL_BAR_LINES)
(FRAME_SCROLL_BAR_AREA_HEIGHT, FRAME_SCROLL_BAR_COLS)
(FRAME_SCROLL_BAR_LINES, FRAME_TOTAL_LINES, SET_FRAME_LINES)
(FRAME_WINDOWS_HEIGHT): New macros.
(SET_FRAME_HEIGHT, FRAME_TEXT_LINES_TO_PIXEL_HEIGHT)
(FRAME_PIXEL_Y_TO_LINE, FRAME_PIXEL_HEIGHT_TO_TEXT_LINES)
(FRAME_TEXT_TO_PIXEL_HEIGHT): Separately count top margin and
horizontal scroll bar.
(frame_inhibit_resize, adjust_frame_size)
(frame_windows_min_size): Add declarations.
(Qscroll_bar_height, Qhorizontal_scroll_bars)
(x_set_scroll_bar_default_height, x_set_left_fringe)
(x_set_right_fringe, x_set_vertical_scroll_bars)
(x_set_horizontal_scroll_bars, x_set_scroll_bar_width)
(x_set_scroll_bar_height): Add external declarations.
* frame.c: (frame_inhibit_resize, frame_windows_min_size)
(adjust_frame_size): New functions.
(make_frame): Initial horizontal_scroll_bars field.  Use
SET_FRAME_LINES.  Don't allow horizontal scroll bar in
minibuffer window.
(make_initial_frame, make_terminal_frame): No horizontal scroll
bar in initial and terminal frames.  Use adjust_frame_size.
(Fframe_total_cols): Fix doc-string.
(Fframe_total_lines, Fscroll_bar_height): New Lisp functions.
(Fset_frame_height, Fset_frame_width, Fset_frame_size): Rewrite
using adjust_frame_size.
(Qscroll_bar_height, Qhorizontal_scroll_bars)
(Qframe_windows_min_size): New symbols.
(x_set_frame_parameters): Remove call of check_frame_size.
(x_report_frame_params): Return scroll_bar_height value.
(x_set_left_fringe, x_set_right_fringe): New functions.
(adjust_frame_height, x_set_internal_border_width)
(x_set_fringe_width): Remove.
(x_set_internal_border_width, x_set_vertical_scroll_bars)
(x_set_scroll_bar_width, x_set_right_divider_width)
(x_set_bottom_divider_width): Rewrite using adjust_frame_size.
(x_set_horizontal_scroll_bars, x_set_scroll_bar_height): New
functions.
(x_figure_window_size): Rewrite to make frame display the
expected number of lines.
(Vdefault_frame_scroll_bars): Rewrite doc-string.
(Vdefault_frame_horizontal_scroll_bars)
(Vframe_initial_frame_tool_bar_height)
(frame_inhibit_implied_resize): New variables.
* fringe.c (compute_fringe_widths): Remove.
* gtkutil.h (YG_SB_MIN, YG_SB_MAX, YG_SB_RANGE): Define.
(xg_create_horizontal_scroll_bar)
(xg_update_horizontal_scrollbar_pos)
(xg_set_toolkit_horizontal_scroll_bar_thumb)
(xg_get_default_scrollbar_height)
(xg_clear_under_internal_border): Extern.
* gtkutil.c (xg_frame_resized): Don't call
do_pending_window_change.
(xg_frame_set_char_size): Use adjust_frame_size.
(style_changed_cb): Call update_theme_scrollbar_height and
x_set_scroll_bar_default_height.
(x_wm_set_size_hint): Don't call check_frame_size.
(update_theme_scrollbar_height)
(xg_get_default_scrollbar_height)
(xg_create_horizontal_scroll_bar)
(xg_update_horizontal_scrollbar_pos)
(xg_set_toolkit_horizontal_scroll_bar_thumb): New functions.
(xg_create_scroll_bar): Set horizontal slot of bar.
(xg_initialize): Call update_theme_scrollbar_height.
(xg_clear_under_internal_border): No more static.
* insdel.c (adjust_suspend_auto_hscroll): New function.
(adjust_markers_for_delete, adjust_markers_for_insert)
(adjust_markers_for_replace): Call adjust_suspend_auto_hscroll.
* keyboard.c (readable_events, discard_mouse_events)
(make_lispy_event): Handle horizontal scroll bar click events.
(Fsuspend_emacs): When changing the size of a tty frame do not
pass height of menu bar.
(Qbefore_handle, Qhorizontal_handle, Qafter_handle, Qleft)
(Qright, Qleftmost, Qrightmost): New symbols.
* menu.c (Fx_popup_dialog): Use FRAME_TOTAL_LINES instead of
FRAME_LINES.
* minibuf.c (read_minibuf): Initialize suspend_auto_hscroll.
* nsfns.m (x_set_internal_border_width): New function.
* nsterm.m (ns_draw_fringe_bitmap, ns_set_vertical_scroll_bar):
Remove extended fringe code.
(x_set_window_size, x_new_font): Don't call
compute_fringe_widths.
* term.c (Fresume_tty): When changing the size of a tty frame do
not pass height of menu bar.
(clear_tty_hooks, set_tty_hooks): Clear
horizontal_scroll_bar_hook.
(init_tty): Frame has no horizontal scroll bars.
* termhooks.h (enum scroll_bar_part): Add scroll_bar_move_ratio,
scroll_bar_before_handle, scroll_bar_horizontal_handle,
scroll_bar_after_handle, scroll_bar_left_arrow,
scroll_bar_right_arrow, scroll_bar_to_leftmost and
scroll_bar_to_rightmost entries.
(enum event_kind): Add HORIZONTAL_SCROLL_BAR_CLICK_EVENT
(struct terminal): Add set_horizontal_scroll_bar_hook.
* w32console.c (initialize_w32_display): Clear
horizontal_scroll_bar_hook.
* w32fns.c (x_set_mouse_color): Use FRAME_W32_DISPLAY instead of
FRAME_X_DISPLAY.
(x_clear_under_internal_border, x_set_internal_border_width):
New functions.
(x_set_menu_bar_lines): Rewrite using frame_inhibit_resize.  Set
windows_or_buffers_changed when adding the menu bar.
(x_set_tool_bar_lines): Rewrite using adjust_frame_size.
(x_change_tool_bar_height, x_set_scroll_bar_default_height)
(w32_createhscrollbar): New functions.
(w32_createscrollbar): Rename to w32_createvscrollbar.
(w32_createwindow): Init WND_HSCROLLBAR_INDEX.
(w32_name_of_message): Replace WM_EMACS_CREATESCROLLBAR by
WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR.  Add
WM_EMACS_SHOWCURSOR.
(w32_wnd_proc): Handle WM_HSCROLL case.  In WM_WINDOWPOSCHANGING
case do not artificially impose WM size hints.  Handle
WM_EMACS_SHOWCURSOR case.  Replace WM_EMACS_CREATESCROLLBAR case
by WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR
cases.
(my_create_tip_window): Replace WND_SCROLLBAR_INDEX by
WND_VSCROLLBAR_INDEX and WND_HSCROLLBAR_INDEX.
(unwind_create_frame_1): Remove.
(Fx_create_frame): Make both scrollbars the system standard
width and height.  Use official field of frame structure to
inhibit running window-configuration-change-hook.
(x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
pixelwise.  Handle frame's official field.
(w32_frame_parm_handlers): Remove x_set_fringe_width
entries. Add x_set_scroll_bar_height,
x_set_horizontal_scroll_bars, x_set_left_fringe and
x_set_right_fringe.
* w32inevt.c (resize_event, maybe_generate_resize_event): Do not
pass height of menu bar to change_frame_size.
* w32menu.c (set_frame_menubar): Rewrite using
frame_inhibit_resize.
* w32term.h (struct w32_display_info): Add
horizontal_scroll_bar_cursor and cursor_display_counter.
(struct scroll_bar): Add horizontal.
(HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
(HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
(HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH)
(HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
(HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
(HORIZONTAL_SCROLL_BAR_TOP_BORDER)
(HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
(HORIZONTAL_SCROLL_BAR_MIN_HANDLE): New macros.
(WM_EMACS_CREATEVSCROLLBAR, WM_EMACS_CREATEHSCROLLBAR): Define
instead of WM_EMACS_CREATESCROLLBAR.
(WND_VSCROLLBAR_INDEX, WND_HSCROLLBAR_INDEX): Define instead of
WND_SCROLLBAR_INDEX.
* w32term.c (horizontal_scroll_bar_min_handle)
(horizontal_scroll_bar_left_border)
(horizontal_scroll_bar_right_border): New integers.
(x_set_frame_alpha): Replace x_highlight_frame by
w32_focus_frame.
(x_window_to_scroll_bar): New argument "type".  Update callers
accordingly.
(w32_set_horizontal_scroll_bar_thumb)
(x_horizontal_scroll_bar_report_motion)
(w32_set_horizontal_scroll_bar)
(w32_horizontal_scroll_bar_handle_click)
(x_horizontal_scroll_bar_report_motion): New functions.
(w32_mouse_position): Discriminate horizontal and vertical
scrollbar cases.
(my_create_scrollbar): Replace with two new functions
my_create_vscrollbar and my_create_hscrollbar.
(x_scroll_bar_create): New argument "horizontal".  Update
callers accordingly.
(x_scroll_bar_remove, w32_condemn_scroll_bars)
(w32_redeem_scroll_bar, x_scroll_bar_clear): Handle horizontal
scroll bar case.
(w32_read_socket): Handle WM_HSCROLL cae.
(x_new_font): Don't recompute fringe widths.  Use
frame_inhibit_resize.  Calculate new menu bar height iff we
build without toolkit.  Always clear under internal border.
(x_set_window_size): Don't check frame size or recompute
fringes.  Reset fullscreen status before applying sizes.  Always
resize as requested by pixelwise argument.  Don't call
do_pending_window_change.
(x_wm_set_size_hint): Add call for FRAME_SCROLL_BAR_AREA_HEIGHT.
(w32_initialize_display_info): Initialize dpyinfo's
horizontal_scroll_bar_cursor entry.
(w32_create_terminal): Add set_horizontal_scroll_bar_hook.
(w32_initialize): Init horizontal_scroll_bar_min_handle and
horizontal_scroll_bar_left_border.
(w32fullscreen_hook): Intermittently resize window to normal
when switching from fullscreen to maximized state.
(run_window_configuration_change_hook): Don't run it if frame is
not official yet.
(unwind_change_frame): Remove.
(Fset_window_configuration): Rewrite using frame's official field.
* widget.c (set_frame_size): Don't call compute_fringe_widths.
(EmacsFrameSetCharSize): Obey frame_inhibit_resize.
* window.h (struct window): New fields old_pointm,
horizontal_scroll_bar, horizontal_scroll_bar_type, hscroll_whole,
scroll_bar_height and suspend_auto_hscroll.
(wset_horizontal_scroll_bar, wset_horizontal_scroll_bar_type):
New functions.
(sanitize_window_sizes): Extern.
(MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P, WINDOW_PSEUDO_P)
(WINDOW_TOPMOST_P, WINDOW_HAS_HORIZONTAL_SCROLL_BAR)
(WINDOW_CONFIG_SCROLL_BAR_HEIGHT)
(WINDOW_CONFIG_SCROLL_BAR_LINES)
(WINDOW_SCROLL_BAR_LINES, WINDOW_SCROLL_BAR_AREA_HEIGHT): New
macros.
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
(WINDOW_FRINGE_COLS, WINDOW_FRINGE_EXTENDED_P): Remove macros.
(WINDOW_VERTICAL_SCROLL_BAR_TYPE)
(WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
(WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
(WINDOW_HAS_VERTICAL_SCROLL_BAR): Minor rewrite.
(WINDOW_BOX_HEIGHT_NO_MODE_LINE, WINDOW_BOX_TEXT_HEIGHT)
(WINDOW_SCROLL_BAR_AREA_Y): Count in scroll bar height.
* window.c (wset_old_pointm, Fwindow_scroll_bar_height)
(Fwindow_old_point, sanitize_window_sizes): New functions.
(Qwindow_sanitize_window_sizes): New symbol.
(window_body_height): Count in horizontal scroll bar.
(set_window_hscroll, Fscroll_left, Fscroll_right): Set
suspend_auto_hscroll slot.
(Fwindow_inside_edges): Count fringes pixelwise.
(coordinates_in_window, Fcoordinates_in_window_p): Consider
horizontal scroll bar.
(check_frame_size, adjust_window_margins): Remove functions and
corresponding calls.
(set_window_buffer): Initialize old_pointm and horizontal scroll
bars.
(temp_output_buffer_show): Reset hscroll related fields.
Initialize old_pointm.
(make_parent_window): Initialize old_pointm.
(make_window): Initialize old_pointm, horizontal scroll bar type,
and scroll bar height.
(resize_frame_windows): Don't count top margin in new sizes.
Don't use safe sizes when shrinking a frame; let the window
manager do the clipping.
(Fsplit_window_internal): Inherit horizontal scroll bar type and
height.
(Fdelete_window_internal): Unchain old_pointm marker.
(window_scroll_pixel_based, Fscroll_other_window): Adjust
old_pointm.
(Fwindow_text_width, Fwindow_text_height): New argument
"pixelwise".
(struct saved_window): New fields, old_pointm, hscroll_whole,
suspend_auto_hscroll, scroll_bar_height and
horizontal_scroll_bar_type.
(Fset_window_configuration, save_window_save): Set new fields of
saved_window.
(apply_window_adjustment): Don't call adjust_window_margins.
(set_window_margins): Don't change margins if new sizes don't
fit into window.
(set_window_scroll_bars): New argument "horizontal_type".
Handle horizontal scroll bars.  Don't change scroll bars if they
don't fit into window.
(Fset_window_scroll_bars): New argument "horizontal_type".
(Fwindow_scroll_bars): Return values for horizontal scroll bars.
(compare_window_configurations): Compare horizontal scroll bar
settings.
* xdisp.c (window_text_bottom_y, window_box_height): Count in
horizontal scroll bar height.
(pixel_to_glyph_coords, init_xdisp): Use FRAME_TOTAL_LINES
instead of FRAME_LINES.
(remember_mouse_glyph): Case ON_SCROLL_BAR changed to
ON_VERTICAL_SCROLL_BAR.
(with_echo_area_buffer): Initialize old_pointm.
(with_echo_area_buffer_unwind_data): Store old_pointm values in
vector.
(unwind_with_echo_area_buffer): Handle old_pointm.
(update_tool_bar): Set do_update when the tool bar window has at
least one line (since this is what the user sets).
(MAX_FRAME_TOOL_BAR_HEIGHT): Remove macro.
(redisplay_tool_bar): Return early when toolbar has zero lines.
Call x_change_tool_bar_height.  Don't use max_tool_bar_height.
(hscroll_window_tree): Handle suspension of auto_hscroll and
old_pointm.
(set_horizontal_scroll_bar): New function.
(redisplay_window): Set ignore_mouse_drag_p when tool bar has
more than one line.  Handle horizontal scroll bars.
(note_mouse_highlight): Handle horizontal scrol bars.
(expose_frame): Set dimensions of XRectangle from frame's text
sizes.
(Vvoid_text_area_pointer): Update doc-string.
* xfns.c (x_set_menu_bar_lines): Use adjust_frame_size.
(x_change_tool_bar_height, x_set_scroll_bar_default_height)
(x_set_internal_border_width): New functions.
(x_set_tool_bar_lines): Call x_change_tool_bar_height.
(unwind_create_frame_1): Remove.
(Fx_create_frame): Handle horizontal scroll bars.  Use official
field of frame structure to inhibit running
window-configuration-change-hook.
(x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
pixelwise.  Handle frame's official field.
(x_frame_parm_handlers): Add x_set_scroll_bar_height,
x_set_horizontal_scroll_bars, x_set_left_fringe,
x_set_right_fringe.
* xmenu.c (update_frame_menubar, free_frame_menubar): Use
adjust_frame_size.
* xterm.h (struct x_display_info): Add
horizontal_scroll_bar_cursor and Xatom_Horizontal_Scrollbar
slots.
(struct scroll_bar): Add horizontal slot.
(HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
(HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
(HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH): New macros.
(HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
(HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
(HORIZONTAL_SCROLL_BAR_TOP_BORDER)
(HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
(HORIZONTAL_SCROLL_BAR_MIN_HANDLE): Define.
(x_clear_under_internal_border): Remove.
* xterm.c (XTmouse_position): Handle horizontal scroll bars.
(x_window_to_scroll_bar): New argument TYPE.  Update callers.
(x_send_scroll_bar_event, x_scroll_bar_create): New arguments
HORIZONTAL.  Update callers.
(horizontal_action_hook_id): New action hook id.
(x_horizontal_scroll_bar_to_input_event)
(x_create_horizontal_toolkit_scroll_bar)
(xt_horizontal_action_hook)
(x_set_toolkit_horizontal_scroll_bar_thumb)
(XTset_horizontal_scroll_bar, x_net_wm_state)
(x_horizontal_scroll_bar_report_motion): New functions.
(xg_scroll_callback, x_scroll_bar_handle_click): Handle
horizontal scroll bars.
(SCROLL_BAR_HORIZONTAL_NAME): Define.
(XTset_vertical_scroll_bar): Attempt to clear areas not covered
by scroll bar.
(XTcondemn_scroll_bars, XTredeem_scroll_bar): Rewrite.  Handle
horizontal scroll bars.
(handle_one_xevent): Handle horizontal scroll bar events.  Call
x_net_wm_state.
(x_set_window_size_1, x_wm_set_size_hint): Don't call
check_frame_size.
(x_set_window_size): Don't call check_frame_size and
do_pending_window_change.
(x_term_init): Init horizontal_scroll_bar_cursor display info.
(x_create_terminal): Add set_horizontal_scroll_bar_hook.
(x_scroll_bar_set_handle): Add some checks when calling
x_clear_area.

9 years agoFix bugs #16674 and #18112 with resizing TTY frames after switching terminals.
Eli Zaretskii [Sun, 27 Jul 2014 13:01:07 +0000 (16:01 +0300)]
Fix bugs #16674 and #18112 with resizing TTY frames after switching terminals.

 lisp/window.el (window--pixel-to-total): Use FRAME's root window, not
 that of the selected frame.

9 years agosrc/window.c (window_resize_check, window_resize_apply): Fix typos in comments.
Eli Zaretskii [Sun, 27 Jul 2014 12:04:29 +0000 (15:04 +0300)]
src/window.c (window_resize_check, window_resize_apply): Fix typos in comments.

9 years agoFixes: debbugs:18117
Andreas Schwab [Sun, 27 Jul 2014 11:38:59 +0000 (13:38 +0200)]
Fixes: debbugs:18117
* textmodes/tex-mode.el (tex-font-lock-verb): Doc fix.

9 years agoUse `defvar-local' more.
Thien-Thi Nguyen [Sun, 27 Jul 2014 09:41:59 +0000 (11:41 +0200)]
Use `defvar-local' more.

* lisp/progmodes/hideshow.el
(hs-c-start-regexp, hs-block-start-regexp)
(hs-block-start-mdata-select, hs-block-end-regexp)
(hs-forward-sexp-func, hs-adjust-block-beginning): ...here;
remove corresponding `make-variable-buffer-local' top-level calls.

9 years agoCleanup error signals.
Fabián Ezequiel Gallina [Sun, 27 Jul 2014 07:05:13 +0000 (04:05 -0300)]
Cleanup error signals.

* lisp/progmodes/python.el
(python-indent-shift-left): Use user-error instead.
(python-shell-prompt-detect): Use lwarn with python group.
(python-completion-complete-at-point)
(python-eldoc--get-doc-at-point): Don't signal error.

Fixes: debbugs:18067
9 years agoSupport for packages in Python shell.
Fabián Ezequiel Gallina [Sun, 27 Jul 2014 06:39:17 +0000 (03:39 -0300)]
Support for packages in Python shell.

* lisp/progmodes/python.el (python-shell--package-depth): New var.
(python-shell-package-enable): New command.
(python-util-list-directories, python-util-list-files)
(python-util-list-packages): New functions.

Fixes: debbugs:13570
9 years agosrc/dispnew.c (allocate_matrices_for_frame_redisplay): Fix typo in a comment.
Eli Zaretskii [Sun, 27 Jul 2014 06:32:56 +0000 (09:32 +0300)]
src/dispnew.c (allocate_matrices_for_frame_redisplay): Fix typo in a comment.

9 years ago* python.el (python-shell-enable-font-lock): Fix typo in earlier change.
Glenn Morris [Sun, 27 Jul 2014 02:59:49 +0000 (22:59 -0400)]
* python.el (python-shell-enable-font-lock): Fix typo in earlier change.

9 years agoFaster comint output.
Fabián Ezequiel Gallina [Sun, 27 Jul 2014 02:02:38 +0000 (23:02 -0300)]
Faster comint output.

* lisp/progmodes/python.el:
(python-comint-output-filter-function): Make obsolete.
(python-comint-postoutput-scroll-to-bottom): New function.
(inferior-python-mode): Set comint-output-filter-functions to a
minimum.

Fixes: debbugs:16875
9 years ago* lisp/progmodes/python.el (inferior-python-mode): Doc fix.
Fabián Ezequiel Gallina [Sun, 27 Jul 2014 01:36:48 +0000 (22:36 -0300)]
* lisp/progmodes/python.el (inferior-python-mode): Doc fix.

9 years ago* lisp/progmodes/python.el (python-shell-font-lock-post-command-hook):
Fabián Ezequiel Gallina [Sun, 27 Jul 2014 01:00:26 +0000 (22:00 -0300)]
* lisp/progmodes/python.el (python-shell-font-lock-post-command-hook):
Safeguard current point and undo history.

9 years agoRobust shell syntax highlighting. (Bug#18084, Bug#16875)
Fabián Ezequiel Gallina [Sat, 26 Jul 2014 23:43:51 +0000 (20:43 -0300)]
Robust shell syntax highlighting.  (Bug#18084, Bug#16875)

* lisp/progmodes/python.el:
(python-shell-prompt-input-regexps): Add iPython block prompt.
(python-shell-output-syntax-table): Delete var.
(python-shell-font-lock-with-font-lock-buffer): New macro.
(python-shell-font-lock-get-or-create-buffer)
(python-shell-font-lock-kill-buffer)
(python-shell-font-lock-cleanup-buffer)
(python-shell-font-lock-post-command-hook)
(python-shell-font-lock-turn-off): New functions.
(python-shell-font-lock-turn-on): New function.
(inferior-python-mode): Use it.
(python-shell-font-lock-toggle): New command.
(python-shell-font-lock-enable): Rename from
python-shell-enable-font-lock.
(run-python-internal): Use it.
(python-shell-font-lock-comint-output-filter-function): New function.
(python-shell-comint-end-of-output-p): New function.
(python-shell-output-filter): Use it.
(python-util-comint-last-prompt): New function.
(python-util-text-properties-replace-name): New function.

9 years agoFix bug #18113 with ambiguous wording in etc/DEBUG.
Eli Zaretskii [Sat, 26 Jul 2014 13:40:53 +0000 (16:40 +0300)]
Fix bug #18113 with ambiguous wording in etc/DEBUG.

 etc/DEBUG: Improve wording.

9 years agoRevert previous change.
Paul Eggert [Sat, 26 Jul 2014 13:17:25 +0000 (06:17 -0700)]
Revert previous change.

There is certainly nothing wrong with writing code like 'lo <= i
&& i <= hi', even if LO happens to a constant.  There isn't even
anything wrong in general with writing 'a <= b' if A happens to
be a constant.  At any rate stylistic changes shouldn't
be done like this without discussion.

9 years agoWork around the failures in icalendar-tests which occasionally occur
Ulf Jasper [Sat, 26 Jul 2014 12:53:36 +0000 (14:53 +0200)]
Work around the failures in icalendar-tests which occasionally occur
on hydra.nixos.org.

* automated/icalendar-tests.el (icalendar-tests--do-test-import):
Work around the failures in icalendar-tests which occasionally occur on
hydra.nixos.org.

9 years agoReorder conditions that are written backwards
Andreas Schwab [Sat, 26 Jul 2014 12:14:42 +0000 (14:14 +0200)]
Reorder conditions that are written backwards

* alloc.c (xnmalloc, xnrealloc, xpalloc, make_save_value)
(Fgarbage_collect): Reorder conditions that are written backwards.
* data.c (cons_to_unsigned): Likewise.
* dispnew.c (update_frame_1, sit_for): Likewise.
* fileio.c (file_offset): Likewise.
* filelock.c (read_lock_data, lock_file): Likewise.
* fns.c (larger_vector, make_hash_table, Fmake_hash_table):
Likewise.
* font.c (font_intern_prop, font_style_symbolic): Likewise.
* lisp.h (FIXNUM_OVERFLOW_P): Likewise.
* lread.c (read1): Likewise.
* minibuf.c (read_minibuf_noninteractive): Likewise.
* nsterm.m (x_set_frame_alpha): Likewise.
* process.c (wait_reading_process_output): Likewise.
* region-cache.c (delete_cache_boundaries): Likewise.
* xterm.c (x_set_frame_alpha): Likewise.

9 years agoReorder conditions that are written backwards
Andreas Schwab [Sat, 26 Jul 2014 11:58:24 +0000 (13:58 +0200)]
Reorder conditions that are written backwards

* alloc.c (xnmalloc, xnrealloc, xpalloc, make_save_value)
(Fgarbage_collect): Reorder conditions that are written backwards.
* data.c (cons_to_unsigned): Likewise.
* dispnew.c (update_frame_1, sit_for): Likewise.
* fileio.c (file_offset): Likewise.
* filelock.c (read_lock_data, lock_file): Likewise.
* fns.c (larger_vector, make_hash_table, Fmake_hash_table):
Likewise.
* font.c (font_intern_prop, font_style_symbolic): Likewise.
* lisp.h (FIXNUM_OVERFLOW_P): Likewise.
* lread.c (read1): Likewise.
* minibuf.c (read_minibuf_noninteractive): Likewise.
* nsterm.m (x_set_frame_alpha): Likewise.
* process.c (wait_reading_process_output): Likewise.
* region-cache.c (delete_cache_boundaries): Likewise.
* xterm.c (x_set_frame_alpha): Likewise.

9 years ago* calendar/todo-mode.el (todo-edit-item--next-key): If next key is
Stephen Berman [Fri, 25 Jul 2014 21:53:52 +0000 (23:53 +0200)]
* calendar/todo-mode.el (todo-edit-item--next-key): If next key is
not a character, ignore it instead of raising an error.

9 years ago* dispextern.h, xdisp.c (hourglass_shown_p, hourglass_atimer):
Paul Eggert [Fri, 25 Jul 2014 21:51:29 +0000 (14:51 -0700)]
* dispextern.h, xdisp.c (hourglass_shown_p, hourglass_atimer):

Now static.

9 years ago* atimer.c (set_alarm) [HAVE_ITIMERSPEC]: Use TIMER_ABSTIME
Dmitry Antipov [Fri, 25 Jul 2014 17:14:01 +0000 (21:14 +0400)]
* atimer.c (set_alarm) [HAVE_ITIMERSPEC]: Use TIMER_ABSTIME
because atimer expiration is absolute rather than relative.

9 years agoFix code and doc involving marked items.
Stephen Berman [Fri, 25 Jul 2014 16:01:05 +0000 (18:01 +0200)]
Fix code and doc involving marked items.

* todo-mode.texi (Marked Items): Correct omission of item deletion
from commands applying to both todo and done items.

* calendar/todo-mode.el: Fix handling of marked items and make
minor code improvements.
(todo-edit-item): If there are marked items, ensure user can only
invoke editing commands that work with marked items.
(todo-edit-item--text): When there are marked items, make it a
noop if invoked with point not on an item; otherwise, ensure it
applies only to item at point.
(todo-item-undone): If there are marked not-done items, return
point to its original position before signaling user error.
(todo--user-error-if-marked-done-item): New function.
(todo-edit-item--header, todo-edit-item--diary-inclusion)
(todo-item-done): Use it.

9 years agoFix last commit in w32term.c.
Eli Zaretskii [Fri, 25 Jul 2014 11:58:36 +0000 (14:58 +0300)]
Fix last commit in w32term.c.

 src/w32term.h (current_popup_menu, menubar_in_use): Move
 declarations from w32term.c.

9 years agovc-hooks.el: Fix doc typo in previous
Glenn Morris [Fri, 25 Jul 2014 10:05:10 +0000 (06:05 -0400)]
vc-hooks.el: Fix doc typo in previous

9 years agoediff: Replace obsolete toggle-read-only with read-only-mode
Glenn Morris [Fri, 25 Jul 2014 09:37:07 +0000 (05:37 -0400)]
ediff: Replace obsolete toggle-read-only with read-only-mode

* lisp/vc/ediff-init.el (ediff-toggle-read-only-function):
* lisp/vc/ediff-util.el (ediff-toggle-read-only):
Replace obsolete toggle-read-only with read-only-mode.

9 years agoProvisionally fix Windows build broken by last commit.
Martin Rudalics [Fri, 25 Jul 2014 09:29:23 +0000 (11:29 +0200)]
Provisionally fix Windows build broken by last commit.

* w32fns.c (menubar_in_use): No more static.
* w32term.c (current_popup_menu, menubar_in_use): Declare.

9 years agoMore toggle-read-only doc tweaks
Glenn Morris [Fri, 25 Jul 2014 09:24:53 +0000 (05:24 -0400)]
More toggle-read-only doc tweaks

* lisp/files.el (toggle-read-only): Re-add basic doc-string.

* lisp/vc/vc-hooks.el (vc-toggle-read-only): Tweak obsolescence mesage.

9 years agoprolog.el: Fix for missing `switch-to-prolog'
Glenn Morris [Fri, 25 Jul 2014 08:24:00 +0000 (04:24 -0400)]
prolog.el: Fix for missing `switch-to-prolog'

Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00228.html

* lisp/progmodes/prolog.el (prolog-mode-keybindings-edit):
Replace missing `switch-to-prolog' with `run-prolog'.
(switch-to-prolog): Define as (obsolete) alias, as in 23.4.

9 years agoFix ChangeLog typo.
Dmitry Antipov [Fri, 25 Jul 2014 06:07:14 +0000 (10:07 +0400)]
Fix ChangeLog typo.

9 years agoMove hourglass machinery to RIF.
Dmitry Antipov [Fri, 25 Jul 2014 06:01:39 +0000 (10:01 +0400)]
Move hourglass machinery to RIF.
* dispextern.h (struct redisplay_interface): New members
show_hourglass and hide_hourglass.  Indent comments.
(show_hourglass, hide_hourglass): Remove prototypes.
* nsterm.m (show_hourgass, hide_hourglass): Refactor to ...
(ns_show_hourglass, ns_hide_hourglass): ... new no-ops.
(ns_redisplay_interface): Add them.
* w32fns.c (show_hourglass, hide_hourglass): Refactor to ...
* w32term.c (w32_show_hourglass, w32_hide_hourglass): ... these.
(w32_arrow_cursor): New function to hack around non-GUI frames.
(w32_redisplay_interface): Add new functions.
* w32term.h (w32_arror_cursor): Add prototype.
* xdisp.c (show_hourglass): New function, refactored out from
platform-dependend code.
(cancel_hourglass): Now call to RIF function.
* xfns.c (show_hourglass, hide_hourglass): Refactor to ...
* xterm.c (x_show_hourglass, x_hide_hourglass): ... these.
(x_redisplay_interface): Add new functions.

9 years ago* net/tramp-cache.el (tramp-flush-file-function): Wrap the code
Michael Albinus [Thu, 24 Jul 2014 07:30:36 +0000 (09:30 +0200)]
* net/tramp-cache.el (tramp-flush-file-function): Wrap the code
with `save-match-data'.

Fixes: debbugs:18095
9 years agoFix error reported by Angelo Graziosi <angelo.graziosi@alice.it> in
Dmitry Antipov [Thu, 24 Jul 2014 05:49:14 +0000 (09:49 +0400)]
Fix error reported by Angelo Graziosi <angelo.graziosi@alice.it> in
<http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00274.html>
and complete previous change.
* frame.c (adjust_frame_height): New function.
(Fset_frame_height, Fset_frame_size): Use it.
(x_set_frame_parameters): Take frame top margin into account.

9 years ago* frame.c (Fset_frame_height): Take frame top margin into account.
Dmitry Antipov [Wed, 23 Jul 2014 16:09:34 +0000 (20:09 +0400)]
* frame.c (Fset_frame_height): Take frame top margin into account.
Incorrect behavior was reported by Martin Rudalics <rudalics@gmx.at> in
<http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00258.html>

9 years ago* calendar/todo-mode.el (todo-set-top-priorities): Fix overwriting
Stephen Berman [Tue, 22 Jul 2014 21:32:04 +0000 (23:32 +0200)]
* calendar/todo-mode.el (todo-set-top-priorities): Fix overwriting
of file-wide setting when changing category-wide setting.

9 years ago* xterm.h (struct x_output) [USE_LUCID && USE_TOOLKIT_SCROLL_BARS]:
Dmitry Antipov [Tue, 22 Jul 2014 13:55:04 +0000 (17:55 +0400)]
* xterm.h (struct x_output) [USE_LUCID && USE_TOOLKIT_SCROLL_BARS]:
Define scroll_bar_top_shadow_pixel and scroll_bar_bottom_shadow_pixel
as such.  All related users changed.

9 years ago* xterm.h (struct x_output) [USE_X_TOOLKIT || USE_GTK]: Define
Dmitry Antipov [Tue, 22 Jul 2014 10:34:05 +0000 (14:34 +0400)]
* xterm.h (struct x_output) [USE_X_TOOLKIT || USE_GTK]: Define
menubar_height as such.  Tweak comment.
(FRAME_MENUBAR_HEIGHT) [!USE_X_TOOLKIT && !USE_GTK]: No-op.
* xterm.c (handle_one_xevent):
* gtkutil.c (xg_event_is_for_menubar):
* xfns.c (x_window) [USE_X_TOOLKIT]:
* xmenu.c (set_frame_menubar, free_frame_menubar): Prefer
to use FRAME_MENUBAR_HEIGHT.

9 years agognus-utils.el (gnus-recursive-directory-files): Unify hard or symbolic links (bug...
Katsumi Yamaoka [Tue, 22 Jul 2014 06:37:31 +0000 (06:37 +0000)]
gnus-utils.el (gnus-recursive-directory-files): Unify hard or symbolic links (bug#18063)

9 years agoCorrect ses-truncate-cell bug implied by setting ses.el in lexical binding: row and...
Vincent Belaïche [Mon, 21 Jul 2014 17:53:38 +0000 (19:53 +0200)]
Correct ses-truncate-cell bug implied by setting ses.el in lexical binding: row and col had been erronously made unbound.

9 years ago* src/frame.c (Fframe_parameters): Always report frame height without
Dmitry Antipov [Mon, 21 Jul 2014 16:58:12 +0000 (20:58 +0400)]
* src/frame.c (Fframe_parameters): Always report frame height without
menu and tool bar lines.
* etc/TODO: remove frame height remark.

9 years agoSpelling fixes.
Paul Eggert [Mon, 21 Jul 2014 14:41:19 +0000 (07:41 -0700)]
Spelling fixes.

9 years agoNEWS copyedit
Glenn Morris [Mon, 21 Jul 2014 06:18:01 +0000 (02:18 -0400)]
NEWS copyedit

9 years agoMerge from emacs-24; up to 2014-06-25T10:17:41Z!rgm@gnu.org
Glenn Morris [Mon, 21 Jul 2014 06:03:08 +0000 (02:03 -0400)]
Merge from emacs-24; up to 2014-06-25T10:17:41Z!rgm@gnu.org

9 years agoNEWS tweaks
Glenn Morris [Mon, 21 Jul 2014 05:58:27 +0000 (01:58 -0400)]
NEWS tweaks

9 years agoSmall fixes re toggle-read-only, mainly doc
Glenn Morris [Mon, 21 Jul 2014 05:38:17 +0000 (01:38 -0400)]
Small fixes re toggle-read-only, mainly doc

* progmodes/hideif.el (hide-ifdef-mode-submap): Also substitute read-only-mode.

* bindings.el (mode-line-toggle-read-only):
* bs.el (bs-toggle-readonly):
* buff-menu.el (Buffer-menu-toggle-read-only):
* dired.el (dired-toggle-read-only):
* files.el (view-read-only, find-file-read-only)
(find-file-read-only-other-window)
(find-file-read-only-other-frame):
* progmodes/hideif.el (hide-ifdef-toggle-outside-read-only):
Doc fixes re toggle-read-only.

* view.el: Comment updates.

9 years ago* doc/emacs/emacs.texi (Intro): Workaround makeinfo 4 @acronym bug.
Glenn Morris [Mon, 21 Jul 2014 03:31:36 +0000 (23:31 -0400)]
* doc/emacs/emacs.texi (Intro): Workaround makeinfo 4 @acronym bug.

Fixes: debbugs:18040
9 years ago* emacs-lisp/smie.el (smie-config--guess-1): Split from smie-config--guess.
Stefan Monnier [Mon, 21 Jul 2014 01:58:43 +0000 (21:58 -0400)]
* emacs-lisp/smie.el (smie-config--guess-1): Split from smie-config--guess.
(smie-config--guess): Use it.

9 years ago* lisp/emacs-lisp/edebug.el: Use nadvice.
Stefan Monnier [Mon, 21 Jul 2014 01:56:54 +0000 (21:56 -0400)]
* lisp/emacs-lisp/edebug.el: Use nadvice.
(edebug-original-read): Remove.
(edebug--read): Rename from edebug-read and add `orig' arg.
(edebug-uninstall-read-eval-functions)
(edebug-install-read-eval-functions): Use nadvice.
(edebug-read-sexp, edebug-read-storing-offsets, edebug-read-symbol)
(edebug-read-and-maybe-wrap-form1, edebug-instrument-callee)
(edebug-read-string, edebug-read-function): Use just `read'.
(edebug-original-debug-on-entry): Remove.
(edebug--debug-on-entry): Rename from edebug-debug-on-entry and add
`orig' arg.
(debug-on-entry): Override with nadvice.

9 years agoIndentation, punctuation, and other nitpicks.
Stefan Monnier [Mon, 21 Jul 2014 01:41:59 +0000 (21:41 -0400)]
Indentation, punctuation, and other nitpicks.

9 years ago* lisp/mouse.el (tear-off-window): Rename from mouse-tear-off-window since
Stefan Monnier [Mon, 21 Jul 2014 01:38:21 +0000 (21:38 -0400)]
* lisp/mouse.el (tear-off-window): Rename from mouse-tear-off-window since
it also makes sense to bind it to a non-mouse event.

9 years ago* test/automated/advice-tests.el (advice-test-call-interactively): Make sure
Stefan Monnier [Mon, 21 Jul 2014 01:34:03 +0000 (21:34 -0400)]
* test/automated/advice-tests.el (advice-test-call-interactively): Make sure
the function's definition is fully restored at the end.

9 years ago* lisp/vc/vc-bzr.el (vc-bzr-shelve): Make it operate on fileset.
Stefan Monnier [Mon, 21 Jul 2014 01:25:59 +0000 (21:25 -0400)]
* lisp/vc/vc-bzr.el (vc-bzr-shelve): Make it operate on fileset.

9 years ago* lisp/progmodes/python.el: Add comment about pipe buffering and
Fabián Ezequiel Gallina [Sun, 20 Jul 2014 19:51:16 +0000 (16:51 -0300)]
* lisp/progmodes/python.el: Add comment about pipe buffering and
solutions for missing/delayed output in inferior Python shells.

Fixes: debbugs:17304