Fix suggested by Stefan Monnier.
* lisp/help-fns.el (help-fns--signature):
Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
* lisp/help.el (help-split-fundoc, help--make-usage-docstring):
Don't treat `X specially, as help-fns--signature now handles this.
* lisp/international/fontset.el (setup-default-fontset): Only
prepend Symbola and FreeMono font specs for symbols and
punctuation; do not replace the default spec for them. This
should have better results when Symbola/FreeMono are not
installed. (Bug#20727)
* src/font.c (Ffont_spec): Doc fix: elaborate on the values and
use of the ':lang' property of the font spec.
* doc/emacs/frames.texi (Fonts): Document the language names that
can be in the STYLE part of XLFD.
* doc/lispref/display.texi (Low-Level Font): Document the ':lang'
property.
* lisp/international/fontset.el (setup-default-fontset): Revert
the change "Configure Symbola font only if installed", since font
search is evidently not yet set up when this function is called.
(Bug#20727)
* lisp/emacs-lisp/warnings.el (display-warning):
If startup isn't complete, delay the warning.
* lisp/startup.el (normal-top-level, command-line):
Let display-warning automatically handle the needed delays.
Run delayed-warnings-hook.
* lisp/international/fontset.el (setup-default-fontset): Leave
only symbols and punctuation in the fontset setup for Symbola
font; remove "Greek and Coptic" and "Cyrillic Supplement".
(Bug#20798)
* configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
Adjust to process.c change.
* src/process.c (create_process): Declare volatile variables at
top level of this function, so that they're less likely to be
reused later in the function in the code executed by the vforked
child. Do not declare locals used only in the vforked child, as
they might share memory with locals still live in the parent.
Instead, use the same variables in the child as in the parent.
This works around a subtle bug that causes a garbage collector
crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
* configure.ac (PTY_OPEN): Define to plain 'open'
on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
* src/process.c (allocate_pty): Set the O_CLOEXEC flag after
calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
hosts that call grantpt which does its work via a setuid subcommand
(Bug#19191, Bug#19927, Bug#20555, Bug#20686).
Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
seems relevant in that case too.
While investigating Bug#20759, I discovered other quoting problems:
C-h f mishandled characters like backslash and quote in function names.
This fix changes the behavior so that 'C-h f pcase RET' now
generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
because '(format "%S" '(` FOO))' returns "(\\` FOO)". A comment
in src/lread.c's read1 function says that the backslash will be
needed starting in Emacs 25, which implies that 'format' is
correct and the old pcase documention was wrong to omit the backslash.
* lisp/emacs-lisp/nadvice.el (advice--make-docstring):
* lisp/help-fns.el (help-fns--signature):
* lisp/help.el (help-add-fundoc-usage):
* lisp/progmodes/elisp-mode.el (elisp-function-argstring):
Use help--make-usage-docstring rather than formatting
help-make-usage.
* lisp/emacs-lisp/pcase.el (pcase--make-docstring):
Return raw docstring.
* lisp/help-fns.el (help-fns--signature): New arg RAW, to return
raw docstring. Take more care to distinguish raw from cooked dstrings.
(describe-function-1): Let help-fns--signature substitute
command keys.
* lisp/help.el (help--docstring-quote): New function.
(help-split-fundoc): Use it, to quote funny characters more
systematically.
(help--make-usage): Rename from help-make-usage, since this
should be private. Leave an obsolete alias for the old name.
(help--make-usage-docstring): New function.
* test/automated/help-fns.el (help-fns-test-funny-names): New test.
* lisp/thingatpt.el (thing-at-point--in-string-p)
(thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
(thing-at-point--read-from-whole-string): Rename from
old versions without "thing-at-point--" prefix.
Keep old versions as obsolete aliases. Update all uses.
(sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
(sh-font-lock-quoted-subshell): Make sure double quotes within single
quotes don't mistakenly end prematurely the surrounding string.
* src/fontset.c (face_for_char): If the character's script is
'symbol', and the font used for ASCII face has a glyph for it, use
the font for the ASCII face instead of searching the fontsets.
This comes instead of NS-specific code that used the current
face's font instead, which is now disabled due to undesirable
consequences. (Bug#20727)
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
past `#' to find BEG (bug#20771).
* test/automated/elisp-mode-tests.el
(elisp-completes-functions-after-hash-quote): New test.
* lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
defcustom.
(checkdoc-list-of-strings-p): Add doc.
(checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
non-nil, call `checkdoc-package-keywords'.
(checkdoc-get-keywords): New defun.
(checkdoc-package-keywords): New command. Warns if the current file
has package.el-style keywords that aren't in `finder-known-keywords'.
* etc/NEWS: Add entry.