1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-15 04:11:53 -08:00
Commit graph

37537 commits

Author SHA1 Message Date
Paul Eggert
303797134f Use bool for boolean in window.c
* src/window.c:	Omit unnecessary static function decls.
(adjust_window_count, select_window, Fselect_window)
(window_body_width, Fwindow_body_height, Fwindow_body_width)
(set_window_hscroll, check_window_containing, Fwindow_at)
(Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
(unshow_buffer, replace_window, recombine_windows)
(add_window_to_list, candidate_window_p, next_window)
(Fnext_window, Fprevious_window, window_loop, check_all_windows)
(Fget_buffer_window, Fdelete_other_windows_internal)
(replace_buffer_in_windows_safely, set_window_buffer)
(Fset_window_buffer, Fforce_window_update)
(temp_output_buffer_show, make_parent_window)
(window_resize_check, window_resize_apply, Fwindow_resize_apply)
(resize_frame_windows, Fsplit_window_internal)
(Fdelete_window_internal, grow_mini_window, shrink_mini_window)
(Fresize_mini_window_internal, mark_window_cursors_off)
(window_scroll, window_scroll_pixel_based)
(window_scroll_line_based, scroll_command, Fscroll_other_window)
(Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
(Fmove_to_window_line, Fset_window_configuration)
(delete_all_child_windows, apply_window_adjustment)
(set_window_fringes, set_window_scroll_bars)
(Fset_window_vscroll, foreach_window, foreach_window_1)
(compare_window_configurations, Fcompare_window_configurations):
Prefer 'bool', 'true', and 'false' for booleans.
* src/window.h (WINDOW_MODE_LINE_LINES)
(WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
2015-04-11 20:45:42 -07:00
Chris Zheng
dc79845aac Support GnuTLS v3.4 and later on MS-Windows
* src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
* lisp/term/w32-win.el (dynamic-library-alist): Determine which
GnuTLS DLL to load according to value of libgnutls-version.

Fixes: bug#20294

Copyright-paperwork-exempt: yes
2015-04-11 18:06:52 +03:00
Daiki Ueno
7c7b96eba0 Respect more keyword args in `make-process'
* process.c (Fmake_process): Respect `:sentinel' and `:filter'
keywords as documented.
2015-04-11 16:06:07 +09:00
Paul Eggert
e3ee455d29 Fix problems found by --enable-gcc-warnings
* src/process.c (create_process, Fmake_pipe_process)
(Fmake_network_process): Omit unused locals.
2015-04-10 19:36:54 -07:00
Daiki Ueno
f55ea05bdf Add facility to collect stderr of async subprocess
* src/w32.h (register_aux_fd): New function declaration.
* src/w32.c (register_aux_fd): New function.
* src/process.h (struct Lisp_Process): New member stderrproc.
* src/process.c (PIPECONN_P): New macro.
(PIPECONN1_P): New macro.
(Fdelete_process, Fprocess_status, Fset_process_buffer)
(Fset_process_filter, Fset_process_sentinel, Fstop_process)
(Fcontinue_process): Handle pipe process specially.
(create_process): Respect p->stderrproc.
(Fmake_pipe_process): New function.
(Fmake_process): Add new keyword argument :stderr.
(wait_reading_process_output): Specially handle a pipe process when
it gets an EOF.
(syms_of_process): Register Qpipe and Smake_pipe_process.

* doc/lispref/processes.texi (Asynchronous Processes): Document
`make-pipe-process' and `:stderr' keyword of `make-process'.

* lisp/subr.el (start-process): Suggest to use `make-process' handle
standard error separately.

* test/automated/process-tests.el (process-test-stderr-buffer)
(process-test-stderr-filter): New tests.

* etc/NEWS: Mention new process type `pipe' and its usage with the
`:stderr' keyword of `make-process'.
2015-04-11 07:59:27 +09:00
Eli Zaretskii
5aed69af5e Fix 'recenter' when visual-line-mode is turned on
* src/window.c (Frecenter): Use the same code for GUI and TTY
frames alike; use vmotion only for "initial" frames.  This is
because vmotion doesn't support visual-line-mode.  Rewrite the
'iarg >= 0' case to use move_it_* functions instead of using
vmotion, for the same reason.  Fix the clipping of the argument
value to support scroll-margin in all cases and avoid unwarranted
recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
which see.
2015-04-10 13:09:42 +03:00
Eli Zaretskii
bf87b4d5a8 * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
Fixes: bug#17517
2015-04-08 18:24:04 +03:00
Paul Eggert
dd1404cca3 Rename ChangeLogs for gitlog-to-changelog
This patch was implemented via the following shell commands:
find * -name ChangeLog |
sed 's,.*,git mv & &.1,
s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
s, src/ChangeLog\.1$, src/ChangeLog.13,' |
sh
git commit -am"[this commit message]"
2015-04-07 00:00:06 -07:00
Eli Zaretskii
d521417bf7 src/w32proc.c: Fix typos in description of subprocess support. 2015-04-06 14:52:57 +03:00
Koichi Arakawa
eedff18424 Avoid segfaults on MS-Windows when invoking subprocesses (Bug#20264)
src/w32proc.c (w32_executable_type): Look for the DLL name in the
 correct section.  This avoids segfaults with some executables.
2015-04-06 13:26:54 +03:00
Jan D
0115aceb58 Close a timing hole in selections.
Fixes: debbugs:16737

* src/xselect.c (x_reply_selection_request)
(receive_incremental_selection): Call set_property_change_object
inside block_input.
(wait_for_property_change): Move set property_change_reply(_object)
outside of this function.
(set_property_change_object): New function.
2015-04-04 16:10:06 +02:00
Jan D
c775195c62 Don't optimized away tool tip redraw, may lead to corrupted text.
* src/xterm.c (handle_one_xevent): Always redraw tool tips on
MapNotify.  Update tool tip frame sizes on ConfigureNotify.
2015-04-03 13:59:18 +02:00
Eli Zaretskii
f20a2cd9dc Avoid crashing with key-chord (Bug#20223)
src/keyboard.c (read_key_sequence): Don't let
 this_single_command_key_start become negative.
2015-03-31 17:18:17 +03:00
Paul Eggert
d16fb74091 Merge from origin/emacs-24
4d2e7e1 Fixes: debbugs:19175
2e0cfcc Fix the preamble text of the DIR file we install  (Bug#20213)
22ece83 src/w32proc.c: Describe in a comment w32 subprocess implementation.

Conflicts:
	ChangeLog
	src/ChangeLog
	src/xterm.c
2015-03-29 14:24:19 -07:00
Paul Eggert
0479a1b62c Merge from origin/emacs-24
5e0314f * smie.el (smie*ward-sexp-command): Don't pretend the arg is optional
13cf575 Don't round up scroll bar width with GTK3 (Bug#20182).
921dd0d * doc/lispref/objects.texi (Equality Predicates): Fix typo in example.

Conflicts:
	doc/lispref/ChangeLog
	lisp/ChangeLog
	src/ChangeLog
2015-03-29 14:14:15 -07:00
Jan D
4d2e7e1754 Fixes: debbugs:19175
* gtkutil.c (xg_display_open):
* xterm.c (x_display_ok, x_term_init): Block SIGIO when opening
a display.
2015-03-29 21:16:23 +02:00
Eli Zaretskii
22ece83a65 src/w32proc.c: Describe in a comment w32 subprocess implementation. 2015-03-28 20:37:47 +03:00
Jan D
be5e9348dc Don't send bad SM messages.
* xsmfns.c (smc_save_yourself_CB): Return if Vinvocation_name or
user_login_name are not strings.
2015-03-28 12:33:25 +01:00
Eli Zaretskii
7dc565a2cf Fix blocking connections on MS-Windows (Bug#20159)
src/w32.c (sys_connect): Fix a mistake in previous commit that broke
 blocking connections.
2015-03-28 10:36:01 +03:00
Paul Eggert
01d1024bec Avoid some core dumps in X session management
Derived from a bug report by Nicolas Richard in:
http://bugs.gnu.org/20191#20
* xsmfns.c (smc_save_yourself_CB): Don't dump core if
invocation-name is not a string.  Initialize user-login-name if it
is not already initialized, and don't dump core if it is not a
string.
(create_client_leader_window): Don't dump core if x-resource-name
and x-resource-class are not both strings.
(x_session_initialize): Don't dump core if x-session-previous-id,
invocation-directory, and invocation-name are not strings.
2015-03-27 12:11:08 -07:00
Paul Eggert
589a4034b7 Port user-login-name initialization to Qnil == 0
* editfns.c (Fuser_login_name, Fuser_real_login_name)
(syms_of_editfns): Don't rely on all-bits-zero being an Elisp integer,
as this is no longer true now that Qnil == 0.
2015-03-27 12:01:56 -07:00
Paul Eggert
087fdee723 Assume !BROKEN_NON_BLOCKING_CONNECT
From a suggestion by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-03/msg00824.html
* process.c (NON_BLOCKING_CONNECT): Simplify by assuming that
BROKEN_NON_BLOCKING_CONNECT is not defined.
(SELECT_CAN_DO_WRITE_MASK): Remove, and assume it's now true.
2015-03-27 10:37:14 -07:00
Eli Zaretskii
9552a65f31 Fix crashes when restoring sub-char-tables from desktop file
src/lread.c (substitute_object_recurse): For sub-char-tables, start
 the recursive SUBSTITUTE loop from index of 2, to skip the
 non-Lisp members of the sub-char-table.  See the discussion at
 http://lists.gnu.org/archive/html/emacs-devel/2015-03/msg00520.html
 for the details.
2015-03-27 16:16:36 +03:00
Eli Zaretskii
5ba79b03f3 Fix the bug number of previous commit: should be bug #20159. 2015-03-27 12:47:04 +03:00
Eli Zaretskii
d133cf8394 Support non-blocking connect on MS-Windows (Bug#20207)
Based on ideas from Kim F. Storm <storm@cua.dk>, see
 http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg00873.html.

 src/w32proc.c (reader_thread): If the FILE_CONNECT flag is set, call
 '_sys_wait_connect'.  If it returns STATUS_CONNECT_FAILED, exit
 the thread with code 2.
 (sys_select): Support 'wfds' in addition to 'rfds'.  If a
 descriptor in 'wfds' has its bit set, but the corresponding
 fd_info member doesn't have its FILE_CONNECT flag set, ignore the
 descriptor.  Otherwise, acknowledge a successful non-blocking
 connect by resetting the FILE_CONNECT flag and setting cp->status
 to STATUS_READ_ACKNOWLEDGED.
 src/w32.h (STATUS_CONNECT_FAILED): New enumeration value.
 (struct _child_process): New member 'errcode'.
 (FILE_CONNECT): New flag.
 (_sys_wait_connect): Add prototype.
 src/w32.c (pfn_WSAEnumNetworkEvents): New function pointer.
 (init_winsock): Load WSAEnumNetworkEvents from winsock DLL.
 (set_errno): Map WSAEWOULDBLOCK and WSAENOTCONN.
 (sys_connect): Support non-blocking 'connect' calls by setting the
 FILE_CONNECT flag in the fd_info member and returning EINPROGRESS.
 (_sys_read_ahead): Add debug message if this function is called
 for a descriptor that waits for a non-blocking connect to complete.
 (_sys_wait_connect): New function.
 (sys_read): Support STATUS_CONNECT_FAILED.  Return the error code
 recorded by _sys_wait_connect when the non-blocking connect
 failed.  Don't call WSAGetLastError before a call to set_errno had
 a chance to use its value, since WSAGetLastError clears the last
 error.

 nt/inc/ms-w32.h (BROKEN_NON_BLOCKING_CONNECT): Don't define.
2015-03-27 12:44:31 +03:00
Nicolas Petton
8478885dfa Bump version to 24.5 for the release-candidate 2015-03-27 09:52:01 +01:00
Stefan Monnier
599ca626d7 `save-excursion' does not save&restore the mark any more
* src/editfns.c (save_excursion_save): Don't save the mark.
(save_excursion_restore): Don't restore the mark.
(Fsave_excursion): Fix docstring accordingly.

* doc/lispintro/emacs-lisp-intro.texi:
* doc/lispref/positions.texi (Excursions, Narrowing): `save-excursion' does
not save&restore the mark any more.
2015-03-25 09:47:12 -04:00
Martin Rudalics
13cf575c1d Don't round up scroll bar width with GTK3 (Bug#20182).
* gtkutil.c (update_theme_scrollbar_width): Don't round up
scroll bar width with GTK3 (Bug#20182).
2015-03-25 11:17:30 +01:00
Paul Eggert
711770da91 Fix minor ldexp issues
* doc/lispref/numbers.texi (Float Basics): Improve ldexp documentation.
* src/floatfns.c (Fldexp): Require 2 args.  Avoid undefined behavior
if the exponent is out of 'int' range.  Improve documentation.
Fixes: bug#20185
2015-03-24 11:43:21 -07:00
Daniel Colascione
23a98c7a53 Make process-running-child-p return foreground process group ID
* etc/NEWS: Mention change to `process-running-child-p`.

* src/process.c (Fprocess_running_child_p): Return number identifier of
the foreground process group if we know it.
2015-03-24 10:23:24 -07:00
Paul Eggert
24960fc72c Minor refactoring of new Fmake_process code
* process.c (Fmake_process): Refactor to avoid call to Flength, to
avoid cast to 'char **', and to reduce indenting and reuse of locals.
2015-03-23 08:57:34 -07:00
Daiki Ueno
47e0e31932 Generalize start-process with keyword args
* src/process.c (Fmake_process): New function.
(create_process, create_pty): Check p->pty_flag instead of
Vprocess_connection_type.
(syms_of_process): Register QCcommand, QCconnection_type, Qpty,
Qpipe, and Smake_process.  Unregister Sstart_process.

* lisp/subr.el (start-process): New function, ported from the C
implementation.

* doc/lispref/processes.texi (Asynchronous Processes): Mention
`make-process'.

* etc/NEWS: Mention `make-process'.
2015-03-23 16:27:29 +09:00
Glenn Morris
a4ff05a217 ChangeLog fix
No need to merge to trunk, since it corrects a backported entry that
should not appear in trunk.
2015-03-22 11:11:27 -07:00
Jan D
ae3d733360 Backport 20156 fix (stack corruption)
Fixes: debbugs:20156

* src/fontset.c (fontset_pattern_regexp): Backport: Replace + 1 with
+ 3 in alloca (tiny change)
2015-03-22 10:21:45 +01:00
Jan D
32315502e0 Fixes: debbugs:20156
* src/fontset.c (fontset_pattern_regexp): Replace + 1 with + 3 for
regexsize.
2015-03-22 10:14:36 +01:00
Eli Zaretskii
ad80180d0f Fix problems with setting system-time-locale on MS-Windows
src/emacs.c (synchronize_locale) [WINDOWSNT]: Ignore 'category' and
 always use LC_ALL instead.  Fixes problems with setting
 system-time-locale to something non-default.
2015-03-21 17:44:00 +02:00
Paul Eggert
81deba3d7a Merge from origin/emacs-24
1a941d6 Fix incorrect usage of @key in the User Manual  (Bug#20135)
14c47d3 doc/misc/efaq-w32.texi: Spell-check.
ac85901 doc/misc/efaq-w32.texi: Remove outdated information and update.
c43762d Fix description of fullscreen mode on MS-Windows (Bug#20110).
ea8cab3 doc/lispref/minibuf.texi (Basic Completion): Fix a typo.  (Bug#20108)
2fdec80 Improve indexing in Emacs manual  (Bug#20105)
cc11321 Fix --no-bitmap-icon

Conflicts:
	doc/emacs/ChangeLog
	doc/lispref/ChangeLog
	doc/misc/ChangeLog
	src/ChangeLog
2015-03-18 11:45:36 -07:00
Stefan Monnier
872481d9e2 Add classes as run-time descriptors of cl-structs.
* lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class): New function.
(cl--make-slot-desc): New constructor.
(cl--plist-remove, cl--struct-register-child): New functions.
(cl-struct-define): Rewrite.
(cl-structure-class, cl-structure-object, cl-slot-descriptor)
(cl--class): New structs.
(cl--struct-default-parent): Initialize it here.
* lisp/emacs-lisp/cl-macs.el (cl--find-class): New macro.
(cl-defsubst, cl--defsubst-expand, cl--sublis): Move before first use.
(cl--struct-default-parent): New var.
(cl-defstruct): Adjust to new representation of classes; add
default parent.  In accessors, signal `wrong-type-argument' rather than
a generic error.
(cl-struct-sequence-type, cl-struct-slot-info)
(cl-struct-slot-offset): Rewrite.
* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-specializers)
(cl-generic-generalizers): Rewrite.
* src/alloc.c (purecopy): Handle hash-tables.

* lisp/emacs-lisp/debug.el (debug--implement-debug-on-entry):
Bind inhibit-debug-on-entry here...
(debug): Instead of here.

* lisp/emacs-lisp/macroexp.el (macroexp--debug-eager): New var.
(internal-macroexpand-for-load): Use it.

* lwlib/xlwmenu.c (pop_up_menu): Remove debugging code.
2015-03-18 10:31:07 -04:00
Stefan Monnier
f925fc93ba Add predicate' arg to read-buffer' and use it for erc-iswitchb
Fixes: debbugs:20116

* src/minibuf.c (Fread_buffer): Add `predicate' argument.
* src/callint.c (Fcall_interactively): Adjust calls accordingly.

* lisp/erc/erc.el (erc-switch-to-buffer): Rename from erc-iswitchb and rewrite
using read-buffer.
(erc--buffer-p): New function, extracted from erc-buffer-filter.
(erc-buffer-filter): Use it.
(erc-with-all-buffers-of-server): Silence compile warning if the return
value is unused.
(erc-is-valid-nick-p, erc-common-server-suffixes, erc-get-arglist)
(erc-command-name, erc-popup-input-buffer): Use \` and \' to match
beg/end of string.

* lisp/obsolete/iswitchb.el (iswitchb-read-buffer): Add `predicate' arg.
* lisp/isearchb.el (isearchb-iswitchb): Adjust accordingly.
* lisp/ido.el (ido-read-buffer): Add `predicate' argument.
* lisp/misearch.el (unload-function-defs-list): Declare before use.
2015-03-16 14:49:01 -04:00
Eli Zaretskii
4e5eb85425 Fix subtle problems with linum-mode and invisible text
src/xdisp.c (handle_invisible_prop): Fix up it->position even when
 we are going to load overlays at the beginning of the invisible
 text.
 (setup_for_ellipsis): Reset the ignore_overlay_strings_at_pos_p
 flag also here.
 (next_overlay_string): Set the overlay_strings_at_end_processed_p
 flag only if the overlays just processed were actually loaded at
 EOB.
2015-03-15 19:17:46 +02:00
Daniel Colascione
3bf369928e Add --no-x-resources option
* lisp/startup.el (command-line): Process "--no-x-resources".

* src/emacs.c (standard_args): Add --no-x-resources.
(usage_message): Document that -Q implies --no-x-resources.
2015-03-14 14:53:33 -07:00
Jan D
85f1a56f15 Mention Bug 19482 on 2015-01-06 change. 2015-03-14 16:14:09 +01:00
Paul Eggert
8e63340dca * frame.c (x_get_resource_string) [!USE_GTK]: Don't define. 2015-03-13 09:58:38 -07:00
Paul Eggert
2c59be9c67 * editfns.c, systime.h (mktime_z) [!HAVE_TZALLOC]: Now static. 2015-03-13 09:58:38 -07:00
Eli Zaretskii
fc10058a4f Fix support of scripts in w32font.c (Bug#19993)
src/w32font.c (font_supported_scripts): Add subranges for Latin
 Supplement, Latin Extended-A/B, Vai, Supplemental Punctuation, Tai
 Le, Buginese, Yijing Hexagrams, Ancient Greek Numbers, Tai Xuan
 Jing, Counting Rods, Sundanese, Lepcha, Ol Chiki, Saurashtra,
 Kayah Li, Rejang, Ancient Symbols, Phistos Disc, Carian, Lycian,
 Lydian, Dominoe Tiles, and Mahjong Tiles.  Break the Mathematical
 Alphanumeric Symbols into several "scripts" like fontset.el does.
 (syms_of_w32font): DEFSYM all the new script symbols.

 lisp/international/fontset.el (script-representative-chars): Add a
 representative character for 'vai'.
2015-03-12 19:34:45 +02:00
Glenn Morris
cc11321582 Fix --no-bitmap-icon
* src/frame.h (x_set_bitmap_icon): Don't set the icon if icon-type is
nil/not present in the parameter alist.

Fixes: debbugs:19680
2015-03-12 08:59:56 -07:00
Eli Zaretskii
e851da3540 Partially revert the fix for bug #11732
src/w32fns.c <ImmReleaseContext_Proc, ImmSetCompositionWindow_Proc>:
 Fix typedefs to be consistent with the corresponding w32 API
 signatures.
 (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Don't invoke
 DefWindowProc if we successfully handled the message, as doing so
 causes problems in displaying selection dialogs.
2015-03-07 12:49:54 +02:00
Paul Eggert
cbc9d8d426 Work around x86 glibc backtrace bug
* sysdep.c (emacs_backtrace): Don't dump core on x86.
Fixes: bug#19959
2015-03-05 11:59:31 -08:00
Eli Zaretskii
1be3bd0ad8 Fix region extension when scroll bar is on the right
src/keyboard.c (make_lispy_position): When the click is on the
 right-side vertical scroll bar, pass the rightmost X coordinate to
 buffer_posn_from_coords, so that the returned text position
 reflects the closest point to the click.  Fixes region extension
 when mouse moves outside the Emacs frame that has scroll bars on
 the right.
2015-03-05 18:56:43 +02:00
Eli Zaretskii
9f1f6c8b56 src/ChangeLog: Fix bad formatting. 2015-03-04 19:57:38 +02:00