1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-24 17:00:44 -08:00
Commit graph

149293 commits

Author SHA1 Message Date
Torsten Hilbrich
62d14e10f9 * lisp/net/dictionary.el (dictionary-pre-buffer): Unify casing
Let all the buttons begins with an upper-case character and the rest of
the text is lower-case.
2020-12-14 11:45:24 +01:00
Torsten Hilbrich
ca0de4d1e0 * etc/NEWS: Add entry for dictionary.el 2020-12-14 11:45:24 +01:00
Torsten Hilbrich
b18217eb87 A number of docstring fixes
* lisp/net/dictionary-connection.el (dictionary-connection-p,
  dictionary-connection-read-point, dictionary-connection-process,
  dictionary-connection-buffer, dictionary-connection-set-read-point,
  dictionary-connection-set-process, dictionary-connection-set-buffer,
  dictionary-connection-create-data, dictionary-connection-open,
  dictionary-connection-status, dictionary-connection-close,
  dictionary-connection-send, dictionary-connection-send-crlf,
  dictionary-connection-read, dictionary-connection-read-crlf,
  dictionary-connection-read-to-point): Fix docstring
2020-12-14 11:45:24 +01:00
Torsten Hilbrich
d466231c3e A number of docstring fixes
* lisp/net/dictionary.el (dictionary-set-server-var, dictionary-mode,
  dictionary, dictionary-new-buffer, dictionary-reply-code,
  dictionary-reply, dictionary-reply-list, dictionary-open-server,
  dictionary-check-connection, dictionary-mode-p, dictionary-close,
  dictionary-read-reply, dictionary-split-string,
  dictionary-read-reply-and-split, dictionary-read-answer,
  dictionary-check-reply, dictionary-coding-system,
  dictionary-decode-charset, dictionary-encode-charset,
  dictionary-check-initial-reply, dictionary-store-state,
  dictionary-restore-state, dictionary-new-search,
  dictionary-new-search-internal, dictionary-do-search,
  dictionary-pre-buffer, dictionary-post-buffer,
  dictionary-display-search-result, dictionary-display-word-entry,
  dictionary-display-word-definition, dictionary-mark-reference,
  dictionary-select-dictionary, dictionary-display-dictionarys,
  dictionary-display-dictionary-line, dictionary-set-dictionary,
  dictionary-special-dictionary, dictionary-display-more-info,
  dictionary-select-strategy, dictionary-do-select-strategy,
  dictionary-display-strategies, dictionary-display-strategy-line,
  dictionary-set-strategy, dictionary-new-matching,
  dictionary-do-matching, dictionary-display-only-match-result,
  dictionary-display-match-result, dictionary-display-match-result,
  dictionary-display-match-lines, dictionary-search,
  dictionary-previous, dictionary-help, dictionary-match-words,
  dictionary-mouse-popup-matching-words,
  dictionary-popup-matching-words, dictionary-tooltip-mode,
  dictionary-tooltip-mouse-event): Fix docstring

The following kind of changes were made:

- finish first line with a full stop (.)
- mention parameter in upper-case whenever possible (considering the
  length constraints)
2020-12-14 11:45:24 +01:00
Torsten Hilbrich
89e9c1686e * lisp/net/dictionary.el (dictionary-display-more-info): Spelling fix
Fix the spelling in the error message for non-existing dictionary.
2020-12-14 11:45:24 +01:00
Torsten Hilbrich
a25a12ddaf Use when where else case returns nil
* lisp/net/dictionary-connection.el (dictionary-connection-status,
dictionary-connection-close): Instead of returning nil in the else case
of the if just use when.

Was suggested by Stefan Kangas.
2020-12-14 11:45:24 +01:00
Torsten Hilbrich
d30618cbc1 * lisp/net/dictionary.el (dictionary-tooltip-mode): Use setq-local 2020-12-14 11:45:24 +01:00
Torsten Hilbrich
4deb8618e4 * lisp/net/dictionary.el (dictionary-mode): Use setq-local 2020-12-14 11:45:24 +01:00
Torsten Hilbrich
ffa7d6671d * lisp/net/dictionary.el: Prefer defsubst over defmacro 2020-12-14 11:45:24 +01:00
Torsten Hilbrich
a557a103cc * lisp/net/dictionary-connection.el: Prefer defsubst
Use defsubst instead of defmacro here. It was suggested by Stefan
Kangas to replace the defmacro here and, looking at the lispref,
defsubst seems to be a suitable replacement providing the same
benefit of inlining functionality as the defmacro.
2020-12-14 11:45:24 +01:00
Torsten Hilbrich
54a3964e29 Update GPL version
* lisp/net/dictionary.el: Use GPL version 3 or later
* lisp/net/dictionary-connection.el: Use GPL version 3 or later
2020-12-14 11:45:24 +01:00
Torsten Hilbrich
f58443780c * lisp/net/dictionary-connection.el: Remove obsolete Version 2020-12-14 11:45:24 +01:00
Torsten Hilbrich
0044a2e888 * lisp/net/dictionary-connection.el: Add lexical-binding:t 2020-12-14 11:45:24 +01:00
Torsten Hilbrich
81ebe86d8d Show error message when asking to match for nothing
* lisp/net/dictionary.el (dictionary-popup-matching-words): Show error
if neither the parameter nor the word at point are defined

This avoids an error later on when the nil value is used as string
within dictionary-encode-charset.
2020-12-14 11:45:24 +01:00
Torsten Hilbrich
09952ce434 Removed useless check for popup-menu
* lisp/net/dictionary.el (dictionary-popup-matching-words): No need to
check for popup-menu, the code is part of Emacs now and the function
should always be there
2020-12-14 11:45:24 +01:00
Torsten Hilbrich
cc5f280378 * lisp/net/dictionary.el: Add lexical-binding:t
Fixing all the issues found by this. A number of unused variables were
reported here.
2020-12-14 11:45:24 +01:00
Gabriel do Nascimento Ribeiro
c6c4e74603 New option tab-bar-history-buttons-show
* lisp/tab-bar.el (tab-bar-history-buttons-show): If true,
    show back and forward buttons when tab-bar-history-mode
    is enabled.  (Bug#45227)

    Copyright-paperwork-exempt: yes
2020-12-14 10:54:52 +02:00
Juri Linkov
e948cdbfa8 Allow creating a new tab for tab-switcher from the minibuffer (bug#45072)
* lisp/tab-bar.el (tab-switcher): Simplify by let-binding
tab-bar-new-tab-choice to t before calling tab-bar-new-tab
that handles the case when it's called in the active minibuffer.
2020-12-14 10:52:05 +02:00
Juri Linkov
dc6e616dfe Don't show matches with no input for nil icomplete-show-matches-on-no-input
* lisp/icomplete.el (icomplete-show-matches-on-no-input): Fix docstring.
(icomplete--initial-input): New internal variable.
(icomplete-minibuffer-setup): Set buffer-local
icomplete--initial-input to icomplete--field-string.
(icomplete-ret, icomplete-force-complete-and-exit)
(icomplete--sorted-completions, icomplete-exhibit):
Compare icomplete--initial-input with icomplete--field-string
to detect no input.  (Bug#19031)

etc/NEWS: Remove duplicate entry.
2020-12-14 10:44:04 +02:00
João Távora
755a9f2a8b Inhibit quit in ElDoc timer functions (bug#45117)
The point of un-inhibiting it was to make ElDoc backends interruptible
with any input (as in while-no-input), since that should in principle
invalidate the need of the current ElDoc processing.  But that
strategy is dangerous for backends that perform complex
synchronization with external processes.  Better let each backend
decide for itself it needs this eager interruptive behavior, like is
presumably the case with the Octave backend.

This reverts a part of

    commit 12e922156c
    Author: Stefan Monnier <monnier@iro.umontreal.ca>
    Date:   Tue Dec 4 18:15:44 2018 -0500

* lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info):

* lisp/progmodes/octave.el (octave-eldoc-function-signatures): Use
while-no-input.
2020-12-13 23:16:53 +00:00
Bastien Guerry
2dbc95063b Update to Org 9.4.2
Mostly fixing compiler warnings.
2020-12-13 22:26:51 +01:00
Dmitry Gutov
51698f77dd Remove the duplication from project-switch-commands's config
Based on an older patch by Philip K (https://debbugs.gnu.org/41890#127).

* lisp/progmodes/project.el: (project-switch-commands): Change to
'defcustom', alter the value format, add :type.
(project-switch-use-entire-map): New option.
(project--keymap-prompt, project-switch-project):
Update accordingly, while keeping compatibility with user-defined
values in the previous format (for some transition period).

Co-authored-by: Philip K. <philipk@posteo.net>
2020-12-13 22:50:55 +02:00
Philipp Stephani
fe50a8b9ba Byte compilation: handle case where the output file is a mountpoint.
See Bug#44631.  While testing for a readonly output directory has
slightly different semantics, in practice they should cover cases
where Emacs is sandboxed and can only write to the destination file,
not its directory.

* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Handle the case
where the output directory is not writable.

* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--not-writable-directory)
(bytecomp-tests--dest-mountpoint): New unit tests.
2020-12-13 17:17:21 +01:00
Mauro Aranda
897b8561cd Stop dropping the tag when creating the custom-variable widget
* lisp/cus-edit.el (custom-variable-value-create): Obey the specified
tag format when creating the variable tag, but stop dropping the tag
format for the variable's type widget, since the tag can be used to
give useful information to the user about the variable.  (Bug#35133)
2020-12-13 10:44:30 -03:00
Lars Ingebrigtsen
f7133be7ae Make dired-toggle-read-only query on read-only directories
* lisp/dired.el (dired-toggle-read-only): Query instead of
erroring out immediately (bug#29412).
2020-12-13 14:17:55 +01:00
Lars Ingebrigtsen
1c115e404e Clarify Extended Menu Items a bit more
* doc/lispref/keymaps.texi (Extended Menu Items): Expand a bit
more on how submenus are formed (bug#26428).
2020-12-13 13:49:25 +01:00
Bastien Guerry
f22856a5c5 Update to Org 9.4.1 2020-12-13 13:44:15 +01:00
Andrea Corallo
831659b3b8 * Fix `memory-report' for '--without-x' builds
* lisp/emacs-lisp/memory-report.el
	(memory-report--image-cache): Don't call `image-cache-size' if
	unbound.
2020-12-13 11:09:20 +01:00
Dmitry Gutov
2d790c6c57 Bump project.el version
* lisp/progmodes/project.el: Bump the version.
2020-12-13 04:12:35 +02:00
Andrii Kolomoiets
6fc1b795c1 vc-create-tag: use vc-revision-history variable
* lisp/vc/vc.el (vc-create-tag): Use 'vc-revision-history' variable.
2020-12-13 04:00:49 +02:00
Dmitry Gutov
ebab7c48c3 Fix test failure
* test/lisp/vc/vc-tests.el (vc-test--working-revision):
Accept working revision -1, expected for older Hg (bug#36534).
2020-12-13 03:59:33 +02:00
Stefan Monnier
185b0820b8 * lisp/emacs-lisp/bytecomp.el: Allow a nil destination file
(byte-compile--default-dest-file): New function, extracted from
byte-compile-dest-file.
(byte-compile-dest-file): Use it.
(byte-compile-dest-file-function): Give it a non-nil default value.
(byte-recompile-file, byte-compile-file): Handle a nil return value
from `byte-compile-dest-file`.

* lisp/progmodes/elisp-mode.el (elisp-flymake--batch-compile-for-flymake):
Tell the compiler not to write the result, instead of writing it to
a dummy temp file.
2020-12-12 19:19:03 -05:00
Andrea Corallo
682bd30347 * Allow for adding constraints targetting blocks with multiple predecessors
This commit remove the limitaiton we had not being able to add
constraints derived from conditional branches to basic blocks with
multiple predecessors.  When this condition is verified we add a new
dedicated basic block to hold the constraints.

	* lisp/emacs-lisp/comp.el (comp-block, comp-edge): Better slot
	type specifiers.
	(comp-block-cstr): New struct specializing `comp-block'.
	(make-comp-edge): New function.
	(comp-func): Better test function + doc for `blocks' slot.
	(comp-limple-lock-keywords): Update possible basic block names.
	(comp-emit-assume): Recive directly the block instead of its name.
	(comp-add-new-block-beetween): New function.
	(comp-cond-cstr-target-block): Logic update and use
	`comp-add-new-block-beetween'.
	(comp-cond-cstr-func): Make use of the latter.
	(comp-compute-edges): Make use of `make-comp-edge'.
2020-12-13 00:58:25 +01:00
Andrea Corallo
258eaddef8 * Rename comp-cond-rw -> comp-cond-cstr
* lisp/emacs-lisp/comp.el (comp-passes)
	(comp-cond-cstr-target-slot, comp-cond-cstr-func)
	(comp-cond-cstr): Rename pass from cond-rw to cond-cstr.
2020-12-13 00:58:25 +01:00
Andrea Corallo
5ca371b501 * Memoize `comp-cstr-intersection'
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-ctxt): Add new slot
	`intersection-mem'.
	(comp-cstr-intersection-homogeneous): Fix non local exit target.
	(comp-cstr-intersection-no-mem): Rename from
	`comp-cstr-intersection'.
	(comp-cstr-intersection): New function.
2020-12-13 00:58:25 +01:00
Andrea Corallo
0ded37fdad * Add initial negated non-negegated intersection support
* lisp/emacs-lisp/comp-cstr.el (comp-range-intersection): Cosmetic.
	(comp-cstr-intersection-homogeneous): Rename from
	`comp-cstr-intersection'.
	(comp-cstr-intersection): New function.
2020-12-13 00:58:12 +01:00
Alan Third
c6f21e2420 Fix assertion on SVG load failure
* src/image.c (svg_load_image): Move setting DPI to after rsvg_handle
error checking.
2020-12-12 23:53:47 +00:00
Stefan Kangas
89c6efc690 Remove references to Emacs before version 22 from FAQ
* doc/misc/efaq.texi (Escape sequences in shell output): Remove
reference to versions before Emacs 21.
(Basic editing, Latest version of Emacs)
(Turning on abbrevs by default, Going to a line by number)
(Security risks with Emacs): Remove references to versions before
Emacs 22.
2020-12-12 23:51:30 +01:00
Philipp Stephani
52e3ac6303 Document and enforce some properties for strings created by modules.
When creating multibyte or unibyte strings, we should guarantee the
following invariants:

- When creating empty strings, a NULL data pointer should be allowed.
  This often arises in practice if the string length isn't known in
  advance, and we don't want to unnecessarily trigger undefined
  behavior.  Since functions like memcpy might not accept NULL
  pointers, use the canonical empty string objects in this case.

- Nonzero strings should be guaranteed to be unique and mutable.
  These are the same guarantees expected from Lisp functions such as
  'make-string' or 'unibyte-string'.  On the other hand, empty strings
  might not be unique.

* src/emacs-module.c (module_make_string)
(module_make_unibyte_string): Correctly handle empty strings.

* test/src/emacs-module-resources/mod-test.c (Fmod_test_make_string):
New test function.
(emacs_module_init): Expose it.

* test/src/emacs-module-tests.el (mod-test-make-string/empty)
(mod-test-make-string/nonempty): New unit tests.

* doc/lispref/internals.texi (Module Values): Document properties and
corner cases for strings.
2020-12-12 23:28:22 +01:00
Lars Ingebrigtsen
4bf98aecff Fix BSD .include etc syntax in Makefiles
* lisp/progmodes/make-mode.el (makefile-bsdmake-statements): Fix
the BSD conditional syntax (bug#24000).
(makefile-make-font-lock-keywords): Allow calling without keywords.
(makefile-bsdmake-font-lock-keywords): Add the conditional syntax.

     Makefile inclusion, conditional structures and for loops reminiscent of
     the C programming language are provided in make.  All such structures are
     identified by a line beginning with a single dot (`.') character.
     Whitespace characters may follow this dot, e.g.,

           .include <file>
     and
           .   include <file>

     are identical constructs
2020-12-12 21:59:08 +01:00
Lars Ingebrigtsen
180e309d8b Bind `C-c C-d' to rmail-epa-decrypt in rmail
* doc/emacs/rmail.texi (Rmail Display): Mention the key
binding (bug#25411).

* lisp/mail/rmail.el (rmail-mode-map): Bind C-c C-d to
rmail-epa-decrypt.
(rmail-mode): Mention it.
(rmail-epa-decrypt): Don't mark a mail as decrypted unless we're
replacing it.

* lisp/mail/rmailsum.el (rmail-summary-mode-map): Bind C-c C-d.
(rmail-summary-epa-decrypt): New command.
2020-12-12 21:19:26 +01:00
Eric Abrahamsen
8a220d7c8f New option gnus-registry-register-all
* lisp/gnus/gnus-registry.el (gnus-registry-register-all): If nil,
the registry won't automatically create new entries for all seen
messages. Defaults to t to preserve previous behavior.
(gnus-registry-handle-action): Don't automatically create entries; if
one doesn't exist, don't handle anything.
(gnus-registry-register-message-ids): Only register if this option is
t.
(gnus-registry-get-or-make-entry): Add optional no-create argument.
(gnus-registry-get-id-key): This "get" operation should only create an
entry if this option is t.
* doc/misc/gnus.texi: Documentation and news.
2020-12-12 09:03:13 -08:00
Stefan Monnier
b1f2eada47 * lisp/emacs-lisp/package.el (package-buffer-info): Improve error message
(package-strip-rcs-id): Return canonicalized version string.
2020-12-12 11:50:00 -05:00
Stefan Monnier
8eee54d23a * src/fns.c (hash_string): Tweak the code further
Merge the two main branches; remove the `max` test and thus reduce
the "most steps" to 8 as written
2020-12-12 10:59:50 -05:00
Stefan Monnier
a12fe07a88 * lisp/vc/log-edit.el: Keep separator line thin even with line-numbers
(log-edit-font-lock-keywords): Disable line-number display on
the thin separator line.
(log-edit-mode): Adjust `font-lock-extra-managed-props` accordingly.
(log-edit-changelog-entries): Don't use a nil buffer-local
`change-log-default-name`.
2020-12-12 10:37:42 -05:00
Eli Zaretskii
a83d8c9bbe Followup to recent changes in keyboard.c
* src/keyboard.c (prev_kbd_event): Now defined only if HAVE_X11.

* lisp/subr.el (while-no-input-ignore-events): Remove
'buffer-switch': no longer used or defined.  (Bug#5803)
2020-12-12 17:32:55 +02:00
Andrea Corallo
6286945396 Normalize cstrs for cache hint effectiveness and test stability
* lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset)
	(comp-union-valsets, comp-intersection-valsets)
	(comp-normalize-typeset): New functions.
	(comp-union-typesets, comp-intersect-typesets)
	(comp-cstr-union-homogeneous-no-range, comp-cstr-union-1-no-mem):
	Update to return normalized results.
	* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Normalize expected type specifiers.
2020-12-12 16:30:16 +01:00
Andrea Corallo
a6295d3150 * Add `comp-split-pos-neg' function
* lisp/emacs-lisp/comp-cstr.el (comp-split-pos-neg): New function.
	(comp-cstr-union-1-no-mem): Update to call `comp-split-pos-neg'.
2020-12-12 16:30:16 +01:00
Andrea Corallo
725c7e1416 * Enumerate type specifier tests to ease debugging
* test/lisp/emacs-lisp/comp-cstr-tests.el
	(comp-cstr-typespec-tests-alist): Enumerate tests.

Acked-by: Andrea Corallo <akrl@sdf.org>
2020-12-12 16:30:16 +01:00
Andrea Corallo
73b5e40750 * Code rework add `comp-cstrs-homogeneous'
* lisp/emacs-lisp/comp-cstr.el (comp-cstrs-homogeneous): New
	function.
	(comp-cstr-union-1-no-mem): Make use of.
2020-12-12 16:30:16 +01:00