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

40906 commits

Author SHA1 Message Date
Paul Eggert
967d2c55ef Remove some wrong 8-byte alignment assumptions
Do not assume that 8-byte alignment suffices for all C objects,
as some platforms require 16-byte alignment for some objects,
and this will start to bite us as time goes on (e.g., if an
Emacs module ever uses an object containing a long
double, which requires 16-byte alignment on x86-64).
Conversely, on !USE_LSB_TAG platforms, do not insist on
aligning Lisp objects to a multiple of 8, as this is not
needed for high-order tag bits.
* src/alloc.c (LISP_ALIGNMENT, MALLOC_IS_LISP_ALIGNED):
New constants.
(XMALLOC_BASE_ALIGNMENT, XMALLOC_HEADER_ALIGNMENT):
Removed.  All uses replaced by LISP_ALIGNMENT.
(aligned_alloc, laligned, lmalloc, lrealloc, union aligned_Lisp_Misc)
(maybe_lisp_pointer, pure_alloc):
Use LISP_ALIGNMENT rather than GCALIGNMENT.
(aligned_alloc): Do not worry about an alignment of
LISP_ALIGNMENT when MALLOC_IS_LISP_ALIGNED, as the code never
uses aligned_alloc with alignment == LISP_ALIGNMENT in that case.
(__alignof__): Remove.  All uses removed.
(MALLOC_IS_GC_ALIGNED): Remove.
All uses replaced with MALLOC_IS_LISP_ALIGNED.
(vector_alignment): Remove.
All uses replaced with LISP_ALIGNMENT.
* src/alloc.c (mark_maybe_pointer):
* src/emacs-module.c (value_to_lisp_bits):
Do not assume GCALIGNMENT == 1 << GCTYPEBITS, as GCALIGNMENT
is 1 on !USE_LSB_TAG platforms now.
* src/lisp.h (GCALIGNMENT) [!USE_LSB_TAG]: Now 1.
(struct Lisp_Symbol, union vectorlike_header, struct Lisp_Cons)
(struct Lisp_String): Simplify test for verifying alignment.
2018-06-13 13:31:34 -07:00
Eli Zaretskii
d93ba8ddeb ; Assorted documentation fixes in recent changes
* etc/NEWS: Minor copyedits of recent entries.

* src/keyboard.c (Finternal_handle_focus_in):
* lisp/frame.el (frame-focus-state): Doc fixes.

* doc/lispref/hooks.texi (Standard Hooks): Mention
after-delete-frame-functions.
2018-06-12 19:26:44 +03:00
Noam Postavsky
c912db0836 Give warning if losing value to defvaralias (Bug#5950)
* src/eval.c (Fdefvaralias): Call `display-warning' if the alias
target has a non-eq value to the variable being aliased.
* test/src/eval-tests.el (defvaralias-overwrite-warning): New test.
2018-06-12 07:40:33 -04:00
Noam Postavsky
1aa906f10d Make 'tags' targets respect --with-silent-rules (Bug#31744)
* lwlib/Makefile.in (TAGS):
* lisp/Makefile.in (TAGS):
* src/Makefile.in (TAGS): Use AM_V_GEN and AM_V_at.
* src/Makefile.in: Note that TAGS are generated in build dir.
2018-06-12 07:26:06 -04:00
Daniel Colascione
0626d5aba5 Add after-delete-frame-functions
Instead of working around the behavior delete-frame-functions, just
add an after-delete-frame-functions hook.

* doc/lispref/frames.texi (Deleting Frames): Document
`after-delete-frame-functions'.

* etc/NEWS: Mention `after-delete-frame-functions'.

* lisp/frame.el (blink-cursor--should-blink):
(blink-cursor--rescan-frames, blink-frame-mode): Get rid of the
ugly ignored-frame parameter and switch from
`delete-frame-functions' to `after-delete-frame-functions'.

* src/frame.c (syms_of_frame): New variable
`after-delete-frame-functions'.
(delete_frame): Use it.
2018-06-11 16:54:23 -07:00
Daniel Colascione
6a1dfa713b Losing focus should not stop idleness
* src/keyboard.c (read_char): Make Qfocus_out not break idle.
2018-06-11 16:10:34 -07:00
Daniel Colascione
2f6c682061 New focus management interface
focus-in-hook and focus-out-hook don't accurately reflect actual
user-visible focus states.  Add a new focus interface and mark the old
one obsolete.

* doc/lispref/frames.texi (Input Focus): Document new focus
functions.  Remove references to the now-obsolete focus hooks.

* lisp/frame.el (frame-focus-state): New function.
(after-focus-change-function): New variable.
(focus-in-hook, focus-out-hook): Move to lisp from C;
mark obsolete.

* lisp/term/xterm.el (xterm-translate-focus-in)
(xterm-translate-focus-out): Track tty focus in `tty-focus-state'
terminal parameter; call `after-focus-change-function'.
(xterm--suspend-tty-function): New function.

* src/frame.c (Fhandle_switch_frame): Update docstring; don't call
focus hooks.
(focus-in-hook, focus-out-hook): Remove: moved to lisp.
(syms_of_frame): Remove unread_switch_frame; add
Vunread_switch_frame.

* src/keyboard.c:
(Finternal_handle_focus_in): New function.
(make_lispy_event): Always report focus events to lisp; don't
translate them to switch events sometimes.  Lisp can take care of
creating synthetic switch-frame events via
`internal-handle-focus-in'.

* src/w32term.c (x_focus_changed): Remove switch-avoidance logic:
just directly report focus changes to lisp.

* src/xterm.c (x_focus_changed): Remove switch-avoidance logic:
just directly report focus changes to lisp.
2018-06-11 16:10:34 -07:00
Daniel Colascione
a20fe5a7e3 Remove code #if-0-ed terminal-local code
This code hasn't been used since 2005.

* src/data.c
(get_terminal, Fterminal_local_value, Fset_terminal_local_value): Remove.
2018-06-11 16:08:42 -07:00
Daniel Colascione
b4e953ba04 Remove obsolete keyboard.c code
* src/keyboard.c (any_kboard_state, single_kboard_state): Remove
#if-0-ed functions.
2018-06-11 16:08:42 -07:00
Noam Postavsky
7adf1a361d Merge from emacs-26
3434edc731 Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
36bbdfc017 Update Unicode data files to version 11.0.0 of Unicode
b7b7a5f4f3 * etc/NEWS: Belatedly call out vc-hg changes in v26.1.  (B...
5b6f8b54d1 Clarify the documentation of 'dired-recursive-deletes'
9db97b49cd ; * etc/DEBUG: Add information about debugging libXft prob...
0214ffbe60 Clarify doc string of 'update-glyphless-char-display'
ef35d405b1 Clarify subtle issues with 'eq' in byte-compiled code
c6ef3c8321 Make cl-print respect print-quoted (bug#31649)
26b52ac40e Fix unexpected jumps of window-point in 'set-window-config...
4af077ab4d * etc/emacs.appdata.xml: Update Emacs screenshot.
e5ab25deae Fix cursor movement by 'next-logical-line' after 'next-line'
d20beef5f1 Fix prompt in bookmark.el (Bug#24726)
c57e7eaae8 Improve documentation of 'empty' whitespace-style

# Conflicts:
#	etc/NEWS
2018-06-10 18:43:49 -04:00
Paul Eggert
f4e9ceacda Pacify gcc -Wnull-dereference some more
* src/keyboard.c (read_char): Use xevent_start in a couple
more places where it is safe.  This is needed with
--enable-gcc-warnings --enable-checking on Fedora 28 x86-64.
2018-06-10 10:38:56 -07:00
Paul Eggert
0303fab396 Use native alignment to access Lisp object data
Instead of using __builtin_assume_aligned (P, GCALIGNMENT) to
tell GCC that P has alignment 8, use (T *) P where T is the
type of the pointed-to object, to tell GCC that P has native
alignment.  This is simpler, matches the intent better, and
should help simplify future improvements.  Some of these
changes are to pacify gcc -Wnull-dereference, since GCC is
smarter about pointers now that Emacs no longer uses
__builtin_assume_aligned; these minor changes should improve
code efficiency slightly.  On Fedora 28 x86-64 with default
optimization this patch shrinks the size of the Emacs text
segment by 0.36%.
* src/conf_post.h (__has_builtin, __builtin_assume_aligned):
Remove; no longer used.
* src/dbusbind.c (XD_OBJECT_TO_DBUS_TYPE):
Pacify -Wnull-dereference by using XCAR instead of CAR_SAFE
and XCDR instead of CDR_SAFE when this is safe.
* src/fileio.c (Fexpand_file_name):
* src/font.c (clear_font_cache):
Pacify -Wnull-dereference by removing unnecessary NILP test.
* src/keyboard.c (xevent_start): New function.
(read_char, read_key_sequence): Pacify -Wnull-dereference by
using xevent_start instead of EVENT_START.
* src/lisp.h (lisp_h_XUNTAG): Remove; XUNTAG is always a macro
now, since it can no longer be implemented as a function.
(XUNTAG): New third argument CTYPE.  All uses changed.
Cast result to CTYPE * instead of using __builtin_assume_aligned.
Simplify by using LISP_WORD_TAG.
(LISP_WORD_TAG): New macro.
(TAG_PTR): Use it.
* src/menu.c (x_popup_menu_1):
Pacify -Wnull-dereference by using XCAR instead of Fcar and
XCDR instead of Fcdr where this is safe.
2018-06-10 10:16:53 -07:00
Paul Eggert
efa750e684 Simplify read_key_sequence
* src/keyboard.c (READ_KEY_ELTS): New constant.
(keyremap_step, read_key_sequence): Omit BUFSIZE arg, since it's
always READ_KEY_ELTS.  All callers changed.
(grow_bool_vector): Remove; no longer needed.
(read_key_sequence): Use a bool array instead of a Lisp bool
vector, since it's small and this puts less pressure on the GC.
2018-06-09 19:02:09 -07:00
Daniel Colascione
cace203da1 Unbreak echoing
* src/keyboard.c (read_key_sequence): Don't echo_truncate the first time.
2018-06-09 18:14:03 -07:00
Paul Eggert
3e3e23fb88 Fix pointer misuse in JSON parser
* src/json.c (lisp_to_json_toplevel_1): Fix pointer misuse not
caught by C type checking (json_t ** converted to void * where
the program expected json_t *).  Bug caught on Fedora 28 x86-64 via
'./configure CFLAGS="-g3 -O2 -fsanitize=address" CANNOT_DUMP=yes'.
Avoid similar problems in the future by rewriting to use
json_t * instead of json_t **.
2018-06-09 17:57:29 -07:00
Daniel Colascione
d12924cacb Correctly set last_nonmenu_event when replaying
read_key_sequence can, in various circumstances, play back recorded
events.  Make sure that we set last_nonmenu_event as if we weren't
replaying.  Without this change, we leave last_nonmenu_event set to
whatever it was before we started replaying, leading to spurious
random keymap menu prompts appearing after reading terminal control
sequences, the translation of which sometimes causes event replays.

* src/keyboard.c:
(grow_bool_vector): New function
(read_key_sequence): Remember menu event history per-event.
2018-06-09 17:46:05 -07:00
Daniel Colascione
aaffae8458 Add debug facility for formatting in rr sessions
The existing debug print commands don't work in rr, since they touch
stderr. The new xfmt command just calls Fformat and doesn't touch the
stdio streams.

* src/.gdbinit:
(xfmt): New GDB command.

* src/print.c:
(debug_format): New function.
2018-06-09 17:46:05 -07:00
Paul Eggert
1a4c6e69db Fix read buffer overrun on overflowed integers
* src/lread.c (read_integer): Fix off-by-1 buffer overrun
introduced in 2018-04-17T23:23:16Z!eggert@cs.ucla.edu.  The
bug could occur when Emacs read radixed integers containing
more than 100 digits.  Bug caught by AddressSanitizer.
2018-06-09 17:18:29 -07:00
Eli Zaretskii
3434edc731 Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
* src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 23MB.  Reported by
Andy Moreton <andrewjmoreton@gmail.com>.
2018-06-09 21:14:04 +03:00
Philipp Stephani
b4dcac2d6a Make error checking for thread functions stricter.
* src/systhread.c (sys_thread_create): Change return type to bool.
Check for errors returned by pthread_attr_setstacksize and
pthread_attr_destroy.
(sys_mutex_init): Abort on errors.  Enable mutex checks when checking
is enabled.
(sys_cond_init): Abort on errors.
(sys_mutex_lock, sys_mutex_unlock, sys_cond_wait)
(sys_cond_signal, sys_cond_broadcast, sys_cond_destroy): Check for
errors in debug mode.
2018-06-09 18:47:10 +02:00
Paul Eggert
49ba7544c2 Remove AddressSanitizer bug workaround
This workaround no longer appears to be needed.
* src/alloc.c (USE_ALIGNED_ALLOC): Don’t leave undefined
merely because ADDRESS_SANITIZER is defined, as that bug
in -fsanitize=address appears to have been fixed.  See:
https://github.com/google/sanitizers/issues/337
* src/conf_post.h (vfork): Improve comment.
2018-06-08 23:54:50 -07:00
Daniel Colascione
f1e65b73ca Fix formatting in the face filter change
* src/xfaces.c:
(evaluate_face_filter,filter_face_ref)
(merge_face_ref,syms_of_xfaces): Fix comments, formatting.
2018-06-08 21:21:47 -07:00
Paul Eggert
db353b8649 Port alignment verification to x86 --with-wide-int
Problem reported by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-06/msg00238.html
* src/lisp.h (struct Lisp_Symbol, union vectorlike_header)
(struct Lisp_Cons, struct Lisp_String):
Do not check alignment if !USE_LSB_TAG, as alignment is
needed only if we are tagging the low-order bits.
2018-06-08 08:09:00 -07:00
Michal Nazarewicz
f09e9d292f ; Tiny tpyo fix
* src/xfaces.c (face-remapping-alist): remove an empty ‘(3)’ introduced
in a docstring by mistake.
2018-06-08 09:20:43 +01:00
Daniel Colascione
9d447fa156 Add support for per-window face remapping
Extend face specifications to support the notion of filtering to a
specific context and add a filter that limits a face specification to
windows having a certain parameter.

* src/xfaces.c:
(evaluate_face_filter,filter_face_ref): New functions.
(merge_face_ref): Ignore filtered face specifications.
(Fx_list_fonts,get_lface_attributes,merge_face_vectors)
(merge_named_face,merge_face_ref,merge_face_ref)
(Finternal_merge_in_global_face,Fface_font,lookup_named_face)
(lookup_basic_face,Fface_attributes_as_vector)
(x_supports_face_attributes_p)
(Fdisplay_supports_face_attributes_p,realize_named_face)
(compute_char_face,face_at_buffer_position)
(face_at_buffer_position,face_at_buffer_position)
(face_at_buffer_position)
(face_for_overlay_string,face_at_string_position,merge_faces):
Pass window to face machinery.
(syms_of_xfaces): Add :window and :filtered

* src/xdisp.c (init_iterator, handle_face_prop)
(handle_single_display_spec, merge_escape_glyph_face)
(merge_glyphless_glyph_face, get_next_display_element)
(next_element_from_display_vector, append_space_for_newline)
(extend_face_to_end_of_line,highlight_trailing_whitespace)
(maybe_produce_line_number)
(display_line, calc_line_height_property): Pass window to
face machinery.

* src/term.c (tty_menu_activate): Adjust to new face core
function signature.

* src/msdos.c (XMenuActivate): Adjust to new face core
function signature.

* src/fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face):
Pass window to face machinery.

* src/font.c (font_range, Finternal_char_font): Pass window to
face machinery.

* src/dispnew.c (spec_glyph_lookup_face): Pass window to
face machinery.

* src/dispextern.h:
(lookup_named_face,lookup_basic_face)
(lookup_derived_face,merge_faces):
Add struct window arguments to prototypes.
2018-06-07 21:03:30 -07:00
Paul Eggert
e2a9800202 Fit kill_buffer_xwidgets into 80
* src/xwidget.c (kill_buffer_xwidgets): Reindent and use C99
style to fit in 80 columns.
2018-06-07 19:11:50 -07:00
Paul Eggert
0e1bfd3886 Minor cleanup of save_excursion_restore
* src/editfns.c (save_excursion_restore): Use clearer names
for locals.  Free earlier, removing the need for a label and goto.
2018-06-07 19:11:50 -07:00
Paul Eggert
a0aa1d4ecc New function record_unwind_protect_excursion
This simplifies callers a bit, and will simplify future changes.
* src/eval.c (record_unwind_protect_excursion): New function.
* src/buffer.c (Fkill_buffer):
* src/bytecode.c (exec_byte_code):
* src/editfns.c (Fsave_excursion, Freplace_buffer_contents):
* src/lread.c (readevalloop, Feval_buffer):
* src/window.c (scroll_command):
Use it.
2018-06-07 19:11:49 -07:00
Paul Eggert
a0641286f6 * src/.gdbinit: Omit soon-obsolete comment. 2018-06-07 19:11:49 -07:00
Paul Eggert
4d176b7427 Fix ftfont_open2 failure cleanup
* src/ftfont.c (ftfont_open2): Don’t increment counter if failing.
Avoid use-after-free once the increment bug is fixed.
2018-06-07 19:11:49 -07:00
Paul Eggert
b76389f220 Don’t over-align if WIDE_EMACS_INT
* src/lisp.h (GCALIGNED_UNION): New macro.
(struct Lisp_Symbol, union vectorlike_header)
(struct Lisp_Cons, struct Lisp_String):
Use it to avoid possible over-alignment if !USE_LSB_TAG.
2018-06-07 19:11:49 -07:00
Paul Eggert
7c16392cca Fix GC-related commentary
* src/lisp.h: USE_STACK_LISP_OBJECTS is no longer experimental.
Also, remove confusion about scope vs lifetime.
And say that stack-allocated strings should not be given
text properties.
2018-06-07 19:11:49 -07:00
João Távora
3509aaaefe Accept plists when serializing and parsing JSON
* doc/lispref/text.texi (Parsing JSON): Mention plist support.

* src/json.c (lisp_to_json_toplevel_1): Serialize plists to json.
(Fjson_serialize): Mention plists in docstring.
(enum json_object_type): Add json_object_plist.
(json_to_lisp): Parse JSON into plists.
(json_parse_object_type): Consider plists.
(Fjson_parse_string): Mention plists in docstring.
(syms_of_json): New Qplist sym_of_json.
(lisp_to_json): Update comment.

* test/src/json-tests.el (json-serialize/object)
(json-parse-string/object): New plist tests.
2018-06-07 12:30:39 +01:00
Martin Rudalics
26b52ac40e Fix unexpected jumps of window-point in 'set-window-configuration' (Bug#31695)
* src/window.c (Fset_window_configuration): Prevent that the
fix for Bug#12208 affects restoration of window points when
using separate minibuffer frames (Bug#31695).
2018-06-07 09:59:38 +02:00
Eli Zaretskii
e5ab25deae Fix cursor movement by 'next-logical-line' after 'next-line'
* src/indent.c (Fvertical_motion): Adjust TO_X when line-numbers
are being displayed.  Remove unneeded "correction" of TO_X at the
goal line.

* lisp/simple.el (last--line-number-width): Remove unneeded
variable.
(line-move-visual): Account for line-number display width by
adjusting the pixel X coordinate that gets converted into
canonical columns passed to vertical-motion, instead of adjusting
temporary-goal-column (which then affects next commands, including
next-logical-line).  (Bug#31723)
2018-06-06 18:28:44 +03:00
Eli Zaretskii
acaebed014 ; * src/ftfont.c (ftfont_spec_pattern): Fix whitespace. 2018-06-05 14:08:08 +02:00
Paul Eggert
97d61f878e Port FC_COLOR change to older fontconfig
Problem reported by John ff in:
https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
* src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
Don’t use FC_COLOR on older fontconfigs that don’t have it.
2018-06-05 14:08:08 +02:00
Robert Pluim
f21fa142ac Ignore color fonts when using Xft
* src/font.c (syms_of_font): New configuration variable
xft-ignore-color-fonts, default t.
* src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
color fonts if xft-ignore-color-fonts is t.  (Bug#30874, Bug#30045)
* etc/NEWS: Document xft-ignore-color-fonts.
2018-06-05 14:08:08 +02:00
Glenn Morris
b12333f122 Merge from origin/emacs-26
defd53a Set accessibility subroles for child frame (bug#31324)
de6a876 Fix redefinition of child frames on NS
2018-06-04 09:25:22 -07:00
Stefan Monnier
ed962f2b8a Fix bug#30846, along with misc cleanups found along the way
* test/src/data-tests.el (data-tests-kill-all-local-variables): New test.

* src/buffer.c (swap_out_buffer_local_variables): Remove.
Fuse the body of its loop into that of reset_buffer_local_variables.
(Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
(reset_buffer_local_variables): Make sure the buffer's local binding
is swapped out before removing it from the alist (bug#30846).
Call watchers before actually killing the var.

* src/data.c (Fmake_local_variable): Simplify.
Use swap_in_global_binding to swap out any local binding, instead of
a mix of find_symbol_value followed by messing with where&found.
Don't call swap_in_symval_forwarding since the currently swapped
binding is never one we've modified.
(Fkill_local_variable): Use swap_in_global_binding rather than messing
with where&found to try and trick find_symbol_value into doing the same.

* src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.

(cherry picked from commit 3ddff08034)
2018-06-03 12:48:14 -04:00
Paul Eggert
51ee8bc448 Centralize Bug#30931 fix
* src/marker.c (detach_marker): New function.
* src/editfns.c (save_restriction_restore):
* src/insdel.c (signal_before_change): Use it.

(cherry picked from commit 6f66a43d7a)
2018-06-03 12:48:13 -04:00
Noam Postavsky
daa602338f Fix another case of freed markers in the undo-list (Bug#30931)
* src/alloc.c (free_marker): Remove.
* src/editfns.c (save_restriction_restore):
* src/insdel.c (signal_before_change): Detach the markers from the
buffer when we're done with them instead of calling free_marker on
them.
* test/src/editfns-tests.el (delete-region-undo-markers-1)
(delete-region-undo-markers-2): New tests.

(cherry picked from commit 96b8747d5c)
2018-06-03 12:48:13 -04:00
Paul Eggert
7460840a6c Fix CHECK_ALLOCATED_AND_LIVE abort during GC
* src/editfns.c (save_restriction_restore):
Wait for the GC to free the temporary markers (Bug#30931).

(cherry picked from commit 670f2ffae7)
2018-06-03 12:48:13 -04:00
Noam Postavsky
71192e0b7e Don't wait for visible frames to become visible
For discussion, see thread starting at
https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00807.html.
* src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before
calling x_wait_for_event.

(cherry picked from commits 2a192e21cf
and 00c1f771f2)
2018-06-03 12:48:13 -04:00
Glenn Morris
84f992d42e Merge from origin/emacs-26
4cfe531 (origin/emacs-26) Improve ELisp documentation of 'clone-indir...
9089b02 Improve documentation of 'inhibit-message'
6107e12 Improve documentation of comment styles
fb45125 Documentation improvements in newcomment.el
641c94c Imp[rove documentation of 'with-silent-modifications'
2018-06-02 10:29:38 -07:00
Glenn Morris
02c7d45d49 Merge from origin/emacs-26
90bea37 ; * etc/PROBLEMS: Fix fvwm version number in last commit
af82d1f * etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31...
4a3aed2 Update Emacs Lisp Intro to match current behavior
21f2247 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
3257085 Fix previous commit
6d23525 Fix typos in several manuals (Bug#31610)
9188291 Add detailed documentation about lock files
e5471b2 Add commentary for subtle aspect of frame.el

Conflicts:
	doc/lispintro/emacs-lisp-intro.texi
2018-06-02 10:29:37 -07:00
Glenn Morris
42a851c634 Merge from origin/emacs-26
ca3f0a8 ; * etc/NEWS: Belated announcement of 2 changes made in Emacs...
99f92da Improve documentation of 'directory-files-and-attributes'
df8649a * lisp/gnus/message.el (message-remove-header): Don't remove ...
b682a7e ; * etc/NEWS: Add headings for Emacs 26.2
aa175a4 Adapt hexl-mode to native line-number display
b8e7749 Fix example in Tramp manual
f212fe5 Handle case where Xft is found but not XRender
186280f * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh...
24ba633 Improve read-multiple-choice docstring (Bug#31628)

Conflicts:
	etc/NEWS
	src/dired.c
2018-06-02 10:25:50 -07:00
Alan Third
defd53a56c Set accessibility subroles for child frame (bug#31324)
; Depends on patch in bug#31440.

* src/nsterm.m (x_set_parent_frame): Set subrole depending on whether
frame is a child or not.
2018-06-02 15:31:59 +01:00
Alan Third
de6a876373 Fix redefinition of child frames on NS
* src/nsterm.m (x_set_parent_frame): If the NSWindow has an existing
parent frame, remove it.
2018-06-02 15:31:59 +01:00
Eli Zaretskii
9089b0239f Improve documentation of 'inhibit-message'
* src/xdisp.c (syms_of_xdisp) <inhibit-message>: Warn against
setting it non-nil globally.  (Bug#31627)
2018-06-02 14:09:11 +03:00