* doc/lispref/display.texi (Displaying Faces): Describe how the
faces of the "underlying" text affect overlay and display strings.
(Display Margins): Add a cross-reference to "Displaying Faces".
Scroll vertically by number of pixels returned by
'frame-char-height' with or without horizontally scrolled.
(Bug#28922)
* lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
by number of pixels returned by 'frame-char-height'.
(pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
move cursor to avoid unexpected jump.
(pixel-scroll-down): Scroll by 'frame-char-height'.
(pixel-bob-at-top-p): Consider number of pixels that is about to
scroll.
(pixel-posn-y-at-point): Consider existence of an overlay string.
Return nil when horizontally scrolled.
(pixel-point-at-top-p): Consider number of pixels that is about to
scroll. Use different algorithm when horizontally scrolled.
(pixel-point-at-bottom-p): Consider number of pixels that is about
to scroll. Return nil when horizontally scrolled.
(pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
(pixel--whistlestop-line-up): Change cosmetics and move cursor when
horizontally scrolled.
(pixel-line-height): Call 'pixel-visual-line-height' instead of
'line-pixel-height'.
(pixel-visual-line-height): New function to return height in pixels
of text line where cursor is with or without horizontally scrolled,
considering response of display engine.
(pixel-visible-pos-in-window): New function to return position of
a char shown on text line where cursor is on screen with or without
horizontally scrolled.
* src/fileio.c (Fset_default_file_modes): Doc fix. (Bug#28875)
* doc/lispref/files.texi (Changing Files): Clarify how the bits in
the argument of set-default-file-modes are used for setting file
permissions.
You can find it in the bottom of (info "(gnus)Foreign Groups").
NOTE: this change is worth being merged to the trunk.
* lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
Allow a string for bug# (bug#29008).
NOTE: *DO NOT* merge this change to the trunk.
* lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
(gnus-read-ephemeral-bug-group): Make it work for any number of times
for the case `url-automatic-caching' is set (bug#29008).
This fixes (a follow-up to) bug #28850.
A internal generated form for scanning text to fontify had a LIMIT parameter.
It also locally bound LIMIT to a value possibly beyond the original LIMIT,
allowing point to move beyond the original LIMIT, and to create the wrong side
error. Fix it by checking point is not beyond LIMIT in the outer context
before using it.
* lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
parameter CHECK-POINT which, when non-nil, directs the function to generate a
check on point.
(c-make-font-lock-context-search-function): Invoke the above function with new
argument value t.
Fix intentation problems reported in
https://github.com/mooz/js2-mode/issues/463.
* lisp/progmodes/js.el (js--continued-expression-p):
Check syntax state after /.
(js--multi-line-declaration-indentation):
Check syntax state before "const".
The cause was a scanning over a bracket pair taking us beyond the supplied
LIMIT parameter in c-forward-declarator.
* lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
(point) limit) whilst dealing with tokens after the declared identifier.
* lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
argument to `c-forward-declarator' (twice), since we want to fontify up till
the end of a declarator, not an arbitrary jit-lock chunk end.
* lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
* lisp/kmacro.el: Require `replace` since we use query-replace-map.
* lisp/replace.el: Require `text-mode` since we use text-mode-map.
Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
binding", the non-w32 builds would treat the undeclared
w32-collate-ignore-punctuation variable as lexical.
* lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
MELPA includes a :commit field in its
packages (https://github.com/melpa/package-build/pull/6). You can use
this to tell if MELPA has processed a recently-merged change. This
commit adds that metadata to the package description buffer.
* lisp/emacs-lisp/package.el: Display commit in package description.
Copyright-paperwork-exempt: yes
* lisp/window.el (window-normalize-buffer): Fix case where
BUFFER-OR-NAME is a string specifying a dead buffer. Fix
doc-string (Bug#28947).
(window-normalize-frame, window-normalize-window): Fix
doc-strings (Bug#28947).
Problem reported by Nelson H. F. Beebe (Bug#28893).
Also see Bug#23748, Bug#9736, and Bug#5735.
* configure.ac (tputs_library): Prefer libcurses to libtermcap,
since OpenIndiana libtermcap lacks tparm.
This approach does mean that keywords that have spaces before them
inside of docstrings aren't filled, but I think this is should be fine
until Bug#28937 is fixed.
* lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
paragraph-start unconditionally, but require that it follows at least
one space. (Bug#24622)
* test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
Bug#7751.
Use the new function directly in several places where c-forward-token-2
wouldn't move over the last token in the buffer. This caused an infinite loop
in c-restore-<>-properties.
* lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
extracted from c-forward-token-2.
(c-forward-token-2): Refactor, calling the new function.
(c-restore-<>-properties): Fix infinite loop.
(c-forward-<>-arglist-recur, c-in-knr-argdecl)
(c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
of c-forward-token-2.
* lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
place of c-forward-token-2.
* lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
function directly in place of c-forward-token-2.
* lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
not an integer. This avoids signaling an error on 32-bit
Emacs, where timestamps typically do not fit into fixnums
(Bug#28921).
* lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
current user's for the wrong owner case. Show expanded file name in
error message.
In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
gnus-bug-group-download-format-alist was updated to use https for the
debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
http links.
* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
url-parse functions to get the host name, instead of ad-hoc regexps.