Eli Zaretskii [Sat, 7 Mar 2020 12:05:52 +0000 (14:05 +0200)]
; * etc/NEWS: Formatting fixes.
Eli Zaretskii [Sat, 7 Mar 2020 11:55:37 +0000 (13:55 +0200)]
; * etc/NEWS: No need to document deprecation of 'cl'.
Eli Zaretskii [Sat, 7 Mar 2020 11:54:03 +0000 (13:54 +0200)]
; * etc/NEWS: No need to document the change in 'list-processes'.
Eli Zaretskii [Sat, 7 Mar 2020 11:48:06 +0000 (13:48 +0200)]
; * etc/NEWS: 'backup-by-copying-when-privileged-mismatch' is documented.
Eli Zaretskii [Sat, 7 Mar 2020 11:46:06 +0000 (13:46 +0200)]
; * etc/NEWS: Mark 'byte-count-to-string-function' as undocumented.
Eli Zaretskii [Sat, 7 Mar 2020 11:42:35 +0000 (13:42 +0200)]
; * etc/NEWS: Mark 'completion-common-part' face entry as not documented.
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.
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.
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>.
Roland Winkler [Fri, 6 Mar 2020 08:37:55 +0000 (09:37 +0100)]
Use regexp-opt to define bibtex-autokey-transcriptions. (Bug#39686)
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.
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)
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)
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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>.
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.
Mattias Engdegård [Tue, 3 Mar 2020 16:36:29 +0000 (17:36 +0100)]
* etc/NEWS: More complete description of rx 'not' changes.
Eli Zaretskii [Tue, 3 Mar 2020 16:23:40 +0000 (18:23 +0200)]
; * doc/emacs/mini.texi (Yes or No Prompts): Fix last change.
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.
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.
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
Michael Albinus [Sun, 1 Mar 2020 17:58:16 +0000 (18:58 +0100)]
; * etc/NEWS: Fix typo.
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.
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'.
Nicolas Petton [Sat, 29 Feb 2020 21:25:38 +0000 (22:25 +0100)]
; Update lisp/ldefs-boot.el
Eli Zaretskii [Sat, 29 Feb 2020 17:30:27 +0000 (19:30 +0200)]
; * etc/TODO: Fix last change.
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.
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.
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
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.
Paul Eggert [Fri, 28 Feb 2020 20:58:28 +0000 (12:58 -0800)]
* src/timefns.c (time_arith): Omit incorrect comment.
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
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
Štěpán Němec [Tue, 25 Feb 2020 12:53:14 +0000 (13:53 +0100)]
; bug#39779: Fix some typos in documentation.
Š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.
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.
Nicolas Petton [Thu, 27 Feb 2020 17:21:47 +0000 (18:21 +0100)]
* etc/AUTHORS: Update.
Nicolas Petton [Thu, 27 Feb 2020 17:18:51 +0000 (18:18 +0100)]
; ChangeLog.3 update
Nicolas Petton [Thu, 27 Feb 2020 17:07:54 +0000 (18:07 +0100)]
* admin/authors.el (authors-ignored-files): Fix entries.
Nicolas Petton [Thu, 27 Feb 2020 16:16:54 +0000 (17:16 +0100)]
; ChangeLog.3 update
Nicolas Petton [Thu, 27 Feb 2020 16:16:43 +0000 (17:16 +0100)]
; ChangeLog.3 fixes
Eric Abrahamsen [Wed, 26 Feb 2020 20:47:12 +0000 (15:47 -0500)]
Fix documented slot name of eieio-instance-tracker class
* doc/misc/eieio.texi (eieio-instance-tracker): The code has the slot
name as `tracking-symbol', not `tracker-symbol'.
Robert Pluim [Wed, 26 Feb 2020 18:18:54 +0000 (19:18 +0100)]
Range-check width passed to define-fringe-bitmap
This prevents a crash when attempting to create a zero-width bitmap.
* src/fringe.c (Fdefine_fringe_bitmap): Check value of width,
signal an error if outside documented range (Bug#39662).
Nicolas Petton [Wed, 26 Feb 2020 17:32:43 +0000 (18:32 +0100)]
; ChangeLog.3 fixes
Nicolas Petton [Wed, 26 Feb 2020 16:53:27 +0000 (17:53 +0100)]
; ChangeLog.3 update & fixes.
Nicolas Petton [Wed, 26 Feb 2020 16:52:07 +0000 (17:52 +0100)]
* admin/authors.el: Add missing entries
Noam Postavsky [Wed, 26 Feb 2020 01:09:00 +0000 (20:09 -0500)]
Define libgnutls-version properly
* src/gnutls.c (syms_of_gnutls) <libgnutls-version>: Define with
DEFVAR_LISP and add docstring, so that this variable will accessible by
help facilities.
Dmitry Gutov [Mon, 24 Feb 2020 23:03:28 +0000 (01:03 +0200)]
vc-dir-ignore: More accurately choose base directory
* lisp/vc/vc-dir.el:
(vc-dir-ignore): Use it (bug#37189).
* lisp/vc/vc.el:
(vc--ignore-base-dir): Extract from vc-ignore.
Stefan Monnier [Mon, 24 Feb 2020 14:55:09 +0000 (09:55 -0500)]
* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Change last fix
Make sure we always work in the selected-window's buffer.
Alan Mackenzie [Sun, 23 Feb 2020 19:43:56 +0000 (19:43 +0000)]
CC Mode: Protect against consecutive calls to before-change-functions ...
without an intervening call to after-change-functions. This would have been a
workaround to bug #38691 had the causes of that bug not been removed.
* lisp/progmodes/cc-mode.el (c-just-done-before-change): Add an extra value to
this variable, 'whole-buffer, this being set by c-before-change as a signal to
c-after-change that although c-before-change has run, it has assumed the
entire buffer as the change region.
(c-before-change, c-after-change): Adapt to the new meaning of the above.
Noam Postavsky [Sun, 23 Feb 2020 13:26:35 +0000 (08:26 -0500)]
Shorten some ppss struct field names
* lisp/emacs-lisp/syntax.el (ppss): Capitalize docstrings.
(ppss-comment-depth): Renamed from ppss-comment-nesting.
(ppss-quoted-p): Renamed from ppss-after-quote-p.
(ppss-min-depth): Renamed from ppss-minimum-paren-depth.
(ppss-open-parens): Renamed from ppss-open-paren-positions.
* etc/NEWS: Announce the ppss-* accessors.
Alan Mackenzie [Sun, 23 Feb 2020 12:41:20 +0000 (12:41 +0000)]
Java Mode: Fix fontification of variable decl inside `for'
* lisp/progmodes/cc-engine.el (c-forward-declarator): In place of a test for
C++ Mode, test for either C++ Mode or Java Mode.
Alan Mackenzie [Sun, 23 Feb 2020 11:00:28 +0000 (11:00 +0000)]
CC Mode: Fontify foo in "const auto foo :" correctly
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While attempting to
find a declaration's identifier, recast the latest found id. as that
identifier when there is no other type identifier and the result of the most
recent c-forward-type call is 'maybe or 'found. In the latter case, remove
the id. from the found types list, too.
Juri Linkov [Sun, 23 Feb 2020 00:34:45 +0000 (02:34 +0200)]
* lisp/replace.el (occur-engine-line): Revert part of
fb16313025 (bug#39597)
; Do not merge to master.
Dmitry Gutov [Sat, 22 Feb 2020 23:51:38 +0000 (01:51 +0200)]
Move more logic to vc-ignore from vc-default-ignore
* lisp/vc/vc-dir.el (vc-dir-ignore):
Pass relative file names to vc-ignore.
* lisp/vc/vc.el (vc-ignore): Move the responsibility of
constructing the ignore pattern (right now, most often a relative
file name) using a file name received from the user, here.
(vc-default-ignore): ...from here (bug#37189, see discussion).
Also clarify the docstring.
Eli Zaretskii [Sat, 22 Feb 2020 09:07:42 +0000 (11:07 +0200)]
Warn about the likes of "[:alnum:]" in regexps
* doc/lispref/searching.texi (Char Classes): Warn about erroneous
usage of named character classes. Suggested by Stephen Leake
<stephen_leake@stephe-leake.org>.
Wolfgang Scherer [Fri, 21 Feb 2020 20:28:11 +0000 (21:28 +0100)]
Don't write absolute filenames and duplicate strings to CVS ignore files
* lisp/vc/vc-cvs.el (vc-cvs-ignore): Expand filename correctly
and pass on only the basename as the pattern.
(vc-cvs-append-to-ignore) Do not write duplicate strings to
.cvsignore. New optional parameter SORT to more explicitly
control sorting of the ignore entries. (Bug#37215)
* lisp/vc/pcvs.el (cvs-mode-ignore): Call 'vc-cvs-append-to-ignore'
with SORT argument.
Federico Tedin [Mon, 17 Feb 2020 20:58:43 +0000 (21:58 +0100)]
Fix cursor-sensor--detect when current buf != selected window's buf
* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Avoid
trying to read text properties from position taken from another
buffer. (Bug#38740)
Eli Zaretskii [Fri, 21 Feb 2020 09:03:08 +0000 (11:03 +0200)]
* doc/emacs/sending.texi (Mail Sending): Fix index entries.
Allen Li [Mon, 17 Feb 2020 07:55:43 +0000 (23:55 -0800)]
Document 'message-send-mail-function' in the Emacs manual
Most of the manual here addresses Message mode, yet talks about
'send-mail-function' which is used for Mail mode.
Fixing this completely requires more involved work, but for now at
least document the difference here.
* doc/emacs/sending.texi (Mail Sending): Mention
'message-send-mail-function'. (Bug#39639)
Allen Li [Mon, 17 Feb 2020 07:45:05 +0000 (23:45 -0800)]
Fix reference to 'message-send-and-exit' in Emacs manual
Most of the manual here addresses Message mode, and C-c C-c directly
above cites the Message mode command, not the Mail mode command.
* doc/emacs/sending.texi (Mail Sending): Fix reference. (Bug#39639)
Steven Allen [Sat, 15 Feb 2020 23:13:59 +0000 (15:13 -0800)]
Skip shell prompt on current line in Eshell even if it's protected
When the eshell prompt is protected (e.g., with rear non-sticky,
inhibited movements, etc.), 'beginning-of-line' won't move to the
actual beginning of the line and therefore won't skip over the
prompt.
* lisp/eshell/em-prompt.el (eshell-previous-prompt): Use
'forward-line' to go to the beginning of the line, even if it's
protected. (Bug#39627)
Mattias Engdegård [Thu, 20 Feb 2020 10:25:25 +0000 (11:25 +0100)]
Fix broken regexps
Incorrect escaping prevented these from working as intended.
Found by relint.
* lisp/progmodes/cc-defs.el (c-search-backward-char-property):
Add missing backslash.
* lisp/progmodes/simula.el (simula-mode):
Remove one backslash too many.
Paul Eggert [Thu, 20 Feb 2020 01:54:00 +0000 (17:54 -0800)]
; spelling and comment fix
Paul Eggert [Thu, 20 Feb 2020 01:50:44 +0000 (17:50 -0800)]
; make change-history-commit
Paul Eggert [Thu, 20 Feb 2020 01:35:57 +0000 (17:35 -0800)]
* Makefile.in (PREFERRED_BRANCH): Now emacs-27.
Paul Eggert [Thu, 20 Feb 2020 01:21:16 +0000 (17:21 -0800)]
Fix bug when visiting euc-jp-encoded directories
Problem reported by Ken Sasaki (Bug#39672).
* src/fileio.c (Ffile_directory_p):
Encode filename before giving it to file_directory_p.
This fixes a typo introduced in
2019-09-18T02:18:14Z!eggert@cs.ucla.edu.
Paul Eggert [Mon, 17 Feb 2020 21:54:07 +0000 (13:54 -0800)]
Clarify when fixnums are used.
* doc/lispref/numbers.texi (Integer Basics): Clarify.
Based on a suggestion by Noam Postavsky (Bug#39557#32).
Paul Eggert [Mon, 17 Feb 2020 21:36:50 +0000 (13:36 -0800)]
Reorder discussion of integer basics
* doc/lispref/numbers.texi (Integer Basics): Put the fixnum/bignum
discussion at the end of the section, not at the start (Bug#39557).
Mattias Engdegård [Sat, 15 Feb 2020 15:08:14 +0000 (16:08 +0100)]
Make OMake support slightly less expensive (bug#39595)
When run with -p or -P, OMake regurgitates error messages that
prevented further progress, indented by 6 spaces. Use that fact
to ameliorate the modification done to other error message regexps.
* lisp/progmodes/compile.el (compilation-parse-errors):
When 'omake' is enabled, allow error messages to be indented by 0 or 6
spaces instead of any number of spaces, to avoid pathological
behaviour.
(compilation-error-regexp-alist-alist): Anchor the 'omake' pattern to
bol for performance. Repair the 'ruby-Test::Unit' pattern, which
relied on the previously over-generous 'omake' hack.
* etc/compilation.txt (OMake): Add examples.
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
(compile-test-error-regexps): Add test for OMake (indented error).
Mattias Engdegård [Fri, 14 Feb 2020 22:38:24 +0000 (23:38 +0100)]
Speed up 'msft' and 'watcom' compilation error regexps
They have similar structure, and both suffer from being able to
match leading spaces in multiple ways which leads to bad performance
when backtracking (bug#39595).
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Improved 'msft' and 'watcom' regexps.
Mattias Engdegård [Fri, 14 Feb 2020 20:26:20 +0000 (21:26 +0100)]
Speed up 'maven' compilation error message regexp
Anchor the regexp at line-start to prevent quadratic behaviour when
it doesn't match (bug#39595). It's unclear whether the type tag, like
[ERROR], is always present; we keep it optional just in case.
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Rewrite 'maven' regexp, using rx for clarity.
* etc/compilation.txt (maven): More examples.
* test/lisp/progmodes/compile-tests.el
(compile-tests--test-regexps-data): No leading spaces; they seems to
stem from a misunderstanding in bug#11517.
Alan Mackenzie [Sun, 16 Feb 2020 17:46:02 +0000 (17:46 +0000)]
Amend c-backward-sws better to handle multiline block comments
In particular, multiline comments lacking escaped newlines.
* lisp/progmodes/cc-engine.el (c-backward-sws): Whilst searching backward for
a putative beginning of macro, move back over block comments whose innards
lack escaped newlines.
Alan Mackenzie [Sun, 16 Feb 2020 12:14:41 +0000 (12:14 +0000)]
Reformulate c-end-of-macro, handling multiline block comments better
* lisp/progmodes/cc-langs.el (c-last-open-c-comment-start-on-line-re): Comment
out.
(c-open-c-comment-on-logical-line-re): Remove.
* lisp/progmodes/cc-engine.el (c-end-of-macro): Handle multiline block
comments lacking escaped newlines using parse-partial-sexp rather than the
former variables removed from cc-langs.el.
YAMAMOTO Mitsuharu [Sun, 16 Feb 2020 00:50:26 +0000 (09:50 +0900)]
Fix unexec failure on macOS 10.15.4
* src/unexmacosx.c (unexec_regions_merge): Align region start addresses to
page boundaries and then merge regions.
Eli Zaretskii [Sat, 15 Feb 2020 08:47:08 +0000 (10:47 +0200)]
Fix 'reverse-region' when less than one line is in region
* lisp/sort.el (reverse-region): Signal a user-error if the region
includes less than one full line, thus avoiding an inadvertent
deletion of text following the current line. Fix the doc string.
Fix comments to start with a capital letter. (Bug#39376)
Pieter van Oostrum [Sun, 9 Feb 2020 15:55:29 +0000 (16:55 +0100)]
Correct default regexp in 'package-menu-hide-package'
* lisp/emacs-lisp/package.el (package-menu-mode-menu): Correct default
regexp, so it only selects the package at point.
(Bug#39436)
Pieter van Oostrum [Sun, 9 Feb 2020 20:22:55 +0000 (21:22 +0100)]
Remove obsolete menu entry "Redisplay buffer"
* lisp/emacs-lisp/package.el (package-menu-mode-menu): Remove obsolete
menu entry "Redisplay buffer".
(package-menu-mode-menu): Menu entry "Refresh Package List":
make the doc string more accurate.
(Bug#39436)
Mattias Engdegård [Fri, 14 Feb 2020 19:25:57 +0000 (20:25 +0100)]
Remove redundant 'msft' compilation error rule (bug#39595)
When the 'msft' rule was moved and modified, the old copy was left
in place by mistake.
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Remove old rule.
Philipp Stephani [Thu, 13 Feb 2020 21:43:03 +0000 (22:43 +0100)]
; * src/editfns.c (Fbuffer_size): Tiny clarification.
Stefan Monnier [Thu, 13 Feb 2020 20:01:28 +0000 (15:01 -0500)]
* doc/lispref/variables.texi (special-variable-p): Clarify limits
Mattias Engdegård [Thu, 13 Feb 2020 19:06:48 +0000 (20:06 +0100)]
Remove the optional KEEP-ORDER argument to regexp-opt
This argument was added for the 'or' clause in rx, but it turned out
to be a bad idea (bug#37659), and there seems to be little other use
for it.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt): Remove KEEP-ORDER.
* doc/lispref/searching.texi (Regexp Functions):
* etc/NEWS: Remove it from the documentation.
* test/lisp/emacs-lisp/regexp-opt-tests.el (regexp-opt-test--match-all)
(regexp-opt-test--check-perm, regexp-opt-test--explain-perm)
(regexp-opt-keep-order, regexp-opt-longest-match): Simplify test.
Alan Mackenzie [Thu, 13 Feb 2020 19:00:36 +0000 (19:00 +0000)]
Make after-change-functions called from call-process get the correct BEG
This fixes bug #39585.
* src/callproc.c (call_process): Supply the correct CHARPOS to
signal_after_change (twice).
Bastien [Thu, 13 Feb 2020 08:41:38 +0000 (09:41 +0100)]
doc/misc/org.texi: Fix @dircategory
* doc/misc/org.texi: Fix @dircategory.
Eli Zaretskii [Wed, 12 Feb 2020 19:39:44 +0000 (21:39 +0200)]
Fix display of minibuffer prompt in ido.el
* lisp/minibuffer.el (minibuffer--message-overlay-pos): New
function.
(set-minibuffer-message): Use it to determine where to show the
overlay with the temporary message.
* lisp/ido.el (ido-exhibit): Revert "Render Ido suggestions using
an overlay"; this restores the original code which inserted the
match-status information into the minibuffer, instead of
displaying it in an overlay with an after-string. Put the special
'minibuffer-message' text property at the beginning of the
inserted text. (Bug#39379)
* etc/NEWS:
* doc/lispref/display.texi (Displaying Messages):
* doc/lispref/text.texi (Special Properties): Document the
'minibuffer-message' text property and its effect.
Mattias Engdegård [Tue, 11 Feb 2020 12:23:10 +0000 (13:23 +0100)]
rx: Use longest match for all-string 'or' forms (bug#37659)
Revert to the Emacs 26 semantics that always gave the longest match
for rx 'or' forms with only string arguments. This guarantee was
never well documented, but it is useful and people likely have come to
rely on it. For example, prior to this change,
(rx (or ">" ">="))
matched ">" even if the text contained ">=".
* lisp/emacs-lisp/rx.el (rx--translate-or): Don't tell regexp-opt to
preserve the matching order.
* doc/lispref/searching.texi (Rx Constructs): Document the
longest-match guarantee for all-string 'or' forms.
* test/lisp/emacs-lisp/rx-tests.el (rx-or): Update test.
Wolfgang Scherer [Tue, 11 Feb 2020 22:24:24 +0000 (00:24 +0200)]
Make sure not to mark directories
* lisp/vc/vc-dir.el (vc-dir-mark-all-files):
Make sure not to mark directories (bug#37182).
Dmitry Gutov [Tue, 11 Feb 2020 22:19:25 +0000 (00:19 +0200)]
; Add a TODO
Dmitry Gutov [Tue, 11 Feb 2020 21:45:52 +0000 (23:45 +0200)]
vc-hg-dir-status-files: Fix when DIR is not repository root
* lisp/vc/vc-hg.el (vc-hg-dir-status-files):
Make sure it works correctly in a subdirectory of the repo root.
Bind default-directory to DIR and add 're: -I .' to the arguments
(bug#39380).
Alan Third [Tue, 11 Feb 2020 17:27:11 +0000 (17:27 +0000)]
Revert "Fix display of working text on NS (Bug#23412, Bug#1453)"
This reverts commit
ba042176d8931cdf9441b3b4919ec74b75019494.
Do not merge to master (bug#38851)