1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-11 09:21:23 -07:00
Commit graph

155589 commits

Author SHA1 Message Date
Leon Vack
42e72f4ade Support using auth-source for NickServ passwords in ERC
* lisp/etc/erc-services.el (erc-nickserv-passwords): Document that
the passwords are only used when erc-prompt-for-nickserv-password
is nil.
* (erc-use-auth-source-for-nickserv-password): New customizable
variable to enable checking auth-source for NickServ passwords.
* (etc-nickserv-get-password): New function to handle the lookup
of the NickServ password from both auth-source and the
erc-nickserv-passwords variable.
* (erc-nickserv-call-identify-function): Use new
erc-nickserv-get-password function to lookup NickServ passwords.
* (erc-nickserv-identify-autodetect, erc-nickserv-identify-on-connect,
erc-nickserv-identify-on-nick-change): Call
erc-nickserv-call-identify-function when
erc-use-auth-source-for-nickserv-password is set.
* etc/NEWS: Document change (bug#45340).
2021-01-11 15:51:14 +01:00
Alexandre Duret-Lutz
6129ebf449 Fix problem with non-ASCII characters in nnmaildir
* lisp/gnus/nnmaildir.el (nnmaildir-request-article): Enable
multipart 8bit-content-transfer-encoded files to be displayed
correctly by reading as `raw-text' instead of having Emacs
(incorrectly) decode the files (bug#44307).

Copyright-paperwork-exempt: yes
2021-01-11 15:27:54 +01:00
Pedro Andres Aranda Gutierrez
e694f61fc6 Add `flat-button' to custom-face-attributes
* lisp/cus-face.el (custom-face-attributes): Add `flat-button'
(bug#45769).
2021-01-11 15:07:01 +01:00
Robert Pluim
ef55cc07ba * configure.ac: Alphabetize emacs_config_features 2021-01-11 13:20:04 +01:00
Robert Pluim
62e3750af3 Ensure HAVE_GMP is reflected in emacs_config_features
* configure.ac: Move HAVE_GMP setting before emacs_config_features
setting (Bug#45771).
2021-01-11 13:11:51 +01:00
Yuuki Harano
7326982d28 Fix visual-bell on X
* src/pgtkterm.c (pgtk_flash): Change size source.

On X, surface_orig is not an image surface but xlib surface, so I
cannot get its size with cairo_image_surface_get_{width,height}.
2021-01-11 19:56:32 +09:00
Yuuki Harano
cd72fba043 Free unneeded context
* src/pgtkterm.c (pgtk_flash): Free unneeded cairo_t.
2021-01-11 19:55:40 +09:00
Dmitry Gutov
17bd039539 New command xref-quit-and-pop-marker-stack
* lisp/progmodes/xref.el (xref-quit-and-pop-marker-stack):
New command.
(xref--xref-buffer-mode-map): Binding for it.
2021-01-11 00:45:21 +02:00
Phillip Lord
fb32f92879 Allow evaluation of tests from local source repository
* etc/w32-feature.el (w32-feature-load-tests): Add new command
2021-01-10 21:51:58 +00:00
Philipp Stephani
45abd52f3c Fix build breakage if Lisp_Object is not a primitive type.
* src/minibuf.c (choose_minibuf_frame): Don't compare Lisp_Objects
with '!='.  Use 'EQ' instead.
2021-01-10 22:35:02 +01:00
Philipp Stephani
94344d130c Add functions to open a file without quitting.
In some situations, e.g. when the Lisp machinery isn't available, we
can't quit.  Don't check the quit flags in such situations, in case
they contain garbage.

* src/sysdep.c (emacs_open_noquit, emacs_openat_noquit): New variants
of 'emacs_open' and 'emacs_openat' that don't check the quit flags.

* src/emacs.c (main, Fdaemon_initialized):
* src/pdumper.c (pdumper_load):
* src/w32term.c (w32_initialize):
* src/buffer.c (mmap_init):
* src/callproc.c (emacs_spawn): Use them where we can't quit.
2021-01-10 22:31:22 +01:00
Alan Mackenzie
c7c154bb57 Fix incompleteness in the implementation of minibuffer-follows-selected-frame
In particular, add a new value to the variable, and fix several bugs apparent
with the implementation up till now.

* doc/emacs/mini.texi (Basic Minibuffer): Add a description of the new
non-nil, non-t value of minibuffer-follows-selected-frame.

* doc/emacs/trouble.texi (Quitting): Add a description of how C-g handles
recursive minibuffers when typed in one which isn't the most nested.

* doc/lispref/minibuf.texi (Intro to Minibuffers): Add an @dfn for "active
minibuffer".
(Minibuffer Commands): Document that exit-minibuffer throws an error when not
invoked from the innermost Minibuffer.
(Recursive Mini): Amend the description of the visibility of outer level
minibuffers.
(Minibuffer Misc): In the description of the minibuffer hooks, replace "the
minibuffer" with "a minibuffer".

* etc/NEWS (Entry announcing minibuffer-follows-selected-frame): Add a
description of the new non-nil, non-t value.

* lisp/cus-start.el (top level): make the customize entry for
minibuffer-follows-selected-frame a choice between three entries.

* lisp/minibuffer.el (exit-minibuffer): throw an error when we're not in the
most nested minibuffer.
(top level): Bind C-g to abort-minibuffers in minibuffer-local-map.

* lisp/window.el (window-deletable-p): return the symbol `frame' when (amongst
other things) minibuffer-follows-selected-frame is t.

* src/eval.c (internal_catch): Add a mechanism to (throw 'exit t) repeatedly
when the throw currently being processed doesn't terminate the current
minibuffer.

* src/lisp.h (this_minibuffer_depth): New extern declaration
(minibuf_level): extern declaration moved here from window.h.

* src/minibuf.c (minibuffer_follows_frame, minibuf_stays_put)
(minibuf_moves_frame_when_opened): New and amended functions to query the
value of minibuffer-follows-selected-frame.
(choose_minibuf_frame): check (minibuf > 1) in place of (minibufer > 0) at a
particular place.  At another place, check that an alleged frame is so and is
live.  Before selecting a non-miniwindow on a different frame, ensure it
really is a different frame.
(move_minibuffer_onto_frame): Stack up all recursive minibuffers on the target
frame.  Check the minibuf_window isn't in the old frame before setting that
frame's miniwindow to an inactive minibuffer.
(Finnermost_minibuffer_p, Fabort_minibuffers): New primitives.
(this_minibuffer_depth): New function.
(read_minibuf): Record the calling frame in a variable, and switch back to it
after the recursive edit has terminated normally, using
select-frame-set-input-focus.  Stack up all the recursive minibuffers on the
miniwindow where a new minibuffer is being opened.  After the recursive edit,
switch the selected window away from the expired minibuffer's window.
(nth_minibuffer): New function.
(minibuffer-follows-selected-frame): Change from a DEFVAR_BOOL to a
DEFVAR_LISP.

* src/window.c (decode_next_window_args): Set *minibuf to w's mini-window's
content when that content is a minibuffer.

* src/window.h (minibuf_level) Declaration moved from here to lisp.h.
2021-01-10 20:32:40 +00:00
Lars Ingebrigtsen
a583c72305 Respect message-forward-ignored-headers more
* lisp/gnus/message.el (message-forward-ignored-headers): Clarify
doc string once again.
(message-forward-make-body-mime): Remove headers when not
encrypted (bug#45631).
(message-forward-make-body): Pass in correct values.
2021-01-10 16:16:42 +01:00
Glenn Morris
fa686f0998 Default python-shell-interpreter to python3
* lisp/progmodes/python.el (python-shell-interpreter): Default to
python3 (bug#45655).
2021-01-10 15:48:57 +01:00
David Edmondson
6858b74763 Fix example in the Gnus manual
* doc/misc/gnus.texi (Score Variables): In the example showing how to
use a list of functions for gnus-score-find-score-files-find-function,
return a list of strings from the lambda rather than trying to call
the string as a function (bug#45673).
2021-01-10 15:45:07 +01:00
Lars Ingebrigtsen
9717ba9309 Specify precedence in .authinfo files
* doc/misc/auth.texi (Help for users): Mention placing more
specific entries first (bug#45711).
2021-01-10 15:32:57 +01:00
Lars Ingebrigtsen
e186af261a Improve fill-region-as-paragraph when there's a fill prefix
* lisp/textmodes/fill.el (fill-region-as-paragraph): Try to
improve how line breaks are set on unbreakable text with a fill
prefix area that has spaces within (bug#45720).
2021-01-10 15:04:48 +01:00
k3tu0isui
918a5eae17 Make font locking work in mercury-mode
* lisp/progmodes/prolog.el (prolog-font-lock-keywords): Work in
all modes derived from prolog-mode (bug#45747).
(mercury-mode): Set up variables based on the Prolog system (bug#45747).

Copyright-paperwork-exempt: yes
2021-01-10 15:04:48 +01:00
Basil L. Contovounesios
25dadca0d1
Hyperlink symbol names without word syntax in Help
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
(lisp-cl-font-lock-keywords-2): Allow single-character symbol names.
* lisp/help-mode.el (help-xref-symbol-regexp): Also match symbol
names starting with symbol syntax (bug#6601, bug#24309).
* test/lisp/help-mode-tests.el (help-mode-tests-xref-button): Test
hyperlink creation for function names without symbol syntax.
2021-01-10 13:37:38 +00:00
Omar Polo
4c55eeee39 Add support for 'process-attributes' on OpenBSD
* src/sysdep.c (make_lisp_timeval):
(system_process_attributes): Implement for OpenBSD (bug#45729).
2021-01-10 14:25:30 +01:00
Basil L. Contovounesios
5960e9cf57
; * lisp/custom.el (defcustom): Fix last change. 2021-01-10 13:20:51 +00:00
Pedro Andres Aranda Gutierrez
13bd909591 Add support for flat buttons
* src/xfaces.c (Finternal_set_lisp_face_attribute):
(realize_gui_face): Add support for `flat-button' (bug#45735).

Copyright-paperwork-exempt: yes
2021-01-10 14:10:18 +01:00
Daniel Martín
e62f71988f Minor shortdoc link improvements
* lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Use
describe-function as a fallback link when a function is not documented
in any Info manual.  Also make the link respond to mouse-1, like the
rest of *Help* links, and add a proper help-echo property.
* lisp/help-fns.el (help-fns--mention-shortdoc-groups): Same link
improvement as described before, this time for the shortdoc groups
(bug#45750).
2021-01-10 13:45:44 +01:00
Lars Ingebrigtsen
14a1a84a33 Add a link to the manual from the defcustom doc string
* lisp/custom.el (defcustom): Add a link to the manual for the
:type element.
2021-01-10 13:43:12 +01:00
Lars Ingebrigtsen
b84b689746 Revert recent mm-with-part change
* lisp/gnus/mm-decode.el (mm-with-part): Revert
23a887e426 -- this is the wrong
place to handle this peculiarity.
2021-01-10 13:30:31 +01:00
Michael Albinus
2c03bdc887 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2021-01-10 13:27:10 +01:00
Michael Albinus
aa6ee3302f Rework parts of Tramp's insert-directory, bug#45691
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Fix some
unibyte/multibyte inconsistencies.  (Bug#45691)

* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory-one-file):
New test.
2021-01-10 13:26:29 +01:00
Lars Ingebrigtsen
4ad8fc61e7 Add more mm-decode tests 2021-01-10 13:21:06 +01:00
Stefan Kangas
ac9c4ca8c9 * lisp/subr.el (global-map): Doc fix; add cross-reference. 2021-01-10 12:51:04 +01:00
F. Jason Park
09ee2d0095 Create new test file for socks.el
* test/lisp/net/socks-tests.el (socks-tests-auth-filter-url-http): Add
SOCKS5 authentication test and fake server (bug#45162).
2021-01-10 12:40:53 +01:00
Martin Rudalics
55bc1560ac Fix assertion failure in window_box_height (Bug#45737)
* lisp/window.el (window-sizable): Don't try to grow a mini window
when the root window's minimum height is already larger than its
actual height (Bug#45737).
2021-01-10 11:20:56 +01:00
Yuuki Harano
aac33a8074 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtk 2021-01-10 18:49:51 +09:00
Yuuki Harano
78fd106653 Fix gtk icon theme does not reflect
* lisp/term/pgtk-win.el (x-gtk-stock-map): Port from X.
(icon-map-list): Port from X.
(x-gtk-stock-cache): Port from X.
(x-gtk-map-stock): Port from X.
* src/pgtkterm.c (syms_of_pgtkterm): Remove duplicated definition.
2021-01-10 18:41:07 +09:00
Philipp Stephani
690cf6b8d8 Increase probability that a process test succeeds.
* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-process): Work around
potential Emacs bug.
2021-01-10 10:14:27 +01:00
Philipp Stephani
302e6d4623 Remove a pointless check for WCOREDUMPED.
WCOREDUMPED can only be used if the process was killed.

* src/process.c (status_convert): Don't check WCOREDUMPED if
WIFEXITED.
2021-01-10 09:50:15 +01:00
Tassilo Horn
7a89b4b5d3 Support keyval style beamer frame labels
* lisp/textmodes/reftex-vars.el (reftex-label-regexps): Support keyval
style beamer frame labels.
2021-01-10 09:40:07 +01:00
Eric Abrahamsen
9b57ecfabe Remove reference to gnus-bug-create-help-buffer
* lisp/gnus/gnus-win.el (gnus-buffer-configuration): Variable no
longer exists.
2021-01-09 20:44:54 -08:00
Philipp Stephani
4cebd2ded0 Don't unblock SIGCHLD too early.
We first need to register the received process ID so that
'handle_child_signal' checks it.  Otherwise we might never call
'waitpid' for these processes, risking deadlock.

* src/callproc.c (call_process):
* src/process.c (create_process): Don't unblock SIGCHLD before
registering the process ID to wait for.

* src/callproc.c (emacs_spawn): Accept a signal set from the caller.
2021-01-09 21:26:52 +01:00
João Távora
ace749f2e3 Count Flymake diagnostics in modeline by severity, not type
Originally reported in https://github.com/joaotavora/eglot/issues/588
by Pankaj Jangid.

* lisp/progmodes/flymake.el (flymake--mode-line-counter): Count
diagnostics by severity level, not by type.
(Version): Bump to 1.1.1
2021-01-09 18:50:19 +00:00
Stefan Monnier
981d5eaba8 * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Fix build of gnus-agent.el
Don't burp on "naked" variable let bindings.
2021-01-09 11:35:53 -05:00
Andrea Corallo
42ff68ec2f Improve `comp-libgccjit-reproducer'
* src/comp.c (Fcomp__compile_ctxt_to_file): Better libgccjit
	reproducer file name.
	* lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): Doc update.
	(comp-final, comp-run-async-workers): Pass
	`comp-libgccjit-reproducer' setting to child workers.
2021-01-09 14:05:15 +01:00
Eli Zaretskii
fe7263803c Fix cl-concatenate use in macros
* lisp/emacs-lisp/cl-macs.el (inline): Remove cl-concatenate.
(Bug#45610)
2021-01-09 14:12:14 +02:00
Eli Zaretskii
27743e9e70 Fix cl-concatenate inlining
* lisp/emacs-lisp/seq.el (seq-concatenate): Auto-load it.  Do not
merge to master.  (Bug#45610)
2021-01-09 14:07:13 +02:00
Andrea Corallo
325c0765df Add new customize `comp-libgccjit-reproducer'
* lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): New customize.
	* src/comp.c (Fcomp__compile_ctxt_to_file): Use
	`comp-libgccjit-reproducer' for dumping repoducer.
	(syms_of_comp): Define 'Qcomp_libgccjit_reproducer'.
2021-01-09 12:06:45 +01:00
Tak Kunihiro
32a3758c84 Fix infloop in 'pixel-scroll-mode'
* lisp/pixel-scroll.el (pixel-scroll-up, pixel-scroll-down): Avoid
inflooping when 'vertical-motion' doesn't move.  (Bug#45628)
2021-01-09 11:21:04 +02:00
Stefan Monnier
29c7f8c915 * lisp/emacs-lisp/cl-macs.el: Optimize self-calls in tail position
Implement a limited form of tail-call optimization for the special
case of recursive functions defined with `cl-labels`.  Only self-recursion
is optimized, no attempt is made to handle more complex cases such a mutual
recursion.

The main benefit is to reduce the use of the stack, tho in my limited
tests, this can also improve performance (about half of the way to
a hand-written `while` loop).

(cl--self-tco): New function.
(cl-labels): Use it.

* lisp/subr.el (letrec): Optimize single-binding corner case.

* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): Add tests
to check that TCO is working.
2021-01-08 19:59:31 -05:00
Dmitry Gutov
6e73e07a6f Make sure default-directory relates to the originating buffer
* lisp/progmodes/xref.el (xref--show-xref-buffer):
Pick up default-directory value from the caller
(https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00551.html).
(xref-show-definitions-buffer-at-bottom): Same.
2021-01-09 02:10:06 +02:00
Stefan Monnier
3b9dad88e0 * lisp/subr.el (letrec): Optimize some non-recursive bindings
* lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Look inside bytecode
objects as well.

* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
* test/lisp/subr-tests.el (subr--tests-letrec): New tests.
2021-01-08 18:44:13 -05:00
Stefan Monnier
9d3d6f8500 * lisp/emacs-lisp/cl-generic.el (cl--generic-lambda): Fix last change 2021-01-08 18:28:47 -05:00
Stefan Monnier
768a352793 * lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Rename from pcase--fgrep
* lisp/emacs-lisp/cl-generic.el (cl--generic-fgrep): Delete.
(cl--generic-lambda): Use `macroexp--pacse` instead.

* lisp/emacs-lisp/pcase.el (pcase--fgrep): Rename to `macroexp--fgrep`.
2021-01-08 17:57:26 -05:00