Dmitry Gutov [Fri, 9 Apr 2021 22:51:39 +0000 (01:51 +0300)]
Don't stop when before space or closing paren
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
Don't stop when before space or closing paren (bug#47665).
Alan Mackenzie [Fri, 9 Apr 2021 20:52:49 +0000 (20:52 +0000)]
CC Mode: fix c-where-wrt-brace-construct to cope with class declarations
Make the function correctly recognize a brace block preceded by an
introductory line without a parameter list.
* lisp/progmodes/cc-cmds.el (c-where-wrt-brace-contruct): Reintroduce the use
of c-beginning-of-decl-1, which was removed some weeks ago, in place of a
c-syntactic-skip-backward. Reformulate the code generally.
Mattias Engdegård [Fri, 9 Apr 2021 16:59:09 +0000 (18:59 +0200)]
Fix condition-case optimiser bug
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't
perform incorrect optimisations when a condition-case variable shadows
another lexical variable.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
New test case.
Mattias Engdegård [Fri, 9 Apr 2021 16:49:16 +0000 (18:49 +0200)]
Better compiler warning tests
These changes allow all bytecomp-tests to be run interactively.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--with-warning-test)
(bytecomp--define-warning-file-test): Interpret any space in the
pattern as arbitrary whitespace to tolerate line breaks.
Don't abuse the expected-failure mechanism when checking
for the expected absense of a warning.
(bytecomp/*.el): Rewrite patterns to work with line breaks
in the middle.
Mattias Engdegård [Fri, 9 Apr 2021 16:42:12 +0000 (18:42 +0200)]
Clean up bytecomp-tests.el
Now all test cases are run with both lexical and dynamic binding
where applicable, comparing interpreted against compiled results.
Previously, almost all tests were only run with dynamic binding
which was definitely not intended.
* test/lisp/emacs-lisp/bytecomp-tests.el
(byte-opt-testsuite-arith-data): Rename to bytecomp-tests--test-cases.
(bytecomp-check-1, bytecomp-explain-1, bytecomp-tests)
(bytecomp-lexbind-tests, bytecomp-lexbind-check-1)
(bytecomp-lexbind-explain-1): Remove.
(bytecomp-tests--eval-interpreted, bytecomp-tests--eval-compiled)
(bytecomp-tests-lexbind, bytecomp-tests-dynbind)
(bytecomp-tests--test-cases-lexbind-only): New.
Stefan Kangas [Fri, 9 Apr 2021 16:42:14 +0000 (18:42 +0200)]
Make refer-every into obsolete alias for seq-every-p
* lisp/textmodes/refer.el (refer-every): Make into obsolete
function alias for seq-every-p. Update single caller.
Stefan Kangas [Thu, 8 Apr 2021 22:14:12 +0000 (00:14 +0200)]
Remove redundant #' before lambda in ibuf-*.el
* lisp/ibuf-ext.el (ibuffer-included-in-filters-p)
(ibuffer-included-in-filter-p-1, ibuffer-do-kill-lines)
(ibuffer-jump-to-buffer, ibuffer-mark-on-buffer)
(ibuffer-mark-by-name-regexp, ibuffer-mark-by-mode-regexp)
(ibuffer-mark-by-content-regexp, ibuffer-mark-by-mode)
(ibuffer-mark-modified-buffers, ibuffer-mark-unsaved-buffers)
(ibuffer-mark-dissociated-buffers, ibuffer-mark-help-buffers)
(ibuffer-mark-compressed-file-buffers, ibuffer-mark-old-buffers)
(ibuffer-mark-special-buffers, ibuffer-mark-read-only-buffers)
(ibuffer-mark-dired-buffers, ibuffer-do-occur):
* lisp/ibuf-macs.el (ibuffer-save-marks, define-ibuffer-sorter)
(define-ibuffer-op): Remove redundant #' before lambda.
Stefan Kangas [Fri, 9 Apr 2021 16:25:08 +0000 (18:25 +0200)]
Don't preserve window-line in tabulated-list-print
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't
try to preserve window-line. (Bug#42747)
Stefan Kangas [Fri, 9 Apr 2021 14:16:42 +0000 (16:16 +0200)]
Use lexical-binding in winner.el
* lisp/winner.el: Use lexical-binding. Remove redundant :group
args.
(winner-set, winner-mode-map): Quote function symbols as such.
Stefan Monnier [Fri, 9 Apr 2021 14:26:42 +0000 (10:26 -0400)]
Merge branch 'vhdl-mode-lexbind' into trunk
Stefan Kangas [Fri, 9 Apr 2021 14:12:35 +0000 (16:12 +0200)]
Use lexical-binding in cmuscheme.el
* lisp/cmuscheme.el: Use lexical-binding. Doc fixes. Remove
redundant :group args. Quote function symbols as such.
Stefan Kangas [Fri, 9 Apr 2021 13:06:32 +0000 (15:06 +0200)]
* lisp/progmodes/cmacexp.el: Use lexical-binding.
Stefan Kangas [Fri, 9 Apr 2021 12:54:04 +0000 (14:54 +0200)]
Use lexical-binding in foldout.el
* lisp/foldout.el: Use lexical-binding. Doc and formatting fixes.
Quote function symbols as such.
Stefan Kangas [Fri, 9 Apr 2021 11:44:44 +0000 (13:44 +0200)]
Use lexical-binding in loadhist.el and add tests
* lisp/loadhist.el: Use lexical-binding.
* test/lisp/loadhist-tests.el: New file.
Mattias Engdegård [Thu, 8 Apr 2021 20:48:02 +0000 (22:48 +0200)]
Self-TCO in `condition-case` error handlers
* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Recognise
`condition-case` handlers as being in the tail position.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
Extend test.
Jim Porter [Fri, 9 Apr 2021 07:57:06 +0000 (09:57 +0200)]
Fix hostname completion on MS Windows
* lisp/net/tramp.el (tramp-completion-file-name-regexp-default):
Handle volume letter being added to paths for file name completion on W32
systems. This fixes hostname (and method) autocomplete on W32.
Copyright-paperwork-exempt: yes
Stefan Monnier [Fri, 9 Apr 2021 02:55:04 +0000 (22:55 -0400)]
* test/lisp/shadowfile-tests.el: Fix recent test failures
(shadow--tests-cleanup): `shadow-hashtable` is now a hash table (duh!).
Stefan Monnier [Thu, 25 Mar 2021 02:59:52 +0000 (22:59 -0400)]
* lisp/progmodes/vhdl-mode.el: Use lexical-binding
Use #' to quote function names to get better compiler diagnostics.
Wrap some lines to avoid arguments "hidden" in positions that are easy
to misread.
Prefix unused arguments with a semi-colon to silence compiler warnings.
Fix a few comments that used ;;; even though they were not headings.
(vhdl-emacs-21): Delete variable.
Replace all uses with (not (featurep 'xemacs)) instead since `vhdl-mode`
has been incompatible with Emacs<21 for more than 10 years already.
(vhdl-prepare-search-1): Add Edebug declaration.
(vhdl-prepare-search-2): Add Edebug declaration and use
`with-syntax-table`.
(vhdl-visit-file): Add Edebug and indentation declaration.
Move the bulk of the code to a function for easier debugging.
(vhdl--visit-file): New function extracted from `vhdl-visit-file`.
Be careful not to modify syntax tables in unrelated buffers.
(vhdl-speedbar-refresh): Remove unused var `pos`.
(vhdl-backward-sexp): Remove unused var `last-forward`.
(vhdl-electric-tab, vhdl-minibuffer-tab, vhdl-line-expand):
Rename arg to avoid conflict with the `prefix-arg`
global variable.
(vhdl-align-region-1): Remove unused var `indent`.
(vhdl-character-to-event): Actually give a body to that poor function.
(vhdl-template-context): Remove unused vars `entity-exists` and `string`.
(vhdl-template-group): Remove unused var `start`.
(vhdl-template-argument-list): Remove unused var `start`.
(vhdl-port-paste-context-clause): Remove unused var `margin`.
(vhdl-port-paste-testbench): Remove unused var `source-buffer`.
(vhdl-hs-minor-mode): Declare function `hs-hide-all`.
(vhdl-get-hierarchy): Rename arguments `ent-alist`, `conf-alist`, and
`conf-key` and bind those dynamically scoped var via `let` instead
since arguments can't be dynamically scoped.
(vhdl-speedbar-insert-hierarchy, vhdl-compose-configuration-architecture):
Same thing with arguments `ent-alist` and `conf-alist`.
(vhdl-cache-version): Declare variable.
(speedbar-expand-line, speedbar-edit-line): Declare functions.
(vhdl-speedbar-update-current-unit): Declare before first use.
(vhdl-compose-new-component): Remove unused var `project`.
(lazy-lock-minimum-size): Declare variable.
(vhdl-submit-bug-report): Declare variable `reporter-prompt-for-summary-p`.
Stefan Kangas [Thu, 8 Apr 2021 23:42:41 +0000 (01:42 +0200)]
Revert "Load all generic-x.el modes unconditionally"
This reverts commit
0161c9df6edc02db6bd8871b00df522dd0699157.
Stefan Monnier [Thu, 8 Apr 2021 23:34:57 +0000 (19:34 -0400)]
* lisp/shadowfile.el: Use lexical-binding
Delete redundant `:group` args.
(shadow-hashtable): Make it an actual hash-table.
(shadow-shadows-of, shadow-invalidate-hashtable): Adjust accordingly.
(shadow-insert-var): Strength-reduce `eval` to `symbol-value`.
(shadow--save-buffers-kill-emacs): New function extracted from
`shadow-save-buffers-kill-emacs`.
(shadow-save-buffers-kill-emacs): Use it and use `save-buffers-kill-emacs`.
(shadow-initialize, shadowfile-unload-function):
Use `advice-add/remove` rather than override `save-buffers-kill-emacs`
with `defalias`.
Stefan Kangas [Thu, 8 Apr 2021 22:04:13 +0000 (00:04 +0200)]
Remove redundant #' before lambda in {calendar,erc,mh-e}/*.el
* lisp/calendar/icalendar.el (icalendar--get-most-recent-observance):
* lisp/calendar/parse-time.el (parse-time-rules):
* lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC):
* lisp/erc/erc-track.el (erc-modified-channels-display):
* lisp/erc/erc.el (erc-toggle-debug-irc-protocol)
(erc-cmd-IGNORE, erc-cmd-JOIN, erc-default-server-handler)
(erc-banlist-update):
* lisp/mh-e/mh-search.el (mh-search, mh-mairix-convert-to-sop*)
(mh-index-create-sequences):
* lisp/mh-e/mh-thread.el (mh-toggle-threads, mh-thread-generate)
(mh-thread-prune-containers, mh-thread-sort-containers):
* lisp/mh-e/mh-utils.el (mh-sub-folders): Remove redundant #' before
lambda.
Gregory Heytings [Wed, 7 Apr 2021 16:58:51 +0000 (16:58 +0000)]
Terminate isearch when point has moved to another buffer
* lisp/isearch.el (isearch-post-command-hook): Terminate isearch
when the command just executed has moved point to another buffer.
https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg00309.html
Gregory Heytings [Wed, 7 Apr 2021 17:51:30 +0000 (17:51 +0000)]
User option to move to another match when changing direction in isearch.
* lisp/isearch.el (isearch-direction-change-changes-match):
New user option (bug#47599).
(isearch-repeat): Use the new option.
(isearch-repeat-forward, isearch-repeat-backward): Adapt to the
new option.
* etc/NEWS: Mention the new user option.
* doc/emacs/search.texi: Document the new user option.
Juri Linkov [Thu, 8 Apr 2021 18:46:57 +0000 (21:46 +0300)]
* lisp/repeat.el (repeat-post-hook): Check for prefix-arg.
This is instead of checking for a list of argument-related commands
that set prefix-arg anyway.
Juri Linkov [Thu, 8 Apr 2021 18:43:35 +0000 (21:43 +0300)]
* lisp/repeat.el (repeat-post-hook): Skip repeating in minibuffer (bug#47566).
(repeat-map)<defvar>: Add docstring.
Stefan Monnier [Thu, 8 Apr 2021 18:44:37 +0000 (14:44 -0400)]
* lisp/progmodes/vhdl-mode.el: Use progress-reporter
This was actually prompted by a backward compatibility problem
(because of the use of Emacs-27's `time-convert`). The new code
seems to work fine in Emacs-25.
It also fixes a minor bug that made the echo area messages of
`vhdl-indent-region` compete with those of `indent-region`.
(vhdl-progress-info): Delete variable.
(vhdl--progress-reporter): New var to replace it.
(vhdl-update-progress-info): Delete function.
(vhdl-indent-line): Call progress-reporter-update instead.
(vhdl-indent-region): Make it an obsolete alias of `indent-region`.
Change all users.
(vhdl-align-region-groups, vhdl-align-region, vhdl-fix-case-region-1):
Use `make-progress-reporter` and `progress-reporter-update`.
Stefan Monnier [Thu, 8 Apr 2021 18:36:51 +0000 (14:36 -0400)]
* lisp/array.el: Use lexical-binding
Michael Albinus [Thu, 8 Apr 2021 14:35:02 +0000 (16:35 +0200)]
* doc/misc/tramp.texi (Frequently Asked Questions): New item about recentf.
Michael Albinus [Thu, 8 Apr 2021 10:24:42 +0000 (12:24 +0200)]
Revert use of powershell in Tramp, there are collateral damages
* lisp/net/tramp-sh.el (tramp-methods) <sshx, scpx>: Fix quoting
for MS Windows.
(tramp-connection-properties): Don't set "encoding-shell".
(tramp-actions-before-shell): Remove `tramp-no-job-control-regexp'.
(tramp-maybe-open-connection): Revert changes for "encoding-shell".
* lisp/net/tramp.el (tramp-no-job-control-regexp): Remove.
Juri Linkov [Wed, 7 Apr 2021 16:47:09 +0000 (19:47 +0300)]
Don't set isearch-success in isearch-wrap functions
* lisp/comint.el (comint-history-isearch-wrap):
* lisp/simple.el (minibuffer-history-isearch-wrap):
Don't set isearch-success to t, so isearch-repeat won't skip the
beginning of the wrapped match with (forward-char (if isearch-forward 1 -1)).
Glenn Morris [Wed, 7 Apr 2021 14:50:17 +0000 (07:50 -0700)]
Merge from origin/emacs-27
2f5f30671a (origin/emacs-27) Fix broken links in autorevert.el
673c02f6d0 * lisp/international/ja-dic-cnv.el (skkdic-convert): Doc fix.
Glenn Morris [Wed, 7 Apr 2021 14:50:17 +0000 (07:50 -0700)]
; Merge from origin/emacs-27
The following commit was skipped:
e2d199aa44 Fix crash when using menus and tramp on NS
Glenn Morris [Wed, 7 Apr 2021 14:50:13 +0000 (07:50 -0700)]
Merge from origin/emacs-27
3ec93bb7c2 Improve doc strings in replace.el
Stefan Kangas [Wed, 7 Apr 2021 12:30:54 +0000 (14:30 +0200)]
Clarify obsoletion messages for easy-menu-{add,remove}
* lisp/emacs-lisp/easymenu.el (easy-menu-remove, easy-menu-add):
Clarify obsoletion messages.
Stefan Kangas [Wed, 7 Apr 2021 11:35:59 +0000 (13:35 +0200)]
Update whois-server-tld
* lisp/net/net-utils.el (whois-server-tld): Update and add some
missing entries.
Mattias Engdegård [Wed, 7 Apr 2021 11:11:43 +0000 (13:11 +0200)]
Fix mistakes in bytecomp-tests
* test/lisp/emacs-lisp/bytecomp-tests.el
(byte-opt-testsuite-arith-data): Fix typos and avoid errors that made
the tests less powerful than intended.
Stefan Kangas [Tue, 6 Apr 2021 23:49:21 +0000 (01:49 +0200)]
; Fix my previous change to shadowfile.el
* lisp/shadowfile.el (shadow-add-to-todo, shadow-union): Wrap call
to cl-union in nreverse for backwards-compatible ordering.
Dmitry Gutov [Wed, 7 Apr 2021 00:24:17 +0000 (03:24 +0300)]
Add explicit support for C-g or ESC ESC ESC after keymap prompt
* lisp/progmodes/project.el (project-switch-project):
Add explicit support for C-g or ESC ESC ESC after keymap prompt
(bug#47620).
Dario Gjorgjevski [Tue, 6 Apr 2021 14:51:28 +0000 (16:51 +0200)]
Allow complex key bindings in project-switch-project
* lisp/progmodes/project.el (project-switch-project): Replace
read-event with an overriding local map and read-key-sequence to allow
for complex key bindings to be read (bug#47620).
Stefan Monnier [Tue, 6 Apr 2021 21:06:07 +0000 (17:06 -0400)]
* lisp/find-file.el: Make the commands oblivious to mouse/non-mouse
(ff-find-other-file): Add `event` argument.
(ff-find-other-file-other-window): Rename from
`ff-mouse-find-other-file-other-window` and use this new argument.
(ff-mouse-find-other-file, ff-mouse-find-other-file-other-window):
Make them obsolete aliases.
(ff-upcase-p): Remove unused `start` and `end` arguments and
simplify accordingly.
Stefan Monnier [Tue, 6 Apr 2021 20:28:50 +0000 (16:28 -0400)]
* lisp/find-file.el: Use lexical-binding
Remove unused `:group` args. Prefer #' to quote function.
(ff-special-constructs, ff-find-the-other-file, ff-get-file-name)
(ff-list-replace-env-vars, ff-cc-hh-converter): Use `match-string`.
(modula2-other-file-alist): Tighten regexps.
(ff-get-other-file, ff-find-other-file): Use dynamic scoping.
(ff-find-the-other-file): Minor simplification.
(ff-other-file-name): Delete unused function.
(ff-string-match): Don't let-bind `case-fold-search` if not needed.
(ff-basename): Make it an obsolete alias for `file-name-nondirectory`.
(ff-switch-file): Minor simplification.
(ff-list-replace-env-vars): Use [:alnum:].
(ff-upcase-p): Use [:upper:]
(ff-cc-hh-converter): Use [:upper:] and [:lower:].
Juri Linkov [Tue, 6 Apr 2021 19:15:30 +0000 (22:15 +0300)]
* lisp/isearch.el (isearch-wrap-pause): New defcustom (bug#47599).
(isearch-repeat): Use it.
(isearch-search): Don't ding when isearch-wrap-pause is no-ding.
Stefan Monnier [Tue, 6 Apr 2021 18:05:58 +0000 (14:05 -0400)]
* lisp/progmodes/ps-mode.el: Use lexical-binding
And prefer #' to quote function names.
Damien Cassou [Tue, 6 Apr 2021 17:31:56 +0000 (19:31 +0200)]
Fix broken links in autorevert.el
* lisp/autorevert.el (global-auto-revert-non-file-buffers):
Fix broken links. (Bug#47621)
Michael Albinus [Tue, 6 Apr 2021 07:50:07 +0000 (09:50 +0200)]
Fix Bug#47601 in Tramp
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
Use `tramp-handle-file-newer-than-file-p'. (Bug#47601)
(tramp-sh-handle-file-newer-than-file-p, tramp-run-test2): Remove.
Stefan Monnier [Tue, 6 Apr 2021 04:26:38 +0000 (00:26 -0400)]
* lisp/msb.el: Use lexical-binding
Remove redundant `:group` args.
(msb--add-to-menu): Strength-reduce `eval` to `symbol-value` and use `push`.
(msb--create-sort-item): Strength-reduce `eval` to `symbol-value`.
(msb-menu-bar-update-buffers): Replace `(lambda...) with a proper closure.
Stefan Monnier [Tue, 6 Apr 2021 04:13:44 +0000 (00:13 -0400)]
* lisp/hippie-exp.el: Use lexical-binding
Remove redundant `:group` args.
(make-hippie-expand-function): Turn it into a function returning
a closure.
(try-expand-all-abbrevs): Strength-reduce `eval` to `symbol-value`
and use `abbrev-table-p` rather than `vectorp`.
Stefan Monnier [Mon, 5 Apr 2021 21:30:11 +0000 (17:30 -0400)]
* lisp/comint.el: Fix understickiness of non-comint properties
When a third party package adds properties to the prompt they don't
necessarily want to be `read-nonsticky` (e.g. for the `cursor-intangible`
property), so replace the catchall `rear-nonsticky t` with an
actual list of the properties that we want to be `rear-nonsticky`.
(comint-send-input, comint-output-filter): Don't mark
all properties as non-sticky.
Juri Linkov [Mon, 5 Apr 2021 21:18:59 +0000 (00:18 +0300)]
* lisp/tab-bar.el: Add repeat-map keymaps.
* lisp/tab-bar.el (tab-bar-switch-repeat-map): New keymap used for
'tab-next' and 'tab-previous'.
(tab-bar-move-repeat-map): New keymap used for 'tab-move'.
https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg01103.html
Juri Linkov [Mon, 5 Apr 2021 21:02:43 +0000 (00:02 +0300)]
* lisp/repeat.el (repeat-keep-prefix): New defcustom.
* lisp/repeat.el (repeat-map): New autoloaded global variable.
(repeat-post-hook): Use 'repeat-map' when non-nil
and reset it to nil afterwards.
(repeat-post-hook): Keep the current prefix when
'repeat-keep-prefix' is non-nil.
* lisp/window.el (other-window-repeat-map): Add "O" that sets
'repeat-map' to 'other-window-repeat-map' before calling
'(other-window -1)'.
https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg01387.html
Juri Linkov [Mon, 5 Apr 2021 20:46:35 +0000 (23:46 +0300)]
* lisp/repeat.el (repeat-post-hook): Fix key lookup.
* lisp/repeat.el (repeat-post-hook): Rename let-bound repeat-map to rep-map.
Define let-bound prefix-command-p. Use lookup-key with
this-single-command-keys instead of last-command-event.
Don't show message when typing prefix keys.
https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg00083.html
Michael Albinus [Mon, 5 Apr 2021 17:37:30 +0000 (19:37 +0200)]
Use powershell for Tramp on MS Windows
* lisp/net/tramp-sh.el (tramp-use-ssh-controlmaster-options):
Nil on MS Windows.
(tramp-connection-properties): Add "encoding-shell".
(tramp-maybe-open-connection): Use it. Change exit handling.
(tramp-actions-before-shell): Add `tramp-no-job-control-regexp'.
* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-no-job-control-regexp): New defcustom.
(tramp-get-debug-buffer): Set coding system.
Dario Gjorgjevski [Mon, 5 Apr 2021 16:15:16 +0000 (18:15 +0200)]
Do not search the global keymap in project--keymap-prompt
* lisp/progmodes/project.el: (project--keymap-prompt) Pass
project--keymap-prompt as a list to where-is-internal so that the
global keymap is not searched at all (bug#47501).
Lin Sun [Mon, 5 Apr 2021 16:12:14 +0000 (18:12 +0200)]
Don't call `image-toggle-display-text' when toggling
*lisp/image-mode.el (image-mode-to-text): Do not call the
image-toggle-display-text twice when toggle image display (bug#47521).
Utkarsh Singh [Mon, 5 Apr 2021 16:09:41 +0000 (18:09 +0200)]
Fix cd to directories called "eshell" in eshell
* lisp/eshell/em-script.el (eshell-script-initialize): Allow
changing directory to directories called "eshell" (bug#47547).
Copyright-paperwork-exempt: yes
Glenn Morris [Mon, 5 Apr 2021 15:49:07 +0000 (08:49 -0700)]
* lisp/international/ja-dic-cnv.el (skkdic-convert): Doc fix.
Stefan Kangas [Mon, 5 Apr 2021 15:28:05 +0000 (17:28 +0200)]
Remove redundant #' before lambda in calc/*.el
* lisp/calc/calc-alg.el (math-defsimplify):
* lisp/calc/calc-ext.el (math-defintegral, math-defintegral-2):
* lisp/calc/calc-prog.el (math-do-arg-check): Remove redundant #'
before lambda.
Stefan Kangas [Mon, 5 Apr 2021 13:51:08 +0000 (15:51 +0200)]
* lisp/shadowfile.el (cl-lib): Revert removing require.
Stefan Kangas [Mon, 5 Apr 2021 13:15:31 +0000 (15:15 +0200)]
* lisp/pcomplete.el: Remove aliases commented out for 20 years.
Stefan Kangas [Mon, 5 Apr 2021 13:14:19 +0000 (15:14 +0200)]
Remove local uniquify functions in favour of seq-uniq
* lisp/emacs-lisp/seq.el (seq-uniq): Add autoload cookie.
* lisp/pcomplete.el: (pcomplete-uniquify-list): Use seq-uniq.
* lisp/eshell/esh-util.el (eshell-uniqify-list)
(eshell-uniquify-list):
* lisp/nxml/rng-util.el (rng-uniquify-equal):
* lisp/progmodes/idlwave.el (idlwave-uniquify):
* lisp/textmodes/artist.el (artist-uniq): Make into obsolete
function aliases for seq-uniq. Update callers.
* lisp/nxml/rng-util.el (rng-uniquify-eq): Make obsolete in favor
of seq-uniq. Update callers.
Stefan Kangas [Mon, 5 Apr 2021 12:24:00 +0000 (14:24 +0200)]
Obsolete local set difference functions in favor of seq-difference
* lisp/emacs-lisp/seq.el (seq-difference): Add autoload cookie.
* lisp/gnus/gnus-range.el (gnus-set-difference):
* lisp/gnus/spam.el (spam-set-difference): Make obsolete in favor
of seq-difference. Update callers.
Stefan Kangas [Mon, 5 Apr 2021 12:17:02 +0000 (14:17 +0200)]
Obsolete local list functions in shadowfile.el
* lisp/shadowfile.el (shadow-union): Make obsolete in favour of
cl-union. Update callers.
(shadow-find): Make into obsolete function alias for seq-find.
Update callers.
(cl-lib): Remove unnecessary require.
Michael Albinus [Mon, 5 Apr 2021 10:45:10 +0000 (12:45 +0200)]
* test/infra/Dockerfile.emba (emacs-gnustep): Do not run parallel make.
Stefan Kangas [Sun, 4 Apr 2021 23:58:50 +0000 (01:58 +0200)]
Remove code commented out since 1995 from ediff-util.el
* lisp/vc/ediff-util.el (ediff-load-hook): Remove code commented out
since the file was added in 1995.
Stefan Kangas [Sun, 4 Apr 2021 23:13:54 +0000 (01:13 +0200)]
Replace local intersection functions with seq-intersection
* lisp/doc-view.el (doc-view-intersection):
* lisp/gnus/gnus-range.el (gnus-intersection):
* lisp/htmlfontify.el (hfy-interq):
* lisp/loadhist.el (file-set-intersect):
* lisp/mail/smtpmail.el (smtpmail-intersection): Make obsolete in
favor of seq-intersection. Update all callers.
* lisp/url/url-dav.el (url-intersection): Redefine as obsolete
function alias for seq-intersection. Update callers.
* lisp/mpc.el (mpc-intersection, mpc-cmd-list, mpc-reorder):
Use seq-intersection.
Stefan Kangas [Sun, 4 Apr 2021 23:38:48 +0000 (01:38 +0200)]
Make ediff-copy-list alias obsolete
* lisp/vc/ediff-mult.el (ediff-intersect-directories)
(ediff-get-directory-files-under-revision): Don't use above
obsolete alias.
* lisp/vc/ediff-util.el (ediff-copy-list): Make alias obsolete.
Stefan Kangas [Sun, 4 Apr 2021 23:35:18 +0000 (01:35 +0200)]
* lisp/htmlfontify.el (hfy-triplet-regex): Use rx.
Stefan Kangas [Sun, 4 Apr 2021 22:10:57 +0000 (00:10 +0200)]
* etc/NEWS: Add entry for new SVG icons in customize.
Glenn Morris [Mon, 5 Apr 2021 00:24:27 +0000 (17:24 -0700)]
* doc/misc/Makefile.in (echo-sources): Make it not the first target.
Glenn Morris [Mon, 5 Apr 2021 00:11:47 +0000 (17:11 -0700)]
Regenerate texi-from-org if ox-texinfo.el changes
* doc/misc/Makefile.in (top_srcdir): New, set by configure.
(emacs): Set load-prefer-newer.
(org_template): Make output depend on ox-texinfo.el.
Glenn Morris [Sun, 4 Apr 2021 23:57:55 +0000 (16:57 -0700)]
Regenerate semantic grammars if the generating code changes
* admin/grammars/Makefile.in (emacs): Set load-prefer-newer.
(grammar_bovine, grammar_wisent): New variables.
(${bovinedir}/%-by.el, ${bovinedir}/scm-by.el)
(${cedetdir}/semantic/%-wy.el, ${wisentdir}/%-wy.el)
(${wisentdir}/javat-wy.el, ${cedetdir}/srecode/srt-wy.el):
Depend on the source file for the generating function.
* lisp/cedet/semantic/bovine/grammar.el (bovine--make-parser-1):
* lisp/cedet/semantic/wisent/grammar.el (wisent--make-parser-1):
Force generation of the output file. The previous "is the output
newer than the input" failed to account for changes in the
generation code itself. Force so we can let make figure it out.
Harald Jörg [Sun, 4 Apr 2021 20:19:01 +0000 (22:19 +0200)]
cperl-mode: Don't reposition the window when writing messages
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Avoid
printing messages while point is off-screen (Bug#47549).
Lars Ingebrigtsen [Sun, 4 Apr 2021 19:47:38 +0000 (21:47 +0200)]
Clarify the doc string of insert-image
* lisp/image.el (insert-image): Mention the effect of a whitespace
image (bug#47240).
Lars Ingebrigtsen [Sun, 4 Apr 2021 19:35:56 +0000 (21:35 +0200)]
Work around issue with (setq Man-notify-method 'aggressive)
* lisp/man.el (Man-bgproc-sentinel): Check that the window still
exists before trying to select it (bug#38164).
Glenn Morris [Sun, 4 Apr 2021 16:19:24 +0000 (09:19 -0700)]
Make maintainer-clean delete generated files, as per standards
These are generated files that were once kept in the repository.
When they were removed from the repository, as a half-way measure
they were only deleted by "extraclean", but this was never
necessary and was not a proper use of that rule.
* admin/charsets/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* admin/grammars/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* admin/unidata/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* leim/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* GNUmakefile: Doc fix.
Alan Third [Sun, 4 Apr 2021 13:08:48 +0000 (14:08 +0100)]
Work around librsvg bug (bug#47074)
Librsvg <= 2.40 has restrictions on how certain numbers can be run
together in path elements which do not match the SVG spec.
* etc/images/checkbox-mixed.svg:
* etc/images/checked.svg:
* etc/images/radio-checked.svg:
* etc/images/unchecked.svg: Separate problem numbers.
* etc/images/radio-mixed.svg: Separate problem numbers and color and
font-weight data.
Michael Albinus [Sun, 4 Apr 2021 12:06:40 +0000 (14:06 +0200)]
* test/lisp/filenotify-tests.el (file-notify--test-timeout):
Change timing on emba.
Eli Zaretskii [Sun, 4 Apr 2021 11:53:20 +0000 (14:53 +0300)]
Fix MS-Windows build
* src/image.c: (init_svg_functions) [WINDOWSNT]: Define and load
rsvg_handle_set_stylesheet from the DLL for librsvg > 2.48.
(lookup_image): Use xmalloc.
Stefan Kangas [Sun, 4 Apr 2021 11:23:40 +0000 (13:23 +0200)]
Use lexical-binding in hilit-chg.el
* lisp/hilit-chg.el: Use lexical-binding. Remove redundant :group
args. Doc and formatting fixes.
(highlight-changes-mode, highlight-changes-visible-mode):
Use keyword arguments.
(hilit-chg-display-changes, highlight-changes-rotate-faces):
Quote function symbols as such.
(hilit-x, hilit-y, hilit-e): Define variables on top-level to
silence the byte-compiler.
(highlight-markup-buffers): Improve message format.
Stefan Kangas [Sun, 4 Apr 2021 11:06:33 +0000 (13:06 +0200)]
Remove redundant #' before lambda in tests
* test/lisp/electric-tests.el (save-electric-modes)
(inhibit-in-mismatched-string-inside-ruby-comments)
(inhibit-in-mismatched-string-inside-c-comments, js-mode-braces)
(js-mode-braces-with-layout)
(js-mode-braces-with-layout-and-indent, autowrapping-1)
(autowrapping-2, autowrapping-3, autowrapping-4, autowrapping-5)
(autowrapping-6, autowrapping-7):
* test/lisp/progmodes/xref-tests.el
(xref--xref-file-name-display-is-relative-to-project-root):
* test/src/thread-tests.el (threads-signal-early)
(threads-signal-main-thread): Remove redundant #' before lambda.
Alan Third [Sat, 2 Jan 2021 22:27:53 +0000 (22:27 +0000)]
Fix crash when using menus and tramp on NS
; Fixes bug#24472, bug#37557 and bug#37922.
* src/nsterm.m (ns_select): Don't drain outerpool in this function.
(cherry picked from commit
f14869cd70e61b1908ec88a5e3d4bf21c7d538a0)
Alan Third [Sun, 4 Apr 2021 10:25:49 +0000 (11:25 +0100)]
Fix warnings in image.c
* src/image.c (svg_load_image): Fix types and move declaration of
'css' to the top of the function.
Eli Zaretskii [Sun, 4 Apr 2021 07:10:00 +0000 (10:10 +0300)]
Fix unexec compilation
* src/pdumper.c (thaw_hash_tables): Now conditioned by
HAVE_PDUMPER.
(init_pdumper_once): No-op unless HAVE_PDUMPER. Reported by
Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
Eli Zaretskii [Sun, 4 Apr 2021 06:41:44 +0000 (09:41 +0300)]
Fix recent changes regarding frame-scale-factor
* src/frame.c (Fframe_scale_factor): Make more robust and avoid
compiler warning while at that. Doc fix.
İ. Göktuğ Kayaalp [Sun, 4 Apr 2021 02:14:29 +0000 (04:14 +0200)]
Fix build error in frame.h on non-NS
* src/frame.h (FRAME_SCALE_FACTOR): Fix syntax of macro in
previous change.
Alan Third [Sat, 3 Apr 2021 22:23:54 +0000 (23:23 +0100)]
Make new SVG widgets match character height (bug#47074)
* etc/images/checkbox-mixed.svg:
* etc/images/checked.svg:
* etc/images/radio-checked.svg:
* etc/images/radio-mixed.svg:
* etc/images/radio.svg:
* etc/images/unchecked.svg: Use viewBox and set height to 1em.
Alan Third [Sun, 28 Mar 2021 16:52:57 +0000 (17:52 +0100)]
Set CSS for SVG files
* src/dispextern.h (struct image): Add font details required for the CSS.
* src/image.c (free_image): Free the font family string.
(search_image_cache):
(uncache_image): Make image caching understand the font details.
(lookup_image): Handle the font details when generating the image and
looking up the cache.
(svg_css_length_to_pixels): Handle 'em' when we know the font size.
(svg_load_image): Generate the CSS and apply it to the SVG.
(enum svg_keyword_index):
(svg_format):
(syms_of_image): Add ':css' attribute.
* doc/lispref/display.texi (SVG Images): Add details of new svg image
attributes.
Alan Third [Thu, 1 Apr 2021 22:23:19 +0000 (23:23 +0100)]
Fix NSTRACE failure
* src/nsterm.m ([EmacsSurface getContext]): Remove unneeded '@' symbol.
Alan Third [Wed, 24 Mar 2021 22:50:03 +0000 (22:50 +0000)]
Implement frame-scale-factor
* src/frame.c (Fframe_scale_factor): New function.
(syms_of_frame): Add frame-scale-factor.
* src/frame.h: Add FRAME_SCALE_FACTOR.
* src/image.c: Move FRAME_SCALE_FACTOR to frame.h.
Stefan Kangas [Sat, 3 Apr 2021 19:53:06 +0000 (21:53 +0200)]
Add SVG icons for customize buffers
* etc/images/checkbox-mixed.svg:
* etc/images/checked.svg:
* etc/images/down.svg:
* etc/images/left.svg:
* etc/images/radio-checked.svg:
* etc/images/radio-mixed.svg:
* etc/images/radio.svg:
* etc/images/right.svg:
* etc/images/unchecked.svg:
* etc/images/up.svg: New files from the Adwaita Icon Theme (made by
the GNOME project). The background color was changed from gray to
none to use the same colors as the current face instead. (Bug#47074)
* etc/images/README: Add license information for the above new files.
* lisp/wid-edit.el (widget-image-conversion): Prefer SVG if it exists.
(radio-button): Rename radio buttons to "radio-checked" and
"radio". These files did not exist before.
Stefan Monnier [Sat, 3 Apr 2021 18:15:43 +0000 (14:15 -0400)]
* lisp/vcursor.el: Use lexical-binding
Remove redundant `:group` args.
(vcursor): Remove unused var declaration.
Michael Albinus [Sat, 3 Apr 2021 16:25:27 +0000 (18:25 +0200)]
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
Fix code finding //DIRED//.
Stefan Kangas [Sat, 3 Apr 2021 10:13:52 +0000 (12:13 +0200)]
; Remove some redundant installation instructions
Michael Albinus [Sat, 3 Apr 2021 10:26:14 +0000 (12:26 +0200)]
* test/lisp/filenotify-tests.el (file-notify--test-timeout): Change timing.
; * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter):
; Remove test message.
Eli Zaretskii [Sat, 3 Apr 2021 07:16:34 +0000 (10:16 +0300)]
Improve doc strings in replace.el
* lisp/replace.el (occur, list-matching-lines-prefix-face)
(list-matching-lines-jump-to-current-line): Doc fixes.
Stefan Kangas [Sat, 3 Apr 2021 02:25:59 +0000 (04:25 +0200)]
* lisp/pixel-scroll.el: Use lexical-binding.
Stefan Kangas [Fri, 2 Apr 2021 23:21:32 +0000 (01:21 +0200)]
Replace two functions with seq-subseq
* lisp/emacs-lisp/seq.el (seq-subseq): Add autoload cookie.
* lisp/eshell/esh-util.el (eshell-sublist): Redefine using seq-subseq
and make obsolete. Update callers.
* lisp/wid-edit.el (widget-sublist): Redefine as obsolete function
alias for seq-subseq. Update callers.
Stefan Kangas [Fri, 2 Apr 2021 23:06:56 +0000 (01:06 +0200)]
Remove redundant #' before lambda in eshell/*.el
* lisp/eshell/em-dirs.el (eshell-dirs-initialize):
* lisp/eshell/em-pred.el (eshell-predicate-alist)
(eshell-modifier-alist):
* lisp/eshell/em-script.el (eshell-script-initialize):
* lisp/eshell/eshell.el (eshell-command): Remove redundant #' before
lambda.
Stefan Monnier [Fri, 2 Apr 2021 23:51:41 +0000 (19:51 -0400)]
* lisp/progmodes/simula.el: Use lexical-binding
(simula-tab-always-indent): Mark as obsolete.
(simula-mode-map): Don't bind TAB.
(simula-indent-command): Mark as obsolete.
(hilit-set-mode-patterns): Remove obsolete support for hilit19.
(simula-mode-syntax-table): Move initialization code into the declaration.
Stefan Kangas [Fri, 2 Apr 2021 22:50:55 +0000 (00:50 +0200)]
Use lexical-binding in recentf.el
* lisp/recentf.el: Use lexical-binding. Doc fix.
(recentf-save-file): Strength reduce 'eval' to 'symbol-value'.
(recentf-trunc-list): Make into obsolete function alias for
'seq-take'. Update callers.
(recentf-show-file-shortcuts-flag): Doc fix.
(recentf-menu-elements, recentf-make-menu-items)
(recentf-make-menu-item, recentf-dialog-mode-map)
(recentf-dialog, recentf-open-files-item)
(recentf-open-files-items, recentf-open-files)
(recentf-load-list): Quote function symbols as such.
(recentf-relative-filter, recentf-file-name-nondir): Remove
redundant #' before lambda.