]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoRemove mark_maybe_object
Paul Eggert [Mon, 31 Aug 2020 06:40:11 +0000 (23:40 -0700)]
Remove mark_maybe_object

* src/alloc.c (mark_maybe_object, mark_maybe_objects): Remove.
(mark_objects): New function.
* src/eval.c (mark_specpdl): Use mark_objects instead of
mark_maybe_objects, since the array now has only valid Lisp objects.
* src/lisp.h (SAFE_ALLOCA_LISP_EXTRA): When allocating a large
array, clear it so that it contains only valid Lisp objects.  This
is simpler and safer, and does not hurt performance significantly
on my usual benchmark as the code is executed so rarely.

4 years agoAvoid some false matches in mark_maybe_pointer
Paul Eggert [Mon, 31 Aug 2020 06:40:11 +0000 (23:40 -0700)]
Avoid some false matches in mark_maybe_pointer

This lets Emacs avoid marking some garbage as if it were in use.
On one test platform (RHEL 7.8, Intel Xeon Silver 4116) it
sped up ‘cd lisp; make compile-always’ by a bit over 1%.
* src/alloc.c (live_string_holding, live_cons_holding)
(live_symbol_holding, live_large_vector_holding)
(live_small_vector_holding):
Count only pointers that point to a struct component,
or are a tagged pointer to the start of the struct.
Exception: for non-bool-vector pseudovectors,
count any pointer past the header, since it’s too much
of a pain to write code for every pseudovector.
(live_vector_pointer): New function.

4 years agoOmit no-longer-needed stack mark_maybe_object
Paul Eggert [Mon, 31 Aug 2020 06:40:11 +0000 (23:40 -0700)]
Omit no-longer-needed stack mark_maybe_object

* src/alloc.c (mark_memory): Do not bother using mark_maybe_object
on the stack, since mark_maybe_pointer now marks everything that
mark_maybe_object would.

4 years agoFix GC bug with Lisp floats and --with-wide-int
Paul Eggert [Mon, 31 Aug 2020 06:40:11 +0000 (23:40 -0700)]
Fix GC bug with Lisp floats and --with-wide-int

On --with-wide-int platforms where Lisp_Object can be
put into non-adjacent registers, mark_maybe_pointer failed
to mark a float whose only reference was as a tagged pointer.
* src/alloc.c (live_float_holding): New function,
a generalization of the old live_float_p.
(live_float_p): Use it.
(mark_maybe_pointer): Use live_float_holding, not live_float_p.

4 years agoBind 'n' and 'p' in compilation-mode-map
Stefan Kangas [Thu, 20 Aug 2020 14:41:50 +0000 (16:41 +0200)]
Bind 'n' and 'p' in compilation-mode-map

* lisp/progmodes/compile.el (compilation-mode-map): Bind
'(next|previous)-error-no-select' to 'n' and 'p'.  (Bug#41844)

4 years agoUse lexical-binding in life.el and add tests
Stefan Kangas [Sun, 30 Aug 2020 17:33:10 +0000 (19:33 +0200)]
Use lexical-binding in life.el and add tests

* lisp/play/life.el: Use lexical-binding.
(life--tick): Extract from...
(life): ...here.
(life--max-width, life--max-height): New variables.
(life-mode, life-setup): Use above variables.

* test/lisp/play/life-tests.el: New file.

4 years agoVarious life.el improvements
Stefan Kangas [Sun, 30 Aug 2020 16:21:11 +0000 (18:21 +0200)]
Various life.el improvements

* lisp/play/life.el (life): New defgroup.
(life-step-time): New defcustom (lower default from 1 to 0.5).
(life): Use above new variable.  Make prefix arguments set step time
in tenths of a second instead of whole seconds.
(life-expand-plane-if-needed): Rename argument to step-time.

(life-setup): Fix running `M-x life' with existing buffer.

(life-patterns): Add three more classic patterns.

4 years agoRemove some XEmacs compat code from gamegrid.el
Stefan Kangas [Sun, 30 Aug 2020 11:37:37 +0000 (13:37 +0200)]
Remove some XEmacs compat code from gamegrid.el

* lisp/play/gamegrid.el (gamegrid-setup-face): Remove XEmacs
compat code.

4 years ago* lisp/play/tetris.el: Use lexical-binding.
Stefan Kangas [Sun, 30 Aug 2020 11:06:12 +0000 (13:06 +0200)]
* lisp/play/tetris.el: Use lexical-binding.

4 years agoTweak background colours in shr when there's indentation
Lars Ingebrigtsen [Sun, 30 Aug 2020 15:03:05 +0000 (17:03 +0200)]
Tweak background colours in shr when there's indentation

* lisp/net/shr.el (shr-fill-line): Get the background colour right
for the indentation, too.

4 years agoRespect :must-match for file types in customization buffers
Mauro Aranda [Sun, 30 Aug 2020 13:55:19 +0000 (15:55 +0200)]
Respect :must-match for file types in customization buffers

* lisp/wid-edit.el (file widget): Add a :match and a :validate
function to the 'file widget, to be able to check if the widget
value is an existent file, when required (bug#25678).

4 years agoPlace flymake-eldoc-function at the end of eldoc-documentation-functions
João Távora [Sat, 29 Aug 2020 15:39:47 +0000 (16:39 +0100)]
Place flymake-eldoc-function at the end of eldoc-documentation-functions

Having it placed in the beginning of that hook meant it was mostly
impossible to track the args to a function call while writing it from
scratch, since most compilers issue a diagnostic about incorrect
number of arguments.

See bug#43103.

* lisp/progmodes/flymake.el (flymake-mode): Lower priority of
flymake-eldoc-function.

4 years ago; tiny indentation fix to lisp/progmodes/elisp-mode.el
João Távora [Sat, 29 Aug 2020 14:45:26 +0000 (15:45 +0100)]
; tiny indentation fix to lisp/progmodes/elisp-mode.el

* lisp/progmodes/elisp-mode.el (elisp-eldoc-var-docstring): Fix
indentation.

4 years agoMake format-prompt interpret a nil default value as "no default"
Lars Ingebrigtsen [Sun, 30 Aug 2020 13:22:20 +0000 (15:22 +0200)]
Make format-prompt interpret a nil default value as "no default"

* doc/lispref/minibuf.texi (Text from Minibuffer): Document it.

* lisp/help-fns.el (describe-function): Adjust the caller.

* lisp/minibuffer.el (format-prompt): Interpret a nil default
value as "no default".

4 years agoFix compilation warning in snake.el
Lars Ingebrigtsen [Sun, 30 Aug 2020 12:16:07 +0000 (14:16 +0200)]
Fix compilation warning in snake.el

* lisp/play/snake.el (snake-reset-game): Avoid warning about
unused variable.

4 years ago* .gitlab-ci.yml (test-all): Run only when needed.
Michael Albinus [Sun, 30 Aug 2020 12:05:55 +0000 (14:05 +0200)]
* .gitlab-ci.yml (test-all): Run only when needed.

4 years agoConvert manual rmailmm tests to ert
Stefan Kangas [Sun, 30 Aug 2020 00:38:22 +0000 (02:38 +0200)]
Convert manual rmailmm tests to ert

* test/manual/rmailmm.el: Move from here...
* test/lisp/mail/rmailmm-tests.el: ...to here, and convert to ert.

4 years agoConvert unsafep tests to ert
Stefan Kangas [Sat, 29 Aug 2020 21:27:51 +0000 (23:27 +0200)]
Convert unsafep tests to ert

* lisp/emacs-lisp/tcover-unsafep.el: Move from here...
* test/lisp/emacs-lisp/unsafep-tests.el: ...to here, and convert to
use ert instead of tcover.

4 years ago* lisp/play/snake.el: Use lexical-binding.
Stefan Kangas [Sat, 29 Aug 2020 20:47:39 +0000 (22:47 +0200)]
* lisp/play/snake.el: Use lexical-binding.

4 years agoUse lexical-binding in more tests
Stefan Kangas [Sat, 29 Aug 2020 18:55:46 +0000 (20:55 +0200)]
Use lexical-binding in more tests

* test/lib-src/emacsclient-tests.el:
* test/lisp/emacs-lisp/hierarchy-tests.el:
* test/lisp/eshell/eshell-tests.el:
* test/lisp/gnus/gnus-util-tests.el:
* test/lisp/progmodes/js-tests.el:
* test/lisp/textmodes/bibtex-tests.el:
* test/src/editfns-tests.el:
* test/src/fns-tests.el: Use lexical-binding.

* test/lisp/emacs-lisp/hierarchy-tests.el
(hierarchy-leafs-includes-lonely-roots):
* test/src/editfns-tests.el (transpose-test-get-byte-positions):
* test/src/fns-tests.el (fns-tests-func-arity):
Adjust for lexical-binding.

4 years agoMark failing fileio test on MS-Windows
Paul Eggert [Sat, 29 Aug 2020 20:34:06 +0000 (13:34 -0700)]
Mark failing fileio test on MS-Windows

* test/src/fileio-tests.el (fileio-tests--HOME-trailing-slash):
Expect failure on MS-Windows.

4 years agoRun GNUstep build test more often
Alan Third [Sat, 29 Aug 2020 15:31:52 +0000 (16:31 +0100)]
Run GNUstep build test more often

* .gitlab-ci.yml (test-gnustep): Include more files that may affect
the GNUstep build.

4 years ago* lisp/mail/mspools.el: Remove redundant :group args.
Stefan Kangas [Sat, 29 Aug 2020 14:13:05 +0000 (16:13 +0200)]
* lisp/mail/mspools.el: Remove redundant :group args.

4 years agoPrevent ElDoc blinking when eldoc-documentation-enthusiast is used
João Távora [Sat, 29 Aug 2020 13:28:54 +0000 (14:28 +0100)]
Prevent ElDoc blinking when eldoc-documentation-enthusiast is used

This eldoc-documentation-strategy function didn't always obey protocol
since it returned nil sometimes, which the eldoc engine took it as a
hint for the "old" protocol to clear the echo area.

* lisp/emacs-lisp/eldoc.el (eldoc-documentation-enthusiast):
Return t.
(Version): Bump to 1.9.0

4 years agoDelete duplicate definition for koi8-u coding system
Ulrich Müller [Sat, 29 Aug 2020 10:29:13 +0000 (12:29 +0200)]
Delete duplicate definition for koi8-u coding system

* lisp/language/cyrillic.el (koi8-u): Delete duplicate definition.

4 years ago* test/lisp/emacs-lisp/rx-tests.el: Improve test coverage.
Mattias Engdegård [Sat, 29 Aug 2020 11:10:18 +0000 (13:10 +0200)]
* test/lisp/emacs-lisp/rx-tests.el: Improve test coverage.

4 years agoRevert recent expand-file-name changes if DOS_NT
Paul Eggert [Sat, 29 Aug 2020 05:37:29 +0000 (22:37 -0700)]
Revert recent expand-file-name changes if DOS_NT

* src/fileio.c (Fexpand_file_name): Restore pre-August-26
behavior, if DOS_NT.  This should fix the recently-introduced
expand-file-name bugs on DOS_NT (Bug#26911).

4 years ago* src/fileio.c (Fexpand_file_name): Omit unnecessary assignment.
Paul Eggert [Sat, 29 Aug 2020 05:35:54 +0000 (22:35 -0700)]
* src/fileio.c (Fexpand_file_name): Omit unnecessary assignment.

4 years agoAllow direct choice of smtp authentication method
Andrew G Cohen [Sat, 29 Aug 2020 04:22:40 +0000 (12:22 +0800)]
Allow direct choice of smtp authentication method

* lisp/mail/smtpmail.el (smtpmail-try-auth-methods): Let the
authorization credentials have an entry with key :smtp-auth containing
a preferred authentication mechanism.

4 years ago; Bump seq version to 2.22
Stefan Kangas [Fri, 28 Aug 2020 22:38:57 +0000 (00:38 +0200)]
; Bump seq version to 2.22

4 years agoFix Objective-C C99 build problem
Alan Third [Thu, 27 Aug 2020 19:50:42 +0000 (20:50 +0100)]
Fix Objective-C C99 build problem

* configure.ac (NS_IMPL_GNUSTEP): GCC appears to need to be told to
use C99 when compiling Objective-C.

4 years agoAdd GNUstep build to Gitlab CI/CD
Alan Third [Thu, 27 Aug 2020 17:33:31 +0000 (18:33 +0100)]
Add GNUstep build to Gitlab CI/CD

* .gitlab-ci.yml (test-gnustep): New test target.

4 years agoAdd support for parsing column numbers in Visual Studio messages
Daniel Martín [Sun, 26 Jul 2020 13:24:59 +0000 (15:24 +0200)]
Add support for parsing column numbers in Visual Studio messages

* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Extend regular expression to match optional column numbers.
*
test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
Add a test.
* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
Update the total number of compilation errors in a test.
* etc/compilation.txt: Update compilation.txt with the newly supported
message format.
* etc/NEWS: Advertise the feature.

4 years agoFix Bug#43052
Michael Albinus [Fri, 28 Aug 2020 17:54:50 +0000 (19:54 +0200)]
Fix Bug#43052

* test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
Make user name unique.  (Bug#43052)

4 years agoAdd commands to run shell commands in project root
Stefan Kangas [Fri, 28 Aug 2020 17:23:01 +0000 (19:23 +0200)]
Add commands to run shell commands in project root

* lisp/progmodes/project.el (project-async-shell-command)
(project-shell-command): New commands to run 'async-shell-command'
and 'shell-command' in project's root directory.
(project-prefix-map): Bind commands to '!' and '&'.
* doc/emacs/maintaining.texi (Project File Commands): Document the
new commands.
* etc/NEWS: Announce the new commands.

4 years agoMake XEmacs compat aliases obsolete in warnings.el
Stefan Kangas [Fri, 28 Aug 2020 15:29:31 +0000 (17:29 +0200)]
Make XEmacs compat aliases obsolete in warnings.el

* lisp/emacs-lisp/warnings.el (display-warning-minimum-level)
(log-warning-minimum-level): Make XEmacs compat aliases into obsolete
aliases for 'warning-minimum-level' and 'warning-minimum-log-level'.

4 years agoUse lexical-binding in warnings.el and add tests
Stefan Kangas [Fri, 28 Aug 2020 15:18:15 +0000 (17:18 +0200)]
Use lexical-binding in warnings.el and add tests

* lisp/warnings.el: Use lexical-binding.
Remove redundant :group args.

* test/lisp/warnings-tests.el: New file.

4 years agoNew eieio-persistent-make-instance generic function
Eric Abrahamsen [Fri, 28 Aug 2020 00:58:03 +0000 (17:58 -0700)]
New eieio-persistent-make-instance generic function

This allows override of the read process for eieio-persistent objects,
providing the possibility of matching read/write customization for
eieio-persistent subclasses.

* lisp/emacs-lisp/eieio-base.el (eieio-persistent-make-instance): New
generic function for constructing instances from object data written
to disk. Previously known as eieio-persistent-convert-list-to-object.

4 years agoRemove redundant slot validation in eieio-persistent-read
Eric Abrahamsen [Fri, 28 Aug 2020 00:17:19 +0000 (17:17 -0700)]
Remove redundant slot validation in eieio-persistent-read

Actual object creation (in `make-instance') will later run all slot
values through cl-typep, which does a better job of validation. This
validation is redundant, and slows the read process down.

* lisp/emacs-lisp/eieio-base.el (eieio-persistent-fix-value): Rename
from `eieio-persistent-validate/fix-slot-value', as we no longer
validate, and we don't care about the slot definition.
(eieio-persistent-slot-type-is-class-p): Delete function.
(eieio-persistent-convert-list-to-object): Still call
`eieio--full-class-object', to trigger an autoload if necessary, but
discard the return value.

4 years agoFix indent-region for identifiers with underscores in cperl-mode
Harald Jörg [Fri, 28 Aug 2020 14:33:13 +0000 (16:33 +0200)]
Fix indent-region for identifiers with underscores in cperl-mode

 * lisp/progmodes/cperl-mode.el (cperl-fix-line-spacing): Fix Bug#18985.
 Hash keys or function names starting with a Perl keyword followed
 by an underscore (as in "for_me" are no longer split into two words
 by M-x indent-region.

4 years ago* lisp/mwheel.el: Improve package description.
Stefan Kangas [Fri, 28 Aug 2020 14:10:09 +0000 (16:10 +0200)]
* lisp/mwheel.el: Improve package description.

4 years ago* test/src/fileio-tests.el: Preserve HOME when a test fails
Mattias Engdegård [Fri, 28 Aug 2020 08:26:32 +0000 (10:26 +0200)]
* test/src/fileio-tests.el: Preserve HOME when a test fails

4 years agoFix most of fileio-tests on MS-Windows
Eli Zaretskii [Fri, 28 Aug 2020 06:58:50 +0000 (09:58 +0300)]
Fix most of fileio-tests on MS-Windows

* test/src/fileio-tests.el (fileio-tests--HOME-trailing-slash)
(fileio-tests--expand-file-name-trailing-slash): Account for drive
letters in MS-Windows/MS-DOS file names.  (Bug#26911)

4 years agoFix recently-introduced expand-file-name bug
Paul Eggert [Thu, 27 Aug 2020 21:46:52 +0000 (14:46 -0700)]
Fix recently-introduced expand-file-name bug

The bug was that (expand-file-name "~") returned something
like "/home/eggert/" instead of "/home/eggert".
Problem reported by Mattias Engdegård (Bug#26911#27).
* src/fileio.c (Fexpand_file_name): When concatenating NEWDIR to
NM, instead of stripping trailing slashes from NEWDIR (which can
turn non-symlinks into symlinks), strip leading slashes from NM.
This also simplifies the code by removing no-longer-needed DOS_NT
special-casing.  Also, remove an unnecessary ‘target[length] = 0;’
as that byte will be overwritten by the next memcpy anyway.
* test/src/fileio-tests.el (fileio-tests--HOME-trailing-slash):
New test.

4 years agoSet Gnus server 'closed status in gnus-close-server
Eric Abrahamsen [Thu, 27 Aug 2020 15:00:14 +0000 (08:00 -0700)]
Set Gnus server 'closed status in gnus-close-server

* lisp/gnus/gnus-int.el (gnus-close-server): Set 'closed status here.
* lisp/gnus/gnus-group.el (gnus-group-suspend): Not here.

4 years agoSwitch Gnus D-Bus signal from :session to :system
Eric Abrahamsen [Thu, 27 Aug 2020 20:57:03 +0000 (13:57 -0700)]
Switch Gnus D-Bus signal from :session to :system

* lisp/gnus/gnus-dbus.el (gnus-dbus-register-sleep-signal): Apparently
this needs to be :system -- perhaps because PrepareForSleep is a
system-level event?

4 years agoAdapt tramp-tests
Michael Albinus [Thu, 27 Aug 2020 18:34:36 +0000 (20:34 +0200)]
Adapt tramp-tests

* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name)
(tramp-test05-expand-file-name-relative): Adapt tests.

4 years ago; * etc/NEWS: Fix formatting of a recently-added entry.
Eli Zaretskii [Thu, 27 Aug 2020 17:06:33 +0000 (20:06 +0300)]
; * etc/NEWS: Fix formatting of a recently-added entry.

4 years agoKeep the user theme in sync when marking a variable as set
Mauro Aranda [Thu, 27 Aug 2020 14:22:35 +0000 (16:22 +0200)]
Keep the user theme in sync when marking a variable as set

* lisp/custom.el (customize-mark-as-set): Keep the user theme in sync
even if the new value of the variable is the saved-value or the
standard-value.  If we don't do this, custom themes might end up
stepping over the user preferences in a session (bug#28904).

4 years agoMake minibuf-eldef respect minibuffer-default-prompt-format
Lars Ingebrigtsen [Thu, 27 Aug 2020 12:46:27 +0000 (14:46 +0200)]
Make minibuf-eldef respect minibuffer-default-prompt-format

* lisp/minibuf-eldef.el (minibuffer-default--in-prompt-regexps):
Take minibuffer-default-prompt-format into account.

4 years agoSubstitute command keys in display-local-help
Stefan Kangas [Thu, 27 Aug 2020 11:38:37 +0000 (13:38 +0200)]
Substitute command keys in display-local-help

* lisp/help-at-pt.el (display-local-help): Pass 'help-echo' property
through 'substitute-command-keys' before displaying to be consistent
with tooltips.  (Bug#37628)

This was discussed in:
https://lists.gnu.org/archive/html/emacs-devel/2019-10/msg00090.html

4 years agoPrevent spurious tabs by RET in todo-edit-mode (bug#43068)
Stephen Berman [Thu, 27 Aug 2020 11:53:22 +0000 (13:53 +0200)]
Prevent spurious tabs by RET in todo-edit-mode (bug#43068)

* lisp/calendar/todo-mode.el (todo-key-bindings-t)
(todo-edit-mode-map): Remove remapping of `newline' to
`newline-and-indent'.
(todo-modes-set-1): Remove local setting of `indent-line-function'.
(todo-edit-mode): Locally set `indent-line-function' to `todo-indent'.

* test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
Prevent interactive test failure.  (Until the addition of testcat4
to todo-test-1.todo, the test passed by chance, since testcat3 is
empty and has no archived items.)
(todo-test-edit-item-date-month): Refer to bug number.
(todo-test-multiline-item-indentation-1)
(todo-test-multiline-item-indentation-2)
(todo-test-multiline-item-indentation-3): New tests.

* test/lisp/calendar/todo-mode-resources/todo-test-1.todo: Remove
spurious tabs from testcat1.

4 years agoMinor clean up in flyspell.el
Stefan Kangas [Thu, 27 Aug 2020 09:58:27 +0000 (11:58 +0200)]
Minor clean up in flyspell.el

* lisp/textmodes/flyspell.el (flyspell-buffers): Declare obsolete.
(flyspell--prev-meta-tab-binding): Doc fix.

4 years agodired: Show broken/circular links w/ different face
Tino Calancha [Thu, 27 Aug 2020 09:51:30 +0000 (11:51 +0200)]
dired: Show broken/circular links w/ different face

* lisp/dired.el (dired-broken-symlink): New face.
(dired-font-lock-keywords):
Use it for broken/circular links (Bug#39145).

* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 28.1):
Announce this change.

4 years agoOnly show flyspell welcome message interactively
Stefan Kangas [Thu, 27 Aug 2020 09:38:00 +0000 (11:38 +0200)]
Only show flyspell welcome message interactively

* lisp/textmodes/flyspell.el (flyspell-mode): Only show welcome
message when called interactively.  (Bug#43065)

4 years agoAdd ASTEC-X issue to PROBLEMS
Stefan Kangas [Thu, 27 Aug 2020 05:58:17 +0000 (07:58 +0200)]
Add ASTEC-X issue to PROBLEMS

* etc/PROBLEMS: Mention problem with multiple monitors on proprietary
X Server ASTEC-X.  (Bug#36779)

4 years agoFix flyspell welcome message
Stefan Kangas [Thu, 27 Aug 2020 05:07:39 +0000 (07:07 +0200)]
Fix flyspell welcome message

* lisp/textmodes/flyspell.el (flyspell-mode, flyspell-mode-on):
Fix showing welcome message when `flyspell-issue-welcome-flag' and
`flyspell-issue-message-flag' are both non-nil.  (Bug#43065)

4 years ago; Add the necessary argument (bug#42967)
Dmitry Gutov [Thu, 27 Aug 2020 08:32:50 +0000 (11:32 +0300)]
; Add the necessary argument (bug#42967)

4 years agoAllow a function for the :secret in a plstore
Andrew G Cohen [Thu, 27 Aug 2020 05:14:26 +0000 (13:14 +0800)]
Allow a function for the :secret in a plstore

* lisp/auth-source.el (auth-source-plstore-search): If the :secret
value is a function, call it on plist to obtain the real password.

4 years ago; * lisp/textmodes/flyspell.el (flyspell-mode-on): Fix typo.
Stefan Kangas [Thu, 27 Aug 2020 04:57:52 +0000 (06:57 +0200)]
; * lisp/textmodes/flyspell.el (flyspell-mode-on): Fix typo.

4 years agoRefer to correct mouse button in flyspell message
Stefan Kangas [Thu, 27 Aug 2020 04:48:39 +0000 (06:48 +0200)]
Refer to correct mouse button in flyspell message

* lisp/textmodes/flyspell.el (make-flyspell-overlay)
(flyspell-mode-on): Refer to mouse-3 in help messages when the
variable 'flyspell-use-mouse-3-for-menu' is non-nil.  (Bug#11680)

4 years agoSignal error on Hunspell installation problem
Stefan Kangas [Wed, 26 Aug 2020 19:53:17 +0000 (21:53 +0200)]
Signal error on Hunspell installation problem

* lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
Signal user-error when Hunspell warns that it "Can't open affix or
dictionary files", and propagate this message.  (Bug#25825)

4 years ago; Fix license statements.
Stefan Kangas [Thu, 27 Aug 2020 00:42:36 +0000 (02:42 +0200)]
; Fix license statements.

4 years ago; * lisp/info.el (Info-complete-menu-item): Fix wording of comment.
Stefan Kangas [Thu, 27 Aug 2020 00:35:53 +0000 (02:35 +0200)]
; * lisp/info.el (Info-complete-menu-item): Fix wording of comment.

4 years agoAdd themes modus-operandi and modus-vivendi
Protesilaos Stavrou [Wed, 26 Aug 2020 23:29:35 +0000 (01:29 +0200)]
Add themes modus-operandi and modus-vivendi

* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-vivendi-theme.el: New themes.  (Bug#43019)

4 years agoSort Info index completions alphabetically
Stefan Kangas [Wed, 26 Aug 2020 22:50:59 +0000 (00:50 +0200)]
Sort Info index completions alphabetically

* lisp/info.el (Info-complete-menu-item): Sort the list of completions
alphabetically using 'nreverse'.  This makes no difference for Emacs
but helps third-party completion frameworks such as Ivy.  (Bug#38614)

Suggested by Howard Melman <hmelman@gmail.com>.

4 years ago; Bump xref version
Dmitry Gutov [Wed, 26 Aug 2020 21:54:42 +0000 (00:54 +0300)]
; Bump xref version

4 years agoUnbreak dired-do-find-regexp in Emacs 26
Dmitry Gutov [Wed, 26 Aug 2020 21:54:28 +0000 (00:54 +0300)]
Unbreak dired-do-find-regexp in Emacs 26

* lisp/progmodes/xref.el (xref--show-xrefs):
Support the old convention (bug#42967).

4 years agoUnbreak xref-goto-xref in Emacs 26
Dmitry Gutov [Wed, 26 Aug 2020 21:47:18 +0000 (00:47 +0300)]
Unbreak xref-goto-xref in Emacs 26

* lisp/progmodes/xref.el (xref-goto-xref):
Call next-error-found only if it's defined (bug#42981).

4 years agoFix expand-file-name symlink-to-dir bug
Paul Eggert [Wed, 26 Aug 2020 20:25:35 +0000 (13:25 -0700)]
Fix expand-file-name symlink-to-dir bug

Problem reported by Yegor Timoshenko (Bug#26911),
and I ran into it myself recently in normal-top-level.
* doc/lispref/files.texi (File Name Expansion), etc/NEWS: Mention this.
* src/fileio.c (Fexpand_file_name): Expand "/a/b/." to "/a/b/" not
"/a/b", to avoid misinterpreting a symlink "/a/b".  Similarly,
expand "/a/b/c/.." to "/a/b/" not "/a/b".
* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
Adjust to match new behavior.
(tramp-test05-expand-file-name-relative): This test now succeeds,
at least on Fedora 31.
* test/src/fileio-tests.el:
(fileio-tests--expand-file-name-trailing-slash) New test.

4 years agoFix PWD startup checking with symlinks
Paul Eggert [Wed, 26 Aug 2020 17:53:32 +0000 (10:53 -0700)]
Fix PWD startup checking with symlinks

* lisp/startup.el (normal-top-level): Do not put "." after "/";
it’s not needed and with current file-name-as-directory it does
the wrong thing if PWD is a symlink.

4 years ago* lisp/files.el (insert-directory): Simplify (if ... X X) to X.
Paul Eggert [Wed, 26 Aug 2020 17:51:48 +0000 (10:51 -0700)]
* lisp/files.el (insert-directory): Simplify (if ... X X) to X.

4 years agoSync latest SKK-JISYO.L
Stefan Kangas [Wed, 26 Aug 2020 15:25:53 +0000 (17:25 +0200)]
Sync latest SKK-JISYO.L

* leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.

4 years agoAllow disabling double buffering at build time
leo [Wed, 26 Aug 2020 13:03:08 +0000 (15:03 +0200)]
Allow disabling double buffering at build time

* configure.ac: Allow disabling double buffering (bug#32032).

Copyright-paperwork-exempt: yes

4 years agoAllow directories to be called .el in -add-subdirs-to-load-path
Robert Pluim [Wed, 26 Aug 2020 12:47:22 +0000 (14:47 +0200)]
Allow directories to be called .el in -add-subdirs-to-load-path

* lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
Allow the directories to be called "<foo>.el" (bug#32266).

4 years agoFix doc-view problem with file names with spaces in them
Glenn Morris [Wed, 26 Aug 2020 12:37:13 +0000 (14:37 +0200)]
Fix doc-view problem with file names with spaces in them

* lisp/doc-view.el (doc-view-get-bounding-box): Don't bug out on
file names with spaces in them (bug#33344).

4 years agoUse format-prompt a couple of places
Lars Ingebrigtsen [Wed, 26 Aug 2020 12:08:21 +0000 (14:08 +0200)]
Use format-prompt a couple of places

* lisp/ps-print.el (ps-print-preprint):
* lisp/help-fns.el (describe-function): Use `format-prompt'
(bug#12443).

4 years agoImplement a way to customize "default" values
Lars Ingebrigtsen [Wed, 26 Aug 2020 12:07:25 +0000 (14:07 +0200)]
Implement a way to customize "default" values

* doc/lispref/minibuf.texi (Text from Minibuffer): Document them.

* lisp/minibuffer.el (format-prompt): New function (bug#12443).
(minibuffer-default-prompt-format): New variable.

4 years agoMake the epa key display slightly more informative
Lars Ingebrigtsen [Wed, 26 Aug 2020 11:22:55 +0000 (13:22 +0200)]
Make the epa key display slightly more informative

* lisp/epa.el (epa--button-key-text): Say what the validity
characters output by GPG mean (bug#34726).

4 years agoDocument ispell comment/string checking commands in the user manual
Štěpán Němec [Thu, 9 Apr 2020 14:17:57 +0000 (16:17 +0200)]
Document ispell comment/string checking commands in the user manual

* doc/emacs/fixit.texi (Spelling): Mention
'ispell-comments-and-strings' and 'ispell-comment-or-string-at-point'.
(bug#6411)

4 years agoispell: Commands to check comments or strings at point or in region
Štěpán Němec [Wed, 8 Apr 2020 18:32:51 +0000 (20:32 +0200)]
ispell: Commands to check comments or strings at point or in region

* lisp/textmodes/ispell.el (ispell-comments-and-strings): Accept START
and END arguments, defaulting to active region in interactive calls.
(ispell-comment-or-string-at-point): New command. (bug#6411)

4 years ago; * doc/lispref/backups.texi (Auto-Saving): Fix wording of last change.
Eli Zaretskii [Wed, 26 Aug 2020 10:46:56 +0000 (13:46 +0300)]
; * doc/lispref/backups.texi (Auto-Saving): Fix wording of last change.

4 years agoDon't recommend redefining auto-save filename functions
Noam Postavsky [Wed, 26 Aug 2020 10:37:24 +0000 (12:37 +0200)]
Don't recommend redefining auto-save filename functions

* doc/lispref/backups.texi (Auto-Saving): Document
auto-save-file-name-transforms.
* lisp/files.el (make-auto-save-file-name)
(auto-save-file-name-p): Remove suggestion to redefine for
customization (bug#34911).

4 years agoterm.el: Use correct exit status in suggested dir-tracking functions
Phil Sainty [Wed, 26 Aug 2020 10:03:32 +0000 (12:03 +0200)]
term.el: Use correct exit status in suggested dir-tracking functions

* lisp/term.el: Make some of the examples better (bug#43055).

4 years agoeshell: Remove unnecessary check in em-hist
Brian Leung [Wed, 26 Aug 2020 10:01:14 +0000 (12:01 +0200)]
eshell: Remove unnecessary check in em-hist

* lisp/eshell/em-hist.el
(eshell-previous-matching-input-string-position): Both before and
within the while loop, n is always smaller than n (bug#43056).

Copyright-paperwork-exempt: yes

4 years agoRemove side-effect-free markup for assoc-default
Lars Ingebrigtsen [Wed, 26 Aug 2020 09:28:18 +0000 (11:28 +0200)]
Remove side-effect-free markup for assoc-default

* lisp/subr.el (assoc-default): assoc-default isn't
side-effect-free, because it takes a :test parameter that can do
anything (bug#37943).

4 years agoFix lexical misunderstandings in gnus-icalendar-tests.el (bug#39782)
Mattias Engdegård [Wed, 26 Aug 2020 08:34:29 +0000 (10:34 +0200)]
Fix lexical misunderstandings in gnus-icalendar-tests.el (bug#39782)

* test/lisp/gnus/gnus-icalendar-tests.el:
(icalendar-tests--get-ical-event): Remove unused function accidentally
copy-pasted from icalendar-tests.el.
(gnus-icalendar-parse, gnus-icalendary-byday):
Remove unintended initial newlines.
Duplicate comma-escaping backslashes so that they have intended
effects, conforming to RFC 5545.
Remove ineffective comma-escaping backslashes where not intended.

4 years agoregex-emacs: copy less when reallocating
Paul Eggert [Wed, 26 Aug 2020 07:07:09 +0000 (00:07 -0700)]
regex-emacs: copy less when reallocating

* src/regex-emacs.c (GROW_FAIL_STACK): Copy just the
occupied stack slots, as the rest are garbage.

4 years agoregex-emacs: fix leak on memory allocation failure
Paul Eggert [Wed, 26 Aug 2020 07:07:08 +0000 (00:07 -0700)]
regex-emacs: fix leak on memory allocation failure

* src/regex-emacs.c (ENSURE_FAIL_STACK): If the failure
stack cannot be grown, free locally-allocated storage
before returning.

4 years agoregex-emacs: subscript-check register numbers
Paul Eggert [Wed, 26 Aug 2020 07:07:08 +0000 (00:07 -0700)]
regex-emacs: subscript-check register numbers

* src/regex-emacs.c (PUSH_FAILURE_REG, POP_FAILURE_REG_OR_COUNT)
(re_match_2_internal): Add some easserts for subscript checking.

4 years agoregex-emacs: omit regstart tests and regend set
Paul Eggert [Wed, 26 Aug 2020 07:07:08 +0000 (00:07 -0700)]
regex-emacs: omit regstart tests and regend set

* src/regex-emacs.c (PUSH_FAILURE_REG, POP_FAILURE_REG_OR_COUNT)
(re_match_2_internal): Add some assertions that regstart
is set whenever regend is.
(re_match_2_internal): Omit two unnecessary REG_UNSET (regstart ...)s
and one unnecessary assignment to regend.

4 years agoregex-emacs omit allocation of 3 slots
Paul Eggert [Wed, 26 Aug 2020 07:07:08 +0000 (00:07 -0700)]
regex-emacs omit allocation of 3 slots

* src/regex-emacs.c (re_match_2_internal): Avoid
unnecessary allocation of REGEND[0], BEST_REGSTART[0],
BEST_REGEND[0].

4 years agoregex-emacs omit POS runtime check
Paul Eggert [Wed, 26 Aug 2020 07:07:08 +0000 (00:07 -0700)]
regex-emacs omit POS runtime check

* src/regex-emacs.c (re_match_2_internal): Replace unnecessary
runtime check of POS with some eassumes.

4 years agoFix gpg2-related test failures on RHEL 7.8
Paul Eggert [Wed, 26 Aug 2020 01:33:22 +0000 (18:33 -0700)]
Fix gpg2-related test failures on RHEL 7.8

* test/lisp/gnus/mml-sec-tests.el (test-conf)
(mml-secure-en-decrypt-passphrase-no-cache-openpgp-todo)
(mml-secure-run-tests-with-gpg2):
Use epg-find-configuration instead of the obsolescent
epg-configuration.  This fixes test failures on RHEL 7.8,
where ‘gpg’ and ‘gpg2’ are both 2.0.22.

4 years agomml-secure-en-decrypt-sign-1-2-double is unstable
Paul Eggert [Wed, 26 Aug 2020 01:02:58 +0000 (18:02 -0700)]
mml-secure-en-decrypt-sign-1-2-double is unstable

* test/lisp/gnus/mml-sec-tests.el:
(mml-secure-en-decrypt-sign-1-2-double): Mark this as unstable.

4 years agoUpdate from Gnulib
Paul Eggert [Wed, 26 Aug 2020 00:56:57 +0000 (17:56 -0700)]
Update from Gnulib

This incorporates:
2020-08-25 verify: Avoid warnings when assume(0) is used
* lib/verify.h: Copy from Gnulib.

4 years agoAdd package prefix to jsonrpc defconst
Stefan Kangas [Tue, 25 Aug 2020 22:37:40 +0000 (00:37 +0200)]
Add package prefix to jsonrpc defconst

* lisp/jsonrpc.el (jsonrpc-default-request-timeout): Rename from
'jrpc-default-request-timeout'.
(jrpc-default-request-timeout): Make into obsolete variable alias
for 'jsonrpc-default-request-timeout'.  (Bug#40054)

4 years agoOmit "V" at the start of DEFVAR_BOOL vars
Paul Eggert [Tue, 25 Aug 2020 21:27:17 +0000 (14:27 -0700)]
Omit "V" at the start of DEFVAR_BOOL vars

Problem noted by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00846.html
* src/font.c (xft_ignore_color_fonts):
* src/syntax.c (comment_end_can_be_escaped):
* src/xdisp.c (word_wrap_by_category, display_fill_column_indicator):
Rename these DEFVAR_BOOL variables to avoid the initial "V"
that wrongly suggests that they are Lisp_Object variables.
All uses changed.

4 years agoAdd undefine keyword to make-mode
Daniel Colascione [Tue, 25 Aug 2020 17:53:53 +0000 (10:53 -0700)]
Add undefine keyword to make-mode

* lisp/progmodes/make-mode.el (makefile-gmake-statements): Add
"undefine" to the list of gmake keywords

4 years agoAdd "Delete" submenu to Dired "Operate" menu
Stefan Kangas [Mon, 24 Aug 2020 00:17:52 +0000 (02:17 +0200)]
Add "Delete" submenu to Dired "Operate" menu

* lisp/dired.el (dired-mode-map): Add "Delete" submenu to "Operate"
menu with an entry for 'dired-do-flagged-delete'.  (Bug#41524)