1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 08:11:05 -08:00
Commit graph

142354 commits

Author SHA1 Message Date
Michael Albinus
f9754ef74a * admin/admin.el (reminder-for-release-blocking-bugs): New command. 2020-08-25 16:26:30 +02:00
Michael Albinus
36f2f67c96 Merge from origin/emacs-27
44104a607a Fix error in GMP test
e26e63444d Add Feature testing for Windows binaries
4e2caef384 ; * src/character.c (str_as_multibyte): Fix the commentary.
d3a4ce8420 Revert "; * etc/NEWS: Remove temporary note on documentati...
16f00e36dc * admin/admin.el (set-version): Trap yet another NEWS error.
121be3e118 ; * etc/NEWS: Remove temporary note on documentation.  (Bu...
5fcb97dabd Fix cond jump table compilation (bug#42919)
2020-08-25 15:29:38 +02:00
Eli Zaretskii
478c2e2362 ; * lisp/info.el (Info-up): Fix a typo in a comment. 2020-08-25 16:03:51 +03:00
Lars Ingebrigtsen
1064b2f65e Extend background colours in shr
* lisp/net/shr.el (shr-colorize-region): Extend backgrounds to the
end (bug#43031).  This avoid ragged edges to the right when, for
instance, the <body> has a bgcolor.
(shr-face-background): Ditto.
2020-08-25 13:57:00 +02:00
Stephen Berman
71209b231a Tweak how "u" works in Info buffers when scroll-conservatively is set
* info.el (Info-up): If scroll-conservatively is non-zero and
less than 101, display as much of the superior node above the
target line as possible (Bug#13690).
2020-08-25 13:30:58 +02:00
Lars Ingebrigtsen
764bad713e Make shadowing warning in describe_map less confusing
* src/keymap.c (describe_map): A binding may be shadowed by
something else than a mode (bug#14086) (just a `define-key'
works), so don't say that it's a mode that shadows it.
2020-08-25 13:14:00 +02:00
Lars Ingebrigtsen
64d2e5a7ad Revert previous hideshow commit
Hideshow has defaults that are overridden if we look for derived modes
in hs-special-modes-alist.  For instance, in lisp-interaction-mode
we'll choose a lookup based on parent modes, and that overrides the
default (bug#43032).

This reverts a415179b56.
2020-08-25 10:07:08 +02:00
Paul Eggert
d494f9e81a Update from Gnulib
This incorporates:
* lib/diffseq.h, m4/inttypes.m4: Copy from Gnulib.
* m4/gnulib-comp.m4: Regenerate.
2020-08-24 16:19:28 -07:00
Phillip Lord
44104a607a Fix error in GMP test
* etc/w32-feature.el: Update to use system-configuration-features for
  GMP test.
2020-08-24 22:44:21 +01:00
Phillip Lord
e26e63444d Add Feature testing for Windows binaries
* etc/w32-feature.el: New file
2020-08-24 22:14:01 +01:00
Paul Eggert
e0345b4e86 replace-buffer-contents cleanups
* src/editfns.c (NOTE_DELETE, NOTE_INSERT): Avoid unnecessary parens.
(Freplace_buffer_contents): Check args before returning results.
Avoid integer overflow when computing too_expensive, and work even
if MAX-COSTS is bignum.  Call alloca and/or malloc just once, not
three times.
(set_bit, bit_is_set): Simplify micro-optimization by using eassume.
2020-08-24 13:17:48 -07:00
Paul Eggert
08a6d14e41 Fix replace-region-contents performance bug
* src/editfns.c (rbc_quitcounter): Remove; the quitcounter
is now part of the context.
(EXTRA_CONTEXT_FIELDS): Remove unused member early_abort_tests.
Add jmp, quitcounter.
(Freplace_buffer_contents): Use setjmp/longjmp to recover from
a compareseq that runs too long.  Omit unnecessary rarely_quit
call.
(buffer_chars_equal): Occasionally check for early abort and
longjmp out if so (Bug#43016).
2020-08-24 13:17:48 -07:00
Lars Ingebrigtsen
519fc10f12 Clarify sorting order by file-backup-file-names
* doc/lispref/backups.texi (Backup Names): Ditto.

* lisp/files.el (file-backup-file-names): Clarify sorting order.
2020-08-24 22:04:28 +02:00
Lars Ingebrigtsen
517285f7ca Rewrite the epa key interface to use buttons instead of widgets
* lisp/epa.el (epa-font-lock-keywords): Removed.
(epa-key-list-mode-map): Bind tab/backtab to button navigation.
(epa-key): Remove widget.
(epa--button-key-text): Return the propertized text instead of
return a widget text.
(epa-key-list-mode): Don't use font locking; everything is output
as it should be.
(epa--insert-keys): Rewrite to just output the data instead of
widgetising.
(epa--select-keys): Insert buttons instead of widgets.
2020-08-24 21:54:56 +02:00
Lars Ingebrigtsen
0980e1f537 Fix error when loading a new, non-existent foo.gpg file
* lisp/epa-file.el (epa-file-insert-file-contents): Propagate the
correct error upwards (bug introduced by fixing bug#3829, and
messing up where the `when' form ended).
Reported by "Herbert J. Skuhra" <herbert@gojira.at>.
2020-08-24 20:50:08 +02:00
Lars Ingebrigtsen
9c04760f16 Document file-backup-file-names
* doc/lispref/backups.texi (Backup Names): Document
file-backup-file-names.
2020-08-24 20:11:25 +02:00
Eli Zaretskii
8be068661b ; * etc/NEWS: Fix wording of recently-added entries. 2020-08-24 21:06:37 +03:00
Lars Ingebrigtsen
0f014a79a3 Extend the default value in dired-diff to all the backup files
* lisp/dired-aux.el (dired-diff): When diffing files with backup
files, put all the backup files into the defaults so that they can
be reached with `M-n' from `read-file-name' (bug#24089).
2020-08-24 19:15:27 +02:00
Lars Ingebrigtsen
b74aaee5a4 Add a new function 'file-backup-file-names'
* lisp/files.el (file-backup-file-names): New function (bug#24089).
(file-newest-backup): Use it.
2020-08-24 18:26:05 +02:00
Noam Postavsky
9e68413c7f Fix inferior octave single-quote font lock
* lisp/progmodes/octave.el (octave-mode-syntax-table): Fix
fontification of single quotes in inferior octave mode (bug#25517).

It looks like the problem is that octave-mode-syntax-table sets single
quotes as punctuation even though GNU Octave's manual says single quotes
are string syntax [1].

[1]:
https://www.gnu.org/software/octave/doc/interpreter/String-Objects.html
2020-08-24 17:33:49 +02:00
Lars Ingebrigtsen
88795c52ff Have gnutls_symmetric cache the results from Fgnutls_ciphers
* src/gnutls.c (gnutls_symmetric): Cache the results from
Fgnutls_ciphers, since that function isn't very fast (bug#42998).
(syms_of_gnutls): Initialize cache variable.
2020-08-24 16:44:24 +02:00
Lars Ingebrigtsen
230bddbd78 Explain what C-h t means in the preface
* doc/emacs/emacs.texi (Top): Explain what C-h t means (since this
section is for people who haven't even used the tutorial) (bug#42982).
2020-08-24 15:08:55 +02:00
Lars Ingebrigtsen
1fa90f77ed Change how #:uninterned symbols are font-locked in Lisp mode
* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Font-lock
#:uninterned symbols as a single entity instead of #: and
uninterned separately (bug#43001).
2020-08-24 14:34:42 +02:00
Michael Albinus
787b191153 Add sanity check in tramp-sh-get-signal-strings
* lisp/net/tramp-sh.el (tramp-sh-get-signal-strings): Add sanity check.

* test/lisp/net/tramp-tests.el (tramp-test28-process-file):
Remove instrumentation.
(tramp--test--deftest-direct-async-process): Adapt docstring.
(tramp--test-windows-nt-p, tramp--test-windows-nt-and-batch-p):
Rename from `tramp--test-windows-nt', `tramp--test-windows-nt-and-batch'.
2020-08-24 12:11:48 +02:00
Stefan Kangas
bc5da2c3fb Avoid some uses of obsolete function interactive-p
* doc/lispref/help.texi (Accessing Documentation):
* lisp/cedet/data-debug.el:
* lisp/emacs-lisp/edebug.el (edebug-wrap-def-body):
* lisp/simple.el (append-next-kill):
* test/manual/cedet/cedet-utests.el (cedet-utest, pulse-test):
* test/manual/cedet/semantic-tests.el (semantic-lex-spp-write-utest)
(semantic-symref-test-count-hits-in-tag): Use 'called-interactively-p'
instead of obsolete function 'interactive-p'.
2020-08-24 04:27:27 +02:00
Stefan Kangas
326fdb9ec0 Remove many items obsolete since Emacs 23.2 and 23.3
* lisp/allout.el (allout-init):
* lisp/emacs-lisp/shadow.el (shadows-compare-text-p):
* lisp/ffap.el (ffap-version):
* lisp/filecache.el (file-cache-choose-completion):
* lisp/help.el (print-help-return-message):
* lisp/image-mode.el (image-mode-maybe):
* lisp/imenu.el (imenu-example--name-and-position):
* lisp/international/mule-cmds.el (princ-list):
* lisp/mail/rmail.el (rmail-highlight-face):
* lisp/minibuffer.el (read-file-name-predicate):
* lisp/mouse.el (mouse-choose-completion):
* lisp/progmodes/cc-cmds.el (c-forward-into-nomenclature):
* lisp/progmodes/xscheme.el
(advertised-xscheme-send-previous-expression):
* lisp/simple.el (completion-base-size)
(choose-completion-delete-max-match, exchange-dot-and-mark):
* lisp/subr.el (eval-next-after-load):
* lisp/term.el (term-dynamic-simple-complete):
Remove items, obsolete since Emacs 23.2 and 23.3.
* doc/misc/cc-mode.texi (Movement Commands): Doc fix.
* doc/lispref/help.texi (Accessing Documentation):
* lisp/emacs-lisp/edebug.el (edebug-wrap-def-body):
* lisp/comint.el (comint-dynamic-list-completions):
* lisp/progmodes/idlwave.el (idlwave-make-modified-completion-map-xemacs)
(idlwave-make-modified-completion-map-emacs)
(idlwave-choose-completion):
* lisp/progmodes/vhdl-mode.el:
* lisp/term.el (term-dynamic-list-completions):
Remove references to 'mouse-choose-completion'.
* lisp/image-mode.el (image-mode-to-text):
Remove reference to 'image-mode-maybe'.
* lisp/mail/rmail.el (rmail-highlight-headers):
Use 'rmail-highlight' face instead of 'rmail-highlight-face'.
* lisp/progmodes/antlr-mode.el (antlr-mode-map, antlr-mode-menu):
Remove reference to 'c-forward-into-nomenclature'.
* lisp/simple.el (choose-completion, choose-completion-string)
(completion-list-mode, completion-setup-function): Don't use
'completion-base-size'.
; * etc/NEWS: List removed items.

This was discussed in
https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00400.html
2020-08-24 04:09:47 +02:00
Asher Gordon
631c73b280 Quote other suspicious characters in mml-insert-tag.
* lisp/gnus/mml.el (mml-insert-tag): Ensure that the characters
"[]<>=" are quoted correctly (bug#43009).
Copyright-paperwork-exempt: yes
2020-08-24 03:37:10 +02:00
Paul Eggert
df589d3681 Simplify by using Gnulib sigdescr_np module
Inspired by a straightforward patch by Bruno Haible.
* admin/merge-gnulib (GNULIB_MODULES): Add sigdescr_np.
* configure.ac: Do not check for sys_siglist or __sys_siglist.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/sigdescr_np.c, m4/sigdescr_np.m4: New files, copied from Gnulib.
* src/sysdep.c (sys_siglist, sys_siglist_entries): Remove.
(init_signals): Do not initialize sys_siglist.
(safe_strsignal): Use sigdescr_np instead of sys_siglist.
2020-08-23 15:01:51 -07:00
Paul Eggert
42ec412515 Update from Gnulib
This incorporates:
2020-08-23 intprops: be consistent about +X vs X+0
2020-08-23 intprops: fix INT_MULTIPLY_WRAPV bit-field bug
2020-08-23 verify: Make assume work on bit field expressions
2020-08-23 libc-config: Improve comments
2020-08-22 verify: Do use __builtin_assume on clang
2020-08-22 sig2str: Add more signals
2020-08-21 sigdescr_np: New module
* lib/cdefs.h, lib/intprops.h, lib/sig2str.c, lib/string.in.h:
* lib/verify.h, m4/string_h.m4: Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
2020-08-23 15:01:51 -07:00
Eli Zaretskii
2c389455c7 Fix more compilation warnings in xdisp.c
* src/xdisp.c (display_mode_element, decode_mode_spec_coding):
Avoid compilation warnings.
2020-08-23 22:09:39 +03:00
Eli Zaretskii
f3e6dd1ce9 Fix a compilation warning in xdisp.c
* src/xdisp.c (gui_consider_frame_title): Fix compilation warning.
Reported by Lars Ingebrigtsen <larsi@gnus.org>.
2020-08-23 21:52:06 +03:00
Eli Zaretskii
3a99f966dc Improve handling of coding-system mnemonic indicators
This fixes assertion violations when the mnemonic is
given as a string, and allows non-ASCII characters be
used as mode-line mnemonic of a coding-system.
* src/xdisp.c (decode_mode_spec_coding): Handle multibyte
characters as coding-system's mnemonic.
(display_mode_element): If decode_mode_spec returns a multibyte
string, display it as multibyte.
* src/coding.c (Fdefine_coding_system_internal)
(Fcoding_system_put): If :mnemonic is a string, use its first
character.  This avoids assertion violations if someone uses a
string as the mnemonic of a coding-system.
2020-08-23 21:23:45 +03:00
Mattias Engdegård
a539488462 Always make a multibyte string for the frame title (bug#42904)
* src/xdisp.c (gui_consider_frame_title): Multibyte-encode any raw
bytes in the title, and then pass a multibyte string to the back-end
for use as a frame title.  This cuts down a little on the rubbish
shown when raw bytes sneak in by mistake (as part of the buffer name,
for instance).
2020-08-23 18:42:08 +02:00
Eli Zaretskii
6e2ee2a127 Fix image display on w32 as followup to recent changes
The new code calls 'malloc' and 'free', so we can no longer
* src/image.c (struct image_type): Rename 'load' to 'load_img' and
'free' to 'free_img'.  All callers changed.
(free_image) [WINDOWSNT]: Don't #undef 'free'.
2020-08-23 19:25:58 +03:00
Alan Third
8dc95e3598 Silence compiler warning (bug#40845)
* src/image.c (lookup_image): Don't allow face to be NULL.
2020-08-23 17:06:02 +01:00
Alan Third
8f42b94fe4 Set basic SVG attributes (bug#40845)
* test/manual/image-transforms-tests.el: Replace hard-coded colors
with defaults.
* src/dispextern.h (struct image):
* src/image.c (search_image_cache):
(xbm_load_image):
(xbm_load):
(pbm_load): Rename from frame to face where relevant.
(svg_load_image): Parse the image to find out the size, then wrap it
in another SVG to set a new size and colors, etc.
(lookup_image): Use the face colors instead of the frame colors.
(search_image_cache): Add ability to ignore the face colors.
(uncache_image): Uncache all copies of the image that share the spec,
even if the face colors don't match.
* etc/NEWS: Describe the changes.
2020-08-23 16:28:17 +01:00
Michael Albinus
4aff89ece6 Rework direct async processes in Tramp
* doc/misc/tramp.texi (Remote processes): Precise restrictions for direct
async processes.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-direct-async-process-p): Make it more precise.
(tramp-handle-make-process): Rewrite, based on `make-process'.

* test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
Add `tramp-direct-async-args` for mock method.
(tramp-test29-start-file-process, tramp-test30-make-process):
Use weaker regexp checking "foo".
(tramp-test30-make-process): Do not check stderr for direct async processes.
(tramp--test--deftest-direct-async-process): New defmacro.
(tramp-test29-start-file-process-direct-async)
(tramp-test30-make-process-direct-async): New tests.
2020-08-23 13:30:43 +02:00
Michael Albinus
608b8113cb ; * test/lisp/net/tramp-tests.el (tramp-test28-process-file): Instrument test. 2020-08-23 13:19:02 +02:00
Eli Zaretskii
4e97019a77 Minor fixes for last change
* lisp/international/kinsoku.el (kinsoku): Provide 'kinsoku'.
* lisp/cus-start.el (standard): Use 'require' instead of 'load.

* etc/NEWS:
* doc/emacs/display.texi (Visual Line Mode): Improve wording and
markup of last change.
2020-08-23 10:10:47 +03:00
Yuan Fu
0d1ca2ac38 Improve word wrapping for CJK characters
Note about the change around line 9257 and 23372:

Before, the test for whitespace checks for can_wrap_before and
can_wrap_after simutaniously.  Now we separate these two checks, and
the logic needs to change a little bit.  However, when we don't enable
the new wrapping feature, 'can_wrap_after' is equivalent to
'IT_DISPLAYING_WHITESPACE' and 'can_wrap_before' is equivalent to
'!IT_DISPLAYING_WHITESPACE'.  And the new logic is equivalent with the
old one in that case.

Old logic:

    if (whitespace) /* Which means can wrap after && can't wrap
                       before.  */
      may_wrap = true;

    else if (may_wrap) /* aka (!whitespace && may_wrap)
      (set wrap point)  * aka (can't wrap after && can wrap before
      may_wrap = false  *      && may_wrap)
                        */

New logic:

    if (can_wrap_after)
      next_may_wrap = true
    else
      next_may_wrap = false;

    if (may_wrap && can_wrap_before)
      (set wrap point)

    /* Update may_wrap.  */
    may_wrap = next_may_wrap;

* src/xdisp.c (it_char_has_category, char_can_wrap_before)
(char_can_wrap_after): New functions.
(move_it_in_display_line_to, display_line): Replace calls to
'IT_DISPLAYING_WHITESPACE' with either 'char_can_wrap_before' or
'char_can_wrap_after'.
(word-wrap-by-category): New variable.

* lisp/cus-start.el (minibuffer-prompt-properties--setter): Add
'word-wrap-by-category' as a customizable variable.

* doc/emacs/display.texi (Visual Line Mode): Add a paragraph about the
new 'word-wrap-by-category' feature.
* etc/NEWS: Announce the change.
2020-08-23 09:50:26 +03:00
Lars Ingebrigtsen
065ab1ba44 Bind the time zone so that the tests work everywhere 2020-08-22 14:34:54 -07:00
Lars Ingebrigtsen
04b62489ca Use lexical-binding and remove compat code 2020-08-22 22:47:31 +02:00
Eli Zaretskii
1002852f1a Fix documentation of a recent change in Dired
* etc/NEWS:
* doc/emacs/dired.texi (Dired Enter): Fix the text describing
'dired-maybe-use-globstar'.

* lisp/dired.el (dired-maybe-use-globstar): Add :version.
2020-08-22 19:14:35 +03:00
Glenn Morris
2e5198781c ; Copyright fix
Author has assignment
2020-08-22 16:58:46 +01:00
Eli Zaretskii
83ade9e4e2 ; * lisp/progmodes/grep.el (grep-find-command): Fix typos. 2020-08-22 18:57:57 +03:00
Lars Ingebrigtsen
4102fe1e91 Clarify inline-letevals in the manual
* doc/lispref/functions.texi (Inline Functions): Try to clarify
what inline-letevals really does, and how it differs from `let'
(bug#31052).
2020-08-22 17:57:39 +02:00
Tino Calancha
29bb72f043 Handle globstar in dired
Allow user to enable globstar when the shell support
it and disable it by default (e.g. bash).
* lisp/dired.el (dired-maybe-use-globstar): New user option.
(dired-enable-globstar-in-shell): New variable.
(dired-insert-directory): if `dired-maybe-use-globstar' is
non-nil and the shell supports globstar, then enable it.

* doc/emacs/dired.texi: Document feature.
; * etc/NEWS: Add entry.
2020-08-22 17:57:39 +02:00
Alan Third
e63a0c466c Fix NS build failure
* src/thread.c: xgselect isn't used with NS, even when HAVE_GLIB is
defined.
2020-08-22 16:31:02 +01:00
Alan Third
96e5d8ce0d Extend NSString further and use the new methods
* src/nsfns.m (ns_set_icon_name):
(ns_set_name):
(ns_set_represented_filename):
(ns_implicitly_set_icon_type):
(ns_set_icon_type):
(ns_appkit_version_str):
(Fx_create_frame):
(Fns_read_file_name):
(Fns_get_resource):
(Fns_set_resource):
(Fns_list_colors):
(Fns_perform_service):
(ns_do_applescript): Use the new NSString methods.
([NSString stringWithLispString:]): Fix the surrogate algorithm.
([NSString lispString]): New method.
* src/nsterm.h (NSString): Add new method.
* src/nsterm.m ([EmacsApp openFile:]):
([EmacsApp requestService:userData:error:]):
([EmacsApp fulfillService:withArg:]):
([EmacsView changeFont:]):
([EmacsView setMarkedText:selectedRange:]):
([EmacsView initFrameFromEmacs:]):
([EmacsView performDragOperation:]):
([EmacsView performDragOperation:]):
([EmacsView performDragOperation:]):
([EmacsWindow accessibilityAttributeValue:]): Use the new NSString
methods.
2020-08-22 16:19:37 +01:00
Lars Ingebrigtsen
811f5890f3 Doc string (and defcustom type) fix for grep-find-command
* lisp/progmodes/grep.el (grep-find-command): Add the cons type to
the defcustom, and document it (bug#36113).  (It has always been a
valid value for the variable.)
2020-08-22 16:27:17 +02:00