Merge remote-tracking branch 'savannah/master' into feature/tree-sitter
This commit is contained in:
commit
aaeaa310f0
692 changed files with 36720 additions and 8897 deletions
|
@ -1,12 +1,18 @@
|
|||
Language: Cpp
|
||||
BasedOnStyle: GNU
|
||||
AlignEscapedNewlinesLeft: true
|
||||
AlignOperands: Align
|
||||
AlwaysBreakAfterReturnType: TopLevelDefinitions
|
||||
BreakBeforeBinaryOperators: All
|
||||
BreakBeforeBraces: GNU
|
||||
ColumnLimit: 70
|
||||
ContinuationIndentWidth: 2
|
||||
ForEachMacros: [FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE]
|
||||
ForEachMacros:
|
||||
- FOR_EACH_TAIL
|
||||
- FOR_EACH_TAIL_SAFE
|
||||
- FOR_EACH_LIVE_BUFFER
|
||||
- ITREE_FOREACH
|
||||
- FOR_EACH_ALIST_VALUE
|
||||
IncludeCategories:
|
||||
- Regex: '^<config\.h>$'
|
||||
Priority: -1
|
||||
|
@ -16,11 +22,17 @@ IncludeCategories:
|
|||
Priority: 2
|
||||
- Regex: '.*'
|
||||
Priority: 3
|
||||
WhitespaceSensitiveMacros:
|
||||
- STR
|
||||
- CALL1I
|
||||
- CALL2I
|
||||
- STR_VALUE
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
MaxEmptyLinesToKeep: 1
|
||||
PenaltyBreakBeforeFirstCallParameter: 2000
|
||||
SpaceAfterCStyleCast: true
|
||||
SpaceBeforeParens: Always
|
||||
UseTab: Always
|
||||
|
||||
# Local Variables:
|
||||
# mode: yaml
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;;; Directory Local Variables
|
||||
;;; Directory Local Variables -*- no-byte-compile: t; -*-
|
||||
;;; For more information see (info "(emacs) Directory Variables")
|
||||
|
||||
((nil . ((tab-width . 8)
|
||||
|
@ -7,9 +7,11 @@
|
|||
(emacs-lisp-docstring-fill-column . 65)
|
||||
(vc-git-annotate-switches . "-w")
|
||||
(bug-reference-url-format . "https://debbugs.gnu.org/%s")
|
||||
(diff-add-log-use-relative-names . t)))
|
||||
(diff-add-log-use-relative-names . t)
|
||||
(vc-prepare-patches-separately . nil)))
|
||||
(c-mode . ((c-file-style . "GNU")
|
||||
(c-noise-macro-names . ("INLINE" "ATTRIBUTE_NO_SANITIZE_UNDEFINED" "UNINIT" "CALLBACK" "ALIGN_STACK"))
|
||||
(c-noise-macro-names . ("INLINE" "NO_INLINE" "ATTRIBUTE_NO_SANITIZE_UNDEFINED"
|
||||
"UNINIT" "CALLBACK" "ALIGN_STACK"))
|
||||
(electric-quote-comment . nil)
|
||||
(electric-quote-string . nil)
|
||||
(indent-tabs-mode . t)
|
||||
|
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -25,6 +25,7 @@
|
|||
|
||||
# Personal customization.
|
||||
.dir-locals-2.el
|
||||
.no-advice-on-failure
|
||||
|
||||
# Built by 'autogen.sh'.
|
||||
/aclocal.m4
|
||||
|
@ -324,7 +325,7 @@ lib-src/seccomp-filter-exec.pfc
|
|||
/etc/*.gschema.valid
|
||||
|
||||
# Ignore directory made by admin/make-manuals.
|
||||
manual/
|
||||
/manual/
|
||||
|
||||
# Ignore Finder files on MacOS.
|
||||
.DS_Store
|
||||
|
|
|
@ -202,9 +202,10 @@ them right the first time, so here are guidelines for formatting them:
|
|||
you can put a paragraph (after the empty line and before the
|
||||
individual ChangeLog entries) that further describes the commit.
|
||||
|
||||
- Limit lines in commit messages to 78 characters, unless they consist
|
||||
of a single word of at most 140 characters; this is enforced by a
|
||||
commit hook.
|
||||
- Lines in ChangeLog entries should preferably be not longer than 63
|
||||
characters, and must not exceed 78 characters, unless they consist
|
||||
of a single word of at most 140 characters; this 78/140 limit is
|
||||
enforced by a commit hook.
|
||||
|
||||
- If only a single file is changed, the summary line can be the normal
|
||||
file first line (starting with the asterisk). Then there is no
|
||||
|
|
|
@ -930,7 +930,7 @@
|
|||
(mostlyclean_dirs, clean_dirs, distclean_dirs, maintainer_clean_dirs):
|
||||
New variables.
|
||||
(mostlyclean, clean, distclean, bootstrap-clean, maintainer-clean)
|
||||
(extraclean): Define using each subdirectory as a prequisite.
|
||||
(extraclean): Define using each subdirectory as a prerequisite.
|
||||
* lib/Makefile.am (bootstrap-clean): New.
|
||||
|
||||
2014-06-15 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
@ -5685,7 +5685,7 @@
|
|||
(__mktime_internal): Use it systematically for all isdst comparisons.
|
||||
This completes the fix for libc BZ #6723, and removes the need for
|
||||
normalizing tm_isdst.
|
||||
See <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
|
||||
See <https://sourceware.org/bugzilla/show_bug.cgi?id=6723>
|
||||
(not_equal_tm) [DEBUG]: Use isdst_differ here, too.
|
||||
|
||||
mktime: fix some integer overflow issues and sidestep the rest
|
||||
|
|
|
@ -9317,7 +9317,7 @@
|
|||
optional.
|
||||
|
||||
* src/buffer.c (Fbarf_if_buffer_read_only): Rename argument POS
|
||||
to POSITION to keep consisteny with doc-string.
|
||||
to POSITION to keep consistent with doc-string.
|
||||
|
||||
2016-02-01 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
|
@ -26343,7 +26343,7 @@
|
|||
(verilog-type-font-keywords): Cycle delay operators like ##1 and
|
||||
##[0:$] are now highlighted in their entirety similarly to the #
|
||||
delay-control operator. Likewise, the followed-by operators #-#
|
||||
and #=# are no longer partially highlighed.
|
||||
and #=# are no longer partially highlighted.
|
||||
(verilog-backward-syntactic-ws-quick)
|
||||
(verilog-skip-backward-comments): Minor performance improvements
|
||||
to buffer traversal functions for reduced latency.
|
||||
|
@ -34464,7 +34464,7 @@
|
|||
|
||||
* lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
|
||||
(package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
|
||||
as special keywords which match agains package archive and status
|
||||
as special keywords which match against package archive and status
|
||||
respectively.
|
||||
* etc/NEWS: Document it.
|
||||
|
||||
|
|
240
ChangeLog.3
240
ChangeLog.3
|
@ -4043,7 +4043,7 @@
|
|||
|
||||
* doc/emacs/maintaining.texi (Basic VC Editing): Mention Dired buffer.
|
||||
|
||||
* doc/emacs/text.texi (Outline Mode): Replace S-TAB with with S-<TAB>.
|
||||
* doc/emacs/text.texi (Outline Mode): Replace S-TAB with S-<TAB>.
|
||||
|
||||
* etc/NEWS: Add some missing +++/--- and move some related items closer.
|
||||
|
||||
|
@ -5557,7 +5557,7 @@
|
|||
Fix ert errors when there's a test that binds `debug-on-error'
|
||||
|
||||
* lisp/emacs-lisp/ert.el (ert--run-test-internal): Don't infloop
|
||||
on errors when signalling errors (bug#51131).
|
||||
on errors when signaling errors (bug#51131).
|
||||
|
||||
2021-10-10 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
|
@ -5731,7 +5731,7 @@
|
|||
|
||||
2021-10-09 Dmitry Gutov <dgutov@yandex.ru>
|
||||
|
||||
Slight simplificaiton
|
||||
Slight simplification
|
||||
|
||||
* lisp/progmodes/xref.el (xref--insert-xrefs):
|
||||
Compute log only once. Use 'dolist'.
|
||||
|
@ -12670,7 +12670,7 @@
|
|||
|
||||
2021-09-03 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Fix `describe-function' for autoloaded adviced functions
|
||||
Fix `describe-function' for autoloaded advised functions
|
||||
|
||||
* lisp/emacs-lisp/nadvice.el (advice--make-single-doc): Factor
|
||||
out.
|
||||
|
@ -20026,7 +20026,7 @@
|
|||
|
||||
Add query command removed in 4ff1f66b12
|
||||
|
||||
* lisp/net/rcirc.el (query): Readd accidentally removed command
|
||||
* lisp/net/rcirc.el (query): Re-add accidentally removed command.
|
||||
|
||||
2021-07-06 Philip Kaludercic <philipk@posteo.net>
|
||||
|
||||
|
@ -21063,7 +21063,7 @@
|
|||
Fix prompting for large files when loading literally
|
||||
|
||||
* lisp/files.el (find-file-noselect): Don't include "literally" in
|
||||
the "large file" prompt if we're gonna load literally anyway
|
||||
the "large file" prompt if we're going to load literally anyway
|
||||
(bug#49144).
|
||||
|
||||
2021-06-21 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
@ -21772,7 +21772,7 @@
|
|||
|
||||
EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior
|
||||
|
||||
Change docs to advertize `slot-value` rather than `oref`.
|
||||
Change docs to advertise `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.
|
||||
|
@ -21790,8 +21790,8 @@
|
|||
|
||||
* 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
|
||||
(oref): Don't advertise the deprecated use of initargs as slot names.
|
||||
(oref-default): Don't advertise 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
|
||||
|
@ -27204,7 +27204,7 @@
|
|||
|
||||
2021-04-25 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Merge branch 'feature/native-comp' into into trunk
|
||||
Merge branch 'feature/native-comp' into trunk
|
||||
|
||||
2021-04-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
|
@ -34265,7 +34265,7 @@
|
|||
Use `length=' and family where possible in native comp code
|
||||
|
||||
* lisp/emacs-lisp/comp-cstr.el (comp-intersect-typesets)
|
||||
(comp-cstr-imm): Use Use `length=' and family where possible.
|
||||
(comp-cstr-imm): Use `length=' and family where possible.
|
||||
* lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-target-block)
|
||||
(comp-compute-dominator-frontiers)
|
||||
(batch-byte-native-compile-for-bootstrap): Likewise.
|
||||
|
@ -35728,7 +35728,7 @@
|
|||
(comp-arithm-cmp-fun-p, comp-negate-arithm-cmp-fun)
|
||||
(comp-reverse-arithm-fun): Rename and add '=' '!='.
|
||||
(comp-emit-assume, comp-add-cond-cstrs, comp-fwprop-insn): Update
|
||||
for new function nameing and to handle '='.
|
||||
for new function naming and to handle '='.
|
||||
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): New function.
|
||||
* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a bunch
|
||||
of '=' specific tests.
|
||||
|
@ -36674,7 +36674,7 @@
|
|||
|
||||
2021-02-24 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Fix async compilation and paramenter naming
|
||||
Fix async compilation and parameter naming
|
||||
|
||||
* lisp/emacs-lisp/comp.el (native--compile-async)
|
||||
(native-compile-async): Fix broken parameter renaming.
|
||||
|
@ -39854,7 +39854,7 @@
|
|||
|
||||
* lisp/net/mairix.el: Use lexical-binding.
|
||||
Remove redundant `:group` args.
|
||||
(mairix-widget-create-query): Remove unnused var `allwidgets`.
|
||||
(mairix-widget-create-query): Remove unused var `allwidgets`.
|
||||
|
||||
2021-02-09 Juri Linkov <juri@linkov.net>
|
||||
|
||||
|
@ -40177,7 +40177,7 @@
|
|||
|
||||
* lisp/simple.el (recenter-current-error): New command.
|
||||
* lisp/progmodes/grep.el (grep-mode-map):
|
||||
Delete bidings for n and p.
|
||||
Delete bindings for n and p.
|
||||
|
||||
* lisp/progmodes/compile.el (compilation-minor-mode-map):
|
||||
Move here the n and p bindings.
|
||||
|
@ -41213,7 +41213,7 @@
|
|||
|
||||
2021-02-02 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Fix up invalid_syntax error signalling
|
||||
Fix up invalid_syntax error signaling
|
||||
|
||||
* src/lread.c (invalid_syntax_lisp): Instead of putting the
|
||||
line/column in a string, signal an error containing the numbers as
|
||||
|
@ -41694,7 +41694,7 @@
|
|||
in a global minor mode. This commit fixes bug #45792.
|
||||
|
||||
* lisp/international/quail.el (quail-show-guidance): Test the major mode is
|
||||
not minibuffer-inactive-mode before proceding with the function.
|
||||
not minibuffer-inactive-mode before proceeding with the function.
|
||||
|
||||
2021-01-31 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
|
@ -43613,7 +43613,7 @@
|
|||
RFC2047-encode invalid Subject/From headers (bug#45925). This
|
||||
will make them be displayed more consistently in the Summary
|
||||
buffer (but still "wrong" sometimes, since there's not that much
|
||||
we can guess at at this stage, charset wise).
|
||||
we can guess at this stage, charset wise).
|
||||
(nnml-parse-head): Use it.
|
||||
|
||||
2021-01-22 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
@ -48572,7 +48572,7 @@
|
|||
c-laomib-loop. Insert code which calls c-laomib-loop minimally, with the help
|
||||
of the new cache.
|
||||
|
||||
* lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the new cach
|
||||
* lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the new cache
|
||||
(at mode start).
|
||||
(c-before-change): Invalidate the new cache.
|
||||
(c-fl-decl-start): Add an extra check (> (point) bod-lim) to prevent looping.
|
||||
|
@ -49106,7 +49106,7 @@
|
|||
(comp-split-pos-neg): Minor.
|
||||
(comp-normalize-typeset): Logic update.
|
||||
(comp-union-typesets): Minor.
|
||||
(comp-intersect-two-typesets): New functio.
|
||||
(comp-intersect-two-typesets): New function.
|
||||
(comp-intersect-typesets): Logic update.
|
||||
(comp-range-union, comp-range-intersection): Minor.
|
||||
(comp-cstr-union-homogeneous, comp-cstr-union-1-no-mem)
|
||||
|
@ -50078,7 +50078,7 @@
|
|||
Optimize c-parse-state for large buffers with few (if any) braces.
|
||||
|
||||
* lisp/progmodes/cc-engine.el (c-get-fallback-scan-pos): Search a maximum of
|
||||
50,000 characters back for the two BODs. Return nil if we dont' find them.
|
||||
50,000 characters back for the two BODs. Return nil if we don't find them.
|
||||
(c-parse-state-get-strategy): For strategy `forward', always use the position
|
||||
`good-pos' for `start-point', even when there's a change of current macro.
|
||||
Deal with a possible return value of nil from c-get-fallback-scan-pos (as
|
||||
|
@ -50911,7 +50911,7 @@
|
|||
|
||||
2020-12-12 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Alter the "Redundant pcase patter" warning message
|
||||
Alter the "Redundant pcase pattern" warning message
|
||||
|
||||
* lisp/emacs-lisp/pcase.el (pcase--expand): Make the "Redundant
|
||||
pcase pattern" warning less vague (bug#31350).
|
||||
|
@ -54142,7 +54142,7 @@
|
|||
Tweak the face of unknown backend indicators in flymake
|
||||
|
||||
* lisp/progmodes/flymake.el (flymake--mode-line-format): Don't put
|
||||
a face on the the "?" unknown backend indicator, because that
|
||||
a face on the "?" unknown backend indicator, because that
|
||||
looks odd in inactive windows (bug#44689).
|
||||
|
||||
2020-11-24 Paul W. Rankin <pwr@skeletons.cc>
|
||||
|
@ -55996,7 +55996,7 @@
|
|||
|
||||
2020-11-12 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Unline some functions to optimize bootstrap time
|
||||
Uninline some functions to optimize bootstrap time
|
||||
|
||||
* lisp/emacs-lisp/comp.el (comp-mvar-value-vld-p)
|
||||
(comp-mvar-value, comp-mvar-fixnum-p, comp-set-op-p)
|
||||
|
@ -56612,7 +56612,7 @@
|
|||
|
||||
2020-11-07 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Allow for manually bumbing new native compiler ABI versions
|
||||
Allow for manually bumping new native compiler ABI versions
|
||||
|
||||
* src/comp.c (ABI_VERSION): Define macro.
|
||||
(hash_native_abi): Include ABI_VERSION in the hashing.
|
||||
|
@ -61229,7 +61229,7 @@
|
|||
|
||||
2020-10-14 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Have `native-elisp-load' return the last registerd function
|
||||
Have `native-elisp-load' return the last registered function
|
||||
|
||||
* lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Synthesize
|
||||
'top_level_run' so it returns the last value returned by
|
||||
|
@ -63478,7 +63478,7 @@
|
|||
user-error when there's a wrong password (bug#43704).
|
||||
(epa--wrong-password-p): New function.
|
||||
(epa-file-insert-file-contents): Use it, and stash the error away
|
||||
for later signalling.
|
||||
for later signaling.
|
||||
|
||||
* lisp/emacs-lisp/subr-x.el (if-let): Autoload.
|
||||
|
||||
|
@ -65831,7 +65831,7 @@
|
|||
|
||||
Better error handling after calling 'gcc_jit_context_compile_to_file'
|
||||
|
||||
Typically errors are catched in 'compile_function' but in case
|
||||
Typically errors are caught in 'compile_function' but in case
|
||||
libgccjit throw an error only afterwards while compiling the whole
|
||||
compilation unit we have to report it correctly.
|
||||
|
||||
|
@ -67774,7 +67774,7 @@
|
|||
|
||||
2020-09-05 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Revert "Display name with with spaces, but keep symbol name underneath"
|
||||
Revert "Display name with spaces, but keep symbol name underneath"
|
||||
|
||||
This reverts commit e0c77bb62c1c950a82ea0517646d989dc5c1fe27.
|
||||
|
||||
|
@ -67854,7 +67854,7 @@
|
|||
|
||||
2020-09-05 ej-32u <ej32u@protonmail.com> (tiny change)
|
||||
|
||||
Display name with with spaces, but keep symbol name underneath
|
||||
Display name with spaces, but keep symbol name underneath
|
||||
|
||||
* lisp/cus-edit.el (custom-unlispify-menu-entry): Display the
|
||||
pretty name, but keep the real symbol name as the value (bug#41905).
|
||||
|
@ -73089,7 +73089,7 @@
|
|||
* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-2): End the
|
||||
expression before the terminating $ in constructions like $\it
|
||||
identifiername$
|
||||
(bug#28277). This avoids italicising the final $ character.
|
||||
(bug#28277). This avoids italicizing the final $ character.
|
||||
|
||||
This fixes the final $ of the final test case here:
|
||||
|
||||
|
@ -73421,7 +73421,7 @@
|
|||
|
||||
2020-08-08 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Modernise a code example in os.texi
|
||||
Modernize a code example in os.texi
|
||||
|
||||
* doc/lispref/os.texi (Session Management): Use
|
||||
with-current-buffer in the example instead of save+switch (bug#40341).
|
||||
|
@ -75687,7 +75687,7 @@
|
|||
|
||||
* lisp/net/eww.el (eww-list-bookmarks): Don't show buffer if there
|
||||
are no bookmarks. (Bug#41385)
|
||||
(eww-bookmark-prepare): Move signalling an error if there are no
|
||||
(eww-bookmark-prepare): Move signaling an error if there are no
|
||||
bookmarks from here...
|
||||
(eww-read-bookmarks): ...to here. Add new argument `error-out' to
|
||||
control this.
|
||||
|
@ -75941,7 +75941,7 @@
|
|||
|
||||
2020-07-13 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Rework the backend to allocate arument arrays for call by references
|
||||
Rework the backend to allocate argument arrays for call by references
|
||||
|
||||
* src/comp.c (comp_t): Add 'zero' field.
|
||||
(emit_limple_call_ref): Allocate an array to host the parameters
|
||||
|
@ -76328,7 +76328,7 @@
|
|||
|
||||
Add a simple pass to infer pure functions not explicitly declared as
|
||||
such. Use this information only during compilation (speed 3) to
|
||||
optimize out function calls whe possible.
|
||||
optimize out function calls when possible.
|
||||
|
||||
2020-07-09 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
|
@ -77634,7 +77634,7 @@
|
|||
|
||||
Add an initial implementation to support dynamic scope. Arg
|
||||
parsing/binding it's done using the existing code in use for
|
||||
bytecode (no ad-hoc code is synthetized for that).
|
||||
bytecode (no ad-hoc code is synthesized for that).
|
||||
|
||||
* src/lisp.h (struct Lisp_Subr): Add lambda_list field.
|
||||
(SUBR_NATIVE_COMPILED_DYNP): New inliner.
|
||||
|
@ -78012,7 +78012,7 @@
|
|||
cd4f75bb86 Rename default function to next-error-buffer-unnavigated-c...
|
||||
1dff0a8949 * lisp/image-mode.el (image-toggle-display-image): Fix fit...
|
||||
a71d1787f1 * doc/misc/tramp.texi (Predefined connection information):...
|
||||
079b0dc430 Delete, don't kill, dir dir fragments in icomplete-fido-ba...
|
||||
079b0dc430 Delete, don't kill, dir fragments in icomplete-fido-ba...
|
||||
6cdecc2659 Revert markup change in with-coding-priority docs
|
||||
22f4fba8a9 * lisp/emulation/cua-rect.el (cua--rectangle-region-insert...
|
||||
6b9eac6759 * lisp/simple.el (shell-command-on-region): Fix docstring.
|
||||
|
@ -78249,7 +78249,7 @@
|
|||
(comp-latch-make-fill): New function.
|
||||
(comp-emit-uncond-jump, comp-emit-cond-jump): Update to emit
|
||||
latches.
|
||||
(comp-new-block-sym): Add a postfix paramenter.
|
||||
(comp-new-block-sym): Add a postfix parameter.
|
||||
|
||||
2020-06-13 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
|
@ -78602,7 +78602,7 @@
|
|||
Fix comp-call-optim-form-call for null `callee'
|
||||
|
||||
* lisp/emacs-lisp/comp.el (comp-call-optim-form-call): Guard
|
||||
agains null `calle'.
|
||||
against null `calle'.
|
||||
|
||||
2020-06-07 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
|
@ -79675,7 +79675,7 @@
|
|||
Simply return the directory selected by the user.
|
||||
(project-switch-project-find-file): Remove.
|
||||
(project-switch-project-dired): Rename to project-dired and make
|
||||
it follow the convention of existing projec tcommands.
|
||||
it follow the convention of existing project tcommands.
|
||||
(project-switch-project-eshell): Ditto.
|
||||
(project-switch-project): Instead of passing the project instance
|
||||
to the command, just bind default-directory.
|
||||
|
@ -80910,7 +80910,7 @@
|
|||
'lambda_gc_guard' 'lambda_c_name_idx_h' 'data_imp_relocs'
|
||||
'loaded_once' fields.
|
||||
|
||||
* src/comp.c (load_comp_unit): Use compilaiton unit 'loaded_once'
|
||||
* src/comp.c (load_comp_unit): Use compilation unit 'loaded_once'
|
||||
field.
|
||||
(make_subr, Fcomp__register_lambda): New functions.
|
||||
(Fcomp__register_subr): Make use of 'make_subr'.
|
||||
|
@ -81264,7 +81264,7 @@
|
|||
Fix bug #40992 whilst still allowing breakpoint highlights in edebug
|
||||
|
||||
Strategy: when an instrumented function gets re-evaluated, save the former
|
||||
value of its symbol's `edebug' property in the new propery `ghost-edebug'. If
|
||||
value of its symbol's `edebug' property in the new property `ghost-edebug'. If
|
||||
this function is still being edebugged, edebug will then access its info from
|
||||
this new property.
|
||||
|
||||
|
@ -83843,7 +83843,7 @@
|
|||
|
||||
Implement position independent dump.
|
||||
|
||||
Set the filename for every compilation unit as realtive to obtain a
|
||||
Set the filename for every compilation unit as relative to obtain a
|
||||
position independent dump.
|
||||
|
||||
* lisp/loadup.el: Modify filename for every compilation unit as
|
||||
|
@ -84397,7 +84397,7 @@
|
|||
|
||||
* lisp/arc-mode.el: Rewrite displaying the summaries
|
||||
|
||||
Completely rewrite the code that displayes the summaries, so all
|
||||
Completely rewrite the code that displays the summaries, so all
|
||||
backends share the same code.
|
||||
|
||||
(archive--summarize-descs): New function.
|
||||
|
@ -86075,7 +86075,7 @@
|
|||
|
||||
Merge remote-tracking branch 'savannah/master' into HEAD
|
||||
|
||||
2020-03-10 AndreaCorallo <akrl@sdf.org>
|
||||
2020-03-10 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
* Improve load_comp_unit
|
||||
|
||||
|
@ -86084,7 +86084,7 @@
|
|||
|
||||
Guard also data_ephemeral_vec against compiler optimizations.
|
||||
|
||||
2020-03-10 AndreaCorallo <akrl@sdf.org>
|
||||
2020-03-10 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
* Fix store_function_docstring for native functions
|
||||
|
||||
|
@ -86098,7 +86098,7 @@
|
|||
native_intspec and native_doc fields has to be reached by the subr
|
||||
cause are not anymore in the CU.
|
||||
|
||||
2020-03-10 AndreaCorallo <akrl@sdf.org>
|
||||
2020-03-10 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
* Set relocation class as ephemeral in `comp-limplify-top-level'
|
||||
|
||||
|
@ -86547,17 +86547,17 @@
|
|||
|
||||
* lisp/replace.el (occur-1): Update default-directory in occur buffer.
|
||||
|
||||
2020-03-04 AndreaCorallo <akrl@sdf.org>
|
||||
2020-03-04 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
* Do not crash if the output directory is created in the meanwhile
|
||||
|
||||
2020-03-03 AndreaCorallo <akrl@sdf.org>
|
||||
2020-03-03 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Hash eln ABI once and add it to the output compilation path
|
||||
|
||||
Fix org for eln new compilation folder layout
|
||||
|
||||
2020-03-03 AndreaCorallo <akrl@sdf.org>
|
||||
2020-03-03 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Rework `find-lisp-object-file-name'
|
||||
|
||||
|
@ -86668,7 +86668,7 @@
|
|||
and 'fill-column' values. (Bug#36837)
|
||||
(whitespace-lines-regexp): New function.
|
||||
|
||||
2020-03-01 AndreaCorallo <akrl@sdf.org>
|
||||
2020-03-01 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
* ; Clean-up out of date comment
|
||||
|
||||
|
@ -86718,11 +86718,11 @@
|
|||
* src/pdumper.c (dump_object): Fix hash for Lisp_Type after commit
|
||||
202c3319a28c029d6971dccea92f92425c5e8067.
|
||||
|
||||
2020-02-29 AndreaCorallo <akrl@sdf.org>
|
||||
2020-02-29 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Introduce 'effective_load_path'
|
||||
|
||||
2020-02-29 AndreaCorallo <akrl@sdf.org>
|
||||
2020-02-29 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
* Keep comp-subr-list into pure space
|
||||
|
||||
|
@ -87689,7 +87689,7 @@
|
|||
|
||||
(lispref/modes.texi): Explain avoiding lambdas on hooks.
|
||||
|
||||
2020-02-06 AndreaCorallo <akrl@sdf.org>
|
||||
2020-02-06 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Add system-configuration in the compilation output path
|
||||
|
||||
|
@ -87713,7 +87713,7 @@
|
|||
Add function ssa-status as `comp-func' slot and have `comp-clean-ssa'
|
||||
to run when necessary.
|
||||
|
||||
2020-03-01 AndreaCorallo <akrl@sdf.org>
|
||||
2020-03-01 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Remove relocation index form LIMPLE setimm
|
||||
|
||||
|
@ -87739,21 +87739,21 @@
|
|||
|
||||
Merge remote-tracking branch 'savannah/master' into HEAD
|
||||
|
||||
2020-02-26 AndreaCorallo <akrl@sdf.org>
|
||||
2020-02-26 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
* ; Add a TODO for a future optimization
|
||||
|
||||
2020-02-26 AndreaCorallo <akrl@sdf.org>
|
||||
2020-02-26 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Store optimize qualities into .eln files
|
||||
|
||||
For now just comp-speed and comp-debug are stored.
|
||||
|
||||
2020-02-26 AndreaCorallo <akrl@sdf.org>
|
||||
2020-02-26 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Rename d-base allocation classe into d-default
|
||||
Rename d-base allocation class into d-default
|
||||
|
||||
2020-02-26 AndreaCorallo <akrl@sdf.org>
|
||||
2020-02-26 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Add ephemeral relocation data class
|
||||
|
||||
|
@ -87793,7 +87793,7 @@
|
|||
|
||||
Test 'comp-eq' should not assume any string hashing policy
|
||||
|
||||
2020-02-21 AndreaCorallo <akrl@sdf.org>
|
||||
2020-02-21 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Emit 'top_level_run' objects as impure
|
||||
|
||||
|
@ -87801,7 +87801,7 @@
|
|||
|
||||
Verify '--with-nativecomp' has also '--with-dumping=pdumper'
|
||||
|
||||
2020-02-21 AndreaCorallo <akrl@sdf.org>
|
||||
2020-02-21 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Reorder m-var slots
|
||||
|
||||
|
@ -87819,7 +87819,7 @@
|
|||
|
||||
Use `sxhash-eq' to generate mvar SSA ids
|
||||
|
||||
2020-02-15 AndreaCorallo <akrl@sdf.org>
|
||||
2020-02-15 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Speed 2 goes default
|
||||
|
||||
|
@ -87832,7 +87832,7 @@
|
|||
Every function call by reference gets use one unique array of
|
||||
arguments.
|
||||
|
||||
2020-02-14 AndreaCorallo <akrl@sdf.org>
|
||||
2020-02-14 Andrea Corallo <akrl@sdf.org>
|
||||
|
||||
Clean-up old gc disable refuse in comp-tests-non-locals
|
||||
|
||||
|
@ -88071,7 +88071,7 @@
|
|||
|
||||
Always define subr-native-elisp-p also without native compiler
|
||||
|
||||
2020-02-03 AndreaCorallo <akrl@sdf.com>
|
||||
2020-02-03 Andrea Corallo <akrl@sdf.com>
|
||||
|
||||
Fix load_comp_unit for non zero speeds
|
||||
|
||||
|
@ -90740,7 +90740,7 @@
|
|||
|
||||
compute dominator tree
|
||||
|
||||
ssa and endge number generation with generator
|
||||
ssa and edge number generation with generator
|
||||
|
||||
add edge computation
|
||||
|
||||
|
@ -91228,7 +91228,7 @@
|
|||
|
||||
optimize primitive native call
|
||||
|
||||
propagate contant types and optimize self calls
|
||||
propagate constant types and optimize self calls
|
||||
|
||||
introduce stack_el_t
|
||||
|
||||
|
@ -91466,7 +91466,7 @@
|
|||
|
||||
introduce CASE_CALL_NARGS macro and add various ops
|
||||
|
||||
symbol_function set fset fget fget Bsubstring
|
||||
symbol_function set fset fget Bsubstring
|
||||
|
||||
2020-01-01 Andrea Corallo <andrea_corallo@yahoo.it>
|
||||
|
||||
|
@ -93578,7 +93578,7 @@
|
|||
|
||||
2021-02-03 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
Fix an error in tramp-sh-handle-make-process. Dont' merge with master
|
||||
Fix an error in tramp-sh-handle-make-process. Don't merge with master
|
||||
|
||||
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Don't use heredoc
|
||||
script whent the argument contains a string.
|
||||
|
@ -95039,7 +95039,7 @@
|
|||
|
||||
2020-06-13 João Távora <joaotavora@gmail.com>
|
||||
|
||||
Delete, don't kill, dir dir fragments in icomplete-fido-backward-updir
|
||||
Delete, don't kill, dir fragments in icomplete-fido-backward-updir
|
||||
|
||||
Reported by: Andrew Schwartzmeyer <andrew@schwartzmeyer.com>
|
||||
|
||||
|
@ -101413,7 +101413,7 @@
|
|||
vc-hg: prompt for branch to merge
|
||||
|
||||
* lisp/vc/vc-hg.el (vc-hg-merge-branch): Prompt for revision to merge.
|
||||
(vc-hg-revision-table): Use branches, tags and bookmarks as competion
|
||||
(vc-hg-revision-table): Use branches, tags and bookmarks as completion
|
||||
candidates.
|
||||
|
||||
* etc/NEWS: Mention changes of vc-hg.el
|
||||
|
@ -101483,7 +101483,7 @@
|
|||
(Create_Pixmap_From_Bitmap_Data):
|
||||
(xpm_load): Use new function.
|
||||
* src/xterm.c (x_composite_image): Use PictOpOver when there is a mask
|
||||
so the transparency is honoured.
|
||||
so the transparency is honored.
|
||||
(x_draw_image_foreground_1): Use x_composite_image.
|
||||
|
||||
2019-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
@ -103042,7 +103042,7 @@
|
|||
open-paren-in-column-0-is-defun-start to nil) fixes bug #37910. It may also
|
||||
have fixed bug #5490 and bug #18072.
|
||||
|
||||
* lisp/progmodes/cc-engine.el (c-state-cache-non-literal-place): Remove thi
|
||||
* lisp/progmodes/cc-engine.el (c-state-cache-non-literal-place): Remove this
|
||||
non-sensical function, replacing it with ....
|
||||
(c-state-cache-lower-good-pos): New function.
|
||||
(c-renarrow-state-cache, c-append-lower-brace-pair-to-state-cache)
|
||||
|
@ -110631,7 +110631,7 @@
|
|||
Fix reversed check in mm-possibly-verify-or-decrypt
|
||||
|
||||
* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Fix
|
||||
reverse check thinko that made unverified singed messages not
|
||||
reverse check thinko that made unverified signed messages not
|
||||
display correctly.
|
||||
|
||||
2019-09-27 Wilson Snyder <wsnyder@wsnyder.org>
|
||||
|
@ -113664,7 +113664,7 @@
|
|||
Make the NSM not pop up an X dialogue on non-mouse actions
|
||||
|
||||
* lisp/emacs-lisp/rmc.el (read-multiple-choice): Don't pop up X
|
||||
dialogues on (url-retrieve "https://expired.badssl.com/" #'ignore)
|
||||
dialogs on (url-retrieve "https://expired.badssl.com/" #'ignore)
|
||||
and the like.
|
||||
|
||||
2019-09-04 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
@ -115157,7 +115157,7 @@
|
|||
|
||||
2019-08-21 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Make hide-ifdef-mode-prefix-key customisable
|
||||
Make hide-ifdef-mode-prefix-key customizable
|
||||
|
||||
* lisp/progmodes/hideif.el (hide-ifdef-mode-prefix-key): Make into
|
||||
a defcustom since it seems like this is something that should be
|
||||
|
@ -117900,7 +117900,7 @@
|
|||
(readbyte_from_file): Assert that `infile` is set.
|
||||
(close_infile_unwind): Reset `infile` to its previous value rather than
|
||||
to NULL.
|
||||
(Fload): Remember the previous value of `infile` before chaning it.
|
||||
(Fload): Remember the previous value of `infile` before changing it.
|
||||
(readevalloop): Don't set `infile` any more.
|
||||
|
||||
2019-07-31 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
@ -118316,7 +118316,7 @@
|
|||
|
||||
* lisp/mh-e/mh-speed.el (mh-speed-parse-flists-output):
|
||||
* lisp/mh-e/mh-search.el (mh-index-parse-search-regexp): Avoid
|
||||
warning about `values-list' by using `cl-values-list' insead.
|
||||
warning about `values-list' by using `cl-values-list' instead.
|
||||
|
||||
2019-07-29 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
|
@ -126255,7 +126255,7 @@
|
|||
|
||||
Suppress warning about non-prefixed variable in mailalias.el
|
||||
|
||||
* lisp/mail/mailalias.el (patters): Suppress warning about
|
||||
* lisp/mail/mailalias.el (pattern): Suppress warning about
|
||||
non-prefixed variable used by `mail-complete-alist'.
|
||||
|
||||
2019-06-15 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
@ -130261,7 +130261,7 @@
|
|||
8192 bytes is a reasonable number nowadays given typical file
|
||||
system design.
|
||||
* test/lisp/image-tests.el (image-tests--emacs-images-directory):
|
||||
New contant.
|
||||
New constant.
|
||||
(image-type-from-file-header-test): New test.
|
||||
|
||||
2019-05-18 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
@ -130524,7 +130524,7 @@
|
|||
|
||||
2019-05-16 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Avoind string-as-multibyte in ps-output-string-prim
|
||||
Avoid string-as-multibyte in ps-output-string-prim
|
||||
|
||||
* lisp/ps-print.el (ps-output-string-prim): Avoid
|
||||
`string-as-multibyte', and encode as utf-8 instead if multibyte.
|
||||
|
@ -130710,7 +130710,7 @@
|
|||
Fix diff-mode face problem when used in terminals (Bug#35695)
|
||||
|
||||
In a terminal supporting 256 colors, both diff-added and diff-removed
|
||||
was mapped to the same greyish color.
|
||||
was mapped to the same grayish color.
|
||||
|
||||
* lisp/vc/diff-mode.el: Modify the colors of diff-removed,
|
||||
diff-added, diff-refine-removed, and diff-refine-added when
|
||||
|
@ -136480,7 +136480,7 @@
|
|||
Check gnus-newsgroup-dependencies is hash table in gnus-id-to-thread
|
||||
|
||||
* lisp/gnus/gnus-sum.el (gnus-id-to-thread): If dependencies haven't
|
||||
been initialized yet, don't blow up. Mimicks previous (non hasht
|
||||
been initialized yet, don't blow up. Mimics previous (non hash
|
||||
table) behavior.
|
||||
|
||||
2019-03-31 Mattias Engdegård <mattiase@acm.org>
|
||||
|
@ -140170,7 +140170,7 @@
|
|||
|
||||
* doc/misc/eshell.texi (Built-ins): Fix alias description
|
||||
|
||||
Dear eamcs developers, eshells current documentation first states
|
||||
Dear emacs developers, eshell's current documentation first states
|
||||
that alias definitions are not saved to an alias file, later that
|
||||
they are saved to an alias file. I tested it and the latter is
|
||||
correct.
|
||||
|
@ -156879,7 +156879,7 @@
|
|||
Merge from origin/emacs-26
|
||||
|
||||
90bea37 ; * etc/PROBLEMS: Fix fvwm version number in last commit
|
||||
af82d1f * etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31...
|
||||
af82d1f * etc/PROBLEMS: Document stickiness problem with FVWM (Bug#31...
|
||||
4a3aed2 Update Emacs Lisp Intro to match current behavior
|
||||
21f2247 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
|
||||
3257085 Fix previous commit
|
||||
|
@ -158744,7 +158744,7 @@
|
|||
|
||||
2018-04-17 Basil L. Contovounesios <contovob@tcd.ie>
|
||||
|
||||
Modernise face specs and set version tags in eww/shr
|
||||
Modernize face specs and set version tags in eww/shr
|
||||
|
||||
* lisp/net/shr.el (shr-strike-through, shr-link, shr-selected-link):
|
||||
Set :version tag (bug#31200).
|
||||
|
@ -159218,10 +159218,10 @@
|
|||
|
||||
2018-04-14 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Modernise a Gnus function a bit
|
||||
Modernize a Gnus function a bit
|
||||
|
||||
* lisp/gnus/gnus-start.el (gnus-update-active-hashtb-from-killed):
|
||||
Modernise code a bit.
|
||||
Modernize code a bit.
|
||||
|
||||
2018-04-14 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
|
@ -165960,7 +165960,7 @@
|
|||
cl-loop: Calculate the array length just once
|
||||
|
||||
* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause):
|
||||
Dont calculate the array length on each iteration (Bug#29866).
|
||||
Don't calculate the array length on each iteration (Bug#29866).
|
||||
|
||||
2018-01-07 Philipp Stephani <phst@google.com>
|
||||
|
||||
|
@ -166738,7 +166738,7 @@
|
|||
5a7d009 * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete al...
|
||||
e019c35 FOR_EACH_FRAME no longer assumes frame-list
|
||||
d64b88d * src/font.c (Ffont_info): Doc fix. (Bug#29682)
|
||||
92b2604 Modernise message.el face spec syntax
|
||||
92b2604 Modernize message.el face spec syntax
|
||||
b1efbe6 Update message.el obsolete face aliases
|
||||
2494c14 ; * lisp/comint.el (comint-terminfo-terminal): Add a :version...
|
||||
12ad276 Improve documentation of TERM environment variable
|
||||
|
@ -167034,7 +167034,7 @@
|
|||
5a7d0095a4 * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete...
|
||||
e019c35df6 FOR_EACH_FRAME no longer assumes frame-list
|
||||
d64b88da2f * src/font.c (Ffont_info): Doc fix. (Bug#29682)
|
||||
92b2604a7f Modernise message.el face spec syntax
|
||||
92b2604a7f Modernize message.el face spec syntax
|
||||
b1efbe6564 Update message.el obsolete face aliases
|
||||
2494c14e76 ; * lisp/comint.el (comint-terminfo-terminal): Add a :vers...
|
||||
12ad276d15 Improve documentation of TERM environment variable
|
||||
|
@ -169297,7 +169297,7 @@
|
|||
2e1b3522b8 Improve documentation of 'line-number-display-width'
|
||||
5b6e59cfdb Implement vc-default-dir-extra-headers for vc-rcs
|
||||
22adeca42a In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
|
||||
2c3e6f1ddc Dont update primary selection with winner-undo
|
||||
2c3e6f1ddc Don't update primary selection with winner-undo
|
||||
b38724ab67 Work around ImageMagick bug 825
|
||||
20cc68e871 Document rectangle-preview option more (Bug#27974)
|
||||
a0b7b301dd Do not reject https://gnu.org in commit messages
|
||||
|
@ -172340,7 +172340,7 @@
|
|||
|
||||
* doc/misc/eshell.texi (Built-ins): Fix alias description
|
||||
|
||||
Dear eamcs developers, eshells current documentation first states
|
||||
Dear emacs developers, eshell's current documentation first states
|
||||
that alias definitions are not saved to an alias file, later that
|
||||
they are saved to an alias file. I tested it and the latter is
|
||||
correct.
|
||||
|
@ -176909,7 +176909,7 @@
|
|||
|
||||
2018-06-02 Martin Rudalics <rudalics@gmx.at>
|
||||
|
||||
* etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31650)
|
||||
* etc/PROBLEMS: Document stickiness problem with FVWM (Bug#31650)
|
||||
|
||||
2018-06-01 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
|
@ -181827,7 +181827,7 @@
|
|||
|
||||
2017-12-15 Basil L. Contovounesios <contovob@tcd.ie>
|
||||
|
||||
Modernise message.el face spec syntax
|
||||
Modernize message.el face spec syntax
|
||||
|
||||
* lisp/gnus/message.el (message-header-to, message-header-cc)
|
||||
(message-header-subject, message-header-newsgroups)
|
||||
|
@ -184352,7 +184352,7 @@
|
|||
|
||||
* src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
|
||||
* src/thread.c (THREAD_ALIGNMENT): New macro.
|
||||
(main_thread): Use THREAD_ALIGNMENT to align propertly. (Bug#29040)
|
||||
(main_thread): Use THREAD_ALIGNMENT to align properly. (Bug#29040)
|
||||
|
||||
2017-10-28 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
|
@ -185296,10 +185296,10 @@
|
|||
2017-10-17 Tino Calancha <tino.calancha@gmail.com>
|
||||
Noam Postavsky <npostavs@gmail.com>
|
||||
|
||||
Dont update primary selection with winner-undo
|
||||
Don't update primary selection with winner-undo
|
||||
|
||||
* lisp/winner.el (winner-set):
|
||||
Dont update primary selection when select-enable-primary
|
||||
Don't update primary selection when select-enable-primary
|
||||
is non-nil (Bug#28631).
|
||||
|
||||
2017-10-17 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
@ -185373,7 +185373,7 @@
|
|||
|
||||
* lisp/image.el (image-type-header-regexps):
|
||||
Allow two or more CRs or LFs in initial whitespace sequences. See:
|
||||
http://netpbm.sourceforge.net/doc/pbm.html
|
||||
https://netpbm.sourceforge.net/doc/pbm.html
|
||||
|
||||
2017-10-16 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
|
@ -185648,7 +185648,7 @@
|
|||
Add mode map to Flymake diagnostic button
|
||||
|
||||
* lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
|
||||
keymap propery.
|
||||
keymap property.
|
||||
|
||||
2017-10-10 João Távora <joaotavora@gmail.com>
|
||||
|
||||
|
@ -192051,7 +192051,7 @@
|
|||
|
||||
2017-08-09 Tino Calancha <tino.calancha@gmail.com>
|
||||
|
||||
Ask files for deletion in buffer order: top first, botton later
|
||||
Ask files for deletion in buffer order: top first, bottom later
|
||||
|
||||
* lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
|
||||
Call `nreverse' t invert the output of `dired-map-over-marks'.
|
||||
|
@ -194580,7 +194580,7 @@
|
|||
|
||||
2017-07-09 R. Bernstein <rocky@gnu.org>
|
||||
|
||||
Add realgud faces faces to whiteboard...
|
||||
Add realgud faces to whiteboard...
|
||||
|
||||
Adjust wheatgrass to use underline for enabled/disabled breakpoints
|
||||
|
||||
|
@ -195520,7 +195520,7 @@
|
|||
|
||||
Ignore mouse-movement for describe-key-briefly (Bug#12204)
|
||||
|
||||
* lisp/help.el (help-read-key-sequence): Add optional argument ot
|
||||
* lisp/help.el (help-read-key-sequence): Add optional argument to
|
||||
ignore `mouse-movement' events.
|
||||
(describe-key-briefly): Use it.
|
||||
* doc/emacs/help.texi (Key Help):
|
||||
|
@ -197097,7 +197097,7 @@
|
|||
Clang on macOS warns about these with -Wtautological-compare. POSIX
|
||||
guarantees that rlim_t is
|
||||
unsigned (cf.
|
||||
http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
|
||||
https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
|
||||
so these resource limits can never be negative.
|
||||
|
||||
* src/emacs.c (main): Remove tautological comparisons.
|
||||
|
@ -198690,7 +198690,7 @@
|
|||
(tramp-adb-ls-toolbox-regexp):
|
||||
Ignore addition links column on Android 7.
|
||||
(tramp-adb-get-ls-command):
|
||||
Dont use --color=none when using toybox (Android 7). It's not
|
||||
Don't use --color=none when using toybox (Android 7). It's not
|
||||
possible to disable coloring explicitly for toybox ls.
|
||||
|
||||
2017-05-27 Svante Carl v. Erichsen <Svante.v.Erichsen@web.de> (tiny change)
|
||||
|
@ -199186,7 +199186,7 @@
|
|||
|
||||
2017-05-23 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Don't warn about missing brances on macOS
|
||||
Don't warn about missing branches on macOS
|
||||
|
||||
On macOS, removing -Wmissing-braces is not enough; the warning has to
|
||||
be disabled explicitly.
|
||||
|
@ -199197,7 +199197,7 @@
|
|||
|
||||
' is commonly used as an apostrophe in the prose sections of spec
|
||||
files, which was erroneously highlighted as strings. See for example
|
||||
http://kmymoney2.sourceforge.net/phb/rpm-example.html
|
||||
https://kmymoney2.sourceforge.net/phb/rpm-example.html
|
||||
|
||||
* lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
|
||||
punctuation in RPM spec files.
|
||||
|
@ -208945,7 +208945,7 @@
|
|||
|
||||
Revamp quitting and fix infloops
|
||||
|
||||
This fixes some infinite loops that cannot be quitted out of,
|
||||
This fixes some infinite loops that cannot be quit out of,
|
||||
e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
|
||||
when byte-compiled and when run under X. See:
|
||||
https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
|
||||
|
@ -214158,7 +214158,7 @@
|
|||
refactor systhread.h
|
||||
|
||||
This refactors systhread.h to move the notion of a "lisp mutex"
|
||||
into thread.c. This lets us make make the global lock and
|
||||
into thread.c. This lets us make the global lock and
|
||||
post_acquire_global_lock static.
|
||||
|
||||
2012-08-17 Tom Tromey <tromey@redhat.com>
|
||||
|
@ -218796,7 +218796,7 @@
|
|||
* lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
|
||||
* m4/sys_types_h.m4: Copy from gnulib.
|
||||
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
|
||||
* lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
|
||||
* lib/limits.in.h, m4/limits-h.m4: New files, copied from gnulib.
|
||||
* nt/gnulib.mk: Merge changes from lib/gnulib.mk.
|
||||
|
||||
2016-09-15 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
@ -219462,7 +219462,7 @@
|
|||
|
||||
2016-09-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
Check actual contents before promting about changed file
|
||||
Check actual contents before prompting about changed file
|
||||
|
||||
* lisp/userlock.el (userlock--check-content-unchanged)
|
||||
(userlock--ask-user-about-supersession-threat): New functions.
|
||||
|
@ -220696,7 +220696,7 @@
|
|||
|
||||
* lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
|
||||
invocation of c-before-change-functions, we assume the changed region is the
|
||||
entire buffer, and call c-before-change explicitly before proceding.
|
||||
entire buffer, and call c-before-change explicitly before proceeding.
|
||||
|
||||
2016-08-09 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
|
@ -221327,8 +221327,8 @@
|
|||
is never used. Hardcode the syntax so that the compilar can detect such
|
||||
dead code and remove it from compiled code.
|
||||
|
||||
The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
|
||||
specified. Handle this separatelly with a function argument (replacing
|
||||
The only exception is RE_NO_POSIX_BACKTRACKING which can be separately
|
||||
specified. Handle this separately with a function argument (replacing
|
||||
now unnecessary syntax argument).
|
||||
|
||||
With this patchset, size of Emacs binary on x86_64 machine is reduced by
|
||||
|
@ -223962,10 +223962,10 @@
|
|||
|
||||
2016-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
Advertize set-keymap-parent as replacement for copy-keymap
|
||||
Advertise set-keymap-parent as replacement for copy-keymap
|
||||
|
||||
* doc/lispref/keymaps.texi (Creating Keymaps):
|
||||
* src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
|
||||
* src/keymap.c (Fcopy_keymap): Advertise set-keymap-parent as replacement.
|
||||
|
||||
2016-06-15 Ted Zlatanov <tzz@lifelogs.com>
|
||||
|
||||
|
@ -226537,7 +226537,7 @@
|
|||
Fix Bug#10085
|
||||
|
||||
* lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
|
||||
Add optional arguments OPERATION and COMPETION. Handle
|
||||
Add optional arguments OPERATION and COMPLETION. Handle
|
||||
`file-name-as-directory', `file-name-directory' and
|
||||
`file-name-nondirectory' also in completion mode.
|
||||
(tramp-file-name-handler): Use it. (Bug#10085)
|
||||
|
@ -226854,7 +226854,7 @@
|
|||
|
||||
2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Document mode mode line variables
|
||||
Document mode line variables
|
||||
|
||||
* doc/lispref/modes.texi (Mode Line Variables): Document
|
||||
`mode-line-front-space, `mode-line-misc-info',
|
||||
|
@ -227546,7 +227546,7 @@
|
|||
of the data end marker from here... (bug#23020).
|
||||
(smtpmail-send-data): ... to here, so that we don't get a
|
||||
"Sending done" before we've sent the final "." (which can make
|
||||
the SMPT server reject the email.
|
||||
the SMTP server reject the email.
|
||||
|
||||
2016-04-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
|
@ -227801,7 +227801,7 @@
|
|||
|
||||
* lisp/auth-source.el
|
||||
(auth-source-macos-keychain-search-items): Handle keychain
|
||||
output correctly when has special chararcters (bug#22824).
|
||||
output correctly when has special characters (bug#22824).
|
||||
|
||||
2016-04-24 Magnus Henoch <magnus.henoch@gmail.com>
|
||||
|
||||
|
|
2
INSTALL
2
INSTALL
|
@ -187,7 +187,7 @@ X11 is being used.
|
|||
libz (for PNG): https://www.zlib.net/
|
||||
X libjpeg for JPEG: https://www.ijg.org/
|
||||
X libtiff for TIFF: http://www.simplesystems.org/libtiff/
|
||||
X libgif for GIF: http://giflib.sourceforge.net/
|
||||
X libgif for GIF: https://giflib.sourceforge.net/
|
||||
librsvg2 for SVG: https://wiki.gnome.org/Projects/LibRsvg
|
||||
libwebp for WebP: https://developers.google.com/speed/webp/
|
||||
|
||||
|
|
23
Makefile.in
23
Makefile.in
|
@ -52,14 +52,14 @@
|
|||
# make bootstrap
|
||||
# Removes all the compiled files to force a new bootstrap from a
|
||||
# clean slate, and then build in the normal way. If the FAST Make
|
||||
# variable is set, then the config.cache file isn't removed. This
|
||||
# allows you to say
|
||||
# variable is set, then the autom4te.cache directory and the
|
||||
# config.cache file are not removed. This lets you say
|
||||
#
|
||||
# ./configure -C
|
||||
# make FAST=true bootstrap
|
||||
#
|
||||
# and use the cached results from the configure run, which is much
|
||||
# faster.
|
||||
# faster though it does not work in general.
|
||||
#
|
||||
# make docs
|
||||
# Make Emacs documentation files from their sources; requires makeinfo.
|
||||
|
@ -405,16 +405,18 @@ actual-all: ${SUBDIR} info $(gsettings_SCHEMAS:.xml=.valid) src-depending-on-lis
|
|||
# ADVICE-ON-FAILURE-END:bootstrap
|
||||
|
||||
advice-on-failure:
|
||||
@[ -f .no-advice-on-failure ] && exit ${exit-status}; true
|
||||
@echo >&2 '***'
|
||||
@echo >&2 '*** '"\"make ${make-target}\" failed with exit status ${exit-status}."
|
||||
@echo >&2 '***'
|
||||
@cat Makefile | \
|
||||
sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q};' | \
|
||||
sed 's/^# /*** /' | grep -v '^*** ADVICE-ON-FAILURE-' >&2
|
||||
sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q;};' | \
|
||||
sed 's/^# /*** /' | grep -v '^\*\*\* ADVICE-ON-FAILURE-' >&2
|
||||
@echo >&2 '***'
|
||||
@exit ${exit-status}
|
||||
|
||||
sanity-check:
|
||||
@[ -f .no-advice-on-failure ] && exit 0; true
|
||||
@v=$$(src/emacs${EXEEXT} --batch --eval \
|
||||
'(progn (defun f (n) (if (= 0 n) 1 (* n (f (- n 1))))) (princ (f 10)))' \
|
||||
2> /dev/null); \
|
||||
|
@ -423,8 +425,8 @@ sanity-check:
|
|||
echo >&2 '*** '"\"make ${make-target}\" succeeded, but Emacs is not functional."; \
|
||||
echo >&2 '***'; \
|
||||
cat Makefile | \
|
||||
sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q};' | \
|
||||
sed 's/^# /*** /' | grep -v '^*** ADVICE-ON-FAILURE-' >&2; \
|
||||
sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q;};' | \
|
||||
sed 's/^# /*** /' | grep -v '^\*\*\* ADVICE-ON-FAILURE-' >&2; \
|
||||
echo >&2 '***'; \
|
||||
exit 1
|
||||
|
||||
|
@ -530,6 +532,11 @@ lisp: src
|
|||
lib lib-src lisp nt: Makefile
|
||||
$(MAKE) -C $@ all
|
||||
|
||||
trampolines: src lisp
|
||||
ifeq ($(HAVE_NATIVE_COMP),yes)
|
||||
$(MAKE) -C lisp trampolines
|
||||
endif
|
||||
|
||||
# Pass an unexpanded $srcdir to src's Makefile, which then
|
||||
# expands it using its own value of srcdir (which points to the
|
||||
# source directory of src/).
|
||||
|
@ -1035,7 +1042,7 @@ bootstrap-clean: $(distclean_dirs:=_bootstrap-clean)
|
|||
rm -f ${srcdir}/etc/refcards/emacsver.tex
|
||||
rm -rf native-lisp/ lisp/leim/ja-dic/
|
||||
ifndef FAST
|
||||
rm -f config.cache
|
||||
rm -fr autom4te.cache config.cache
|
||||
endif
|
||||
${top_bootclean}
|
||||
|
||||
|
|
|
@ -990,7 +990,7 @@ in the repository.")
|
|||
;; to how a file was mentioned in the respective ChangeLog. It is
|
||||
;; advisable to run a Grep command such as
|
||||
;;
|
||||
;; fgrep -R BASENAME . --include='ChangeLog*'
|
||||
;; grep -F -R BASENAME . --include='ChangeLog*'
|
||||
;;
|
||||
;; where BASENAME is the old basename of the renamed file. This will
|
||||
;; show all the different reference forms of the file in the various
|
||||
|
|
|
@ -35,18 +35,7 @@
|
|||
## it with the -d option in the repository directory, in case a pull
|
||||
## updates this script while it is working.
|
||||
|
||||
set -o nounset
|
||||
|
||||
die () # write error to stderr and exit
|
||||
{
|
||||
[ $# -gt 0 ] && echo "$PN: $*" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
PN=${0##*/} # basename of script
|
||||
PD=${0%/*}
|
||||
|
||||
[ "$PD" = "$0" ] && PD=. # if PATH includes PWD
|
||||
source "${0%/*}/emacs-shell-lib"
|
||||
|
||||
usage ()
|
||||
{
|
||||
|
@ -129,13 +118,7 @@ OPTIND=1
|
|||
[ "$test" ] && build=1
|
||||
|
||||
|
||||
if [ -x "$(command -v mktemp)" ]; then
|
||||
tempfile=$(mktemp "/tmp/$PN.XXXXXXXXXX")
|
||||
else
|
||||
tempfile=/tmp/$PN.$$
|
||||
fi
|
||||
|
||||
trap 'rm -f $tempfile 2> /dev/null' EXIT
|
||||
tempfile="$(emacs_mktemp)"
|
||||
|
||||
|
||||
[ -e Makefile ] && [ "$build" ] && {
|
||||
|
@ -263,5 +246,3 @@ git push || die "push error"
|
|||
|
||||
|
||||
exit 0
|
||||
|
||||
### automerge ends here
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
#
|
||||
# [v0.1, 5 May 1995] First release.
|
||||
#
|
||||
# Use the Unicode reporting form <http://www.unicode.org/reporting.html>
|
||||
# Use the Unicode reporting form <https://www.unicode.org/reporting.html>
|
||||
# for any questions or comments or to report errors in the data.
|
||||
#
|
||||
0020 20 # SPACE # space
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
#
|
||||
# [v0.1, 5 May 1995] First release.
|
||||
#
|
||||
# Use the Unicode reporting form <http://www.unicode.org/reporting.html>
|
||||
# Use the Unicode reporting form <https://www.unicode.org/reporting.html>
|
||||
# for any questions or comments or to report errors in the data.
|
||||
#
|
||||
0020 20 # SPACE # space
|
||||
|
|
|
@ -131,7 +131,7 @@ Names should be as they appear in loaddefs.el.")
|
|||
;; Don't create a file `abbrev-file-name'.
|
||||
(setq save-abbrevs nil)
|
||||
|
||||
;; Avoid compile logs from adviced functions.
|
||||
;; Avoid compile logs from advised functions.
|
||||
(eval-after-load "bytecomp"
|
||||
'(setq ad-default-compilation-action 'never))
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#! /bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2001-2022 Free Software Foundation, Inc.
|
||||
|
||||
|
@ -17,6 +17,7 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
source "${0%/*}/emacs-shell-lib"
|
||||
|
||||
if [ $# != 2 ]; then
|
||||
cat <<EOF
|
||||
|
@ -31,9 +32,8 @@ fi
|
|||
old_tar=$1
|
||||
new_tar=$2
|
||||
|
||||
old_tmp=/tmp/old.$$
|
||||
new_tmp=/tmp/new.$$
|
||||
trap "rm -f $old_tmp $new_tmp; exit 1" 1 2 15
|
||||
old_tmp="$(emacs_mktemp ${PN}-old)"
|
||||
new_tmp="$(emacs_mktemp ${PN}-new)"
|
||||
|
||||
tar tf "$old_tar" | sed -e 's,^[^/]*,,' | sort > $old_tmp
|
||||
tar tf "$new_tar" | sed -e 's,^[^/]*,,' | sort > $new_tmp
|
||||
|
|
87
admin/emacs-shell-lib
Normal file
87
admin/emacs-shell-lib
Normal file
|
@ -0,0 +1,87 @@
|
|||
#!/bin/bash
|
||||
### emacs-shell-lib - shared code for Emacs shell scripts
|
||||
|
||||
## Copyright (C) 2022 Free Software Foundation, Inc.
|
||||
|
||||
## Author: Stefan Kangas <stefankangas@gmail.com>
|
||||
|
||||
## This file is part of GNU Emacs.
|
||||
|
||||
## GNU Emacs is free software: you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation, either version 3 of the License, or
|
||||
## (at your option) any later version.
|
||||
|
||||
## GNU Emacs is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
### Code:
|
||||
|
||||
# Set an explicit umask.
|
||||
umask 077
|
||||
|
||||
# Treat unset variables as an error.
|
||||
set -o nounset
|
||||
|
||||
# Exit immediately on error.
|
||||
set -o errexit
|
||||
|
||||
# Avoid non-standard command output from non-C locales.
|
||||
unset LANG LC_ALL LC_MESSAGES
|
||||
|
||||
PN=${0##*/} # basename of script
|
||||
PD=${0%/*} # script directory
|
||||
|
||||
[ "$PD" = "$0" ] && PD=. # if PATH includes PWD
|
||||
|
||||
die () # write error to stderr and exit
|
||||
{
|
||||
[ $# -gt 0 ] && echo "$PN: $@" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
emacs_tempfiles=()
|
||||
|
||||
emacs_tempfiles_cleanup ()
|
||||
{
|
||||
for file in ${emacs_tempfiles[@]}; do
|
||||
rm -f "${file}" 2> /dev/null
|
||||
done
|
||||
}
|
||||
|
||||
trap '
|
||||
ret=$?
|
||||
emacs_tempfiles_cleanup
|
||||
exit $ret
|
||||
' EXIT
|
||||
|
||||
emacs_mktemp ()
|
||||
{
|
||||
local readonly file="${1-}"
|
||||
local tempfile
|
||||
local prefix
|
||||
|
||||
if [ -z "$file" ]; then
|
||||
prefix="$PN"
|
||||
else
|
||||
prefix="$1"
|
||||
fi
|
||||
|
||||
if [ -x "$(command -v mktemp)" ]; then
|
||||
tempfile=$(mktemp "${TMPDIR-/tmp}/${prefix}.XXXXXXXXXX")
|
||||
else
|
||||
tempfile="${TMPDIR-/tmp}/${prefix}.$RANDOM$$"
|
||||
(umask 077 && touch "$tempfile")
|
||||
fi
|
||||
|
||||
[ -z "${tempfile}" ] && die "Creating temporary file failed"
|
||||
|
||||
emacs_tempfiles+=("${tempfile}")
|
||||
|
||||
echo "$tempfile"
|
||||
}
|
17
admin/emake
17
admin/emake
|
@ -1,5 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2022 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
# GNU Emacs is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# GNU Emacs is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# This script is meant to be used as ./admin/emake, and will compile
|
||||
# the Emacs tree with virtually all of the informational messages
|
||||
# removed, and with errors/warnings highlighted in red. It'll give a
|
||||
|
|
40
admin/git-bisect-start
Executable file
40
admin/git-bisect-start
Executable file
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash
|
||||
|
||||
### Start a git bisection, and prune the branches that are the result of
|
||||
### merging external trees into the Emacs repository.
|
||||
|
||||
## Copyright (C) 2022 Free Software Foundation, Inc.
|
||||
|
||||
## This file is part of GNU Emacs.
|
||||
|
||||
## GNU Emacs is free software: you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation, either version 3 of the License, or
|
||||
## (at your option) any later version.
|
||||
|
||||
## GNU Emacs is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
### Commentary:
|
||||
|
||||
## Marking the last commits of external tree merges as "good" ensures
|
||||
## that all the commits between the external tree root and the merge
|
||||
## (excluding the merge-commit itself) are regarded as "good", so "git
|
||||
## bisect" will never descend into these branches, which only have the
|
||||
## files of the external tree, and in which Emacs can therefore not be
|
||||
## built. The last commit is the parent of the merge commit in the
|
||||
## external tree, that is, the parent of the merge commit that is not
|
||||
## on master.
|
||||
|
||||
### Code:
|
||||
|
||||
git bisect start
|
||||
|
||||
# Prune commits 1e5b753bf4..806734c1b1 introduced by 0186faf2a1 (Eglot
|
||||
# merge on Oct 20 2022)
|
||||
git bisect good 806734c1b1f433de43d59d9a5e3a1e89d64315f6
|
|
@ -126,7 +126,7 @@ variable
|
|||
: SET symbol insertable-string-list newline
|
||||
(VARIABLE-TAG $2 nil $3)
|
||||
| SET symbol number newline
|
||||
;; This so a common error w/ priority works.
|
||||
;; This so a common error with priority works.
|
||||
;; Note that "number" still has a string value in the lexer.
|
||||
(VARIABLE-TAG $2 nil (list $3))
|
||||
| SHOW symbol newline
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
;;
|
||||
;; will show you any references to `change-log-date-face' in the
|
||||
;; *.el files in a new buffer (in Grep mode). Hopefully you see
|
||||
;; only the obsolete declaration and can proceed w/ its removal.
|
||||
;; only the obsolete declaration and can proceed with its removal.
|
||||
;; If not, please DTRT and refrain from the removal until those
|
||||
;; references are properly transitioned.
|
||||
;;
|
||||
|
|
|
@ -33,15 +33,7 @@
|
|||
|
||||
### Code:
|
||||
|
||||
set -o nounset
|
||||
|
||||
die () # write error to stderr and exit
|
||||
{
|
||||
[ $# -gt 0 ] && echo "$PN: $@" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
PN=${0##*/} # basename of script
|
||||
source "${0%/*}/emacs-shell-lib"
|
||||
|
||||
usage ()
|
||||
{
|
||||
|
@ -96,8 +88,7 @@ OPTIND=1
|
|||
[ -e admin/admin.el ] || die "admin/admin.el not found"
|
||||
|
||||
|
||||
tempfile=/tmp/$PN.$$
|
||||
trap "rm -f $tempfile 2> /dev/null" EXIT
|
||||
tempfile="$(emacs_mktemp)"
|
||||
|
||||
|
||||
[ "$continue" ] || rm -rf $outdir
|
||||
|
|
|
@ -390,7 +390,7 @@ Next, regenerate the various manuals in HTML, PDF, and PS formats:
|
|||
|
||||
Now change to the 'manual' directory and invoke upload-manuals:
|
||||
|
||||
../admin/updload-manuals /path/to/webpages/cvs/checkout
|
||||
../admin/upload-manuals /path/to/webpages/cvs/checkout
|
||||
|
||||
where /path/to/webpages/cvs/checkout is the place where you have the
|
||||
CVS checkout of the Emacs Web pages, with subdirectories 'manual'
|
||||
|
|
|
@ -73,7 +73,7 @@ the ones that are not reproducible on the current release.
|
|||
know if you are able to? If I don't hear back in a few
|
||||
weeks, I'll just close this bug as unreproducible."
|
||||
[ ] Check that the priority is reasonable. Most bugs should be
|
||||
marked as normal, but crashers and security issues can be
|
||||
marked as normal, but crashes and security issues can be
|
||||
marked as serious.
|
||||
3. Your changes will take some time to take effect. After a period of minutes
|
||||
to hours, you will get a mail telling you the control message has been
|
||||
|
|
|
@ -42,6 +42,24 @@ yet another fun excursion into the exciting world of version control.
|
|||
|
||||
https://lists.gnu.org/r/emacs-devel/2010-04/msg00086.html
|
||||
|
||||
* feature and scratch branches
|
||||
|
||||
Besides the master branch, which is where development takes place, and
|
||||
the "emacs-NN" release branches, we also have branches whose names
|
||||
start with "scratch/" and "feature/". The "feature/" prefix is used
|
||||
for feature branches that are intended to live for some time, while
|
||||
"scratch/" is for one-off throw-away-after-use branches.
|
||||
|
||||
We do not intend to "git merge" from scratch branches, so force-pushes
|
||||
are tolerated, as well as commits with poor style, incomplete commit
|
||||
messages, etc.
|
||||
|
||||
We do expect to "git merge" from feature branches so: no force push,
|
||||
and no commits that don't have a proper commit message.
|
||||
|
||||
Automatic tests are run for feature/* branches on EMBA.
|
||||
See: https://emba.gnu.org/emacs/emacs/-/pipelines
|
||||
|
||||
* Installing changes from gnulib
|
||||
|
||||
Some of the files in Emacs are copied from gnulib. To synchronize
|
||||
|
@ -110,6 +128,10 @@ again.
|
|||
This is a semi-automated way to find the revision that introduced a bug.
|
||||
Browse 'git help bisect' for technical instructions.
|
||||
|
||||
It is recommended to start a bisection with the admin/git-bisect-start
|
||||
script. This script prunes the branches that are the result of
|
||||
merging external trees into the Emacs repository.
|
||||
|
||||
* Maintaining ChangeLog history
|
||||
|
||||
Older ChangeLog entries are kept in history files named ChangeLog.1,
|
||||
|
|
|
@ -6,31 +6,31 @@ copyright.html.
|
|||
The names, URLs, and dates for these files are as follows.
|
||||
|
||||
BidiBrackets.txt
|
||||
http://www.unicode.org/Public/UNIDATA/BidiBrackets.txt
|
||||
https://www.unicode.org/Public/UNIDATA/BidiBrackets.txt
|
||||
2021-06-30
|
||||
|
||||
BidiMirroring.txt
|
||||
http://www.unicode.org/Public/UNIDATA/BidiMirroring.txt
|
||||
https://www.unicode.org/Public/UNIDATA/BidiMirroring.txt
|
||||
2021-08-08
|
||||
|
||||
Blocks.txt
|
||||
http://www.unicode.org/Public/8.0.0/ucd/Blocks.txt
|
||||
https://www.unicode.org/Public/8.0.0/ucd/Blocks.txt
|
||||
2021-01-22
|
||||
|
||||
IVD_Sequences.txt
|
||||
http://www.unicode.org/ivd/
|
||||
https://www.unicode.org/ivd/
|
||||
2020-11-06
|
||||
|
||||
NormalizationTest.txt
|
||||
http://www.unicode.org/Public/UNIDATA/NormalizationTest.txt
|
||||
https://www.unicode.org/Public/UNIDATA/NormalizationTest.txt
|
||||
2021-05-28
|
||||
|
||||
SpecialCasing.txt
|
||||
http://unicode.org/Public/UNIDATA/SpecialCasing.txt
|
||||
https://unicode.org/Public/UNIDATA/SpecialCasing.txt
|
||||
2021-03-08
|
||||
|
||||
UnicodeData.txt
|
||||
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
|
||||
https://www.unicode.org/Public/UNIDATA/UnicodeData.txt
|
||||
2021-07-06
|
||||
|
||||
emoji-data.txt
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
### Commentary:
|
||||
|
||||
## This script takes as input Unicode's Blocks.txt
|
||||
## (http://www.unicode.org/Public/UNIDATA/Blocks.txt)
|
||||
## (https://www.unicode.org/Public/UNIDATA/Blocks.txt)
|
||||
## and produces output for Emacs's lisp/international/charscript.el.
|
||||
|
||||
## It lumps together all the blocks belonging to the same language.
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<title>Unicode Terms of Use</title>
|
||||
<link rel="stylesheet" type="text/css"
|
||||
|
||||
href="http://www.unicode.org/webscripts/standard_styles.css">
|
||||
href="https://www.unicode.org/webscripts/standard_styles.css">
|
||||
|
||||
<style type="text/css">
|
||||
pre {
|
||||
|
@ -32,8 +32,8 @@
|
|||
<td colspan="2">
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="icon" style="width:38px; height:35px"><a href="http://www.unicode.org/"><img border="0"
|
||||
src="http://www.unicode.org/webscripts/logo60s2.gif" align="middle" alt="[Unicode]" width="34" height="33"></a></td>
|
||||
<td class="icon" style="width:38px; height:35px"><a href="https://www.unicode.org/"><img border="0"
|
||||
src="https://www.unicode.org/webscripts/logo60s2.gif" align="middle" alt="[Unicode]" width="34" height="33"></a></td>
|
||||
<td class="icon" style="vertical-align:middle;"> <a class="bar"
|
||||
href="https://www.unicode.org/copyright.html"><font size="3">Terms of Use</font></a></td>
|
||||
<td class="bar"><a href="https://www.unicode.org/main.html" class="bar">Tech Site</a>
|
||||
|
@ -112,7 +112,7 @@ <h1>Unicode® Copyright and Terms of Use</h1>
|
|||
|
||||
<p>For the general privacy policy governing access to this site, see
|
||||
the
|
||||
<a href="http://www.unicode.org/policies/privacy_policy.html">
|
||||
<a href="https://www.unicode.org/policies/privacy_policy.html">
|
||||
Unicode Privacy Policy</a>.</p>
|
||||
|
||||
<ol type="A">
|
||||
|
@ -158,7 +158,7 @@ <h1>Unicode® Copyright and Terms of Use</h1>
|
|||
specifications of rights and restrictions of use. For the book
|
||||
editions (Unicode 5.0 and earlier), these are found on the back
|
||||
of the
|
||||
<a href="http://www.unicode.org/versions/Unicode5.0.0/Title.pdf">title page</a>.</li>
|
||||
<a href="https://www.unicode.org/versions/Unicode5.0.0/Title.pdf">title page</a>.</li>
|
||||
<li>
|
||||
The Unicode PDF <a href="https://www.unicode.org/charts/">online code charts</a> carry specific restrictions. Those restrictions are incorporated as the
|
||||
first page of each PDF code chart.</li>
|
||||
|
@ -224,7 +224,7 @@ <h1>Unicode® Copyright and Terms of Use</h1>
|
|||
<li><u><a name="5"></a>Trademarks & Logos</u>
|
||||
<ol>
|
||||
<li>The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of Unicode, Inc. Use of the information and materials found on this website indicates your acknowledgement of Unicode, Inc.’s exclusive worldwide rights in the Unicode Word Mark, the Unicode Logo, and the Unicode trade names.</li>
|
||||
<li><a href="http://www.unicode.org/policies/logo_policy.html">The Unicode Consortium Name and Trademark Usage Policy</a> (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc.</li>
|
||||
<li><a href="https://www.unicode.org/policies/logo_policy.html">The Unicode Consortium Name and Trademark Usage Policy</a> (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc.</li>
|
||||
<li>All third party trademarks referenced herein are the property of their respective owners.</li>
|
||||
</ol>
|
||||
</li>
|
||||
|
@ -270,15 +270,15 @@ <h1>Unicode® Copyright and Terms of Use</h1>
|
|||
<center>
|
||||
<table cellspacing="0" cellpadding="0" border="0" id="table2">
|
||||
<tr>
|
||||
<td><a href="http://www.unicode.org/copyright.html">
|
||||
<img src="http://www.unicode.org/img/hb_notice.gif"
|
||||
<td><a href="https://www.unicode.org/copyright.html">
|
||||
<img src="https://www.unicode.org/img/hb_notice.gif"
|
||||
border="0" alt="Access to Copyright and terms of use"
|
||||
width="216" height="50"></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<script language="Javascript" type="text/javascript"
|
||||
src="http://www.unicode.org/webscripts/lastModified.js">
|
||||
src="https://www.unicode.org/webscripts/lastModified.js">
|
||||
</script>
|
||||
|
||||
</center>
|
||||
|
|
|
@ -32,18 +32,7 @@
|
|||
|
||||
### Code:
|
||||
|
||||
set -o nounset
|
||||
|
||||
die () # write error to stderr and exit
|
||||
{
|
||||
[ $# -gt 0 ] && echo "$PN: $@" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
PN=${0##*/} # basename of script
|
||||
PD=${0%/*}
|
||||
|
||||
[ "$PD" = "$0" ] && PD=. # if PATH includes PWD
|
||||
source "${0%/*}/emacs-shell-lib"
|
||||
|
||||
## This should be the admin directory.
|
||||
cd $PD || exit
|
||||
|
@ -102,10 +91,7 @@ done
|
|||
|
||||
[ "$basegen" ] || die "internal error"
|
||||
|
||||
tempfile=/tmp/$PN.$$
|
||||
|
||||
trap 'rm -f $tempfile 2> /dev/null' EXIT
|
||||
|
||||
tempfile="$(emacs_mktemp)"
|
||||
|
||||
while getopts ":hcfqA:CL" option ; do
|
||||
case $option in
|
||||
|
@ -312,5 +298,3 @@ commit "loaddefs" $modified || die "commit error"
|
|||
|
||||
|
||||
exit 0
|
||||
|
||||
### update_autogen ends here
|
||||
|
|
|
@ -36,15 +36,7 @@
|
|||
|
||||
### Code:
|
||||
|
||||
set -o nounset
|
||||
|
||||
die () # write error to stderr and exit
|
||||
{
|
||||
[ $# -gt 0 ] && echo "$PN: $@" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
PN=${0##*/} # basename of script
|
||||
source "${0%/*}/emacs-shell-lib"
|
||||
|
||||
usage ()
|
||||
{
|
||||
|
|
|
@ -1171,6 +1171,13 @@ if test "$emacs_cv_clang" = yes; then
|
|||
gl_WARN_ADD([-Wno-tautological-constant-out-of-range-compare])
|
||||
fi
|
||||
|
||||
# Suppress deprecation warnings from using sprintf variants,
|
||||
# starting with Xcode 14.1 on macOS 13.
|
||||
# These warnings are false alarms, as Emacs usage of sprintf is safe.
|
||||
if test $opsys = darwin; then
|
||||
gl_WARN_ADD([-Wno-deprecated-declarations])
|
||||
fi
|
||||
|
||||
# Use a slightly smaller set of warning options for lib/.
|
||||
nw=
|
||||
nw="$nw -Wunused-macros"
|
||||
|
@ -6771,6 +6778,7 @@ if test -f "$srcdir/$opt_makefile.in"; then
|
|||
dnl Again, it's best not to use a variable. Though you can add
|
||||
dnl ", [], [opt_makefile='$opt_makefile']" and it should work.
|
||||
AC_CONFIG_FILES([test/Makefile])
|
||||
AC_CONFIG_FILES([test/manual/noverlay/Makefile])
|
||||
fi
|
||||
opt_makefile=test/infra/Makefile
|
||||
if test -f "$srcdir/$opt_makefile.in"; then
|
||||
|
|
|
@ -1356,7 +1356,7 @@
|
|||
|
||||
* dired.texi (Dired Deletion, Marks vs Flags): Document Emacs 24.3
|
||||
changes to the mark and unmark commands.
|
||||
(Comparison in Dired): Document chages to dired-diff. Remove M-=,
|
||||
(Comparison in Dired): Document changes to dired-diff. Remove M-=,
|
||||
which is no longer bound to dired-backup-diff.
|
||||
|
||||
2012-10-23 Bastien Guerry <bzg@gnu.org>
|
||||
|
@ -2711,7 +2711,7 @@
|
|||
of list-faces-display here, from Standard Faces node.
|
||||
Note special role of `default' background.
|
||||
(Standard Faces): Note special role of `default' background.
|
||||
Note that region face may be taken fom GTK. Add xref to Text Display.
|
||||
Note that region face may be taken from GTK. Add xref to Text Display.
|
||||
(Text Scale): Rename from "Temporary Face Changes".
|
||||
Callers changed. Don't bother documenting variable-pitch-mode.
|
||||
(Font Lock): Copyedits. Remove font-lock-maximum-size.
|
||||
|
|
|
@ -537,10 +537,13 @@ C/C++ files this is usually the C compiler. Flymake can also use
|
|||
build tools such as @code{make} for checking complicated projects.
|
||||
|
||||
To enable Flymake mode, type @kbd{M-x flymake-mode}. You can jump
|
||||
to the errors that it finds by using @kbd{M-x flymake-goto-next-error}
|
||||
and @kbd{M-x flymake-goto-prev-error}. To display any error messages
|
||||
associated with the current line, type @kbd{M-x
|
||||
flymake-display-err-menu-for-current-line}.
|
||||
to the errors that it finds by using @w{@kbd{M-x
|
||||
flymake-goto-next-error}} and @w{@kbd{M-x flymake-goto-prev-error}}.
|
||||
To display a detailed overview of the diagnostics for the current
|
||||
buffer, use the command @w{@kbd{M-x flymake-show-buffer-diagnostics}};
|
||||
to display a similar overview of diagnostics for the entire project
|
||||
(@pxref{Projects}), use @w{@kbd{M-x
|
||||
flymake-show-project-diagnostics}}.
|
||||
|
||||
For more details about using Flymake,
|
||||
@ifnottex
|
||||
|
|
|
@ -667,6 +667,16 @@ type @kbd{M-x disable-theme}.
|
|||
the @file{*Custom Themes*} buffer; or type @kbd{M-x describe-theme}
|
||||
anywhere in Emacs and enter the theme name.
|
||||
|
||||
@findex theme-choose-variant
|
||||
Some themes have variants (most often just two: light and dark). You
|
||||
can switch to another variant using @kbd{M-x theme-choose-variant}.
|
||||
If the currently active theme has only one other variant, it will be
|
||||
selected; if there are more variants, the command will prompt you
|
||||
which one to switch to.
|
||||
|
||||
Note that @code{theme-choose-variant} only works if a single theme
|
||||
is active.
|
||||
|
||||
@node Creating Custom Themes
|
||||
@subsection Creating Custom Themes
|
||||
@cindex custom themes, creating
|
||||
|
@ -795,12 +805,12 @@ C-h v fill-column @key{RET}
|
|||
displays something like this:
|
||||
|
||||
@example
|
||||
fill-column is a variable defined in ‘C source code’.
|
||||
fill-column is a variable defined in @quoteleft{}C source code@quoteright{}.
|
||||
Its value is 70
|
||||
|
||||
Automatically becomes buffer-local when set.
|
||||
This variable is safe as a file local variable if its value
|
||||
satisfies the predicate ‘integerp’.
|
||||
satisfies the predicate @quoteleft{}integerp@quoteright{}.
|
||||
Probably introduced at or before Emacs version 18.
|
||||
|
||||
Documentation:
|
||||
|
@ -1261,7 +1271,7 @@ mode: my-new
|
|||
disable a minor mode in a local variables list, use the @code{eval}
|
||||
keyword with a Lisp expression that runs the mode command
|
||||
(@pxref{Minor Modes}). For example, the following local variables
|
||||
list enables ElDoc mode (@pxref{Lisp Doc}) by calling
|
||||
list enables ElDoc mode (@pxref{Programming Language Doc}) by calling
|
||||
@code{eldoc-mode} with no argument (calling it with an argument of 1
|
||||
would do the same), and disables Font Lock mode (@pxref{Font Lock}) by
|
||||
calling @code{font-lock-mode} with an argument of @minus{}1.
|
||||
|
@ -1649,7 +1659,7 @@ events.
|
|||
or lower case; @acronym{ASCII} or non-@acronym{ASCII}) are reserved
|
||||
for users. Emacs itself will never bind those key sequences, and
|
||||
Emacs extensions should avoid binding them. In other words, users can
|
||||
bind key sequences like @kbd{C-c a} or @kbd{C-c ç} and rely on these
|
||||
bind key sequences like @kbd{C-c a} or @kbd{C-c @,{c}} and rely on these
|
||||
never being shadowed by other Emacs bindings.
|
||||
|
||||
@node Prefix Keymaps
|
||||
|
@ -2811,6 +2821,24 @@ strings incorrectly. You should then avoid adding Emacs Lisp code
|
|||
that modifies the coding system in other ways, such as calls to
|
||||
@code{set-language-environment}.
|
||||
|
||||
An alternative to using non-@acronym{ASCII} characters directly is
|
||||
to use one of the character escape syntaxes described in
|
||||
@pxref{General Escape Syntax,,, elisp, The Emacs Lisp Reference
|
||||
Manual}, as they allow all Unicode codepoints to be specified using
|
||||
only @acronym{ASCII} characters.
|
||||
|
||||
To bind non-@acronym{ASCII} keys, you must use a vector (@pxref{Init
|
||||
Rebinding}). The string syntax cannot be used, since the
|
||||
non-@acronym{ASCII} characters will be interpreted as meta keys. For
|
||||
instance:
|
||||
|
||||
@example
|
||||
(global-set-key [?@var{char}] 'some-function)
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
Type @kbd{C-q}, followed by the key you want to bind, to insert @var{char}.
|
||||
|
||||
@node Early Init File
|
||||
@subsection The Early Init File
|
||||
@cindex early init file
|
||||
|
|
|
@ -807,7 +807,7 @@ should create non-existent directories in @var{new}.
|
|||
|
||||
The option @code{dired-create-destination-dirs-on-trailing-dirsep},
|
||||
when set in addition to @code{dired-create-destination-dirs}, controls
|
||||
wether a trailing directory separator at the destination is treated
|
||||
whether a trailing directory separator at the destination is treated
|
||||
specially. In that case, when renaming a directory @samp{old} to
|
||||
@samp{new/} and no directory @samp{new} exists already, it will be
|
||||
created and @samp{old} is moved into the newly created directory.
|
||||
|
|
|
@ -270,7 +270,7 @@ either at the top or bottom of the window depending on the scroll
|
|||
direction. By default, @code{scroll-conservatively} is@tie{}0, which
|
||||
means to always center point in the window.
|
||||
This said, in minibuffer windows, scrolling is always conservative by
|
||||
default because @code{scroll-minibuffer-conservatively} is non-nil,
|
||||
default because @code{scroll-minibuffer-conservatively} is non-@code{nil},
|
||||
which takes precedence over @code{scroll-conservatively}.
|
||||
|
||||
@vindex scroll-step
|
||||
|
|
|
@ -718,7 +718,7 @@ Documentation Lookup
|
|||
|
||||
* Info Lookup:: Looking up library functions and commands in Info files.
|
||||
* Man Page:: Looking up man pages of library functions and commands.
|
||||
* Lisp Doc:: Looking up Emacs Lisp functions, etc.
|
||||
* Programming Language Doc:: Looking up program functions, variables, etc.
|
||||
|
||||
C and Related Modes
|
||||
|
||||
|
|
|
@ -108,7 +108,7 @@ You can create such a file with the @command{xmlbmessage} tool.
|
|||
@cindex crashes, Haiku
|
||||
@cindex haiku debugger
|
||||
@vindex haiku-debug-on-fatal-error
|
||||
If the variable @code{haiku-debug-on-fatal-error} is non-nil, Emacs
|
||||
If the variable @code{haiku-debug-on-fatal-error} is non-@code{nil}, Emacs
|
||||
will launch the system debugger when a fatal signal is received. It
|
||||
defaults to @code{t}. If GDB cannot be used on your system, please
|
||||
attach the report generated by the system debugger when reporting a
|
||||
|
|
|
@ -570,8 +570,8 @@ change the variable @code{select-enable-clipboard} to @code{nil}.
|
|||
instance, a web browser will usually let you choose ``Copy Image'' on
|
||||
images, and this image will be put on the clipboard. On capable
|
||||
platforms, Emacs can yank these objects with the @code{yank-media}
|
||||
command---but only in modes that have support for it (@w{@pxref{Yanking
|
||||
Media,,, elisp, The Emacs Lisp Reference Manual}}).
|
||||
command---but only in modes that have support for it (@pxref{Yanking
|
||||
Media,,, elisp, The Emacs Lisp Reference Manual}).
|
||||
|
||||
@cindex clipboard manager
|
||||
@vindex x-select-enable-clipboard-manager
|
||||
|
|
|
@ -159,7 +159,7 @@ dialogue on quitting.
|
|||
@vindex ns-auto-hide-menu-bar
|
||||
@item ns-auto-hide-menu-bar
|
||||
This variable specifies whether the macOS menu bar is hidden when an
|
||||
Emacs frame is selected. If non-nil the menu bar is not shown unless
|
||||
Emacs frame is selected. If non-@code{nil} the menu bar is not shown unless
|
||||
the mouse pointer is moved near to the top of the screen.
|
||||
|
||||
@vindex ns-use-native-fullscreen
|
||||
|
@ -178,14 +178,14 @@ These variables only apply to macOS 10.7 (Lion) and above.
|
|||
@item ns-use-mwheel-acceleration
|
||||
This variable controls whether Emacs ignores the system mousewheel
|
||||
acceleration. When nil each `click' of the mousewheel will correspond
|
||||
exactly with one mousewheel event. When non-nil, the default, each
|
||||
exactly with one mousewheel event. When non-@code{nil}, the default, each
|
||||
`click' may correspond with more than one mousewheel event, depending
|
||||
on the user's input.
|
||||
|
||||
@vindex ns-use-mwheel-momentum
|
||||
@item ns-use-mwheel-momentum
|
||||
This variable controls whether Emacs ignores the system `momentum'
|
||||
when scrolling using a trackpad. When non-nil, the default, scrolling
|
||||
when scrolling using a trackpad. When non-@code{nil}, the default, scrolling
|
||||
rapidly may result in the buffer continuing to scroll for a short
|
||||
while after the user has lifted their fingers off the trackpad.
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
@c See file emacs.texi for copying conditions.
|
||||
@node Maintaining
|
||||
@chapter Maintaining Large Programs
|
||||
@cindex maintaining large programs
|
||||
@cindex large programming projects, maintaining
|
||||
|
||||
This chapter describes Emacs features for maintaining medium- to
|
||||
large-size programs and packages. These features include:
|
||||
|
@ -1830,6 +1832,8 @@ directory. @xref{Top,Eshell,Eshell, eshell, Eshell: The Emacs Shell}.
|
|||
@item C-x p b
|
||||
Switch to another buffer belonging to the current project
|
||||
(@code{project-switch-to-buffer}).
|
||||
@item C-x p C-b
|
||||
List the project buffers (@code{project-list-buffers}).
|
||||
@item C-x p k
|
||||
Kill all live buffers that belong to the current project
|
||||
(@code{project-kill-buffers}).
|
||||
|
@ -1845,6 +1849,11 @@ switch between buffers that belong to the current project by prompting
|
|||
for a buffer to switch and considering only the current project's
|
||||
buffers as candidates for completion.
|
||||
|
||||
@findex project-list-buffers
|
||||
Like the command @code{list-buffers} (@pxref{List Buffers}), the
|
||||
command @kbd{C-x p C-b} (@code{project-list-buffers}) displays a list
|
||||
of existing buffers, but only belonging to the current project.
|
||||
|
||||
@findex project-kill-buffers
|
||||
@vindex project-kill-buffer-conditions
|
||||
@vindex project-kill-buffers-display-buffer-list
|
||||
|
@ -2094,6 +2103,13 @@ definitions of symbols. (One disadvantage of this kind of backend is
|
|||
that it only knows about subunits that were loaded into the
|
||||
interpreter.)
|
||||
|
||||
@item
|
||||
If Eglot is activated for the current buffer's project
|
||||
(@pxref{Projects}) and the current buffer's major mode, Eglot consults
|
||||
an external language server program and provides the data supplied by
|
||||
the server regarding the definitions of the identifiers in the
|
||||
project. @xref{Eglot Features,,, eglot, Eglot: The Emacs LSP Client}.
|
||||
|
||||
@item
|
||||
An external program can extract references by scanning the relevant
|
||||
files, and build a database of these references. A backend can then
|
||||
|
@ -2302,7 +2318,9 @@ Display the reference on the current line in the other window
|
|||
@item r @var{pattern} @key{RET} @var{replacement} @key{RET}
|
||||
Perform interactive query-replace on references that match
|
||||
@var{pattern} (@code{xref-query-replace-in-results}), replacing
|
||||
the match with @var{replacement}. @xref{Identifier Search}.
|
||||
the match with @var{replacement}. This command can only be used in
|
||||
@file{*xref*} buffers that show all the matches for an identifier in
|
||||
all the relevant files. @xref{Identifier Search}.
|
||||
|
||||
@item g
|
||||
@findex xref-revert-buffer
|
||||
|
@ -2336,7 +2354,8 @@ them.
|
|||
@item M-?
|
||||
Find all the references for the identifier at point.
|
||||
|
||||
@item M-x xref-query-replace-in-results @key{RET} @var{replacement} @key{RET}
|
||||
@item r
|
||||
@itemx M-x xref-query-replace-in-results @key{RET} @var{replacement} @key{RET}
|
||||
@itemx C-u M-x xref-query-replace-in-results @key{RET} @var{regexp} @key{RET} @var{replacement} @key{RET}
|
||||
Interactively replace @var{regexp} with @var{replacement} in the names
|
||||
of all the identifiers shown in the @file{*xref*} buffer.
|
||||
|
@ -2382,16 +2401,18 @@ shown. The default value is @code{nil}, which just shows the results
|
|||
in the @file{*xref*} buffer, but doesn't select any of them.
|
||||
|
||||
@findex xref-query-replace-in-results
|
||||
@kbd{M-x xref-query-replace-in-results} reads a @var{replacement}
|
||||
@kbd{r} (@code{xref-query-replace-in-results}) reads a @var{replacement}
|
||||
string, just like ordinary @kbd{M-x query-replace-regexp}. It then
|
||||
renames the identifiers shown in the @file{*xref*} buffer in all the
|
||||
places in all the files where these identifiers are referenced, such
|
||||
that their new name is @var{replacement}. This is useful when you
|
||||
rename your identifiers as part of refactoring. This command should
|
||||
be invoked in the @file{*xref*} buffer generated by @kbd{M-?}. With a
|
||||
prefix argument, the command also prompts for a regexp to match
|
||||
identifier names, and renames that regexp in the names of the matching
|
||||
identifiers with @var{replacement}.
|
||||
be invoked in the @file{*xref*} buffer generated by @kbd{M-?}. By
|
||||
default, the command replaces the entire name of each identifier with
|
||||
@var{replacement}, but if invoked with a prefix argument, the command
|
||||
prompts for a regexp to match identifier names, and replaces only the
|
||||
matches of that regexp in the names of the identifiers with
|
||||
@var{replacement}.
|
||||
|
||||
@findex xref-find-references-and-replace
|
||||
@kbd{M-x xref-find-references-and-replace} works similarly to
|
||||
|
@ -3284,7 +3305,7 @@ according to @code{bug-reference-setup-from-mail-alist},
|
|||
and @code{bug-reference-maybe-setup-from-irc} which does the setup
|
||||
according to @code{bug-reference-setup-from-irc-alist}.
|
||||
@end itemize
|
||||
A setup function should return non-nil if it could setup bug-reference
|
||||
A setup function should return non-@code{nil} if it could setup bug-reference
|
||||
mode which is the case if the last thing the function does is calling
|
||||
one of the helper functions above.
|
||||
|
||||
|
|
|
@ -50,10 +50,10 @@ Ring}. Additionally, some commands will have an effect even on an
|
|||
inactive region (for example @dfn{upcase-region}). You can also
|
||||
reactivate the region with commands like @kbd{C-x C-x}.
|
||||
|
||||
The above default behavior is known as Transient Mark mode.
|
||||
Disabling Transient Mark mode switches Emacs to an alternative
|
||||
behavior, in which the region is usually not highlighted.
|
||||
@xref{Disabled Transient Mark}.
|
||||
The above behavior, which is the default in interactive sessions, is
|
||||
known as Transient Mark mode. Disabling Transient Mark mode switches
|
||||
Emacs to an alternative behavior, in which the region is usually not
|
||||
highlighted. @xref{Disabled Transient Mark}.
|
||||
|
||||
@vindex highlight-nonselected-windows
|
||||
Setting the mark in one buffer has no effect on the marks in other
|
||||
|
@ -455,10 +455,11 @@ motion keys will extend the region set by shift-selection.
|
|||
|
||||
The default behavior of the mark and region, in which setting the
|
||||
mark activates it and highlights the region, is called Transient Mark
|
||||
mode. This is a minor mode that is enabled by default. It can be
|
||||
toggled with @kbd{M-x transient-mark-mode}, or with the
|
||||
@samp{Highlight Active Region} menu item in the @samp{Options} menu.
|
||||
Turning it off switches Emacs to an alternative mode of operation:
|
||||
mode. This is a minor mode that is enabled by default in interactive
|
||||
sessions. It can be toggled with @kbd{M-x transient-mark-mode}, or
|
||||
with the @samp{Highlight Active Region} menu item in the
|
||||
@samp{Options} menu. Turning it off switches Emacs to an alternative
|
||||
mode of operation:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
|
|
@ -1540,7 +1540,7 @@ color is supported. Therefore, Emacs provides an option
|
|||
@code{comint-terminfo-terminal} to let you choose a terminal with more
|
||||
advanced features, as defined in your system's terminfo database.
|
||||
Emacs will use this option as the value for @env{TERM} so long as
|
||||
@code{system-uses-terminfo} is non-nil.
|
||||
@code{system-uses-terminfo} is non-@code{nil}.
|
||||
|
||||
Both @code{comint-terminfo-terminal} and @code{system-uses-terminfo}
|
||||
can be declared as connection-local variables to adjust these options
|
||||
|
|
|
@ -127,7 +127,7 @@ see which mode is actually being entered.
|
|||
Modes}). For example, you can put the following lines in your init
|
||||
file to enable Flyspell minor mode in all text-based major modes
|
||||
(@pxref{Spelling}), and ElDoc minor mode in Emacs Lisp mode
|
||||
(@pxref{Lisp Doc}):
|
||||
(@pxref{Programming Language Doc}):
|
||||
|
||||
@example
|
||||
(add-hook 'text-mode-hook 'flyspell-mode)
|
||||
|
|
|
@ -49,6 +49,7 @@ Manual}.
|
|||
* Package Statuses:: Which statuses a package can have.
|
||||
* Package Installation:: Options for package installation.
|
||||
* Package Files:: Where packages are installed.
|
||||
* Fetching Package Sources:: Managing packages directly from source.
|
||||
@end menu
|
||||
|
||||
@node Package Menu
|
||||
|
@ -530,3 +531,73 @@ are laid out in the same way as in @code{package-user-dir}.
|
|||
corresponding package subdirectory. This only works for packages
|
||||
installed in @code{package-user-dir}; if told to act on a package in a
|
||||
system-wide package directory, the deletion command signals an error.
|
||||
|
||||
@node Fetching Package Sources
|
||||
@section Fetching Package Sources
|
||||
@cindex package development source
|
||||
@cindex upstream source, for packages
|
||||
@cindex git source of package @c "git" is not technically correct
|
||||
|
||||
By default @code{package-install} downloads a Tarball from a package
|
||||
archive and installs its files. This might be inadequate if you wish
|
||||
to hack on the package sources and share your changes with others. In
|
||||
that case, you may prefer to directly fetch and work on the upstream
|
||||
source. This often makes it easier to develop patches and report
|
||||
bugs.
|
||||
|
||||
@findex package-vc-install
|
||||
@findex package-vc-checkout
|
||||
One way to do this is to use @code{package-vc-install}, to fetch the
|
||||
source code for a package directly from source. The command will also
|
||||
automatically ensure that all files are byte-compiled and auto-loaded,
|
||||
just like with a regular package. Packages installed this way behave
|
||||
just like any other package. You can update them using
|
||||
@code{package-update} or @code{package-update-all} and delete them
|
||||
again using @code{package-delete}. They are even displayed in the
|
||||
regular package listing. If you just wish to clone the source of a
|
||||
package, without adding it to the package list, use
|
||||
@code{package-vc-checkout}.
|
||||
|
||||
@vindex package-vc-selected-packages
|
||||
@findex package-vc-install-selected-packages
|
||||
An alternative way to use @code{package-vc-install} is via the
|
||||
@code{package-vc-selected-packages} user option. This is an alist of
|
||||
packages to install, where each key is a package name and the value is
|
||||
@code{nil}, indicating that any revision is to install, a string,
|
||||
indicating a specific revision or a package specification plist. The
|
||||
side effect of setting the user option is to install the package, but
|
||||
the process can also be manually triggered using the function
|
||||
@code{package-vc-install-selected-packages}. Here is an example of
|
||||
how the user option:
|
||||
|
||||
@example
|
||||
@group
|
||||
(setopt package-vc-selected-packages
|
||||
'((modus-themes . "0f39eb3fd9") ;specific revision
|
||||
(auctex . nil) ;any revision
|
||||
(foo ;a package specification
|
||||
:url "https://git.sv.gnu.org/r/foo-mode.git"
|
||||
:branch "trunk")))
|
||||
@end group
|
||||
@end example
|
||||
|
||||
@findex package-report-bug
|
||||
@findex package-vc-prepare-patch
|
||||
With the source checkout, you might want to reproduce a bug against
|
||||
the current development head or implement a new feature to scratch an
|
||||
itch. If the package metadata indicates how to contact the
|
||||
maintainer, you can use the command @code{package-report-bug} to
|
||||
report a bug via Email. This report will include all the user options
|
||||
that you have customized. If you have made a change you wish to share
|
||||
with the maintainers, first commit your changes then use the command
|
||||
@code{package-vc-prepare-patch} to share it. @xref{Preparing Patches}.
|
||||
|
||||
@findex package-vc-install-from-checkout
|
||||
@findex package-vc-rebuild
|
||||
If you maintain your own packages you might want to use a local
|
||||
checkout instead of cloning a remote repository. You can do this by
|
||||
using @code{package-vc-install-from-checkout}, which creates a symbolic link
|
||||
from the package directory (@pxref{Package Files}) to your checkout
|
||||
and initializes the code. Note that you might have to use
|
||||
@code{package-vc-refresh} to repeat the initialization and update the
|
||||
autoloads.
|
||||
|
|
|
@ -287,6 +287,13 @@ they occur in the buffer; if you want alphabetic sorting, use the
|
|||
symbol @code{imenu--sort-by-name} as the value. You can also
|
||||
define your own comparison function by writing Lisp code.
|
||||
|
||||
If Eglot is activated for the current buffer's project
|
||||
(@pxref{Projects}) and the current buffer's major mode, Eglot provides
|
||||
its own facility for producing the buffer's index based on the
|
||||
analysis of the program source by the language-server which manages
|
||||
the current buffer. @xref{Eglot Features,,, eglot, Eglot: The Emacs
|
||||
LSP Client}.
|
||||
|
||||
Imenu provides the information to guide Which Function mode
|
||||
@ifnottex
|
||||
(@pxref{Which Function}).
|
||||
|
@ -985,7 +992,7 @@ Set comment column (@code{comment-set-column}).
|
|||
@item @kbd{C-M-j}
|
||||
@itemx @kbd{M-j}
|
||||
Like @kbd{@key{RET}} followed by inserting and aligning a comment
|
||||
(@code{comment-indent-new-line}). @xref{Multi-Line Comments}.
|
||||
(@code{default-indent-new-line}). @xref{Multi-Line Comments}.
|
||||
@item @kbd{M-x comment-region}
|
||||
@itemx @kbd{C-c C-c} (in C-like modes)
|
||||
Add comment delimiters to all the lines in the region.
|
||||
|
@ -1080,10 +1087,10 @@ the brace rather than at @code{comment-column}. For full details see
|
|||
@kindex C-M-j
|
||||
@kindex M-j
|
||||
@cindex blank lines in programs
|
||||
@findex comment-indent-new-line
|
||||
@findex default-indent-new-line
|
||||
@vindex comment-multi-line
|
||||
If you are typing a comment and wish to continue it to another line,
|
||||
type @kbd{M-j} or @kbd{C-M-j} (@code{comment-indent-new-line}). This
|
||||
type @kbd{M-j} or @kbd{C-M-j} (@code{default-indent-new-line}). This
|
||||
breaks the current line, and inserts the necessary comment delimiters
|
||||
and indentation to continue the comment.
|
||||
|
||||
|
@ -1190,7 +1197,7 @@ use in your program.
|
|||
@menu
|
||||
* Info Lookup:: Looking up library functions and commands in Info files.
|
||||
* Man Page:: Looking up man pages of library functions and commands.
|
||||
* Lisp Doc:: Looking up Emacs Lisp functions, etc.
|
||||
* Programming Language Doc:: Looking up program functions, variables, etc.
|
||||
@end menu
|
||||
|
||||
@node Info Lookup
|
||||
|
@ -1291,8 +1298,10 @@ WoMan Manual}.
|
|||
the WoMan Info manual, which is distributed with Emacs.
|
||||
@end ifnotinfo
|
||||
|
||||
@node Lisp Doc
|
||||
@subsection Emacs Lisp Documentation Lookup
|
||||
@node Programming Language Doc
|
||||
@subsection Programming Language Documentation Lookup
|
||||
@cindex documentation for program symbols
|
||||
@cindex program functions and variables, documentation lookup
|
||||
|
||||
When editing Emacs Lisp code, you can use the commands @kbd{C-h f}
|
||||
(@code{describe-function}) and @kbd{C-h v} (@code{describe-variable})
|
||||
|
@ -1300,43 +1309,120 @@ to view the built-in documentation for the Lisp functions and
|
|||
variables that you want to use. @xref{Name Help}.
|
||||
|
||||
@cindex ElDoc mode
|
||||
@cindex at-point documentation for program symbols
|
||||
@findex eldoc-mode
|
||||
@findex global-eldoc-mode
|
||||
ElDoc is a buffer-local minor mode that helps with looking up Lisp
|
||||
documentation. When it is enabled, the echo area displays some useful
|
||||
information whenever there is a Lisp function or variable at point;
|
||||
for a function, it shows the argument list, and for a variable it
|
||||
shows the first line of the variable's documentation string. To
|
||||
toggle ElDoc mode, type @kbd{M-x eldoc-mode}. There's also a Global
|
||||
ElDoc mode, which is turned on by default, and affects buffers whose
|
||||
major mode sets the variables described below. Use @w{@kbd{M-x
|
||||
global-eldoc-mode}} to turn it off globally.
|
||||
ElDoc@footnote{
|
||||
The name ``ElDoc'' is a historical accident: this mode started by
|
||||
supporting Emacs Lisp buffers.
|
||||
} is a buffer-local minor mode that helps with looking up
|
||||
documentation of symbols (functions, methods, classes, variables,
|
||||
etc.) in your program. When this mode is enabled, the echo area
|
||||
displays useful information whenever there is a documented symbol at
|
||||
point. For example, in buffers under the Emacs Lisp mode, it shows
|
||||
the argument list of a function at point, and for a Lisp variable it
|
||||
shows the first line of the variable's documentation string.
|
||||
|
||||
@vindex eldoc-documentation-strategy
|
||||
@vindex eldoc-documentation-functions
|
||||
These variables can be used to configure ElDoc mode:
|
||||
To toggle ElDoc mode, type @kbd{M-x eldoc-mode}. There's also a
|
||||
Global ElDoc mode, which is turned on by default, and turns on the
|
||||
ElDoc mode in buffers whose major mode sets the variables described
|
||||
below. Use @w{@kbd{M-x global-eldoc-mode}} to turn it off globally.
|
||||
|
||||
Various major modes configure the Global ElDoc mode to use their
|
||||
documentation functions. Examples include Emacs Lisp mode, Python
|
||||
mode, and Cfengine mode. In addition, Emacs features that provide
|
||||
support for several major modes configure ElDoc to use their
|
||||
facilities for retrieving the documentation. Examples include Eglot
|
||||
(@pxref{Eglot Features,,, eglot, Eglot: The Emacs LSP Client}), which
|
||||
provides documentation based on information from language servers;
|
||||
Semantic's Idle Summary mode (@pxref{Idle Summary Mode,,, semantic,
|
||||
Semantic Manual}); and Flymake, which uses ElDoc to show diagnostics
|
||||
at point (@pxref{Finding diagnostics,,, flymake, GNU Flymake manual}).
|
||||
|
||||
The ElDoc mode works by scheduling the display of the available
|
||||
documentation for the symbol at point after Emacs has been idle for
|
||||
some short time. This avoids annoying flickering of documentation
|
||||
messages in the echo area or the mode line when you type quickly and
|
||||
without delay.
|
||||
|
||||
@findex eldoc-print-current-symbol-info
|
||||
You can also trigger the display of documentation for a symbol at
|
||||
point by using the command @kbd{M-x eldoc-print-current-symbol-info}.
|
||||
|
||||
The following variables can be used to configure ElDoc mode:
|
||||
|
||||
@vtable @code
|
||||
@item eldoc-idle-delay
|
||||
The value of this user option controls the amount of idle time before
|
||||
the at-point documentation is displayed. It should be set to the
|
||||
number of seconds to wait; the value of zero means to display without
|
||||
any delay. The default is 0.5 sec.
|
||||
|
||||
@item eldoc-print-after-edit
|
||||
If this user option is non-@code{nil}, ElDoc will show documentation
|
||||
only after some editing command, like inserting or deleting some
|
||||
text. This comes in handy if you want Emacs to display documentation
|
||||
only about symbols that you type, but not about symbols that are
|
||||
already in the buffer (so just reading the source code will not show
|
||||
documentation). The default value is @code{nil}. If you change the
|
||||
value, you need to toggle @code{eldoc-mode} off and on again.
|
||||
|
||||
@item eldoc-echo-area-use-multiline-p
|
||||
This user option controls whether and how to truncate documentation
|
||||
text if it is longer than the echo-area can display as a single screen
|
||||
line. If the value is a positive number, it specifies the number of
|
||||
screen lines that ElDoc is allowed to display in the echo area without
|
||||
truncating the documentation. A positive integer specifies the
|
||||
absolute maximum number of screen lines to use; a floating-point
|
||||
number specifies the number of screen lines as a fraction of the
|
||||
frame's height. The value of @code{t} means never truncate the
|
||||
documentation (the echo-area will be resized up to the height allowed
|
||||
by @code{max-mini-window-height}, @pxref{Minibuffer Edit}), whereas
|
||||
the value of @code{nil} means truncate if the documentation is longer
|
||||
than a single screen line. Finally, the special value
|
||||
@code{truncate-sym-name-if-fit} (the default) means to truncate the
|
||||
part of the documentation that represents a symbol's name if doing
|
||||
that will allow the documentation to fit on a single screen line.
|
||||
|
||||
@item eldoc-echo-area-display-truncation-message
|
||||
If non-@code{nil} (the default), and documentation shown in the echo
|
||||
area is truncated because it's too long, follow the documentation by
|
||||
instructions about how to view the complete documentation text. If
|
||||
@code{nil}, just indicate with @samp{@dots{}} that the documentation
|
||||
was truncated.
|
||||
|
||||
@findex eldoc-doc-buffer
|
||||
@item eldoc-echo-area-prefer-doc-buffer
|
||||
If the value of this user option is @code{t}, ElDoc will not show the
|
||||
documentation in the echo area if the ElDoc buffer with the
|
||||
documentation is already displayed in some window. (You can use the
|
||||
command @kbd{M-x eldoc-doc-buffer} any time to show the ElDoc buffer.)
|
||||
If the value of this option is the symbol @code{maybe}, the
|
||||
documentation will not be displayed in the echo area if the ElDoc
|
||||
buffer is shown in some window, and the documentation text has to be
|
||||
truncated if displayed in the echo area. Finally, the value of
|
||||
@code{nil} (the default) means always show the documentation in the
|
||||
echo area.
|
||||
|
||||
@table @code
|
||||
@item eldoc-documentation-strategy
|
||||
This variable holds the function which is used to retrieve
|
||||
documentation for the item at point from the functions in the hook
|
||||
@code{eldoc-documentation-functions}. By default,
|
||||
@code{eldoc-documentation-strategy} returns the first documentation
|
||||
string produced by the @code{eldoc-documentation-functions} hook, but
|
||||
it may be customized to compose those functions' results in other
|
||||
ways.
|
||||
This customizable variable's value is the function which is used to
|
||||
retrieve and display documentation for the symbol at point. The
|
||||
documentation is produced by the functions in the hook
|
||||
@code{eldoc-documentation-functions}. The default value of
|
||||
@code{eldoc-documentation-strategy} specifies that ElDoc should
|
||||
display the first documentation text produced by functions in the
|
||||
@code{eldoc-documentation-functions} hook, but you can customize
|
||||
@code{eldoc-documentation-strategy} to work in other ways, such as
|
||||
displaying all of the documentation texts concatenated together.
|
||||
|
||||
@item eldoc-documentation-functions
|
||||
This abnormal hook holds documentation functions. It acts as a
|
||||
collection of backends for ElDoc. This is what modes should use to
|
||||
register their documentation functions with ElDoc.
|
||||
|
||||
@vindex eldoc-display-truncation-message
|
||||
@item eldoc-display-truncation-message
|
||||
If non-@code{nil} (the default), display a verbose message about how
|
||||
to view a complete documentation (if it has been truncated in the echo
|
||||
area). If @code{nil}, just mark truncated messages with @samp{...}.
|
||||
@end table
|
||||
This abnormal hook's value is a list of functions that can produce
|
||||
documentation for the symbol at point as appropriate for the current
|
||||
buffer's major-mode. These functions act as a collection of backends
|
||||
for ElDoc. Major mode register their documentation lookup functions
|
||||
with ElDoc by adding their functions to the buffer-local value of this
|
||||
variable.
|
||||
@end vtable
|
||||
|
||||
@node Hideshow
|
||||
@section Hideshow minor mode
|
||||
|
@ -1365,7 +1451,7 @@ count as blocks.
|
|||
@findex hs-show-region
|
||||
@findex hs-hide-level
|
||||
@findex hs-toggle-hiding
|
||||
@findex hs-mouse-toggle-hiding
|
||||
@findex hs-toggle-hiding
|
||||
@kindex C-c @@ C-h
|
||||
@kindex C-c @@ C-s
|
||||
@kindex C-c @@ C-c
|
||||
|
@ -1382,9 +1468,8 @@ Hide the current block (@code{hs-hide-block}).
|
|||
Show the current block (@code{hs-show-block}).
|
||||
@item C-c @@ C-c
|
||||
@itemx C-c @@ C-e
|
||||
@itemx S-mouse-2
|
||||
Either hide or show the current block (@code{hs-toggle-hiding}).
|
||||
@item S-mouse-2
|
||||
Toggle hiding for the block you click on (@code{hs-mouse-toggle-hiding}).
|
||||
@item C-c @@ C-M-h
|
||||
@itemx C-c @@ C-t
|
||||
Hide all top-level blocks (@code{hs-hide-all}).
|
||||
|
@ -1422,27 +1507,45 @@ nor comments). The default value is @code{code}.
|
|||
Completion is normally done in the minibuffer (@pxref{Completion}),
|
||||
but you can also complete symbol names in ordinary Emacs buffers.
|
||||
|
||||
@cindex tags-based completion
|
||||
@kindex M-TAB
|
||||
@kindex C-M-i
|
||||
In programming language modes, type @kbd{C-M-i} or @kbd{M-@key{TAB}}
|
||||
to complete the partial symbol before point. On graphical displays,
|
||||
the @kbd{M-@key{TAB}} key is usually reserved by the window manager
|
||||
for switching graphical windows, so you should type @kbd{C-M-i} or
|
||||
@kbd{@key{ESC} @key{TAB}} instead.
|
||||
|
||||
@cindex tags-based completion
|
||||
@findex completion-at-point@r{, in programming language modes}
|
||||
@cindex Lisp symbol completion
|
||||
@cindex completion (Lisp symbols)
|
||||
In most programming language modes, @kbd{C-M-i} (or
|
||||
@kbd{M-@key{TAB}}) invokes the command @code{completion-at-point},
|
||||
which generates its completion list in a flexible way. If Semantic
|
||||
mode is enabled, it tries to use the Semantic parser data for
|
||||
completion (@pxref{Semantic}). If Semantic mode is not enabled or
|
||||
fails at performing completion, it tries to complete using the
|
||||
selected tags table (@pxref{Tags Tables}). If in Emacs Lisp mode, it
|
||||
performs completion using the function, variable, or property names
|
||||
defined in the current Emacs session.
|
||||
@kbd{M-@key{TAB}}@footnote{
|
||||
On graphical displays, the @kbd{M-@key{TAB}} key is usually reserved
|
||||
by the window manager for switching graphical windows, so you should
|
||||
type @kbd{C-M-i} or @kbd{@key{ESC} @key{TAB}} instead.
|
||||
}) invokes the command @code{completion-at-point}, which generates the
|
||||
list of possible completions for the symbol at point. This command
|
||||
uses the available support facilities to come up with the completion
|
||||
candidates:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
If Eglot is activated for the current buffer's project
|
||||
(@pxref{Projects}) and the current buffer's major mode, the command
|
||||
tries to use the corresponding language server for producing the list
|
||||
of completion candidates. @xref{Eglot Features,,, eglot, Eglot: The
|
||||
Emacs LSP Client}.
|
||||
|
||||
@item
|
||||
If Semantic mode is enabled (@pxref{Semantic}), the command tries to
|
||||
use the Semantic parser data for completion.
|
||||
|
||||
@item
|
||||
If Semantic mode is not enabled or fails at performing completion, the
|
||||
command tries to complete using the selected tags table (@pxref{Tags
|
||||
Tables}); you need to visit the tags table with @w{@kbd{M-x
|
||||
visit-tags-table}} for that to work.
|
||||
|
||||
@item
|
||||
In Emacs Lisp mode, the command performs completion using the
|
||||
function, variable, or property names defined in the current Emacs
|
||||
session.
|
||||
@end itemize
|
||||
|
||||
In all other respects, in-buffer symbol completion behaves like
|
||||
minibuffer completion. For instance, if Emacs cannot complete to
|
||||
|
|
|
@ -1409,6 +1409,14 @@ might use rot13 to hide important plot points.
|
|||
rot13-other-window}. This displays the current buffer in another window
|
||||
which applies the code when displaying the text.
|
||||
|
||||
@findex rot13-region
|
||||
If you are only interested in a region, the command @kbd{M-x
|
||||
rot13-region} might be preferable. This will encrypt/decrypt the
|
||||
active region in-place. If the buffer is read-only, it will attempt
|
||||
to display the plain text in the echo area. If the text is too long
|
||||
for the echo area, the command will pop up a temporary buffer with the
|
||||
encrypted/decrypted text.
|
||||
|
||||
@node Movemail
|
||||
@section @command{movemail} program
|
||||
@cindex @command{movemail} program
|
||||
|
|
|
@ -1348,18 +1348,19 @@ tailor them to your needs.
|
|||
@kindex SPC @r{(Incremental search)}
|
||||
@findex isearch-toggle-lax-whitespace
|
||||
@vindex search-whitespace-regexp
|
||||
By default, search commands perform @dfn{lax space matching}:
|
||||
each space, or sequence of spaces, matches any sequence of one or more
|
||||
whitespace characters in the text. (Incremental regexp search has a
|
||||
separate default; see @ref{Regexp Search}.) Hence, @w{@samp{foo bar}}
|
||||
matches @w{@samp{foo bar}}, @w{@samp{foo@ @ bar}},
|
||||
@w{@samp{foo@ @ @ bar}}, and so on (but not @samp{foobar}). More
|
||||
precisely, Emacs matches each sequence of space characters in the
|
||||
search string to a regular expression specified by the variable
|
||||
@code{search-whitespace-regexp}. For example, to make spaces match
|
||||
sequences of newlines as well as spaces, set it to the regular expression
|
||||
@samp{[[:space:]\n]+}. The default value of this variable considers
|
||||
any sequence of spaces and tab characters as whitespace.
|
||||
By default, search commands perform @dfn{lax space matching}: each
|
||||
space, or sequence of spaces, matches any sequence of one or more
|
||||
whitespace characters in the text. More precisely, Emacs matches each
|
||||
sequence of space characters in the search string to a regular
|
||||
expression specified by the user option
|
||||
@code{search-whitespace-regexp}. The default value of this option
|
||||
considers any sequence of spaces and tab characters as whitespace.
|
||||
Hence, @w{@samp{foo bar}} matches @w{@samp{foo bar}}, @w{@samp{foo@ @
|
||||
bar}}, @w{@samp{foo@ @ @ bar}}, and so on (but not @samp{foobar}). If
|
||||
you want to make spaces match sequences of newlines as well as spaces
|
||||
and tabs, customize the option to make its value be the regular
|
||||
expression @samp{[ \t\n]+}. (The default behavior of the
|
||||
incremental regexp search is different; see @ref{Regexp Search}.)
|
||||
|
||||
If you want whitespace characters to match exactly, you can turn lax
|
||||
space matching off by typing @kbd{M-s @key{SPC}}
|
||||
|
|
|
@ -460,7 +460,7 @@ variables.
|
|||
|
||||
@vindex electric-quote-replace-double
|
||||
You can also set the option @code{electric-quote-replace-double} to
|
||||
a non-@code{nil} value. Then, typing @kbd{"} insert an appropriate
|
||||
a non-@code{nil} value. Then, typing @kbd{"} inserts an appropriate
|
||||
curved double quote depending on context: @t{“} at the beginning of
|
||||
the buffer or after a line break, whitespace, opening parenthesis, or
|
||||
quote character, and @t{”} otherwise.
|
||||
|
@ -998,15 +998,14 @@ major mode's special commands. (The variable
|
|||
|
||||
@vindex outline-minor-mode-use-buttons
|
||||
If @code{outline-minor-mode-use-buttons} is non-@code{nil}, Outline
|
||||
minor mode will use buttons (at the start of the header lines) in
|
||||
addition to ellipsis to show that a section is hidden. Using
|
||||
@kbd{RET} (or clicking on the button with a mouse) will toggle
|
||||
displaying the section.
|
||||
|
||||
@vindex outline-minor-mode-use-margins
|
||||
If @code{outline-minor-mode-use-margins} is non-@code{nil}, Outline
|
||||
minor mode will use the window margins in addition to ellipsis to show
|
||||
that a section is hidden.
|
||||
minor mode will use buttons at the beginning of the heading lines, in
|
||||
addition to ellipsis, to show that a section is hidden. Clicking the
|
||||
mouse on the button toggles display of the section. If the value of
|
||||
this variable is @code{insert}, the buttons are inserted directly into
|
||||
the buffer text, so @key{RET} on the button will also toggle display
|
||||
of the section, like a mouse click does. If the value is
|
||||
@code{in-margins}, Outline minor mode will use the window margins to
|
||||
indicate that a section is hidden.
|
||||
|
||||
@vindex outline-minor-mode-cycle
|
||||
If the @code{outline-minor-mode-cycle} user option is
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
* Revision Tags:: Symbolic names for revisions.
|
||||
* Version Headers:: Inserting version control headers into working files.
|
||||
* Editing VC Commands:: Editing the VC shell commands that Emacs will run.
|
||||
* Preparing Patches:: Preparing and Composing patches from within VC
|
||||
@end menu
|
||||
|
||||
@node Change Logs and VC
|
||||
|
@ -282,6 +283,37 @@ type @w{@kbd{C-x v ! C-x v b l}} and then append the names of
|
|||
additional branches to the end of the @samp{git log} command that VC
|
||||
is about to run.
|
||||
|
||||
@node Preparing Patches
|
||||
@subsubsection Preparing Patches
|
||||
|
||||
@findex vc-prepare-patch
|
||||
When collaborating on projects it is common to send patches via email,
|
||||
to share changes. If you wish to do this using VC, you can use the
|
||||
@code{vc-prepare-patch} command. This will prompt you for the
|
||||
revisions you wish to share, and which destination email address(es)
|
||||
to use. The revisions are separated using commas (or whatever was
|
||||
configured by @var{crm-separator}). The command will then prepare
|
||||
those revisions using your @abbr{MUA, Mail User Agent} for you to
|
||||
review and send.
|
||||
|
||||
When invoked interactively in a Log View buffer with marked revisions,
|
||||
these revisions will be used.
|
||||
|
||||
@vindex vc-prepare-patches-separately
|
||||
Depending on the value of the user option
|
||||
@code{vc-prepare-patches-separately}, @code{vc-prepare-patch} will
|
||||
generate one or more messages. The default value @code{t} means
|
||||
prepare and display a message for each revision, one after another. A
|
||||
value of @code{nil} means to generate a single message with all
|
||||
patches attached in the body.
|
||||
|
||||
@vindex vc-default-patch-addressee
|
||||
If you expect to contribute patches on a regular basis, you can set
|
||||
the user option @code{vc-default-patch-addressee} to the address(es)
|
||||
you wish to use. This will be used as the default value when invoking
|
||||
@code{vc-prepare-patch}. Project maintainers may consider setting
|
||||
this as a directory local variable (@pxref{Directory Variables}).
|
||||
|
||||
@node Customizing VC
|
||||
@subsection Customizing VC
|
||||
|
||||
|
|
|
@ -474,7 +474,7 @@ Each transform is a list of the form @w{@code{(@var{regexp}
|
|||
@var{replacement} [@var{uniquify}])}}. @var{regexp} is a regular
|
||||
expression to match against the file name; if it matches,
|
||||
@code{replace-match} is used to replace the matching part with
|
||||
@var{replacement}. If the optional element @var{uniquify} is non-nil,
|
||||
@var{replacement}. If the optional element @var{uniquify} is non-@code{nil},
|
||||
the auto-save file name is constructed by concatenating the directory
|
||||
part of the transformed file name with the buffer's file name in which
|
||||
all directory separators were changed to @samp{!} to prevent clashes.
|
||||
|
|
|
@ -427,19 +427,19 @@ It is a permanent local, unaffected by
|
|||
@end defvar
|
||||
|
||||
@defvar buffer-file-number
|
||||
This buffer-local variable holds the file number and directory device
|
||||
number of the file visited in the current buffer, or @code{nil} if no
|
||||
This buffer-local variable holds the inode number and device
|
||||
identifier of the file visited in the current buffer, or @code{nil} if no
|
||||
file or a nonexistent file is visited. It is a permanent local,
|
||||
unaffected by @code{kill-all-local-variables}.
|
||||
|
||||
The value is normally a list of the form @code{(@var{filenum}
|
||||
@var{devnum})}. This pair of numbers uniquely identifies the file among
|
||||
The value is normally a list of the form @code{(@var{inodenum}
|
||||
@var{device})}. This tuple uniquely identifies the file among
|
||||
all files accessible on the system. See the function
|
||||
@code{file-attributes}, in @ref{File Attributes}, for more information
|
||||
about them.
|
||||
|
||||
If @code{buffer-file-name} is the name of a symbolic link, then both
|
||||
numbers refer to the recursive target.
|
||||
@var{inodenum} and @var{device} refer to the recursive target of the link.
|
||||
@end defvar
|
||||
|
||||
@defun get-file-buffer filename
|
||||
|
|
|
@ -2726,7 +2726,7 @@ coordinates @var{x} and @var{y} in a specified frame or window,
|
|||
@var{frame-or-window}, which defaults to the selected window.
|
||||
The coordinates @var{x} and @var{y} are relative to the
|
||||
text area of the selected window.
|
||||
If @var{whole} is @code{non-nil}, the @var{x} coordinate is relative
|
||||
If @var{whole} is non-@code{nil}, the @var{x} coordinate is relative
|
||||
to the entire window area including scroll bars, margins and fringes.
|
||||
@end defun
|
||||
|
||||
|
|
|
@ -843,6 +843,14 @@ native compilation of that file. In addition, a similar variable
|
|||
file. If both @code{no-byte-compile} and @code{no-native-compile} are
|
||||
specified, the former takes precedence.
|
||||
|
||||
@cindex native compilation, prevent writing @file{*.eln} files
|
||||
Sometimes there could be a need to prevent the native compilation
|
||||
from writing its results, the @file{*.eln} files, into a subdirectory
|
||||
of @code{user-emacs-directory} (@pxref{Init File}). You can do that
|
||||
by either changing the value of @code{native-comp-eln-load-path}
|
||||
(@pxref{Native-Compilation Variables}) or by temporarily pointing the
|
||||
@env{HOME} environment variable to a non-existing directory.
|
||||
|
||||
@menu
|
||||
* Native-Compilation Functions:: Functions to natively-compile Lisp.
|
||||
* Native-Compilation Variables:: Variables controlling native compilation.
|
||||
|
@ -985,7 +993,7 @@ too late.
|
|||
While setting this variable disables automatic compilation of Lisp
|
||||
files, the compiler may still be invoked to install @dfn{trampolines}
|
||||
if any built-in functions are redefined. However, these trampolines
|
||||
will not get written to disk.
|
||||
will not get written to your cache directory.
|
||||
|
||||
You can also use the @samp{EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION}
|
||||
environment variable to disable native compilation.
|
||||
|
@ -1069,9 +1077,19 @@ pristine environment, that may not be true for the subprocess.
|
|||
@end defopt
|
||||
|
||||
@defopt native-comp-async-query-on-exit
|
||||
If this variable's value is non-nil, Emacs will query upon exiting
|
||||
If this variable's value is non-@code{nil}, Emacs will query upon exiting
|
||||
whether to exit and kill any asynchronous native-compilation
|
||||
subprocesses that are still running, thus preventing the corresponding
|
||||
@file{.eln} files from being written. If the value is @code{nil}, the
|
||||
default, Emacs will kill these subprocesses without querying.
|
||||
@end defopt
|
||||
|
||||
The variable @code{native-comp-eln-load-path} holds the list of
|
||||
directories where Emacs looks for the @file{*.eln} files
|
||||
(@pxref{Library Search}); in that role it is the equivalent of
|
||||
@code{load-path} used to look for @file{*.el} and @file{*.elc} files.
|
||||
The directories in this list are also used for writing the
|
||||
@file{*.eln} files produced by asynchronous native-compilation;
|
||||
specifically, Emacs will write these files into the first writable
|
||||
directory in the list. Thus, you can control where native-compilation
|
||||
stores the results by changing the value of this variable.
|
||||
|
|
|
@ -1534,7 +1534,7 @@ iterator with @code{iter-next} for anything interesting to happen.
|
|||
Each call to a generator function produces a @emph{different}
|
||||
iterator, each with its own state.
|
||||
|
||||
@defun iter-next iterator value
|
||||
@defun iter-next iterator &optional value
|
||||
Retrieve the next value from @var{iterator}. If there are no more
|
||||
values to be generated (because @var{iterator}'s generator function
|
||||
returned), @code{iter-next} signals the @code{iter-end-of-sequence}
|
||||
|
|
|
@ -1428,12 +1428,32 @@ emacs, The GNU Emacs Manual}.)
|
|||
be a call to @code{deftheme}, and the last form should be a call to
|
||||
@code{provide-theme}.
|
||||
|
||||
@defmac deftheme theme &optional doc
|
||||
@defmac deftheme theme &optional doc &rest properties
|
||||
This macro declares @var{theme} (a symbol) as the name of a Custom
|
||||
theme. The optional argument @var{doc} should be a string describing
|
||||
the theme; this is the description shown when the user invokes the
|
||||
@code{describe-theme} command or types @kbd{?} in the @samp{*Custom
|
||||
Themes*} buffer.
|
||||
Themes*} buffer. The remaining arguments @var{properties} are used
|
||||
pass a property list with theme attributes.
|
||||
|
||||
The following attributes are supported:
|
||||
|
||||
@table @code
|
||||
@item :family
|
||||
A symbol designating what ``family'' a theme belongs to. A
|
||||
@dfn{family} of themes is a set of similar themes that differ by minor
|
||||
aspects, such as face colors that are meant for the light vs dark
|
||||
background of the frame.
|
||||
@item :kind
|
||||
A symbol. If a theme is enabled and this property has the value
|
||||
@code{color-scheme}, then the @code{theme-choose-variant} command will
|
||||
look for other available themes that belong to the same family in
|
||||
order to switch the themes. Other values are currently unspecified
|
||||
and should not be used.
|
||||
@item :background-mode
|
||||
A symbol, either @code{light} or @code{dark}. This attribute is
|
||||
currently unused, but should still be specified.
|
||||
@end table
|
||||
|
||||
Two special theme names are disallowed (using them causes an error):
|
||||
@code{user} is a dummy theme that stores the user's direct
|
||||
|
|
|
@ -548,7 +548,7 @@ previous example as follows:
|
|||
@end example
|
||||
@end defmac
|
||||
|
||||
@defmac dolist-with-progress-reporter (var count [result]) reporter-or-message body@dots{}
|
||||
@defmac dolist-with-progress-reporter (var list [result]) reporter-or-message body@dots{}
|
||||
This is another convenience macro that works the same way as @code{dolist}
|
||||
does, but also reports loop progress using the functions described
|
||||
above. As in @code{dotimes-with-progress-reporter},
|
||||
|
@ -2273,7 +2273,7 @@ complex text shaping requires that for some scripts. When that
|
|||
happens, characters no longer map in a simple way to display columns,
|
||||
and display layout decisions with such strings, such as truncating too
|
||||
wide strings, can be a complex job. This function helps in performing
|
||||
suvh jobs: it splits up its argument @var{string} into a list of
|
||||
such jobs: it splits up its argument @var{string} into a list of
|
||||
substrings, where each substring produces a single grapheme cluster
|
||||
that should be displayed as a unit. Lisp programs can then use this
|
||||
list to construct visually-valid substrings of @var{string} which will
|
||||
|
@ -2587,7 +2587,7 @@ meaning the foreground color of the face. Omitting the attribute
|
|||
@code{:color} means to use the foreground color of the face.
|
||||
@var{style} should be a symbol @code{line} or @code{wave}, meaning to
|
||||
use a straight or wavy line. Omitting the attribute @code{:style}
|
||||
means to use a straight line. @var{position}, if non-nil, means to
|
||||
means to use a straight line. @var{position}, if non-@code{nil}, means to
|
||||
display the underline at the descent of the text, instead of at the
|
||||
baseline level. If it is a number, then it specifies the amount of
|
||||
pixels above the descent to display the underline.
|
||||
|
@ -7347,7 +7347,7 @@ Display the next search result in @var{xwidget}. This function will
|
|||
signal an error if a search query has not been already started in
|
||||
@var{xwidget} through @code{xwidget-webkit-search}.
|
||||
|
||||
If @code{wrap-around} was non-nil when @code{xwidget-webkit-search}
|
||||
If @code{wrap-around} was non-@code{nil} when @code{xwidget-webkit-search}
|
||||
was called, then the search will restart from the beginning of the
|
||||
document when its end is reached.
|
||||
@end defun
|
||||
|
@ -7357,7 +7357,7 @@ Display the previous search result in @var{xwidget}. This function
|
|||
signals an error if a search query has not been already started in
|
||||
@var{xwidget} through @code{xwidget-webkit-search}.
|
||||
|
||||
If @code{wrap-around} was non-nil when @code{xwidget-webkit-search}
|
||||
If @code{wrap-around} was non-@code{nil} when @code{xwidget-webkit-search}
|
||||
was called, then the search will restart from the end of the
|
||||
document when its beginning is reached.
|
||||
@end defun
|
||||
|
|
|
@ -1076,16 +1076,25 @@ current buffer, are saved and restored.
|
|||
@cindex window configuration (Edebug)
|
||||
The outside window configuration is saved and restored if
|
||||
@code{edebug-save-windows} is non-@code{nil} (@pxref{Edebug Options}).
|
||||
If the value of @code{edebug-save-windows} is a list, only the listed
|
||||
windows are saved and restored.
|
||||
|
||||
The window configuration is not restored on error or quit, but the
|
||||
outside selected window @emph{is} reselected even on error or quit in
|
||||
case a @code{save-excursion} is active. If the value of
|
||||
@code{edebug-save-windows} is a list, only the listed windows are saved
|
||||
and restored.
|
||||
case a @code{save-excursion} is active.
|
||||
|
||||
The window start and horizontal scrolling of the source code buffer are
|
||||
not restored, however, so that the display remains coherent within Edebug.
|
||||
|
||||
@cindex buffer point changed by Edebug
|
||||
@cindex edebug overwrites buffer point position
|
||||
Saving and restoring the outside window configuration can sometimes
|
||||
change the positions of point in the buffers on which the Lisp program
|
||||
you are debugging operates, especially if your program moves point.
|
||||
If this happens and interferes with your debugging, we recommend to
|
||||
set @code{edebug-save-windows} to @code{nil}
|
||||
(@pxref{Edebug Options}).
|
||||
|
||||
@item
|
||||
The value of point in each displayed buffer is saved and restored if
|
||||
@code{edebug-save-displayed-buffer-points} is non-@code{nil}.
|
||||
|
@ -1655,10 +1664,16 @@ specify an Edebug form specification.
|
|||
If this is non-@code{nil}, Edebug saves and restores the window
|
||||
configuration. That takes some time, so if your program does not care
|
||||
what happens to the window configurations, it is better to set this
|
||||
variable to @code{nil}.
|
||||
variable to @code{nil}. We also recommend to set this to @code{nil}
|
||||
if the default value causes Edebug to overwrite the positions of point
|
||||
in buffers that are involved in the program you are debugging, as
|
||||
result of saving and restoring the window configuration; this could
|
||||
happen if your program moves point in one or more of those buffers.
|
||||
Another option to try to customize in this case is
|
||||
@code{edebug-save-displayed-buffer-points}, described below.
|
||||
|
||||
If the value is a list, only the listed windows are saved and
|
||||
restored.
|
||||
If the value of @code{edebug-save-windows} is a list, only the listed
|
||||
windows are saved and restored.
|
||||
|
||||
You can use the @kbd{W} command in Edebug to change this variable
|
||||
interactively. @xref{Edebug Display Update}.
|
||||
|
|
|
@ -242,7 +242,7 @@ The message is @samp{Cannot determine image type}. @xref{Images}.
|
|||
|
||||
@item inhibited-interaction
|
||||
The message is @samp{User interaction while inhibited}. This error is
|
||||
signalled when @code{inhibit-interaction} is non-@code{nil} and a user
|
||||
signaled when @code{inhibit-interaction} is non-@code{nil} and a user
|
||||
interaction function (like @code{read-from-minibuffer}) is called.
|
||||
@end table
|
||||
|
||||
|
|
|
@ -1253,14 +1253,6 @@ the @samp{smb} method. For all other connection methods, runtime
|
|||
tests are performed.
|
||||
@end defun
|
||||
|
||||
@defun file-in-directory-p file dir
|
||||
This function returns @code{t} if @var{file} is a file in directory
|
||||
@var{dir}, or in a subdirectory of @var{dir}. It also returns
|
||||
@code{t} if @var{file} and @var{dir} are the same directory. It
|
||||
compares the truenames of the two directories. If @var{dir} does not
|
||||
name an existing directory, the return value is @code{nil}.
|
||||
@end defun
|
||||
|
||||
@defun vc-responsible-backend file
|
||||
This function determines the responsible VC backend of the given
|
||||
@var{file}. For example, if @file{emacs.c} is a file tracked by Git,
|
||||
|
@ -1412,14 +1404,17 @@ The file's inode number (@code{file-attribute-inode-number}),
|
|||
a nonnegative integer.
|
||||
|
||||
@item
|
||||
The filesystem number of the device that the file is on
|
||||
@code{file-attribute-device-number}), an integer.
|
||||
This element and the file's inode number
|
||||
together give enough information to distinguish any two files on the
|
||||
system---no two files can have the same values for both of these
|
||||
numbers.
|
||||
The filesystem's identifier of the device that the file is on
|
||||
(@code{file-attribute-device-number}), an integer or a cons cell of
|
||||
two integers. The latter is sometimes used by remote files, in order
|
||||
to distinguish remote filesystems from local ones.
|
||||
@end enumerate
|
||||
|
||||
The file's inode and device together give enough information
|
||||
to distinguish any two files on the system---no two files can have the
|
||||
same values for both of these attributes. This tuple that uniquely
|
||||
identifies the file is returned by @code{file-attribute-file-identifier}.
|
||||
|
||||
For example, here are the file attributes for @file{files.texi}:
|
||||
|
||||
@example
|
||||
|
@ -3100,6 +3095,17 @@ is called with one argument (the file or directory) and should return
|
|||
non-@code{nil} if that directory is the one it is looking for.
|
||||
@end defun
|
||||
|
||||
@cindex parent directory of file
|
||||
@cindex ancestor directory of file
|
||||
@cindex file, ancestor directory of
|
||||
@defun file-in-directory-p file dir
|
||||
This function returns @code{t} if @var{file} is a file in directory
|
||||
@var{dir}, or in a subdirectory of @var{dir}. It also returns
|
||||
@code{t} if @var{file} and @var{dir} are the same directory. It
|
||||
compares the truenames of the two directories. If @var{dir} does not
|
||||
name an existing directory, the return value is @code{nil}.
|
||||
@end defun
|
||||
|
||||
@defun directory-files-and-attributes directory &optional full-name match-regexp nosort id-format count
|
||||
This is similar to @code{directory-files} in deciding which files
|
||||
to report on and how to report their names. However, instead
|
||||
|
@ -3130,7 +3136,7 @@ a list of file names that match it.
|
|||
|
||||
@var{pattern} is, by default, a ``glob''/wildcard string, e.g.,
|
||||
@samp{"/tmp/*.png"} or @samp{"/*/*/foo.png"}, but can also be a
|
||||
regular expression if the optional @var{regexp} parameter is non-nil.
|
||||
regular expression if the optional @var{regexp} parameter is non-@code{nil}.
|
||||
In any case, the matches are applied per sub-directory, so a match
|
||||
can't span a parent/sub directory.
|
||||
|
||||
|
|
|
@ -4058,70 +4058,89 @@ amount of different data types on the clipboard.
|
|||
When the user drops something from another application over Emacs,
|
||||
Emacs will try to insert any text and open any URL that was dropped.
|
||||
If text was dropped, then it will always be inserted at the location
|
||||
of the mouse pointer when the drop happened, or saved in the kill ring
|
||||
if insertion failed (which can happen if the buffer is read-only). If
|
||||
it was an URL, then Emacs tries to call an appropriate handler
|
||||
function by first matching the URL against regexps defined in
|
||||
@code{dnd-protocol-alist}, and then against @code{browse-url-handlers}
|
||||
and @code{browse-url-default-handlers}, and failing that, inserting
|
||||
the URL as plain text.
|
||||
of the mouse pointer where the drop happened, or saved in the kill
|
||||
ring if insertion failed, which could happen if the buffer was
|
||||
read-only. If a URL was dropped instead, then Emacs will first try to
|
||||
call an appropriate handler function by matching the URL against
|
||||
regexps defined in the variable @code{dnd-protocol-alist}, and then
|
||||
against those defined in the variables @code{browse-url-handlers} and
|
||||
@code{browse-url-default-handlers}. Should no suitable handler be
|
||||
located, Emacs will fall back to inserting the URL as plain text.
|
||||
|
||||
@defvar dnd-protocol-alist
|
||||
This variable is a list of cons cells of the form
|
||||
@w{@code{(@var{pattern} . @var{action})}}. @var{pattern} is a regexp
|
||||
that URLs are matched against after being dropped. @var{action} is a
|
||||
function that is called with two arguments should a URL being dropped
|
||||
function that is called with two arguments, should a URL being dropped
|
||||
match @var{pattern}: the URL being dropped, and the action being
|
||||
performed for the drop (one of the symbols @code{copy}, @code{move},
|
||||
@code{link}, @code{private} or @code{ask}).
|
||||
performed for the drop, which is one of the symbols @code{copy},
|
||||
@code{move}, @code{link}, @code{private} or @code{ask}.
|
||||
|
||||
If @var{action} is @var{private}, then it means the program that
|
||||
initiated the drop wants Emacs to perform an unspecified action with
|
||||
the URL; a reasonable action to perform in that case is to open the URL
|
||||
or copy its contents into the current buffer. Otherwise, @var{action}
|
||||
has the same meaning as the @var{action} argument to
|
||||
@code{dnd-begin-file-drag}.
|
||||
@end defvar
|
||||
|
||||
@cindex drag and drop, X
|
||||
@cindex drag and drop, other formats
|
||||
Emacs implements drag-and-drop for text and URLs individually for
|
||||
each window system, and does not by default support the dropping of
|
||||
anything else. Code that wishes to support the dropping of content
|
||||
types not supported by Emacs can utilize the X-specific interface
|
||||
described below:
|
||||
Emacs implements receiving text and URLs individually for each
|
||||
window system, and does not by default support receiving other kinds
|
||||
of data as drops. To support receiving other kinds of data, use the
|
||||
X-specific interface described below:
|
||||
|
||||
@vindex x-dnd-test-function
|
||||
@vindex x-dnd-known-types
|
||||
When a user drags something from another application over Emacs on
|
||||
the X Window System, that other application expects Emacs to tell it
|
||||
if Emacs can handle the data that was dragged. The variable
|
||||
@code{x-dnd-test-function} is used by Emacs to determine what to
|
||||
reply. The default value is @code{x-dnd-default-test-function} which
|
||||
accepts drops if the type of the data to be dropped is present in
|
||||
@code{x-dnd-known-types}. You can customize
|
||||
@code{x-dnd-test-function} and/or @code{x-dnd-known-types} if you want
|
||||
Emacs to accept or reject drops based on some other criteria.
|
||||
When a user drags something from another application over Emacs
|
||||
under the X Window System, that other application expects Emacs to
|
||||
tell it if Emacs understands the data being dragged. The function in
|
||||
the variable @code{x-dnd-test-function} is called by Emacs to
|
||||
determine what to reply to any such inquiry. The default value is
|
||||
@code{x-dnd-default-test-function}, which accepts drops if the type of
|
||||
the data to be dropped is present in @code{x-dnd-known-types}.
|
||||
Changing the variables @code{x-dnd-test-function} and
|
||||
@code{x-dnd-known-types} can make Emacs accept or reject drops based
|
||||
on some other criteria.
|
||||
|
||||
@vindex x-dnd-types-alist
|
||||
If you want to change the way Emacs handles drop of different types
|
||||
or add a new type, customize @code{x-dnd-types-alist}. This requires
|
||||
detailed knowledge of what types other applications use for drag and
|
||||
drop.
|
||||
If you want to change the way Emacs receives drops of different data
|
||||
types, or you want to enable it to understand a new type, change the variable
|
||||
@code{x-dnd-types-alist}. Doing so correctly requires detailed
|
||||
knowledge of what data types other applications use for drag and drop.
|
||||
|
||||
Those data types are typically implemented as special data types an
|
||||
X selection provided by the other application can be converted to.
|
||||
They can either be the same data types that are typically accepted by
|
||||
@code{gui-set-selection}, or they can be MIME types, depending on the
|
||||
specific drag-n-drop protocol being used. Plain text may be
|
||||
@code{"STRING"} or @code{"text/plain"}, for example.
|
||||
These data types are typically implemented as special data types
|
||||
that can be obtained from an X selection provided by the other
|
||||
application. In most cases, they are either the same data types that
|
||||
are typically accepted by @code{gui-set-selection}, or MIME types,
|
||||
depending on the specific drag-and-drop protocol being used. For
|
||||
example, the data type used for plain text may be either
|
||||
@code{"STRING"} or @code{"text/plain"}.
|
||||
|
||||
@vindex x-dnd-direct-save-function
|
||||
@c FIXME: This description is overly-complicated and confusing. In
|
||||
@c particular, the two calls to the function basically sound
|
||||
@c identical, so it is unclear how should the function distinguish
|
||||
@c between the first and the second one. The description of who asks
|
||||
@c whom to do what is also very hard to understand. Needs rewording,
|
||||
@c and needs shorter sentences. Perhaps examples could help.
|
||||
However, @code{x-dnd-types-alist} does not handle a special kind of
|
||||
drop sent by a program which wants Emacs to save a file in a location
|
||||
Emacs must determine by itself. These drops are handled via the
|
||||
variable @code{x-dnd-direct-save-function}, which should be a function
|
||||
that accepts two arguments. If the first argument is non-@code{nil},
|
||||
then the second argument is a string describing the name (with no
|
||||
leading directory) that the other program recommends the file be saved
|
||||
under, and the function should return the complete file name under
|
||||
which it will be saved. Otherwise, the file has already been saved,
|
||||
and the second argument is the complete name of the file. The
|
||||
function should then perform whatever action is appropriate (i.e.,
|
||||
open the file or refresh the directory listing.)
|
||||
drop sent by a program that wants Emacs to tell it where to save a
|
||||
file in a specific location determined by the user. These drops are
|
||||
instead handled by a function that is the value of the variable
|
||||
@code{x-dnd-direct-save-function}. This function should accept two arguments.
|
||||
If the first argument is non-@code{nil}, then the second argument is a
|
||||
file name to save (with leading directories) that the other
|
||||
program recommends, and the
|
||||
function should return the full file name under which it should be
|
||||
saved. After the function completes, Emacs will ask the other program
|
||||
to save the file under the name that was returned, and if the file was
|
||||
successfully saved, call the function again with the first argument
|
||||
set to a non-@code{nil} value and the second argument set to the file
|
||||
name that was returned. The function should then perform whatever
|
||||
action is appropriate (i.e., opening the file or refreshing a
|
||||
directory listing.)
|
||||
|
||||
@cindex initiating drag-and-drop
|
||||
On capable window systems, Emacs also supports dragging contents
|
||||
|
|
|
@ -533,6 +533,44 @@ Instead, use the @code{advertised-calling-convention} declaration
|
|||
compiler emit a warning message when it compiles Lisp programs which
|
||||
use the deprecated calling convention.
|
||||
|
||||
@cindex computed documentation string
|
||||
@kindex :documentation
|
||||
Documentation strings are usually static, but occasionally it can be
|
||||
necessary to generate them dynamically. In some cases you can do so
|
||||
by writing a macro which generates at compile time the code of the
|
||||
function, including the desired documentation string. But you can
|
||||
also generate the docstring dynamically by writing
|
||||
@code{(:documentation @var{form})} instead of the documentation
|
||||
string. This will evaluate @var{form} at run-time when the function
|
||||
is defined and use it as the documentation string@footnote{This only
|
||||
works in code using @code{lexical-binding}.}. You can also compute
|
||||
the documentation string on the fly when it is requested, by setting
|
||||
the @code{function-documentation} property of the function's symbol to
|
||||
a Lisp form that evaluates to a string.
|
||||
|
||||
For example:
|
||||
@example
|
||||
@group
|
||||
(defun adder (x)
|
||||
(lambda (y)
|
||||
(:documentation (format "Add %S to the argument Y." x))
|
||||
(+ x y)))
|
||||
(defalias 'adder5 (adder 5))
|
||||
(documentation 'adder5)
|
||||
@result{} "Add 5 to the argument Y."
|
||||
@end group
|
||||
|
||||
@group
|
||||
(put 'adder5 'function-documentation
|
||||
'(concat (documentation (symbol-function 'adder5) 'raw)
|
||||
" Consulted at " (format-time-string "%H:%M:%S")))
|
||||
(documentation 'adder5)
|
||||
@result{} "Add 5 to the argument Y. Consulted at 15:52:13"
|
||||
(documentation 'adder5)
|
||||
@result{} "Add 5 to the argument Y. Consulted at 15:52:18"
|
||||
@end group
|
||||
@end example
|
||||
|
||||
@node Function Names
|
||||
@section Naming a Function
|
||||
@cindex function definition
|
||||
|
@ -696,7 +734,7 @@ a list of symbols representing the function alias chain, else
|
|||
@result{} (b c)
|
||||
@end example
|
||||
|
||||
If there's a loop in the definitions, an error will be signalled. If
|
||||
If there's a loop in the definitions, an error will be signaled. If
|
||||
@var{noerror} is non-@code{nil}, the non-looping parts of the chain is
|
||||
returned instead.
|
||||
@end defun
|
||||
|
|
|
@ -980,8 +980,8 @@ In addition to function descriptions, the list can also have string
|
|||
elements, which are used to divide a documentation group into
|
||||
sections.
|
||||
|
||||
@defun shortdoc-add-function shortdoc-add-function group section elem
|
||||
Lisp packages can add functions to groups with this command. Each
|
||||
@defun shortdoc-add-function group section elem
|
||||
Lisp packages can add functions to groups with this function. Each
|
||||
@var{elem} should be a function description, as described above.
|
||||
@var{group} is the function group, and @var{section} is what section
|
||||
in the function group to insert the function into.
|
||||
|
|
|
@ -554,12 +554,17 @@ trigger another garbage collection. You can use the result returned by
|
|||
object type; space allocated to the contents of buffers does not count.
|
||||
|
||||
The initial threshold value is @code{GC_DEFAULT_THRESHOLD}, defined in
|
||||
@file{alloc.c}. Since it's defined in @code{word_size} units, the value
|
||||
is 400,000 for the default 32-bit configuration and 800,000 for the 64-bit
|
||||
one. If you specify a larger value, garbage collection will happen less
|
||||
often. This reduces the amount of time spent garbage collecting, but
|
||||
increases total memory use. You may want to do this when running a program
|
||||
that creates lots of Lisp data.
|
||||
@file{alloc.c}. Since it's defined in @code{word_size} units, the
|
||||
value is 400,000 for the default 32-bit configuration and 800,000 for
|
||||
the 64-bit one. If you specify a larger value, garbage collection
|
||||
will happen less often. This reduces the amount of time spent garbage
|
||||
collecting, but increases total memory use. You may want to do this
|
||||
when running a program that creates lots of Lisp data. However, we
|
||||
recommend against increasing the threshold for prolonged periods of
|
||||
time, and advise that you never set it higher than needed for the
|
||||
program to run in reasonable time. Using thresholds higher than
|
||||
necessary could potentially cause system-wide memory pressure, and
|
||||
should therefore be avoided.
|
||||
|
||||
You can make collections more frequent by specifying a smaller value, down
|
||||
to 1/10th of @code{GC_DEFAULT_THRESHOLD}. A value less than this minimum
|
||||
|
@ -576,6 +581,9 @@ garbage collection occurs only when both criteria are satisfied.
|
|||
As the heap size increases, the time to perform a garbage collection
|
||||
increases. Thus, it can be desirable to do them less frequently in
|
||||
proportion.
|
||||
|
||||
As with @code{gc-cons-threshold}, do not enlarge this more than
|
||||
necessary, and never for prolonged periods of time.
|
||||
@end defopt
|
||||
|
||||
Control over the garbage collector via @code{gc-cons-threshold} and
|
||||
|
|
|
@ -34,7 +34,9 @@ specifically to editing.
|
|||
|
||||
This is
|
||||
@iftex
|
||||
@ifset VERSION
|
||||
edition @value{VERSION} of
|
||||
@end ifset
|
||||
@end iftex
|
||||
the @cite{GNU Emacs Lisp Reference Manual},
|
||||
corresponding to Emacs version @value{EMACSVER}.
|
||||
|
|
|
@ -1961,12 +1961,12 @@ and later discarded; this is not possible with a property list.
|
|||
@cindex accessing plist properties
|
||||
|
||||
The following functions can be used to manipulate property lists.
|
||||
They all compare property names using @code{eq}.
|
||||
They all default to comparing property names using @code{eq}.
|
||||
|
||||
@defun plist-get plist property &optional predicate
|
||||
This returns the value of the @var{property} property stored in the
|
||||
property list @var{plist}. Comparisons are done with @var{predicate},
|
||||
and defaults to @code{eq}. It accepts a malformed @var{plist}
|
||||
which defaults to @code{eq}. It accepts a malformed @var{plist}
|
||||
argument. If @var{property} is not found in the @var{plist}, it
|
||||
returns @code{nil}. For example,
|
||||
|
||||
|
@ -1985,7 +1985,7 @@ returns @code{nil}. For example,
|
|||
@defun plist-put plist property value &optional predicate
|
||||
This stores @var{value} as the value of the @var{property} property in
|
||||
the property list @var{plist}. Comparisons are done with @var{predicate},
|
||||
and defaults to @code{eq}. It may modify @var{plist} destructively,
|
||||
which defaults to @code{eq}. It may modify @var{plist} destructively,
|
||||
or it may construct a new list structure without altering the old. The
|
||||
function returns the modified property list, so you can store that back
|
||||
in the place where you got @var{plist}. For example,
|
||||
|
@ -2012,7 +2012,7 @@ compares properties using @code{equal} instead of @code{eq}.
|
|||
|
||||
@defun plist-member plist property &optional predicate
|
||||
This returns non-@code{nil} if @var{plist} contains the given
|
||||
@var{property}. Comparisons are done with @var{predicate}, and
|
||||
@var{property}. Comparisons are done with @var{predicate}, which
|
||||
defaults to @code{eq}. Unlike @code{plist-get}, this allows you to
|
||||
distinguish between a missing property and a property with the value
|
||||
@code{nil}. The value is actually the tail of @var{plist} whose
|
||||
|
|
|
@ -662,7 +662,7 @@ and @code{define-overloadable-function} (see the commentary in
|
|||
and @code{define-global-minor-mode}.
|
||||
|
||||
@item Other definition types:
|
||||
@code{defcustom}, @code{defgroup}, @code{defclass}
|
||||
@code{defcustom}, @code{defgroup}, @code{deftheme}, @code{defclass}
|
||||
(@pxref{Top,EIEIO,,eieio,EIEIO}), and @code{define-skeleton}
|
||||
(@pxref{Top,Autotyping,,autotype,Autotyping}).
|
||||
@end table
|
||||
|
|
|
@ -2745,7 +2745,7 @@ Here's a typical use case:
|
|||
If @code{my-client-handling-function} ends up calling something that
|
||||
asks the user for something (via @code{y-or-n-p} or
|
||||
@code{read-from-minibuffer} or the like), an
|
||||
@code{inhibited-interaction} error is signalled instead. The server
|
||||
@code{inhibited-interaction} error is signaled instead. The server
|
||||
code then catches that error and reports it to the client.
|
||||
|
||||
@node Minibuffer Misc
|
||||
|
|
|
@ -198,7 +198,7 @@ on the hook. The optional argument @var{depth} lets you indicate where the
|
|||
function should be inserted in the list: it should then be a number
|
||||
between -100 and 100 where the higher the value, the closer to the end of the
|
||||
list the function should go. The @var{depth} defaults to 0 and for backward
|
||||
compatibility when @var{depth} is a non-nil symbol it is interpreted as a depth
|
||||
compatibility when @var{depth} is a non-@code{nil} symbol it is interpreted as a depth
|
||||
of 90. Furthermore, when @var{depth} is strictly greater than 0 the function
|
||||
is added @emph{after} rather than before functions of the same depth.
|
||||
One should never use a depth of 100 (or -100), because one can never be
|
||||
|
@ -1256,7 +1256,7 @@ will be a vector for the ID at @var{pos}. If there is no entry at
|
|||
|
||||
@vindex tabulated-list-use-header-line
|
||||
@defun tabulated-list-header-overlay-p &optional POS
|
||||
This @code{defsubst} returns non-nil if there is a fake header at
|
||||
This @code{defsubst} returns non-@code{nil} if there is a fake header at
|
||||
@var{pos}. A fake header is used if
|
||||
@code{tabulated-list-use-header-line} is @code{nil} to put the column
|
||||
names at the beginning of the buffer. If omitted or @code{nil},
|
||||
|
@ -1269,7 +1269,7 @@ This function puts @var{tag} in the padding area of the current line.
|
|||
The padding area can be empty space at the beginning of the line, the
|
||||
width of which is governed by @code{tabulated-list-padding}.
|
||||
@var{tag} should be a string, with a length less than or equal to
|
||||
@code{tabulated-list-padding}. If @var{advance} is non-nil, this
|
||||
@code{tabulated-list-padding}. If @var{advance} is non-@code{nil}, this
|
||||
function advances point by one line.
|
||||
@end defun
|
||||
|
||||
|
@ -1284,7 +1284,7 @@ This function changes the tabulated list entry at point, setting
|
|||
the name of the column to change. @var{desc} is the new column
|
||||
descriptor, which is inserted via @code{tabulated-list-print-col}.
|
||||
|
||||
If @var{change-entry-data} is non-nil, this function modifies the
|
||||
If @var{change-entry-data} is non-@code{nil}, this function modifies the
|
||||
underlying data (usually the column descriptor in the list
|
||||
@code{tabulated-list-entries}) by setting the column descriptor of the
|
||||
vector to @code{desc}.
|
||||
|
@ -1851,7 +1851,9 @@ to enable or disable the buffer-local minor mode @var{mode} in all (or
|
|||
some; see below) buffers. It also executes the @var{body} forms. To
|
||||
turn on the minor mode in a buffer, it uses the function
|
||||
@var{turn-on}; to turn off the minor mode, it calls @var{mode} with
|
||||
@minus{}1 as argument.
|
||||
@minus{}1 as argument. (The function @var{turn-on} is a separate
|
||||
function so it could determine whether to enable the minor mode or not
|
||||
when it is not a priori clear that it should always be enabled.)
|
||||
|
||||
Globally enabling the mode also affects buffers subsequently created
|
||||
by visiting files, and buffers that use a major mode other than
|
||||
|
@ -3150,9 +3152,10 @@ match found by @var{matcher} acts as the anchor for further searches
|
|||
specified by @var{anchored-highlighter}. @var{anchored-highlighter}
|
||||
is a list of the following form:
|
||||
|
||||
@c Don't wrap the line in the next @example, because that tends to
|
||||
@c produce ugly indentation in Info
|
||||
@example
|
||||
(@var{anchored-matcher} @var{pre-form} @var{post-form}
|
||||
@var{subexp-highlighters}@dots{})
|
||||
(@var{anchored-matcher} @var{pre-form} @var{post-form} @var{subexp-highlighters}@dots{})
|
||||
@end example
|
||||
|
||||
Here, @var{anchored-matcher}, like @var{matcher}, is either a regular
|
||||
|
|
|
@ -1238,6 +1238,9 @@ any given seed, the @code{random} function always generates the same
|
|||
sequence of numbers. By default, Emacs initializes the random seed at
|
||||
startup, in such a way that the sequence of values of @code{random}
|
||||
(with overwhelming likelihood) differs in each Emacs run.
|
||||
The random seed is typically initialized from system entropy;
|
||||
however, on obsolescent platforms lacking entropy pools,
|
||||
the seed is taken from less-random volatile data such as the current time.
|
||||
|
||||
Sometimes you want the random number sequence to be repeatable. For
|
||||
example, when debugging a program whose behavior depends on the random
|
||||
|
@ -1256,12 +1259,45 @@ nonnegative and less than @var{limit}. Otherwise, the value might be
|
|||
any fixnum, i.e., any integer from @code{most-negative-fixnum} through
|
||||
@code{most-positive-fixnum} (@pxref{Integer Basics}).
|
||||
|
||||
If @var{limit} is @code{t}, it means to choose a new seed as if Emacs
|
||||
were restarting, typically from the system entropy. On systems
|
||||
lacking entropy pools, choose the seed from less-random volatile data
|
||||
such as the current time.
|
||||
|
||||
If @var{limit} is a string, it means to choose a new seed based on the
|
||||
string's contents.
|
||||
string's contents. This causes later calls to @code{random} to return
|
||||
a reproducible sequence of results.
|
||||
|
||||
If @var{limit} is @code{t}, it means to choose a new seed as if Emacs
|
||||
were restarting. This causes later calls to @code{random} to return
|
||||
an unpredictable sequence of results.
|
||||
|
||||
@end defun
|
||||
|
||||
If you need a random nonce for cryptographic purposes, using
|
||||
@code{random} is typically not the best approach, for several reasons:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
Although you can use @code{(random t)} to consult system entropy,
|
||||
doing so can adversely affect other parts of your program that benefit
|
||||
from reproducible results.
|
||||
|
||||
@item
|
||||
The system-dependent pseudo-random number generator (PRNG) used by
|
||||
@code{random} is not necessarily suitable for cryptography.
|
||||
|
||||
@item
|
||||
A call to @code{(random t)} does not give direct access to system
|
||||
entropy; the entropy is passed through the system-dependent PRNG, thus
|
||||
possibly biasing the results.
|
||||
|
||||
@item
|
||||
On typical platforms the random seed contains only 32 bits, which is
|
||||
typically narrower than an Emacs fixnum, and is not nearly enough for
|
||||
cryptographic purposes.
|
||||
|
||||
@item
|
||||
A @code{(random t)} call leaves information about the nonce scattered
|
||||
about Emacs's internal state, increasing the size of the internal
|
||||
attack surface.
|
||||
|
||||
@item
|
||||
On obsolescent platforms lacking entropy pools, @code{(random t)} is
|
||||
seeded from a cryptographically weak source.
|
||||
@end itemize
|
||||
|
|
|
@ -507,7 +507,7 @@ string describing this signal.
|
|||
Since there are processes violating this rule, returning exit codes
|
||||
greater than 128 which are not bound to a signal, @code{process-file}
|
||||
returns always the exit code as natural number for remote processes.
|
||||
Setting this user option to non-nil forces @code{process-file} to
|
||||
Setting this user option to non-@code{nil} forces @code{process-file} to
|
||||
interpret such exit codes as signals, and to return a corresponding
|
||||
string.
|
||||
@end defopt
|
||||
|
@ -2585,6 +2585,10 @@ that are mainly relevant to encrypted connections:
|
|||
@item :nowait @var{boolean}
|
||||
If non-@code{nil}, try to make an asynchronous connection.
|
||||
|
||||
@item :noquery @var{query-flag}
|
||||
Initialize the process query flag to @var{query-flag}.
|
||||
@xref{Query Before Exit}.
|
||||
|
||||
@item :coding @var{coding}
|
||||
Use this to set the coding systems used by the network process, in
|
||||
preference to binding @code{coding-system-for-read} or
|
||||
|
|
|
@ -395,13 +395,12 @@ range should not be the starting point of another one; for example,
|
|||
@samp{[a-m-z]} should be avoided.
|
||||
|
||||
A character alternative can also specify named character classes
|
||||
(@pxref{Char Classes}). This is a POSIX feature. For example,
|
||||
@samp{[[:ascii:]]} matches any @acronym{ASCII} character.
|
||||
Using a character class is equivalent to mentioning each of the
|
||||
characters in that class; but the latter is not feasible in practice,
|
||||
since some classes include thousands of different characters.
|
||||
A character class should not appear as the lower or upper bound
|
||||
of a range.
|
||||
(@pxref{Char Classes}). For example, @samp{[[:ascii:]]} matches any
|
||||
@acronym{ASCII} character. Using a character class is equivalent to
|
||||
mentioning each of the characters in that class; but the latter is not
|
||||
feasible in practice, since some classes include thousands of
|
||||
different characters. A character class should not appear as the
|
||||
lower or upper bound of a range.
|
||||
|
||||
The usual regexp special characters are not special inside a
|
||||
character alternative. A completely different set of characters is
|
||||
|
@ -617,7 +616,7 @@ This matches any character whose code is in the range 0--31.
|
|||
This matches @samp{0} through @samp{9}. Thus, @samp{[-+[:digit:]]}
|
||||
matches any digit, as well as @samp{+} and @samp{-}.
|
||||
@item [:graph:]
|
||||
This matches graphic characters---everything except whitespace,
|
||||
This matches graphic characters---everything except spaces,
|
||||
@acronym{ASCII} and non-@acronym{ASCII} control characters,
|
||||
surrogates, and codepoints unassigned by Unicode, as indicated by the
|
||||
Unicode @samp{general-category} property (@pxref{Character
|
||||
|
@ -625,29 +624,39 @@ Properties}).
|
|||
@item [:lower:]
|
||||
This matches any lower-case letter, as determined by the current case
|
||||
table (@pxref{Case Tables}). If @code{case-fold-search} is
|
||||
non-@code{nil}, this also matches any upper-case letter.
|
||||
non-@code{nil}, this also matches any upper-case letter. Note that a
|
||||
buffer can have its own local case table different from the default
|
||||
one.
|
||||
@item [:multibyte:]
|
||||
This matches any multibyte character (@pxref{Text Representations}).
|
||||
@item [:nonascii:]
|
||||
This matches any non-@acronym{ASCII} character.
|
||||
@item [:print:]
|
||||
This matches any printing character---either whitespace, or a graphic
|
||||
character matched by @samp{[:graph:]}.
|
||||
This matches any printing character---either spaces or graphic
|
||||
characters matched by @samp{[:graph:]}.
|
||||
@item [:punct:]
|
||||
This matches any punctuation character. (At present, for multibyte
|
||||
characters, it matches anything that has non-word syntax.)
|
||||
characters, it matches anything that has non-word syntax, and thus its
|
||||
exact definition can vary from one major mode to another, since the
|
||||
syntax of a character depends on the major mode.)
|
||||
@item [:space:]
|
||||
This matches any character that has whitespace syntax
|
||||
(@pxref{Syntax Class Table}).
|
||||
(@pxref{Syntax Class Table}). Note that the syntax of a character,
|
||||
and thus which characters are considered ``whitespace'',
|
||||
depends on the major mode.
|
||||
@item [:unibyte:]
|
||||
This matches any unibyte character (@pxref{Text Representations}).
|
||||
@item [:upper:]
|
||||
This matches any upper-case letter, as determined by the current case
|
||||
table (@pxref{Case Tables}). If @code{case-fold-search} is
|
||||
non-@code{nil}, this also matches any lower-case letter.
|
||||
non-@code{nil}, this also matches any lower-case letter. Note that a
|
||||
buffer can have its own local case table different from the default
|
||||
one.
|
||||
@item [:word:]
|
||||
This matches any character that has word syntax (@pxref{Syntax Class
|
||||
Table}).
|
||||
Table}). Note that the syntax of a character, and thus which
|
||||
characters are considered ``word-constituent'', depends on the major
|
||||
mode.
|
||||
@item [:xdigit:]
|
||||
This matches the hexadecimal digits: @samp{0} through @samp{9}, @samp{a}
|
||||
through @samp{f} and @samp{A} through @samp{F}.
|
||||
|
@ -1052,11 +1061,15 @@ customization.
|
|||
@subsubsection Constructs in @code{rx} regexps
|
||||
|
||||
The various forms in @code{rx} regexps are described below. The
|
||||
shorthand @var{rx} represents any @code{rx} form, and @var{rx}@dots{}
|
||||
means zero or more @code{rx} forms. These are all valid arguments to
|
||||
the @code{rx} macro. Where the corresponding string
|
||||
regexp syntax is given, @var{A}, @var{B}, @dots{} are string regexp
|
||||
subexpressions.
|
||||
shorthand @var{rx} represents any @code{rx} form. @var{rx}@dots{}
|
||||
means zero or more @code{rx} forms and, unless stated otherwise,
|
||||
matches these forms in sequence as if wrapped in a @code{(seq @dots{})}
|
||||
subform.
|
||||
|
||||
These are all valid arguments to the @code{rx} macro. All forms are
|
||||
defined by their described semantics; the corresponding string regexps
|
||||
are provided for ease of understanding only. @var{A}, @var{B}, @dots{}
|
||||
denote (suitably bracketed) string regexp subexpressions therein.
|
||||
|
||||
@subsubheading Literals
|
||||
|
||||
|
@ -1290,12 +1303,12 @@ Match any character that has whitespace syntax
|
|||
|
||||
@item @code{lower}, @code{lower-case}
|
||||
Match anything lower-case, as determined by the current case table.
|
||||
If @code{case-fold-search} is non-nil, this also matches any
|
||||
If @code{case-fold-search} is non-@code{nil}, this also matches any
|
||||
upper-case letter.
|
||||
|
||||
@item @code{upper}, @code{upper-case}
|
||||
Match anything upper-case, as determined by the current case table.
|
||||
If @code{case-fold-search} is non-nil, this also matches any
|
||||
If @code{case-fold-search} is non-@code{nil}, this also matches any
|
||||
lower-case letter.
|
||||
|
||||
@item @code{graph}, @code{graphic}
|
||||
|
|
|
@ -484,7 +484,7 @@ is a multibyte string, we recommend to make sure @var{string} is also
|
|||
multibyte, even if it's pure-@acronym{ASCII}.
|
||||
|
||||
Since it is impossible to change the number of characters in an
|
||||
existing string, it is en error if @var{obj} consists of more
|
||||
existing string, it is an error if @var{obj} consists of more
|
||||
characters than would fit in @var{string} starting at character index
|
||||
@var{idx}.
|
||||
@end defun
|
||||
|
|
|
@ -718,9 +718,9 @@ byte-compiling any of the two files has equivalent results. The
|
|||
shorthands @code{snu-split} and @code{snu-lines} used in the second
|
||||
version are @emph{not} interned in the obarray. This is easily seen
|
||||
by moving point to the location where the shorthands are used and
|
||||
waiting for ElDoc (@pxref{Lisp Doc, , Local Variables in Files, emacs,
|
||||
The GNU Emacs Manual}) to hint at the true full name of the symbol
|
||||
under point in the echo area.
|
||||
waiting for ElDoc (@pxref{Programming Language Doc, , Local Variables
|
||||
in Files, emacs, The GNU Emacs Manual}) to hint at the true full name
|
||||
of the symbol under point in the echo area.
|
||||
|
||||
Since @code{read-symbol-shorthands} is a file-local variable, it is
|
||||
possible that multiple libraries depending on
|
||||
|
@ -794,7 +794,7 @@ this case.
|
|||
@end defvar
|
||||
|
||||
@defvar print-symbols-bare
|
||||
When bound to non-nil, the Lisp printer prints only the bare symbol of
|
||||
When bound to non-@code{nil}, the Lisp printer prints only the bare symbol of
|
||||
a symbol with position, ignoring the position.
|
||||
@end defvar
|
||||
|
||||
|
|
|
@ -1525,7 +1525,7 @@ Some commands leave the region active after execution in such a way that
|
|||
it interferes with selective undo of that command. To make @code{undo}
|
||||
ignore the active region when invoked immediately after such a command,
|
||||
set the property @code{undo-inhibit-region} of the command's function
|
||||
symbol to a non-nil value. @xref{Standard Properties}.
|
||||
symbol to a non-@code{nil} value. @xref{Standard Properties}.
|
||||
|
||||
@node Maintaining Undo
|
||||
@section Maintaining Undo Lists
|
||||
|
@ -4876,7 +4876,7 @@ If the optional argument @var{no-pad} is non-@code{nil} then this
|
|||
function doesn't generate the padding.
|
||||
@end defun
|
||||
|
||||
@deffn Command base64-decode-region beg end &optional base64url
|
||||
@deffn Command base64-decode-region beg end &optional base64url ignore-invalid
|
||||
This function converts the region from @var{beg} to @var{end} from base
|
||||
64 code into the corresponding decoded text. It returns the length of
|
||||
the decoded text.
|
||||
|
@ -4885,9 +4885,11 @@ The decoding functions ignore newline characters in the encoded text.
|
|||
|
||||
If optional argument @var{base64url} is non-@code{nil}, then padding
|
||||
is optional, and the URL variant of base 64 encoding is used.
|
||||
If optional argument @var{ignore-invalid} is non-@code{nil}, then any
|
||||
unrecognized characters are ignored.
|
||||
@end deffn
|
||||
|
||||
@defun base64-decode-string string &optional base64url
|
||||
@defun base64-decode-string string &optional base64url ignore-invalid
|
||||
This function converts the string @var{string} from base 64 code into
|
||||
the corresponding decoded text. It returns a unibyte string containing the
|
||||
decoded text.
|
||||
|
@ -4897,6 +4899,8 @@ The decoding functions ignore newline characters in the encoded text.
|
|||
|
||||
If optional argument @var{base64url} is non-@code{nil}, then padding
|
||||
is optional, and the URL variant of base 64 encoding is used.
|
||||
If optional argument @var{ignore-invalid} is non-@code{nil}, then any
|
||||
unrecognized characters are ignored.
|
||||
@end defun
|
||||
|
||||
@node Checksum/Hash
|
||||
|
@ -5321,9 +5325,12 @@ This has exactly the same effect as the previous example, but is more
|
|||
efficient and safer (because it doesn't involve any string parsing or
|
||||
interpolation).
|
||||
|
||||
@code{sqlite-execute} returns the number of affected rows. For
|
||||
instance, an @samp{insert} statement will return @samp{1}, whereas an
|
||||
@samp{update} statement may return zero or a higher number.
|
||||
@code{sqlite-execute} usually returns the number of affected rows.
|
||||
For instance, an @samp{insert} statement will typically return
|
||||
@samp{1}, whereas an @samp{update} statement may return zero or a
|
||||
higher number. However, when using @acronym{SQL} statements like
|
||||
@w{@samp{insert into @dots{} returning @dots{}}} and the like, the values
|
||||
specified by @w{@samp{returning @dots{}}} will be returned instead.
|
||||
|
||||
Strings in SQLite are, by default, stored as @code{utf-8}, and
|
||||
selecting a text column will decode the string using that charset.
|
||||
|
@ -5919,7 +5926,7 @@ methods if these concepts apply to the transport. If they do, then
|
|||
any system resources (e.g.@: processes, timers, etc.) used to listen for
|
||||
messages on the wire should be released in @code{jsonrpc-shutdown},
|
||||
i.e.@: they should only be needed while @code{jsonrpc-running-p} is
|
||||
non-nil.
|
||||
non-@code{nil}.
|
||||
|
||||
@end enumerate
|
||||
|
||||
|
|
|
@ -1183,7 +1183,7 @@ Here is an example:
|
|||
(let ((x 0)) ; @r{@code{x} is lexically bound.}
|
||||
(setq my-ticker (lambda ()
|
||||
(setq x (1+ x)))))
|
||||
@result{} (closure ((x . 0) t) ()
|
||||
@result{} (closure ((x . 0)) ()
|
||||
(setq x (1+ x)))
|
||||
|
||||
(funcall my-ticker)
|
||||
|
@ -2239,9 +2239,26 @@ still respecting file-local variables (@pxref{File Local Variables}).
|
|||
@cindex connection local variables
|
||||
|
||||
Connection-local variables provide a general mechanism for different
|
||||
variable settings in buffers with a remote connection. They are bound
|
||||
variable settings in buffers with a remote connection (@pxref{Remote
|
||||
Files,, Remote Files, emacs, The GNU Emacs Manual}). They are bound
|
||||
and set depending on the remote connection a buffer is dedicated to.
|
||||
|
||||
@menu
|
||||
* Connection Local Profiles:: Storing variable settings to
|
||||
apply to connections.
|
||||
* Applying Connection Local Variables:: Using connection-local values
|
||||
in your code.
|
||||
@end menu
|
||||
|
||||
@node Connection Local Profiles
|
||||
@subsection Connection Local Profiles
|
||||
@cindex connection local profiles
|
||||
|
||||
Emacs uses connection-local profiles to store the variable settings
|
||||
to apply to particular connections. You can then associate these with
|
||||
remote connections by defining the criteria when they should apply,
|
||||
using @code{connection-local-set-profiles}.
|
||||
|
||||
@defun connection-local-set-profile-variables profile variables
|
||||
This function defines a set of variable settings for the connection
|
||||
@var{profile}, which is a symbol. You can later assign the connection
|
||||
|
@ -2311,13 +2328,13 @@ always applies. Example:
|
|||
@example
|
||||
@group
|
||||
(connection-local-set-profiles
|
||||
'(:application 'tramp :protocol "ssh" :machine "localhost")
|
||||
'(:application tramp :protocol "ssh" :machine "localhost")
|
||||
'remote-bash 'remote-null-device)
|
||||
@end group
|
||||
|
||||
@group
|
||||
(connection-local-set-profiles
|
||||
'(:application 'tramp :protocol "sudo"
|
||||
'(:application tramp :protocol "sudo"
|
||||
:user "root" :machine "localhost")
|
||||
'remote-ksh 'remote-null-device)
|
||||
@end group
|
||||
|
@ -2329,13 +2346,13 @@ Therefore, the example above would be equivalent to
|
|||
@example
|
||||
@group
|
||||
(connection-local-set-profiles
|
||||
'(:application 'tramp :protocol "ssh" :machine "localhost")
|
||||
'(:application tramp :protocol "ssh" :machine "localhost")
|
||||
'remote-bash)
|
||||
@end group
|
||||
|
||||
@group
|
||||
(connection-local-set-profiles
|
||||
'(:application 'tramp :protocol "sudo"
|
||||
'(:application tramp :protocol "sudo"
|
||||
:user "root" :machine "localhost")
|
||||
'remote-ksh)
|
||||
@end group
|
||||
|
@ -2356,6 +2373,14 @@ names. The function @code{connection-local-set-profiles} updates this
|
|||
list.
|
||||
@end deffn
|
||||
|
||||
@node Applying Connection Local Variables
|
||||
@subsection Applying Connection Local Variables
|
||||
@cindex connection local variables, applying
|
||||
|
||||
When writing connection-aware code, you'll need to collect, and
|
||||
possibly apply, any connection-local variables. There are several
|
||||
ways to do this, as described below.
|
||||
|
||||
@defun hack-connection-local-variables criteria
|
||||
This function collects applicable connection-local variables
|
||||
associated with @var{criteria} in
|
||||
|
@ -2365,7 +2390,7 @@ Example:
|
|||
@example
|
||||
@group
|
||||
(hack-connection-local-variables
|
||||
'(:application 'tramp :protocol "ssh" :machine "localhost"))
|
||||
'(:application tramp :protocol "ssh" :machine "localhost"))
|
||||
@end group
|
||||
|
||||
@group
|
||||
|
@ -2384,41 +2409,13 @@ This function looks for connection-local variables according to
|
|||
@var{criteria}, and immediately applies them in the current buffer.
|
||||
@end defun
|
||||
|
||||
@defmac with-connection-local-variables &rest body
|
||||
All connection-local variables, which are specified by
|
||||
@code{default-directory}, are applied.
|
||||
@defmac with-connection-local-application-variables application &rest body
|
||||
Apply all connection-local variables for @code{application}, which are
|
||||
specified by @code{default-directory}.
|
||||
|
||||
After that, @var{body} is executed, and the connection-local variables
|
||||
are unwound. Example:
|
||||
|
||||
@example
|
||||
@group
|
||||
(connection-local-set-profile-variables
|
||||
'remote-perl
|
||||
'((perl-command-name . "/usr/local/bin/perl")
|
||||
(perl-command-switch . "-e %s")))
|
||||
@end group
|
||||
|
||||
@group
|
||||
(connection-local-set-profiles
|
||||
'(:application 'tramp :protocol "ssh" :machine "remotehost")
|
||||
'remote-perl)
|
||||
@end group
|
||||
|
||||
@group
|
||||
(let ((default-directory "/ssh:remotehost:/working/dir/"))
|
||||
(with-connection-local-variables
|
||||
do something useful))
|
||||
@end group
|
||||
@end example
|
||||
@end defmac
|
||||
|
||||
@defvar connection-local-default-application
|
||||
The default application, a symbol, to be applied in
|
||||
@code{with-connection-local-variables}. It defaults to @code{tramp},
|
||||
but in case you want to overwrite Tramp's settings temporarily, you
|
||||
could let-bind it like
|
||||
|
||||
@example
|
||||
@group
|
||||
(connection-local-set-profile-variables
|
||||
|
@ -2429,17 +2426,74 @@ could let-bind it like
|
|||
|
||||
@group
|
||||
(connection-local-set-profiles
|
||||
'(:application 'my-app :protocol "ssh" :machine "remotehost")
|
||||
'(:application my-app :protocol "ssh" :machine "remotehost")
|
||||
'my-remote-perl)
|
||||
@end group
|
||||
|
||||
@group
|
||||
(let ((default-directory "/ssh:remotehost:/working/dir/")
|
||||
(connection-local-default-application 'my-app))
|
||||
(with-connection-local-variables
|
||||
(let ((default-directory "/ssh:remotehost:/working/dir/"))
|
||||
(with-connection-local-application-variables 'my-app
|
||||
do something useful))
|
||||
@end group
|
||||
@end example
|
||||
@end defmac
|
||||
|
||||
@defvar connection-local-default-application
|
||||
The default application, a symbol, to be applied in
|
||||
@code{with-connection-local-variables}. It defaults to @code{tramp},
|
||||
but you can let-bind it to change the application temporarily
|
||||
(@pxref{Local Variables}).
|
||||
|
||||
This variable must not be changed globally.
|
||||
@end defvar
|
||||
|
||||
@defmac with-connection-local-variables &rest body
|
||||
This is equivalent to
|
||||
@code{with-connection-local-application-variables}, but uses
|
||||
@code{connection-local-default-application} for the application.
|
||||
@end defmac
|
||||
|
||||
@defmac setq-connection-local [symbol form]@dots{}
|
||||
This macro sets each @var{symbol} connection-locally to the result of
|
||||
evaluating the corresponding @var{form}, using the connection-local
|
||||
profile specified in @code{connection-local-profile-name-for-setq}; if
|
||||
the profile name is @code{nil}, this macro will just set the variables
|
||||
normally, as with @code{setq} (@pxref{Setting Variables}).
|
||||
|
||||
For example, you can use this macro in combination with
|
||||
@code{with-connection-local-variables} or
|
||||
@code{with-connection-local-application-variables} to lazily
|
||||
initialize connection-local settings:
|
||||
|
||||
@example
|
||||
@group
|
||||
(defvar my-app-variable nil)
|
||||
|
||||
(connection-local-set-profile-variables
|
||||
'my-app-connection-default-profile
|
||||
'((my-app-variable . nil)))
|
||||
|
||||
(connection-local-set-profiles
|
||||
'(:application my-app)
|
||||
'my-app-connection-default-profile)
|
||||
@end group
|
||||
|
||||
@group
|
||||
(defun my-app-get-variable ()
|
||||
(with-connection-local-application-variables 'my-app
|
||||
(or my-app-variable
|
||||
(setq-connection-local my-app-variable
|
||||
do something useful))))
|
||||
@end group
|
||||
@end example
|
||||
@end defmac
|
||||
|
||||
@defvar connection-local-profile-name-for-setq
|
||||
The connection-local profile name, a symbol, to use when setting
|
||||
variables via @code{setq-connection-local}. This is let-bound in the
|
||||
body of @code{with-connection-local-variables}, but you can also
|
||||
let-bind it yourself if you'd like to set variables on a different
|
||||
profile.
|
||||
|
||||
This variable must not be changed globally.
|
||||
@end defvar
|
||||
|
|
|
@ -2624,7 +2624,7 @@ default value is an empty display action, i.e., @w{@code{(nil . nil)}}.
|
|||
The value of this option is an alist mapping conditions to display
|
||||
actions. Each condition is passed to @code{buffer-match-p}, along
|
||||
with the buffer name and the @var{action} argument passed to
|
||||
@code{display-buffer}. If it returns a non-nil value, then
|
||||
@code{display-buffer}. If it returns a non-@code{nil} value, then
|
||||
@code{display-buffer} uses the corresponding display action to display
|
||||
the buffer.
|
||||
@end defopt
|
||||
|
@ -6684,32 +6684,32 @@ time window change functions were run for @var{window}'s frame. If it
|
|||
returns @code{nil}, @var{window} has been created after that. If it
|
||||
returns @code{t}, @var{window} was not shown at that time but has been
|
||||
restored from a previously saved window configuration afterwards.
|
||||
Otherwise, the return value is the buffer shown by @code{window} at
|
||||
Otherwise, the return value is the buffer shown by @var{window} at
|
||||
that time.
|
||||
@end defun
|
||||
|
||||
@defun window-old-pixel-width &optional window
|
||||
This function returns the total pixel width of @var{window} the
|
||||
last time window change functions found @code{window} live on its
|
||||
frame. It is zero if @code{window} was created after that.
|
||||
last time window change functions found @var{window} live on its
|
||||
frame. It is zero if @var{window} was created after that.
|
||||
@end defun
|
||||
|
||||
@defun window-old-pixel-height &optional window
|
||||
This function returns the total pixel height of @var{window} the last
|
||||
time window change functions found @code{window} live on its frame.
|
||||
It is zero if @code{window} was created after that.
|
||||
time window change functions found @var{window} live on its frame.
|
||||
It is zero if @var{window} was created after that.
|
||||
@end defun
|
||||
|
||||
@defun window-old-body-pixel-width &optional window
|
||||
This function returns the pixel width of @var{window}'s text area the
|
||||
last time window change functions found @code{window} live on its
|
||||
frame. It is zero if @code{window} was created after that.
|
||||
last time window change functions found @var{window} live on its
|
||||
frame. It is zero if @var{window} was created after that.
|
||||
@end defun
|
||||
|
||||
@defun window-old-body-pixel-height &optional window
|
||||
This function returns the pixel height of @var{window}'s text area the
|
||||
last time window change functions found @code{window} live on its
|
||||
frame. It is zero if @code{window} was created after that.
|
||||
last time window change functions found @var{window} live on its
|
||||
frame. It is zero if @var{window} was created after that.
|
||||
@end defun
|
||||
|
||||
In order to find out which window or frame was selected the last time
|
||||
|
|
|
@ -1460,7 +1460,7 @@
|
|||
|
||||
2013-10-24 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* ert.texi (Running Tests Interactively): Adapt examle output.
|
||||
* ert.texi (Running Tests Interactively): Adapt example output.
|
||||
(Tests and Their Environment): Mention skip-unless.
|
||||
|
||||
2013-10-23 Glenn Morris <rgm@gnu.org>
|
||||
|
@ -3525,7 +3525,7 @@
|
|||
|
||||
2012-01-03 Carsten Dominik <carsten.dominik@gmail.com>
|
||||
|
||||
* org.texi (The clock table): Mention that ACHIVED trees
|
||||
* org.texi (The clock table): Mention that ARCHIVED trees
|
||||
contribute to the clock table.
|
||||
|
||||
2012-01-03 Carsten Dominik <carsten.dominik@gmail.com> (tiny change)
|
||||
|
@ -4420,12 +4420,7 @@
|
|||
|
||||
2011-02-05 Era Eriksson <era+tramp@iki.fi> (tiny change)
|
||||
|
||||
* tramp.texi:
|
||||
Replace "delimet" with "delimit" globally.
|
||||
Replace "explicite" with "explicit" globally.
|
||||
Replace "instead of" with "instead" where there was nothing after "of".
|
||||
Audit use of comma before interrogative pronoun, "that", or "which".
|
||||
Minor word order, spelling, wording changes.
|
||||
* tramp.texi: Minor word order, spelling, wording changes.
|
||||
|
||||
2011-02-04 Teodor Zlatanov <tzz@lifelogs.com>
|
||||
|
||||
|
@ -5868,7 +5863,7 @@
|
|||
2009-09-02 Carsten Dominik <carsten.dominik@gmail.com>
|
||||
|
||||
* org.texi (Effort estimates): Document new effort setting commands.
|
||||
(Agenda commands): Document the new keys fro agenda time motion.
|
||||
(Agenda commands): Document the new keys for agenda time motion.
|
||||
Document entry text mode. Improve documentation of the keys to include
|
||||
inactive time stamps into the agenda view.
|
||||
(Feedback): Document the new bug report command.
|
||||
|
@ -10409,7 +10404,7 @@
|
|||
* sc.texi (Emacs 18 MUAs):
|
||||
* speedbar.texi (Top):
|
||||
* url.texi (History):
|
||||
Delete duplicate duplicate words.
|
||||
Delete duplicate words.
|
||||
|
||||
2005-07-16 Johan Bockgård <bojohan@users.sourceforge.net> (tiny change)
|
||||
|
||||
|
|
|
@ -68,13 +68,13 @@ DOCMISC_W32 = @DOCMISC_W32@
|
|||
|
||||
## Info files to build and install on all platforms.
|
||||
INFO_COMMON = auth autotype bovine calc ccmode cl \
|
||||
dbus dired-x ebrowse ede ediff edt eieio \
|
||||
emacs-mime epa erc ert eshell eudc efaq eww \
|
||||
flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \
|
||||
mairix-el message mh-e modus-themes newsticker nxml-mode octave-mode \
|
||||
org pcl-cvs pgg rcirc remember reftex sasl \
|
||||
sc semantic ses sieve smtpmail speedbar srecode todo-mode transient \
|
||||
tramp url vhdl-mode vip viper vtable widget wisent woman
|
||||
dbus dired-x ebrowse ede ediff edt efaq eglot eieio \
|
||||
emacs-gnutls emacs-mime epa erc ert eshell eudc eww \
|
||||
flymake forms gnus htmlfontify idlwave ido info.info \
|
||||
mairix-el message mh-e modus-themes newsticker nxml-mode \
|
||||
octave-mode org pcl-cvs pgg rcirc reftex remember sasl \
|
||||
sc semantic ses sieve smtpmail speedbar srecode todo-mode \
|
||||
tramp transient url vhdl-mode vip viper vtable widget wisent woman
|
||||
|
||||
## Info files to install on current platform.
|
||||
INFO_INSTALL = $(INFO_COMMON) $(DOCMISC_W32)
|
||||
|
|
|
@ -526,6 +526,8 @@ If several entries match, the one matching the most items (where an
|
|||
while searching for an entry matching the @code{rms} user on host
|
||||
@code{gnu.org} and port @code{22}, then the entry
|
||||
@file{gnu.org:22/rms.gpg} is preferred over @file{gnu.org.gpg}.
|
||||
However, such processing is not applied when the option
|
||||
@code{auth-source-pass-extra-parameters} is set to @code{t}.
|
||||
|
||||
Users of @code{pass} may also be interested in functionality provided
|
||||
by other Emacs packages:
|
||||
|
@ -549,6 +551,22 @@ Set this variable to a string that should separate an host name from a
|
|||
port in an entry. Defaults to @samp{:}.
|
||||
@end defvar
|
||||
|
||||
@defvar auth-source-pass-extra-query-keywords
|
||||
This expands the selection of available keywords to include
|
||||
@code{:max} and @code{:require} and tells more of them to accept a
|
||||
list of query parameters as an argument. When searching, it also
|
||||
favors the @samp{rms@@gnu.org.gpg} form for usernames over the
|
||||
@samp{gnu.org/rms.gpg} form, regardless of whether a @code{:user}
|
||||
param was provided.
|
||||
|
||||
In general, if you prefer idiosyncrasies traditionally exhibited by
|
||||
this backend, such as prioritizing field count in a filename, try
|
||||
setting this option to @code{nil}. But, if you experience problems
|
||||
predicting the outcome of searches relative to other auth-source
|
||||
backends or encounter code expecting to query multiple backends
|
||||
uniformly, try flipping it back to @code{t} (the default).
|
||||
@end defvar
|
||||
|
||||
@node Help for developers
|
||||
@chapter Help for developers
|
||||
|
||||
|
|
|
@ -580,7 +580,7 @@ you are going to be editing AWK files, @file{README} describes how to
|
|||
configure your (X)Emacs so that @ccmode{} will supersede the obsolete
|
||||
@code{awk-mode.el} which might have been supplied with your (X)Emacs.
|
||||
@ccmode{} might not work with older versions of Emacs or XEmacs. See
|
||||
the @ccmode{} release notes at @uref{http://cc-mode.sourceforge.net}
|
||||
the @ccmode{} release notes at @uref{https://cc-mode.sourceforge.net}
|
||||
for the latest information on Emacs version and package compatibility
|
||||
(@pxref{Updating CC Mode}).
|
||||
|
||||
|
@ -2191,7 +2191,7 @@ foo& bar
|
|||
|
||||
@defvar c-asymmetry-fontification-flag
|
||||
@vindex asymmetry-fontification-flag @r{(c-)}
|
||||
When @code{c-asymmetry-fontification-flag} is non-nil (which it is by
|
||||
When @code{c-asymmetry-fontification-flag} is non-@code{nil} (which it is by
|
||||
default), code like the above, with white space either before or after
|
||||
the operator, but not both, is fontified as a declaration. When the
|
||||
variable is nil, such a construct gets the default face.
|
||||
|
@ -3170,7 +3170,7 @@ E. Jones' Filladapt package@footnote{It's available from
|
|||
lack a feature that makes it work suboptimally when
|
||||
@code{c-comment-prefix-regexp} matches the empty string (which it does
|
||||
by default). A patch for that is available from
|
||||
@uref{http://cc-mode.sourceforge.net/,, the CC Mode web site}.},
|
||||
@uref{https://cc-mode.sourceforge.net/,, the CC Mode web site}.},
|
||||
@c 2005/11/22: The above is still believed to be the case.
|
||||
which handles things like bulleted lists nicely. There's a convenience
|
||||
function @code{c-setup-filladapt} that tunes the relevant variables in
|
||||
|
@ -7583,7 +7583,7 @@ have old versions of @ccmode{} and so should be upgraded. Access to the
|
|||
compatibility, etc.@: are all available on the web site:
|
||||
|
||||
@quotation
|
||||
@uref{http://cc-mode.sourceforge.net/}
|
||||
@uref{https://cc-mode.sourceforge.net/}
|
||||
@end quotation
|
||||
|
||||
|
||||
|
@ -7617,7 +7617,7 @@ the GNU Bug Tracker at @url{https://debbugs.gnu.org}, then sends it on
|
|||
to @email{bug-cc-mode@@gnu.org}. You can also send reports, other
|
||||
questions, and suggestions (kudos?@: @t{;-)} to that address. It's a
|
||||
mailing list which you can join or browse an archive of; see the web site at
|
||||
@uref{http://cc-mode.sourceforge.net/} for further details.
|
||||
@uref{https://cc-mode.sourceforge.net/} for further details.
|
||||
|
||||
@cindex announcement mailing list
|
||||
If you want to get announcements of new @ccmode{} releases, send the
|
||||
|
|
|
@ -3381,9 +3381,9 @@ true for all elements.
|
|||
|
||||
@defun cl-reduce function seq @t{&key :from-end :start :end :initial-value :key}
|
||||
This function returns the result of calling @var{function} on the
|
||||
first and second element of @var{seq}, then calling @var{function}
|
||||
first and second elements of @var{seq}, then calling @var{function}
|
||||
with that result and the third element of @var{seq}, then with that
|
||||
result and the third element of @var{seq}, etc.
|
||||
result and the fourth element of @var{seq}, etc.
|
||||
|
||||
Here is an example. Suppose @var{function} is @code{*} and @var{seq}
|
||||
is the list @code{(2 3 4 5)}. The first two elements of the list are
|
||||
|
@ -4051,7 +4051,7 @@ following keywords can be used:
|
|||
|
||||
@table @code
|
||||
@item :read-only
|
||||
A non-nil value means the slot should not be @code{setf}-able;
|
||||
A non-@code{nil} value means the slot should not be @code{setf}-able;
|
||||
the slot's value is determined when the object is created and does
|
||||
not change afterward.
|
||||
|
||||
|
|
|
@ -1432,7 +1432,7 @@ See @file{ede-proj-obj.el} for examples of the combination.
|
|||
@item ede-project-placeholder
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{@xref{ede-project}.}
|
||||
@xref{ede-project}.
|
||||
@end table
|
||||
@end table
|
||||
@end table
|
||||
|
@ -1515,12 +1515,12 @@ Make sure placeholder @var{THIS} is replaced with the real thing, and pass throu
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-project-placeholder}.}
|
||||
@item @xref{ede-project-placeholder}.
|
||||
@table @code
|
||||
@item ede-project
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{@xref{ede-cpp-root-project},} @w{ede-emacs-project,} @w{ede-linux-project,} @w{ede-maven-project,} @w{@xref{ede-simple-project},} @w{@xref{ede-simple-base-project},} @w{@xref{ede-proj-project},} @w{@xref{project-am-makefile},} @w{@xref{ede-step-project}.}
|
||||
@xref{ede-cpp-root-project}, @w{ede-emacs-project,} @w{ede-linux-project,} @w{ede-maven-project,} @xref{ede-simple-project}, @xref{ede-simple-base-project}, @xref{ede-proj-project}, @xref{project-am-makefile}, @xref{ede-step-project}.
|
||||
@end table
|
||||
@end table
|
||||
@end table
|
||||
|
@ -1801,9 +1801,9 @@ Commit change to local variables in @var{PROJ}.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-project-placeholder}.}
|
||||
@item @xref{ede-project-placeholder}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-project}.}
|
||||
@item @xref{ede-project}.
|
||||
@table @code
|
||||
@item ede-cpp-root-project
|
||||
No children
|
||||
|
@ -1923,9 +1923,9 @@ This knows details about or source tree.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-project-placeholder}.}
|
||||
@item @xref{ede-project-placeholder}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-project}.}
|
||||
@item @xref{ede-project}.
|
||||
@table @code
|
||||
@item ede-simple-project
|
||||
No children
|
||||
|
@ -1953,9 +1953,9 @@ Commit any change to @var{PROJ} to its file.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-project-placeholder}.}
|
||||
@item @xref{ede-project-placeholder}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-project}.}
|
||||
@item @xref{ede-project}.
|
||||
@table @code
|
||||
@item ede-simple-base-project
|
||||
No children
|
||||
|
@ -1983,9 +1983,9 @@ This one project could control a tree of subdirectories.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-project-placeholder}.}
|
||||
@item @xref{ede-project-placeholder}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-project}.}
|
||||
@item @xref{ede-project}.
|
||||
@table @code
|
||||
@item ede-proj-project
|
||||
No children
|
||||
|
@ -2173,9 +2173,9 @@ Commit change to local variables in @var{PROJ}.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-project-placeholder}.}
|
||||
@item @xref{ede-project-placeholder}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-project}.}
|
||||
@item @xref{ede-project}.
|
||||
@table @code
|
||||
@item project-am-makefile
|
||||
No children
|
||||
|
@ -2215,9 +2215,9 @@ buffer being in order to provide a smart default target type.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-project-placeholder}.}
|
||||
@item @xref{ede-project-placeholder}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-project}.}
|
||||
@item @xref{ede-project}.
|
||||
@table @code
|
||||
@item ede-step-project
|
||||
No children
|
||||
|
@ -2371,7 +2371,7 @@ Commit change to local variables in @var{PROJ}.
|
|||
@item ede-target
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{ede-cpp-root-target,} @w{ede-emacs-target-c,} @w{ede-emacs-target-el,} @w{ede-emacs-target-misc,} @w{ede-linux-target-c,} @w{ede-linux-target-misc,} @w{ede-maven-target-java,} @w{ede-maven-target-c,} @w{ede-maven-target-misc,} @w{ede-simple-target,} @w{@xref{ede-proj-target},} @w{@xref{project-am-target}.}
|
||||
@w{ede-cpp-root-target,} @w{ede-emacs-target-c,} @w{ede-emacs-target-el,} @w{ede-emacs-target-misc,} @w{ede-linux-target-c,} @w{ede-linux-target-misc,} @w{ede-maven-target-java,} @w{ede-maven-target-c,} @w{ede-maven-target-misc,} @w{ede-simple-target,} @xref{ede-proj-target}, @xref{project-am-target}.
|
||||
@end table
|
||||
@end table
|
||||
@end table
|
||||
|
@ -2536,7 +2536,7 @@ Call this when a user finishes customizing @var{TARGET}.
|
|||
@end deffn
|
||||
|
||||
@deffn Method project-edit-file-target :AFTER ot
|
||||
Edit the target @var{OT} associated w/ this file.
|
||||
Edit the target @var{OT} associated with this file.
|
||||
@end deffn
|
||||
|
||||
@deffn Method ede-documentation :AFTER this
|
||||
|
@ -2577,12 +2577,12 @@ Retrieves the slot @code{menu} from an object of class @code{ede-target}
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item ede-proj-target
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{@xref{ede-proj-target-makefile},} @w{ede-proj-target-aux,} @w{@xref{ede-proj-target-scheme}.}
|
||||
@xref{ede-proj-target-makefile}, @w{ede-proj-target-aux,} @xref{ede-proj-target-scheme}.
|
||||
@end table
|
||||
@end table
|
||||
@end table
|
||||
|
@ -2766,14 +2766,14 @@ sources variable.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target}.}
|
||||
@item @xref{ede-proj-target}.
|
||||
@table @code
|
||||
@item ede-proj-target-makefile
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{@xref{semantic-ede-proj-target-grammar},} @w{@xref{ede-proj-target-makefile-objectcode},} @w{@xref{ede-proj-target-elisp},} @w{@xref{ede-proj-target-makefile-miscelaneous},} @w{@xref{ede-proj-target-makefile-info}.}
|
||||
@xref{semantic-ede-proj-target-grammar}, @xref{ede-proj-target-makefile-objectcode}, @xref{ede-proj-target-elisp}, @xref{ede-proj-target-makefile-miscelaneous}, @xref{ede-proj-target-makefile-info}.
|
||||
@end table
|
||||
@end table
|
||||
@end table
|
||||
|
@ -2864,11 +2864,11 @@ Use @var{CONFIGURATION} as the current configuration to query.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target}.}
|
||||
@item @xref{ede-proj-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile}.}
|
||||
@item @xref{ede-proj-target-makefile}.
|
||||
@table @code
|
||||
@item semantic-ede-proj-target-grammar
|
||||
No children
|
||||
|
@ -2918,16 +2918,16 @@ Argument @var{THIS} is the target that should insert stuff.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target}.}
|
||||
@item @xref{ede-proj-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile}.}
|
||||
@item @xref{ede-proj-target-makefile}.
|
||||
@table @code
|
||||
@item ede-proj-target-makefile-objectcode
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{@xref{ede-proj-target-makefile-archive},} @w{@xref{ede-proj-target-makefile-program}.}
|
||||
@xref{ede-proj-target-makefile-archive}, @xref{ede-proj-target-makefile-program}.
|
||||
@end table
|
||||
@end table
|
||||
@end table
|
||||
|
@ -2980,13 +2980,13 @@ Argument @var{THIS} is the target to get sources from.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target}.}
|
||||
@item @xref{ede-proj-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile}.}
|
||||
@item @xref{ede-proj-target-makefile}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile-objectcode}.}
|
||||
@item @xref{ede-proj-target-makefile-objectcode}.
|
||||
@table @code
|
||||
@item ede-proj-target-makefile-archive
|
||||
No children
|
||||
|
@ -3023,18 +3023,18 @@ Makefile.am generator, so use it to add this important bin program.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target}.}
|
||||
@item @xref{ede-proj-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile}.}
|
||||
@item @xref{ede-proj-target-makefile}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile-objectcode}.}
|
||||
@item @xref{ede-proj-target-makefile-objectcode}.
|
||||
@table @code
|
||||
@item ede-proj-target-makefile-program
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{@xref{ede-proj-target-makefile-shared-object}.}
|
||||
@xref{ede-proj-target-makefile-shared-object}.
|
||||
@end table
|
||||
@end table
|
||||
@end table
|
||||
|
@ -3102,15 +3102,15 @@ Insert bin_PROGRAMS variables needed by target @var{THIS}.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target}.}
|
||||
@item @xref{ede-proj-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile}.}
|
||||
@item @xref{ede-proj-target-makefile}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile-objectcode}.}
|
||||
@item @xref{ede-proj-target-makefile-objectcode}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile-program}.}
|
||||
@item @xref{ede-proj-target-makefile-program}.
|
||||
@table @code
|
||||
@item ede-proj-target-makefile-shared-object
|
||||
No children
|
||||
|
@ -3162,16 +3162,16 @@ Makefile.am generator, so use it to add this important bin program.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target}.}
|
||||
@item @xref{ede-proj-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile}.}
|
||||
@item @xref{ede-proj-target-makefile}.
|
||||
@table @code
|
||||
@item ede-proj-target-elisp
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{@xref{ede-proj-target-elisp-autoloads}.}
|
||||
@xref{ede-proj-target-elisp-autoloads}.
|
||||
@end table
|
||||
@end table
|
||||
@end table
|
||||
|
@ -3238,13 +3238,13 @@ is found, such as a @code{-version} variable, or the standard header.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target}.}
|
||||
@item @xref{ede-proj-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile}.}
|
||||
@item @xref{ede-proj-target-makefile}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-elisp}.}
|
||||
@item @xref{ede-proj-target-elisp}.
|
||||
@table @code
|
||||
@item ede-proj-target-elisp-autoloads
|
||||
No children
|
||||
|
@ -3353,11 +3353,11 @@ sources variable.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target}.}
|
||||
@item @xref{ede-proj-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile}.}
|
||||
@item @xref{ede-proj-target-makefile}.
|
||||
@table @code
|
||||
@item ede-proj-target-makefile-miscelaneous
|
||||
No children
|
||||
|
@ -3409,11 +3409,11 @@ Return a list of files which @var{THIS} target depends on.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target}.}
|
||||
@item @xref{ede-proj-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target-makefile}.}
|
||||
@item @xref{ede-proj-target-makefile}.
|
||||
@table @code
|
||||
@item ede-proj-target-makefile-info
|
||||
No children
|
||||
|
@ -3495,9 +3495,9 @@ when working in Automake mode.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-proj-target}.}
|
||||
@item @xref{ede-proj-target}.
|
||||
@table @code
|
||||
@item ede-proj-target-scheme
|
||||
No children
|
||||
|
@ -3539,12 +3539,12 @@ Tweak the configure file (current buffer) to accommodate @var{THIS}.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item project-am-target
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{@xref{project-am-objectcode},} @w{project-am-header,} @w{@xref{project-am-lisp},} @w{@xref{project-am-texinfo},} @w{@xref{project-am-man}.}
|
||||
@xref{project-am-objectcode}, @w{project-am-header,} @xref{project-am-lisp}, @xref{project-am-texinfo}, @xref{project-am-man}.
|
||||
@end table
|
||||
@end table
|
||||
@end table
|
||||
|
@ -3563,7 +3563,7 @@ Run the current project in the debugger.
|
|||
@end deffn
|
||||
|
||||
@deffn Method project-edit-file-target :AFTER obj
|
||||
Edit the target associated w/ this file.
|
||||
Edit the target associated with this file.
|
||||
@end deffn
|
||||
|
||||
@node project-am-objectcode
|
||||
|
@ -3577,14 +3577,14 @@ Edit the target associated w/ this file.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{project-am-target}.}
|
||||
@item @xref{project-am-target}.
|
||||
@table @code
|
||||
@item project-am-objectcode
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{@xref{project-am-program},} @w{project-am-lib.}
|
||||
@xref{project-am-program}, @w{project-am-lib.}
|
||||
@end table
|
||||
@end table
|
||||
@end table
|
||||
|
@ -3622,11 +3622,11 @@ There are no default header files.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{project-am-target}.}
|
||||
@item @xref{project-am-target}.
|
||||
@table @code
|
||||
@item @w{@xref{project-am-objectcode}.}
|
||||
@item @xref{project-am-objectcode}.
|
||||
@table @code
|
||||
@item project-am-program
|
||||
No children
|
||||
|
@ -3660,9 +3660,9 @@ Additional LD args.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{project-am-target}.}
|
||||
@item @xref{project-am-target}.
|
||||
@table @code
|
||||
@item @w{project-am-header.}
|
||||
@table @code
|
||||
|
@ -3693,9 +3693,9 @@ Return the default macro to 'edit' for this object.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{project-am-target}.}
|
||||
@item @xref{project-am-target}.
|
||||
@table @code
|
||||
@item @w{project-am-header.}
|
||||
@table @code
|
||||
|
@ -3726,9 +3726,9 @@ Return the default macro to 'edit' for this object.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{project-am-target}.}
|
||||
@item @xref{project-am-target}.
|
||||
@table @code
|
||||
@item project-am-lisp
|
||||
No children
|
||||
|
@ -3756,9 +3756,9 @@ Return the default macro to 'edit' for this object.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{project-am-target}.}
|
||||
@item @xref{project-am-target}.
|
||||
@table @code
|
||||
@item project-am-texinfo
|
||||
No children
|
||||
|
@ -3808,9 +3808,9 @@ files in the project.
|
|||
@table @code
|
||||
@item eieio-speedbar-directory-button
|
||||
@table @code
|
||||
@item @w{@xref{ede-target}.}
|
||||
@item @xref{ede-target}.
|
||||
@table @code
|
||||
@item @w{@xref{project-am-target}.}
|
||||
@item @xref{project-am-target}.
|
||||
@table @code
|
||||
@item project-am-man
|
||||
No children
|
||||
|
@ -3963,7 +3963,7 @@ compile commands.
|
|||
@item ede-compilation-program
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{@xref{ede-compiler},} @w{@xref{ede-linker}.}
|
||||
@xref{ede-compiler}, @xref{ede-linker}.
|
||||
@end table
|
||||
@end table
|
||||
@end table
|
||||
|
@ -4071,12 +4071,12 @@ Tweak the configure file (current buffer) to accommodate @var{THIS}.
|
|||
@table @code
|
||||
@item eieio-instance-inheritor
|
||||
@table @code
|
||||
@item @w{@xref{ede-compilation-program}.}
|
||||
@item @xref{ede-compilation-program}.
|
||||
@table @code
|
||||
@item ede-compiler
|
||||
@table @asis
|
||||
@item Children:
|
||||
@w{@xref{ede-object-compiler},} @w{semantic-ede-grammar-compiler-class.}
|
||||
@xref{ede-object-compiler}, @w{semantic-ede-grammar-compiler-class.}
|
||||
@end table
|
||||
|
||||
@end table
|
||||
|
@ -4179,9 +4179,9 @@ Return a string based on @var{THIS} representing a make object variable.
|
|||
@table @code
|
||||
@item eieio-instance-inheritor
|
||||
@table @code
|
||||
@item @w{@xref{ede-compilation-program}.}
|
||||
@item @xref{ede-compilation-program}.
|
||||
@table @code
|
||||
@item @w{@xref{ede-compiler}.}
|
||||
@item @xref{ede-compiler}.
|
||||
@table @code
|
||||
@item ede-object-compiler
|
||||
No children
|
||||
|
@ -4222,7 +4222,7 @@ Insert variables needed by the compiler @var{THIS}.
|
|||
@table @code
|
||||
@item eieio-instance-inheritor
|
||||
@table @code
|
||||
@item @w{@xref{ede-compilation-program}.}
|
||||
@item @xref{ede-compilation-program}.
|
||||
@table @code
|
||||
@item ede-linker
|
||||
No children
|
||||
|
|
|
@ -1744,7 +1744,7 @@ date now, so no concrete pointers are available.
|
|||
|
||||
You will need an implementation of TeX for Windows.
|
||||
A number of implementations are listed on the
|
||||
@uref{http://www.tug.org/interest.html#free, TeX Users Group} website.
|
||||
@uref{https://www.tug.org/interest.html#free, TeX Users Group} website.
|
||||
|
||||
@node Spell check
|
||||
@section How do I perform spell checks?
|
||||
|
@ -1899,7 +1899,7 @@ Christopher Payne wrote a Visual Studio add-in that makes Emacs the
|
|||
default text editor, this has now been taken over by Jeff Paquette.
|
||||
See the following two URLs for details:
|
||||
@itemize
|
||||
@item @uref{http://sourceforge.net/projects/visemacs/} for the latest version.
|
||||
@item @uref{https://sourceforge.net/projects/visemacs/} for the latest version.
|
||||
@item @uref{http://www.smathers.net/VisEmacs.htm} for notes on usage.
|
||||
@end itemize
|
||||
|
||||
|
@ -2039,7 +2039,7 @@ this option is set. (I don't see it on VC++ 4.0.)
|
|||
@cindex Borland C++, integration with Emacs
|
||||
|
||||
Jonathan Arnold has written an
|
||||
@uref{http://www.buddydog.org/C++Builder/c++builder.html, EmacsEdit
|
||||
@uref{https://www.buddydog.org/C++Builder/c++builder.html, EmacsEdit
|
||||
``expert''} for interfacing C++ Builder and Emacs.
|
||||
|
||||
@node Version control
|
||||
|
@ -2194,7 +2194,7 @@ to port software to Windows.
|
|||
@cindex image libraries, gnuwin32
|
||||
@cindex image libraries, development
|
||||
|
||||
@uref{http://gnuwin32.sourceforge.net/}
|
||||
@uref{https://gnuwin32.sourceforge.net/}
|
||||
|
||||
GnuWin32 provides precompiled native Windows ports of a wide selection
|
||||
of Free software and libraries. Unfortunately, the ports are
|
||||
|
|
|
@ -2668,7 +2668,7 @@ To disable or change the way backups are made,
|
|||
@cindex Backup files in a single directory
|
||||
You can control where Emacs puts backup files by customizing the
|
||||
variable @code{backup-directory-alist}. This variable's value
|
||||
specifies that files whose names match specific patters should have
|
||||
specifies that files whose names match specific patterns should have
|
||||
their backups put in certain directories. A typical use is to add the
|
||||
element @code{("." . @var{dir})} to force Emacs to put @strong{all}
|
||||
backup files in the directory @file{dir}.
|
||||
|
@ -3622,13 +3622,13 @@ To build Emacs from source for MS-DOS, see the instructions in the file
|
|||
on plain DOS, and also on all versions of MS-Windows from version 3.X
|
||||
onwards, including Windows XP and Vista. Pre-built binaries may be
|
||||
available at
|
||||
@uref{http://www.delorie.com/pub/djgpp/current/v2gnu/emacs.README}
|
||||
@uref{https://www.delorie.com/pub/djgpp/current/v2gnu/emacs.README}
|
||||
|
||||
For a list of other implementations of Emacs (and Emacs
|
||||
look-alikes), consult the list of ``Emacs implementations and literature,''
|
||||
available at
|
||||
|
||||
@uref{http://www.finseth.com/emacs.html}
|
||||
@uref{https://www.finseth.com/emacs.html}
|
||||
|
||||
Note that while many of these programs look similar to Emacs, they often
|
||||
lack certain features, such as the Emacs Lisp extension language.
|
||||
|
@ -3757,7 +3757,7 @@ Various spell-checkers are compatible with Emacs, including:
|
|||
@table @b
|
||||
|
||||
@item Hunspell
|
||||
@uref{http://hunspell.sourceforge.net/}
|
||||
@uref{https://hunspell.github.io/}
|
||||
|
||||
@item GNU Aspell
|
||||
@uref{http://aspell.net/}
|
||||
|
|
1160
doc/misc/eglot.texi
Normal file
1160
doc/misc/eglot.texi
Normal file
File diff suppressed because it is too large
Load diff
|
@ -79,6 +79,7 @@ Advanced Usage
|
|||
|
||||
* Connecting:: Ways of connecting to an IRC server.
|
||||
* Sample Configuration:: An example configuration file.
|
||||
* Integrations:: Integrations available for ERC.
|
||||
* Options:: Options that are available for ERC.
|
||||
|
||||
@end detailmenu
|
||||
|
@ -526,6 +527,7 @@ Translate morse code in messages
|
|||
@menu
|
||||
* Connecting:: Ways of connecting to an IRC server.
|
||||
* Sample Configuration:: An example configuration file.
|
||||
* Integrations:: Integrations available for ERC.
|
||||
* Options:: Options that are available for ERC.
|
||||
@end menu
|
||||
|
||||
|
@ -861,7 +863,8 @@ The default value for all three options is the function
|
|||
@code{erc-auth-source-search}. It tries to merge relevant contextual
|
||||
parameters with those provided or discovered from the logical connection
|
||||
or the underlying transport. Some auth-source back ends may not be
|
||||
compatible; netrc, plstore, json, and secrets are currently supported.
|
||||
compatible; netrc, plstore, json, secrets, and pass are currently
|
||||
supported.
|
||||
@end defopt
|
||||
|
||||
@subheading Full name
|
||||
|
@ -990,6 +993,32 @@ stuff, to the current ERC buffer."
|
|||
;; (setq erc-kill-server-buffer-on-quit t)
|
||||
@end lisp
|
||||
|
||||
@node Integrations
|
||||
@section Integrations
|
||||
@cindex integrations
|
||||
|
||||
@subheading URL
|
||||
For anything to work, you'll want to set @code{url-irc-function} to
|
||||
@code{url-irc-erc}. As a rule of thumb, libraries relying directly on
|
||||
@code{url-retrieve} should be fine out the box from Emacs 29.1 onward.
|
||||
On older versions of Emacs, you may need to @code{(require 'erc)}
|
||||
beforehand. @pxref{Retrieving URLs,,, url, URL}.
|
||||
|
||||
For other apps and libraries, such as those relying on the
|
||||
higher-level @code{browse-url}, you'll oftentimes be asked to specify
|
||||
a pattern, sometimes paired with a function that accepts a string URL
|
||||
as a first argument. For example, with EWW, you may need to tack
|
||||
something like @code{"\\|\\`irc6?s?:"} onto the end of
|
||||
@code{eww-use-browse-url}. But with @code{gnus-button-alist}, you'll
|
||||
need a function as well:
|
||||
|
||||
@lisp
|
||||
'("\\birc6?s?://[][a-z0-9.,@@_:+%?&/#-]+" 0 t browse-url-irc 0)
|
||||
@end lisp
|
||||
|
||||
@noindent
|
||||
Users on Emacs 28 and below may need to use @code{browse-url} instead.
|
||||
|
||||
@node Options
|
||||
@section Options
|
||||
@cindex options
|
||||
|
|
|
@ -439,11 +439,6 @@ Print the current local time as a human-readable string. This command
|
|||
is similar to, but slightly different from, the GNU Coreutils
|
||||
@command{date} command.
|
||||
|
||||
@item define
|
||||
@cmindex define
|
||||
Define a variable alias.
|
||||
@xref{Variable Aliases, , , elisp, The Emacs Lisp Reference Manual}.
|
||||
|
||||
@item diff
|
||||
@cmindex diff
|
||||
Compare files using Emacs's internal @code{diff} (not to be confused
|
||||
|
@ -699,10 +694,18 @@ used for comparing lists of strings.
|
|||
This command can be loaded as part of the eshell-xtra module, which is
|
||||
disabled by default.
|
||||
|
||||
@item set
|
||||
@cmindex set
|
||||
Set variable values, using the function @code{set} like a command
|
||||
(@pxref{Setting Variables,,, elisp, GNU Emacs Lisp Reference Manual}).
|
||||
A variable name can be a symbol, in which case it refers to a Lisp
|
||||
variable, or a string, referring to an environment variable
|
||||
(@pxref{Arguments}).
|
||||
|
||||
@item setq
|
||||
@cmindex setq
|
||||
Set variable values, using the function @code{setq} like a command.
|
||||
@xref{Setting Variables,,, elisp, GNU Emacs Lisp Reference Manual}.
|
||||
Set variable values, using the function @code{setq} like a command
|
||||
(@pxref{Setting Variables,,, elisp, GNU Emacs Lisp Reference Manual}).
|
||||
|
||||
@item source
|
||||
@cmindex source
|
||||
|
@ -714,9 +717,12 @@ current environment.
|
|||
@cmindex su
|
||||
@itemx sudo
|
||||
@cmindex sudo
|
||||
Uses TRAMP's @command{su} or @command{sudo} method @pxref{Inline methods, , , tramp}
|
||||
to run a command via @command{su} or @command{sudo}. These commands
|
||||
are in the eshell-tramp module, which is disabled by default.
|
||||
@itemx doas
|
||||
@cmindex doas
|
||||
Uses TRAMP's @command{su}, @command{sudo}, or @command{doas} method
|
||||
@pxref{Inline methods, , , tramp} to run a command via @command{su},
|
||||
@command{sudo}, or @command{doas}. These commands are in the
|
||||
eshell-tramp module, which is disabled by default.
|
||||
|
||||
|
||||
@item substitute
|
||||
|
@ -748,7 +754,9 @@ disabled by default.
|
|||
|
||||
@item unset
|
||||
@cmindex unset
|
||||
Unset an environment variable.
|
||||
Unset one or more variables. As with @command{set}, a variable name
|
||||
can be a symbol, in which case it refers to a Lisp variable, or a
|
||||
string, referring to an environment variable.
|
||||
|
||||
@item wait
|
||||
@cmindex wait
|
||||
|
@ -795,12 +803,12 @@ command-line switch:
|
|||
|
||||
@table @var
|
||||
@item short
|
||||
This element, if non-nil, should be a character to be used as a short
|
||||
This element, if non-@code{nil}, should be a character to be used as a short
|
||||
switch, like @code{-@var{short}}. At least one of this element and
|
||||
@var{long} must be non-nil.
|
||||
@var{long} must be non-@code{nil}.
|
||||
|
||||
@item long
|
||||
This element, if non-nil, should be a string to be used as a long
|
||||
This element, if non-@code{nil}, should be a string to be used as a long
|
||||
switch, like @code{--@var{long}}.
|
||||
|
||||
@item value
|
||||
|
@ -886,12 +894,35 @@ For example, you could handle a subset of the options for the
|
|||
|
||||
@node Variables
|
||||
@section Variables
|
||||
Since Eshell is just an Emacs @acronym{REPL}@footnote{
|
||||
@vindex eshell-prefer-lisp-variables
|
||||
Since Eshell is a combination of an Emacs @acronym{REPL}@footnote{
|
||||
Short for ``Read-Eval-Print Loop''.
|
||||
}
|
||||
, it does not have its own scope, and simply stores variables the same
|
||||
you would in an Elisp program. Eshell provides a command version of
|
||||
@code{setq} for convenience.
|
||||
} and a command shell, it can refer to variables from two different
|
||||
sources: ordinary Emacs Lisp variables, as well as environment
|
||||
variables. By default, when using a variable in Eshell, it will first
|
||||
look in the list of built-in variables, then in the list of
|
||||
environment variables, and finally in the list of Lisp variables. If
|
||||
you would prefer to use Lisp variables over environment variables, you
|
||||
can set @code{eshell-prefer-lisp-variables} to @code{t}.
|
||||
|
||||
You can set variables in a few different ways. To set a Lisp
|
||||
variable, you can use the command @samp{setq @var{name} @var{value}},
|
||||
which works much like its Lisp counterpart (@pxref{Setting Variables,
|
||||
, , elisp, The Emacs Lisp Reference Manual}). To set an environment
|
||||
variable, use @samp{export @var{name}=@var{value}}. You can also use
|
||||
@samp{set @var{variable} @var{value}}, which sets a Lisp variable if
|
||||
@var{variable} is a symbol, or an environment variable if it's a
|
||||
string (@pxref{Arguments}). Finally, you can temporarily set
|
||||
environment variables for a single command with
|
||||
@samp{@var{name}=@var{value} @var{command} @dots{}}. This is
|
||||
equivalent to:
|
||||
|
||||
@example
|
||||
@{
|
||||
export @var{name}=@var{value}
|
||||
@var{command} @dots{}
|
||||
@}
|
||||
@end example
|
||||
|
||||
@subsection Built-in variables
|
||||
Eshell knows a few built-in variables:
|
||||
|
@ -914,6 +945,16 @@ When using @code{$-}, you can also access older directories in the
|
|||
directory ring via subscripting, e.g.@: @samp{$-[1]} refers to the
|
||||
working directory @emph{before} the previous one.
|
||||
|
||||
@vindex $PATH
|
||||
@item $PATH
|
||||
This specifies the directories to search for executable programs. Its
|
||||
value is a string, separated by @code{":"} for Unix and GNU systems,
|
||||
and @code{";"} for MS systems. This variable is connection-aware, so
|
||||
whenever you change the current directory to a different host
|
||||
(@pxref{Remote Files, , , emacs, The GNU Emacs Manual}),
|
||||
the value will automatically update to reflect the search path on that
|
||||
host.
|
||||
|
||||
@vindex $_
|
||||
@item $_
|
||||
This refers to the last argument of the last command. With a
|
||||
|
@ -1085,7 +1126,7 @@ Repeatedly evaluate @var{commands} until @var{conditional} is
|
|||
satisfied.
|
||||
|
||||
@item for @var{var} in @var{list}@dots{} @{ @var{commands} @}
|
||||
Iterate over each element of of @var{list}, storing the element in
|
||||
Iterate over each element of @var{list}, storing the element in
|
||||
@var{var} and evaluating @var{commands}. If @var{list} is not a list,
|
||||
treat it as a list of one element. If you specify multiple
|
||||
@var{lists}, this will iterate over each of them in turn.
|
||||
|
@ -1138,7 +1179,7 @@ a number if possible.
|
|||
|
||||
@item one or both (non-@code{nil}) lists
|
||||
Concatenate ``adjacent'' elements of each value (possibly converting
|
||||
back to a number as above). For example, @samp{$list("a" "b")c}
|
||||
back to a number as above). For example, @samp{$(list "a" "b")c}
|
||||
returns @samp{("a" "bc")}.
|
||||
|
||||
@item anything else
|
||||
|
|
|
@ -85,6 +85,10 @@ LDAP, Lightweight Directory Access Protocol
|
|||
BBDB, Big Brother's Insidious Database
|
||||
@item
|
||||
macOS Contacts
|
||||
@item
|
||||
@code{ecomplete}, Emacs's electrical completion
|
||||
@item
|
||||
@code{mailabbrev}, Emacs's abbrev-expansion of mail aliases
|
||||
@end itemize
|
||||
|
||||
The main features of the EUDC interface are:
|
||||
|
@ -110,6 +114,8 @@ Interface to BBDB to let you insert server records into your own BBDB database
|
|||
* LDAP:: What is LDAP ?
|
||||
* BBDB:: What is BBDB ?
|
||||
* macOS Contacts:: What is macOS Contacts ?
|
||||
* ecomplete:: What is @code{ecomplete} ?
|
||||
* mailabbrev:: What is @code{mailabbrev}?
|
||||
@end menu
|
||||
|
||||
|
||||
|
@ -173,14 +179,73 @@ Address Book; the EUDC macOS Contacts back end also works on those
|
|||
older versions.
|
||||
|
||||
|
||||
@node ecomplete
|
||||
@section @code{ecomplete}
|
||||
|
||||
@code{ecomplete} is Emacs's ``electric completion'', and it is part of
|
||||
Emacs. It stores all information in an @file{ecompleterc} file, whose
|
||||
location, and name can be configured via the variable
|
||||
@code{ecomplete-database-file} (which see). The format of the file
|
||||
is:
|
||||
|
||||
@display
|
||||
((TYPE_1 ITEM_1 ITEM_2 ...)
|
||||
(TYPE_2 ITEM_N+1 ITEM_N+2 ...)
|
||||
...)
|
||||
@end display
|
||||
|
||||
That is, it is an alist map where the key is the type of match (so
|
||||
that you can have one list of things for ``mail'', and one for, say,
|
||||
``mastodon''). In each of these sections you then have a list where
|
||||
each item is of the form:
|
||||
|
||||
@display
|
||||
(KEY TIMES-USED LAST-TIME-USED STRING)
|
||||
@end display
|
||||
|
||||
When performing a query, the result will be all items where the search
|
||||
term matches all, or part of STRING.
|
||||
|
||||
When EUDC performs queries with @code{ecomplete}, the name of each
|
||||
attribute making up the query is used as the type in which the lookup
|
||||
is performed. The mapping from EUDC attribute names to
|
||||
@code{ecomplete} type names is performed according to the variable
|
||||
@code{eudc-ecomplete-attributes-translation-alist} (which see).
|
||||
|
||||
|
||||
@node mailabbrev
|
||||
@section @code{mailabbrev}
|
||||
|
||||
@code{mailabbrev} is Emacs's ``abbrev-expansion of mail aliases'', and
|
||||
it is part of Emacs. It stores all information in a @file{mailrc}
|
||||
file, whose location, and name can be configured via the variable
|
||||
@code{mail-personal-alias-file} (which see). The @file{mailrc} file
|
||||
has the same format as the @command{mail} and @command{mailx} commands
|
||||
use for their startup configuration file. @code{mailabbrev} processes
|
||||
@samp{alias}, and @samp{source} statements in the @file{mailrc} file.
|
||||
@samp{alias} statements can define simple aliases and distribution
|
||||
lists, and can be nested in that the alias expansion can contain
|
||||
references to other alias definitions. Forward references, that is
|
||||
references to aliases before they are actually defined, are possible,
|
||||
too.
|
||||
|
||||
Originally, @code{mailabbrev} was designed to be used with
|
||||
@code{abbrev-mode}. The @code{mailabbrev} EUDC backend does not use
|
||||
@code{abbrev-mode}, but queries @code{mailabbrev} for alias entries
|
||||
only, and returns these as EUDC results. All entries where the alias
|
||||
name exactly equals either the @code{email}, @code{name}, or
|
||||
@code{firstname} attribute value in the EUDC query, will be returned
|
||||
as matches. When a @file{mailrc} alias defines a distribution list,
|
||||
that is it expands to more than one email address, the EUDC result
|
||||
will contain a single entry, which will contain an email attribute
|
||||
only, whose value will be a comma-separated list of RFC 5322 formatted
|
||||
recipient specifications.
|
||||
|
||||
|
||||
@node Installation
|
||||
@chapter Installation
|
||||
|
||||
Add the following to your @file{.emacs} init file:
|
||||
@lisp
|
||||
(require 'eudc)
|
||||
@end lisp
|
||||
This will install EUDC at startup.
|
||||
EUDC is built-in to Emacs, and its main functions are autoloaded.
|
||||
|
||||
After installing EUDC you will find (the next time you launch Emacs) a
|
||||
new @code{Directory Search} submenu in the @samp{Tools} menu that will
|
||||
|
@ -200,6 +265,8 @@ email composition buffers (@pxref{Inline Query Expansion})
|
|||
@menu
|
||||
* LDAP Configuration:: EUDC needs external support for LDAP
|
||||
* macOS Contacts Configuration:: Enable the macOS Contacts backend
|
||||
* ecomplete Configuration:: Enable the ecomplete backend
|
||||
* mailabbrev Configuration:: Enable the mailabbrev backend
|
||||
@end menu
|
||||
|
||||
@node LDAP Configuration
|
||||
|
@ -256,7 +323,7 @@ will return all LDAP entries with surnames that begin with
|
|||
@code{Smith}. In every LDAP query it makes, EUDC implicitly appends
|
||||
the wildcard character to the end of the last word, except if the word
|
||||
corresponds to an attribute which is a member of
|
||||
`eudc-ldap-no-wildcard-attributes'.
|
||||
@code{eudc-ldap-no-wildcard-attributes}.
|
||||
|
||||
@menu
|
||||
* Emacs-only Configuration:: Configure with @file{.emacs}
|
||||
|
@ -406,9 +473,9 @@ level to 5 by appending @code{-d 5} to the command line.
|
|||
macOS Contacts support is added by means of @file{eudcb-mab.el}, or
|
||||
@file{eudcb-macos-contacts.el} which are part of Emacs.
|
||||
|
||||
To enable a macOS Contacts backend, first `require' the respective
|
||||
library to load it, and then set the `eudc-server' to localhost in
|
||||
your init file:
|
||||
To enable a macOS Contacts backend, first @code{require} the
|
||||
respective library to load it, and then set the @code{eudc-server} to
|
||||
localhost in your init file:
|
||||
@lisp
|
||||
(require 'eudcb-macos-contacts)
|
||||
(eudc-macos-contacts-set-server "localhost")
|
||||
|
@ -433,6 +500,32 @@ command-line utility before upgrading to a new version of macOS.
|
|||
existing configurations, and may be removed in a future release.
|
||||
|
||||
|
||||
@node ecomplete Configuration
|
||||
@section @code{ecomplete} Configuration
|
||||
|
||||
@code{ecomplete} is Emacs's ``electrical completion'', and is part of
|
||||
Emacs. To use it, you will need to set up a database file
|
||||
(@pxref{ecomplete}) first.
|
||||
|
||||
It will be autoloaded on demand.
|
||||
|
||||
You can also enable multi-server queries as described in
|
||||
@pxref{Multi-server Queries}.
|
||||
|
||||
|
||||
@node mailabbrev Configuration
|
||||
@section @code{mailabbrev} Configuration
|
||||
|
||||
@code{mailabbrev} is Emacs's ``abbrev-expansion of mail aliases'', and
|
||||
it is part of Emacs. To use it, you will need to set up a database file
|
||||
(@pxref{mailabbrev}) first.
|
||||
|
||||
It will be autoloaded on demand.
|
||||
|
||||
You can also enable multi-server queries as described in
|
||||
@pxref{Multi-server Queries}.
|
||||
|
||||
|
||||
@node Usage
|
||||
@chapter Usage
|
||||
|
||||
|
@ -916,13 +1009,23 @@ in other places, like for example the body of the message.
|
|||
@section The Server Hotlist
|
||||
|
||||
EUDC lets you maintain a list of frequently used servers so that you
|
||||
can easily switch from one to another. This hotlist appears in the
|
||||
@samp{Server} submenu. You select a server in this list by clicking on
|
||||
its name. You can add the current server to the list with the command
|
||||
@kbd{M-x eudc-bookmark-current-server}. The list is contained in the variable
|
||||
@code{eudc-server-hotlist} which is stored in and retrieved from the file
|
||||
designated by @code{eudc-options-file}. EUDC also provides a facility to
|
||||
edit the hotlist interactively (@pxref{The Hotlist Edit Buffer}).
|
||||
can easily switch from one to another. Most users should configure
|
||||
the hotlist via Customize, and store the configuration in the main
|
||||
Emacs initialization file. Configuring it dynamically can be
|
||||
confusing, particularly if the hotlist settings are saved to
|
||||
@code{eudc-options-file} automatically. @code{eudc-options-file} is
|
||||
historical and support for it is still maintained, but new EUDC users
|
||||
should set @code{eudc-ignore-options-file} to @code{t}.
|
||||
|
||||
However, this hotlist also appears in the @samp{Server} submenu. You
|
||||
select a server in this list by clicking on its name. You can add the
|
||||
current server to the list with the command @kbd{M-x
|
||||
eudc-bookmark-current-server}. The list is contained in the variable
|
||||
@code{eudc-server-hotlist} which is stored in and retrieved from the
|
||||
file designated by @code{eudc-options-file}, or normal Emacs
|
||||
initialization if @code{eudc-ignore-options-file} is non-nil. EUDC
|
||||
also provides a facility to edit the hotlist interactively (@pxref{The
|
||||
Hotlist Edit Buffer}).
|
||||
|
||||
The hotlist is also used to make queries on multiple servers
|
||||
successively (@pxref{Multi-server Queries}). The order in which the
|
||||
|
@ -937,6 +1040,14 @@ Add @var{server} to the hotlist of servers
|
|||
Add the current server to the hotlist of servers
|
||||
@end deffn
|
||||
|
||||
@defvar eudc-ignore-options-file
|
||||
If non-nil, then EUDC ignores @code{eudc-options-file} and warns or
|
||||
issues an error when an attempt is made to use it. Most users should
|
||||
set this, and keep their EUDC configuration in the main Emacs
|
||||
initialization file instead. The separate eudc-options file has
|
||||
created confusion for users in the past.
|
||||
@end defvar
|
||||
|
||||
@defvar eudc-options-file
|
||||
The name of a file where EUDC stores its internal variables (the
|
||||
hotlist and the current server). EUDC will try to load that file upon
|
||||
|
|
|
@ -312,7 +312,7 @@ been reported.
|
|||
Which fringe (if any) should show the warning/error bitmaps.
|
||||
|
||||
@item flymake-wrap-around
|
||||
If non-nil, moving to errors with @code{flymake-goto-next-error} and
|
||||
If non-@code{nil}, moving to errors with @code{flymake-goto-next-error} and
|
||||
@code{flymake-goto-prev-error} wraps around buffer boundaries.
|
||||
@end vtable
|
||||
|
||||
|
@ -615,7 +615,7 @@ delimited by @var{beg} and @var{end}. @var{type} is a diagnostic
|
|||
symbol (@pxref{Flymake error types}), and @var{text} is a description
|
||||
of the problem detected in this region. Most commonly @var{locus} is
|
||||
the buffer object designating for the current buffer being
|
||||
syntax-checked. However, it may be a string nameing a file relative
|
||||
syntax-checked. However, it may be a string naming a file relative
|
||||
to the current working directory. @xref{Foreign and list-only
|
||||
diagnostics}, for when this may be useful. Depending on the type of
|
||||
@var{locus}, @var{beg} and @var{end} are both either buffer positions
|
||||
|
@ -844,8 +844,8 @@ Binding,,, elisp, The Emacs Lisp Reference Manual}) to be active.
|
|||
* Interaction with other modes::
|
||||
@end menu
|
||||
|
||||
@findex flymake-proc-legacy-backend
|
||||
The backend @code{flymake-proc-legacy-backend} was originally designed
|
||||
@findex flymake-proc-legacy-flymake
|
||||
The backend @code{flymake-proc-legacy-flymake} was originally designed
|
||||
to be extended for supporting new syntax check tools and error message
|
||||
patterns. It is also controlled by its own set of customization variables
|
||||
|
||||
|
@ -878,7 +878,7 @@ line-idx col-idx err-text-idx)}. @xref{Parsing the output}.
|
|||
@item flymake-proc-diagnostic-type-pred
|
||||
A function to classify a diagnostic text as particular type of error.
|
||||
Should be a function taking an error text and returning a diagnostic
|
||||
symbol (@pxref{Flymake error types}). If non-nil is returned but
|
||||
symbol (@pxref{Flymake error types}). If non-@code{nil} is returned but
|
||||
there is no such symbol in that table, a warning is assumed. If nil
|
||||
is returned, an error is assumed. Can also be a regular expression
|
||||
that should match only warnings. This variable replaces the old
|
||||
|
@ -1053,7 +1053,7 @@ check-syntax:
|
|||
@cindex syntax check models
|
||||
@cindex master file
|
||||
|
||||
@code{flymake-proc-legacy-backend} saves a copy of the buffer in a
|
||||
@code{flymake-proc-legacy-flymake} saves a copy of the buffer in a
|
||||
temporary file in the buffer's directory (or in the system temporary
|
||||
directory, for Java files), creates a syntax check command and
|
||||
launches a process with this command. The output is parsed using a
|
||||
|
|
|
@ -1330,7 +1330,7 @@ details.
|
|||
|
||||
However, what you really want is the Insidious Big Brother
|
||||
Database bbdb. Get it from
|
||||
@uref{http://bbdb.sourceforge.net/, bbdb's website}.
|
||||
@uref{https://bbdb.sourceforge.net/, bbdb's website}.
|
||||
Now place the following in @file{~/.gnus.el}, to activate bbdb for Gnus:
|
||||
|
||||
@example
|
||||
|
@ -1782,13 +1782,13 @@ when you're online.
|
|||
Let's talk about Unix systems first: For the news part,
|
||||
the easiest solution is a small nntp server like
|
||||
@uref{https://www.leafnode.org/, Leafnode} or
|
||||
@uref{http://patrik.iki.fi/sn/, sn},
|
||||
@uref{https://patrik.iki.fi/sn/, sn},
|
||||
of course you can also install a full featured news
|
||||
server like
|
||||
@uref{https://www.isc.org/othersoftware/, inn}.
|
||||
Then you want to fetch your Mail, popular choices
|
||||
are @uref{https://www.fetchmail.info/, fetchmail}
|
||||
and @uref{http://pyropus.ca/software/getmail/, getmail}.
|
||||
and @uref{https://pyropus.ca/software/getmail/, getmail}.
|
||||
You should tell those to write the mail to your disk and
|
||||
Gnus to read it from there. Last but not least the mail
|
||||
sending part: This can be done with every MTA like
|
||||
|
|
|
@ -8045,7 +8045,7 @@ to a string containing the default command and options (default
|
|||
@findex gnus-summary-muttprint
|
||||
@vindex gnus-summary-muttprint-program
|
||||
Save the current article into muttprint. That is, print it using the
|
||||
external program @uref{http://muttprint.sourceforge.net/,
|
||||
external program @uref{https://muttprint.sourceforge.net/,
|
||||
Muttprint}. The program name and options to use is controlled by the
|
||||
variable @code{gnus-summary-muttprint-program}.
|
||||
(@code{gnus-summary-muttprint}).
|
||||
|
@ -9343,7 +9343,7 @@ Use Gnus rendered based on w3m.
|
|||
Use @uref{http://emacs-w3m.namazu.org/, emacs-w3m}.
|
||||
|
||||
@item w3m-standalone
|
||||
Use @uref{http://w3m.sourceforge.net/, w3m}.
|
||||
Use @uref{https://w3m.sourceforge.net/, w3m}.
|
||||
|
||||
@item links
|
||||
Use @uref{http://links.twibright.com/, Links}.
|
||||
|
@ -10497,7 +10497,7 @@ normally, but it'll make this command work a whole lot faster. Of
|
|||
course, it'll make group entry somewhat slow.
|
||||
|
||||
@vindex gnus-refer-thread-use-search
|
||||
If @code{gnus-refer-thread-use-search} is non-nil then those backends
|
||||
If @code{gnus-refer-thread-use-search} is non-@code{nil} then those backends
|
||||
that know how to find threads directly will search not just in the
|
||||
current group but all groups on the same server.
|
||||
|
||||
|
@ -10515,7 +10515,7 @@ is true and the initial referral starts from a summary buffer for a
|
|||
non-virtual group this may not be possible. In this case a new
|
||||
summary buffer is created holding a virtual group with the result of
|
||||
the thread search.) If @code{gnus-refer-thread-limit-to-thread} is
|
||||
non-nil then the summary buffer will be limited to articles in the
|
||||
non-@code{nil} then the summary buffer will be limited to articles in the
|
||||
thread.
|
||||
|
||||
@item M-^ (Summary)
|
||||
|
@ -13602,7 +13602,7 @@ Here's the method for a public spool:
|
|||
If you are behind a firewall and only have access to the @acronym{NNTP}
|
||||
server from the firewall machine, you can instruct Gnus to @code{rlogin}
|
||||
on the firewall machine and connect with
|
||||
@uref{http://netcat.sourceforge.net/, netcat} from there to the
|
||||
@uref{https://netcat.sourceforge.net/, netcat} from there to the
|
||||
@acronym{NNTP} server.
|
||||
Doing this can be rather fiddly, but your virtual server definition
|
||||
should probably look something like this:
|
||||
|
@ -21569,7 +21569,7 @@ Search Groups}).
|
|||
Search queries can be specified one of two ways: either using the
|
||||
syntax of the engine responsible for the group you're searching, or
|
||||
using Gnus' generalized search syntax. Set the option
|
||||
@code{gnus-search-use-parsed-queries} to a non-nil value to used the
|
||||
@code{gnus-search-use-parsed-queries} to a non-@code{nil} value to used the
|
||||
generalized syntax. The advantage of this syntax is that, if you have
|
||||
multiple backends indexed by different engines, you don't need to
|
||||
remember which one you're searching---it's also possible to issue the
|
||||
|
@ -21592,11 +21592,10 @@ details on Gnus' query language, see @ref{Search Queries}.
|
|||
|
||||
In order to search for messages from any given server, that server
|
||||
must have a search engine associated with it. IMAP servers do their
|
||||
own searching (theoretically it is possible to use a different engine
|
||||
to search an IMAP store, but we don't recommend it), but in all other
|
||||
cases the user will have to manually specify an engine to use. This
|
||||
can be done at two different levels: by server type, or on a
|
||||
per-server basis.
|
||||
own searching, and searching IMAP groups will work with no additional
|
||||
configuration, but in all other cases the user will have to manually
|
||||
specify an engine to use. This can be done at two different levels:
|
||||
by server type, or on a per-server basis.
|
||||
|
||||
@vindex gnus-search-default-engines
|
||||
The option @code{gnus-search-default-engines} assigns search engines
|
||||
|
@ -21900,14 +21899,13 @@ be found at
|
|||
@uref{http://www.rpcurnow.force9.co.uk/mairix/index.html}
|
||||
|
||||
Though mairix might not be as flexible as other search tools like
|
||||
swish++ or namazu, which you can use via the @code{nnir} back end, it
|
||||
has the prime advantage of being incredibly fast. On current systems, it
|
||||
can easily search through headers and message bodies of thousands and
|
||||
thousands of mails in well under a second. Building the database
|
||||
necessary for searching might take a minute or two, but only has to be
|
||||
done once fully. Afterwards, the updates are done incrementally and
|
||||
therefore are really fast, too. Additionally, mairix is very easy to set
|
||||
up.
|
||||
swish++ or namazu, it has the prime advantage of being incredibly
|
||||
fast. On current systems, it can easily search through headers and
|
||||
message bodies of thousands and thousands of mails in well under a
|
||||
second. Building the database necessary for searching might take a
|
||||
minute or two, but only has to be done once fully. Afterwards, the
|
||||
updates are done incrementally and therefore are really fast, too.
|
||||
Additionally, mairix is very easy to set up.
|
||||
|
||||
For maximum speed though, mairix should be used with mails stored in
|
||||
@code{Maildir} or @code{MH} format (this includes the @code{nnml} back
|
||||
|
@ -22545,6 +22543,21 @@ to you, using @kbd{G b u} and updating the group will usually fix this.
|
|||
|
||||
@end itemize
|
||||
|
||||
@node nnir
|
||||
@section Migrating from nnir
|
||||
|
||||
@cindex nnir
|
||||
|
||||
Gnus' previous search engine was called nnir, and is obsolete as of
|
||||
Emacs version 28. If you've upgraded Emacs and are now getting
|
||||
obsolete-variable warnings about @code{nnir-*} variables, migration is
|
||||
fairly straightforward. In addition to the variables raised by the
|
||||
warnings, all previous engine-specific variables can be updated by
|
||||
simply replacing the @code{nnir-} prefix with @code{gnus-search-}.
|
||||
For instance, @code{nnir-notmuch-program} is now
|
||||
@code{gnus-search-notmuch-program}.
|
||||
|
||||
|
||||
@iftex
|
||||
@iflatex
|
||||
@chapter Message
|
||||
|
@ -23794,7 +23807,7 @@ On a GNU/Linux system, the @code{display} program is included in the
|
|||
ImageMagick package. For external conversion programs look for packages
|
||||
with names like @code{netpbm}, @code{libgr-progs} and @code{compface}.
|
||||
On Windows, you may use the packages @code{netpbm} and @code{compface}
|
||||
from @url{http://gnuwin32.sourceforge.net}. You need to add the
|
||||
from @url{https://gnuwin32.sourceforge.net}. You need to add the
|
||||
@code{bin} directory to your @code{PATH} environment variable.
|
||||
@c In fact only the following DLLs and binaries seem to be required:
|
||||
@c compface1.dll uncompface.exe libnetpbm10.dll icontopbm.exe
|
||||
|
@ -26329,7 +26342,7 @@ size, it will reject insertion of new entries.
|
|||
@end defvar
|
||||
|
||||
@defvar gnus-registry-register-all
|
||||
If this option is non-nil, the registry will register all messages, as
|
||||
If this option is non-@code{nil}, the registry will register all messages, as
|
||||
you see them. This is important to making split-to-parent and
|
||||
Message-ID references work correctly, as the registry needs to know
|
||||
where all messages are, but it can slow down group opening and the
|
||||
|
@ -26429,7 +26442,7 @@ have to put a rule like this:
|
|||
|
||||
in your fancy split setup.
|
||||
|
||||
If @code{gnus-registry-register-all} is non-nil (the default), the
|
||||
If @code{gnus-registry-register-all} is non-@code{nil} (the default), the
|
||||
registry will perform splitting for all messages. If it is nil,
|
||||
splitting will only happen for children of messages you've explicitly
|
||||
registered.
|
||||
|
@ -26508,7 +26521,7 @@ Store @code{value} under @code{key} for message @code{id}.
|
|||
|
||||
@defun gnus-registry-get-id-key (id key)
|
||||
Get the data under @code{key} for message @code{id}. If the option
|
||||
@code{gnus-registry-register-all} is non-nil, this function will also
|
||||
@code{gnus-registry-register-all} is non-@code{nil}, this function will also
|
||||
create an entry for @code{id} if one doesn't exist.
|
||||
@end defun
|
||||
|
||||
|
@ -26633,7 +26646,7 @@ connections after the system resumes. On systems compiled with D-Bus
|
|||
support (check the value of @code{(featurep 'dbusbind)}), Gnus can
|
||||
register a D-Bus signal to automatically close all server connections
|
||||
before the system goes to sleep. To enable this, set
|
||||
@code{gnus-dbus-close-on-sleep} to a non-nil value.
|
||||
@code{gnus-dbus-close-on-sleep} to a non-@code{nil} value.
|
||||
|
||||
For more information about D-Bus and Emacs, @pxref{Top,,, dbus, D-Bus integration in Emacs}.
|
||||
|
||||
|
@ -26911,10 +26924,17 @@ Gnus 5.10 on May 1st 2003 (24 releases).
|
|||
|
||||
On the January 4th 2004, No Gnus was begun.
|
||||
|
||||
Gnus 5.11 was bundled with GNU Emacs 22.1 in June 2007.
|
||||
|
||||
A version of No Gnus was released as Gnus 5.13 with GNU Emacs 23.1 in
|
||||
July 2009.
|
||||
|
||||
On April 19, 2010 Gnus development was moved to Git.
|
||||
|
||||
On the January 31th 2012, Ma Gnus was begun.
|
||||
|
||||
Since then, Gnus has only been released together with Emacs.
|
||||
|
||||
If you happen upon a version of Gnus that has a prefixed name---``(ding)
|
||||
Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'',
|
||||
``Pterodactyl Gnus'', ``Oort Gnus'', ``No Gnus'', ``Ma Gnus''---don't
|
||||
|
@ -29080,8 +29100,9 @@ moving articles to a group that has not turned auto-expire on.
|
|||
@subsubsection Ma Gnus
|
||||
@cindex Ma Gnus
|
||||
|
||||
I'm sure there will be lots of text here. It's really spelled 真
|
||||
Gnus.
|
||||
It's really spelled 真Gnus. Ma Gnus was the code name for the
|
||||
development version of Gnus started in 2012. These days, Gnus is only
|
||||
released together with Emacs.
|
||||
|
||||
New features in Ma Gnus:
|
||||
|
||||
|
@ -29111,6 +29132,8 @@ The new hooks @code{gnus-gcc-pre-body-encode-hook} and
|
|||
the message body of the Gcc copy of a sent message.
|
||||
@xref{Archived Messages}.
|
||||
|
||||
For more recent changes, see the Emacs @file{NEWS} files.
|
||||
|
||||
@end itemize
|
||||
|
||||
@end itemize
|
||||
|
|
|
@ -1005,7 +1005,7 @@ that they can deposit messages and lock the door, while your private
|
|||
key corresponds to the opening combination for the safe.)
|
||||
|
||||
Thus, you need to perform the following steps for e-mail encryption,
|
||||
typically outside Emacs. See, for example, the
|
||||
typically outside Emacs. See, for example,
|
||||
@uref{https://www.gnupg.org/gph/en/manual.html, The GNU Privacy
|
||||
Handbook} for details covering the standard @acronym{OpenPGP} with
|
||||
@acronym{GnuPG}.
|
||||
|
|
|
@ -3082,7 +3082,7 @@ retracted---without question@footnote{In previous versions of MH-E,
|
|||
this option suppressed the confirmation in @code{mh-kill-folder}.
|
||||
Since this kept most users from setting this option,
|
||||
@code{mh-kill-folder} was modified in version 6.0 to always ask for
|
||||
confirmation subject to @code{mh-kill-folder-suppress-prompt-hook}.
|
||||
confirmation subject to @code{mh-kill-folder-suppress-prompt-functions}.
|
||||
@xref{Folders}.}.
|
||||
|
||||
@cindex MH-Folder mode
|
||||
|
@ -3364,7 +3364,7 @@ Hook run by q before quitting MH-E (default: @code{nil}).
|
|||
Hook run by @code{mh-folder-mode} when visiting a new folder (default:
|
||||
@code{nil}).
|
||||
@c -------------------------
|
||||
@item mh-kill-folder-suppress-prompt-hook
|
||||
@item mh-kill-folder-suppress-prompt-functions
|
||||
Abnormal hook run at the beginning of @code{mh-kill-folder} (default:
|
||||
@code{'mh-search-p}).
|
||||
@c -------------------------
|
||||
|
@ -7540,8 +7540,8 @@ Allowlisted message face
|
|||
@cindex spam filters, bogofilter
|
||||
|
||||
MH-E depends on @uref{https://spamassassin.apache.org/, SpamAssassin},
|
||||
@uref{http://bogofilter.sourceforge.net/, bogofilter}, or
|
||||
@uref{http://spamprobe.sourceforge.net/, SpamProbe} to throw the dreck
|
||||
@uref{https://bogofilter.sourceforge.net/, bogofilter}, or
|
||||
@uref{https://spamprobe.sourceforge.net/, SpamProbe} to throw the dreck
|
||||
away. This chapter describes briefly how to configure these programs
|
||||
to work well with MH-E and how to use MH-E's interface that provides
|
||||
continuing education for these programs.
|
||||
|
@ -7721,7 +7721,7 @@ done by adding the following to your @file{crontab}:
|
|||
|
||||
Bogofilter is a Bayesian spam filtering program. Get it from your
|
||||
local distribution or from the
|
||||
@uref{http://bogofilter.sourceforge.net/, bogofilter web site}.
|
||||
@uref{https://bogofilter.sourceforge.net/, bogofilter web site}.
|
||||
|
||||
Bogofilter is taught by running:
|
||||
|
||||
|
@ -7791,7 +7791,7 @@ bogofilter.
|
|||
@cindex spam filters, SpamProbe
|
||||
|
||||
SpamProbe is a Bayesian spam filtering program. Get it from your local
|
||||
distribution or from the @uref{http://spamprobe.sourceforge.net,
|
||||
distribution or from the @uref{https://spamprobe.sourceforge.net,
|
||||
SpamProbe web site}.
|
||||
|
||||
To use SpamProbe, add the following recipes to @file{~/.procmailrc}:
|
||||
|
@ -8633,7 +8633,7 @@ via SourceForge (@pxref{Bug Reports}).
|
|||
@cindex FAQ
|
||||
@cindex MH FAQ
|
||||
|
||||
The article @uref{http://www.newt.com/faq/mh.html, @cite{MH Frequently
|
||||
The article @uref{https://www.newt.com/faq/mh.html, @cite{MH Frequently
|
||||
Asked Questions (FAQ) with Answers}} appears monthly in the newsgroup
|
||||
@samp{comp.mail.mh}. While very little is there that deals with MH-E
|
||||
specifically, there is an incredible wealth of material about MH
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
#+language: en
|
||||
#+options: ':t toc:nil author:t email:t num:t
|
||||
#+startup: content
|
||||
#+macro: stable-version 2.7.0
|
||||
#+macro: release-date 2022-10-01
|
||||
#+macro: development-version 2.8.0-dev
|
||||
#+macro: stable-version 3.0.0
|
||||
#+macro: release-date 2022-10-28
|
||||
#+macro: development-version 3.1.0-dev
|
||||
#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
|
||||
#+macro: space @@texinfo:@: @@
|
||||
#+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
|
||||
|
@ -35,6 +35,7 @@ Current development target is {{{development-version}}}.
|
|||
+ Homepage: https://protesilaos.com/emacs/modus-themes.
|
||||
+ Git repository: https://git.sr.ht/~protesilaos/modus-themes.
|
||||
+ Mailing list: https://lists.sr.ht/~protesilaos/modus-themes.
|
||||
+ Backronym: My Old Display Unexpectedly Sharpened ... themes
|
||||
|
||||
#+toc: headlines 8 insert TOC here, with eight headline levels
|
||||
|
||||
|
@ -632,7 +633,7 @@ to user options to take effect ([[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enabl
|
|||
:end:
|
||||
#+vindex: modus-themes-deuteranopia
|
||||
|
||||
Brief: When non-nil use red/blue color-coding instead of red/green,
|
||||
Brief: When non-~nil~ use red/blue color-coding instead of red/green,
|
||||
where appropriate.
|
||||
|
||||
Symbol: ~modus-themes-deuteranopia~ (=boolean= type)
|
||||
|
@ -679,7 +680,7 @@ Possible values:
|
|||
The default is to use a bold typographic weight only when it is
|
||||
required.
|
||||
|
||||
With a non-nil value (~t~) display several syntactic constructs in bold
|
||||
With a non-~nil~ value (~t~) display several syntactic constructs in bold
|
||||
weight. This concerns keywords and other important aspects of code
|
||||
syntax. It also affects certain mode line indicators and command-line
|
||||
prompts.
|
||||
|
@ -709,7 +710,7 @@ Possible values:
|
|||
The default is to not use slanted text forms (italics) unless it is
|
||||
absolutely necessary.
|
||||
|
||||
With a non-nil value (~t~) choose to render more faces in italics. This
|
||||
With a non-~nil~ value (~t~) choose to render more faces in italics. This
|
||||
typically affects documentation strings and code comments.
|
||||
|
||||
Advanced users may also want to configure the exact attributes of the
|
||||
|
@ -799,7 +800,7 @@ Possible values:
|
|||
1. ~nil~ (default)
|
||||
2. ~t~
|
||||
|
||||
When set to non-nil (~t~), configure some spacing-sensitive faces like Org
|
||||
When set to non-~nil~ (~t~), configure some spacing-sensitive faces like Org
|
||||
tables and code blocks to always inherit from the ~fixed-pitch~ face.
|
||||
This is to ensure that certain constructs like code blocks and tables
|
||||
remain monospaced even when users opt for a mode that remaps typeface
|
||||
|
@ -926,8 +927,8 @@ an empty list). The list can include any of the following symbols:
|
|||
the form of =(height . FLOAT)=
|
||||
+ ~all-buttons~
|
||||
|
||||
The default (a nil value or an empty list) is a gray background combined
|
||||
with a pseudo three-dimensional effect.
|
||||
The default (a ~nil~ value or an empty list) is a gray background
|
||||
combined with a pseudo three-dimensional effect.
|
||||
|
||||
The ~flat~ property makes the button two dimensional.
|
||||
|
||||
|
@ -1068,7 +1069,7 @@ effect, color, and border visibility:
|
|||
+ A floating point to set the height of the mode line's text. It can
|
||||
also be a cons cell in the form of ~(height . FLOAT)~.
|
||||
|
||||
The default (a nil value or an empty list) is a two-dimensional
|
||||
The default (a ~nil~ value or an empty list) is a two-dimensional
|
||||
rectangle with a border around it. The active and the inactive mode
|
||||
lines use different shades of grayscale values for the background,
|
||||
foreground, border.
|
||||
|
@ -1097,7 +1098,7 @@ of NATNUM pixels at the boundaries of the mode lines. The default value
|
|||
is 1 and does not need to be specified explicitly. The padding has no
|
||||
effect when the ~moody~ property is also used, because Moody already
|
||||
applies its own tweaks. To ensure that the underline is placed at the
|
||||
bottom of the mode line, set ~x-underline-at-descent-line~ to non-nil
|
||||
bottom of the mode line, set ~x-underline-at-descent-line~ to non-~nil~
|
||||
(this is not needed when the ~borderless~ property is also set). For
|
||||
users on Emacs 29, the ~x-use-underline-position-properties~ variable must
|
||||
also be set to nil.
|
||||
|
@ -1159,7 +1160,7 @@ colors (which have been carefully designed to be highly accessible).
|
|||
|
||||
Furthermore, because Moody expects an underline and overline instead of
|
||||
a box style, it is strongly advised to set ~x-underline-at-descent-line~
|
||||
to a non-nil value.
|
||||
to a non-~nil~ value.
|
||||
|
||||
Finally, note that various packages which heavily modify the mode line,
|
||||
such as =doom-modeline=, =nano-modeline=, =powerline=, =spaceline= may not look
|
||||
|
@ -1183,7 +1184,7 @@ Possible values:
|
|||
+ ~t~
|
||||
|
||||
By default, all tab interfaces use backgrounds which are shades of gray.
|
||||
When this option is set to non-nil, the backgrounds become colorful.
|
||||
When this option is set to non-~nil~, the backgrounds become colorful.
|
||||
|
||||
This affects the built-in ~tab-bar-mode~ and ~tab-line-mode~, as well as the
|
||||
Centaur tabs package.
|
||||
|
@ -1202,8 +1203,9 @@ Symbol: ~modus-themes-completions~ (=alist= type properties)
|
|||
|
||||
This affects Company, Corfu, Flx, Helm, Icomplete/Fido, Ido, Ivy,
|
||||
Orderless, Selectrum, Vertico. The value is an alist that takes the
|
||||
form of a =(key . properties)= combination. Here is a sample, followed
|
||||
by a description of the particularities:
|
||||
form of a =(KEY . PROPERTIES)= combination. =KEY= is a symbol, while
|
||||
=PROPERTIES= is a list. Here is a sample, followed by a description
|
||||
of the particularities:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(setq modus-themes-completions
|
||||
|
@ -1213,10 +1215,10 @@ by a description of the particularities:
|
|||
#+end_src
|
||||
|
||||
The ~matches~ key refers to the highlighted characters that correspond
|
||||
to the user's input. By default (nil or an empty list), they have a
|
||||
bold weight and a colored foreground. The list of properties may
|
||||
include any of the following symbols regardless of the order they may
|
||||
appear in:
|
||||
to the user's input. When its properties are ~nil~ or an empty list,
|
||||
matching characters in the user interface will have a bold weight and
|
||||
a colored foreground. The list of properties may include any of the
|
||||
following symbols regardless of the order they may appear in:
|
||||
|
||||
- ~background~ to add a background color;
|
||||
|
||||
|
@ -1232,10 +1234,10 @@ appear in:
|
|||
variable. The absence of a weight means that bold will be used.
|
||||
|
||||
The ~selection~ key applies to the current line or currently matched
|
||||
candidate, depending on the specifics of the User Interface. By default
|
||||
(nil or an empty list), it has a subtle gray background, a bold weight,
|
||||
and the base foreground value for the text. The list of properties it
|
||||
accepts is as follows (order is not significant):
|
||||
candidate, depending on the specifics of the user interface. When its
|
||||
properties are ~nil~ or an empty list, it has a subtle gray background,
|
||||
a bold weight, and the base foreground value for the text. The list
|
||||
of properties it accepts is as follows (order is not significant):
|
||||
|
||||
- ~accented~ to make the background colorful instead of gray;
|
||||
|
||||
|
@ -1251,7 +1253,11 @@ accepts is as follows (order is not significant):
|
|||
cetera. Valid symbols are defined in the ~modus-themes-weights~
|
||||
variable. The absence of a weight means that bold will be used.
|
||||
|
||||
The ~popup~ key takes the same values as ~selection~.
|
||||
The ~popup~ key takes the same values as ~selection~. The only
|
||||
difference is that it applies specifically to user interfaces that
|
||||
display an inline popup and thus have slightly different styling
|
||||
requirements than the minibuffer. The two prominent packages are
|
||||
=company= and =corfu=.
|
||||
|
||||
Apart from specifying each key separately, a fallback list is accepted.
|
||||
This is only useful when the desired aesthetic is the same across all
|
||||
|
@ -1276,21 +1282,10 @@ corresponding key is simply ignored (~matches~ does not have ~accented~
|
|||
and ~text-also~, while ~selection~ and ~popup~ do not have
|
||||
~background~).
|
||||
|
||||
A concise expression of those associations can be written as follows,
|
||||
where the ~car~ is always the key and the ~cdr~ is the list of
|
||||
properties (whatever order they may appear in):
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(setq modus-themes-completions
|
||||
'((matches extrabold background intense)
|
||||
(selection semibold accented intense)
|
||||
(popup accented)))
|
||||
#+end_src
|
||||
|
||||
[[#h:2793a224-2109-4f61-a106-721c57c01375][Configure bold and italic faces]].
|
||||
|
||||
Also refer to the Orderless documentation for its intersection with
|
||||
Company (if you choose to use those in tandem).
|
||||
Also refer to the documentation of the ~orderless~ package for its
|
||||
intersection with ~company~ (if you choose to use those in tandem).
|
||||
|
||||
** Option for mail citations
|
||||
:properties:
|
||||
|
@ -1312,7 +1307,7 @@ Possible values:
|
|||
3. ~faint~
|
||||
4. ~monochrome~
|
||||
|
||||
By default (a nil value) citations are styled with contrasting hues to
|
||||
By default (a ~nil~ value) citations are styled with contrasting hues to
|
||||
denote their depth. Colors are easy to tell apart because they
|
||||
complement each other, but they otherwise are not very prominent.
|
||||
|
||||
|
@ -1342,17 +1337,16 @@ Symbol: ~modus-themes-fringes~ (=choice= type)
|
|||
|
||||
Possible values:
|
||||
|
||||
1. ~nil~ (default)
|
||||
1. ~nil~
|
||||
2. ~subtle~
|
||||
3. ~intense~
|
||||
|
||||
The default is to use the same color as that of the main background,
|
||||
meaning that the fringes are not obvious though they still occupy the
|
||||
space given to them by ~fringe-mode~.
|
||||
When the value is nil, do not apply a distinct background color.
|
||||
|
||||
Options ~subtle~ and ~intense~ apply a gray background, making the fringes
|
||||
visible. The difference between the two is one of degree, as their
|
||||
names imply.
|
||||
With a value of ~subtle~ use a gray background color that is
|
||||
visible yet close to the main background color.
|
||||
|
||||
With ~intense~ use a more pronounced gray background color.
|
||||
|
||||
** Option for language checkers
|
||||
:properties:
|
||||
|
@ -1435,16 +1429,16 @@ Brief: Control the style of the current line of ~hl-line-mode~.
|
|||
|
||||
Symbol: ~modus-themes-hl-line~ (=choice= type, list of properties)
|
||||
|
||||
Possible values are expressed as a list of properties (default is ~nil~ or
|
||||
an empty list). The list can include any of the following symbols:
|
||||
The value is a list of properties, each designated by a symbol. With
|
||||
a ~nil~ value, or an empty list, the style is a subtle gray background
|
||||
color.
|
||||
|
||||
Possible properties are the following symbols:
|
||||
|
||||
+ ~accented~
|
||||
+ ~intense~
|
||||
+ ~underline~
|
||||
|
||||
The default (a ~nil~ value or an empty list) is a subtle gray background
|
||||
color.
|
||||
|
||||
The property ~accented~ changes the background to a colored variant.
|
||||
|
||||
An ~underline~ property draws a line below the highlighted area. Its
|
||||
|
@ -1471,8 +1465,9 @@ In user configuration files the form may look like this:
|
|||
(setq modus-themes-hl-line '(underline accented))
|
||||
#+end_src
|
||||
|
||||
Set ~x-underline-at-descent-line~ to a non-nil value for better results
|
||||
with underlines.
|
||||
Set ~x-underline-at-descent-line~ to a non-~nil~ value so that the
|
||||
placement of the underline coincides with the lower boundary of the
|
||||
colored background.
|
||||
|
||||
This style affects several packages that enable ~hl-line-mode~, such as
|
||||
=elfeed=, =notmuch=, and =mu4e=.
|
||||
|
@ -1506,7 +1501,7 @@ Similarly, the faces for ~display-line-numbers-major-tick~ and its
|
|||
counterpart ~display-line-numbers-minor-tick~ use appropriate styles that
|
||||
involve a bespoke background and foreground combination.
|
||||
|
||||
With a non-nil value (~t~), line numbers have no background of their own.
|
||||
With a non-~nil~ value (~t~), line numbers have no background of their own.
|
||||
Instead they retain the primary background of the theme, blending with
|
||||
the rest of the buffer. Foreground values for all relevant faces are
|
||||
updated to accommodate this aesthetic.
|
||||
|
@ -1529,7 +1524,7 @@ Possible value:
|
|||
2. ~t~
|
||||
|
||||
By default all mouseover effects apply a highlight with a subtle colored
|
||||
background. When non-nil, these have a more pronounced effect.
|
||||
background. When non-~nil~, these have a more pronounced effect.
|
||||
|
||||
Note that this affects the generic ~highlight~ which, strictly speaking,
|
||||
is not limited to mouse usage.
|
||||
|
@ -1713,11 +1708,11 @@ Option ~desaturated~ follows the same principles as with the default
|
|||
(~nil~), though it tones down all relevant colors.
|
||||
|
||||
Option ~bg-only~ applies a background but does not override the text's
|
||||
foreground. This makes it suitable for a non-nil value passed to
|
||||
foreground. This makes it suitable for a non-~nil~ value passed to
|
||||
~diff-font-lock-syntax~ (note: Magit does not support syntax highlighting
|
||||
in diffs---last checked on 2021-12-02).
|
||||
|
||||
When the user option ~modus-themes-deuteranopia~ is non-nil, all diffs
|
||||
When the user option ~modus-themes-deuteranopia~ is non-~nil~, all diffs
|
||||
will use a red/blue color-coding system instead of the standard
|
||||
red/green. Other stylistic changes are made in the interest of
|
||||
optimizing for such a use-case.
|
||||
|
@ -1776,8 +1771,8 @@ of the block. Disable the extension of such backgrounds by setting
|
|||
~org-fontify-whole-block-delimiter-line~ to nil.
|
||||
|
||||
Code blocks use their major mode's colors only when the variable
|
||||
~org-src-fontify-natively~ is non-nil. While quote/verse blocks require
|
||||
setting ~org-fontify-quote-and-verse-blocks~ to a non-nil value.
|
||||
~org-src-fontify-natively~ is non-~nil~. While quote/verse blocks require
|
||||
setting ~org-fontify-quote-and-verse-blocks~ to a non-~nil~ value.
|
||||
|
||||
[[#h:f44cc6e3-b0f1-4a5e-8a90-9e48fa557b50][Update Org block delimiter fontification]].
|
||||
|
||||
|
@ -1894,7 +1889,7 @@ An ~event~ key covers (i) headings with a plain time stamp that are
|
|||
shown on the agenda, also known as events, (ii) entries imported from
|
||||
the diary, and (iii) other items that derive from a symbolic expression
|
||||
or sexp (phases of the moon, holidays, etc.). By default all those look
|
||||
the same and have a subtle foreground color (the default is a nil value
|
||||
the same and have a subtle foreground color (the default is a ~nil~ value
|
||||
or an empty list). This key accepts a list of properties. Those are:
|
||||
|
||||
- ~accented~ applies an accent value to the event's foreground,
|
||||
|
@ -1925,7 +1920,7 @@ A ~scheduled~ key applies to tasks with a scheduled date. By default (a
|
|||
~nil~ value), those use varying shades of yellow to denote (i) a past or
|
||||
current date and (ii) a future date. Valid values are symbols:
|
||||
|
||||
- nil (default);
|
||||
- ~nil~ (default);
|
||||
- ~uniform~ to make all scheduled dates the same color;
|
||||
- ~rainbow~ to use contrasting colors for past, present, future
|
||||
scheduled dates.
|
||||
|
@ -1963,7 +1958,7 @@ passed as a symbol. Those are:
|
|||
being too late. The difference between ready and clear states is
|
||||
attenuated by painting both of them using shades of green. This
|
||||
option thus highlights the alert and overdue states.
|
||||
- When ~modus-themes-deuteranopia~ is non-nil the exact style of the habit
|
||||
- When ~modus-themes-deuteranopia~ is non-~nil~ the exact style of the habit
|
||||
graph adapts to the needs of users with red-green color deficiency by
|
||||
substituting every instance of green with blue or cyan (depending on
|
||||
the specifics).
|
||||
|
@ -2108,7 +2103,7 @@ In user configuration files the form may look like this:
|
|||
#+end_src
|
||||
|
||||
When defining the styles per heading level, it is possible to pass a
|
||||
non-nil value (~t~) instead of a list of properties. This will retain the
|
||||
non-~nil~ value (~t~) instead of a list of properties. This will retain the
|
||||
original aesthetic for that level. For example:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -2153,7 +2148,7 @@ and tab line.
|
|||
The default is to use the same font as the rest of Emacs, which usually
|
||||
is a monospaced family.
|
||||
|
||||
With a non-nil value (~t~) apply a proportionately spaced typeface. This
|
||||
With a non-~nil~ value (~t~) apply a proportionately spaced typeface. This
|
||||
is done by assigning the ~variable-pitch~ face to the relevant items.
|
||||
|
||||
[[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org and others]].
|
||||
|
@ -2839,7 +2834,7 @@ To reset the changes, we apply this and reload the theme:
|
|||
|
||||
Users who wish to leverage such a mechanism can opt to implement it
|
||||
on-demand by means of a global minor mode. The following snippet covers
|
||||
both themes and expands to some more assosiations in the palette:
|
||||
both themes and expands to some more associations in the palette:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(define-minor-mode my-modus-themes-tinted
|
||||
|
@ -3654,7 +3649,7 @@ specification of that variable looks like this:
|
|||
|
||||
With the exception of ~org-verbatim~ and ~org-code~ faces, everything else
|
||||
uses the corresponding type of emphasis: a bold typographic weight, or
|
||||
italicised, underlined, and struck through text.
|
||||
italicized, underlined, and struck through text.
|
||||
|
||||
The best way for users to add some extra attributes, such as a
|
||||
foreground color, is to define their own faces and assign them to the
|
||||
|
@ -4681,6 +4676,7 @@ have lots of extensions, so the "full support" may not be 100% true…
|
|||
+ notmuch
|
||||
+ num3-mode
|
||||
+ nxml-mode
|
||||
+ olivetti
|
||||
+ orderless
|
||||
+ org*
|
||||
+ org-journal
|
||||
|
@ -4753,7 +4749,7 @@ have lots of extensions, so the "full support" may not be 100% true…
|
|||
+ tab-bar-groups
|
||||
+ tab-bar-mode
|
||||
+ tab-line-mode
|
||||
+ table (built-in table.el)
|
||||
+ table (built-in {{{file(table.el)}}})
|
||||
+ telega
|
||||
+ telephone-line
|
||||
+ terraform-mode
|
||||
|
@ -4768,7 +4764,7 @@ have lots of extensions, so the "full support" may not be 100% true…
|
|||
+ tuareg
|
||||
+ typescript
|
||||
+ undo-tree
|
||||
+ vc (vc-dir.el, vc-hooks.el)
|
||||
+ vc ({{{file(vc-dir.el)}}}, {{{file(vc-hooks.el)}}})
|
||||
+ vertico
|
||||
+ vertico-quick
|
||||
+ vimish-fold
|
||||
|
@ -4793,8 +4789,7 @@ have lots of extensions, so the "full support" may not be 100% true…
|
|||
+ yasnippet
|
||||
+ ztree
|
||||
|
||||
Plus many other miscellaneous faces that are provided by the upstream
|
||||
GNU Emacs distribution.
|
||||
Plus many other miscellaneous faces that are provided by Emacs.
|
||||
|
||||
** Indirectly covered packages
|
||||
:properties:
|
||||
|
@ -5397,7 +5392,7 @@ https://github.com/tumashu/company-posframe/]
|
|||
:custom_id: h:98bdf319-1e32-4469-8a01-771200fba65c
|
||||
:end:
|
||||
|
||||
The built-in IRC client ~erc~ has the ability to colorise any text using
|
||||
The built-in IRC client ~erc~ has the ability to colorize any text using
|
||||
escape sequences that start with =^C= (inserted with {{{kbd(C-q C-c)}}}) and are
|
||||
followed by a number for the foreground and background.[fn:: This page
|
||||
explains the basics, though it is not specific to Emacs:
|
||||
|
@ -5453,7 +5448,7 @@ Consult the doc string of ~shr-use-colors~.
|
|||
|
||||
By default, packages that build on top of the Simple HTML Remember (=shr=)
|
||||
use proportionately spaced fonts. This is controlled by the user option
|
||||
~shr-use-fonts~, which is set to non-nil by default. To use the standard
|
||||
~shr-use-fonts~, which is set to non-~nil~ by default. To use the standard
|
||||
font instead, set that variable to nil.
|
||||
|
||||
[[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org and others]].
|
||||
|
@ -5543,9 +5538,9 @@ ANSI color number 1 (red) from the already-supported array of
|
|||
:end:
|
||||
|
||||
Hints are drawn by [[https://imagemagick.org/][ImageMagick]], not Emacs, i.e., ImageMagick doesn't
|
||||
know about the hint face unless you tell ImageMagick about it. By
|
||||
know about the hint face unless you tell ImageMagick about it. By
|
||||
default, only the foreground and background color attributes are
|
||||
passed. The below snippet adds to those the various font attributes. As
|
||||
passed. The below snippet adds to those the various font attributes. As
|
||||
it queries various faces, specifically ~pdf-links-read-link~ and the faces
|
||||
it inherits, it needs to be added to your initialization file after
|
||||
you've customized any faces.
|
||||
|
@ -5816,9 +5811,9 @@ In general, an additional source of light other than that of the monitor
|
|||
can help reduce eye strain: the eyes are more relaxed when they do not
|
||||
have to focus on one point to gather light.
|
||||
|
||||
The monitor's display settings must be accounted for. Gamma values, in
|
||||
The monitor's display settings must be accounted for. Gamma values, in
|
||||
particular, need to be calibrated to neither amplify nor distort the
|
||||
perception of black. Same principle for sharpness, brightness, and
|
||||
perception of black. Same principle for sharpness, brightness, and
|
||||
contrast as determined by the hardware, which all have an effect on how
|
||||
text is read on the screen.
|
||||
|
||||
|
@ -5883,7 +5878,7 @@ interface virtually unusable.
|
|||
|
||||
[[#h:5808be52-361a-4d18-88fd-90129d206f9b][Option for links]].
|
||||
|
||||
Again, one must exercise judgement in order to avoid discrimination,
|
||||
Again, one must exercise judgment in order to avoid discrimination,
|
||||
where "discrimination" refers to:
|
||||
|
||||
+ The treatment of substantially different magnitudes as if they were of
|
||||
|
@ -6125,22 +6120,22 @@ The Modus themes are a collective effort. Every bit of work matters.
|
|||
Yiltiz, Ilja Kocken, Iris Garcia, Ivan Popovych, Jeremy Friesen,
|
||||
Jerry Zhang, Johannes Grødem, John Haman, Jonas Collberg, Jorge
|
||||
Morais, Joshua O'Connor, Julio C. Villasante, Kenta Usami, Kevin
|
||||
Fleming, Kévin Le Gouguec, Kostadin Ninev, Len Trigg, Lennart
|
||||
C. Karssen, Luis Miguel Castañeda, Magne Hov, Manuel Uberti, Mark
|
||||
Bestley, Mark Burton, Mark Simpson, Markus Beppler, Matt Armstrong,
|
||||
Mauro Aranda, Maxime Tréca, Michael Goldenberg, Morgan Smith, Morgan
|
||||
Willcock, Murilo Pereira, Nicky van Foreest, Nicolas De Jaeghere,
|
||||
Paul Poloskov, Pengji Zhang, Pete Kazmier, Peter Wu, Philip
|
||||
Kaludercic, Pierre Téchoueyres, Przemysław Kryger, Robert Hepple,
|
||||
Roman Rudakov, Ryan Phillips, Rytis Paškauskas, Rudolf Adamkovič,
|
||||
Sam Kleinman, Samuel Culpepper, Saša Janiška, Shreyas Ragavan, Simon
|
||||
Pugnet, Tassilo Horn, Thibaut Verron, Thomas Heartman, Togan
|
||||
Muftuoglu, Tony Zorman, Trey Merkley, Tomasz Hołubowicz, Toon Claes,
|
||||
Uri Sharf, Utkarsh Singh, Vincent Foley. As well as users: Ben,
|
||||
CsBigDataHub1, Emacs Contrib, Eugene, Fourchaux, Fredrik, Moesasji,
|
||||
Nick, Summer Emacs, TheBlob42, Trey, bepolymathe, bit9tream,
|
||||
derek-upham, doolio, fleimgruber, gitrj95, iSeeU, jixiuf, okamsn,
|
||||
pRot0ta1p.
|
||||
Fleming, Kévin Le Gouguec, Kevin Kainan Li, Kostadin Ninev, Len
|
||||
Trigg, Lennart C. Karssen, Luis Miguel Castañeda, Magne Hov, Manuel
|
||||
Uberti, Mark Bestley, Mark Burton, Mark Simpson, Markus Beppler,
|
||||
Matt Armstrong, Matthias Fuchs, Mauro Aranda, Maxime Tréca, Michael
|
||||
Goldenberg, Morgan Smith, Morgan Willcock, Murilo Pereira, Nicky van
|
||||
Foreest, Nicolas De Jaeghere, Pablo Stafforini, Paul Poloskov,
|
||||
Pengji Zhang, Pete Kazmier, Peter Wu, Philip Kaludercic, Pierre
|
||||
Téchoueyres, Przemysław Kryger, Robert Hepple, Roman Rudakov, Ryan
|
||||
Phillips, Rytis Paškauskas, Rudolf Adamkovič, Sam Kleinman, Samuel
|
||||
Culpepper, Saša Janiška, Shreyas Ragavan, Simon Pugnet, Tassilo
|
||||
Horn, Thibaut Verron, Thomas Heartman, Togan Muftuoglu, Tony Zorman,
|
||||
Trey Merkley, Tomasz Hołubowicz, Toon Claes, Uri Sharf, Utkarsh
|
||||
Singh, Vincent Foley. As well as users: Ben, CsBigDataHub1, Emacs
|
||||
Contrib, Eugene, Fourchaux, Fredrik, Moesasji, Nick, Summer Emacs,
|
||||
TheBlob42, Trey, bepolymathe, bit9tream, derek-upham, doolio,
|
||||
fleimgruber, gitrj95, iSeeU, jixiuf, okamsn, pRot0ta1p.
|
||||
|
||||
+ Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii,
|
||||
Glenn Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core
|
||||
|
|
|
@ -172,7 +172,7 @@ is fetched for the very first time.
|
|||
@vindex newsticker-obsolete-item-max-age
|
||||
@item newsticker-keep-obsolete-items
|
||||
Obsolete headlines are removed immediately unless
|
||||
@code{newsticker-keep-obsolete-items} is non-nil in which case they
|
||||
@code{newsticker-keep-obsolete-items} is non-@code{nil} in which case they
|
||||
are kept until @code{newsticker-obsolete-item-max-age} is reached.
|
||||
|
||||
@vindex newsticker-automatically-mark-items-as-old
|
||||
|
|
|
@ -204,9 +204,10 @@ The GNU Emacs Manual}). Currently, function names can be indexed.
|
|||
|
||||
@cindex ElDoc Mode Support
|
||||
@vindex octave-eldoc-message-style
|
||||
ElDoc mode (@pxref{Lisp Doc,,, emacs, The GNU Emacs Manual}) is
|
||||
supported. By customizing @code{octave-eldoc-message-style} it can be
|
||||
changed from displaying one or multi line hints.
|
||||
ElDoc mode (@pxref{Programming Language Doc,,, emacs, The GNU Emacs
|
||||
Manual}) is supported. By customizing
|
||||
@code{octave-eldoc-message-style} it can be changed from displaying
|
||||
one or multi line hints.
|
||||
|
||||
@c @cindex TAGS
|
||||
@c @cindex Emacs TAGS files
|
||||
|
|
|
@ -68,8 +68,8 @@ of Org, as well as additional information, frequently asked questions
|
|||
[[https://orgmode.org]].
|
||||
|
||||
#+cindex: print edition
|
||||
An earlier version (7.3) of this manual is available as a [[http://www.network-theory.co.uk/org/manual/][paperback
|
||||
book from Network Theory Ltd.]].
|
||||
An earlier version (7.3) of this manual was published as a paperback book by
|
||||
Network Theory Ltd. in 2010.
|
||||
|
||||
** Installation
|
||||
:PROPERTIES:
|
||||
|
@ -3234,7 +3234,7 @@ options:
|
|||
|
||||
| Link Type | Example |
|
||||
|------------+----------------------------------------------------------|
|
||||
| http | =http://staff.science.uva.nl/c.dominik/= |
|
||||
| http | =https://staff.science.uva.nl/c.dominik/= |
|
||||
| https | =https://orgmode.org/= |
|
||||
| doi | =doi:10.1000/182= |
|
||||
| file | =file:/home/dominik/images/jupiter.jpg= |
|
||||
|
@ -3567,7 +3567,7 @@ replacement text. Here is an example:
|
|||
'(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=")
|
||||
("Nu Html Checker" . "https://validator.w3.org/nu/?doc=%h")
|
||||
("duckduckgo" . "https://duckduckgo.com/?q=%s")
|
||||
("omap" . "http://nominatim.openstreetmap.org/search?q=%s&polygon=1")
|
||||
("omap" . "https://nominatim.openstreetmap.org/search?q=%s&polygon=1")
|
||||
("ads" . "https://ui.adsabs.harvard.edu/search/q=%20author%3A\"%s\"")))
|
||||
#+end_src
|
||||
|
||||
|
@ -3596,7 +3596,7 @@ can define them in the file with
|
|||
|
||||
#+cindex: @samp{LINK}, keyword
|
||||
#+begin_example
|
||||
,#+LINK: bugzilla http://10.1.2.9/bugzilla/show_bug.cgi?id=
|
||||
,#+LINK: bugzilla https://10.1.2.9/bugzilla/show_bug.cgi?id=
|
||||
,#+LINK: duckduckgo https://duckduckgo.com/?q=%s
|
||||
#+end_example
|
||||
|
||||
|
@ -13642,7 +13642,7 @@ not have descriptions, such as these links =[[file:img.jpg]]= or
|
|||
=[[./img.jpg]]=, as direct image insertions in the final PDF output. In
|
||||
the PDF, they are no longer links but actual images embedded on the
|
||||
page. The LaTeX export back-end uses =\includegraphics= macro to
|
||||
insert the image. But for TikZ (http://sourceforge.net/projects/pgf/)
|
||||
insert the image. But for TikZ (https://sourceforge.net/projects/pgf/)
|
||||
images, the back-end uses an ~\input~ macro wrapped within
|
||||
a ~tikzpicture~ environment.
|
||||
|
||||
|
@ -13982,7 +13982,7 @@ some text in German...
|
|||
#+cindex: Markdown export
|
||||
|
||||
The Markdown export back-end, "md", converts an Org file to Markdown
|
||||
format, as defined at http://daringfireball.net/projects/markdown/.
|
||||
format, as defined at https://daringfireball.net/projects/markdown/.
|
||||
|
||||
Since it is built on top of the HTML back-end (see [[*HTML Export]]), it
|
||||
converts every Org construct not defined in Markdown syntax, such as
|
||||
|
@ -16569,7 +16569,7 @@ identifying a reference in the bibliography.
|
|||
|
||||
- Each key can be qualified by a /prefix/ (e.g.\nbsp{}"see ") and/or
|
||||
a /suffix/ (e.g.\nbsp{}"p.\nbsp{}123"), giving information useful or necessary
|
||||
fo the comprehension of the citation but not included in the
|
||||
for the comprehension of the citation but not included in the
|
||||
reference.
|
||||
|
||||
- A single citation can cite more than one reference ; the keys are
|
||||
|
@ -22053,7 +22053,7 @@ MathJax are processed. When dvipng, dvisvgm, or ImageMagick suite is
|
|||
used to create images, any LaTeX environment is handled.
|
||||
|
||||
[fn:112] These are respectively available at
|
||||
[[http://sourceforge.net/projects/dvipng/]], [[http://dvisvgm.bplaced.net/]]
|
||||
[[https://sourceforge.net/projects/dvipng/]], [[http://dvisvgm.bplaced.net/]]
|
||||
and from the ImageMagick suite. Choose the converter by setting the
|
||||
variable ~org-preview-latex-default-process~ accordingly.
|
||||
|
||||
|
@ -22123,9 +22123,9 @@ semantic relevance.
|
|||
|
||||
[fn:130] Please note that exported formulas are part of an HTML
|
||||
document, and that signs such as =<=, =>=, or =&= have special
|
||||
meanings. See [[http://docs.mathjax.org/en/latest/tex.html#tex-and-latex-in-html-documents][MathJax TeX and LaTeX support]].
|
||||
meanings. See [[https://docs.mathjax.org/en/latest/tex.html#tex-and-latex-in-html-documents][MathJax TeX and LaTeX support]].
|
||||
|
||||
[fn:131] See [[http://docs.mathjax.org/en/latest/tex.html#tex-extensions][TeX and LaTeX extensions]] in the [[http://docs.mathjax.org][MathJax manual]] to learn
|
||||
[fn:131] See [[https://docs.mathjax.org/en/latest/tex.html#tex-extensions][TeX and LaTeX extensions]] in the [[https://docs.mathjax.org][MathJax manual]] to learn
|
||||
about extensions.
|
||||
|
||||
[fn:132] If the classes on TODO keywords and tags lead to conflicts,
|
||||
|
@ -22140,14 +22140,14 @@ as latexmk, can select the correct bibliography compiler.
|
|||
which requires the flag =-shell-escape= to be added to
|
||||
~org-latex-pdf-process~.
|
||||
|
||||
[fn:135] See [[http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][Open Document Format for Office Applications
|
||||
[fn:135] See [[https://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][Open Document Format for Office Applications
|
||||
(OpenDocument) Version 1.2]].
|
||||
|
||||
[fn:136] See [[http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl][MathToWeb]].
|
||||
|
||||
[fn:137] See [[http://dlmf.nist.gov/LaTeXML/]].
|
||||
[fn:137] See [[https://dlmf.nist.gov/LaTeXML/]].
|
||||
|
||||
[fn:138] [[http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][OpenDocument-v1.2 Specification]]
|
||||
[fn:138] [[https://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][OpenDocument-v1.2 Specification]]
|
||||
|
||||
[fn:139] See the =<table:table-template>= element of the
|
||||
OpenDocument-v1.2 specification.
|
||||
|
@ -22170,7 +22170,7 @@ are not evaluated when they appear in a keyword (see [[*Summary of
|
|||
In-Buffer Settings]]).
|
||||
|
||||
[fn:144] For noweb literate programming details, see
|
||||
http://www.cs.tufts.edu/~nr/noweb/.
|
||||
https://www.cs.tufts.edu/~nr/noweb/.
|
||||
|
||||
[fn:145] For more information, please refer to the commentary section
|
||||
in =org-tempo.el=.
|
||||
|
|
|
@ -259,7 +259,7 @@ Use @kbd{C-c C-@key{SPC}} to switch to these buffers.
|
|||
|
||||
@vindex rcirc-track-ignore-server-buffer-flag
|
||||
If the user wishes to ignore events in the server buffer, set
|
||||
@code{rcirc-track-ignore-server-buffer-flag} to a non-nil value.
|
||||
@code{rcirc-track-ignore-server-buffer-flag} to a non-@code{nil} value.
|
||||
|
||||
@node Reference
|
||||
@chapter Reference
|
||||
|
@ -693,7 +693,7 @@ buffers.
|
|||
|
||||
@cindex rcirc-track-abbrevate-flag
|
||||
By default the channel names are abbreviated, set
|
||||
@code{rcirc-track-abbrevate-flag} to a non-nil value. This might be
|
||||
@code{rcirc-track-abbrevate-flag} to a non-@code{nil} value. This might be
|
||||
interesting if the IRC activities are not tracked in the mode line,
|
||||
but somewhere else.
|
||||
|
||||
|
|
|
@ -3605,7 +3605,7 @@ menu. @xref{Key Bindings}.
|
|||
|
||||
@deffn Command reftex-toc
|
||||
Show the table of contents for the current document. When called with
|
||||
one ore two @kbd{C-u} prefixes, rescan the document first.
|
||||
one or two @kbd{C-u} prefixes, rescan the document first.
|
||||
@end deffn
|
||||
|
||||
@deffn Command reftex-label
|
||||
|
@ -5292,7 +5292,7 @@ Some improvements for XEmacs compatibility.
|
|||
@itemize @bullet
|
||||
@item
|
||||
Fixed bug with @samp{%F} in a label prefix. Added new escapes
|
||||
@samp{%m} and @samp{%M} for mater file name and master directory.
|
||||
@samp{%m} and @samp{%M} for master file name and master directory.
|
||||
@end itemize
|
||||
|
||||
@noindent @b{Version 4.24}
|
||||
|
|
|
@ -424,13 +424,6 @@ The default priority for remembered mail messages.
|
|||
@section Saving to an Org Mode file
|
||||
@cindex org mode, integration
|
||||
|
||||
@ignore
|
||||
From org.texi:
|
||||
Up to version 6.36 Org used a special setup
|
||||
for @file{remember.el}. @file{org-remember.el} is still part of Org mode for
|
||||
backward compatibility with existing setups. You can find the documentation
|
||||
for org-remember at @url{http://orgmode.org/org-remember.pdf}.
|
||||
@end ignore
|
||||
For instructions on how to integrate Remember with Org Mode,
|
||||
consult @ref{Capture, , , org}.
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue