1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 12:21:25 -08:00
Commit graph

139845 commits

Author SHA1 Message Date
Glenn Morris
2bb7bb4abf Merge from origin/emacs-27
ca6a53d3bc Don't default to showing X-Faces externally in Gnus
dbf4b5b2d0 Fix manual typo in Special Read Syntax
a9fe6dfa90 Fix problem with emacs -nw / eww / svg
0de63092c8 Clarify base64 requirements and say what {en,de}code_codin...
6184aa003f ; * etc/NEWS: Fix boring oddities.
51ea32dd12 * src/emacs-module.h.in: Add reference to manual.
75d0cef20d Trivial docstring fixes
ee12c421b6 imagemagick-types needs to initialize ImageMagick

# Conflicts:
#	etc/NEWS
2019-12-25 07:50:19 -08:00
Glenn Morris
93d4725f9c ; Merge from origin/emacs-27
The following commit was skipped:

9eb871c8d1 Cut the emacs-27 release branch
2019-12-25 07:50:13 -08:00
Philipp Stephani
28268e47d8 Support .dylib suffix for modules on macOS (Bug#36226).
On macOS, shared libraries typically have the suffix .dylib.  This
commit switches the module suffix to .dylib on Darwin to account for
that.  To also support the .so suffix, introduce the concept of a
secondary module suffix.

* configure.ac: Switch MODULES_SUFFIX to .dylib for Darwin, introduce
MODULES_SECONDARY_SUFFIX.

* src/lread.c (Fload, syms_of_lread): Also use
MODULES_SECONDARY_SUFFIX if defined.

* test/src/emacs-module-tests.el (module-darwin-secondary-suffix): New
unit test.
2019-12-25 15:42:20 +01:00
Lars Ingebrigtsen
ca6a53d3bc Don't default to showing X-Faces externally in Gnus
* lisp/gnus/gnus-art.el (gnus-article-x-face-command): It's seldom
useful to display the face in an external command, so don't ever
default to that.  This also fixes the problem of Emacs running as
a server in mixed graphical/non-graphical environments.
2019-12-24 17:50:24 +01:00
Lars Ingebrigtsen
dbf4b5b2d0 Fix manual typo in Special Read Syntax
* doc/lispref/objects.texi (Special Read Syntax): Fix typo.
2019-12-24 17:42:28 +01:00
Federico Tedin
7c5d6a2afc Make goto-line keep a separate input history per buffer
* lisp/simple.el (goto-line-history): New history variable.
(goto-line): Use new (buffer-local) variable as input
history (Bug#38282).
* lisp/subr.el (read-number-history): New history variable.
(read-number): Use the new variable as default input history.
* doc/lispref/minibuf.texi (Minibuffer History): Document
read-number-history and goto-line-history variables.
* etc/NEWS: Announce changes.
2019-12-24 17:40:15 +01:00
Robert Pluim
a9fe6dfa90 Fix problem with emacs -nw / eww / svg
* lisp/net/shr.el (shr-parse-image-data): Don't bug out on
non-visual Emacs versions on SVG images (bug#38507).
2019-12-24 17:21:06 +01:00
Lars Ingebrigtsen
0de63092c8 Clarify base64 requirements and say what {en,de}code_coding_region does
* src/coding.c (Fencode_coding_region): Clarify what this does.
(Fdecode_coding_region): Ditto.

* src/fns.c (Fbase64_decode_region): Clarify that this function
returns bytes, not text (bug#38587).
(Fbase64_encode_region): Clarify that this function takes bytes,
not text.
2019-12-24 17:11:11 +01:00
João Távora
0d2a711dc9 Move flex style's minibuffer-default-aware sorting to lisp/icomplete.el
This moves the logic from the series of commits starting in the commit named:

  Improve sorting of flex completion style with non-nil minibuffer-default

to lisp/icomplete.el, so far the only confirmed beneficiary of that
functionality.

* lisp/icomplete.el (icomplete--sorted-completions): Consider
minibuffer-default here.

* lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.
2019-12-24 10:41:57 +00:00
Michael Albinus
6184aa003f ; * etc/NEWS: Fix boring oddities. 2019-12-24 10:45:04 +01:00
Philipp Stephani
51ea32dd12 * src/emacs-module.h.in: Add reference to manual. 2019-12-24 09:47:02 +01:00
Stefan Monnier
a6b41a817e * src/minibuf.c (read_minibuf): Use user-error 2019-12-23 23:47:54 -05:00
Juanma Barranquero
60fba710c5 Don't use `let*' with just one binding
* lisp/registry.el (registry-reindex):
* lisp/emacs-lisp/generator.el (cps--add-state):
Use `let', not `let*'.
2019-12-24 04:09:46 +01:00
Juanma Barranquero
75d0cef20d Trivial docstring fixes
* ChangeLog.3:
* lisp/emacs-lisp/cl-macs.el (cl-flet):
* lisp/filesets.el (filesets-menu-ensure-use-cached):
* lisp/progmodes/compile.el (compilation-context-lines):
* lisp/progmodes/prolog.el (prolog-paren-indent):
* lisp/progmodes/sql.el (sql-password-search-wallet-function):
Fix typos in docstrings.

* lisp/cedet/semantic/analyze.el (semantic-analyze-push-error):
Doc fix.

* lisp/emacs-lisp/map.el (map-put, map-info): Refill docstring.
(map-contains-key): Fix typo.
(map-every-p): Doc fix.
2019-12-24 02:37:08 +01:00
Dhruva Krishnamurthy
ee12c421b6 imagemagick-types needs to initialize ImageMagick
* src/image.c (imagemagick_initialize): New function,
with body taken from imagemagick_load_image.
(imagemagick_load_image, Fimagemagick_types): Use it.
Copyright-paperwork-exempt: yes
2019-12-23 17:20:47 -08:00
Philipp Stephani
5617c82b37 Prepare module header generation for Emacs 28.
* configure.ac: Substitute environment function snippet for Emacs 28.

* src/module-env-28.h: New file, with dummy contents for now.

* src/emacs-module.h.in: Provide emacs_env_28 structure.
2019-12-24 01:08:16 +01:00
Philipp Stephani
232a36f17e * src/emacs-module.h.in: Use @emacs_major_version@ for current env. 2019-12-24 01:08:15 +01:00
João Távora
ee914051fb Make fido-mode behave more like ido-mode when finding directories
Notably C-x d (M-x dired) and C-x v d (M-x vc-dir) behaved quite
differently, having regular files as the default instead of ido's
usual "./".

* lisp/icomplete.el (icomplete--sorted-completions): New helper.
(icomplete-completions): Use it.
2019-12-23 23:44:12 +00:00
João Távora
24a1f520f9 Slightly simplify lisp/icomplete.el with new icomplete--category helper
* lisp/icomplete.el (icomplete-fido-kill)
(icomplete-fido-delete-char, icomplete-fido-ret)
(icomplete-fido-backward-updir, icomplete-exhibit): Use
icomplete--category.
(icomplete--category): New helper.
2019-12-23 23:44:02 +00:00
João Távora
9c91204992 Another adjustment to flex completion style's sorting function
* lisp/minibuffer.el (completion--flex-adjust-metadata): Adjust
case when minibuffer-default is non-nil.
2019-12-23 23:44:02 +00:00
Philipp Stephani
ac7b260773 * src/pdumper.c (Fdump_emacs_portable): Reword error message. 2019-12-23 21:27:24 +01:00
Philipp Stephani
00c9949158 Remove some undefined behavior related to left shifts.
Found by UBSan.

* src/nsfns.m (ns_set_foreground_color, ns_set_background_color):
* src/nsimage.m (getPixelAtX:Y:):
* src/nsterm.m (ns_color_index_to_rgba): Add explicit casts to avoid
undefined behavior when left-shifting beyond the bounds of the int
type.

* src/macfont.m (METRICS_VALUE): Add explicit casts to avoid undefined
behavior when left-shifting a negative value.
2019-12-23 21:27:23 +01:00
Stephen Gildea
17c19817f7 Further expand coverage of unit tests for time-stamp
* test/lisp/time-stamp-tests.el (time-stamp-custom-format-tabs-expand,
time-stamp-custom-end, time-stamp-helper-string-defaults): New tests.
(time-stamp-custom-count): Test 0 case.
(time-stamp-format-non-date-conversions): Test different system values.

Development of these new tests was guided by the "testcover" library.
2019-12-23 11:52:42 -08:00
Philipp Stephani
e7edba42c8 Don’t allow portable dumping in interactive mode (Bug#38453).
* src/pdumper.c (Fdump_emacs_portable): Don’t allow dumping in
interactive mode.
2019-12-23 20:49:15 +01:00
Mario Lang
b2571eccb5 ; Fix oversights during renaming of example code
Introduced in 94fa7ceb48
2019-12-23 18:30:09 +01:00
Philipp Stephani
94fa7ceb48 Make argument names in module interface more consistent.
Previously, the names of arguments and other details were needlessly
inconsistent between the documentation, the declarations, and the
definitions, as well as between each other.  This commit makes them
more consistent, in most cases by applying the names from the
documentation everywhere.

* src/module-env-27.h:
* src/module-env-25.h:
* src/emacs-module.h.in:
* src/emacs-module.c (module_get_environment)
(module_make_global_ref, module_free_global_ref)
(module_non_local_exit_get, module_non_local_exit_signal)
(module_make_function, module_funcall, module_type_of)
(module_is_not_nil, module_extract_integer)
(module_extract_float, module_copy_string_contents)
(module_make_string, module_vec_set, module_vec_get)
(module_vec_size, module_extract_time)
(module_assert_runtime):
* doc/lispref/internals.texi (Module Initialization)
(Module Functions, Module Values): Make argument names and some other
details consistent.  No functional changes.
2019-12-23 17:16:10 +01:00
Eli Zaretskii
64fe67beff Bump Emacs version to 28.0.50
* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp:
* src/msdos.c (internal_terminal_init):
* etc/refcards/ru-refcard.tex: Bump Emacs version to 28.0.50.

* lisp/cus-edit.el (customize-changed-options-previous-release):
Bump up the value to 26.3.

* etc/NEWS.27: Renamed from NEWS.
* etc/NEWS: New file for Emacs 28.
2019-12-23 18:00:52 +02:00
Eli Zaretskii
9eb871c8d1 Cut the emacs-27 release branch
* lisp/cus-edit.el (customize-changed-options-previous-release):
Change the value to 26.3.

* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Bump Emacs version to 27.0.60.
2019-12-23 17:41:17 +02:00
Philipp Stephani
f8e83d73a2 Document and verify that emacs_limb_t doesn’t have padding bits.
This is a useful property when doing further bit-twiddling with the
magnitude array before/after calling extract_big_integer or
make_big_integer.  For example, constructing an emacs_limb_t object
using repeated shift-and-add should work as expected, but relies on
the type not having padding bits.  Since the C standard already
guarantees that unsigned integers use a pure binary representation,
not having padding bits is enough to guarantee that the type has
unique object representations in the sense of C++’s
std::has_unique_object_representations.

* doc/lispref/internals.texi (Module Values): Document that
emacs_limb_t doesn’t have padding bits.

* src/emacs-module.c: Verify that emacs_limb_t doesn’t have padding
bits.
2019-12-23 15:37:49 +01:00
Jimmy Aguilar Mena
0abdb01be6 Fix extension of underline, overline, and strike-through attributes
* src/xdisp.c (extend_face_to_end_of_line): Don't return early
if face attributes beyond background color and box are set,
since that means these attributes need to be extended past the
EOL.
2019-12-23 15:33:25 +02:00
Mattias Engdegård
9c00795007 ; * lisp/mouse.el: declare functions to silence warnings 2019-12-23 12:42:30 +01:00
João Távora
e1e2ad104d Comment on limitation of flex completion style's sorting function
* lisp/minibuffer.el (completion--flex-adjust-metadata): Add
comment.
2019-12-23 12:08:43 +01:00
João Távora
c7e6b62d9e Fix a bug in completion--flex-adjust-metadata
If minibuffer-default coincided with the first of completions, the
empty list would be returned.

* lisp/minibuffer.el (completion--flex-adjust-metadata): Make sure
to never return empty list.
2019-12-23 12:03:13 +01:00
Martin Rudalics
1e758530b0 Fix documentation of implied frame resizing (Bug#38684)
* src/frame.c (frame_inhibit_implied_resize): Fix doc-string.
* doc/lispref/frames.texi (Implied Frame Resizing): Update and
rewrite section.
2019-12-23 10:50:44 +01:00
Michael R. Mauger
3df7d06d41 Added `comint-password-function' hook
* etc/NEWS:
* lisp/comint.el (comint-password-function): New variable.
  (comint-send-invisible): Use it.
* test/lisp/comint-tests.el (comint-test-no-password-function,
  comint-test-password-function-with-value,
  comint-test-password-function-with-nil): Test new variable.
2019-12-22 23:56:05 -05:00
Juri Linkov
eea05713be * lisp/files.el (save-buffers-kill-emacs): Mark "*Process List*" as dedicated.
Using the 'dedicated' prop for display-buffer--maybe-at-bottom marks the
window of the buffer "*Process List*" as dedicated, so it won't be replaced
by another buffer that might be visited following links to process buffers
from the buffer "*Process List*".
2019-12-23 01:02:22 +02:00
Juri Linkov
d7eb4955eb * lisp/tab-bar.el: Use alist-get instead of (cdr (assq ...))
* lisp/tab-bar.el (tab-bar-mode): Bind s-0 to tab-bar-switch-to-recent-tab.
2019-12-23 00:55:38 +02:00
Juri Linkov
5e3670b685 * lisp/proced.el (proced-signal-list): Add more POSIX 1003.1-2001 signals. 2019-12-23 00:51:49 +02:00
João Távora
df3fe4e275 Fix bug in flex completion style's sorting and simplify
This previous commit targetting this function introduced a bug whereby
the completion table's sorting function wouldn't be called.  That is
fixed by this commit, which also simplifies the function further: it
now skips re-sorting the completions completely if there is no
minibuffer input at all (in other words, when flex isn't doing
anything useful).

* lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.
2019-12-22 22:57:16 +01:00
Stefan Monnier
7b3b27eef1 * lisp/gnus/gnus-start.el: Use lexical-binding
(gnus-group-change-level, gnus-make-hashtable-from-newsrc-alist):
Use gnus-info-make.
(gnus-make-hashtable-from-newsrc-alist): Prefer `gnus-info-group`
to `car` when applied to a `gnus-info` object.
(gnus-make-hashtable-from-killed): Remove unused vars `lists` and `list`.
(gnus-gnus-to-quick-newsrc-format): Extract common code from if branches.

* lisp/gnus/gnus.el (gnus-info-make): New constructor.
2019-12-22 16:09:31 -05:00
Eli Zaretskii
d7ab4edd93 Fix wording of recent documentation changes
* src/xdisp.c (syms_of_xdisp):
* lisp/minibuffer.el (minibuffer-message-clear-timeout):
* etc/NEWS:
* doc/lispref/display.texi (Displaying Messages): Minor
changes of wording of a recent commit.  (Bug#38457)
2019-12-22 21:02:48 +02:00
Michael Albinus
753389448d Extend tramp-tests.el for other host name syntax and file name syntax
* test/lisp/net/tramp-tests.el (inhibit-message)
(connection-local-criteria-alist)
(connection-local-profile-alist, async-shell-command-width): Declare.
(tramp-test01-file-name-syntax)
(tramp-test02-file-name-dissect): Set syntax to `default'.
(tramp-test03-file-name-defaults)
(tramp-test03-file-name-host-rules)
(tramp-test03-file-name-method-rules)
(tramp-test04-substitute-in-file-name)
(tramp-test05-expand-file-name)
(tramp-test06-directory-file-name, tramp-test44-auto-load):
Skip unless syntax is `default'.
(tramp-test06-directory-file-name, tramp-test10-write-region)
(tramp-test17-dired-with-wildcards)
(tramp-test26-file-name-completion): Handle IPv6 host names.
(tramp-test21-file-links): Support all syntaxes.
(tramp-test30-make-process, tramp-test45-unload):
Suppress compiler warnings.
(tramp-test37-make-auto-save-file-name): Skip for `separate' syntax.
2019-12-22 13:48:36 +01:00
Michael Albinus
481eff8dfd * lisp/net/trampver.el (inhibit-message): Declare. 2019-12-22 13:47:38 +01:00
Michael Albinus
7c79d17043 Add item to Frequently Asked Questions of Tramp manual
* doc/misc/tramp.texi (Frequently Asked Questions): Add item for
ControlMaster option on proxy hosts.  Explain changing syntax to
Ange FTP.
2019-12-22 13:47:29 +01:00
Alan Third
021ecbfce7 * lisp/term/ns-win.el (ns-insert-working-text): Comment is obsolete. 2019-12-22 12:06:15 +00:00
João Távora
2fa8fd18df Improve sorting of flex completion style with non-nil minibuffer-default
This affects the behaviour of flex completion when there is a default
completion and the user hasn't entered any input pattern to flex-match
against.  It is most visible when icomplete-mode or fido-mode are
being used in conjunctio.

When using M-x man, for instance, the default completion is picked
from text around point.  Say it is "emacs" (for Emacs's man page).  It
will not match the intended completion, "emacs(1)", exactly.  If the
user hasn't yet given any input to the completion prompt, that
completion should bubble to top so that
icomplete-force-complete-and-exit will select it, but it didn't.

This new approach uses 'string-prefix-p' instead of 'equal' to find
the default to bubble to the top.  This strategy could eventually be
improved, most naturally by flex-matching the default string to all
the candidates and picking the highest scoring one.

Additionally, the new strategy only considers minibuffer-default if
there is no input in the minibuffer, which seems sensible and produces
a small but noticeable speedup.

* lisp/minibuffer.el (completion--flex-adjust-metadata):
Reformulate sorting strategy.
2019-12-22 12:52:32 +01:00
Masahiro Nakamura
ba042176d8 Fix display of working text on NS (Bug#23412, Bug#1453)
* lisp/term/ns-win.el (ns-insert-working-text):
(ns-delete-working-text): Change how working text is deleted to handle
changed order of operations.
* src/nsterm.m ([EmacsView insertText:]): Move deletion of working
text until after insertion of new text.

Copyright-paperwork-exempt: yes
2019-12-22 11:47:29 +00:00
Alan Third
bfc54230c5 Check if file is in iCloud drive (bug#38618)
* src/nsfns.m (ns_set_represented_filename): Check whether the file is
a `ubiquitous item', and if so don't display a proxy icon.
2019-12-22 11:47:28 +00:00
Juri Linkov
36abf68646 * lisp/tab-bar.el: Rename tab-bar-list to tab-switcher (bug#38624) 2019-12-22 01:10:56 +02:00
Juri Linkov
485b423e8f New variable set-message-function to show message at the end of the minibuffer
* doc/lispref/display.texi (Displaying Messages): Document
set-message-function and clear-message-function.

* lisp/minibuffer.el (minibuffer-message-clear-timeout): New defcustom.
(minibuffer-message-timer, minibuffer-message-overlay): New variables.
(set-minibuffer-message, clear-minibuffer-message): New functions.
(set-message-function, clear-message-function): Set variables to
set-minibuffer-message and clear-minibuffer-message respectively.

* src/keyboard.c (read_char): Call clear_message when
Vclear_message_function is a function.

* src/xdisp.c (set_message): Call Vset_message_function when it's a function.
(clear_message): Call Vclear_message_function when it's a function.
(syms_of_xdisp): New variables set-message-function and clear-message-function
(bug#38457).
2019-12-22 00:02:10 +02:00