]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoDon't signal during backtrace unrewind (Bug#40088)
Noam Postavsky [Fri, 20 Mar 2020 08:07:39 +0000 (04:07 -0400)]
Don't signal during backtrace unrewind (Bug#40088)

backtrace_eval_unrewind is used to temporarily reverse
let-bindings (it's called with a positive argument to reverse
bindings, and then a negative argument to re-apply them) by
backtrace--locals and backtrace-eval.  For the SPECPDL_LET_DEFAULT and
SPECPDL_LET_LOCAL cases (which occur for let-bindings on buffer-local
variables), the code calls Fdefault_value and Fbuffer_local_value on
the symbol.

For symbols which are unbound at top-level, the first (with positive
argument) call to backtrace_eval_unrewind will set the symbol's value
to unbound (putting the current value in the specpdl's "old value"
slot).  On the second (with negative argument) call,
backtrace_eval_unrewind attempts to retrieve the symbol's value with
Fdefault_value or Fbuffer_local_value, but that raises a void-variable
signal.  This interrupts the restoration of the let-bindings, so any
other variables more recent on the stack will now have the wrong
value.

* src/data.c (default_value): Make non-static.
* src/lisp.h: Declare it.
* src/eval.c (backtrace_eval_unrewind): Replace the calls to
Fdefault_value and Fbuffer_local_value with default_value and
buffer_local_value, respectively.  The latter do exactly the same as
the former, except if the symbol's value is Qunbound they just return
it instead of signaling void-variable.

4 years agoFix a couple of problems in changelog generating functions
Noam Postavsky [Fri, 20 Mar 2020 10:00:11 +0000 (06:00 -0400)]
Fix a couple of problems in changelog generating functions

* lisp/vc/diff-mode.el (diff-add-log-current-defuns): If there is a
scan-error when calling end-of-defun, go to end of hunk.  This can
easily happen since we are calling end-of-defun on a partial code
fragment from a diff.
* lisp/vc/log-edit.el (log-edit-generate-changelog-from-diff): Bind
display-buffer-overriding-action around the log-edit-show-diff call
only.  Otherwise, it can affect, for example, debugger windows
triggered by the diff-add-log-current-defuns call.

4 years agoFix cl-concatenate (Bug#40180)
Noam Postavsky [Sun, 22 Mar 2020 11:48:14 +0000 (07:48 -0400)]
Fix cl-concatenate (Bug#40180)

* lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use apply, to avoid
adding extra nesting of args.
* test/lisp/emacs-lisp/cl-extra-tests.el (cl-concatenate): New test.

4 years agoImprove documentation of project.el commands
Eli Zaretskii [Sat, 21 Mar 2020 11:26:19 +0000 (13:26 +0200)]
Improve documentation of project.el commands

* lisp/progmodes/project.el (project-find-regexp): Require 'grep'
to be able to call 'grep-read-files'.
(project-search, project-query-replace-regexp): Doc fixes.

* doc/emacs/maintaining.texi (Projects): New section.
* doc/emacs/emacs.texi (Top): Add "Projects" to the detailed menu.

4 years agoMake svg images with links valid
Zhu Zihao [Fri, 20 Mar 2020 15:35:31 +0000 (16:35 +0100)]
Make svg images with links valid

* lisp/svg.el (svg-create): Specify xlink namespace for svg images
(bug#40010).

Copyright-paperwork-exempt: yes

4 years ago* lisp/tab-line.el (tab-line-new-button-show): New defcustom.
Juri Linkov [Thu, 19 Mar 2020 23:21:57 +0000 (01:21 +0200)]
* lisp/tab-line.el (tab-line-new-button-show): New defcustom.

* lisp/tab-line.el (tab-line-format-template): Use tab-line-new-button-show.
(tab-line-new-tab-choice): Remove choice 'nil' with "No button".
(tab-line-separator): Add docstring.

4 years agoDon't have exif bugging out on short strings
Lars Ingebrigtsen [Thu, 19 Mar 2020 15:15:04 +0000 (16:15 +0100)]
Don't have exif bugging out on short strings

* lisp/image/exif.el (exif--direct-ascii-value): New function
(bug#40127).
(exif--parse-directory): Use it to get the correct values for
in-directory (i.e., shorter than 4 octets) strings.

4 years agoUse correct registry name for windows-1251 charset
Robert Pluim [Wed, 18 Mar 2020 20:37:55 +0000 (21:37 +0100)]
Use correct registry name for windows-1251 charset

* src/ftfont.c (fc_charset_table): The registry to use to lookup
windows-1251 charset is microsoft-cp1251, not windows-1251.
(Bug#40097)

4 years agoERC: Update maintainer address
Amin Bandali [Thu, 19 Mar 2020 01:27:49 +0000 (21:27 -0400)]
ERC: Update maintainer address

4 years agoRemove raw carriage return characters from test file.
Philipp Stephani [Wed, 18 Mar 2020 11:37:47 +0000 (12:37 +0100)]
Remove raw carriage return characters from test file.

This protects against tools that mangle newline characters in text
files.

* test/lisp/electric-tests.el (electric-pair-mode-newline-between-parens)
(electric-layout-mode-newline-between-parens-without-e-p-m)
(electric-layout-mode-newline-between-parens-without-e-p-m-2): Escape
carriage return characters.

4 years agoRecalculate default font when switching font backend
Robert Pluim [Mon, 16 Mar 2020 16:21:02 +0000 (17:21 +0100)]
Recalculate default font when switching font backend

This is an updated version of the patch by Dmitry Antipov
<dmantipov@yandex.ru> in
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23386#43>.

Fixes Bug#23386

* src/dispextern.h (struct redisplay_interface): New member
default_font_parameter.
* src/xterm.h: Add prototype for x_default_font_parameter.
* src/xterm.c (x_redisplay_interface): Initialize
default_font_parameter member.
* src/xfns.c (x_default_font_parameter): Make non-static.
* src/w32term.h: Add prototype for w32_default_font_parameter
* src/w32fns.c (w32_default_font_parameter): Make non-static.
* src/w32term.c (w32_redisplay_interface): Initialize
default_font_parameter member.
* src/nsterm.m (ns_redisplay_interface): Add dummy
ns_default_font_parameter (there is currently only one possible font
backend on macOS).  Initialize default_font_parameter member.
* src/frame.c (gui_set_font_backend): Recalculate default font using
RIF default_font_parameter to avoid crash when changing font backend.

4 years ago* lisp/tab-line.el: Fix tab-line-format and tab-line-format-template.
Juri Linkov [Mon, 16 Mar 2020 23:11:27 +0000 (01:11 +0200)]
* lisp/tab-line.el: Fix tab-line-format and tab-line-format-template.

* lisp/tab-line.el (tab-line-format): Use buffer-name in the cache key
instead of just buffer object to invalidate the cache on buffer renaming.
(tab-line-format-template): Always leave the separator after the last tab
like tab-bar.el already does.

4 years ago* etc/NEWS: Make the `--eval` example slightly more precise
Stefan Monnier [Mon, 16 Mar 2020 17:12:52 +0000 (13:12 -0400)]
* etc/NEWS: Make the `--eval` example slightly more precise

4 years ago* lisp/image/image-converter.el: Support more ImageMagick versions (bug#39994)
Juri Linkov [Sat, 14 Mar 2020 23:58:58 +0000 (01:58 +0200)]
* lisp/image/image-converter.el: Support more ImageMagick versions (bug#39994)

* lisp/image/image-converter.el (image-converter--probe): Match
a possible additional second column in some ImageMagick versions
of "convert -list format".

4 years agoSupport Unicode 13.0
Eli Zaretskii [Sat, 14 Mar 2020 12:54:59 +0000 (14:54 +0200)]
Support Unicode 13.0

* admin/unidata/BidiBrackets.txt:
* admin/unidata/BidiMirroring.txt:
* admin/unidata/Blocks.txt:
* admin/unidata/NormalizationTest.txt:
* admin/unidata/SpecialCasing.txt:
* admin/unidata/UnicodeData.txt:
* admin/unidata/copyright.html:
* test/manual/BidiCharacterTest.txt: Updated files imported from
Unicode v13.0.

* admin/unidata/blocks.awk: Add "Symbols for Legacy Computing" to
known aliases.

* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Add new scripts.
* lisp/international/characters.el: Set syntax for Symbols for
Legacy Computing characters.  Update setting of char-width-table.
* lisp/international/mule-cmds.el (ucs-names): Update ranges of
characters for which we want names in 'ucs-names'.

* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-tests--failing-lines-part1)
(ucs-normalize-tests--failing-lines-part2): Update according to
'ucs-normalize-check-failing-lines'.

4 years agoFix regression in wisent-total-conflicts
Lars Ingebrigtsen [Sat, 14 Mar 2020 12:17:57 +0000 (13:17 +0100)]
Fix regression in wisent-total-conflicts

* lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
There may not be a current source file.  In that case, don't try
to keep track of the number of expected conflicts (bug#39911).

4 years ago* lisp/progmodes/cc-defs.el (c-version): update to 5.34.1 for Emacs 27.1
Alan Mackenzie [Sat, 14 Mar 2020 11:39:40 +0000 (11:39 +0000)]
* lisp/progmodes/cc-defs.el (c-version): update to 5.34.1 for Emacs 27.1

Don't merge to master.

4 years ago* lisp/textmodes/fill.el (fill-nobreak-predicate): Fix documentation.
Philipp Stephani [Sat, 14 Mar 2020 10:25:57 +0000 (11:25 +0100)]
* lisp/textmodes/fill.el (fill-nobreak-predicate): Fix documentation.

4 years agoImprove Package Menu hiding docstrings
Stefan Kangas [Sat, 14 Mar 2020 09:03:09 +0000 (10:03 +0100)]
Improve Package Menu hiding docstrings

* lisp/emacs-lisp/package.el (package-menu-toggle-hiding): Add
reference to 'package-menu-hidden-regexps'.
* lisp/emacs-lisp/package.el (package-menu-hide-package): Improve
docstring to say that hiding is saved in a user option.  Fix a
typo.  (Bug#39436)

4 years agoFix display of Big5 characters when using Fontconfig
Eli Zaretskii [Sat, 14 Mar 2020 08:31:01 +0000 (10:31 +0200)]
Fix display of Big5 characters when using Fontconfig

* src/ftfont.c (fc_charset_table): Fix the value of the big-5
representative codepoint.  Reported by Brian Schack
<bschack-cocoa@usa.net>.  (Bug#40057)

* src/macfont.m (cf_charset_table): Adjust the comment.

4 years ago; * etc/NEWS: Explain how to get back old behavior with --eval.
Eli Zaretskii [Fri, 13 Mar 2020 10:32:52 +0000 (12:32 +0200)]
; * etc/NEWS: Explain how to get back old behavior with --eval.

4 years agoFix a recent documentation change
Eli Zaretskii [Fri, 13 Mar 2020 10:24:25 +0000 (12:24 +0200)]
Fix a recent documentation change

* doc/emacs/frames.texi (Mouse Commands): More detailed
description of how tilting the mouse-wheel works.

* lisp/mwheel.el (mouse-wheel-tilt-scroll)
(mouse-wheel-flip-direction): Fix the wording of doc strings.
(Bug#39979)

4 years agoFix last change
Eli Zaretskii [Fri, 13 Mar 2020 07:46:47 +0000 (09:46 +0200)]
Fix last change

* lisp/tab-bar.el (tab-bar-new-button-show): Fix wording of the
doc string.

4 years ago* lisp/tab-bar.el: Last-minute changes.
Juri Linkov [Fri, 13 Mar 2020 00:10:55 +0000 (02:10 +0200)]
* lisp/tab-bar.el: Last-minute changes.

* lisp/tab-bar.el (tab-bar-mode): Check for non-nil
tab-bar-new-button and tab-bar-close-button.
(tab-bar-new-button-show): New defcustom.
(tab-bar-make-keymap-1): Check for tab-bar-new-button-show.
(tab-bar-separator): Add docstring.

4 years ago* lisp/subr.el (cancel-change-group): Fix bug#39680
Stefan Monnier [Thu, 12 Mar 2020 14:01:54 +0000 (10:01 -0400)]
* lisp/subr.el (cancel-change-group): Fix bug#39680

Don't re-use an existing `pending-undo-list` even if (eq last-command 'undo)
since there might have been changes to the buffer since that `undo` command
and the `pending-undo-list` can hence be invalid for the current
buffer contents.

4 years agoImprove docs for horizontal scrolling with mouse and touchpad (Bug#39979)
İ. Göktuğ Kayaalp [Sat, 7 Mar 2020 21:15:01 +0000 (00:15 +0300)]
Improve docs for horizontal scrolling with mouse and touchpad (Bug#39979)

* lisp/mwheel.el (mouse-wheel-tilt-scroll,
mouse-wheel-flip-direction): Improve docstrings.
* doc/emacs/frames.texi (Mouse Commands): Mention touchpads.

4 years ago* lisp/emacs-lisp/package.el (package-install): Fix typo in docstring.
Juri Linkov [Mon, 9 Mar 2020 23:41:15 +0000 (01:41 +0200)]
* lisp/emacs-lisp/package.el (package-install): Fix typo in docstring.

4 years agoPort .gdbinit to clang with -gdwarf-4
Paul Eggert [Mon, 9 Mar 2020 19:24:21 +0000 (12:24 -0700)]
Port .gdbinit to clang with -gdwarf-4

* src/.gdbinit (xgetsym): Port to clang with -gdwarf-4, which
doesn’t output the type of lispsym anywhere other than emacs.o
(Bug#39962).

4 years agoSimplify rx example in manual
Mattias Engdegård [Mon, 9 Mar 2020 11:13:45 +0000 (12:13 +0100)]
Simplify rx example in manual

* doc/lispref/searching.texi (Rx Notation):
Use the 'not' shorthand introduced in Emacs 27.

4 years ago; * etc/NEWS: Fix typo.
Michael Albinus [Mon, 9 Mar 2020 14:49:05 +0000 (15:49 +0100)]
; * etc/NEWS: Fix typo.

4 years ago; * src/timefns.c: Fix typo in previous change.
Paul Eggert [Sun, 8 Mar 2020 23:49:32 +0000 (16:49 -0700)]
; * src/timefns.c: Fix typo in previous change.

4 years ago* src/timefns.c: Add comments.
Paul Eggert [Sun, 8 Mar 2020 23:43:54 +0000 (16:43 -0700)]
* src/timefns.c: Add comments.

4 years ago* src/timefns.c: Add comments.
Paul Eggert [Sun, 8 Mar 2020 08:16:17 +0000 (00:16 -0800)]
* src/timefns.c: Add comments.

4 years ago; lisp/emacs-lisp/seq.el: Explain why we don't use cl-lib here
Noam Postavsky [Sat, 7 Mar 2020 23:45:23 +0000 (18:45 -0500)]
; lisp/emacs-lisp/seq.el: Explain why we don't use cl-lib here

4 years agoEliminate use of cl-concatenate in 'seq' package
Andrew Eggenberger [Fri, 28 Feb 2020 03:43:47 +0000 (21:43 -0600)]
Eliminate use of cl-concatenate in 'seq' package

Fixes (Bug#39761) by making cl-extra dependent on seq rather than
vice versa.
* lisp/emacs-lisp/seq.el (seq-concatenate): Move cl-concatenate's
code here instead of calling it.
* lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use cl-concatenate.

Copyright-paperwork-exempt: yes

4 years agoFix bug with JIT stealth timers
Paul Eggert [Sat, 7 Mar 2020 17:47:03 +0000 (09:47 -0800)]
Fix bug with JIT stealth timers

* lisp/emacs-lisp/timer.el (run-at-time): Don’t assume that Lisp
time values must be conses (Bug#39944).

4 years ago* doc/lispref/os.texi (time-subtract): Doc fix.
Paul Eggert [Sat, 7 Mar 2020 17:30:19 +0000 (09:30 -0800)]
* doc/lispref/os.texi (time-subtract): Doc fix.

4 years agoNS port documentation updates
Alan Third [Sat, 7 Mar 2020 14:39:05 +0000 (14:39 +0000)]
NS port documentation updates

* doc/emacs/macos.texi (Mac / GNUstep Customization): Document some
more of the ns- variables and remove incorrect font back-end
information.
* etc/NEWS: Update the documentation status of macOS news entries.

4 years ago; * etc/NEWS: correctly describe what fido-mode is
João Távora [Sat, 7 Mar 2020 13:47:07 +0000 (13:47 +0000)]
; * etc/NEWS: correctly describe what fido-mode is

4 years agoLet fido-mode users force a minibuffer-exit
João Távora [Sat, 7 Mar 2020 13:10:07 +0000 (13:10 +0000)]
Let fido-mode users force a minibuffer-exit

* lisp/icomplete.el (icomplete-fido-exit):
Add FORCE arg.  Rewrite docstring. (bug#38992)

4 years agoicomplete-fido-exit: New command for the M-j binding
Dmitry Gutov [Wed, 4 Mar 2020 23:58:32 +0000 (01:58 +0200)]
icomplete-fido-exit: New command for the M-j binding

* lisp/icomplete.el (icomplete-fido-exit): New command.
(icomplete-fido-mode-map): Use it (bug#38992).

4 years agominibuffer-force-complete-and-exit: Allow input with no matches
Dmitry Gutov [Wed, 4 Mar 2020 23:52:58 +0000 (01:52 +0200)]
minibuffer-force-complete-and-exit: Allow input with no matches

* lisp/minibuffer.el (minibuffer--require-match): New variable.
(completing-read-default): Bind it to the REQUIRE-MATCH value.
(minibuffer-force-complete-and-exit): Consult it to allow input
with no matches when a match is not required (bug#38992).

* lisp/icomplete.el (icomplete-exhibit): Use it to render the
correct parens around matches.

4 years ago; * etc/NEWS: Mark 2 entries as fully documented.
Eli Zaretskii [Sat, 7 Mar 2020 12:55:43 +0000 (14:55 +0200)]
; * etc/NEWS: Mark 2 entries as fully documented.

4 years ago; * etc/NEWS: Fix the 'mml-secure-openpgp-sign-with-sender' entry.
Eli Zaretskii [Sat, 7 Mar 2020 12:50:50 +0000 (14:50 +0200)]
; * etc/NEWS: Fix the 'mml-secure-openpgp-sign-with-sender' entry.

4 years ago; * etc/NEWS: 'thunk-let' and 'thunk-let*' are fully documented.
Eli Zaretskii [Sat, 7 Mar 2020 12:48:33 +0000 (14:48 +0200)]
; * etc/NEWS: 'thunk-let' and 'thunk-let*' are fully documented.

4 years ago; * etc/NEWS: No need to document vc-hg and mergebase changes.
Eli Zaretskii [Sat, 7 Mar 2020 12:42:19 +0000 (14:42 +0200)]
; * etc/NEWS: No need to document vc-hg and mergebase changes.

4 years ago; * etc/NEWS: No need to document changes in Octave mode.
Eli Zaretskii [Sat, 7 Mar 2020 12:39:29 +0000 (14:39 +0200)]
; * etc/NEWS: No need to document changes in Octave mode.

4 years ago; * etc/NEWS: No need to document changes in map.el and seq.el.
Eli Zaretskii [Sat, 7 Mar 2020 12:38:07 +0000 (14:38 +0200)]
; * etc/NEWS: No need to document changes in map.el and seq.el.

4 years ago; * etc/NEWS: No need to document Ido news.
Eli Zaretskii [Sat, 7 Mar 2020 12:33:16 +0000 (14:33 +0200)]
; * etc/NEWS: No need to document Ido news.

4 years ago; * etc/NEWS: No need to document news of doc-view.el.
Eli Zaretskii [Sat, 7 Mar 2020 12:32:06 +0000 (14:32 +0200)]
; * etc/NEWS: No need to document news of doc-view.el.

4 years agoDocument that 'byte-compile-dynamic' is obsolete
Eli Zaretskii [Sat, 7 Mar 2020 12:23:23 +0000 (14:23 +0200)]
Document that 'byte-compile-dynamic' is obsolete

* doc/lispref/compile.texi (Dynamic Loading): Document that this
is deprecated.

* etc/NEWS: mark the 'byte-compile-dynamic' entry as documented.

4 years ago; * etc/NEWS: No need to document 'goto-address-uri-schemes-ignored'.
Eli Zaretskii [Sat, 7 Mar 2020 12:10:14 +0000 (14:10 +0200)]
; * etc/NEWS: No need to document 'goto-address-uri-schemes-ignored'.

4 years ago; * etc/NEWS: Formatting fixes.
Eli Zaretskii [Sat, 7 Mar 2020 12:05:52 +0000 (14:05 +0200)]
; * etc/NEWS: Formatting fixes.

4 years ago; * etc/NEWS: No need to document deprecation of 'cl'.
Eli Zaretskii [Sat, 7 Mar 2020 11:55:37 +0000 (13:55 +0200)]
; * etc/NEWS: No need to document deprecation of 'cl'.

4 years ago; * etc/NEWS: No need to document the change in 'list-processes'.
Eli Zaretskii [Sat, 7 Mar 2020 11:54:03 +0000 (13:54 +0200)]
; * etc/NEWS: No need to document the change in 'list-processes'.

4 years ago; * etc/NEWS: 'backup-by-copying-when-privileged-mismatch' is documented.
Eli Zaretskii [Sat, 7 Mar 2020 11:48:06 +0000 (13:48 +0200)]
; * etc/NEWS: 'backup-by-copying-when-privileged-mismatch' is documented.

4 years ago; * etc/NEWS: Mark 'byte-count-to-string-function' as undocumented.
Eli Zaretskii [Sat, 7 Mar 2020 11:46:06 +0000 (13:46 +0200)]
; * etc/NEWS: Mark 'byte-count-to-string-function' as undocumented.

4 years ago; * etc/NEWS: Mark 'completion-common-part' face entry as not documented.
Eli Zaretskii [Sat, 7 Mar 2020 11:42:35 +0000 (13:42 +0200)]
; * etc/NEWS: Mark 'completion-common-part' face entry as not documented.

4 years agoDocument the changes in 'read-answer'
Eli Zaretskii [Sat, 7 Mar 2020 11:40:10 +0000 (13:40 +0200)]
Document the changes in 'read-answer'

* doc/lispref/minibuf.texi (Multiple Queries): Document the
fact that 'read-answer' can now accept non-character input
events.

4 years agoDocument changes in lexical-binding
Eli Zaretskii [Sat, 7 Mar 2020 11:32:52 +0000 (13:32 +0200)]
Document changes in lexical-binding

* doc/lispref/variables.texi (Using Lexical Binding): Document
that lexical-binding is now turned on by default in more cases.

* etc/NEWS: Fix wording of the NEWS entry about the above, and mark it
as fully documented.

4 years agoUpdate ERC mailing list address
Amin Bandali [Fri, 6 Mar 2020 17:54:23 +0000 (12:54 -0500)]
Update ERC mailing list address

* lisp/erc/erc.el (erc-official-location): As part of bringing ERC
under the Emacs umbrella, erc-discuss has been renamed to emacs-erc,
and will be *the* mailing list for discussions and announcements about
ERC going forward.  The other two lists, erc-announce and erc-commit,
are now retired.  For more details, see the announcement at
<https://lists.gnu.org/archive/html/emacs-erc/2020-03/msg00001.html>.

4 years agoUse regexp-opt to define bibtex-autokey-transcriptions. (Bug#39686)
Roland Winkler [Fri, 6 Mar 2020 08:37:55 +0000 (09:37 +0100)]
Use regexp-opt to define bibtex-autokey-transcriptions.  (Bug#39686)

4 years agoImprove documentation of 'table-generate-source'
Eli Zaretskii [Fri, 6 Mar 2020 08:14:42 +0000 (10:14 +0200)]
Improve documentation of 'table-generate-source'

* lisp/textmodes/table.el (table-generate-source): Doc fix.
(Bug#39935)

* etc/NEWS: Fix wording of the 'table-generate-source' entry and
mark it as documented.

4 years agoAttempt to avoid rare segfaults in show_mouse_face
Eli Zaretskii [Fri, 6 Mar 2020 07:48:10 +0000 (09:48 +0200)]
Attempt to avoid rare segfaults in show_mouse_face

* src/xdisp.c (show_mouse_face): Don't display the active region
if called on a frame different from the one recorded in HLINFO.
(Bug#37671)

4 years agoAvoid crashes when a fontset has strange entries
Eli Zaretskii [Thu, 5 Mar 2020 15:57:21 +0000 (17:57 +0200)]
Avoid crashes when a fontset has strange entries

* src/fontset.c (reorder_font_vector): Skip nil entries in the
loop that assigns scores to rfont_def's.
(fontset_compare_rfontdef): Cope with nil.  This has the effect of
moving any nil entries to the end of the font-group, and avoids
crashing if an element other than the last in the font-group is
nil.  (Bug#39892)

4 years agoFix rx error with ? and ??
Mattias Engdegård [Thu, 5 Mar 2020 11:49:26 +0000 (12:49 +0100)]
Fix rx error with ? and ??

The ? and ?? rx operators are special in that they can be written as
characters (space and '?' respectively).  This confused the definition
look-up mechanism in rare cases.

* lisp/emacs-lisp/rx.el (rx--expand-def): Don't look up non-symbols.
* test/lisp/emacs-lisp/rx-tests.el (rx-charset-or): Test.

4 years ago* lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix error string.
Mattias Engdegård [Thu, 5 Mar 2020 11:10:51 +0000 (12:10 +0100)]
* lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix error string.

4 years agoFix args in 'window-text-pixel-size' call in 'fit-window-to-buffer'
Justin Burkett [Thu, 5 Mar 2020 08:10:03 +0000 (09:10 +0100)]
Fix args in 'window-text-pixel-size' call in 'fit-window-to-buffer'

* lisp/window.el (fit-window-to-buffer): Fix arguments in
'window-text-pixel-size' call.

Copyright-paperwork-exempt: yes

4 years agoHave pulse.el preserve existing overlay priorities
João Távora [Fri, 28 Feb 2020 13:30:48 +0000 (13:30 +0000)]
Have pulse.el preserve existing overlay priorities

Fixes: bug#39821
* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Save
overlay priority.
(pulse-momentary-unhighlight): Restore.

4 years agoCC Mode: Fix the handling of two adjacent after-change-functionses.
Alan Mackenzie [Wed, 4 Mar 2020 21:17:04 +0000 (21:17 +0000)]
CC Mode: Fix the handling of two adjacent after-change-functionses.

The bug involved failing to set c-new-END correctly, which lead to an
args-out-of-range error when after-change-functions was invoked twice without
an intervening invocation of before-change-functions.

* lisp/progmodes/cc-mode.el (c-after-change): Correct a coding error in the
handling of c-just-done-before-change.

4 years agoFix combine-change-calls-1 for when buffer-undo-list is t
Alan Mackenzie [Wed, 4 Mar 2020 19:50:38 +0000 (19:50 +0000)]
Fix combine-change-calls-1 for when buffer-undo-list is t

* lisp/subr.c (combine-change-calls-1): Bind before/after-change-functions to
nil also when buffer-undo-list is t.

4 years agoDon't misinterpret doc string as initial value
Mattias Engdegård [Wed, 4 Mar 2020 13:46:46 +0000 (14:46 +0100)]
Don't misinterpret doc string as initial value

* lisp/loadhist.el (loadhist--restore-autoload):
* lisp/progmodes/vhdl-mode.el (vhdl-font-lock-keywords-0):
Prevent the doc string from being used as initial value.

4 years agoBump checkdoc-version to match library header
Stefan Kangas [Wed, 4 Mar 2020 03:41:45 +0000 (04:41 +0100)]
Bump checkdoc-version to match library header

* lisp/emacs-lisp/checkdoc.el (checkdoc-version): Bump version.

4 years agoExplain how to unset mode bindings (Bug#39802)
Noam Postavsky [Thu, 27 Feb 2020 13:09:44 +0000 (08:09 -0500)]
Explain how to unset mode bindings (Bug#39802)

* doc/emacs/custom.texi (Init Rebinding): Explain that passing nil to
define-key will unbind keys, and extend the example accordingly.

4 years agoFix describe-variable on values with circular syntax (Bug#39805)
Noam Postavsky [Fri, 28 Feb 2020 02:09:59 +0000 (21:09 -0500)]
Fix describe-variable on values with circular syntax (Bug#39805)

* lisp/help-fns.el (describe-variable): Set syntax tables before
calling pp-buffer.

4 years agoImprove documentation of next-error-highlight-no-select (bug#38778)
Juri Linkov [Tue, 3 Mar 2020 23:48:03 +0000 (01:48 +0200)]
Improve documentation of next-error-highlight-no-select (bug#38778)

* doc/emacs/building.texi (Compilation Mode):
Mention next-error-highlight-no-select.

* lisp/simple.el (next-error-highlight): Add reference to
next-error-highlight-no-select.
(next-error-highlight-no-select): Add reference to
next-error-highlight.

4 years agoFix implicit declaration of getenv and atol
Andreas Schwab [Wed, 15 Jan 2020 09:02:10 +0000 (10:02 +0100)]
Fix implicit declaration of getenv and atol

* src/gtkutil.c: Include <stdlib.h>.

4 years agoFix handling MS-Windows keyboard input above the BMP
Eli Zaretskii [Tue, 3 Mar 2020 16:40:28 +0000 (18:40 +0200)]
Fix handling MS-Windows keyboard input above the BMP

* src/w32term.c (w32_read_socket): If we get a WM_UNICHAR message
with a surrogate codepoint, assemble the corresponding character
code above the BMP from its UTF-16 encoding, communicated in two
consecutive WM_UNICHAR messages.

4 years ago* etc/NEWS: More complete description of rx 'not' changes.
Mattias Engdegård [Tue, 3 Mar 2020 16:36:29 +0000 (17:36 +0100)]
* etc/NEWS: More complete description of rx 'not' changes.

4 years ago; * doc/emacs/mini.texi (Yes or No Prompts): Fix last change.
Eli Zaretskii [Tue, 3 Mar 2020 16:23:40 +0000 (18:23 +0200)]
; * doc/emacs/mini.texi (Yes or No Prompts): Fix last change.

4 years ago* doc/emacs/mini.texi (Yes or No Prompts): 'y-or-n-p' now uses the minibuffer.
Juri Linkov [Mon, 2 Mar 2020 22:33:30 +0000 (00:33 +0200)]
* doc/emacs/mini.texi (Yes or No Prompts): 'y-or-n-p' now uses the minibuffer.

4 years agoDon't attempt to cache glyph metrics for FONT_INVALID_CODE
Robert Pluim [Fri, 24 Jan 2020 13:11:44 +0000 (14:11 +0100)]
Don't attempt to cache glyph metrics for FONT_INVALID_CODE

This was causing massive slowdown in redisplay when eg #xfe0f
(VARIATION SELECTOR-16) was present, as the cache ended up very large,
unused, and being recreated on every call to font_fill_lglyph_metrics
(Bug#39133).

* src/composite.c (fill_gstring_body): Hoist FONT_OBJECT_P check out
of loop.  Calculate glyph code and check for FONT_INVALID_CODE before
calling font_fill_lglyph_metrics.  Pass glyph code to it.

* src/font.c (font_fill_lglyph_metrics): Add code parameter, move
glyph code calculation up the call stack into fill_gstring_body.

* src/font.h: Adjust font_fill_lglyph_metrics prototype.

4 years agoFix fit-frame-to-buffer for multi-monitor setup
Sergey Trofimov [Sun, 1 Mar 2020 18:49:18 +0000 (19:49 +0100)]
Fix fit-frame-to-buffer for multi-monitor setup

* lisp/window.el (fit-frame-to-buffer): Call
'frame-monitor-attributes' instead of
'display-monitor-attributes-list'.  Fix geometry calculations for
multiple monitors.

Copyright-paperwork-exempt: yes

4 years ago; * etc/NEWS: Fix typo.
Michael Albinus [Sun, 1 Mar 2020 17:58:16 +0000 (18:58 +0100)]
; * etc/NEWS: Fix typo.

4 years agorx: Improve 'or' compositionality (bug#37659)
Mattias Engdegård [Tue, 11 Feb 2020 19:04:42 +0000 (20:04 +0100)]
rx: Improve 'or' compositionality (bug#37659)

Perform 'regexp-opt' on nested 'or' forms, and after expansion of
user-defined and 'eval' forms.  Characters are now turned into strings
for wider 'regexp-opt' scope.  This preserves the longest-match
semantics for string in 'or' forms over composition.

* doc/lispref/searching.texi (Rx Constructs): Document.
* lisp/emacs-lisp/rx.el (rx--normalise-or-arg)
(rx--all-string-or-args): New.
(rx--translate-or): Normalise arguments first, and check for strings
in subforms.
(rx--expand-eval): Extracted from rx--translate-eval.
(rx--translate-eval): Call rx--expand-eval.
* test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-def-in-or): Add tests.
* etc/NEWS: Announce.

4 years ago* lisp/tab-line.el: Fix auto-hscrolling (bug#39649)
Juri Linkov [Sat, 29 Feb 2020 21:49:17 +0000 (23:49 +0200)]
* lisp/tab-line.el: Fix auto-hscrolling (bug#39649)

Distinguish offsets between manual-vs-automatic scrolling
as integers-vs-floats instead of positive-vs-negative integers.

* lisp/tab-line.el (tab-line-format-template): Use 'numberp'
instead of 'integerp', and 'truncate' instead of 'abs'.
(tab-line-format): When the window-buffer was updated, set window-parameter
to float to enable auto-hscroll after it was disabled on manual scrolling.
(tab-line-auto-hscroll-buffer): New variable with internal buffer.
(tab-line-auto-hscroll): Erase in tab-line-auto-hscroll-buffer.
Use 'numberp' instead of 'integerp', 'truncate' instead of 'abs',
and 'float' instead of '-'.
(tab-line-hscroll): Use 'numberp' instead of 'integerp',
and 'truncate' instead of 'abs'.

4 years ago; Update lisp/ldefs-boot.el emacs-27.0.90
Nicolas Petton [Sat, 29 Feb 2020 21:25:38 +0000 (22:25 +0100)]
; Update lisp/ldefs-boot.el

4 years ago; * etc/TODO: Fix last change.
Eli Zaretskii [Sat, 29 Feb 2020 17:30:27 +0000 (19:30 +0200)]
; * etc/TODO: Fix last change.

4 years ago; Add an entry to TODO
Eli Zaretskii [Sat, 29 Feb 2020 13:10:09 +0000 (15:10 +0200)]
; Add an entry to TODO

* etc/TODO: Expand the ligature support entry.  Add a new entry
about better support of Emoji.

4 years agoFix rx charset generation
Mattias Engdegård [Sat, 29 Feb 2020 09:12:10 +0000 (10:12 +0100)]
Fix rx charset generation

* lisp/emacs-lisp/rx.el (rx--charset-p): Don't overquote.
(rx--generate-alt): Generate '.' for negated newline.
* test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-charset-or): Test.

4 years agoMerge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27
Eli Zaretskii [Sat, 29 Feb 2020 07:51:43 +0000 (09:51 +0200)]
Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27

4 years agoFix overquoting in mule.el
Mattias Engdegård [Fri, 28 Feb 2020 21:13:45 +0000 (22:13 +0100)]
Fix overquoting in mule.el

* lisp/international/mule.el (sgml-xml-auto-coding-function):
Remove accidental quote.

4 years ago* src/timefns.c (time_arith): Omit incorrect comment.
Paul Eggert [Fri, 28 Feb 2020 20:58:28 +0000 (12:58 -0800)]
* src/timefns.c (time_arith): Omit incorrect comment.

4 years agoMerge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27
Eli Zaretskii [Fri, 28 Feb 2020 16:23:22 +0000 (18:23 +0200)]
Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27

4 years ago* lisp/vc/vc-cvs.el (vc-cvs-ignore): Copy-edit doc string
Mattias Engdegård [Fri, 28 Feb 2020 16:02:00 +0000 (17:02 +0100)]
* lisp/vc/vc-cvs.el (vc-cvs-ignore): Copy-edit doc string

4 years ago; bug#39779: Fix some typos in documentation.
Štěpán Němec [Tue, 25 Feb 2020 12:53:14 +0000 (13:53 +0100)]
; bug#39779: Fix some typos in documentation.

4 years agocheckdoc: Don't mistake "cf." for sentence end
Štěpán Němec [Thu, 29 Aug 2019 17:42:21 +0000 (19:42 +0200)]
checkdoc: Don't mistake "cf." for sentence end

* lisp/emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine):
Recognize "cf." as an abbreviation, not a sentence end.

4 years agoBump Emacs version to 27.0.90
Nicolas Petton [Thu, 27 Feb 2020 17:22:18 +0000 (18:22 +0100)]
Bump Emacs version to 27.0.90

* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version.

4 years ago* etc/AUTHORS: Update.
Nicolas Petton [Thu, 27 Feb 2020 17:21:47 +0000 (18:21 +0100)]
* etc/AUTHORS: Update.

4 years ago; ChangeLog.3 update
Nicolas Petton [Thu, 27 Feb 2020 17:18:51 +0000 (18:18 +0100)]
; ChangeLog.3 update