aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/erc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix define-erc-response-handler indentationLars Ingebrigtsen2021-10-241-1/+2
| | | | | * lisp/erc/erc-backend.el (define-erc-response-handler): Add proper indentation.
* * lisp/erc/erc-compat.el (format-spec): Remove redundant require.Stefan Kangas2021-10-181-2/+0
|
* Release ERC 5.4.1Amin Bandali2021-10-151-3/+4
| | | | | | | * doc/misc/erc.texi (ERCVER): Bump to 5.4.1. * etc/ERC-NEWS: Add entry for 5.4.1 with explanations. * lisp/erc/erc.el (Version, erc-version): Bump to 5.4.1. (customize-package-emacs-version-alist): Add entry for 5.4.1.
* Mark def* macros for indentationLars Ingebrigtsen2021-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/widget.el (define-widget-keywords): * lisp/vc/pcvs.el (defun-cvs-mode): * lisp/subr.el (defvar-local): (defvar-keymap): * lisp/skeleton.el (define-skeleton): * lisp/simple.el (define-alternatives): * lisp/progmodes/gud.el (gdb-script-mode): * lisp/progmodes/gdb-mi.el (def-gdb-preempt-display-buffer): (def-gdb-auto-update-trigger): (def-gdb-auto-update-handler): (def-gdb-trigger-and-handler): (def-gdb-thread-buffer-command): (def-gdb-thread-buffer-simple-command): (def-gdb-thread-buffer-gud-command): (def-gdb-set-positive-number): (def-gdb-memory-format): (def-gdb-memory-unit): (def-gdb-memory-show-page): * lisp/progmodes/compile.el (define-compilation-mode): * lisp/progmodes/cc-vars.el (defcustom-c-stylevar): * lisp/obsolete/cl.el (define-setf-expander): (defsetf): (define-modify-macro): * lisp/obsolete/cl-compat.el (defkeyword): * lisp/net/hmac-def.el (define-hmac-function): * lisp/international/mule-conf.el (define-iso-single-byte-charset): * lisp/international/ccl.el (define-ccl-program): * lisp/image.el (defimage): * lisp/gnus/gmm-utils.el (defun-gmm): * lisp/ezimage.el (defezimage): * lisp/erc/erc.el (define-erc-module): * lisp/emacs-lisp/shortdoc.el (define-short-documentation-group): * lisp/emacs-lisp/eieio.el (defclass): * lisp/emacs-lisp/eieio-compat.el (defgeneric): (defmethod): * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): (define-globalized-minor-mode): * lisp/emacs-lisp/derived.el (define-derived-mode): * lisp/emacs-lisp/byte-run.el (defsubst): (define-obsolete-function-alias): (define-obsolete-variable-alias): * lisp/custom.el (defcustom): (defface): (defgroup): (deftheme): * lisp/cedet/semantic/wisent.el (define-wisent-lexer): * lisp/cedet/semantic/lex.el (define-lex): (define-lex-analyzer): (define-lex-regex-analyzer): (define-lex-simple-regex-analyzer): (define-lex-block-analyzer): (define-lex-keyword-type-analyzer): (define-lex-sexp-type-analyzer): (define-lex-regex-type-analyzer): (define-lex-string-type-analyzer): (define-lex-block-type-analyzer): * lisp/cedet/semantic/lex-spp.el (define-lex-spp-macro-declaration-analyzer): (define-lex-spp-macro-undeclaration-analyzer): (define-lex-spp-include-analyzer): * lisp/cedet/semantic/dep.el (defcustom-mode-local-semantic-dependency-system-include-path): * lisp/cedet/semantic/decorate/mode.el (define-semantic-decoration-style): * lisp/cedet/mode-local.el (define-child-mode): (define-overloadable-function): (define-mode-local-override): * lisp/calc/calc.el (defcalcmodevar): (defmath): Explicitly mark all macros that have names that start with "def" that should indent defunly-like (bug#43329).
* * list/erc/erc-{replace,imenu,dcc}: Tweak copyright formatStefan Monnier2021-10-113-6/+3
| | | | | | * lisp/erc/erc-replace.el: * lisp/erc/erc-imenu.el: * lisp/erc/erc-dcc.el: Massage copyright so elpa-admin.el recognizes it
* Remove last XEmacs compat code from ERCStefan Kangas2021-10-122-4/+2
| | | | | | | * lisp/erc/erc-dcc.el (erc-dcc-member): Remove XEmacs compat code. * lisp/erc/erc-goodies.el (erc-move-to-prompt-setup): Doc fix; remove spurious reference to XEmacs; this is needed also for Emacs.
* Release ERC 5.4Amin Bandali2021-10-111-3/+4
| | | | | * lisp/erc/erc.el (Version, erc-version): Bump to 5.4. (customize-package-emacs-version-alist): Add entry for 5.4.
* Add ERC entries for 'customize-package-emacs-version-alist'Amin Bandali2021-10-111-0/+8
| | | | | * lisp/erc/erc.el (customize-package-emacs-version-alist): Add entries for existing ERC versions.
* Obsolete XEmacs compat convention in 'erc-button-press-button'Stefan Kangas2021-10-111-2/+1
| | | | | * lisp/erc/erc-button.el (erc-button-press-button): Advertise new calling convention without XEmacs compatibility.
* Backport: Add ERC version to protocol logF. Jason Park2021-10-111-0/+1
| | | | | | | * lisp/erc/erc.el (erc-toggle-debug-irc-protocol): Include the erc version in the debug logs (bug#51107). (cherry picked from commit 13411346202f86e950bee076a5d528e98695fbb4)
* * lisp/erc/erc.el: Don't error if 'erc-loaddefs' does not exist.Amin Bandali2021-10-061-1/+1
| | | | | | That autoload file is created as part of the Emacs compilation process, however we would like ERC to be usable if used outside emacs.git (e.g. if installed from GNU ELPA).
* Add 'erc-bug' command for reporting ERC bugsAmin Bandali2021-10-061-0/+9
| | | | | | | | * etc/ERC-NEWS: Announce the new command, and mention it at the top of the file along with 'report-emacs-bug'. * lisp/erc/erc.el (erc-bug): New command for reporting ERC bugs. It prompts for a subject, and passes it on to 'report-emacs-bug' along with the current ERC version, with the ERC mailing list in Cc.
* Add 'erc-version' and use it to display ERC version consistentlyAmin Bandali2021-10-061-7/+17
| | | | | | | | | | | | | | * lisp/erc/erc.el (erc-version): New constant holding the current ERC version, now used in the function with the same name to produce a version string for use across ERC for consistency. Also, add another optional argument, 'bold-erc', which when non-nil, marks the "ERC" portion of the string with the control character for bold display. (erc-quit/part-reason-default): Use the 'erc-version' function for a consistent version string. (erc-cmd-SV): Mention the ERC version number from the 'erc-version' constant. (erc-ctcp-query-VERSION): Use the 'erc-version' function for a consistent version string.
* * lisp/erc/erc.el (erc-user-mode): Set "+i" by default.Stefan Kangas2021-10-031-2/+4
|
* ; Oops, fix up last commitAmin Bandali2021-10-011-1/+1
|
* Rename arguments of ERC's '/whois' and simplify doc stringStefan Kangas2021-10-011-15/+13
| | | | | * lisp/erc/erc.el (erc-cmd-WHOIS): Rename arguments and reword the doc string to further clarify and simplify.
* Add new '/wii' convenience ERC commandAmin Bandali2021-09-291-0/+12
| | | | | | | | | * etc/NEWS: Announce the addition of the command. * lisp/erc/erc.el (erc-cmd-WII): Add '/wii' convenience command which calls the '/whois' command with the given nick as both arguments, which is useful for displaying the whois information for the nick along with idle time, even if the nick is on a different server than the one we are currently connected to.
* Restore the previous order of ERC's '/whois' argumentsAmin Bandali2021-09-291-11/+18
| | | | | | | | * etc/NEWS: Remove unneeded entry. * lisp/erc/erc.el (erc-cmd-WHOIS): Restore the previous order of arguments sent to the server, so that there's no change in the function's behavior. Instead, rename the arguments to be more accurate, and expand upon them in the doc string.
* Switch the order of ERC's '/whois' arguments sent to the serverAmin Bandali2021-09-291-3/+6
| | | | | | | | | * lisp/erc/erc.el (erc-cmd-WHOIS): Switch the order of 'server' and 'user' arguments sent to the server. Per RFC 1459 and RFC 2812, the optional 'server' argument command comes before the 'user' argument, not after. While at it, update the doc string to explain why one may want to specify the 'server' argument. * etc/NEWS: Announce the change.
* Unobsolete erc-compat.elAmin Bandali2021-09-281-0/+161
| | | | | | | | * lisp/obsolete/erc-compat.el: Move from here... * lisp/erc/erc-compat.el: ...back to here. ERC will soon be added to GNU ELPA, and erc-compat.el will be used to provide compatibility functions and/or variables for using ERC on older Emacsen. * etc/NEWS: Remove the previously added obsoletion news item.
* ; Adjust overly long docstrings to fit 80 charactersStefan Kangas2021-09-262-4/+4
|
* Buttonize functions in curved quotes in ERCStefan Kangas2021-09-251-1/+1
| | | | | * lisp/erc/erc-button.el (erc-button-alist): Buttonize Emacs functions in curved quotes. (Bug#49964)
* Prefer seq-random-elt to nth+randomStefan Kangas2021-09-241-1/+1
| | | | | | | | | | | | | | | | | * lisp/emacs-lisp/seq.el (seq-random-elt): Autoload. * lisp/avoid.el (mouse-avoidance-random-shape): * lisp/epa-ks.el (epa-ks--query-url): * lisp/erc/erc-networks.el (erc-server-select): * lisp/gnus/gnus-fun.el (gnus--random-face-with-type) (gnus-fun-ppm-change-string): * lisp/net/soap-inspect.el (soap-sample-value-for-xs-simple-type): * lisp/obsolete/landmark.el (landmark-random-move): * lisp/play/mpuz.el (mpuz-build-random-perm): * lisp/play/zone.el (zone-pgm-stress): * lisp/vc/add-log.el (add-change-log-entry): * test/lisp/net/tramp-tests.el (tramp-test44-asynchronous-requests): Prefer seq-random-elt to nth+random.
* ; Some more docfixes for erc/*.elStefan Kangas2021-09-194-12/+11
|
* ; Stylistic docfixes in erc/*.el found by checkdocStefan Kangas2021-09-1915-107/+81
|
* Add new '/opme' and '/deopme' convenience ERC commandsAmin Bandali2021-09-181-0/+18
| | | | | | | | | * lisp/erc/erc.el (erc-cmd-OPME, erc-cmd-DEOPME): Add convenience commands for setting and unsetting the operator status on the current nick in the current channel. 'erc-cmd-OPME' relies on ChanServ for obtaining the operator status (see doc string for more details). * etc/NEWS: Announce the addition of the commands.
* * lisp/erc/erc.el: Add Package-Requires and URL headers.Amin Bandali2021-09-171-3/+4
|
* ERC: NickServ: Prompt for password last, overall simplifications (bug#46777)Olivier Certner2021-09-171-70/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When 'erc-prompt-for-nickserv-password' is non-nil, don't ignore the other forms of identification. Instead, process them first, and prompt for the password last. Separate concerns (determination of the nick to use, of the password to use, and actual message sending). Note that the user can be interactively prompted for a password on reception of a NickServ request, as before (on 'erc-prompt-for-nickserv-password'). * lisp/erc/erc-services.el (erc-nickserv-identify): Make the password argument optional (and don't prompt for it interactively). Further, now take the nick to use for identification (interactively, ask for it, defaulting to the current one). Move the actual message sending into the new 'erc-nickserv-send-identify' function, and the password prompting into 'erc-nickserv-get-password'. (erc-nickserv-send-identify): New function containing the code for sending the identify message to NickServ, given the nick and password. (erc-nickserv-get-password): Try each password source in turn, in the following order: 'erc-nickserv-passwords', auth-source (if 'erc-use-auth-source-for-nickserv-password' is non-nil), and in the end prompt the user interactively (if 'erc-prompt-for-nickserv-password' is non-nil). If one source returns a string, the function returns it, or nil if the string is empty. (erc-nickserv-call-identify-function): Declare obsolete, but retain for backward compatibility. Prefer invoking 'erc-nickserv-identify' directly instead. (erc-nickserv-identify-autodetect, erc-nickserv-identify-on-connect) (erc-nickserv-identify-on-nick-change): Call 'erc-nickserv-identify' directly ('erc-nickserv-call-identify-function' has been obsoleted). For the last two functions, remove the redundant checks on the NickServ identification flags (additionally, it is doubtful they have any measurable impact on performance). * etc/NEWS: Announce the change. Co-authored-by: F. Jason Park <jp@neverwas.me>
* * lisp/erc/erc-button.el (erc-emacswiki-url): Update to shorter address.Amin Bandali2021-09-161-2/+3
|
* ; Minor stylistic fixes found by checkdocStefan Kangas2021-09-1616-75/+78
|
* Allow irc network symbols in erc-autojoin-channels-alistKevin Brubeck Unhammer2021-09-161-16/+37
| | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc-join.el (erc-autojoin-channels-alist): Explain the extension. (erc-autojoin-server-match): New function. (erc-autojoin-channels): Use it. (erc-autojoin-current-server): New function. (erc-autojoin-add): Use it. (erc-autojoin-remove): Ditto. This can be useful when connecting to an IRC proxy like Weechat that relays several networks under the same server. If we just keyed on the server name, we would end up joining a channel on all networks whenever we join one network on that server. Networks are simply stored as symbols instead of regexes, since that's how `erc-network' works. The `erc-autojoin-add' function will still auto-add servers as strings if the network doesn't have at least one entry in `erc-autojoin-channels-alist'.
* Prefer "website" to "homepage"Stefan Kangas2021-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These days, a "home page" is understood to be only "the main web page of a website" or "landing page", whereas a "website" is "a collection of web pages and related content" (Wikipedia). * doc/emacs/emacs.texi (Top): * doc/emacs/package.texi (Package Menu): * doc/lispintro/emacs-lisp-intro.texi (Top): * doc/lispref/elisp.texi (Top): * doc/lispref/tips.texi (Documentation Tips): * doc/misc/ede.texi (ede-project): * doc/misc/efaq-w32.texi (More information): * doc/misc/gnus-faq.texi (FAQ 5-7): * doc/misc/gnus.texi (About mairix): * doc/misc/mairix-el.texi (About): * doc/misc/reftex.texi (AUCTeX, Imprint): * lisp/cedet/ede/base.el (ede-project): * lisp/cedet/ede/system.el (ede-web-browse-home): * lisp/emacs-lisp/package.el (package-menu-mode-menu) (package-browse-url): * lisp/erc/erc-button.el (erc-emacswiki-url): * lisp/filesets.el (filesets-goto-homepage): * lisp/net/mairix.el: * lisp/net/webjump.el (webjump-sample-sites): * lisp/obsolete/vc-arch.el: * lisp/progmodes/idlw-shell.el (idlwave-shell-mode): * lisp/progmodes/idlwave.el (idlwave, idlwave-mode): * lisp/textmodes/reftex-vars.el (reftex): Prefer "website" to "home page". * doc/lispref/tips.texi (Documentation Tips): Sort the "URL" header comment before "Homepage". * lisp/emacs-lisp/lisp-mnt.el (lm-website): Rename from 'lm-homepage'. (lm-homepage): Make into alias for 'lm-website'.
* Change the erc debug logging format to be more repeatableF. Jason Park2021-09-161-27/+52
| | | | | | | | | | | | | | | | | * erc.el (erc-debug-irc-protocol): Fix line-ending mismatch between incoming and outgoing logger lines without changing interface. Do this by adding carriage returns to the latter to improve machine readability. Change printed peer labels to most accurately reflect logical endpoints. (erc-debug-irc-protocol-time-format): Add new variable to support timestamps in protocol logger output. (erc-debug-irc-protocol-version): Add new variable to help tooling track logging format independent of ERC and Emacs versions. (erc-toggle-debug-irc-protocol): Add headers to protocol-log buffer to aid future bug-reproduction tools. Clean up overlong lines (bug#50009).
* Fix erc nick trimmingF. Jason Park2021-09-161-17/+7
| | | | | | | | | | | * lisp/erc/erc.el (erc-lurker-maybe-trim): Prevent warning from showing up in third-party code using this function by autoloading rx.el when needed. Remove trailing chars appended for uniquifying purposes when a nick is already taken. Special thanks to Mattias Engdegård for making this more respectable (Bug#50005). * test/lisp/erc/erc-tests.el: Add tests for the above and require erc-networks.
* Remove function obsolete since 22.1Stefan Kangas2021-09-151-9/+0
| | | | | * lisp/erc/erc-networks.el (erc-current-network): Remove function obsolete since Emacs 22.1.
* ERC: Use 'string-replace' only on Emacs 28 and laterAmin Bandali2021-09-122-12/+31
| | | | | | | | * lisp/erc/erc-dcc.el (erc-dcc-unquote-filename): * lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy) (erc-update-mode-line-buffer, erc-message-english-PART): Use 'string-replace' only on Emacs 28 and later, otherwise use 'replace-regexp-in-string' on older Emacsen.
* ERC: Use 'string-search' only on Emacs 28 and laterAmin Bandali2021-09-124-13/+41
| | | | | | | | | * lisp/erc/erc-backend.el (erc-parse-server-response): * lisp/erc/erc-dcc.el (erc-dcc-member): * lisp/erc/erc-speedbar.el (erc-speedbar-expand-server) (erc-speedbar-expand-channel, erc-speedbar-expand-user): * lisp/erc/erc.el (erc-send-input): Use 'string-search' only on Emacs 28 and later, otherwise use 'string-match' on older Emacsen.
* ERC: Track: Fix a perceived minor bug in mode line face selectionOlivier Certner2021-09-121-6/+3
| | | | | | | | | * lisp/erc/erc-track.el (erc-track-modified-channels): Fix what is a probable bug when a new insert event happens for a buffer that was not tracked or for which no mode line face was selected: in this case, stop treating the latest buffer's face (first in list) as the previous one, which could be overridden with an older one (in FACES' rest), as if it had happened after.
* ERC: Track: Rewrite 'erc-track-find-face' as 'erc-track-select-mode-line-face'Olivier Certner2021-09-121-38/+53
| | | | | | | | | | | | | | | | | | * lisp/erc/erc-track.el (erc-track-find-face): Declare obsolete and rewrite as 'erc-track-select-mode-line-face', changing the function arguments, so that it is very clear what the current algorithm is. No functional changes. Performance improvements. Clarify the documentation and remove the part on some faces being lists, which clearly does not apply. (erc-track-modified-channels): Replace calls to 'erc-track-find-face' with calls to 'erc-track-select-mode-line-face', preserving the existing behavior. (erc-modified-channels-alist): Change the reference to 'erc-track-select-mode-line-face' in the documentation following the rename. * etc/NEWS: Announce the change. Co-authored-by: Amin Bandali <bandali@gnu.org>
* Merge from origin/emacs-27Amin Bandali2021-09-111-10/+24
|\ | | | | | | | | | | | | | | | | | | d7f4cc0974 ERC: Track: Clarify documentation on tracked buffers and a... fb1f0dfec9 ERC: Track: Fix documentation of structure of 'erc-modifie... 252a769b11 ; * doc/lispref/files.texi (Changing Files): Fix xref to f... edc93a5ce6 ; Fix grammar in efaq.texi on Emacs vs XEmacs. # Conflicts: # doc/misc/efaq.texi
| * ERC: Track: Clarify documentation on tracked buffers and add referencesOlivier Certner2021-09-111-8/+19
| | | | | | | | | | | | | | | | * lisp/erc/erc-track.el (erc-modified-channels-alist): Clarify what the list contains. Add references to variables and functions involved in displaying tracked buffers from this list. (erc-make-mode-line-buffer-name): Describe exactly the algorithm, and reference custom variables that influence it.
| * ERC: Track: Fix documentation of structure of 'erc-modified-channels-alist'Olivier Certner2021-09-111-6/+9
| | | | | | | | | | | | | | * lisp/erc/erc-track.el (erc-modified-channels-alist): Fix the docstring: each element is a dotted list where the last cdr is sometimes a proper list, making the element only sometimes a proper list.
* | ; Fix typosStefan Kangas2021-09-031-1/+1
| |
* | Use string-search instead of string-match[-p]Mattias Engdegård2021-08-094-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `string-search` is easier to understand, less error-prone, much faster, does not pollute the regexp cache, and does not mutate global state. Use it where applicable and obviously safe (erring on the conservative side). * admin/authors.el (authors-canonical-file-name) (authors-scan-change-log): * lisp/apropos.el (apropos-command) (apropos-documentation-property, apropos-symbols-internal): * lisp/arc-mode.el (archive-arc-summarize) (archive-zoo-summarize): * lisp/calc/calc-aent.el (math-read-factor): * lisp/calc/calc-ext.el (math-read-big-expr) (math-format-nice-expr, math-format-number-fancy): * lisp/calc/calc-forms.el (math-read-angle-brackets): * lisp/calc/calc-graph.el (calc-graph-set-range): * lisp/calc/calc-keypd.el (calc-keypad-press): * lisp/calc/calc-lang.el (tex, latex, math-read-big-rec): * lisp/calc/calc-prog.el (calc-fix-token-name) (calc-user-define-permanent, math-define-exp): * lisp/calc/calc.el (calc-record, calcDigit-key) (calc-count-lines): * lisp/calc/calcalg2.el (calc-solve-for, calc-poly-roots) (math-do-integral): * lisp/calc/calcalg3.el (calc-find-root, calc-find-minimum) (calc-get-fit-variables): * lisp/cedet/ede/speedbar.el (ede-tag-expand): * lisp/cedet/semantic/java.el (semantic-java-expand-tag): * lisp/cedet/semantic/sb.el (semantic-sb-show-extra) (semantic-sb-expand-group): * lisp/cedet/semantic/wisent/python.el (semantic-python-instance-variable-p): * lisp/cus-edit.el (get): * lisp/descr-text.el (describe-text-sexp): * lisp/dired-aux.el (dired-compress-file): * lisp/dired-x.el (dired-make-relative-symlink): * lisp/dired.el (dired-glob-regexp): * lisp/dos-fns.el (dos-convert-standard-filename, dos-8+3-filename): * lisp/edmacro.el (edmacro-format-keys): * lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand): * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand): * lisp/emacs-lisp/lisp-mnt.el (lm-keywords-list): * lisp/emacs-lisp/warnings.el (display-warning): * lisp/emulation/viper-ex.el (viper-ex-read-file-name) (ex-print-display-lines): * lisp/env.el (read-envvar-name, setenv): * lisp/epa-mail.el (epa-mail-encrypt): * lisp/epg.el (epg--start): * lisp/erc/erc-backend.el (erc-parse-server-response): * lisp/erc/erc-dcc.el (erc-dcc-member): * lisp/erc/erc-speedbar.el (erc-speedbar-expand-server) (erc-speedbar-expand-channel, erc-speedbar-expand-user): * lisp/erc/erc.el (erc-send-input): * lisp/eshell/em-glob.el (eshell-glob-entries): * lisp/eshell/esh-proc.el (eshell-needs-pipe-p): * lisp/eshell/esh-util.el (eshell-convert): * lisp/eshell/esh-var.el (eshell-envvar-names): * lisp/faces.el (x-resolve-font-name): * lisp/ffap.el (ffap-file-at-point): * lisp/files.el (wildcard-to-regexp, shell-quote-wildcard-pattern): * lisp/forms.el (forms--update): * lisp/frameset.el (frameset-filter-unshelve-param): * lisp/gnus/gnus-art.el (article-decode-charset): * lisp/gnus/gnus-kill.el (gnus-kill-parse-rn-kill-file): * lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy): * lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc) (gnus-inews-insert-gcc): * lisp/gnus/gnus-rfc1843.el (rfc1843-decode-article-body): * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output) (gnus-search--complete-key-data): * lisp/gnus/gnus-spec.el (gnus-parse-simple-format): * lisp/gnus/gnus-sum.el (gnus-summary-refer-article): * lisp/gnus/gnus-util.el (gnus-extract-address-components) (gnus-newsgroup-directory-form): * lisp/gnus/gnus-uu.el (gnus-uu-grab-view): * lisp/gnus/gnus.el (gnus-group-native-p, gnus-short-group-name): * lisp/gnus/message.el (message-check-news-header-syntax) (message-make-message-id, message-user-mail-address) (message-make-fqdn, message-get-reply-headers, message-followup): * lisp/gnus/mm-decode.el (mm-dissect-buffer): * lisp/gnus/nnheader.el (nnheader-insert): * lisp/gnus/nnimap.el (nnimap-process-quirk) (nnimap-imap-ranges-to-gnus-ranges): * lisp/gnus/nnmaildir.el (nnmaildir--ensure-suffix): * lisp/gnus/nnmairix.el (nnmairix-determine-original-group-from-path): * lisp/gnus/nnrss.el (nnrss-match-macro): * lisp/gnus/nntp.el (nntp-find-group-and-number): * lisp/help-fns.el (help--symbol-completion-table-affixation): * lisp/help.el (help-function-arglist): * lisp/hippie-exp.el (he-concat-directory-file-name): * lisp/htmlfontify.el (hfy-relstub): * lisp/ido.el (ido-make-prompt, ido-complete, ido-copy-current-word) (ido-exhibit): * lisp/image/image-converter.el (image-convert-p): * lisp/info-xref.el (info-xref-docstrings): * lisp/info.el (Info-toc-build, Info-follow-reference) (Info-backward-node, Info-finder-find-node) (Info-speedbar-expand-node): * lisp/international/mule-diag.el (print-fontset-element): * lisp/language/korea-util.el (default-korean-keyboard): * lisp/linum.el (linum-after-change): * lisp/mail/ietf-drums.el (ietf-drums-parse-address): * lisp/mail/mail-utils.el (mail-dont-reply-to): * lisp/mail/rfc2047.el (rfc2047-encode-1, rfc2047-decode-string): * lisp/mail/rfc2231.el (rfc2231-parse-string): * lisp/mail/rmailkwd.el (rmail-set-label): * lisp/mail/rmailsum.el (rmail-header-summary): * lisp/mail/smtpmail.el (smtpmail-maybe-append-domain) (smtpmail-user-mail-address): * lisp/mail/uce.el (uce-reply-to-uce): * lisp/man.el (Man-default-man-entry): * lisp/mh-e/mh-alias.el (mh-alias-gecos-name) (mh-alias-minibuffer-confirm-address): * lisp/mh-e/mh-comp.el (mh-forwarded-letter-subject): * lisp/mh-e/mh-speed.el (mh-speed-parse-flists-output): * lisp/mh-e/mh-utils.el (mh-collect-folder-names-filter) (mh-folder-completion-function): * lisp/minibuffer.el (completion--make-envvar-table) (completion-file-name-table, completion-flex-try-completion) (completion-flex-all-completions): * lisp/mpc.el (mpc--proc-quote-string, mpc-cmd-special-tag-p) (mpc-constraints-tag-lookup): * lisp/net/ange-ftp.el (ange-ftp-send-cmd) (ange-ftp-allow-child-lookup): * lisp/net/mailcap.el (mailcap-mime-types): * lisp/net/mairix.el (mairix-search-thread-this-article): * lisp/net/pop3.el (pop3-open-server): * lisp/net/soap-client.el (soap-decode-xs-complex-type): * lisp/net/socks.el (socks-filter): * lisp/nxml/nxml-outln.el (nxml-highlighted-qname): * lisp/nxml/rng-cmpct.el (rng-c-expand-name, rng-c-expand-datatype): * lisp/nxml/rng-uri.el (rng-uri-file-name-1): * lisp/obsolete/complete.el (partial-completion-mode) (PC-do-completion): * lisp/obsolete/longlines.el (longlines-encode-string): * lisp/obsolete/nnir.el (nnir-compose-result): * lisp/obsolete/terminal.el (te-quote-arg-for-sh): * lisp/obsolete/tpu-edt.el (tpu-check-search-case): * lisp/obsolete/url-ns.el (isPlainHostName): * lisp/pcmpl-unix.el (pcomplete/scp): * lisp/play/dunnet.el (dun-listify-string2, dun-get-path) (dun-unix-parse, dun-doassign, dun-cat, dun-batch-unix-interface): * lisp/progmodes/ebnf2ps.el: (ebnf-eps-header-footer-comment): * lisp/progmodes/gdb-mi.el (gdb-var-delete) (gdb-speedbar-expand-node, gdbmi-bnf-incomplete-record-result): * lisp/progmodes/gud.el (gud-find-expr): * lisp/progmodes/idlw-help.el (idlwave-do-context-help1): * lisp/progmodes/idlw-shell.el (idlwave-shell-mode) (idlwave-shell-filter-hidden-output, idlwave-shell-filter): * lisp/progmodes/idlwave.el (idlwave-skip-label-or-case) (idlwave-routine-info): * lisp/progmodes/octave.el (inferior-octave-completion-at-point): * lisp/progmodes/sh-script.el (sh-add-completer): * lisp/progmodes/sql.el (defun): * lisp/progmodes/xscheme.el (xscheme-process-filter): * lisp/replace.el (query-replace-compile-replacement) (map-query-replace-regexp): * lisp/shell.el (shell--command-completion-data) (shell-environment-variable-completion): * lisp/simple.el (display-message-or-buffer): * lisp/speedbar.el (speedbar-dired, speedbar-tag-file) (speedbar-tag-expand): * lisp/subr.el (split-string-and-unquote): * lisp/tar-mode.el (tar-extract): * lisp/term.el (term-command-hook, serial-read-name): * lisp/textmodes/bibtex.el (bibtex-print-help-message): * lisp/textmodes/ispell.el (ispell-lookup-words, ispell-filter) (ispell-parse-output, ispell-buffer-local-parsing): * lisp/textmodes/reftex-cite.el (reftex-do-citation): * lisp/textmodes/reftex-parse.el (reftex-notice-new): * lisp/textmodes/reftex-ref.el (reftex-show-entry): * lisp/textmodes/reftex.el (reftex-compile-variables): * lisp/textmodes/tex-mode.el (tex-send-command) (tex-start-tex, tex-append): * lisp/thingatpt.el (thing-at-point-url-at-point): * lisp/tmm.el (tmm-add-one-shortcut): * lisp/transient.el (transient-format-key): * lisp/url/url-auth.el (url-basic-auth) (url-digest-auth-directory-id-assoc): * lisp/url/url-news.el (url-news): * lisp/url/url-util.el (url-parse-query-string): * lisp/vc/vc-cvs.el (vc-cvs-parse-entry): * lisp/wid-browse.el (widget-browse-sexp): * lisp/woman.el (woman-parse-colon-path, woman-mini-help) (WoMan-getpage-in-background, woman-negative-vertical-space): * lisp/xml.el: * test/lisp/emacs-lisp/check-declare-tests.el (check-declare-tests-warn): * test/lisp/files-tests.el (files-tests-file-name-non-special-dired-compress-handler): * test/lisp/net/network-stream-tests.el (server-process-filter): * test/src/coding-tests.el (ert-test-unibyte-buffer-dos-eol-decode): Use `string-search` instead of `string-match` and `string-match-p`.
* | Use string-replace instead of replace-regexp-in-stringMattias Engdegård2021-08-082-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `string-replace` is easier to understand, less error-prone, much faster, and results in shorter Lisp and byte code. Use it where applicable and obviously safe (erring on the conservative side). * admin/authors.el (authors-scan-change-log): * lisp/autoinsert.el (auto-insert-alist): * lisp/calc/calc-prog.el (calc-edit-macro-combine-alg-ent) (calc-edit-macro-combine-ext-command) (calc-edit-macro-combine-var-name): * lisp/calc/calc-units.el (math-make-unit-string): * lisp/calendar/cal-html.el (cal-html-comment): * lisp/calendar/cal-tex.el (cal-tex-comment): * lisp/calendar/icalendar.el (icalendar--convert-string-for-export) (icalendar--convert-string-for-import): * lisp/calendar/iso8601.el (iso8601--concat-regexps) (iso8601--full-time-match, iso8601--combined-match): * lisp/calendar/time-date.el (format-seconds): * lisp/calendar/todo-mode.el (todo-filter-items-filename): * lisp/cedet/cedet-files.el (cedet-directory-name-to-file-name) (cedet-file-name-to-directory-name): * lisp/comint.el (comint-watch-for-password-prompt): * lisp/dired-aux.el (dired-do-chmod): * lisp/dired-x.el (dired-man): * lisp/dired.el (dired-insert-directory, dired-goto-file-1): * lisp/emacs-lisp/comp.el (comp-c-func-name): * lisp/emacs-lisp/re-builder.el (reb-copy): * lisp/erc/erc-dcc.el (erc-dcc-unquote-filename): * lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy) (erc-update-mode-line-buffer, erc-message-english-PART): * lisp/files.el (make-backup-file-name-1, files--transform-file-name) (read-file-modes): * lisp/fringe.el (fringe-mode): * lisp/gnus/gnus-art.el (gnus-button-handle-info-url): * lisp/gnus/gnus-group.el (gnus-group-completing-read): * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical): * lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy): * lisp/gnus/gnus-search.el (gnus-search-query-parse-date) (gnus-search-transform-expression, gnus-search-run-search): * lisp/gnus/gnus-start.el (gnus-dribble-enter): * lisp/gnus/gnus-sum.el (gnus-summary-refer-article): * lisp/gnus/gnus-util.el (gnus-mode-string-quote): * lisp/gnus/message.el (message-put-addresses-in-ecomplete) (message-parse-mailto-url, message-mailto-1): * lisp/gnus/mml-sec.el (mml-secure-epg-sign): * lisp/gnus/mml-smime.el (mml-smime-epg-verify): * lisp/gnus/mml2015.el (mml2015-epg-verify): * lisp/gnus/nnmaildir.el (nnmaildir--system-name) (nnmaildir-request-list, nnmaildir-retrieve-groups) (nnmaildir-request-group, nnmaildir-retrieve-headers): * lisp/gnus/nnrss.el (nnrss-node-text): * lisp/gnus/spam-report.el (spam-report-gmane-internal) (spam-report-user-mail-address): * lisp/ibuffer.el (name): * lisp/image-dired.el (image-dired-pngnq-thumb) (image-dired-pngcrush-thumb, image-dired-optipng-thumb) (image-dired-create-thumb-1): * lisp/info.el (Info-set-mode-line): * lisp/international/mule-cmds.el (describe-language-environment): * lisp/mail/rfc2231.el (rfc2231-parse-string): * lisp/mail/rfc2368.el (rfc2368-parse-mailto-url): * lisp/mail/rmail.el (rmail-insert-inbox-text) (rmail-simplified-subject-regexp): * lisp/mail/rmailout.el (rmail-output-body-to-file): * lisp/mail/undigest.el (rmail-digest-rfc1153): * lisp/man.el (Man-default-man-entry): * lisp/mouse.el (minor-mode-menu-from-indicator): * lisp/mpc.el (mpc--debug): * lisp/net/browse-url.el (browse-url-mail): * lisp/net/eww.el (eww-update-header-line-format): * lisp/net/newst-backend.el (newsticker-save-item): * lisp/net/rcirc.el (rcirc-sentinel): * lisp/net/soap-client.el (soap-decode-date-time): * lisp/nxml/rng-cmpct.el (rng-c-literal-2-re): * lisp/nxml/xmltok.el (let*): * lisp/obsolete/nnir.el (nnir-run-swish-e, nnir-run-hyrex) (nnir-run-find-grep): * lisp/play/dunnet.el (dun-doassign): * lisp/play/handwrite.el (handwrite): * lisp/proced.el (proced-format-args): * lisp/profiler.el (profiler-report-header-line-format): * lisp/progmodes/gdb-mi.el (gdb-mi-quote): * lisp/progmodes/make-mode.el (makefile-bsdmake-rule-action-regex) (makefile-make-font-lock-keywords): * lisp/progmodes/prolog.el (prolog-guess-fill-prefix): * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes): * lisp/progmodes/sql.el (sql-remove-tabs-filter, sql-str-literal): * lisp/progmodes/which-func.el (which-func-current): * lisp/replace.el (query-replace-read-from) (occur-engine, replace-quote): * lisp/select.el (xselect--encode-string): * lisp/ses.el (ses-export-tab): * lisp/subr.el (shell-quote-argument): * lisp/term/pc-win.el (msdos-show-help): * lisp/term/w32-win.el (w32--set-selection): * lisp/term/xterm.el (gui-backend-set-selection): * lisp/textmodes/picture.el (picture-tab-search): * lisp/thumbs.el (thumbs-call-setroot-command): * lisp/tooltip.el (tooltip-show-help-non-mode): * lisp/transient.el (transient-format-key): * lisp/url/url-mailto.el (url-mailto): * lisp/vc/log-edit.el (log-edit-changelog-ours-p): * lisp/vc/vc-bzr.el (vc-bzr-status): * lisp/vc/vc-hg.el (vc-hg--glob-to-pcre): * lisp/vc/vc-svn.el (vc-svn-after-dir-status): * lisp/xdg.el (xdg-desktop-strings): * test/lisp/electric-tests.el (defun): * test/lisp/term-tests.el (term-simple-lines): * test/lisp/time-stamp-tests.el (formatz-mod-del-colons): * test/lisp/wdired-tests.el (wdired-test-bug32173-01) (wdired-test-unfinished-edit-01): * test/src/json-tests.el (json-parse-with-custom-null-and-false-objects): Use `string-replace` instead of `replace-regexp-in-string`.
* | Merge from origin/emacs-27Glenn Morris2021-08-061-18/+33
|\ \ | |/ | | | | | | | | | | b77f6af24e (origin/emacs-27) ERC right stamps: also use latest buffer... # Conflicts: # lisp/erc/erc-stamp.el
| * ERC right stamps: also use latest buffer's window's width (Bug#44140)Olivier Certner2021-08-061-18/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/erc/erc-stamp.el (erc-insert-timestamp-right): Use latest buffer's window's width to position the timestamp, if both `erc-timestamp-right-column' and `erc-fill-column' are not set (or `erc-fill-mode' is off). This is what the documentation says, but was not implemented. Also fix the bug of using selected window's width instead of the (or some) window showing the buffer. The latest window's width is saved in `erc-timestamp-last-window-width' and used when the buffer is no more shown. In case the buffer was never shown, which I'm not sure can happen, either use `fill-column' if set, or give up on aligning and just output the timestamp (modulo the kludge) right after message text. While here, fix the off by one calculation of point start when the reference is the window's width.
* | Merge from origin/emacs-27Amin Bandali2021-08-021-1/+1
|\ \ | |/ | | | | 75ecce4323 Unbreak ERC's Ibuffer filter (Bug#44100)
| * Unbreak ERC's Ibuffer filter (Bug#44100)Olivier Certner2021-08-021-1/+1
| | | | | | | | | | | | * lisp/erc/erc-ibuffer.el (erc-modified): Don't use `length' on dotted lists (and not even to test if there is more than one element, for that matter). Use `cdr' instead.
* | Remove text props from callback args in erc-buttonF. Jason Park2021-07-231-1/+1
| | | | | | | | | | | | | | | | | | * lisp/erc/erc-button.el (erc-button-add-buttons-1): Remove text properties from strings stored in `erc-data' and passed to `erc-callback' (both text properties themselves) (bug#49704). This reduces memory usage in erc buffers (which are long-lived and can become very large).