Michael Albinus [Mon, 29 Mar 2021 14:51:50 +0000 (16:51 +0200)]
; Fix schedule in admin/notes/emba
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.
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)
Michael Albinus [Mon, 29 Mar 2021 10:12:33 +0000 (12:12 +0200)]
; Fix last change
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.
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.
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.
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.
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).
Michael Albinus [Sun, 28 Mar 2021 17:16:12 +0000 (19:16 +0200)]
* admin/notes/emba: Explain job types and artifacts.
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.
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).
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
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.
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.
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.
Michael Albinus [Sat, 27 Mar 2021 20:27:35 +0000 (21:27 +0100)]
; Adapt recent change in test/infra/gitlab-ci.yml
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.
Michael Albinus [Sat, 27 Mar 2021 19:19:27 +0000 (20:19 +0100)]
; 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
Stefan Monnier [Sat, 27 Mar 2021 18:31:40 +0000 (14:31 -0400)]
* lisp/wdired.el (wdired--self-insert): Fix thinko
Michael Albinus [Sat, 27 Mar 2021 16:47:43 +0000 (17:47 +0100)]
; 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
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`.
Michael Albinus [Sat, 27 Mar 2021 13:57:32 +0000 (14:57 +0100)]
; Adapt recent change in test/infra/gitlab-ci.yml
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`.
Michael Albinus [Sat, 27 Mar 2021 11:49:00 +0000 (12:49 +0100)]
; Adapt recent change in test/infra/gitlab-ci.yml
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.
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.
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.
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.
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)
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.
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.
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`.
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.
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.
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
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`.
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.
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
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.
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
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
Eli Zaretskii [Thu, 25 Mar 2021 15:24:43 +0000 (17:24 +0200)]
* admin/make-tarball.txt: Improve and expand the instructions.
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)
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).
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.
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.
Glenn Morris [Thu, 25 Mar 2021 03:15:46 +0000 (20:15 -0700)]
* doc/emacs/maintaining.texi (Managing Projects): Fixes and copyedits.
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).
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.
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.
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.
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.
Stefan Monnier [Wed, 24 Mar 2021 17:45:13 +0000 (13:45 -0400)]
* lisp/auth-source-pass.el (auth-source): Silence spurious warning
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.
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
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.
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
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).
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).
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).
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).
Stefan Kangas [Wed, 24 Mar 2021 08:28:32 +0000 (09:28 +0100)]
Convert many more links to use HTTPS
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.
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.
Stefan Kangas [Wed, 24 Mar 2021 08:05:06 +0000 (09:05 +0100)]
* lisp/talk.el: Use lexical-binding.
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.
Stefan Kangas [Wed, 24 Mar 2021 05:31:23 +0000 (06:31 +0100)]
* lisp/help-at-pt.el: Use lexical-binding.
Stefan Kangas [Wed, 24 Mar 2021 05:23:10 +0000 (06:23 +0100)]
* lisp/progmodes/simula.el (hilit-set-mode-patterns): Use regexp-opt.
Stefan Kangas [Wed, 24 Mar 2021 05:20:33 +0000 (06:20 +0100)]
* lisp/progmodes/modula2.el: Use lexical-binding.
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.
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.
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.
Stefan Kangas [Wed, 24 Mar 2021 04:32:47 +0000 (05:32 +0100)]
* lisp/master.el: Use lexical-binding.
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.
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.
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.
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.
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.
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.
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
Lars Ingebrigtsen [Mon, 22 Mar 2021 18:47:25 +0000 (19:47 +0100)]
Use read-color in read-face-attribute for color attributes
* lisp/faces.el (read-face-attribute): Use read-color when
prompting for a color (bug#47316).
Michael Albinus [Mon, 22 Mar 2021 16:47:45 +0000 (17:47 +0100)]
* lisp/files-x.el (connection-local-criteria-for-default-directory):
Add optional argument APPLICATION.
Stefan Kangas [Sun, 21 Mar 2021 23:02:14 +0000 (00:02 +0100)]
Remove unnecessary requires of rx
* lisp/cedet/semantic/wisent/python.el (rx):
* test/src/process-tests.el (rx): Remove unnecessary requires.
Stefan Kangas [Sun, 21 Mar 2021 16:27:44 +0000 (17:27 +0100)]
Use lexical-binding in notifications.el
* lisp/notifications.el: Use lexical-binding.
(notifications-notify): Prefer 'push' to 'add-to-list'.
Alan Mackenzie [Sun, 21 Mar 2021 16:54:31 +0000 (16:54 +0000)]
Prevent open minibuffers getting lost when their frame gets deleted
This happened with minibuffer-follows-selected-frame set to t.
* doc/emacs/mini.texi (Basic Minibuffer): State where a command's action takes
place when a minibuffer's frame has been deleted.
* lisp/window.el (window--before-delete-windows, record-window-buffer): Take
into account that minibuffers are now recorded on w->prev_buffers field.
* src/fns.c (merge_c): New version of `merge' taking a C function, rather than
a Lisp function as the comparison function.
* src/frame.c (do_switch_frame): Pass arguments sf and for_deletion to
move_minibuffers_onnto_frame.
* src/lisp.h (top level): Declare merge_c and
move_minibuffers_onto_selected_frame.
* src/minibuf.c (MB_frame): New Lisp_Object recording the minibuffer's frame.
(choose_minibuf_frame): Remove all code except that which sets minibuf_window
to the current frame's minibuffer.
(minibuffer_ent_greater): New comparison function, passed to merge_c.
(zip_minibuffer_stacks): New function.
(move_minibuffers_onto_frame): Renamed from `move_minibuffer_onto_frame' given
two arguments, the old frame and for_deletion, and simplified. Minibuffers
are now stacked in the mini-window's ->prev_buffers field.
(read_minibuf): Several detailed amendments.
(exp_MB_frame): New Lisp_Object, the expired minibuffer's frame.
(read_minibuf_unwind): Search for the expired minibuffer's frame, rather than
taking it from (unreliable) variables. Switch temporarily to this frame for
tidying up operations.
(minibuffer_unwind): New function which pops a stacked minibuffer.
(syms_of_minibuf): Call staticpro for the two new Lisp variables.
* src/window.c (Fset_window_configuration): Don't record minibuffers with
record-window-buffer.
* src/xdisp.c (gui_consider_frame_title): Remove redundant Fselect_window,
which caused an unwanted frame switch. Amend the arguments to
format_mode_line_unwind_data to match.
Glenn Morris [Sun, 21 Mar 2021 16:15:51 +0000 (09:15 -0700)]
* lisp/thumbs.el (thumbs-conversion-program): Simplify.
/usr/bin is (normally) always in PATH, and this need not be absolute,
so the executable-find is unnecesary.
Stefan Kangas [Sun, 21 Mar 2021 16:04:32 +0000 (17:04 +0100)]
Actually use lexical-binding in wid-browse.el
* lisp/wid-browse.el: Use lexical-binding. I apparently forgot to
commit the lexical-binding cookie in my previous attempt.
Theodor Thornhill [Sun, 21 Mar 2021 07:02:28 +0000 (08:02 +0100)]
Use pop-to-buffer-same-window for shell
* lisp/progmodes/project.el (project-shell): Behave the same way as
'M-x project-eshell'.
* lisp/shell.el (shell): Behave the same way as 'M-x eshell'.
* etc/NEWS: Add news entry describing the change.
* lisp/tutorial.el: Use lexical-binding.
Zhiwei Chen [Sun, 21 Mar 2021 07:09:14 +0000 (08:09 +0100)]
Allow hide-ifdef-guts to work in buffers not visiting files
* lisp/progmodes/hideif.el (hide-ifdef-guts): Allow working in
buffers not visiting files (bug#47279).
Copyright-paperwork-exempt: yes
Stefan Kangas [Sun, 21 Mar 2021 01:26:37 +0000 (02:26 +0100)]
* lisp/tutorial.el: Use lexical-binding.
Stefan Monnier [Sun, 21 Mar 2021 00:39:01 +0000 (20:39 -0400)]
* lisp/cedet/semantic/ia.el (semantic-ia-complete-symbol): Simplify
Cut the `semantic-ia-get-completions-deprecated` middle man.
Stefan Kangas [Sat, 20 Mar 2021 15:09:29 +0000 (16:09 +0100)]
Remove support for Syndic8.com, defunct since 2013
* lisp/gnus/nnrss.el (nnrss-discover-feed)
(nnrss-find-rss-via-syndic8): Remove support for Syndic8.com, as
the site was shut down in 2013.
Eli Zaretskii [Sat, 20 Mar 2021 10:11:04 +0000 (12:11 +0200)]
; * etc/NEWS: Minor improvement to the last change.
Eli Zaretskii [Sat, 20 Mar 2021 09:08:25 +0000 (11:08 +0200)]
; Improve a recent change in NEWS
* etc/NEWS: Enhance the description of how to get the old bindings
removed with the 'M-o' keymap.
Toby Cubitt [Sat, 20 Mar 2021 09:01:13 +0000 (10:01 +0100)]
Fix cl-progv binding order
* lisp/emacs-lisp/cl-macs.el (cl-progv): Bind variables in the
correct order (bug#47272).
Gregory Heytings [Sat, 20 Mar 2021 07:54:07 +0000 (08:54 +0100)]
* etc/NEWS: Small corrections for the new command 'font-lock-update'
Stefan Kangas [Sat, 20 Mar 2021 08:58:02 +0000 (09:58 +0100)]
Remove Gnus specific .dir-locals.el
* lisp/gnus/.dir-locals.el: Delete file. The only variable it set was
'show-trailing-whitespace', but this should be up to the individual
developer. (Bug#47278)