]> git.eshelyaron.com Git - emacs.git/log
emacs.git
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

4 years ago* admin/authors.el (authors-ignored-files): Fix entries.
Nicolas Petton [Thu, 27 Feb 2020 17:07:54 +0000 (18:07 +0100)]
* admin/authors.el (authors-ignored-files): Fix entries.

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

4 years ago; ChangeLog.3 fixes
Nicolas Petton [Thu, 27 Feb 2020 16:16:43 +0000 (17:16 +0100)]
; ChangeLog.3 fixes

4 years agoFix documented slot name of eieio-instance-tracker class
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'.

4 years agoRange-check width passed to define-fringe-bitmap
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).

4 years ago; ChangeLog.3 fixes
Nicolas Petton [Wed, 26 Feb 2020 17:32:43 +0000 (18:32 +0100)]
; ChangeLog.3 fixes

4 years ago; ChangeLog.3 update & fixes.
Nicolas Petton [Wed, 26 Feb 2020 16:53:27 +0000 (17:53 +0100)]
; ChangeLog.3 update & fixes.

4 years ago* admin/authors.el: Add missing entries
Nicolas Petton [Wed, 26 Feb 2020 16:52:07 +0000 (17:52 +0100)]
* admin/authors.el: Add missing entries

4 years agoDefine libgnutls-version properly
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.

4 years agovc-dir-ignore: More accurately choose base directory
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.

4 years ago* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Change last fix
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.

4 years agoCC Mode: Protect against consecutive calls to before-change-functions ...
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.

4 years agoShorten some ppss struct field names
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.

4 years agoJava Mode: Fix fontification of variable decl inside `for'
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.

4 years agoCC Mode: Fontify foo in "const auto foo :" correctly
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.

4 years ago* lisp/replace.el (occur-engine-line): Revert part of fb16313025 (bug#39597)
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.

4 years agoMove more logic to vc-ignore from vc-default-ignore
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.

4 years agoWarn about the likes of "[:alnum:]" in regexps
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>.

4 years agoDon't write absolute filenames and duplicate strings to CVS ignore files
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.

4 years agoFix cursor-sensor--detect when current buf != selected window's buf
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)

4 years ago* doc/emacs/sending.texi (Mail Sending): Fix index entries.
Eli Zaretskii [Fri, 21 Feb 2020 09:03:08 +0000 (11:03 +0200)]
* doc/emacs/sending.texi (Mail Sending): Fix index entries.

4 years agoDocument 'message-send-mail-function' in the Emacs manual
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)

4 years agoFix reference to 'message-send-and-exit' in Emacs manual
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)

4 years agoSkip shell prompt on current line in Eshell even if it's protected
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)

4 years agoFix broken regexps
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.

4 years ago; spelling and comment fix
Paul Eggert [Thu, 20 Feb 2020 01:54:00 +0000 (17:54 -0800)]
; spelling and comment fix

4 years ago; make change-history-commit
Paul Eggert [Thu, 20 Feb 2020 01:50:44 +0000 (17:50 -0800)]
; make change-history-commit

4 years ago* Makefile.in (PREFERRED_BRANCH): Now emacs-27.
Paul Eggert [Thu, 20 Feb 2020 01:35:57 +0000 (17:35 -0800)]
* Makefile.in (PREFERRED_BRANCH): Now emacs-27.

4 years agoFix bug when visiting euc-jp-encoded directories
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.

4 years agoClarify when fixnums are used.
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).

4 years agoReorder discussion of integer basics
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).

4 years agoMake OMake support slightly less expensive (bug#39595)
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).

4 years agoSpeed up 'msft' and 'watcom' compilation error regexps
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.

4 years agoSpeed up 'maven' compilation error message regexp
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.

4 years agoAmend c-backward-sws better to handle multiline block comments
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.

4 years agoReformulate c-end-of-macro, handling multiline block comments better
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.

4 years agoFix unexec failure on macOS 10.15.4
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.

4 years agoFix 'reverse-region' when less than one line is in region
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)

4 years agoCorrect default regexp in 'package-menu-hide-package'
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)

4 years agoRemove obsolete menu entry "Redisplay buffer"
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)

4 years agoRemove redundant 'msft' compilation error rule (bug#39595)
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.

4 years ago; * src/editfns.c (Fbuffer_size): Tiny clarification.
Philipp Stephani [Thu, 13 Feb 2020 21:43:03 +0000 (22:43 +0100)]
; * src/editfns.c (Fbuffer_size): Tiny clarification.

4 years ago* doc/lispref/variables.texi (special-variable-p): Clarify limits
Stefan Monnier [Thu, 13 Feb 2020 20:01:28 +0000 (15:01 -0500)]
* doc/lispref/variables.texi (special-variable-p): Clarify limits

4 years agoRemove the optional KEEP-ORDER argument to regexp-opt
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.

4 years agoMake after-change-functions called from call-process get the correct BEG
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).

4 years agodoc/misc/org.texi: Fix @dircategory
Bastien [Thu, 13 Feb 2020 08:41:38 +0000 (09:41 +0100)]
doc/misc/org.texi: Fix @dircategory

* doc/misc/org.texi: Fix @dircategory.

4 years agoFix display of minibuffer prompt in ido.el
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.

4 years agorx: Use longest match for all-string 'or' forms (bug#37659)
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.

4 years agoMake sure not to mark directories
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).

4 years ago; Add a TODO
Dmitry Gutov [Tue, 11 Feb 2020 22:19:25 +0000 (00:19 +0200)]
; Add a TODO

4 years agovc-hg-dir-status-files: Fix when DIR is not repository root
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).

4 years agoRevert "Fix display of working text on NS (Bug#23412, Bug#1453)"
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)

4 years agoc-end-of-macro: Handle block coment lines with unescaped NLs correctly
Alan Mackenzie [Mon, 10 Feb 2020 21:20:12 +0000 (21:20 +0000)]
c-end-of-macro: Handle block coment lines with unescaped NLs correctly

* lisp/progmodes/cc-langs.el (c-last-open-c-comment-start-on-line-re): Make
obsolete, and supersede by ...
(c-open-c-comment-on-logical-line-re): New language variable.

* lisp/progmodes/cc-engine.el (c-end-of-macro): Inside macros, handle
multiline block comments whose line ends are not escaped correctly.

4 years agoFix set-fontset-font with ADD arg non-nil
Eli Zaretskii [Sun, 9 Feb 2020 17:18:38 +0000 (19:18 +0200)]
Fix set-fontset-font with ADD arg non-nil

* src/fontset.c (fontset_add): Fix off-by-one error at TO.
(Bug#39482)

4 years agoCorrect "different than" to "different from" where appropriate
Alan Mackenzie [Sun, 9 Feb 2020 14:33:14 +0000 (14:33 +0000)]
Correct "different than" to "different from" where appropriate

(doc/emacs/screen.texi)
(doc/lispintro/emacs-lisp-intro.texi)
(doc/misc/calc.texi)
(doc/misc/gnus.texi)
(doc/misc/sc.texi)
(lisp/align.el)
(lisp/allout-widgets.el)
(lisp/allout.el)
(lisp/emacs-lisp/gv.el)
(lisp/font-lock.el)
(lisp/gnus/mm-util.el)
(lisp/mail/feedmail.el)
(lisp/mail/sendmail.el)
(lisp/mail/supercite.el)
(lisp/org/org-attach.el)
(lisp/progmodes/cc-langs.el)
(lisp/progmodes/idlw-shell.el)
(lisp/ps-print.el)
(lisp/simple.el)
(src/cmds.c)
(src/editfns.c)
(src/frame.h)
(src/regex-emacs.c)
(src/xfaces.c): Replace "different than" by "different from".

4 years agoMore accurate documentation of 'package-menu-hide-package'
Eli Zaretskii [Sat, 8 Feb 2020 09:38:52 +0000 (11:38 +0200)]
More accurate documentation of 'package-menu-hide-package'

* doc/emacs/package.texi (Package Menu): Improve the description
of the 'H' command.

* lisp/emacs-lisp/package.el (package-menu-mode-menu): More
accurate wording of the help-echo string.
(package-menu-hide-package): Make the doc string more accurate.
(Bug#39436)

4 years agoRevert "Signal user-error on duplicate package refresh"
Stefan Kangas [Thu, 6 Feb 2020 12:30:33 +0000 (13:30 +0100)]
Revert "Signal user-error on duplicate package refresh"

That commit caused errors when the connection was dropped in the
middle of a package refresh.  To avoid any further issues this close
to the pretest, we simply remove this feature.  (Bug#39187)

Don't merge to master, where we will instead try to fix the bug.

4 years agoWrap some set-auto-mode calls with delay-mode-hooks (bug#39190)
Juri Linkov [Wed, 5 Feb 2020 22:38:53 +0000 (00:38 +0200)]
Wrap some set-auto-mode calls with delay-mode-hooks (bug#39190)

* lisp/gnus/mm-view.el (mm-display-inline-fontify):
* lisp/vc/diff-mode.el (diff-syntax-fontify-props):
* lisp/vc/vc.el (vc-find-revision-no-save):
Add delay-mode-hooks around set-auto-mode calls
to not run hooks that might assume buffer-file-name
really associates buffer with a file.

4 years agoSupport ido-vertical-mode better
Dmitry Gutov [Tue, 4 Feb 2020 23:50:12 +0000 (02:50 +0300)]
Support ido-vertical-mode better

* lisp/ido.el (ido-exhibit):
Prepend a space to INF if it starts with a newline (bug#39379).

4 years agoFix faces tab-bar and tab-line.
Juri Linkov [Tue, 4 Feb 2020 23:27:30 +0000 (01:27 +0200)]
Fix faces tab-bar and tab-line.

* lisp/tab-bar.el (tab-bar) <defface>:
* lisp/tab-line.el (tab-line) <defface>:
Check for min-colors 88 instead of type x.

4 years agoCater for 3-argument version of pthread_setname_np
Robert Pluim [Fri, 31 Jan 2020 09:22:59 +0000 (10:22 +0100)]
Cater for 3-argument version of pthread_setname_np

Fixes Bug#39363.

* configure.ac: Add check for 3-argument version of
pthread_setname_np.
* src/systhread.c (sys_thread_set_name)
[HAVE_PTHREAD_SETNAME_NP_3ARG]: Call pthread_setname_np with
3 arguments.

4 years agoClarify lexvar restrictions for add-to-ordered-list, add-to-history
Mattias Engdegård [Sun, 2 Feb 2020 11:48:51 +0000 (12:48 +0100)]
Clarify lexvar restrictions for add-to-ordered-list, add-to-history

* lisp/subr.el (add-to-ordered-list, add-to-history):
* doc/lispref/lists.texi (List Variables):
* doc/lispref/minibuf.texi (Minibuffer History):
Note in the doc string and manual that the variable arguments to
add-to-ordered-list and add-to-history cannot refer to a lexical
variable (bug#39373).

4 years agoReplace add-to-list to lexical variable with push (bug#39373)
Mattias Engdegård [Sat, 1 Feb 2020 17:07:32 +0000 (18:07 +0100)]
Replace add-to-list to lexical variable with push (bug#39373)

Since 'add-to-list', being a plain function, cannot access lexical
variables, such use must be rewritten for correctness.
(Some instances actually do work thanks to a compiler macro,
but it's not something code should rely on.)

* lisp/autoinsert.el (auto-insert-alist):
* lisp/cedet/mode-local.el (mode-local-print-bindings):
* lisp/net/tramp-cache.el (tramp-flush-connection-properties)
(tramp-list-connections):
* lisp/net/zeroconf.el (zeroconf-list-service-names)
(zeroconf-list-service-types, zeroconf-list-services):
* lisp/org/org.el (org-reload):
* lisp/whitespace.el (whitespace-report-region):
* test/lisp/emacs-lisp/map-tests.el (test-map-do):
Replace add-to-list with push.

4 years agoClarify add-to-list documentation (bug#39373)
Mattias Engdegård [Sat, 1 Feb 2020 19:11:11 +0000 (20:11 +0100)]
Clarify add-to-list documentation (bug#39373)

While add-to-list often works with lexical variables, this is a hack
that isn't always effective; better tell the user not to try.

* doc/lispref/lists.texi (List Variables): Add a note about lexical
variables to the add-to-list description.  Fix the equivalent code.
* lisp/subr.el (add-to-list): Amend doc string.

4 years agoMH-E: alter content in mh-display-msg, not mh-show-mode
Stephen Gildea [Sat, 1 Feb 2020 17:28:30 +0000 (09:28 -0800)]
MH-E: alter content in mh-display-msg, not mh-show-mode

* lisp/mh-e/mh-show.el (mh-display-msg, mh-show-mode):  buffer-altering
code formerly in mh-show-mode is moved to the location in mh-display-msg
where mh-show-mode used to be called before the fix to MH-E bug #470
moved the call earlier.

4 years agoUpdate documentation for mh-show-mode-hook
Stephen Gildea [Sat, 1 Feb 2020 17:18:46 +0000 (09:18 -0800)]
Update documentation for mh-show-mode-hook

* lisp/mh-e/mh-e.el, doc/misc/mh-e.texi (mh-show-mode-hook): Now that
the fix for MH-E bug #470 calls mh-show-mode-hook earlier, update the
documentation to no longer say that the message contents are available.