1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-19 01:10:57 -08:00
Commit graph

8469 commits

Author SHA1 Message Date
Alan Mackenzie
9920929e7b Re-order the items in `profiler-report' output.
Putting the usage figures first on the line will eliminate the truncation of
function names.

lisp/profiler.el (profiler-version): Change to "28.1".
(profiler-format): Enhance, so that a width of zero means print the string
without padding or truncation.
(profiler-report-cpu-line-format, profiler-report-memory-line-format): Amend
for the new layout.  The number of places for the cpu samples has been reduced
from 19 to 12 (enough for ~30 years at 1,000 samples per second).
(profiler-report-line-format, profiler-report-describe-entry): Amend for the
new order of arguments to profiler-format.

etc/NEWS (Specialized Modes): Add an entry documenting this change.

doc/lispref/debugging.texi (Profiling): Describe the new ordering of the items
in place of the old ordering.
2020-12-22 12:06:21 +00:00
Lars Ingebrigtsen
051d8f7535 Make string-pad take an optional START parameter
* lisp/emacs-lisp/subr-x.el (string-pad): Alter the calling
convention.
2020-12-22 06:59:25 +01:00
Lars Ingebrigtsen
9480169f1b Change the string-limit parameter semantics
* lisp/emacs-lisp/subr-x.el (string-limit): Alter the calling
convention.
2020-12-22 06:54:32 +01:00
Lars Ingebrigtsen
f329a3180e Add string-chop-newline
* doc/lispref/strings.texi (Creating Strings): Document it.
* lisp/emacs-lisp/subr-x.el (string-chop-newline): Add new function.
2020-12-21 22:05:37 +01:00
Lars Ingebrigtsen
cf2e832185 Rename slice-string to string-slice
* lisp/emacs-lisp/subr-x.el (string-slice): Rename from slice-string.
* doc/lispref/strings.texi (Creating Strings): Ditto.
2020-12-21 20:18:57 +01:00
Lars Ingebrigtsen
b3dec31766 Add `string-pad'
* doc/lispref/strings.texi (Creating Strings): Document it.
* lisp/emacs-lisp/shortdoc.el (string): Add example.

* lisp/emacs-lisp/subr-x.el (string-pad): New function.
2020-12-21 20:01:28 +01:00
Lars Ingebrigtsen
87e422f104 Beef up the Emacs string utility set a bit
* doc/lispref/strings.texi (Modifying Strings): Document them.
* lisp/emacs-lisp/shortdoc.el (string): Add examples.

* lisp/emacs-lisp/subr-x.el (string-clean-whitespace)
(string-fill, string-limit, string-lines, slice-string): New
functions.
2020-12-21 18:53:40 +01:00
Michael Albinus
ecb5ebf156 Improve make-process in Tramp
* doc/misc/tramp.texi (Remote processes): Remove INSIDE_EMACS
restriction.
(Frequently Asked Questions, External packages): Add indices.

* etc/NEWS: 'start-process-shell-command' and
'start-file-process-shell-command' do not support the old calling
conventions any longer.

* lisp/subr.el (start-process-shell-command)
(start-file-process-shell-command): Remove old calling conventions.

* lisp/net/tramp-compat.el (remote-file-error): Remove, it isn't
necessary.

* lisp/net/tramp.el (tramp-handle-make-process): Remove special shell
handling.  Support environment variables.

* test/lisp/net/tramp-tests.el
(tramp--test--deftest-direct-async-process): Skip for mock method.
(tramp--test-async-shell-command): Suppress `shell-command-sentinel'.
(tramp-test32-shell-command, tramp-test33-environment-variables):
Adapt tests.
(tramp-test32-shell-command-direct-async)
(tramp-test33-environment-variables-direct-async): New tests.
2020-12-20 19:45:11 +01:00
Basil L. Contovounesios
1a0a11f7d2 Inhibit buffer hooks in temporary buffers
Give get-buffer-create an optional argument to inhibit buffer hooks
in internal or temporary buffers for efficiency (bug#34765).

* etc/NEWS: Announce new parameter of get-buffer-create and
generate-new-buffer, and that with-temp-buffer and with-temp-file
now inhibit buffer hooks.

* doc/lispref/buffers.texi (Buffer Names): Fix typo.
(Creating Buffers): Document new parameter of get-buffer-create and
generate-new-buffer.
(Buffer List, Killing Buffers): Document when buffer hooks are
inhibited.
(Current Buffer):
* doc/lispref/files.texi (Writing to Files): Document that
with-temp-buffer and with-temp-file inhibit buffer hooks.
* doc/lispref/internals.texi (Buffer Internals): Document
inhibit_buffer_hooks flag.  Remove stale comment.
* doc/misc/gnus-faq.texi (FAQ 5-8):
* lisp/simple.el (shell-command-on-region): Fix indentation.

* lisp/files.el (kill-buffer-hook): Document when hook is inhibited.
(create-file-buffer):
* lisp/gnus/gnus-uu.el (gnus-uu-unshar-article):
* lisp/international/mule.el (load-with-code-conversion):
* lisp/mh-e/mh-xface.el (mh-x-image-url-fetch-image):
* lisp/net/imap.el (imap-open):
* lisp/net/mailcap.el (mailcap-maybe-eval):
* lisp/progmodes/flymake-proc.el
(flymake-proc--read-file-to-temp-buffer)
(flymake-proc--copy-buffer-to-temp-buffer): Simplify.

* lisp/subr.el (generate-new-buffer): Forward new optional argument
to inhibit buffer hooks to get-buffer-create.
(with-temp-file, with-temp-buffer, with-output-to-string):
* lisp/json.el (json-encode-string): Inhibit buffer hooks in buffer
used.

* src/buffer.c (run_buffer_list_update_hook): New helper function.
(Fget_buffer_create): Use it.  Add optional argument to set
inhibit_buffer_hooks flag instead of comparing the buffer name to
Vcode_conversion_workbuf_name.  All callers changed.
(Fmake_indirect_buffer, Frename_buffer, Fbury_buffer_internal)
(record_buffer): Use run_buffer_list_update_hook.
(Fkill_buffer): Document when buffer hooks are inhibited.  Use
run_buffer_list_update_hook.
(init_buffer_once): Inhibit buffer hooks in Vprin1_to_string_buffer.
(Vkill_buffer_query_functions, Vbuffer_list_update_hook): Document
when hooks are inhibited.
* src/buffer.h (struct buffer): Update inhibit_buffer_hooks
commentary.
* src/coding.h (Vcode_conversion_workbuf_name):
* src/coding.c (Vcode_conversion_workbuf_name): Make static again
since it is no longer needed in src/buffer.c.
(code_conversion_restore, code_conversion_save, syms_of_coding):
Prefer boolean over integer constants.
* src/fileio.c (Finsert_file_contents): Inhibit buffer hooks in
" *code-converting-work*" buffer.
* src/window.c (Fselect_window): Fix grammar.  Mention
window-selection-change-functions alongside buffer-list-update-hook.

* test/src/buffer-tests.el: Fix requires.
(buffer-tests-inhibit-buffer-hooks): New test.
2020-12-20 17:32:24 +00:00
Basil L. Contovounesios
f36971b59b ; Fix grammar in recent change to internals.texi 2020-12-18 23:23:07 +00:00
Basil L. Contovounesios
e0f98374ca ; Fix @pxref in last change to flymake.texi 2020-12-18 22:34:30 +00:00
Glenn Morris
8d2d8d7f53 Merge from origin/emacs-27
48b9c47805 Minor fixes in authors.el and in tarball-making instructions
d7a4ceaa1e ; Add a new item to TODO
64fe805b19 Improve documentation of 'query-replace'
7cacf5da47 Update to Org 9.4.3

# Conflicts:
#	admin/authors.el
2020-12-18 08:55:06 -08:00
João Távora
fdaaf886b7 Document that flymake-diag-region saves match data
The typical use of this function (which is parsing compiler diagnostic
messages), lends itself too easily to one the problems in bug#29193.
Make it a friendlier API.

* doc/misc/flymake.texi (Flymake utility functions): Document that
flymake-diag-region saves match data.

* lisp/progmodes/flymake.el (flymake-diag-region): Document that
this saves match data.
2020-12-18 15:38:35 +00:00
Michael Albinus
ddff5d3d87 Some minor Tramp changes
* doc/lispref/os.texi (Timers): Speak about `remote-file-error'.

* doc/misc/tramp.texi (Frequently Asked Questions): Speak about
`remote-file-error'.
(External packages): New subsection "Timers".

* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Adapt error
function.  Handle coding.

* lisp/net/tramp.el (tramp-handle-make-process): Adapt error function.
2020-12-17 18:52:23 +01:00
Juri Linkov
67fb182cfa Give affixation-function higher priority over annotation-function (bug#45234)
* doc/lispref/minibuf.texi (Completion Variables)
(Programmed Completion): Describe precedence rules
of affixation-function and annotation-function.

* lisp/minibuffer.el (completion-metadata)
(completion-extra-properties): Describe precedence rules
of affixation-function and annotation-function.
(minibuffer-completion-help): First try to apply
affixation-function, if there is no such function,
try annotation-function.
2020-12-16 23:19:46 +02:00
Eli Zaretskii
64fe805b19 Improve documentation of 'query-replace'
* doc/emacs/search.texi (Query Replace): Add 'E' to the list of
characters one can type at 'query-replace' prompt.  (Bug#45273)
2020-12-16 21:14:40 +02:00
Bastien Guerry
7cacf5da47 Update to Org 9.4.3
Fix #45259
2020-12-16 19:17:58 +01:00
Glenn Morris
cbdd48a07b Merge from origin/emacs-27
668f0a7f84 Fix point location when completing in gdb-mi.el
2dbc95063b Update to Org 9.4.2
f22856a5c5 Update to Org 9.4.1

# Conflicts:
#	doc/misc/org.texi
#	lisp/org/ob-core.el
#	lisp/org/ob-ruby.el
#	lisp/org/ob-screen.el
#	lisp/org/ol-gnus.el
#	lisp/org/ol.el
#	lisp/org/org.el
2020-12-15 09:24:21 -08:00
Glenn Morris
fd4297b25a * doc/lispref/errors.texi (Standard Errors): Fix xref.
Though I am not sure "report a bug" is helpful.
2020-12-14 13:51:22 -08:00
Glenn Morris
d148f1090f * doc/emacs/indent.texi (Indent Convenience): Fix use of @xref. 2020-12-14 13:46:35 -08:00
Glenn Morris
7e30cb2c1c Tiny fix for lispref/variables.texi
* doc/lispref/variables.texi (Converting to Lexical Binding):
@strong{Note...} produces a spurious cross-reference in Info;
reword to avoid that.
2020-12-14 13:45:29 -08:00
Michael Albinus
c0c6cd2d5d Add 'remote-file-error' for Tramp
* doc/lispref/errors.texi (Standard Errors): Add 'remote-file-error'.

* etc/NEWS: Mention 'remote-file-error'.

* lisp/net/ange-ftp.el (ftp-error): Add error condition
`remote-file-error'.

* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Do not set
`tramp-locked'.

* lisp/net/tramp-compat.el (remote-file-error): Define if it
doesn't exist.

* lisp/net/tramp-sh.el (tramp-timeout-session): Check for "locked"
property.
(tramp-maybe-open-connection): Simplify.

* lisp/net/tramp.el (tramp-locked, tramp-locker): Remove them.
(tramp-file-name-handler): Do not set them.
(with-tramp-locked-connection): New defmacro.
(tramp-accept-process-output, tramp-send-string): Use it.

* src/fileio.c (Qremote_file_error): New error symbol.

* test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests):
Adapt test.  Remove :unstable tag.
2020-12-14 19:30:01 +01:00
Stefan Kangas
2f1441cbe3 Make XEmacs entry in the FAQ more contemporary
* doc/misc/efaq.texi (Difference between Emacs and XEmacs): Make
XEmacs entry in the FAQ more contemporary.  Remove part about re-using
XEmacs code; this is not likely to be relevant these days and in any
case is not a frequently asked question.  (Bug#45235)
2020-12-14 19:21:28 +01:00
Robert Thorpe
b63cb95ad4 Mention how to handle user names with @ in rmail
* doc/emacs/rmail.texi (Remote Mailboxes): Mention how to work
around the problem with user names like foo@example.com (bug#16946).

Copyright-paperwork-exempt: yes
2020-12-14 17:51:25 +01:00
Daniel Martín
0dd8d53344 Make goto-char offer the number at point as default
* lisp/subr.el (read-natnum-interactive): New function to read natural
numbers for interactive functions.
* src/editfns.c (Fgoto_char): Call read-natnum-interactive from the
interactive definition of goto-char to offer the number at point as
default.  Also expand the docstring to document this new interactive
behavior.
* doc/emacs/basic.texi (Moving Point): Expand the Emacs manual to
document this new behavior.
* etc/NEWS: And announce it (bug#45199).
2020-12-14 17:16:00 +01:00
Lars Ingebrigtsen
10bc4eac5b Tool bar documentation clarification: Mention forcing updates
* doc/lispref/keymaps.texi (Tool Bar): Document that flipping the
status of a tool bar item doesn't necessarily update the visuals
(bug#42957).
2020-12-14 17:07:41 +01:00
Lars Ingebrigtsen
252366866b Add a new recursively bound `current-minibuffer-command' variable
* doc/lispref/commands.texi (Command Loop Info): Document it
(bug#45177).

* src/callint.c (Fcall_interactively): Bind it.

* src/keyboard.c (syms_of_keyboard): Define
current-minibuffer-command.
2020-12-14 16:44:00 +01:00
Ulrich Ölmann
f6454ad6cd Add a DirectoryMode to the Emacs Server example
* doc/emacs/misc.texi (Emacs Server): Update example

* doc/emacs/misc.texi (Emacs Server): The socket containing directory
is per default created with permissions 0755 by the socket-unit.
However this is considered unsafe since commit [1], so enhance unit
example with systemd configuration directive `DirectoryMode=' to
create it with safe permissions, see
https://www.freedesktop.org/software/systemd/man/systemd.socket.html#DirectoryMode=

[1] 2003-04-12 "(server-socket-name): Use new safe location for socket."

Copyright-paperwork-exempt: yes
2020-12-14 16:02:54 +01:00
Stefan Kangas
e8a358c3be Update value of frame-title-format in FAQ
* doc/misc/efaq.texi (Displaying the current file name in the
titlebar): Fix default value of frame-title-format.
2020-12-14 16:24:24 +01:00
Stefan Kangas
5c361035db Don't recommend setnu and wb-line-number
* doc/misc/efaq.texi (Displaying the current line or column): Remove
reference to third-party alternatives to display-line-numbers-mode.
2020-12-14 16:22:22 +01:00
Stefan Kangas
95c9aad041 Remove more references to old versions from FAQ
* doc/misc/efaq.texi (Learning how to do something)
(Installing Emacs, Emacs for GNUstep, Emacs for macOS): Remove more
references to Emacs 22 and older from FAQ.
2020-12-14 15:52:38 +01:00
Lars Ingebrigtsen
1c115e404e Clarify Extended Menu Items a bit more
* doc/lispref/keymaps.texi (Extended Menu Items): Expand a bit
more on how submenus are formed (bug#26428).
2020-12-13 13:49:25 +01:00
Bastien Guerry
f22856a5c5 Update to Org 9.4.1 2020-12-13 13:44:15 +01:00
Stefan Kangas
89c6efc690 Remove references to Emacs before version 22 from FAQ
* doc/misc/efaq.texi (Escape sequences in shell output): Remove
reference to versions before Emacs 21.
(Basic editing, Latest version of Emacs)
(Turning on abbrevs by default, Going to a line by number)
(Security risks with Emacs): Remove references to versions before
Emacs 22.
2020-12-12 23:51:30 +01:00
Philipp Stephani
52e3ac6303 Document and enforce some properties for strings created by modules.
When creating multibyte or unibyte strings, we should guarantee the
following invariants:

- When creating empty strings, a NULL data pointer should be allowed.
  This often arises in practice if the string length isn't known in
  advance, and we don't want to unnecessarily trigger undefined
  behavior.  Since functions like memcpy might not accept NULL
  pointers, use the canonical empty string objects in this case.

- Nonzero strings should be guaranteed to be unique and mutable.
  These are the same guarantees expected from Lisp functions such as
  'make-string' or 'unibyte-string'.  On the other hand, empty strings
  might not be unique.

* src/emacs-module.c (module_make_string)
(module_make_unibyte_string): Correctly handle empty strings.

* test/src/emacs-module-resources/mod-test.c (Fmod_test_make_string):
New test function.
(emacs_module_init): Expose it.

* test/src/emacs-module-tests.el (mod-test-make-string/empty)
(mod-test-make-string/nonempty): New unit tests.

* doc/lispref/internals.texi (Module Values): Document properties and
corner cases for strings.
2020-12-12 23:28:22 +01:00
Lars Ingebrigtsen
180e309d8b Bind `C-c C-d' to rmail-epa-decrypt in rmail
* doc/emacs/rmail.texi (Rmail Display): Mention the key
binding (bug#25411).

* lisp/mail/rmail.el (rmail-mode-map): Bind C-c C-d to
rmail-epa-decrypt.
(rmail-mode): Mention it.
(rmail-epa-decrypt): Don't mark a mail as decrypted unless we're
replacing it.

* lisp/mail/rmailsum.el (rmail-summary-mode-map): Bind C-c C-d.
(rmail-summary-epa-decrypt): New command.
2020-12-12 21:19:26 +01:00
Eric Abrahamsen
8a220d7c8f New option gnus-registry-register-all
* lisp/gnus/gnus-registry.el (gnus-registry-register-all): If nil,
the registry won't automatically create new entries for all seen
messages. Defaults to t to preserve previous behavior.
(gnus-registry-handle-action): Don't automatically create entries; if
one doesn't exist, don't handle anything.
(gnus-registry-register-message-ids): Only register if this option is
t.
(gnus-registry-get-or-make-entry): Add optional no-create argument.
(gnus-registry-get-id-key): This "get" operation should only create an
entry if this option is t.
* doc/misc/gnus.texi: Documentation and news.
2020-12-12 09:03:13 -08:00
Zajcev Evgeny
f45ce78c40 Explicitly specify svg base_uri using `:base-uri' image property
* src/image.c (svg_load): Check `:base-uri' image property to
explicitly set base_uri for images embedded into SVG
(enum svg_keyword_index):
(svg_format): Add :base-uri.
* lisp/svg.el (svg-embed-base-uri-image): New function to embed images
located relative to images `:base-uri'
2020-12-12 12:48:32 +00:00
Lars Ingebrigtsen
b41942fac9 Improve the documentation of marker handling when reverting
* doc/lispref/backups.texi (Reverting): Mention markers from
non-file sources (bug#30028).

* lisp/files.el (revert-buffer): Mention what happens with markers
(bug#30028).

* src/fileio.c (Finsert_file_contents): Say a bit more about what
markers are restored (bug#30028).
2020-12-12 12:20:43 +01:00
Pankaj Jangid
dba74cb5ec Allow customizing the Gnus summary thread indicators
* doc/misc/gnus.texi (Summary Buffer Lines): Document them.

* lisp/gnus/gnus-sum.el (gnus-summary-prepare-threads): Use them.

* lisp/gnus/gnus-sum.el (gnus-sum-opening-bracket)
(gnus-sum-closing-bracket, gnus-sum-opening-bracket-adopted)
(gnus-sum-closing-bracket-adopted): New variables.
2020-12-12 11:47:17 +01:00
Lars Ingebrigtsen
004d7e97e2 Add a new command `memory-report'
* doc/lispref/internals.texi (Garbage Collection): Document it.
* lisp/emacs-lisp/memory-report.el: New package.
2020-12-11 14:49:53 +01:00
Lars Ingebrigtsen
aa7e5ce651 Add new function `object-intervals'
* doc/lispref/text.texi (Examining Properties): Document it.
* src/fns.c (Fobject_intervals): New defun.
(collect_interval): New function.
2020-12-11 14:40:20 +01:00
Lars Ingebrigtsen
9d598ef93c Add new function 'image-cache-size'
* src/image.c (Fimage_cache_size): New defun.
(image_frame_cache_size): New function.
2020-12-11 14:30:44 +01:00
Lars Ingebrigtsen
14ffab8263 Add a new function `button-buttonize'
* doc/lispref/display.texi (Manipulating Buttons): Document it.

* lisp/button.el (button-buttonize): Implement it.
2020-12-11 14:25:20 +01:00
Glenn Morris
3721cc5886 Merge from origin/emacs-27
32090a3de4 Improve documentation of streams in batch mode
34feded008 Support ks_c_5601-1987 encoding
da00a6f317 Fix Xaw widget text disappearing when built with cairo (bu...
6916e7954a Improve documentation of 'ps-print-color-p'
6663b2f211 ; * lisp/simple.el (move-beginning-of-line): Doc fix.
a4dd03ebe9 ; * src/charset.c (Fmap_charset_chars): Doc fix.
d86cc3ffcb ; * src/chartab.c, src/lisp.h: Fix typos in comments.
2020-12-09 08:50:12 -08:00
Eli Zaretskii
b3d21dcd72 Update docs of 'defvar' and 'defface'
* doc/lispref/display.texi (Defining Faces):
* doc/lispref/variables.texi (Defining Variables): Update the
descriptions of 'defvar' and 'defface' per recent changes in
'eval-last-sexp'.  (Bug#45125)
2020-12-09 17:17:09 +02:00
Lars Ingebrigtsen
445ab5cce9 cl-pushnew manual clarification
* doc/misc/cl.texi (Modify Macros): Don't claim that cl-pushnew
uses eql.
(Lists as Sets): Mention that eql is the default comparison function.
2020-12-09 14:52:53 +01:00
Daniel Martín
6e0080e755 Add commands xref-next-group and xref-prev-group
* lisp/progmodes/xref.el (xref-next-group): New command that navigates
to the first item of the next xref group (typically a file).
(xref-prev-group): New command that navigates
to the first item of the next xref group (typically a file).
(xref--xref-buffer-mode-map): Bound the new commands to 'N' and 'P',
respectively.
* doc/emacs/maintaining.texi (Xref Commands): Document the new
commands in the Emacs manual.
* etc/NEWS: Announce them (bug#45089).
2020-12-07 17:01:35 +01:00
Lars Ingebrigtsen
ff5a3c74fc Allow inhibiting the instructions on how to close emacsclient frames
* doc/emacs/misc.texi (Invoking emacsclient): Document it.
* lisp/server.el (server-client-instructions): New variable.
(server-execute): Use it.
2020-12-07 13:53:24 +01:00
Mattias Engdegård
5d04ee5085 * doc/misc/calc.texi (Predefined Units): Prune outdated kg text. 2020-12-07 13:17:59 +01:00