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>.
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.
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 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 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.
Stefan Kangas [Fri, 2 Apr 2021 17:32:32 +0000 (19:32 +0200)]
Remove references to very old versions of Emacs from eintr
* doc/lispintro/emacs-lisp-intro.texi (Making Errors)
(Void Function, Void Variable, Wrong Type of Argument, debug)
(debug-on-entry): Remove commented out references to Emacs 20 or
earlier.
* doc/lispintro/emacs-lisp-intro.texi (what-line)
(print-elements-of-list, debug, X Axis Tic Marks): Don't call version
22 or earlier a "recent" version of Emacs.
(Building and Installing, Installation with make)
(Installation by Hand, Loading @RefTeX{}): Delete sections.
(Entering @RefTeX{} Mode): Merge into its parent.
(AUCTeX): Point to GNU ELPA for installation.
(Problems and Work-Arounds): Remove XEmacs-specific item.
Juri Linkov [Fri, 2 Apr 2021 08:25:05 +0000 (11:25 +0300)]
* lisp/progmodes/xref.el: Change xref-file-name-display and xref-match face.
* lisp/progmodes/xref.el (xref-file-name-display): Change the default value
to 'project-relative' (bug#47012).
(xref-match)<face>: Inherit from 'match'.
Stefan Kangas [Tue, 30 Mar 2021 16:56:02 +0000 (18:56 +0200)]
Use lexical-binding in echistory.el
* lisp/echistory.el: Use lexical-binding.
(electric-history-map): Quote function symbols as such.
(Electric-history-undefined): Use command substitutions.
Dmitry Gutov [Tue, 30 Mar 2021 00:42:11 +0000 (03:42 +0300)]
Provide information to show icons with Elisp completions
* lisp/progmodes/elisp-mode.el (elisp--company-kind): New function.
(elisp-completion-at-point): Use it. And a couple of anonymous
:company-kind functions too.
Stefan Monnier [Mon, 29 Mar 2021 22:35:01 +0000 (18:35 -0400)]
lisp/progmodes/verilog-mode.el: Prepare for lexical-binding.
* lisp/progmodes/verilog-mode.el: Activate lexical-binding.
Insert newlines to avoid some situations where arguments were easy
to misunderstand.
(verilog-set-compile-command): Strength-reduce `eval` to `symbol-value`.
(verilog-error-regexp-add-emacs): Replace `mapcar` => `mapc` since
the result is not used.
(verilog-surelint-off): Remove always-nil var `dir`.
(verilog-do-indent): Minor simplification of the code.
(verilog-pred): Delete var. It was always nil.
(verilog-flag): Delete var; pass the corresponding data via
explicit arguments instead.
(verilog-keyword-completion): Use `dolist`.
(verilog-completion-response): Rename to `verilog--complete-with-action`.
Change calling convention to match that of `complete-with-action`.
Use `complete-with-action` instead when available.
Adjust all callers.
(verilog-completion, verilog-comp-defun): Change arg names so they
don't collide with dynamically scoped vars, and let-bind `verilog-str`
explicitly instead. Use `with-current-buffer`.
(verilog-batch-execute-func): Use `with-current-buffer`.
(verilog-complete-word): Don't convert the completion list into
a completion alist, since lists work just as well.
(verilog-showscopes): Use `with-current-buffer`.
(verilog-symbol-detick, verilog-symbol-detick-text)
(verilog-signals-matching-enum): Strength-reduce `eval` to `symbol-value`.
(verilog--insert-indent): Rename from `verilog--insert-indent`.
Add `indent-pt` argument.
(verilog-insert-indent): New macro wrapper to provide the old
calling convention.
(verilog-auto-assign-modport, verilog-auto-inout-modport):
Remove always-nil var `direction-re`.
(verilog--auto-inst-first): Rename from `verilog-auto-inst-first`.
Add `indent-pt` argument.
(verilog-auto-inst-port): Adjust call accordingly.
Stefan Monnier [Mon, 29 Mar 2021 20:46:41 +0000 (16:46 -0400)]
* lisp/completion.el: Activate lexical-binding
Remove redundant `:group` arguments.
(list-all-completions-1): Merge into `list-all-completions` and
then delete.
(list-all-completions-by-hash-bucket-1): Use `push`. Merge into
`list-all-completions-by-hash-bucket` and then delete.
(completions-list-return-value): Delete variable, not used any more.
(woman-mode, woman2-roff-buffer): Use `cl-letf`.
(woman-request): Move declaration before first use.
(woman0-macro): Rename arg to not shadow the dynamically scoped var.
(woman-set-arg): Strength-reduce `eval` to `symbol-value`.
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.
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.
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.
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 [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.