]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years ago* lisp/progmodes/project.el (project-regexp-history-variable): New variable.
Juri Linkov [Mon, 29 Mar 2021 19:34:51 +0000 (22:34 +0300)]
* lisp/progmodes/project.el (project-regexp-history-variable): New variable.

(project--read-regexp): Use it as HISTORY arg of 'read-regexp' with
'grep-regexp-history' default (bug#47012).

3 years ago* lisp/allout*.el: Use lexical-binding
Stefan Monnier [Mon, 29 Mar 2021 19:29:26 +0000 (15:29 -0400)]
* lisp/allout*.el: Use lexical-binding

* lisp/allout.el: Activate lexical-binding.
(allout-setup-menubar): Delete "complex no-op" function.
(allout-mode): Delete call to it.
(allout-hotspot-key-handler): Delete XEmacs-only code.
(allout-copy-exposed-to-buffer): Remove always-nil var `start-list`.

* lisp/allout-widgets.el: Activate lexical-binding.
(allout-item-icon-keymap): Use `ignore`.
(allout-widgets-exposure-change-processor): Use `cl-callf` instead of
relying on dynamic binding to apply some code to two different variables.

3 years agoFix an infinite loop in C++ Mode redisplay. This was bug #47191.
Alan Mackenzie [Mon, 29 Mar 2021 15:32:40 +0000 (15:32 +0000)]
Fix an infinite loop in C++ Mode redisplay.  This was bug #47191.

* lisp/progmodes/cc-defs.el (c-forward-syntactic-ws, c-backward-syntactic-ws):
When point is on the wrong side of a supplied search limit, leave point
unmoved rather than setting it to that limit.

* lisp/progmodes/cc-engine.el (c-forward-name): After scanning a template
argument list (which is not itself subject to a search limit) recalculate the
search limit starting from the end point, since these argument lists can
legitimately be long.  At each of the scanning loops, check point hasn't gone
past the limit.

3 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 29 Mar 2021 15:31:15 +0000 (08:31 -0700)]
Merge from origin/emacs-27

8a92030f6a (origin/emacs-27) Fix hang in autorevert-tests.el

# Conflicts:
# test/lisp/autorevert-tests.el

3 years ago; Merge from origin/emacs-27
Glenn Morris [Mon, 29 Mar 2021 15:26:25 +0000 (08:26 -0700)]
; Merge from origin/emacs-27

The following commits were skipped:

91eea74229 Revert "Clarify dired-do-shell-command doc string"
b23e22e0de Clarify dired-do-shell-command doc string

3 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 29 Mar 2021 15:26:25 +0000 (08:26 -0700)]
Merge from origin/emacs-27

bcc4cc3362 Doc fixes for 'face-foreground' and 'face-background'.
bf6442fafd ; * admin/make-tarball.txt: Minor addition to the Web page...
38b127d32e * admin/admin.el (set-version): Handle malformed NEWS markup.
0d7e2a993e admin.el fix for bug#47394
fdec444758 ; * etc/NEWS: Fix typo.
1e6ca2765f ; * admin/make-tarball.txt: Another minor addition.

# Conflicts:
# etc/NEWS

3 years ago; Merge from origin/emacs-27
Glenn Morris [Mon, 29 Mar 2021 15:26:25 +0000 (08:26 -0700)]
; Merge from origin/emacs-27

The following commit was skipped:

3e9047115e Bump Emacs version past 27.2

3 years ago; Fix schedule in admin/notes/emba
Michael Albinus [Mon, 29 Mar 2021 14:51:50 +0000 (16:51 +0200)]
; Fix schedule in admin/notes/emba

3 years agoSome Tramp doc clarifications
Michael Albinus [Mon, 29 Mar 2021 11:52:01 +0000 (13:52 +0200)]
Some Tramp doc clarifications

* doc/misc/tramp.texi (Remote shell setup): Explain meaning of
`tramp-sh-extra-args' for bash.
(Frequently Asked Questions): New item about unloading / reloading Tramp.

3 years agoProtect add-variable-watcher from incorrect usage
Eli Zaretskii [Mon, 29 Mar 2021 10:39:43 +0000 (13:39 +0300)]
Protect add-variable-watcher from incorrect usage

* src/data.c (Fadd_variable_watcher): Avoid crashes if SYMBOL
isn't.  (Bug#47462)

3 years ago; Fix last change
Michael Albinus [Mon, 29 Mar 2021 10:12:33 +0000 (12:12 +0200)]
; Fix last change

3 years agoOptimize test jobs for emba
Michael Albinus [Mon, 29 Mar 2021 09:33:36 +0000 (11:33 +0200)]
Optimize test jobs for emba

* test/infra/gitlab-ci.yml (.test-template): Do not run fast and
normal test jobs when scheduled.

3 years agoDoc fixes in follow.el
Stefan Kangas [Mon, 29 Mar 2021 09:30:53 +0000 (11:30 +0200)]
Doc fixes in follow.el

* lisp/follow.el:
(follow-pos-visible-in-window-p, follow-adjust-window)
(follow-prev-buffer, follow-internal-force-redisplay):
Minor doc fixes.

3 years ago* test/infra/gitlab-ci.yml (test-filenotify-gio): Use *.log for make_params.
Michael Albinus [Mon, 29 Mar 2021 08:15:45 +0000 (10:15 +0200)]
* test/infra/gitlab-ci.yml (test-filenotify-gio): Use *.log for make_params.

3 years agoFix hang in autorevert-tests.el
Michael Albinus [Sun, 28 Mar 2021 19:06:24 +0000 (21:06 +0200)]
Fix hang in autorevert-tests.el

* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert):
Apply more robust check, whether file notification is used.

3 years agoFix a dbus.el byte compilation warning
Lars Ingebrigtsen [Sun, 28 Mar 2021 17:22:15 +0000 (19:22 +0200)]
Fix a dbus.el byte compilation warning

* lisp/net/dbus.el (dbus-register-monitor): Silence a
byte-compilation warning on systems without dbus.

3 years agoUse a 64KB page size for pdump
Lars Ingebrigtsen [Sun, 28 Mar 2021 17:13:00 +0000 (19:13 +0200)]
Use a 64KB page size for pdump

* src/pdumper.c (dump_get_page_size): Use a 64KB page size on all
architectures, as this many vary between systems (bug#47125).

3 years ago* admin/notes/emba: Explain job types and artifacts.
Michael Albinus [Sun, 28 Mar 2021 17:16:12 +0000 (19:16 +0200)]
* admin/notes/emba: Explain job types and artifacts.

3 years agoRevert "Clarify dired-do-shell-command doc string"
Lars Ingebrigtsen [Sun, 28 Mar 2021 15:06:01 +0000 (17:06 +0200)]
Revert "Clarify dired-do-shell-command doc string"

This reverts commit cf607c262e15c873961fdfcced254e6f8e82f8d7.

The doc string already explains this.

(cherry picked from commit 01cf0eb75786834b7a0ee5be34be53f6e8e14c11)

3 years agoRevert "Clarify dired-do-shell-command doc string"
Lars Ingebrigtsen [Sun, 28 Mar 2021 15:06:01 +0000 (17:06 +0200)]
Revert "Clarify dired-do-shell-command doc string"

This reverts commit cf607c262e15c873961fdfcced254e6f8e82f8d7.

The doc string already explains this.

3 years agoClarify dired-do-shell-command doc string
Lars Ingebrigtsen [Sun, 28 Mar 2021 14:01:53 +0000 (16:01 +0200)]
Clarify dired-do-shell-command doc string

* lisp/dired-aux.el (dired-do-shell-command): Mention what happens
to FILE-LIST (bug#47432).

(cherry picked from commit cf607c262e15c873961fdfcced254e6f8e82f8d7)

3 years agoClarify dired-do-shell-command doc string
Lars Ingebrigtsen [Sun, 28 Mar 2021 14:01:53 +0000 (16:01 +0200)]
Clarify dired-do-shell-command doc string

* lisp/dired-aux.el (dired-do-shell-command): Mention what happens
to FILE-LIST (bug#47432).

3 years agoDoc fixes for 'face-foreground' and 'face-background'.
Eli Zaretskii [Sun, 28 Mar 2021 13:26:21 +0000 (16:26 +0300)]
Doc fixes for 'face-foreground' and 'face-background'.

* lisp/faces.el (face-foreground, face-background): Clarify how a
face specified in INHERIT arg is used.  (Bug#47437)

3 years agocompilation-goto-locus does not handle right display-buffer
pillule [Sun, 28 Mar 2021 13:18:26 +0000 (15:18 +0200)]
compilation-goto-locus does not handle right display-buffer

* lisp/progmodes/compile.el (compilation-goto-locus): Pop to the
source buffer if the match buffer is the selected window (bug#47414).

Copyright-paperwork-exempt: yes

3 years agoClarify the doc string of plist-memeber and plist-put
Lars Ingebrigtsen [Sun, 28 Mar 2021 12:58:43 +0000 (14:58 +0200)]
Clarify the doc string of plist-memeber and plist-put

* src/fns.c (Fplist_member):
(Fplist_put): Clarify what comparison function is used for PROP
(bug#47426) and don't claim that PROP has to be a symbol.

3 years agoAvoid errors in pulse.el for some face customizations
Eli Zaretskii [Sun, 28 Mar 2021 12:29:41 +0000 (15:29 +0300)]
Avoid errors in pulse.el for some face customizations

* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Make
sure 'face-background' always returns a color name.  Suggested by
Ingo Lohmar <ingo.lohmar@posteo.net> in bug#47437.

3 years agoMake artifacts working on emba (hopefully)
Michael Albinus [Sun, 28 Mar 2021 08:08:00 +0000 (10:08 +0200)]
Make artifacts working on emba (hopefully)

* test/infra/gitlab-ci.yml (.job-template): Use proper docker name.
(.test-template): Adapt artifacts path.

3 years ago; Adapt recent change in test/infra/gitlab-ci.yml
Michael Albinus [Sat, 27 Mar 2021 20:27:35 +0000 (21:27 +0100)]
; Adapt recent change in test/infra/gitlab-ci.yml

3 years agoDemote read-extended-command-predicate errors
Basil L. Contovounesios [Sat, 27 Mar 2021 19:25:38 +0000 (19:25 +0000)]
Demote read-extended-command-predicate errors

For discussion, see the following thread:
https://lists.gnu.org/r/emacs-devel/2021-03/msg00682.html

* lisp/simple.el (read-extended-command): Demote errors when calling
read-extended-command-predicate so M-x completion doesn't break.

3 years ago; Adapt recent change in test/infra/gitlab-ci.yml
Michael Albinus [Sat, 27 Mar 2021 19:19:27 +0000 (20:19 +0100)]
; Adapt recent change in test/infra/gitlab-ci.yml

3 years ago; Adapt recent change in test/infra/gitlab-ci.yml
Michael Albinus [Sat, 27 Mar 2021 19:14:22 +0000 (20:14 +0100)]
; Adapt recent change in test/infra/gitlab-ci.yml

3 years ago* lisp/wdired.el (wdired--self-insert): Fix thinko
Stefan Monnier [Sat, 27 Mar 2021 18:31:40 +0000 (14:31 -0400)]
* lisp/wdired.el (wdired--self-insert): Fix thinko

3 years ago; Adapt recent change in test/infra/gitlab-ci.yml
Michael Albinus [Sat, 27 Mar 2021 16:47:43 +0000 (17:47 +0100)]
; Adapt recent change in test/infra/gitlab-ci.yml

3 years ago; Adapt recent change in test/infra/gitlab-ci.yml
Michael Albinus [Sat, 27 Mar 2021 15:49:09 +0000 (16:49 +0100)]
; Adapt recent change in test/infra/gitlab-ci.yml

3 years ago* lisp/wdired.el: Fix minor regressions and simplify a bit
Stefan Monnier [Sat, 27 Mar 2021 14:54:10 +0000 (10:54 -0400)]
* lisp/wdired.el: Fix minor regressions and simplify a bit

Use `wdired--current-column` more consistently to avoid mayhem when it
doesn't return the same result as `current-column`.

(wdired-get-filename): Fix the unprocessed case.
(wdired-finish-edit): Don't force processing all the lines.
(wdired--col-perm): Remove, redundant with `wdired--perm-beg`.
(wdired-change-to-wdired-mode): Don't error in empty directory.
(wdired--set-permission-bounds): Set `wdired--perm-beg` when we can't
find permissions.  Move `wdired--perm-beg` 1 char further (like
`wdired--col-perm`).  Use `wdired--current-column`.
(wdired--point-at-perms-p): Fix when `wdired--perm-beg` is nil.
(wdired--self-insert): Lookup the keymap to know command to call.
(wdired--before-change-fn): Just use `point` instead of `beg`.
Use `with-silent-modifications` here rather than in each of the
`wdired--preprocess-*` functions.
(wdired--preprocess-files): Presume we're at BOL and within
`with-silent-modifications`.  Fix application of `read-only`.
(wdired-abort-changes): Don't use `with-silent-modifications` since
we're really modifying the buffer.
(wdired--preprocess-symlinks): Presume we're at BOL and within
`with-silent-modifications`.
(wdired--preprocess-perms): Presume we're at BOL and within
`with-silent-modifications`.
(wdired-set-bit): Add `char` argument.  Use `wdired--current-column`.
Copy previous text properties rather than duplicating the code of
`wdired--preprocess-perms`.
(wdired-toggle-bit): Delegate to `wdired-set-bit`.

3 years ago; Adapt recent change in test/infra/gitlab-ci.yml
Michael Albinus [Sat, 27 Mar 2021 13:57:32 +0000 (14:57 +0100)]
; Adapt recent change in test/infra/gitlab-ci.yml

3 years ago* lisp/wdired.el: Apply text properties lazily
Arthur Miller [Sat, 27 Mar 2021 07:29:44 +0000 (08:29 +0100)]
* lisp/wdired.el: Apply text properties lazily

Entering wdired was taking time proportional to the size of the directory,
making it inconvenient to quickly enter wdired just to rename one or two
files in a large directory.

(wdired-mode-map): Rebind `self-insert-command`.
(wdired--perm-beg, wdired--perm-end): New vars.
(wdired--col-perm, wdired--old-content, wdired--old-point)
(wdired--old-marks): Rename vars, using "--" rather than "-".
All users updated.
(wdired--before-change-fn): New function.
(wdired-change-to-wdired-mode): Use it `before-change-functions`
instead of eagerly putting the various text properties here.
(wdired--set-permission-bounds, wdired--current-column)
(wdired--point-at-perms-p, wdired--line-preprocessed-p):
New auxiliary functions.
(wdired--self-insert): New command.
(wdired--preprocess-files, wdired--preprocess-symlinks)
(wdired--preprocess-perms): Add "--" to the name.  Make it operate only
on the current line.  Use `with-silent-modifications`.
(wdired-abort-changes): Use `with-silent-modifications`.

3 years ago; Adapt recent change in test/infra/gitlab-ci.yml
Michael Albinus [Sat, 27 Mar 2021 11:49:00 +0000 (12:49 +0100)]
; Adapt recent change in test/infra/gitlab-ci.yml

3 years agoKeep *.log files on emba
Michael Albinus [Sat, 27 Mar 2021 10:43:15 +0000 (11:43 +0100)]
Keep *.log files on emba

* test/infra/gitlab-ci.yml (.test-template): New template.
(test-fast-inotify, test-lisp-inotify, test-lisp-net-inotify)
(test-filenotify-gio, test-gnustep, test-all-inotify): Use it.

3 years agoFix lisp/files-tests on MS-Windows
Eli Zaretskii [Sat, 27 Mar 2021 10:24:58 +0000 (13:24 +0300)]
Fix lisp/files-tests on MS-Windows

* test/lisp/files-tests.el (files-colon-path)
(files-tests-bug-21454): Adapt to MS-DOS/Windows, where
parse-colon-path needs and absolute file name with a drive letter.
(files-tests-file-name-non-special-get-file-buffer): Forcefully
delete the file's buffer if it happens to exist.

3 years agoFile unlock errors now issue warnings (Bug#46397)
Matt Armstrong [Fri, 19 Feb 2021 23:39:15 +0000 (15:39 -0800)]
File unlock errors now issue warnings (Bug#46397)

The primary idea is to allow `kill-buffer' and `kill-emacs' to
complete even if Emacs has trouble unlocking the buffer's file.

* lisp/userlock.el (userlock--handle-unlock-error): New function, call
`display-error'.
* src/filelock.c (unlock_file_body): New function, do what
'unlock_file' used to.
(unlock_file_handle_error): New function, call
`userlock--handle-unlock-error' with the captured error.
(unlock_file): Handle `file-error' conditions by calling the handler
defined above.
* test/src/filelock-tests.el (filelock-tests-kill-buffer-spoiled):
(filelock-tests-unlock-spoiled): Modify to test new behavior.

3 years agoAdd test coverage for src/filelock.c (Bug#46397)
Matt Armstrong [Mon, 15 Feb 2021 20:59:08 +0000 (12:59 -0800)]
Add test coverage for src/filelock.c (Bug#46397)

* test/src/filelock-tests.el: New file.

3 years agoFix encoding by ISO-2022-JP
Kenichi Handa [Sat, 27 Mar 2021 05:38:56 +0000 (14:38 +0900)]
Fix encoding by ISO-2022-JP

* src/coding.c (encode_coding): Reset the CODING_MODE_LAST_BLOCK
flag for all iterations but the last one.  (Bug#46933)

3 years agoImprove remote file notifications
Michael Albinus [Fri, 26 Mar 2021 18:30:05 +0000 (19:30 +0100)]
Improve remote file notifications

* lisp/net/tramp-sh.el (tramp-get-remote-gio-file-monitor): Remove it.
(tramp-sh-handle-file-notify-add-watch): Do not call it.
(tramp-sh-gio-monitor-process-filter): Read monitor name.

* test/lisp/filenotify-tests.el (file-notify--test-read-event)
(file-notify--test-timeout): Change timings.
(file-notify--test-monitor): Read remote monitor name more reliably.
(file-notify-test02-rm-watch): Retrieve remote monitor name in time.
(file-notify--test-event-actions): New defun.
(file-notify--test-with-actions-explainer): Use it.
(file-notify--test-with-actions-check): Use it.  Dump traces in
case of debug.
(file-notify--test-with-actions): Don't stop while debugging.
(file-notify-test03-events, file-notify-test04-autorevert)
(file-notify-test05-file-validity)
(file-notify-test07-many-events, file-notify-test08-backup)
(file-notify-test09-watched-file-in-watched-dir): Adapt tests.

3 years agoAddress some --without-x byte-compilation warnings
Basil L. Contovounesios [Fri, 26 Mar 2021 17:13:59 +0000 (17:13 +0000)]
Address some --without-x byte-compilation warnings

These came to light in the contexts of bug#29713 and bug#47234.

* lisp/emulation/edt-mapper.el (edt-xserver):
* lisp/emulation/edt.el (edt-xserver):
* lisp/gnus/gnus-util.el (gnus-rescale-image):
* lisp/gnus/nnimap.el (nnimap-map-port):
* lisp/term/w32-win.el:
* lisp/image.el (image--get-imagemagick-and-warn):
* lisp/frame.el (frame-notice-user-settings): Declare functions that
are known to be present at runtime in GUI builds.
(make-frame-on-display): Signal more informative error when called
interactively in a non-GUI build (bug#29713).
* lisp/international/mule-diag.el (describe-font):
* lisp/org/org-macs.el (org--string-from-props): Pacify warnings
about unknown functions in non-GUI bilds.
* lisp/mh-e/mh-mime.el (mh-small-image-p): Avoid eliminating fboundp
check in non-GUI builds, to pacify unused lexical variable warning.
* lisp/net/newst-plainview.el (newsticker--plainview-tool-bar-map):
* lisp/net/newst-treeview.el (newsticker-treeview-tool-bar-map):
Declare tool-bar-map as a special variable in non-GUI builds.

3 years ago* lisp/obsolete/tpu-extras.el: Avoid defadvice
Stefan Monnier [Fri, 26 Mar 2021 15:45:31 +0000 (11:45 -0400)]
* lisp/obsolete/tpu-extras.el: Avoid defadvice

(tpu--respect-bottom-scroll-margin): New function, extracted from
`newline`s defadvice.
(newline, newline-and-indent, do-auto-fill): Delete defadvice.
(tpu-set-scroll-margins): Use advice-add instead of
`ad-enable-advice`+`ad-activate`.
Use an explicit arg instead of `called-interactively-p`.

3 years ago* lisp/mh-e/: Take advice-remove of the newly enabled lexical-binding
Stefan Monnier [Fri, 26 Mar 2021 15:28:03 +0000 (11:28 -0400)]
* lisp/mh-e/: Take advice-remove of the newly enabled lexical-binding

* lisp/mh-e/mh-mime.el (mh-mm-inline-message):
* lisp/mh-e/mh-inc.el (mh-inc-spool-generator): Replace `(lambda...)
with a proper closure.

3 years ago; * admin/make-tarball.txt: Minor addition to the Web pages section.
Eli Zaretskii [Fri, 26 Mar 2021 06:37:56 +0000 (09:37 +0300)]
; * admin/make-tarball.txt: Minor addition to the Web pages section.

3 years ago* admin/admin.el (set-version): Handle malformed NEWS markup.
Glenn Morris [Thu, 25 Mar 2021 18:48:13 +0000 (11:48 -0700)]
* admin/admin.el (set-version): Handle malformed NEWS markup.

3 years agoadmin.el fix for bug#47394
Glenn Morris [Thu, 25 Mar 2021 18:23:17 +0000 (11:23 -0700)]
admin.el fix for bug#47394

* admin/admin.el (manual-html-fix-index-2): Handle Texinfo 6.7.

3 years ago; * etc/NEWS: Fix typo.
Michael Albinus [Thu, 25 Mar 2021 17:52:44 +0000 (18:52 +0100)]
; * etc/NEWS: Fix typo.

3 years ago; * admin/make-tarball.txt: Another minor addition.
Eli Zaretskii [Thu, 25 Mar 2021 17:22:55 +0000 (19:22 +0200)]
; * admin/make-tarball.txt: Another minor addition.

3 years agoBump Emacs version past 27.2
Eli Zaretskii [Thu, 25 Mar 2021 17:12:25 +0000 (19:12 +0200)]
Bump Emacs version past 27.2

* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp:
* etc/NEWS: Bump Emacs version to 27.2.50.

3 years agoAssert not local-variable-p after setq in let_default binding
Spencer Baugh [Wed, 24 Mar 2021 03:11:52 +0000 (23:11 -0400)]
Assert not local-variable-p after setq in let_default binding

Breaking this is a likely way to break this test, so this saves a bit
of time in debugging.

* test/src/data-tests.el (data-tests--let-buffer-local):
Add assertion to test.

3 years agoAdd a test for let-binding unwinding
Spencer Baugh [Wed, 24 Mar 2021 03:11:51 +0000 (23:11 -0400)]
Add a test for let-binding unwinding

Bindings in other buffers are not un-set when we unwind a let-binding
which set the default value.  There doesn't seem to be an existing
test which covers this, so here's one.

* test/src/data-tests.el (data-tests--let-buffer-local-no-unwind-other-buffers):
  Add test for let-binding unwinding behavior

3 years ago* lisp/htmlfontify.el: Fix misuses of `nconc`
Stefan Monnier [Thu, 25 Mar 2021 15:57:58 +0000 (11:57 -0400)]
* lisp/htmlfontify.el: Fix misuses of `nconc`

(hfy-face-to-style-i): `this` is not known to be fresh.
(hfy--size-to-int): Rename from `hfy--size-to-int` and return just the
integer without wrapping it in a list.
(hfy-flatten-style): Avoid O(n²) problems.  Use `float`.

3 years agoRemove XEmacs support in lexical-binding
Bill Wohler [Thu, 25 Mar 2021 16:09:27 +0000 (09:09 -0700)]
Remove XEmacs support in lexical-binding

* lisp/mh-e/mh-alias.el (mh-alias-insert-file): Remove reference to
  remove-specifier.

3 years agoUpdate rnc to use Open Document's Relax-NG schema to version 1.3
Mark A. Hershberger [Thu, 25 Mar 2021 15:44:46 +0000 (11:44 -0400)]
Update rnc to use Open Document's Relax-NG schema to version 1.3

* Use the LibreOffice Relax-NG files since they include a hack to
   support 1.2.
* rng source:
   https://raw.githubusercontent.com/freedesktop/libreoffice-core/master/
   schema/libreoffice/OpenDocument-schema-v1.3%2Blibreoffice.rng
* translation to rnc with trang:
   trang -I rng -O rnc OpenDocument-schema-v1.3+libreoffice.rng \
       OpenDocument-schema-v1.3+libreoffice.rnc

3 years agoMerge from origin/emacs-27
Paul Eggert [Thu, 25 Mar 2021 15:26:35 +0000 (08:26 -0700)]
Merge from origin/emacs-27

291a421c2e * admin/make-tarball.txt: Improve and expand the instructi...
0e4795fc98 Fix preeditarea reporting wrong spot.

3 years ago; Merge from origin/emacs-27
Paul Eggert [Thu, 25 Mar 2021 15:26:35 +0000 (08:26 -0700)]
; Merge from origin/emacs-27

The following commits were skipped:

6a4ed891d8 Fix replace-buffer-contents undefined behavior
720a8b17f8 Fix filenotify-tests.el for Solaris (bug#47262), do not merge

3 years agoMerge from origin/emacs-27
Paul Eggert [Thu, 25 Mar 2021 15:26:34 +0000 (08:26 -0700)]
Merge from origin/emacs-27

deef5efafb ; * ChangeLog.3: Update with the log of the last change.
bd991e3c9b Fix frame-inner-height in non-GUI builds

3 years ago* admin/make-tarball.txt: Improve and expand the instructions.
Eli Zaretskii [Thu, 25 Mar 2021 15:24:43 +0000 (17:24 +0200)]
* admin/make-tarball.txt: Improve and expand the instructions.

3 years agoFix preeditarea reporting wrong spot.
Amos Bird [Thu, 25 Mar 2021 06:50:46 +0000 (14:50 +0800)]
Fix preeditarea reporting wrong spot.

This patch adjust the x position of preeditarea with both left fringe
and left margin, which prevents IME preedit box (such as fcitx) from
placing at the wrong position in GUI emacs.
* src/xfns.c (xic_set_preeditarea): Adjust X for left margin width.
(Bug#47377)

3 years agoFix replace-buffer-contents undefined behavior
Paul Eggert [Mon, 22 Mar 2021 01:08:13 +0000 (18:08 -0700)]
Fix replace-buffer-contents undefined behavior

* src/editfns.c (Freplace_buffer_contents): Avoid undefined
behavior with competing side effects in parallel subexpressions.
Problem reported by Apple clang version 12.0.0 (clang-1200.0.32.29).

3 years agoFix filenotify-tests.el for Solaris (bug#47262), do not merge
Michael Albinus [Thu, 25 Mar 2021 14:36:33 +0000 (15:36 +0100)]
Fix filenotify-tests.el for Solaris (bug#47262), do not merge

* test/lisp/filenotify-tests.el (file-notify--test-read-event):
Check also for GFamDirectoryMonitor.
(file-notify--test-timeout): Increase cygwin timeout.
(file-notify--test-monitor): Use `alist-get'.
(file-notify--test-event-actions): New defun.
(file-notify--test-with-actions-explainer): Use it.
(file-notify--test-with-actions-check): Use it.  If
file-notify-debug is non-nil, trace received events instead of
checking them.
(file-notify-test03-events, file-notify-test05-file-validity)
(file-notify-test07-many-events, file-notify-test08-backup)
(file-notify-test09-watched-file-in-watched-dir):
Handle GFamFileMonitor and GFamDirectoryMonitor.

3 years agoAdapt Tramp file notification support
Michael Albinus [Thu, 25 Mar 2021 11:02:57 +0000 (12:02 +0100)]
Adapt Tramp file notification support

* lisp/net/tramp-integration.el (tramp-use-ssh-controlmaster-options):
Declare it.

* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
Remove "gvfs-monitor-dir".
(tramp-sh-gvfs-monitor-dir-process-filter)
(tramp-get-remote-gvfs-monitor-dir): Remove.
(tramp-get-remote-gio-file-monitor): Support also cygwin, and
GFamDirectoryMonitor, GPollFileMonitor.

3 years ago* doc/emacs/maintaining.texi (Managing Projects): Fixes and copyedits.
Glenn Morris [Thu, 25 Mar 2021 03:15:46 +0000 (20:15 -0700)]
* doc/emacs/maintaining.texi (Managing Projects): Fixes and copyedits.

3 years agoFix typo
Dmitry Gutov [Wed, 24 Mar 2021 23:20:26 +0000 (01:20 +0200)]
Fix typo

* lisp/progmodes/project.el (project-remove-known-project):
Fix typo (bug#47287).

3 years agoAdd command project-remove-known-project
Theodor Thornhill [Sun, 21 Mar 2021 23:19:23 +0000 (00:19 +0100)]
Add command project-remove-known-project

* etc/NEWS: Mention the new command.

* lisp/progmodes/project.el (project--remove-from-project-list): Add
new argument, report-message, used to signal various messages when
removal has happened.

* lisp/progmodes/project.el (project-remove-known-project): New
command that removes the selected directory from the project-list-file.

* lisp/progmodes/project.el (project-current): Add the report message.

* doc/emacs/maintaining.text: Add information about the new command to
the manual.

3 years ago* list/progmodes/idl*.el: Use lexical-binding
Stefan Monnier [Wed, 24 Mar 2021 21:11:05 +0000 (17:11 -0400)]
* list/progmodes/idl*.el: Use lexical-binding

* lisp/progmodes/idlw-complete-structtag.el: Use lexical-binding.

* lisp/progmodes/idlw-help.el: Use lexical-binding.
Delete redundant `:group` arguments.
(idlwave-query-class, idlwave-force-class-query, idlw-help-name)
(idlw-help-kwd, idlw-help-link): Declare vars.
(idlwave-highlight-linked-completions): Remove unused var `class`.
(idlwave-help-find-in-doc-header): Remove unused var `header-re`.

* lisp/progmodes/idlw-shell.el (idlwave-shell-input-mode-magic):
Remove XEmacs-only code.
(idlwave-shell-filter, idlwave-shell-scan-for-state):
Use `functionp` since a function can also satisfy `listp`.
(idlwave-shell--mouse-examine): Rename from `idlwave-shell-mouse-examine`.
Make it a function, and simplify for Emacs≥22.  Simplify calling convention
since all callers always immediately `funcall`d the result.
Update all callers.
(idlwave-default-mouse-track-event-is-with-button): Use `always`.
(idlwave-shell-filter-bp): Simplify a tiny bit.

* lisp/progmodes/idlw-toolbar.el: Use lexical-binding.
(idlwave-toolbar-add, idlwave-toolbar-remove)
(idlwave-toolbar-add-everywhere, idlwave-toolbar-remove-everywhere)
(idlwave-toolbar-toggle): Remove XEmacs-only code.

* lisp/progmodes/idlwave.el: Use lexical-binding.
(idlwave--dlet): New macro.
(<toplevel>): Use it.
(idlwave-keyword-abbrev): Turn it into a function.
(idlwave-code-abbrev): Delete macro.
(idlwave-mode-abbrev-table): Use `:enable-function` instead.
(idlwave-with-special-syntax): Delete macro; use `with-syntax-table`
instead in all callers.
(idlwave-action-and-binding): Use `alist-get` and replace `(lambda...)
with a proper closure.  Change all callers to prefer passing a function
in the `cmd` argument.
(idlwave-fill-function): Delete constant var.
Replace its uses with its value (the symbol `auto-fill-function`).
(idlwave-mode): Set `normal-auto-fill-function` instead of the
cumbersome use of `idlwave-fill-function`.  Tighten a regexp.
Don't set `imenu-create-index-function` to the value it should already have.
(idlwave-auto-fill-mode): Make it an obsolete alias for `auto-fill-mode`.
(idlwave-modify-abbrev): Rename from `idlwave-check-abbrev`.
Don't check `idlwave-quoted` since `:enable-function` did it for us already.
(idlwave--command-function): Rename from `idlwave-command-hook`
and make it hold a function rather than an expression.
(idlwave-command-hook, idlwave-modify-abbrev): Adjust accordingly.
(idlwave-show-begin-check): Don't check `idlwave-quoted` since
`:enable-function` did it for us already.
(idlwave-do-action): Use `functionp` since a function can also satisfy `listp`
(idlwave-new-sintern-type): Make it a macro, so we don't need to
`declare-function` for the functions it defines.
(idlwave--class-selector, idlwave--type-selector)
(idlwave--method-selector, idlwave--super-classes): Rename those vars
by adding the `idlwave--` prefix.  Adjust all uses.
(idlwave-complete-functions): Rename from `idlwave-complete-special`.
(idlwave-call-special): Declare obsolete.  Change all callers to use
`run-hook-with-args-until-success` instead.
(idlwave-complete-filename): Use `dlet`.
(idlwave-rinfo-assq-any-class): Remove unused var `class`.
(idlwave-determine-class-functions): Rename from
`idlwave-determine-class-special`; fix docstring since the functions
are called with only one argument.
(idlwave--complete-after-success-function): Rename from
`idlwave-complete-after-success-form` and make it hold a function.
Adjust all users.
(idlwave--complete-after-success-force-function): Rename from
`idlwave-complete-after-success-form-force` and make it hold a function.
Adjust all users.
(idlwave-attach-classes): Remove always-t variable `do-dots`.
(idlwave-local-value): Use `local-variable-p` and `buffer-local-value`
to avoid `with-current-buffer`.
(idlwave-default-choose-completion): Comment out (unused and calls
a function that doesn't exist).
(idlwave-shell-filter-sysvars): Remove unused vars `type`, `name`, and `class`
(idlwave-fix-module-if-obj_new): Remove unused var `name`.
(idlwave-fix-keywords): Bind `idlwave--super-classes` via `let` than
via the function's argument.
(idlwave-twin-class, idlwave-twin-name): Move before first use.
(idlwave-study-twins): Remove stealth/redundant `type` variable.
(idlwave-routine-entry-compare-twins): Remove unused var `type`.
(idlwave-path-alist-add-flag): Avoid `add-to-list` on a local var.
(idlwave-list-abbrevs): Simplify a tiny bit.

3 years ago* lisp/tab-bar.el (tab-bar-tab-post-change-group-functions): New hook.
Juri Linkov [Wed, 24 Mar 2021 20:14:52 +0000 (22:14 +0200)]
* lisp/tab-bar.el (tab-bar-tab-post-change-group-functions): New hook.

(tab-bar-change-tab-group): Run it.
(tab-bar-move-tab-to-group): New command for new hook.

3 years agoImprove failure reporting in test/lisp/electric-tests.el
Alan Mackenzie [Wed, 24 Mar 2021 18:57:48 +0000 (18:57 +0000)]
Improve failure reporting in test/lisp/electric-tests.el

In particular, on a failure, output the test's doc string to
electric-tests.log, along with all the other failure information.
Fixes bug #47320.

* electric-tests.el (electric-pair-test-for) New parameter doc-string.  On a
test failure, output the doc-string parameter with message.
(electric-pair-define-test-form): Set the new variable doc-string to the
generated doc string, and pass this as argument to both ert-deftest and
electric-pair-test-for.

3 years ago* lisp/auth-source-pass.el (auth-source): Silence spurious warning
Stefan Monnier [Wed, 24 Mar 2021 17:45:13 +0000 (13:45 -0400)]
* lisp/auth-source-pass.el (auth-source): Silence spurious warning

3 years agoFix previous format-prompt change: The default can be a symbol
Lars Ingebrigtsen [Wed, 24 Mar 2021 17:29:11 +0000 (18:29 +0100)]
Fix previous format-prompt change: The default can be a symbol

* lisp/minibuffer.el (format-prompt): The default can also be a
symbol.

3 years agoperl-mode: Fix regexps for fontification
Harald Jörg [Wed, 24 Mar 2021 16:06:21 +0000 (17:06 +0100)]
perl-mode: Fix regexps for fontification

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-declarations): New test to ensure consistency
between perl-mode.el and cperl-mode.el (bug#47345).
* lisp/progmodes/perl-mode.el (perl-font-lock-keywords-1): pick
correct capture groups for "use Pack::Age;"
Fontify all components of "Pack::Age", not just "Pack"
(perl-font-lock-keywords-2): Use keyword-face for declarators

3 years agoRevert "Remove font-lock toggle from font-lock-update"
Lars Ingebrigtsen [Wed, 24 Mar 2021 16:02:17 +0000 (17:02 +0100)]
Revert "Remove font-lock toggle from font-lock-update"

This reverts commit 23995414fec483287e7fb9c9a279483319f9fc54.

The subject is under discussion.

3 years agoRemove font-lock toggle from font-lock-update
Paul W. Rankin [Wed, 24 Mar 2021 14:26:59 +0000 (00:26 +1000)]
Remove font-lock toggle from font-lock-update

* lisp/font-lock.el (font-lock-update): Remove call to
font-lock-unfontify-region and font-lock-mode toggle with ARG; this
did not perform what original author intended

3 years agoxref.el: Keep Emacs 26 compatibility
Dmitry Gutov [Wed, 24 Mar 2021 10:39:08 +0000 (12:39 +0200)]
xref.el: Keep Emacs 26 compatibility

* lisp/progmodes/xref.el (xref--read-identifier)
(xref-find-definitions, xref-find-definitions-other-window)
(xref-find-definitions-other-frame, xref-find-references):
Undo the latest change for Emacs 26 compatibility (bug#47286).

3 years agoAdd optional FORMAT argument to 'emacs-init-time'
Gabriel do Nascimento Ribeiro [Wed, 24 Mar 2021 09:34:22 +0000 (10:34 +0100)]
Add optional FORMAT argument to 'emacs-init-time'

* lisp/time.el (emacs-init-time): Add optional FORMAT argument
(bug#47306).

3 years agoReplace "(default %s)" with 'format-prompt'
Gabriel do Nascimento Ribeiro [Wed, 24 Mar 2021 09:31:31 +0000 (10:31 +0100)]
Replace "(default %s)" with 'format-prompt'

* lisp/cmuscheme.el (scheme-load-file, scheme-compile-file):
* lisp/comint.el (comint-get-source):
* lisp/emulation/viper-cmd.el (viper-quote-region, viper-kill-buffer)
(viper-query-replace, viper-read-string-with-history):
* lisp/eshell/esh-mode.el (eshell-find-tag):
* lisp/gnus/gnus-sum.el (gnus-articles-to-read)
(gnus-summary-search-article-forward)
(gnus-summary-search-article-backward):
* lisp/international/mule-cmds.el (set-input-method, toggle-input-method)
(describe-input-method, set-language-environment)
(describe-language-environment):
* lisp/mh-e/mh-gnus.el (mh-mml-minibuffer-read-disposition):
* lisp/mh-e/mh-letter.el (mh-insert-letter):
* lisp/mh-e/mh-mime.el (mh-display-with-external-viewer)
(mh-mime-save-parts, mh-mh-forward-message)
(mh-mml-query-cryptographic-method, mh-minibuffer-read-type):
* lisp/mh-e/mh-seq.el (mh-read-seq, mh-read-range):
* lisp/mh-e/mh-utils.el (mh-prompt-for-folder):
* lisp/progmodes/etags.el (find-tag-tag):
(find-tag-noselect, find-tag, find-tag-other-window)
(find-tag-other-frame, find-tag-regexp):
* lisp/progmodes/idlwave.el (idlwave-find-module):
* lisp/progmodes/inf-lisp.el (lisp-load-file, lisp-compile-file):
* lisp/progmodes/tcl.el (tcl-load-file, tcl-restart-with-file):
* lisp/progmodes/xref.el (xref--read-identifier):
(xref-find-definitions, xref-find-definitions-other-window)
(xref-find-definitions-other-frame, xref-find-references):
* lisp/ses.el (ses-read-printer):
(ses-read-cell-printer, ses-read-column-printer)
(ses-read-default-printer, ses-define-local-printer):
* lisp/subr.el (read-number):
* lisp/term.el (term-get-source):
* src/minibuf.c (read-buffer): Remove prompt suffix and
use 'format-prompt'.
* lisp/minibuffer.el (format-prompt): Ignore DEFAULT empty strings
(bug#47286).

3 years agoFix problem with filling with a computed fill prefix
Lars Ingebrigtsen [Wed, 24 Mar 2021 09:23:07 +0000 (10:23 +0100)]
Fix problem with filling with a computed fill prefix

* lisp/textmodes/fill.el (fill-region-as-paragraph): Fix problem
when filling text with a computed fill prefix (bug#47338).

3 years agoConvert many more links to use HTTPS
Stefan Kangas [Wed, 24 Mar 2021 08:28:32 +0000 (09:28 +0100)]
Convert many more links to use HTTPS

3 years agoMove string-trim functions to subr.el
Lars Ingebrigtsen [Wed, 24 Mar 2021 08:22:40 +0000 (09:22 +0100)]
Move string-trim functions to subr.el

* doc/lispref/strings.texi (Creating Strings): Document them.

* lisp/faces.el: Don't require subr-x, because that leads to build
errors.

* lisp/subr.el (string-trim, string-trim-right)
(string-trim-left): Move here from subr-x.el.

* lisp/emacs-lisp/shortdoc.el (string): Adjust.

3 years agoUse lexical-binding in iimage.el
Stefan Kangas [Wed, 24 Mar 2021 08:09:52 +0000 (09:09 +0100)]
Use lexical-binding in iimage.el

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

3 years ago* lisp/talk.el: Use lexical-binding.
Stefan Kangas [Wed, 24 Mar 2021 08:05:06 +0000 (09:05 +0100)]
* lisp/talk.el: Use lexical-binding.

3 years agoUse lexical-binding in two trivial org-mode files
Stefan Kangas [Wed, 24 Mar 2021 05:33:45 +0000 (06:33 +0100)]
Use lexical-binding in two trivial org-mode files

This change has already been made on org-mode's master branch.

* lisp/org/org-install.el:
* lisp/org/org-version.el: Use lexical-binding.

3 years ago* lisp/help-at-pt.el: Use lexical-binding.
Stefan Kangas [Wed, 24 Mar 2021 05:31:23 +0000 (06:31 +0100)]
* lisp/help-at-pt.el: Use lexical-binding.

3 years ago* lisp/progmodes/simula.el (hilit-set-mode-patterns): Use regexp-opt.
Stefan Kangas [Wed, 24 Mar 2021 05:23:10 +0000 (06:23 +0100)]
* lisp/progmodes/simula.el (hilit-set-mode-patterns): Use regexp-opt.

3 years ago* lisp/progmodes/modula2.el: Use lexical-binding.
Stefan Kangas [Wed, 24 Mar 2021 05:20:33 +0000 (06:20 +0100)]
* lisp/progmodes/modula2.el: Use lexical-binding.

3 years agoUse lexical-binding in view.el
Stefan Kangas [Wed, 24 Mar 2021 04:46:11 +0000 (05:46 +0100)]
Use lexical-binding in view.el

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

3 years agoDelete some commented out defgroups
Stefan Kangas [Wed, 24 Mar 2021 05:06:41 +0000 (06:06 +0100)]
Delete some commented out defgroups

* lisp/eshell/esh-opt.el:
* lisp/international/ccl.el:
* lisp/pcmpl-linux.el:
* lisp/shell.el:
* lisp/url/url-news.el: Delete some commented out defgroups.

3 years agoDoc fixes in view.el
Stefan Kangas [Wed, 24 Mar 2021 04:43:53 +0000 (05:43 +0100)]
Doc fixes in view.el

* lisp/view.el:
(view-try-extend-at-buffer-end, kill-buffer-if-not-modified)
(view-buffer, view-buffer-other-window, view-buffer-other-frame)
(view-page-size-default, view-set-half-page-size-default)
(view-really-at-end, view-end-message)
(view-search-no-match-lines): Doc fixes.

3 years ago* lisp/master.el: Use lexical-binding.
Stefan Kangas [Wed, 24 Mar 2021 04:32:47 +0000 (05:32 +0100)]
* lisp/master.el: Use lexical-binding.

3 years agoUse lexical-binding in ruler-mode.el
Stefan Kangas [Wed, 24 Mar 2021 02:47:27 +0000 (03:47 +0100)]
Use lexical-binding in ruler-mode.el

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

3 years ago* lisp/progmodes/ebnf-*.el: Use lexical-binding
Stefan Monnier [Wed, 24 Mar 2021 02:38:41 +0000 (22:38 -0400)]
* lisp/progmodes/ebnf-*.el: Use lexical-binding

* lisp/progmodes/ebnf-abn.el:
* lisp/progmodes/ebnf-bnf.el:
* lisp/progmodes/ebnf-dtd.el:
* lisp/progmodes/ebnf-ebx.el:
* lisp/progmodes/ebnf-iso.el:
* lisp/progmodes/ebnf-otz.el:
* lisp/progmodes/ebnf-yac.el: Enable lexical-binding.
* lisp/progmodes/ebnf2ps.el (ebnf-apply-style1)
(ebnf-insert-ebnf-prologue): Use lexical-binding.

3 years ago* lisp/mh-e: Enable lexical-binding in all the files
Stefan Monnier [Tue, 23 Mar 2021 05:00:56 +0000 (01:00 -0400)]
* lisp/mh-e: Enable lexical-binding in all the files

* lisp/mh-e/mh-alias.el: Use lexical-binding.
(mh-alias-insert-file): Completion tables can be mere lists of strings.

* lisp/mh-e/mh-mime.el: Use lexical-binding.
(mh-mm-inline-message): Remove always-nil var `visible-headers`.

* lisp/mh-e/mh-search.el: Use lexical-binding.
(mh-search-folder): Remove unused var `pick-folder`.

* lisp/mh-e/mh-show.el: Use lexical-binding.
(mh-display-msg): Remove always-nil var `visible-headers`.

* lisp/mh-e/mh-utils.el: Use lexical-binding.
(completion-root-regexp): Always declare var.

* lisp/mh-e/mh-buffers.el: Use lexical-binding.
* lisp/mh-e/mh-comp.el: Use lexical-binding.
* lisp/mh-e/mh-folder.el: Use lexical-binding.
* lisp/mh-e/mh-funcs.el: Use lexical-binding.
* lisp/mh-e/mh-gnus.el: Use lexical-binding.
* lisp/mh-e/mh-identity.el: Use lexical-binding.
* lisp/mh-e/mh-inc.el: Use lexical-binding.
* lisp/mh-e/mh-junk.el: Use lexical-binding.
* lisp/mh-e/mh-letter.el: Use lexical-binding.
* lisp/mh-e/mh-limit.el: Use lexical-binding.
* lisp/mh-e/mh-print.el: Use lexical-binding.
* lisp/mh-e/mh-scan.el: Use lexical-binding.
* lisp/mh-e/mh-seq.el: Use lexical-binding.
* lisp/mh-e/mh-speed.el: Use lexical-binding.
* lisp/mh-e/mh-thread.el: Use lexical-binding.
* lisp/mh-e/mh-tool-bar.el: Use lexical-binding.
* lisp/mh-e/mh-xface.el: Use lexical-binding.

3 years ago* lisp/wdired.el: Fix typo in last change.
Stefan Monnier [Tue, 23 Mar 2021 04:08:24 +0000 (00:08 -0400)]
* lisp/wdired.el: Fix typo in last change.

Reported by Michael Heerdegen <michael_heerdegen@web.de>.

(wdired-change-to-wdired-mode, wdired-change-to-dired-mode):
The `(local FOO)` form takes an expression, so the var needs to be quoted.

3 years agoMention `C-o' in the `RET' doc string
Lars Ingebrigtsen [Mon, 22 Mar 2021 19:25:37 +0000 (20:25 +0100)]
Mention `C-o' in the `RET' doc string

* lisp/simple.el (newline-and-indent): Mention `C-o' in the doc
string.

3 years agoFix previous face.el change
Lars Ingebrigtsen [Mon, 22 Mar 2021 19:18:00 +0000 (20:18 +0100)]
Fix previous face.el change

* lisp/faces.el (require): Fix compilation warning from previous
face.el change.

3 years ago* lisp/tab-bar.el (tab-bar-new-tab-group): Set default to t.
Juri Linkov [Mon, 22 Mar 2021 18:55:49 +0000 (20:55 +0200)]
* lisp/tab-bar.el (tab-bar-new-tab-group): Set default to t.

(tab-bar-tabs, tab-bar-select-tab, tab-bar-new-tab-to):
Use tab-bar--current-tab-make instead of tab-bar--current-tab.
(tab-bar--tab): Add arg 'frame' to tab-bar--current-tab-find.
(tab-bar--current-tab, tab-bar--current-tab-make): Move most of body
from the former to the latter, thus reverting tab-bar--current-tab
to its previous behavior.
https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00959.html