]> git.eshelyaron.com Git - emacs.git/log
emacs.git
6 years agoMerge from origin/emacs-26
Glenn Morris [Mon, 18 Jun 2018 19:14:26 +0000 (12:14 -0700)]
Merge from origin/emacs-26

ebe065f Prevent errant scroll on mouse click (Bug#31546)
ffd2018 Minor documentation fix
cf4dc95 * lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug...

6 years ago; Merge from origin/emacs-26
Glenn Morris [Mon, 18 Jun 2018 19:14:26 +0000 (12:14 -0700)]
; Merge from origin/emacs-26

The following commits were skipped:

e128434 Fix byte compilation of (eq foo 'default)
4753d79 Fix Bug#31846.  Do not merge with master

6 years agoMerge from origin/emacs-26
Glenn Morris [Mon, 18 Jun 2018 19:14:25 +0000 (12:14 -0700)]
Merge from origin/emacs-26

63ba73a Fix documentation of ':propertize' in mode-line-format
22aa665 Reject invalid 5-byte sequences when detecting UTF-8 encoding
0d3c358 Fix 'replace-buffer-contents' in multibyte buffers
c79a627 Update etc/NEWS for mail-source-movemail-program change
63f1dc4 Improve movemail default
0b1a2ae Delete description of deleted Customize functions
fcd66d0 Keep vc-print-log from putting point at buffer end (Bug#31764)

Conflicts:
etc/NEWS

6 years ago; Merge from origin/emacs-26
Glenn Morris [Mon, 18 Jun 2018 19:14:24 +0000 (12:14 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

b635c54 Don’t set EMACS=t if Bash is 4.4 or newer

6 years agoMerge from origin/emacs-26
Glenn Morris [Mon, 18 Jun 2018 19:14:24 +0000 (12:14 -0700)]
Merge from origin/emacs-26

a933ebe Improve commentary in info.el
94e84a9 ; Further wording fix in tramp.texi
a5a0b11 Fix wording in tramp.texi
2933242 * doc/misc/tramp.texi (Remote shell setup): Fix typo.

6 years ago; Merge from origin/emacs-26
Glenn Morris [Mon, 18 Jun 2018 19:14:24 +0000 (12:14 -0700)]
; Merge from origin/emacs-26

The following commits were skipped:

6d4cbe8 Finish the Bug#11728 work: hg & git
66a491f Fix Bug#11728: show files updated by git

6 years agoMerge from origin/emacs-26
Glenn Morris [Mon, 18 Jun 2018 19:14:24 +0000 (12:14 -0700)]
Merge from origin/emacs-26

5bdc344 ; Reduce quoting for SELECTOR in 'make -C test' (Bug#31744)
b6b793b ; test/Makefile.in: Add TEST_INTERACTIVE option (Bug#31744).
1aa906f Make 'tags' targets respect --with-silent-rules (Bug#31744)

Conflicts:
test/Makefile.in
test/README

6 years ago; Merge from origin/emacs-26
Glenn Morris [Mon, 18 Jun 2018 19:13:51 +0000 (12:13 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

642c11f soap-client: Add byte-code compatibility function (Bug#31742)

6 years agoMerge from origin/emacs-26
Glenn Morris [Mon, 18 Jun 2018 19:13:51 +0000 (12:13 -0700)]
Merge from origin/emacs-26

9c6f35a * doc/lispref/files.texi (Unique File Names): Fix a typo.  (B...

6 years agoImprove documentation of recent changes in Comint
Eli Zaretskii [Mon, 18 Jun 2018 16:21:09 +0000 (19:21 +0300)]
Improve documentation of recent changes in Comint

* lisp/comint.el (comint-insert-previous-argument)
(comint-arguments, comint-insert-previous-argument-from-end):
Doc fixes.
(comint-insert-previous-argument-from-end): Add :version.

* doc/emacs/misc.texi (Shell Ring): Fix a typo in the name of
'comint-insert-previous-argument'.  Document
'comint-insert-previous-argument-from-end'.  (Bug#25271)

* etc/NEWS: Reformat and rephrase the entry for recent Comint
changes.

6 years agormail-summary-by-senders defaults to sender
Richard Stallman [Mon, 18 Jun 2018 07:20:45 +0000 (00:20 -0700)]
rmail-summary-by-senders defaults to sender

* etc/NEWS: Mention this.
* lisp/mail/rmailsum.el (rmail-summary-by-senders):
Offer From field of current message as a default argument.

6 years agocomint-insert-previous-argument doesn't detect and ignore trailing &
Dima Kogan [Sun, 25 Dec 2016 19:49:44 +0000 (11:49 -0800)]
comint-insert-previous-argument doesn't detect and ignore trailing &

This function is invoked in shell-mode by the user, and is meant to
emulate what M-. does in zsh and bash: it inserts an argument from a
previous command.  Neither zsh nor bash treat a trailing & specially:
M-. simply inserts it if it is encountered.  Emacs DID have extra
logic to detect and discard trailing &, but this logic was buggy, and
a && anywhere in the sequence would confuse it.  This patch simply
removes that logic to fix the bug and to emulate zsh and bash more
closely

* lisp/comint.el (comint-insert-previous-argument): don't detect and
  ignore trailing &
  (Bug#25271)
* etc/NEWS: Document this.

6 years agocomint-insert-previous-argument counts args from start or from end
Dima Kogan [Sun, 25 Dec 2016 19:35:26 +0000 (11:35 -0800)]
comint-insert-previous-argument counts args from start or from end

This function is invoked in shell-mode by the user, and is meant to
emulate what M-. does in zsh and bash: it inserts an argument from a
previous command.  Without a prefix argument, it inserts the last arg
from the previous command; with an argument INDEX, it inserts the
INDEX-th argument.  bash counts from the start, while zsh counts from
the end.  This patch adds a variable
`comint-insert-previous-argument-from-end' that emulates the zsh
behavior if non-nil.

* lisp/comint.el (comint-arguments): can take in negative arguments to count
  from the end, same as indexing in python.
  (comint-insert-previous-argument): if
  comint-insert-previous-argument-from-end is non-nil, INDEX counts
  arguments from the end; if nil, from the beginning
  (Bug#25271)
* etc/NEWS: Document this.

6 years ago* test/lisp/simple-tests.el (simple-tests-async-shell-command-30280):
Glenn Morris [Sun, 17 Jun 2018 17:22:28 +0000 (10:22 -0700)]
* test/lisp/simple-tests.el (simple-tests-async-shell-command-30280):
Use the correct emacs executable, not first in PATH.

6 years agoAllow floats as 'pcase' QPATS
Michael Heerdegen [Wed, 13 Jun 2018 02:37:38 +0000 (04:37 +0200)]
Allow floats as 'pcase' QPATS

* lisp/emacs-lisp/pcase.el (\`): Extend semantics of QPATS to all
numbers.  Add a comment explaining why we disallow some atoms as
QPATS.
* doc/lispref/control.texi (Backquote Patterns): Update the paragraph
explaining QPATS.  Remove a sentence suggesting an analogy between
QPATS to self-quoting objects.

6 years agoMinor Flymake docstring fixes
João Távora [Sun, 17 Jun 2018 11:41:24 +0000 (12:41 +0100)]
Minor Flymake docstring fixes

* lisp/progmodes/flymake.el (flymake-diagnostic-functions):
Clarify meaning of :region in docstring.
(flymake-start): Fix broken docstring.

6 years agoPrevent errant scroll on mouse click (Bug#31546)
Aaron Jensen [Thu, 24 May 2018 10:45:03 +0000 (03:45 -0700)]
Prevent errant scroll on mouse click (Bug#31546)

* src/nsterm.m (ns_mouse_position): Use correct frame when determining
  mouse position.
* lisp/mouse.el (mouse-drag-track): Only account for mode-line height
  if `mode-line-format' is non-nil.

6 years agoFix last change
Eli Zaretskii [Sun, 17 Jun 2018 10:13:52 +0000 (13:13 +0300)]
Fix last change

* etc/NEWS: Fix last added entry.

* lisp/subr.el (dotimes-with-progress-reporter)
(dolist-with-progress-reporter): Fix the advertised signature.

* doc/lispref/display.texi (Progress): Fix last change.
(Bug#31696)  (Bug#31697)

6 years agoAdd new macro dolist-with-progress-reporter
Tino Calancha [Sun, 17 Jun 2018 09:28:34 +0000 (18:28 +0900)]
Add new macro dolist-with-progress-reporter

* lisp/subr.el (dolist-with-progress-reporter): New macro (Bug#31697).
* lisp/cus-edit.el (custom-group-value-create): Use it.
* lisp/dabbrev.el (dabbrev--progress-reporter): Delete variable.
(dabbrev--find-expansion): Use dotimes-with-progress-reporter.

* doc/lispref/display.texi: Document the macro.
; * etc/NEWS: Announce it.

6 years agodotimes-with-progress-reporter: Polymorphic 2nd argument
Tino Calancha [Sun, 17 Jun 2018 09:28:34 +0000 (18:28 +0900)]
dotimes-with-progress-reporter: Polymorphic 2nd argument

* lisp/subr.el (dotimes-with-progress-reporter): Allow 2nd arg to be
a string or a progress reporter (Bug#31696).
* doc/lispref/display.texi (node Progress): Update manual.

6 years agoCleanup secrets-tests
Michael Albinus [Sun, 17 Jun 2018 09:19:16 +0000 (11:19 +0200)]
Cleanup secrets-tests

* test/lisp/net/secrets-tests.el (secrets-test03-items)
(secrets-test04-search): Cleanup "session" collection initially.

6 years agoMinor documentation fix
Eli Zaretskii [Sun, 17 Jun 2018 08:19:59 +0000 (11:19 +0300)]
Minor documentation fix

* doc/lispref/windows.texi (Window Start and End): Improve
documentation and indexing of window-end.

6 years agoWhen possible, prefer UTF-8 as the safe encoding for saving
Eli Zaretskii [Sun, 17 Jun 2018 07:40:29 +0000 (10:40 +0300)]
When possible, prefer UTF-8 as the safe encoding for saving

* lisp/international/mule-cmds.el (select-safe-coding-system):
If possible, offer UTF-8 as the default encoding.  (Bug#31807)

6 years ago* lisp/window.el (window-toggle-side-windows): Doc fix. (Bug#31858)
Eli Zaretskii [Sun, 17 Jun 2018 05:42:11 +0000 (08:42 +0300)]
* lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug#31858)

6 years ago; * etc/NEWS: Tweak a recently-added NEWS entry.
Eli Zaretskii [Sun, 17 Jun 2018 05:22:23 +0000 (08:22 +0300)]
; * etc/NEWS: Tweak a recently-added NEWS entry.

6 years agoApply non-user themes only when asked
Daniel Colascione [Sat, 16 Jun 2018 22:42:56 +0000 (15:42 -0700)]
Apply non-user themes only when asked

Theme settings now generally aren't actually applied until a call to
`enable-theme-, either one made explicitly or implicitly through
`load-theme' with NO-ENABLE nil.  This change has the effect of not
applying theme changes just because we load a lisp file containing a
theme specification.  The previous behavior is preserved for the
special case of the `user' theme, which is frequently used for
ad-hoc customization.

* lisp/cus-face.el (custom-theme-set-faces): Call
`custom--should-apply-setting' to decide whether to apply
a setting.

* lisp/custom.el (custom--should-apply-setting): New function.
(custom--inhibit-theme-enable): Add `apply-only-user' option;
default to it.
(custom-push-theme, custom-theme-set-variables): Call
`custom--should-apply-setting' to decide whether to apply
a setting.

6 years agoDon't forget to analyze args of lambda lifted functions (Bug#30872)
Noam Postavsky [Thu, 7 Jun 2018 23:58:47 +0000 (19:58 -0400)]
Don't forget to analyze args of lambda lifted functions (Bug#30872)

* lisp/emacs-lisp/cconv.el (cconv--convert-funcbody): New function.
(cconv--convert-function): Extracted from here.
(cconv-convert): Also use it here, in the lambda lifted case, so that
mutated args are properly accounted for.
* test/lisp/emacs-lisp/cconv-tests.el: New test.

6 years agoFix off by one error in python-mode assertion (Bug#30964)
Noam Postavsky [Sat, 2 Jun 2018 20:22:17 +0000 (16:22 -0400)]
Fix off by one error in python-mode assertion (Bug#30964)

* lisp/progmodes/python.el (python-nav-end-of-statement): Don't assert
that string-start is strictly greater than last-string-end, because
the string end is a position outside of the string and may therefore
be the same as the following string's start.
* test/lisp/progmodes/python-tests.el (python-nav-end-of-statement-2):
New test.

6 years agoRestore old echo_truncate condition
Daniel Colascione [Sat, 16 Jun 2018 21:21:54 +0000 (14:21 -0700)]
Restore old echo_truncate condition

* src/keyboard.c (read_key_sequence): Restore old
echo_truncate condition.

6 years agoMake regex matching reentrant; update syntax during match
Daniel Colascione [Sat, 16 Jun 2018 20:46:10 +0000 (13:46 -0700)]
Make regex matching reentrant; update syntax during match

* src/lisp.h (compile_pattern): Remove prototype of
now-internal function.

* src/regex.c (POS_AS_IN_BUFFER): Consult gl_state instead of
re_match_object: the latter can change in Lisp.
(re_match_2_internal): Switch back to UPDATE_SYNTAX_* FROM
UPDATE_SYNTAX_FAST*, allowing calls into Lisp.

* src/regex.h (re_match_object): Uncomment declaration.

* src/search.c (struct regexp_cache): Add `busy' field.
(thaw_buffer_relocation): Delete; rely on unbind.
(compile_pattern_1): Assert pattern isn't busy.
(shrink_regexp_cache): Don't shrink busy patterns.
(clear_regexp_cache): Don't nuke busy patterns.
(unfreeze_pattern, freeze_pattern): New functions.
(compile_pattern): Return a regexp_cache pointer instead of the
re_pattern_buffer, allowing callers to use `freeze_pattern' if
needed.  Do not consider busy patterns as cache hit candidates;
error if we run out of non-busy cache entries.
(looking_at_1, fast_looking_at): Snapshot
Vinhibit_changing_match_data; mark pattern busy while we're
matching it; unbind.
(string_match_1, fast_string_match_internal)
(fast_c_string_match_ignore_case): Adjust for compile_pattern
return type.
(search_buffer_re): Regex code from old search_buffer moved here;
snapshot Vinhibit_changing_match_data; mark pattern busy while
we're matching it; unbind.
(search_buffer_non_re): Non-regex code from old search_buffer
moved here.
(search_buffer): Split into search_buffer_re,
search_buffer_non_re.
(syms_of_search): Staticpro re_match_object, even though we really
shouldn't have to.

* src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
(UPDATE_SYNTAX_TABLE_FAST): Remove.

* src/thread.h (struct thread_state): Remove m_re_match_object,
which is global again.  (It never needs to be preserved across
thread switch.)

6 years agoDecouple dired from regex internals
Daniel Colascione [Sat, 16 Jun 2018 19:43:56 +0000 (12:43 -0700)]
Decouple dired from regex internals

* src/dired.c: Remove use of regex.h
(directory_files_internal): Use higher-level regular
expression functions.

6 years agoRemove commented-out code in compile_pattern_1
Daniel Colascione [Sat, 16 Jun 2018 06:53:36 +0000 (23:53 -0700)]
Remove commented-out code in compile_pattern_1

* src/search.c (compile_pattern_1): Remove commented-out code.

6 years agoTweak field ordering in re_pattern_buffer
Daniel Colascione [Sat, 16 Jun 2018 06:48:26 +0000 (23:48 -0700)]
Tweak field ordering in re_pattern_buffer

* src/regex.h (struct re_pattern_buffer): Reorder charset_unibyte
field to keep bitfields together.

6 years agoFix a docstring
Bozhidar Batsov [Sat, 16 Jun 2018 20:00:50 +0000 (23:00 +0300)]
Fix a docstring

6 years agoFix references to RuboCop in ruby-mode.el
Bozhidar Batsov [Sat, 16 Jun 2018 19:58:33 +0000 (22:58 +0300)]
Fix references to RuboCop in ruby-mode.el

6 years agoFix bug in elisp-flymake-byte-compile
João Távora [Sat, 16 Jun 2018 17:08:09 +0000 (18:08 +0100)]
Fix bug in elisp-flymake-byte-compile

* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile): Pass
keyword args to make-process.

6 years agoFix byte compilation of (eq foo 'default)
Paul Eggert [Sat, 16 Jun 2018 14:44:58 +0000 (07:44 -0700)]
Fix byte compilation of (eq foo 'default)

Backport from master.
Do not use the symbol ‘default’ as a special marker.
Instead, use a value that cannot appear in the program,
improving on a patch proposed by Robert Cochran (Bug#31718#14).
* lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
New constant.
(byte-compile-cond-jump-table-info)
(byte-compile-cond-jump-table): Use it instead of 'default.
* test/lisp/emacs-lisp/bytecomp-tests.el:
(byte-opt-testsuite-arith-data): Add a test for the bug.

6 years agoRewrite memory-limit in Lisp
Paul Eggert [Sat, 16 Jun 2018 15:11:37 +0000 (08:11 -0700)]
Rewrite memory-limit in Lisp

Have it return Emacs virtual memory size, not the sbrk value
which is often useless newadays.
* doc/lispref/internals.texi (Garbage Collection):
* etc/NEWS: Document this.
* lisp/subr.el (memory-limit): New implementation in Lisp,
written in terms of process-attributes, and which returns
virtual memory size.
* src/alloc.c (Fmemory_limit): Remove C implementation.

6 years agoFix byte compilation of (eq foo 'default)
Paul Eggert [Sat, 16 Jun 2018 14:44:58 +0000 (07:44 -0700)]
Fix byte compilation of (eq foo 'default)

Do not use the symbol ‘default’ as a special marker.
Instead, use a value that cannot appear in the program,
improving on a patch proposed by Robert Cochran (Bug#31718#14).
* lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
New constant.
(byte-compile-cond-jump-table-info)
(byte-compile-cond-jump-table): Use it instead of 'default.
* test/lisp/emacs-lisp/bytecomp-tests.el:
(byte-opt-testsuite-arith-data): Add a test for the bug.

6 years agoFix Bug#31846. Do not merge with master
Michael Albinus [Sat, 16 Jun 2018 14:05:07 +0000 (16:05 +0200)]
Fix Bug#31846.  Do not merge with master

* lisp/net/secrets.el (secrets-search-items)
(secrets-create-item): Fix format of :dict-entry values.  (Bug#31846)

6 years agoUse mint_ptr in w32notify.c
Eli Zaretskii [Sat, 16 Jun 2018 11:16:53 +0000 (14:16 +0300)]
Use mint_ptr in w32notify.c

* src/w32notify.c (Fw32notify_add_watch, Fw32notify_rm_watch)
(Fw32notify_valid_p, w32_get_watch_object): Use make_mint_ptr and
xmint_pointer.

6 years agoFix documentation of ':propertize' in mode-line-format
Eli Zaretskii [Sat, 16 Jun 2018 11:00:47 +0000 (14:00 +0300)]
Fix documentation of ':propertize' in mode-line-format

* doc/lispref/modes.texi (Mode Line Data): Make the description of
':propertize' more accurate.  (Bug#26291)

6 years ago* doc/lispref/text.texi (Parsing JSON): Minor formatting changes.
Eli Zaretskii [Sat, 16 Jun 2018 10:49:36 +0000 (13:49 +0300)]
* doc/lispref/text.texi (Parsing JSON): Minor formatting changes.

6 years agoMinor doc string fixes in json.c
Eli Zaretskii [Sat, 16 Jun 2018 10:40:38 +0000 (13:40 +0300)]
Minor doc string fixes in json.c

* src/json.c (Fjson_serialize, Fjson_insert): Fix 'usage'.

6 years agoFormatting and doc fixes in recent changes
Eli Zaretskii [Sat, 16 Jun 2018 10:27:24 +0000 (13:27 +0300)]
Formatting and doc fixes in recent changes

* src/xfaces.c (evaluate_face_filter): Explain the inner braces.
(merge_face_ref): Fix whitespace.
(syms_of_xfaces) <face-filters-always-match>: Doc fix.
* src/xdisp.c (extend_face_to_end_of_line): Fix whitespace.

6 years agoImprove documentation of several recent changes
Eli Zaretskii [Sat, 16 Jun 2018 10:10:52 +0000 (13:10 +0300)]
Improve documentation of several recent changes

* src/xfaces.c (merge_face_ref): Fix a typo in the commentary.
(evaluate_face_filter, filter_face_ref): Minor copyedits in
the commentary.
* doc/lispref/display.texi (Face Remapping):
* doc/lispref/text.texi (Special Properties): Document the
':filter' face specs and their effects.  Document
'face-filters-always-match'.

* doc/emacs/files.texi (Visiting): Document the new
possibility to visit large files literally in response to
question asked by Emacs.
* etc/NEWS: Mention the new possibility to visit large files
literally.
* lisp/files.el (files--ask-user-about-large-file): Use
"literally" instead of "raw", for consistency with
find-file-literally.

* doc/lispref/frames.texi (Input Focus): Tell explicitly that
focus-change events are sometimes supported on TTY frames.

6 years agoPrevent QUIT to top level inside 'while-no-input'
Eli Zaretskii [Sat, 16 Jun 2018 08:25:01 +0000 (11:25 +0300)]
Prevent QUIT to top level inside 'while-no-input'

* lisp/subr.el (while-no-input): Handle the case when BODY
never tests quit-flag, and runs to completion even though
input arrives while BODY executes.  (Bug#31692)

6 years agoFix a typo in xmenu.c
Eli Zaretskii [Sat, 16 Jun 2018 07:17:05 +0000 (10:17 +0300)]
Fix a typo in xmenu.c

* src/xmenu.c (x_menu_show): Replace a call to
record_unwind_protect_pointer with record_unwind_protect_ptr.
(Bug#31856)

6 years agoFix --with-cairo build
Ari Roponen [Sat, 16 Jun 2018 05:37:04 +0000 (08:37 +0300)]
Fix --with-cairo build

* src/xterm.c (x_cr_destroy): Remove extra semicolon.
(x_cr_export_frames): Fix a typo in calling
record_unwind_protect_ptr.  (Bug#31856)

6 years ago* src/Makefile.in: Update paxctl comment.
Paul Eggert [Fri, 15 Jun 2018 23:11:41 +0000 (16:11 -0700)]
* src/Makefile.in: Update paxctl comment.

6 years agoMinor CANNOT_DUMP cleanups
Paul Eggert [Fri, 15 Jun 2018 22:51:39 +0000 (15:51 -0700)]
Minor CANNOT_DUMP cleanups

Mostly, this avoids munging executables when CANNOT_DUMP = yes,
as the munging is needed only for unexec.
* configure.ac (PAXCTL_dumped, PAXCTL_notdumped) [CANNOT_DUMP]:
Leave these empty.
(LD_SWITCH_SYSTEM_TEMACS) [CANNOT_DUMP]:
Do not append -no-pie or -nopie.
* src/alloc.c (my_heap_start) [CANNOT_DUMP]: Omit; not used.

6 years agoRemove old combreloc hack
Paul Eggert [Fri, 15 Jun 2018 21:37:39 +0000 (14:37 -0700)]
Remove old combreloc hack

It has not been needed for many years and gets in the way of
portable dumping, address sanitization, etc.  See:
https://lists.gnu.org/r/emacs-devel/2016-12/msg00147.html
* configure.ac (LDFLAGS_NOCOMBRELOC, emacs_cv_znocombreloc):
Remove.  All uses removed.
* etc/PROBLEMS: Remove discussion of combreloc problems.

6 years agoFix typo in previous macfont.m change
Paul Eggert [Fri, 15 Jun 2018 20:40:12 +0000 (13:40 -0700)]
Fix typo in previous macfont.m change

* src/macfont.m (macfont_descriptor_entity): Fix typo.
Problem reported by Clemens Schüller.

6 years agoRestore macfont.m casts to void *
Paul Eggert [Fri, 15 Jun 2018 16:06:13 +0000 (09:06 -0700)]
Restore macfont.m casts to void *

* src/macfont.m (macfont_set_family_cache): Restore casts
to void * that were mistakenly removed in my recent change.
The types in question are pointer-to-const.  Problem
reported by Clemens Schüller.

6 years agoFix a bug in Flymake handling of region-specific reports
João Távora [Fri, 15 Jun 2018 14:48:59 +0000 (15:48 +0100)]
Fix a bug in Flymake handling of region-specific reports

The backend's diagnostic list must be updated too, not just cleared.

* lisp/progmodes/flymake.el (flymake--diag): Add overlay field.
(flymake--highlight-line): Return created overlay.
(flymake--handle-report): Iterate the backend's diagnostics, not
the overlays.  Set diagnostic overlay.
(flymake--run-backend): Don't clean diagnostic list here.
(flymake-mode): Call delete-overlay directly.

6 years agoFix building --without-x and similar
Eli Zaretskii [Fri, 15 Jun 2018 14:45:27 +0000 (17:45 +0300)]
Fix building --without-x and similar

* src/keyboard.c (make_lispy_focus_out): Compile it
unconditionally, as it is now supported on TTYs as well.
Reported by Filipp Gunbin <fgunbin@fastmail.fm>.

6 years agoReject invalid 5-byte sequences when detecting UTF-8 encoding
Eli Zaretskii [Fri, 15 Jun 2018 14:39:34 +0000 (17:39 +0300)]
Reject invalid 5-byte sequences when detecting UTF-8 encoding

* src/coding.c (detect_coding_utf_8): Reject multibyte sequences
whose leading byte is greater than MAX_MULTIBYTE_LEADING_CODE.
(Bug#31829)
* src/character.h (MAX_MULTIBYTE_LEADING_CODE): Add commentary
about the connection between the value of this macro and MAX_CHAR.

6 years agoFlymake and backends exchange hints abouts changed regions
João Távora [Fri, 15 Jun 2018 11:17:37 +0000 (12:17 +0100)]
Flymake and backends exchange hints abouts changed regions

* lisp/progmodes/flymake.el (flymake--delete-own-overlays): Accept
BEG and END.  Rename from flymake-delete-own-overlays.
(flymake-diagnostic-functions): Describe :region, :recent-changes
in docstring.
(flymake--handle-report): Accept REGION.
(flymake--run-backend): Accept optional ARGS to pass to backend
fn.
(flymake--recent-changes): New buffer-local variable.
(flymake-start): Call flymake--run-backend with recent changes.
(flymake-mode): Initialize flymake--recent-changes.  Call
flymake--delete-own-overlays.
(flymake-after-change-function): Collect recent changes.

* doc/misc/flymake.texi (Backend functions): Describe
:recent-changes and :region.

* etc/NEWS (Flymake): Mention improvements in backend communication.

6 years agoFix 'replace-buffer-contents' in multibyte buffers
Eli Zaretskii [Fri, 15 Jun 2018 08:27:56 +0000 (11:27 +0300)]
Fix 'replace-buffer-contents' in multibyte buffers

* src/editfns.c (buffer_chars_equal): Pass a byte position to
BUF_FETCH_CHAR_AS_MULTIBYTE, not a character position.
(Bug#31837)

* test/src/editfns-tests.el (replace-buffer-contents-bug31837):
New test.

6 years agoUpdate etc/NEWS for mail-source-movemail-program change
Robert Pluim [Fri, 15 Jun 2018 08:24:43 +0000 (10:24 +0200)]
Update etc/NEWS for mail-source-movemail-program change

* etc/NEWS: Describe change in how we search for
mail-source-movemail-program.

6 years agoImprove movemail default
Robert Pluim [Fri, 15 Jun 2018 07:40:53 +0000 (00:40 -0700)]
Improve movemail default

* lisp/gnus/mail-source.el (mail-source-movemail-program):
Change default to "movemail".
(mail-source-movemail): Pass just mail-source-movemail-program to
call-process instead of fully specifying it relative to
exec-directory.  Ensures that we will find Mailutils movemail if
it is installed.  (Bug#31737)

6 years agoDelete description of deleted Customize functions
Eli Zaretskii [Fri, 15 Jun 2018 07:32:45 +0000 (10:32 +0300)]
Delete description of deleted Customize functions

* doc/lispref/customize.texi (Variable Definitions): Remove the
description of 'custom-initialize-safe-set' and
'custom-initialize-safe-default', which were deleted in Emacs
23.2, and replace with the description of
'custom-initialize-delay'.

6 years agocustomize-apropos: Separate package name from its description
Tino Calancha [Fri, 15 Jun 2018 07:21:03 +0000 (16:21 +0900)]
customize-apropos: Separate package name from its description

* lisp/cus-edit.el (custom-group-value-create):
Always insert documentation indented from its package name (Bug#31466).

6 years agoRemove Lisp_Misc_Save_Value
Paul Eggert [Fri, 8 Jun 2018 02:12:29 +0000 (19:12 -0700)]
Remove Lisp_Misc_Save_Value

This type and its associated routines are no longer used.
* src/alloc.c (voidfuncptr): Move here from src/lisp.h.
(free_misc, make_save_int_int_int)
(make_save_obj_obj_obj_obj, make_save_ptr)
(make_save_ptr_int, make_save_ptr_ptr)
(make_save_funcptr_ptr_obj, make_save_memory)
(free_save_value, mark_save_value):
Remove.
(mark_object): Remove mention of Lisp_Misc_Save_Value.
* src/lisp.h (Lisp_Misc_Save_Value, SAVE_SLOT_BITS)
(SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, enum Lisp_Save_Type)
(struct Lisp_Save_Value, SAVE_VALUEP, XSAVE_VALUE)
(save_type, XSAVE_POINTER, set_save_pointer)
(XSAVE_FUNCPOINTER, XSAVE_INTEGER, set_save_integer)
(XSAVE_OBJECT): Remove.
(union Lisp_Misc): Remove u_save_value.
(voidfuncptr): Move from here to src/alloc.c.
* src/print.c (print_object):
Remove support for printing Lisp_Misc_Save_Value.

6 years agoNew type Lisp_Misc_Ptr
Paul Eggert [Fri, 8 Jun 2018 02:12:28 +0000 (19:12 -0700)]
New type Lisp_Misc_Ptr

This is a streamlined version of Lisp_Save_Value, which contains just
a pointer, as that is all Lisp_Save_Values are used for any more.
With the previous changes, these objects are not primarily used as
save values, so just call them "Misc" rather than "Save".
* src/alloc.c (make_misc_ptr): New function.
(mark_object): Mark Lisp_Misc_Ptr too.
* src/lisp.h (Lisp_Misc_Ptr): New constant.
(struct Lisp_Misc_Ptr): New type.
(make_mint_ptr, mint_ptrp, xmint_pointer):
Use Lisp_Misc_Ptr, not Lisp_Save_Value.
(union Lisp_Misc): Add Lisp_Misc_Ptr.
* src/print.c (print_object): Print Lisp_Misc_Ptr.

6 years agoAvoid allocating Lisp_Save_Value for arrays
Paul Eggert [Fri, 8 Jun 2018 02:12:28 +0000 (19:12 -0700)]
Avoid allocating Lisp_Save_Value for arrays

* src/alloc.c (mark_maybe_objects): New function.
* src/eval.c (default_toplevel_binding)
(backtrace_eval_unrewind, Fbacktrace__locals):
Treat array unwindings like other miscellaneous pdl types.
(record_unwind_protect_array): New function.
(do_one_unbind): Free the array while unwinding.
(mark_specpdl): Mark arrays directly.
* src/lisp.h (SPECPDL_UNWIND_ARRAY): New constant.
(union specbinding): New member unwind_array.
(SAFE_ALLOCA_LISP_EXTRA): Use record_unwind_protect_array
instead of make_save_memory + record_unwind_protect.

6 years agoAvoid allocating Lisp_Save_Value for excursions
Paul Eggert [Thu, 14 Jun 2018 22:59:09 +0000 (15:59 -0700)]
Avoid allocating Lisp_Save_Value for excursions

* src/editfns.c (save_excursion_save): New arg PDL,
specifying where to save the state.  All uses changed.
(save_excursion_restore): Args are now the marker and info
rather than a pointer to a Lisp_Save_Value containing them.
All uses changed.
* src/eval.c (default_toplevel_binding, Fbacktrace__locals):
Treat excursions like other miscellaneous pdl types.
(record_unwind_protect_excursion): Save data directly
into the pdl rather than creating an object on the heap.
This avoids the need to allocate and free an object.
(do_one_unbind, backtrace_eval_unrewind):
Unwind excursions directly.
(mark_specpdl): Mark excursions directly.
* src/lisp.h (SPECPDL_UNWIND_EXCURSION): New constant.
(union specbinding): New member unwind_excursion.

6 years agoJust use cons in macfont_descriptor_entity
Paul Eggert [Thu, 14 Jun 2018 22:59:09 +0000 (15:59 -0700)]
Just use cons in macfont_descriptor_entity

* src/macfont.m (macfont_descriptor_entity): Use cons instead
of make_save_ptr_int, as this avoids the need for a special
type and function for this one-off.

6 years agoAvoid allocating a Lisp_Save_Value in ftfont.c
Paul Eggert [Thu, 14 Jun 2018 22:59:08 +0000 (15:59 -0700)]
Avoid allocating a Lisp_Save_Value in ftfont.c

* src/ftfont.c (struct ftfont_cache_data): New member face_refcount.
(ftfont_lookup_cache): Clear it when initializing.
Use make_mint_ptr, since this typically avoids the need to
allocate a Lisp_Save_Value as refcount is now stored elsewhere.
(ftfont_open2, ftfont_close): Manipulate the reference
count in the struct, not in the save object.

6 years agoUse record_unwind_protect_ptr to avoid allocation
Paul Eggert [Thu, 14 Jun 2018 22:59:08 +0000 (15:59 -0700)]
Use record_unwind_protect_ptr to avoid allocation

* src/term.c (struct tty_pop_down_menu): New type.
(tty_pop_down_menu, tty_menu_show): Use it, along with
record_unwind_protect_ptr, to avoid allocating a Lisp_Misc.
* src/xmenu.c (struct pop_down_menu): New type.
(pop_down_menu, x_menu_show): Use it, likewise.
* src/xterm.c (x_cr_destroy, x_cr_export_frames):
Use record_unwind_protect_pointer to avoid possibly allocating
a Lisp_Misc.

6 years agoAvoid Lisp_Misc allocation if C stack suffices
Paul Eggert [Thu, 14 Jun 2018 22:59:08 +0000 (15:59 -0700)]
Avoid Lisp_Misc allocation if C stack suffices

* src/fileio.c (union read_non_regular): New type.
(read_non_regular, Finsert_file_contents):
Use it to avoid allocating a Lisp_Misc.
* src/keymap.c (union map_keymap): New type.
(map_keymap_char_table_item, map_keymap_internal):
Use it to avoid allocating a Lisp_Misc.

6 years agoSimplify init_module_assertions
Paul Eggert [Thu, 14 Jun 2018 22:59:08 +0000 (15:59 -0700)]
Simplify init_module_assertions

* src/emacs-module.c (init_module_assertions): Just use NULL
instead of allocating a dummy on the stack and then using
eassert.  Practical platforms check for null pointer
dereferencing nowadays, so this is good enough.

6 years agoNew mint_ptr representation for C pointers
Paul Eggert [Thu, 14 Jun 2018 22:59:08 +0000 (15:59 -0700)]
New mint_ptr representation for C pointers

* src/lisp.h (make_mint_ptr, mint_ptrp, xmint_pointer): New functions.
* src/dbusbind.c (xd_lisp_dbus_to_dbus, Fdbus__init_bus):
* src/emacs-module.c (module_free_global_ref, Fmodule_load)
(module_assert_runtime, module_assert_env, value_to_lisp)
(lisp_to_value, initialize_environment)
(finalize_environment, finalize_runtime_unwind)
(mark_modules):
* src/font.c (otf_open, font_put_frame_data)
(font_get_frame_data):
* src/macfont.m (macfont_invalidate_family_cache)
(macfont_get_family_cache_if_present)
(macfont_set_family_cache):
* src/nsterm.h (XNS_SCROLL_BAR):
* src/nsterm.m (ns_set_vertical_scroll_bar)
(ns_set_horizontal_scroll_bar):
* src/w32fns.c (w32_monitor_enum)
(w32_display_monitor_attributes_list):
* src/xterm.c (x_cr_destroy, x_cr_export_frames):
* src/xwidget.c (webkit_javascript_finished_cb)
(save_script_callback, Fxwidget_webkit_execute_script)
(kill_buffer_xwidgets):
Use mint pointers instead of merely save pointers.

6 years agoKeep vc-print-log from putting point at buffer end (Bug#31764)
Noam Postavsky [Tue, 12 Jun 2018 00:00:54 +0000 (20:00 -0400)]
Keep vc-print-log from putting point at buffer end (Bug#31764)

* lisp/vc/vc.el (vc-print-log-internal): Use `save-excursion' around
`vc-print-log-setup-buttons'.

6 years agoAlso allow custom false and null when serializing to JSON
João Távora [Fri, 8 Jun 2018 01:35:50 +0000 (02:35 +0100)]
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.

6 years agoSupport custom null and false objects when parsing JSON
João Távora [Thu, 7 Jun 2018 16:41:19 +0000 (17:41 +0100)]
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.

6 years agoDon’t set EMACS=t if Bash is 4.4 or newer
Paul Eggert [Sat, 26 May 2018 20:29:06 +0000 (13:29 -0700)]
Don’t set EMACS=t if Bash is 4.4 or newer

(Backport from master.)
(Thanks to Stefan Monnier for improvements to this patch.)
* lisp/term.el (term--bash-needs-EMACS-status): New var.
(term--bash-needs-EMACSp): New function.
(term-exec-1): Use it instead of always setting EMACS.

6 years agoImprove commentary in info.el
Eli Zaretskii [Thu, 14 Jun 2018 13:54:08 +0000 (16:54 +0300)]
Improve commentary in info.el

* lisp/info.el: Explain in commentary why some commands start with
"info-" and others with "Info-".  See also
http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00482.html.

6 years agoFix pretty-printing empty objects as null
Damien Cassou [Sat, 19 May 2018 06:36:32 +0000 (08:36 +0200)]
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.

6 years agoRemove some wrong 8-byte alignment assumptions
Paul Eggert [Wed, 13 Jun 2018 20:30:29 +0000 (13:30 -0700)]
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.

6 years ago; Further wording fix in tramp.texi
Michael Albinus [Wed, 13 Jun 2018 08:28:39 +0000 (10:28 +0200)]
; Further wording fix in tramp.texi

6 years agoFix wording in tramp.texi
Michael Albinus [Wed, 13 Jun 2018 07:34:35 +0000 (09:34 +0200)]
Fix wording in tramp.texi

* doc/misc/tramp.texi (Frequently Asked Questions):
Fix wording for abbreviations.

6 years ago* doc/misc/tramp.texi (Remote shell setup): Fix typo.
Michael Albinus [Wed, 13 Jun 2018 07:21:29 +0000 (09:21 +0200)]
* doc/misc/tramp.texi (Remote shell setup): Fix typo.

6 years agoClarify that enabling a theme does not disable other themes
Daniel Colascione [Wed, 13 Jun 2018 06:28:47 +0000 (23:28 -0700)]
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.

6 years agoIgnore focus events for dead frames
Daniel Colascione [Wed, 13 Jun 2018 06:09:23 +0000 (23:09 -0700)]
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.

6 years ago* lisp/textmodes/ispell.el (ispell-menu-map): Init in declaration
Stefan Monnier [Tue, 12 Jun 2018 21:06:32 +0000 (17:06 -0400)]
* 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.

6 years agoFinish the Bug#11728 work: hg & git
Sam Steingold [Fri, 3 Nov 2017 16:00:35 +0000 (12:00 -0400)]
Finish the Bug#11728 work: hg & git

* lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
Do not set `compilation-error-regexp-alist', this is done in
`vc-compilation-mode'.
(vc-git-error-regexp-alist): Tweak the regexp.
* lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
(vc-hg--pushpull): Accept `post-processing' argument.
Call them after the `command'.
(vc-hg-pull): Pass the `post-processing' commands that show which
are to be modified by the `update', and then run `update'.

6 years agoFix Bug#11728: show files updated by git
Sam Steingold [Wed, 1 Nov 2017 23:13:46 +0000 (19:13 -0400)]
Fix Bug#11728: show files updated by git

* lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
`compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
(vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
(vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.

6 years ago; Assorted documentation fixes in recent changes
Eli Zaretskii [Tue, 12 Jun 2018 16:26:44 +0000 (19:26 +0300)]
; 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.

6 years agoFix initialization of custom-delayed-init-variables
Eli Zaretskii [Tue, 12 Jun 2018 15:03:56 +0000 (18:03 +0300)]
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.

6 years agoGive warning if losing value to defvaralias (Bug#5950)
Noam Postavsky [Fri, 25 May 2018 12:40:55 +0000 (08:40 -0400)]
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.

6 years agoLet display-warning work during bootstrap
Noam Postavsky [Sat, 26 May 2018 01:37:17 +0000 (21:37 -0400)]
Let display-warning work during bootstrap

* lisp/emacs-lisp/warnings.el (display-warning): Only call
`special-mode' and `newline' if they are `fbound'.

6 years ago; Reduce quoting for SELECTOR in 'make -C test' (Bug#31744)
Noam Postavsky [Thu, 7 Jun 2018 01:25:52 +0000 (21:25 -0400)]
; Reduce quoting for SELECTOR in 'make -C test' (Bug#31744)

Before:

    make -C test SELECTOR='\"foo\"'
    make -C test SELECTOR='(quote (tag :some-tag))'

After:

    make -C test SELECTOR='"foo"'
    make -C test SELECTOR='(tag :some-tag)'

* test/Makefile.in: Use single quotes around the command line call to
ert, this means the user doesn't have to backslash escape double
quotes when writing lisp strings for the selector.  Also wrap the
SELECTOR value in (quote ...) so the user won't have to type it
in (and not get tempted to use the '... reader syntax form which would
now fail to work due to using single quotes around the whole shell
arg).
* test/README: Update instructions accordingly.

6 years ago; test/Makefile.in: Add TEST_INTERACTIVE option (Bug#31744).
Noam Postavsky [Sun, 17 Dec 2017 01:06:11 +0000 (20:06 -0500)]
; test/Makefile.in: Add TEST_INTERACTIVE option (Bug#31744).

* test/README: Note the new option.

6 years agoMake 'tags' targets respect --with-silent-rules (Bug#31744)
Noam Postavsky [Thu, 7 Dec 2017 09:31:47 +0000 (04:31 -0500)]
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.

6 years ago* lisp/progmodes/sql.el Add MariaDB support (Robert Cochran)
Michael R. Mauger [Mon, 11 Jun 2018 00:01:36 +0000 (20:01 -0400)]
* 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

6 years agosoap-client: Add byte-code compatibility function (Bug#31742)
Thomas Fitzsimmons [Sat, 9 Jun 2018 02:41:28 +0000 (22:41 -0400)]
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>
Backport: (cherry picked from commit
1feb2e221349f26ec26bc684e0cce2acecbed3ca)

6 years agosoap-client: Add byte-code compatibility function (Bug#31742)
Thomas Fitzsimmons [Sat, 9 Jun 2018 02:41:28 +0000 (22:41 -0400)]
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>
6 years agoAdd after-delete-frame-functions
Daniel Colascione [Mon, 11 Jun 2018 23:54:23 +0000 (16:54 -0700)]
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.

6 years agoMake blink-cursor-mode use new focus functions
Daniel Colascione [Mon, 11 Jun 2018 23:08:29 +0000 (16:08 -0700)]
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'.