1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-24 19:03:29 +00:00
Commit Graph

133357 Commits

Author SHA1 Message Date
João Távora
51adab5de2 Also allow custom false and null when serializing to JSON
* doc/lispref/text.texi (Parsing JSON): Describe new arguments of
json-serialize and json-insert.

* src/json.c (enum json_object_type, struct json_configuration):
Move up in file before first usage.
(lisp_to_json_toplevel, lisp_to_json_toplevel_1, lisp_to_json):
Accept a struct json_configuration*.
(Fjson_serialize, Fjson_insert): Accept multiple args.
(json_parse_args): Accept new boolean configure_object_type.

* test/src/json-tests.el
(json-serialize, json-insert): Update forward decls.
(json-parse-with-custom-null-and-false-objects): Add assertions for
json-serialize.
2018-06-15 00:13:00 +01:00
João Távora
9348039ed4 Support custom null and false objects when parsing JSON
* doc/lispref/text.texi (Parsing JSON): Describe new :null-object
and :false-object kwargs to json-parse-string and
json-parse-buffer.

* src/json.c
(struct json_configuration): New type.
(json_to_lisp): Accept a struct json_configuration* param.
(json_parse_args): Rename from json_parse_object_type.
(Fjson_parse_string): Rework docstring.
(Fjson_parse_string, Fjson_parse_buffer): Update call to
json_to_lisp.
(syms_of_json): Two new syms, QCnull_object and QCfalse_object.

* test/src/json-tests.el
(json-parse-with-custom-null-and-false-objects): New test.
2018-06-15 00:11:56 +01:00
Damien Cassou
8cb9beb321
Fix pretty-printing empty objects as null
* lisp/json.el (json-pretty-print): Force distinction between empty
  objects and null.
(json-encode-list): Remove responsibility to print "null" as this
value is not a list.
(json-encode): Give higher precedence to lists so that an empty list
is printed as an empty object, not as "null".

* test/lisp/json-tests.el (test-json-encode): Add many tests to check
  the behavior of pretty-printing.
2018-06-14 11:01:49 +02:00
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
Daniel Colascione
b8478b2ab7 Clarify that enabling a theme does not disable other themes
Avoid user confusion by explicitly stating that enabling a theme does
not imply disabling other themes and that theme load functions are not
theme switch functions.

* lisp/custom.el (load-theme, enable-theme): Clarify docstrings.
2018-06-12 23:28:47 -07:00
Daniel Colascione
5ed119141d Ignore focus events for dead frames
Frames can die between the time we generate a focus event and the time
we get around to processing it.  Do run after-focus-change-function,
since that's idempotent and we want to make sure not to miss
any changes.

* lisp/frame.el (handle-focus-in, handle-focus-out): Check for dead frames.
2018-06-12 23:09:23 -07:00
Stefan Monnier
97b78542f6 * lisp/textmodes/ispell.el (ispell-menu-map): Init in declaration
(ispell-menu-map-needed): Remove, now that the menu doesn't include
the list of dictionaries any more, so it's basically constant.
2018-06-12 17:06:32 -04: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
Eli Zaretskii
e9c189ccae Fix initialization of custom-delayed-init-variables
* lisp/startup.el (command-line): Re-evaluate delayed-init custom
variables one more time after setting up the initial
window-system.  (Bug#30994)

* doc/emacs/custom.texi (Early Init File):
* etc/NEWS: Warn against using early-init.el as a substitute for
.emacs.
2018-06-12 18:03:56 +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
2634d867b6 Let display-warning work during bootstrap
* lisp/emacs-lisp/warnings.el (display-warning): Only call
`special-mode' and `newline' if they are `fbound'.
2018-06-12 07:40:33 -04:00
Michael R. Mauger
61f5d6311c * lisp/progmodes/sql.el Add MariaDB support (Robert Cochran)
(sql-product-alist): Add MariaDB entry
  (sql-mariadb-program, sql-mariadb-options, sql-mariadb-login-params,
  sql-mode-mariadb-font-lock): New variables, aliases of the MySQL
  equivalents
  (sql-mariadb, sql-comint-mariadb): New interaction mode functions
  for MariaDB
  (sql-mode-mysql-font-lock-keywords): Updated font-lock for MySQL
  and MariaDB
2018-06-11 22:59:55 -04:00
Thomas Fitzsimmons
1feb2e2213 soap-client: Add byte-code compatibility function (Bug#31742)
* lisp/net/soap-client.el: Bump version to 3.1.4.
(soap-type-of): New function.
(soap-resolve-references, soap-decode-type)
(soap-encode-attributes, soap-encode-value): Replace aref
calls with calls to soap-type-of.

* lisp/net/soap-inspect.el (soap-sample-value, soap-inspect):
Replace aref calls with calls to soap-type-of.

Co-authored-by: Noam Postavsky <npostavs@gmail.com>
2018-06-11 21:23:33 -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
4ff438a45a Make blink-cursor-mode use new focus functions
* lisp/frame.el (blink-cursor--should-blink): New function.
(blink-cursor-check): Call it.
(blink-cursor--rescan-frames): New function.
(blink-cursor-mode): Wire up `blink-cursor--rescan-frames`; stop
using `focus-in-hook' and `focus-out-hook'.
2018-06-11 16:10:34 -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
Lars Ingebrigtsen
94d60f59fc Don't have shr bug out on degenerate <img> tags
* lisp/net/shr.el (shr-tag-img): Protect against contructs like
<img src=" ">.
2018-06-11 20:38:53 +02:00
Stefan Monnier
8377ca6547 * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Use \' i.s.o $. 2018-06-10 22:04:11 -04:00
Noam Postavsky
962547791e Merge from emacs-26
8a1576cc03 Fix term.el cursor movement at bottom margin (Bug#31690)
2018-06-10 18:47:27 -04:00
Noam Postavsky
eaeb69c59c ; Merge from emacs-26
The following commit was skipped:

4c3fae3cf2 Call enchant-lsmod correctly when Enchant is installed wit...
2018-06-10 18:43:51 -04: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
Noam Postavsky
78ac2480d7 ; Merge from emacs-26
The following commits were skipped:

acaebed014 ; * src/ftfont.c (ftfont_spec_pattern): Fix whitespace.
97d61f878e Port FC_COLOR change to older fontconfig
2018-06-10 18:43:43 -04:00
Noam Postavsky
23e9beff8c Merge from emacs-26
55c9bb9f3c Fix comint-get-old-input-default for output field case (Bu...
26819cd1c0 ; ChangeLog.3: Fix typo.
e35a08ea4b Prevent infloop in 'delete-trailing-whitespace'

* lisp/progmodes/cperl-mode.el:
* lisp/progmodes/cc-engine.el:
* lisp/progmodes/cc-mode.el: Fix tabs mixed with space preventing
commit hook from succeeding.
2018-06-10 18:41:47 -04:00
Noam Postavsky
8a1576cc03 Fix term.el cursor movement at bottom margin (Bug#31690)
* lisp/term.el (term-handle-ansi-escape) <\E[B cud>: Allow moving the
cursor to the bottom margin line, rather than stopping one line
before.
2018-06-10 17:57:50 -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
Reuben Thomas
4c3fae3cf2 Call enchant-lsmod correctly when Enchant is installed with a suffix
* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Cope with a
version suffix on the binary name, so enchant-2 is converted to
enchant-lsmod-2, not enchant-2-lsmod.  (Bug#31761)

(cherry picked from commit a402d9aacb)
2018-06-10 19:53:39 +03: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
Daniel Colascione
16015dea97 Fix typo in docstring
* lisp/term/xterm.el: (xterm-paste-ending-sequence): Fix typo
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
Alan Mackenzie
89e2683d44 Implement the C++11 "using" type definition.
Cease using the long obsolete c++-template-syntax-table.

* lisp/progmodes/cc-align.el (c-lineup-template-args): Cease using
c++-template-syntax-table.

* lisp/progmodes/cc-engine.el (c-beginning-of-inheritance-list)
(c-search-decl-header-end, c-beginning-of-decl-1, c-end-of-decl-1)
(c-guess-continued-construct, c-guess-basic-syntax): Cease using
c++-template-syntax-table.
(c-guess-basic-syntax): Add CASE 5D.6 to handle C++11's "using" type
definition.

* lisp/progmodes/cc-langs.el (c++-make-template-syntax-table)
(c++-template-syntax-table): Remove.
(c-equals-type-clause-kwds, c-equals-type-clause-key): New language
constants/variables.
2018-06-09 21:39:43 +00:00
Daniel Colascione
a66a3b7f51 Improve robustness xterm event processing
We used to treat the start of a focus-in, focus-out, and the start of
a paste sequence as normal events bound in global-map, but this
approach produces problems when we recognize events in the middle of
actions that don't immediately dispatch to the command loop.

Now we handle these events internally inside read-key, translating the
focus events to nothing and paste-start into an xterm-paste event that
neatly encapsulates the entire paste sequence.

* lisp/term/xterm.el:
(xterm-paste): Accept an event argument; insert text from event.
(xterm-translate-focus-in,xterm-translate-focus-out)
(xterm-translate-bracketed-paste): New functions.
(xterm-handle-focus-in,xterm-handle-focus-out): Remove.
(xterm-rxvt-function-map): Bind new translation functions.
2018-06-09 13:18:17 -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
Alan Mackenzie
66ad98685a CC Mode: In brace lists, anchor an elt on its predecessor, not on first elt
* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): At the end, accept
"." as a unary operator (which it now is in brace lists in, e.g., C Mode).
(c-guess-basic-syntax): Just before CASE 9C, move back to the previous brace
list entry in the block, rather than to the first one.
2018-06-09 17:34:46 +00: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
Eli Zaretskii
36bbdfc017 Update Unicode data files to version 11.0.0 of Unicode
* admin/unidata/UnicodeData.txt:
* admin/unidata/SpecialCasing.txt:
* admin/unidata/NormalizationTest.txt:
* admin/unidata/copyright.html:
* admin/unidata/BidiMirroring.txt:
* admin/unidata/BidiBrackets.txt: Import from Unicode 11.0.
* admin/notes/unicode: Update the URL for OTF script tags.

* lisp/international/mule-cmds.el (ucs-names): Update unused ranges.
* lisp/international/fontset.el (script-representative-chars): Add
hanifi-rohingya, old-sogdian, sogdian, dogra, gunjala-gondi,
makasar, and medefaidrin.
(otf-script-alist): Add old-hungarian.
* lisp/international/characters.el (tbl): Add syntax entries for
Supplemental Mathematical Operators, Miscellaneous Symbols and
Arrows, and Supplemental Punctuation.
Update the list of wide characters.

* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-tests--failing-lines-part2): Update to match
admin/unidata/NormalizationTest.txt.

* doc/lispref/nonascii.texi (Character Properties): Update the
reference to the Unicode Standard.
* doc/misc/efaq.texi (New in Emacs 26):
* etc/NEWS: Mention compatibility with Unicode 11.0.
2018-06-09 15:41:21 +03:00
Eli Zaretskii
b7b7a5f4f3 * etc/NEWS: Belatedly call out vc-hg changes in v26.1. (Bug#31759) 2018-06-09 12:33:20 +03:00
Eli Zaretskii
5b6f8b54d1 Clarify the documentation of 'dired-recursive-deletes'
* doc/emacs/dired.texi (Dired Deletion): Clarify text regarding
recursive deletion of non-empty directories.  (Bug#31529)
2018-06-09 11:58:27 +03:00
Eli Zaretskii
ca369a8ca6 Allow to reset Deleted flag when exporting messages in Rmail
* lisp/mail/rmailout.el (rmail-output-reset-deleted-flag): New
defcustom.
(rmail-output): When 'rmail-output-reset-deleted-flag' is non-nil,
reset the Deleted flag of the appended messages, and if COUNT is
greater than 1, do not ignore deleted messages.  Update the doc
string accordingly.  (Bug#31271)

* doc/emacs/rmail.texi (Rmail Output): Document
'rmail-output-reset-deleted-flag'.

* etc/NEWS: Mention the new user option.
2018-06-09 11:03:20 +03:00
Eli Zaretskii
f716ad94a8 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2018-06-09 09:55:46 +03: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
Basil L. Contovounesios
c8dd1bc0fb Fix default candidate of find-face-definition
* lisp/emacs-lisp/find-func.el (find-function-read): Use
face-at-point instead of variable-at-point for faces. (bug#31699)
2018-06-09 09:52:54 +03:00
Daniel Colascione
c67befd662 Avoid unnecessary readahead early in TTY frame init
We query some properties of the terminal early in initialization, and
just before we do, we perform ordinary redisplay.  This redisplay can
result in unsightly flickering if we change some aspects of the
display immediately afterward and redisplay again.  By avoiding
redisplay in xquery--query as long as we get timely responses from the
terminal, we can avoid this early unwanted redisplay.

* lisp/term/xterm.el:
(xterm-query-redisplay-timeout): New variable.
(xterm--read-event-for-query): New function.
(xterm--report-background-handler,xterm--version-handler,xterm--query):
Call it.
2018-06-08 23:22:43 -07:00