1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-11 02:10:35 -08:00
Commit graph

151382 commits

Author SHA1 Message Date
Juri Linkov
45acbe6d62 Fix display-buffer-override-next-command for no-select case (bug#49057)
* lisp/window.el (display-buffer-override-next-command):
Separate 'postfun' from 'clearfun', so 'clearfun' resets
'display-buffer-overriding-action', whereas 'postfun' calls
'post-function' that can select the right window in 'post-command-hook'.

* lisp/windmove.el (windmove-display-no-select): Add new choice 'ignore'.
Improve docstring.
(windmove-display-in-direction): Use new value 'ignore' of
'windmove-display-no-select'.  Improve docstring.
(windmove-display-left, windmove-display-up)
(windmove-display-right, windmove-display-down): Mention
'windmove-display-no-select' in docstrings.
2021-06-17 22:53:57 +03:00
Stefan Monnier
ff053c706c * lisp/emacs-lisp/cl-generic.el: Fix bug#49053 and bug#47454
(cl-generic-define-method): Shorten the time window where the symbol is
defined to `dummy`.
2021-06-16 12:53:59 -04:00
Mattias Engdegård
7c22aa36cd Eliminate some GCC warnings
* src/doprnt.c (exprintf, evxprintf):
* src/lisp.h (exprintf, evxprintf): Don't use a pointer-to-const type
for the `nonheapbuf` argument: although it is never dereferenced, GCC
will warn when passing a pointer to uninitialised memory otherwise.
* src/fns.c (sort_vector_copy, realize_face, realize_gui_face)
(realize_tty_face): Use the same signatures in the prototypes as in
the actual function definitions.
2021-06-16 18:05:41 +02:00
Glenn Morris
1f4e919cb2 * lisp/simple.el (save-interprogram-paste-before-kill): Fix type.
; Would not "integer" be better than "number", in type and docs?
2021-06-16 08:34:32 -07:00
Mattias Engdegård
706e186581 * src/xdisp.c (gui_draw_bottom_divider): Fix misleading indentation. 2021-06-16 11:37:00 +02:00
Mattias Engdegård
ed97d15a08 Remove outdated advise from manual
* doc/lispref/modes.texi (Search-based Fontification):
Remove paragraph that has been unnecessary and confusing ever since
regexp-opt stopped using capturing brackets more than 21 years ago.
2021-06-16 09:58:19 +02:00
Mattias Engdegård
eac34b52f6 ; * lisp/progmodes/hideif.el (hif-unicode-prefix-regexp): Stray \. 2021-06-16 09:57:27 +02:00
Pip Cet
d9698faa34 Prepare pdumper dump file in memory, write it in one go (Bug#46881)
* src/pdumper.c (struct dump_context): Add buf, buf_size, max_offset fields.
(dump_grow_buffer): New function.
(dump_write): Use memcpy, not an actual emacs_write.
(dump_seek): Keep track of maximum seen offset. Don't actually seek.
(Fdump_emacs_portable): Write out the file contents when done.
2021-06-16 09:44:32 +02:00
Philip Kaludercic
21148f67f1 Force mode line update after modifying activity string
* rcirc.el (rcirc-update-activity-string): Call force-mode-line-update
2021-06-16 09:43:05 +02:00
pillule
db106ea88b User option to choose a function triggered by windmove-create (bug#48917)
* lisp/windmove.el (windmove-create-window): Add a defcustom choice.
(windmove-do-window-select): Trigger custom functions, update the docstring.
2021-06-16 02:31:58 +03:00
pillule
0367d17482 User option to select 'no-other-window' with windmove (bug#48916)
* lisp/windmove.el (windmove-wrap-around): Remove superfluous :group tag.
(windmove-create-window): Remove superfluous :group tag.
(windmove-window-distance-delta): Remove superfluous :group tag.
(windmove-allow-all-windows): Add new user option to allow the commands
of windmove to target windows with the 'no-other-window parameter.
(windmove-find-other-window): Use windmove-allow-all-windows.
(windmove-display-no-select): Remove superfluous :group tag.
(windmove-display-in-direction): Use windmove-allow-all-windows.
(windmove-delete-in-direction): Use windmove-allow-all-windows.
(windmove-swap-states-in-direction): Use windmove-allow-all-windows.
(windmove-default-keybindings): Remove superfluous :group tag.
(windmove-display-default-keybindings): Remove superfluous :group tag.
(windmove-delete-default-keybindings): Remove superfluous :group tag.
(windmove-swap-states-default-keybindings): Remove superfluous :group tag.
2021-06-16 02:23:13 +03:00
Philip Kaludercic
b5d935bb7f Fix edge case with single argument for rcirc-define-command
* rcirc.el (rcirc-define-command): Update regular expression generator
2021-06-15 23:44:56 +02:00
Philip Kaludercic
7e5360f322 Fix argument parser for rcirc-define-command with string input
* rcirc.el (rcirc-define-command): Require at least one space between
arguments
2021-06-15 23:12:02 +02:00
Lars Ingebrigtsen
a8721a333d Make help-view-source more robust
* lisp/help-mode.el (help-view-source): Check the right thing to
see if we can jump to the source file.
2021-06-15 20:58:01 +02:00
Lars Ingebrigtsen
6fc48df5ae Add new convenience commands for *Help*
* doc/emacs/help.texi (Help Mode): Document it (bug#36767).

* lisp/help-fns.el (help-fns-function-description-header)
(describe-variable, describe-face, describe-keymap)
(describe-mode): Add the required data.

* lisp/help-mode.el (help-mode-map): Add 'i' and 's'.
(help-mode--current-data): New variable.
(help-mode): Make it local.
(help-view-source, help-goto-info): New commands.
2021-06-15 20:51:00 +02:00
Lars Ingebrigtsen
6ae5a59e52 Clarify (interactive "K") in the manual
* doc/lispref/commands.texi (Interactive Codes): Clarify
(interactive "K") (bug#37146).
2021-06-15 18:36:34 +02:00
Philip Kaludercic
1181c606b3 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
2021-06-15 18:16:58 +02:00
Eli Zaretskii
0ffef0b46b Document 'ispell-program-name'
* doc/emacs/fixit.texi (Spelling): Document
'ispell-program-name'.  (Bug#49039)
2021-06-15 18:21:50 +03:00
Eli Zaretskii
9dde254e96 ; * etc/NEWS: Fix a typo in the recent change. 2021-06-15 18:10:45 +03:00
Julian Scheid
8be9d4a156 Allow ERT tests to output the failure reasons, too
* lisp/emacs-lisp/ert.el (ert-reason-for-test-result): New function.
(ert-run-tests-batch): Output failure or skip reason  (bug#47071).
2021-06-15 17:01:57 +02:00
Lars Ingebrigtsen
81fd5603ce Add a new function syntax-class-to-char
* doc/lispref/syntax.texi (Syntax Table Internals): Document it.
* src/syntax.c (Fsyntax_class_to_char): New function (bug#37452).
2021-06-15 17:01:57 +02:00
Filipp Gunbin
53e5caa1bd ; * doc/lispref/text.texi (Clickable Text): Fix word order 2021-06-15 17:15:35 +03:00
Jared Finder
c62100465e Fix dragging dividers in terminal Emacs when there's margins
* lisp/mouse.el (mouse-drag-line): Do the right thing in the
presence of margins (bug#41156).
(mouse-drag-line): Bind left-margin/right-margin in the map, too.
2021-06-15 15:54:08 +02:00
Lars Ingebrigtsen
17dcc54db4 Document `completions-format'
* doc/emacs/mini.texi (Completion Options): Document
`completions-format'.

* lisp/simple.el (completion-list-mode): Mention in (bug#49003).
2021-06-15 15:46:33 +02:00
Lars Ingebrigtsen
1756e4757c Fix false positives in docstring width warning with (fn...) constructs.
* lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p):
Don't consider the function signature when determining whether the
doc string is too wide (bug#49007).  (The signature is folded
later when displaying help.)
2021-06-15 15:33:19 +02:00
Philip Kaludercic
946ceca26f 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
2021-06-15 09:37:17 +02:00
Stephen Gildea
1956d98cab mh-junk need not support SpamAssassin 2.20 from 2003
* lisp/mh-e/mh-junk.el (mh-spamassassin-*list): Remove support
for SpamAssassin 2.20.  (SpamAssassin 3.0 was released in 2004.)
This change updates both the flags for sa-learn and the comments
about how the current version works.

This change reverts part of a change made in 2003 that added
support for what was even then an "old version of spamassassin."
2021-06-14 23:18:23 -07:00
Philip Kaludercic
3e31846468 Fix construction of interactive specification in rcirc-define-command
* rcirc.el (rcirc-define-command): Ensure that only one argument is passed.
2021-06-14 18:02:24 +02:00
Lars Ingebrigtsen
794ec934a7 Remove unused variable from sgml-mode test
* test/lisp/textmodes/sgml-mode-tests.el (sgml-test-brackets):
Remove unused variable.
2021-06-14 15:58:01 +02:00
Lars Ingebrigtsen
00f1a4be71 Get fractional seconds in iso8601 parsing right
* lisp/calendar/iso8601.el (iso8601-parse-time): Get fractional
times (with leading zeroes in the fraction part) right (bug#49017).
Fix based on a patch by "J.P." <jp@neverwas.me>.
2021-06-14 15:32:03 +02:00
Andrea Corallo
663fb3b774 * Do not produce .elc temporary file when unnecessary (bug#48978)
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Produce .elc
temporary files only when non native compiling or when native
compiling but `byte+native-compile' is non nil.
2021-06-14 15:02:17 +02:00
Stephen Berman
8f2f91f7ac Fix problem in HTML with bracketed characters
* lisp/textmodes/sgml-mode.el (sgml-tag-syntax-table): Use bracket
syntax for all Unicode bracket characters (bug#43941).
2021-06-14 14:57:57 +02:00
Andrea Corallo
31d40cab78 ;* lisp/emacs-lisp/bytecomp.el (byte-native-compiling): Typo fix. 2021-06-14 14:18:06 +02:00
Andrea Corallo
9389742eb6 * lisp/emacs-lisp/bytecomp.el (byte+native-compile): Update docstring. 2021-06-14 14:18:06 +02:00
Philip Kaludercic
f1e79a33b5 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
2021-06-14 13:25:57 +02:00
Philip Kaludercic
88e07af18c Preserve order of completion during cycling
* rcirc.el (rcirc-completion-at-point): Specify cycle-sort-function
2021-06-14 11:52:28 +02:00
Michael Albinus
6536112bdc Handle sensitive auto-save or backup remote files (Bug#45245)
* doc/misc/tramp.texi (Auto-save and Backup):
Describe tramp-allow-unsafe-temporary-files.
(Ad-hoc multi-hops): Use proper format.

* etc/NEWS: Mention confirmation for writing sensitive auto-save
or backup remote files to the local temporary directory..

* lisp/net/tramp-cache.el (tramp-dump-connection-properties):
Strengthen test.

* lisp/net/tramp.el (tramp-allow-unsafe-temporary-files): New defcustom.
(tramp-handle-find-backup-file-name)
(tramp-handle-make-auto-save-file-name): Don't expose sensible
auto-save or backup files on local temporary directory.  (Bug#45245)

* test/lisp/net/tramp-tests.el (tramp--test-always): New defalias.
(tramp-test10-write-region, tramp-test21-file-links)
(tramp--test--deftest-direct-async-process): Use it.
(tramp-test37-make-auto-save-file-name)
(tramp-test38-find-backup-file-name): Extend tests.
2021-06-14 11:25:13 +02:00
pillule
d0c7d8bc22 Improve handling of dedicated flag for side windows (Bug#48493)
* doc/lispref/windows.texi (Buffers and Windows): Mention the
special handling of side windows and add a reference.
(Buffer Display Action Alists): Say explicitly that
`display-buffer-in-side-window' is dedicating to side by default.
(Dedicated Windows): Add case (4) and explain its meaning, add
a reference.
(Displaying Buffers in Side Windows): Move the paragraph about
`switch-to-(prev|next)-buffer' into a new item to emphasize the
special meaning of dedication for side windows.
* lisp/window.el (set-window-buffer-start-and-point): Restore
side dedication.
(switch-to-prev-buffer, switch-to-next-buffer): Correct return
value that should be nil instead of the same buffer in case of
no change.
(delete-windows-on): Restore side dedication.
(replace-buffer-in-windows): Update the docstring, restore side
dedication.
(quit-restore-window): Rearrange the logic so that strongly
dedicated windows are eventually deleted first.  Restore the
side dedication.  In the final case try to
`switch-to-prev-buffer' before deleting a window (Bug#48367).
2021-06-14 09:59:11 +02:00
Philip Kaludercic
e17cc751ba Add mouse properties to activity string
* rcirc.el (rcirc-activity-string): Allow clicking on string
2021-06-14 00:21:48 +02:00
Philip Kaludercic
e61bdd5a96 Update activity string after switching to next active buffer
* rcirc.el (rcirc-next-active-buffer): Call rcirc-update-activity-string
2021-06-13 20:00:59 +02:00
Eli Zaretskii
7be610f911 Fix documentation of 'face-extend-p'
* doc/lispref/display.texi (Attribute Functions): Fix description
of 'face-extend-p'.  (Bug#48936)
2021-06-13 17:10:51 +03:00
Lars Ingebrigtsen
2f7a115a9c Fix previous pulse.el fix
* lisp/cedet/pulse.el (pulse-reset-face): Fix up previous
pulse-reset-face change -- reset back to the start face
(bug#48936).
2021-06-13 15:38:52 +02:00
dick
55d7effbe1 Avoid an infinite loop in mml-expand-html-into-multipart-related
* lisp/gnus/mml.el (mml-expand-html-into-multipart-related):
Skip images with empty filename parts (bug#49001).
2021-06-13 15:02:27 +02:00
Eli Zaretskii
bad87a162c ; * src/fileio.c (Fsubstitute_in_file_name): Doc fix. 2021-06-13 15:52:17 +03:00
Lars Ingebrigtsen
00802c0cfe Reset the pulse face more fully in pulse-reset-face
* lisp/cedet/pulse.el (pulse-reset-face): Reset the :extend to nil
if there's no face given (bug#48936).
2021-06-13 14:49:07 +02:00
Eli Zaretskii
788e5cce4d Fix wording of recently added documentation
* etc/NEWS:
* lisp/simple.el (save-interprogram-paste-before-kill): Fix
wording of a recently added documentation.  (Bug#41168)
2021-06-13 15:47:31 +03:00
Lars Ingebrigtsen
c4fcf2fc6f Fsubstitute_in_file_name doc string clarification
* src/fileio.c (Fsubstitute_in_file_name): Mention that undefined
variables aren't replaced (as opposed to what happens in a shell
substitution) (bug#40949).
2021-06-13 14:14:32 +02:00
Lars Ingebrigtsen
407062c296 Allow save-interprogram-paste-before-kill to be a number
* doc/emacs/killing.texi (Clipboard): Document it.
* lisp/simple.el (save-interprogram-paste-before-kill): Extend
range (bug#41168).
(kill-new): Implement it (bug#41168).
2021-06-13 14:04:45 +02:00
Juri Linkov
dc471feee3 * doc/emacs/windows.texi (Change Window): Add pxref to (elisp)Deleting Windows
(Bug#47300)
2021-06-13 01:10:38 +03:00
Stefan Monnier
4c6554413d EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior
Change docs to advertize `slot-value` rather than `oref`.
Change the implementation of `:initform` to better match the CLOS semantics,
while preserving the EIEIO semantics, but warn when encountering cases
where the two diverge.
Demote the mostly unused special semantics of `oref-default`
on non-class allocated slots.

* doc/misc/eieio.texi (Quick Start): Use `slot-value`.
(Accessing Slots): Move `slot-value` before `oref`.
Fix paren-typo in example (reported by pillule <pillule@riseup.net>).
(Introspection): Remove mention of `class-slot-initarg`.

* lisp/transient.el (transient--parse-group, transient--parse-suffix):
Don't use `oref-default` to get the default value.
(transient-lisp-variable): Init forms are evaluated.

* lisp/emacs-lisp/eieio.el (defclass): Warn about inapplicable
`:initarg` and about uses of init forms that are ambiguous.
(oref): Don't advertize the deprecated use of initargs as slot names.
(oref-default): Don't advertize the deprecated case where it returns the
initform's value.
(initialize-instance): Use `macroexp-const-p`.
* lisp/emacs-lisp/eieio-core.el (eieio--unbound): Rename from
`eieio-unbound`.
(eieio--unbound-form): New var.
(eieio--slot-override): Use it.
(eieio-defclass-internal): Use it.  Change `init` so it should always
be evaluated.
(eieio--known-class-slot-names): New var.
(eieio--eval-default-p): Rename from `eieio-eval-default-p`.
(eieio--perform-slot-validation-for-default): Use `macroexp-const-p` to
decide whether to skip the test.
(eieio--add-new-slot): Register slot in `eieio--known-class-slot-names`
when applicable.
(eieio-oref-default, eieio-oset-default): Add warning for unknown slots
and slots not known to be allocated to the class.
(eieio-default-eval-maybe): Delete function.  Use just `eval` instead.
(eieio-declare-slots): Allow slots to specify their allocation class.

* lisp/cedet/srecode/insert.el (point): Declare the slot instead of
moving the class definition before the slot's first use.
(srecode-template-inserter-point, srecode-insert-fcn):
Use nil instead of unbound for the `point` slot.

* lisp/cedet/srecode/compile.el (srecode-template-inserter):
Declare the `key` slot that all children should have.

* lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar)
(eieio-speedbar-directory-button, eieio-speedbar-file-button):
* lisp/emacs-lisp/eieio-custom.el (eieio-widget-test-class):
* lisp/emacs-lisp/chart.el (chart-bar):
* lisp/cedet/semantic/ede-grammar.el (semantic-ede-proj-target-grammar):
* lisp/cedet/semantic/db.el (semanticdb-project-database):
* lisp/cedet/semantic/db-javascript.el (semanticdb-table-javascript)
(semanticdb-project-database-javascript):
* lisp/cedet/semantic/db-el.el (semanticdb-table-emacs-lisp)
(semanticdb-project-database-emacs-lisp):
* lisp/cedet/semantic/db-ebrowse.el (semanticdb-table-ebrowse)
(semanticdb-project-database-ebrowse):
* lisp/cedet/ede/proj.el (ede-proj-project):
* lisp/cedet/ede/proj-obj.el (ede-proj-target-makefile-objectcode):
* lisp/cedet/ede/generic.el (ede-generic-project):
* lisp/cedet/ede/config.el (ede-project-with-config):
* lisp/cedet/ede/base.el (ede-target, ede-project):
* lisp/auth-source.el (auth-source-backend): Init forms are evaluated,
so quote them accordingly.
2021-06-12 16:22:03 -04:00