]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoUnify three font info structures
Robert Pluim [Fri, 8 Feb 2019 14:36:56 +0000 (15:36 +0100)]
Unify three font info structures

* src/ftfont.h (struct font_info): New type, unifies similar types
from ftcrfont.c, ftfont.c and xftfont.c
* src/xftfont.c (struct xftfont_info): Remove, replace with struct
font_info.  Adjust all uses.
* src/ftcrfont.c (struct ftcrfont_info): Likewise.
* src/ftfont.c (struct ftfont_info): Likewise.

(cherry picked from commit 9e0d69b5a17a0fa3b0dd099a51584a85f3ddb5bf)

5 years agoAlways set explicit HarfBuzz buffer direction
Khaled Hosny [Sat, 5 Jan 2019 21:01:02 +0000 (23:01 +0200)]
Always set explicit HarfBuzz buffer direction

If no direction was given by the caller, I assume the text will be drawn
left to right, if this is not the case then callers must provide
sensible direction. Letting HarfBuzz guess the direction is not
appropriate since shaping and drawing must use the same direction.

Also move hb_buffer_guess_segment_properties() call to the end, so it
only guessing unset properties, until we completely get rid of it.

5 years agoWe need the bidi level not the paragraph direction
Khaled Hosny [Sat, 5 Jan 2019 20:54:48 +0000 (22:54 +0200)]
We need the bidi level not the paragraph direction

5 years ago; Fix last change in src /composite.c.
Eli Zaretskii [Wed, 2 Jan 2019 16:00:46 +0000 (18:00 +0200)]
; Fix last change in src /composite.c.

5 years agoFix text direction of the HarfBuzz shaping buffer
Eli Zaretskii [Wed, 2 Jan 2019 15:55:45 +0000 (17:55 +0200)]
Fix text direction of the HarfBuzz shaping buffer

* src/indent.c (scan_for_column, compute_motion):
* src/xdisp.c (CHAR_COMPOSED_P): Pass PDIR argument to
composition_reseat_it.
* src/composite.c (composition_reseat_it): Accept an
additional argument PDIR that provides the current paragraph's
base direction; all callers changed.  Use PDIR to fix
calculation of the DIRECTION argument to autocmp_chars.
(Bug#33944)
* src/composite.h: Include dispextern.h.
(composition_reseat_it): Update prototype.

5 years agoProvide text directionality and language to HarfBuzz shaper
Eli Zaretskii [Sat, 29 Dec 2018 14:35:09 +0000 (16:35 +0200)]
Provide text directionality and language to HarfBuzz shaper

* lisp/language/tv-util.el (tai-viet-composition-function):
* lisp/language/ethio-util.el (ethio-composition-function):
* lisp/language/japanese.el (compose-gstring-for-variation-glyph):
* lisp/language/thai-util.el (thai-composition-function):
* lisp/language/misc-lang.el (arabic-shape-gstring):
* lisp/language/lao-util.el (lao-composition-function):
* lisp/language/hebrew.el (hebrew-shape-gstring):
* lisp/composite.el (compose-gstring-for-graphic)
(compose-gstring-for-dotted-circle, auto-compose-chars)
(compose-gstring-for-terminal): Accept 2nd argument DIRECTION; all
callers changed.

* src/composite.c (composition_reseat_it): Call
auto-composition-function with one more argument DIRECTION.
(syms_of_composite) <auto-composition-function>: Update the doc
string.
* src/ftfont.c (ftfont_shape_by_hb): Compute language and
direction, and set buffer properties accordingly.
* src/composite.c (autocmp_chars):
* src/w32uniscribe.c (uniscribe_shape):
* src/xftfont.c (xftfont_shape):
* src/ftfont.c (ftfont_shape, ftfont_shape_by_hb):
* src/font.c (Ffont_shape_gstring): Accept an additional argument
DIRECTION.
* src/macfont.m (lgstring_direction): New enum.
(mac_font_shape_1, mac_screen_font_shape, mac_font_shape):
Accept an additional argument specifying text direction.  All
callers changed.
* src/font.c (syms_of_font): New symbols QL2R and QR2L.
* src/font.h (shape): Accept new argument DIRECTION.  All
implementations changed.  (Bug#33729)
(ftfont_shape): Update prototype.

5 years agoClarify one FIXME a bit
Khaled Hosny [Mon, 24 Dec 2018 02:00:04 +0000 (04:00 +0200)]
Clarify one FIXME a bit

5 years agoCache HarfBuzz buffer
Khaled Hosny [Mon, 24 Dec 2018 01:56:16 +0000 (03:56 +0200)]
Cache HarfBuzz buffer

Potentially faster and less memory allocations. I did not do any
measurements though, so possibly a micro optimization.

5 years agoRemove one more FIXME
Khaled Hosny [Mon, 24 Dec 2018 01:12:26 +0000 (03:12 +0200)]
Remove one more FIXME

5 years agoReplace another FIXME with a TODO and expanded comment
Khaled Hosny [Sat, 22 Dec 2018 15:27:29 +0000 (17:27 +0200)]
Replace another FIXME with a TODO and expanded comment

5 years agoReplace a FIXME with an expanded comment
Khaled Hosny [Sat, 22 Dec 2018 15:25:49 +0000 (17:25 +0200)]
Replace a FIXME with an expanded comment

5 years agoSubclass default HarfBuzz Unicode functions
Khaled Hosny [Sat, 22 Dec 2018 09:02:40 +0000 (11:02 +0200)]
Subclass default HarfBuzz Unicode functions

Instead of creating new functions from scratch, subclass the default
implementation and override the selected functions we want/can
override.  (Bug#33729)

5 years agoFix previous commit
Khaled Hosny [Sat, 22 Dec 2018 08:48:05 +0000 (10:48 +0200)]
Fix previous commit

5 years agoProperly fix building with HarfBuzz and without libotf
Khaled Hosny [Sat, 22 Dec 2018 08:13:06 +0000 (10:13 +0200)]
Properly fix building with HarfBuzz and without libotf

HarfBuzz support does not depend on libotf, the build breakage when
libotf is missing was because code guarded with:

 #if defined HAVE_M17N_FLT && defined HAVE_LIBOTF

was incorrectly changed to:

 #if defined HAVE_M17N_FLT || defined HAVE_HARFBUZZ

this is now properly fixed by making it:

 #if (defined HAVE_M17N_FLT && defined HAVE_LIBOTF) || defined HAVE_HARFBUZZ

Other changes in previous commits were reverted.

5 years agoFix one last compilation warning in ftfont.c
Eli Zaretskii [Tue, 18 Dec 2018 18:45:27 +0000 (20:45 +0200)]
Fix one last compilation warning in ftfont.c

* src/ftfont.c (ftfont_get_hb_font): Only define if
HAVE_LIBOTF is defined.  (Bug#33771)

5 years agoCondition some more hb_* functions on HAVE_LIBOTF.
Eli Zaretskii [Tue, 18 Dec 2018 15:02:52 +0000 (17:02 +0200)]
Condition some more hb_* functions on HAVE_LIBOTF.

5 years agoAvoid compilation warning in ftfont.c
Eli Zaretskii [Mon, 17 Dec 2018 17:45:06 +0000 (19:45 +0200)]
Avoid compilation warning in ftfont.c

* src/ftfont.c (ftfont_shape_by_hb): Compile only if
HAVE_LIBOTF is defined.  (Bug#33771)

5 years agoFix last change.
Eli Zaretskii [Mon, 17 Dec 2018 17:10:09 +0000 (19:10 +0200)]
Fix last change.

5 years ago* src/ftcrfont.c (ftcrfont_driver): Really commit last change.
Mike Kupfer [Mon, 17 Dec 2018 05:18:04 +0000 (21:18 -0800)]
* src/ftcrfont.c (ftcrfont_driver): Really commit last change.

5 years agoMore fixes for build without libotf
Mike Kupfer [Mon, 17 Dec 2018 05:18:04 +0000 (21:18 -0800)]
More fixes for build without libotf

* src/xftfont.c (xftfont_driver):
* src/ftxfont.c (ftxfont_driver):
* src/ftcrfont.c (ftcrfont_driver): Set the .shape member only
if HAVE_LIBOTF is defined.  (Bug#33771)

5 years agoFix compilation errors when building without libotf
Eli Zaretskii [Mon, 17 Dec 2018 17:01:43 +0000 (19:01 +0200)]
Fix compilation errors when building without libotf

* src/ftfont.c (ftfont_shape): Only compile if HAVE_LIBOTF is
defined.
(ftfont_driver): Set the .shape member only if HAVE_LIBOTF is
defined.  (Bug#33771)

5 years agoAssume hb_ft_font_create_referenced if HarfBuzz
Paul Eggert [Sat, 15 Dec 2018 00:40:44 +0000 (16:40 -0800)]
Assume hb_ft_font_create_referenced if HarfBuzz

* configure.ac (HAVE_HB_FT_FONT_CREATE_REFERENCED):
Remove test, since we now require 0.9.42 and
hb_ft_font_create_referenced has been present since 0.9.38.
* src/ftfont.c (ft_face_destroy, hb_ft_font_create_referenced):
Remove; no longer needed.

5 years ago* configure.ac: Guess at minimum harfbuzz version. (Bug#33748)
Glenn Morris [Fri, 14 Dec 2018 23:11:51 +0000 (18:11 -0500)]
* configure.ac: Guess at minimum harfbuzz version.  (Bug#33748)

5 years agoFix crash in the Cairo build
Ari Roponen [Fri, 14 Dec 2018 07:22:09 +0000 (09:22 +0200)]
Fix crash in the Cairo build

* src/ftcrfont.c (struct ftcrfont_info) [HAVE_HARFBUZZ]: New
member 'hb_font'.  (Bug#33739)

5 years agoDefault to --with-harfbuzz
Paul Eggert [Thu, 13 Dec 2018 20:13:18 +0000 (12:13 -0800)]
Default to --with-harfbuzz

* configure.ac: By default, configure with HarfBuzz if available.

5 years agoSimplify mainline Harfbuzz-using code
Paul Eggert [Thu, 13 Dec 2018 19:58:09 +0000 (11:58 -0800)]
Simplify mainline Harfbuzz-using code

* src/ftfont.c (ft_face_destroy): Omit unnecessary cast.
(hb_ft_font_create_referenced) [!HAVE_HB_FT_FONT_CREATE_REFERENCED]:
New function.
(ftfont_get_hb_font): Use it.

5 years agoFix uni_combining()
Khaled Hosny [Wed, 12 Sep 2018 09:04:17 +0000 (11:04 +0200)]
Fix uni_combining()

5 years agoWIP: implement some Unicode callback functions
Khaled Hosny [Thu, 23 Aug 2018 23:52:25 +0000 (01:52 +0200)]
WIP: implement some Unicode callback functions

5 years agoSet cluster level to one
Khaled Hosny [Tue, 5 Jun 2018 13:59:39 +0000 (15:59 +0200)]
Set cluster level to one

Makes to possible to edit combining marks separately as now they get a
different cluster value from the base glyph.

5 years agoCache hb_font_t
Khaled Hosny [Tue, 5 Jun 2018 01:25:35 +0000 (03:25 +0200)]
Cache hb_font_t

Not sure if the xftfont.c changes are really needed, but followed the
libotf code just in case.

5 years agoAllow turning HarfBuzz off at run time
Khaled Hosny [Tue, 5 Jun 2018 10:34:04 +0000 (12:34 +0200)]
Allow turning HarfBuzz off at run time

Useful for comparing the shaping result with that of m17n.

5 years agoFirst attempt at HarfBuzz shaping
Khaled Hosny [Tue, 5 Jun 2018 10:13:35 +0000 (12:13 +0200)]
First attempt at HarfBuzz shaping

Barely works, and unoptimized!

5 years agoAdd support for building with HarfBuzz
Khaled Hosny [Tue, 5 Jun 2018 10:12:26 +0000 (12:12 +0200)]
Add support for building with HarfBuzz

Not used yet.

5 years ago* test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
Michael Albinus [Sun, 9 Dec 2018 16:09:53 +0000 (17:09 +0100)]
* test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):

Use proper error symbol.

5 years agoDon't create *Compile-Log* due to byte-compile. Amend message to it.
Alan Mackenzie [Sun, 9 Dec 2018 12:59:03 +0000 (12:59 +0000)]
Don't create *Compile-Log* due to byte-compile.  Amend message to it.

This fixes bug #33602 and is a partial reversion of a commit from
2018-11-28T13:15:50.

* lisp/emacs-lisp/bytecomp.el (byte-compile-log-file): Don't create buffer
*Compile-Log* because it doesn't already exist.  Amend message "Compiling no
file" to be clearer (?and less irritating).

5 years agoAdd make_vector and make_nil_vector
Paul Eggert [Sun, 9 Dec 2018 08:18:36 +0000 (00:18 -0800)]
Add make_vector and make_nil_vector

This makes the callers a bit easier to read, and doubtless
improves efficiency very slightly.  It also simplifies
possible future changes to allow bignum indexes to buffers.
* src/alloc.c (allocate_vectorlike):
Prefer ptrdiff_t to size_t when either will do.
(make_vector): New function.
(Fmake_vector): Use it.
* src/buffer.c (syms_of_buffer):
* src/bytecode.c (syms_of_bytecode):
* src/category.c (Fmake_category_table, init_category_once):
* src/ccl.c (syms_of_ccl):
* src/character.c (syms_of_character):
* src/charset.c (Fdefine_charset_internal)
(Ffind_charset_region, Ffind_charset_string):
* src/chartab.c (copy_char_table):
* src/coding.c (Fdefine_coding_system_internal, syms_of_coding):
* src/composite.c (get_composition_id, Fcomposition_get_gstring):
* src/composite.h (LGLYPH_NEW):
* src/fns.c (concat, Flocale_info, make_hash_table):
* src/font.c (font_otf_ValueRecord, font_otf_anchor)
(build_style_table, syms_of_font):
* src/fontset.c (RFONT_DEF_NEW, fontset_find_font)
(dump_fontset, syms_of_fontset):
* src/image.c (xpm_make_color_table_v):
* src/keyboard.c (modify_event_symbol, menu_bar_items)
(parse_menu_item, parse_tool_bar_item, init_tool_bar_items)
(syms_of_keyboard):
* src/keymap.c (Fdefine_key, describe_map, describe_vector):
* src/lread.c (read_vector):
* src/macfont.m (macfont_shape):
* src/menu.c (init_menu_items):
* src/nsfns.m (ns_make_monitor_attribute_list):
* src/process.c (conv_sockaddr_to_lisp, network_interface_info):
* src/profiler.c (make_log):
* src/window.c (Fcurrent_window_configuration):
* src/xdisp.c (with_echo_area_buffer_unwind_data)
(format_mode_line_unwind_data):
* src/xfaces.c (Finternal_make_lisp_face)
(Fface_attributes_as_vector):
* src/xfns.c (x_make_monitor_attribute_list)
(Fx_display_monitor_attributes_list):
* src/xfont.c (syms_of_xfont):
* src/xselect.c (x_handle_dnd_message):
* src/xwidget.c (save_script_callback):
Prefer make_nil_vector (N) to Fmake_vector (make_fixnum (N), Qnil).
* src/callint.c (Fcall_interactively):
* src/charset.c (load_charset_map):
* src/chartab.c (Fmake_char_table, uniprop_encode_value_numeric):
* src/composite.c (get_composition_id)
* src/dispnew.c (Fframe_or_buffer_changed_p)
(syms_of_display):
* src/fns.c (make_hash_table, maybe_resize_hash_table):
* src/font.c (font_style_to_value):
* src/fontset.c (FONTSET_ADD, fontset_add):
* src/json.c (json_to_lisp):
* src/keymap.c (syms_of_keymap):
* src/lread.c (init_obarray):
* src/profiler.c (make_log, Fprofiler_cpu_log):
* src/term.c (term_get_fkeys_1):
Prefer make_vector (N, V) to Fmake_vector (make_fixnum (N), V).
* src/font.c (build_style_table):
* src/macfont.m (macfont_shape):
* src/process.c (conv_sockaddr_to_lisp, network_interface_info):
Prefer make_uninit_vector if the vector will be initialized soon.
* src/lisp.h (make_nil_vector): New function.

5 years agoFix resolving symlinks in Eshell history file names
Eli Zaretskii [Sun, 9 Dec 2018 07:45:40 +0000 (09:45 +0200)]
Fix resolving symlinks in Eshell history file names

* lisp/eshell/em-dirs.el (eshell-write-last-dir-ring):
* lisp/eshell/em-hist.el (eshell-write-history): Don't call
file-truename with argument of nil.  (Bug#33477)

* test/lisp/eshell/eshell-tests.el (with-temp-eshell): Remove
HISTFILE from the environment, to make sure the Eshell history
file is nil.

5 years ago* src/alloc.c (VECTOR_ELTS_MAX): Make sure it’s signed.
Paul Eggert [Sun, 9 Dec 2018 06:59:50 +0000 (22:59 -0800)]
* src/alloc.c (VECTOR_ELTS_MAX): Make sure it’s signed.

5 years agoPort VECTOR_ELTS_MAX to older GCC etc.
Paul Eggert [Sun, 9 Dec 2018 06:53:15 +0000 (22:53 -0800)]
Port VECTOR_ELTS_MAX to older GCC etc.

Problem reported by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-12/msg00182.html
* src/alloc.c (VECTOR_ELTS_MAX): Now a macro.
Needed for portability to older GCC and non-GCC.

5 years agoStreamline and fix vector-size checks
Paul Eggert [Sun, 9 Dec 2018 00:56:32 +0000 (16:56 -0800)]
Streamline and fix vector-size checks

* src/alloc.c (VECTOR_ELTS_MAX): New constant.
(allocate_vectorlike): LEN now must be positive.  Assume LEN
is in range.  All callers changed.
(allocate_vector): Arg is now ptrdiff_t, not EMACS_INT.
All callers changed.  Return zero vector here, not in
allocate_vectorlike.
* src/lisp.h (make_uninit_vector): Simplify.
* src/xwidget.c (webkit_js_to_lisp):
Check for overflow in ptrdiff_t calculations.

5 years agoSuppress WebKitGTK+ 2.21.1 diagnostics
Paul Eggert [Sat, 8 Dec 2018 23:29:07 +0000 (15:29 -0800)]
Suppress WebKitGTK+ 2.21.1 diagnostics

* src/xwidget.c: Suppress deprecation warnings (Bug#33679).

5 years agoFix quote in the copyright skeleton
Michael Heerdegen [Sat, 8 Dec 2018 21:21:23 +0000 (22:21 +0100)]
Fix quote in the copyright skeleton

Revert replacing a backquote in the "copyright" skeleton with a quote
done in "Replace insignificant backquotes" which broke the skeleton.

* lisp/emacs-lisp/copyright.el (copyright): Restore the correct
version of the skeleton that used a backquote.

5 years agoFix integer overflow in oversize vectors
Paul Eggert [Sat, 8 Dec 2018 18:47:38 +0000 (10:47 -0800)]
Fix integer overflow in oversize vectors

* src/alloc.c (allocate_vector): Fix integer overflow when
allocating very large vectors, by taking large_vector_offset
into account.  Assume C99.

5 years ago* src/alloc.c (allocate_vectorlike): Simplify.
Paul Eggert [Sat, 8 Dec 2018 18:42:50 +0000 (10:42 -0800)]
* src/alloc.c (allocate_vectorlike): Simplify.

5 years agoHonor 'vc-bzr-log-switches' in 'vc-bzr-revision-table'
Eli Zaretskii [Sat, 8 Dec 2018 09:39:35 +0000 (11:39 +0200)]
Honor 'vc-bzr-log-switches' in 'vc-bzr-revision-table'

* lisp/vc/vc-bzr.el (vc-bzr-revision-table): Honor
'vc-bzr-log-switches'.

5 years agoHonor 'vc-bzr-log-switches' in 'vc-bzr-expanded-log-entry'
Steven De Herdt [Sat, 24 Nov 2018 22:57:57 +0000 (23:57 +0100)]
Honor 'vc-bzr-log-switches' in 'vc-bzr-expanded-log-entry'

* lisp/vc/vc-bzr.el (vc-bzr-expanded-log-entry): Honor
'vc-bzr-log-switches'.  (Bug#33494)

Copyright-paperwork-exempt: yes

5 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 8 Dec 2018 09:13:28 +0000 (11:13 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

5 years agoDocument that Eshell follows symlinks in history file names
Eli Zaretskii [Sat, 8 Dec 2018 09:12:38 +0000 (11:12 +0200)]
Document that Eshell follows symlinks in history file names

* etc/NEWS: Mention that Eshell now follows symlinks in
history file names.

5 years agoFollow links in Eshell last-dir-ring
Philip Hudson [Sat, 24 Nov 2018 00:16:14 +0000 (00:16 +0000)]
Follow links in Eshell last-dir-ring

* lisp/eshell/em-hist.el (eshell-write-last-dir-ring):
Follow symlinks in 'eshell-last-dir-ring-file-name'.
(Bug#33477)

5 years agoFollow symlink in Eshell history
Philip Hudson [Wed, 21 Nov 2018 23:09:16 +0000 (23:09 +0000)]
Follow symlink in Eshell history

* lisp/eshell/em-hist.el (eshell-write-history): Follow
symlinks in 'eshell-history-file-name'.  (Bug#33460)

5 years agoNew buffer display action alist entry 'window-min-height' (Bug#32825)
Martin Rudalics [Sat, 8 Dec 2018 08:37:40 +0000 (09:37 +0100)]
New buffer display action alist entry 'window-min-height' (Bug#32825)

* lisp/window.el (display-buffer-below-selected): Handle
'window-min-height' action alist entry (Bug#32825).
* doc/lispref/windows.texi (Buffer Display Action Functions)
(Buffer Display Action Alists): Add documentation for
'window-min-height' action alist entries.
* etc/NEWS: Mention 'window-min-height' action alist entry.

5 years agoAdjust windows' previous buffers when reverting dired buffers (Bug#33458)
Martin Rudalics [Sat, 8 Dec 2018 08:18:28 +0000 (09:18 +0100)]
Adjust windows' previous buffers when reverting dired buffers (Bug#33458)

* lisp/dired.el (dired-save-positions, dired-restore-positions):
For each window that showed the reverted buffer before, fix the
point positions in its list of previously shown buffers the way
these routines handle window point for all windows currently
showing the buffer (Bug#33458).

5 years agoImprove how 'balance-windows' handles fixed-size windows (Bug#33254)
Martin Rudalics [Sat, 8 Dec 2018 08:01:23 +0000 (09:01 +0100)]
Improve how 'balance-windows' handles fixed-size windows (Bug#33254)

* lisp/window.el (balance-windows-2): When a child window has
fixed size, don't count it as resizable (Bug#33254).
Handle case where a window has no resizable child windows.

5 years agoCC Mode: Compensate for backward-sexp ignoring trailing commas after {...}
Alan Mackenzie [Fri, 7 Dec 2018 17:38:03 +0000 (17:38 +0000)]
CC Mode: Compensate for backward-sexp ignoring trailing commas after {...}

This fixes bug #32808.

* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): New variable
comma-delimited, set when we're about to scan backward over a comma.  Do not
reckon a brace block as bounding a statement when it is followed or preceded
by a comma (except when argument comma-delim is non-nil).
(c-guess-basic-syntax, CASE 9C): Call c-beginning-of-statement-1 with argument
comma-delim changed to non-nil.

5 years agoRefactor some Tramp functions
Michael Albinus [Fri, 7 Dec 2018 16:21:03 +0000 (17:21 +0100)]
Refactor some Tramp functions

* lisp/net/tramp-compat.el (tramp-compat-file-local-name): New defsubst.
(tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
(tramp-compat-file-name-unquote):
* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p)
(tramp-handle-file-truename, tramp-get-remote-tmpdir):
* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
(tramp-adb-handle-rename-file, tramp-adb-handle-exec-path):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
(tramp-sh-handle-exec-path, tramp-find-inline-encoding)
(tramp-get-remote-touch): Use it.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
Use `tramp-handle-expand-file-name'.
(tramp-adb-handle-expand-file-name): Move to tramp.el.
(tramp-adb-handle-file-writable-p): Adapt docstring.

* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
Use `tramp-handle-file-local-copy', `tramp-handle-file-writable-p'
and `tramp-handle-write-region'.
(tramp-gvfs-handle-file-local-copy)
(tramp-gvfs-handle-file-writable-p)
(tramp-gvfs-handle-write-region): Move to tramp.el.

* lisp/net/tramp-rclone.el: Dont't require `tramp-adb' and
`tramp-gvfs' anymore.
(tramp-rclone-file-name-handler-alist):
Use `tramp-handle-expand-file-name', `tramp-handle-file-local-copy',
`tramp-handle-file-writable-p' and `tramp-handle-write-region'.
(tramp-rclone-handle-directory-files): Simplify.

* lisp/net/tramp.el (tramp-methods): Extend docstring.
(tramp-parse-netrc): Require `netrc'.
(tramp-handle-expand-file-name, tramp-handle-file-local-copy)
(tramp-handle-file-writable-p, tramp-handle-write-region): New defuns.

5 years agoFix the value of default-directory upon startup on MS-Windows
Eli Zaretskii [Fri, 7 Dec 2018 08:54:57 +0000 (10:54 +0200)]
Fix the value of default-directory upon startup on MS-Windows

* src/w32.c (w32_get_current_directory): New function.
(GetCachedVolumeInformation, init_environment): Use it.
(w32_init_current_directory): New function.
* src/w32.h (w32_init_current_directory): Add prototype.
* src/emacs.c (main) [WINDOWSNT]: Use w32_init_current_directory
to get the accurate value of cwd.  This is needed to record
the correct directory in emacs_wd, which is now initialized
way earlier in the startup process, when init_environment was
not yet called.  For details, see the problems reported in
http://lists.gnu.org/archive/html/emacs-devel/2018-12/msg00068.html.
Reported by Angelo Graziosi <angelo.g0@libero.it>.

5 years ago* lisp/vc/vc.el (vc-find-revision-no-save): Add optional arg BUFFER.
Juri Linkov [Thu, 6 Dec 2018 22:38:42 +0000 (00:38 +0200)]
* lisp/vc/vc.el (vc-find-revision-no-save): Add optional arg BUFFER.

(Bug#33567)

5 years agoMention EMACS_SOCKET_NAME, not XDG_RUNTIME_DIR.
Paul Eggert [Thu, 6 Dec 2018 20:59:42 +0000 (12:59 -0800)]
Mention EMACS_SOCKET_NAME, not XDG_RUNTIME_DIR.

5 years agoMention unsetting XDG_RUNTIME_DIR in doc.
Paul Eggert [Thu, 6 Dec 2018 19:07:18 +0000 (11:07 -0800)]
Mention unsetting XDG_RUNTIME_DIR in doc.

5 years agoemacsclient: avoid background chatter
Paul Eggert [Thu, 6 Dec 2018 18:46:06 +0000 (10:46 -0800)]
emacsclient: avoid background chatter

* lib-src/emacsclient.c (process_grouping): New function.
(act_on_signals, main): Use it.
(main): Omit "Waiting for Emacs..." and later "\n" messages
if in background, since that messes up the screen.

5 years agoFix emacsclient hang when backgrounded
Paul Eggert [Thu, 6 Dec 2018 16:54:00 +0000 (08:54 -0800)]
Fix emacsclient hang when backgrounded

Problem reported by Kaushal Modi in:
https://lists.gnu.org/r/emacs-devel/2018-12/msg00083.html
The tcdrain call replaced an fdatasync call which had no
effect on the tty, so removing it entirely shouldn’t cause
problems.  The fdatasync call replaced an fsync call which
also had no effect on the tty, and the fsync call seems to be
badly-merged revenant of emacsclient’s old (circa 2004) way of
communicating to and from Emacs via FILE * streams, where
fsync was apparently needed when talking to sockets.
* lib-src/emacsclient.c [!DOS_NT]: Don’t include termios.h.
(flush_stdout): Remove.  All callers removed.
(main): Do not drain the tty after "Waiting for Emacs..."
message.  There should be no need to drain, and draining it
might send us a SIGTTOU.  Do not fflush stdout just before
exiting, as exiting does that for us.

5 years agostruct image_type layout is private to image.c
Paul Eggert [Thu, 6 Dec 2018 15:48:42 +0000 (07:48 -0800)]
struct image_type layout is private to image.c

* src/dispextern.h (struct image_type): Move from here ...
* src/image.c (struct image_type): ... to here.

5 years agoAvoid an error on exit in a build without threads
Eli Zaretskii [Thu, 6 Dec 2018 17:35:16 +0000 (19:35 +0200)]
Avoid an error on exit in a build without threads

* lisp/simple.el (list-processes--refresh): Avoid signaling an
error in a build --without-threads.  (Bug#33629)

5 years agoAdd missing handler to tramp-rclone.el, improve robustness
Michael Albinus [Thu, 6 Dec 2018 15:11:27 +0000 (16:11 +0100)]
Add missing handler to tramp-rclone.el, improve robustness

* lisp/net/tramp-rclone.el (tramp-adb): Require.
(tramp-rclone-file-name-handler-alist):
Use `tramp-adb-handle-expand-file-name'.
(tramp-rclone-flush-directory-cache): New defun, derived from
`tramp-rclone-flush-mount'.
(tramp-rclone-do-copy-or-rename-file)
(tramp-rclone-handle-delete-directory)
(tramp-rclone-handle-delete-file)
(tramp-rclone-handle-make-directory): Use it.
(tramp-rclone-handle-directory-files)
(tramp-rclone-local-file-name):
Use `tramp-compat-file-name-quoted-p',  `tramp-compat-file-name-quote'
and ´tramp-compat-file-name-unquote'.
(tramp-rclone-handle-file-executable-p)
(tramp-rclone-handle-file-readable-p): Cache result.
(tramp-rclone-handle-file-name-all-completions)
(tramp-rclone-mounted-p, tramp-rclone-remote-file-name)
(tramp-rclone-maybe-open-connection): Rewrite.

* test/lisp/net/tramp-tests.el (tramp--test-rclone-p): New defun.
(tramp-test05-expand-file-name-relative)
(tramp--test-special-characters): Use it.

5 years agoRework Tramp wrt string-match-p, looking-at-p, save-match-data
Michael Albinus [Thu, 6 Dec 2018 15:00:05 +0000 (16:00 +0100)]
Rework Tramp wrt string-match-p, looking-at-p, save-match-data

* lisp/net/tramp.el (tramp-find-method, tramp-find-user)
(tramp-find-host, tramp-dissect-file-name, tramp-make-tramp-file-name)
(tramp-completion-make-tramp-file-name, tramp-debug-message)
(tramp-message, tramp-progress-reporter-update)
(tramp-set-completion-function)
(tramp-rfn-eshadow-update-overlay)
(tramp-find-file-name-coding-system-alist)
(tramp-file-name-for-operation)
(tramp-use-absolute-autoload-file-names)
(tramp-get-completion-methods, tramp-get-completion-user-host)
(tramp-handle-directory-files)
(tramp-handle-file-name-case-insensitive-p)
(tramp-handle-file-name-completion, tramp-handle-file-truename)
(tramp-handle-insert-directory, tramp-handle-load)
(tramp-handle-shell-command, tramp-action-yesno)
(tramp-action-yn, tramp-process-actions)
(tramp-mode-string-to-int, tramp-get-local-locale)
(tramp-local-host-p):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info)
(tramp-adb-handle-directory-files-and-attributes)
(tramp-adb--gnu-switches-to-ash, tramp-adb-sh-fix-ls-output)
(tramp-adb-handle-file-name-all-completions)
(tramp-adb-handle-shell-command)
(tramp-adb-handle-start-file-process):
* lisp/net/tramp-archive.el (tramp-archive-dissect-file-name):
* lisp/net/tramp-cache.el (tramp-get-hash-table)
(tramp-flush-directory-properties, tramp-flush-file-function):
* lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
(tramp-append-tramp-buffers):
* lisp/net/tramp-compat.el (tramp-compat-process-running-p):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
(tramp-gvfs-get-file-attributes)
(tramp-gvfs-handle-file-attributes)
(tramp-gvfs-monitor-process-filter)
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec-entry)
(tramp-gvfs-mount-spec, tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
(tramp-do-file-attributes-with-stat)
(tramp-sh-handle-file-selinux-context)
(tramp-sh-handle-directory-files-and-attributes)
(tramp-do-directory-files-and-attributes-with-stat)
(tramp-sh-handle-file-name-all-completions)
(tramp-sh-handle-dired-compress-file)
(tramp-sh-handle-insert-directory)
(tramp-sh-handle-expand-file-name)
(tramp-sh-handle-start-file-process)
(tramp-sh-handle-process-file, tramp-sh-handle-write-region)
(tramp-sh-handle-file-notify-add-watch)
(tramp-sh-gio-monitor-process-filter)
(tramp-sh-gvfs-monitor-dir-process-filter)
(tramp-sh-inotifywait-process-filter)
(tramp-sh-handle-file-system-info, tramp-maybe-send-script)
(tramp-find-executable, tramp-open-shell, tramp-find-shell)
(tramp-open-connection-setup-interactive-shell)
(tramp-find-inline-encoding, tramp-call-local-coding-command)
(tramp-compute-multi-hops, tramp-maybe-open-connection)
(tramp-convert-file-attributes)
(tramp-make-copy-program-file-name, tramp-get-remote-locale)
(tramp-get-test-nt-command, tramp-get-remote-stat)
(tramp-get-inline-coding):
* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files)
(tramp-smb-action-get-acl, tramp-smb-handle-file-attributes)
(tramp-smb-handle-file-name-all-completions)
(tramp-smb-handle-file-system-info)
(tramp-smb-handle-file-writable-p)
(tramp-smb-handle-insert-directory)
(tramp-smb-handle-make-directory)
(tramp-smb-handle-make-directory-internal)
(tramp-smb-handle-start-file-process, tramp-smb-get-localname)
(tramp-smb-read-file-entry): Use `string-match-p' and
`looking-at-p'.  Remove superfluous `save-match-data'.  Apply
`eval-when-compile' on constant concat data.

* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p-p):
Use `string-prefix-p'.
(tramp-compat-file-name-unquote): Do not use match data.

5 years agoMake stronger tests for Tramp multi hops
Michael Albinus [Thu, 6 Dec 2018 14:25:22 +0000 (15:25 +0100)]
Make stronger tests for Tramp multi hops

* lisp/net/tramp.el (tramp-dissect-file-name, tramp-dissect-hop-name):
Check, that method is capable of multi hops.

* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
(tramp-test02-file-name-dissect-simplified)
(tramp-test02-file-name-dissect-separate): Suppress check for multihops.
(tramp-test03-file-name-method-rules): Check for error if multi
hops cannot be applied.

5 years agoKeep Flymake compatible with Emacs 26.1 builds --without-x
João Távora [Thu, 6 Dec 2018 12:50:07 +0000 (12:50 +0000)]
Keep Flymake compatible with Emacs 26.1 builds --without-x

* lisp/progmodes/flymake.el (flymake-double-exclamation-mark):
Don't define if 'define-fringe-bitmap isn't fbound.
(Version): Bump to 1.0.2

5 years ago* admin/unidata/uvs.el (uvs-print-table-ivd): Add more header detail.
Glenn Morris [Wed, 5 Dec 2018 22:29:19 +0000 (17:29 -0500)]
* admin/unidata/uvs.el (uvs-print-table-ivd): Add more header detail.

5 years agoPrepare lisp/progmodes/flymake.el for distribution in GNU ELPA
João Távora [Tue, 4 Dec 2018 23:37:39 +0000 (23:37 +0000)]
Prepare lisp/progmodes/flymake.el for distribution in GNU ELPA

* lisp/progmodes/flymake.el (Package-Requires): Require Emacs
26.1.  (Version): Bump to 1.0.1

5 years agoAllow custom load paths in elisp's byte-compilation Flymake scratch/allow-custom-load-paths-in-elisp-flymake
João Távora [Sat, 10 Nov 2018 12:58:08 +0000 (12:58 +0000)]
Allow custom load paths in elisp's byte-compilation Flymake

* lisp/progmodes/elisp-mode.el
(elisp-flymake-byte-compile-load-path): New variable.
(elisp-flymake-byte-compile): Use new variable

5 years ago* lisp/emacs-lisp/eldoc.el: Let the user interrupt the search
Stefan Monnier [Tue, 4 Dec 2018 23:15:44 +0000 (18:15 -0500)]
* lisp/emacs-lisp/eldoc.el: Let the user interrupt the search

(eldoc-print-current-symbol-info): Use while-no-input and non-essential.

5 years agoSupport IBM038 (a.k.a. "EBCDIC-INT") encoding
Eli Zaretskii [Tue, 4 Dec 2018 18:27:20 +0000 (20:27 +0200)]
Support IBM038 (a.k.a. "EBCDIC-INT") encoding

* lisp/international/mule-conf.el (ibm038): New charset.
(ebcdic-int, cp038): Alias charsets of ibm038.
* lisp/language/english.el (ibm038): New coding-system.
(ebcdic-int, cp038): Alias coding-systems of ibm038.
(Bug#33612)

* etc/NEWS: Announce the new coding system ibm038.

5 years agoSkip an autorevert test on hydra.nixos.org (bug#32645)
Glenn Morris [Tue, 4 Dec 2018 17:54:01 +0000 (12:54 -0500)]
Skip an autorevert test on hydra.nixos.org (bug#32645)

* test/lisp/autorevert-tests.el
(auto-revert-test02-auto-revert-deleted-file): Skip on hydra.

5 years ago* lisp/shell.el (shell--parse-pcomplete-arguments): Stop at semi-colon
Stefan Monnier [Tue, 4 Dec 2018 17:39:47 +0000 (12:39 -0500)]
* lisp/shell.el (shell--parse-pcomplete-arguments): Stop at semi-colon

* test/lisp/shell-tests.el (shell-tests-completion-before-semi):
New corresponding test.

5 years ago* lisp/isearch.el (isearch-yank-on-move): New defcustom
Juri Linkov [Tue, 4 Dec 2018 00:41:54 +0000 (02:41 +0200)]
* lisp/isearch.el (isearch-yank-on-move): New defcustom

with shift-move related options extracted from `search-exit-option'.
(isearch-pre-command-hook): Rename search-exit-option to
isearch-yank-on-move in shift-move related places.
(isearch-post-command-hook): Check for isearch-pre-move-point
instead of search-exit-option.  (Bug#15839)

* doc/emacs/search.texi (Not Exiting Isearch): Rename
search-exit-option to isearch-yank-on-move.

* lisp/menu-bar.el (menu-bar-i-search-menu): Add more isearch commands.

5 years ago* lisp/isearch.el (isearch-allow-scroll): New option `unlimited'.
Juri Linkov [Tue, 4 Dec 2018 00:24:29 +0000 (02:24 +0200)]
* lisp/isearch.el (isearch-allow-scroll): New option `unlimited'.

(isearch-pre-command-hook): Call isearch-pre-scroll-point unless
isearch-allow-scroll is 'unlimited'.
(isearch-post-command-hook): Use `when' instead of `cond'.
Call isearch-lazy-highlight-new-loop when isearch-allow-scroll is
'unlimited'.  (Bug#15839)

5 years ago* lisp/vc/vc-git.el (vc-git-stash): Call vc-dir-marked-files only
Juri Linkov [Tue, 4 Dec 2018 00:15:37 +0000 (02:15 +0200)]
* lisp/vc/vc-git.el (vc-git-stash): Call vc-dir-marked-files only

in vc-dir-mode.

5 years agoemacsclient: fix typo on recent socket-leak change
Paul Eggert [Mon, 3 Dec 2018 16:06:46 +0000 (08:06 -0800)]
emacsclient: fix typo on recent socket-leak change

This ports to POSIXish platforms like macOS that lack SOCK_CLOEXEC.
Fix suggested by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-12/msg00055.html
* lib-src/emacsclient.c (set_local_socket):
Don’t use SOCK_CLOEXEC; that’s cloexec_socket’s job.

5 years agoFix WINDOWSNT/DOS_NT build
Eli Zaretskii [Mon, 3 Dec 2018 10:29:34 +0000 (12:29 +0200)]
Fix WINDOWSNT/DOS_NT build

Recent changes in sysdep.c and emacsclient unnecessarily
removed useful code from DOS_NT builds.  This changeset
reinstates that code.
* nt/inc/ms-w32.h (tcdrain): Redirect to _commit.
(fdatasync): No need to redirect anymore.

* lib-src/emacsclient.c (flush_stdout): Don't avoid calling
tcdrain on DOS_NT platforms.

* src/sysdep.c (reset_sys_modes): Don't ifdef away the call to
tcdrain on DOS_NT platforms.

5 years agoemacsclient: don’t leak socket to child processes
Paul Eggert [Mon, 3 Dec 2018 07:51:11 +0000 (23:51 -0800)]
emacsclient: don’t leak socket to child processes

* lib-src/emacsclient.c [!WINDOWSNT]: Include fcntl.h.
(cloexec_socket): New function.
(set_tcp_socket, set_local_socket): Use it.

5 years agoUse tcdrain, not fdatasync, to drain ttys
Paul Eggert [Mon, 3 Dec 2018 07:11:09 +0000 (23:11 -0800)]
Use tcdrain, not fdatasync, to drain ttys

fdatasync is for storage devices, not ttys.
* admin/merge-gnulib (GNULIB_MODULES): Remove fdatasync.
* lib/fdatasync.c, m4/fdatasync.m4: Remove.
* lib-src/Makefile.in (LIB_FDATASYNC):
* src/Makefile.in (LIB_FDATASYNC):
Remove.  All uses removed.
* lib-src/emacsclient.c [!DOS_NT]:
Include <termios.h>, for tcdrain.
* lib-src/emacsclient.c (flush_stdout):
* src/sysdep.c (reset_sys_modes): On ttys, use tcdrain instead
of fdatasync (except don’t use either function if DOS_NT).
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.

5 years agoUpdate from Gnulib
Paul Eggert [Mon, 3 Dec 2018 06:49:09 +0000 (22:49 -0800)]
Update from Gnulib

This incorporates:
2018-11-30 memrchr: port better to clang
2018-11-21 mktime: add libc-config dependency
* build-aux/config.guess, build-aux/config.sub, lib/memrchr.c:
Copy from Gnulib.
* m4/gnulib-comp.m4: Regenerate.

5 years agoemacsclient: fix symlink/socket race
Paul Eggert [Mon, 3 Dec 2018 06:32:28 +0000 (22:32 -0800)]
emacsclient: fix symlink/socket race

* lib-src/emacsclient.c (socket_status): New arg UID.
All uses changed.
(set_local_socket): Don’t create the unbound socket unless the
initial sanity checks on the socket file succeed; this
simplifies cleaning it up.  Check socket ownership again
after connecting, to fix a race (Bug#33366).

5 years agoMerge from origin/emacs-26
Glenn Morris [Sun, 2 Dec 2018 18:32:25 +0000 (10:32 -0800)]
Merge from origin/emacs-26

745c9c0 (origin/emacs-26) Revert "Revert "Fix infloop in GC mark_kboa...
c418c85 Revert "Fix infloop in GC mark_kboards"
8fa0d96 * lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: acti...

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sun, 2 Dec 2018 18:32:25 +0000 (10:32 -0800)]
; Merge from origin/emacs-26

The following commit was skipped:

af914fc Fix infloop in GC mark_kboards

5 years agoMerge from origin/emacs-26
Glenn Morris [Sun, 2 Dec 2018 18:32:24 +0000 (10:32 -0800)]
Merge from origin/emacs-26

317b354 ; Add notes about cross-compiling macOS versions
4b176eb Fix macOS run-time feature check
c03574b * etc/NEWS-*: Fix capitalization of "Emacs"

# Conflicts:
# etc/NEWS

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sun, 2 Dec 2018 18:32:24 +0000 (10:32 -0800)]
; Merge from origin/emacs-26

The following commit was skipped:

42320cc ; Auto-commit of loaddefs files.

5 years agoMerge from origin/emacs-26
Glenn Morris [Sun, 2 Dec 2018 18:32:24 +0000 (10:32 -0800)]
Merge from origin/emacs-26

e06562c Fix "M-x man" when there's no 'man' program on PATH

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sun, 2 Dec 2018 18:32:24 +0000 (10:32 -0800)]
; Merge from origin/emacs-26

The following commit was skipped:

7ecf49b Fix core dump in dbus-message-internal

5 years agoMerge from origin/emacs-26
Glenn Morris [Sun, 2 Dec 2018 18:32:23 +0000 (10:32 -0800)]
Merge from origin/emacs-26

cc3ad9a ; * CONTRIBUTE: Clarify rules for committing to release branc...
a89dbe2 * doc/misc/dbus.texi (Type Conversion): Fix typo.  (Bug#33551)
03ee726 ; Add comment to `customize-package-emacs-version-alist'
bce1d1a Improve documentation of gdb-mi.el

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sun, 2 Dec 2018 18:32:23 +0000 (10:32 -0800)]
; Merge from origin/emacs-26

The following commit was skipped:

809989f LDAP: Set process-connection-type to t on Darwin

5 years agoRevert "Revert "Fix infloop in GC mark_kboards""
Eli Zaretskii [Sun, 2 Dec 2018 18:04:05 +0000 (20:04 +0200)]
Revert "Revert "Fix infloop in GC mark_kboards""

This reverts commit c418c85617babbe7b63730fefb71e2c87a0141af.
This reinstates the original fix, as it had nothing to do
with the behavior reported in bug#33571, which seems to be
the expected behavior.

5 years agoRevert "Fix infloop in GC mark_kboards"
Eli Zaretskii [Sun, 2 Dec 2018 07:39:04 +0000 (09:39 +0200)]
Revert "Fix infloop in GC mark_kboards"

This reverts commit af914fc26db273d8788e7efa57c569f0f778d037,
since it caused unintended adverse effects on echoing of keys.
(Bug#33571)

5 years agoemacsclient: prefer XDG_RUNTIME_DIR (Bug#33367)
Paul Eggert [Sun, 2 Dec 2018 07:06:06 +0000 (23:06 -0800)]
emacsclient: prefer XDG_RUNTIME_DIR (Bug#33367)

* lib-src/emacsclient.c: Disable -Wformat-truncation=2,
to avoid false alarms about the new snprintf calls.
(local_sockname): New function.
(set_local_socket): Use it.  Prefer XDG_RUNTIME_DIR (if set)
for location of socket directory.  Avoid unnecessary memory
allocation by using snprintf to destination.
* lisp/server.el (server-socket-dir): Prefer XDG_RUNTIME_DIR if set.

5 years ago* lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: active voice.
Glenn Morris [Sun, 2 Dec 2018 01:21:29 +0000 (17:21 -0800)]
* lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: active voice.

5 years agoFix infloop in GC mark_kboards
Paul Eggert [Sat, 1 Dec 2018 21:40:13 +0000 (13:40 -0800)]
Fix infloop in GC mark_kboards

Do not merge to master, as I have a more systematic fix there.
* src/keyboard.c (mark_kboards): Fix infloop (Bug#33547).

5 years ago; Add notes about cross-compiling macOS versions
Alan Third [Sat, 1 Dec 2018 13:36:58 +0000 (13:36 +0000)]
; Add notes about cross-compiling macOS versions

5 years agoFix macOS run-time feature check
Alan Third [Sat, 1 Dec 2018 13:37:37 +0000 (13:37 +0000)]
Fix macOS run-time feature check

* src/nsterm.m (x_set_parent_frame) [NS_IMPL_COCOA]: Fix run-time
feature check.

5 years ago* lisp/calendar/holidays.el: Use lexical-binding
Stefan Monnier [Sat, 1 Dec 2018 14:43:37 +0000 (09:43 -0500)]
* lisp/calendar/holidays.el: Use lexical-binding

Remove redundant :group arguments.
(holiday-sexp): Bind 'year' and 'date' dynamically for 'sexp' and 'string'.

5 years ago* etc/NEWS-*: Fix capitalization of "Emacs"
Stefan Monnier [Sat, 1 Dec 2018 14:32:57 +0000 (09:32 -0500)]
* etc/NEWS-*: Fix capitalization of "Emacs"