1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 09:51:22 -08:00
Commit graph

142155 commits

Author SHA1 Message Date
Stefan Monnier
4bb2f39591 * lisp/net/eudc-bob.el: Use lexical-binding; Misc simplifications
(eudc-bob-generic-keymap, eudc-bob-image-keymap)
(eudc-bob-sound-keymap, eudc-bob-url-keymap, eudc-bob-mail-keymap):
Move initialization into declaration.  Use RET rather than `return`.
(eudc-jump-to-event): Delete; use `mouse-set-point` instead.
(eudc-bob-save-object): Rewrite using `write-region`.
(eudc-bob-popup-menu): Use `popup-menu`.
2020-08-15 17:30:11 -04:00
Paul Eggert
748afc183c Fix recently-introduced Fdelete bug
Problem reported by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00444.html
* src/fns.c (Fdelete): Fix correctness bug via a simpler (though more
memory-intensive) approach.  It’s probably not worth optimizing
the memory usage yere.
* test/src/fns-tests.el (test-vector-delete): Add test for the bug.
2020-08-15 12:37:04 -07:00
Paul Eggert
b467bb531e Minimize ‘equal’ calls in (delete x vector)
* src/fns.c (Fdelete): When deleting from a vector, call Fequal
only once per vector element.  This is faster when Fequal is slow,
and avoids the need to preinitialize the vector result.  Finish
when the result is exhausted, not when the input is exhausted;
the two are equivalent but the former may be faster.
* test/src/fns-tests.el (test-vector-delete): New test.
2020-08-15 11:19:51 -07:00
Paul Eggert
e97def2bbc Fdelete speed tweak for strings
* src/fns.c (Fdelete): Hoist FIXNUMP out of a loop,
and turn it into CHARACTERP.
2020-08-15 11:19:51 -07:00
Paul Eggert
f1b06fd5fc Prefer Fvector to make_uninit_vector
Fvector is less error-prone than make_uninit_vector, as it
avoids the possibility of a GC crash due to an uninitialized
vector.  So prefer Fvector to make_uninit_vector when this is
easy (and when there's no significant performance difference).
Inspired by a suggestion by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00313.html
* src/ccl.c (Fregister_ccl_program):
* src/ccl.c (Fregister_ccl_program):
* src/charset.c (Fdefine_charset_internal):
* src/font.c (Fquery_font, Ffont_info, syms_of_font):
* src/fontset.c (font_def_new, Fset_fontset_font):
* src/ftfont.c (ftfont_shape_by_flt):
* src/hbfont.c (hbfont_shape):
* src/macfont.m (macfont_shape):
* src/search.c (Fnewline_cache_check):
* src/xfaces.c (Fx_family_fonts):
* src/xfns.c (Fx_window_property_attributes):
Prefer Fvector to make_uninit_vector when either is easy.
* src/fontset.c (font_def_new): Now a function with one less
arg instead of a do-while macro, and renamed from FONT_DEF_NEW.
All uses changed.
2020-08-15 11:19:51 -07:00
Paul Eggert
d0145537fa Fix GC bugs related to uninitialized vectors
Avoid problems if GC occurs while initializing a vector.
Problem with Fdelete reported by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00313.html
I looked for similar problems elsewhere and found quite a few.
* src/coding.c (make_subsidiaries):
* src/composite.c (syms_of_composite):
* src/font.c (build_style_table, Ffont_get_glyphs):
* src/nsselect.m (clean_local_selection_data):
* src/nsxwidget.m (js_to_lisp):
* src/syntax.c (init_syntax_once):
* src/window.c (Fcurrent_window_configuration):
* src/xselect.c (selection_data_to_lisp_data)
(clean_local_selection_data):
Use make_nil_vector instead of make_uninit_vector.
* src/fns.c (Fdelete):
* src/xwidget.c (webkit_js_to_lisp):
Use allocate_nil_vector instead of allocate_vector.
* src/search.c (Fnewline_cache_check):
Use make_vector instead of make_uninit_vector.
2020-08-15 11:19:51 -07:00
Roland Kaufmann
4cba236749 Allow build configuration on Apple ARM devices (bug#41994)
* configure.ac: Add arm as a port target for Darwin.

Copyright-paperwork-exempt: yes
2020-08-15 17:06:31 +01:00
Lars Ingebrigtsen
1e7102640b Add new variable term-set-terminal-size (not setting LINES/COLUMNS)
* lisp/term.el (term-set-terminal-size): New variable (bug#37564).
(term-exec-1): Use it.  Based on a patch from Matthew Leach
<matthew@mattleach.net>.
2020-08-15 14:35:16 +02:00
Lars Ingebrigtsen
37358dd43c Make Gnus stop clobbering the M-s search prefix key binding
* doc/emacs/misc.texi (Gnus Summary Buffer): Ditto.

* doc/misc/gnus.texi (Searching for Articles): Document moved M-s
(bug#39706).

* lisp/gnus/gnus-sum.el (gnus-summary-mode-map): Move
gnus-summary-search-article-forward to M-s M-s, and add M-s M-r
for gnus-summary-search-article-backward.
2020-08-15 14:20:02 +02:00
Steven Allen
f4e7f7695f Fix thinko in setting url-portspec
* lisp/url/url-expand.el (url-default-expander): Set
`url-portspec' (bug#42869).
2020-08-15 13:37:38 +02:00
Dario Gjorgjevski
5b463af8dd Tweak how ido handles killing virtual buffers
* lisp/ido.el (ido-buffer-internal): Handle killing of virtual buffers
as a special case.
(ido-visit-buffer): Document the special case (bug#38294).
2020-08-15 12:33:43 +02:00
Eli Zaretskii
83000ae6d7 Don't wrap lines at NBSP when nobreak-char-display is t
* src/xdisp.c (get_next_display_element): When
nobreak-char-display is t, display NBSP and non-ASCII hyphens as
themselves, not as their ASCII counterparts, just with the
nobreak-space/nobreak-hyphen face.  (Bug#42811)
2020-08-15 13:23:58 +03:00
Jari Aalto
f3afb23d26 Add support for ffap guessing at file names containing spaces
* lisp/ffap.el (ffap-file-name-with-spaces): New variable (bug#8439).
(ffap-search-backward-file-end, ffap-search-forward-file-end)
(ffap-dir-separator-near-point): New functions.
(ffap-string-at-point): Use the variable and the new functions to
guess at files containing strings.
2020-08-15 12:11:41 +02:00
Paul Eggert
f712cdbe9e Pacify Apple clang 11 __builtin_assume
Problem reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00300.html
* src/lisp.h (bool_vector_bitref, bool_vector_set):
Use eassert instead of eassume for bool_vector_size checks.
2020-08-14 19:29:46 -07:00
Amin Bandali
e365b9ab7b
Add `message' to erc-match.el highlight types
* lisp/erc/erc-match.el (erc-current-nick-highlight-type,
erc-pal-highlight-type, erc-fool-highlight-type,
erc-keyword-highlight-type, erc-dangerous-host-highlight-type): Add
`message' type for highlighting the entire message but not the
sender's nick.
(erc-match-message): Check for the new `message' highlight type and
propertize the message (not including the nick) accordingly.
* etc/NEWS: Announce the addition of the `message' highlight type.
2020-08-14 22:12:02 -04:00
Paul Eggert
4ecc2ba01d Fix bus error on Debian bullseye
Problem reported by Lars Ingebrigtsen, and problem diagnosis
and most of this patch by Pip Cet (Bug#42832).
* src/pdumper.c (dump_bitsets_init): Rename from dump_bitset_init.
All callers changed.  Initialize two bitsets with a single malloc
call.
(struct pdumper_loaded_dump_private): New member last_mark_bits.
(pdumper_find_object_type_impl): Return PDUMPER_NO_OBJECT if
the last_mark_bits’ bit is clear.
(pdumper_set_marked_impl): Assert that the last_mark_bits’
bit is set.
(pdumper_clear_marks_impl): Save mark_bits into
last_mark_bits before clearing mark_bits.
Co-authored-by: Pip Cet <pipcet@gmail.com>
2020-08-14 15:51:52 -07:00
Basil L. Contovounesios
ca6c3bec07 ; Touch up last two changes to etc/NEWS 2020-08-14 23:32:48 +01:00
Dmitry Gutov
42c19b7485 ; Change phrasing according to the rename 2020-08-14 23:33:03 +03:00
Stefan Kangas
8b36ebc950 Remove XEmacs compat code from mwheel.el
* lisp/mwheel.el (mwheel-event-button, mwheel-event-window):
Remove XEmacs compat code.
2020-08-14 19:40:28 +02:00
Noam Postavsky
43091e6c50 Make configure say so if we have "--with-json" but no jansson support
* configure.ac (OPTION_DEFAULT_IFAVAILABLE): New macro.  Use it to
define the --with-json option.  Add with_json and HAVE_JSON to the
'MISSING' checks (bug#39953).
2020-08-14 19:31:16 +02:00
Lars Ingebrigtsen
8a56f6b5a2 Mop up project-kill-buffers-ignores renaming
* doc/emacs/maintaining.texi (Project Buffer Commands): Update
project-kill-buffers-ignores that was renamed recently
(bug#41868) (in 2ab66c9f9b).
2020-08-14 19:03:52 +02:00
Yuan Fu
ce9e9881b3 Add two new commands for centering doc-view images
* lisp/doc-view.el (doc-view-mode-map): Add binding for centering
commands.
(doc-view-center-page-horizontally, doc-view-center-page-vertically):
New functions (bug#42272).
2020-08-14 17:43:03 +02:00
Gregory Heytings
f3d93eb401 Fix visual fringe glitch in diff-mode
* lisp/vc/diff-mode.el (diff--font-lock-prettify): Fix problems
with visual gaps in the fringes when changing font size (bug#42300).

Copyright-paperwork-exempt: yes
2020-08-14 17:34:07 +02:00
Stefan Kangas
76514dcb6d Comment to postpone deletion of c-subword-mode
* lisp/progmodes/subword.el (c-subword-mode): Clarify that this
obsolete function alias should not be removed just yet.  There is a
copy of this definition in cc-cmds.el, obsolete since 24.3, and it is
better to delete both at the same time.
2020-08-14 17:03:13 +02:00
Stefan Monnier
7a7847d7ad * lisp/progmodes/perl-mode.el (perl--syntax-exp-intro-regexp): Bug#42168
* test/lisp/progmodes/cperl-mode-tests.el: Adjust for `perl-mode`.
(cperl-test-ppss): Rename from `cperl-test-face` and change return value.
(cperl-mode-test-bug-42168): Test the `syntax-ppss` state rather than
the font-lock faces, so it works for both `perl-mode` and `cperl-mode`.
2020-08-14 10:58:00 -04:00
Mauro Aranda
5c39f6f116 Make sure we only act on edited widgets in Custom-save
* lisp/cus-edit.el (Custom-save): Only act on edited widgets in the
buffer.  If we attempt to redraw all widgets, we confuse
custom-variable-modified-p, or we end up drawing State buttons for
all options, including the hidden ones (bug#42801).
2020-08-14 16:40:40 +02:00
Jonas Bernoulli
93136b980a Parse the whole buffer at once in compile.el
* lisp/progmodes/compile.el (compilation-next-single-property-change):
Parse whole buffer at once (bug#42806).

Also remove the comment that mentioned that it is an option to do it
in one go as we now actually start doing.  As the existence of that
comment suggested, there is not really a reason to process the buffer
in small chunks.  On the contrary, processing the output in arbitrary
units can result in certain constructs not being recognized because
they begin in one arbitrary chunk, while ending in another.
2020-08-14 16:23:16 +02:00
Dmitry Gutov
319463920c Unbreak project-find-regexp in Emacs 26.3 (bug#42765)
* lisp/progmodes/project.el: Depend on xref.  Bump the version.

* lisp/progmodes/xref.el: Remove 'project' from the list of
dependencies.  Depending on Emacs 26.3 already ensures that some
version is available.  Bump the version.
(xref--process-file-region): Move from project.el with a rename.
Update the sole caller.
(xref-backend-references): Make compatible with old project.el.
Update the docstring.
2020-08-14 17:21:55 +03:00
Ferdinand Pieper
c6267c0fe6 Fix flow filling for flowing multiple flowed lines
* lisp/mail/flow-fill.el (fill-flowed): Loop until all flowed lines
are collected.
* test/lisp/mail/flow-fill-tests.el
(fill-flow-tests-fill-flowed-decode): Also test for multiple
flowed lines (bug#42855).
2020-08-14 16:15:13 +02:00
Stefan Monnier
5d6a274c1f * doc/lispref/searching.texi (Regexp Special): Tweak wording 2020-08-14 10:03:50 -04:00
Yuan Fu
5680faad8f Allow doc-view.el to rescale without imagemagick support
* lisp/doc-view.el (doc-view-mode-p, doc-view-enlarge)
(doc-view-scale-reset, doc-view-insert-image): Remove checks for
imagemagick (bug#42272) -- Emacs can rescale images without imagemagick.
2020-08-14 13:53:09 +02:00
Lars Ingebrigtsen
1b8d369c38 Change icomplete-show-matches-on-no-input behavior
* lisp/icomplete.el (icomplete-show-matches-on-no-input): Doc fix.
(icomplete-completions): Set completion-content-when-empty.

* lisp/minibuffer.el (completion-content-when-empty): New variable.
(completion--complete-and-exit): Use it (bug#19032).

Based on a patch by Matthew Leach <matthew@mattleach.net>.
2020-08-14 13:29:59 +02:00
Stefan Kangas
744e97ce6d Remove Emacs 22 compat code from semantic
* lisp/cedet/semantic/bovine/c.el (semantic-c-end-of-macro):
Make into obsolete function alias for 'c-end-of-macro'.
(semantic-lex-cpp-define, semantic-lex-c-macrobits):
* lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-paren-or-list):
Adjust callers.
2020-08-14 13:07:26 +02:00
Stefan Kangas
4344a3cfb7 Make Emacs 20 compat code in derived.el obsolete
* lisp/emacs-lisp/derived.el (derived-mode-setup-function-name):
Declare obsolete.  This was for compatibility with Emacs 20 or older.
2020-08-14 13:07:26 +02:00
Stefan Kangas
874ba85363 Remove many items obsolete since Emacs 23.1
Emacs 23.1 was five major releases and over a decade ago.
This list can be reviewed before to the next release, but for now
hopefully this motivates any needed external updates.
Ref: https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg02198.html

* lisp/abbrev.el (pre-abbrev-expand-hook):
* lisp/bookmark.el (bookmark-read-annotation-text-func)
(bookmark-jump-noselect):
* lisp/buff-menu.el (buffer-menu-mode-hook):
* lisp/cus-edit.el (custom-mode-hook, custom-mode):
* lisp/dirtrack.el (dirtrack-debug-toggle, dirtrack-debug):
* lisp/emacs-lisp/crm.el (crm-minibuffer-complete)
(crm-minibuffer-completion-help)
(crm-minibuffer-complete-and-exit):
* lisp/emacs-lisp/easymenu.el
(easy-menu-precalculate-equivalent-keybindings):
* lisp/emacs-lisp/lisp-mode.el (lisp-mode-auto-fill):
* lisp/epa.el (epa-display-verify-result):
* lisp/epg.el (epg-passphrase-callback-function):
* lisp/eshell/eshell.el (eshell-report-bug):
* lisp/ffap.el (ffap-bug, ffap-submit-bug):
* lisp/files.el (locate-file-completion):
* lisp/hi-lock.el (hi-lock-face-history, hi-lock-regexp-history):
* lisp/hilit-chg.el (highlight-changes-initial-state)
(highlight-changes-active-string)
(highlight-changes-passive-string, global-highlight-changes):
* lisp/international/mule-cmds.el (nonascii-insert-offset)
(nonascii-translation-table):
* lisp/international/mule-diag.el (non-iso-charset-alist):
* lisp/international/mule-util.el (detect-coding-with-priority):
* lisp/international/mule.el (charset-id, charset-bytes)
(charset-list, char-valid-p, generic-char-p)
(char-coding-system-table, make-coding-system)
(set-coding-priority)
* lisp/mail/rmail.el (rmail-message-filter):
* lisp/minibuffer.el (complete-in-turn, dynamic-completion-table)
(completion-common-substring)
(minibuffer-local-must-match-filename-map):
* lisp/mouse.el (mouse-major-mode-menu, mouse-popup-menubar)
(mouse-popup-menubar-stuff):
* lisp/net/newst-treeview.el (newsticker-groups-filename):
* lisp/obsolete/tpu-edt.el (tpu-have-ispell, GOLD-map):
* lisp/password-cache.el (password-read-and-add):
* lisp/shell.el (shell-dirtrack-toggle):
* lisp/subr.el (forward-point, redisplay-end-trigger-functions)
(process-filter-multibyte-p, set-process-filter-multibyte):
* lisp/t-mouse.el (t-mouse-mode):
* lisp/term/w32-win.el (w32-focus-frame, w32-select-font):
* lisp/textmodes/ispell.el (ispell-aspell-supports-utf8):
* lisp/textmodes/remember.el (remember-buffer):
* lisp/tooltip.el (tooltip-hook):
* lisp/url/url-util.el (url-generate-unique-filename):
* lisp/url/url-vars.el (url-temporary-directory):
* lisp/vc/vc-hooks.el (vc-workfile-version)
(vc-default-working-revision):
* lisp/vc/vc-mtn.el (vc-mtn-command):
* lisp/vc/vc.el (vc-revert-buffer):
* lisp/vcursor.el (vcursor-toggle-vcursor-map):
Remove items, obsolete since Emacs 23.1.
* lisp/abbrev.el (expand-abbrev):
* lisp/epg.el (epg-context): Change
'epg-passphrase-callback-function' call to 'epa-' alternative.
* lisp/eshell/em-rebind.el (eshell-cannot-leave-input-list): Don't
refer to removed function 'forward-point'.
* test/manual/etags/c-src/abbrev.c (Fexpand_abbrev):
(syms_of_abbrev): Don't run removed hook 'pre-abbrev-expand-hook'.
* lisp/international/mule.el (transform-make-coding-system-args):
Declare obsolete.
* lisp/progmodes/idlwave.el:
Update reference to removed function 'char-valid-p'.
* lisp/gnus/mml2015.el (epg-encrypt-string):
* lisp/gnus/mml1991.el (epg-make-context):
* lisp/gnus/mml-smime.el (autoload):
Remove autoload of removed 'epg-passphrase-callback-function'.
* lisp/minibuffer.el (completion-extra-properties):
Remove support for `completion-common-substring'.
* lisp/obsolete/tpu-edt.el (tpu-toggle-overwrite-mode)
Remove support for removed `spell' package.
* src/coding.c (syms_of_coding):
* doc/misc/efaq.texi:
* doc/emacs/frames.texi (Menu Mouse Clicks):
* doc/misc/url.texi (Customization): Doc fixes.
; * etc/NEWS: List removed items.
2020-08-14 13:07:26 +02:00
Lars Ingebrigtsen
287ae275a6 Revert "Preserve the face foreground in Info-fontify-node"
This reverts commit 1bed252ae9.

Juri Linkov says:

This patch breaks Info fontification, please revert it.
Here is what I said in the message sent later with another patch at
https://debbugs.gnu.org/14645#14

  Using the text property `face' instead of `font-lock-face'
  might break something, so a better patch below removes
  the text properties `face info-index-match' from the Info buffer
2020-08-14 11:49:42 +02:00
Stefan Kangas
9c362e293c Add test for Bug#41761
* test/lisp/simple-tests.el (simple-test-count-words-bug-41761):
New test.
2020-08-14 11:37:48 +02:00
Daniel Koning
c560ba3036 Don't stop at field boundaries when counting words (Bug#41761)
* lisp/simple.el (count-words): Ensure that `forward-word-strictly'
moves point from one field to the next during the word-counting loop.

Copyright-paperwork-exempt: yes
2020-08-14 11:19:11 +02:00
Harald Jörg
f3ff51288f cperl-mode: Highlight '{$a++ / $b}' correctly
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres):
Recognize {$a++ / $b} correctly as division.  (Bug#42168)
* test/lisp/progmodes/cperl-mode-tests.el: New file with test
verifying the fix.
2020-08-14 11:03:47 +02:00
Stefan Kangas
32cb84974f
Make erc-compat.el obsolete
* lisp/erc/erc-compat.el: Move from here...
* lisp/obsolete/erc-compat.el: ...to here.
* lisp/erc/erc-backend.el:
* lisp/erc/erc-pcomplete.el:
* lisp/erc/erc-stamp.el:
* lisp/erc/erc-track.el:
* lisp/erc/erc.el: Don't require 'erc-compat'.

* lisp/erc/erc-backend.el (erc-decode-string-from-target):
* lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC):
* lisp/erc/erc-fill.el (erc-fill-mode):
* lisp/erc/erc-goodies.el (erc-controls-interpret):
* lisp/erc/erc-log.el (erc-log-setup-logging):
* lisp/erc/erc-notify.el (erc-notify-QUIT):
* lisp/erc/erc.el (erc-startup-file-list, define-erc-module)
(erc-canonicalize-server-name, erc-cmd-SV, erc-banlist-update)
(erc-group-list, erc-seconds-to-string): Adjust callers.
* lisp/erc/erc.el: Require cl-lib and format-spec.

* etc/NEWS: Add entry announcing erc-compat.el being marked as
obsolete.
2020-08-13 19:31:54 -04:00
Paul Eggert
48c7caf3ac Update from Gnulib
This incorporates:
2020-08-13 sys_random: Work around an uClibc bug
* lib/sys_random.in.h, m4/getrandom.m4, m4/sys_random_h.m4:
Copy from Gnulib.
2020-08-13 15:50:12 -07:00
Stefan Kangas
727ffbaaf4 Add tests for cl-{incf,decf}
* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-incf)
(cl-lib-test-decf): New tests.
2020-08-13 22:04:59 +02:00
Basil L. Contovounesios
1591b8ab9a ; Touch up last term.el-related changes 2020-08-13 20:23:51 +01:00
Alan Third
2129d6b9dc Fix slow down when moving between monitors (bug#42834)
* src/nsterm.m ([EmacsView windowDidChangeBackingProperties:]):
Recreate the buffer every time.
2020-08-13 19:11:10 +01:00
Tobias Zawada
975acf5737 Handle nil load-path element in read-library-name
* lisp/emacs-lisp/find-func.el (read-library-name): Fix handling of
nil 'load-path' element.  (Bug#41998)

Copyright-paperwork-exempt: yes
2020-08-13 18:59:41 +02:00
Glenn Morris
3e00a78a32 Update a paragraphs test
* test/lisp/textmodes/paragraphs-tests.el
(paragraphs-tests-mark-paragraph): Update for recent change.
2020-08-13 16:38:02 +01:00
Glenn Morris
0170883c71 Update a compile test
* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
Update info/warning count for recent compile.el change.
2020-08-13 16:36:09 +01:00
Glenn Morris
87811b4fe1 Merge from origin/emacs-27
69568674b3 (origin/emacs-27) Improve documentation of function argume...
1c0bc1ccd8 Improve documentation of special events
2020-08-13 07:51:03 -07:00
Glenn Morris
7b63844bca ; Merge from origin/emacs-27
The following commits were skipped:

c9a739408d Fix face merging at EOL when inherited face specifies :extend
f946e48bf5 Fix face extension past EOL in overlay strings
2020-08-13 07:51:03 -07:00
Glenn Morris
a1f9e7beea Merge from origin/emacs-27
63f614d76c Fix comint-redirect-results-list regexp usage (Bug#42662)
2020-08-13 07:51:03 -07:00