1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-06 05:52:32 -08:00
Commit graph

136167 commits

Author SHA1 Message Date
Stefan Monnier
910d170771 * lisp/progmodes/cc-engine.el: Silence minor compiler warnings
(c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
Move declaration before first use.
(c-after-change-unmark-raw-strings): Remove unused var `found-end`.
2019-04-30 14:56:29 -04:00
Paul Eggert
325f51c84d Fix decode-time/encode-time roundtrip on macOS
* src/timefns.c (Fencode_time): Ignore DST flag when the zone is
numeric or is a cons, as the doc string says it’s ignored in that
case, and not ignoring it causes encode-time to not invert
decode-time on some platforms (Bug#35502).
* test/src/timefns-tests.el (encode-time-dst-numeric-zone):
New test.
2019-04-30 10:47:17 -07:00
Stefan Monnier
35ef33dd23 * lisp/progmodes/cc-fonts.el: Silence some compiler warnings
(c-font-lock-declarators): Mark `id_end` and `not-top` as unused.
2019-04-30 13:42:44 -04:00
Paul Eggert
46b434a62c Update from Gnulib
* build-aux/config.guess, doc/misc/texinfo.tex:
* lib/mktime-internal.h, lib/mktime.c, lib/timegm.c:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2019-04-30 09:45:08 -07:00
Mattias Engdegård
826f1e2601 * lisp/autorevert.el (auto-revert-avoid-polling): Fix :set form. 2019-04-30 15:55:13 +02:00
Alan Mackenzie
2885372168 CC Mode: in certain font lock loops, check point is not beyond limit.
* /lisp/progmodes/cc-fonts.el (c-font-lock-enum-body)
(autodoc-font-lock-line-markup): As part of the `while' condition, check that
the previous iteration of the loop hasn't moved point past `limit', thus
obviating "wrong side of point" errors in re-search-forward, etc.
2019-04-30 13:20:22 +00:00
Mattias Engdegård
c61bbb4c8e Don't poll auto-revert files that use notification (bug#35418)
It is a waste to periodically poll files that use change notification
in auto-revert mode; stop doing that.  If no files need polling,
turn off the periodic execution entirely to further avoid wasting power.
Use a timer to inhibit immediate reversion for some time after a
notification, for throttling.

This change does not apply to files in global-auto-revert-mode, where
polling is still necessary.  It is disabled by default, and enabled by
setting `auto-revert-avoid-polling' to non-nil.

* lisp/autorevert.el
(toplevel): Require cl-lib.
(auto-revert-avoid-polling, auto-revert--polled-buffers)
(auto-revert--need-polling-p, auto-revert--lockout-interval)
(auto-revert--lockout-timer, auto-revert--end-lockout): New.
(global-auto-revert-mode): Keep notifiers for buffers in auto-revert mode.
(auto-revert-set-timer): Use auto-revert--need-polling-p.
(auto-revert-notify-handler): Restart polling if notification stopped.
Use new lockout timer.
(auto-revert-buffers):
Use auto-revert--polled-buffers and auto-revert--need-polling-p.
(auto-revert-buffers-counter, auto-revert-buffers-counter-lockedout):
Remove.

* etc/NEWS (Changes in Specialized Modes and Packages):
Describe the new auto-revert-avoid-polling variable.

* doc/emacs/files.texi (Reverting):
Add paragraph describing auto-revert-avoid-polling.
2019-04-30 13:25:52 +02:00
Stefan Monnier
f478082f9f Refrain from splicing anonymous faces in text properties
* lisp/font-lock.el (font-lock-prepend-text-property): Distinguish
list of faces from property lists.
(font-lock-ensure-function): Remove redundant code.
2019-04-29 17:29:47 -04:00
Stefan Monnier
071a6927a8 * lisp/international/mule-util.el: Avoid setq; clarify meaning of -1. 2019-04-29 16:32:52 -04:00
Paul Eggert
21143f92db Sync latest SKK-JISYO.L
Problem reported by Tsuyoshi Kitamoto (Bug#35442).
* leim/SKK-DIC/README: Update to current URL.
* leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.
2019-04-29 12:57:28 -07:00
Paul Eggert
6ae0a50bc8 Disable __attribute__ ((cold)) on MinGW
* src/conf_post.h (ATTRIBUTE_COLD) [__MINGW32__]:
Define to empty on this platform.
2019-04-29 12:27:46 -07:00
Glenn Morris
7c7ee1dd52 Merge from origin/emacs-26
c26d452 (origin/emacs-26) * src/macfont.m (macfont_shape): Use conven...
140e7f8 Recommend using font-lock-face over face (Bug#35044)
7cb5364 Check if mouse_face_overlay was deleted (Bug#35273)

# Conflicts:
#	src/macfont.m
2019-04-29 09:12:53 -07:00
Glenn Morris
3a903f09a1 ; Merge from origin/emacs-26
The following commit was skipped:

531c74e Port to platforms where tputs is in libtinfow
2019-04-29 09:08:19 -07:00
Glenn Morris
6662938619 Merge from origin/emacs-26
0e8d452 ; * doc/lispref/nonascii.texi (Coding System Basics): Fix gra...
25a2ff7 ; Add missing space in custom.texi
9ec18fb * admin/admin.el (set-version): Check for increase in version...
93912ba Be more careful about indent-sexp going over eol (Bug#35286)
2019-04-29 09:08:19 -07:00
Glenn Morris
f1a3a7d6ca ; Merge from origin/emacs-26
The following commits were skipped:

3988e93 Backport: Improve pure and side-effect-free docs
7565d2d Backport: Avoid using obsolete indent-relative-maybe
2019-04-29 09:08:18 -07:00
Paul Eggert
82ba72ad7a Replace ‘/* FALLTHROUGH! */’ with ‘break;’
* src/data.c (set_internal, set_default_internal):
Replace obsolescent /* FALLTHROUGH! */ comments with ‘break;’,
as ‘FALLTHROUGH;’ is not needed here.
2019-04-29 08:40:01 -07:00
Michael Albinus
295c797503 * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler): Instrument. 2019-04-29 17:24:53 +02:00
Eli Zaretskii
3c513f3f62 Avoid compilation warnings in w32.c
* src/w32.c (unsetenv, readlink): Use memcpy instead of
strncpy, to avoid a compiler warning about calculating the
bound of the copy.
2019-04-29 18:18:51 +03:00
YAMAMOTO Mitsuharu
c26d452ae1 * src/macfont.m (macfont_shape): Use convenient LGLYPH_NEW. 2019-04-29 07:31:45 +09:00
Noam Postavsky
140e7f890f Recommend using font-lock-face over face (Bug#35044)
* doc/lispref/modes.texi (Precalculated Fontification): Explain
advantages of using font-lock-face over face.
2019-04-28 17:20:17 -04:00
Noam Postavsky
74712470fc Replace use of obsolete string-make-unibyte
* lisp/image-file.el (insert-image-file): Use encode-coding-region
instead of string-make-unibyte.
* test/lisp/image-file-tests.el: New test.
2019-04-28 16:45:13 -04:00
Noam Postavsky
caadbd9492 ; Add test for previous change
* test/lisp/progmodes/python-tests.el (python-indent-hanging-close-paren):
New test.
2019-04-28 16:45:13 -04:00
Tommi Komulainen
3fc1d77a43 python.el: Fix close paren indentation to match pep8 (Bug#20742)
* lisp/progmodes/python.el (python-indent--calculate-indentation):
When opening paren is followed by newline the closing paren should
follow the current indentation.  Otherwise the closing paren should be
aligned with the opening paren.  This fixes the latter case.

Copyright-paperwork-exempt: yes
2019-04-28 16:45:13 -04:00
Paul Eggert
9469d58ebe Update from GMP
* admin/update-copyright (updatable_files):
Don’t update copyright year on files copied from GMP, so that
they’re identical to upstream.
* src/mini-gmp.c, src/mini-gmp.h: Copy from GMP development
versions as of 2019-01-01 20:15:39 UTC.
2019-04-28 13:17:30 -07:00
Philipp Stephani
4d97e1a9ea Export major version of latest Emacs supported by emacs-module.h.
This is useful if module authors want to support multiple versions of
emacs-module.h.

* configure.ac (emacs_major_version): Define substitution.

* src/emacs-module.h.in (EMACS_MAJOR_VERSION): Define macro.

* doc/lispref/internals.texi (Module Initialization): Document
EMACS_MAJOR_VERSION preprocessor macro.

* test/data/emacs-module/mod-test.c (emacs_module_init): Verify
behavior of EMACS_MAJOR_VERSION.
2019-04-28 20:08:25 +02:00
Philipp Stephani
24f717a5d7 Fix another compilation warning.
* test/src/emacs-module-tests.el (multiply-string): Remove unused
variable ‘i’.
2019-04-28 19:21:03 +02:00
Philipp Stephani
e4406e52a7 Also regenerate emacs-module.h if module-env-*.h changes.
* Makefile.in (CONFIG_STATUS_FILES_IN): Add versioned environment
header fragments.
2019-04-28 19:17:41 +02:00
Philipp Stephani
88c91f53df * src/emacs-module.c (funcall_module): Add a nontrivial assertion 2019-04-28 17:40:41 +02:00
Philipp Stephani
66a2c412be Fix a few minor compilation and Checkdoc warnings.
* test/src/emacs-module-tests.el: Add package name and standard
sections.
(multiply-string): Add a docstring.
2019-04-28 17:15:44 +02:00
Philipp Stephani
cf11fac1eb * test/src/emacs-module-tests.el: Switch to lexical binding. 2019-04-28 17:15:44 +02:00
Eli Zaretskii
6b6a6f06b4 Fix names of functions in last commit
* src/coding.h (build_string_from_utf8): Rename from
build_utf8_string.  All callers changed.
* src/coding.c (make_string_from_utf8): Rename from
make_utf8_string.  All callers changed.
2019-04-28 17:14:39 +03:00
Noam Postavsky
7cb5364ef5 Check if mouse_face_overlay was deleted (Bug#35273)
* src/xdisp.c (note_mouse_highlight): Check if the mouse_face_overlay
actually points to a buffer, before calling
mouse_face_overlay_overlaps on it.
2019-04-28 08:31:17 -04:00
Philipp Stephani
75ee20364c Refactoring: move UTF-8 decoding functions into coding.h.
json_make_string and json_build_string are generally useful and not
JSON-specific.  Move them to coding.[ch].

* src/coding.h (build_utf8_string): Move from json.c.

* src/coding.c (make_utf8_string): Move from json.c.

* src/json.c (json_make_string, json_build_string): Move to
coding.[ch].  Split out JSON-specific comment.
(json_parse_error, Fjson_serialize, json_to_lisp): Fix callers.

* src/emacs-module.c (module_make_function, module_make_string): Use
new functions.
(module_decode, module_decode_copy): Remove.
2019-04-28 12:28:27 +02:00
Paul Eggert
531c74e249 Port to platforms where tputs is in libtinfow
* configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).

(cherry picked from commit a3d52b3057)
2019-04-27 13:17:10 -04:00
Alan Mackenzie
dbe81e1658 Fix slow scrolling in C++ buffers with lots of template delimiters.
* lisp/progmodes/cc-engine.el (c-update-brace-stack): bind
c-parse-and-markup-<>-arglists and c-restricted-<>-arglists to t around the
call to c-forward-<>-arglist, to force the marking of template delimiters with
syntax-table text properties.
2019-04-27 17:17:10 +00:00
Eli Zaretskii
8dc00b2f1e Fix -nw sessions on MS-Windows broken by a recent commit
* src/w32console.c: Include dispextern.h.
(initialize_w32_display): Populate defined_color_hook.
2019-04-27 11:34:05 +03:00
Eli Zaretskii
fb834ea3f0 Fix MS-Windows build broken by a recent commit
* src/w32term.c (w32_new_focus_frame): Fix a typo in a recent
commit.
2019-04-27 10:43:05 +03:00
YAMAMOTO Mitsuharu
9921b78a4d Fix --with-x-toolkit=no build breakage
* oldXMenu/Create.c (XMenuCreate): Add const modifier to variable def_val.
* oldXMenu/Create.c:
* src/frame.h: Add const modifier to return type of x_get_resource_string.
* src/frame.c (x_get_resource_string): Exempt x_get_string_resource from
renaming generic x_* identifiers.
2019-04-27 15:27:36 +09:00
YAMAMOTO Mitsuharu
2822066471 Update multicolor font support status
* etc/NEWS: Mention multicolor font support on Cairo and NS.
* src/macfont.m (macfont_list): Re-enable color bitmap fonts.
2019-04-27 14:43:19 +09:00
Alexander Gramiak
dfa7f367a0 * src/frame.c (x_get_resource_string): Fix typo 2019-04-26 21:49:52 -06:00
Alexander Gramiak
f257a0a5b4 * src/xdisp.c: Only check FRAME_RIF for graphical frames 2019-04-26 21:34:00 -06:00
Alexander Gramiak
02397678b1 Rename x_highlight_frame property to highlight_frame
* src/nsterm.h:
* src/nsterm.m:
* src/w32term.c:
* src/w32term.h:
* src/xdisp.c:
* src/xterm.c:
* src/xterm.h: Rename.
2019-04-26 16:55:39 -06:00
Alexander Gramiak
46cfe5cb1f Check for existence of terminal hooks before use
This should not be necessary, and is merely a precaution. For
background, see:
https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00639.html

* src/frame.c:
* src/xdisp.c: Check for existence of terminal hooks before use.
2019-04-26 16:55:39 -06:00
Alexander Gramiak
5d8b0fadee Add terminal hook query_frame_background_color
* src/termhooks.c (query_frame_background_color): New terminal hook.

* src/image.c (image_query_frame_background_color): Remove. Use the
terminal hook instead.

* src/nsterm.m:
* src/w32term.c:
* src/xterm.c: Implement and set the new terminal hook.
2019-04-26 16:55:39 -06:00
Alexander Gramiak
41e20ee4bc Add terminal hook defined_color_hook
* src/termhooks.h (defined_color_hook): New terminal hook.

* src/xterm.c:
* src/nsterm.m:
* src/term.c:
* src/w32term.c: Set defined_color_hook.

* src/xfaces.c: Use defined_color_hook.
(defined_color): Remove.

* src/image.c: Remove redefinitions of x_defined_color, and use
defined_color_hook.
2019-04-26 16:55:39 -06:00
Alexander Gramiak
a411517faf Rename generic x_* identifiers
* src/image.c: Rename x_* procedures to image_*.

* src/frame.c: Rename x_* procedures to gui_*. Rename
xrdb_get_resource to gui_display_get_resource. Rename x_get_arg to
gui_display_get arg.

* src/frame.h: Rename can_x_set_window_size to can_set_window_size.

* src/xfaces.c: Rename realize_x_face to realize_gui_face. Rename
x_supports_face_attributes_p to gui_supports_face_attributes_p.

* src/keyboard.c:
* src/lisp.h:
* src/nsterm.m:
* src/w32term.c:
* src/xterm.c: Rename x_get_keysym_name to get_keysym_name.

* src/nsfns.c:
* src/nsterm.m: Rename x_* procedures to ns_*.

* src/w32fns.c:
* src/w32term.c: Rename x_* procedures to w32_*.

* src/termhooks.h (query_colors, get_focus_frame, focus_frame_hook)
(frame_visible_invisible_hook, iconify_frame_hook)
(set_window_size_hook, set_frame_offset_hook, set_frame_alpha_hook)
(set_new_font_hook, set_bitmap_icon_hook, implicit_set_name_hook)
(activate_menubar_hook, change_tool_bar_height_hook)
(set_scroll_bar_default_width_hook)
(set_scroll_bar_default_height_hook, get_string_resource_hook): New
terminal hooks to replace backend-specific x_* procedures.

* src/dispextern.h (clear_under_internal_border): New RIF procedure.

* src/alloc.c:
* src/frame.c:
* src/xdisp.c: Use FRAME_OUTPUT_DATA instead of FRAME_X_OUTPUT.

* src/frame.c:
* src/w32term.c:
* src/w32fns.c: Use FRAME_NATIVE_WINDOW instead of FRAME_X_WINDOW.
2019-04-26 16:54:17 -06:00
Alexander Gramiak
da9541dd10 Add prefixes to some window system-dependent procedures
* src/nsterm.m (note_mouse_movement):
* src/w32fns.c (construct_console_modifiers):
* src/w32inevt.c:
* src/w32term.c (frame_highlight, frame_unhighlight)
(construct_mouse_click, construct_mouse_wheel, construct_drag_n_drop)
(lispy_file_action, queue_notifications, note_mouse_movement):
* src/w32term.h:
* src/xterm.c (frame_highlight, frame_unhighlight)
(construct_mouse_click, note_mouse_movement, get_current_wm_state):
Add and use window system prefixes.
2019-04-26 16:10:49 -06:00
Alexander Gramiak
ff4e31fa32 Rename generic x_* procedures in xdisp.c
* src/xdisp.c (x_consider_frame_title, x_get_glyph_overhangs)
(x_produce_glyphs, x_write_glyphs, x_insert_glyphs)
(x_clear_end_of_line), x_fix_overlapping_area)
(x_update_cursor, x_clear_cursor, x_clear_window_mouse_face)
(x_draw_vertical_border, x_draw_right_divider, x_draw_bottom_divider)
(x_intersect_rectangles): Rename with a gui prefix to indicate
non-X-specific functionality.

* src/composite.c:
* src/dispextern.h:
* src/nsfns.m:
* src/nsterm.m:
* src/w32fns.c:
* src/w32term.c:
* src/window.c:
* src/xfns.c:
* src/xterm.c: Use the renamed procedures.
2019-04-26 16:10:49 -06:00
Charles A. Roelli
0e8d452c1c ; * doc/lispref/nonascii.texi (Coding System Basics): Fix grammar. 2019-04-26 21:49:46 +02:00
Eli Zaretskii
86b6e91091 Avoid assertion violations in calculating line-number width
* src/indent.c (line_number_display_width): Don't use the
window's start marker if it belongs to a different buffer.
(Bug#35429)
2019-04-26 22:40:54 +03:00