Paul Eggert [Tue, 3 Apr 2018 15:12:41 +0000 (08:12 -0700)]
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.
Robert Pluim [Tue, 3 Apr 2018 09:06:01 +0000 (11:06 +0200)]
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.
Eli Zaretskii [Tue, 3 Apr 2018 11:30:54 +0000 (14:30 +0300)]
Document custom-variable-history
* etc/NEWS:
* doc/lispref/minibuf.texi (Minibuffer History): Document
'custom-variable-history'.
Alan Mackenzie [Mon, 2 Apr 2018 19:53:41 +0000 (19:53 +0000)]
* lisp/progmodes/cc-{defs,engine,langs,vars}.el: Comment the use of "a\\`"
Paul Eggert [Mon, 2 Apr 2018 19:19:00 +0000 (12:19 -0700)]
Clarify eq on floats
* doc/lispref/objects.texi (Equality Predicates):
Say that two floats with the same values might or might not be eq.
Gemini Lasswell [Mon, 2 Apr 2018 16:34:31 +0000 (09:34 -0700)]
Fix Testcover bug in handling of vectors containing dotted lists
* lisp/emacs-lisp/testcover.el (testcover-analyze-coverage-compose):
Handle dotted lists. Fix bug#30909.
* test/lisp/emacs-lisp/testcover-resources/testcases.el:
(dotted-list-in-vector-bug-30909): New test case.
(quotes-within-backquotes-bug-25316, dotted-backquote)
(quoted-backquote, backquoted-vector-bug-25316)
(vector-in-macro-spec-bug, backquoted-dotted-alist): Change
docstrings to mention analyzing code instead of reinstrumenting
it.
Charles A. Roelli [Mon, 2 Apr 2018 14:18:23 +0000 (16:18 +0200)]
Add a history variable for `read-variable'
* src/minibuf.c (Fread_variable): Use the history variable when
calling Fcompleting_read.
(syms_of_minibuf): New history variable, custom-variable-history.
Alan Mackenzie [Mon, 2 Apr 2018 11:33:24 +0000 (11:33 +0000)]
Optimize c-syntactic-skip-backward, c-determine-limit for large comment blocks
* lisp/progmodes/cc-engine.el (c-ssb-lit-begin): Remove.
(c-syntactic-skip-backward): Remove the surrounding c-self-bind-state-cache.
Use the standard function c-literal-start in place of the special purpose
c-ssb-lit-begin. With a suitable skip-chars argument (the usual case),
optimize by invoking c-backward-syntactic-ws to move back over comment blocks.
(c-determine-limit-get-base): Inovke an early c-backward-syntactic-ws.
(c-determine-limit): Use c-forward-comment whilst moving forward. Cope with
an empty position stack whilst looking for non-literals (bug fix). In the
recursive call, double try-size to prevent Lisp stack overflow.
Simona Arizanova [Mon, 2 Apr 2018 08:14:56 +0000 (10:14 +0200)]
Make help-for-help window searchable (Bug#19655)
* lisp/help.el (help-map): Map C-s to new function
search-forward-help-for-help.
(help-for-help-internal): In doc-string add entry for C-s.
(search-forward-help-for-help): New function.
Copyright-paperwork-exempt: yes
Stefan Monnier [Mon, 2 Apr 2018 04:23:20 +0000 (00:23 -0400)]
* lisp/emacs-lisp/debug.el (debug): Don't hang upon error in initial-frame.
Paul Eggert [Sun, 1 Apr 2018 21:16:48 +0000 (14:16 -0700)]
Further improve advice in make-tarball.txt
See comments by Glenn Morris in:
https://lists.gnu.org/r/emacs-devel/2018-03/msg00968.html
* admin/make-tarball.txt: Bring back refcard advice.
Paul Eggert [Sun, 1 Apr 2018 20:53:15 +0000 (13:53 -0700)]
Port make-dist to tar 1.27 and earlier
Problem reported by Glenn Morris in:
https://lists.gnu.org/r/emacs-devel/2018-03/msg00984.html
* make-dist: Use --sort=name only if Tar supports it.
Glenn Morris [Sun, 1 Apr 2018 17:55:57 +0000 (10:55 -0700)]
* lisp/nxml/nxml-mode.el (nxml-sexp-element-flag): Set :version.
Glenn Morris [Sun, 1 Apr 2018 14:50:39 +0000 (07:50 -0700)]
; Merge from origin/emacs-26
The following commits were skipped:
b87bd58 (origin/emacs-26) ; Auto-commit of loaddefs files.
9fee1b8 Minor copyedits of completion-at-point-functions documentation
748f0fd (completion-at-point-functions): Improve doc
Glenn Morris [Sun, 1 Apr 2018 14:50:39 +0000 (07:50 -0700)]
Merge from origin/emacs-26
af1624f * lisp/net/shr.el (shr-browse-url): Doc fix. (Bug#30957)
3a451bd ; * doc/emacs/msdos.texi: Fix wording of last change.
3bc1e2f Mention `key-description' as inverse of `kbd' (Bug#30942)
e50196e Document return value of pcase (Bug#30425)
8a2466f * doc/emacs/macos.texi: Tweak grammar and capitalization.
9db62bf Distinguish free from non-free OSes
ff49d86 * doc/emacs/misc.texi (Amusements): Avoid non-printing charac...
5bab671 Fix xrefs in pdf Emacs manual
Glenn Morris [Sun, 1 Apr 2018 11:28:42 +0000 (07:28 -0400)]
; Auto-commit of loaddefs files.
Glenn Morris [Sun, 1 Apr 2018 10:25:39 +0000 (06:25 -0400)]
; Auto-commit of loaddefs files.
Eli Zaretskii [Sun, 1 Apr 2018 09:45:37 +0000 (12:45 +0300)]
Followup to last change
* etc/NEWS: Mark nxml-sexp-element-flag entry as not needing
documentation updates.
* lisp/nxml/nxml-mode.el (nxml-mode, nxml-forward-balanced-item):
Doc fixes.
Jostein Kjønigsen [Tue, 20 Mar 2018 06:15:17 +0000 (07:15 +0100)]
Change the default value of nxml-sexp-element-flag.
* lisp/nxml/nxml-mode.el (nxml-sexp-element-flag): Default value
is now t.
Eli Zaretskii [Sun, 1 Apr 2018 09:19:49 +0000 (12:19 +0300)]
Minor copyedits of completion-at-point-functions documentation
* lisp/minibuffer.el (completion-at-point-functions):
* doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
and filling.
(cherry picked from commit
a8ddd05d7d32946b892b9faaba6c9736ed2ad847)
Stefan Monnier [Tue, 27 Mar 2018 20:01:30 +0000 (16:01 -0400)]
(completion-at-point-functions): Improve doc
(cherry picked from commit
b56c56f203f8b066dd71e6ae6a254121b3ac3f08)
Eli Zaretskii [Sun, 1 Apr 2018 09:19:49 +0000 (12:19 +0300)]
Minor copyedits of completion-at-point-functions documentation
* lisp/minibuffer.el (completion-at-point-functions):
* doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
and filling.
Eli Zaretskii [Sun, 1 Apr 2018 09:09:54 +0000 (12:09 +0300)]
* lisp/net/shr.el (shr-browse-url): Doc fix. (Bug#30957)
Eli Zaretskii [Sat, 31 Mar 2018 17:41:32 +0000 (20:41 +0300)]
Support more separators in rmail-retry-failure
* lisp/mail/rmail.el (mail-unsent-separator): Add a form of
separator that confused rmail-retry-failure due to additional
lines that start with a series of dashes. (Bug#30965)
Eli Zaretskii [Sat, 31 Mar 2018 08:16:05 +0000 (11:16 +0300)]
; * doc/emacs/msdos.texi: Fix wording of last change.
Eli Zaretskii [Sat, 31 Mar 2018 07:56:26 +0000 (10:56 +0300)]
; * admin/make-tarball.txt: Fix whitespace.
Eli Zaretskii [Sat, 31 Mar 2018 07:53:56 +0000 (10:53 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Hong Xu [Sun, 25 Mar 2018 21:35:51 +0000 (14:35 -0700)]
Mention `key-description' as inverse of `kbd' (Bug#30942)
* lisp/subr.el (kbd): Add `key-description' as inverse of `kbd' in the
doc.
Noam Postavsky [Sat, 31 Mar 2018 04:40:43 +0000 (00:40 -0400)]
Document return value of pcase (Bug#30425)
* doc/lispref/control.texi (Pattern matching case statement):
* lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
patterns match.
(pcase-exhaustive): State that an error is signaled if no patterns
match.
Paul Eggert [Sat, 31 Mar 2018 02:07:48 +0000 (19:07 -0700)]
* doc/emacs/macos.texi: Tweak grammar and capitalization.
Richard Stallman [Sat, 31 Mar 2018 02:05:22 +0000 (19:05 -0700)]
Distinguish free from non-free OSes
Paul Eggert [Fri, 30 Mar 2018 23:11:45 +0000 (16:11 -0700)]
Improve doc for web pages; reproducible tarballs
* admin/make-tarball.txt: Make the tarballs more reproducible.
Fix instructions for web pages as best I can (they are still
incomplete).
* make-dist (default_gzip): Add --no-name for gzip.
(taropt): Add options to make the build more reproducible.
Paul Eggert [Fri, 30 Mar 2018 21:25:33 +0000 (14:25 -0700)]
Do not assume --with-file-notification
* src/fileio.c (report_file_notify_error) [!USE_FILE_NOTIFY]: Omit.
Paul Eggert [Fri, 30 Mar 2018 21:23:55 +0000 (14:23 -0700)]
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.
Noam Postavsky [Fri, 30 Mar 2018 20:44:24 +0000 (16:44 -0400)]
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.
Eli Zaretskii [Fri, 30 Mar 2018 13:12:07 +0000 (16:12 +0300)]
Add Capital sharp s to 2 more Latin input methods
* lisp/leim/quail/latin-pre.el ("latin-prefix"):
* lisp/leim/quail/latin-post.el ("latin-postfix"): Support Capital
sharp s. (Bug#30988)
Eli Zaretskii [Fri, 30 Mar 2018 12:57:57 +0000 (15:57 +0300)]
Fix C-p and C-n when wrap-prefix is too wide
* src/xdisp.c (move_it_in_display_line_to): Avoid looping in
previous/next-line when wrap-prefix is set to a too-wide
stretch of whitespace. (Bug#30432)
Alan Third [Fri, 30 Mar 2018 11:25:15 +0000 (12:25 +0100)]
Simplify represented filename handling (bug#30800)
* src/nsfns.m (ns_set_represented_filename): Move function from
nsterm.m and set represented filename directly.
* src/nsterm.h (ns_set_represented_filename): Remove definition.
* src/nsterm.m (ns_set_represented_filename): Move function to
nsfns.m.
(x_free_frame_resources): Remove references to represented_frame.
(sendEvent): Don't set represented filename.
Michael Albinus [Fri, 30 Mar 2018 10:36:07 +0000 (12:36 +0200)]
Improve Tramp test performance
* lisp/net/tramp.el (tramp-backtrace): Improve performance.
* test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
Skip for older Emacsen.
(tramp-test39-utf8): Remove instrumentation.
Paul Eggert [Fri, 30 Mar 2018 06:00:23 +0000 (23:00 -0700)]
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).
Paul Eggert [Fri, 30 Mar 2018 00:41:11 +0000 (17:41 -0700)]
Prefer \... to control chars in .el literals
Noam Postavsky [Thu, 29 Mar 2018 23:17:34 +0000 (19:17 -0400)]
* src/xterm.c (x_make_frame_visible): Fix typo in previous change.
Noam Postavsky [Thu, 29 Mar 2018 23:11:47 +0000 (19:11 -0400)]
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.
Paul Eggert [Thu, 29 Mar 2018 18:01:38 +0000 (11:01 -0700)]
New experimental variable read-integer-overflow-as-float.
Following a suggestion by Eli Zaretskii (Bug#30408#46).
* etc/NEWS: Mention it.
* src/lread.c (syms_of_lread): Add it.
(read1): Treat out-of-range integers as floats if
read-integer-overflow-as-float is non-nil.
Paul Eggert [Thu, 29 Mar 2018 17:16:29 +0000 (10:16 -0700)]
Lisp reader now checks for integer overflow
* doc/lispref/numbers.texi (Integer Basics), etc/NEWS:
Document this.
* src/lisp.h (S2N_IGNORE_TRAILING, S2N_OVERFLOW_TO_FLOAT):
New constants.
* src/lread.c (string_to_number): Change trailing bool arg to
integer argument with flags, to support S2N_OVERFLOW_TO_FLOAT.
All uses changed.
* test/src/editfns-tests.el (read-large-integer): New test.
Eli Zaretskii [Thu, 29 Mar 2018 16:45:13 +0000 (19:45 +0300)]
Support Capital sharp S in German input methods
* lisp/leim/quail/latin-post.el ("german-postfix"):
* lisp/leim/quail/latin-pre.el ("german-prefix"): Add Capital
sharp S. (Bug#30988)
* etc/NEWS: Mention the support of Capital sharp S.
Michael Albinus [Thu, 29 Mar 2018 13:59:11 +0000 (15:59 +0200)]
Fix Bug#30946
* doc/misc/tramp.texi (Multi-hops): Mention host name checks.
* lisp/net/tramp.el (tramp-set-syntax, tramp-dissect-file-name)
(tramp-debug-message, tramp-handle-shell-command):
* lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler)
(tramp-archive-dissect-file-name):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler): Adapt callees.
* lisp/net/tramp-compat.el (tramp-compat-user-error): Move defsubst ---
* lisp/net/tramp-sh.el (tramp-compute-multi-hops): Check for proper
host names in multi-hop. (Bug#30946)
* lisp/net/tramp.el (tramp-user-error): ... here. Make it a defun.
* test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
New test.
Stefan Monnier [Thu, 29 Mar 2018 13:11:22 +0000 (09:11 -0400)]
* src/keyboard.c (record_char, read_key_sequence): Copy raw events
Paul Eggert [Wed, 28 Mar 2018 23:32:46 +0000 (16:32 -0700)]
Test notify handlers only if file notification
* test/lisp/files-tests.el:
(files-file-name-non-special-notify-handlers):
Skip if file notification is not available.
Paul Eggert [Wed, 28 Mar 2018 22:03:40 +0000 (15:03 -0700)]
Port recent org-clock fix to POSIX time_t
* lisp/org/org-clock.el (org-clock-special-range):
Don't assume support for time_t values less than 0, or less than
-2**31 for that matter (Bug#27736).
Paul Eggert [Wed, 28 Mar 2018 20:14:07 +0000 (13:14 -0700)]
Update from Gnulib
This incorporates:
2018-03-28 time_rz: fix workaround for Mac OS X 10.6 infloop
* m4/time_rz.m4: Copy from Gnulib.
Alan Mackenzie [Wed, 28 Mar 2018 19:39:30 +0000 (19:39 +0000)]
Handle C++17's constexpr keyword in if statements
* lisp/progmodes/cc-engine.el (c-after-conditional): Test for matches to
c-block-stmt-hangon-key.
* lisp/progmodes/cc-langs.el (c-block-stmt-hangon-kwds): New lang const.
(c-block-stmt-hangon-key): New lang const/var matching any element of the
above.
Glenn Morris [Wed, 28 Mar 2018 19:00:58 +0000 (15:00 -0400)]
* doc/emacs/misc.texi (Amusements): Avoid non-printing character.
; Hey fellow kids, remember that gag from 2008? Emacs does.
Alan Mackenzie [Wed, 28 Mar 2018 18:53:32 +0000 (18:53 +0000)]
Replace faulty non-matching regexp "\\<\\>" with "a\\`"
The regexp "\\<\\>", which is supposed never to match, actually matches, for
instance, where a Chinese character is directly followed by an ASCII letter.
So, replace it with "a\\`".
* lisp/progmodes/cc-defs.el (cc-fix, c-make-keywords-re)
* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1)
(c-forward-<>-arglist-recur, c-forward-decl-or-cast-1)
(c-looking-at-decl-block)
* lisp/progmodes/cc-langs.el (c-assignment-op-regexp)
(c-block-comment-ender-regexp, c-block-comment-start-regexp)
(c-line-comment-start-regexp, c-doc-comment-start-regexp)
(c-decl-start-colon-kwd-re, c-type-decl-prefix-key)
(c-type-decl-operator-prefix-key, c-pre-id-bracelist-key)
(c-enum-clause-introduction-re, c-nonlabel-token-2-key)
* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
(c-make-noise-macro-regexps):
Replace "\\<\\>" by "a\\`".
Glenn Morris [Wed, 28 Mar 2018 18:20:57 +0000 (14:20 -0400)]
Fix xrefs in pdf Emacs manual
* doc/emacs/fortran-xtra.texi (ForIndent Cont, ForIndent Num)
(Fortran Columns):
* doc/emacs/picture-xtra.texi (Rectangles in Picture):
Fix recent changes that neglected the splitting of the pdf manuals.
Michael Albinus [Wed, 28 Mar 2018 17:06:42 +0000 (19:06 +0200)]
Remove unstable tags in Tramp
* test/lisp/net/tramp-tests.el (tramp-test39-utf8)
(tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
(tramp-test39-utf8-with-ls): Remove :unstable tag.
Glenn Morris [Wed, 28 Mar 2018 16:38:22 +0000 (09:38 -0700)]
Merge from origin/emacs-26
9bff405 (origin/emacs-26) * doc/misc/org.texi (Installation): Fix clo...
613c9a5 Update Org to v9.1.9
1b075a9 ; Fix some tiny doc typos
441fe20 De-obsolete `if-let' and `when-let'
8696038 * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
930f7b1 * doc/lispref/functions.texi (Defining Functions): Improve in...
95ccf50 Fix crash after frame is freed on macOS (bug#30800)
45d0475 More manual editing
2acb9f0 Minor manual changes changes
d481cba * lisp/calculator.el (calculator-paste-decimals): Add version.
7d6c7d0 ; Use GNU not Gnu in docs
1bc4def More proofreading of the Emacs manual
Conflicts:
doc/misc/org.texi
etc/NEWS
lisp/org/org-clock.el
Michael Albinus [Wed, 28 Mar 2018 16:05:58 +0000 (18:05 +0200)]
Improve tramp--test-utf8
* test/lisp/net/tramp-tests.el (tramp--test-check-files):
Encode string when testing environment variables.
(tramp--test-utf8): Remove "TaiViet" test.
Phillip Lord [Wed, 28 Mar 2018 08:40:55 +0000 (09:40 +0100)]
Reduce parallelism to Windows build
* admin/nt/dist-build/build-zips.sh: Reduce make parallelism to 2.
Michael Albinus [Wed, 28 Mar 2018 08:38:26 +0000 (10:38 +0200)]
* doc/misc/org.texi (Installation): Fix clone commands.
Rasmus [Tue, 27 Mar 2018 21:34:41 +0000 (23:34 +0200)]
Update Org to v9.1.9
Please note this is a bugfix release. See etc/ORG-NEWS for details.
Glenn Morris [Tue, 27 Mar 2018 21:02:04 +0000 (17:02 -0400)]
; Fix some tiny doc typos
Paul Eggert [Tue, 27 Mar 2018 20:48:13 +0000 (13:48 -0700)]
Avoid using unportable integer in org-clock
* lisp/org/org-clock.el (org-clock--oldest-date): Avoid use of an
integer outside portable Emacs range. Go back to using a simple
check, since decode-time should no longer infloop.
Paul Eggert [Tue, 27 Mar 2018 20:30:50 +0000 (13:30 -0700)]
Update from Gnulib
This incorporates:
2018-03-26 time_rz: work around Mac OS X 10.6 infloop
2018-03-20 euidaccess: Port to native Windows.
* lib/euidaccess.c, lib/time_rz.c, m4/time_rz.m4: Copy from Gnulib.
Stefan Monnier [Tue, 27 Mar 2018 20:19:40 +0000 (16:19 -0400)]
(benchmark-run-compiled): Make it work like 'benchmark-run' again
* lisp/emacs-lisp/benchmark.el (benchmark-run): Add special case for
nil repetitions.
Stefan Monnier [Tue, 27 Mar 2018 20:01:30 +0000 (16:01 -0400)]
(completion-at-point-functions): Improve doc
Stefan Monnier [Tue, 27 Mar 2018 19:26:02 +0000 (15:26 -0400)]
(read_key_sewuence): Use POSN in second event when needed (bug#30955)
* src/keyboard.c (active_maps): Add arg 'second_event'.
(read_key_sequence): Pass it.
* lisp/mouse.el (mouse--click-1-maybe-follows-link): Modify event in place.
Stefan Monnier [Tue, 27 Mar 2018 19:22:42 +0000 (15:22 -0400)]
* lisp/mouse.el: Remove redundant ':group's.
Glenn Morris [Tue, 27 Mar 2018 01:56:33 +0000 (21:56 -0400)]
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test-featurep-warnings): New.
Stefan Monnier [Tue, 27 Mar 2018 01:07:35 +0000 (21:07 -0400)]
* lisp/emacs-lisp/benchmark.el (benchmark-run): Allow variable.
(benchmark-run): Allow `repetitions` to be a variable rather than a constant.
Paul Eggert [Tue, 27 Mar 2018 00:03:54 +0000 (17:03 -0700)]
Fix constant folding of overflows
This suppresses some byte-code optimizations that were invalid in
the presence of integer overflows, because they meant that .elc
files assumed the runtime behavior of the compiling platform, as
opposed to the runtime platform. Problem reported by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2018-03/msg00753.html
* lisp/emacs-lisp/byte-opt.el (byte-opt--portable-max)
(byte-opt--portable-min): New constants.
(byte-opt--portable-numberp, byte-opt--arith-reduce)
(byte-optimize-1+, byte-optimize-1-): New functions.
(byte-optimize-plus, byte-optimize-minus, byte-optimize-multiply)
(byte-optimize-divide): Avoid invalid optimizations.
(1+, 1-): Use new optimizers.
(byte-optimize-or, byte-optimize-cond): Simplify by using
remq instead of delq and copy-sequence.
Michael Heerdegen [Sat, 10 Mar 2018 15:39:41 +0000 (16:39 +0100)]
De-obsolete `if-let' and `when-let'
For the following release it is planned to make `if-let*' and
`when-let*' aliases for `if-let' and `when-let'. For now we revert
declaring `if-let' and `when-let' obsolete and tweak the docstrings.
* lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
refer to those of `if-let' and `when-let'.
(if-let, when-let): De-obsolete. Rewrite documentation.
Glenn Morris [Mon, 26 Mar 2018 20:12:51 +0000 (16:12 -0400)]
* lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
Stefan Monnier [Mon, 26 Mar 2018 18:29:49 +0000 (14:29 -0400)]
Trivial fixes for last changes to package.el and marker.c
* lisp/emacs-lisp/package.el (package-quickstart): Add missing version.
* src/marker.c (verify_bytepos): Fix typo.
Paul Eggert [Mon, 26 Mar 2018 16:29:42 +0000 (09:29 -0700)]
; Spelling fix
Eli Zaretskii [Mon, 26 Mar 2018 15:58:20 +0000 (18:58 +0300)]
* doc/lispref/functions.texi (Defining Functions): Improve indexing.
Michael Albinus [Mon, 26 Mar 2018 14:44:01 +0000 (16:44 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Stefan Monnier [Mon, 26 Mar 2018 13:41:30 +0000 (09:41 -0400)]
* lisp/emacs-lisp/package.el: New quickstart feature
(package--quickstart-pkgs): New var.
(package-activate-1): Obey and fill it.
(package-activate-all): New function.
(package-initialize): Call it.
Set package-initialized before activating the packages.
(package-installed-p): Make it work before package.el is initialized in
the case where min-version is not specified.
(package-install, package-delete): Refresh the quickstart if applicable.
(package-quickstart, package-quickstart-file): New vars.
(package--quickstart-maybe-refresh, package-quickstart-refresh):
New functions.
* lisp/startup.el (command-line): Use package-activate-all rather than
package-initialize.
* doc/lispref/package.texi (Packaging Basics):
* doc/emacs/package.texi (Package Installation):
* doc/lispref/os.texi (Startup Summary): Refer to package-activate-all.
Stefan Monnier [Mon, 26 Mar 2018 13:01:30 +0000 (09:01 -0400)]
* src/marker.c: Try and speed up byte<->char conversion with many markers.
When considering markers (to find a starting point for the conversion),
typically one of the two bounds is nearby (coming from
cached_(byte|char)pos) but the other is far (point-min or point-max),
so change the exit condition so we stop as soon as *one* of the bounds
is near.
(BYTECHAR_DISTANCE_INITIAL, BYTECHAR_DISTANCE_INCREMENT): New constants.
(buf_charpos_to_bytepos, buf_bytepos_to_charpos): Use them to try and
reduce the number of markers we consider.
Michael Albinus [Mon, 26 Mar 2018 12:33:24 +0000 (14:33 +0200)]
Fix problem with trailing slash in Tramp
* lisp/net/tramp.el (tramp-handle-file-truename):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
Fix problem with trailing slash.
* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
Test also quoted directories.
Phillip Lord [Mon, 26 Mar 2018 11:49:50 +0000 (12:49 +0100)]
Remove architecture dependent source downloads
* admin/nt/dist-build/build-dep-zips.py:
Aaron Jensen [Thu, 22 Mar 2018 05:30:08 +0000 (22:30 -0700)]
Fix crash after frame is freed on macOS (bug#30800)
* src/nsterm.m (x_free_frame_resources): Clear represented_frame.
(bug#30800)
Eric Skoglund [Fri, 16 Mar 2018 13:49:56 +0000 (14:49 +0100)]
Make eshell/kill handle -<signal> and -<SIGNALNAME> (Bug#29156)
* lisp/eshell/esh-proc.el (eshell/kill): Handle the argument parsing
and numeric conversion in function in order to parse -signal and
-SIGNALNAME correctly.
* doc/misc/eshell.texi (kill): Update docs to reflect new function
behaviour.
* etc/NEWS: Mention new eshell/kill behaviour.
Michael Albinus [Sun, 25 Mar 2018 13:15:20 +0000 (15:15 +0200)]
More manual editing
* doc/emacs/basic.texi:
* doc/emacs/calendar.texi:
* doc/emacs/display.texi:
* doc/emacs/mini.texi:
* doc/emacs/misc.texi:
* doc/emacs/picture-xtra.texi:
* doc/misc/info.texi: Prefer <PageDown> and <PageUp> over
<next> and <prior>. Add missing @kindex entries.
* doc/emacs/custom.texi (Function Keys): Fix and add missing
key symbols.
Noam Postavsky [Sat, 20 Jan 2018 16:27:23 +0000 (11:27 -0500)]
Allow `&rest' or `&optional' without following variable (Bug#29165)
This is sometimes convenient when writing macros, so that the empty
variable case doesn't need to be handled specially. Older versions of
Emacs accepted this in some cases (especially the interpreter in Emacs
25 and below was very accepting).
| interpreted/compiled |
| arglist | 25 & earlier | 26 | 27 |
|---------------------------+--------------+-----+-----|
| (&rest) | y/n | n/n | y/y |
| (&rest &rest) | y/n | n/n | n/n |
| (&rest &rest x) | y/n | n/n | n/n |
| (&rest x &rest) | y/n | n/n | n/n |
| (&rest x &rest y) | y/n | n/n | n/n |
|---------------------------+--------------+-----+-----|
| (&optional) | y/n | n/n | y/y |
| (&optional &optional) | y/n | n/n | n/n |
| (&optional x &optional) | y/n | n/n | n/n |
| (&optional x &optional y) | y/y | n/n | n/n |
|---------------------------+--------------+-----+-----|
| (&optional &rest) | y/n | n/n | y/y |
| (&optional x &rest) | y/n | n/n | y/y |
| (&optional &rest y) | y/y | n/n | y/y |
|---------------------------+--------------+-----+-----|
| (&rest &optional) | y/n | n/n | n/n |
| (&rest &optional y) | y/n | n/n | n/n |
| (&rest x &optional y) | y/n | n/n | n/n |
The values in the table above can be produced with the following code:
(with-current-buffer (get-buffer-create "*ck-args*")
(erase-buffer)
(dolist (arglist '((&rest)
(&rest &rest)
(&rest &rest x)
(&rest x &rest)
(&rest x &rest y)
(&optional)
(&optional &optional)
(&optional x &optional)
(&optional x &optional y)
(&optional &rest)
(&optional x &rest)
(&optional &rest y)
(&rest &optional)
(&rest &optional y)
(&rest x &optional y)))
(insert
(format "%c/%c\n"
(condition-case err
(progn (funcall `(lambda ,arglist 'ok))
?y)
(error ?n))
(condition-case err
(progn (byte-compile-check-lambda-list arglist)
?y)
(error ?n))))
(display-buffer (current-buffer))))
* src/eval.c (funcall_lambda):
* lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Don't
check for missing variables after `&rest' and `&optional'.
* test/src/eval-tests.el (eval-tests--bugs-24912-and-24913)
(eval-tests-accept-empty-optional-rest): Update tests accordingly.
* etc/NEWS: Update announcement accordingly.
* doc/lispref/functions.texi (Argument List): Update manual to
indicate that variable names are optional.
Michael Albinus [Sun, 25 Mar 2018 10:18:09 +0000 (12:18 +0200)]
Minor manual changes changes
* doc/emacs/misc.texi (FFAP): Complete commands.
(Amusements): Add some @cindex entries. Add "M-x butterfly".
Vibhav Pant [Sun, 25 Mar 2018 05:52:50 +0000 (11:22 +0530)]
Fix byte-optimize-memq incorrectly optimizing some memq forms.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): Call
byte-optimize-and only for memq forms that can be optimized, use
byte-optimize-predicate to optimize the final form.
Vibhav Pant [Sat, 24 Mar 2018 19:08:01 +0000 (00:38 +0530)]
Optimize certain memq forms during byte-compilation.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): New function.
Set the byte optimizer function for memq to byte-optimize-memq.
Phillip Lord [Sat, 24 Mar 2018 17:34:19 +0000 (17:34 +0000)]
Reduce build load
* admin/nt/dist-build/build-zips.sh: Reduce parallelism to 8
Glenn Morris [Sat, 24 Mar 2018 00:55:51 +0000 (20:55 -0400)]
* lisp/emulation/viper.el (viper-set-hooks): Replace obsolete func.
Glenn Morris [Sat, 24 Mar 2018 00:31:53 +0000 (20:31 -0400)]
* lisp/vc/vc.el (vc-initial-comment): Remove var unused since 23.2.
Glenn Morris [Sat, 24 Mar 2018 00:01:26 +0000 (20:01 -0400)]
Remove some unused gnus-registry variables
* lisp/gnus/gnus-registry.el (gnus-registry-clean-empty)
(gnus-registry-use-long-group-names)
(gnus-registry-max-track-groups, gnus-registry-entry-caching)
(gnus-registry-trim-articles-without-groups):
Remove variables labeled as obsolete since 23.4 that do nothing.
Glenn Morris [Fri, 23 Mar 2018 23:52:09 +0000 (19:52 -0400)]
Remove variables labeled as obsolete that do nothing
* lisp/allout.el (allout-passphrase-verifier-string)
(allout-passphrase-hint-string):
* lisp/w32-vars.el (w32-list-proportional-fonts):
Remove variables that are unused since Emacs 23.x.
Glenn Morris [Fri, 23 Mar 2018 23:49:28 +0000 (19:49 -0400)]
* lisp/calculator.el (calculator-paste-decimals): Add version.
Phillip Lord [Fri, 23 Mar 2018 23:11:13 +0000 (23:11 +0000)]
Limit build load
* admin/nt/dist-build/build-zips.sh: Limit build load.
Phillip Lord [Fri, 23 Mar 2018 22:01:08 +0000 (22:01 +0000)]
Ensure configure is running if necessary
* admin/nt/dist-build/build-zips.sh: Check for missing Makefile.
Glenn Morris [Fri, 23 Mar 2018 21:09:51 +0000 (17:09 -0400)]
* lisp/progmodes/cc-langs.el: Silence compiler.
Glenn Morris [Fri, 23 Mar 2018 21:05:01 +0000 (17:05 -0400)]
Quieten lisp/obsolete compilation
* lisp/obsolete/vi.el (vi-mark-region):
* lisp/obsolete/vip.el (vip-delete-backward-char): Silence compiler.
Paul Eggert [Fri, 23 Mar 2018 20:49:58 +0000 (13:49 -0700)]
Clarify syntax of radixed integers
* doc/lispref/numbers.texi (Integer Basics): Specify what digits
are allowed in radixed integers, and that there is no initial sign
or final period.
Glenn Morris [Fri, 23 Mar 2018 20:28:24 +0000 (16:28 -0400)]
Remove some declare-function stub definitions
* lisp/emulation/viper-cmd.el, lisp/emulation/viper-keym.el:
* lisp/emulation/viper-util.el, lisp/net/newst-plainview.el:
* lisp/net/newst-treeview.el, lisp/ps-def.el, lisp/vc/ediff.el:
* lisp/vc/ediff-util.el, lisp/vc/ediff-wind.el:
Remove stub declare-function definitions.
It exists since Emacs 22.2, released 10 years ago.
Most of these files are using even newer features, such as
lexical-binding and cl-lib anyway, making the stubs pointless.