1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-07 20:30:32 -08:00
Commit graph

3405 commits

Author SHA1 Message Date
Basil L. Contovounesios
0fc8177414 Further improve button.el support for help-echo
The last change to forward-button added support for help-echo values
that are functions.  This patch fixes the arguments passed to such
functions and further adds support for help-echo values that are
forms (bug#37515).
* doc/lispref/display.texi (Button Properties): Fix description of
help-echo button property.
* lisp/button.el (button--help-echo): New function.
(forward-button): Use it.
(backward-button): Clarify help-echo reference in docstring.
* test/lisp/button-tests.el (button--help-echo-string)
(button--help-echo-form, button--help-echo-function): New tests.
2019-10-03 23:05:14 +01:00
Juri Linkov
2698d3dba2 Merge branch 'feature/tabs' 2019-10-01 23:15:03 +03:00
Juri Linkov
3f981a0a89 Remove unused code and reformat to 70 columns. 2019-10-01 23:01:08 +03:00
Lars Ingebrigtsen
4861328f2a Allow 'M-<' in the minibuffer to behave more logically
* doc/lispref/minibuf.texi (Completion Commands)
(Text from Minibuffer): Document it.

* lisp/minibuffer.el (minibuffer-beginning-of-buffer): New command
(bug#3447).
(map): Bind it.
2019-10-01 15:01:57 +02:00
Juanma Barranquero
24a3288278 Bump up max_specpdl_size to 1600
* src/eval.c (init_eval_once): Set max_specpdl_size to 1600.
* doc/lispref/variables.texi (Local Variables): Document it.
2019-10-01 04:33:28 +02:00
Eli Zaretskii
1e19ee781b Improve description of face merging
* doc/lispref/display.texi (Displaying Faces): More accurate
description of merging face attributes of "underlying text".
(Bug#1222)
2019-09-30 10:49:50 +03:00
Lars Ingebrigtsen
ab2a8f7077 Move convert-images-externally documentation to Emacs manual
* doc/emacs/files.texi (File Conveniences): Move bit about
convert-images-externally to user manual from lispref manual.
2019-09-29 13:32:30 +02:00
Eli Zaretskii
82c79220f5 Improve documentation of image conversion feature
* lisp/image/image-converter.el (image-converter)
(image-convert-p, image-convert):
* lisp/image.el (convert-images-externally):
* etc/NEWS:
* doc/lispref/display.texi (Defining Images): Fix recently
added documentation.
2019-09-29 10:09:56 +03:00
Lars Ingebrigtsen
63f4f02aa7 If requested, use external image converters for exotic formats
* doc/lispref/display.texi (Defining Images): Document it.

* lisp/image.el (convert-images-externally): New variable.
(image-type): Use it.
(create-image): Convert images.

* lisp/image/image-converter.el (image-converter--convert): New file.
2019-09-29 01:26:12 +02:00
Juri Linkov
457a7edb47 Update documentation for tabs.
* doc/emacs/frames.texi (Tab Bars): New node.
2019-09-28 22:55:05 +03:00
Eli Zaretskii
fc3ba91a57 Improve indexing of ELisp manual
* doc/lispref/frames.texi (Font and Color Parameters): Add index
entry for the 'mouse' face.
2019-09-28 22:09:11 +03:00
Lars Ingebrigtsen
45727c4e6d Add a new `dom-search' function
* doc/lispref/text.texi (Document Object Model): Document it.

* lisp/dom.el (dom-search): New function.
2019-09-27 00:33:45 +02:00
Stefan Kangas
814cab3b4d Add new function to clear tags in tabulated list
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-clear-all-tags):
New function to clear all tags from padding area in current buffer.
* doc/lispref/modes.texi (Tabulated List Mode): Document it.
* etc/NEWS: Announce it.
2019-09-26 17:24:35 +02:00
Mattias Engdegård
07367e5b95 Add rx extension mechanism
Add a built-in set of extension macros: `rx-define', `rx-let' and
`rx-let-eval'.

* lisp/emacs-lisp/rx.el (rx-constituents, rx-to-string): Doc updates.
(rx--builtin-symbols, rx--builtin-names, rx--local-definitions)
(rx--lookup-def, rx--substitute, rx--expand-template)
(rx--make-binding, rx--make-named-binding, rx--extend-local-defs)
(rx-let-eval, rx-let, rx-define): New.
(rx--translate-symbol, rx--translate-form): Use extensions if any.
(rx): Use local definitions.
* test/lisp/emacs-lisp/rx-tests.el (rx-let, rx-define)
(rx-to-string-define, rx-let-define, rx-let-eval): New.
* etc/NEWS (Changes in Specialized Modes and Packages):
* doc/lispref/searching.texi (Rx Notation, Rx Functions, Extending Rx):
Add node about rx extensions.
2019-09-25 14:29:50 -07:00
Mattias Engdegård
2ed71227c6 New rx implementation
* lisp/emacs-lisp/rx.el:
* test/lisp/emacs-lisp/rx-tests.el:
* doc/lispref/searching.texi (Rx Constructs):
Rewrite rx for correctness, clarity, and performance.  The new
implementation retains full compatibility and has more comprehensive
tests.

* lisp/emacs-lisp/re-builder.el (reb-rx-font-lock-keywords):
Adapt to changes in internal variables in rx.el.
2019-09-25 14:29:50 -07:00
Mattias Engdegård
a773a64748 Allow regexp-quote to return its argument
* src/search.c (Fregexp_quote): Only allocate a new string if needed.
* doc/lispref/searching.texi (Regexp Functions):
* etc/NEWS (Incompatible Lisp Changes): Document.
2019-09-25 18:09:42 +02:00
Pip Cet
873cd63ff2 Allow a :stride argument so XBM boolvecs are in the right format.
* src/image.c (xbm_image_p): Explicitly specify the right stride if a
bool vector is used as argument.
* doc/lispref/display.texi (XBM Images): Describe bool vectors
accurately.
* etc/NEWS: Document the change (bug#36337).
2019-09-24 18:35:15 +02:00
Robert Pluim
9dcdb1384d Document how to listen on all interfaces in the Elisp manual
* doc/lispref/processes.texi (Network Processes): Explain how to
listen on all interfaces.
2019-09-24 14:45:15 +02:00
Paul Eggert
946a56a10f Update some URLs
This mostly changes http: to https: in URLs.  It also updates
some URLs that have moved, removes some URLs that no longer
work, recommends against using procmail (procmail.org no
longer works), and removes some mentions of the
no-longer-existing Gmane, LPF and VTW.
It doesn't update all URLs, just the ones I had time for.
* GNUmakefile (help):
* admin/admin.el (manual-doctype-string):
* admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map):
* admin/charsets/mapconv:
* lisp/net/soap-client.el (soap-create-envelope):
* lisp/org/org.el (org-doi-server-url):
* lisp/textmodes/bibtex.el (bibtex-generate-url-list):
Prefer https: to http: un URLs.
2019-09-23 00:12:52 -07:00
Paul Eggert
d49d6ea967 Revert too-picky file-access tests
Problem reported by Andreas Schwab (Bug#37475).
* doc/lispref/files.texi (Writing to Files)
(Testing Accessibility, Kinds of Files):
Document that accessibility and file-type predicates return nil
if there is trouble determining accessibility or type.
* etc/NEWS: Adjust, and list the affected primitives.
* src/callproc.c (init_callproc): Go back to Ffile_exists_p.
* src/fileio.c (PICKY_EACCES, file_test_errno):
Remove.  All uses removed.
(Ffile_name_case_insensitive_p, Ffile_exists_p, Ffile_symlink_p)
(Ffile_directory_p, Ffile_regular_p): Document that these
functions return nil if there is trouble.
(Ffile_name_case_insensitive_p, check_file_access)
(Ffile_writable_p, Ffile_symlink_p, Ffile_directory_p)
(Ffile_accessible_directory_p, Ffile_regular_p)
* src/lread.c (Fload):
Go back to treating trouble in determining the answer as if the
file were missing.
* src/fileio.c (Ffile_newer_than_file_p): Use file_attribute_errno
not file_test_errno, since returning nil is not appropriate when
there are two files to test; e.g., in the rare cases where both
file timestamps have overflowed then neither t nor nil is correct.
2019-09-21 11:38:36 -07:00
Stefan Kangas
6d50010b34 Recommend against SHA-1 and MD5 for security
* doc/lispref/text.texi (Checksum/Hash):
* src/fns.c (Fmd5, Fsecure_hash):
* lisp/subr.el (sha1): Doc fix to recommend against SHA-1 and MD5 for
security-related applications, since they are not collision
resistant.  (Bug#37420)
2019-09-20 20:47:47 +02:00
Lars Ingebrigtsen
b8e9baac9a Allow `process-contact' not to block
* doc/lispref/processes.texi (Process Information): Document it.

* lisp/simple.el (list-processes--refresh): Don't wait for contact
information for non-setup processes.

* src/process.c (Fprocess_contact): Take an optional parameter to
avoid blocking (bug#37408).
2019-09-20 20:19:28 +02:00
Paul Eggert
d38110efa7 Also prefer .emacs.d if .emacs exists
Problem reported by Katsumi Yamaoka (Bug#37456).
* lisp/startup.el (startup--xdg-or-homedot): Also
prefer .emacs.d if a traditional .emacs file exists.
2019-09-19 01:01:35 -07:00
Paul Eggert
9dc306b1db Improve reporting of I/O, access errors
Signal an error for file-oriented errors that are not tame
errors like ENOENT and ENOTDIR (Bug#37389).
Do this for primitives exposed to Lisp; the lower
level internal C API merely makes errno values available
to higher-level C code.
* doc/lispref/files.texi (Testing Accessibility)
(File Attributes, Extended Attributes): Do not say that the
functions return nil when the return value cannot be determined.
* etc/NEWS: Mention the change.
* src/dired.c (Ffile_attributes): Fix doc string confusion
about opening a file vs getting its attributes.
(file_attributes): Signal serious errors.
* src/fileio.c (check_existing, check_executable)
(check_writable): Remove.  All callers changed to use
check_file_access or file_access_p.
(file_access_p, file_metadata_errno, file_attribute_errno)
(file_test_errno, check_file_access, check_emacs_readlinkat):
New functions.
* src/fileio.c (Ffile_executable_p, Ffile_readable_p)
(Ffile_name_case_insensitive_p, Frename_file, Ffile_exists_p):
(Ffile_symlink_p, Ffile_directory_p)
(Ffile_accessible_directory_p, Ffile_regular_p)
(Ffile_selinux_context, Ffile_acl, Ffile_modes)
(Ffile_newer_than_file_p, Fset_visited_file_modtime)
(Ffile_system_info):
* src/filelock.c (unlock_file, Ffile_locked_p):
* src/lread.c (Fload):
Signal serious errors.
* src/fileio.c (Ffile_writable_p): Remove unnecessary CHECK_STRING.
(emacs_readlinkat): Now static.
* src/filelock.c (current_lock_owner, lock_if_free): Return a
positive errno on error, and the negative of the old old value
on success.  All callers changed.
* src/lread.c (openp): Propagate serious errno values to caller.
2019-09-17 19:24:38 -07:00
Mattias Engdegård
d27fb533ff * doc/lispref/searching.texi (Rx Constructs): Fix typo. 2019-09-17 12:02:31 +02:00
Glenn Morris
a625ca5c26 Merge from origin/emacs-26
30c4f35 (origin/emacs-26) query-replace-regexp undo: Update next-repl...
c596be0 Amend the menu caption for page "Display Property" in the Eli...
13b9510 Add description of chinese-sisheng
2019-09-15 16:38:23 -07:00
Glenn Morris
8297df9d4b Merge from origin/emacs-26
8e420c0 Clarify the use of left/right-margin-width in determining cur...
2019-09-15 16:38:20 -07:00
Paul Eggert
1acc0cc9aa Improve doc of GC thresholds
* doc/lispref/internals.texi (Garbage Collection), etc/NEWS:
Warn that control over GC is only approximate.
2019-09-14 10:56:12 -07:00
Gemini Lasswell
2093395dbf Improve print output options commands in backtrace-mode (bug#36566)
* lisp/emacs-lisp/backtrace.el (backtrace-view): Mention
:print-gensym in docstring.
(backtrace-mode-map): Add keyboard binding for
backtrace-toggle-print-gensym.  Add menu entries for
backtrace-toggle-print-circle and backtrace-toggle-print-gensym.
(backtrace--with-output-variables): Bind print-gensym with value
of :print-gensym found in view plist.
(backtrace-toggle-print-circle): Remove description of
implementation details from docstring.
(backtrace-toggle-print-gensym): New command.
(backtrace--toggle-feature): Add echo area message describing result
of command.

* test/lisp/emacs-lisp/backtrace-tests.el
(backtrace-tests--print-circle): New test.

* doc/lispref/debugging.texi (Backtraces): Document keyboard
binding for backtrace-toggle-print-gensym.
2019-09-13 13:43:07 -07:00
Alan Mackenzie
c596be08f7 Amend the menu caption for page "Display Property" in the Elisp manual.
* doc/lispref/display.texi (Emacs Display): Replace a content-free menu
caption with one mentioning images, margins and text size.
2019-09-07 18:15:40 +00:00
Paul Eggert
7c37b17b3d * doc/lispref/files.texi (Standard File Names): Mention .emacs.d too. 2019-09-02 11:32:50 -07:00
Paul Eggert
72ab46fefc Improve documentation for recent XDG-related changes
Adjust documentation in the light of Eli’s review here:
https://lists.gnu.org/r/emacs-devel/2019-07/msg00712.html
* doc/emacs/custom.texi (Init File, Find Init):
* doc/lispref/files.texi (Standard File Names):
* doc/lispref/os.texi (Init File):
2019-08-31 18:17:57 -07:00
Paul Eggert
02a74ed315 * doc/lispref/customize.texi: Fix typo. 2019-08-31 14:48:57 -07:00
Alan Mackenzie
8e420c09bc Clarify the use of left/right-margin-width in determining current margin width
* doc/lispref/display.texi (Display-Margins):  Clarify that
left/right-margin-width can not be used to determine the current margin width,
and that window-margins must be used instead.
2019-08-31 14:32:13 +00:00
Paul Eggert
4118297ae2 Use XDG conventions more consistently
Fit in better with the XDG conventions.
Something like this was suggested in 2008 (Bug#583)
and the XDG conventions seem to have settled down by now.
* doc/emacs/custom.texi (Init File, Init Syntax, Find Init):
* doc/lispref/files.texi (Standard File Names):
* doc/lispref/os.texi (Init File):
* doc/misc/url.texi (Customization):
* etc/NEWS:
Adjust accordingly.
* lisp/startup.el (startup--load-user-init-file):
If init-file-name is nil, do not load from it; instead
just use the alt-file.
(find-init-path): Remove; no longer used.
(command-line): Don't check twice for XDG.
Look at XDG_CONFIG_HOME instead of assuming it's ~/.config.
Prefer XDG configuration if it exists; the user can disable
this by setting XDG_CONFIG_HOME to some other place.
* lisp/subr.el (user-emacs-directory):
Prefer XDG configuration if it exists.
2019-08-27 14:49:30 -07:00
Lars Ingebrigtsen
c5210fd00a Mention new usage of `invalid-read-syntax' in the manual
* doc/lispref/errors.texi (Standard Errors): Document "trailing
garbage" use of `invalid-read-syntax' (bug#24649).
2019-08-23 20:42:51 +02:00
Robert Pluim
11bfc0ffcc Correct description of network-lookup-address-info
* doc/lispref/processes.texi (Misc Network): Remove erroneous text
  about port numbers
2019-08-23 10:06:40 +02:00
Lars Ingebrigtsen
53cb3d3e0d Merge remote-tracking branch 'origin/netsec' 2019-08-23 04:49:52 +02:00
Lars Ingebrigtsen
b60bdfcd4c Adjust quit-window-hook documentation
* doc/lispref/windows.texi (Quitting Windows): Adjust
documentation of quit-window-hook (bug#9867).
2019-08-21 13:22:56 -07:00
Lars Ingebrigtsen
ab9cb08ebb Mention quit-window-hook in "Standard Hooks"
* doc/lispref/hooks.texi (Standard Hooks): Mention
quit-window-hook (bug#9867).
2019-08-21 13:21:52 -07:00
Noam Postavsky
7e2090ee80 Respect global-eldoc-mode in minibuffers (Bug#36886)
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Accept
a BODY parameter.
* doc/lispref/modes.texi (Defining Minor Modes): Document new
parameter.
* etc/NEWS: Announce it.

* lisp/simple.el (read--expression): Move eldoc-mode setup to...
* lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): ... here,
new function.
(global-eldoc-mode): Add or remove it to
eval-expression-minibuffer-setup-hook when enabling or disabling
global-eldoc-mode.  This enables eldoc in the minibuffer (solving
Bug#27202), only when global-eldoc-mode is enabled.
2019-08-20 20:20:52 -04:00
Paul Eggert
5a95521282 Support larger TIMEs in (time-convert TIME t)
Also, improve the doc to match current behavior.
* doc/lispref/os.texi (Time Conversion): Document that
time-convert signals an error for infinite or NaN args,
and that (time-convert TIME t) is exact otherwise.
Mention float-time as an alternative to time-convert.
(Time Calculations): Document that time-add and time-subtract
are exact and do not decrease HZ below the minimum of their args.
* src/timefns.c (decode_float_time): Don’t signal an error for
floating-point arguments whose base-FLT_RADIX exponent is not less
than DBL_MANT_DIG.  Instead, convert them to (TICKS . 1) values.
Use two (instead of three) integer exponent comparisons in the
typical case.
* test/src/timefns-tests.el (time-arith-tests):
Add more floating-point tests, including some tests
that the old code fails.
2019-08-20 15:45:59 -07:00
Glenn Morris
af103ef3c9 Merge from origin/emacs-26
615cff4 (origin/emacs-26) Fix process filter documentation (Bug#13400)
beb1d22 Fix query-replace-regexp undo feature

# Conflicts:
#	test/lisp/replace-tests.el
2019-08-20 09:04:53 -07:00
Lars Ingebrigtsen
afdf679841 Add a new hook: `quit-window-hook'
* doc/lispref/windows.texi (Quitting Windows): Mention in.

* lisp/window.el (quit-restore-window): Run the new
`quit-window-hook' before doing anything else (bug#9867).
(quit-window): Note that the hook will be run in the doc string.

* lisp/window.el (quit-window-hook): New variable.
2019-08-19 19:21:53 -07:00
Noam Postavsky
615cff4258 Fix process filter documentation (Bug#13400)
* doc/lispref/processes.texi (Asynchronous Processes): Note that input
may read when sending data as well.
(Output from Processes): Note that functions which send data may also
trigger reading from processes.
(Input to Processes, Filter Functions): Note that filter functions may
be called recursively.
2019-08-19 19:49:50 -04:00
Lars Ingebrigtsen
1b96e022b6 Allow set-frame-height/set-frame-width to be used interactively
* doc/lispref/frames.texi (Frame Size): Document it.

* src/frame.c (Fset_frame_height):
(Fset_frame_width): Make into commands that use the numeric prefix
to set height/width (bug#9970).
2019-08-18 16:50:08 -07:00
Štěpán Němec
b8c4a9e0f8 Add an advice-add/interactive spec example
* doc/lispref/functions.texi (Core Advising Primitives): Add an
advice-add example that extends the `interactive' spec (bug#17871).
2019-08-18 16:05:48 -07:00
Paul Eggert
37257d6aca More-compatible subsecond calendrical timestamps
Instead of appending a subseconds member to the result of
‘decode-time’, this keeps the format unchanged unless you give
a new optional argument to ‘decode-time’.  Also, the augmented
format now puts the subsecond info in the SECONDS element, so
the total number of elements is unchanged; this is more
compatible with code that expects the traditional 9 elements,
such as ‘(pcase decoded-time (`(,SEC ,MIN ,HOUR ,DAY ,MON
,YEAR ,DOW ,DST ,ZONE) ...) ...)’.
* doc/lispref/os.texi, doc/misc/emacs-mime.texi, etc/NEWS:
* lisp/net/soap-client.el (soap-decode-date-time):
* lisp/simple.el (decoded-time):
Document the new behavior.
* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
* lisp/calendar/iso8601.el (iso8601-parse)
(iso8601-parse-time, iso8601-parse-duration)
(iso8601--decoded-time):
* lisp/calendar/parse-time.el (parse-time-string):
* lisp/calendar/time-date.el (decoded-time-add)
(decoded-time--alter-second):
* lisp/org/org.el (org-parse-time-string):
* lisp/simple.el (decoded-time):
* src/timefns.c (Fdecode_time, Fencode_time):
* test/lisp/calendar/icalendar-tests.el:
(icalendar--decode-isodatetime):
* test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
(test-iso8601-date-dates, test-iso8601-date-obsolete)
(test-iso8601-date-weeks, test-iso8601-date-ordinals)
(test-iso8601-time, test-iso8601-combined)
(test-iso8601-duration, test-iso8601-intervals)
(standard-test-dates, standard-test-time-of-day-fractions)
(standard-test-time-of-day-beginning-of-day)
(standard-test-time-of-day-utc)
(standard-test-time-of-day-zone)
(standard-test-date-and-time-of-day, standard-test-interval):
* test/lisp/calendar/parse-time-tests.el (parse-time-tests):
* test/src/timefns-tests.el (format-time-string-with-zone)
(encode-time-dst-numeric-zone):
Revert recent changes that added a SUBSECS member to
calendrical timestamps, since that component is no longer
present (the info, if any, is now in the SECONDS member).
* lisp/calendar/time-date.el (decoded-time-add)
(decoded-time--alter-second):
Support fractional seconds in the new form.  Simplify.
* src/timefns.c (Fdecode_time): Support new arg FORM.
(Fencode_time): Support subsecond resolution.
* test/src/timefns-tests.el (format-time-string-with-zone)
(decode-then-encode-time): Test subsecond calendrical timestamps.
2019-08-16 23:25:07 -07:00
Lars Ingebrigtsen
d1d738c826 Add some examples in "Adding Generalized Variables"
* doc/lispref/variables.texi (Adding Generalized Variables): Add
examples for `gv-define-expander' and `gv-letplace' (bug#13343).
2019-08-15 23:57:57 -07:00
Lars Ingebrigtsen
3c49494691 Mention what effect nil has as the prompt for read-event/char/etc
* doc/lispref/commands.texi (Reading One Event): Mention that ""
has the same effect as nil as a prompt.

* src/lread.c (Fread_event, Fread_char_exclusive, Fread_char):
Mention what happens when PROMPT is nil/"" in the doc string
(bug#15012).
2019-08-15 15:04:30 -07:00