1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-20 13:52:31 -07:00
Commit graph

148415 commits

Author SHA1 Message Date
Tobias Rittweiler
fdb725c384 Minor refactoring of xref-tests
* test/lisp/progmodes/xref-tests.el (xref-tests-data-dir):
Rename to 'xref-tests--data-dir'.
(xref-tests--matches-in-data-dir, xref-tests--locations-in-data-dir):
New functions.  Factored out from test cases and updated usage sites
to use them.
2020-12-30 04:10:08 +02:00
Alan Third
90bd3b3d69 Don't calculate macOS menu data for GNUstep (bug#45502)
* src/nsmenu.m ([EmacsMenu fillWithWidgetValue:]): #ifdef out code
that has no effect on GNUstep and autorelease alloc'd objects.
2020-12-29 21:13:29 +00:00
Artem Loenko
a88f63500e * src/Makefile.in (DO_CODESIGN): Fix architecture for Apple Silicon 2020-12-29 20:42:01 +01:00
Juri Linkov
0a82e66db4 Use explicit "--color=auto" in grep mode to support both GNU grep and ripgrep
* lisp/progmodes/grep.el (grep-highlight-matches):
(grep-compute-defaults, grep-expand-template):
Use "--color=auto" instead of "--color" (bug#44983).
2020-12-29 21:41:24 +02:00
Juri Linkov
c13937ccb6 * lisp/x-dnd.el (x-dnd-get-drop-x-y): Add safer check for top/left (bug#45277) 2020-12-29 21:37:31 +02:00
Eli Zaretskii
baac3562a6 A better fix for process-tests on MS-Windows
* src/w32.c (pipe2): When forcibly closing pipe handles due to
overflow of FD_SETSIZE, set the handles to -1, to avoid assertion
violations in emacs_close.

* test/src/process-tests.el (process-tests/fd-setsize-no-crash):
No need to skip this test anymore.
2020-12-29 21:30:59 +02:00
Eli Zaretskii
0326cddc7b Fix process-tests on MS-Windows
* test/src/process-tests.el (process-tests/fd-setsize-no-crash):
Skip this test on windows-nt systems, as we cannot use more than
FD_SETSIZE file descriptors there: if we try, we crash.
2020-12-29 20:41:46 +02:00
Dmitry Gutov
3e80653d29 xref-show-definitions-completing-read: Tune up completion
* lisp/minibuffer.el (completion-category-defaults)
Use 'substring' completion style for 'xref-location' category by
default.

* lisp/progmodes/xref.el (xref-show-definitions-completing-read):
Assign the 'xref-location' category to the completions. Pass
REQUIRE-MATCH=t.
2020-12-29 20:25:03 +02:00
Michael Albinus
154d4b856f Instrument process-tests.el for timeouts on emba 2020-12-29 18:40:23 +01:00
Philipp Stephani
16bb10889d Add a regression test for Bug#24325.
* test/src/process-tests.el (process-tests/fd-setsize-no-crash): New
unit test.
2020-12-29 18:19:38 +01:00
Andrea Corallo
3f00d666e9 Fix missing negation handling in a bunch of predicates
* lisp/emacs-lisp/comp.el (comp-mvar-fixnum-p)
	(comp-mvar-symbol-p, comp-mvar-cons-p): Consider neg slot.
	* test/src/comp-tests.el (comp-test-not-cons): New test.
	* test/src/comp-test-funcs.el (comp-test-not-cons-f): New
	function.
2020-12-29 17:49:30 +01:00
Andrea Corallo
a3b816ff8c * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-value-to-cstr'. 2020-12-29 17:49:30 +01:00
Andrea Corallo
c4efb49a27 Constrain mvars under compare and branch with built-in predicates
* lisp/emacs-lisp/comp.el (comp-emit-assume): Update.
	(comp-known-predicate-p): New function.
	(comp-add-cond-cstrs): Extend to pattern match predicate calls.
	* lisp/emacs-lisp/comp-cstr.el (comp-cstr-null-p)
	(comp-pred-to-cstr): New function.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a
	number of tests and fix comments.
2020-12-29 17:49:30 +01:00
Mattias Engdegård
b5ada7f9af More readable keys in NS menu entries (bug#45502)
Each menu entry now has the key binding in a right-aligned column, as
an attempt to improve readability.  Previously the keys were given in
brackets immediately following the menu string.

* src/nsmenu.m ([EmacsMenu parseKeyEquiv:]): Remove.
(skipspc): New helper function.
([EmacsMenu addItemWithWidgetValue:]): Add attributes argument.
Use attributed title string.  Don't special-case Super bindings.
([EmacsMenu fillWithWidgetValue:]): Compute maximum width.  Prepare
attributes for title.
2020-12-29 17:34:53 +01:00
Michael Albinus
7fbcca29b8 Sync with Tramp 2.5.0
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.5.0".

* test/lisp/net/tramp-tests.el
(tramp--test--deftest-direct-async-process): Check, that
`make-process' supports file name handlers.  Suppress
`internal-default-process-sentinel'.
(tramp--test-async-shell-command): Set `proc' proper.
(tramp-test32-shell-command-direct-async): Tag it :unstable.
2020-12-29 15:36:38 +01:00
João Távora
ecd9264372 Revert "Allow the flymake mode line indicator to be customized"
This reverts commit 37049ee78c.

It's not ready to be used, contains some fundamental errors.

See bug#33740.
2020-12-29 14:08:23 +00:00
Andrea Corallo
e83c6994e1 * Define `cl-satisfies-deftype' mapping predicate -> type
* lisp/emacs-lisp/cl-macs.el (cl-satisfies-deftype): Define symbol
	property as reverse of `cl-deftype-satisfies'.
2020-12-29 14:47:16 +01:00
Andrea Corallo
ba41a183dd * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-type-to-cstr'. 2020-12-29 14:46:23 +01:00
Alan Third
177863b1ce Fix crash in NS menu code
* src/nsmenu.m (ns_update_menubar): When the menu generation code was
copied from xmenu.c the fix for waiting_for_input was lost.  Reinstate
it.
2020-12-29 13:45:30 +00:00
Lars Ingebrigtsen
ee0e259e5d Add some tests for align.el 2020-12-29 08:38:25 +01:00
Glenn Morris
1fc011c075 * src/xdisp.c (display_mode_line): I guess FALSE should be false. 2020-12-28 21:36:47 -08:00
Lars Ingebrigtsen
6481da6b90 Revert the previous display_string change
* src/xdisp.c (display_string): Revert adding the additional
ignore_text_properties parameter -- it was already covered by the
other mix of parameters.
2020-12-29 06:07:44 +01:00
Lars Ingebrigtsen
88c96962cf Fix compact mode line text properties
* src/xdisp.c (display_mode_line): Display the compact mode
correctly (with text properties) (bug#45520).
2020-12-29 05:59:42 +01:00
Lars Ingebrigtsen
03bab768be Add a parameter to display_string to allow not ignoring text props
* src/xdisp.c (display_string): Add a parameter to allow not
ignoring text properties (bug#45520).  Adjust callers throughout
xdisp.c.
2020-12-29 05:16:25 +01:00
Lars Ingebrigtsen
a66f0d3bd3 Introduce new variable mode-line-compact
* doc/lispref/modes.texi (Mode Line Basics): Document it (bug#34476).

* src/xdisp.c (display_mode_line): Use it.
(syms_of_xdisp): New variable mode-line-compact.
2020-12-29 04:53:03 +01:00
Lars Ingebrigtsen
37049ee78c Allow the flymake mode line indicator to be customized
* doc/misc/flymake.texi (Customizable variables): Mention it.

* lisp/progmodes/flymake.el (flymake-mode-line-indicator-format):
New variable (bug#33740).
(flymake--mode-line-format): Use it.
2020-12-29 03:10:00 +01:00
Lars Ingebrigtsen
40d1633259 Add a SPLIT parameter to `format-spec'
* doc/lispref/strings.texi (Custom Format Strings): Document it.

* lisp/format-spec.el (format-spec): Add an optional parameter to
return a list of strings (bug#33740).
2020-12-29 03:04:51 +01:00
Basil L. Contovounesios
3334dd9041 Reword a long docstring in cc-langs.el
* lisp/progmodes/cc-langs.el (c-vsemi-status-unknown-p-fn): Reword
docstring to fit within 80 columns and silence the corresponding
byte-compiler warning (bug#44858).
2020-12-29 01:23:14 +00:00
Lars Ingebrigtsen
b9359d4183 Add a reference between the Strings node and Search/Replace
* doc/lispref/strings.texi (Creating Strings): Mention
string-replace/replace-regexp-in-string (bug#45516).
2020-12-29 02:19:03 +01:00
Lars Ingebrigtsen
92406b02c6 Allow mixing attributes and comments in the diary file
* lisp/calendar/diary-lib.el (diary-face-attrs): The attributes
don't have to be at the end of the line -- there may be ##warntime
or other comments (bug#19965).
2020-12-29 02:01:57 +01:00
João Távora
d199a4640f Robustify completion match scoring for optimized patterns
Fixes: bug#42149

The function completion-pcm--hilit-commonality, which propertizes and
scores a previously confirmed match, expected its PATTERN argument to
match the strings of COMPLETIONS entirely (i.e. up to the string's
very end).  But sometimes the ending wildcard, represented by the
'any' atom in PATTERN, is optimized away by
completion-pcm--optimize-pattern.  Although this is mostly benign in
terms of highlighting commonality, it leads to incorrect score values.

In this change, we ensure that completion-pcm--hilit-commonality is
aware of this exception and isn't affected by it.  We also document
the function a bit better and simplify its workings.

Originally reported by Dario Gjorgjevski <dario.gjorgjevski@gmail.com>

* lisp/minibuffer.el (completion-pcm--hilit-commonality):
Simplify.  Add docstring.

* lisp/minibuffer.el (completion-pcm--hilit-commonality): Add
docstring
2020-12-28 23:09:29 +00:00
Amin Bandali
c6d5555646
Display messages sent using ERC's /say
* lisp/erc/erc.el (erc-cmd-SAY): Call `erc-display-msg' to display the
user's message in the buffer, just like other [non-command] messages.

https://lists.gnu.org/r/help-gnu-emacs/2020-12/msg00066.html
2020-12-28 16:45:41 -05:00
Alan Mackenzie
d180a41dbb CC Mode: Add newish AWK Mode facilities, as used in gawk-4.
* lisp/progmodes/cc-awk.el (c-awk-font-lock-invalid-namespace-separators):
New function.
(c-awk-context-expand-fl-region): New function.
(awk-font-lock-keywords): Enhance handling of function declarations to include
:: tokens.  Fontify new system variable names FPAT, FUNCTAB, PREC, ROUNDMODE,
SYNTAB.  Fontify new keywords BEGINFILE and ENDFILE.  Fontify new system
functions asorti, dcngettext, isarray, patsplit, typeof.  Fontify the new
directives @include, @load, @namespace.  Call
c-awk-font-lock-invalid-namespace-separators as a matcher.

* lisp/progmodes/cc-fonts.el (top level): No longer require 'cc-awk.

* lisp/progmodes/cc-langs.el (c-before-context-fontification-functions): Give
AWK the value c-awk-context-expand-fl-region rather than nil.

* lisp/progmodes/cc-mode.el (top level): Declare awk-mode-syntax-table as a
variable.
2020-12-28 20:42:25 +00:00
Stefan Monnier
c7fdf86883 * lisp/minibuffer.el: Avoid consecutive any in completion patterns
(completion-pcm--optimize-pattern): Turn multiple consecutive
occurrences of `any` into just a single one.
Suggested by Dario Gjorgjevski <dario.gjorgjevski@gmail.com>.
2020-12-28 14:58:39 -05:00
Glenn Morris
81969482e2 Fix package tests for tetris no longer existing as a package
* test/lisp/emacs-lisp/package-tests.el
(package-test-list-filter-by-name, package-test-list-clear-filter):
Use ansi-color instead of tetris, which no longer has a version:.
2020-12-28 11:03:30 -08:00
Alan Third
16458631d4 Fix crash in NS menu code
* src/nsmenu.m (ns_update_menubar): Don't assume that the top level
menus are correct when populating the submenus.
(free_frame_menubar): Clear the menu.
([EmacsMenu removeAllItems]): Actually remove all menu items.
2020-12-28 18:03:48 +00:00
Andrea Corallo
2b3c7c7517 Store function type and expose it with `subr-type'
* src/lisp.h (struct Lisp_Subr): Add 'type' field.
	(SUBR_TYPE): New inline accessor.
	* src/pdumper.c (dump_subr): Update for 'type' field.
	* src/data.c (Fsubr_type): New primitive.
	(syms_of_data): Update.
	* src/comp.c (ABI_VERSION): Bump new ABI version.
	(make_subr): Set type.
	(Fcomp__register_lambda, Fcomp__register_subr)
	(Fcomp__late_register_subr): Receive and pass subr type to
	'make_subr'.
	* src/alloc.c (mark_object): Mark subr type.
	* lisp/emacs-lisp/comp.el (comp-func): Change slot type into mvar.
	(comp-emit-for-top-level, comp-emit-lambda-for-top-level): Pass
	type mvar to subr register functions.
	(comp-compute-function-type): Fix-up subr type mvars.
	* test/src/comp-tests.el (comp-tests-check-ret-type-spec): Use
	`subr-type'.
2020-12-28 16:15:23 +01:00
Andrea Corallo
5a8622ba2c Reorder subr register function arguments to make some room
* src/comp.c (Fcomp__register_lambda, Fcomp__register_subr)
	(Fcomp__late_register_subr): Use a rest arg to pass 'doc_idx' and
	'intspec' parameters.
	* lisp/emacs-lisp/comp.el (comp-emit-for-top-level)
	(comp-emit-lambda-for-top-level): Update.
2020-12-28 16:13:31 +01:00
Andrea Corallo
eafcc8eda0 Propagate function calls also when hiddend under funcall
* lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate functions
	also when called under `funcall'.
	* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.
2020-12-28 16:12:08 +01:00
Andrea Corallo
e532ec9552 Compute function type for native compiled functions
* lisp/emacs-lisp/comp.el (comp-func): `type' rename from
	`ret-type-specifier'.
	(comp-args-to-lambda-list): New function.
	(comp-compute-function-type): New function from
	`comp-ret-type-spec'.
	(comp-final): Update.
	* test/src/comp-tests.el (comp-tests-check-ret-type-spec): Update.
2020-12-28 16:09:31 +01:00
Andrea Corallo
8a0467e2ef ; lisp/emacs-lisp/comp.el (comp-emit-narg-prologue): Nit. 2020-12-28 16:08:38 +01:00
Andrea Corallo
ccce15299b * Improve some slot type into comp.el
* lisp/emacs-lisp/comp.el (comp-args-base, comp-args)
	(comp-nargs, comp-func): Fix the type of some slots.
2020-12-28 16:06:49 +01:00
Stefan Kangas
5e1416fd0a Minor cleanups in tetris.el
* lisp/play/tetris.el: Remove redundant :group args.
(tetris-get-tick-period): Drop unnecessary check.
(tetris): Stylistic doc fixes.
2020-12-28 08:01:55 +01:00
Stefan Kangas
9d60ce1762 * lisp/ps-print.el (ps-message-log-max): Remove XEmacs compat code. 2020-12-28 08:01:55 +01:00
Stefan Kangas
62761d423e Remove redundant 'function's around lambda in vhdl-mode.el
* lisp/progmodes/vhdl-mode.el (fboundp, vhdl-sort-alist, lambda)
(vhdl-create-mode-menu, vhdl-set-offset, vhdl-set-style)
(vhdl-regress-line, vhdl-align-inline-comment-region-1)
(vhdl-resolve-paths, vhdl-generate-makefile-1)
(vhdl-submit-bug-report): Remove redundant 'function's around lambda.
2020-12-28 08:01:55 +01:00
Lars Ingebrigtsen
f4fe4e500d Fix too-long feedmail-sendmail-f-doesnt-sell-me-out doc string
* lisp/mail/feedmail.el (feedmail-sendmail-f-doesnt-sell-me-out):
Fold the example SMTP header using continuation folding.
2020-12-28 06:42:06 +01:00
Stefan Kangas
6b8bb47ac0 Fill some auto-generated docstrings
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
(define-globalized-minor-mode): Fill auto-generated documentation
strings.  (Bug#44858)
* lisp/subr.el (internal--fill-string-single-line)
(internal--format-docstring-line): New functions.
2020-12-28 06:26:52 +01:00
Stefan Kangas
0ebea8ffbf Make byte-compiler warn about wide docstrings
* lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p):
(byte-compile-docstring-length-warn): New defuns.
(byte-compile-docstring-max-column): New defcustom.
(byte-compile--wide-docstring-substitution-len): New variable.
(byte-compile-warning-types, byte-compile-warnings): New value
'docstrings'.
(byte-compile-file-form-autoload, byte-compile-file-form-defvar):
(byte-compile-file-form-defvar-function, byte-compile-lambda):
(byte-compile-defvar, byte-compile-file-form-defalias): Warn about too
wide docstrings.  (Bug#44858)

* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-warn-wide-docstring/defconst)
(bytecomp-warn-wide-docstring/defvar): New tests.
(bytecomp--define-warning-file-test): New macro.
(bytecomp/warn-wide-docstring-autoload\.el)
(bytecomp/warn-wide-docstring-custom-declare-variable\.el)
(bytecomp/warn-wide-docstring-defalias\.el)
(bytecomp/warn-wide-docstring-defconst\.el)
(bytecomp/warn-wide-docstring-define-abbrev-table\.el)
(bytecomp/warn-wide-docstring-define-obsolete-function-alias\.el)
(bytecomp/warn-wide-docstring-define-obsolete-variable-alias\.el)
(bytecomp/warn-wide-docstring-defun\.el)
(bytecomp/warn-wide-docstring-defvar\.el)
(bytecomp/warn-wide-docstring-defvaralias\.el)
(bytecomp/warn-wide-docstring-ignore-fill-column\.el)
(bytecomp/warn-wide-docstring-ignore-override\.el)
(bytecomp/warn-wide-docstring-ignore\.el)
(bytecomp/warn-wide-docstring-multiline-first\.el)
(bytecomp/warn-wide-docstring-multiline\.el): New tests.
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-autoload.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-custom-declare-variable.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defalias.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defconst.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-abbrev-table.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-obsolete-function-alias.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-obsolete-variable-alias.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defun.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defvar.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defvaralias.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-fill-column.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-override.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-multiline-first.el:
* test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-multiline.el:
New files.
2020-12-28 06:26:52 +01:00
Lars Ingebrigtsen
ed30956099 Make octave-send-region be asynchronous
* lisp/progmodes/octave.el (octave-send-region): Send things
asynchronously to the inferior process (bug#24492).
2020-12-28 04:24:01 +01:00
Yichao Yu
2a64de5e98 Make XIM to work with non-CJK locales
* src/xfns.c (best_xim_style): Don't rely on supported_xim_styles
(bug#10867).

* src/xterm.c (x_draw_window_cursor): Adjust to modern input styles.
(xim_instantiate_callback): Ditto.
2020-12-28 04:17:43 +01:00