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

37565 commits

Author SHA1 Message Date
Paul Eggert
69d0a2d898 Omit -Wstrict-overflow workaround in GCC 5
* src/process.c: Remove workaround for GCC -Wstrict-overflow bug
if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
2015-04-29 20:31:03 -07:00
Oleh Krehel
f66b16c365 Remove the deprecated INTERNAL_FIELD macro by expanding it
* src/lisp.h (INTERNAL_FIELD): Remove.
(DEFVAR_KBOARD): Modify accordingly.

* alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
* syntax.c: Adjust users.
* src/buffer.c (compact_buffer): Use BVAR.
2015-04-29 08:53:55 +02:00
Eli Zaretskii
d89687b1ba Fix redisplay of frame after loading new fonts
* src/xdisp.c (redisplay_internal): When retrying redisplay of a
frame because new fonts were loaded, disable all redisplay
optimizations on that frame by calling SET_FRAME_GARBAGED.
(Bug#20410)
2015-04-27 18:15:52 +03:00
Paul Eggert
2c1b860494 Don't freeze with unreadable processes
Don't freeze if an exiting process can't be read from. (Bug#19860).
This fixes a bug I introduced in
2014-07-08T07:24:07Z@eggert@cs.ucla.edu
"* process.c: Add sanity checks for file descriptors."
Dmitry Gutov did most of the legwork in finding the problem.
* src/process.c (wait_reading_process_output):
Treat non-running processes that can't be read from
the same as other non-running processes.
2015-04-25 16:17:50 -07:00
Eli Zaretskii
bac119a56e Improve doc string of 'insert-buffer-substring'
* src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
2015-04-25 10:49:42 +03:00
Paul Eggert
2f5da6d45a Spelling fixes 2015-04-24 23:19:59 -07:00
Paul Eggert
52ba851db1 Port --enable-gcc-warnings to GCC 5.1 x86-64
* lib-src/ebrowse.c (dump_sym):
* lib-src/hexl.c (main):
* src/ccl.c (ccl_driver):
* src/character.c (string_escape_byte8):
* src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
* src/gnutls.c (Fgnutls_boot):
* src/gtkutil.c (xg_check_special_colors):
* src/image.c (x_build_heuristic_mask):
* src/print.c (safe_debug_print, print_object):
* src/term.c (produce_glyphless_glyph):
* src/xdisp.c (get_next_display_element)
(produce_glyphless_glyph):
* src/xterm.c (x_draw_glyphless_glyph_string_foreground):
Don't use a signed format to print an unsigned integer, or vice
versa.  GCC 5.1's new -Wformat-signedness option warns about this.
* src/image.c (png_load_body, jpeg_load_body):
Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
2015-04-24 22:41:56 -07:00
Eli Zaretskii
168609cc1b Clarify doc strings of functions that search for properties
* src/textprop.c (Fnext_char_property_change)
(Fprevious_char_property_change)
(Fnext_single_char_property_change)
(Fprevious_single_char_property_change, Fnext_property_change)
(Fnext_single_property_change, Fprevious_property_change)
(Fprevious_single_property_change): Clarify doc strings wrt return
value and the optional LIMIT argument.  (Bug#20411)
2015-04-24 11:24:56 +03:00
Eli Zaretskii
5f8878796e ; * src/keyboard.c (read_event_from_main_queue): Fix indentation. 2015-04-23 10:59:24 +03:00
Eli Zaretskii
f2e2cd5969 Avoid starting threads by w32-shell-execute
* src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
local file names, before invoking ShellExecute.  (Bug#20220)
2015-04-23 10:15:07 +03:00
Paul Eggert
7128b0de89 Omit needless "\ " after multibyte then newline
* src/print.c: Include <c-ctype.h>, for c_isxdigit.
(print_object): When print-escape-multibyte is non-nil and a
multibyte character is followed by a newline or formfeed, followed
by a hex digit, don't output a needless "\ " before the hex digit.
* test/automated/print-tests.el (print-hex-backslash): New test.
2015-04-22 11:00:16 -07:00
Oleh Krehel
df61b07822 Add a new `inhibit-message' variable
* src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
(message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
`inhibit_message' is non-zero.

* etc/NEWS: Add an entry.

* doc/lispref/display.texi: Add an entry for `inhibit-message',
  mention it in `message'.
2015-04-22 14:59:43 +02:00
Glenn Morris
e3bfb5191f Avoid non-nil current-load-list at startup
* src/process.c (init_process_emacs): Move Fprovide statement...
(syms_of_process): ... to here.
2015-04-20 20:29:48 -04:00
Glenn Morris
cf2e9971ea Tweak exec-path in uninstalled case
* src/callproc.c (init_callproc): If running uninstalled, do not
include eventual installation libexec directory in exec-path.
2015-04-20 17:38:36 -04:00
Paul Eggert
62e170072e Use bool for boolean in textprop.c, undo.c
* src/textprop.c (soft, hard): Now constants instead of macros.
(validate_plist): Rewrite to avoid need for boolean local.
(interval_has_all_properties, interval_has_some_properties)
(interval_has_some_properties_list, add_properties)
(remove_properties, get_char_property_and_overlay)
(Fnext_single_char_property_change)
(Fprevious_single_char_property_change, add_text_properties_1)
(Fremove_text_properties, Fremove_list_of_text_properties)
(copy_text_properties):
* src/tparam.c (tparam1):
* src/undo.c (record_change, record_property_change)
(syms_of_undo):
Use 'true' and 'false' for booleans.
2015-04-19 13:13:52 -07:00
Paul Eggert
e5bd39b2b4 * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
where either will do.
2015-04-19 10:11:21 -07:00
Paul Eggert
96bfe816d8 Refactor low-level printing for simplicity
* src/print.c (PRINTDECLARE): Remove.  Move its contents into
PRINTPREPARE; doable now that we assume C99.  All callers changed.
(PRINTCHAR): Remove, as it adds more mystery than clarity.
All callers changed.
(strout): Assume that caller computes length.  All callers changed.
(print_c_string): New function.
(write_string, write_string_1): Compute length instead of asking
the caller to compute it.  All callers changed.
(write_string): Simplify by using write_string_1.
(write_string_1): Simplify by using print_c_string.
(Fterpri): Compute default val more clearly.
(Fprin1_to_string, print_object):
Assume C99 to avoid unnecessary nesting.
(print_object): Prefer print_c_string to multiple printchar, or
to calling strout with -1 length.  Coalesce into sprintf when
this is easy.
2015-04-19 08:55:36 -07:00
Paul Eggert
870287327b ; Convert ChangeLog history files to "Bug#NNNN" 2015-04-18 19:48:24 -07:00
Paul Eggert
3074a9fad1 '[:graph:]' now excludes whitespace, not just ' '
* doc/lispref/searching.texi (Char Classes):
* lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
sans whitespace (not sans space).
* src/character.c (graphicp): Exclude all Unicode whitespace chars,
not just space.
* src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
2015-04-15 23:47:01 -07:00
Stefan Monnier
66ae3cff96 * src/lread.c (intern_1): Make sure we'd find the symbol we add
Fixes: debbugs:20334

* src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
2015-04-15 12:15:14 -04:00
Paul Eggert
a122a0276b Make [:graph:] act like [:print:] sans space
In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
[:graph:] so that it matches everything that [:print:] does,
except for space.
* doc/lispref/searching.texi (Char Classes):
* etc/NEWS:
* lisp/emacs-lisp/rx.el (rx):
Document [:graph:] to be [:print:] sans ' '.
* src/character.c, src/character.h (graphicp): New function.
* src/regex.c (ISGRAPH) [emacs]: Use it.
(BIT_GRAPH): New macro.
(BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
(re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
Return BIT_GRAPH for RECC_GRAPH.
(re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
and ISPRINT if BIT_PRINT.
2015-04-15 00:27:18 -07:00
Eli Zaretskii
6c284c6b58 Make [:print:] support non-ASCII characters correctly
* src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
(BIT_PRINT): New bit mask.
(re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
* src/character.c (printablep): New function.
* src/character.h (printablep): Add prototype.

* lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
of 'print', 'alnum', and 'alphabetic'.

* doc/lispref/searching.texi (Char Classes): Document the new
behavior of [:print:].

* etc/NEWS: Mention the new behavior of [:print:].
2015-04-14 18:47:04 +03:00
Paul Eggert
b5919771ae Assume C89 offsetof in xterm.c, xlwmenu.c
* lwlib/xlwmenu.c (offset):
* src/xterm.c (cvt_string_to_pixel_args):
Use offsetof, not XtOffset.
2015-04-14 00:58:37 -07:00
Paul Eggert
96a858a442 Assume C89 offsetof in widget.c
* src/widget.c (XtOffset): Remove; no longer needed.
(offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
2015-04-14 00:53:35 -07:00
Paul Eggert
7744cc7e95 Fix think-o in previous patch
* src/window.c (count_windows, get_leaf_windows):
Don't optimize count_windows incorrectly.
2015-04-14 00:26:46 -07:00
Paul Eggert
b80c5ebc4f Avoid some int overflows in window.c
* src/print.c (print_object):
* src/window.c (sequence_number):
* src/window.h (struct window.sequence_number):
Don't assume window sequence number fits in int.
* src/window.c (window_select_count):
* src/window.h (struct window.use_time, window_select_count):
Don't assume window use time fits in int.
* src/window.c (Fsplit_window_internal):
Don't assume user-supplied integer, or sum, fits in int.
(Fset_window_configuration, count_windows, get_leaf_windows)
(save_window_save, Fcurrent_window_configuration):
Use ptrdiff_t for object counts.
(Fset_window_configuration): Omit unused local 'n'.
(count_windows): Simplify by writing in terms of get_leaf_windows.
(get_leaf_windows): Don't store through FLAT if it's null.
(extract_dimension): New static function.
(set_window_margins, set_window_fringes, set_window_scroll_bars):
Use it to avoid undefined behavior when converting user-supplied
integer to 'int'.
2015-04-13 23:26:59 -07:00
Stefan Monnier
5729f459d1 Collapse successive char deletions in the undo log
* src/cmds.c (remove_excessive_undo_boundaries): New function,
extracted from Fself_insert_command.
(Fdelete_char, Fself_insert_command): Use it.
* src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
* src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
2015-04-13 14:05:09 -04:00
Stefan Monnier
c9d78e18c6 * src/*.c: Set deactivate_mark buffer-locally
Fixes: debbugs:20260

* src/insdel.c (prepare_to_modify_buffer_1):
* src/fileio.c (Finsert_file_contents): Set deactivate_mark
buffer-locally.
2015-04-13 10:16:38 -04:00
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