]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoAdd query command removed in 4ff1f66b12
Philip Kaludercic [Tue, 6 Jul 2021 06:52:50 +0000 (08:52 +0200)]
Add query command removed in 4ff1f66b12

* rcirc.el (query): Readd accidentally removed command

3 years agoFix issues with argument parsing in rcirc-define-command
Philip Kaludercic [Tue, 6 Jul 2021 06:50:21 +0000 (08:50 +0200)]
Fix issues with argument parsing in rcirc-define-command

* rcirc.el (rcirc-define-command): Fix issues

3 years ago* rcirc.el (rcirc-define-command): Mention name of malformed command
Philip Kaludercic [Fri, 2 Jul 2021 18:11:08 +0000 (20:11 +0200)]
* rcirc.el (rcirc-define-command): Mention name of malformed command

Author:

3 years agoFix SASL joining channels after auth
Alex McGrath [Tue, 29 Jun 2021 12:04:33 +0000 (13:04 +0100)]
Fix SASL joining channels after auth

3 years agoSend CAP END after authentication has been successful
Alex McGrath [Tue, 29 Jun 2021 11:06:22 +0000 (12:06 +0100)]
Send CAP END after authentication has been successful

3 years agoFix SASL on rcirc-update
Alex McGrath [Mon, 28 Jun 2021 12:41:31 +0000 (13:41 +0100)]
Fix SASL on rcirc-update

3 years agoAdd SASL authentication to rcirc
Alex McGrath [Thu, 24 Jun 2021 16:45:08 +0000 (18:45 +0200)]
Add SASL authentication to rcirc

* lisp/net/rcirc.el (rcirc-handler-AUTHENTICATE): New function
(bug#48601).
(rcirc-authenticate):
(rcirc-connect): Support sasl.
(rcirc-get-server-password, rcirc-get-server-method): New functions.
(rcirc-authinfo): Document it.

3 years agoQuery encryption using yes-or-no-p
Philip Kaludercic [Mon, 21 Jun 2021 07:12:25 +0000 (09:12 +0200)]
Query encryption using yes-or-no-p

* rcirc.el (rcirc-prompt-for-encryption): Replace completing-read
  prompt with yes-or-no-p

3 years agoUse add-to-list instead of manually modifying minor-mode-alist
Philip Kaludercic [Sat, 19 Jun 2021 08:43:26 +0000 (10:43 +0200)]
Use add-to-list instead of manually modifying minor-mode-alist

3 years agoForce mode line update after modifying activity string
Philip Kaludercic [Wed, 16 Jun 2021 07:43:05 +0000 (09:43 +0200)]
Force mode line update after modifying activity string

* rcirc.el (rcirc-update-activity-string): Call force-mode-line-update

3 years agoFix edge case with single argument for rcirc-define-command
Philip Kaludercic [Tue, 15 Jun 2021 21:44:56 +0000 (23:44 +0200)]
Fix edge case with single argument for rcirc-define-command

* rcirc.el (rcirc-define-command): Update regular expression generator

3 years agoFix argument parser for rcirc-define-command with string input
Philip Kaludercic [Tue, 15 Jun 2021 21:12:02 +0000 (23:12 +0200)]
Fix argument parser for rcirc-define-command with string input

* rcirc.el (rcirc-define-command): Require at least one space between
arguments

3 years agoCheck if server buffer is live
Philip Kaludercic [Tue, 15 Jun 2021 16:16:58 +0000 (18:16 +0200)]
Check if server buffer is live

* rcirc.el (with-rcirc-server-buffer): Use live-buffer-p
(rcirc-buffer-nick): Use with-rcirc-server-buffer
(rcirc-switch-to-server-buffer): Use with-rcirc-server-buffer

3 years agoImprove message markup
Philip Kaludercic [Tue, 15 Jun 2021 07:37:17 +0000 (09:37 +0200)]
Improve message markup

* rcirc.el (rcirc-markup-text-functions): Add rcirc-color-attributes,
rcirc-remove-markup-codes
(rcirc-markup-attributes): Recognize strike-through and monospace,
don't remove control codes
(rcirc-color-attributes): Recognize mIRC color codes
(rcirc-remove-markup-codes): Add function
(rcirc-monospace-text): Add face

3 years agoFix construction of interactive specification in rcirc-define-command
Philip Kaludercic [Mon, 14 Jun 2021 16:02:24 +0000 (18:02 +0200)]
Fix construction of interactive specification in rcirc-define-command

* rcirc.el (rcirc-define-command): Ensure that only one argument is passed.

3 years agoRename set-rcirc-{encode,decode}-coding-system
Philip Kaludercic [Mon, 14 Jun 2021 11:25:57 +0000 (13:25 +0200)]
Rename set-rcirc-{encode,decode}-coding-system

* rcirc.el (set-rcirc-decode-coding-system): Deprecate command
(rcirc-set-decode-coding-system): New command
(set-rcirc-encode-coding-system): Deprecate command
(rcirc-set-encode-coding-system): New command

3 years agoPreserve order of completion during cycling
Philip Kaludercic [Mon, 14 Jun 2021 07:31:01 +0000 (09:31 +0200)]
Preserve order of completion during cycling

* rcirc.el (rcirc-completion-at-point): Specify cycle-sort-function

3 years agoAdd mouse properties to activity string
Philip Kaludercic [Sun, 13 Jun 2021 19:10:25 +0000 (21:10 +0200)]
Add mouse properties to activity string

* rcirc.el (rcirc-activity-string): Allow clicking on string

3 years agoUpdate activity string after switching to next active buffer
Philip Kaludercic [Sun, 13 Jun 2021 18:00:59 +0000 (20:00 +0200)]
Update activity string after switching to next active buffer

* rcirc.el (rcirc-next-active-buffer): Call rcirc-update-activity-string

3 years agoPreserve incoming order of messages with same timestamp
Philip Kaludercic [Thu, 10 Jun 2021 17:44:00 +0000 (19:44 +0200)]
Preserve incoming order of messages with same timestamp

* rcirc.el (rcirc-print): Emulate time-less-or-equal-p

3 years agoAllow hiding certain message types after reconnecting
Philip Kaludercic [Thu, 10 Jun 2021 15:38:44 +0000 (17:38 +0200)]
Allow hiding certain message types after reconnecting

* rcirc.el (rcirc-omit-after-reconnect): Add new user option
(rcirc-reconncting): Add new variable
(rcirc-print): Check if message should be omitted
(reconnect): Mark buffers as freshly reconnected

3 years agoUse defvar-local instead of setq-local where applicable
Philip Kaludercic [Thu, 10 Jun 2021 15:15:17 +0000 (17:15 +0200)]
Use defvar-local instead of setq-local where applicable

3 years agoAllow for optional arguments using rcirc-define-command
Philip Kaludercic [Thu, 10 Jun 2021 09:42:09 +0000 (11:42 +0200)]
Allow for optional arguments using rcirc-define-command

* rcirc.el (rcirc-define-command): Handle &optional arguments

3 years agoFix prompt doubling when reconnecting
Philip Kaludercic [Thu, 10 Jun 2021 09:40:19 +0000 (11:40 +0200)]
Fix prompt doubling when reconnecting

* rcirc.el (rcirc-connect): Check if rcirc-mode is already active
(rcirc-get-buffer-create): Check if rcirc-mode is already active

3 years agoAllow filtering how nicks are presented
Philip Kaludercic [Wed, 9 Jun 2021 22:22:36 +0000 (00:22 +0200)]
Allow filtering how nicks are presented

* rcirc.el (rcirc-nick-filter): Add new option
(rcirc-completion-at-point): Use rcirc-nick-filter
(rcirc-format-response-string): Use rcirc-nick-filter
(rcirc-sort-nicknames-join): Use rcirc-nick-filter

3 years agoImplement invite-notify capability
Philip Kaludercic [Wed, 9 Jun 2021 18:27:10 +0000 (20:27 +0200)]
Implement invite-notify capability

* rcirc.el (rcirc-implemented-capabilities): Add invite-notify
(rcirc-handler-INVITE): Handle invite notifications

3 years agoAdd TAGMSG handler
Philip Kaludercic [Wed, 9 Jun 2021 16:44:55 +0000 (18:44 +0200)]
Add TAGMSG handler

* rcirc.el (rcirc-handler-TAGMSG): Add new message handler

3 years agoImplement message-ids extension
Philip Kaludercic [Wed, 9 Jun 2021 15:58:52 +0000 (17:58 +0200)]
Implement message-ids extension

* rcirc.el (rcirc-implemented-capabilities): Add to list of
implemented extensions
(rcirc-print): Insert property denoting message ID

3 years agoImplement batch extension
Philip Kaludercic [Wed, 9 Jun 2021 15:57:21 +0000 (17:57 +0200)]
Implement batch extension

* rcirc.el (rcirc-implemented-capabilities): Add batch extension
(rcirc-supported-batch-types): Add new variable
(rcirc-batch-attributes): Add new variable
(rcirc-batched-messages): Add new variable
(rcirc-process-server-response-1): Handle messages with batch tag
(rcirc-handler-BATCH): Add batch dispatcher

3 years agoImplement server-time extension
Philip Kaludercic [Wed, 9 Jun 2021 15:55:55 +0000 (17:55 +0200)]
Implement server-time extension

* rcirc.el (rcirc-implemented-capabilities): Add new capability
(rcirc-print): Insert messages in the right position
(rcirc-log): Use right time value
(rcirc-markup-timestamp): Use right time value

3 years agoCreate framework for IRCv3 support
Philip Kaludercic [Wed, 9 Jun 2021 15:37:24 +0000 (17:37 +0200)]
Create framework for IRCv3 support

* rcirc.el (rcirc-implemented-capabilities): Add new variable
(rcirc-requested-capabilities): Add new variable
(rcirc-acked-capabilities): Add new variable
(rcirc-connect): Request capabilities from rcirc-implemented-capabilities
(rcirc-process-regexp): Extend rcirc-process-regexp with tag support
(rcirc-tag-regexp): Add new tokenizer for tags
(rcirc-message-tags): Add new variable
(rcirc-get-tag): Add new function
(rcirc-process-server-response-1): Parse message-tags
(rcirc-handler-CAP): Add new handler for capability requests

3 years agoReplace defun-rcirc-command with rcirc-define-command
Philip Kaludercic [Wed, 9 Jun 2021 16:16:47 +0000 (18:16 +0200)]
Replace defun-rcirc-command with rcirc-define-command

* rcirc.el (defun-rcirc-command): Remove old macro
(rcirc-define-command): Create new macro

3 years agoRemove custom rcirc-completion implementation
Philip Kaludercic [Wed, 9 Jun 2021 16:05:35 +0000 (18:05 +0200)]
Remove custom rcirc-completion implementation

* rcirc.el (rcirc-completion-at-point): Improve completion suggestions
(rcirc-completions): Remove variable
(rcirc-completion-start): Remove variable
(rcirc-complete): Remove function
(rcirc-mode-map): Bind TAB to completion-at-point
(rcirc-mode): Use cycling for completion

3 years agoRecognize quoted commands in rcirc-process-input-line
Philip Kaludercic [Wed, 9 Jun 2021 14:17:48 +0000 (16:17 +0200)]
Recognize quoted commands in rcirc-process-input-line

* rcirc.el (rcirc-process-input-line): Check for quoted commands
(rcirc-process-command): Don't check for quoted commands

3 years agoIntegrate formatting into rcirc-send-string
Philip Kaludercic [Wed, 9 Jun 2021 14:14:29 +0000 (16:14 +0200)]
Integrate formatting into rcirc-send-string

* rcirc.el (rcirc-connect): Use new syntax
(rcirc-send-string): Allow for more arguments
(rcirc-send-privmsg): Use new syntax
(rcirc-send-ctcp): Use new syntax
(rcirc-send-message): Use new syntax
(rcirc-clean-up-buffer): Use new syntax
(join): Use new syntax
(invite): Use new syntax
(part): Use new syntax
(quit): Use new syntax
(nick): Use new syntax
(names): Use new syntax
(topic): Use new syntax
(whois): Use new syntax
(mode): Use new syntax
(list): Use new syntax
(oper): Use new syntax
(kick): Use new syntax
(rcirc-handler-PING): Use new syntax
(rcirc-handler-ctcp-VERSION): Use new syntax
(rcirc-handler-ctcp-ACTION): Use new syntax
(rcirc-handler-ctcp-TIME): Use new syntax

3 years agoFix checkdoc complaints and related issues
Philip Kaludercic [Fri, 4 Jun 2021 12:14:35 +0000 (14:14 +0200)]
Fix checkdoc complaints and related issues

3 years agoUse auth-source for user-passwords
Philip Kaludercic [Wed, 9 Jun 2021 14:09:55 +0000 (16:09 +0200)]
Use auth-source for user-passwords

* (rcirc): Use auth-source is no password was specifed

3 years agoDefault to libera instead of freenode
Philip Kaludercic [Wed, 9 Jun 2021 14:08:36 +0000 (16:08 +0200)]
Default to libera instead of freenode

* rcirc.el (rcirc-server-alist): Update default value

3 years agoFix fill-column-indicator on TTY frames
Eli Zaretskii [Thu, 3 Jun 2021 14:45:12 +0000 (17:45 +0300)]
Fix fill-column-indicator on TTY frames

* src/xdisp.c (extend_face_to_end_of_line): Fix calculation of
fill-column-indicator on TTY frames.  Suggested by Jimmy Aguilar
Mena <spacibba@aol.com>.

3 years agoMore accurate highlighting of mis-spellings in Flyspell
Eli Zaretskii [Thu, 3 Jun 2021 12:57:14 +0000 (15:57 +0300)]
More accurate highlighting of mis-spellings in Flyspell

* lisp/textmodes/flyspell.el (flyspell-word): Highlight only the
misspelled word, not any extra characters after it.  (Bug#5575)

3 years agoMake the `i' command in Info-mode remove duplicate matches
Lars Ingebrigtsen [Thu, 3 Jun 2021 09:55:45 +0000 (11:55 +0200)]
Make the `i' command in Info-mode remove duplicate matches

* lisp/info.el (Info-index): Weed out duplicate matched
(bug#3692).

3 years agoFix up previous hideif change to avoid a compilation warning
Lars Ingebrigtsen [Thu, 3 Jun 2021 08:39:39 +0000 (10:39 +0200)]
Fix up previous hideif change to avoid a compilation warning

* lisp/progmodes/hideif.el
(hide-ifdef-expand-reinclusion-protection): Move to avoid a
compilation warning.

3 years agofringe-mode doc clarifications
Lars Ingebrigtsen [Thu, 3 Jun 2021 08:19:22 +0000 (10:19 +0200)]
fringe-mode doc clarifications

* lisp/fringe.el (fringe-mode):
(fringe-mode): Note that this variable and command have nothing to
do with modes (bug#6931).

3 years ago* lisp/progmodes/hideif.el: Fix initial version for new variables
Luke Lee [Thu, 3 Jun 2021 08:04:16 +0000 (16:04 +0800)]
* lisp/progmodes/hideif.el: Fix initial version for new variables

(hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook)
(hide-ifdef-evalulate-leave-hook): Fix initial version to 28.1.
(hide-ifdef-expand-reinclusion-protection): Obsolete since 28.1,
rename to `hide-ifdef-expand-reinclusion-guard' instead.

3 years agoFix problem with empty command histories in eshell and `erase'
Lars Ingebrigtsen [Thu, 3 Jun 2021 07:50:20 +0000 (09:50 +0200)]
Fix problem with empty command histories in eshell and `erase'

* lisp/eshell/em-hist.el (eshell-add-input-to-history): Protect
against an empty ring (bug#48770).

3 years ago; Fix last change.
Eli Zaretskii [Thu, 3 Jun 2021 07:49:09 +0000 (10:49 +0300)]
; Fix last change.

3 years ago* configure.ac: Clarify "smoke test" error message. (Bug#48804)
Eli Zaretskii [Thu, 3 Jun 2021 07:46:54 +0000 (10:46 +0300)]
* configure.ac: Clarify "smoke test" error message.  (Bug#48804)

3 years agoCross-reference the message/error control variables
Lars Ingebrigtsen [Thu, 3 Jun 2021 07:29:55 +0000 (09:29 +0200)]
Cross-reference the message/error control variables

* src/keyboard.c (syms_of_keyboard): Mention set-message-function
in the command-error-function doc string...

* src/xdisp.c (syms_of_xdisp): ... and vice versa (bug#13752).

3 years ago* configure.ac: Improve error messages about libgccjit.
Eli Zaretskii [Thu, 3 Jun 2021 06:55:00 +0000 (09:55 +0300)]
* configure.ac: Improve error messages about libgccjit.

3 years agoAllow opening buttonized URL with secondary browser in rcirc
Tassilo Horn [Wed, 2 Jun 2021 21:02:45 +0000 (23:02 +0200)]
Allow opening buttonized URL with secondary browser in rcirc

* lisp/net/browse-url.el (browse-url-button-open-url): Add autoload
cookie.
* lisp/net/rcirc.el (rcirc-markup-urls): Use
`browse-url-button-open-url' instead of just `browse-url' in order to
be able to use the secondary browser by giving a prefix arg.

3 years agoFix a typo in 'produce_glyphless_glyph'
Eli Zaretskii [Wed, 2 Jun 2021 13:14:14 +0000 (16:14 +0300)]
Fix a typo in 'produce_glyphless_glyph'

* src/xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
Remove workaround for lack of its initialization.  (Bug#8215)

3 years ago* lisp/progmodes/hideif.el: update for new C++ standards and extensions
Luke Lee [Wed, 2 Jun 2021 12:29:00 +0000 (20:29 +0800)]
* lisp/progmodes/hideif.el: update for new C++ standards and extensions

Matching gcc/clang behavior on stringification including keeping the same
number of white spaces.  C++11, C++14, C++17 and GCC literals extension are
supported.  Preprocessing time floating point operation supported but limited
to Emacs internal representation which is C data type "double".  Also support
some frequently used keywords like __LINE__, __TIME__, __DATE__ and so on.

(hif-clear-all-ifdef-defined, hif-show-all, hif-after-revert-function)
(hide-ifdef-define, hide-ifdefs, show-ifdefs): interactive behavior changes,
mainly to allow operation within the marked region.
(hif-eval, hif-__LINE__, hif-__FILE__, hif-__COUNTER__, hif-__cplusplus)
(hif-__DATE__, hif-__TIME__, hif-__STDC__, hif-__STDC_VERSION__)
(hif-__STDC_HOST__, hif-__FILE__, hif-full-match, hif-is-number, hif-is-float)
(hif-delete-char-in-string, hif-string-to-decfloat, hif-string-to-hexfloat)
(hif-strtok, hif-is-white, hif-backward-comment, hif-split-signed-token)
(hif-keep-single, hif-display-macro): new functions.
(hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook)
(hide-ifdef-evalulate-leave-hook, hide-ifdef-evaluator, hif-predefine-alist)
(hif-numtype-suffix-regexp, hif-bin-regexp, hif-hex-regexp, hif-oct-regexp)
(hif-dec-regexp, hif-decfloat-regexp, hif-hexfloat-regexp)
(hif-unicode-prefix-regexp, hif-verbose-define-count): new constants or
variables.
(hif-macroref-regexp, hif-token-alist, hif-token-regexp)
(hif-string-literal-regexp): modified constants for faster regexp processing.
(hide-ifdef-expand-reinclusion-guard): renamed from
`hide-ifdef-expand-reinclusion-protection' to match commonly used term.
(hif-lookup, hif-defined, hif-string-to-number, hif-tokenize, hif-nextoken)
(hif-if-valid-identifier-p, hif-define-operator, hif-expand-token-list)
(hif-parse-exp, hif-math, hif-factor, hif-get-argument-list, hif-stringify)
(hif-token-concat, hif-mathify, hif-comma, hif-token-stringification)
(hif-token-concatenation, hif-macro-supply-arguments, hif-evaluate-macro)
(hif-find-define, hif-add-new-defines, hide-ifdef-guts, hif-undefine-symbol)
(hide-ifdef-set-define-alist, hide-ifdef-use-define-alist): modified functions
for new internal data representation, mainly for stringification and white
space preservation.  Also better error handling to report source line number
and more informative error messages.

3 years agoFix ibuffer auto-shrinking windows
Lars Ingebrigtsen [Wed, 2 Jun 2021 08:54:37 +0000 (10:54 +0200)]
Fix ibuffer auto-shrinking windows

* lisp/ibuffer.el (ibuffer-shrink-to-fit): Don't shrink all
windows, just the ibuffer one (bug#7218).

3 years agoMove point in dired buffers when handling a list of files
Lars Ingebrigtsen [Wed, 2 Jun 2021 08:13:58 +0000 (10:13 +0200)]
Move point in dired buffers when handling a list of files

* lisp/dired-aux.el (dired-create-files): Advance point to the
current file (bug#8015).

3 years agoAdd new user option to Gnus to allow `#' to toggle
Alex Bochannek [Wed, 2 Jun 2021 05:41:25 +0000 (07:41 +0200)]
Add new user option to Gnus to allow `#' to toggle

* doc/misc/gnus.texi (Marking Groups, Setting Process Marks):
Mention the new variable.

* lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu.
(gnus-group-mark-group): Support the variable.
(gnus-group-mark-update): New command.
(gnus-group-unmark-group, gnus-group-mark-region): Pass in new
parameter.

* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu.
(gnus-summary-mark-as-processable): Use the variable.

* lisp/gnus/gnus-topic.el (gnus-topic-mark-topic):  (bug#48683).

* lisp/gnus/gnus-topic.el (gnus-topic-mark-topic): Use the variable.

* lisp/gnus/gnus.el (gnus-process-mark-toggle): New user option.

3 years ago; End recently added sentences with a period.
Basil L. Contovounesios [Tue, 1 Jun 2021 16:59:46 +0000 (17:59 +0100)]
; End recently added sentences with a period.

3 years ago; Bump isearch.el :version after recent change.
Basil L. Contovounesios [Tue, 1 Jun 2021 17:04:48 +0000 (18:04 +0100)]
; Bump isearch.el :version after recent change.

3 years agoImprove performance of NS port's display on macOS
Alan Third [Fri, 21 May 2021 12:33:56 +0000 (13:33 +0100)]
Improve performance of NS port's display on macOS

* src/nsterm.h: Update EmacsSurface definition.
* src/nsterm.m ([EmacsView focusOnDrawingBuffer]): Don't change the
CGContext's settings directly.
([EmacsView unfocusDrawingBuffer]): Don't release the context here.
(CACHE_MAX_SIZE): Add maximum cache size.
([EmacsView updateLayer]): Send a request for getContext, which will
copy the buffer and create the context if it doesn't already exist, to
the NS run loop.
([EmacsSurface initWithSize:ColorSpace:Scale:]): Add the scale factor
and if there's already a CGContext available, reuse it.
([EmacsSurface dealloc]): No longer need to release lastSurface
separately.
([EmacsSurface getContext]): Don't create more surfaces than we have
spaces for in the cache.
([EmacsSurface releaseContext]): If there's no context don't try to
release it and put currentSurface back on the cache instead of
lastSurface.
([EmacsSurface copyContentsTo:]): Don't try to copy if the source and
destination are actually the same surface.

3 years ago* Add `native-compile-target-directory' (bug#48743)
Andrea Corallo [Tue, 1 Jun 2021 15:17:42 +0000 (17:17 +0200)]
* Add `native-compile-target-directory' (bug#48743)

* lisp/emacs-lisp/comp.el (native-compile-target-directory): New
variable.
(comp-spill-lap-function): Make use of.

3 years agoRename batch-byte-native-compile-for-bootstrap (bug#48743)
Andrea Corallo [Tue, 1 Jun 2021 15:10:10 +0000 (17:10 +0200)]
Rename batch-byte-native-compile-for-bootstrap (bug#48743)

* lisp/Makefile.in : Rename `batch-byte-native-compile-for-bootstrap'
-> `batch-byte+native-compile.
* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
(byte-compile-file): Rename
`batch-byte-native-compile-for-bootstrap' ->
`batch-byte+native-compile + `byte-native-for-bootstrap' ->
`byte+native-compile'.
* lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final)
(batch-native-compile, batch-byte+native-compile): Likewise.
* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
(byte-compile-file): Likewise.
* test/src/comp-tests.el (comp-tests-bootstrap): Rename
`byte-native-for-bootstrap' -> `byte+native-compile'.

3 years agoRemove unnecessary function declaration in isearch
Glenn Morris [Tue, 1 Jun 2021 15:52:47 +0000 (08:52 -0700)]
Remove unnecessary function declaration in isearch

* lisp/isearch.el (multi-isearch-switch-buffer):
Remove unnecessary declaration (after ldefs-boot update).

3 years agoAvoid hang in nnimap-keepalive
Andreas Schwab [Tue, 1 Jun 2021 13:46:34 +0000 (15:46 +0200)]
Avoid hang in nnimap-keepalive

* lisp/gnus/nnimap.el (nnimap-keepalive): Make interruptable.

3 years ago; Auto-commit of loaddefs files.
Glenn Morris [Tue, 1 Jun 2021 13:29:13 +0000 (06:29 -0700)]
; Auto-commit of loaddefs files.

3 years ago* lisp/gnus/gnus-art.el: Don't sneak dynbound code via quoting
Stefan Monnier [Tue, 1 Jun 2021 13:14:53 +0000 (09:14 -0400)]
* lisp/gnus/gnus-art.el: Don't sneak dynbound code via quoting

Make sure we don't accidentally quote lambdas by embedding them within
quoted data.

(gnus-visible-headers, gnus-emphasis-alist)
(gnus-mime-display-alternative, gnus-article-describe-bindings):
Unquote lambdas.

3 years agoAdd annotation capability to icomplete-vertical-mode
João Távora [Tue, 25 May 2021 21:40:40 +0000 (22:40 +0100)]
Add annotation capability to icomplete-vertical-mode

Co-authored-by Daniel Mendler <mail@daniel-mendler.de>

* lisp/icomplete.el (icomplete--affixate): New helper.
(icomplete--render-vertical): Use it. Rework.
(icomplete-completions): Pass md to icomplete--render-vertical.

3 years agoImprove icomplete-vertical-mode and fido-vertical-mode
João Távora [Sun, 30 May 2021 15:26:02 +0000 (16:26 +0100)]
Improve icomplete-vertical-mode and fido-vertical-mode

This mode is intended to be used with Icomplete ('M-x icomplete-mode')
or Fido ('M-x fido-mode'), to display the list of completions
candidates vertically instead of horizontally.  When used with
Icomplete, completions are rotated and selection kept at the top.
When used with Fido, completions scroll like a typical dropdown
widget.

If the dropdown behaviour is desired for Icomplete (instead of
rotation), icomplete-scroll can be adjusted separately by the user.

* etc/NEWS (icomplete-vertical-mode): Reword.

* lisp/icomplete.el (simple): Require it.
(icomplete-selected-match): New face.
(icomplete-scroll): New user-visible var.
(icomplete-forward-completions): Rework.
(icomplete-backward-completions): Rework.
(icomplete--fido-mode-setup): Prefer icomplete-scroll according to
icomplete-vertical mode.
(icomplete-minibuffer-setup): Initialize icomplete--scrolled-completions.
(fido-vertical-mode): An alias for icomplete-vertical-mode.
(icomplete-exhibit): Init icomplete--scrolled-past.  Adjust overlay.
(icomplete--render-vertical): New helper.
(icomplete--sorted-completions): If cache is stale, also
invalidate icomplete--scrolled-past.
(icomplete-completions): Rework.  Mostly reformat.

* lisp/simple.el (max-mini-window-lines): New helper.
(display-message-or-buffer): Use it.

3 years agoAllow packages to change the hl-line overlay priority
Lars Ingebrigtsen [Tue, 1 Jun 2021 08:29:33 +0000 (10:29 +0200)]
Allow packages to change the hl-line overlay priority

* lisp/hl-line.el (hl-line-overlay-priority): New variable
(bug#11509).
(hl-line-make-overlay): Use it.

3 years agoFix problem with `format-alist' marking all the text in the buffer
Lars Ingebrigtsen [Tue, 1 Jun 2021 08:22:57 +0000 (10:22 +0200)]
Fix problem with `format-alist' marking all the text in the buffer

* lisp/format.el (format-decode-run-method): Use it to avoid
marking the entire buffer (bug#11691).

* lisp/simple.el (shell-command-on-region): Allow replacing text
without activating the mark.

3 years agoDocument `with-selected-frame'
Lars Ingebrigtsen [Tue, 1 Jun 2021 07:41:40 +0000 (09:41 +0200)]
Document `with-selected-frame'

* doc/lispref/windows.texi (Selecting Windows): Document
`with-selected-frame' (bug#12075).

3 years agoObsolete `global-whitespace-newline-mode'
Lars Ingebrigtsen [Tue, 1 Jun 2021 07:15:13 +0000 (09:15 +0200)]
Obsolete `global-whitespace-newline-mode'

* lisp/whitespace.el (global-whitespace-newline-mode): Make
obsolete since it doesn't work correctly, and seems superfluous
(bug#12496).

3 years agoAdd a new command `mailcap-view-file'
Lars Ingebrigtsen [Tue, 1 Jun 2021 06:55:06 +0000 (08:55 +0200)]
Add a new command `mailcap-view-file'

* doc/misc/emacs-mime.texi (mailcap): Document it (bug#12972).

* lisp/net/mailcap.el (mailcap-view-file): New command.

3 years agoFix documentation of literal `face' syntax in font-lock section
Lars Ingebrigtsen [Tue, 1 Jun 2021 05:57:09 +0000 (07:57 +0200)]
Fix documentation of literal `face' syntax in font-lock section

* doc/lispref/modes.texi (Search-based Fontification): Fix
the literal `(0 (face ...))' syntax documentation (bug#13917).

3 years agoImprove random selection of keyservers
Philip Kaludercic [Tue, 1 Jun 2021 05:49:10 +0000 (07:49 +0200)]
Improve random selection of keyservers

* epa-ks.el (epa-keyserver): Interpret a list as a pool.
(epa-ks--query-url): Add new auxiliary function.
(epa-ks--fetch-key): Use epa-ks--query-url.
(epa-search-keys): Use epa-ks--query-url.

3 years ago* lisp/isearch.el (lazy-highlight-buffer-max-at-a-time): Change from 20 to 200
Juri Linkov [Mon, 31 May 2021 20:32:50 +0000 (23:32 +0300)]
* lisp/isearch.el (lazy-highlight-buffer-max-at-a-time): Change from 20 to 200

Suggested by Augusto Stoffel <arstoffel@gmail.com> in bug#48581

3 years ago* Make *Async-native-compile-log* buffer read-only (bug#48763)
Andrea Corallo [Mon, 31 May 2021 18:35:43 +0000 (20:35 +0200)]
* Make *Async-native-compile-log* buffer read-only (bug#48763)

* lisp/emacs-lisp/comp.el (comp-run-async-workers): Make
"*Async-native-compile-log*" read-only.

3 years agoMake frames record when their selected window was the mini-window
Alan Mackenzie [Mon, 31 May 2021 16:24:11 +0000 (16:24 +0000)]
Make frames record when their selected window was the mini-window

When a frame in this state is selected again by Fselect_frame (but not by
Fselect_window), the mini-window rather than the frame's currently selected
window, is chosen for selection, should there still be an active minibuffer in
it.

This fixes bug #48674.

* src/frame.h (struct frame): Add new boolean field select_mini_window_flag.

* src/frame.c (make_frame): Initialize select_mini_window_flag to false.
(do_switch_frame): Set the new flag appropriately for the old frame, and
process the new frame's setting of this flag, before setting it to false.

* src/window.c (select_window): Set f->select_mini_window_flag to false.
(Fset_frame_selected_window, Fdelete_other_windows_internal)
(Fdelete_window_internal): Add comments clarifying that there is no clearing
of f->select_mini_window_flag in these functions.

3 years ago* src/keyboard.c (make_lispy_event): Fix previous.
Glenn Morris [Mon, 31 May 2021 15:40:26 +0000 (08:40 -0700)]
* src/keyboard.c (make_lispy_event): Fix previous.

3 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 31 May 2021 14:50:34 +0000 (07:50 -0700)]
Merge from origin/emacs-27

5dfa5e26dd (origin/emacs-27) Improve documentation of regexp ranges

3 years agoCorrect mouse handling when window origin changes between down and up events
Alan Mackenzie [Mon, 31 May 2021 10:33:10 +0000 (10:33 +0000)]
Correct mouse handling when window origin changes between down and up events

Do this by using frame relative positions rather than window relative ones,
which gave rise to spurious drag events when the origin of the window changed
between the mouse down and up events.  This fixes bug #48409.

* keyboard.c (frame_relative_event_pos): New static variable.
(make_lispy_event): Record frame relative position of down event.  When the up
event is in the same position, "move" this event into the window of the down
event when this window (typically a mini-window) is no longer under the mouse.
Call make_lispy_position a second time to generate this changed event.
(syms_of_keyboard): Declare Qwindow_edges.  static_pro
frame_relative_event_pos.

3 years agoRemove spurious @example from the elisp manual
Colin Woodbury [Mon, 31 May 2021 08:55:37 +0000 (10:55 +0200)]
Remove spurious @example from the elisp manual

* doc/lispref/macros.texi (Defining Macros): Remove spurious extra
pair of @example/@end example.

Copyright-paperwork-exempt: yes

3 years agoRemove messaging in ediff-make-diff2-buffer
Lars Ingebrigtsen [Mon, 31 May 2021 08:24:23 +0000 (10:24 +0200)]
Remove messaging in ediff-make-diff2-buffer

* lisp/vc/ediff-diff.el (ediff-make-diff2-buffer): Remove message
that's often misleading when diffing buffers (that may be unsaved)
(bug#13091).

3 years agoPut ELP results in a special-mode buffer
Lars Ingebrigtsen [Mon, 31 May 2021 06:17:00 +0000 (08:17 +0200)]
Put ELP results in a special-mode buffer

* lisp/emacs-lisp/elp.el (elp-results): Make `q' work in ELP
results buffer (bug#14104).
(elp-results-mode): Define as an empty special mode derivation.

3 years agoMake `menu-bar-select-buffer' obsolete
Lars Ingebrigtsen [Mon, 31 May 2021 05:29:51 +0000 (07:29 +0200)]
Make `menu-bar-select-buffer' obsolete

* lisp/menu-bar.el (menu-bar-select-buffer): Make obsolete (bug#15651).

* lisp/msb.el (msb--select-buffer): Move function here and rename.
(msb--make-keymap-menu): Use it.

3 years agoRevert "Move menu-bar-select-buffer to msb.el"
Lars Ingebrigtsen [Mon, 31 May 2021 05:25:25 +0000 (07:25 +0200)]
Revert "Move menu-bar-select-buffer to msb.el"

This reverts commit 253e52478c355dc29052c0d21013b8d06b473880.

This is to be fixed in a different way in the next patch.

3 years agoUse buffer-local-boundp in describe-variable
Lars Ingebrigtsen [Mon, 31 May 2021 05:22:12 +0000 (07:22 +0200)]
Use buffer-local-boundp in describe-variable

* lisp/help-fns.el (describe-variable): Use `buffer-local-boundp'.

3 years agoAdd new convenience function `buffer-local-boundp'
Lars Ingebrigtsen [Mon, 31 May 2021 05:21:09 +0000 (07:21 +0200)]
Add new convenience function `buffer-local-boundp'

* doc/lispref/variables.texi (Creating Buffer-Local): Document it.
* lisp/subr.el (buffer-local-boundp): New function.

* src/data.c (Flocal_variable_p): Mention it.

3 years agoSpeed up `describe-variable' completion predicate
Daniel Mendler [Mon, 31 May 2021 04:49:37 +0000 (06:49 +0200)]
Speed up `describe-variable' completion predicate

* lisp/help-fns.el (describe-variable): Do not switch to the original
buffer in the predicate (bug#48738).

3 years agoFix error in xdg-mime-apps-files when XDG_CURRENT_DESKTOP is defined
Lars Ingebrigtsen [Mon, 31 May 2021 04:36:23 +0000 (06:36 +0200)]
Fix error in xdg-mime-apps-files when XDG_CURRENT_DESKTOP is defined

* lisp/xdg.el (xdg-mime-apps-files): Don't bug out when
XDG_CURRENT_DESKTOP is bound (bug#48748).

3 years agoDocument that the 'syntax-propertize-function' may move point.
Philipp Stephani [Sun, 30 May 2021 20:39:54 +0000 (22:39 +0200)]
Document that the 'syntax-propertize-function' may move point.

The functions generated by 'syntax-propertize-rules' don't use
'save-excursion', but 'syntax-propertize' does, so we might as well
document that the 'syntax-propertize-function' may move point.

* doc/lispref/syntax.texi (Syntax Properties): Document that the
'syntax-propertize-function' may move point.

3 years agoGive 'syntax-propertize-wholelines' a docstring.
Philipp Stephani [Sun, 30 May 2021 20:38:48 +0000 (22:38 +0200)]
Give 'syntax-propertize-wholelines' a docstring.

This function is generally useful.

* lisp/emacs-lisp/syntax.el (syntax-propertize-wholelines): Add
docstring.

3 years agotime-stamp: fix minor bug when parsing option combos
Stephen Gildea [Sun, 30 May 2021 18:05:42 +0000 (11:05 -0700)]
time-stamp: fix minor bug when parsing option combos

* lisp/time-stamp.el (time-stamp-string-preprocess): Handle digit
options correctly to avoid overcounting colon options.

* test/lisp/time-stamp-tests.el (time-stamp-format-time-zone-offset):
Add a new test case that would have caught the option-parsing error.

3 years agotime-stamp: refactor time-stamp-string-preprocess
Stephen Gildea [Sun, 30 May 2021 16:08:08 +0000 (09:08 -0700)]
time-stamp: refactor time-stamp-string-preprocess

* lisp/time-stamp.el (time-stamp-string-preprocess):  Reduce lifetime of
some loop-local variables to be less error-prone.

3 years agoDo not reset settings when disabling a theme
Mauro Aranda [Sun, 30 May 2021 12:35:13 +0000 (09:35 -0300)]
Do not reset settings when disabling a theme

* lisp/custom.el (disable-theme): Don't call custom-push-theme, since
that resets the theme settings and it isn't useful: we only need to
remove the theme setting from the themed variable or face.  This fixes
a regression when "toggling" themes, introduced while fixing Bug#34027.
(Bug#48736)

3 years agoImprove documentation of regexp ranges
Eli Zaretskii [Sun, 30 May 2021 10:20:02 +0000 (13:20 +0300)]
Improve documentation of regexp ranges

* doc/lispref/searching.texi (Regexp Special): Document the effect
of using octal escapes in regexp ranges.  (Bug#17758)

3 years agoDon't account for character compositions in 'format' and friends
Eli Zaretskii [Sun, 30 May 2021 08:16:59 +0000 (11:16 +0300)]
Don't account for character compositions in 'format' and friends

'lisp_string_width' is called from 'format' and 'format-message',
which can be called both very early into Emacs initialization and in
other contexts where using the font backend is impossible or
undesirable.  So this commit changes 'lisp_string_width' to try
accounting for automatic compositions only when explicitly requested,
and only 'string-width' does that; 'format' and 'format-message'
don't.
* src/character.c (lisp_string_width): Accept an additional
argument AUTO_COMP; attempt accounting for auto-compositions only
if that argument is non-zero.  (Bug#48732)
* src/editfns.c (styled_format):
* src/character.c (Fstring_width): Callers of 'lisp_string_width'
adjusted.

3 years agoClarify that `symbol-file' only works for symbols in Lisp files
Lars Ingebrigtsen [Sun, 30 May 2021 06:25:18 +0000 (08:25 +0200)]
Clarify that `symbol-file' only works for symbols in Lisp files

* lisp/subr.el (symbol-file): Mention help-C-file-name in the doc
string (bug#14932).

3 years agoAllow help-C-file-name to work on symbols designating subrs
Lars Ingebrigtsen [Sun, 30 May 2021 06:25:06 +0000 (08:25 +0200)]
Allow help-C-file-name to work on symbols designating subrs

* lisp/help-fns.el (help-C-file-name): Allow working on symbols
designating subrs (bug#14932).

3 years agoFix kmacro-view-ring-2nd doc string
Lars Ingebrigtsen [Sun, 30 May 2021 06:10:15 +0000 (08:10 +0200)]
Fix kmacro-view-ring-2nd doc string

* lisp/kmacro.el (kmacro-view-ring-2nd): Fix doc string (bug#15020).

3 years agoMove menu-bar-select-buffer to msb.el
Lars Ingebrigtsen [Sun, 30 May 2021 05:49:17 +0000 (07:49 +0200)]
Move menu-bar-select-buffer to msb.el

* lisp/menu-bar.el (menu-bar-select-buffer): Move from
here... (bug#15651).
* lisp/msb.el (menu-bar-select-buffer): ... to here (which is the
only usage in-tree in Emacs).

3 years agotime-stamp: improve unit-test coverage
Stephen Gildea [Sun, 30 May 2021 05:54:30 +0000 (22:54 -0700)]
time-stamp: improve unit-test coverage

* test/lisp/time-stamp-tests.el (time-stamp-format-year-4digit,
time-stamp-format-ignored-modifiers): Improve coverage with more cases.
(time-stamp-format-multiple-conversions): New test.