]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years ago* src/comp.c (Fcomp__compile_ctxt_to_file): Don't cleanup caches at bootstrap.
Andrea Corallo [Tue, 8 Sep 2020 08:58:59 +0000 (10:58 +0200)]
* src/comp.c (Fcomp__compile_ctxt_to_file): Don't cleanup caches at bootstrap.

4 years ago* Name temp eln files as .eln.tmp so we can't clean-up them mistakenly.
Andrea Corallo [Mon, 7 Sep 2020 21:57:52 +0000 (23:57 +0200)]
* Name temp eln files as .eln.tmp so we can't clean-up them mistakenly.

* src/comp.c (Fcomp__compile_ctxt_to_file): Postfix temporary eln
files as .eln.tmp.

4 years ago* Do not crash compilation if user eln-cache wasn't already created.
Andrea Corallo [Mon, 7 Sep 2020 21:13:28 +0000 (23:13 +0200)]
* Do not crash compilation if user eln-cache wasn't already created.

* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Guard
against calling `directory-files' on non existent directories.

4 years ago* src/data.c (subr-native-lambda-list): Defined it unconditionally (bug#43255)
Andrea Corallo [Sun, 6 Sep 2020 16:21:00 +0000 (18:21 +0200)]
* src/data.c (subr-native-lambda-list): Defined it unconditionally (bug#43255)

4 years ago* src/comp.c (Fcomp__compile_ctxt_to_file): Rename a variable.
Andrea Corallo [Sun, 6 Sep 2020 16:20:00 +0000 (18:20 +0200)]
* src/comp.c (Fcomp__compile_ctxt_to_file): Rename a variable.

4 years ago* src/comp.c (Fnative_elisp_load): Make recompilation always effective.
Andrea Corallo [Sun, 6 Sep 2020 16:19:00 +0000 (18:19 +0200)]
* src/comp.c (Fnative_elisp_load): Make recompilation always effective.

When loading a file if in this session there was ever a file loaded
with that name rename it before loading it to make sure we always get
a new handle from the standard library.

4 years agoRework eln deletion strategy for new eln-cache folder structure
Andrea Corallo [Sun, 6 Sep 2020 16:17:00 +0000 (18:17 +0200)]
Rework eln deletion strategy for new eln-cache folder structure

When recompiling remove the corresponding stale elns found in the
`comp-eln-load-path'.

When removing a package remove the corresponding elns too.

On Windows both of these are performed only when possible, when it's
not the file is renamed as .eln.old and a last attempt to remove this
is performed closing the Emacs session.  When a file being deleted was
loaded by multiple Emacs sessions the last one being closed should
delete it.

* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): New function.
(comp-delete-or-replace-file): Rename from
`comp--replace-output-file' and update so it can be used for
replacing or deleting shared libs safetly.

* lisp/emacs-lisp/package.el (package--delete-directory): When
native compiled just call `comp-clean-up-stale-eln' for each
eln file we want to clean-up.

* src/alloc.c (cleanup_vector): Call directly the dynlib_close.

* src/comp.c (syms_of_comp): Update for comp_u->cfile removal.
Make 'all_loaded_comp_units_h' key-value weak as now the key will
be the filename.
(load_comp_unit): Register the compilation unit only when the load
is fully completed.
(register_native_comp_unit): Make the key of
all_loaded_comp_units_h the load filename.
(eln_load_path_final_clean_up): New function.
(dispose_comp_unit)
(finish_delayed_disposal_of_comp_units)
(dispose_all_remaining_comp_units)
(clean_package_user_dir_of_old_comp_units): Remove.
(Fcomp__compile_ctxt_to_file): Update for
`comp--replace-output-file' -> `comp-delete-or-replace-file'
rename.

* src/comp.h (dispose_comp_unit)
(finish_delayed_disposal_of_comp_units)
(dispose_all_remaining_comp_units)
(clean_package_user_dir_of_old_comp_units): Remove.
(eln_load_path_final_clean_up): Add.
(struct Lisp_Native_Comp_Unit): Remove cfile field.

* src/emacs.c (Fkill_emacs): Call 'eln_load_path_final_clean_up'.

* src/pdumper.c (dump_do_dump_relocation): Do not set comp_u->cfile.

4 years ago* Makefile.in (ELN_DESTDIR): Add ${version}/ to it.
Andrea Corallo [Sun, 6 Sep 2020 06:08:19 +0000 (08:08 +0200)]
* Makefile.in (ELN_DESTDIR): Add ${version}/ to it.

4 years agoMerge remote-tracking branch 'savannah/master' into HEAD
Andrea Corallo [Sun, 6 Sep 2020 06:07:30 +0000 (08:07 +0200)]
Merge remote-tracking branch 'savannah/master' into HEAD

4 years agoEUDC: Reword macOS Contacts back end overview
Thomas Fitzsimmons [Sun, 6 Sep 2020 02:53:00 +0000 (22:53 -0400)]
EUDC: Reword macOS Contacts back end overview

* doc/misc/eudc.texi (macOS Contacts): Shorten section.

4 years agoEUDC: Fix a minor formatting issue
Thomas Fitzsimmons [Sun, 6 Sep 2020 01:57:23 +0000 (21:57 -0400)]
EUDC: Fix a minor formatting issue

* lisp/net/eudcb-macos-contacts.el
(eudc-macos-contacts-query-internal): Move result to its own line
to eliminate a lisp-mode warning.

4 years agoUpdate from Gnulib
Paul Eggert [Sun, 6 Sep 2020 00:48:45 +0000 (17:48 -0700)]
Update from Gnulib

This incorporates:
2020-09-05 verify: avoid __builtin_assume
2020-08-30 strerrorname_np: New module
2020-08-26 include_next, stdint, time_rz: Change configure message
* lib/gnulib.mk.in: Regenerate.
* lib/string.in.h, lib/verify.h, m4/include_next.m4, m4/stdint.m4:
* m4/string_h.m4, m4/time_rz.m4: Copy from Gnulib.

4 years ago* lisp/svg.el: Bump package version to 1.1.
Stefan Kangas [Sun, 6 Sep 2020 00:21:59 +0000 (02:21 +0200)]
* lisp/svg.el: Bump package version to 1.1.

4 years agoFix eww-change-select defaults in a different way
Lars Ingebrigtsen [Sun, 6 Sep 2020 00:02:42 +0000 (02:02 +0200)]
Fix eww-change-select defaults in a different way

* lisp/net/eww.el (eww-change-select): Fix bug#43218 in a more
safe way than the previous version.

4 years agoFix up previous icomplete-show-matches-on-no-input change
Lars Ingebrigtsen [Sat, 5 Sep 2020 21:11:43 +0000 (23:11 +0200)]
Fix up previous icomplete-show-matches-on-no-input change

* lisp/icomplete.el (icomplete-completions): Ensure that the
default value is cleared (bug#43120).

4 years agoReinstall recent GC-related changes
Paul Eggert [Sat, 5 Sep 2020 19:13:32 +0000 (12:13 -0700)]
Reinstall recent GC-related changes

The report that they broke macOS was a false alarm, as the
previous commit was also broken (Bug#43152#62).
* src/alloc.c (live_string_holding, live_cons_holding)
(live_symbol_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_float_holding, live_vector_pointer):
New functions, which are similar about counting pointers.
(live_float_p, live_large_vector_holding)
(live_small_vector_pointer, mark_maybe_pointer): Use them.
(mark_maybe_object, mark_maybe_objects): Remove,
and remove all callers; mark_maybe_pointer now suffices.
(mark_objects): New function.
* src/alloc.c (mark_vectorlike, mark_face_cache):
* src/eval.c (mark_specpdl):
* src/fringe.c (mark_fringe_data):
* src/keyboard.c (mark_kboards):
Simplify by using mark_objects.
* src/lisp.h (SAFE_ALLOCA_LISP_EXTRA):
Clear any Lisp_Object arrays large enough to not fit into the stack,
so that GC need not worry about whether they contain objects.

4 years agoAdapt tramp-test30-make-process
Michael Albinus [Sat, 5 Sep 2020 17:29:47 +0000 (19:29 +0200)]
Adapt tramp-test30-make-process

* test/lisp/net/tramp-tests.el (tramp-list-tramp-buffers)
(tramp-time-diff): Don't declare.
(tramp-test30-make-process): Adapt test.

4 years agoMinor improvements in Tramp error reporting
Michael Albinus [Sat, 5 Sep 2020 17:29:12 +0000 (19:29 +0200)]
Minor improvements in Tramp error reporting

* lisp/net/tramp-cmds.el (tramp-bug):
Handle `tramp-suppress-trace' property.
(tramp-reporter-dump-variable): Improve variable dump.

* lisp/net/tramp.el (tramp--startup-hook, tramp-password-save-function):
Add `tramp-suppress-trace' property.

4 years agoRevert "Display name with with spaces, but keep symbol name underneath"
Lars Ingebrigtsen [Sat, 5 Sep 2020 15:24:42 +0000 (17:24 +0200)]
Revert "Display name with with spaces, but keep symbol name underneath"

This reverts commit e0c77bb62c1c950a82ea0517646d989dc5c1fe27.

We can't use a string with a display string here, anyway, because
it's used in other contexts.

4 years agoRevert "info-lookup-symbol: Fix the suggested default value in Custom buffers"
Lars Ingebrigtsen [Sat, 5 Sep 2020 15:23:31 +0000 (17:23 +0200)]
Revert "info-lookup-symbol: Fix the suggested default value in Custom buffers"

This reverts commit ccae4ea6990580e7489e7c9f958b4a094b32b8b8.

We can't use a string with a display string here, anyway, because
it's used in other contexts.

4 years agoinfo-lookup-symbol: Fix the suggested default value in Custom buffers
Mauro Aranda [Sat, 5 Sep 2020 15:07:30 +0000 (17:07 +0200)]
info-lookup-symbol: Fix the suggested default value in Custom buffers

* lisp/info-look.el (info-lookup-maybe-add-help 'Custom-mode): Don't
pass info-lookup-guess-custom-symbol as the :parse-rule, since we
don't need it anymore.  (Bug#41905)
(info-lookup-guess-custom-symbol): Now unused, mark as obsolete.
(info-lookup-interactive-arguments): Get rid of text properties before
passing the default value to completing-read.

4 years agoMark sgml-basic-offset as safe for integers
Lucas Werkmeister [Sat, 5 Sep 2020 14:54:45 +0000 (16:54 +0200)]
Mark sgml-basic-offset as safe for integers

* lisp/textmodes/sgml-mode.el (sgml-basic-offset):
Add :safe.  (Bug#43215)

4 years agoExplain in the tab-always-indent doc how to make TAB insert a TAB
Lars Ingebrigtsen [Sat, 5 Sep 2020 14:40:58 +0000 (16:40 +0200)]
Explain in the tab-always-indent doc how to make TAB insert a TAB

* lisp/indent.el (tab-always-indent): Mention how to make TAB
insert a TAB character always (bug#37183).

4 years agoFix default value in selects in eww
Lars Ingebrigtsen [Sat, 5 Sep 2020 13:50:40 +0000 (15:50 +0200)]
Fix default value in selects in eww

* lisp/net/eww.el (eww-change-select): Make hitting RET with an
empty string use a default (bug#43218).

4 years agoFix <optgroup> in selects in eww
Lars Ingebrigtsen [Sat, 5 Sep 2020 13:42:26 +0000 (15:42 +0200)]
Fix <optgroup> in selects in eww

* lisp/net/eww.el (eww-tag-select): Use all the options.  This
fixes the problem with <optgroup> elements that wrap them (bug#43217).

4 years agoTweak how cperl-mode fontifies hashes and arrays
Lars Ingebrigtsen [Sat, 5 Sep 2020 12:36:29 +0000 (14:36 +0200)]
Tweak how cperl-mode fontifies hashes and arrays

* lisp/progmodes/cperl-mode.el (cperl-init-faces): Fontify hashes
and arrays (%foo and @foo) before the keywords, since the keyword
regexps are "wider" and the hash/array regexp just match those two
things (bug#22867).

4 years agoProtect compilation-auto-jump against code killing the buffer
Lars Ingebrigtsen [Sat, 5 Sep 2020 12:31:52 +0000 (14:31 +0200)]
Protect compilation-auto-jump against code killing the buffer

* lisp/progmodes/compile.el (compilation-auto-jump): Something may
have killed the buffer before the timer fired (bug#24585).

4 years agoImprove call to widget-create-child-and-convert in cus-edit
Mauro Aranda [Sat, 5 Sep 2020 12:13:03 +0000 (14:13 +0200)]
Improve call to widget-create-child-and-convert in cus-edit

* lisp/cus-edit.el (custom-variable-value-create): Pass tag as the
:tag property value (bug#41905).

4 years agoDisplay name with with spaces, but keep symbol name underneath
ej-32u [Sat, 5 Sep 2020 12:12:22 +0000 (14:12 +0200)]
Display name with with spaces, but keep symbol name underneath

* lisp/cus-edit.el (custom-unlispify-menu-entry): Display the
pretty name, but keep the real symbol name as the value (bug#41905).

Copyright-paperwork-exempt: yes

4 years agoPreserve user customizations after disabling a theme
Mauro Aranda [Sat, 5 Sep 2020 11:53:18 +0000 (13:53 +0200)]
Preserve user customizations after disabling a theme

* lisp/custom.el (enable-theme): Since we are enabling the theme, bind
custom--inhibit-theme-enable to nil.  Then rely on custom-push-theme
to do the right thing with the theme settings and prior user settings,
instead of manipulating the property here.  This way, when disabling a
theme, we restore user preferences, even when the values were changed
outside of customize.
(disable-theme): Call custom-push-theme instead of handling theme
settings directly.
(custom-push-theme): Avoid another instance of Bug#28904: we don't
need the changed theme when the value recorded for it is going to be
the same as the recorded for the user theme.

* test/lisp/custom-tests.el (custom--test-theme-variables): Get rid of
a portion of the test that will always fail, because the user theme
has priority over every other theme.  Expect the test to pass now that
we preserve user customizations after disabling a theme (bug#34027).

4 years ago; Document new gnus-summary-line-format items
Andrew G Cohen [Sat, 5 Sep 2020 08:47:06 +0000 (16:47 +0800)]
; Document new gnus-summary-line-format items

* lisp/gnus/gnus.el (gnus-summary-line-format): Include %Z, %G, and %g
in the docstring.
* doc/misc/gnus.texi (Summary Buffer Lines): Document %Z, %G, and %g
specifications.

4 years ago; Fix typos in etc/NEWS
Michael Albinus [Sat, 5 Sep 2020 08:21:35 +0000 (10:21 +0200)]
; Fix typos in etc/NEWS

4 years agoIntroduce nnselect backend for gnus
Andrew G Cohen [Sat, 5 Sep 2020 00:46:43 +0000 (08:46 +0800)]
Introduce nnselect backend for gnus

This new backend allows gnus to handle arbitrary sets of messages
spanning multiple groups, even when these groups are from different
backends and different servers. All gnus glue is removed from
nnir (leaving only the backend search functions) and gnus
search-related processing is done through nnselect. In appropriate
places 'nnir' has been replaced by 'nnselect' or 'search'.

* etc/NEWS: Document the change.
* doc/misc/gnus.texi: New  documentation for nnselect and update
searching and thread-referral  sections.
* lisp/gnus/nnselect.el: New file.
* lisp/gnus/nnir.el: Remove all gnus glue, leaving only searching
capability. Improve documentation strings.
* lisp/gnus/gnus-group.el (gnus-group-read-ephemeral-search-group,
gnus-group-make-search-group): New functions.
* lisp/gnus/gnus-msg.el (gnus-setup-message, gnus-group-news,
gnus-summary-news-other-window): Update to work for nnselect. Fix
gnus-newsgroup-name wrangling.
*lisp/gnus/gnus-registry.el
(gnus-registry-action,gnus-registry-ignore-group-p): Make work from nnselect.
* lisp/gnus/nnheader.el (nnheader-parse-head, nnheader-parse-nov):
Rework and consolidate header parsing.
* lisp/gnus/gnus-agent.el (gnus-agent-regenerate-group):
* lisp/gnus/gnus-cache.el (gnus-possibly-enter-article):
* lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks):
* lisp/gnus/gnus-msg.el (gnus-inews-yank-articles):
* lisp/gnus/gnus-sum. (gnus-get-newsgroup-headers):
* lisp/gnus/nndiary.el (nndiary-parse-head):
* lisp/gnus/nnfolder.el (nnfolder-parse-head):
* lisp/gnus/nnmaildir.el (nnmaildir--update-nov):
* lisp/gnus/nnml.el (nnml-parse-head):
* lisp/gnus/nnspool.el (nnspool-insert-nov-head):
Use new header parsing.
* lisp/gnus/gnus-start.el (gnus-read-active-for-groups): Rescan on
activation by default.
* lisp/gnus/gnus-sum.el (gnus-summary-line-format-alist): New specs
for virtual groups.
(gnus-article-sort-by-rsv, gnus-thread-sort-by-rsv):  New functions to
allow sorting by search RSV.

4 years agoDon't move point in vc-dir on vc-register/vc-checkin (bug#43188)
Andrii Kolomoiets [Thu, 3 Sep 2020 19:13:36 +0000 (22:13 +0300)]
Don't move point in vc-dir on vc-register/vc-checkin (bug#43188)

* lisp/vc/vc-dir.el (vc-dir-update):
  Save and restore point on 'ewoc-invalidate'.
* lisp/vc/vc-dispatcher.el (vc-finish-logentry):
  Don't call 'vc-dir-move-to-goal-column'.
* lisp/vc/vc.el (vc-register): Don't call 'vc-dir-move-to-goal-column'.

4 years agoRename and move eln system directory
Andrea Corallo [Fri, 4 Sep 2020 09:54:44 +0000 (11:54 +0200)]
Rename and move eln system directory

Rename eln sys directory into 'native-lisp' and move it from
"$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}/" to
"$(DESTDIR)${libdir}/emacs/".

Add to the directory name used to disambiguate the eln compatibility
the Emacs version to have it more user friendly.

* Makefile.in (clean, install-eln): Rename eln-cache into
native-lisp.
(ELN_DESTDIR): Move from
'$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}/' to
'$(DESTDIR)${libdir}/emacs/'.

* lisp/loadup.el: Update for comp-native-path-postfix ->
comp-native-version-dir rename.

* src/comp.c (syms_of_comp): Rename eln-cache -> native-lisp.
(syms_of_comp, Fcomp_el_to_eln_filename): Rename
comp-native-path-postfix -> comp-native-version-dir.
(hash_native_abi): Rework and add emacs-version to
comp-native-version-dir.

4 years agoFix previous manual mis-merge of dired-aux
Lars Ingebrigtsen [Fri, 4 Sep 2020 13:50:48 +0000 (15:50 +0200)]
Fix previous manual mis-merge of dired-aux

* lisp/dired-aux.el (dired-rename-file): Fix manual mis-merge of
previous patch.

4 years agoFix up previous LAMDA->LAMBDA patch
Lars Ingebrigtsen [Fri, 4 Sep 2020 13:46:19 +0000 (15:46 +0200)]
Fix up previous LAMDA->LAMBDA patch

* lisp/international/mule-cmds.el (ucs-names): Ensure we're only
matching LAMDA as a word.  Noted by Stefan Monnier.

4 years agoDo not remove unbound variables or faces when modifying a custom-theme
Mauro Aranda [Fri, 4 Sep 2020 13:35:41 +0000 (15:35 +0200)]
Do not remove unbound variables or faces when modifying a custom-theme

* lisp/cus-theme.el (custom-theme-write-variables
custom-theme-write-faces): Remove check for a bound symbol or for a
face name, so saving a theme does not remove not yet defined variables
or faces (bug#24727).

4 years ago* etc/NEWS: Add changes for D-Bus; fix typos.
Michael Albinus [Fri, 4 Sep 2020 13:09:22 +0000 (15:09 +0200)]
* etc/NEWS: Add changes for D-Bus; fix typos.

4 years agoExtend dbus.el by error messages, and :write access type
Michael Albinus [Fri, 4 Sep 2020 13:09:08 +0000 (15:09 +0200)]
Extend dbus.el by error messages, and :write access type

* doc/misc/dbus.texi (Receiving Method Calls): Describe how to
produce D-Bus error messages.
(Receiving Method Calls): Support :write access type.

* lisp/net/dbus.el (dbus-error-dbus, dbus-error-failed)
(dbus-error-access-denied, dbus-error-invalid-args)
(dbus-error-property-read-only): New defconsts.
(dbus-method-error-internal): Add arg ERROR-NAME.
(dbus-register-method): Adapt docstring.
(dbus-handle-event): Handle error messages returned from the handler.
(dbus-get-this-registered-property)
(dbus-get-other-registered-property): New defuns.
(dbus-register-property): Support :write access type.
(dbus-property-handler): Submit proper D-Bus error messages.
Handle several paths at the same interface.

* src/dbusbind.c (Fdbus_message_internal): Improve handling of
DBUS_MESSAGE_TYPE_ERROR.

4 years agoDocument :type-error property for customization types
Mauro Aranda [Fri, 4 Sep 2020 12:50:40 +0000 (14:50 +0200)]
Document :type-error property for customization types

* doc/lispref/customize.texi (Type Keywords): Document :type-error, so
Lisp programs can display a more correct message when the value of a
user option doesn't match its type (bug#23975).

4 years agoAllow "lambda" spelling for ucs-insert
Noam Postavsky [Fri, 4 Sep 2020 04:43:13 +0000 (06:43 +0200)]
Allow "lambda" spelling for ucs-insert

* lisp/international/mule-cmds.el (ucs-names): Add a "LAMBDA"
completion variant for every "LAMDA" name (bug#30513).

4 years agoShow log suppression buttons in display-warning buffer
Robert Pluim [Fri, 4 Sep 2020 04:28:21 +0000 (06:28 +0200)]
Show log suppression buttons in display-warning buffer

* etc/NEWS: Describe 'display-warning' button change (bug#30757).
* lisp/emacs-lisp/warnings.el (warning-suppress-warning):
Define button.
(warning-suppress-action): New function.
(warning-suppress-log-warning): Define button.
(warning-suppress-log-action): New function.
(display-warning): Show buttons to allow permanent
modification of warning-suppress-types and
warning-suppress-log-types per warning.

4 years agowdired-do-renames: Speed up for long Emacs sessions
Tino Calancha [Fri, 4 Sep 2020 04:09:23 +0000 (06:09 +0200)]
wdired-do-renames: Speed up for long Emacs sessions

`dired-rename-file' calls unconditionally `dired-rename-subdir'.
The second function performs performs a loop on all the Emacs
buffers; this step is only needed if FILE is a directory (bug#32899).

In a long lived Emacs session, this can make a difference
when renaming a bunch of files with `wdired'.
For instance, in my 40 days old Emacs session, with ~ 700 buffers,
this patch increases the speed to rename 2000 files a factor ~ 15.

* lisp/dired-aux.el (dired-rename-file): Call `dired-rename-subdir'
iif FILE is a directory.  Add docstring.
(dired-rename-subdir, dired-remove-entry)
(dired-remove-file): Add docstring.

(dired-remove-entry): Move definition into `dired.el'.

* lisp/wdired.el (wdired-do-renames): Use a progress-reporter.

* lisp/dired.el (dired-delete-entry):
Use `dired-remove-entry'.  Add docstring.

(dired-buffers-for-dir, dired-fun-in-all-buffers):
Change comment into docstring.
(dired-fun-in-all-buffers): Prefer `when' and `push' here.

4 years agoFix infloop when indenting in cperl-mode
Harald Jörg [Fri, 4 Sep 2020 03:13:43 +0000 (05:13 +0200)]
Fix infloop when indenting in cperl-mode

* lisp/progmodes/cperl-mode.el (cperl-indent-exp): Fix (Bug#10483)
Perl expressions (e.g. function calls) ending in ")" without
statement terminator on the same line no longer loop endlessly.

4 years agoFix previous buffer name fixup in save-some-buffers
Lars Ingebrigtsen [Fri, 4 Sep 2020 02:58:17 +0000 (04:58 +0200)]
Fix previous buffer name fixup in save-some-buffers

* lisp/files.el (save-some-buffers): Get the file name for the
correct buffer in the buffer name check (bug#43192).

4 years agoDon't display the Gnus splash on gnus-read-ephemeral-emacs-bug-group
Lars Ingebrigtsen [Fri, 4 Sep 2020 02:45:49 +0000 (04:45 +0200)]
Don't display the Gnus splash on gnus-read-ephemeral-emacs-bug-group

* lisp/gnus/gnus.el: Don't display the Gnus splash at load time
(bug#43123).

4 years ago* lisp/mail/mspools.el: Use lexical-scoping. Autoload `mspools-show`.
Stefan Monnier [Fri, 4 Sep 2020 02:03:46 +0000 (22:03 -0400)]
* lisp/mail/mspools.el: Use lexical-scoping.  Autoload `mspools-show`.

(mspools-mode-map): Remove bindings made redundant by `special-mode-map`.
(mspools-show): Autoload.  Use `erase-buffer`.
(mspools-visit-spool): Use `inhibit-read-only`; simplify a bit.
(mspools-get-spool-files): Avoid `setq`.  Use `pcase-dolist`.
(mspools-revert-buffer): Make (unused) args optional.
(mspools-help, mspools-show-again, mspools-quit): Declare obsolete.

4 years agoFix ElDoc's eldoc-documentation-enthusiast strategy
João Távora [Thu, 3 Sep 2020 21:17:29 +0000 (22:17 +0100)]
Fix ElDoc's eldoc-documentation-enthusiast strategy

As soon as we get a response from any of the user functions/sources in
eldoc-documentation-functions, we must make sure to call the
display-doc local function, just like in the other strategies.

That is even if that response produced nil, meaning that there's no
doc coming from that source.  Failure to do so when none of the
sources produced non-nil would keep stale documentation displaying.

First reported in https://github.com/joaotavora/eglot/issues/503

* lisp/emacs-lisp/eldoc.el (eldoc--invoke-strategy): Fix
:enthusiast strategy.
(Version): Bump to 1.10.0

4 years agoFix freeze in cperl-mode when editing a regexp
Harald Jörg [Thu, 3 Sep 2020 20:11:47 +0000 (22:11 +0200)]
Fix freeze in cperl-mode when editing a regexp

* lisp/progmodes/cperl-mode.el (cperl-forward-group-in-re): Make
sure that an error is reported back to the caller (Bug#16368).

* test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-16368):
Tests for balanced (no error) and unbalanced (caught exception)
cases of `cperl-forward-group-in-re'.

4 years ago* configure.ac (GNU_OBJC_CFLAGS): Check ObjC defaults to C99. (bug#43167)
Alan Third [Thu, 3 Sep 2020 20:56:03 +0000 (21:56 +0100)]
* configure.ac (GNU_OBJC_CFLAGS): Check ObjC defaults to C99. (bug#43167)

4 years ago; * test/lisp/progmodes/cperl-mode-tests.el: Add license statement.
Stefan Kangas [Thu, 3 Sep 2020 19:57:06 +0000 (21:57 +0200)]
; * test/lisp/progmodes/cperl-mode-tests.el: Add license statement.

4 years ago* src/image.c (svg_load_image): Use xmalloc and xfree. (bug#43135)
Alan Third [Tue, 1 Sep 2020 18:53:01 +0000 (19:53 +0100)]
* src/image.c (svg_load_image): Use xmalloc and xfree. (bug#43135)

4 years agoRevert recent GC-related changes (Bug#43152)
Paul Eggert [Thu, 3 Sep 2020 19:10:26 +0000 (12:10 -0700)]
Revert recent GC-related changes (Bug#43152)

* src/alloc.c (live_string_holding, live_cons_holding)
(live_symbol_holding, live_large_vector_holding)
(live_small_vector_holding):
Go back to old approach of treating every would-be pointer to any
byte in the object (though not to just past the object end) as
addressing the object.
(live_float_p): Require that the would-be float point
to the start of the Lisp_Float, and not anywhere else.
(live_vector_pointer, live_float_holding, mark_objects):
Remove.  All uses removed.
(mark_maybe_object, mark_maybe_objects):
Bring back these functions.
* src/lisp.h (SAFE_ALLOCA_LISP_EXTRA): Do not clear the
new slots, as they're now checked via mark_maybe_objects,
not via mark_objects.

4 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Thu, 3 Sep 2020 17:20:56 +0000 (20:20 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

4 years agoFix 'expand-file-name' for remote files
Eli Zaretskii [Thu, 3 Sep 2020 17:16:33 +0000 (20:16 +0300)]
Fix 'expand-file-name' for remote files

This reverts most of commit 14fb657ba82da346d36f05f88da26f1c5498b798
and its followup fixes, and instead fixes the original bugs in a
different manner that doesn't affect any unrelated use cases.  As
part of this, the code which caused 'expand-file-name' to enforce
a trailing slash on expanded directories is removed, as this kind
of semantic processing is outside of 'expand-file-name's scope.
* src/fileio.c (Fexpand_file_name): If expanding default_directory
yields a remote file name, call its handlers.  (Bug#26911)
(Bug#34834)

* doc/lispref/files.texi (File Name Expansion): Remove the
requirement that expanding a directory name yields a directory
name, i.e. that the expansion must end in a slash.

* etc/NEWS: Remove the announcement of the changed behavior of
'expand-file-name' wrt trailing slashes.

* test/src/fileio-tests.el (fileio-tests--HOME-trailing-slash)
(fileio-tests--expand-file-name-trailing-slash): Remove tests.
* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name): No
need to expect different results in Emacs 28 and later.

4 years agoFix my previous change to cancel world-clock timer
Stefan Kangas [Thu, 3 Sep 2020 15:19:15 +0000 (17:19 +0200)]
Fix my previous change to cancel world-clock timer

* lisp/time.el (subr-x): Require when compiling.
(world-clock): Set 'kill-buffer-hook' buffer locally only.
(world-clock-update): Break out timer cancellation from here...
(world-clock-cancel-timer): ...to here, and don't rely on variable to
find the timer to cancel.
(world-clock-timer): Delete now superfluous variable.

4 years agoFix vertical cursor motion when 'visual-line-mode' is in effect
Eli Zaretskii [Thu, 3 Sep 2020 12:59:46 +0000 (15:59 +0300)]
Fix vertical cursor motion when 'visual-line-mode' is in effect

* src/xdisp.c (move_it_in_display_line_to): Fix a logic error made
as part of introducing the 'word-wrap-by-category' feature; that
error brought back bug#8155.

4 years agoUnbreak project.el, the GNU Elpa package, for Emacs 26.3
João Távora [Thu, 3 Sep 2020 12:34:08 +0000 (13:34 +0100)]
Unbreak project.el, the GNU Elpa package, for Emacs 26.3

Fixes: bug#43164
* lisp/progmodes/project.el: Bump to 0.5.2
(bound-and-true-p): Check that tab-prefix-map is bound before binding.

4 years ago* lisp/eshell/esh-mode.el: Remove redundant :group args.
Stefan Kangas [Thu, 3 Sep 2020 12:31:46 +0000 (14:31 +0200)]
* lisp/eshell/esh-mode.el: Remove redundant :group args.

4 years agoSupport bookmarking Eshell buffers
Stefan Kangas [Thu, 3 Sep 2020 12:30:53 +0000 (14:30 +0200)]
Support bookmarking Eshell buffers

* lisp/eshell/esh-mode.el (eshell-bookmark-name)
(eshell-bookmark-make-record, eshell-bookmark-jump): New defuns.
(eshell-mode): Set up bookmark handler.

4 years agoCancel timer when world-clock buffer is killed
Stefan Kangas [Thu, 3 Sep 2020 10:54:30 +0000 (12:54 +0200)]
Cancel timer when world-clock buffer is killed

* lisp/time.el (world-clock-timer): New variable.
(world-clock-cancel-timer): New defun.
(world-clock): Add 'world-clock-cancel-timer' to 'kill-buffer-hook'.

4 years agoUse lexical-binding in mwheel.el
Stefan Kangas [Wed, 2 Sep 2020 21:11:27 +0000 (23:11 +0200)]
Use lexical-binding in mwheel.el

4 years agoSimplify mwheel-mode by using alist instead of two variables
Stefan Kangas [Wed, 2 Sep 2020 21:10:27 +0000 (23:10 +0200)]
Simplify mwheel-mode by using alist instead of two variables

* lisp/mwheel.el (mouse-wheel--remove-bindings): Update call
signature to take no arguments.  Doc fix.
(mouse-wheel--add-binding): Break out from...
(mouse-wheel-mode): ...here.  Simplify by using above functions.
(mouse-wheel--installed-bindings-alist): New variable.
(mwheel-installed-bindings): Make obsolete.
(mwheel-installed-text-scale-bindings): Make obsolete.
* test/lisp/mwheel-tests.el (mwheel-test-enable/disable):
New test.

4 years agoFix binding mouse wheel with modifiers in buffer area
Stefan Kangas [Wed, 2 Sep 2020 20:54:47 +0000 (22:54 +0200)]
Fix binding mouse wheel with modifiers in buffer area

* test/lisp/mwheel-tests.el (mwheel-test--create-scroll-keys): Fix
binding mouse wheel with modifiers in buffer area, while ignoring them
for fringes, margins, etc.  My previous change mistakenly ignored all
modifiers in `mouse-wheel-scroll-amount'.
* lisp/mwheel.el (mouse-wheel--create-scroll-keys): Fix test to
reflect the above.

4 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Ulf Jasper [Wed, 2 Sep 2020 17:59:57 +0000 (19:59 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

4 years agoApply icalendar.el patch by Thomas Plass <thunk2@arcor.de>. Fix bug#34315.
Ulf Jasper [Wed, 2 Sep 2020 17:58:56 +0000 (19:58 +0200)]
Apply icalendar.el patch by Thomas Plass <thunk2@arcor.de>.  Fix bug#34315.

* lisp/calendar/icalendar.el (icalendar--convert-tz-offset): No DST
  when RDATE is present.
* lisp/calendar/icalendar.el (icalendar--parse-vtimezone): Use
  `icalendar--get-most-recent-observance'.
* (icalendar--get-most-recent-observance): New.
* (icalendar--decode-isodatetime): Add parameters source-zone, result-zone.
* (icalendar--decode-isoduration): Fix decoding days.
* test/lisp/calendar/icalendar-tests.el (icalendar--decode-isoduration):
  Add testcases.

4 years agoFix bug in dbus.el
Michael Albinus [Wed, 2 Sep 2020 17:50:14 +0000 (19:50 +0200)]
Fix bug in dbus.el

* lisp/net/dbus.el (dbus-register-property)
(dbus-property-handler): Handle properties of the same interface
at different object paths properly.  (Bug#43146)

4 years agoAdd unit tests for icalendar.el
Ulf Jasper [Wed, 2 Sep 2020 17:37:45 +0000 (19:37 +0200)]
Add unit tests for icalendar.el

* test/lisp/calendar/icalendar-tests.el (icalendar--parse-vtimezone,
  icalendar--decode-isodatetime): Add testcases.
* test/lisp/calendar/icalendar-tests.el (icalendar--convert-tz-offset,
  icalendar--decode-isoduration): New.

4 years agoHandle different IMAP server responses to COPY and MOVE
Eric Abrahamsen [Wed, 2 Sep 2020 16:07:35 +0000 (09:07 -0700)]
Handle different IMAP server responses to COPY and MOVE

* lisp/gnus/nnimap.el (nnimap-request-move-article): Need to examine
different parts of the result.

4 years agoFix OBOE in flyspell-check-previous-highlighted-word
Stefan Kangas [Wed, 2 Sep 2020 15:31:08 +0000 (17:31 +0200)]
Fix OBOE in flyspell-check-previous-highlighted-word

* lisp/textmodes/flyspell.el
(flyspell-check-previous-highlighted-word): Fix off-by-one error when
word is at (point-min).  (Bug#39898)

Suggested by OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>.

4 years agoUse lexical-binding in pcmpl-unix.el
Stefan Kangas [Wed, 2 Sep 2020 14:37:13 +0000 (16:37 +0200)]
Use lexical-binding in pcmpl-unix.el

* lisp/pcmpl-unix.el: Use lexical-binding.
(pcmpl-ssh-known-hosts, pcmpl-ssh-config-hosts, pcmpl-ssh-hosts):
Adjust for lexical-binding.

4 years agoUse lexical-binding in pcmpl-linux.el and add tests
Stefan Kangas [Wed, 2 Sep 2020 03:02:18 +0000 (05:02 +0200)]
Use lexical-binding in pcmpl-linux.el and add tests

* lisp/pcmpl-linux.el: Use lexical-binding.
(pcmpl-linux-fs-modules-path-format)
(pcmpl-linux-mtab-file): New constants.
(pcmpl-linux-fs-types, pcmpl-linux-mounted-directories): Use above
new constants.
* test/lisp/pcmpl-linux-resources/fs/ext4/.keep:
* test/lisp/pcmpl-linux-resources/mtab:
* test/lisp/pcmpl-linux-tests.el: New files.

4 years ago* Fix `load-filename' for installed instance (bug#43089)
Andrea Corallo [Tue, 1 Sep 2020 18:04:00 +0000 (20:04 +0200)]
* Fix `load-filename' for installed instance (bug#43089)

* src/lread.c (parent_directory): Remove function as now
unnecessary.
(compute_found_effective): New function.
(Fload): Make use of 'compute_found_effective' and fix
`load-filename' computation.

4 years agoStrip carriage returns from received password prompts (comint)
Robert Pluim [Tue, 1 Sep 2020 14:59:50 +0000 (16:59 +0200)]
Strip carriage returns from received password prompts (comint)

* comint.el (comint-password-prompt-regexp): Strip carriage
returns from the received prompt before matching.  (Bug#43003)

4 years agoImprove documentation for custom :options
Mauro Aranda [Tue, 1 Sep 2020 14:59:58 +0000 (16:59 +0200)]
Improve documentation for custom :options

* doc/lispref/customize.texi (Variable Definitions):
Mention that re-evaluating a defcustom form doesn't reset custom
options (bug#30101).

4 years agoDocument 'smtp-auth' in auth-source info
Robert Pluim [Tue, 1 Sep 2020 13:59:43 +0000 (15:59 +0200)]
Document 'smtp-auth' in auth-source info

* doc/misc/auth.texi (Help for users): Mention 'smtp-auth' key,
add cross-reference to smtpmail.info.
* doc/misc/smtpmail.texi (Authentication): Fix markup.

4 years agoMention C-c C-w in the signature section of the Message manual
Lars Ingebrigtsen [Tue, 1 Sep 2020 13:42:16 +0000 (15:42 +0200)]
Mention C-c C-w in the signature section of the Message manual

* doc/misc/message.texi (Insertion Variables): Mention the C-c C-w
command (bug#43136).  Text suggested by Dan Jacobson.

4 years agoRemove spurious @ character in smtpmail.texi
Lars Ingebrigtsen [Tue, 1 Sep 2020 13:34:32 +0000 (15:34 +0200)]
Remove spurious @ character in smtpmail.texi

* doc/misc/smtpmail.texi (Authentication): Remove a presumably
spurious @ character.

4 years ago; Auto-commit of loaddefs files.
Glenn Morris [Tue, 1 Sep 2020 13:27:54 +0000 (06:27 -0700)]
; Auto-commit of loaddefs files.

4 years ago; Document choice of smtp authentication method
Andrew G Cohen [Tue, 1 Sep 2020 11:38:36 +0000 (19:38 +0800)]
; Document choice of smtp authentication method

* doc/misc/smtpmail.texi (Authentication): Document smtp-auth.
* etc/NEWS: Advertise the feature.

4 years agoRework native compiled lisp/d lambda list accessor
Andrea Corallo [Tue, 1 Sep 2020 08:28:29 +0000 (10:28 +0200)]
Rework native compiled lisp/d lambda list accessor

* lisp/help.el (help-function-arglist): Logic update for new
'Fsubr_native_lambda_list'.
* src/data.c (Fsubr_native_dyn_p): Remove.
(Fsubr_native_lambda_list): Return t when the input is not a
compiled lisp/d subr.
(syms_of_data): Update for 'Fsubr_native_dyn_p' removal.

4 years ago* src/lread.c (Fload): Fix for manual eln load.
Andrea Corallo [Mon, 31 Aug 2020 20:21:22 +0000 (22:21 +0200)]
* src/lread.c (Fload): Fix for manual eln load.

4 years agoFix describe function arglist for native compiled lisp/d (bug#42572)
Andrea Corallo [Mon, 31 Aug 2020 20:06:49 +0000 (22:06 +0200)]
Fix describe function arglist for native compiled lisp/d (bug#42572)

* lisp/help.el (help-function-arglist): Handle the case of native
compiled lisp/d.

* src/data.c (syms_of_data): Register new subrs.
(Fsubr_native_dyn_p, Fsubr_native_lambda_list): New primitives.

* test/src/comp-tests.el (comp-tests-dynamic-help-arglist): New test.

4 years agoUse lexical-binding in pong.el
Stefan Kangas [Mon, 31 Aug 2020 18:41:45 +0000 (20:41 +0200)]
Use lexical-binding in pong.el

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

4 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 31 Aug 2020 17:45:54 +0000 (10:45 -0700)]
Merge from origin/emacs-27

f20169399d (origin/emacs-27) Fix typo in Introduction to Emacs Lisp
7605060d51 Update Elisp Manual reference to which-function-mode
29708cbde7 Some precisions to bug handling
dddc971f0e CC Mode: Fix processing for when c-multiline-string-start-...
4a73fb9668 Fix description of %-constructs in 'mode-line-format'

4 years ago; Merge from origin/emacs-27
Glenn Morris [Mon, 31 Aug 2020 17:45:54 +0000 (10:45 -0700)]
; Merge from origin/emacs-27

The following commit was skipped:

df5c669709 Adapt tramp-tests.el, don't merge with master

4 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 31 Aug 2020 17:45:54 +0000 (10:45 -0700)]
Merge from origin/emacs-27

da4840af12 Adapt reminder-for-release-blocking-bugs

4 years ago; Merge from origin/emacs-27
Glenn Morris [Mon, 31 Aug 2020 17:45:54 +0000 (10:45 -0700)]
; Merge from origin/emacs-27

The following commits were skipped:

eb77572257 Fix replace-region-contents performance bug
a142bbd288 * admin/admin.el (reminder-for-release-blocking-bugs): New...
4657f08b7e Sync with Tramp 2.4.5-pre

4 years agoMake quoted-printable-encode-region work in multibyte buffers
Lars Ingebrigtsen [Mon, 31 Aug 2020 17:13:23 +0000 (19:13 +0200)]
Make quoted-printable-encode-region work in multibyte buffers

* lisp/mail/qp.el (quoted-printable-encode-region): If we're in a
multibyte buffer (that has been encoded with some coding system),
then get-byte will get the correct byte value.

4 years agoAdd a new function dom-print
Lars Ingebrigtsen [Mon, 31 Aug 2020 17:12:12 +0000 (19:12 +0200)]
Add a new function dom-print

* doc/lispref/text.texi (Document Object Model): Document it.

* lisp/dom.el (dom-print): New function.

4 years ago* lisp/dired-x.el (dired-omit-mode): Add autoload cookie.
Stefan Kangas [Sat, 29 Aug 2020 18:18:19 +0000 (20:18 +0200)]
* lisp/dired-x.el (dired-omit-mode): Add autoload cookie.

4 years ago* .gitlab-ci.yml (test-all): Add lib/*.{h,c}.
Michael Albinus [Mon, 31 Aug 2020 11:31:46 +0000 (13:31 +0200)]
* .gitlab-ci.yml (test-all): Add lib/*.{h,c}.

4 years agoFix minibuffer default of ephemeral debbugs group
Stefan Kangas [Mon, 31 Aug 2020 09:43:52 +0000 (11:43 +0200)]
Fix minibuffer default of ephemeral debbugs group

* lisp/gnus/gnus-group.el (gnus-group--read-bug-ids): Don't read
number in "bug-123" as a negative bug ID; they are always positive.

4 years agoFix typo in Introduction to Emacs Lisp
Stefan Kangas [Mon, 31 Aug 2020 09:34:18 +0000 (11:34 +0200)]
Fix typo in Introduction to Emacs Lisp

* doc/lispintro/emacs-lisp-intro.texi (type-of-animal in detail):
Remove extraneous parenthesis.

4 years ago* .gitlab-ci.yml (test-all): Change .m to .c for standard C files.
Alan Third [Mon, 31 Aug 2020 08:19:45 +0000 (09:19 +0100)]
* .gitlab-ci.yml (test-all): Change .m to .c for standard C files.

4 years ago* src/alloc.c (live_symbol_holding): Pacify gcc -Wlogical-op.
Paul Eggert [Mon, 31 Aug 2020 07:15:22 +0000 (00:15 -0700)]
* src/alloc.c (live_symbol_holding): Pacify gcc -Wlogical-op.

4 years ago* src/lisp.h (lisp_h_XPL, XPL): Remove; unused.
Paul Eggert [Mon, 31 Aug 2020 06:56:39 +0000 (23:56 -0700)]
* src/lisp.h (lisp_h_XPL, XPL): Remove; unused.

4 years agoUse mark_objects elsewhere too
Paul Eggert [Mon, 31 Aug 2020 06:40:11 +0000 (23:40 -0700)]
Use mark_objects elsewhere too

* src/alloc.c (mark_vectorlike, mark_face_cache):
* src/eval.c (mark_specpdl):
* src/fringe.c (mark_fringe_data):
* src/keyboard.c (mark_kboards):
Use mark_objects instead of doing it by hand.

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.