[-]
[+]
|
Changed |
_service:tar_git:emacs.spec
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,6 +2,6 @@
<service name="tar_git">
<param name="url">https://github.com/sailfishos-chum/emacs.git</param>
<param name="branch">master</param>
- <param name="revision">28.1.0</param>
+ <param name="revision">28.2.0</param>
</service>
</services>
\ No newline at end of file
|
[-]
[+]
|
Deleted |
_service:tar_git:emacs-28.1.0.tar.xz/emacs/test/src/comp-resources/comp-test-45603.el
^
|
@@ -1,28 +0,0 @@
-;;; -*- lexical-binding: t; -*-
-
-;; Reduced from ivy.el.
-
-(defvar comp-test-45603-last)
-(defvar comp-test-45603-mark-prefix)
-(defvar comp-test-45603-directory)
-(defvar comp-test-45603-marked-candidates)
-
-(defun comp-test-45603--call-marked (action)
- (let* ((prefix-len (length comp-test-45603-mark-prefix))
- (marked-candidates
- (mapcar
- (lambda (s)
- (let ((cand (substring s prefix-len)))
- (if comp-test-45603-directory
- (expand-file-name cand comp-test-45603-directory)
- cand)))
- comp-test-45603-marked-candidates))
- (multi-action (comp-test-45603--get-multi-action comp-test-45603-last)))))
-
-(defalias 'comp-test-45603--file-local-name
- (if (fboundp 'file-local-name)
- #'file-local-name
- (lambda (file)
- (or (file-remote-p file 'localname) file))))
-
-(provide 'comp-test-45603)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/ChangeLog.2
^
|
@@ -4040,7 +4040,7 @@
* lisp/progmodes/xref.el (xref--query-replace-1):
Say 'All results processed' at the end if the user hadn't
- cancelled the process (bug#23284).
+ canceled the process (bug#23284).
2016-05-07 Eli Zaretskii <eliz@gnu.org>
@@ -12542,7 +12542,7 @@
* lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks
for existing timers in the alist before adding new ones. If a
- timer already exists, it is cancelled and
+ timer already exists, it is canceled and
overwritten. (bug#19292).
2015-12-27 Jens Lechtenboerger <jens.lechtenboerger@fsfe.org>
@@ -22108,7 +22108,7 @@
* src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
the file or directory to be watched is deleted.
(Fgfile_add_watch): Make watch_object a triple.
- (Fgfile_rm_watch): Check, whether watch is cancelled already.
+ (Fgfile_rm_watch): Check, whether watch is canceled already.
(Fgfile_valid_p): New defun.
(syms_of_gfilenotify): Declare Sgfile_valid_p.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/ChangeLog.3
^
|
@@ -1,3 +1,1944 @@
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
+
+ * doc/misc/idlwave.texi (Troubleshooting): Don't say "Emacsen".
+
+2022-09-06 Stefan Kangas <stefankangas@gmail.com>
+
+ Don't mention very old Emacs versions in docs
+
+ * doc/misc/mh-e.texi (Conventions):
+ * doc/misc/reftex.texi (Problems and Work-Arounds):
+ * doc/misc/viper.texi (Loading Viper): Delete references to
+ very old versions of Emacs.
+
+2022-09-05 Stefan Kangas <stefankangas@gmail.com>
+
+ * lisp/server.el: Improve Commentary.
+
+2022-09-05 Gregory Heytings <gregory@heytings.org>
+
+ Explain how the font appearance can be fine-tuned in fbterm.
+
+ * doc/misc/efaq.texi (Emacs in a Linux console): Briefly document
+ Xft font specifications with which the font appearance can be
+ fine-tuned.
+
+2022-09-04 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.5.5
+
+2022-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp/emacs-lisp/comp.el (comp-run-async-workers): Fail more gracefully
+
+ Otherwise Emacs may fail to start if it can't find a writable
+ `~/.emacs.d/eln-cache` directory.
+ Fixes bug#57562. See also Debian's bug #1017739.
+
+2022-09-03 Stefan Kangas <stefankangas@gmail.com>
+
+ Update acknowledgments
+
+ * doc/emacs/ack.texi (Acknowledgments): Update.
+ * doc/emacs/emacs.texi (Acknowledgments): Add several names from
+ Author: headers.
+
+2022-09-01 Stefan Kangas <stefankangas@gmail.com>
+
+ Make some versions in docs match package version
+
+ * doc/emacs/misc.texi (Interactive Shell): Bump Emacs version.
+ * doc/misc/ediff.texi:
+ * doc/misc/flymake.texi:
+ * doc/misc/viper.texi: Fix version to match package.
+ * lisp/emulation/viper.el: Make version match variable.
+
+2022-09-01 Stefan Kangas <stefankangas@gmail.com>
+
+ Minor doc fix; improve sorting of VC backends
+
+ * doc/emacs/maintaining.texi (Version Control Systems): Minor doc fix;
+ rearrange list to put git, cvs and subversion at the top.
+
+2022-09-01 Eli Zaretskii <eliz@gnu.org>
+
+ Clarify the doc string of 'set-face-attribute'
+
+ * lisp/faces.el (set-face-attribute): Clarify the issue with
+ resetting attribute values to 'unspecified' for future frames.
+ (Bug#57499)
+
+2022-08-30 Gregory Heytings <gregory@heytings.org>
+
+ Enable 256 colors in fbterm.
+
+ * lisp/term/fbterm.el: New file.
+
+ * doc/misc/efaq.texi (Emacs in a Linux console): Document the TERM
+ environment variable with which the new file is used.
+
+2022-08-30 Eli Zaretskii <eliz@gnu.org>
+
+ One more fix for find-file.el
+
+ * lisp/find-file.el (ff-get-file-name): Use 'expand-file-name'
+ instead of 'concat', which doesn't DTRT with absolute file names.
+ (ff-other-file-alist): Yet another doc fix. (Bug#57325)
+
+2022-08-29 Gregory Heytings <gregory@heytings.org>
+
+ Recommend using fbterm in the Linux console.
+
+ * doc/misc/efaq.texi (Emacs in a Linux console): New node.
+ (Common requests): Entry for the new node.
+
+ * etc/PROBLEMS (Linux console problems...): Mention the new FAQ node.
+
+2022-08-29 Eli Zaretskii <eliz@gnu.org>
+
+ * lisp/find-file.el (ff-other-file-alist): Doc fix. (Bug#57325)
+
+2022-08-28 Eli Zaretskii <eliz@gnu.org>
+
+ * lisp/info.el (Info-mode): Support the Linux console better.
+
+2022-08-28 Eli Zaretskii <eliz@gnu.org>
+
+ Improve the documentation of glyphless-character display
+
+ * lisp/international/characters.el (glyphless-char-display-control):
+ * src/xdisp.c (syms_of_xdisp) <glyphless-char-display>: Mention
+ the 'glyphless-char' face in the doc string.
+
+ * doc/lispref/display.texi (Glyphless Chars): Index
+ 'glyphless-char' face.
+
+2022-08-27 Eli Zaretskii <eliz@gnu.org>
+
+ Fix documentation of 'glyphless-char-display'
+
+ * src/xdisp.c (syms_of_xdisp)<glyphless-char-display>: Doc fix.
+ (gui_produce_glyphs, lookup_glyphless_char_display): Fix
+ indentation.
+
+2022-08-25 Robert Pluim <rpluim@gmail.com>
+
+ Treat smtp-auth method from auth-info as a symbol
+
+ The lookup of the SMTP auth method is done based on symbols, but
+ sometimes the requested value comes from `auth-info', in which case it
+ is a string, so call `intern-soft' to convert it to a symbol (which
+ does nothing if it's already a symbol).
+
+ * lisp/mail/smtpmail.el (smtpmail-try-auth-methods): Call
+ `intern-soft' on the smtp-auth key's value. (Bug#57373)
+
+ Do not merge to master
+
+2022-08-25 Stefan Kangas <stefankangas@gmail.com>
+
+ * lisp/wdired.el: Improve "Commentary" section.
+
+ * lisp/wdired.el: Doc fix; don't mention obsolete variable.
+
+ * lisp/progmodes/etags.el (next-file): Minor doc fix.
+
+2022-08-25 Andreas Schwab <schwab@suse.de>
+
+ * configure.ac: Move AC_LANG_PUSH/POP out of AC_CACHE_CHECK. (Bug#57380)
+
+ (cherry picked from commit ce82300221f270241fdda1f5dfb567bdb1208543)
+
+2022-08-21 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.5.4-19-g4dff42
+
+2022-08-21 Eli Zaretskii <eliz@gnu.org>
+
+ * lisp/find-file.el (ff-other-file-alist): Doc fix. (Bug#57325)
+
+2022-08-19 Stefan Kangas <stefankangas@gmail.com>
+
+ Resurrect obsoletion warning for two functions
+
+ These were supposed to have been deleted, but never were. Resurrect
+ their obsoletion warning and let's delete them in Emacs 29 instead.
+
+ * lisp/subr.el (process-filter-multibyte-p)
+ (set-process-filter-multibyte): Resurrect obsoletion warning.
+ * etc/NEWS: Don't announce their deletion.
+
+2022-08-19 Alan Mackenzie <acm@muc.de>
+
+ * src/window.c (select_window): Fix assert for buffer = non-active minibuffer
+
+2022-08-19 Gerd Möllmann <gerd@gnu.org>
+
+ Find libgccjit on macOS with Homebrew differently
+
+ * configure.ac (MAC_LIBS): Find libgccjit's directory slightly
+ differently for brew installations.
+
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
+
+ Improve image-mode-as-hex docstring
+
+ * lisp/image-mode.el: Fix typos.
+ (image-mode-as-hex): Doc fix; say that it uses 'hexl-mode' and reflow.
+
+2022-08-18 Stefan Kangas <stefankangas@gmail.com>
+
+ * lisp/image-mode.el (image-mode-as-hex): Fix toggle instructions.
+
+ * lisp/image-mode.el: Improve commentary.
+
+2022-08-18 Colin Woodbury <colin@fosskers.ca>
+
+ cl-reduce doc string improvement
+
+ * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what happens when
+ using :from-end (bug#57273).
+
+2022-08-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ Backport tempname changes from master (bug#57129)
+
+ * lib/tempname.c: Backport from master, which uses current Gnulib.
+
+2022-08-16 Stefan Kangas <stefankangas@gmail.com>
+
+ Revert "; * doc/lispintro/emacs-lisp-intro.texi: Fix typo."
+
+ This reverts commit 9d0dba44da7ac83d018fff3c26d33dac12ebd806.
+
+ This was not a typo, but incorrectly matching parens in Info-mode.
+
+2022-08-16 Stefan Kangas <stefankangas@gmail.com>
+
+ * doc/misc/gnus.texi (Article Washing): Fix Links URL.
+
+2022-08-12 Stefan Kangas <stefan@marxist.se>
+
+ Delete references to deleted library hilit19.el
+
+ * doc/misc/gnus.texi (Compatibility):
+ * lisp/progmodes/f90.el:
+ * lisp/ps-print.el:
+ * lisp/vc/ediff.el: Delete references to hilit19.el.
+
+2022-08-12 Stefan Kangas <stefan@marxist.se>
+
+ Delete stale comments from Lisp Intro manual
+
+ * doc/lispintro/emacs-lisp-intro.texi (Args as Variable or List)
+ (print-elements-of-list, Miscellaneous): Delete some references to
+ Emacs 22.
+
+2022-08-11 Stefan Kangas <stefan@marxist.se>
+
+ Don't list Emacs as requirement for built-in package
+
+ * doc/misc/htmlfontify.texi (Requirements): Don't list Emacs as
+ requirement for built-in package.
+
+2022-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ Fix wrong metrics for bitmap-only fonts with HarfBuzz 5
+
+ * src/ftcrfont.c (ftcrhbfont_begin_hb_font): Always use the standard
+ position unit value on HarfBuzz 5 and later regardless of whether the
+ font is bitmap-only or not. (Bug#57066)
+
+2022-08-09 Stefan Kangas <stefan@marxist.se>
+
+ Improve wording when documenting other TRAMP syntaxes
+
+ * doc/misc/tramp.texi (Change file name syntax): Improve wording.
+ (Bug#57061)
+
+2022-08-08 Stefan Kangas <stefan@marxist.se>
+
+ * lisp/vc/diff-mode.el: Don't mention XEmacs.
+
+2022-08-08 Stefan Kangas <stefan@marxist.se>
+
+ Don't mention XEmacs toolbar in ediff manual
+
+ * doc/misc/ediff.texi (Other Session Commands): Don't mention XEmacs
+ specific toolbar support for now. This can be changed back once the
+ toolbar is ported to Emacs.
+
+2022-08-06 Eli Zaretskii <eliz@gnu.org>
+
+ * etc/PROBLEMS: Problems with Alacritty and Emoji. (Bug#56952)
+
+2022-08-06 Yuga Ego <yet@ego.team>
+
+ Link from (emacs)Init Syntax to (elisp)Introduction
+
+ * doc/emacs/custom.texi (Init Syntax): Link to the ELisp manual (Bug#56870)
+
+2022-08-06 Stefan Kangas <stefan@marxist.se>
+
+ Don't mention removed XEmacs support in reftex manual
+
+ * doc/misc/reftex.texi (Installation, Imprint): Don't mention
+ removed XEmacs support.
+
+2022-08-06 Stefan Kangas <stefan@marxist.se>
+
+ Don't mention removed XEmacs support in idlwave manual
+
+ * doc/misc/idlwave.texi (Lesson I---Development Cycle)
+ (Syntax Highlighting, Windows and macOS, Troubleshooting): Delete
+ most references to XEmacs. Support for it was deleted in 28.1.
+
+2022-08-05 Stefan Kangas <stefan@marxist.se>
+
+ * lisp/play/fortune.el: Doc fixes.
+
+2022-08-04 Stefan Kangas <stefan@marxist.se>
+
+ * doc/lispref/loading.texi (Autoload by Prefix): Fix typo.
+
+2022-08-03 Philipp Stephani <phst@google.com>
+
+ * lisp/uniquify.el (uniquify-buffer-name-style): Quote apostrophe.
+
+2022-08-02 Stefan Kangas <stefan@marxist.se>
+
+ * lisp/term.el: Doc fix; don't mention rlogin.
+
+2022-07-31 Eli Zaretskii <eliz@gnu.org>
+
+ * src/lisp.h (CHECK_INTEGER): Fix the predicate. (Bug#56856)
+
+2022-07-30 Eli Zaretskii <eliz@gnu.org>
+
+ Improve documentation of column-related functions
+
+ * doc/lispref/text.texi (Primitive Indent, Columns):
+ * src/indent.c (Fcurrent_indentation, Fmove_to_column): Document
+ that column counting ignores invisible text. (Bug#56837)
+
+2022-07-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * src/macfont.m (macfont_open): Initialize font->space_width. (Bug#56808)
+
+2022-07-30 Eli Zaretskii <eliz@gnu.org>
+
+ Improve indexing of keymap variables
+
+ * doc/lispref/maps.texi (Standard Keymaps):
+ * doc/lispref/display.texi (Button Buffer Commands)
+ (Button Properties):
+ * doc/lispref/keymaps.texi (Translation Keymaps): Improve indexing
+ of keymaps. (Bug#56816)
+
+2022-07-29 Alan Mackenzie <acm@muc.de>
+
+ CC Mode: fontify variables/functions after line comments ending in spaces
+
+ * lisp/progmodes/cc-engine.el (c-forward-comment-minus-1): Take account of
+ spaces preceding a linefeed when scanning a putative line comment end.
+
+2022-07-28 Stefan Kangas <stefan@marxist.se>
+
+ Bump Emacs version to 28.1.91
+
+ * README:
+ * configure.ac:
+ * msdos/sed2v2.inp:
+ * nt/README.W32: Bump Emacs version to 28.1.91.
+
+2022-07-28 Stefan Kangas <stefan@marxist.se>
+
+ Update ChangeLog and AUTHORS for 28.1.91 pretest
+
+ * ChangeLog.3:
+ * etc/AUTHORS: Update.
+
+2022-07-28 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Revert the `...' documentation back to actual usage
+
+ * doc/lispref/tips.texi (Documentation Tips): Document how `...'
+ is really used now (bug#55780). ‘...’ is not really used in the
+ Emacs sources.
+
+ (cherry picked from commit 1ed9c1c7f9fe32ff5123091033350beb1ccae4ca)
+
+2022-07-28 Paul Pogonyshev <pogonyshev@gmail.com>
+
+ Release the desktop lock in 'kill-emacs-hook'
+
+ * lisp/desktop.el: Run 'desktop--on-kill' in 'kill-emacs-hook'.
+ (desktop--on-kill): New function, refactored from 'desktop-kill'.
+ (desktop-kill): Call 'desktop--on-kill'. (Bug#56800)
+
+2022-07-25 Eli Zaretskii <eliz@gnu.org>
+
+ Avoid infloop in 'recenter'
+
+ * src/window.c (Frecenter): Avoid infinite loop in the minibuffer
+ under 'fido-vertical-mode'. (Bug#56765)
+
+2022-07-25 Eli Zaretskii <eliz@gnu.org>
+
+ Fix inaccuracies in "lax search" documentation
+
+ * doc/emacs/search.texi (Lax Search): Update the examples of
+ character folding in search. (Bug#56747)
+
+2022-07-24 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.5.4-17-g6e991f
+
+2022-07-24 Eugene Ha <eha@posteo.de> (tiny change)
+
+ Find libgccjit.dylib on Homebrew Macos
+
+ * configure.ac: Also find libggcjit on Homebrew (bug#55173).
+
+ (cherry picked from commit faa29fa2c9e9d5a5d7544a1a39b2a89cf57a8439)
+
+2022-07-23 Michael Albinus <michael.albinus@gmx.de>
+
+ Set `default-directory' of Tramp archive connection buffer
+
+ * lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
+ Set `default-directory' of Tramp connection buffer. (Bug#56628)
+
+2022-07-23 Eli Zaretskii <eliz@gnu.org>
+
+ Update the documentation of 'declare' forms
+
+ * doc/lispref/compile.texi (Native-Compilation Variables): Mention
+ the 'declare' alternative for 'native-comp-speed'.
+ * doc/lispref/functions.texi (Declare Form): Document 'declare'
+ forms that were previously undocumented.
+
+2022-07-23 Eli Zaretskii <eliz@gnu.org>
+
+ Fix bookmark support for Help functions in native-compilation builds
+
+ * lisp/help.el (describe-key--helper, describe-function--helper):
+ New helper functions.
+ (describe-key): Call 'describe-key--helper' instead of a
+ lambda-function.
+ * lisp/help-fns.el (describe-function): Call
+ 'describe-function--helper' instead of a lambda-function.
+ (Bug#56643)
+
+2022-07-23 Miha Rihtarsic <miha@kamnitnik.top>
+
+ Fix mode line mouse-1 binding when showing only column numbers
+
+ * lisp/bindings.el (mode-line-position): Fix the mouse-1 binding
+ when showing only column numbers (bug#56694). Do not merge to
+ master.
+
+2022-07-23 Stefan Kangas <stefan@marxist.se>
+
+ Adjust help-fns.el tests for recent change
+
+ * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun)
+ (help-fns-test-lisp-defsubst): Adjust tests for recent change.
+
+2022-07-22 Robert Pluim <rpluim@gmail.com>
+
+ * src/terminal.c (Fframe_terminal): Use active voice
+
+2022-07-22 Robert Pluim <rpluim@gmail.com>
+
+ Improve 'terminal-live-p' docstring some more
+
+ * src/terminal.c (Fterminal_live_p): Improve description of
+ arguments and return value.
+
+2022-07-22 Robert Pluim <rpluim@gmail.com>
+
+ Improve terminal-live-p docstring
+
+ * src/terminal.c (Fterminal_live_p): Explain what happens when the
+ argument is nil.
+
+2022-07-22 Robert Pluim <rpluim@gmail.com>
+
+ * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-vector): Fix grammar
+
+2022-07-21 Stefan Kangas <stefan@marxist.se>
+
+ * lisp/progmodes/cperl-mode.el: Don't mention obsolete archive.
+
+2022-07-21 Eli Zaretskii <eliz@gnu.org>
+
+ Make 'describe-function' say "byte-compiled" when appropriate
+
+ * lisp/help-fns.el (help-fns-function-description-header): Say
+ "byte-compiled" when describing byte-compiled functions.
+
+2022-07-21 Eli Zaretskii <eliz@gnu.org>
+
+ ;Improve documentation of locale-specific string comparison
+
+ * doc/lispref/strings.texi (Text Comparison): Mention the Unicode
+ collation rules and buffer-local case-tables.
+
+2022-07-19 Gerd Moellmann <gerd.moellmann@gmail.com>
+
+ Prevent GC of window referenced from EmacsScroller
+
+ * src/nsterm.m (EmacsScroller.mark, mark_nsterm): New functions.
+ * src/nsterm.h (EmacsScroller.mark, mark_nsterm): Declare.
+ * src/alloc.c (garbage_collect) [MAVE_NS]: Call mark_nsterm.
+ (Bug#56095)
+
+ (cherry picked from commit 5f1bd872478927ad4bc635502e74628d39885286)
+
+2022-07-16 Stefan Kangas <stefan@marxist.se>
+
+ Fix obsoletion of nntp-authinfo-file
+
+ * lisp/gnus/nntp.el (nntp-authinfo-file): Fix obsoletion.
+
+2022-07-15 Philipp Stephani <phst@google.com>
+
+ Build Seccomp filter only if we have a 64-bit userspace (Bug#56549)
+
+ * configure.ac (SIZEOF_LONG): New variable.
+ * lib-src/Makefile.in (SIZEOF_LONG): New variable; added conditional.
+
+2022-07-14 Stefan Kangas <stefan@marxist.se>
+
+ Update the Samaritan's contact details in M-x doctor
+
+ * lisp/play/doctor.el (doctor-death): Update the Samaritans's contact
+ details; anon.twwells.com is no longer valid. Add link to Wikipedia.
+
+2022-07-14 Eli Zaretskii <eliz@gnu.org>
+
+ * etc/PROBLEMS: Describe problems with remote files. (Bug#56499)
+
+2022-07-13 Andrea Corallo <akrl@sdf.org>
+
+ Remove uneffective test
+
+ * test/src/comp-tests.el (45603-1): Remove test.
+ * test/src/comp-resources/comp-test-45603.el: Delete.
+
+2022-07-13 Andrea Corallo <akrl@sdf.org>
+
+ Mark async worker tmp file as utf-8-emacs-unix (bug#48029)
+
+ * lisp/emacs-lisp/comp.el (comp-final): Mark async worker tmp file
+ as utf-8.
+ * test/src/comp-tests.el (48029-1): New test.
+ * test/src/comp-resources/comp-test-funcs.el
+ (comp-test-48029-nonascii-žžž-f): New function.
+
+2022-07-13 Michael Albinus <michael.albinus@gmx.de>
+
+ Adapt Tramp version (don't merge)
+
+ * doc/misc/trampver.texi:
+ * lisp/net/trampver.el: Change version to "2.5.3.28.2".
+ (customize-package-emacs-version-alist):
+ Add Tramp version integrated in Emacs 28.2.
+
+2022-07-13 Michael Albinus <michael.albinus@gmx.de>
+
+ Adapt Tramp doc
+
+ * doc/misc/tramp.texi (Configuration): Mention enable-remote-dir-locals.
+ (Traces and Profiles): Fix tramp-verbose description.
+
+ * lisp/net/tramp.el (tramp-verbose): Fix docstring.
+
+2022-07-12 Stefan Kangas <stefan@marxist.se>
+
+ Don't mention cl-cXXXr aliases in cl-lib manual
+
+ * doc/misc/cl.texi (Lists, List Functions, Efficiency Concerns): Don't
+ mention 'cl-cXXXr' compatibility aliases for built-in 'cXXXr'
+ functions. They shouldn't be used in new code.
+
+2022-07-11 Ken Brown <kbrown@cornell.edu>
+
+ etc/PROBLEMS: Describe issues with native compilation on Cygwin
+
+2022-07-11 Stefan Kangas <stefan@marxist.se>
+
+ * lisp/find-dired.el (find-dired): Doc fix; add crossreference.
+
+2022-07-08 Stefan Kangas <stefan@marxist.se>
+
+ Doc fix; don't mention obsolete variable
+
+ * src/window.c (Fset_window_hscroll): Doc fix; don't mention obsolete
+ variable.
+
+2022-07-05 Stefan Kangas <stefan@marxist.se>
+
+ Add index entry for "ignore case"
+
+ * doc/emacs/glossary.texi (Glossary): Add index entry for "ignore
+ case" pointing to "Case Folding".
+
+2022-07-05 Stefan Kangas <stefan@marxist.se>
+
+ Expand docstrings related to auto-saving
+
+ * lisp/files.el (auto-save-visited-mode):
+ * lisp/simple.el (auto-save-mode): Expand docstring.
+
+2022-07-04 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Don't bug out in manual-html-fix-index-2 on newer makeinfo versions
+
+ Backport from master.
+
+ * admin/admin.el (manual-html-fix-index-2): Don't bug out if the
+ makeinfo version doesn't include <ul>.
+
+ (cherry picked from commit e0e3f2b672bc42da52ac9c7596c7560a88684651)
+
+2022-07-04 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Preserve <title> in the Emacs manuals
+
+ Backport from master.
+
+ * admin/admin.el (manual-html-fix-headers): Preserve the <title>
+ element (bug#48334).
+
+ (cherry picked from commit b778e71af7ca8c59917334b4bb1b34cdb52faca9)
+
+2022-07-03 Eli Zaretskii <eliz@gnu.org>
+
+ Document 'jit-lock-debug-mode'
+
+ * doc/lispref/modes.texi (Other Font Lock Variables): Document
+ 'jit-lock-debug-mode'.
+
+2022-07-02 Alan Mackenzie <acm@muc.de>
+
+ * lisp/progmodes/cc-mode.el (c-common-init): Bind case-fold-search to nil
+
+ Backport: This fixes bug #53605.
+
+2022-07-02 Alan Mackenzie <acm@muc.de>
+
+ CC Mode: Fix a c-backward-token-2 call wrongly jumping back over macros.
+
+ This fixes bug #56256.
+
+ * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): Replace a
+ c-backward-token-2, which could jump back too far leading to an infinite
+ loop, with a save-excursion to remember the point we've got to go back to.
+
+2022-07-02 Stefan Kangas <stefan@marxist.se>
+
+ Doc fixes; don't use obsolete names
+
+ * etc/compilation.txt:
+ * lisp/mh-e/mh-funcs.el (mh-kill-folder): Don't use obsolete
+ names.
+
+2022-07-02 Stefan Kangas <stefan@marxist.se>
+
+ Don't refer to obsolete alias for insert-char
+
+ * lisp/leim/quail/persian.el: Don't refer to obsolete alias for
+ insert-char.
+
+2022-07-02 Stefan Kangas <stefan@marxist.se>
+
+ Don't use obsolete face name in manoj-dark-theme
+
+ * etc/themes/manoj-dark-theme.el (change-log-acknowledgment): Don't
+ use obsolete/non-existent face name.
+
+2022-07-01 Eli Zaretskii <eliz@gnu.org>
+
+ Fix "C-u C-x =" for SPC
+
+ * lisp/descr-text.el (describe-char): Don't report 'nobreak-space'
+ face for SPC. (Bug#56337)
+
+2022-06-30 Stefan Kangas <stefan@marxist.se>
+
+ Doc fixes: don't refer to some obsolete items
+
+ * admin/notes/multi-tty:
+ * lisp/chistory.el (command-history):
+ * lisp/emacs-lisp/nadvice.el:
+ * lisp/vc/diff-mode.el: Doc fix; don't refer to obsolete variables and
+ functions.
+
+2022-06-30 Stefan Kangas <stefan@marxist.se>
+
+ Remove obsolete cust-print from elisp index
+
+ * doc/lispref/edebug.texi (Printing in Edebug): Remove obsolete
+ library "cust-print" from index.
+
+2022-06-30 Stefan Kangas <stefan@marxist.se>
+
+ * admin/make-tarball.txt: Minor clarifications.
+
+2022-06-30 Eli Zaretskii <eliz@gnu.org>
+
+ Fix external image conversion on MS-Windows
+
+ * lisp/image/image-converter.el (image-converter--convert-magick)
+ (image-converter--convert): Force encoding/decoding to avoid any
+ text or EOL conversions, since we are reading/writing binary
+ data. (Bug#56317)
+
+2022-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * doc/emacs/buffers.texi (Indirect Buffers): Mention modification hook quirk
+
+2022-06-29 Stefan Kangas <stefan@marxist.se>
+
+ Bump Emacs version to 28.1.90
+
+ * README:
+ * configure.ac:
+ * msdos/sed2v2.inp:
+ * nt/README.W32: Bump Emacs version to 28.1.90.
+
+2022-06-29 Stefan Kangas <stefan@marxist.se>
+
+ Update ChangeLog and AUTHORS for 28.1.90 pretest
+
+ * ChangeLog.3:
+ * etc/AUTHORS: Update.
+
+2022-06-29 Michael Albinus <michael.albinus@gmx.de>
+
+ Update Tramp version (don't merge with master)
+
+ * doc/misc/trampver.texi:
+ * lisp/net/trampver.el: Change version to "2.5.3".
+
+2022-06-28 Michael Albinus <michael.albinus@gmx.de>
+
+ Tramp shall not trap unrelated D-Bus errors
+
+ * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-vector): Declare.
+ (tramp-gvfs-file-name-handler): Let-bind it.
+ (tramp-gvfs-dbus-event-vector): Fix docstring.
+ (tramp-gvfs-maybe-open-connection): Do not set it globally. (Bug#56162)
+
+2022-06-28 Basil L. Contovounesios <contovob@tcd.ie>
+
+ Fix hash table function return values in manual
+
+ * doc/lispref/hash.texi (Hash Access): Reconcile documented return
+ values of puthash and clrhash with their respective
+ docstrings (bug#55562).
+
+2022-06-27 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.5.4-3-g6dc785
+
+2022-06-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Mention Solaris 10 'make clean' and 'make check'
+
+ Mention further crashes on Solaris 10
+
+2022-06-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port distribution tarball to Solaris 10
+
+ * make-dist (taropt): Use 'tar -H ustar' to generate a portable
+ tar file format instead of a GNU-specific format. Needed now that
+ Emacs tarballs contain file names longer than 100 bytes, e.g.:
+ emacs-28.1/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C072AF82DCCCB9A7F1B85FFA10B802DC4ED16703.key
+ emacs-28.1/test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-success.el
+ Without this patch, extracting a tarball on Solaris 10 fails with
+ many diagnostics like “tar: ././@LongLink: typeflag 'L' not
+ recognized, converting to regular file”.
+
+ (cherry picked from commit 4410f5d86997b6b238ff05c2ece338b28e1163b1)
+
+2022-06-24 Stefan Kangas <stefan@marxist.se>
+
+ Avoid treating number as an enum in the org manual
+
+ * doc/misc/org.org (The Agenda Dispatcher): Avoid treating number as
+ enum.
+
+2022-06-22 Eli Zaretskii <eliz@gnu.org>
+
+ Improve last change in autotype.texi
+
+ * doc/misc/autotype.texi (Autoinserting): Fix wording. Suggested
+ by Richard Stallman <rms@gnu.org>.
+
+2022-06-21 Stefan Kangas <stefan@marxist.se>
+
+ * lisp/repeat.el (repeat-mode): Fix message format.
+
+2022-06-21 Earl Hyatt <okamsn@protonmail.com>
+
+ Clarify autotype.texi text slightly
+
+ * doc/misc/autotype.texi (Autoinserting): Make text slightly
+ clearer (bug#56118).
+
+2022-06-20 Eli Zaretskii <eliz@gnu.org>
+
+ Support builds configured with a separate --bindir
+
+ * src/emacs.c (load_pdump): Don't overwrite the leading
+ directories of the Emacs executable just because the pdumper file
+ was not found in the expected directory relative to the binary.
+ This is needed to support builds with a separate --bindir
+ configure-time option and native-compilation. (Bug#55741)
+
+2022-06-20 Stefan Kangas <stefan@marxist.se>
+
+ * doc/misc/eww.texi (Overview, Basics): Fix typos.
+
+2022-06-18 Richard Hansen <rhansen@rhansen.org>
+
+ Fix invalid defcustom :group when :predicate is used
+
+ * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Fix
+ invalid `:group' argument for the `-modes' defcustom that is created
+ when `:predicate' is used (bug#56049).
+
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Prune the Gnus FAQ of some outdated data
+
+ * doc/misc/gnus-faq.texi (FAQ 9-2): Remove some outdated advice
+ (bug#56042).
+
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Fix efaq-w32.texi build warning
+
+ * doc/misc/efaq-w32.texi (Other useful ports): Fix ordering to
+ match nodes (or should the nodes be moved instead?).
+
+ Do not merge to master.
+
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Update cl-struct-sequence-type doc string
+
+ * lisp/emacs-lisp/cl-macs.el (cl-struct-sequence-type): Fix doc
+ string to reflect what it does (bug#46523).
+
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Fix a tagging problem in tramp.texi
+
+ * doc/misc/tramp.texi (Frequently Asked Questions): Restore an
+ @end lisp removed by accident.
+
+2022-06-17 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Mention face quirks after the final line in the lispref manual
+
+ * doc/lispref/display.texi (Face Attributes): Mention the quirks
+ about point after the final line (bug#56011).
+
+2022-06-17 Stefan Kangas <stefan@marxist.se>
+
+ Delete reference to obsolete library complete.el
+
+ * doc/misc/tramp.texi (Frequently Asked Questions): Delete reference
+ to obsolete library complete.el.
+
+2022-06-16 Stefan Kangas <stefan@marxist.se>
+
+ * lisp/textmodes/artist.el: Minor doc fixes.
+
+2022-06-16 Michael Albinus <michael.albinus@gmx.de>
+
+ * lisp/net/tramp.el (tramp-methods): Fix quoting in docstring.
+
+2022-06-16 Arash Esbati <arash@gnu.org>
+
+ Update MS Windows FAQ for MinGW64-w64/MSYS2
+
+ * doc/misc/efaq-w32.texi (Compiling, Debugging): Mention
+ MinGW64-w64/MSYS2 as the preferred way for building Emacs on
+ capable systems.
+ (Attachments with Gnus): Catch up with emacs-mime.texi in the
+ example given.
+ (Spell check): Add the availability of GNU Aspell and Hunspell
+ in MSYS2 distribution.
+ (Other useful ports): Add an entry for MinGW64-w64/MSYS2.
+ Fix link for MinGW homepage.
+ Remove entry for defunct UWIN project. (Bug#55930)
+
+2022-06-15 Robert Pluim <rpluim@gmail.com>
+
+ Describe 'set-file-modes' argument prompting
+
+ * src/fileio.c (Fset_file_modes): Document that FILENAME is prompted
+ for. (Bug#55984)
+
+2022-06-14 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Revert "Clarify what a Calc registeri in in calc-insert-register"
+
+ This reverts commit 73400e4002ce8fca060093548e6791b3a784eeaa.
+
+ This has been fixed in Emacs 29 by making it possible to use regular registers in calc.
+
+2022-06-13 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Clarify what a Calc registeri in in calc-insert-register
+
+ * lisp/calc/calc-yank.el (calc-insert-register): Note that these
+ aren't normal registers (bug#55943).
+
+2022-06-11 Eli Zaretskii <eliz@gnu.org>
+
+ Fix doc strings in whitespace.el
+
+ * lisp/whitespace.el (whitespace-style, whitespace-action):
+ Untabify the doc strings. (Bug#55904)
+
+2022-06-10 Eli Zaretskii <eliz@gnu.org>
+
+ Improve documentation of "etags -I"
+
+ * doc/man/etags.1:
+ * doc/emacs/maintaining.texi (Create Tags Table): Elaborate on the
+ importance of the '-I' option to 'etags'. (Bug#45246)
+
+2022-06-09 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Mention the #f syntax from cl-prin1
+
+ * doc/lispref/objects.texi (Special Read Syntax): Mention #f,
+ which is in cl-prin1 output (bug#55853).
+
+2022-06-09 Michael Albinus <michael.albinus@gmx.de>
+
+ Fix file name quoting in tramp-smb.el (do not merge)
+
+ * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Quote tmpfile.
+ (tramp-smb-get-localname): Remove superfluous test. (Bug#55855)
+
+ * test/lisp/net/tramp-tests.el (tramp-test03-file-name-method-rules):
+ Remove superfluous checks.
+
+2022-06-09 Jeff Walsh <fejfighter@gmail.com>
+
+ Update error message to reflect variable rename
+
+ * src/comp.c (Fcomp_el_to_eln_filename): Update error message. (Bug#55861)
+
+2022-06-08 Ken Brown <kbrown@cornell.edu>
+
+ Fix error reporting in process-async-https-with-delay
+
+ * test/src/process-tests.el (process-async-https-with-delay): Use
+ 'plist-get' instead of 'assq' in testing for a connection error.
+ The 'status' variable is a plist, not an alist. (Bug#55849)
+
+2022-06-08 Stefan Kangas <stefan@marxist.se>
+
+ * doc/misc/org.org: Remove spurious markup.
+
+2022-06-08 Michael Albinus <michael.albinus@gmx.de>
+
+ Make Tramp version check more robust
+
+ * lisp/net/trampver.el (tramp-repository-branch)
+ (tramp-repository-version): Check for "git" executable.
+
+2022-06-07 Eli Zaretskii <eliz@gnu.org>
+
+ Fix debugging with GDB when a breakpoint has multiple locations
+
+ * lisp/progmodes/gdb-mi.el (gdb-breakpoints--add-breakpoint-row):
+ New function, extracted from 'gdb-breakpoints-list-handler-custom'.
+ Don't print "in <unknown>" for header-rows of breakpoints with
+ multiple locations that don't have a function name attached.
+ (gdb-breakpoints-list-handler-custom): Add to the breakpoint table
+ also any locations in multiple-location breakpoints, which are
+ supported since GDB 6.8.
+
+2022-06-05 Eli Zaretskii <eliz@gnu.org>
+
+ Update documentation of 'aset' and 'store-substring'
+
+ * doc/lispref/strings.texi (Modifying Strings): Adjust to
+ implementation changes: it is possible for the modified string to
+ have fewer or more bytes than the original. Add recommendations
+ regarding unibyte vs multibyte strings and characters. (Bug#55801)
+
+2022-06-04 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.5.4
+
+2022-06-04 Eli Zaretskii <eliz@gnu.org>
+
+ Clarify documentation of 'string-to-unibyte'
+
+ * doc/lispref/nonascii.texi (Converting Representations): Clarify
+ what 'string-to-unibyte' does. Reported by Richard Hansen
+ <rhansen@rhansen.org>. (Bug#55777)
+
+2022-06-02 Ikumi Keita <ikumi@ikumi.que.jp> (tiny change)
+
+ Improve keystrokes in doc strings in some find-file functions
+
+ * lisp/files.el (find-file):
+ (find-file-other-window):
+ (find-file-other-frame): Include the correct keymap so that
+ keystrokes are displayed better (bug#55761).
+
+2022-06-02 Eli Zaretskii <eliz@gnu.org>
+
+ Fix segfaults when starting on 80x26 TTY frames
+
+ * src/dispnew.c (adjust_frame_glyphs_for_frame_redisplay): Make
+ sure we have valid frame glyph matrices for the interactive
+ session. (Bug#55760)
+ (adjust_frame_glyphs): Add assertions for when we fail to allocate
+ valid frame glyph matrices for a TTY frame.
+
+2022-06-01 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Make it explicit that a couple of _s in lispref are underscores
+
+ * doc/lispref/strings.texi (Custom Format Strings):
+ * doc/lispref/control.texi (pcase Macro): Make it explicit that
+ it's an underscore (bug#55742).
+
+2022-05-31 Eli Zaretskii <eliz@gnu.org>
+
+ Remove from FAQ the MS-Windows info about BDF fonts
+
+ * doc/misc/efaq.texi (How to add fonts): Remove the MS-Windows
+ specific steps, as BDF fonts are no longer supported on
+ MS-Windows. (Bug#55740)
+
+2022-05-31 Ikumi Keita <ikumi@ikumi.que.jp> (tiny change)
+
+ Fix Display Property manual example
+
+ * doc/lispref/display.texi (Display Property): Fix syntax of
+ example (bug#55736).
+
+2022-05-29 Michael Albinus <michael.albinus@gmx.de>
+
+ Some Tramp cleanup on MS Windows
+
+ * lisp/net/tramp.el (tramp-restricted-shell-hosts-alist): Do not add
+ localhost when `tramp-encoding-shell' is a POSIX shell.
+
+ * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
+ Skip on MS Windows.
+
+2022-05-28 Alan Mackenzie <acm@muc.de>
+
+ do_switch_frame: before leaving mini-window, check other (mru) window is live
+
+ This fixes bug#55684. There, with a minibuffer-only frame at start up,
+ Emacs tried to switch to this frame, whose selected window was the
+ mini-window. There is no other active window in this frame, so the
+ attempt to switch to another window failed.
+
+ * src/frame.c (do_switch_frame): On switching to a frame whose selected
+ window is as above, before selecting the most recently used window, check
+ this ostensible window is an actual live window. Otherwise leave the
+ mini-window selected.
+
+2022-05-28 Eli Zaretskii <eliz@gnu.org>
+
+ Fix commands used to produce on-line HTML docs
+
+ * admin/admin.el (manual-meta-string): Only include the first
+ line, and move the rest...
+ (manual-links-string): ...to this new string.
+ (manual-html-fix-headers): Don't remove the '<meta name=' elements
+ produced by makeinfo, especially not the 'name="viewport"' one,
+ which is essential for viewing the docs on mobile devices.
+ Reported by "Facundo Lander via RT" <webmasters-comment@gnu.org>,
+ see gnu.org ticket #1840138.
+
+2022-05-28 Eli Zaretskii <eliz@gnu.org>
+
+ Fix a bad cross-reference in elisp.pdf
+
+ * doc/lispref/control.texi (pcase Macro): Fix a conditional
+ cross-reference (bug#55689).
+
+2022-05-28 Eli Zaretskii <eliz@gnu.org>
+
+ Fix documentation of 'string-pad'
+
+ * doc/lispref/strings.texi (Creating Strings): Fix description of
+ 'string-pad'. (Bug#55688)
+
+2022-05-27 Juri Linkov <juri@linkov.net>
+
+ Fix more occurrences of renamed kmacro-keymap command
+
+ * doc/emacs/kmacro.texi (Basic Keyboard Macro): Fix documentation
+ after recent kmacro-redisplay command name change.
+
+2022-05-27 Eli Zaretskii <eliz@gnu.org>
+
+ Mention "unspecified-fg" and "unspecified-bg" in some doc strings
+
+ * lisp/faces.el (face-foreground, face-background)
+ (foreground-color-at-point, background-color-at-point):
+ * lisp/color.el (color-name-to-rgb): Mention "unspecified-fg" and
+ "unspecified-bg" pseudo-colors on TTY frames. (Bug#55623)
+
+2022-05-26 Hayden Shenk <hayden.shenk@zetier.com> (tiny change)
+
+ Fix format specifiers in tramp-adb.el
+
+ * lisp/net/tramp-adb.el (tramp-adb-get-device): Fix format
+ specifiers for port. (Bug#55651)
+
+2022-05-22 Damien Cassou <damien@cassou.me>
+
+ Improve documentation of mail-user-agent.
+
+ * doc/emacs/sending.texi (Mail Methods):
+ * lisp/simple.el (mail-user-agent): Mention additional options
+ of non-bundled MUA. (Bug#5569)
+
+2022-05-21 Eli Zaretskii <eliz@gnu.org>
+
+ More fixes in abbrev.el doc strings
+
+ * lisp/abbrev.el (inverse-add-global-abbrev, inverse-add-mode-abbrev):
+ Document the effect of negative ARG. (Bug#55527)
+
+2022-05-21 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Add note about Tramp completion to completion-styles doc string
+
+ * lisp/minibuffer.el (completion-styles): Add note about Tramp
+ completion (bug#37954).
+
+2022-05-21 Arash Esbati <arash@gnu.org>
+
+ Remove mention of removed nnimap-nov-is-evil variable
+
+ * doc/misc/gnus.texi (Slow/Expensive Connection): Remove mention
+ of removed nnimap-nov-is-evil variable (bug#55556).
+
+2022-05-21 Eli Zaretskii <eliz@gnu.org>
+
+ Improve documentation strings and prompts in abbrev.el
+
+ * lisp/abbrev.el (abbrev-file-name, only-global-abbrevs)
+ (copy-abbrev-table, insert-abbrevs, list-abbrevs)
+ (abbrev-table-name, edit-abbrevs, define-abbrevs)
+ (read-abbrev-file, quietly-read-abbrev-file, write-abbrev-file)
+ (abbrev-edit-save-to-file, abbrev-edit-save-buffer)
+ (add-mode-abbrev, add-global-abbrev, inverse-add-mode-abbrev)
+ (inverse-add-global-abbrev, abbrev-prefix-mark)
+ (expand-region-abbrevs, abbrev-table-get, abbrev-table-put)
+ (abbrev-get, abbrev-minor-mode-table-alist, abbrevs-changed)
+ (abbrev-all-caps, last-abbrev-text, last-abbrev-location)
+ (clear-abbrev-table, define-abbrev, define-global-abbrev)
+ (define-mode-abbrev, abbrev--active-tables, abbrev--symbol)
+ (abbrev-symbol, abbrev-expansion, abbrev-insert)
+ (abbrev-expand-function, abbrev--suggest-above-threshold)
+ (abbrev--suggest-saved-recommendations)
+ (abbrev--suggest-shortest-abbrev, abbrev--suggest-get-totals)
+ (insert-abbrev-table-description, define-abbrev-table)
+ (abbrev-table-menu): Fix doc strings: wording, punctuation,
+ clarity.
+ (add-abbrev, inverse-add-abbrev): Improve the prompt text.
+ (Bug#55527)
+
+2022-05-20 Alan Mackenzie <acm@muc.de>
+
+ Restore the Fselect_window call in gui_consider_frame_title.
+
+ This fixes bug #55412. The call to Fselect_window was removed on 2021-03-21
+ in the commit "Prevent open minibuffers getting lost when their frame gets
+ deleted". This call is actually needed to determine current elements of the
+ pertinent window and frame when these are used in the frame title.
+
+ * src/frame.c (do_switch_frame): When the selected window in the target frame
+ is the mini-window, switch away from this window unless there is a valid
+ minibuffer there.
+
+ * src/frame.h (struct frame): Add an incidental comment about the element
+ selected_window.
+
+ * src/minibuf.c (move_minibuffers_onto_frame): No longer set the selected
+ window of the source frame. This action is now performed later, on returning
+ to that frame, in do_switch_frame when needed (see above).
+
+ * src/xdisp.c (gui_consider_frame_title): Replace the Fselect_window call and
+ associated ancillary settings.
+
+2022-05-20 Eli Zaretskii <eliz@gnu.org>
+
+ Advise against settings in the MS-Windows system registry
+
+ * doc/emacs/cmdargs.texi (MS-Windows Registry): Advise against
+ setting environment variables in the system registry. (Bug#16429)
+
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Fix kmacro-keymap binding after previous change
+
+ * lisp/kmacro.el (kmacro-keymap): Fix binding after
+ kmacro-redisplay command name change.
+
+2022-05-17 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Add glossary entries for "interactively"
+
+ * doc/emacs/glossary.texi (Glossary): Mention "interactively" and
+ how it relates to the "command" concept (bug#55461).
+
+2022-05-17 Eli Zaretskii <eliz@gnu.org>
+
+ Fix the name of a kmacro command.
+
+ * lisp/kmacro.el (kmacro-redisplay): Rename from
+ 'kdb-macro-redisplay' (which was wrong and included a typo).
+
+ * etc/NEWS: Announce the change. (Bug#55471)
+
+2022-05-17 Michael Albinus <michael.albinus@gmx.de>
+
+ Fix Tramp sshfs tests (don't merge)
+
+ * test/lisp/net/tramp-tests.el (tramp-fuse-remove-hidden-files): Declare.
+ (tramp-test16-directory-files)
+ (tramp-test16-file-expand-wildcards)
+ (tramp-test26-file-name-completion, tramp--test-check-files): Use it.
+ (tramp--test-check-files): Delete directory recursively.
+
+2022-05-17 Michael Albinus <michael.albinus@gmx.de>
+
+ Some minor Tramp fixes
+
+ * lisp/net/tramp-cmds.el (tramp-list-tramp-buffers)
+ (tramp-list-remote-buffers): Add ;;;###tramp-autoload cookie.
+
+ * lisp/net/tramp-fuse.el (tramp-fuse-remove-hidden-files): New defvar.
+ (tramp-fuse-remove-hidden-files): Use it.
+
+ * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askquestion):
+ Keep regression tests running.
+
+2022-05-15 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.5.3-6-gef41f3
+
+2022-05-15 Michael Albinus <michael.albinus@gmx.de>
+
+ Hide temporary FUSE files in Tramp
+
+ * lisp/net/tramp-fuse.el (tramp-fuse-remove-hidden-files): New defsubst.
+ (tramp-fuse-handle-directory-files)
+ (tramp-fuse-handle-file-name-all-completions): Use it.
+
+2022-05-15 Michael Albinus <michael.albinus@gmx.de>
+
+ * test/lisp/net/tramp-tests.el (tramp-test27-load): Adapt test. Don't merge
+
+2022-05-13 Po Lu <luangruo@yahoo.com>
+
+ Fix tooltip face overwriting dragged text strings during mouse DND
+
+ * lisp/mouse.el (mouse-drag-and-drop-region): Copy
+ `text-tooltip' before showing it. Do not merge to master.
+
+2022-05-13 Eli Zaretskii <eliz@gnu.org>
+
+ Fix lexical-binding fallout in vhdl-mode.el
+
+ * lisp/progmodes/vhdl-mode.el (arch-alist, pack-alist)
+ (file-alist, unit-alist, rule-alist): Defvar them, since vhdl-aput
+ expects them to be dynamically bound. (Bug#55389)
+ (vhdl-speedbar-insert-hierarchy): Rename the PACK-ALIST argument
+ to PACKAGE-ALIST, to avoid shadowing the global variable.
+
+2022-05-12 Michael Albinus <michael.albinus@gmx.de>
+
+ Fix ControlPath quoting in Tramp
+
+ * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
+ Adapt docstring. Do not quote ControlPath. Reported by Daniel
+ Kessler <kesslerd@umich.edu>.
+
+2022-05-09 Eli Zaretskii <eliz@gnu.org>
+
+ Remove the AUCTeX subsection from MS-Windows FAQ
+
+ * doc/misc/efaq-w32.texi (AUCTeX): Remove the subsection, it is no
+ longer useful. (Bug#55330)
+
+2022-05-09 Arash Esbati <arash@gnu.org>
+
+ Update AUCTeX FAQ entry
+
+ * doc/misc/efaq-w32.texi (AUCTeX): AUCTeX project isn't providing
+ pre-compiled versions for Windows anymore (bug#55330).
+
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Update string-to-number documentation to bignum Emacs
+
+ * doc/lispref/strings.texi (String Conversion): string-to-number
+ no longer converts integers to floating point numbers (bug#55334).
+
+2022-05-09 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Fix doc string references to tags-loop-continue
+
+ * lisp/vc/vc-dir.el (vc-dir-search, vc-dir-query-replace-regexp):
+ Fix reference to obsolete tags-loop-continue (bug#55311).
+
+2022-05-08 Visuwesh M <visuweshm@gmail.com>
+
+ dired-do-query-replace-regexp doc string fix
+
+ * lisp/dired-aux.el (dired-do-query-replace-regexp): Refer
+ 'fileloop-continue' instead of the obsolete command
+ 'tags-loop-continue'. (Bug#55311)
+
+ (cherry picked from commit 4c505203f9171886f47638779326e257a95a1d79)
+
+2022-05-08 Alan Mackenzie <acm@muc.de>
+
+ Linux console: don't translate ESC TAB to `backtab' in input-decode-map.
+
+ This translation happened after the terminfo entry for <shift>TAB in the linux
+ section was changed to kcbt=\E^I in ncurses version 6.3.
+
+ * lisp/term/linux.el (terminal-init-linux): Add a define-key form to remove
+ the entry for "\e\t" from input-decode-map.
+
+ * etc/PROBLEMS: Add a new section under "character terminals" about S-TAB
+ wrongly doing the same thing as M-TAB, giving tips about amending the Linux
+ keyboard layout.
+
+2022-05-08 Michael Albinus <michael.albinus@gmx.de>
+
+ Handle changed scp protocol in Tramp, don't merge
+
+ * lisp/net/tramp-sh.el (tramp-scp-force-scp-protocol): New defvar.
+ (tramp-scp-force-scp-protocol): New defun.
+ (tramp-do-copy-or-rename-file-out-of-band): Use it.
+ (tramp-methods) <scp, scpx>: Use "%y".
+
+ * lisp/net/tramp.el (tramp-methods): Adapt docstring.
+
+2022-05-06 Michael Albinus <michael.albinus@gmx.de>
+
+ Fix bug#55274
+
+ * lisp/dired-aux.el (dired-do-compress-to): Use `file-local-name'
+ for shell out-file. (Bug#55274)
+
+2022-05-06 Eli Zaretskii <eliz@gnu.org>
+
+ Provide reference for OTF tags in the ELisp manual
+
+ * doc/lispref/display.texi (Low-Level Font): Provide the canonical
+ reference URL for OTF tags.
+
+2022-05-05 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Be more resilient towards errors during error handling
+
+ * src/print.c (print_error_message): Avoid infinite recursion if
+ `substitute-command-keys' bugs out (bug#55269).
+
+ (cherry picked from commit 8364f058b821eba31f84dcded175cca403a965a5)
+
+2022-04-28 Eli Zaretskii <eliz@gnu.org>
+
+ Improve documentation of font- and face-related attribute functions
+
+ * lisp/faces.el (face-attribute):
+ * src/xfaces.c (Fx_family_fonts):
+ * src/font.c (Ffont_get, Ffont_put): Improve and clarify the doc
+ strings.
+
+ * doc/lispref/display.texi (Low-Level Font): Document the :type
+ attribute of a font. Improve documentation of 'font-get' and
+ 'font-put'.
+ (Attribute Functions): Add cross-reference to the description of
+ face attributes.
+
+2022-04-25 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.5.3-3-gd54104
+
+2022-04-24 Eli Zaretskii <eliz@gnu.org>
+
+ Improve indexing in "Programmed Completion"
+
+ * doc/lispref/minibuf.texi (Programmed Completion): Improve
+ indexing. (Bug#55095)
+
+2022-04-24 Eli Zaretskii <eliz@gnu.org>
+
+ Improve documentation of 'set-fontset-font'
+
+ * doc/lispref/display.texi (Fontsets):
+ * src/fontset.c (Fset_fontset_font): Improve and clarify the
+ documentation of 'set-fontset-font'. Rename the arguments to be
+ more self-explanatory. (Bug#55086)
+
+2022-04-23 Michael Albinus <michael.albinus@gmx.de>
+
+ Fix problem with Solaris ls in Tramp
+
+ * lisp/net/tramp-sh.el (tramp-sunos-unames): Move up.
+ (tramp-sh--quoting-style-options): Handle erroneous Solaris ls.
+
+2022-04-22 Eli Zaretskii <eliz@gnu.org>
+
+ Another fix for non-ASCII 'overlay-arrow-string'
+
+ * src/xdisp.c (get_overlay_arrow_glyph_row): Fix yet another place
+ that assumed each character is a single byte.
+
+2022-04-21 Eli Zaretskii <eliz@gnu.org>
+
+ Avoid a redisplay loop when 'overlay-arrow-string' is non-ASCII
+
+ * src/xdisp.c (get_overlay_arrow_glyph_row): Don't assume every
+ character in 'overlay-arrow-string' is one byte long. Reported by
+ Yuri D'Elia <wavexx@thregr.org>.
+
+2022-04-21 Eli Zaretskii <eliz@gnu.org>
+
+ Add minimum instructions to 'query-replace' commands
+
+ * lisp/vc/vc-dir.el (vc-dir-query-replace-regexp):
+ * lisp/textmodes/reftex-global.el (reftex-query-replace-document):
+ * lisp/progmodes/project.el (project-query-replace-regexp):
+ * lisp/progmodes/etags.el (tags-query-replace):
+ * lisp/progmodes/ebrowse.el (ebrowse-tags-query-replace):
+ * lisp/isearch.el (isearch-query-replace, isearch-occur):
+ * lisp/emulation/viper-cmd.el (viper-query-replace):
+ * lisp/dired-aux.el (dired-do-query-replace-regexp)
+ (dired-do-find-regexp-and-replace):
+ * lisp/progmodes/xref.el (xref-query-replace-in-results):
+ * lisp/replace.el (query-replace, query-replace-regexp)
+ (query-replace-regexp-eval, map-query-replace-regexp): Add minimal
+ instructions for dealing with matches, with a link to the command
+ that shows the full instructions. (Bug#55050)
+
+2022-04-21 Eli Zaretskii <eliz@gnu.org>
+
+ Fix customization-group of 'python-forward-sexp-function'
+
+ * lisp/progmodes/python.el (python-forward-sexp-function): Make it
+ be part of both 'python' and 'python-flymake' groups. (Bug#55027)
+ Do not merge to master.
+
+2022-04-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Update from gnulib
+
+ (cherry picked from commit 992cf3cb675e074079341cc54c3b16d37a8b9ca8)
+
+ This is a partial backport from master: it only includes the changes below.
+
+ * lib/mini-gmp.c (gmp_assert_nocarry): Avoid many Clang
+ unused-variable warnings when building with optimization.
+ * lib/verify.h (_GL_HAVE__STATIC_ASSERT): Modify condition for using
+ _Static_assert to cope with older Apple builds of Clang exposing
+ misleading compiler version numbers. See discussion starting at
+ https://lists.gnu.org/archive/html/emacs-devel/2022-04/msg00779.html
+
+2022-04-20 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Revert prompting changes in viper-cmd
+
+ * lisp/emulation/viper-cmd.el (viper-quote-region)
+ (viper-read-string-with-history, viper-query-replace): Revert
+ prompting changes done in 50512e3 -- the way viper prompts in
+ command mode is special (bug#55007).
+
+ Do not merge to master.
+
+2022-04-19 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Fix regression with multiple mode: entries in the prop line
+
+ * lisp/files.el (hack-local-variables): Fix regression with multiple
+ mode: entries in the prop line.
+
+ Do not merge to master.
+
+2022-04-18 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Avoid hangs in python-mode with debug-on-error set
+
+ * lisp/progmodes/python.el (python-nav-end-of-statement): Avoid
+ using cl-assert here, because this is called from the font-lock
+ machinery, and if debug-on-error is set here, we'll hang Emacs
+ (bug#54996).
+
+ Do not merge to master.
+
+2022-04-18 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Fix major-mode setting regression when there's a mode: cookie
+
+ * lisp/files.el (hack-local-variables): Fix regression in setting
+ the major mode when there are mode: cookies in the file (bug#54993).
+
+ Do not merge to master.
+
+2022-04-17 Kyle Meyer <kyle@kyleam.com>
+
+ Update to Org 9.5.2-38-g682ccd
+
+2022-04-17 Eli Zaretskii <eliz@gnu.org>
+
+ Revert "Don’t assume openat"
+
+ This reverts commit 3cccf0a9107d585173e527550bbc45253624ca2e.
+
+ This is a change with far-reaching effects on MS-Windows at the least,
+ where file-related APIs are shadowed to support transparent support
+ for UTF-8 encoded file names. Making such changes on a stable branch
+ for the benefit of a proprietary platform with a 13-year old OS is a
+ tail wagging the dog. Please don't do that without discussing first.
+
+2022-04-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ Don’t assume openat
+
+ Use openat only on platforms with O_PATH.
+ This ports to OS X 10.9 and earlier.
+ Problem reported by Keith David Bershatsky in:
+ https://lists.gnu.org/r/emacs-devel/2022-04/msg00805.html
+ * lib-src/emacsclient.c (local_sockname): Use open, not openat.
+ * src/sysdep.c (sys_openat): New static function,
+ which uses openat only if O_PATH is defined.
+ (emacs_openat): Use it instead of openat.
+ (emacs_openat_noquit): Remove.
+ (emacs_open_noquit): Reimplement as per the old emacs_openat_noquit,
+ but use plain 'open'.
+
+2022-04-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix GC bug in filelock.c
+
+ Fix a bug where if GC occurred at the wrong moment when locking a
+ file, the lock file’s name was trashed so file locking did not work.
+ This bug was introduced in Emacs 28.1. The bug sometimes caused
+ filelock-tests-detect-external-change test failures on Fedora 35
+ x86-64 in an en_US.utf8 locale.
+ * src/filelock.c (lock_file_1, current_lock_owner, lock_if_free)
+ (lock_file, unlock_file, Ffile_locked_p):
+ Use Lisp_Object, not char *, for string, so that GC doesn’t trash
+ string contents.
+ (make_lock_file_name): Return the encoded name, not the original.
+ All callers changed.
+
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Clarify when mode tagging is used
+
+ * etc/NEWS: Clarify when mode tagging is used (bug#54964).
+
+2022-04-16 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Further vcs-cvs/rcs-responsible-p updates from master
+
+ * lisp/vc/vc-bzr.el (vc-bzr-responsible-p):
+ * lisp/vc/vc-sccs.el (vc-sccs-responsible-p):
+ * lisp/vc/vc-dav.el (vc-dav-responsible-p): Update doc string.
+
+ * lisp/vc/vc-rcs.el (vc-rcs-responsible-p):
+ * lisp/vc/vc-cvs.el (vc-cvs-responsible-p): Further fixes from
+ master.
+
+ * lisp/vc/vc-src.el (vc-src-responsible-p): Return the directory.
+
+ * lisp/vc/vc.el: Update comments.
+
+2022-04-16 Mattias Engdegård <mattiase@acm.org>
+
+ Fix builds on older versions of macOS
+
+ This adds back macOS-specific code replaced earlier (bug#48548),
+ specifically to fix build errors on macOS 10.7.5. See discussion at
+ https://lists.gnu.org/archive/html/emacs-devel/2022-04/msg00779.html .
+
+ * src/sysdep.c (HAVE_RUSAGE_INFO_CURRENT, HAVE_PROC_PIDINFO): New.
+ (system_process_attributes): Use alternative code or exclude features
+ when building on older macOS versions.
+
+2022-04-16 Eli Zaretskii <eliz@gnu.org>
+
+ Fix documentation of Outline minor mode options
+
+ * lisp/outline.el (outline-minor-mode-cycle-filter)
+ (outline-minor-mode-cycle, outline-minor-mode-highlight)
+ (outline-cycle, outline-cycle-buffer): Doc fixes. (Bug#54967)
+
+2022-04-15 Eli Zaretskii <eliz@gnu.org>
+
+ Improve discoverability of 'insert-directory-program'
+
+ * lisp/files.el (insert-directory-program): Mention 'dired' in the
+ doc string.
+ * lisp/dired.el (dired): Mention 'insert-directory-program' in the
+ doc string. (Bug#54962)
+
+2022-04-15 Eli Zaretskii <eliz@gnu.org>
+
+ Fix cursor motion under truncate-lines with Flymake fringe indicator
+
+ * src/indent.c (Fvertical_motion): Don't consider fringe bitmaps
+ as "images" for the purpose of vertical-motion logic dealing with
+ overshooting buffer positions. (Bug#54946)
+
+2022-04-14 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Make all vc-*-responsible-p functions return a string
+
+ * lisp/vc/vc-sccs.el (vc-sccs-responsible-p):
+ * lisp/vc/vc-rcs.el (vc-rcs-responsible-p):
+ * lisp/vc/vc-dav.el (vc-dav-responsible-p):
+ * lisp/vc/vc-cvs.el (vc-cvs-responsible-p): Return a file name
+ instead of t when we get a match (which is what
+ vc-backend-for-registration expects) (bug#51800).
+
+ This fixes the regression reported in bug#54935.
+
+ Do not merge to master.
+
+2022-04-14 Eli Zaretskii <eliz@gnu.org>
+
+ Describe problems with invoking Python on MS-Windows
+
+ * etc/PROBLEMS: Describe problems with running an inferior Python
+ interpreter due to the MS-Windows "App Execution Aliases" feature.
+ (Bug#54860)
+
+2022-04-13 Eli Zaretskii <eliz@gnu.org>
+
+ A better fix for bug#54800
+
+ * lisp/calc/calc.el (calc-align-stack-window): Improve scrolling
+ when windows have non-integral dimensions.
+
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Add a comment about cl-concatenate
+
+ * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Add a comment.
+
+2022-04-13 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Revert "Make cl-concatenate an alias of seq-concatenate"
+
+ This reverts commit 78f76fe16e2737b40694f82af28d17a90a21ed7b.
+
+ The commit made calls to cl-concatenate bug out, since
+ autoloading defalises doesn't work very well (bug#54901).
+
+2022-04-12 Eli Zaretskii <eliz@gnu.org>
+
+ Fix 'window-text-pixel-width' when starting from display property
+
+ * src/xdisp.c (Fwindow_text_pixel_size): Handle the case where
+ there's a display property at START, and move_it_to overshoots.
+ Do not merge to master. (Bug#54862)
+
+2022-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp/gnus/mm-encode.el (mm-default-file-encoding): Fix "when" arg
+
+2022-04-11 Eli Zaretskii <eliz@gnu.org>
+
+ Fix default-directory of buffers visiting files in renamed directories
+
+ * lisp/dired-aux.el (dired-rename-file): Take note of whether FILE
+ is a directory before it is renamed, which makes it impossible to
+ determine if it was a directory.
+ (dired-rename-subdir, dired-rename-subdir-1): Revert to using
+ dired-in-this-tree-p instead of file-in-directory-p, for the
+ benefit of files that were renamed/removed, because
+ file-in-directory-p returns nil in those cases. (Bug#54838)
+
+2022-04-11 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Fix a kill-append regression
+
+ * lisp/simple.el (kill-append): Fix a regression when
+ kill-ring-max is zero (bug#54842).
+
+2022-04-10 Eli Zaretskii <eliz@gnu.org>
+
+ * doc/misc/eww.texi (Advanced): Correct outdated info (bug#54839).
+
+2022-04-10 Eli Zaretskii <eliz@gnu.org>
+
+ Clean up the MSDOS port
+
+ * src/msdos.h (tcdrain): Redirect to '_dos_commit'.
+ (openat, fchmodat, futimens, utimensat): Add prototypes.
+
+ * msdos/sed1v2.inp (MAKE_PDUMPER_FINGERPRINT): Fix indentation, so
+ that Make won't consider this line a command.
+ ($(etc)/DOC): Chdir back to ../src, since "make-docfile -d" leaves
+ us in a wrong directory.
+ * msdos/sedlibmk.inp (GL_GNULIB_GETRANDOM, GL_GNULIB_MEMMEM)
+ (GL_GNULIB_SIGDESCR_NP): Define to 1, to get the prototypes from
+ Gnulib headers.
+
+2022-04-10 Daniel Martín <mardani29@yahoo.es>
+
+ Fix typo in next-error-find-buffer-function
+
+ * lisp/simple.el (next-error-find-buffer-function): Fix typo
+ (bug#54830).
+
+2022-04-10 Lars Ingebrigtsen <larsi@gnus.org>
+
+ Revert "Make shell-resync-dirs handle whitespace in directory names"
+
+ This reverts commit 90e65c826fab2092ad2099d7763538194c93e021.
+
+ This change led to hangs (bug#54776).
+
+ Do not merge to master; it has been fixed in a more encompassing way there.
+
+2022-04-09 Eli Zaretskii <eliz@gnu.org>
+
+ Fix scrolling of the stack window in Calc
+
+ * lisp/calc/calc.el (calc-align-stack-window): Fix off-by-one
+ error in computing the window-start point. (Bug#54800)
+
+2022-04-08 Eli Zaretskii <eliz@gnu.org>
+
+ Update and fix instructions and scripts for updating the Web pages
+
+ * admin/admin.el (manual-html-fix-index-2): Support Texinfo 6.8
+ and later by not converting TOC menus into tables. (Bug#49719)
+ * admin/upload-manuals (New directory): Invoke "cvs add" in
+ $webdir, to pick up the correct CVSROOT.
+ * admin/make-tarball.txt: Update the section about the Emacs Web
+ pages.
+
+ * etc/refcards/Makefile (pl-refcard.dvi): If mex.fmt cannot be
+ found, invoke 'mex' instead of 'tex'.
+
+2022-04-08 Michael Albinus <michael.albinus@gmx.de>
+
+ Extend tramp-archive-test45-auto-load
+
+ * test/lisp/net/tramp-archive-tests.el (tramp-archive-test45-auto-load):
+ Extend test.
+
+2022-04-08 Michael Albinus <michael.albinus@gmx.de>
+
+ Ensure local `default-directory' in Tramp when needed
+
+ * lisp/net/tramp.el (tramp-process-running-p): Ensure local
+ `default-directory' when calling `list-system-processes' and
+ `process-attributes'.
+
+2022-04-08 Eli Zaretskii <eliz@gnu.org>
+
+ Clarify "idleness" in the ELisp manual
+
+ * doc/lispref/os.texi (Idle Timers): Clarify that waiting for
+ input with timeout doesn't make Emacs idle. Suggested by Ignacio
+ <ignaciocasso@hotmail.com>. (Bug#54371)
+
+2022-04-07 Jürgen Hötzel <juergen@archlinux.org>
+
+ Use correct signal oldset in posix_spawn implementation
+
+ posix_spawn was restoring the wrong signal set, which still had
+ SIGCHLD and SIGINT masked, causing problems with child processes that
+ spawned child processes. (Bug#54667)
+
+ See the thread ending at
+ https://lists.gnu.org/archive/html/emacs-devel/2022-03/msg00067.html
+ for more details.
+
+ * src/callproc.c (emacs_spawn): Pass oldset parameter.
+ (emacs_posix_spawn_init_attributes): Use correct oldset.
+ (emacs_posix_spawn_init): Remove intermediate function.
+
+ (cherry picked from commit 8103b060d89ac63a12c439087bd46c30da72cd97)
+
+2022-04-07 Felix Dietrich <felix.dietrich@sperrhaken.name> (tiny change)
+
+ Fix error in tramp-archive-autoload-file-name-handler
+
+ * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
+ Always call `tramp-autoload-file-name'. Otherwise, when
+ `tramp-archive-enabled’ is nil and
+ `tramp-archive-autoload-file-name-handler’ is in the
+ `file-name-handler-alist’ results in an error “Invalid handler in
+ `file-name-handler-alist” once Emacs calls
+ `tramp-archive-autoload-file-name-handler’ with a handler that
+ does not expect nil. Always returning nil is also false in
+ general.
+
+2022-04-07 Michael Albinus <michael.albinus@gmx.de>
+
+ Commit missing file from previous commit (Do not merge with master)
+
+ Commit missing file from previous commit
+
+2022-04-07 Michael Albinus <michael.albinus@gmx.de>
+
+ Merge with Tramp 2.5.2.3 (Do not merge with master)
+
+ * doc/misc/tramp.texi (Archive file names): Explicitly say how to
+ open an archive with Tramp (Bug#25076).
+
+ * doc/misc/trampver.texi:
+ * lisp/net/trampver.el: Change version to "2.5.3-pre".
+
+ * lisp/net/tramp-adb.el (tramp-adb-handle-process-file)
+ * lisp/net/tramp-sh.el (tramp-sh-handle-process-file):
+ * lisp/net/tramp-smb.el (tramp-smb-handle-process-file):
+ * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file):
+ Improve implementation. (Bug#53854)
+
+ * lisp/net/tramp-adb.el (tramp-adb-tolerate-tilde):
+ * lisp/net/tramp-sshfs.el (tramp-sshfs-tolerate-tilde):
+ New defuns. Advice `shell-mode' with them.
+
+ * lisp/net/tramp.el (tramp-register-autoload-file-name-handlers):
+ * lisp/net/tramp-archive.el (tramp-register-archive-file-name-handler):
+ Check, whether the real file name handler is already registered.
+ rules. (Bug#54542)
+
+ * lisp/net/tramp.el (tramp-autoload-file-name-handler)
+ (tramp-register-autoload-file-name-handlers)
+ (tramp-unload-file-name-handlers, tramp-unload-tramp):
+ * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-regexp)
+ (tramp-archive-autoload-file-name-handler)
+ (tramp-register-archive-file-name-handler):
+ Add `tramp-autoload' property.
+
+ * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
+ * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
+ * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
+ * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
+ Use `tramp-handle-file-notify-add-watch',
+ `tramp-handle-file-notify-rm-watch' and
+ `tramp-handle-file-notify-valid-p'.
+
+ * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
+ Use `tramp-handle-insert-file-contents'.
+
+ * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
+ * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
+ * lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
+ * lisp/net/tramp-sudoedit.el
+ (tramp-sudoedit-maybe-open-connection): Do not set "lock-pid"
+ connection-property.
+ (tramp-sudoedit-handle-delete-file): Use "rm -f".
+
+ * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-executable-p):
+ * lisp/net/tramp-sh.el (tramp-sh-handle-file-executable-p):
+ Check also for setuid/setgid bit.
+ (tramp-gvfs-handle-expand-file-name):
+ Respect `tramp-tolerate-tilde'.
+
+ * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
+ * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
+ Do not modify disk space information when
+ `dired--insert-disk-space' is available. (Bug#54512)
+
+ * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Extend suppression
+ (tramp-get-remote-dev-tty): New defun.
+ (tramp-sh-handle-make-process): Use it.
+
+ * lisp/net/tramp-sshfs.el (tramp-methods) <sshfs>:
+ Add "-t -t" to `tramp-login-args'.
+ Add "-o dir_cache=no" to `tramp-mount-args'. (Bug#54126)
+ Add "-o transform_symlinks" to `tramp-mount-args'.
+ (tramp-sshfs-file-name-handler-alist):
+ Use `tramp-sshfs-handle-file-writable-p'.
+ (tramp-sshfs-handle-file-writable-p): New defun. (Bug#54130)
+ (tramp-sshfs-handle-write-region): Set file modification time.
+ (Bug#54016)
+ (tramp-sshfs-file-name-handler-alist):
+ Use `tramp-sshfs-handle-set-file-times'.
+ (tramp-sshfs-handle-set-file-times): New defun.
+
+ * test/lisp/net/tramp-tests.el (tramp--test-expensive-test-p):
+ Rename from `tramp--test-expensive-test'. Make it a defun. Adapt
+ all callees.
+ (tramp-test07-file-exists-p, tramp-test14-delete-directory)
+ (tramp-test18-file-attributes, tramp-test20-file-modes)
+ (tramp-test28-process-file, tramp-test29-start-file-process)
+ (tramp-test30-make-process, tramp-test32-shell-command)
+ (tramp-test33-environment-variables, tramp--test-check-files)
+ (tramp--test-special-characters, tramp-test46-unload): Adapt tests.
+ (tramp-test39-detect-external-change): New test.
+ (tramp-test29-start-file-process)
+ (tramp--test--deftest-direct-async-process)
+ (tramp-test30-make-process, tramp-test31-interrupt-process)
+ (tramp-test34-explicit-shell-file-name)
+ (tramp-test44-asynchronous-requests):
+ Add :tramp-asynchronous-processes tag.
+ (tramp--test-asynchronous-processes-p): New defun.
+ (tramp--test-hpux-p, tramp--test-macos-p): Protect against errors.
+
+2022-04-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ cl-generic.el: Fix bug#46722
+
+ Fix longstanding bug due to unexpected interference via side-effect.
+
+ * lisp/emacs-lisp/cl-generic.el (cl--generic-get-dispatcher):
+ Copy the `dispatch` arg before storing it into the hash-table.
+
+ Backport from `master` (cherrypick from commit 61f8f7f68f).
+
+2022-04-05 Eli Zaretskii <eliz@gnu.org>
+
+ Fix fallout from lexical-binding in vhdl-mode.el
+
+ * lisp/progmodes/vhdl-mode.el (vhdl-update-sensitivity-list): Fix
+ production of a list with embedded function calls. (Bug#54730)
+
+2022-04-03 Eli Zaretskii <eliz@gnu.org>
+
+ Update logs and HISTORY for Emacs 28.1
+
+ * ChangeLog.3:
+ * etc/HISTORY:
+ * etc/AUTHORS: Update for Emacs 28.1 release.
+
+2022-04-03 Eli Zaretskii <eliz@gnu.org>
+
+ Bump Emacs version to 28.1
+
+ * README:
+ * configure.ac:
+ * nt/README.W32:
+ * msdos/sed2v2.inp: Bump Emacs version to 28.1
+
2022-03-30 Tassilo Horn <tsdh@gnu.org>
dired: implement feature from 7b50ed553f differently
@@ -158,10 +2099,10 @@
2022-03-06 Lars Ingebrigtsen <larsi@gnus.org>
- Restore documented Emacs 27.2 behaviour of browse-url-of-dired-file
+ Restore documented Emacs 27.2 behavior of browse-url-of-dired-file
* lisp/net/browse-url.el (browse-url-of-dired-file): Restore the
- documented behaviour -- open a web browser instead of passing to
+ documented behavior -- open a web browser instead of passing to
the various handlers.
2022-03-06 Kyle Meyer <kyle@kyleam.com>
@@ -1021,7 +2962,7 @@
This fixes bug #52796.
* lisp/progmodes/cc-engine.el (c-update-brace-stack): Handle a "*" like a
- semicolon, cancelling the expectation of a brace.
+ semicolon, canceling the expectation of a brace.
* lisp/progmodes/cc-langs.el (c-brace-stack-thing-key): Add a "*" into the
sets of significant characters.
@@ -1293,7 +3234,7 @@
Don't bug out on certain empty elements with ids
- * lisp/net/shr.el (shr-descend): Fix empty-element #id targetting
+ * lisp/net/shr.el (shr-descend): Fix empty-element #id targeting
(bug#52391).
2021-12-09 Paul Eggert <eggert@cs.ucla.edu>
@@ -1595,7 +3536,7 @@
2021-12-01 Alan Mackenzie <acm@muc.de>
- CC Mode: Recognise "struct foo {" as introducing a type declaration
+ CC Mode: Recognize "struct foo {" as introducing a type declaration
This fixes bug #52157.
@@ -1681,7 +3622,7 @@
2021-11-29 Andreas Schwab <schwab@linux-m68k.org>
- Avoid undefined behaviour when copying part of structure
+ Avoid undefined behavior when copying part of structure
* src/dispnew.c (copy_row_except_pointers): Don't use address of
subobject as starting point.
@@ -4838,14 +6779,14 @@
Fix previous `newline' patch
* lisp/simple.el (newline): Signal an error earlier to avoid
- peculiar behaviour after getting a backtrace (bug#50900).
+ peculiar behavior after getting a backtrace (bug#50900).
2021-09-30 Lars Ingebrigtsen <larsi@gnus.org>
Make `newline' check the argument earlier
* lisp/simple.el (newline): Signal an error earlier to avoid
- peculiar behaviour after getting a backtrace (bug#50900).
+ peculiar behavior after getting a backtrace (bug#50900).
2021-09-30 akater <nuclearspace@gmail.com>
@@ -5026,7 +6967,7 @@
etc/themes/modus-vivendi-theme.el: Bump file version.
* etc/themes/modus-themes.el (modus-themes-operandi-colors)
- (modus-themes-vivendi-colors): Recalibrate some colour values and add
+ (modus-themes-vivendi-colors): Recalibrate some color values and add
a few new ones.
(modus-themes-slanted-constructs): Remove obsolete user option.
Superseded by the alias 'modus-themes-italic-constructs'.
@@ -5882,11 +7823,11 @@
Fix byte-compiler crash for legal dynamic-binding code
- This should really be taken care of by a syntax normalisation step in
+ This should really be taken care of by a syntax normalization step in
the frontend, but there is no such step for non-lexbind code yet.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-letX): Tolerate bindingsa
- without initialising expressions.
+ without initializing expressions.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test cases.
@@ -6945,7 +8886,7 @@
This reverts commit 7e395a59b025c7f4be49294ad806addf5b1a25c9.
- The behaviour change isn't good for the majority of tar files.
+ The behavior change isn't good for the majority of tar files.
2021-09-21 Lars Ingebrigtsen <larsi@gnus.org>
@@ -6957,10 +8898,10 @@
2021-09-21 Lars Ingebrigtsen <larsi@gnus.org>
- Restore some of the previous behaviour in whitespace-display-window
+ Restore some of the previous behavior in whitespace-display-window
* lisp/whitespace.el (whitespace-display-window): Emulate previous
- behaviour (bug#50716). Code from martin rudalics <rudalics@gmx.at>.
+ behavior (bug#50716). Code from martin rudalics <rudalics@gmx.at>.
2021-09-21 Lars Ingebrigtsen <larsi@gnus.org>
@@ -7177,7 +9118,7 @@
Add docstring for 'electric-pair-p-s-i-f' and minor refactor
- Extract the "open newline between pairs behaviour" into its own
+ Extract the "open newline between pairs behavior" into its own
function, electric-pair-open-newline-between-pairs-psif.
* lisp/elec-pair.el (electric-pair-post-self-insert-function): Add
@@ -7417,7 +9358,7 @@
2021-09-20 Philip Kaludercic <philipk@posteo.net>
- Fix dolist-with-progress-reporter behaviour
+ Fix dolist-with-progress-reporter behavior
* lisp/subr.el (dolist-with-progress-reporter): Use the length of
list argument as maximal value the reporter with reach.
@@ -7502,17 +9443,17 @@
2021-09-19 Mattias Engdegård <mattiase@acm.org>
- Initialise unread buffer
+ Initialize unread buffer
The reader has an extra 1-char unread buffer that was incorrectly
- initialised to 0, which means that the first character read would
+ initialized to 0, which means that the first character read would
always be NUL. As this is often the code that looks for the
lexical-binding cookie, the first loaded source module would be
treated as dynamically bound. During bootstrapping this is loadup.el
and so its local variables got dumped into the global environment.
- * src/lread.c (unread_char): Initialise to empty.
- (Fload): Initialise here too just in case.
+ * src/lread.c (unread_char): Initialize to empty.
+ (Fload): Initialize here too just in case.
2021-09-19 Stefan Kangas <stefan@marxist.se>
@@ -9487,11 +11428,11 @@
Replace uses of a variable aliasing another variable with that aliased
variable, to allow for variable removal when possible. This also
- enables opportunities for other optimisations. Example:
+ enables opportunities for other optimizations. Example:
(let ((y x)) (f y)) => (f x)
- The optimisation is only performed if both aliased and aliasing
+ The optimization is only performed if both aliased and aliasing
variables are lexically bound. Shadowing bindings are α-renamed when
necessary for correctness. Example:
@@ -9501,7 +11442,7 @@
* lisp/emacs-lisp/byte-opt.el (byte-optimize--aliased-vars): New.
(byte-optimize-form-code-walker): Cancel aliasing upon mutation.
(byte-optimize--rename-var-body, byte-optimize--rename-var): New.
- (byte-optimize-let-form): Add the optimisation.
+ (byte-optimize-let-form): Add the optimization.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add relevant test cases.
@@ -10235,31 +12176,31 @@
2021-09-06 Mattias Engdegård <mattiase@acm.org>
- Normalise nested `progn` forms in byte-code optimiser
+ Normalize nested `progn` forms in byte-code optimizer
* lisp/emacs-lisp/byte-opt.el (byte-optimize-body): Flatten body.
This simplifies the source tree and reduces the number of different
- cases that other optimisations need to take into account.
+ cases that other optimizations need to take into account.
2021-09-06 Mattias Engdegård <mattiase@acm.org>
- More robust optimisation of `ignore`
+ More robust optimization of `ignore`
- Treat `ignore` as any other function during source-level optimisation,
- to avoid having its warning-suppression effects cancelled by repeated
+ Treat `ignore` as any other function during source-level optimization,
+ to avoid having its warning-suppression effects canceled by repeated
passes. Instead, define a custom code generation function.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Don't treat `ignore' specially here.
(side-effect-free-fns): Don't mark `ignore` as side-effect-free
- or error-free (although it is), since that would allow the optimiser
+ or error-free (although it is), since that would allow the optimizer
to elide calls.
* lisp/emacs-lisp/bytecomp.el (ignore, byte-compile-ignore):
Define and register a code-gen function.
2021-09-06 Mattias Engdegård <mattiase@acm.org>
- Optimise `member` and `assoc` (etc) with constant empty list
+ Optimize `member` and `assoc` (etc) with constant empty list
* lisp/emacs-lisp/byte-opt.el
(byte-optimize-assq): New.
@@ -11497,7 +13438,7 @@
This reverts commit c8e3347ec01a9ed6dc8d88c2dbbb3a08497e8eb2.
- Jim Porter's paperwork isn't finalised yet.
+ Jim Porter's paperwork isn't finalized yet.
2021-08-26 Lars Ingebrigtsen <larsi@gnus.org>
@@ -14344,11 +16285,11 @@
The current method of propagating constants through setq was unsound
because it relied on each setq form only being traversed at most once
- during optimisation, which isn't necessarily true in general; it could
+ during optimization, which isn't necessarily true in general; it could
be made to miscompile code in rare cases.
Since it was only used in limited circumstances, disabling this
- optimisation doesn't cost us much.
+ optimization doesn't cost us much.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Don't update the known value when traversing `setq`.
@@ -14586,7 +16527,7 @@
2021-08-03 Phil Sainty <psainty@orcon.net.nz>
- Make `global-so-long-mode' handle unrecognised file types
+ Make `global-so-long-mode' handle unrecognized file types
* lisp/so-long.el (so-long-target-modes): Add `fundamental-mode'
@@ -15076,16 +17017,16 @@
Ensure in cconv that let-bindings have the normal form (VAR EXPR)
where VAR is a valid variable name, so that we don't need to keep
- re-checking this all the time in the optimiser.
+ re-checking this all the time in the optimizer.
* lisp/emacs-lisp/byte-opt.el
(byte-optimize-enable-variable-constprop)
(byte-optimize-warn-eliminated-variable): Remove; these were mainly
used for debugging.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form):
- Assume normalised let-bindings (with lexical-binding).
+ Assume normalized let-bindings (with lexical-binding).
Stop using the variables removed above.
- * lisp/emacs-lisp/cconv.el (cconv-convert): Ensure normalised
+ * lisp/emacs-lisp/cconv.el (cconv-convert): Ensure normalized
let-bindings. Malformed bindings are dropped after warning.
remove byte-optimize-warn-eliminated-variable
@@ -15177,7 +17118,7 @@
2021-07-30 Mattias Engdegård <mattiase@acm.org>
- Optimise let and let* whose body is constant or the last variable
+ Optimize let and let* whose body is constant or the last variable
Simplify (let ((X1 E1) ... (Xn En)) Xn)
=> (progn E1 ... En)
@@ -15186,9 +17127,9 @@
=> (let* ((X1 E1) ... (Xn-1 En-1)) En)
and similarly the case where the body is a constant, extending a
- previous optimisation that only applied to the constant nil.
+ previous optimization that only applied to the constant nil.
This reduces the number of bound variables, shortens the code, and
- enables further optimisations.
+ enables further optimizations.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-letX): Rewrite using
`pcase` and add the aforementioned transformations.
@@ -15197,7 +17138,7 @@
2021-07-30 Mattias Engdegård <mattiase@acm.org>
- Move warnings about bad let-bindings from source optimiser to cconv
+ Move warnings about bad let-bindings from source optimizer to cconv
* lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form): Move warnings...
* lisp/emacs-lisp/cconv.el (cconv-convert): ...here, which is an
@@ -15205,7 +17146,7 @@
2021-07-30 Mattias Engdegård <mattiase@acm.org>
- Optimise prog1 better
+ Optimize prog1 better
Rewrite (prog1 CONST FORMS...) => (progn FORMS... CONST)
where CONST is a compile-time constant, because putting the value last
@@ -15217,23 +17158,23 @@
2021-07-30 Mattias Engdegård <mattiase@acm.org>
- Elide lexical variables in for-effect context in source optimiser
+ Elide lexical variables in for-effect context in source optimizer
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Remove for-effect uses of lexical variables. We previously relied on
- this being done by the lapcode peephole optimiser but at source level
- it enables more optimisation opportunities.
+ this being done by the lapcode peephole optimizer but at source level
+ it enables more optimization opportunities.
Keywords are elided for the same reason.
2021-07-30 Mattias Engdegård <mattiase@acm.org>
- Single source optimiser entry point
+ Single source optimizer entry point
- Make the optimiser aware of lexical arguments. Otherwise we cannot
+ Make the optimizer aware of lexical arguments. Otherwise we cannot
know for sure whether a variable is lexical or dynamic during
traversal.
- * lisp/emacs-lisp/byte-opt.el (byte-optimize-one-form): New optimiser
+ * lisp/emacs-lisp/byte-opt.el (byte-optimize-one-form): New optimizer
entry point, replacing the recursive byte-optimize-form.
* lisp/emacs-lisp/bytecomp.el (byte-optimize-one-form): Autoload.
(byte-compile-keep-pending, byte-compile-top-level):
@@ -16154,7 +18095,7 @@
`term-char-mode' doc string clarification
- * lisp/term.el (term-char-mode): Document behaviour (bug#49186).
+ * lisp/term.el (term-char-mode): Document behavior (bug#49186).
2021-07-22 Dmitry Gutov <dgutov@yandex.ru>
@@ -16391,14 +18332,14 @@
2021-07-21 Mattias Engdegård <mattiase@acm.org>
- Fix mistake in `quote` optimiser
+ Fix mistake in `quote` optimizer
Found by Pip Cet.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-quote): Fix mistake that
- made this optimiser ineffective at removing quoting of nil, t, and
+ made this optimizer ineffective at removing quoting of nil, t, and
keywords. The only obvious consequence is that we no longer need...
- (byte-optimize-form): ...a 'nil => nil normalising step here; remove.
+ (byte-optimize-form): ...a 'nil => nil normalizing step here; remove.
(byte-optimize-form-code-walker): Make the compiler warn about (quote).
2021-07-20 Juri Linkov <juri@linkov.net>
@@ -16427,7 +18368,7 @@
Strength-reduce (eq X nil) to (not X)
- * lisp/emacs-lisp/byte-opt.el (byte-optimize-eq): New optimisation,
+ * lisp/emacs-lisp/byte-opt.el (byte-optimize-eq): New optimization,
which results in better test and branch code generation where it
applies.
@@ -17040,7 +18981,7 @@
(Full support for packages or face groups): Include new items.
- (Notes on individual packages): Add notes on Avy hints, the colour of
+ (Notes on individual packages): Add notes on Avy hints, the color of
days in 'M-x calendar', and underlines in 'compilation-mode' buffers.
(What is the best setup for legibility?): Remove single word.
@@ -18583,7 +20524,7 @@
* etc/emacs-mail.desktop:
* etc/emacsclient.desktop: Automatically try to
reuse an existing frame, open a new frame, or start a new Emacs
- daemon. Add actions for specific behaviours (bug#49195).
+ daemon. Add actions for specific behaviors (bug#49195).
2021-06-30 Peter Oliver <git@mavit.org.uk>
@@ -20650,7 +22591,7 @@
2021-06-03 Mattias Engdegård <mattiase@acm.org>
- Optimise (cons X nil) to (list X)
+ Optimize (cons X nil) to (list X)
* lisp/emacs-lisp/byte-opt.el (byte-optimize-cons): New function.
@@ -20913,7 +22854,7 @@
When used with Fido, completions scroll like a typical dropdown
widget.
- If the dropdown behaviour is desired for Icomplete (instead of
+ If the dropdown behavior is desired for Icomplete (instead of
rotation), icomplete-scroll can be adjusted separately by the user.
* etc/NEWS (icomplete-vertical-mode): Reword.
@@ -21561,7 +23502,7 @@
Don't propagate lexical variables into inlined functions
- Functions compiled when inlined (thus from inside the optimiser)
+ Functions compiled when inlined (thus from inside the optimizer)
mustn't retain the lexical environment of the caller or there will be
tears. See discussion at
https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg01227.html .
@@ -21805,7 +23746,7 @@
2021-05-25 Miha Rihtaršič <miha@kamnitnik.top>
- Try to not prioritise reading from lower file descriptors
+ Try to not prioritize reading from lower file descriptors
* src/process.c (wait_reading_process_output): When looping through
fds, continue from where we left off.
@@ -24302,7 +26243,7 @@
2021-05-04 Lars Ingebrigtsen <larsi@gnus.org>
- Fix inconsistent behaviour in find-file-noselect when using nowarn
+ Fix inconsistent behavior in find-file-noselect when using nowarn
* lisp/files.el (after-find-file): Behave the same in when
warning/not warning (bug#47850). This fixes this test case:
@@ -24372,7 +26313,7 @@
2021-05-03 Alan Third <alan@idiocy.org>
martin rudalics <rudalics@gmx.at>
- Fix incorrect resizing behaviour on macOS (bug#48157, bug#48162)
+ Fix incorrect resizing behavior on macOS (bug#48157, bug#48162)
* src/nsterm.m ([EmacsView viewDidResize:]): The drawing buffer can be
resized independently of Emacs's idea of the frame size.
@@ -27427,10 +29368,10 @@
2021-04-09 Mattias Engdegård <mattiase@acm.org>
- Fix condition-case optimiser bug
+ Fix condition-case optimizer bug
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't
- perform incorrect optimisations when a condition-case variable shadows
+ perform incorrect optimizations when a condition-case variable shadows
another lexical variable.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
New test case.
@@ -27539,7 +29480,7 @@
Self-TCO in `condition-case` error handlers
- * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Recognise
+ * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Recognize
`condition-case` handlers as being in the tail position.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
Extend test.
@@ -28025,7 +29966,7 @@
2021-04-05 Stefan Kangas <stefan@marxist.se>
- Remove local uniquify functions in favour of seq-uniq
+ Remove local uniquify functions in favor of seq-uniq
* lisp/emacs-lisp/seq.el (seq-uniq): Add autoload cookie.
* lisp/pcomplete.el: (pcomplete-uniquify-list): Use seq-uniq.
@@ -28051,7 +29992,7 @@
Obsolete local list functions in shadowfile.el
- * lisp/shadowfile.el (shadow-union): Make obsolete in favour of
+ * lisp/shadowfile.el (shadow-union): Make obsolete in favor of
cl-union. Update callers.
(shadow-find): Make into obsolete function alias for seq-find.
Update callers.
@@ -30354,7 +32295,7 @@
2021-03-18 Mattias Engdegård <mattiase@acm.org>
- Optimise tail calls in `and` and `or` forms in `cl-labels` functions
+ Optimize tail calls in `and` and `or` forms in `cl-labels` functions
* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Handle `and` and `or`.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
@@ -30472,7 +32413,7 @@
2021-03-18 Lars Ingebrigtsen <larsi@gnus.org>
- Recognise "Verify password" as a password prompt
+ Recognize "Verify password" as a password prompt
* lisp/comint.el (comint-password-prompt-regexp): Also react to
"Verify password" (output by "zip -e") (bug#47209).
@@ -34432,7 +36373,7 @@
* lisp/emacs-lisp/rx.el (rx): Add (pred stringp) to avoid type errors,
and replace the `pred` clause for the actual match with something that
- works with pcase-let(*) without being optimised away.
+ works with pcase-let(*) without being optimized away.
* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test cases.
2021-02-26 Stefan Kangas <stefan@marxist.se>
@@ -36379,7 +38320,7 @@
test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-iso:
*
test/lisp/calendar/icalendar-tests.el (icalendar-convert-anniversary-to-ical):
- Match new diary-anniversary/yearly-rrule behaviour.
+ Match new diary-anniversary/yearly-rrule behavior.
* lisp/calendar/icalendar.el (icalendar--datestring-to-isodate): Add
year-shift option. (icalendar--convert-anniversary-to-ical): Shift
@@ -36799,7 +38740,7 @@
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Keep
`minor-modes' updated.
* src/buffer.c (bset_minor_modes, Fmake_indirect_buffer)
- (reset_buffer, init_buffer_once): Initialise `minor-modes'.
+ (reset_buffer, init_buffer_once): Initialize `minor-modes'.
(syms_of_buffer): Add `minor-modes' as a new permanently-local
variable.
@@ -37176,10 +39117,10 @@
2021-02-12 Mattias Engdegård <mattiase@acm.org>
- Avoid traversing dead `if` branches in bytecode optimiser
+ Avoid traversing dead `if` branches in bytecode optimizer
There is no point in traversing conditional branches that are
- statically known never to be executed. This saves some optimisation
+ statically known never to be executed. This saves some optimization
effort, but more importantly prevents variable assignments and
references in those branches from blocking effective constant
propagation.
@@ -37189,9 +39130,9 @@
assignments.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form):
- Rewrite the (tail) recursion into an explicit loop. Normalise a
+ Rewrite the (tail) recursion into an explicit loop. Normalize a
return value of (quote nil) to nil, for easier subsequent
- optimisations.
+ optimizations.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't
traverse dead `if` branches. Use unconditional traversion context
when possible.
@@ -37751,7 +39692,7 @@
Make texinfmt-version variable obsolete
* lisp/textmodes/texinfmt.el (texinfmt-version): Make variable and
- command obsolete in favour of 'emacs-version'.
+ command obsolete in favor of 'emacs-version'.
(texinfo-format-region, texinfo-format-buffer-1): Use
'emacs-version' instead of above obsolete variable.
@@ -38422,7 +40363,7 @@
(let ((x (+ 2 3))) (f x)) => (f 5)
This reduces code size, eliminates stack operations, and enables
- further optimisations. The implementation is conservative, and is
+ further optimizations. The implementation is conservative, and is
strongly curtailed by the presence of variable mutation, conditions
and loops.
@@ -39605,7 +41546,7 @@
2021-01-31 Alan Mackenzie <acm@muc.de>
- Minimise the time Vminibuffer_list is in an inconsistent state (src/minibuf.c)
+ Minimize the time Vminibuffer_list is in an inconsistent state (src/minibuf.c)
src/minibuf.c (get_minibuffer): Move the XSETCAR which writes the new
minibuffer into Vminibuffer_list to immediately after the MB's creation, so
@@ -41980,7 +43921,7 @@
* lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-init): Always send
the Lisp words to the process (bug#6221). This allows an existing
- ispell process to be correctly initialised.
+ ispell process to be correctly initialized.
2021-01-20 Juri Linkov <juri@linkov.net>
@@ -42277,7 +44218,7 @@
Parse square root sign in embedded Calc mode
- * lisp/calc/calc-lang.el (math-read-big-rec): Recognise √ since it may
+ * lisp/calc/calc-lang.el (math-read-big-rec): Recognize √ since it may
be used in Big mode.
2021-01-19 Mattias Engdegård <mattiase@acm.org>
@@ -43847,7 +45788,7 @@
* lisp/textmodes/paragraphs.el (mark-paragraph): Revert
eb090f65ceb0ae8a90829e911694348583135ba5 (bug#45318). This restores
- the behaviour from Emacs 27 -- further work is needed on this patch.
+ the behavior from Emacs 27 -- further work is needed on this patch.
2021-01-07 Michael Albinus <michael.albinus@gmx.de>
@@ -46631,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): Initialise the new cach
+ * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the new cach
(at mode start).
(c-before-change): Invalidate the new cache.
(c-fl-decl-start): Add an extra check (> (point) bod-lim) to prevent looping.
@@ -48113,7 +50054,7 @@
2020-12-14 Alan Mackenzie <acm@muc.de>
- Optimise c-font-lock-<>-arglists, particularly for buffers with few <..> pairs
+ Optimize c-font-lock-<>-arglists, particularly for buffers with few <..> pairs
* lisp/progmodes/cc-fonts.el (c-font-lock-<>-arglists): In place of a regexp
search for a complicated and slow regexp, search simply for "<" outside of
@@ -48134,7 +50075,7 @@
2020-12-14 Alan Mackenzie <acm@muc.de>
- Optimise c-parse-state for large buffers with few (if any) braces.
+ 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.
@@ -49332,7 +51273,7 @@
* test/src/casefiddle-tests.el (casefiddle-tests-char-casing):
(upcase ?ß) now returns ?ẞ (U+7838), partly for technical reasons but
- the previous behaviour was arbitrary and arguably less useful.
+ the previous behavior was arbitrary and arguably less useful.
Correct upcasing of ß is normally SS, which is what Fupcase returns if
given a string, or (for special purposes) ẞ.
@@ -49421,7 +51362,7 @@
exactly what the output looks like (see
https://github.com/JetBrains/kotlin/commit/\
ffe8ae3840d7b9bdc82170c8181031f05ced68bd) and there is no reason to
- risk mismatches or expensive backtracking (bug#18109). Recognise
+ risk mismatches or expensive backtracking (bug#18109). Recognize
'info' level messages. Convert to rx.
2020-12-09 Lars Ingebrigtsen <larsi@gnus.org>
@@ -49501,7 +51442,7 @@
2020-12-09 Mattias Engdegård <mattiase@acm.org>
- Recognise ß properly as a lower-case letter (bug#11309)
+ Recognize ß properly as a lower-case letter (bug#11309)
ß was incorrectly treated as a caseless character and thus not matched
by the regexp [[:lower:]] (or, in case-folding mode, [[:upper:]]).
@@ -51762,7 +53703,7 @@
Remove keyboard anachronisms from tutorial
* etc/tutorials/TUTORIAL: Don't keep referring to EDIT as if it were a
- common name for the Meta key; since a few decades back it's labelled
+ common name for the Meta key; since a few decades back it's labeled
Alt (or Option or ⌥ but those keys usually also have 'alt' engraved on
them). Similarly, CTL is practically extinct and not worth
mentioning.
@@ -52863,7 +54804,7 @@
2020-11-19 Mattias Engdegård <mattiase@acm.org>
- More string-search optimisations
+ More string-search optimizations
All-ASCII strings cannot have substrings with non-ASCII characters in
them; use this fact to avoid searching entirely.
@@ -54538,7 +56479,7 @@
2020-11-09 Harald Jörg <haj@posteo.de>
- cperl-mode: Indentation of ')' follows customisation
+ cperl-mode: Indentation of ')' follows customization
* lisp/progmodes/cperl-mode.el (cperl-style-alist): Add
cperl-close-paren-offset to the settings for PBP style.
@@ -55612,7 +57553,7 @@
* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring):
Only document the values we want to support, not the ones we
actually support.
- (define-minor-mode): Partially revert to previous behaviour.
+ (define-minor-mode): Partially revert to previous behavior.
2020-11-01 Stefan Kangas <stefan@marxist.se>
@@ -55940,7 +57881,7 @@
Since a supplied test function can do anything, assoc is not
side-effect-free (bug#44018). However, with only two arguments it is
- pure and should be optimised accordingly.
+ pure and should be optimized accordingly.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Remove 'assoc'.
(byte-optimize-assoc): Constant-propagate through 2-arg assoc calls.
@@ -56544,7 +58485,7 @@
Remove unused function in gdb-mi.el
* lisp/progmodes/gdb-mi.el (gdb-var-evaluate-expression-handler):
- Remove. (It was left behind in an old code reorganisation.)
+ Remove. (It was left behind in an old code reorganization.)
2020-10-27 Lars Ingebrigtsen <larsi@gnus.org>
@@ -56877,7 +58818,7 @@
(shortdoc-section): Remove colors.
(shortdoc-separator): New face.
(shortdoc-display-group, shortdoc--display-function): Don't use
- background colours, because that makes things harder to read.
+ background colors, because that makes things harder to read.
Separate with a horizontal line instead.
2020-10-26 Andrea Corallo <akrl@sdf.org>
@@ -57163,7 +59104,7 @@
* lisp/emacs-lisp/eldoc.el:
(eldoc-echo-area-prefer-doc-buffer): Rename from
eldoc-echo-area-prefer-doc-buffer
- (eldoc-display-in-echo-area): Rework to honour
+ (eldoc-display-in-echo-area): Rework to honor
eldoc-echo-area-prefer-doc-buffer.
2020-10-24 João Távora <joaotavora@gmail.com>
@@ -58604,7 +60545,7 @@
mixal-mode: add missed instructions
- Synchronises with latest released GNU MDK 1.2.11
+ Synchronizes with latest released GNU MDK 1.2.11
* lisp/progmodes/mixal-mode.el (mixal-operation-codes-alist):
Add missed instructions: SLB,SRB,JAE,JAO,JXE,JXO.
@@ -58807,7 +60748,7 @@
(No mixed fonts): Remove references to MELPA.
(How do the themes look like)
(Enable and load, Load automatically)
- (Configure options prior to loading, Customisation Options)
+ (Configure options prior to loading, Customization Options)
(No mixed fonts, Command prompts, Mode line, Completion UIs)
(Fringes, Line highlighting, Matching parentheses, Diffs)
(Org mode blocks, Heading styles, Tweak colors (DIY))
@@ -58989,7 +60930,7 @@
Sanitize ical data in gnus-icalendar-event-from-ical
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
- Sanitise the data before passing it on to the constructor. This
+ Sanitize the data before passing it on to the constructor. This
avoids backtraces on icals with extra, unknown slots (bug#43057).
2020-10-16 Basil L. Contovounesios <contovob@tcd.ie>
@@ -59039,7 +60980,7 @@
2020-10-16 Lars Ingebrigtsen <larsi@gnus.org>
- Restore vc-revision-other-window buffer-changing behaviour
+ Restore vc-revision-other-window buffer-changing behavior
* lisp/vc/vc.el (vc-revision-other-window): This function used to
change the current buffer, but this was changed in the previous
@@ -59727,14 +61668,14 @@
Add more numeric shortdocs
* lisp/emacs-lisp/shortdoc.el (shortdoc-section)
- (shortdoc-example): Lighten up colours on light backgrounds.
+ (shortdoc-example): Lighten up colors on light backgrounds.
2020-10-11 Lars Ingebrigtsen <larsi@gnus.org>
- Tweak shortdoc colours on light backgrounds
+ Tweak shortdoc colors on light backgrounds
* lisp/emacs-lisp/shortdoc.el (shortdoc-section)
- (shortdoc-example): Lighten up colours on light backgrounds.
+ (shortdoc-example): Lighten up colors on light backgrounds.
2020-10-11 Lars Ingebrigtsen <larsi@gnus.org>
@@ -61516,10 +63457,10 @@
2020-09-30 Lars Ingebrigtsen <larsi@gnus.org>
- Fix isearch-group-* colours on low-colour displays
+ Fix isearch-group-* colors on low-colour displays
* lisp/isearch.el (isearch-group-1): On low-colour displays, just
- use the normal isearch colour (bug#43702).
+ use the normal isearch color (bug#43702).
(isearch-group-2 etc): Ditto.
2020-09-30 Lars Ingebrigtsen <larsi@gnus.org>
@@ -61595,13 +63536,13 @@
2020-09-29 Lars Ingebrigtsen <larsi@gnus.org>
- Fix emacsclient -c foo.txt behaviour with many frames
+ Fix emacsclient -c foo.txt behavior with many frames
* lisp/server.el (server-execute): Pass in whether we opened a new
frame or not (bug#43645).
(server-switch-buffer): Use this to switch to the requested buffer
in the new frame if we have "emacsclient -c foo.txt", and retain
- the old behaviour if it's "emacsclient foo.txt".
+ the old behavior if it's "emacsclient foo.txt".
2020-09-29 Lars Ingebrigtsen <larsi@gnus.org>
@@ -61815,7 +63756,7 @@
2020-09-27 Mattias Engdegård <mattiase@acm.org>
- Minor string-search optimisations (bug#43598)
+ Minor string-search optimizations (bug#43598)
* src/fns.c (Fstring_search): Perform cheap all-ASCII checks before more
expensive ones. Use a faster loop when searching for non-ASCII
@@ -62673,7 +64614,7 @@
Speed up shr-insert slightly
- * lisp/net/shr.el (shr-insert): Speed up regularising spaces --
+ * lisp/net/shr.el (shr-insert): Speed up regularizing spaces --
the vast majority of the spaces are already OK, so transforming
" " to " " just takes time.
@@ -64644,7 +66585,7 @@
2020-09-11 Mattias Engdegård <mattiase@acm.org>
- Calc: regularise test names
+ Calc: regularize test names
* test/lisp/calc/calc-tests.el (calc-remove-units, calc-extract-units)
(calc-convert-units, calc-bug-23889, calc-trig, calc-format-radix)
@@ -65193,7 +67134,7 @@
2020-09-08 João Távora <joaotavora@gmail.com>
- Change icomplete-show-matches-on-no-input behaviour for Icomplete only
+ Change icomplete-show-matches-on-no-input behavior for Icomplete only
(Bug#19032), bug#43120
@@ -65329,7 +67270,7 @@
2020-09-07 João Távora <joaotavora@gmail.com>
- Better explain behaviour of icomplete--sorted-completions
+ Better explain behavior of icomplete--sorted-completions
* lisp/icomplete.el (icomplete--sorted-completions): Overhaul comment
@@ -66700,9 +68641,9 @@
2020-08-30 Lars Ingebrigtsen <larsi@gnus.org>
- Tweak background colours in shr when there's indentation
+ Tweak background colors in shr when there's indentation
- * lisp/net/shr.el (shr-fill-line): Get the background colour right
+ * lisp/net/shr.el (shr-fill-line): Get the background color right
for the indentation, too.
2020-08-30 Mauro Aranda <maurooaranda@gmail.com>
@@ -67615,7 +69556,7 @@
2020-08-25 Lars Ingebrigtsen <larsi@gnus.org>
- Extend background colours in shr
+ Extend background colors in shr
* lisp/net/shr.el (shr-colorize-region): Extend backgrounds to the
end (bug#43031). This avoid ragged edges to the right when, for
@@ -68577,7 +70518,7 @@
* lisp/simple.el (read-extended-command): Allow doing interactive
searches over the completions (bug#12490). This restores the
- behaviour from Emacs 23 that was lost in Emacs 24.
+ behavior from Emacs 23 that was lost in Emacs 24.
2020-08-19 Grégoire Jadi <gregoire.jadi@univ-nantes.fr>
@@ -68647,7 +70588,7 @@
2020-08-19 Tino Calancha <tino.calancha@gmail.com>
- Make thingatpt recognise files names with @ in them
+ Make thingatpt recognize files names with @ in them
* lisp/thingatpt.el (thing-at-point-file-name-chars): Add @
(Bug#24606).
@@ -71552,7 +73493,7 @@
Tweak how whitespace-mode marks the end of the buffer
* lisp/whitespace.el (whitespace-missing-newline-at-eof): Change
- the colours to not be as angry.
+ the colors to not be as angry.
(whitespace-color-on): Don't mark the end of the buffer if point
is there.
@@ -73232,11 +75173,11 @@
2020-07-25 Mattias Engdegård <mattiase@acm.org>
- Optimise 3-arg +, - and *
+ Optimize 3-arg +, - and *
Turn (+ a b c) into (+ (+ a b) c), and do the same for - and *.
The 2-arg operations have their own bytecode which results in a 1.5×
- speed-up. Furthermore, the transform enables other optimisations; for
+ speed-up. Furthermore, the transform enables other optimizations; for
example, (+ a 1 b) -> (+ (1+ a) b).
* lisp/emacs-lisp/byte-opt.el (byte-optimize-plus, byte-optimize-minus)
@@ -73691,12 +75632,12 @@
2020-07-17 Lars Ingebrigtsen <larsi@gnus.org>
- Fix NOT-CURRENT behaviour in text-property-search-backward
+ Fix NOT-CURRENT behavior in text-property-search-backward
* lisp/emacs-lisp/text-property-search.el
- (text-property-search-backward): Fix inconsistent behaviour of
+ (text-property-search-backward): Fix inconsistent behavior of
S-TAB in eww (and other callers that use the NOT-CURRENT
- behaviour) when there are adjacent elements
+ behavior) when there are adjacent elements
(bug#39239).
2020-07-17 Xu Chunyang <xuchunyang56@gmail.com>
@@ -74619,7 +76560,7 @@
(eldoc-documentation-compose, eldoc-documentation-default): Handle
non-nil, non-string values of elements of
eldoc-documentation-functions. Use eldoc--handle-multiline.
- (eldoc-print-current-symbol-info): Honour non-nil, non-string
+ (eldoc-print-current-symbol-info): Honor non-nil, non-string
values returned by eldoc-documentation-callback.
(eldoc--make-callback): Now also a function.
(eldoc-documentation-default, eldoc-documentation-compose): Tweak docstring.
@@ -74671,7 +76612,7 @@
2020-07-07 Mattias Engdegård <mattiase@acm.org>
- Optimise assoc and rassoc with symbol key to assq and rassq
+ Optimize assoc and rassoc with symbol key to assq and rassq
This is the same transformation made for member to memq.
@@ -74703,9 +76644,9 @@
2020-07-06 Mattias Engdegård <mattiase@acm.org>
- Simplify byte-code optimisation of pure functions
+ Simplify byte-code optimization of pure functions
- Most pure functions need no explicit optimisation; we can do away with
+ Most pure functions need no explicit optimization; we can do away with
almost all uses of byte-optimize-predicate (now renamed to
byte-optimize-constant-args, since it is not just for predicates).
Also remove some superfluous arity warnings.
@@ -74953,7 +76894,7 @@
CC Mode: optimize for repeated simple operations.
- Do this by recognising that unterminated strings in a buffer are typically
+ Do this by recognizing that unterminated strings in a buffer are typically
going to be few and close together. Also optimize code for C++ attributes.
* lisp/progmodes/cc-defs.el (c-previous-single-property-change): New macro.
@@ -75269,7 +77210,7 @@
* lisp/gnus/gnus-cloud.el (gnus-cloud-download-data): Return the
result of calling `gnus-cloud-update-all' when UPDATE is t, as per the
- documented behaviour. (Bug#40280)
+ documented behavior. (Bug#40280)
2020-06-23 Andrea Corallo <akrl@sdf.org>
@@ -75572,7 +77513,7 @@
* lisp/progmodes/project.el (project-shell): Improve docstring to
include information about an implementation detail.
- * lisp/progmodes/project.el (project-eshell): Modelled after
+ * lisp/progmodes/project.el (project-eshell): Modeled after
'project-shell', change default behavior such that we don't create too
many eshell buffers by default. Use universal argument to create
subsequent buffers.
@@ -76135,7 +78076,7 @@
still don't work).
(tramp-crypt-handle-access-file): New defun.
(tramp-crypt-do-copy-or-rename-file): Short track if both files
- are on a crypted remote dir.
+ are on an encrypted remote dir.
* lisp/net/tramp.el (file-notify-rm-watch): Declare.
(tramp-inhibit-progress-reporter): New defvar.
@@ -76433,14 +78374,14 @@
2020-06-10 Mattias Engdegård <mattiase@acm.org>
- Improved light/dark colour predicate (bug#41544)
+ Improved light/dark color predicate (bug#41544)
- Add a predicate, color-dark-p, for deciding whether a colour is more
+ Add a predicate, color-dark-p, for deciding whether a color is more
readable with black or white as contrast. It has experimentally been
shown to be more accurate and robust than the various methods
currently employed.
- The new predicate compares the relative luminance of the colour to an
+ The new predicate compares the relative luminance of the color to an
empirically determined cut-off value, and it seems to get it right in
almost all cases, with no value leading to outright bad results.
@@ -76602,14 +78543,14 @@
2020-06-08 Mattias Engdegård <mattiase@acm.org>
- More robust NS hex colour string parsing
+ More robust NS hex color string parsing
Invalid arguments to color-values, such as "#abcdefg" or "#1234", or
valid ones like "#111222333", should not yield nonsense values.
* src/nsterm.m (ns_get_color):
Only accept "#RGB" strings with 1-4 digits per components, equal number
- of digits each, and no trailing characters. Parse 12-bit colours
+ of digits each, and no trailing characters. Parse 12-bit colors
correctly.
2020-06-08 Michael Albinus <michael.albinus@gmx.de>
@@ -77057,7 +78998,7 @@
Make color-distance symmetric and more accurate
* src/xfaces.c (color_distance): Don't throw away the low 8 bits of
- the colours, and make the function symmetric (bug41544)
+ the colors, and make the function symmetric (bug41544)
(Fcolor_distance): Add caution about this not being a true metric.
* test/src/xfaces-tests.el: New file.
@@ -77585,7 +79526,7 @@
* lisp/international/ucs-normalize.el
(ucs-normalize-hfs-nfd-post-read-conversion)
(ucs-normalize-hfs-nfd-pre-write-conversion):
- Use save-match-data to avoid match data clobber in normalisation.
+ Use save-match-data to avoid match data clobber in normalization.
* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-save-match-data): New test.
@@ -79152,7 +81093,7 @@
2020-05-14 Mattias Engdegård <mattiase@acm.org>
- Fix customisation of mouse-drag-and-drop-region (bug#41251)
+ Fix customization of mouse-drag-and-drop-region (bug#41251)
Reported by David Ponce.
@@ -79588,12 +81529,12 @@
cc-mode: extend regexp used by ‘c-or-c++-mode’
* lisp/progmodes/cc-mode.el (c-or-c++-mode--regexp): Expand the regexp to
- match some more C++-only constructs and recognise a few more standard
+ match some more C++-only constructs and recognize a few more standard
C++ header files. Also make sure identifiers start with non-digit.
(c-or-c++-mode): Add ‘(interactive)’ declaration.
* test/lisp/progmodes/cc-mode-tests.el (c-or-c++-mode): Add test case
- for the newly recognised constructs.
+ for the newly recognized constructs.
2020-05-09 Michal Nazarewicz <mina86@mina86.com>
@@ -81362,7 +83303,7 @@
* src/nsterm.m (ns_parent_window_rect): New function.
(NS_PARENT_WINDOW_LEFT_POS):
(NS_PARENT_WINDOW_TOP_POS): Move to nsterm.m and simplify.
- (ns_set_offset): Fix strange behaviours when using negative values.
+ (ns_set_offset): Fix strange behaviors when using negative values.
(ns_set_window_size):
(ns_set_undecorated):
([EmacsView windowDidResize:]):
@@ -81478,7 +83419,7 @@
2020-04-16 Mattias Engdegård <mattiase@acm.org>
- Regularise some file-matching regexps
+ Regularize some file-matching regexps
* admin/authors.el (authors-obsolete-files-regexps)
(authors-renamed-files-regexps): Replace ^ and $ with \` and \'.
@@ -82008,7 +83949,7 @@
* lisp/progmodes/cl-font-lock.el: Fix header and make it a minor mode
- Change copyright to FSF and licence to GPLv3+.
+ Change copyright to FSF and license to GPLv3+.
Tweak Commentary (the code doesn't seem to provide the lambda
prettification mentioned).
@@ -82401,7 +84342,7 @@
Avoid expensive recoding for ASCII identity cases (bug#40407)
- Optimise for the common case of encoding or decoding an ASCII-only
+ Optimize for the common case of encoding or decoding an ASCII-only
string using an ASCII-compatible coding, for file names in particular.
* src/coding.c (string_ascii_p): New function.
@@ -82733,7 +84674,7 @@
2020-04-03 Ashish SHUKLA <ashish.is@lostca.se>
- configure.ac: switch to POSIX sh behaviour
+ configure.ac: switch to POSIX sh behavior
2020-04-03 Federico Tedin <federicotedin@gmail.com>
@@ -84702,7 +86643,7 @@
(ns_dumpglyphs_stretch): Remove unused variable.
(ns_term_init):
([EmacsWindow setAppearance]): Only compile on macOS.
- (ns_mouse_position): Make sure f is initialised on GNUstep.
+ (ns_mouse_position): Make sure f is initialized on GNUstep.
* src/emacs.c (main): Move allocation of autorelease pool to before
first use.
@@ -86421,7 +88362,7 @@
2019-11-17 Prepend "unsigned" to MINI_GMP_LIMB_TYPE
2019-11-17 Enable testing with different limb sizes (types)
2019-11-20 Use already defined constants
- 2019-11-09 Avoid undefined behaviour with small limb sizes
+ 2019-11-09 Avoid undefined behavior with small limb sizes
2020-01-26 Paul Eggert <eggert@cs.ucla.edu>
@@ -89792,7 +91733,7 @@
2019-12-26 Mattias Engdegård <mattiase@acm.org>
- Optimise 'while' bodies for effect
+ Optimize 'while' bodies for effect
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Treat all expressions in the body of 'while' as for-effect,
@@ -95751,7 +97692,7 @@
* lisp/progmodes/compile.el (compilation-parse-errors):
When 'omake' is enabled, allow error messages to be indented by 0 or 6
spaces instead of any number of spaces, to avoid pathological
- behaviour.
+ behavior.
(compilation-error-regexp-alist-alist): Anchor the 'omake' pattern to
bol for performance. Repair the 'ruby-Test::Unit' pattern, which
relied on the previously over-generous 'omake' hack.
@@ -95774,7 +97715,7 @@
Speed up 'maven' compilation error message regexp
- Anchor the regexp at line-start to prevent quadratic behaviour when
+ Anchor the regexp at line-start to prevent quadratic behavior when
it doesn't match (bug#39595). It's unclear whether the type tag, like
[ERROR], is always present; we keep it optional just in case.
@@ -96898,7 +98839,7 @@
Calc: fix interval entry (bug#39040)
- * lisp/calc/calc.el (calcDigit-start): Initialise calc-prev-char to
+ * lisp/calc/calc.el (calcDigit-start): Initialize calc-prev-char to
something more reasonable, so that non-algebraic entry of intervals
whose start is a single digit, like (1..10), works properly.
Reported by Michel Schinz.
@@ -96914,7 +98855,7 @@
flymake: fix typo in variable binding (bug#38752)
- This mistake was found by an experimental elisp optimiser.
+ This mistake was found by an experimental elisp optimizer.
* lisp/progmodes/flymake-proc.el (flymake-proc-stop-all-syntax-checks):
Add missing brackets.
@@ -98016,7 +99957,7 @@
Improve sorting of flex completion style with non-nil minibuffer-default
- This affects the behaviour of flex completion when there is a default
+ This affects the behavior of flex completion when there is a default
completion and the user hasn't entered any input pattern to flex-match
against. It is most visible when icomplete-mode or fido-mode are
being used in conjunctio.
@@ -98194,7 +100135,7 @@
* lisp/emacs-lisp/regexp-opt.el (regexp-opt):
* doc/lispref/searching.texi (Regexp Functions):
Be more specific about how the KEEP-ORDER argument actually works.
- If nil, the regexp guarantees a longest match; this is the behaviour
+ If nil, the regexp guarantees a longest match; this is the behavior
that many callers implicitly rely on.
2019-12-18 Michael Albinus <michael.albinus@gmx.de>
@@ -100773,7 +102714,7 @@
Handle FC_CHARCELL in xftfont_open
* src/xftfont.c (xftfont_open): FC_CHARCELL is apparently an alias
- for FC_DUAL used in some east Asian fonts (bug#35079). Modelled
+ for FC_DUAL used in some east Asian fonts (bug#35079). Modeled
after a patch suggested by Kenichi Handa.
2019-11-17 Eli Zaretskii <eliz@gnu.org>
@@ -100924,7 +102865,7 @@
When using this option and editing input, some transient situations
may arise that lead to file-name shadowing, but that shouldn't
- necessarily lead to auto-delete behaviour, which will be surprising.
+ necessarily lead to auto-delete behavior, which will be surprising.
In '/foo/x/bar', if the user deletes the 'x', shadowing occurs, but
probably shouldn't. So, somewhat like ido-mode, only auto-tidy
@@ -101640,7 +103581,7 @@
Add extra bindings to fido-mode.
* lisp/icomplete.el (icomplete-fido-mode-map) : Add arrows and other
- bindings to reproduce ido behaviour.
+ bindings to reproduce ido behavior.
2019-11-09 Glenn Morris <rgm@gnu.org>
@@ -104052,9 +105993,9 @@
2019-10-23 Lars Ingebrigtsen <larsi@gnus.org>
- Make Gnus recognise "git am" diffs in all groups
+ Make Gnus recognize "git am" diffs in all groups
- * lisp/gnus/mm-uu.el (mm-uu-diff-groups-regexp): Recognise diffs
+ * lisp/gnus/mm-uu.el (mm-uu-diff-groups-regexp): Recognize diffs
in all groups (bug#32730).
2019-10-22 Stefan Kangas <stefankangas@gmail.com>
@@ -106752,7 +108693,7 @@
2019-10-09 Lars Ingebrigtsen <larsi@gnus.org>
- Fix possible initialisation error in shell-mode-map
+ Fix possible initialization error in shell-mode-map
* lisp/shell.el (shell-mode-map): Comint is the parent mode, so
there's no need to explicitly make it a parent map here (bug#25187).
@@ -107100,10 +109041,10 @@
2019-10-06 Lars Ingebrigtsen <larsi@gnus.org>
- Fix the colours on Motif horizontal scroll bars
+ Fix the colors on Motif horizontal scroll bars
* src/xterm.c (x_create_horizontal_toolkit_scroll_bar): Use the
- same foreground/background colours as the vertical scroll bar
+ same foreground/background colors as the vertical scroll bar
(bug#37359).
2019-10-06 Lars Ingebrigtsen <larsi@gnus.org>
@@ -107954,7 +109895,7 @@
C++ Mode: Fontify correctly declarators with identifier preceded by &
- The problem was bar in the following being spuriously recognised as a
+ The problem was bar in the following being spuriously recognized as a
function, and foo as a type, as though the & were a *: Foo foo (&bar);.
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): New variable
@@ -108421,9 +110362,9 @@
2019-09-29 Lars Ingebrigtsen <larsi@gnus.org>
- Allow customising pdf-to-text parameters
+ Allow customizing pdf-to-text parameters
- * lisp/doc-view.el (doc-view-pdf->txt): Allow customising the
+ * lisp/doc-view.el (doc-view-pdf->txt): Allow customizing the
parameters (bug#8519).
(doc-view-pdftotext-program-args): New variable.
@@ -110922,12 +112863,12 @@
2019-09-14 Lars Ingebrigtsen <larsi@gnus.org>
- Add default foreground colours to SVG images
+ Add default foreground colors to SVG images
- * lisp/net/shr.el (svg--wrap-svg): Add a default foreground colour
+ * lisp/net/shr.el (svg--wrap-svg): Add a default foreground color
to SVG images (bug#37159). This helps with images like the ones
in https://en.wikipedia.org/wiki/Banach_fixed-point_theorem that
- specify no foreground or background colours.
+ specify no foreground or background colors.
(shr-parse-image-data): Use it.
2019-09-14 Lars Ingebrigtsen <larsi@gnus.org>
@@ -111732,7 +113673,7 @@
* lisp/epa-file.el (epa-file--replace-text): Gingerly replace the
text in the buffer to preserve as many markers as possible
- (bug#34720). This emulates the behaviour of Finsert_file_contents
+ (bug#34720). This emulates the behavior of Finsert_file_contents
more accurately.
(epa-file-decode-and-insert): Remove compat code.
(epa-file-insert-file-contents): Use the new function.
@@ -111744,7 +113685,7 @@
Repair change to compilation-context-lines (bug#36832)
* lisp/progmodes/compile.el (compilation-set-window):
- Restore proper behaviour when compilation-context-lines is nil,
+ Restore proper behavior when compilation-context-lines is nil,
which is the default.
2019-09-04 Michael Albinus <michael.albinus@gmx.de>
@@ -112424,7 +114365,7 @@
2019-08-29 Lars Ingebrigtsen <larsi@gnus.org>
- Tweak shr background colour handling
+ Tweak shr background color handling
* lisp/net/shr.el (shr-fill-line): Extend the background to the
end of the line when folding lines.
@@ -114532,7 +116473,7 @@
* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Check for
operators which cannot start a statement, which may follow a closing brace.
- Don't recognise an end of statement in such a case.
+ Don't recognize an end of statement in such a case.
* lisp/progmodes/cc-langs.el (c-operator-re, c-bin-tern-operators)
(c-unary-operators, c-non-after-{}-operators, c-non-after-{}-ops-re): New lang
@@ -115007,11 +116948,11 @@
2019-08-04 Lars Ingebrigtsen <larsi@gnus.org>
- Capitalise a couple of node names
+ Capitalize a couple of node names
- * doc/lispref/functions.texi (Advising Functions): Capitalise node
+ * doc/lispref/functions.texi (Advising Functions): Capitalize node
names (bug#17717).
- (Advice Combinators, Porting Old Advice): Capitalise.
+ (Advice Combinators, Porting Old Advice): Capitalize.
2019-08-04 Michael Heerdegen <michael_heerdegen@web.de>
@@ -115401,9 +117342,9 @@
2019-08-02 Lars Ingebrigtsen <larsi@gnus.org>
- Make Info-find-file ensure that Info is initialised
+ Make Info-find-file ensure that Info is initialized
- * lisp/info.el (Info-find-file): Ensure that Info is initialised,
+ * lisp/info.el (Info-find-file): Ensure that Info is initialized,
because libraries call that function (bug#19880).
2019-08-02 Lars Ingebrigtsen <larsi@gnus.org>
@@ -115520,7 +117461,7 @@
This fixes bug #36801.
* lisp/progmodes/cc-langs.el (c-pre-lambda-tokens-re): Use c-make-keywords-re
- rather than regexp-opt to make an optimised regexp out of a list of tokens.
+ rather than regexp-opt to make an optimized regexp out of a list of tokens.
2019-08-02 Lars Ingebrigtsen <larsi@gnus.org>
@@ -115620,7 +117561,7 @@
Document batch-byte-compile directory behavior
* lisp/emacs-lisp/bytecomp.el (batch-byte-compile): Document the
- behaviour with directories (bug#20867).
+ behavior with directories (bug#20867).
2019-08-01 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -117112,7 +119053,7 @@
2019-07-25 Lars Ingebrigtsen <larsi@gnus.org>
- Tweak the behaviour of thing-at-point--end-of-sexp
+ Tweak the behavior of thing-at-point--end-of-sexp
* lisp/thingatpt.el (thing-at-point--end-of-sexp): Don't return
nil when called with point between two parentheses (bug#29499).
@@ -117164,7 +119105,7 @@
Make `C-u w' in the Gnus Summary buffer open externally
- * doc/misc/gnus.texi (Article Commands): Document new behaviour.
+ * doc/misc/gnus.texi (Article Commands): Document new behavior.
* lisp/gnus/gnus-sum.el (gnus-shorten-url): New function.
(gnus-summary-browse-url): Change function to make `C-u' use the
@@ -118540,9 +120481,9 @@
2019-07-14 Lars Ingebrigtsen <larsi@gnus.org>
- Tweak background colour handling in shr
+ Tweak background color handling in shr
- * lisp/net/shr.el (shr-fill-line): Keep the background colour on
+ * lisp/net/shr.el (shr-fill-line): Keep the background color on
the newline and the indentation.
2019-07-14 Lars Ingebrigtsen <larsi@gnus.org>
@@ -119009,7 +120950,7 @@
* lisp/epg.el (epg-start-encrypt)
* lisp/gnus/mml-sec.el (mml-secure-epg-encrypt): When
'mml-secure-openpgp-sign-with-sender' is non-nil message sender's
- email address (in addition to its old behaviour) will also be used
+ email address (in addition to its old behavior) will also be used
to set gpg's "--sender email@domain" option.
2019-07-12 Paul Eggert <eggert@cs.ucla.edu>
@@ -119220,7 +121161,7 @@
Support program switches in 'comint-run' command
* etc/NEWS:
- * doc/emacs/misc.texi: Describe new behaviour (bug#33037).
+ * doc/emacs/misc.texi: Describe new behavior (bug#33037).
* lisp/comint.el (comint-run): Add optional SWITCHES argument.
With prefix argument C-u, prompt for SWITCHES.
@@ -120365,11 +122306,11 @@
2019-07-04 Mattias Engdegård <mattiase@acm.org>
- Optimise more inputs to `regexp-opt' (bug#36444)
+ Optimize more inputs to `regexp-opt' (bug#36444)
Use a more precise test to determine whether the input to `regexp-opt'
- is safe to optimise when KEEP-ORDER is non-nil, permitting more inputs
- to be optimised than before. For example, ("good" "goal" "go") is now
+ is safe to optimize when KEEP-ORDER is non-nil, permitting more inputs
+ to be optimized than before. For example, ("good" "goal" "go") is now
accepted.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt):
@@ -121167,7 +123108,7 @@
2019-06-27 Lars Ingebrigtsen <larsi@gnus.org>
- Mention the new emacsclient -a/--eval behaviour
+ Mention the new emacsclient -a/--eval behavior
2019-06-27 Lars Ingebrigtsen <larsi@gnus.org>
@@ -121345,11 +123286,11 @@
`replace-regexp-in-string' omits the first START characters of the
input string in its return value. This is a clear bug, but fixing it
- probably causes more trouble; document the behaviour instead (bug#36372).
+ probably causes more trouble; document the behavior instead (bug#36372).
* doc/lispref/searching.texi (Search and Replace)
* lisp/subr.el (replace-regexp-in-string):
- Document current behaviour.
+ Document current behavior.
2019-06-26 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -121612,7 +123553,7 @@
* lisp/view.el (view-search): Jump to the next/prev occurrence of
the search, even if it's displayed in the buffer (bug#18131).
- This seems more logical than the previous (undocumented) behaviour.
+ This seems more logical than the previous (undocumented) behavior.
2019-06-25 Paul Eggert <eggert@cs.ucla.edu>
@@ -121796,7 +123737,7 @@
(goto-address-uri-schemes): Ditto.
(goto-address-url-regexp): Use them to compose the final regexp.
- * lisp/net/goto-addr.el: The URI schemes to be recognised by
+ * lisp/net/goto-addr.el: The URI schemes to be recognized by
`goto-address-mode' were not regexp-quoted (Bug#23343).
2019-06-25 Tino Calancha <f92capac@gmail.com>
@@ -122384,7 +124325,7 @@
Make ls-lisp--dired ape dired-noselect more closely
- * lisp/ls-lisp.el (ls-lisp--dired): Emulate the behaviour of
+ * lisp/ls-lisp.el (ls-lisp--dired): Emulate the behavior of
non-ls-lisp.el dired better by defaulting to default-directory as
dired-noselect does (bug#35390).
@@ -125326,7 +127267,7 @@
(global-auto-revert-mode): Don't use
`after-set-visited-file-name-hook' here.
(auto-revert-set-visited-file-name): Rename from
- `auto-revert--global-set-visited-file-name' and generalise.
+ `auto-revert--global-set-visited-file-name' and generalize.
* test/lisp/autorevert-tests.el (auto-revert-test06-write-file): New.
2019-06-11 Michael Albinus <michael.albinus@gmx.de>
@@ -129768,10 +131709,10 @@
2019-05-05 Mattias Engdegård <mattiase@acm.org>
- Reorganise (auto-)revert nodes in the manual
+ Reorganize (auto-)revert nodes in the manual
Put all information about auto-revert into a section of its own, and
- organise the text in a more logical way. Previously it was mainly
+ organize the text in a more logical way. Previously it was mainly
described in the section about reverting (bug#35418).
* doc/emacs/files.texi (Files): Adjust menu.
@@ -132713,7 +134654,7 @@
* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): On
detection of such a ref-qualifier, set braceassignp to nil. When this
variable has a nil value, return nil as the value of the function. On
- encountering a } when scanning backwards, recognise this as the end of a
+ encountering a } when scanning backwards, recognize this as the end of a
previous construct and stop the scan.
2019-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -136964,7 +138905,7 @@
* doc/lispref/searching.texi (Regular Expression Functions):
* etc/NEWS:
- Document the new behaviour.
+ Document the new behavior.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt):
Return a never-match regexp for empty inputs.
@@ -138681,7 +140622,7 @@
xref-find-definitions or xref-find-definitions-other-window how to
choose a window for the *xref* buffer or how to find windows for
displaying the results after choosing a candidate. This patch makes
- that task easier, but keeps the current behaviour intact.
+ that task easier, but keeps the current behavior intact.
* lisp/progmodes/xref.el (xref--show-pos-in-buf): Simplify.
@@ -139441,7 +141382,7 @@
image-mode: Make parameters buffer-local
Image parameters were treated as image specific, but because they
- actually were global variables, their behaviour transferred to new
+ actually were global variables, their behavior transferred to new
images.
* lisp/image-mode.el (image-transform-resize, image-transform-scale)
(image-transform-rotation): Declare with defvar-local. (Bug#33990)
@@ -139581,7 +141522,7 @@
To resolve this confusion, never cycle with C-M-i in icomplete:
non-ambiguous cycling can be achieved with C-. and C-,
- The former behaviour can still be restored with:
+ The former behavior can still be restored with:
(define-key icomplete-minibuffer-map (kbd "C-M-i") 'minibuffer-force-complete)
@@ -139706,7 +141647,7 @@
really reindented. Rewrite comment.
(electric-layout-allow-duplicate-newlines): New variable.
(electric-layout-post-self-insert-function-1): Rewrite comments.
- Honours electric-layout-allow-duplicate-newlines. Don't reindent
+ Honors electric-layout-allow-duplicate-newlines. Don't reindent
previous line because racecar.
* test/lisp/electric-tests.el: New test.
@@ -139721,7 +141662,7 @@
Remove tests of electric-pair-mode and CC-based modes
- The behaviour previously observed in cc-mode-based-modes (and every
+ The behavior previously observed in cc-mode-based-modes (and every
other major-mode) when electric-pair-mode or electric-layout-mode is
turned on may no longer be observed: this because CC-mode goes around
the generic implementation of electric-pair-mode.
@@ -140848,10 +142789,10 @@
2019-01-10 Alan Third <alan@idiocy.org>
- Fix drag and drop behaviour on NS (bug#30929)
+ Fix drag and drop behavior on NS (bug#30929)
* doc/emacs/macos.texi (Mac / GNUstep Events): Describe the new drag
- and drop behaviour.
+ and drop behavior.
* lisp/term/ns-win.el (ns-drag-n-drop): Handle the new event format.
(ns-drag-n-drop-other-frame):
(ns-drag-n-drop-as-text):
@@ -147548,7 +149489,7 @@
2018-09-09 mktime: simplify in prep for glibc merge
2018-09-07 intprops: minor clarification of code
2018-09-06 stddef: Override max_align_t on NetBSD 8.0/x86
- 2018-09-06 fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku
+ 2018-09-06 fcntl: Fix F_DUPFD_CLOEXEC behavior on Haiku
2018-09-06 strtoll, strtoull: Rely on limits-h module
2018-09-06 limits-h: Provide numerical limits macros
2018-09-06 fcntl: Don't access nonexistent optional argument
@@ -149801,7 +151742,7 @@
2018-08-09 João Távora <joaotavora@gmail.com>
- Synchronous JSONRPC requests can be cancelled on user input
+ Synchronous JSONRPC requests can be canceled on user input
This allows building more responsive interfaces, such as a snappier
completion backend.
@@ -152799,7 +154740,7 @@
Tweak previous gnutls change for efficiency
- * src/gnutls.c (Fgnutls_peer_status): Minor optimisation to avoid
+ * src/gnutls.c (Fgnutls_peer_status): Minor optimization to avoid
computing the topmost certificate twice.
2018-06-24 Lars Ingebrigtsen <larsi@gnus.org>
@@ -155894,7 +157835,7 @@
* lisp/window.el (scroll-other-window-down):
Move to src/window.c as Fscroll_other_window_down.
- * src/window.c (scroll_command): Generalise for arbitrary windows.
+ * src/window.c (scroll_command): Generalize for arbitrary windows.
(Fscroll_up, Fscroll_down): Use scroll_command with selected_window.
(Fscroll_other_window, Fscroll_other_window_down):
Rewrite in terms of scroll_command.
@@ -156618,7 +158559,7 @@
326a296 ; * etc/NEWS: Mention 'display-buffer-in-major-side-window' c...
3bdc9a1 Fix flyspell-auto-correct-previous-word broken by recent change
a539eb5 * test/src/lread-tests.el (lread-test-bug-31186): New test.
- 3fa472b Fix undefined behaviour while looking for lexical-binding fil...
+ 3fa472b Fix undefined behavior while looking for lexical-binding fil...
4341aac Minor wording improvement in "Bookmarks"
Conflicts:
@@ -157218,7 +159159,7 @@
* lisp/gnus/gnus-group.el (gnus-update-group-mark-positions):
Rewrite a call to string-to-multibyte that didn't even work.
After the rewrite it gives the correct result and should allow
- people to customise Gnus group process mark positions (but that's
+ people to customize Gnus group process mark positions (but that's
a pretty obscure feature).
2018-04-14 Lars Ingebrigtsen <larsi@gnus.org>
@@ -157544,9 +159485,9 @@
From the discussion on the ding mailing list, I said:
- I think the colours should be reverted back to what they were before the
+ I think the colors should be reverted back to what they were before the
change. Normal text should be white on black (if you have a dark
- background), and colours should be used to emphasise or de-emphasise
+ background), and colors should be used to emphasize or de-emphasize
certain text. Following that principle, normal Gnus groups should be
white, not ... er... what are they now? Teal?
@@ -158975,8 +160916,8 @@
and numeric conversion in function in order to parse -signal and
-SIGNALNAME correctly.
* doc/misc/eshell.texi (kill): Update docs to reflect new function
- behaviour.
- * etc/NEWS: Mention new eshell/kill behaviour.
+ behavior.
+ * etc/NEWS: Mention new eshell/kill behavior.
2018-03-25 Noam Postavsky <npostavs@gmail.com>
@@ -163526,7 +165467,7 @@
2018-01-16 Alan Mackenzie <acm@muc.de>
- C++ Mode: Fontify correctly uniform initialisation with inner parentheses.
+ C++ Mode: Fontify correctly uniform initialization with inner parentheses.
E.g.: someStruct x ( (nullptr != y) ? 3 : 4 )
Also fontify declarations of function pointers correctly.
@@ -167575,7 +169516,7 @@
413978727c Simplify Flymake user documentation
6ff18c3995 * etc/NEWS: Mention the new version of Org.
b78332c3c6 Don't use (format "%s" ...) for string copying (Bug#28774)
- 078fb7f6df Make frame-list-z-order on NS match Windows behaviour (bug...
+ 078fb7f6df Make frame-list-z-order on NS match Windows behavior (bug...
# Conflicts:
# etc/NEWS
@@ -185141,7 +187082,7 @@
* lisp/progmodes/flymake-proc.el
(flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
- honour more sophisticated flymake-proc-diagnostic-type-pred.
+ honor more sophisticated flymake-proc-diagnostic-type-pred.
(flymake-warning-re): Is now an obsolete alias for
flymake-proc-diagnostic-type-pred.
(flymake-proc-diagnostic-type-pred): Rename and augment from
@@ -201597,7 +203538,7 @@
titlecase_char_table member. It’s set to the ‘titlecase’ Unicode
property table if capitalization has been requested.
(case_character): Make use of the titlecase_char_table to title-case
- initial characters when capitalising.
+ initial characters when capitalizing.
* test/src/casefiddle-tests.el (casefiddle-tests--characters,
casefiddle-tests-casing): Update test cases which are now passing.
@@ -203852,7 +205793,7 @@
* lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
(tramp-completion-mode-p): Optional parameter VEC. Replace
- check for `last-input-event' by analysing VEC argument.
+ check for `last-input-event' by analyzing VEC argument.
(tramp-error-with-buffer, tramp-file-name-handler)
(tramp-connectable-p, tramp-handle-file-name-as-directory):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
@@ -216457,8 +218398,7 @@
Stick with debbugs-supported tags in triage
* admin/notes/bug-triage: Stick to the tag "unreproducible", which
- debbugs supports, rather than suggesting "doneunreproducible" or
- "unreproducable".
+ debbugs supports.
2016-09-26 Paul Eggert <eggert@cs.ucla.edu>
@@ -234978,7 +236918,7 @@
This file records repository revisions from
commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
-commit f2ae39829812098d8269eafbc0fcb98959ee5bb7 (inclusive).
+commit ddabb03a0176beb4b7fc8d4f2267d459fd2ebded (inclusive).
See ChangeLog.2 for earlier changes.
;; Local Variables:
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/README
^
|
@@ -2,7 +2,7 @@
See the end of the file for license conditions.
-This directory tree holds version 28.1 of GNU Emacs, the extensible,
+This directory tree holds version 28.2 of GNU Emacs, the extensible,
customizable, self-documenting real-time display editor.
The file INSTALL in this directory says how to build and install GNU
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/admin/admin.el
^
|
@@ -340,11 +340,13 @@
\"https://www.w3.org/TR/html4/loose.dtd\">\n\n")
(defconst manual-meta-string
- "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">
-<link rev=\"made\" href=\"mailto:bug-gnu-emacs@gnu.org\">
+ "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">\n")
+
+(defconst manual-links-string
+ "<link rev=\"made\" href=\"mailto:bug-gnu-emacs@gnu.org\">
<link rel=\"icon\" type=\"image/png\" href=\"/graphics/gnu-head-mini.png\">
<meta name=\"ICBM\" content=\"42.256233,-71.006581\">
-<meta name=\"DC.title\" content=\"gnu.org\">\n\n")
+<meta name=\"DC.title\" content=\"gnu.org\">\n")
(defconst manual-style-string "<style type=\"text/css\">
@import url('/software/emacs/manual.css');\n</style>\n")
@@ -475,6 +477,13 @@
(delete-region opoint (point))
(search-forward "<meta http-equiv=\"Content-Style")
(setq opoint (match-beginning 0)))
+ (search-forward "<title>")
+ (delete-region opoint (match-beginning 0))
+ (search-forward "</title>\n")
+ (when (search-forward "<link href=" nil t)
+ (goto-char (match-beginning 0)))
+ (insert manual-links-string)
+ (setq opoint (point))
(search-forward "</head>")
(goto-char (match-beginning 0))
(delete-region opoint (point))
@@ -591,76 +600,81 @@
(forward-line 1)
(setq done t)))))
(let (done open-td tag desc)
- ;; Convert the list that Makeinfo made into a table.
- (or (search-forward "<ul class=\"menu\">" nil t)
- ;; FIXME? The following search seems dangerously lax.
- (search-forward "<ul>"))
- (replace-match "<table style=\"float:left\" width=\"100%\">")
- (forward-line 1)
- (while (not done)
- (cond
- ((or (looking-at "<li>\\(<a.+</a>\\):[ \t]+\\(.*\\)$")
- (looking-at "<li>\\(<a.+</a>\\)$"))
- (setq tag (match-string 1))
- (setq desc (match-string 2))
- (replace-match "" t t)
- (when open-td
- (save-excursion
- (forward-char -1)
- (skip-chars-backward " ")
- (delete-region (point) (line-end-position))
- (insert "</td>\n </tr>")))
- (insert " <tr>\n ")
- (if table-workaround
- ;; This works around a Firefox bug in the mono file.
- (insert "<td bgcolor=\"white\">")
- (insert "<td>"))
- (insert tag "</td>\n <td>" (or desc ""))
- (setq open-td t))
- ((eq (char-after) ?\n)
- (delete-char 1)
- ;; Negate the following `forward-line'.
- (forward-line -1))
- ((looking-at "<!-- ")
- (search-forward "-->"))
- ((looking-at "<p>[- ]*The Detailed Node Listing[- \n]*")
- (replace-match " </td></tr></table>\n
+ ;; Texinfo 6.8 and later doesn't produce <ul class="menu"> lists
+ ;; for the TOC menu, and the "description" part of each menu
+ ;; item is not there anymore. So for HTML manuals produced by
+ ;; those newer versions of Texinfo we punt and leave the menu in
+ ;; its original form.
+ (when (or (search-forward "<ul class=\"menu\">" nil t)
+ ;; FIXME? The following search seems dangerously lax.
+ (search-forward "<ul>" nil t))
+ ;; Convert the list that Makeinfo made into a table.
+ (replace-match "<table style=\"float:left\" width=\"100%\">")
+ (forward-line 1)
+ (while (not done)
+ (cond
+ ((or (looking-at "<li>\\(<a.+</a>\\):[ \t]+\\(.*\\)$")
+ (looking-at "<li>\\(<a.+</a>\\)$"))
+ (setq tag (match-string 1))
+ (setq desc (match-string 2))
+ (replace-match "" t t)
+ (when open-td
+ (save-excursion
+ (forward-char -1)
+ (skip-chars-backward " ")
+ (delete-region (point) (line-end-position))
+ (insert "</td>\n </tr>")))
+ (insert " <tr>\n ")
+ (if table-workaround
+ ;; This works around a Firefox bug in the mono file.
+ (insert "<td bgcolor=\"white\">")
+ (insert "<td>"))
+ (insert tag "</td>\n <td>" (or desc ""))
+ (setq open-td t))
+ ((eq (char-after) ?\n)
+ (delete-char 1)
+ ;; Negate the following `forward-line'.
+ (forward-line -1))
+ ((looking-at "<!-- ")
+ (search-forward "-->"))
+ ((looking-at "<p>[- ]*The Detailed Node Listing[- \n]*")
+ (replace-match " </td></tr></table>\n
<h3>Detailed Node Listing</h3>\n\n" t t)
- (search-forward "<p>")
- ;; FIXME Fragile!
- ;; The Emacs and Elisp manual have some text at the
- ;; start of the detailed menu that is not part of the menu.
- ;; Other manuals do not.
- (if (looking-at "Here are some other nodes")
- (search-forward "<p>"))
- (goto-char (match-beginning 0))
- (skip-chars-backward "\n ")
- (setq open-td nil)
- (insert "</p>\n\n<table style=\"float:left\" width=\"100%\">"))
- ((looking-at "</li></ul>")
- (replace-match "" t t))
- ((looking-at "<p>")
- (replace-match "" t t)
- (when open-td
- (insert " </td></tr>")
- (setq open-td nil))
- (insert " <tr>
+ (search-forward "<p>")
+ ;; FIXME Fragile!
+ ;; The Emacs and Elisp manual have some text at the
+ ;; start of the detailed menu that is not part of the menu.
+ ;; Other manuals do not.
+ (if (looking-at "Here are some other nodes")
+ (search-forward "<p>"))
+ (goto-char (match-beginning 0))
+ (skip-chars-backward "\n ")
+ (setq open-td nil)
+ (insert "</p>\n\n<table style=\"float:left\" width=\"100%\">"))
+ ((looking-at "</li></ul>")
+ (replace-match "" t t))
+ ((looking-at "<p>")
+ (replace-match "" t t)
+ (when open-td
+ (insert " </td></tr>")
+ (setq open-td nil))
+ (insert " <tr>
<th colspan=\"2\" align=\"left\" style=\"text-align:left\">")
- (if (re-search-forward "</p>[ \t\n]*<ul class=\"menu\">" nil t)
- (replace-match " </th></tr>")))
- ((looking-at "[ \t]*</ul>[ \t]*$")
- (replace-match
- (if open-td
- " </td></tr>\n</table>"
- "</table>") t t)
- (setq done t))
- (t
- (if (eobp)
- (error "Parse error in %s"
- (file-name-nondirectory buffer-file-name)))
- (unless open-td
- (setq done t))))
- (forward-line 1)))))
+ (if (re-search-forward "</p>[ \t\n]*<ul class=\"menu\">" nil t)
+ (replace-match " </th></tr>")))
+ ((looking-at "[ \t]*</ul>[ \t]*$")
+ (replace-match
+ (if open-td
+ " </td></tr>\n</table>"
+ "</table>") t t)
+ (setq done t))
+ (t
+ (if (eobp)
+ (error "Parse error in %s"
+ (file-name-nondirectory buffer-file-name)))
+ (unless open-td
+ (setq done t))))
+ (forward-line 1))))))

(defconst make-manuals-dist-output-variables
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/admin/authors.el
^
|
@@ -163,6 +163,7 @@
("Michael R. Cook" "Michael Cook")
("Michael Sperber" "Mike Sperber" "Michael Sperber \\[Mr. Preprocessor\\]")
("Michalis V" "^mvar")
+ ("Miha Rihtaršič" "Miha Rihtarsic")
("Mikio Nakajima" "Nakajima Mikio")
("Nelson Jose dos Santos Ferreira" "Nelson Ferreira")
("Noorul Islam" "Noorul Islam K M")
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/admin/make-tarball.txt
^
|
@@ -15,8 +15,8 @@
2. Consider increasing the value of the variable
'customize-changed-options-previous-release' in cus-edit.el to
refer to a newer version of Emacs. (This is now done when cutting
- the release branch, see admin/release-branch.txt.)
- Commit cus-edit.el if changed.
+ the release branch, see admin/release-branch.txt, but it can't
+ hurt to double check its value.) Commit cus-edit.el if changed.
3. Remove any old pretests from https://alpha.gnu.org/gnu/emacs/pretest.
You can use 'gnupload --delete' (see below for more gnupload details).
@@ -24,8 +24,8 @@
General steps (for each step, check for possible errors):
-1. git pull # fetch from the repository
- git status # check for locally modified files
+1. git pull # fetch from the repository
+ git status # check for locally modified files
Ensure that you have a clean, unmodified state.
If you switched in-place from another branch to the release branch,
@@ -49,17 +49,39 @@
files will end up in the tarball. Otherwise, the *.eln files
might not build correctly on the user's system.
+ ./autogen.sh
+ ./configure --with-native-compilation && make
+
For a release (as opposed to pretest), delete any left-over "---"
and "+++" markers from etc/NEWS, as well as the "Temporary note"
section at the beginning of that file, and commit etc/NEWS if it
was modified.
-2. Regenerate the etc/AUTHORS file:
+2. Regenerate the versioned ChangeLog.N and etc/AUTHORS files.
+
+ The "M-x authors" command below will first update the current
+ versioned ChangeLog.N file. For this to work correctly, make sure
+ the top-level Makefile says
+
+ PREFERRED_BRANCH = emacs-NN
+
+ where NN is the version on the release branch from which you are
+ producing the tarball. If NN is incorrect, update Makefile.in and
+ re-run 'configure' to update Makefile.
+
+ If the versioned ChangeLog.N file is too large, start a new one
+ by bumping N, and also update the line in top-level Makefile.in
+ which says
+
+ CHANGELOG_HISTORY_INDEX_MAX = N
+
+ by incrementing the value of N by 1; then regenerate Makefile.
+
+ Now:
+
M-: (require 'authors) RET
M-x authors RET
- (This first updates the current versioned ChangeLog.N)
-
If this says "Problem updating ChangeLog", find the reason for the
failure of the command it runs, viz.:
@@ -139,13 +161,15 @@
5. Copy lisp/loaddefs.el to lisp/ldefs-boot.el.
- Commit ChangeLog.N, etc/AUTHORS, lisp/ldefs-boot.el, and the
- files changed by M-x set-version. The easiest way of doing that
- is "C-x v d ROOT-DIR RET", then go to the first modified file,
- press 'M' to mark all modified files, and finally 'v' to commit
- them. Make sure the commit log message mentions all the changes
- in all modified files, as by default 'v' doesn't necessarily do
- so.
+ Commit ChangeLog.N, etc/AUTHORS, lisp/ldefs-boot.el, and the files
+ changed by M-x set-version. Note that the set-version changes
+ should be committed separately, as described in step 3 above.
+
+ The easiest way of doing that is "C-x v d ROOT-DIR RET", then go
+ to the first modified file, press 'M' to mark all modified files,
+ and finally 'v' to commit them. Make sure the commit log message
+ mentions all the changes in all modified files, as by default 'v'
+ doesn't necessarily do so.
If someone else made a commit between step 1 and now,
you need to repeat from step 4 onwards. (You can commit the files
@@ -159,9 +183,10 @@
yourself, find it at <https://alpha.gnu.org/gnu/emacs/pretest>.
Releases are of course at <https://ftp.gnu.org/pub/gnu/emacs/>.
- ./admin/diff-tar-files emacs-OLD.tar.gz emacs-NEW.tar.gz
+ ./admin/diff-tar-files emacs-OLD.tar emacs-NEW.tar
- Alternatively:
+ Alternatively, if you want to use the compressed tarballs (which
+ diff-tar-files doesn't understand):
tar tJf emacs-OLD.tar.xz | sed -e 's,^[^/]*,,' | sort > old_tmp
tar tJf emacs-NEW.tar.xz | sed -e 's,^[^/]*,,' | sort > new_tmp
@@ -179,7 +204,7 @@
The output of this command might be easier to compare to the
tarball than the one you get from find.
-7. tar -xf emacs-NEW.tar; cd emacs-NEW
+7. tar xf emacs-NEW.tar; cd emacs-NEW
./configure --prefix=/tmp/emacs && make check && make install
Use 'script' or M-x compile to save the compilation log in
@@ -263,7 +288,8 @@
https://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, or
https://ftp.gnu.org/gnu/emacs/ for a release.
- Download them and check the signatures. Check they build.
+ Download them and check the signatures and SHA1/SHA256 checksums.
+ Check they build (./configure --with-native-compilation).
11. Send an announcement to: emacs-devel, and bcc: info-gnu-emacs@gnu.org.
For a pretest, also bcc: platform-testers@gnu.org.
@@ -281,12 +307,20 @@
To create the included SHA1 and SHA256 checksums, run:
- sha1sum emacs-NEW.tar.xz
- sha256sum emacs-NEW.tar.xz
+ sha1sum emacs-NEW.tar.xz
+ sha256sum emacs-NEW.tar.xz
+
+ You can optionally sign the announcement email, preferably using
+ the same PGP key that you used for signing the tarball.
+ (Use e.g. `M-x mml-secure-message-sign' in `message-mode' to sign
+ an email.)
12. After a release, update the Emacs pages as described below.
-13. Bump the Emacs version on the release branch.
+13. After a release, bump the Emacs version on the release branch.
+ There is no need to bump the version after a pretest; the version
+ is bumped before the next pretest or release instead.
+
If the released version was XX.Y, use 'set-version' from
admin/admin.el to bump the version on the release branch to
XX.Y.50. Commit the changes.
@@ -294,8 +328,8 @@
UPDATING THE EMACS WEB PAGES AFTER A RELEASE
As soon as possible after a release, the Emacs web pages at
-https://www.gnu.org/software/emacs/ should be updated. (See
-admin/notes/www for general information.)
+https://www.gnu.org/software/emacs/ should be updated.
+(See admin/notes/www for general information.)
The pages to update are:
@@ -311,21 +345,81 @@
<div class="release-banner">
<div class="container">
- <h2><em>Emacs 27.1 is out</em>, download it <a href="download.html">here</a>!</h2>
+ <h2><em>Emacs 28.1 is out</em>, download it <a href="download.html">here</a>!</h2>
</div>
</div>
-Regenerate the various manuals in manual/.
-The scripts admin/make-manuals and admin/upload-manuals summarize the process.
-
-If you have Texinfo installed locally, make-manuals might fail if it
-cannot find epsf.tex. In that case define in the environment
-
- TEXINPUTS=:/path/to/texinfo-tree/doc
+Also, make sure the copyright years at the bottom of emacs.html are
+up-to-date.
-where /path/to/texinfo-tree is the absolute file name of the top-level
-directory where you have the Texinfo source tree. Then re-run
-make-manuals.
+The file download.html may need to be updated, for example if the
+MS-Windows binaries will be signed by a different person/key than
+those mentioned there.
+
+Next, regenerate the various manuals in HTML, PDF, and PS formats:
+
+ Invoke ./admin/make-manuals from the top-level directory of the
+ Emacs source tree that contains the manuals for which you want to
+ produce HTML docs. This creates the 'manual' directory and
+ populates it with the necessary files.
+
+ If you have Texinfo installed locally, make-manuals might fail if it
+ cannot find epsf.tex. In that case define in the environment
+
+ TEXINPUTS=:/path/to/texinfo-tree/doc
+
+ where /path/to/texinfo-tree is the absolute file name of the
+ top-level directory where you have the Texinfo source tree. Then
+ re-run make-manuals.
+
+ make-manuals can also fail if the HTML manuals produced by Texinfo
+ violate some of the assumptions admin/admin.el makes about the
+ format of the produced HTML. Debug these problems and resolve them,
+ then re-run make-manuals. (Each time you run make-manuals, it
+ empties the manuals/ directory and regenerates the files there, but
+ if the files in manuals/ can be used without regeneration, i.e. if
+ the problem you solved doesn't affect the produced HTML, you can
+ invoke make-manuals with the -c switch, which will make the process
+ much faster.)
+
+Now change to the 'manual' directory and invoke upload-manuals:
+
+ ../admin/updload-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'
+ and 'refcards'. This moves the produced manuals to directories in
+ the Web pages CVS checkout tree, and also invokes CVS commands to
+ commit changed files, add new files, and remove stale files that are
+ no longer part of the manuals.
+
+ If upload-manuals fails, resolve the problems and re-invoke it.
+ This requires running make-manuals again, since upload-manuals
+ destructively modifies the 'manual' directory where you invoke it.
+ Also, upload-manuals invokes "cvs commit -f", so if you run it
+ several times, some files will be committed more than once even
+ though they were not changed in-between. Suck it up.
+
+ All the added and removed files need to be committed, so next fire
+ up Emacs, type "C-x v d" to invoke vc-dir on the Web pages checkout,
+ and use "C-x v v" and other VC commands to commit all the files that
+ upload-manuals didn't automatically commit. (You can also do that
+ with manual CVS commands, of course, but this is not recommended.)
+
+ Next, make sure that manual/index.html file is consistent with the
+ info/dir file in the branch for which you are producing the manuals,
+ in that it mentions all the manuals. It could be outdated if
+ manuals were added or removed since the last release.
+
+ For each new manual, a file manual/MANUAL.html (where MANUAL is the
+ name of the manual) should be created from the template in
+ manual/eww.html, after editing the title and the Copyright years,
+ and the links in it changed to point to the appropriate files in the
+ manual/html_node/ and manual/html_mono/ subdirectories.
+
+ In addition, the file refcards/index.html should be audited to make
+ sure it includes the up-to-date list of refcards actually produced
+ and put under that subdirectory.
Browsing <https://web.cvs.savannah.gnu.org/viewvc/?root=emacs> is one
way to check for any files that still need updating.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/admin/notes/multi-tty
^
|
@@ -474,7 +474,7 @@
definition.
Exceptions found so far: x-select-text and
- x-selection-value (old name: x-cut-buffer-or-selection-value).
+ x-selection-value.
** Have a look at fatal_error_hook.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/admin/notes/spelling
^
|
@@ -6,6 +6,6 @@
for new text (code, docs), choose the US variant.
- It's probably (IMHO --ttn, 2017-10-13) not a high priority to
- change existing text; use your best judgement (ask if unsure).
+ change existing text; use your best judgment (ask if unsure).
- https://lists.gnu.org/r/emacs-devel/2005-06/msg00489.html
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/admin/upload-manuals
^
|
@@ -334,7 +334,10 @@
[ -e $webdir/manual/$d ] || {
echo "New directory: $d"
mkdir $webdir/manual/$d
- $cvs add $webdir/manual/$d || die "add error"
+ (
+ cd $webdir/manual
+ $cvs add $d || die "add error"
+ )
}
new=
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/configure.ac
^
|
@@ -23,7 +23,7 @@
AC_PREREQ(2.65)
dnl Note this is parsed by (at least) make-dist and lisp/cedet/ede/emacs.el.
-AC_INIT(GNU Emacs, 28.1, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
+AC_INIT(GNU Emacs, 28.2, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
dnl Set emacs_config_options to the options of 'configure', quoted for the shell,
dnl and then quoted again for a C string. Separate options with spaces.
@@ -2047,17 +2047,16 @@
AC_SUBST(NS_OBJC_OBJ)
if test "${HAVE_NS}" = yes; then
+ AC_LANG_PUSH([Objective C])
AC_CACHE_CHECK(
[if the Objective C compiler supports instancetype],
[emacs_cv_objc_instancetype],
- [AC_LANG_PUSH([Objective C])
- AC_COMPILE_IFELSE(
+ [AC_COMPILE_IFELSE(
[AC_LANG_SOURCE([[@interface Test
+ (instancetype)test;
@end]])],
- emacs_cv_objc_instancetype=yes,
- emacs_cv_objc_instancetype=no)
- AC_LANG_POP([Objective C])])
+ [emacs_cv_objc_instancetype=yes],
+ [emacs_cv_objc_instancetype=no])])
if test x$emacs_cv_objc_instancetype = xyes ; then
AC_DEFINE(NATIVE_OBJC_INSTANCETYPE, 1,
@@ -2067,16 +2066,15 @@
AC_CACHE_CHECK(
[if the Objective C compiler defaults to C99],
[emacs_cv_objc_c99],
- [AC_LANG_PUSH([Objective C])
- AC_COMPILE_IFELSE(
+ [AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([], [[for (int i = 0;;);]])],
- emacs_cv_objc_c99=yes,
- emacs_cv_objc_c99=no)
- AC_LANG_POP([Objective C])])
+ [emacs_cv_objc_c99=yes],
+ [emacs_cv_objc_c99=no])])
- if test x$emacs_cv_objc_c99 = xno ; then
- GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -std=c99"
- fi
+ if test x$emacs_cv_objc_c99 = xno ; then
+ GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -std=c99"
+ fi
+ AC_LANG_POP([Objective C])
fi
HAVE_W32=no
@@ -3843,8 +3841,8 @@
if test -n "`$BREW --prefix --installed libgccjit 2>/dev/null`"; then
MAC_CFLAGS="-I$(dirname $($BREW ls -v libgccjit | \
grep libgccjit.h))"
- MAC_LIBS="-L$(dirname $($BREW ls -v libgccjit| \
- grep libgccjit.so\$))"
+ MAC_LIBS="-L$(dirname $($BREW ls -v libgccjit \
+ | grep -m1 -E 'libgccjit\.(so|dylib)$'))"
fi
fi
@@ -4380,6 +4378,10 @@
AC_SUBST([LIBSECCOMP_LIBS])
AC_SUBST([LIBSECCOMP_CFLAGS])
+AC_CHECK_SIZEOF([long])
+SIZEOF_LONG="$ac_cv_sizeof_long"
+AC_SUBST([SIZEOF_LONG])
+
OLD_LIBS=$LIBS
LIBS="$LIB_PTHREAD $LIB_MATH $LIBS"
AC_CHECK_FUNCS(accept4 fchdir gethostname \
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/ack.texi
^
|
@@ -245,6 +245,11 @@
generating JSON files.
@item
+Andrea Corallo wrote the native compilation support in @file{comp.c}
+and @file{comp.el}, for compiling Emacs Lisp to native code using
+@samp{libgccjit}.
+
+@item
Georges Brun-Cottan and Stefan Monnier wrote @file{easy-mmode.el}, a
package for easy definition of major and minor modes.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/buffers.texi
^
|
@@ -616,10 +616,11 @@
The text of the indirect buffer is always identical to the text of its
base buffer; changes made by editing either one are visible immediately
-in the other. But in all other respects, the indirect buffer and its
+in the other. ``Text'' here includes both the characters and their text
+properties. But in all other respects, the indirect buffer and its
base buffer are completely separate. They can have different names,
different values of point, different narrowing, different markers,
-different major modes, and different local variables.
+different overlays, different major modes, and different local variables.
An indirect buffer cannot visit a file, but its base buffer can. If
you try to save the indirect buffer, that actually works by saving the
@@ -645,6 +646,14 @@
named @var{indirect-name} from a buffer @var{base-buffer}, prompting for
both using the minibuffer.
+Note: When a modification is made to the text of a buffer, the
+modification hooks are run only in the base buffer, because most of
+the functions on those hooks are not prepared to work correctly in
+indirect buffers. So if you need a modification hook function in an
+indirect buffer, you need to manually add that function to the hook
+@emph{in the base buffer} and then make the function operate in the
+desired indirect buffer.
+
@node Buffer Convenience
@section Convenience Features and Customization of Buffer Handling
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/cmdargs.texi
^
|
@@ -771,29 +771,45 @@
@pindex addpm, MS-Windows installation program
@cindex registry, setting environment variables (MS-Windows)
-On MS-Windows, the installation program @command{addpm.exe} adds
-values for @env{emacs_dir}, @env{EMACSLOADPATH}, @env{EMACSDATA},
-@env{EMACSPATH}, @env{EMACSDOC}, @env{SHELL} and @env{TERM} to the
-@file{HKEY_LOCAL_MACHINE} section of the system registry, under
-@file{/Software/GNU/Emacs}. It does this because there is no standard
-place to set environment variables across different versions of
-Windows. Running @command{addpm.exe} is no longer strictly necessary
-in recent versions of Emacs, but if you are upgrading from an older
-version, running @command{addpm.exe} ensures that you do not have
-older registry entries from a previous installation, which may not be
-compatible with the latest version of Emacs.
-
-When Emacs starts, as well as checking the environment, it also checks
-the System Registry for those variables and for @env{HOME}, @env{LANG}
-and @env{PRELOAD_WINSOCK}.
+On MS-Windows, the environment variables @env{emacs_dir},
+@env{EMACSLOADPATH}, @env{EMACSDATA}, @env{EMACSPATH}, @env{EMACSDOC},
+@env{SHELL}, @env{TERM}, @env{HOME}, @env{LANG}, and
+@env{PRELOAD_WINSOCK} can also be set in the @file{HKEY_CURRENT_USER}
+or the @file{HKEY_LOCAL_MACHINE} section of the system registry, under
+the @file{/Software/GNU/Emacs} key. When Emacs starts, as well as
+checking the environment, it also checks the system registry for those
+variables.
To determine the value of those variables, Emacs goes through the
-following procedure. First, the environment is checked. If the
-variable is not found there, Emacs looks for registry keys by that
-name under @file{/Software/GNU/Emacs}; first in the
+following procedure. First, it checks the environment. If the
+variable is not found there, Emacs looks for a registry key by the
+name of the variable under @file{/Software/GNU/Emacs}; first in the
@file{HKEY_CURRENT_USER} section of the registry, and if not found
there, in the @file{HKEY_LOCAL_MACHINE} section. Finally, if Emacs
-still cannot determine the values, compiled-in defaults are used.
+still cannot determine the values, it uses the compiled-in defaults.
+
+Note that the registry settings have global system-wide effect: they
+will affect all Emacs sessions run on the system. Thus, if you run
+different Emacs versions, or use both installed and un-installed Emacs
+executables, or build newer versions of Emacs, the settings in the
+registry will cause all of them to use the same directories, which is
+probably not what you want. For this reason, @emph{we recommend
+against setting these variables in the registry}. If you have such
+settings in the registry, we recommend that you remove them.
+
+If you run the Emacs MS-Windows installation program
+@command{addpm.exe}, it will update any existing registry settings of
+the @env{emacs_dir}, @env{EMACSLOADPATH}, @env{EMACSDATA},
+@env{EMACSPATH}, @env{EMACSDOC}, @env{SHELL}, and @env{TERM} variables
+to have the values suitable for the installed Emacs version with which
+@command{addpm.exe} came. Note that @command{addpm.exe} will
+@emph{not} create any registry setting that didn't exist, it will only
+update existing settings, which are most probably inherited from an
+old Emacs installation, so that they are compatible with the newly
+installed Emacs version. Running @command{addpm.exe} is no longer
+necessary when installing recent versions of Emacs, so we only
+recommend doing that if you are upgrading from an older version, and
+cannot remove these settings from the registry for some reason.
In addition to the environment variables above, you can also add
settings to the @file{/Software/GNU/Emacs} registry key to specify X
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/custom.texi
^
|
@@ -2434,6 +2434,9 @@
Write a single-quote (@code{'}) followed by the Lisp object you want.
@end table
+ For more information on the Emacs Lisp syntax, @pxref{Introduction,,,
+elisp, The Emacs Lisp Reference Manual}.
+
@node Init Examples
@subsection Init File Examples
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/display.texi
^
|
@@ -1908,7 +1908,7 @@
convenient way to turn on display of line numbers. This mode has a globalized
variant, @code{global-display-line-numbers-mode}. The user option
@code{display-line-numbers-type} controls which sub-mode of
-line-number display, described above, will these modes activate.
+line-number display, described above, these modes will activate.
@noindent
Note that line numbers are not displayed in the minibuffer and in the
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/emacs.texi
^
|
@@ -1409,23 +1409,23 @@
@c It's hard to update this fairly.
@c I wonder if it would be better to drop it in favor of AUTHORS?
-Contributors to GNU Emacs include Jari Aalto, Per Abrahamsen, Tomas
+Contributors to GNU Emacs include Jari Aalto, Eric Abrahamsen, Per Abrahamsen, Tomas
Abrahamsson, Jay K. Adams, Alon Albert, Michael Albinus, Nagy
Andras, Benjamin Andresen, Ralf Angeli, Dmitry Antipov, Joe Arceneaux, Emil Åström,
Miles Bader, David Bakhash, Juanma Barranquero, Eli Barzilay, Thomas
Baumann, Steven L. Baur, Jay Belanger, Alexander L. Belikoff,
-Thomas Bellman, Scott Bender, Boaz Ben-Zvi, Sergey Berezin, Stephen Berman, Karl
+Thomas Bellman, Scott Bender, Boaz Ben-Zvi, Sergey Berezin, Stephen Berman, Jonas Bernoulli, Karl
Berry, Anna M. Bigatti, Ray Blaak, Martin Blais, Jim Blandy, Johan
Bockgård, Jan Böcker, Joel Boehland, Lennart Borgman, Per Bothner,
Terrence Brannon, Frank Bresz, Peter Breton, Emmanuel Briot, Kevin
Broadey, Vincent Broman, Michael Brouwer, David M. Brown, Ken Brown, Stefan Bruda,
-Daniel Colascione,
+Damien Cassou, Daniel Colascione,
Georges Brun-Cottan, Joe Buehler, Scott Byer, Włodek Bzyl, Tino Calancha,
Bill Carpenter, Per Cederqvist, Hans Chalupsky, Chris Chase, Bob
Chassell, Andrew Choi, Chong Yidong, Sacha Chua, Stewart Clamen, James
-Clark, Mike Clarkson, Glynn Clements, Andrew Cohen, Daniel Colascione,
+Clark, Mike Clarkson, Glynn Clements, Andrea Corallo, Andrew Cohen, Daniel Colascione,
Christoph Conrad, Ludovic Courtès, Andrew Csillag,
-Toby Cubitt, Baoqiu Cui, Doug Cutting, Mathias Dahl, Julien Danjou, Satyaki
+Toby Cubitt, Baoqiu Cui, Doug Cutting, Mathias Dahl, Yue Daian, Julien Danjou, Satyaki
Das, Vivek Dasmohapatra, Dan Davison, Michael DeCorte, Gary Delp, Nachum
Dershowitz, Dave Detlefs, Matthieu Devin, Christophe de Dinechin, Eri
Ding, Jan Djärv, Lawrence R. Dodd, Carsten Dominik, Scott Draves,
@@ -1433,36 +1433,36 @@
Eaton, Rolf Ebert, Carl Edman, David Edmondson, Paul Eggert, Stephen
Eglen, Christian Egli, Torbjörn Einarsson, Tsugutomo Enami, David
Engster, Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, Frederick
-Farnbach, Oscar Figueiredo, Fred Fish, Steve Fisk, Karl Fogel, Gary
+Farnbach, Oscar Figueiredo, Fred Fish, Steve Fisk, Thomas Fitzsimmons, Karl Fogel, Gary
Foster, Eric S. Fraga, Romain Francoise, Noah Friedman, Andreas
Fuchs, Shigeru Fukaya, Xue Fuqiao, Hallvard Furuseth, Keith Gabryelski, Peter S.
Galbraith, Kevin Gallagher, Fabián E. Gallina, Kevin Gallo, Juan León Lahoz García,
Howard Gayle, Daniel German, Stephen Gildea, Julien Gilles, David
-Gillespie, Bob Glickstein, Deepak Goel, David De La Harpe Golden, Boris
+Gillespie, Bob Glickstein, Nicolas Goaziou, Deepak Goel, David De La Harpe Golden, Boris
Goldowsky, David Goodger, Chris Gray, Kevin Greiner, Michelangelo Grigni, Odd
Gripenstam, Kai Großjohann, Michael Gschwind, Bastien Guerry, Henry
Guillaume, Dmitry Gutov, Doug Gwyn, Bruno Haible, Ken'ichi Handa, Lars Hansen, Chris
Hanson, Jesper Harder, Alexandru Harsanyi, K. Shane Hartman, John
Heidemann, Jon K. Hellan, Magnus Henoch, Markus Heritsch, Dirk
-Herrmann, Karl Heuer, Manabu Higashida, Konrad Hinsen, Anders Holst,
-Jeffrey C. Honig, Tassilo Horn, Kurt Hornik, Khaled Hosny, Tom Houlder, Joakim
+Herrmann, Karl Heuer, Manabu Higashida, Konrad Hinsen, Torsten Hilbrich, Anders Holst,
+Jeffrey C. Honig, Jürgen Hötzel, Tassilo Horn, Kurt Hornik, Khaled Hosny, Tom Houlder, Joakim
Hove, Denis Howe, Lars Ingebrigtsen, Andrew Innes, Seiichiro Inoue,
Philip Jackson, Martyn Jago, Pavel Janik, Paul Jarc, Ulf Jasper,
Thorsten Jolitz, Michael K. Johnson, Kyle Jones, Terry Jones, Simon
Josefsson, Alexandre Julliard, Arne Jørgensen, Tomoji Kagatani,
-Brewster Kahle, Tokuya Kameshima, Lute Kamstra, Ivan Kanis, David
+Brewster Kahle, Tokuya Kameshima, Lute Kamstra, Stefan Kangas, Ivan Kanis, David
Kastrup, David Kaufman, Henry Kautz, Taichi Kawabata, Taro Kawagishi,
Howard Kaye, Michael Kifer, Richard King, Peter Kleiweg, Karel
Klíč, Shuhei Kobayashi, Pavel Kobyakov, Larry K. Kolodney, David
M. Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian Kremer,
-Ryszard Kubiak, Igor Kuzmin, David Kågedal, Daniel LaLiberte, Karl
-Landstrom, Mario Lang, Aaron Larson, James R. Larus, Vinicius Jose
+Ryszard Kubiak, Tak Kunihiro, Igor Kuzmin, David Kågedal, Daniel LaLiberte, Karl
+Landstrom, Mario Lang, Aaron Larson, James R. Larus, Gemini Lasswell, Vinicius Jose
Latorre, Werner Lemberg, Frederic Lepied, Peter Liljenberg, Christian
Limpach, Lars Lindberg, Chris Lindblad, Anders Lindgren, Thomas Link,
Juri Linkov, Francis Litterio, Sergey Litvinov, Leo Liu, Emilio C. Lopes,
-Martin Lorentzon, Dave Love, Eric Ludlam, Károly Lőrentey, Sascha
+Martin Lorentzson, Dave Love, Eric Ludlam, Károly Lőrentey, Sascha
Lüdecke, Greg McGary, Roland McGrath, Michael McNamara, Alan Mackenzie,
-Christopher J. Madsen, Neil M. Mager, Artur Malabarba, Ken Manheimer, Bill Mann,
+Christopher J. Madsen, Neil M. Mager, Arni Magnusson, Artur Malabarba, Ken Manheimer, Bill Mann,
Brian Marick, Simon Marshall, Bengt Martensson, Charlie Martin,
Yukihiro Matsumoto, Tomohiro Matsuyama, David Maus, Thomas May, Will Mengarini, David
Megginson, Jimmy Aguilar Mena, Stefan Merten, Ben A. Mesander, Wayne Mesard, Brad
@@ -1478,7 +1478,7 @@
Persson, Jens Petersen, Nicolas Petton, Daniel Pfeiffer, Justus Piater, Richard L.
Pieri, Fred Pierresteguy, François Pinard, Daniel Pittman, Christian
Plaunt, Alexander Pohoyda, David Ponce, Noam Postavsky, Francesco A. Potortì,
-Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko Rahamaa, Ashwin
+Michael D. Prange, Mukesh Prasad, Steve Purcell, Ken Raeburn, Marko Rahamaa, Ashwin
Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, David
Reitter, Alex Rezinsky, Rob Riepel, Lara Rios, Adrian Robert, Nick
Roberts, Roland B. Roberts, John Robinson, Denis B. Roegel, Danny
@@ -1492,7 +1492,7 @@
Schwartz, Oliver Seidel, Manuel Serrano, Paul Sexton, Hovav Shacham,
Stanislav Shalunov, Marc Shapiro, Richard Sharman, Olin Shivers, Tibor
Šimko, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith,
-David Smith, Paul D. Smith, Wilson Snyder, William Sommerfeld, Simon
+David Smith, JD Smith, Paul D. Smith, Wilson Snyder, William Sommerfeld, Simon
South, Andre Spiegel, Michael Staats, Thomas Steffen, Ulf Stegemann,
Reiner Steib, Sam Steingold, Ake Stenhoff, Philipp Stephani, Peter Stephenson, Ken
Stevens, Andy Stewart, Jonathan Stigelman, Martin Stjernholm, Kim F.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/glossary.texi
^
|
@@ -182,6 +182,7 @@
Case conversion means changing text from upper case to lower case or
vice versa. @xref{Case}.
+@cindex ignore case
@item Case Folding
Case folding means ignoring the differences between case variants of
the same letter: upper-case, lower-case, and title-case. Emacs
@@ -229,9 +230,11 @@
@item Command
A command is a Lisp function specially defined to be able to serve as
a key binding in Emacs or to be invoked by its name
-(@pxref{Glossary---Command Name}). When you type a key sequence
-(q.v.), its binding (q.v.@:) is looked up in the relevant keymaps
-(q.v.@:) to find the command to run. @xref{Commands}.
+(@pxref{Glossary---Command Name}). (Another term for @dfn{command} is
+@dfn{interactive function}---they are used interchangeably.) When you
+type a key sequence (q.v.), its binding (q.v.@:) is looked up in the
+relevant keymaps (q.v.@:) to find the command to run.
+@xref{Commands}.
@item Command History
@xref{Glossary---Minibuffer History}.
@@ -775,6 +778,14 @@
Insertion means adding text into the buffer, either from the keyboard
or from some other place in Emacs.
+@item Interactive Function
+A different term for @dfn{command} (q.v.).
+
+@item Interactive Invocation
+A function can be called from Lisp code, or called as a user level
+command (via @kbd{M-x}, a key binding or a menu). In the latter case,
+the function is said to be @dfn{called interactively}.
+
@item Interlocking
@xref{Glossary---File Locking}.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/kmacro.texi
^
|
@@ -179,7 +179,7 @@
define it, so @kbd{C-u 4 C-x )} executes the macro immediately 3
additional times.
-@findex kdb-macro-redisplay
+@findex kmacro-redisplay
@kindex C-x C-k d
While executing a long-running keyboard macro, it can sometimes be
useful to trigger a redisplay (to show how far we've gotten). The
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/maintaining.texi
^
|
@@ -170,26 +170,12 @@
@itemize @bullet
-@cindex SCCS
-@item
-SCCS was the first version control system ever built, and was long ago
-superseded by more advanced ones. VC compensates for certain features
-missing in SCCS (e.g., tag names for releases) by implementing them
-itself. Other VC features, such as multiple branches, are simply
-unavailable. Since SCCS is non-free, we recommend avoiding it.
-
-@cindex CSSC
-@item
-CSSC is a free replacement for SCCS@. You should use CSSC only if, for
-some reason, you cannot use a more recent and better-designed version
-control system.
-
-@cindex RCS
+@cindex git
@item
-RCS is the free version control system around which VC was initially
-built. It is relatively primitive: it cannot be used over the
-network, and works at the level of individual files. Almost
-everything you can do with RCS can be done through VC.
+Git is a decentralized version control system originally invented by
+Linus Torvalds to support development of Linux (his kernel). VC
+supports many common Git operations, but others, such as repository
+syncing, must be done from the command line.
@cindex CVS
@item
@@ -208,12 +194,26 @@
commits of filesets, and versioning of directories, symbolic links,
meta-data, renames, copies, and deletes).
-@cindex git
+@cindex SCCS
@item
-Git is a decentralized version control system originally invented by
-Linus Torvalds to support development of Linux (his kernel). VC
-supports many common Git operations, but others, such as repository
-syncing, must be done from the command line.
+SCCS was the first version control system ever built, and was long ago
+superseded by more advanced ones. VC compensates for certain features
+missing in SCCS (e.g., tag names for releases) by implementing them
+itself. Other VC features, such as multiple branches, are simply
+unavailable. Since SCCS is non-free, we recommend avoiding it.
+
+@cindex CSSC
+@item
+CSSC is a free replacement for SCCS@. You should use CSSC only if, for
+some reason, you cannot use a more recent and better-designed version
+control system.
+
+@cindex RCS
+@item
+RCS is the free version control system around which VC was initially
+built. It is relatively primitive: it cannot be used over the
+network, and works at the level of individual files. Almost
+everything you can do with RCS can be done through VC.
@cindex hg
@cindex Mercurial
@@ -2802,6 +2802,13 @@
standard input and mark the produced tags as belonging to the file
@var{file}.
+ For C and C++, if the source files don't observe the GNU Coding
+Standards' convention if having braces (@samp{@{} and @samp{@}}) in
+column zero only for top-level definitions, like functions and
+@code{struct} definitions, we advise that you use the
+@samp{--ignore-indentation} option, to prevent @command{etags} from
+incorrectly interpreting closing braces in column zero.
+
@samp{etags --help} outputs the list of the languages @command{etags}
knows, and the file name rules for guessing the language. It also prints
a list of all the available @command{etags} options, together with a short
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/mini.texi
^
|
@@ -648,11 +648,14 @@
@section Minibuffer History
@cindex minibuffer history
@cindex history of minibuffer input
+@cindex completion, walking through candidates
- Every argument that you enter with the minibuffer is saved in a
-@dfn{minibuffer history list} so you can easily use it again later.
-You can use the following arguments to quickly fetch an earlier
-argument into the minibuffer:
+ Everything you type in the minibuffer is saved in a @dfn{minibuffer
+history list} so you can easily use it again later. This includes
+completion candidates (such as file names, buffer names, command
+names, etc.@:) and any other kind of minibuffer input. You can use
+the following commands to quickly fetch an earlier or alternative
+response into the minibuffer:
@table @kbd
@item M-p
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/misc.texi
^
|
@@ -914,7 +914,7 @@
@cindex @env{INSIDE_EMACS} environment variable
Emacs sets the environment variable @env{INSIDE_EMACS} in the
subshell to @samp{@var{version},comint}, where @var{version} is the
-Emacs version (e.g., @samp{24.1}). Programs can check this variable
+Emacs version (e.g., @samp{28.1}). Programs can check this variable
to determine whether they are running inside an Emacs subshell.
@node Shell Mode
@@ -2025,7 +2025,7 @@
edit the server buffers within Emacs, and they are @emph{not} killed
when you type @kbd{C-x #} in them.
-@item --parent-id @var{id}
+@item --parent-id=@var{id}
Open an @command{emacsclient} frame as a client frame in the parent X
window with id @var{id}, via the XEmbed protocol. Currently, this
option is mainly useful for developers.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/search.texi
^
|
@@ -1413,16 +1413,18 @@
match disregards the diacritics that distinguish these
variants. In addition, @code{a} matches other characters that
resemble it, or have it as part of their graphical representation,
-such as U+249C @sc{parenthesized latin small letter a} and U+2100
-@sc{account of} (which looks like a small @code{a} over @code{c}).
+such as U+00AA @sc{feminine ordinal indicator} and U+24D0
+@sc{circled latin small letter a} (which looks like a small @code{a}
+inside a circle).
Similarly, the @acronym{ASCII} double-quote character @code{"} matches
all the other variants of double quotes defined by the Unicode
standard. Finally, character folding can make a sequence of one or
more characters match another sequence of a different length: for
example, the sequence of two characters @code{ff} matches U+FB00
-@sc{latin small ligature ff}. Character sequences that are not identical,
-but match under character folding are known as @dfn{equivalent
-character sequences}.
+@sc{latin small ligature ff} and the sequence @code{(a)} matches
+U+249C @sc{parenthesized latin small letter a}. Character sequences
+that are not identical, but match under character folding are known as
+@dfn{equivalent character sequences}.
@kindex M-s ' @r{(Incremental Search)}
@findex isearch-toggle-char-fold
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/emacs/sending.texi
^
|
@@ -659,6 +659,7 @@
(@pxref{Top,,MH-E,mh-e, The Emacs Interface to MH}).
@vindex mail-user-agent
+@findex define-mail-user-agent
You can choose any of these @dfn{mail user agents} as your preferred
method for editing and sending mail. The commands @kbd{C-x m},
@kbd{C-x 4 m} and @kbd{C-x 5 m} use whichever agent you have
@@ -667,7 +668,10 @@
customize the variable @code{mail-user-agent}. Currently, legitimate
values include @code{message-user-agent} (Message mode)
@code{sendmail-user-agent} (Mail mode), @code{gnus-user-agent}, and
-@code{mh-e-user-agent}.
+@code{mh-e-user-agent}. Additional options may be available; check
+in the manual of your mail user agent package for details. You may
+also define another mail user agent using
+@code{define-mail-user-agent}.
If you select a different mail-composition method, the information
in this chapter about the mail buffer and Message mode does not apply;
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispintro/emacs-lisp-intro.texi
^
|
@@ -2022,7 +2022,6 @@
@w{@code{"The "}} and @w{@code{" red foxes."}} and the list
@code{(number-to-string (+ 2 fill-column))}.
-@c For GNU Emacs 22, need number-to-string
@smallexample
(concat "The " (number-to-string (+ 2 fill-column)) " red foxes.")
@end smallexample
@@ -10318,9 +10317,8 @@
@cindex @file{*scratch*} buffer
The function requires several lines for its output. If you are
-reading this in a recent instance of GNU Emacs,
-@c GNU Emacs 21, GNU Emacs 22, or a later version,
-you can evaluate the following expression inside of Info, as usual.
+reading this in a recent instance of GNU Emacs, you can evaluate the
+following expression inside of Info, as usual.
If you are using an earlier version of Emacs, you need to copy the
necessary expressions to your @file{*scratch*} buffer and evaluate
@@ -17742,17 +17740,6 @@
(setq grep-command "grep -i -nH -e ")
@end smallexample
-@ignore
-@c Evidently, no longer needed in GNU Emacs 22
-
-item Automatically uncompress compressed files when visiting them
-
-smallexample
-(load "uncompress")
-end smallexample
-
-@end ignore
-
@item Find an existing buffer, even if it has a different name@*
This avoids problems with symbolic links.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/compile.texi
^
|
@@ -983,7 +983,11 @@
0 and 3 specify the optimization levels equivalent to the
corresponding compiler @option{-O0}, @option{-O1}, etc.@: command-line
options of the compiler. The value @minus{}1 means disable
-native-compilation; functions and files will be only byte-compiled.
+native-compilation: functions and files will be only byte-compiled;
+however, the @file{*.eln} files will still be produced, they will just
+contain the compiled code in bytecode form. (This can be achieved at
+function granularity by using the @w{@code{(declare (speed -1))}}
+form, @pxref{Declare Form}.)
The default value is 2.
@end defopt
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/control.texi
^
|
@@ -525,7 +525,7 @@
@table @code
-@item _
+@item _@r{ (underscore)}
Matches any @var{expval}.
This is also known as @dfn{don't care} or @dfn{wildcard}.
@@ -629,7 +629,10 @@
until one of them succeeds. In that case, @code{or} likewise matches,
and the rest of the sub-patterns are not tested.
-To present a consistent environment (@pxref{Intro Eval})
+To present a consistent environment
+@ifnottex
+(@pxref{Intro Eval})
+@end ifnottex
to @var{body-forms} (thus avoiding an evaluation error on match),
the set of variables bound by the pattern is the union of the
variables bound by each sub-pattern. If a variable is not bound by
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/display.texi
^
|
@@ -2593,6 +2593,13 @@
original face definition by @code{defface} is inherited
(@pxref{Defining Faces}).
+Some modes, like @code{hl-line-mode}, use a face with an
+@code{:extend} property to mark the entire current line. Note,
+however, that Emacs will always allow you to move point after the
+final character in a buffer, and if the buffer ends with a newline
+character, point can be placed on what is seemingly a line at the end
+of the buffer---but Emacs can't highlight that ``line'', because it
+doesn't really exist.
@end table
@defun font-family-list &optional frame
@@ -2818,7 +2825,8 @@
@defun face-attribute face attribute &optional frame inherit
This function returns the value of the @var{attribute} attribute for
-@var{face} on @var{frame}.
+@var{face} on @var{frame}. @xref{Face Attributes}, for the supported
+attributes.
If @var{frame} is omitted or @code{nil}, that means the selected frame
(@pxref{Input Focus}). If @var{frame} is @code{t}, this function
@@ -2901,7 +2909,8 @@
@defun set-face-attribute face frame &rest arguments
This function sets one or more attributes of @var{face} for
@var{frame}. The attributes specified in this way override the face
-spec(s) belonging to @var{face}.
+spec(s) belonging to @var{face}. @xref{Face Attributes}, for the
+supported attributes.
The extra arguments @var{arguments} specify the attributes to set, and
the values for them. They should consist of alternating attribute
@@ -3669,57 +3678,62 @@
Chinese GB2312 characters has a wild card @samp{*} in the @var{family}
field.
-@defun set-fontset-font name character font-spec &optional frame add
-This function modifies the existing fontset @var{name} to use the font
-matching with @var{font-spec} for the specified @var{character}.
+@defun set-fontset-font fontset characters font-spec &optional frame add
+This function modifies the existing @var{fontset} to use the font
+specified by @var{font-spec} for displaying the specified
+@var{characters}.
-If @var{name} is @code{nil}, this function modifies the fontset of the
-selected frame or that of @var{frame} if @var{frame} is not
+If @var{fontset} is @code{nil}, this function modifies the fontset of
+the selected frame or that of @var{frame} if @var{frame} is not
@code{nil}.
-If @var{name} is @code{t}, this function modifies the default
-fontset, whose short name is @samp{fontset-default}.
+If @var{fontset} is @code{t}, this function modifies the default
+fontset, whose short name as a string is @samp{fontset-default}.
-In addition to specifying a single codepoint, @var{character} may be a
-cons @code{(@var{from} . @var{to})}, where @var{from} and @var{to} are
-character codepoints. In that case, use @var{font-spec} for all the
-characters in the range @var{from} and @var{to} (inclusive).
+The @var{characters} argument can be a single character which should
+be displayed using @var{font-spec}. It can also be a cons cell
+@w{@code{(@var{from} . @var{to})}}, where @var{from} and @var{to} are
+characters. In that case, use @var{font-spec} for all the characters
+in the range @var{from} and @var{to} (inclusive).
-@var{character} may be a charset (@pxref{Character Sets}). In that
-case, use @var{font-spec} for all the characters in the charset.
+@var{characters} may be a charset symbol (@pxref{Character Sets}). In
+that case, use @var{font-spec} for all the characters in the charset.
-@var{character} may be a script name (@pxref{Character Properties,
+@var{characters} may be a script symbol (@pxref{Character Properties,
char-script-table}). In that case, use @var{font-spec} for all the
characters belonging to the script.
-@var{character} may be @code{nil}, which means to use @var{font-spec}
-for any character which no font-spec is specified.
+@var{characters} may be @code{nil}, which means to use @var{font-spec}
+for any character in @var{fontset} for which no font-spec is
+specified.
@var{font-spec} may be a font-spec object created by the function
@code{font-spec} (@pxref{Low-Level Font}).
-@var{font-spec} may be a cons; @code{(@var{family} . @var{registry})},
-where @var{family} is a family name of a font (possibly including a
-foundry name at the head), @var{registry} is a registry name of a font
-(possibly including an encoding name at the tail).
+@var{font-spec} may be a cons cell @w{@code{(@var{family}
+. @var{registry})}}, where @var{family} is a family name of a font
+(possibly including a foundry name at the head), and @var{registry} is
+a registry name of a font (possibly including an encoding name at the
+tail).
@var{font-spec} may be a font name, a string.
@var{font-spec} may be @code{nil}, which explicitly specifies that
-there's no font for the specified @var{character}. This is useful,
+there's no font for the specified @var{characters}. This is useful,
for example, to avoid expensive system-wide search for fonts for
characters that have no glyphs, like those from the Unicode Private
Use Area (PUA).
The optional argument @var{add}, if non-@code{nil}, specifies how to
-add @var{font-spec} to the font specifications previously set. If it
-is @code{prepend}, @var{font-spec} is prepended. If it is
-@code{append}, @var{font-spec} is appended. By default,
-@var{font-spec} overrides the previous settings.
+add @var{font-spec} to the font specifications previously set for
+@var{characters}. If it is @code{prepend}, @var{font-spec} is
+prepended to the existing specs. If it is @code{append},
+@var{font-spec} is appended. By default, @var{font-spec} overwrites
+the previously set font specs.
-For instance, this changes the default fontset to use a font of which
+For instance, this changes the default fontset to use a font whose
family name is @samp{Kochi Gothic} for all characters belonging to
-the charset @code{japanese-jisx0208}.
+the charset @code{japanese-jisx0208}:
@smallexample
(set-fontset-font t 'japanese-jisx0208
@@ -3859,13 +3873,26 @@
symbols, or @code{nil} if none is required. If @code{gsub} or
@code{gpos} is a list, a @code{nil} element in that list means that
the font must not match any of the remaining tag symbols. The
-@code{gpos} element may be omitted.
+@code{gpos} element may be omitted. For the list of OpenType script,
+language, and feature tags, see
+@uref{https://docs.microsoft.com/en-us/typography/opentype/spec/ttoreg,
+the list of registered OTF tags}.
+
+@item :type
+@cindex font backend
+The symbol that specifies the @dfn{font backend} used to draw the
+characters. The possible values depend on the platform and on how
+Emacs was configured at build time. Typical values include
+@code{ftcrhb} and @code{xfthb} on X, @code{harfbuzz} on MS-Windows,
+@code{ns} on GNUstep, etc. It can also be @code{nil} if left
+unspecified, typically in a font-spec.
@end table
@end defun
@defun font-put font-spec property value
Set the font property @var{property} in the font-spec @var{font-spec}
-to @var{value}.
+to @var{value}. The @var{property} can any of the ones described
+above.
@end defun
@cindex font entity
@@ -3909,12 +3936,28 @@
@defun font-get font property
This function returns the value of the font property @var{property}
-for @var{font}.
+for @var{font}. The @var{property} can any of the ones that
+@code{font-spec} supports.
If @var{font} is a font spec and the font spec does not specify
@var{property}, the return value is @code{nil}. If @var{font} is a
font object or font entity, the value for the @var{:script} property
-may be a list of scripts supported by the font.
+may be a list of scripts supported by the font, and the value of the
+@code{:otf} property is a cons of the form @w{@code{(@var{gsub}
+. @var{gpos})}}, where @var{gsub} and @var{gpos} are lists
+representing OpenType features supported by the font, of the form
+
+@smallexample
+((@var{script-tag} (@var{langsys-tag} @var{feature}@dots{}) @dots{}) @dots{})
+@end smallexample
+
+@noindent where @var{script-tag}, @var{langsys-tag}, and @var{feature}
+are symbols representing OpenType layout tags.
+
+If @var{font} is a font object, the special property
+@code{:combining-capability} is non-@code{nil} if the font backend of
+@var{font} supports rendering of combining characters for non-OpenType
+fonts.
@end defun
@defun font-face-attributes font &optional frame
@@ -4833,7 +4876,7 @@
situations, e.g., when the display specification was generated by some
external program/agent. Wrapping a display specification in a list
that begins with the special symbol @code{disable-eval}, as in
-@w{@code{('disable-eval @var{spec})}}, will disable evaluation of any
+@w{@code{(disable-eval @var{spec})}}, will disable evaluation of any
Lisp in @var{spec}, while still supporting all the other display
property features.
@@ -6898,6 +6941,7 @@
@item keymap
@kindex keymap @r{(button property)}
+@vindex button-map
The button's keymap, defining bindings active within the button
region. By default this is the usual button region keymap, stored
in the variable @code{button-map}, which defines @key{RET} and
@@ -7112,6 +7156,7 @@
These are commands and functions for locating and operating on
buttons in an Emacs buffer.
+@cindex buffer-button-map
@code{push-button} is the command that a user uses to actually push
a button, and is bound by default in the button itself to @key{RET}
and to @key{mouse-2} using a local keymap in the button's overlay or
@@ -7949,6 +7994,7 @@
must be one of the display methods described above.
@end table
+@vindex glyphless-char@r{ face}
@noindent
The @code{thin-space}, @code{empty-box}, @code{hex-code}, and
@acronym{ASCII} string display methods are drawn with the
@@ -8003,7 +8049,8 @@
@item no-font
Characters for which there is no suitable font, or which cannot be
-encoded by the terminal's coding system.
+encoded by the terminal's coding system, or those for which the
+text-mode terminal has no glyphs.
@end table
@c FIXME: this can also be 'acronym', but that's not currently
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/edebug.texi
^
|
@@ -832,7 +832,6 @@
@cindex printing (Edebug)
@cindex printing circular structures
-@pindex cust-print
If an expression in your program produces a value containing circular
list structure, you may get an error when Edebug attempts to print it.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/functions.texi
^
|
@@ -2333,6 +2333,30 @@
@item (modes @var{modes})
Specify that this command is meant to be applicable for @var{modes}
only.
+
+@item (pure @var{val})
+If @var{val} is non-@code{nil}, this function is @dfn{pure}
+(@pxref{What Is a Function}). This is the same as the @code{pure}
+property of the function's symbol (@pxref{Standard Properties}).
+
+@item (side-effect-free @var{val})
+If @var{val} is non-@code{nil}, this function is free of side effects,
+so the byte compiler can ignore calls whose value is ignored. This is
+the same as the @code{side-effect-free} property of the function's
+symbol, @pxref{Standard Properties}.
+
+@item (speed @var{n})
+Specify the value of @code{native-comp-speed} in effect for native
+compilation of this function (@pxref{Native-Compilation Variables}).
+This allows function-level control of the optimization level used for
+native code emitted for the function. In particular, if @var{n} is
+@minus{}1, native compilation of the function will emit bytecode
+instead of native code for the function.
+
+@item no-font-lock-keyword
+This is valid for macros only. Macros with this declaration are
+highlighted by font-lock (@pxref{Font Lock Mode}) as normal functions,
+not specially as macros.
@end table
@end defmac
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/hash.texi
^
|
@@ -203,7 +203,8 @@
@defun puthash key value table
This function enters an association for @var{key} in @var{table}, with
value @var{value}. If @var{key} already has an association in
-@var{table}, @var{value} replaces the old associated value.
+@var{table}, @var{value} replaces the old associated value. This
+function always returns @var{value}.
@end defun
@defun remhash key table
@@ -219,10 +220,7 @@
@defun clrhash table
This function removes all the associations from hash table @var{table},
so that it becomes empty. This is also called @dfn{clearing} the hash
-table.
-
-@b{Common Lisp note:} In Common Lisp, @code{clrhash} returns the empty
-@var{table}. In Emacs Lisp, it returns @code{nil}.
+table. @code{clrhash} returns the empty @var{table}.
@end defun
@defun maphash function table
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/keymaps.texi
^
|
@@ -1599,6 +1599,7 @@
deduced from Termcap and Terminfo. @xref{Terminal-Specific}.
@end defvar
+@cindex function-key-map
@defvar local-function-key-map
This variable holds a keymap similar to @code{input-decode-map} except
that it describes key sequences which should be translated to
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/loading.texi
^
|
@@ -752,7 +752,7 @@
mapping are added by calls to @code{register-definition-prefixes}
which are generated by @code{update-file-autoloads}
(@pxref{Autoload}). Files which don't contain any definitions worth
-loading (test files, for examples), should set
+loading (test files, for example), should set
@code{autoload-compute-prefixes} to @code{nil} as a file-local
variable.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/maps.texi
^
|
@@ -125,6 +125,7 @@
menu-bar-epatch-menu, menu-bar-ediff-merge-menu, menu-bar-ediff-menu, etc.
@end ignore
+@cindex minibuffer-inactive-mode-map
@item minibuffer-inactive-mode-map
A full keymap used in the minibuffer when it is not active.@*
@xref{Minibuffer Edit,, Editing in the Minibuffer, emacs, The GNU Emacs Manual}.
@@ -156,6 +157,7 @@
@vindex narrow-map
A sparse keymap for subcommands of the prefix @kbd{C-x n}.
+@cindex prog-mode-map
@item prog-mode-map
The keymap used by Prog mode.@*
@xref{Basic Major Modes}.
@@ -171,6 +173,7 @@
@item search-map
A sparse keymap that provides global bindings for search-related commands.
+@cindex special-mode-map
@item special-mode-map
The keymap used by Special mode.@*
@xref{Basic Major Modes}.
@@ -179,6 +182,7 @@
The global keymap used for the @kbd{C-x t} prefix key for tab-bar related commands.@*
@xref{Tab Bars,,, emacs, The GNU Emacs Manual}.
+@cindex tab-bar-map
@item tab-bar-map
The keymap defining the contents of the tab bar.@*
@xref{Tab Bars,,, emacs, The GNU Emacs Manual}.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/minibuf.texi
^
|
@@ -1936,6 +1936,7 @@
of the keys in @code{completion-category-overrides}, the usual
completion behavior is overridden. @xref{Completion Variables}.
+@cindex @code{annotation-function}, in completion
@item annotation-function
The value should be a function for @dfn{annotating} completions. The
function should take one argument, @var{string}, which is a possible
@@ -1945,6 +1946,7 @@
the @code{completions-annotations} face is added by default to
that string.
+@cindex @code{affixation-function}, in completion
@item affixation-function
The value should be a function for adding prefixes and suffixes to
completions. The function should take one argument,
@@ -1955,6 +1957,7 @@
a suffix displayed after the completion string. This function
takes priority over @code{annotation-function}.
+@cindex @code{group-function}, in completion
@item group-function
The value should be a function for grouping the completion candidates.
The function must take two arguments, @var{completion}, which is a
@@ -1965,12 +1968,14 @@
transformed candidate. The transformation can for example remove a
redundant prefix, which is displayed in the group title.
+@cindex @code{display-sort-function}, in completion
@item display-sort-function
The value should be a function for sorting completions. The function
should take one argument, a list of completion strings, and return a
sorted list of completion strings. It is allowed to alter the input
list destructively.
+@cindex @code{cycle-sort-function}, in completion
@item cycle-sort-function
The value should be a function for sorting completions, when
@code{completion-cycle-threshold} is non-@code{nil} and the user is
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/modes.texi
^
|
@@ -3321,7 +3321,8 @@
@var{end}, which specify the region to be fontified or refontified.
If @var{function} performs fontifications, it can return a list of the
form @w{@code{(jit-lock-bounds @var{beg} . @var{end})}}, to indicate
-the bounds of the region it actually fontified; JIT font-lock will use
+the bounds of the region it actually fontified; Just-In-Time (a.k.a.@:
+@acronym{``JIT''}) font-lock will use
this information to optimize subsequent redisplay cycles and regions
of buffer text it will pass to future calls to @var{function}.
@@ -3341,6 +3342,19 @@
function using @code{jit-lock-register}, this function unregisters it.
@end defun
+@cindex debugging font-lock
+@cindex jit-lock functions, debugging
+@deffn Command jit-lock-debug-mode &optional arg
+This is a minor mode whose purpose is to help in debugging code that
+is run by JIT font-lock. When this mode is enabled, most of the code
+that JIT font-lock normally runs during redisplay cycles, where Lisp
+errors are suppressed, is instead run by a timer. Thus, this mode
+allows using debugging aids such as @code{debug-on-error}
+(@pxref{Error Debugging}) and Edebug (@pxref{Edebug}) for finding and
+fixing problems in font-lock code and any other code run by JIT
+font-lock.
+@end deffn
+
@node Levels of Font Lock
@subsection Levels of Font Lock
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/nonascii.texi
^
|
@@ -280,11 +280,12 @@
@defun string-to-unibyte string
This function returns a unibyte string containing the same sequence of
-characters as @var{string}. It signals an error if @var{string}
-contains a non-@acronym{ASCII} character. If @var{string} is a
-unibyte string, it is returned unchanged. Use this function for
-@var{string} arguments that contain only @acronym{ASCII} and eight-bit
-characters.
+characters as @var{string}. If @var{string} is a unibyte string, it
+is returned unchanged. Otherwise, @acronym{ASCII} characters and
+characters in the @code{eight-bit} charset are converted to their
+corresponding byte values. Use this function for @var{string}
+arguments that contain only @acronym{ASCII} and eight-bit characters;
+the function signals an error if any other characters are encountered.
@end defun
@defun byte-to-string byte
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/objects.texi
^
|
@@ -178,6 +178,12 @@
Skip the next @samp{N} characters (@pxref{Comments}). This is used in
byte-compiled files, and is not meant to be used in Emacs Lisp source
files.
+
+@item #f
+Indicates that the following form isn't readable by the Emacs Lisp
+reader. This is only in text for display purposes (when that would
+look prettier than alternative ways of indicating an unreadable form)
+and will never appear in any Lisp file.
@end table
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/os.texi
^
|
@@ -2284,7 +2284,8 @@
@end deffn
@cindex idleness
- Emacs becomes @dfn{idle} when it starts waiting for user input, and
+ Emacs becomes @dfn{idle} when it starts waiting for user input
+(unless it waits for input with a timeout, @pxref{Reading One Event}), and
it remains idle until the user provides some input. If a timer is set
for five seconds of idleness, it runs approximately five seconds after
Emacs first becomes idle. Even if @var{repeat} is non-@code{nil},
@@ -3087,21 +3088,21 @@
@cindex watch, for filesystem events
Several operating systems support watching of filesystems for changes
-of files. If configured properly, Emacs links a respective library
-like @file{inotify}, @file{kqueue}, @file{gfilenotify}, or
-@file{w32notify} statically. These libraries enable watching of
-filesystems on the local machine.
+to files or their attributes. If configured properly, Emacs links a
+respective library like @file{inotify}, @file{kqueue},
+@file{gfilenotify}, or @file{w32notify} statically. These libraries
+enable watching of filesystems on the local machine.
It is also possible to watch filesystems on remote machines,
-@pxref{Remote Files,, Remote Files, emacs, The GNU Emacs Manual}
+@pxref{Remote Files,, Remote Files, emacs, The GNU Emacs Manual}.
This does not depend on one of the libraries linked to Emacs.
-Since all these libraries emit different events on notified file
-changes, there is the Emacs library @code{filenotify} which provides a
-unified interface. Lisp programs that want to receive file
-notifications should always use this library in preference to the
-native ones.
-
+Since all these libraries emit different events upon notified file
+changes, Emacs provides a special library @code{filenotify} which
+presents a unified interface to applications. Lisp programs that want
+to receive file notifications should always use this library in
+preference to the native ones. This section documents the
+@code{filenotify} library functions and variables.
@defun file-notify-add-watch file flags callback
Add a watch for filesystem events pertaining to @var{file}. This
@@ -3109,31 +3110,33 @@
to Emacs.
The returned value is a descriptor for the added watch. Its type
-depends on the underlying library, it cannot be assumed to be an
-integer as in the example below. It should be used for comparison by
-@code{equal} only.
+depends on the underlying library, and in general cannot be assumed to
+be an integer as in the example below. It should be used for
+comparison by @code{equal} only.
If the @var{file} cannot be watched for some reason, this function
signals a @code{file-notify-error} error.
Sometimes, mounted filesystems cannot be watched for file changes.
-This is not detected by this function, a non-@code{nil} return value
-does not guarantee that changes on @var{file} will be notified.
+This is not detected by this function, and so a non-@code{nil} return
+value does not guarantee that changes on @var{file} will be actually
+notified.
@var{flags} is a list of conditions to set what will be watched for.
It can include the following symbols:
@table @code
@item change
-watch for file changes
+watch for changes in file's contents
@item attribute-change
-watch for file attribute changes, like permissions or modification
+watch for changes in file attributes, like permissions or modification
time
@end table
If @var{file} is a directory, @code{change} watches for file creation
-or deletion in that directory. Some of the file notification backends
-report also file changes. This does not work recursively.
+and deletion in that directory. Some of the native file notification
+libraries also report file changes in that case. This does not work
+recursively.
When any event happens, Emacs will call the @var{callback} function
passing it a single argument @var{event}, which is of the form
@@ -3159,19 +3162,20 @@
@item attribute-changed
a @var{file} attribute was changed
@item stopped
-watching @var{file} has been stopped
+watching @var{file} has stopped
@end table
Note that the @file{w32notify} library does not report
@code{attribute-changed} events. When some file's attribute, like
permissions or modification time, has changed, this library reports a
@code{changed} event. Likewise, the @file{kqueue} library does not
-report reliably file attribute changes when watching a directory.
+reliably report file attribute changes when watching a directory.
-The @code{stopped} event reports, that watching the file has been
-stopped. This could be because @code{file-notify-rm-watch} was called
-(see below), or because the file being watched was deleted, or due to
-another error reported from the underlying library.
+The @code{stopped} event means that watching the file has been
+discontinued. This could be because @code{file-notify-rm-watch} was
+called (see below), or because the file being watched was deleted, or
+due to another error reported from the underlying library which makes
+further watching impossible.
@var{file} and @var{file1} are the name of the file(s) whose event is
being reported. For example:
@@ -3215,7 +3219,7 @@
@end group
@end example
-Whether the action @code{renamed} is returned, depends on the used
+Whether the action @code{renamed} is returned depends on the used
watch library. Otherwise, the actions @code{deleted} and
@code{created} could be returned in a random order.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/searching.texi
^
|
@@ -1897,7 +1897,7 @@
causing a match to fail early.
@item
-Avoid or-patterns in favour of character alternatives: write
+Avoid or-patterns in favor of character alternatives: write
@samp{[ab]} instead of @samp{a\|b}. Recall that @samp{\s-} and @samp{\sw}
are equivalent to @samp{[[:space:]]} and @samp{[[:word:]]}, respectively.
@@ -1932,7 +1932,7 @@
@ifnottex
@item
-Consider using @code{rx} (@pxref{Rx Notation}); it can optimise some
+Consider using @code{rx} (@pxref{Rx Notation}); it can optimize some
or-patterns automatically and will never introduce capturing groups
unless explicitly requested.
@end ifnottex
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/strings.texi
^
|
@@ -440,12 +440,12 @@
@end defun
@defun string-pad string length &optional padding start
-Pad @var{string} to the be of @var{length} using @var{padding} as the
-padding character (defaulting to the space character). If
-@var{string} is shorter than @var{length}, no padding is done. If
-@var{start} is @code{nil} (or not present), the padding is done to the
-end of the string, and if it's non-@code{nil}, to the start of the
-string.
+Pad @var{string} to be of the given @var{length} using @var{padding}
+as the padding character. @var{padding} defaults to the space
+character. If @var{string} is longer than @var{length}, no padding is
+done. If @var{start} is @code{nil} or omitted, the padding is
+appended to the characters of @var{string}, and if it's
+non-@code{nil}, the padding is prepended to @var{string}'s characters.
@end defun
@defun string-chop-newline string
@@ -461,23 +461,29 @@
described in this section. @xref{Mutability}.
The most basic way to alter the contents of an existing string is with
-@code{aset} (@pxref{Array Functions}). @code{(aset @var{string}
-@var{idx} @var{char})} stores @var{char} into @var{string} at index
-@var{idx}. Each character occupies one or more bytes, and if @var{char}
-needs a different number of bytes from the character already present at
-that index, @code{aset} signals an error.
+@code{aset} (@pxref{Array Functions}). @w{@code{(aset @var{string}
+@var{idx} @var{char})}} stores @var{char} into @var{string} at character
+index @var{idx}. It will automatically convert a pure-@acronym{ASCII}
+@var{string} to a multibyte string (@pxref{Text Representations}) if
+needed, but we recommend to always make sure @var{string} is multibyte
+(e.g., by using @code{string-to-multibyte}, @pxref{Converting
+Representations}), if @var{char} is a non-@acronym{ASCII} character, not
+a raw byte.
A more powerful function is @code{store-substring}:
@defun store-substring string idx obj
-This function alters part of the contents of the string @var{string}, by
-storing @var{obj} starting at index @var{idx}. The argument @var{obj}
-may be either a character or a (smaller) string.
-
-Since it is impossible to change the length of an existing string, it is
-an error if @var{obj} doesn't fit within @var{string}'s actual length,
-or if any new character requires a different number of bytes from the
-character currently present at that point in @var{string}.
+This function alters part of the contents of the specified @var{string},
+by storing @var{obj} starting at character index @var{idx}. The
+argument @var{obj} may be either a character (in which case the function
+behaves exactly as @code{aset}) or a (smaller) string. If @var{obj}
+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
+characters than would fit in @var{string} starting at character index
+@var{idx}.
@end defun
To clear out a string that contained a password, use
@@ -558,11 +564,19 @@
determined by the lexicographic order of the characters contained in
@var{string1} and @var{string2}, but also further rules about
relations between these characters. Usually, it is defined by the
-@var{locale} environment Emacs is running with.
-
-For example, characters with different coding points but
-the same meaning might be considered as equal, like different grave
-accent Unicode characters:
+@var{locale} environment Emacs is running with and by the Standard C
+library against which Emacs was linked@footnote{
+For more information about collation rules and their locale
+dependencies, see @uref{https://unicode.org/reports/tr10/, The Unicode
+Collation Algorithm}. Some Standard C libraries, such as the
+@acronym{GNU} C Library (a.k.a.@: @dfn{glibc}) implement large
+portions of the Unicode Collation Algorithm and use the associated
+locale data, Common Locale Data Repository, or @acronym{CLDR}.
+}.
+
+For example, characters with different code points but the same
+meaning, like different grave accent Unicode characters, might, in
+some locales, be considered as equal:
@example
@group
@@ -750,7 +764,8 @@
For instance, @var{str1} is considered less than @var{str2} if
its first differing character has a smaller numeric value. If
@var{ignore-case} is non-@code{nil}, characters are converted to
-upper-case before comparing them. Unibyte strings are converted to
+upper-case, using the current buffer's case-table (@pxref{Case
+Tables}), before comparing them. Unibyte strings are converted to
multibyte for comparison (@pxref{Text Representations}), so that a
unibyte string and its conversion to multibyte are always regarded as
equal.
@@ -853,9 +868,7 @@
If @var{base} is @code{nil}, then base ten is used. Floating-point
conversion only works in base ten; we have not implemented other
radices for floating-point numbers, because that would be much more
-work and does not seem useful. If @var{string} looks like an integer
-but its value is too large to fit into a Lisp integer,
-@code{string-to-number} returns a floating-point result.
+work and does not seem useful.
The parsing skips spaces and tabs at the beginning of @var{string},
then reads as much of @var{string} as it can interpret as a number in
@@ -1347,7 +1360,7 @@
This flag converts the substituted text to upper case (@pxref{Case
Conversion}).
-@item _
+@item _@r{ (underscore)}
This flag converts the substituted text to lower case (@pxref{Case
Conversion}).
@end table
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/syntax.texi
^
|
@@ -770,7 +770,7 @@
position @var{pos} starting from the beginning of the visible portion
of the buffer.
@iftex
-See the next section for
+See the next section
@end iftex
@ifnottex
@xref{Parser State},
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/text.texi
^
|
@@ -2297,6 +2297,9 @@
amount of horizontal scrolling. Consequently, a column value can be
arbitrarily high. The first (or leftmost) column is numbered 0. They
also ignore overlays and text properties, aside from invisibility.
+Invisible text is considered as having zero width, unless
+@code{buffer-invisibility-spec} specifies that invisible text should
+be displayed as ellipsis (@pxref{Invisible Text}).
@defun current-column
This function returns the horizontal position of point, measured in
@@ -2370,6 +2373,10 @@
the horizontal position of the first nonblank character. If the
contents are entirely blank, then this is the horizontal position of the
end of the line.
+
+This function considers invisible text as having zero width, unless
+@code{buffer-invisibility-spec} specifies that invisible text should
+be displayed as ellipsis. @xref{Invisible Text}.
@end defun
@deffn Command indent-to column &optional minimum
@@ -3313,7 +3320,7 @@
Search for the next region that has text property @var{prop} set to
@var{value} according to @var{predicate}.
-This function is modelled after @code{search-forward} and friends in
+This function is modeled after @code{search-forward} and friends in
that it moves point, but it returns a structure that describes the
match instead of returning it in @code{match-beginning} and friends.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/tips.texi
^
|
@@ -687,26 +687,20 @@
@cindex curly quotes
@cindex curved quotes
When a documentation string refers to a Lisp symbol, write it as it
-would be printed (which usually means in lower case), surrounding it
-with curved single quotes (@t{‘..’}). There are two exceptions: write
-@code{t} and @code{nil} without surrounding punctuation. For example:
+would be printed (which usually means in lower case), with a grave
+accent @samp{`} before and apostrophe @samp{'} after it. There are
+two exceptions: write @code{t} and @code{nil} without surrounding
+punctuation. For example:
@example
- CODE can be ‘lambda’, nil, or t.
+CODE can be `lambda', nil, or t.
@end example
-@noindent
-@xref{Quotation Marks,,, emacs, The GNU Emacs Manual}, for how to
-enter curved single quotes.
-
-Documentation strings can also use an older single-quoting convention,
-which quotes symbols with grave accent @t{`} and apostrophe
-@t{'}: @t{`like-this'} rather than @t{‘like-this’}. This
-older convention was designed for now-obsolete displays in which grave
-accent and apostrophe were mirror images.
-Documentation using this convention is converted to the user's
-preferred format when it is copied into a help buffer. @xref{Keys in
-Documentation}.
+Note that when Emacs displays these doc strings, Emacs will usually
+display @samp{`} (grave accent) as @samp{‘} (left single quotation
+mark) and @samp{'} (apostrophe) as @samp{’} (right single quotation
+mark), if the display supports displaying these characters.
+@xref{Keys in Documentation}.
@cindex hyperlinks in documentation strings
Help mode automatically creates a hyperlink when a documentation string
@@ -851,7 +845,7 @@
@item
Try to avoid using abbreviations such as ``e.g.'' (for ``for
example''), ``i.e.'' (for ``that is''), ``no.'' (for ``number''),
-``c.f.'' (for ``in contrast to'') and ``w.r.t.'' (for ``with respect
+``cf.'' (for ``compare''/``see also'') and ``w.r.t.'' (for ``with respect
to'') as much as possible. It is almost always clearer and easier to
read the expanded version.@footnote{We do use these occasionally, but
try not to overdo it.}
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/variables.texi
^
|
@@ -326,7 +326,7 @@
@anchor{Tail recursion}
Recursive calls to @var{name} that occur in @emph{tail
-positions} in @var{body} are guaranteed to be optimised as @emph{tail
+positions} in @var{body} are guaranteed to be optimized as @emph{tail
calls}, which means that they will not consume any additional stack
space no matter how deeply the recursion runs. Such recursive calls
will effectively jump to the top of the loop with new values for the
@@ -1346,7 +1346,7 @@
The byte-compiler can also warn about lexical variables that are
special in other Emacs Lisp files, often indicating a missing
-@code{defvar} declaration. This useful but somewhat specialised check
+@code{defvar} declaration. This useful but somewhat specialized check
requires three steps:
@enumerate
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/lispref/windows.texi
^
|
@@ -737,7 +737,7 @@
@cindex window width
@cindex width of a window
@cindex total width of a window
-The @dfn{total width} of a window is the number of lines comprising its
+The @dfn{total width} of a window is the number of columns comprising its
body and its left and right decorations (@pxref{Basic Windows}).
@defun window-total-width &optional window round
@@ -747,7 +747,7 @@
the total width occupied by its descendant windows.
If a window's pixel width is not an integral multiple of its frame's
-character width, the number of lines occupied by the window is rounded
+character width, the number of columns occupied by the window is rounded
internally. This is done in a way such that, if the window is a parent
window, the sum of the total widths of all its children internally
equals the total width of their parent. This means that although two
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/man/etags.1
^
|
@@ -1,5 +1,5 @@
.\" See section COPYING for copyright and redistribution information.
-.TH ETAGS 1 "2021-03-30" "GNU Tools" "GNU"
+.TH ETAGS 1 "2022-06-10" "GNU Tools" "GNU"
.de BP
.sp
.ti -.2i
@@ -122,7 +122,9 @@
.B \-I, \-\-ignore\-indentation
Don't rely on indentation as much as we normally do. Currently, this
means not to assume that a closing brace in the first column is the
-final brace of a function or structure definition in C and C++.
+final brace of a function or structure definition in C and C++. This
+is important for code that doesn't observe the GNU Coding conventions
+of placing only top-level braces in column zero.
.TP
\fB\-l\fP \fIlanguage\fP, \fB\-\-language=\fIlanguage\fP
Parse the following files according to the given language. More than
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/autotype.texi
^
|
@@ -274,13 +274,13 @@
@vindex auto-insert-alist
What gets inserted, if anything, is determined by the variable
-@code{auto-insert-alist}. The @sc{car}s of this list are each either
-a mode name, making an element applicable when a buffer is in that
-mode. Or they can be a string, which is a regexp matched against the
-buffer's file name. In that way different kinds of files that have
-the same mode in Emacs can be distinguished. The @sc{car}s may also
-be cons cells consisting of mode name or regexp as above and an
-additional descriptive string.
+@code{auto-insert-alist}. The @sc{car} of each element of this list
+is either a mode name, making the element applicable when a buffer is
+in that mode, or a string, which is a regexp matched against a
+buffer's file name (the latter allows to distinguish between different
+kinds of files that have the same mode in Emacs). The @sc{car} of an
+element may also be a cons cell, consisting of mode name or regexp, as
+above, and an additional descriptive string.
When a matching element is found, the @sc{cdr} says what to do. It may
be a string, which is a file name, whose contents are to be inserted, if
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/calc.texi
^
|
@@ -1,7 +1,7 @@
\input texinfo @c -*- mode: texinfo; coding: utf-8 -*-
+@setfilename ../../info/calc.info
@comment %**start of header (This is for running Texinfo on a region.)
@c smallbook
-@setfilename ../../info/calc.info
@c [title]
@settitle GNU Emacs Calc Manual
@include docstyle.texi
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/cl.texi
^
|
@@ -3668,7 +3668,7 @@
The functions described here operate on lists.
@menu
-* List Functions:: @code{cl-caddr}, @code{cl-first}, @code{cl-list*}, etc.
+* List Functions:: @code{cl-first}, @code{cl-list*}, etc.
* Substitution of Expressions:: @code{cl-subst}, @code{cl-sublis}, etc.
* Lists as Sets:: @code{cl-member}, @code{cl-adjoin}, @code{cl-union}, etc.
* Association Lists:: @code{cl-assoc}, @code{cl-acons}, @code{cl-pairlis}, etc.
@@ -3681,14 +3681,6 @@
This section describes a number of simple operations on lists,
i.e., chains of cons cells.
-@defun cl-caddr x
-This function is equivalent to @code{(car (cdr (cdr @var{x})))}.
-Likewise, this package aliases all 24 @code{c@var{xxx}r} functions
-where @var{xxx} is up to four @samp{a}s and/or @samp{d}s.
-All of these functions are @code{setf}-able, and calls to them
-are expanded inline by the byte-compiler for maximum efficiency.
-@end defun
-
@defun cl-first x
This function is a synonym for @code{(car @var{x})}. Likewise,
the functions @code{cl-second}, @code{cl-third}, @dots{}, through
@@ -4465,8 +4457,8 @@
@end example
@end ignore
-Note that @code{cl-adjoin}, @code{cl-caddr}, and @code{cl-member} all
-have built-in compiler macros to optimize them in common cases.
+Note that @code{cl-adjoin} and @code{cl-member} have built-in compiler
+macros to optimize them in common cases.
@end defun
@appendixsec Error Checking
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/ediff.texi
^
|
@@ -50,7 +50,7 @@
@titlepage
@title Ediff User's Manual
@sp 4
-@subtitle Ediff version 2.81.2
+@subtitle Ediff version 2.81.6
@sp 1
@subtitle November 2008
@sp 5
@@ -947,12 +947,14 @@
cases, the change will take place only after you execute one of the Ediff
commands, such as going to the next difference or redisplaying.
+@c --> The below can be revisited once the toolbar has been ported to Emacs:
+@ignore
@item ediff-toggle-use-toolbar
@findex ediff-toggle-use-toolbar
-Available in XEmacs only. The Ediff toolbar provides quick access to some
-of the common Ediff functions. This function toggles the display of the
-toolbar. If invoked from the menubar, the function may take sometimes
-effect only after you execute an Ediff command, such as going to the next
+The Ediff toolbar provides quick access to some of the common Ediff
+functions. This function toggles the display of the toolbar. If
+invoked from the menubar, the function may take sometimes effect only
+after you execute an Ediff command, such as going to the next
difference.
@item ediff-use-toolbar-p
@@ -961,6 +963,7 @@
@code{ediff-use-toolbar-p} (default is @code{t}). This variable can be set
only in @file{.emacs}: do @strong{not} change it interactively. Use the
function @code{ediff-toggle-use-toolbar} instead.
+@end ignore
@item ediff-revert-buffers-then-recompute-diffs
@findex ediff-revert-buffers-then-recompute-diffs
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/efaq-w32.texi
^
|
@@ -130,10 +130,8 @@
from NT 4.0; this includes all the modern versions from Windows XP and
on. The Windows port is built using the Win32 API and supports most
features of the X version, including variable width fonts, images and
-tooltips.
-
-Emacs on Windows can be compiled as either a 32-bit or a 64-bit
-executable, using the MinGW GCC compiler and development tools.
+tooltips. Emacs on Windows can be compiled as either a 64-bit or a
+32-bit executable.
@node Other versions of Emacs
@section What other versions of Emacs run on Windows?
@@ -177,8 +175,8 @@
site (as zip files digitally signed by the person who built them).
See the @file{README} file in that directory for more information.
Building Emacs from source yourself should be straightforward,
-following the instructions in @file{nt/INSTALL}, so we encourage you
-to give it a try. @xref{Compiling}.
+following the instructions in the @file{nt} directory, so we
+encourage you to give it a try. @xref{Compiling}.
@cindex latest development version of Emacs
@cindex Emacs Development
@@ -190,21 +188,27 @@
@section How can I compile Emacs myself?
@cindex compiling Emacs
-To compile Emacs on Windows, you will need the MinGW port of GCC and
-Binutils, the MinGW runtime and development environment, and the MSYS
-suite of tools. For the details, see the file @file{nt/INSTALL} in
-the Emacs source distribution.
+To compile Emacs on a 64-bit version of Windows 7 or newer, we
+recommend to use the MinGW-w64 port of GCC and Binutils with the MSYS2
+suite of tools. For the details, see the file @file{nt/INSTALL.W64}
+in the Emacs source distribution.
+
+If you need to build or run Emacs on MS Windows before Windows 7, you
+have to use the MinGW port of GCC and the MSYS suite of tools. The
+file @file{nt/INSTALL} in Emacs source distribution contains the
+details.
Support for displaying images, as well as XML/HTML rendering and TLS
networking requires external libraries, the headers and import
libraries for which will need to be installed where your compiler can
find them. Again, the details, including URLs of sites where you can
-download these libraries are in @file{nt/INSTALL}. @xref{Other useful
-ports}, for auxiliary tools you may wish to install and use in
-conjunction with Emacs.
+download these libraries are in @file{nt/INSTALL.W64} or
+@file{nt/INSTALL}. @xref{Other useful ports}, for auxiliary tools you
+may wish to install and use in conjunction with Emacs.
After unpacking the source, or checking out of the repository, be sure
-to read the instructions in @file{nt/README} and @file{nt/INSTALL}.
+to read the instructions in @file{nt/README} and the respective
+install file.
@node Debugging
@section How do I use a debugger on Emacs?
@@ -222,18 +226,18 @@
@cindex debugging Emacs with GDB
GDB is the GNU debugger, which can be used to debug Emacs when it has
-been compiled with MinGW GCC@. The best results will be obtained if
-you start gdb from the @file{src} directory as @kbd{gdb ./emacs.exe}.
+been compiled with GCC@. The best results will be obtained if you
+start gdb from the @file{src} directory as @kbd{gdb ./emacs.exe}.
This will load the init file @file{.gdbinit}@footnote{
Latest versions of GDB might refuse to load the init file for security
reasons, unless you customize GDB; alternatively, use an explicit
@kbd{source ./gdbinit} command after entering GDB.
} in that directory, to define some extra commands for working with
-lisp while debugging, and set up breakpoints to catch abnormal
-aborts.
+lisp while debugging, and set up breakpoints to catch abnormal aborts.
-A Windows port of GDB can be found on MinGW download sites and on some
-others.
+A Windows port of GDB is installed with MinGW64-w64 and MSYS2
+(@samp{mingw-w64-<arch>-toolchain} group) or can be found on MinGW
+download sites and on some others.
@c ------------------------------------------------------------
@node Installing Emacs
@@ -307,8 +311,8 @@
Expect @command{bsdtar} to unpack the whole distribution without any
complaints.
-Once you unpack the source distribution, look in @file{nt/INSTALL}
-file for build instructions.
+Once you unpack the source distribution, look in the @file{nt}
+directory for build instructions.
@node Installing binaries
@section How do I install Emacs after unpacking the binary zip?
@@ -1645,8 +1649,8 @@
In your @env{HOME} directory create a file called @file{.mailcap},
with contents like the following:
@example
-application/zip "C:/Program Files/7-Zip/7zFM.exe"
-video/* "C:/Program Files/VideoLAN/VLC/vlc.exe"
+application/zip; "C:/Program Files/7-Zip/7zFM.exe"
+video/*; "C:/Program Files/VideoLAN/VLC/vlc.exe"
@end example
@strong{Warning:} Associating MIME types with @command{start} or other
@@ -1742,23 +1746,6 @@
A number of implementations are listed on the
@uref{http://www.tug.org/interest.html#free, TeX Users Group} website.
-@menu
-* AUCTeX::
-@end menu
-
-@node AUCTeX
-@subsection AUCTeX
-@cindex auctex, precompiled for Windows
-@cindex latex
-@cindex preview-latex
-
-AUCTeX is an Emacs package for writing LaTeX files, which also
-includes preview-latex, an Emacs mode for previewing the formatted
-contents of LaTeX documents. Pre-compiled versions for Windows are
-available from
-@uref{https://www.gnu.org/software/auctex/download-for-windows.html, the
-AUCTeX site}.
-
@node Spell check
@section How do I perform spell checks?
@cindex spell checking
@@ -1771,11 +1758,13 @@
Emacs has support for spell checking on demand (@code{ispell}) and as
your type (@code{flyspell}). Both packages depend on a copy of
@command{ispell} 3.2 or a compatible spell-checking program.
-GNU Aspell is a popular choice these days, Windows installers are
-available from the @uref{http://aspell.net/win32/, official site}.
+GNU Aspell is a popular choice these days, outdated Windows installers
+are available from the @uref{http://aspell.net/win32/, official site}.
Another possibility is Hunspell, which is available from
@uref{https://sourceforge.net/projects/ezwinports/files/?source=navbar,
-the ezwinports site}.
+the ezwinports site}. If you're using the MSYS2 distribution, you can
+install a recent version of either GNU Aspell or Hunspell through the
+package manager Pacman. @xref{Other useful ports}.
Once installed, you will need to configure @code{ispell-program-name}
to tell ispell and flyspell to use @command{aspell} or
@@ -2113,9 +2102,9 @@
@menu
* Cygwin::
-* MinGW::
+* MinGW-w64::
* EZWinPorts::
-* UWIN::
+* MinGW::
* GnuWin32::
* GTK::
* Read man pages::
@@ -2150,22 +2139,25 @@
make the Cygwin tools available within Emacs by setting @code{exec-path}
in your init file.
-@node MinGW
-@section MinGW and MSYS
-@cindex mingw tools
-@cindex msys environment
-@cindex subprocesses, mingw and msys
+@node MinGW-w64
+@section MinGW-w64 and MSYS2
+@cindex mingw-w64 tools
+@cindex msys2 environment
+@cindex subprocesses, mingw-w64 and msys2
-@uref{http://www.mingw.org/}
+@uref{https://www.msys2.org/}
-MinGW is a set of development tools that produce native Windows
+MinGW-w64 is a set of development tools that produce native Windows
executables, not dependent on Cygwin's POSIX emulation DLLs.
+MinGW-w64 has forked the original MinGW in 2007 in order to provide
+support for 64 bits and new APIs.
-MSYS is a POSIX shell and minimal set of tools that are commonly used in
-configure scripts. Like Cygwin, this environment uses a non-native
-filesystem mapping to appear more POSIX like to the scripts that it
-runs. This is intended to complement the MinGW tools to make it easier
-to port software to Windows.
+MSYS2 is software distribution and a building platform for Windows.
+MSYS2 is an independent rewrite of MSYS, based on modern Cygwin and
+MinGW-w64 with the aim of better interoperability with native Windows
+software. It plays the same role MSYS does in MinGW. Being a
+distribution, MSYS2 provides tools to build software as well as more
+than 2.600 precompiled packages ready for use.
@node EZWinPorts
@section EZWinPorts
@@ -2178,16 +2170,22 @@
@command{man} command, Grep, xz, bzip2, bsdtar, ID Utils, Findutils,
Hunspell, Gawk, GNU Make, Groff, GDB.
-@node UWIN
-@section UWIN
-@cindex uwin environment
-@cindex subprocesses, uwin
-
-@uref{http://www.research.att.com/sw/tools/uwin/}
-
-UWIN is another POSIX emulation environment, like Cygwin and MSYS,
-that provides a large number of ported tools. The shell used by UWIN
-is @command{ksh}, the Korn shell.
+@node MinGW
+@section MinGW and MSYS
+@cindex mingw tools
+@cindex msys environment
+@cindex subprocesses, mingw and msys
+
+@uref{https://osdn.net/projects/mingw/}
+
+MinGW is another set of development tools that produce native Windows
+executables, not dependent on Cygwin's POSIX emulation DLLs.
+
+MSYS is a POSIX shell and minimal set of tools that are commonly used in
+configure scripts. Like Cygwin, this environment uses a non-native
+filesystem mapping to appear more POSIX like to the scripts that it
+runs. This is intended to complement the MinGW tools to make it easier
+to port software to Windows.
@node GnuWin32
@section GnuWin32
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/efaq.texi
^
|
@@ -1603,6 +1603,7 @@
* Filling paragraphs with a single space::
* Escape sequences in shell output::
* Fullscreen mode on MS-Windows::
+* Emacs in a Linux console::
@end menu
@node Setting up a customization file
@@ -3020,6 +3021,115 @@
Emacs frame and then evaluate @code{(frame-height)} and
@code{(frame-width)} with @kbd{M-:}.
+@node Emacs in a Linux console
+@section How can I alleviate the limitations of the Linux console?
+@cindex Console, Linux console, TTY, fbterm
+
+If possible, we recommend running Emacs inside @command{fbterm}, when
+in a Linux console. This brings the Linux console on par with most
+terminal emulators under X. To do this, install @command{fbterm}, for
+example with the package manager of your GNU/Linux distribution, and
+execute the command
+
+@example
+$ fbterm
+@end example
+
+This will create a sample configuration file @file{~/.fbtermrc} in
+your home directory. Edit that file and change the options
+@code{font-names} and @code{font-size} if necessary. For the former,
+you can choose one or more of the lines in the output of the following
+command, separated by commas:
+
+@example
+$ fc-list :spacing=mono family | sed 's/ /\\ /g'
+@end example
+
+@noindent
+Note that you can fine-tune the appearance of the fonts by adding
+attribute-value pairs, separated by colons, after each font name. For
+example,
+
+@example
+font-names=DejaVu\ Sans\ Mono:style=bold:antialias=false
+@end example
+
+@noindent
+selects the bold style of the DejaVu Sans Mono font, and disables
+anti-aliasing.
+
+You can now start Emacs inside @command{fbterm} with the command
+
+@example
+$ fbterm -- env TERM=fbterm emacs
+@end example
+
+In some versions of @command{fbterm}, setting @env{TERM} to
+@samp{fbterm} can be omitted. To check whether it is needed, start
+Emacs inside @command{fbterm} with the command
+
+@example
+$ fbterm -- emacs
+@end example
+
+@noindent
+and type @kbd{M-x list-colors-display}. If only 8 colors are
+displayed, it is necessary; if 256 colors are displayed, it isn't.
+
+You may want to add an alias for that command in your shell
+configuration file. For example, if you use Bash, you can add the
+following line to your @file{~/.bashrc} file:
+
+@example
+alias emacs="fbterm -- env TERM=fbterm emacs"
+@end example
+
+@noindent
+or, if you use Emacs both in the Linux console and under X:
+
+@example
+[[ "$(tty)" =~ "/dev/tty" ]] && alias emacs="fbterm -- env TERM=fbterm emacs"
+@end example
+
+The @command{fbterm} terminal emulator may define a number of key
+bindings for its own use, some of which conflict with those that Emacs
+uses. Execute the following two commands as root to ensure that
+@command{fbterm} does not define these key bindings:
+
+@example
+# chmod a-s `which fbterm`
+# setcap cap_sys_tty_config=-ep `which fbterm`
+@end example
+
+If you use Emacs as root, the above is not enough however, because the
+root user has all privileges. You can use the following command to
+start Emacs inside @command{fbterm} as root while ensuring that
+@command{fbterm} does not define any key bindings for its own use:
+
+@example
+# capsh --drop=cap_sys_tty_config -- -c "fbterm -- env TERM=fbterm emacs"
+@end example
+
+Again you may want to add a shortcut for that command in the shell
+configuration file of the root user. In this case however, it is not
+possible to use an alias, because the command line arguments passed to
+Emacs need to be inserted in the string at the end of the command. A
+wrapper script or a function can be used to do that. For example, if
+you use Bash, you can add the following function in the root user
+@file{~/.bashrc} file:
+
+@example
+function emacs ()
+@{
+ CMD="fbterm -- env TERM=fbterm emacs "
+ for ARG in "$@@"
+ do
+ CMD="$CMD '$ARG' "
+ done
+ capsh --drop=cap_sys_tty_config -- -c "$CMD"
+@}
+@end example
+
@c ------------------------------------------------------------
@node Bugs and problems
@chapter Bugs and problems
@@ -4337,75 +4447,6 @@
(setq ps-multibyte-buffer 'bdf-font-except-latin)
@end lisp
-A few additional steps are necessary for MS-Windows; they are listed
-below.
-
-First, make sure @emph{all} the directories with BDF font files are
-mentioned in @code{bdf-directory-list}. On Unix and GNU/Linux
-systems, one normally runs @kbd{make install} to install the BDF fonts
-in the same directory. By contrast, Windows users typically don't run
-the Intlfonts installation command, but unpack the distribution in
-some directory, which leaves the BDF fonts in its subdirectories. For
-example, assume that you unpacked Intlfonts in @file{C:/Intlfonts};
-then you should set @code{bdf-directory-list} as follows:
-
-@lisp
- (setq bdf-directory-list
- '("C:/Intlfonts/Asian"
- "C:/Intlfonts/Chinese" "C:/Intlfonts/Chinese.X"
- "C:/Intlfonts/Chinese.BIG" "C:/Intlfonts/Ethiopic"
- "C:/Intlfonts/European" "C:/Intlfonts/European.BIG"
- "C:/Intlfonts/Japanese" "C:/Intlfonts/Japanese.X"
- "C:/Intlfonts/Japanese.BIG" "C:/Intlfonts/Korean.X"
- "C:/Intlfonts/Misc"))
-@end lisp
-
-@cindex @code{w32-bdf-filename-alist}
-@cindex @code{w32-find-bdf-fonts}
-Next, you need to set up the variable @code{w32-bdf-filename-alist} to
-an alist of the BDF fonts and their corresponding file names.
-Assuming you have set @code{bdf-directory-list} to name all the
-directories with the BDF font files, the following Lisp snippet will
-set up @code{w32-bdf-filename-alist}:
-
-@lisp
- (setq w32-bdf-filename-alist
- (w32-find-bdf-fonts bdf-directory-list))
-@end lisp
-
-Now, create fontsets for the BDF fonts:
-
-@smallexample
- (create-fontset-from-fontset-spec
- "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf,
- japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*,
- katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
- latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
- japanese-jisx0208-1978:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1978-*,
- thai-tis620:-misc-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1,
- lao:-misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1,
- tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1,
- ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode,
- tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0")
-@end smallexample
-
-Many of the international bdf fonts from Intlfonts are type 0, and
-therefore need to be added to font-encoding-alist:
-
-@lisp
- (setq font-encoding-alist
- (append '(("MuleTibetan-0" (tibetan . 0))
- ("GB2312" (chinese-gb2312 . 0))
- ("JISX0208" (japanese-jisx0208 . 0))
- ("JISX0212" (japanese-jisx0212 . 0))
- ("VISCII" (vietnamese-viscii-lower . 0))
- ("KSC5601" (korean-ksc5601 . 0))
- ("MuleArabic-0" (arabic-digit . 0))
- ("MuleArabic-1" (arabic-1-column . 0))
- ("MuleArabic-2" (arabic-2-column . 0)))
- font-encoding-alist))
-@end lisp
-
You can now use the Emacs font menu to select the @samp{bdf: 16-dot medium}
fontset, or you can select it by setting the default font in your
@file{~/.emacs}:
@@ -4414,7 +4455,6 @@
(set-frame-font "fontset-bdf")
@end lisp
-
@c ------------------------------------------------------------
@node Mail and news
@chapter Mail and news
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/eww.texi
^
|
@@ -69,7 +69,7 @@
@chapter Overview
@dfn{EWW}, the Emacs Web Wowser, is a web browser for GNU Emacs. It
can load, parse, and display various web pages using @dfn{shr.el}.
-However a GNU Emacs with @code{libxml2} support is required.
+However, a GNU Emacs with @code{libxml2} support is required.
@node Basics
@chapter Basic Usage
@@ -213,7 +213,7 @@
@cindex External Browser
Although EWW and shr.el do their best to render webpages in GNU
Emacs some websites use features which can not be properly represented
-or are not implemented (E.g., JavaScript). If you have trouble
+or are not implemented (e.g., JavaScript). If you have trouble
viewing a website with EWW then hit @kbd{&}
(@code{eww-browse-with-external-browser}) inside the EWW buffer to
open the website in the external browser specified by
@@ -310,9 +310,9 @@
size or content. By customizing @code{shr-max-image-proportion} you
can set the maximal image proportion in relation to the window they
are displayed in. E.g., 0.7 means an image is allowed to take up 70%
-of the width and height. If Emacs supports image scaling (ImageMagick
-support required) then larger images are scaled down. You can block
-specific images completely by customizing @code{shr-blocked-images}.
+of the width and height. If Emacs supports image scaling, then larger
+images are scaled down. You can block specific images completely by
+customizing @code{shr-blocked-images}.
@vindex shr-inhibit-images
You can control image display by customizing
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/flymake.texi
^
|
@@ -1,8 +1,8 @@
\input texinfo @c -*-texinfo; coding: utf-8 -*-
@comment %**start of header
@setfilename ../../info/flymake.info
-@set VERSION 1.2
-@set UPDATED September 2021
+@set VERSION 1.2.2
+@set UPDATED November 2021
@settitle GNU Flymake @value{VERSION}
@include docstyle.texi
@syncodeindex pg cp
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/gnus-faq.texi
^
|
@@ -2193,18 +2193,9 @@
A speed killer is setting the variable
gnus-fetch-old-headers to anything different from @code{nil},
-so don't do this if speed is an issue. To speed up
-building of summary say
+so don't do this if speed is an issue.
-@example
-(gnus-compile)
-@end example
-@noindent
-
-at the bottom of your @file{~/.gnus.el}, this will make gnus
-byte-compile things like
-gnus-summary-line-format.
-then you could increase the value of gc-cons-threshold
+You could increase the value of gc-cons-threshold
by saying something like
@example
@@ -2212,21 +2203,7 @@
@end example
@noindent
-in ~/.emacs. If you don't care about width of CJK
-characters or use Gnus 5.10 or younger together with a
-recent GNU Emacs, you should say
-
-@example
-(setq gnus-use-correct-string-widths nil)
-@end example
-@noindent
-
-in @file{~/.gnus.el} (thanks to Jesper harder for the last
-two suggestions). Finally if you are still using 5.8.8
-or 5.9 and experience speed problems with summary
-buffer generation, you definitely should update to
-5.10 since there quite some work on improving it has
-been done.
+in ~/.emacs.
@node FAQ 9-3
@subsubheading Question 9.3
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/gnus.texi
^
|
@@ -5070,7 +5070,7 @@
@item ]
Closing bracket, which is normally @samp{]}, but can also be @samp{>}
-for adopted articles. This can be customised using following settings:
+for adopted articles. This can be customized using following settings:
@table @code
@item gnus-sum-closing-bracket
@@ -9359,7 +9359,7 @@
Use @uref{http://w3m.sourceforge.net/, w3m}.
@item links
-Use @uref{https://almende.github.io/chap-links-library/, CHAP Links}.
+Use @uref{http://links.twibright.com/, Links}.
@item lynx
Use @uref{https://lynx.browser.org/, Lynx}.
@@ -27021,16 +27021,6 @@
speeds up many functions), and changing the alist directly will lead to
peculiar results.
-@cindex hilit19
-@cindex highlighting
-Old hilit19 code does not work at all. In fact, you should probably
-remove all hilit code from all Gnus hooks
-(@code{gnus-group-prepare-hook} and @code{gnus-summary-prepare-hook}).
-Gnus provides various integrated functions for highlighting. These are
-faster and more accurate. To make life easier for everybody, Gnus will
-by default remove all hilit calls from all hilit hooks. Uncleanliness!
-Away!
-
Packages like @code{expire-kill} will no longer work. As a matter of
fact, you should probably remove all old @sc{gnus} packages (and other
code) when you start using Gnus. More likely than not, Gnus already
@@ -29671,10 +29661,9 @@
As the variables for the other back ends, there are
@code{nndiary-nov-is-evil}, @code{nndir-nov-is-evil},
-@code{nnfolder-nov-is-evil}, @code{nnimap-nov-is-evil},
-@code{nnml-nov-is-evil}, and @code{nnspool-nov-is-evil}. Note that a
-non-@code{nil} value for @code{gnus-nov-is-evil} overrides all those
-variables.
+@code{nnfolder-nov-is-evil}, @code{nnml-nov-is-evil}, and
+@code{nnspool-nov-is-evil}. Note that a non-@code{nil} value for
+@code{gnus-nov-is-evil} overrides all those variables.
@end table
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/htmlfontify.texi
^
|
@@ -10,8 +10,7 @@
This manual documents Htmlfontify, a source code -> crosslinked +
formatted + syntax colorized html transformer.
-Copyright @copyright{} 2002--2003, 2013--2022 Free Software Foundation,
-Inc.
+Copyright @copyright{} 2002--2022 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@@ -34,7 +33,7 @@
@titlepage
@title Htmlfontify User Manual
@sp 4
-@subtitle Htmlfontify version 0.20
+@subtitle Htmlfontify version 0.21
@sp 1
@subtitle Jun 2002
@sp 5
@@ -1540,13 +1539,6 @@
@itemize @bullet
@item
-GNU Emacs 20.7+ or 21.1+
-
-Other versions may work---these have been used successfully by the
-author. If you intend to use Htmlfontify in batch mode, 21.1+ is
-pretty much required.
-
-@item
A copy of etags (exuberant-ctags or GNU etags). Htmlfontify attempts
to autodetect the version you have and customize itself accordingly,
but you should be able to override this.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/idlwave.texi
^
|
@@ -392,7 +392,7 @@
be discovered by reading the entire manual, or hovering over the
shoulder of your nearest IDLWAVE guru for a few days.
-It is assumed that you have access to Emacs or XEmacs with the full
+It is assumed that you have access to Emacs with the full
IDLWAVE package including online help. We also assume that you are
familiar with Emacs and can read the nomenclature of key presses in
Emacs (in particular, @kbd{C} stands for @key{CONTROL} and @kbd{M} for
@@ -1011,9 +1011,9 @@
@cindex Font lock
Highlighting of keywords, comments, strings etc.@: can be accomplished
-with @code{font-lock}. If you are using @code{global-font-lock-mode}
-(in Emacs), or have @code{font-lock} turned on in any other buffer in
-XEmacs, it should also automatically work in IDLWAVE buffers. If you'd
+with @code{font-lock}. If you are using @code{global-font-lock-mode},
+or have @code{font-lock-mode} turned on in any other buffer,
+it should also automatically work in IDLWAVE buffers. If you'd
prefer invoking font-lock individually by mode, you can enforce it in
@code{idlwave-mode} with the following line in your @file{.emacs}:
@@ -4022,7 +4022,7 @@
IDLWAVE was developed on a UNIX system. However, thanks to the
portability of Emacs, much of IDLWAVE does also work under different
-operating systems like Windows (with NTEmacs or NTXEmacs).
+operating systems like Windows (with NTEmacs).
The only real problem is that there is no command-line version of IDL
for Windows with which IDLWAVE can interact. As a
@@ -4117,13 +4117,6 @@
@file{~/.MacOSX/environment.plist}. Either include your path settings
there, or start Emacs and IDLWAVE from the shell.
-@item @strong{I get errors like @samp{Symbol's function is void:
-overlayp}}
-
-You don't have the @samp{fsf-compat} package installed, which IDLWAVE
-needs to run under XEmacs. Install it, or find an XEmacs distribution
-which includes it by default.
-
@item @strong{I'm getting errors like @samp{Symbol's value as variable is void:
cl-builtin-gethash} on completion or routine info.}
@@ -4181,8 +4174,8 @@
load file}}.
The problem is that your Emacs is not finding the version of IDLWAVE you
-installed. Many Emacsen come with an older bundled copy of IDLWAVE
-(e.g., v4.7 for Emacs 21.x), which is likely what's being used instead.
+installed. Emacs might come with an older bundled copy of IDLWAVE
+which is likely what's being used instead.
You need to make sure your Emacs @emph{load-path} contains the directory
where IDLWAVE is installed (@file{/usr/local/share/emacs/site-lisp}, by
default), @emph{before} Emacs's default search directories. You can
@@ -4262,20 +4255,6 @@
Starting with IDL 6.2, the HTML help and its catalog are
distributed with IDL, and so should never be inconsistent.
-@item @strong{I get errors such as @samp{void-variable
-browse-url-browser-function} or similar when attempting to load IDLWAVE
-under XEmacs.}
-
-You don't have the @samp{browse-url} (or other required) XEmacs package.
-Unlike Emacs, XEmacs distributes many packages separately from the
-main program. IDLWAVE is actually among these, but is not always the
-most up to date. When installing IDLWAVE as an XEmacs package, it
-should prompt you for required additional packages. When installing it
-from source, it won't and you'll get this error. The easiest solution
-is to install all the packages when you install XEmacs (the so-called
-@samp{sumo} bundle). The minimum set of XEmacs packages required by
-IDLWAVE is @samp{fsf-compat, xemacs-base, mail-lib}.
-
@end enumerate
@node GNU Free Documentation License
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/mh-e.texi
^
|
@@ -333,8 +333,7 @@
Press the @key{DELETE} key.
@c -------------------------
@item @key{BS}
-Press the @key{BACKSPACE} key@footnote{If you are using Version 20 or
-earlier of Emacs, you will need to use the @key{DEL} key.}.
+Press the @key{BACKSPACE} key.
@end table
@cindex Emacs, prefix argument
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/modus-themes.org
^
|
@@ -481,7 +481,7 @@
interfaces or with {{{kbd(M-x customize-set-variable)}}} will not reload the
currently active Modus theme.
-Enable this behaviour by setting this variable to ~nil~.
+Enable this behavior by setting this variable to ~nil~.
** Option for color-coding success state
:properties:
@@ -649,7 +649,7 @@
This is to ensure that those constructs remain monospaced even when
users opt for a mode that remaps typeface families, such as the built-in
{{{kbd(M-x variable-pitch-mode)}}}. Otherwise the layout would appear
-broken, due to how spacing is done. To disable this behaviour, set the
+broken, due to how spacing is done. To disable this behavior, set the
option to ~t~.
Users may prefer to use another package for handling mixed typeface
@@ -1736,7 +1736,7 @@
This section is of interest only to users who are prepared to maintain
their own local tweaks and who are willing to deal with any possible
incompatibilities between versioned releases of the themes. As such,
-they are labelled as "do-it-yourself" or "DIY".
+they are labeled as "do-it-yourself" or "DIY".
** Per-theme customization settings
:properties:
@@ -2050,7 +2050,7 @@
Whenever we enter a ~diff-mode~ buffer, we now get a magenta-colored
region.
-Perhaps you may wish to generalise those findings in to a set of
+Perhaps you may wish to generalize those findings in to a set of
functions that also accept an arbitrary face. We shall leave the
experimentation up to you.
@@ -2069,7 +2069,7 @@
One way to achieve this is to design a command that cycles through three
distinct levels of intensity, though the following can be adapted to any
-kind of cyclic behaviour, such as to switch between red, green, and
+kind of cyclic behavior, such as to switch between red, green, and
blue.
In the following example, we employ the ~modus-themes-color~ function
@@ -2318,7 +2318,7 @@
shades for Modus Vivendi. Switching between the two themes, such as
with {{{kbd(M-x modus-themes-toggle)}}} will also use the overrides.
-Given that this is a user-level customisation, one is free to implement
+Given that this is a user-level customization, one is free to implement
whatever color values they desire, even if the possible combinations
fall below the minimum 7:1 contrast ratio that governs the design of the
themes (the WCAG AAA legibility standard). Alternatively, this can also
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/org.org
^
|
@@ -2866,12 +2866,12 @@
- transpose ::
When =y=, =yes=, or =t= attempt to transpose the table data before
- plotting. Also recognises the shorthand option =trans=.
+ plotting. Also recognizes the shorthand option =trans=.
- =type= ::
Specify the type of the plot, by default one of =2d=, =3d=, =radar=, or =grid=.
- Available types can be customised with ~org-plot/preset-plot-types~.
+ Available types can be customized with ~org-plot/preset-plot-types~.
- =with= ::
@@ -6405,7 +6405,7 @@
Marking this DONE shifts the date to one month after today.
,** TODO Wash my hands
- DEADLINE: <2019-04-05 08:00 Sun .+1h>
+ DEADLINE: <2019-04-05 08:00 Fri .+1h>
Marking this DONE shifts the date to exactly one hour from now.
#+end_example
@@ -8544,8 +8544,8 @@
Search for a regular expression in all agenda files and additionally
in the files listed in ~org-agenda-text-search-extra-files~. This
uses the Emacs command ~multi-occur~. A prefix argument can be used
- to specify the number of context lines for each match, default is
- 1.
+ to specify the number of context lines for each match, the default
+ is 1.
- {{{kbd(#)}}} ::
@@ -12442,7 +12442,7 @@
When =ignoreheading= is set, Org export ignores the entry's headline
but not its content. This is useful for inserting content between
frames. It is also useful for properly closing a =column=
- environment. @end itemize
+ environment.
#+cindex: @samp{BEAMER_ACT}, property
#+cindex: @samp{BEAMER_OPT}, property
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/reftex.texi
^
|
@@ -38,7 +38,6 @@
@set SUPPORTADDRESS @AUCTeX{} user mailing list (@email{auctex@@gnu.org})
@set DEVELADDRESS @AUCTeX{} developer mailing list (@email{auctex-devel@@gnu.org})
@set BUGADDRESS @AUCTeX{} bug mailing list (@email{bug-auctex@@gnu.org})
-@set XEMACSFTP @uref{ftp://ftp.xemacs.org/pub/xemacs/packages/,XEmacs FTP site}
@c %**end of header
@copying
@@ -249,10 +248,7 @@
@cindex Installation
@RefTeX{} has been bundled and pre-installed with Emacs since
-version 20.2. It has also been bundled and pre-installed with XEmacs
-19.16--20.x. XEmacs 21.x users want to install the corresponding
-plug-in package which is available from the @value{XEMACSFTP}. See the
-XEmacs 21.x documentation on package installation for details.
+version 20.2.
@findex turn-on-reftex
@findex reftex-mode
@@ -3543,18 +3539,6 @@
after the @samp{@{step+@}}, also when specifying how to get
context.
-@item
-@b{Viper mode}@*
-@cindex Viper mode
-@cindex Key bindings, problems with Viper mode
-@findex viper-harness-minor-mode
-With @i{Viper} mode prior to Vipers version 3.01, you need to protect
-@RefTeX{}'s keymaps with
-
-@lisp
-(viper-harness-minor-mode "reftex")
-@end lisp
-
@end itemize
@page
@@ -3584,7 +3568,7 @@
There are also several Usenet groups which have competent readers who
might be able to help: @code{comp.emacs}, @code{gnu.emacs.help},
-@code{comp.emacs.xemacs}, and @code{comp.text.tex}.
+and @code{comp.text.tex}.
Thanks to the people on the Net who have used @RefTeX{} and helped
developing it with their reports. In particular thanks to @i{Ralf
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/texinfo.tex
^
|
@@ -1002,7 +1002,7 @@
\global\everypar = {}%
}
-% leave vertical mode without cancelling any first paragraph indent
+% leave vertical mode without canceling any first paragraph indent
\gdef\imageindent{%
\toks0=\everypar
\everypar={}%
@@ -7660,7 +7660,7 @@
% If SUBTOPIC is present, precede it with a space, and call \doind.
% (At some time during the 20th century, this made a two-level entry in an
% index such as the operation index. Nobody seemed to notice the change in
-% behaviour though.)
+% behavior though.)
\def\dosubind#1#2#3{%
\def\thirdarg{#3}%
\ifx\thirdarg\empty
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/tramp.texi
^
|
@@ -667,6 +667,11 @@
(with-eval-after-load 'tramp (tramp-change-syntax 'simplified))
@end lisp
+@vindex enable-remote-dir-locals
+Changing other variables via directory-local variables on a remote
+directory must be enabled by setting @code{enable-remote-dir-locals}
+to non-@code{nil}, @xref{Directory Variables, , , emacs}.
+
@menu
* Connection types:: Types of connections to remote hosts.
@@ -2397,7 +2402,7 @@
@end lisp
@vindex password-word-equivalents
-This user option is, by default, initialised from
+This user option is, by default, initialized from
@code{password-word-equivalents} when @value{tramp} is loaded, and it
is usually more convenient to add new passphrases to that user option
instead of altering this user option.
@@ -3156,7 +3161,7 @@
@item @code{simplified}
@cindex simplified syntax
-The remote file name syntax is similar to the syntax used by Ange FTP@.
+This remote file name syntax is similar to the syntax used by Ange FTP@.
A remote file name has the form
@code{@value{prefix}user@@host@value{postfix}path/to/file}. The
@code{user@@} part is optional, and the method is determined by
@@ -3168,7 +3173,7 @@
@clear unified
@set separate
@include trampver.texi
-The remote file name syntax is similar to the syntax used by XEmacs.
+This remote file name syntax originated in the XEmacs text editor.
A remote file name has the form
@code{@trampfn{method,user@@host,path/to/file}}. The @code{method}
and @code{user@@} parts are optional.
@@ -4008,8 +4013,10 @@
@acronym{GVFS} @option{archive} method.
A file archive is a regular file of kind @file{/path/to/dir/file.EXT}.
-The extension @samp{.EXT} identifies the type of the file archive. A
-file inside a file archive, called archive file name, has the name
+The extension @samp{.EXT} identifies the type of the file archive. To
+examine the contents of an archive with Dired, open file name as if it
+were a directory (i.e., open @file{/path/to/dir/file.EXT/}). A file
+inside a file archive, called archive file name, has the name
@file{/path/to/dir/file.EXT/dir/file}.
Most of the @ref{Magic File Names, , magic file name operations,
@@ -4983,13 +4990,6 @@
(before my-minibuffer-complete activate)
(expand-abbrev))
@end group
-
-@group
-;; If you use partial-completion-mode
-(defadvice PC-do-completion
- (before my-PC-do-completion activate)
- (expand-abbrev))
-@end group
@end lisp
The reduced typing: @kbd{C-x C-f xy @key{TAB}}.
@@ -5446,15 +5446,15 @@
@*@indent @w{ 4} activities
@*@indent @w{ 5} internal
@*@indent @w{ 6} sent and received strings
-@*@indent @w{ 7} file caching
-@*@indent @w{ 8} connection properties
+@*@indent @w{ 7} connection properties
+@*@indent @w{ 8} file caching
@*@indent @w{ 9} test commands
@*@indent @w{10} traces (huge)
@*@indent @w{11} call traces (maintainer only)
With @code{tramp-verbose} greater than or equal to 4, messages are
also written to a @value{tramp} debug buffer. Such debug buffers are
-essential to bug and problem analyses. For @value{tramp} bug reports,
+essential to bug and problem analyzes. For @value{tramp} bug reports,
set the @code{tramp-verbose} level to 6 (@pxref{Bug Reports}).
The debug buffer is in
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/trampver.texi
^
|
@@ -8,7 +8,7 @@
@c In the Tramp GIT, the version numbers are auto-frobbed from
@c tramp.el, and the bug report address is auto-frobbed from
@c configure.ac.
-@set trampver 2.5.2.28.1
+@set trampver 2.5.3.28.2
@set trampurl https://www.gnu.org/software/tramp/
@set tramp-bug-report-address tramp-devel@@gnu.org
@set emacsver 25.1
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/transient.texi
^
|
@@ -2025,7 +2025,7 @@
@code{value} The value. Should not be accessed directly.
@item
-@code{init-value} Function that is responsable for setting the object's
+@code{init-value} Function that is responsible for setting the object's
value. If bound, then this is called with the object as the only
argument. Usually this is not bound, in which case the object's
primary @code{transient-init-value} method is called instead.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/doc/misc/viper.texi
^
|
@@ -34,7 +34,7 @@
@titlepage
@title Viper Is a Package for Emacs Rebels
@subtitle a Vi emulator for Emacs
-@subtitle November 2008, Viper Version 3.11.2
+@subtitle July 2013, Viper Version 3.14.2
@author Michael Kifer (Viper)
@author Aamod Sane (VIP 4.4)
@@ -325,9 +325,9 @@
@noindent
in your @file{~/.emacs} file. The @file{.emacs} file is placed in your
home directory and it is be executed every time you invoke Emacs. This is
-the place where all general Emacs customization takes place. Beginning with
-version 20.0, Emacsen have an interactive interface, which simplifies the
-job of customization significantly.
+the place where all general Emacs customization takes place. Emacs
+has an interactive interface (@kbd{M-x customize}), which simplifies
+the job of customization significantly.
Viper also uses the file @file{~/.emacs.d/viper} for Viper-specific customization.
The location of Viper customization file can be changed by setting the
@@ -1842,7 +1842,7 @@
(set-face-background viper-replace-overlay-face "yellow")
@end smallexample
For a complete list of colors available to you, evaluate the expression
-@code{(x-defined-colors)}. (Type it in the buffer @file{*scratch*} and then
+@code{(defined-colors)}. (Type it in the buffer @file{*scratch*} and then
hit the @kbd{C-j} key.
@item viper-replace-overlay-cursor-color "Red"
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/AUTHORS
^
|
@@ -68,7 +68,7 @@
and changed nsterm.m nsfns.m nsfont.m nsterm.h nsmenu.m configure.ac
src/Makefile.in macos.texi README config.in emacs.c font.c keyboard.c
nsgui.h nsimage.m xdisp.c image.c lib-src/Makefile.in lisp.h menu.c
- Makefile.in and 79 other files
+ Makefile.in and 78 other files
Ævar Arnfjörð Bjarmason: changed rcirc.el
@@ -103,11 +103,11 @@
Alan Mackenzie: wrote cc-awk.el
and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-fonts.el
cc-langs.el cc-mode.el cc-styles.el cc-vars.el
-and changed cc-mode.texi minibuf.c bytecomp.el edebug.el follow.el
- window.c display.texi subr.el syntax.texi progmodes/compile.el
+and changed cc-mode.texi minibuf.c bytecomp.el window.c edebug.el
+ follow.el display.texi subr.el syntax.texi progmodes/compile.el
programs.texi eval.c keyboard.c lisp.h modes.texi window.el
- windows.texi cus-start.el font-lock.el isearch.el newcomment.el
- and 166 other files
+ windows.texi cus-start.el font-lock.el frame.c isearch.el
+ and 167 other files
Alan Modra: changed unexelf.c
@@ -281,8 +281,8 @@
comp.el
and changed comp.c pdumper.c lread.c bytecomp.el comp.h configure.ac
lisp.h startup.el loadup.el alloc.c data.c emacs.c .gitlab-ci.yml
- nadvice.el cl-macs.el advice.el help.el lisp/Makefile.in package.el
- Makefile.in comp-test-funcs.el and 62 other files
+ nadvice.el cl-macs.el advice.el comp-test-funcs.el help.el
+ lisp/Makefile.in package.el Makefile.in and 61 other files
André A. Gomes: changed ispell.el
@@ -433,16 +433,17 @@
Antoine Beaupré: changed vc-git.el
-Antoine Levitt: changed gnus-group.el gnus-sum.el message.texi ada-prj.el
+Antoine Levitt: changed gnus-group.el gnus-sum.el message.texi
ange-ftp.el cus-edit.el dired-x.el ebnf2ps.el emerge.el erc-button.el
erc-goodies.el erc-stamp.el erc-track.el files.el find-file.el
gnus-art.el gnus-uu.el gnus.el gnus.texi message.el mh-funcs.el
- and 8 other files
+ mh-mime.el and 7 other files
Antonin Houska: changed newcomment.el
-Arash Esbati: changed reftex-vars.el reftex-auc.el reftex-ref.el
- reftex.el nnmaildir.el reftex-cite.el reftex-dcr.el reftex-toc.el
+Arash Esbati: changed reftex-vars.el efaq-w32.texi reftex-auc.el
+ reftex-ref.el reftex.el gnus.texi nnmaildir.el reftex-cite.el
+ reftex-dcr.el reftex-toc.el
Arik Mitschang: changed smime.el
@@ -542,7 +543,7 @@
custom.el bibtex.el text.texi gnus-sum.el modes.texi customize.texi
files.texi gnus-group.el gnus-win.el gravatar.el internals.texi json.el
shr.el window.c battery-tests.el button.el custom-tests.el
- and 278 other files
+ and 279 other files
Bastian Beischer: changed semantic/complete.el calc-yank.el include.el
mru-bookmark.el refs.el senator.el
@@ -833,7 +834,7 @@
and changed simple.el display.texi xdisp.c files.el frames.texi
cus-edit.el files.texi custom.el subr.el text.texi faces.el keyboard.c
startup.el package.el misc.texi emacs.texi modes.texi mouse.el
- custom.texi image.c window.el and 934 other files
+ custom.texi image.c window.el and 932 other files
Chris Chase: co-wrote idlw-shell.el idlwave.el
@@ -993,7 +994,8 @@
Colin Williams: changed calc.texi
-Colin Woodbury: changed files.el files.texi macros.texi shortdoc.el
+Colin Woodbury: changed files.el cl-seq.el files.texi macros.texi
+ shortdoc.el
Constantin Kulikov: changed server.el startup.el
@@ -1030,11 +1032,11 @@
Damien Cassou: wrote auth-source-pass-tests.el hierarchy-tests.el
hierarchy.el
and co-wrote auth-source-pass.el auth-source-tests.el
-and changed auth.texi checkdoc.el ispell.el message.el seq-tests.el
- seq.el simple-tests.el simple.el auth-source.el autorevert.el
+and changed simple.el auth.texi checkdoc.el ispell.el message.el
+ seq-tests.el seq.el simple-tests.el auth-source.el autorevert.el
checkdoc-tests.el imenu-tests.el imenu.el info.el isearch.el
- json-tests.el json.el message-tests.el package.el rmc.el sequences.texi
- xref.el
+ json-tests.el json.el message-tests.el package.el rmc.el sending.texi
+ and 3 other files
Damien Elmes: changed erc.el erc-dcc.el erc-track.el erc-log.el
erc-pcomplete.el README erc-button.el erc-nets.el erc-ring.el Makefile
@@ -1114,7 +1116,7 @@
msdos-xtra.texi ns-win.el basic.texi cmacexp.el compilation.txt
compile-tests.el cscope.el diff.el dired.el display.texi editfns.c
emacs.texi files-tests.el find-func-tests.el find-func.el frame.c
- and 17 other files
+ and 18 other files
Daniel McClanahan: changed lisp-mode.el
@@ -1199,7 +1201,7 @@
and changed configure.ac help.el mule-cmds.el fortran.el mule-conf.el
xterm.c browse-url.el mule.el coding.c src/Makefile.in european.el
fns.c mule-diag.el simple.el wid-edit.el cus-edit.el cus-start.el
- files.el keyboard.c byte-opt.el info.el and 772 other files
+ files.el keyboard.c byte-opt.el info.el and 771 other files
Dave Pearson: wrote 5x5.el quickurl.el
@@ -1369,10 +1371,10 @@
Decklin Foster: changed nngateway.el
-Deepak Goel: changed idlw-shell.el ada-xref.el feedmail.el files.el
- find-func.el flymake.el mh-search.el mh-seq.el mh-thread.el mh-xface.el
- org.el simple.el vc.el vhdl-mode.el wdired.el README ada-mode.el
- allout.el appt.el apropos.el artist.el and 85 other files
+Deepak Goel: changed idlw-shell.el feedmail.el files.el find-func.el
+ flymake.el mh-search.el mh-seq.el mh-thread.el mh-xface.el org.el
+ simple.el vc.el vhdl-mode.el wdired.el README allout.el appt.el
+ apropos.el artist.el bibtex.el bindings.el and 83 other files
D. E. Evans: changed basic.texi
@@ -1513,8 +1515,8 @@
apropos.el bindings.el and 22 other files
Earl Hyatt: changed ffap.el seq-tests.el sequences.texi windows.texi
- control.texi cus-edit.el hi-lock.el misc.texi pcase-tests.el pcase.el
- replace.el search.texi seq.el tab-bar.el
+ autotype.texi control.texi cus-edit.el hi-lock.el misc.texi
+ pcase-tests.el pcase.el replace.el search.texi seq.el tab-bar.el
E. Choroba: changed cperl-mode.el simple.el
@@ -1571,8 +1573,8 @@
chartab-tests.el coding-tests.el etags-tests.el rxvt.el tty-colors.el
and co-wrote help-tests.el
and changed xdisp.c display.texi w32.c msdos.c w32fns.c simple.el
- files.el fileio.c keyboard.c emacs.c w32term.c text.texi dispnew.c
- w32proc.c files.texi frames.texi configure.ac dispextern.h lisp.h
+ files.el fileio.c emacs.c keyboard.c w32term.c text.texi dispnew.c
+ w32proc.c files.texi frames.texi configure.ac lisp.h dispextern.h
process.c ms-w32.h and 1236 other files
Eliza Velasquez: changed server.el
@@ -1594,7 +1596,7 @@
and 58 other files
Emmanuel Briot: wrote xml.el
-and changed ada-mode.el ada-stmt.el ada-prj.el ada-xref.el
+and changed ada-stmt.el
Era Eriksson: changed bibtex.el dired.el json.el ses.el ses.texi shell.el
tramp.el tramp.texi
@@ -1732,6 +1734,8 @@
Eugene Exarevsky: changed sql.el
+Eugene Ha: changed configure.ac
+
Evangelos Evangelou: changed progmodes/f90.el
Evan Moses: changed progmodes/python.el
@@ -1782,6 +1786,8 @@
Felipe Ochoa: changed faces.el js.el paren.el
+Felix Dietrich: changed tramp-archive.el
+
Felix E. Klee: co-wrote svg.el
and changed display.texi
@@ -1978,7 +1984,7 @@
and changed xdisp.c xterm.c dispnew.c dispextern.h xfns.c xfaces.c
window.c keyboard.c lisp.h faces.el alloc.c buffer.c startup.el xterm.h
fns.c simple.el term.c configure.ac frame.c xmenu.c emacs.c
- and 610 other files
+ and 609 other files
Gergely Nagy: changed erc.el
@@ -2006,7 +2012,7 @@
lisp/Makefile.in diary-lib.el files.el make-dist rmail.el
progmodes/f90.el bytecomp.el admin.el misc/Makefile.in simple.el
authors.el startup.el emacs.texi lib-src/Makefile.in display.texi
- ack.texi subr.el and 1789 other files
+ ack.texi subr.el and 1786 other files
Glynn Clements: wrote gamegrid.el snake.el tetris.el
@@ -2051,10 +2057,10 @@
Gregory Chernov: changed nnslashdot.el
-Gregory Heytings: changed isearch.el minibuffer.el mini.texi quail.el
- search.texi simple.el HELLO buffers.texi diff-mode.el emake facemenu.el
- files.el fringe.c help-macro.el icomplete.el keyboard.c misc-lang.el
- modula2.el pcmpl-gnu.el print.c pulse.el and 4 other files
+Gregory Heytings: changed isearch.el minibuffer.el efaq.texi mini.texi
+ quail.el search.texi simple.el HELLO buffers.texi diff-mode.el emake
+ facemenu.el fbterm.el files.el fringe.c help-macro.el icomplete.el
+ keyboard.c misc-lang.el modula2.el pcmpl-gnu.el and 6 other files
Grégory Mounié: changed display.texi hi-lock.el man.el xfns.c
@@ -2118,6 +2124,8 @@
Harri Kiiskinen: changed org-protocol.el ox-publish.el
+Hayden Shenk: changed tramp-adb.el
+
H. Dieter Wilhelm: changed calc-help.el maintaining.texi paragraphs.el
Heiko Muenkel: changed b2m.c
@@ -2216,7 +2224,8 @@
Iku Iwasa: changed auth-source-pass-tests.el auth-source-pass.el
-Ikumi Keita: changed characters.el japan-util.el kinsoku.el minibuf.c
+Ikumi Keita: changed characters.el display.texi files.el japan-util.el
+ kinsoku.el minibuf.c
Ilja Weis: co-wrote gnus-topic.el
@@ -2274,8 +2283,7 @@
Itai Zukerman: changed mm-decode.el
Ivan Andrus: changed editfns.c epg.el ffap.el find-file.el ibuf-ext.el
- ibuffer.el newcomment.el nextstep/templates/Info.plist.in nxml-mode.el
- progmodes/python.el
+ ibuffer.el newcomment.el nxml-mode.el progmodes/python.el
Ivan Boldyrev: changed mml1991.el
@@ -2520,7 +2528,7 @@
Jeff Spencer: changed dired.el
-Jeff Walsh: changed xwidget.c
+Jeff Walsh: changed comp.c xwidget.c
Jelle Licht: changed auth-source-pass-tests.el auth-source-pass.el
@@ -2857,7 +2865,7 @@
Jose A. Ortega Ruiz: changed mixal-mode.el gnus-sum.el url-http.el
-Jose E. Marchesi: changed ada-mode.el gomoku.el simple.el smtpmail.el
+Jose E. Marchesi: changed gomoku.el simple.el smtpmail.el
José L. Doménech: changed dired-aux.el
@@ -2902,7 +2910,7 @@
and changed subr.el desktop.el w32fns.c faces.el simple.el emacsclient.c
files.el server.el bs.el help-fns.el xdisp.c org.el w32term.c w32.c
buffer.c keyboard.c ido.el image.c window.c eval.c allout.el
- and 1225 other files
+ and 1223 other files
Juan Pechiar: changed ob-octave.el
@@ -2941,8 +2949,8 @@
Jürgen Hartmann: changed window.el
Jürgen Hötzel: wrote tramp-adb.el
-and changed tramp-gvfs.el tramp-sh.el comint.el em-unix.el esh-util.el
- tramp-cache.el tramp.el url-handlers.el wid-edit.el
+and changed tramp-gvfs.el tramp-sh.el callproc.c comint.el em-unix.el
+ esh-util.el tramp-cache.el tramp.el url-handlers.el wid-edit.el
Juri Linkov: wrote compose.el files-x.el misearch.el repeat-tests.el
replace-tests.el tab-bar-tests.el tab-bar.el tab-line.el
@@ -3017,7 +3025,7 @@
Karl Heuer: changed keyboard.c lisp.h xdisp.c buffer.c xfns.c xterm.c
alloc.c files.el frame.c configure.ac window.c data.c minibuf.c
editfns.c fns.c process.c Makefile.in fileio.c simple.el keymap.c
- indent.c and 447 other files
+ indent.c and 446 other files
Karl Kleinpaste: changed gnus-sum.el gnus-art.el gnus-picon.el
gnus-score.el gnus-uu.el gnus-xmas.el gnus.el mm-uu.el mml.el nnmail.el
@@ -3181,7 +3189,7 @@
and changed xdisp.c dispextern.h process.c simple.el window.c keyboard.c
xterm.c dispnew.c subr.el w32term.c lisp.h fringe.c display.texi
macterm.c alloc.c fns.c xfaces.c keymap.c xfns.c xterm.h .gdbinit
- and 249 other files
+ and 248 other files
Kimit Yada: changed copyright.el
@@ -3220,10 +3228,10 @@
and changed ob-python.el
Konstantin Kharlamov: changed smerge-mode.el diff-mode.el files.el
- ada-mode.el autorevert.el calc-aent.el calc-ext.el calc-lang.el
- cc-mode.el cperl-mode.el css-mode.el cua-rect.el dnd.el ebnf-abn.el
- ebnf-dtd.el ebnf-ebx.el emacs-module-tests.el epg.el faces.el
- gnus-art.el gtkutil.c and 27 other files
+ autorevert.el calc-aent.el calc-ext.el calc-lang.el cc-mode.el
+ cperl-mode.el css-mode.el cua-rect.el dnd.el ebnf-abn.el ebnf-dtd.el
+ ebnf-ebx.el emacs-module-tests.el epg.el faces.el gnus-art.el gtkutil.c
+ hideif.el and 26 other files
Konstantin Kliakhandler: changed org-agenda.el
@@ -3303,10 +3311,10 @@
mm-encode.el mm-util.el nnbabyl.el nndoc.el nneething.el nnfolder.el
nnheader.el nnimap.el nnmbox.el nnmh.el nnml.el nnspool.el nnvirtual.el
rfc2047.el svg.el time-date.el
-and changed gnus.texi simple.el subr.el files.el process.c text.texi
- display.texi dired.el gnutls.c gnus-ems.el smtpmail.el help-fns.el
+and changed gnus.texi simple.el subr.el files.el process.c display.texi
+ text.texi dired.el gnutls.c gnus-ems.el smtpmail.el help-fns.el
auth-source.el url-http.el edebug.el image.el gnus-cite.el pop3.el
- dired-aux.el fns.c image.c and 860 other files
+ dired-aux.el fns.c image.c and 867 other files
Lars Rasmusson: changed ebrowse.c
@@ -3336,11 +3344,11 @@
python-tests.el flymake-proc.el flymake.texi isearch.el
Lennart Borgman: co-wrote ert-x.el
-and changed nxml-mode.el tutorial.el re-builder.el window.el ada-xref.el
- buff-menu.el emacs-lisp/debug.el emacsclient.c filesets.el flymake.el
- help-fns.el isearch.el linum.el lisp-mode.el lisp.el mouse.el
- progmodes/grep.el recentf.el remember.el replace.el reveal.el
- and 6 other files
+and changed nxml-mode.el tutorial.el re-builder.el window.el buff-menu.el
+ emacs-lisp/debug.el emacsclient.c filesets.el flymake.el help-fns.el
+ isearch.el linum.el lisp-mode.el lisp.el mouse.el progmodes/grep.el
+ recentf.el remember.el replace.el reveal.el ruby-mode.el
+ and 5 other files
Lennart Staflin: changed dired.el diary-ins.el diary-lib.el tq.el xdisp.c
@@ -3429,7 +3437,7 @@
generic.el font-lock.el simple.el subr.el battery.el debugging.texi
easy-mmode.el elisp.texi emacs-lisp/generic.el hl-line.el info.el
octave.el basic.texi bindings.el calc.el cmdargs.texi diff-mode.el
- doclicense.texi and 289 other files
+ doclicense.texi and 288 other files
Lynn Slater: wrote help-macro.el
@@ -3551,7 +3559,7 @@
and changed image-dired.el dunnet.el mpc.el eww.el json.el calc-units.el
lcms.c subr-x.el subr.el message.el tex-mode.el cl-macs.el cl.texi
ibuffer.el lcms-tests.el mailcap.el progmodes/python.el cl-print.el
- eldoc.el emacs-lisp/chart.el files.el and 172 other files
+ eldoc.el emacs-lisp/chart.el files.el and 173 other files
Mark Plaksin: changed nnrss.el term.el
@@ -3574,7 +3582,7 @@
tex-mode.el find-func.el rmailsum.el simple.el cus-dep.el dired.el
mule-cmds.el rmailout.el checkdoc.el configure.ac custom.el emacsbug.el
gnus.el help-fns.el ls-lisp.el mwheel.el sendmail.el
- and 126 other files
+ and 125 other files
Markus Sauermann: changed lisp-mode.el
@@ -3619,7 +3627,7 @@
Martin Rudalics: changed window.el window.c windows.texi frame.c xdisp.c
xterm.c frames.texi w32fns.c w32term.c xfns.c frame.el display.texi
frame.h cus-start.el help.el buffer.c window.h mouse.el dispnew.c
- nsfns.m gtkutil.c and 213 other files
+ nsfns.m gtkutil.c and 212 other files
Martin Stjernholm: wrote cc-bytecomp.el
and co-wrote cc-align.el cc-cmds.el cc-compat.el cc-defs.el cc-engine.el
@@ -3733,7 +3741,7 @@
bytecomp-tests.el bytecomp.el calc-tests.el progmodes/compile.el
subr.el autorevert.el gdb-mi.el files.el regex-emacs-tests.el mouse.el
regexp-opt.el replace.el calc.el coding.c filenotify.el regex-emacs.c
- calc-ext.el and 537 other files
+ calc-ext.el and 539 other files
Mattias M: changed asm-mode-tests.el asm-mode.el
@@ -3925,8 +3933,8 @@
Mihai Olteanu: changed hexl.el
Miha Rihtaršič: changed keyboard.c commands.texi minibuf.c minibuffer.el
- simple.el comint.el data.c delsel.el errors.texi esh-mode.el eval.c
- ibuffer.el macros.c process.c sh-script.el
+ simple.el bindings.el comint.el data.c delsel.el errors.texi
+ esh-mode.el eval.c ibuffer.el macros.c process.c sh-script.el
Mihir Rege: changed js.el
@@ -3978,7 +3986,7 @@
and changed comint.el faces.el simple.el editfns.c xfaces.c xdisp.c
info.el minibuf.c display.texi quick-install-emacs wid-edit.el xterm.c
dispextern.h subr.el window.el cus-edit.el diff-mode.el xfns.c
- bytecomp.el help.el lisp.h and 272 other files
+ bytecomp.el help.el lisp.h and 271 other files
Milton Wulei: changed gdb-ui.el
@@ -4308,7 +4316,7 @@
and changed lisp.h configure.ac alloc.c fileio.c process.c editfns.c
sysdep.c xdisp.c fns.c image.c keyboard.c data.c emacs.c lread.c
xterm.c eval.c gnulib-comp.m4 callproc.c Makefile.in frame.c buffer.c
- and 1849 other files
+ and 1847 other files
Paul Fisher: changed fns.c
@@ -4322,9 +4330,9 @@
Paul Pogonyshev: changed subr.el byte-opt.el bytecomp.el
emacs-lisp/debug.el eval.c progmodes/python.el which-func.el align.el
- bytecode.c cc-langs.el cl-macs.el configure.ac dabbrev.el display.texi
- eldoc.el elisp-mode.el ert.el ert.texi etags.el fns-tests.el fns.c
- and 20 other files
+ bytecode.c cc-langs.el cl-macs.el configure.ac dabbrev.el desktop.el
+ display.texi eldoc.el elisp-mode.el ert.el ert.texi etags.el
+ fns-tests.el and 21 other files
Paul Rankin: changed outline.el
@@ -4334,7 +4342,7 @@
lwlib/Makefile.in mail/rmailmm.el rmailedit.el rmailkwd.el
and 10 other files
-Paul Rivier: changed ada-mode.el mixal-mode.el reftex-vars.el reftex.el
+Paul Rivier: changed mixal-mode.el reftex-vars.el reftex.el
Paul Rubin: changed config.h sun2.h texinfmt.el window.c
@@ -4355,7 +4363,7 @@
and changed keyboard.c xterm.c COPYING xdisp.c process.c emacs.c lisp.h
menu-bar.el ldap.el make-dist xfns.c buffer.c coding.c eval.c fileio.c
flyspell.el fns.c indent.c Makefile.in callint.c cus-start.el
- and 702 other files
+ and 699 other files
Pavel Kobiakov: wrote flymake-proc.el flymake.el
and changed flymake.texi
@@ -4511,7 +4519,7 @@
and changed emacs-module.c emacs-module-tests.el configure.ac json.c
process.c eval.c internals.texi json-tests.el process-tests.el alloc.c
emacs-module.h.in emacs.c lread.c nsterm.m lisp.h pdumper.c bytecomp.el
- callproc.c seccomp-filter.c gtkutil.c files.el and 184 other files
+ callproc.c seccomp-filter.c gtkutil.c files.el and 185 other files
Phillip Lord: wrote ps-print-tests.el w32-feature.el
and changed build-zips.sh build-dep-zips.py lisp/Makefile.in undo.c
@@ -4566,8 +4574,8 @@
comp-tests.el comp.el composite.c and 28 other files
Po Lu: changed xdisp.c anti.texi browse-url.el callproc.c cc-compat.el
- config.bat esh-cmd.el fileio.c langinfo.h loadup.el msdos.c msdos.h
- nsfns.m nsterm.m process.c sed1v2.inp sed2v2.inp sed3v2.inp
+ config.bat esh-cmd.el fileio.c langinfo.h loadup.el mouse.el msdos.c
+ msdos.h nsfns.m nsterm.m process.c sed1v2.inp sed2v2.inp sed3v2.inp
sedlibmk.inp tooltip.el xterm.c
Pontus Michael: changed simple.el
@@ -4684,9 +4692,8 @@
Reuben Thomas: changed ispell.el whitespace.el dired-x.el files.el
sh-script.el emacsclient-tests.el remember.el README emacsclient.c
- misc.texi msdos.c simple.el INSTALL ada-mode.el ada-xref.el alloc.c
- arc-mode.el authors.el config.bat copyright dired-x.texi
- and 37 other files
+ misc.texi msdos.c simple.el INSTALL alloc.c arc-mode.el authors.el
+ config.bat copyright dired-x.texi dired.el dosfns.c and 35 other files
Ricardo Wurmus: changed xwidget.el xwidget.c configure.ac xwidget.h
@@ -4699,6 +4706,8 @@
Richard G. Bielawski: changed modes.texi paren.el
+Richard Hansen: changed easy-mmode.el
+
Richard Hoskins: changed message.el
Richard Kim: wrote wisent/python.el
@@ -4729,7 +4738,7 @@
and changed files.el keyboard.c simple.el xterm.c xdisp.c rmail.el
fileio.c process.c sysdep.c buffer.c xfns.c window.c subr.el
configure.ac startup.el sendmail.el emacs.c Makefile.in editfns.c
- info.el dired.el and 1338 other files
+ info.el dired.el and 1336 other files
Richard Ryniker: changed sendmail.el
@@ -4779,7 +4788,7 @@
and changed configure.ac process.c blocks.awk network-stream-tests.el
font.c processes.texi ftfont.c gtkutil.c vc-git.el process-tests.el
emoji-zwj.awk gnutls.el network-stream.el nsm.el tramp.texi mml-sec.el
- nsterm.m unicode xfns.c auth.texi composite.c and 135 other files
+ nsterm.m unicode xfns.c auth.texi composite.c and 139 other files
Robert Thorpe: changed cus-start.el indent.el rmail.texi
@@ -4847,10 +4856,9 @@
Rüdiger Sonderfeld: wrote inotify-tests.el reftex-tests.el
and changed eww.el octave.el shr.el bibtex.el configure.ac
- misc/Makefile.in reftex-vars.el vc-git.el TUTORIAL.de ada-mode.el
- autoinsert.el building.texi bytecomp.el calc-lang.el cc-langs.el
- dired.texi editfns.c emacs.c emacs.texi epa.el erc.el
- and 40 other files
+ misc/Makefile.in reftex-vars.el vc-git.el TUTORIAL.de autoinsert.el
+ building.texi bytecomp.el calc-lang.el cc-langs.el dired.texi editfns.c
+ emacs.c emacs.texi epa.el erc.el eww.texi and 39 other files
Rui-Tao Dong: changed nnweb.el
@@ -4909,7 +4917,7 @@
and changed progmodes/compile.el cl-indent.el simple.el vc-cvs.el vc.el
mouse.el vc-hg.el etags.el files.el font-lock.el tex-mode.el
ange-ftp.el gnus-sum.el message.el sgml-mode.el vc-git.el window.el
- add-log.el bindings.el bookmark.el bug-reference.el and 188 other files
+ add-log.el bindings.el bookmark.el bug-reference.el and 186 other files
Samuel Bronson: changed custom.el emacsclient.c keyboard.c
progmodes/grep.el semantic/format.el unexmacosx.c
@@ -5013,9 +5021,8 @@
org-clock.el ox-ascii.el ox-html.el
Seiji Zenitani: changed nsfns.m frame.c xterm.c PkgInfo document.icns
- find-func.el frame.h help-fns.el macfns.c
- nextstep/templates/Info.plist.in nsfont.m nsterm.m w32fns.c xdisp.c
- xfns.c
+ find-func.el frame.h help-fns.el macfns.c nsfont.m nsterm.m w32fns.c
+ xdisp.c xfns.c
Sen Nagata: wrote crm.el rfc2368.el
@@ -5174,8 +5181,8 @@
and co-wrote help-tests.el keymap-tests.el
and changed efaq.texi checkdoc.el package.el cperl-mode.el bookmark.el
help.el keymap.c subr.el simple.el erc.el ediff-util.el idlwave.el
- time.el bytecomp-tests.el comp.el speedbar.el bytecomp.el edebug.el
- emacs-lisp-intro.texi flyspell.el ibuffer.el and 1334 other files
+ time.el bytecomp-tests.el comp.el emacs-lisp-intro.texi speedbar.el
+ bytecomp.el edebug.el flyspell.el ibuffer.el and 1348 other files
Stefan Merten: co-wrote rst.el
@@ -5192,7 +5199,7 @@
and changed subr.el simple.el keyboard.c bytecomp.el cl-macs.el files.el
lisp.h vc.el xdisp.c alloc.c eval.c sh-script.el progmodes/compile.el
keymap.c buffer.c window.c tex-mode.el lisp-mode.el newcomment.el
- help-fns.el lread.c and 1615 other files
+ help-fns.el lread.c and 1612 other files
Stefano Facchini: changed gtkutil.c
@@ -5252,11 +5259,11 @@
Stephen J. Turnbull: changed ediff-init.el strings.texi subr.el
Stephen Leake: wrote elisp-mode-tests.el
-and changed ada-mode.el ada-xref.el elisp-mode.el xref.el window.el
- mode-local.el CONTRIBUTE ada-prj.el project.el vc-mtn.el ada-stmt.el
- cedet-global.el ede/generic.el simple.el autoload.el bytecomp.el
- cl-generic.el ede/locate.el files.texi functions.texi package.el
- and 35 other files
+and changed elisp-mode.el xref.el window.el mode-local.el CONTRIBUTE
+ project.el vc-mtn.el ada-stmt.el cedet-global.el ede/generic.el
+ simple.el autoload.el bytecomp.el cl-generic.el ede/locate.el
+ files.texi functions.texi package.el progmodes/grep.el windows.texi
+ INSTALL.REPO and 32 other files
Stephen Pegoraro: changed xterm.c
@@ -5446,7 +5453,7 @@
and changed ewoc.el vc.el info.el processes.texi zone.el lisp-mode.el
scheme.el text.texi vc-rcs.el display.texi fileio.c files.el vc-git.el
TUTORIAL.it bindat.el cc-vars.el configure.ac dcl-mode.el diff-mode.el
- dired.el elisp.texi and 169 other files
+ dired.el elisp.texi and 168 other files
Thierry Banel: co-wrote ob-C.el
and changed calc-arith.el
@@ -5656,8 +5663,6 @@
Toshiaki Nomura: changed uxpds.h
-Travis Jeffery: changed nextstep/templates/Info.plist.in
-
Trent W. Buck: changed rcirc.el remember.el rx.el
Trevor Murphy: changed find-dired.el gnus.texi nnimap.el org.el window.el
@@ -5791,6 +5796,8 @@
easymenu.el loading.texi menu-bar.el misc.texi progmodes/compile.el
ps-print-def.el ps-vars.el
+Visuwesh M: changed dired-aux.el
+
Vitalie Spinu: changed comint.el eieio-base.el message.el ob-R.el
ob-core.el ob-tangle.el subr.el
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/DEBUG
^
|
@@ -661,10 +661,10 @@
the backtrace when Emacs stops inside that function will show what
code causes the X protocol errors.
-Note that the -xrm option may have no effect when you make an Emacs
-process invoked with the -nw option a server and want to trace X
-protocol errors from subsequent invocations of emacsclient in a GUI
-frame. In that case calling the initial Emacs via
+Note that the -xrm option may have no effect when you start a server
+in an Emacs session invoked with the -nw command-line option, and want
+to trace X protocol errors from GUI frames created by subsequent
+invocations of emacsclient. In that case starting Emacs via
emacs -nw --eval '(setq x-command-line-resources "emacs.synchronous: true")'
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/HISTORY
^
|
@@ -226,6 +226,8 @@
GNU Emacs 28.1 (2022-04-04) emacs-28.1
+GNU Emacs 28.2 (2022-09-12) emacs-28.2
+

----------------------------------------------------------------------
This file is part of GNU Emacs.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/NEWS
^
|
@@ -16,6 +16,50 @@
with a prefix argument or by typing 'C-u C-h C-n'.

+* Installation Changes in Emacs 28.2
+
+** To install the Emacs binary in a non-standard directory, use '--bindir='.
+If you install Emacs in a way that places the Emacs executable file in
+a directory other than "${prefix}/bin", you will now need to specify
+that at configure time, if you build Emacs with native-compilation
+support. To this end, add the '--bindir=DIRECTORY' switch to the
+command line of the 'configure' script, where DIRECTORY is the
+directory in which you will install the executable file "emacs". This
+is required even if you place a symlink under "${prefix}/bin" that
+points to the real executable file in some other DIRECTORY.
+
+It is no longer enough to specify 'bindir=DIRECTORY' on the command
+line of the "make install" command.
+
+The reason for this new requirement is that Emacs needs to locate at
+startup the directory with its "*.eln" natively-compiled files for the
+preloaded Lisp packages, and the relative name of that directory needs
+therefore to be recorded in the executable as part of the build.
+
+
+* Changes in Emacs 28.2
+
+This is a bug-fix release with no new features.
+
+
+* Changes in Specialized Modes and Packages in Emacs 28.2
+
+** The command 'kdb-macro-redisplay' was renamed to 'kmacro-redisplay'.
+This is to fix an embarrassing typo in the original name.
+
+** 'desktop-save-mode' now saves the desktop in 'save-buffers-kill-emacs'.
+Previously, the desktop was saved in 'kill-emacs' via
+'kill-emacs-hook'. However, that violated the convention that
+functions in 'kill-emacs-hook' cannot interact with the user, and in
+particular didn't play well with ending daemon sessions of Emacs. So
+we moved the saving of the desktop to 'save-buffers-kill-emacs', via
+'kill-emacs-query-functions'. To make sure the desktop is saved,
+terminate Emacs with 'save-buffers-kill-emacs', not with 'kill-emacs'.
+
+(This change was done in Emacs 28.1, but we didn't announce it in NEWS
+back then.)
+
+
* Installation Changes in Emacs 28.1
** Emacs now optionally supports native compilation of Lisp files.
@@ -1387,7 +1431,7 @@
*** 'so-long-target-modes' now includes 'fundamental-mode' by default.
This means that 'global-so-long-mode' will also process files which were
-not recognised. (This only has an effect if 'set-auto-mode' chooses
+not recognized. (This only has an effect if 'set-auto-mode' chooses
'fundamental-mode'; buffers which are simply in 'fundamental-mode' by
default are unaffected.)
@@ -1701,8 +1745,8 @@
If nil, don't automatically create entries, they must be created
manually.
-*** New user options to customise the summary line specs "%[" and "%]".
-Four new options introduced in customisation group
+*** New user options to customize the summary line specs "%[" and "%]".
+Four new options introduced in customization group
'gnus-summary-format'. These are 'gnus-sum-opening-bracket',
'gnus-sum-closing-bracket', 'gnus-sum-opening-bracket-adopted', and
'gnus-sum-closing-bracket-adopted'. Their default values are "[", "]",
@@ -2040,7 +2084,7 @@
** CC mode
*** Added support for Doxygen documentation style.
-'doxygen' is now a valid 'c-doc-comment-style' which recognises all
+'doxygen' is now a valid 'c-doc-comment-style' which recognizes all
comment styles supported by Doxygen (namely '///', '//!', '/** … */'
and '/*! … */'. 'gtkdoc' remains the default for C and C++ modes; to
use 'doxygen' by default one might evaluate:
@@ -3106,9 +3150,9 @@
'nnmail-fix-eudora-headers', 'non-iso-charset-alist',
'nonascii-insert-offset', 'nonascii-translation-table',
'password-read-and-add', 'pre-abbrev-expand-hook', 'princ-list',
-'print-help-return-message', 'process-filter-multibyte-p',
-'read-file-name-predicate', 'remember-buffer', 'rmail-highlight-face',
-'rmail-message-filter', 'semantic-after-idle-scheduler-reparse-hooks',
+'print-help-return-message', 'read-file-name-predicate',
+'remember-buffer', 'rmail-highlight-face', 'rmail-message-filter',
+'semantic-after-idle-scheduler-reparse-hooks',
'semantic-after-toplevel-bovinate-hook',
'semantic-before-idle-scheduler-reparse-hooks',
'semantic-before-toplevel-bovination-hook',
@@ -3134,9 +3178,9 @@
'semantic-something-to-stream', 'semantic-tag-make-assoc-list',
'semantic-token-type-parent', 'semantic-toplevel-bovine-cache',
'semantic-toplevel-bovine-table', 'semanticdb-mode-hooks',
-'set-coding-priority', 'set-process-filter-multibyte',
-'shadows-compare-text-p', 'shell-dirtrack-toggle',
-'speedbar-navigating-speed', 'speedbar-update-speed', 't-mouse-mode',
+'set-coding-priority', 'shadows-compare-text-p',
+'shell-dirtrack-toggle', 'speedbar-navigating-speed',
+'speedbar-update-speed', 't-mouse-mode',
'term-dynamic-simple-complete', 'tooltip-hook', 'tpu-have-ispell',
'url-generate-unique-filename', 'url-temporary-directory',
'vc-arch-command', 'vc-default-working-revision' (variable),
@@ -3213,12 +3257,13 @@
MODE..., or, if it's a minor mode, when that minor mode is enabled in
the current buffer.
-Note that these forms will only have their effect if the
+Note that these forms will only have their effect for 'M-x' if the
'read-extended-command-predicate' user option is customized to call
'command-completion-default-include-p' or a similar function. The
default value of 'read-extended-command-predicate' is nil, which means
no commands that match what you have typed are excluded from being
-completion candidates.
+completion candidates. The forms will, however, be used by 'M-S-x' by
+default.
** 'define-minor-mode' now takes an ':interactive' argument.
This can be used for specifying which modes this minor mode is meant
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/ORG-NEWS
^
|
@@ -293,7 +293,7 @@
This functionality is implemented in a new function,
~org-display-inline-image--width~ which contains the width
determination logic previously in ~org-display-inline-images~ and the
-new behaviour.
+new behavior.
** New options
*** Option ~org-hidden-keywords~ now also applies to #+SUBTITLE:
@@ -311,7 +311,7 @@
*** New option ~org-id-ts-format~
Earlier, IDs generated using =ts= method had a hard-coded format (i.e. =20200923T160237.891616=).
-The new option allows user to customise the format.
+The new option allows user to customize the format.
Defaults are unchanged.
*** New argument for ~file-desc~ babel header
@@ -451,10 +451,6 @@
(the default) or use the attachment directory of the current node, if
it is correctly configured as a Git repository.
-*** Some faces now use fixed-pitch
-
-See [[msg:875z8njaol.fsf@protesilaos.com][this thread]].
-
*** New option ~org-attach-sync-delete-empty-dir~
~org-attach-sync-delete-empty-dir~ controls the deletion of an empty
@@ -507,16 +503,16 @@
*** Faces of all the heading text elements now conform to the headline face
-In the past, faces of todo keywords, emphasised text, tags, and
+In the past, faces of todo keywords, emphasized text, tags, and
priority cookies inherited =default= face. The resulting headline
-fontification was not always consistent, as discussed in [[https://lists.gnu.org/archive/html/emacs-orgmode/2020-09/msg00331.html][this bug
+fontification was not always consistent, as discussed in [[msg::87h7sawubl.fsf@protesilaos.com][this bug
report]]. Now, the relevant faces adapt to face used to fontify the
current headline level.
-Users who prefer to keep the old behaviour should change their face
-customisation explicitly stating that =default= face is inherited.
+Users who prefer to keep the old behavior should change their face
+customization explicitly stating that =default= face is inherited.
-Example of old face customisation:
+Example of old face customization:
#+begin_src emacs-lisp
(setq org-todo-keyword-faces '(("TODO"
@@ -524,7 +520,7 @@
:height 0.75)))
#+end_src
-To preserve the old behaviour the above customisation should be
+To preserve the old behavior the above customization should be
changed to
#+begin_src emacs-lisp
@@ -547,7 +543,7 @@
*** LaTeX environment =#+results= are now removed
If a babel src block produces a raw LaTeX environment, it will now be
-recognised as a result, and so replaced when re-evaluated.
+recognized as a result, and so replaced when re-evaluated.
*** Tag completion now uses =completing-read-multiple=
@@ -685,7 +681,7 @@
- =C-j= (bound to the new command ~org-return-and-maybe-indent~)
merely inserts a newline.
-To get the previous behaviour back, disable ~electric-indent-mode~
+To get the previous behavior back, disable ~electric-indent-mode~
explicitly:
#+begin_src emacs-lisp
@@ -1033,7 +1029,7 @@
*** Forward/backward paragraph functions in line with the rest of Emacs
~org-forward-paragraph~ and ~org-backward-paragraph~, bound to
-~<C-UP>~ and ~<C-DOWN>~ functions mimic more closely behaviour of
+~<C-UP>~ and ~<C-DOWN>~ functions mimic more closely behavior of
~forward-paragraph~ and ~backward-paragraph~ functions when
available.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/PROBLEMS
^
|
@@ -651,6 +651,46 @@
See <https://pypi.python.org/pypi/gnureadline> for more details on
installation.
+*** On MS-Windows, invoking "M-x run-python" signals an error.
+
+If the error says something like this:
+
+ Python was not found; run with arguments to install
+ from the Microsoft Store, or disable this shortcut
+ from Settings > Manage App Execution Aliases.
+
+ Process Python exited abnormally with code 49
+
+then this is due to the MS-Windows "feature" that is intended to
+encourage you to install the latest available Python version. It
+works by placing "fake" python.exe and python3.exe executables in a
+special directory, and having that directory on your Path _before_ the
+directory where the real Python executable is installed. That "fake"
+Python then decides whether to redirect you to the Microsoft Store or
+invoke the actual Python. The directory where Windows keeps those
+"fake" executables is under your Windows user's 'AppData' directory,
+typically 'C:\Users\<user>\AppData\Local\Microsoft\WindowsApps', where
+"<user>" is the user name of your Windows user.
+
+To solve this, you have several alternatives:
+
+ . Go to "Settings > Manage App Execution Aliases" and turn OFF the
+ aliases for python.exe and/or python3.exe. This will affect only
+ Python, and may require you to manage upgrades to your Python
+ installation manually, instead of being automatically prompted by
+ MS-Windows.
+ . Move the directory with the "fake" executables to the end of Path,
+ or at least after the directory where the real Python is
+ installed. Depending on the position in Path where you move it,
+ it will affect Python and/or other programs which Windows monitors
+ via the "App Execution Aliases" feature.
+ . Manually remove python.exe and/or python3.exe from the above
+ directory. Again, this affects only your Python installation.
+
+Whatever you do, you will need to restart Emacs to refresh its notion
+of the directory where python.exe/python3.exe lives, because that is
+recorded when Python mode is started.
+
*** Visiting files in some auto-mounted directories causes Emacs to print
'Error reading dir-locals: (file-error "Read error" "is a directory" ...'
@@ -689,6 +729,53 @@
To work around the problem, you could use Git or some other
free-software program, instead of ClearCase.
+*** Various commands that visit files on networked filesystems fail.
+
+This could happen if the filesystem of those files is mounted in a way
+that causes the files to be accessed via a symlink. One such example
+is the 'amd' automounter, which unmounts the filesystem after some
+period of lack of use. Another example is Emacs running on MS-Windows
+that accesses files on remote server via symlinks whose target is a
+UNC of the form '\\server\share'.
+
+The reason for these problems is that some Emacs commands visit files
+via their truename, resolving the symlink, which causes these files'
+default-directory to also have the symlink resolved. If the resolved
+directory has access problems, subsequent commands from that file's
+buffer could fail. For example, the stock MS-Windows shell 'cmd.exe'
+is unable to use a UNC-form directory as the current directory, so
+'shell-command' and its callers will typically fail. Similarly with
+using targets of symlinks which no longer mount the remote filesystem
+will fail.
+
+You can solve these problems in several ways:
+
+ - Write a 'find-file'hook' function which will change the value of
+ 'default-directory' to reference the symlink instead of its
+ target.
+
+ - Set up 'directory-abbrev-alist' to automatically convert the
+ 'default-directory' of such files in the same manner.
+
+ - On MS-Windows, map a drive letter to the '\\server\share'
+ directory and point your symlinks to a directory name that uses
+ the drive letter.
+
+*** On MS-Windows, visiting files in OneDrive fails.
+
+This is known to happen when OneDrive is accessed via the so-called
+"metered connections", whose use is charged by the volume of
+transferred data. Those are typically wireless links using a modem or
+a mobile phone. In these cases, files that are left in the cloud and
+not downloaded to the local computer can produce various failures in
+system calls that access the files or their meta-data.
+
+The solution is to disable the "metered connection" status from the
+WiFi properties (reachable from the Windows Settings menu). This will
+cause files to be downloaded to the local computer when they are
+accessed (which could take some time, and Emacs functions accessing
+the file will wait for that), avoiding the errors.
+
*** ps-print commands fail to find prologue files ps-prin*.ps.
This can happen if you use an old version of X-Symbol package: it
@@ -1022,6 +1109,21 @@
The solution is to switch to a configuration that uses HarfBuzz as its
shaping engine, where these problems don't exist.
+** On MS-Windows, selecting some fonts as the default font doesn't work.
+
+This can happen if you select font variants such as "Light" or "Thin"
+or "Semibold" or "Heavy", and some others. The APIs used by Emacs on
+Windows to enumerate fonts in a font family consider only 4 font
+variants to belong to the same family: Regular, Italic, Bold, and
+Bold-Italic. All the other variants aren't returned by those APIs
+when we request to list all the fonts in a family, and thus aren't
+considered by Emacs to belong to the family. So any font variant that
+is not one of those 4 will likely not work as expected; in most cases
+Emacs will select some other font instead.
+
+The only workaround is not to choose such font variants as the default
+font when running Emacs on MS-Windows.
+
* Internationalization problems
** M-{ does not work on a Spanish PC keyboard.
@@ -1681,6 +1783,33 @@
(xterm-remove-modify-other-keys)
+** The shift TAB key combination works as meta TAB on a Linux console.
+
+This happens because on your keyboard layout, S-TAB produces the same
+keycodes as typing ESC TAB individually. The best way to solve this
+is to modify your keyboard layout to produce different codes, and tell
+Emacs what these new codes mean.
+
+The current keyboard layout will probably be a .map.gz file somewhere
+under /usr/share/keymaps. Identify this file, possibly from a system
+initialization file such as /etc/conf.d/keymaps. Run gunzip on it to
+decompress it, and amend the entries for keycode 15 to look something
+like this:
+
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+ shift keycode 15 = F219
+string F219 = "\033[4}\011" # Shift+<tab>
+
+After possibly saving this file under a different name, compress it
+again using gzip. Amend /etc/conf.d/keyamps, etc., if needed.
+Further details can be found in the man page for loadkeys.
+
+Then add the following line near the start of your site-start.el or
+.emacs or init.el file:
+
+(define-key input-decode-map "\e[4}\t" 'backtab)
+
** Emacs spontaneously displays "I-search: " at the bottom of the screen.
This means that Control-S/Control-Q (XON/XOFF) "flow control" is being
@@ -1979,6 +2108,13 @@
*** Linux console problems with double-width characters
+If possible, we recommend running Emacs inside fbterm, when in a Linux
+console (see the node "Emacs in a Linux console" in the Emacs FAQ).
+Most Unicode characters should then be displayed correctly.
+
+If that is not possible, the following may be useful to alleviate the
+problem of displaying Unicode characters in a raw console.
+
The Linux console declares UTF-8 encoding, but supports only a limited
number of Unicode characters, and can cause Emacs produce corrupted or
garbled display with some unusual characters and sequences. Emacs 28
@@ -2041,8 +2177,23 @@
addressing to get out of sync and eventually messes up the display.
One possible workaround for problems caused by character composition
-is to turn off 'auto-composition-mode' on Kitty terminals.
+is to turn off 'auto-composition-mode' on Kitty terminals, e.g. by
+customizing the 'auto-composition-mode' variable to have as value a
+string that the 'tty-type' function returns on those terminals.
+
+*** Display artifacts on the Alacritty text terminal
+This terminal is known to cause problems with Emoji sequences: when
+displaying them, the Emacs text-mode frame could show gaps and other
+visual artifacts.
+
+The solution is to disable 'auto-composition-mode' on these
+terminals, for example, like this:
+
+ (setq auto-composition-mode "alacritty")
+
+This disables 'auto-composition-mode' on frames that display on
+terminals of this type.
* Runtime problems specific to individual Unix variants
@@ -2318,6 +2469,17 @@
We list bugs in current versions here. See also the section on legacy
systems.
+*** On Solaris 10, 'make clean' and 'make check' do not work.
+The Emacs build procedure uses ’find ... -path ...', which Solaris 10
+'find' does not support. You can work around the problem by
+installing GNU 'find' in your PATH. This problem should be fixed in
+Emacs 29.
+
+*** On Solaris 10 sparc, Emacs crashes during the build while saving state.
+This was observed for Emacs 28.1 on Solaris 10 32-bit sparc, with
+Oracle Developer Studio 12.6 (Sun C 5.15). The failure was intermittent,
+and running GNU Make a second time would typically finish the build.
+
*** On Solaris 10, Emacs crashes during the build process.
(This applies only with './configure --with-unexec=yes', which is rare.)
This was reported for Emacs 25.2 on i386-pc-solaris2.10 with Sun
@@ -2756,6 +2918,72 @@
If you do, please send it to bug-gnu-emacs@gnu.org so we can list it here.
+* Runtime problems specific to Cygwin
+
+** Fork failures in a build with native compilation
+
+To prevent fork failures, shared libraries on Cygwin need to be
+rebased occasionally, for the reasons explained here:
+
+ https://cygwin.com/cygwin-ug-net/highlights.html#ov-hi-process-problems
+
+This includes the .eln files produced by an Emacs built with native
+compilation.
+
+Rebasing is handled by Cygwin's autorebase postinstall script every
+time you run the Cygwin setup program (which you should do with no
+Cygwin processes running). This script knows about the .eln files
+installed in the standard places (e.g.,
+/usr/lib/emacs/28.1/native-lisp), but it does not know about those in
+your user cache (e.g., /home/<username>/.emacs.d/eln-cache). In order
+for these to be automatically rebased, you must create a file
+
+ /var/lib/rebase/userpath.d/<username>
+
+with one line for each directory containing .eln files. If you are
+running an installed Emacs, it should suffice to list your cache
+directory. For example, if there is an Emacs user "kbrown", then
+there should be a file
+
+ /var/lib/rebase/userpath.d/kbrown
+
+containing the single line
+
+ /home/kbrown/.emacs.d/eln-cache
+
+If you are running an Emacs that you have built but not installed,
+then you will need an additional line giving the path to the
+native-lisp subdirectory of your build directory.
+
+If more than one user will be using Emacs on your system, there should
+be a file like this for each user.
+
+Rebasing is not currently done when new .eln files are created, so
+fork failures are still possible between runs of Cygwin's setup
+program. If you ever see a fork failure whose error message refers to
+a .eln file, you should be able to fix it temporarily by exiting emacs
+and issuing the command
+
+ find ~/.emacs.d/eln-cache -name '*.eln' | rebase -O -T -
+
+This is called an "ephemeral" rebase. Again, if you are running an
+Emacs that has not been installed, you need to add the native-lisp
+subdirectory of your build directory to this command. Alternatively,
+stop all Cygwin processes and run Cygwin's setup program to let the
+autorebase postinstall script run.
+
+It is hoped that the measures above will make native compilation
+usable on 64-bit Cygwin, with only an occasional minor annoyance. In
+the 32-bit case, however, the limited address space makes frequent
+fork failures extremely likely. It is therefore strongly recommended
+that you not build Emacs with native compilation on 32-bit Cygwin.
+Indeed, the configure script will not allow this unless you use the
+--with-cygwin32-native-compilation option.
+
+See bug#50666 (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=50666)
+for further discussion.
+
+
* Runtime problems specific to macOS
** Error message when opening Emacs on macOS
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/compilation.txt
^
|
@@ -421,7 +421,7 @@
This stupid precompiler wraps lines at column 80 in the middle of a file name.
There is no obvious way of detecting this or turning it off. But if you
-delete the newline (probably needs M-x toggle-read-only), the file name will
+delete the newline (probably needs M-x read-only-mode), the file name will
automatically be reparsed, so that you can then go there.
Semantic error at line 528, column 5, file erosacqdb.pc:
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/images/README
^
|
@@ -111,7 +111,7 @@
used by Emacs. They are licensed under either the GNU LGPL v3 or the
Creative Commons Attribution-Share Alike 3.0 United States License.
-To view a copy of the CC-BY-SA licence, visit
+To view a copy of the CC-BY-SA license, visit
http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative
Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/refcards/Makefile
^
|
@@ -233,10 +233,11 @@
fi
$(ENVADD) pdftex -output-format=pdf pl-refcard.tex
pl-refcard.dvi: $(pl_refcard_deps)
- if ! kpsewhich -format=fmt mex > /dev/null; then \
- echo "No mex format found."; false; \
+ if kpsewhich -format=fmt mex > /dev/null; then \
+ $(ENVADD) tex pl-refcard.tex; \
+ else \
+ $(ENVADD) mex pl-refcard.tex; \
fi
- $(ENVADD) tex pl-refcard.tex
pl-refcard.ps: pl-refcard.dvi
dvips -t a4 -o $@ pl-refcard.dvi
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/refcards/orgcard.tex
^
|
@@ -1,5 +1,5 @@
% Reference Card for Org Mode
-\def\orgversionnumber{9.5.2}
+\def\orgversionnumber{9.5.5}
\def\versionyear{2021} % latest update
\input emacsver.tex
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/themes/manoj-dark-theme.el
^
|
@@ -377,7 +377,7 @@
:foreground "black" :background "grey"
:weight bold ))))
'(calendar-today-face ((t (:underline t :bold t :foreground "cornsilk"))))
- '(change-log-acknowledgement-face ((t (:italic t :slant oblique :foreground "AntiqueWhite3"))))
+ '(change-log-acknowledgment ((t (:italic t :slant oblique :foreground "AntiqueWhite3"))))
'(change-log-conditionals-face ((t (:foreground "Aquamarine"))))
'(change-log-date-face ((t (:italic t :slant oblique :foreground "BurlyWood"))))
'(change-log-email-face ((t (:foreground "Aquamarine"))))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/themes/modus-themes.el
^
|
@@ -1679,7 +1679,7 @@
Custom interfaces or with `customize-set-variable' will not
reload the currently active Modus theme.
-Enable this behaviour by setting this variable to nil."
+Enable this behavior by setting this variable to nil."
:group 'modus-themes
:package-version '(modus-themes . "1.5.0")
:version "28.1"
@@ -7045,7 +7045,7 @@
blue-alt-other))))
;;;;; selectrum
;; NOTE 2021-02-22: The `selectrum-primary-highlight' and
- ;; `selectrum-secondary-highlight' are deprecated upstream in favour
+ ;; `selectrum-secondary-highlight' are deprecated upstream in favor
;; of their selectrum-prescient counterparts. We shall remove those
;; faces from the themes once we are certain that they are no longer
;; relevant.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/etc/tutorials/TUTORIAL.it
^
|
@@ -1110,7 +1110,7 @@
Ecco altre utili opzioni di C-h:
- C-h x Descrive un comando. Inserisci il nome della comando.
+ C-h x Descrive un comando. Inserisci il nome del comando.
>> Prova con C-h x previous-line <Invio>.
Questo mostrerà tutte le informazioni che Emacs possiede sulla
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lib-src/Makefile.in
^
|
@@ -196,11 +196,13 @@
HAVE_LIBSECCOMP=@HAVE_LIBSECCOMP@
LIBSECCOMP_LIBS=@LIBSECCOMP_LIBS@
LIBSECCOMP_CFLAGS=@LIBSECCOMP_CFLAGS@
+SIZEOF_LONG=@SIZEOF_LONG@
# Currently, we can only generate seccomp filter files for x86-64.
ifeq ($(HAVE_SECCOMP),yes)
ifeq ($(HAVE_LIBSECCOMP),yes)
ifeq ($(shell uname -m),x86_64)
+ifeq ($(SIZEOF_LONG),8)
# We require SECCOMP_RET_KILL_PROCESS, which is only available in
# Linux 4.14 and later.
ifeq ($(shell { echo 4.14; uname -r | cut -d . -f 1-2; } | \
@@ -210,6 +212,7 @@
endif
endif
endif
+endif
endif
ifeq ($(SECCOMP_FILTER),1)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lib/mini-gmp.c
^
|
@@ -90,6 +90,7 @@
#define gmp_assert_nocarry(x) do { \
mp_limb_t __cy = (x); \
assert (__cy == 0); \
+ (void) (__cy); \
} while (0)
#define gmp_clz(count, x) do { \
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lib/tempname.c
^
|
@@ -77,6 +77,12 @@
#define BASE_62_DIGITS 10 /* 62**10 < UINT_FAST64_MAX */
#define BASE_62_POWER (62LL * 62 * 62 * 62 * 62 * 62 * 62 * 62 * 62 * 62)
+#if _LIBC || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
+# define HAS_CLOCK_ENTROPY true
+#else
+# define HAS_CLOCK_ENTROPY false
+#endif
+
static random_value
random_bits (random_value var, bool use_getrandom)
{
@@ -84,7 +90,7 @@
/* Without GRND_NONBLOCK it can be blocked for minutes on some systems. */
if (use_getrandom && __getrandom (&r, sizeof r, GRND_NONBLOCK) == sizeof r)
return r;
-#if _LIBC || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
+#if HAS_CLOCK_ENTROPY
/* Add entropy if getrandom did not work. */
struct __timespec64 tv;
__clock_gettime64 (CLOCK_MONOTONIC, &tv);
@@ -213,7 +219,7 @@
and return a read-write fd. The file is mode 0600.
__GT_DIR: create a directory, which will be mode 0700.
- We use a clever algorithm to get hard-to-predict names. */
+ */
#ifdef _LIBC
static
#endif
@@ -267,13 +273,20 @@
alignment. */
random_value v = ((uintptr_t) &v) / alignof (max_align_t);
+#if !HAS_CLOCK_ENTROPY
+ /* Arrange gen_tempname to return less predictable file names on
+ systems lacking clock entropy <https://bugs.gnu.org/57129>. */
+ static random_value prev_v;
+ v ^= prev_v;
+#endif
+
/* How many random base-62 digits can currently be extracted from V. */
int vdigits = 0;
/* Whether to consume entropy when acquiring random bits. On the
first try it's worth the entropy cost with __GT_NOCREATE, which
is inherently insecure and can use the entropy to make it a bit
- less secure. On the (rare) second and later attempts it might
+ more secure. On the (rare) second and later attempts it might
help against DoS attacks. */
bool use_getrandom = tryfunc == try_nocreate;
@@ -318,6 +331,9 @@
if (fd >= 0)
{
__set_errno (save_errno);
+#if !HAS_CLOCK_ENTROPY
+ prev_v = v;
+#endif
return fd;
}
else if (errno != EEXIST)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lib/verify.h
^
|
@@ -34,7 +34,7 @@
#ifndef __cplusplus
# if (201112L <= __STDC_VERSION__ \
|| (!defined __STRICT_ANSI__ \
- && (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 4 <= __clang_major__)))
+ && (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 5 <= __clang_major__)))
# define _GL_HAVE__STATIC_ASSERT 1
# endif
# if (202000L <= __STDC_VERSION__ \
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/ChangeLog.17
^
|
@@ -825,7 +825,7 @@
2015-03-10 Paul Eggert <eggert@cs.ucla.edu>
- Prefer "initialize" to "initialise"
+ Prefer "initialize"
* progmodes/js.el (js-indent-first-init):
Rename from js-indent-first-initialiser, to avoid worrying about
American vs British spelling. All uses changed.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/ChangeLog.5
^
|
@@ -8998,7 +8998,7 @@
* startup.el (inhibit-startup-echo-area-message): Doc fix.
- * avoid.el (mouse-avoidance-threshold): Renamed from ...threshhold.
+ * avoid.el (mouse-avoidance-threshold): Fix typo in name.
1994-06-13 Richard Stallman (rms@albert.gnu.ai.mit.edu)
@@ -9010,7 +9010,7 @@
* startup.el (inhibit-startup-echo-area-message): Doc fix.
- * avoid.el (mouse-avoidance-threshold): Renamed from ...threshhold.
+ * avoid.el (mouse-avoidance-threshold): Fix typo in name.
* simple.el (end-of-buffer): Recenter overlay lists.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/ChangeLog.9
^
|
@@ -5165,7 +5165,7 @@
* sql.el (sql-interbase): New function.
(sql-interbase-program): New option.
(sql-interbase-options): New option.
- And some typos fixed: "customise" to "customize".
+ And some typos fixed: "customize".
2001-03-06 Dave Love <fx@gnu.org>
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/abbrev.el
^
|
@@ -42,12 +42,12 @@
(defcustom abbrev-file-name
(locate-user-emacs-file "abbrev_defs" ".abbrev_defs")
- "Default name of file from which to read abbrevs."
+ "Default name of file from which to read and where to save abbrevs."
:initialize 'custom-initialize-delay
:type 'file)
(defcustom only-global-abbrevs nil
- "Non-nil means user plans to use global abbrevs only.
+ "Non-nil means user plans to use only global abbrevs.
This makes the commands that normally define mode-specific abbrevs
define global abbrevs instead."
:type 'boolean
@@ -59,7 +59,8 @@
In Abbrev mode, inserting an abbreviation causes it to expand and
be replaced by its expansion."
- ;; It's defined in C, this stops the d-m-m macro defining it again.
+ ;; It's defined in C, this stops the 'define-minor-mode' macro from
+ ;; defining it again.
:variable abbrev-mode)
(put 'abbrev-mode 'safe-local-variable 'booleanp)
@@ -83,7 +84,8 @@
(defun copy-abbrev-table (table)
"Make a new abbrev-table with the same abbrevs as TABLE.
-Does not copy property lists."
+This function does not copy property lists of the abbrevs.
+See `define-abbrev' for the documentation of abbrev properties."
(let ((new-table (make-abbrev-table)))
(obarray-map
(lambda (symbol)
@@ -95,8 +97,8 @@
new-table))
(defun insert-abbrevs ()
- "Insert after point a description of all defined abbrevs.
-Mark is set after the inserted text."
+ "Insert the description of all defined abbrevs after point.
+Set mark after the inserted text."
(interactive)
(push-mark
(save-excursion
@@ -105,15 +107,15 @@
(point))))
(defun list-abbrevs (&optional local)
- "Display a list of defined abbrevs.
-If LOCAL is non-nil, interactively when invoked with a
-prefix arg, display only local, i.e. mode-specific, abbrevs.
-Otherwise display all abbrevs."
+ "Display a list of the defined abbrevs.
+If LOCAL is non-nil (interactively, when invoked with a
+prefix arg), display only local, i.e. mode-specific, abbrevs.
+Otherwise display all the abbrevs."
(interactive "P")
(display-buffer (prepare-abbrev-list-buffer local)))
(defun abbrev-table-name (table)
- "Value is the name of abbrev table TABLE."
+ "Return the name of the specified abbrev TABLE."
(let ((tables abbrev-table-name-list)
found)
(while (and (not found) tables)
@@ -137,33 +139,33 @@
(dolist (table (nreverse empty-tables))
(insert-abbrev-table-description table t)))
;; Note: `list-abbrevs' can display only local abbrevs, in
- ;; which case editing could lose abbrevs of other tables. Thus
- ;; enter `edit-abbrevs-mode' only if LOCAL is nil.
+ ;; which case editing could lose abbrevs of other tables.
+ ;; Thus enter `edit-abbrevs-mode' only if LOCAL is nil.
(edit-abbrevs-mode))
(goto-char (point-min))
(set-buffer-modified-p nil)
(current-buffer))))
(defun edit-abbrevs ()
- "Alter abbrev definitions by editing a list of them.
-Selects a buffer containing a list of abbrev definitions with
-point located in the abbrev table for the current buffer, and
-turns on `edit-abbrevs-mode' in that buffer.
+ "Alter abbrev definitions by editing the list of abbrevs.
+This selects a buffer containing the list of abbrev definitions
+with point located in the abbrev table for the current buffer, and
+turns on `edit-abbrevs-mode' in the buffer with the list of abbrevs.
-You can edit them and type \\<edit-abbrevs-mode-map>\\[edit-abbrevs-redefine] \
+You can edit the abbrevs and type \\<edit-abbrevs-mode-map>\\[edit-abbrevs-redefine] \
to redefine abbrevs
according to your editing.
The abbrevs editing buffer contains a header line for each
abbrev table, which is the abbrev table name in parentheses.
-This is followed by one line per abbrev in that table:
+The header line is followed by one line per abbrev in that table:
NAME USECOUNT EXPANSION HOOK
where NAME and EXPANSION are strings with quotes,
USECOUNT is an integer, and HOOK is any valid function
-or may be omitted (it is usually omitted)."
+that may be omitted (it is usually omitted)."
(interactive)
(let ((table-name (abbrev-table-name local-abbrev-table)))
(switch-to-buffer (prepare-abbrev-list-buffer))
@@ -184,8 +186,9 @@
"Define abbrevs according to current visible buffer contents.
See documentation of `edit-abbrevs' for info on the format of the
text you must have in the buffer.
-With argument, eliminate all abbrev definitions except
-the ones defined from the buffer now."
+If ARG is non-nil (interactively, when invoked with a prefix
+argument), eliminate all abbrev definitions except the ones
+defined by the current buffer contents."
(interactive "P")
(if arg (kill-all-abbrevs))
(save-excursion
@@ -216,7 +219,8 @@
"Read abbrev definitions from file written with `write-abbrev-file'.
Optional argument FILE is the name of the file to read;
it defaults to the value of `abbrev-file-name'.
-Optional second argument QUIETLY non-nil means don't display a message."
+Optional second argument QUIETLY non-nil means don't display a message
+about loading the abbrevs."
(interactive
(list
(read-file-name (format-prompt "Read abbrev file" abbrev-file-name)
@@ -225,22 +229,22 @@
(setq abbrevs-changed nil))
(defun quietly-read-abbrev-file (&optional file)
- "Read abbrev definitions from file written with `write-abbrev-file'.
+ "Quietly read abbrev definitions from file written with `write-abbrev-file'.
Optional argument FILE is the name of the file to read;
it defaults to the value of `abbrev-file-name'.
-Does not display any message."
+Do not display any messages about loading the abbrevs."
;(interactive "fRead abbrev file: ")
(read-abbrev-file file t))
(defun write-abbrev-file (&optional file verbose)
"Write all user-level abbrev definitions to a file of Lisp code.
This does not include system abbrevs; it includes only the abbrev tables
-listed in listed in `abbrev-table-name-list'.
+listed in `abbrev-table-name-list'.
The file written can be loaded in another session to define the same abbrevs.
-The argument FILE is the file name to write. If omitted or nil, the file
-specified in `abbrev-file-name' is used.
-If VERBOSE is non-nil, display a message indicating where abbrevs
-have been saved."
+The argument FILE is the file name to write. If omitted or nil, it defaults
+to the value of `abbrev-file-name'.
+If VERBOSE is non-nil, display a message indicating the file where the
+abbrevs have been saved."
(interactive
(list
(read-file-name "Write abbrev file: "
@@ -253,10 +257,10 @@
(dolist (table
;; We sort the table in order to ease the automatic
;; merging of different versions of the user's abbrevs
- ;; file. This is useful, for example, for when the
+ ;; file. This is useful, for example, when the
;; user keeps their home directory in a revision
- ;; control system, and is therefore keeping multiple
- ;; slightly-differing copies loosely synchronized.
+ ;; control system, and therefore keeps multiple
+ ;; slightly-differing loosely synchronized copies.
(sort (copy-sequence abbrev-table-name-list)
(lambda (s1 s2)
(string< (symbol-name s1)
@@ -270,7 +274,7 @@
(write-region nil nil file nil (and (not verbose) 0)))))
(defun abbrev-edit-save-to-file (file)
- "Save all user-level abbrev definitions in current buffer to FILE."
+ "Save to FILE all the user-level abbrev definitions in current buffer."
(interactive
(list (read-file-name "Save abbrevs to file: "
(file-name-directory
@@ -280,7 +284,7 @@
(write-abbrev-file file t))
(defun abbrev-edit-save-buffer ()
- "Save all user-level abbrev definitions in current buffer.
+ "Save all the user-level abbrev definitions in current buffer.
The saved abbrevs are written to the file specified by
`abbrev-file-name'."
(interactive)
@@ -288,15 +292,16 @@

(defun add-mode-abbrev (arg)
- "Define mode-specific abbrev for last word(s) before point.
-Argument is how many words before point form the expansion;
-or zero means the region is the expansion.
-A negative argument means to undefine the specified abbrev.
-Reads the abbreviation in the minibuffer.
+ "Define a mode-specific abbrev whose expansion is the last word before point.
+Prefix argument ARG says how many words before point to use for the expansion;
+zero means the entire region is the expansion.
+A negative ARG means to undefine the specified abbrev.
+
+This command reads the abbreviation from the minibuffer.
See also `inverse-add-mode-abbrev', which performs the opposite task:
-if the abbrev text is already in the buffer, use this command to
-define an abbrev by specifying the expansion in the minibuffer.
+if the abbreviation is already in the buffer, use that command to define
+a mode-specific abbrev by specifying its expansion in the minibuffer.
Don't use this function in a Lisp program; use `define-abbrev' instead."
(interactive "p")
@@ -308,15 +313,16 @@
"Mode" arg))
(defun add-global-abbrev (arg)
- "Define global (all modes) abbrev for last word(s) before point.
-The prefix argument specifies the number of words before point that form the
-expansion; or zero means the region is the expansion.
-A negative argument means to undefine the specified abbrev.
-This command uses the minibuffer to read the abbreviation.
+ "Define a global (all modes) abbrev whose expansion is last word before point.
+Prefix argument ARG says how many words before point to use for the expansion;
+zero means the entire region is the expansion.
+A negative ARG means to undefine the specified abbrev.
+
+This command reads the abbreviation from the minibuffer.
See also `inverse-add-global-abbrev', which performs the opposite task:
-if the abbrev text is already in the buffer, use this command to
-define an abbrev by specifying the expansion in the minibuffer.
+if the abbreviation is already in the buffer, use that command to define
+a global abbrev by specifying its expansion in the minibuffer.
Don't use this function in a Lisp program; use `define-abbrev' instead."
(interactive "p")
@@ -330,25 +336,30 @@
(save-excursion (forward-word (- arg)) (point))))))
name)
(setq name
- (read-string (format (if exp "%s abbrev for \"%s\": "
+ (read-string (format (if exp "%s abbrev that expands into \"%s\": "
"Undefine %s abbrev: ")
type exp)))
(set-text-properties 0 (length name) nil name)
(if (or (null exp)
(not (abbrev-expansion name table))
- (y-or-n-p (format "%s expands to \"%s\"; redefine? "
+ (y-or-n-p (format "%s expands into \"%s\"; redefine? "
name (abbrev-expansion name table))))
(define-abbrev table (downcase name) exp))))
(defun inverse-add-mode-abbrev (n)
- "Define last word before point as a mode-specific abbrev.
-With prefix argument N, defines the Nth word before point.
-This command uses the minibuffer to read the expansion.
-Expands the abbreviation after defining it.
+ "Define the word before point as a mode-specific abbreviation.
+With prefix argument N, define the Nth word before point as the
+abbreviation. Negative N means use the Nth word after point.
+
+If `only-global-abbrevs' is non-nil, this command defines a
+global (mode-independent) abbrev instead of a mode-specific one.
+
+This command reads the expansion from the minibuffer, defines the
+abbrev, and then expands the abbreviation in the current buffer.
See also `add-mode-abbrev', which performs the opposite task:
-if the expansion is already in the buffer, use this command
-to define an abbrev by specifying the abbrev in the minibuffer."
+if the expansion is already in the buffer, use that command
+to define an abbrev by specifying the abbreviation in the minibuffer."
(interactive "p")
(inverse-add-abbrev
(if only-global-abbrevs
@@ -358,14 +369,16 @@
"Mode" n))
(defun inverse-add-global-abbrev (n)
- "Define last word before point as a global (mode-independent) abbrev.
-With prefix argument N, defines the Nth word before point.
-This command uses the minibuffer to read the expansion.
-Expands the abbreviation after defining it.
+ "Define the word before point as a global (mode-independent) abbreviation.
+With prefix argument N, define the Nth word before point as the
+abbreviation. Negative N means use the Nth word after point.
+
+This command reads the expansion from the minibuffer, defines the
+abbrev, and then expands the abbreviation in the current buffer.
See also `add-global-abbrev', which performs the opposite task:
-if the expansion is already in the buffer, use this command
-to define an abbrev by specifying the abbrev in the minibuffer."
+if the expansion is already in the buffer, use that command
+to define an abbrev by specifying the abbreviation in the minibuffer."
(interactive "p")
(inverse-add-abbrev global-abbrev-table "Global" n))
@@ -379,10 +392,10 @@
(setq start (point)
name (buffer-substring-no-properties start end)))
- (setq exp (read-string (format "%s expansion for \"%s\": " type name)
+ (setq exp (read-string (format "Expansion for %s abbrev \"%s\": " type name)
nil nil nil t))
(when (or (not (abbrev-expansion name table))
- (y-or-n-p (format "%s expands to \"%s\"; redefine? "
+ (y-or-n-p (format "%s expands into \"%s\"; redefine? "
name (abbrev-expansion name table))))
(define-abbrev table (downcase name) exp)
(save-excursion
@@ -390,10 +403,11 @@
(expand-abbrev)))))
(defun abbrev-prefix-mark (&optional arg)
- "Mark current point as the beginning of an abbrev.
-The abbrev to be expanded starts here rather than at beginning of
-word. This way, you can expand an abbrev with a prefix: insert
-the prefix, use this command, then insert the abbrev.
+ "Mark point as the beginning of an abbreviation.
+The abbrev to be expanded starts at point rather than at the
+beginning of a word. This way, you can expand an abbrev with
+a prefix: insert the prefix, use this command, then insert the
+abbrev.
This command inserts a hyphen after the prefix, and if the abbrev
is subsequently expanded, this hyphen will be removed.
@@ -408,8 +422,8 @@
(insert "-"))
(defun expand-region-abbrevs (start end &optional noquery)
- "For abbrev occurrence in the region, offer to expand it.
-The user is asked to type `y' or `n' for each occurrence.
+ "For each abbrev occurrence in the region, offer to expand it.
+Ask the user to type `y' or `n' for each occurrence.
A prefix argument means don't query; expand all abbrevs."
(interactive "r\nP")
(save-excursion
@@ -430,18 +444,19 @@
;;; Abbrev properties.
(defun abbrev-table-get (table prop)
- "Get the PROP property of abbrev table TABLE."
+ "Get the property PROP of abbrev table TABLE."
(let ((sym (obarray-get table "")))
(if sym (get sym prop))))
(defun abbrev-table-put (table prop val)
- "Set the PROP property of abbrev table TABLE to VAL."
+ "Set the property PROP of abbrev table TABLE to VAL."
(let ((sym (obarray-put table "")))
(set sym nil) ; Make sure it won't be confused for an abbrev.
(put sym prop val)))
(defalias 'abbrev-get 'get
"Get the property PROP of abbrev ABBREV
+See `define-abbrev' for the effect of some special properties.
\(fn ABBREV PROP)")
@@ -500,7 +515,8 @@
(defvar abbrev-minor-mode-table-alist nil
"Alist of abbrev tables to use for minor modes.
Each element looks like (VARIABLE . ABBREV-TABLE);
-ABBREV-TABLE is active whenever VARIABLE's value is non-nil.
+ABBREV-TABLE is active whenever VARIABLE's value is non-nil;
+VARIABLE is supposed to be a minor-mode variable.
ABBREV-TABLE can also be a list of abbrev tables.")
(defvar fundamental-mode-abbrev-table
@@ -511,11 +527,11 @@
"The abbrev table of mode-specific abbrevs for Fundamental Mode.")
(defvar abbrevs-changed nil
- "Set non-nil by defining or altering any word abbrevs.
+ "Non-nil if any word abbrevs were defined or altered.
This causes `save-some-buffers' to offer to save the abbrevs.")
(defcustom abbrev-all-caps nil
- "Non-nil means expand multi-word abbrevs all caps if abbrev was so."
+ "Non-nil means expand multi-word abbrevs in all caps if the abbrev was so."
:type 'boolean
:group 'abbrev-mode)
@@ -532,17 +548,17 @@
"The abbrev-symbol of the last abbrev expanded. See `abbrev-symbol'.")
(defvar last-abbrev-text nil
- "The exact text of the last abbrev expanded.
+ "The exact text of the last abbrev that was expanded.
It is nil if the abbrev has already been unexpanded.")
(defvar last-abbrev-location 0
- "The location of the start of the last abbrev expanded.")
+ "The location of the start of the last abbrev that was expanded.")
;; (defvar-local local-abbrev-table fundamental-mode-abbrev-table
;; "Local (mode-specific) abbrev table of current buffer.")
(defun clear-abbrev-table (table)
- "Undefine all abbrevs in abbrev table TABLE, leaving it empty."
+ "Undefine all abbrevs in abbrev table TABLE, leaving TABLE empty."
(setq abbrevs-changed t)
(let* ((sym (obarray-get table "")))
(dotimes (i (length table))
@@ -557,9 +573,9 @@
;; For backward compatibility, always return nil.
nil)
-(defun define-abbrev (table name expansion &optional hook &rest props)
- "Define an abbrev in TABLE named NAME, to expand to EXPANSION and call HOOK.
-NAME must be a string, and should be lower-case.
+(defun define-abbrev (table abbrev expansion &optional hook &rest props)
+ "Define ABBREV in TABLE, to expand into EXPANSION and optionally call HOOK.
+ABBREV must be a string, and should be lower-case.
EXPANSION should usually be a string.
To undefine an abbrev, define it with EXPANSION = nil.
If HOOK is non-nil, it should be a function of no arguments;
@@ -583,12 +599,12 @@
overwrite a non-system abbreviation of the same name.
- `:case-fixed': non-nil means that abbreviations are looked up without
case-folding, and the expansion is not capitalized/upcased.
-- `:enable-function': a function of no argument which returns non-nil if the
- abbrev should be used for a particular call of `expand-abbrev'.
+- `:enable-function': a function of no arguments which returns non-nil
+ if the abbrev should be used for a particular call of `expand-abbrev'.
An obsolete but still supported calling form is:
-\(define-abbrev TABLE NAME EXPANSION &optional HOOK COUNT SYSTEM)."
+\(define-abbrev TABLE ABBREV EXPANSION &optional HOOK COUNT SYSTEM)."
(when (and (consp props) (or (null (car props)) (numberp (car props))))
;; Old-style calling convention.
(setq props `(:count ,(car props)
@@ -598,7 +614,7 @@
(setq props (plist-put props :abbrev-table-modiff
(abbrev-table-get table :abbrev-table-modiff)))
(let ((system-flag (plist-get props :system))
- (sym (obarray-put table name)))
+ (sym (obarray-put table abbrev)))
;; Don't override a prior user-defined abbrev with a system abbrev,
;; unless system-flag is `force'.
(unless (and (not (memq system-flag '(nil force)))
@@ -618,7 +634,7 @@
(if (eq 'force system-flag) (plist-put props :system t) props))
(abbrev-table-put table :abbrev-table-modiff
(1+ (abbrev-table-get table :abbrev-table-modiff))))
- name))
+ abbrev))
(defun abbrev--check-chars (abbrev global)
"Check if the characters in ABBREV have word syntax in either the
@@ -638,7 +654,7 @@
(if global "in the standard syntax" "in this mode"))))))
(defun define-global-abbrev (abbrev expansion)
- "Define ABBREV as a global abbreviation for EXPANSION.
+ "Define ABBREV as a global abbreviation that expands into EXPANSION.
The characters in ABBREV must all be word constituents in the standard
syntax table."
(interactive "sDefine global abbrev: \nsExpansion for %s: ")
@@ -646,7 +662,7 @@
(define-abbrev global-abbrev-table (downcase abbrev) expansion))
(defun define-mode-abbrev (abbrev expansion)
- "Define ABBREV as a mode-specific abbreviation for EXPANSION.
+ "Define ABBREV as a mode-specific abbreviation that expands into EXPANSION.
The characters in ABBREV must all be word-constituents in the current mode."
(interactive "sDefine mode abbrev: \nsExpansion for %s: ")
(unless local-abbrev-table
@@ -655,8 +671,8 @@
(define-abbrev local-abbrev-table (downcase abbrev) expansion))
(defun abbrev--active-tables (&optional tables)
- "Return the list of abbrev tables currently active.
-TABLES if non-nil overrides the usual rules. It can hold
+ "Return the list of abbrev tables that are currently active.
+TABLES, if non-nil, overrides the usual rules. It can hold
either a single abbrev table or a list of abbrev tables."
;; We could just remove the `tables' arg and let callers use
;; (or table (abbrev--active-tables)) but then they'd have to be careful
@@ -682,7 +698,7 @@
"Return the symbol representing abbrev named ABBREV in TABLE.
This symbol's name is ABBREV, but it is not the canonical symbol of that name;
it is interned in the abbrev-table TABLE rather than the normal obarray.
-The value is nil if that abbrev is not defined."
+The value is nil if such an abbrev is not defined."
(let* ((case-fold (not (abbrev-table-get table :case-fixed)))
;; In case the table doesn't set :case-fixed but some of the
;; abbrevs do, we have to be careful.
@@ -699,11 +715,11 @@
sym)))
(defun abbrev-symbol (abbrev &optional table)
- "Return the symbol representing abbrev named ABBREV.
+ "Return the symbol representing the abbrev named ABBREV in TABLE.
This symbol's name is ABBREV, but it is not the canonical symbol of that name;
it is interned in an abbrev-table rather than the normal obarray.
-The value is nil if that abbrev is not defined.
-Optional second arg TABLE is abbrev table to look it up in.
+The value is nil if such an abbrev is not defined.
+Optional second arg TABLE is the abbrev table to look it up in.
The default is to try buffer's mode-specific abbrev table, then global table."
(let ((tables (abbrev--active-tables table))
sym)
@@ -716,7 +732,7 @@
(defun abbrev-expansion (abbrev &optional table)
"Return the string that ABBREV expands into in the current buffer.
-Optionally specify an abbrev table as second arg;
+Optionally specify an abbrev TABLE as second arg;
then ABBREV is looked up in that table only."
(symbol-value (abbrev-symbol abbrev table)))
@@ -780,9 +796,9 @@
(defun abbrev-insert (abbrev &optional name wordstart wordend)
"Insert abbrev ABBREV at point.
If non-nil, NAME is the name by which this abbrev was found.
-If non-nil, WORDSTART is the place where to insert the abbrev.
-If WORDEND is non-nil, the abbrev replaces the previous text between
-WORDSTART and WORDEND.
+If non-nil, WORDSTART is the buffer position where to insert the abbrev.
+If WORDEND is non-nil, it is a buffer position; the abbrev replaces the
+previous text between WORDSTART and WORDEND.
Return ABBREV if the expansion should be considered as having taken place.
The return value can be influenced by a `no-self-insert' property;
see `define-abbrev' for details."
@@ -847,7 +863,8 @@
(defvar abbrev-expand-function #'abbrev--default-expand
"Function that `expand-abbrev' uses to perform abbrev expansion.
-Takes no argument and should return the abbrev symbol if expansion took place.")
+Takes no arguments, and should return the abbrev symbol if expansion
+took place.")
(defcustom abbrev-suggest nil
"Non-nil means suggest using abbrevs to save typing.
@@ -906,15 +923,17 @@
(defun abbrev--suggest-above-threshold (expansion)
"Return non-nil if the abbrev in EXPANSION provides significant savings.
-A significant saving, here, is the difference in length between
-the abbrev and the abbrev expansion. EXPANSION is a cons cell
-where the car is the expansion and the cdr is the abbrev."
+A significant saving, here, means the difference in length between
+the abbrev and its expansion is not below the threshold specified
+by the value of `abbrev-suggest-hint-threshold'.
+EXPANSION is a cons cell where the car is the expansion and the cdr is
+the abbrev."
(>= (- (length (car expansion))
(length (cdr expansion)))
abbrev-suggest-hint-threshold))
(defvar abbrev--suggest-saved-recommendations nil
- "Keeps a list of expansions that have abbrevs defined.
+ "Keeps the list of expansions that have abbrevs defined.
The user can show this list by calling
`abbrev-suggest-show-report'.")
@@ -930,7 +949,7 @@
(push expansion abbrev--suggest-saved-recommendations))
(defun abbrev--suggest-shortest-abbrev (new current)
- "Return the shortest abbrev of NEW and CURRENT.
+ "Return the shortest of the two abbrevs given by NEW and CURRENT.
NEW and CURRENT are cons cells where the `car' is the expansion
and the `cdr' is the abbrev."
(if (not current)
@@ -959,8 +978,8 @@
(defun abbrev--suggest-get-totals ()
"Return a list of all expansions and how many times they were used.
-Each expansion is a cons cell where the `car' is the expansion
-and the `cdr' is the number of times the expansion has been
+Each expansion in the returned list is a cons cell where the `car' is the
+expansion text and the `cdr' is the number of times the expansion has been
typed."
(let (total cell)
(dolist (expansion abbrev--suggest-saved-recommendations)
@@ -1088,11 +1107,11 @@
(defun insert-abbrev-table-description (name &optional readable)
"Insert before point a full description of abbrev table named NAME.
NAME is a symbol whose value is an abbrev table.
-If optional 2nd arg READABLE is non-nil, a human-readable description
-is inserted.
+If optional 2nd arg READABLE is non-nil, insert a human-readable
+description.
-If READABLE is nil, an expression is inserted. The expression is
-a call to `define-abbrev-table' that when evaluated will define
+If READABLE is nil, insert an expression. The expression is
+a call to `define-abbrev-table' that, when evaluated, will define
the abbrev table NAME exactly as it is currently defined.
Abbrevs marked as \"system abbrevs\" are ignored."
(let ((symbols (abbrev--table-symbols name readable)))
@@ -1139,10 +1158,10 @@
case-folding, and the expansion is not capitalized/upcased.
- `:regexp' is a regular expression that specifies how to extract the
name of the abbrev before point. The submatch 1 is treated
- as the potential name of an abbrev. If :regexp is nil, the default
+ as the potential name of an abbrev. If `:regexp' is nil, the default
behavior uses `backward-word' and `forward-word' to extract the name
- of the abbrev, which can therefore only be a single word.
-- `:enable-function' can be set to a function of no argument which returns
+ of the abbrev, which can therefore by default only be a single word.
+- `:enable-function' can be set to a function of no arguments which returns
non-nil if and only if the abbrevs in this table should be used for this
instance of `expand-abbrev'."
(declare (doc-string 3))
@@ -1171,7 +1190,7 @@
(defun abbrev-table-menu (table &optional prompt sortfun)
"Return a menu that shows all abbrevs in TABLE.
-Selecting an entry runs `abbrev-insert'.
+Selecting an entry runs `abbrev-insert' for that entry's abbrev.
PROMPT is the prompt to use for the keymap.
SORTFUN is passed to `sort' to change the default ordering."
(unless sortfun (setq sortfun 'string-lessp))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/bindings.el
^
|
@@ -516,7 +516,7 @@
'help-echo "Size indication mode\n\
mouse-1: Display Line and Column Mode Menu")))
(line-number-mode
- ((column-number-mode
+ (column-number-mode
(column-number-indicator-zero-based
(10
(:propertize
@@ -530,13 +530,13 @@
(6
(:propertize
mode-line-position-line-format
- ,@mode-line-position--column-line-properties))))
+ ,@mode-line-position--column-line-properties)))
(column-number-mode
(column-number-indicator-zero-based
(6
(:propertize
mode-line-position-column-format
- (,@mode-line-position--column-line-properties)))
+ ,@mode-line-position--column-line-properties))
(6
(:propertize
(:eval (string-replace
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/calc/calc.el
^
|
@@ -1815,7 +1815,7 @@
(if win
(progn
(calc-cursor-stack-index 0)
- (vertical-motion (- 2 (window-height win)))
+ (vertical-motion (- 3 (window-height win 'floor)))
(set-window-start win (point)))))
(calc-cursor-stack-index 0)
(if (looking-at " *\\.$")
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/chistory.el
^
|
@@ -165,11 +165,11 @@
"Examine commands from variable `command-history' in a buffer.
The number of commands listed is controlled by `list-command-history-max'.
The command history is filtered by `list-command-history-filter' if non-nil.
-Use \\<command-history-map>\\[command-history-repeat] to repeat the command on the current line.
+Use \\<command-history-mode-map>\\[command-history-repeat] to repeat the command on the current line.
Otherwise much like Emacs-Lisp Mode except that there is no self-insertion
and digits provide prefix arguments. Tab does not indent.
-\\{command-history-map}
+\\{command-history-mode-map}
This command always recompiles the Command History listing
and runs the normal hook `command-history-hook'."
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/color.el
^
|
@@ -39,6 +39,10 @@
COLOR should be a color name (e.g. \"white\") or an RGB triplet
string (e.g. \"#ffff1122eecc\").
+COLOR can also be the symbol `unspecified' or one of the strings
+\"unspecified-fg\" or \"unspecified-bg\", in which case the
+return value is nil.
+
Normally the return value is a list of three floating-point
numbers, (RED GREEN BLUE), each between 0.0 and 1.0 inclusive.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/delsel.el
^
|
@@ -108,7 +108,8 @@
"Repeat replacing text of highlighted region with typed text.
Search for the next stretch of text identical to the region last replaced
by typing text over it and replaces it with the same stretch of text.
-With ARG, repeat that many times. `\\[universal-argument]' means until end of buffer."
+With ARG (interactively, prefix numeric argument), repeat that many times.
+Just `\\[universal-argument]' means repeat until the end of the buffer's accessible portion."
(interactive "P")
(let ((old-text (and delete-selection-save-to-register
(get-register delete-selection-save-to-register)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/descr-text.el
^
|
@@ -690,6 +690,7 @@
(looking-at-p "[ \t]+$")))
'trailing-whitespace)
((and nobreak-char-display char
+ (> char 127)
(eq (get-char-code-property char 'general-category) 'Zs))
'nobreak-space)
((and nobreak-char-display char
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/desktop.el
^
|
@@ -44,10 +44,11 @@
;; (info "(emacs)Saving Emacs Sessions") in the GNU Emacs Manual.
;; When the desktop module is loaded, the function `desktop-kill' is
-;; added to the `kill-emacs-hook'. This function is responsible for
-;; saving the desktop when Emacs is killed. Furthermore an anonymous
-;; function is added to the `after-init-hook'. This function is
-;; responsible for loading the desktop when Emacs is started.
+;; added to the `kill-emacs-query-functions'. This function is
+;; responsible for saving the desktop and deleting the desktop lock
+;; file when Emacs is killed. In addition, an anonymous function is
+;; added to the `after-init-hook'. This function is responsible for
+;; loading the desktop when Emacs is started.
;; Special handling.
;; -----------------
@@ -732,7 +733,10 @@
;; ----------------------------------------------------------------------------
(unless noninteractive
- (add-hook 'kill-emacs-query-functions #'desktop-kill))
+ (add-hook 'kill-emacs-query-functions #'desktop-kill)
+ ;; Certain things should be done even if
+ ;; `kill-emacs-query-functions' are not called.
+ (add-hook 'kill-emacs-hook #'desktop--on-kill))
(defun desktop-kill ()
"If `desktop-save-mode' is non-nil, do what `desktop-save' says to do.
@@ -759,12 +763,15 @@
(file-error
(unless (yes-or-no-p "Error while saving the desktop. Ignore? ")
(signal (car err) (cdr err))))))
+ (desktop--on-kill)
+ t)
+
+(defun desktop--on-kill ()
;; If we own it, we don't anymore.
(when (eq (emacs-pid) (desktop-owner))
;; Allow exiting Emacs even if we can't delete the desktop file.
(ignore-error 'file-error
- (desktop-release-lock)))
- t)
+ (desktop-release-lock))))
;; ----------------------------------------------------------------------------
(defun desktop-list* (&rest args)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/dired-aux.el
^
|
@@ -1242,7 +1242,8 @@
(when (zerop
(dired-shell-command
(format-spec (cdr rule)
- `((?o . ,(shell-quote-argument out-file))
+ `((?o . ,(shell-quote-argument
+ (file-local-name out-file)))
(?i . ,(mapconcat
(lambda (in-file)
(shell-quote-argument
@@ -1838,22 +1839,23 @@
"Rename FILE to NEWNAME.
Signal a `file-already-exists' error if a file NEWNAME already exists
unless OK-IF-ALREADY-EXISTS is non-nil."
- (dired-handle-overwrite newname)
- (dired-maybe-create-dirs (file-name-directory newname))
- (if (and dired-vc-rename-file
- (vc-backend file)
- (ignore-errors (vc-responsible-backend newname)))
- (vc-rename-file file newname)
- ;; error is caught in -create-files
- (rename-file file newname ok-if-already-exists))
- ;; Silently rename the visited file of any buffer visiting this file.
- (and (get-file-buffer file)
- (with-current-buffer (get-file-buffer file)
- (set-visited-file-name newname nil t)))
- (dired-remove-file file)
- ;; See if it's an inserted subdir, and rename that, too.
- (when (file-directory-p file)
- (dired-rename-subdir file newname)))
+ (let ((file-is-dir-p (file-directory-p file)))
+ (dired-handle-overwrite newname)
+ (dired-maybe-create-dirs (file-name-directory newname))
+ (if (and dired-vc-rename-file
+ (vc-backend file)
+ (ignore-errors (vc-responsible-backend newname)))
+ (vc-rename-file file newname)
+ ;; error is caught in -create-files
+ (rename-file file newname ok-if-already-exists))
+ ;; Silently rename the visited file of any buffer visiting this file.
+ (and (get-file-buffer file)
+ (with-current-buffer (get-file-buffer file)
+ (set-visited-file-name newname nil t)))
+ (dired-remove-file file)
+ ;; See if it's an inserted subdir, and rename that, too.
+ (when file-is-dir-p
+ (dired-rename-subdir file newname))))
(defun dired-rename-subdir (from-dir to-dir)
(setq from-dir (file-name-as-directory from-dir)
@@ -1866,7 +1868,7 @@
(while blist
(with-current-buffer (car blist)
(if (and buffer-file-name
- (file-in-directory-p buffer-file-name expanded-from-dir))
+ (dired-in-this-tree-p buffer-file-name expanded-from-dir))
(let ((modflag (buffer-modified-p))
(to-file (replace-regexp-in-string
(concat "^" (regexp-quote from-dir))
@@ -1885,7 +1887,7 @@
(while alist
(setq elt (car alist)
alist (cdr alist))
- (if (file-in-directory-p (car elt) expanded-dir)
+ (if (dired-in-this-tree-p (car elt) expanded-dir)
;; ELT's subdir is affected by the rename
(dired-rename-subdir-2 elt dir to)))
(if (equal dir default-directory)
@@ -2725,7 +2727,7 @@
(setq switches (string-replace "R" "" switches))
(dolist (cur-ass dired-subdir-alist)
(let ((cur-dir (car cur-ass)))
- (and (file-in-directory-p cur-dir dirname)
+ (and (dired-in-this-tree-p cur-dir dirname)
(let ((cur-cons (assoc-string cur-dir dired-switches-alist)))
(if cur-cons
(setcdr cur-cons switches)
@@ -2737,7 +2739,7 @@
(defun dired-insert-subdir-validate (dirname &optional switches)
;; Check that it is valid to insert DIRNAME with SWITCHES.
;; Signal an error if invalid (e.g. user typed `i' on `..').
- (or (file-in-directory-p dirname (expand-file-name default-directory))
+ (or (dired-in-this-tree-p dirname (expand-file-name default-directory))
(error "%s: Not in this directory tree" dirname))
(let ((real-switches (or switches dired-subdir-switches)))
(when real-switches
@@ -3170,9 +3172,14 @@
;;;###autoload
(defun dired-do-query-replace-regexp (from to &optional delimited)
"Do `query-replace-regexp' of FROM with TO, on all marked files.
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
+
Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
-If you exit (\\[keyboard-quit], RET or q), you can resume the query replace
-with the command \\[tags-loop-continue]."
+If you exit the query-replace loop (\\[keyboard-quit], RET or q), you can
+resume the query replace with the command \\[fileloop-continue]."
(interactive
(let ((common
(query-replace-read-args
@@ -3239,6 +3246,11 @@
(defun dired-do-find-regexp-and-replace (from to)
"Replace matches of FROM with TO, in all marked files.
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
+
If no files are marked, use the file under point.
For any marked directory, matches in all of its files are replaced,
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/dired.el
^
|
@@ -994,8 +994,11 @@
;;;###autoload
(defun dired (dirname &optional switches)
"\"Edit\" directory DIRNAME--delete, rename, print, etc. some files in it.
-Optional second argument SWITCHES specifies the `ls' options used.
-\(Interactively, use a prefix argument to be able to specify SWITCHES.)
+Optional second argument SWITCHES specifies the options to be used
+when invoking `insert-directory-program', usually `ls', which produces
+the listing of the directory files and their attributes.
+Interactively, a prefix argument will cause the command to prompt
+for SWITCHES.
If DIRNAME is a string, Dired displays a list of files in DIRNAME (which
may also have shell wildcards appended to select certain files).
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/elec-pair.el
^
|
@@ -498,7 +498,7 @@
corresponding delimiter for C;
* According to C alone, by looking C up in the tables
- `electric-pair-paris' or `electric-pair-text-pairs' (which
+ `electric-pair-pairs' or `electric-pair-text-pairs' (which
see);
* According to C's syntax and the syntactic state of the buffer
@@ -575,7 +575,7 @@
(save-excursion (electric-pair--insert pair))))))))
(defun electric-pair-open-newline-between-pairs-psif ()
- "Honour `electric-pair-open-newline-between-pairs'.
+ "Honor `electric-pair-open-newline-between-pairs'.
Member of `post-self-insert-hook' if `electric-pair-mode' is on."
(when (and (if (functionp electric-pair-open-newline-between-pairs)
(funcall electric-pair-open-newline-between-pairs)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/electric.el
^
|
@@ -310,10 +310,16 @@
;;;###autoload
(define-minor-mode electric-indent-mode
- "Toggle on-the-fly reindentation (Electric Indent mode).
+ "Toggle on-the-fly reindentation of text lines (Electric Indent mode).
When enabled, this reindents whenever the hook `electric-indent-functions'
-returns non-nil, or if you insert a character from `electric-indent-chars'.
+returns non-nil, or if you insert one of the \"electric characters\".
+The electric characters normally include the newline, but can
+also include other characters as needed by the major mode; see
+`electric-indent-chars' for the actual list.
+
+By \"reindent\" we mean remove any existing indentation, and then
+indent the line according to context and rules of the major mode.
This is a global minor mode. To toggle the mode in a single buffer,
use `electric-indent-local-mode'."
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emacs-lisp/byte-opt.el
^
|
@@ -289,7 +289,7 @@
(if (eq fn localfn)
;; From the same file => same mode.
(macroexp--unfold-lambda `(,fn ,@(cdr form)))
- ;; Since we are called from inside the optimiser, we need to make
+ ;; Since we are called from inside the optimizer, we need to make
;; sure not to propagate lexvar values.
(let ((byte-optimize--lexvars nil)
;; Silence all compilation warnings: the useful ones should
@@ -322,7 +322,7 @@
This indicates the loop discovery phase.")
(defvar byte-optimize--dynamic-vars nil
- "List of variables declared as dynamic during optimisation.")
+ "List of variables declared as dynamic during optimization.")
(defvar byte-optimize--aliased-vars nil
"List of variables which may be aliased by other lexical variables.
@@ -429,7 +429,7 @@
(`(cond . ,clauses)
;; FIXME: The condition in the first clause is always executed, and
;; clause bodies are mutually exclusive -- use this for improved
- ;; optimisation (see comment about `if' below).
+ ;; optimization (see comment about `if' below).
(cons fn
(mapcar (lambda (clause)
(if (consp clause)
@@ -477,9 +477,9 @@
;; FIXME: We have to traverse the expressions in left-to-right
;; order (because that is the order of evaluation and variable
;; mutations must be found prior to their use), but doing so we miss
- ;; some optimisation opportunities:
+ ;; some optimization opportunities:
;; consider (and A B) in a for-effect context, where B => nil.
- ;; Then A could be optimised in a for-effect context too.
+ ;; Then A could be optimized in a for-effect context too.
(let ((tail exps)
(args nil))
(while tail
@@ -493,19 +493,19 @@
;; FIXME: If the loop condition is statically nil after substitution
;; of surrounding variables then we can eliminate the whole loop,
;; even if those variables are mutated inside the loop.
- ;; We currently don't perform this important optimisation.
+ ;; We currently don't perform this important optimization.
(let* ((byte-optimize--vars-outside-loop byte-optimize--lexvars)
(condition-body
(if byte-optimize--inhibit-outside-loop-constprop
;; We are already inside the discovery phase of an outer
;; loop so there is no need for traversing this loop twice.
(cons exp exps)
- ;; Discovery phase: run optimisation without substitution
+ ;; Discovery phase: run optimization without substitution
;; of variables bound outside this loop.
(let ((byte-optimize--inhibit-outside-loop-constprop t))
(cons (byte-optimize-form exp nil)
(byte-optimize-body exps t)))))
- ;; Optimise again, this time with constprop enabled (unless
+ ;; Optimize again, this time with constprop enabled (unless
;; we are in discovery of an outer loop),
;; as mutated variables have been marked as non-substitutable.
(condition (byte-optimize-form (car condition-body) nil))
@@ -559,7 +559,7 @@
;; Needed as long as we run byte-optimize-form after cconv.
(`(internal-make-closure . ,_)
;; Look up free vars and mark them to be kept, so that they
- ;; won't be optimised away.
+ ;; won't be optimized away.
(dolist (var (caddr form))
(let ((lexvar (assq var byte-optimize--lexvars)))
(when lexvar
@@ -643,7 +643,7 @@
(defun byte-optimize-one-form (form &optional for-effect)
"The source-level pass of the optimizer."
- ;; Make optimiser aware of lexical arguments.
+ ;; Make optimizer aware of lexical arguments.
(let ((byte-optimize--lexvars
(mapcar (lambda (v) (list (car v) t))
byte-compile--lexical-environment)))
@@ -655,7 +655,7 @@
;; First, optimize all sub-forms of this one.
(setq form (byte-optimize-form-code-walker form for-effect))
- ;; If a form-specific optimiser is available, run it and start over
+ ;; If a form-specific optimizer is available, run it and start over
;; until a fixpoint has been reached.
(and (consp form)
(symbolp (car form))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emacs-lisp/cl-generic.el
^
|
@@ -602,7 +602,9 @@
(defun cl--generic-get-dispatcher (dispatch)
(cl--generic-with-memoization
- (gethash dispatch cl--generic-dispatchers)
+ ;; We need `copy-sequence` here because this `dispatch' object might be
+ ;; modified by side-effect in `cl-generic-define-method' (bug#46722).
+ (gethash (copy-sequence dispatch) cl--generic-dispatchers)
;; (message "cl--generic-get-dispatcher (%S)" dispatch)
(let* ((dispatch-arg (car dispatch))
(generalizers (cdr dispatch))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emacs-lisp/cl-macs.el
^
|
@@ -3288,8 +3288,9 @@
(defun cl-struct-sequence-type (struct-type)
"Return the sequence used to build STRUCT-TYPE.
-STRUCT-TYPE is a symbol naming a struct type. Return `record',
-`vector', or `list' if STRUCT-TYPE is a struct type, nil otherwise."
+STRUCT-TYPE is a symbol naming a struct type. Return values are
+either `vector', `list' or nil (and the latter indicates a
+`record' struct type."
(declare (side-effect-free t) (pure t))
(cl--struct-class-type (cl--struct-get-class struct-type)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emacs-lisp/cl-seq.el
^
|
@@ -139,6 +139,10 @@
If SEQ contains exactly one element and no :INITIAL-VALUE is
specified, then return that element and FUNCTION is not called.
+If :FROM-END is non-nil, the reduction occurs from the back of
+the SEQ moving forward, and the order of arguments to the
+FUNCTION is also reversed.
+
\n(fn FUNCTION SEQ [KEYWORD VALUE]...)"
(cl--parsing-keywords (:from-end (:start 0) :end :initial-value :key) ()
(or (listp cl-seq) (setq cl-seq (append cl-seq nil)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emacs-lisp/comp.el
^
|
@@ -45,7 +45,9 @@
(defcustom native-comp-speed 2
"Optimization level for native compilation, a number between -1 and 3.
- -1 functions are kept in bytecode form and no native compilation is performed.
+ -1 functions are kept in bytecode form and no native compilation is performed
+ (but *.eln files are still produced, and include the compiled code in
+ bytecode form).
0 native compilation is performed with no optimizations.
1 light optimizations.
2 max optimization level fully adherent to the language semantic.
@@ -3695,7 +3697,7 @@
(file-name-base output) "-")
nil ".el")))
(with-temp-file temp-file
- (insert ";; -*-coding: nil; -*-\n")
+ (insert ";; -*-coding: utf-8-emacs-unix; -*-\n")
(mapc (lambda (e)
(insert (prin1-to-string e)))
expr))
@@ -3925,8 +3927,11 @@
when (or native-comp-always-compile
load ; Always compile when the compilation is
; commanded for late load.
- (file-newer-than-file-p
- source-file (comp-el-to-eln-filename source-file)))
+ ;; Skip compilation if `comp-el-to-eln-filename' fails
+ ;; to find a writable directory.
+ (with-demoted-errors "Async compilation :%S"
+ (file-newer-than-file-p
+ source-file (comp-el-to-eln-filename source-file))))
do (let* ((expr `((require 'comp)
,(when (boundp 'backtrace-line-length)
`(setf backtrace-line-length ,backtrace-line-length))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emacs-lisp/easy-mmode.el
^
|
@@ -555,7 +555,7 @@
list."
mode)
:type '(repeat sexp)
- :group ,group))
+ ,@group))
;; Autoloading define-globalized-minor-mode autoloads everything
;; up-to-here.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emacs-lisp/eldoc.el
^
|
@@ -794,7 +794,7 @@
Other third-party values of `eldoc-documentation-strategy' should
not use `eldoc--make-callback'. They must find some alternate
way to produce callbacks to feed to
-`eldoc-documentation-functions' and should endeavour to display
+`eldoc-documentation-functions' and should endeavor to display
the docstrings eventually produced, using
`eldoc-display-functions'."
(let* (;; How many callbacks have been created by the strategy
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emacs-lisp/ert-x.el
^
|
@@ -96,7 +96,7 @@
To be used in ERT tests. If BODY finishes successfully, the test
buffer is killed; if there is an error, the test buffer is kept
-around on error for further inspection. Its name is derived from
+around for further inspection. Its name is derived from
the name of the test and the result of NAME-FORM."
(declare (debug ((":name" form) def-body))
(indent 1))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emacs-lisp/ert.el
^
|
@@ -47,8 +47,6 @@
;; environment (like availability of features, external binaries, etc).
;;
;; See ERT's info manual as well as the docstrings for more details.
-;; To compile the manual, run `makeinfo ert.texinfo' in the ERT
-;; directory, then C-u M-x info ert.info in Emacs to view it.
;;
;; To see some examples of tests written in ERT, see its self-tests in
;; ert-tests.el. Some of these are tricky due to the bootstrapping
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emacs-lisp/nadvice.el
^
|
@@ -277,7 +277,7 @@
(defmacro add-function (where place function &optional props)
;; TODO:
;; - maybe let `where' specify some kind of predicate and use it
- ;; to implement things like mode-local or eieio-defmethod.
+ ;; to implement things like mode-local or cl-defmethod.
;; Of course, that only makes sense if the predicates of all advices can
;; be combined and made more efficient.
;; :before is like a normal add-hook on a normal hook.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emulation/viper-cmd.el
^
|
@@ -1786,7 +1786,7 @@
(do-not-change-default t))
(setq quote-str
(viper-read-string-with-history
- "Quote string"
+ "Quote string: "
nil
'viper-quote-region-history
;; FIXME: Use comment-region.
@@ -1995,17 +1995,24 @@
#'viper-minibuffer-standard-hook
(if (or (not (listp old)) (eq (car old) 'lambda))
(list old) old))))
- (val ""))
+ (val "")
+ (padding "")
+ temp-msg)
(setq keymap (or keymap minibuffer-local-map)
initial (or initial "")
- viper-initial initial)
+ viper-initial initial
+ temp-msg (if default
+ (format "(default %s) " default)
+ ""))
(setq viper-incomplete-ex-cmd nil)
- (setq val (read-from-minibuffer (format-prompt prompt default)
- nil
- keymap nil history-var default))
- (setq minibuffer-setup-hook nil)
+ (setq val (read-from-minibuffer prompt
+ (concat temp-msg initial val padding)
+ keymap nil history-var))
+ (setq minibuffer-setup-hook nil
+ padding (viper-array-to-string (this-command-keys))
+ temp-msg "")
;; the following tries to be smart about what to put in history
(if (not (string= val (car (symbol-value history-var))))
(push val (symbol-value history-var)))
@@ -3819,7 +3826,7 @@
(let (buffer buffer-name)
(setq buffer-name
(funcall viper-read-buffer-function
- (format-prompt "Kill buffer"
+ (format "Kill buffer (%s): "
(buffer-name (current-buffer)))))
(setq buffer
(if (null buffer-name)
@@ -4161,12 +4168,17 @@
"Query replace.
If a null string is supplied as the string to be replaced,
the query replace mode will toggle between string replace
-and regexp replace."
+and regexp replace.
+
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time."
(interactive)
(let (str)
(setq str (viper-read-string-with-history
- (if viper-re-query-replace "Query replace regexp"
- "Query replace")
+ (if viper-re-query-replace "Query replace regexp: "
+ "Query replace: ")
nil ; no initial
'viper-replace1-history
(car viper-replace1-history) ; default
@@ -4181,7 +4193,7 @@
(query-replace-regexp
str
(viper-read-string-with-history
- (format-message "Query replace regexp `%s' with" str)
+ (format-message "Query replace regexp `%s' with: " str)
nil ; no initial
'viper-replace1-history
(car viper-replace1-history) ; default
@@ -4189,7 +4201,7 @@
(query-replace
str
(viper-read-string-with-history
- (format-message "Query replace `%s' with" str)
+ (format-message "Query replace `%s' with: " str)
nil ; no initial
'viper-replace1-history
(car viper-replace1-history) ; default
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/emulation/viper.el
^
|
@@ -7,7 +7,7 @@
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Keywords: emulations
-;; Version: 3.14.1
+;; Version: 3.14.2
;; Yoni Rabkin <yoni@rabkins.net> contacted the maintainer of this
;; file on 20/3/2008, and the maintainer agreed that when a bug is
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/faces.el
^
|
@@ -448,6 +448,10 @@
(defun face-attribute (face attribute &optional frame inherit)
"Return the value of FACE's ATTRIBUTE on FRAME.
+
+See `set-face-attribute' for the list of supported attributes
+and their meanings and allowed values.
+
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
@@ -511,6 +515,9 @@
(defun face-foreground (face &optional frame inherit)
"Return the foreground color name of FACE, or nil if unspecified.
+On TTY frames, the returned color name can be \"unspecified-fg\",
+which stands for the unknown default foreground color of the display
+where the frame is displayed.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
@@ -532,6 +539,9 @@
(defun face-background (face &optional frame inherit)
"Return the background color name of FACE, or nil if unspecified.
+On TTY frames, the returned color name can be \"unspecified-bg\",
+which stands for the unknown default background color of the display
+where the frame is displayed.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
@@ -658,21 +668,28 @@
(defun set-face-attribute (face frame &rest args)
"Set attributes of FACE on FRAME from ARGS.
-This function overrides the face attributes specified by FACE's
-face spec. It is mostly intended for internal use only.
+This function overrides the face attributes specified by FACE's face spec.
+It is mostly intended for internal use.
-If FRAME is nil, set the attributes for all existing frames, as
-well as the default for new frames. If FRAME is t, change the
-default for new frames only. As an exception, to reset the value
-of some attribute to `unspecified' in a way that overrides the
-non-`unspecified' value defined by the face's spec in `defface',
-for new frames, you must explicitly call this function with FRAME
-set to t and the attribute's value set to `unspecified'; just
-using FRAME of nil will not affect new frames in this case.
-
-ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a
-valid face attribute name. All attributes can be set to
-`unspecified'; this fact is not further mentioned below.
+If FRAME is a frame, set the FACE's attributes only for that frame. If
+FRAME is nil, set attribute values for all existing frames, as well as
+the default for new frames. If FRAME is t, change the default values
+of attributes for new frames.
+
+ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a valid face
+attribute name and VALUE must be a value that is valid for ATTRIBUTE,
+as described below for each attribute.
+
+In addition to the attribute values listed below, all attributes can
+also be set to the special value `unspecified', which means the face
+doesn't by itself specify a value for the attribute.
+
+When a new frame is created, attribute values in the FACE's `defface'
+spec normally override the `unspecified' values in the FACE's
+default attributes. To avoid that, i.e. to cause ATTRIBUTE's value
+be reset to `unspecified' when creating new frames, disregarding
+what the FACE's face spec says, call this function with FRAME set to
+t and the ATTRIBUTE's value set to `unspecified'.
The following attributes are recognized:
@@ -1837,7 +1854,7 @@
"Whether RGB is more readable against white than black.
RGB is a 3-element list (R G B), each component in the range [0,1].
This predicate can be used both for determining a suitable (black or white)
-contrast colour with RGB as background and as foreground."
+contrast color with RGB as background and as foreground."
(unless (<= 0 (apply #'min rgb) (apply #'max rgb) 1)
(error "RGB components %S not in [0,1]" rgb))
;; Compute the relative luminance after gamma-correcting (assuming sRGB),
@@ -2057,11 +2074,17 @@
(face-attribute 'default attribute))))
(defun foreground-color-at-point ()
- "Return the foreground color of the character after point."
+ "Return the foreground color of the character after point.
+On TTY frames, the returned color name can be \"unspecified-fg\",
+which stands for the unknown default foreground color of the
+display where the frame is displayed."
(faces--attribute-at-point :foreground 'foreground-color))
(defun background-color-at-point ()
- "Return the background color of the character after point."
+ "Return the background color of the character after point.
+On TTY frames, the returned color name can be \"unspecified-bg\",
+which stands for the unknown default background color of the
+display where the frame is displayed."
(faces--attribute-at-point :background 'background-color))

|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/files.el
^
|
@@ -419,17 +419,23 @@
(timer-set-idle-time auto-save--timer value :repeat))))
(define-minor-mode auto-save-visited-mode
- "Toggle automatic saving to file-visiting buffers on or off.
+ "Toggle automatic saving of file-visiting buffers to their files.
-Unlike `auto-save-mode', this mode will auto-save buffer contents
-to the visited files directly and will also run all save-related
-hooks. See Info node `Saving' for details of the save process.
+When this mode is enabled, file-visiting buffers are automatically
+saved to their files. This is in contrast to `auto-save-mode', which
+auto-saves those buffers to a separate file, leaving the original
+file intact. See Info node `Saving' for details of the save process.
+
+The user option `auto-save-visited-interval' controls how often to
+auto-save a buffer into its visited file.
You can also set the buffer-local value of the variable
`auto-save-visited-mode' to nil. A buffer where the buffer-local
value of this variable is nil is ignored for the purpose of
`auto-save-visited-mode', even if `auto-save-visited-mode' is
-enabled."
+enabled.
+
+For more details, see Info node `(emacs) Auto Save Files'."
:group 'auto-save
:global t
(when auto-save--timer (cancel-timer auto-save--timer))
@@ -1221,8 +1227,8 @@
(defcustom remote-file-name-inhibit-cache 10
"Whether to use the remote file-name cache for read access.
-When nil, never expire cached values (caution)
-When t, never use the cache (safe, but may be slow)
+When nil, never expire cached values (caution).
+When t, never use the cache (safe, but may be slow).
A number means use cached values for that amount of seconds since caching.
The attributes of remote files are cached for better performance.
@@ -1706,19 +1712,18 @@
(defun find-file (filename &optional wildcards)
"Edit file FILENAME.
-Switch to a buffer visiting file FILENAME,
-creating one if none already exists.
+\\<minibuffer-local-map>Switch to a buffer visiting file FILENAME, creating one if none
+already exists.
Interactively, the default if you just type RET is the current directory,
but the visited file name is available through the minibuffer history:
type \\[next-history-element] to pull it into the minibuffer.
-The first time \\[next-history-element] is used after Emacs prompts for
-the file name, the result is affected by `file-name-at-point-functions',
-which by default try to guess the file name by looking at point in the
-current buffer. Customize the value of `file-name-at-point-functions'
-or set it to nil, if you want only the visited file name and the
-current directory to be available on first \\[next-history-element]
-request.
+The first time \\[next-history-element] is used after Emacs prompts for the file name,
+the result is affected by `file-name-at-point-functions', which by
+default try to guess the file name by looking at point in the current
+buffer. Customize the value of `file-name-at-point-functions' or set
+it to nil, if you want only the visited file name and the current
+directory to be available on first \\[next-history-element] request.
You can visit files on remote machines by specifying something
like /ssh:SOME_REMOTE_MACHINE:FILE for the file name. You can
@@ -1731,7 +1736,7 @@
expand wildcards (if any) and visit multiple files. You can
suppress wildcard expansion by setting `find-file-wildcards' to nil.
-To visit a file without any kind of conversion and without
+\\<global-map>To visit a file without any kind of conversion and without
automatically choosing a major mode, use \\[find-file-literally]."
(interactive
(find-file-read-args "Find file: "
@@ -1747,6 +1752,7 @@
Like \\[find-file] (which see), but creates a new window or reuses
an existing one. See the function `display-buffer'.
+\\<minibuffer-local-map>\
Interactively, the default if you just type RET is the current directory,
but the visited file name is available through the minibuffer history:
type \\[next-history-element] to pull it into the minibuffer.
@@ -1779,6 +1785,7 @@
Like \\[find-file] (which see), but creates a new frame or reuses
an existing one. See the function `display-buffer'.
+\\<minibuffer-local-map>\
Interactively, the default if you just type RET is the current directory,
but the visited file name is available through the minibuffer history:
type \\[next-history-element] to pull it into the minibuffer.
@@ -3887,8 +3894,8 @@
(with-demoted-errors "Directory-local variables error: %s"
;; Note this is a no-op if enable-local-variables is nil.
(hack-dir-local-variables))
- (let ((result (append (hack-local-variables--find-variables)
- (hack-local-variables-prop-line))))
+ (let ((result (append (hack-local-variables--find-variables handle-mode)
+ (hack-local-variables-prop-line handle-mode))))
(if (and enable-local-variables
(not (inhibit-local-variables-p)))
(progn
@@ -5026,14 +5033,16 @@
"")))))
(defun file-name-with-extension (filename extension)
- "Set the EXTENSION of a FILENAME.
+ "Return FILENAME modified to have the specified EXTENSION.
The extension (in a file name) is the part that begins with the last \".\".
+This function removes any existing extension from FILENAME, and then
+appends EXTENSION to it.
-Trims a leading dot from the EXTENSION so that either \"foo\" or
-\".foo\" can be given.
+EXTENSION may include the leading dot; if it doesn't, this function
+will provide it.
-Errors if the FILENAME or EXTENSION are empty, or if the given
-FILENAME has the format of a directory.
+It is an error if FILENAME or EXTENSION is empty, or if FILENAME
+is in the form of a directory name according to `directory-name-p'.
See also `file-name-sans-extension'."
(let ((extn (string-trim-left extension "[.]")))
@@ -7108,15 +7117,15 @@
:group 'dired)
(defun file-expand-wildcards (pattern &optional full)
- "Expand wildcard pattern PATTERN.
-This returns a list of file names that match the pattern.
-Files are sorted in `string<' order.
+ "Expand (a.k.a. \"glob\") file-name wildcard pattern PATTERN.
+This returns a list of file names that match PATTERN.
+The returned list of file names is sorted in the `string<' order.
If PATTERN is written as an absolute file name,
-the values are absolute also.
+the expansions in the returned list are also absolute.
If PATTERN is written as a relative file name, it is interpreted
-relative to the current default directory, `default-directory'.
+relative to the current `default-directory'.
The file names returned are normally also relative to the current
default directory. However, if FULL is non-nil, they are absolute."
(save-match-data
@@ -7236,7 +7245,9 @@
(defvar insert-directory-program (purecopy "ls")
- "Absolute or relative name of the `ls' program used by `insert-directory'.")
+ "Absolute or relative name of the `ls'-like program.
+This is used by `insert-directory' and `dired-insert-directory'
+\(thus, also by `dired').")
(defcustom directory-free-space-program (purecopy "df")
"Program to get the amount of free space on a file system.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/find-dired.el
^
|
@@ -167,7 +167,12 @@
use in place of \"-ls\" as the final argument.
Collect output in the \"*Find*\" buffer. To kill the job before
-it finishes, type \\[kill-find]."
+it finishes, type \\[kill-find].
+
+For more information on how to write valid find expressions for
+ARGS, see Info node `(find) Finding Files'. If you are not
+using GNU findutils (on macOS and *BSD systems), see instead the
+man page for \"find\"."
(interactive (list (read-directory-name "Run find in directory: " nil "" t)
(read-string "Run find (with args): " find-args
'(find-args-history . 1))))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/find-file.el
^
|
@@ -189,11 +189,36 @@
(defcustom ff-other-file-alist 'cc-other-file-alist
"Alist of extensions to find given the current file's extension.
-This list should contain the most used extensions before the others,
-since the search algorithm searches sequentially through each
-directory specified in `ff-search-directories'. If a file is not found,
-a new one is created with the first matching extension (`.cc' yields `.hh').
-This alist should be set by the major mode."
+The value could be an alist or a symbol whose value is an alist.
+Each element of the alist has the form
+
+ (REGEXP (EXTENSION...))
+
+where REGEXP is the regular expression matching a file's extension,
+and EXTENSIONs is the list of literal file-name extensions to search
+for. The list of extensions should contain the most used extensions
+before the others, since the search algorithm searches sequentially
+through each directory specified in `ff-search-directories'.
+
+Alist elements can also be of the form
+
+ (REGEXP FUNCTION)
+
+where FUNCTION is a function of one argument, the current file's name,
+that returns the list of possible names of the corresponding files, with
+or without leading directories. Note the difference: FUNCTION returns
+the list of file names, not their extensions. This is for the case when
+REGEXP is not enough to determine the file name of the other file.
+
+If a file is not found, a new one is created with the first
+matching extension or name (e.g., `.cc' yields `.hh').
+
+This alist should be set by the major mode.
+
+Note: if an element of the alist names a FUNCTION as its cdr, that
+function must return a non-nil list of file-names. It cannot
+return nil, nor can it signal in any way a failure to find a suitable
+list of file names."
:type '(choice (repeat (list regexp (choice (repeat string) function)))
symbol))
@@ -604,7 +629,7 @@
(while (and suffixes (not found))
(setq filename (concat fname-stub this-suffix))
- (setq file (concat dir "/" filename))
+ (setq file (expand-file-name filename dir))
(if (not ff-quiet-mode)
(message "Finding %s..." file))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/gnus/ChangeLog.3
^
|
@@ -7385,7 +7385,7 @@
2011-01-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus-sum.el (gnus-select-newsgroup): Don't propagate marks to
- backends after sanitising on entry, because this never makes sense:
+ backends after sanitizing on entry, because this never makes sense:
If the articles have gone missing, then the data no longer exists on
the backend, and if they haven't, then Gnus is wrong, and shouldn't
overwrite anything anyway.
@@ -21361,7 +21361,7 @@
to get all the groups a message ID is in.
* spam-stat.el (spam-stat-split-fancy-spam-threshold)
- (spam-stat-split-fancy): Change "threshhold" to "threshold".
+ (spam-stat-split-fancy): Fix typo for "threshold".
(spam-stat-score-buffer-user-functions): Add :number custom type.
2005-04-06 Katsumi Yamaoka <yamaoka@jpl.org>
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/gnus/mm-encode.el
^
|
@@ -99,7 +99,7 @@
;;;###autoload
(define-obsolete-function-alias 'mm-default-file-encoding
- #'mm-default-file-type "future") ;Old bad name.
+ #'mm-default-file-type "28.1") ;Old bad name.
;;;###autoload
(defun mm-default-file-type (file)
"Return a default content type for FILE."
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/gnus/mm-uu.el
^
|
@@ -214,7 +214,7 @@
"$"
,#'mm-uu-org-src-code-block-extract))
"A list of specifications for non-MIME attachments.
-Each element consist of a `mm-uu-entry'.
+Each element consists of a `mm-uu-entry'.
The functions in the last 3 slots of this type can make use of the following
dynamically-scoped variables:
`file-name', `start-point', and `end-point'.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/gnus/nntp.el
^
|
@@ -233,7 +233,7 @@
(const :format "" "password")
(string :format "Password: %v")))))))
-(make-obsolete 'nntp-authinfo-file nil "24.1")
+(make-obsolete-variable 'nntp-authinfo-file 'netrc-file "24.1")

|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/help-fns.el
^
|
@@ -251,13 +251,9 @@
(or describe-function-orig-buffer
(current-buffer))))
- (help-setup-xref
- (list (lambda (function buffer)
- (let ((describe-function-orig-buffer
- (if (buffer-live-p buffer) buffer)))
- (describe-function function)))
- function describe-function-orig-buffer)
- (called-interactively-p 'interactive))
+ (help-setup-xref (list #'describe-function--helper
+ function describe-function-orig-buffer)
+ (called-interactively-p 'interactive))
(save-excursion
(with-help-window (help-buffer)
@@ -874,7 +870,7 @@
(aliased
(format-message "an alias for `%s'" real-def))
((subr-native-elisp-p def)
- (concat beg "native compiled Lisp function"))
+ (concat beg "native-compiled Lisp function"))
((subrp def)
(concat beg (if (eq 'unevalled (cdr (subr-arity def)))
"special form"
@@ -893,7 +889,7 @@
(macrop function))
(concat beg "Lisp macro"))
((byte-code-function-p def)
- (concat beg "compiled Lisp function"))
+ (concat beg "byte-compiled Lisp function"))
((module-function-p def)
(concat beg "module function"))
((eq (car-safe def) 'lambda)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/help.el
^
|
@@ -881,6 +881,19 @@
(setq yank-menu (copy-sequence saved-yank-menu))
(fset 'yank-menu (cons 'keymap yank-menu))))))
+;; These two are named functions because lambda-functions cannot be
+;; serialized in a native-compilation build, which breaks bookmark
+;; support in help-mode.el.
+(defun describe-key--helper (key-list buf)
+ (describe-key key-list
+ (if (buffer-live-p buf) buf)))
+
+(defvar describe-function-orig-buffer)
+(defun describe-function--helper (func buf)
+ (let ((describe-function-orig-buffer
+ (if (buffer-live-p buf) buf)))
+ (describe-function func)))
+
(defun describe-key (&optional key-list buffer up-event)
"Display documentation of the function invoked by KEY-LIST.
KEY-LIST can be any kind of a key sequence; it can include keyboard events,
@@ -926,10 +939,7 @@
`(,seq ,brief-desc ,defn ,locus)))
key-list))
2)))
- (help-setup-xref (list (lambda (key-list buf)
- (describe-key key-list
- (if (buffer-live-p buf) buf)))
- key-list buf)
+ (help-setup-xref (list #'describe-key--helper key-list buf)
(called-interactively-p 'interactive))
(if (and (<= (length info-list) 1)
(help--binding-undefined-p (nth 2 (car info-list))))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/icomplete.el
^
|
@@ -369,7 +369,7 @@
(defun icomplete-fido-exit (force)
"Attempt to exit minibuffer immediately with current input.
Unless FORCE is non-nil (interactively with a prefix argument),
-honour a non-nil REQUIRE-MATCH argument to `completing-read' by
+honor a non-nil REQUIRE-MATCH argument to `completing-read' by
trying to complete as much as possible and disallowing the exit
if that doesn't produce a completion match."
(interactive "P")
@@ -587,7 +587,7 @@
;; select it -- again, as desired.
;;
;; FIXME: it's arguable that this second
- ;; behaviour should be a property of the
+ ;; behavior should be a property of the
;; completion table and not the completion
;; frontend such as we have done
;; here. However, it seems generically
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/image-mode.el
^
|
@@ -23,10 +23,14 @@
;;; Commentary:
-;; Defines a major mode for visiting image files
-;; that allows conversion between viewing the text of the file,
-;; hex of the file and viewing the file as an image. Viewing the image
-;; works by putting a `display' text-property on the
+;; Defines `image-mode', a major mode for visiting image files. Displaying
+;; images only works if Emacs was built with support for displaying
+;; such images. See Info node `(emacs) Image Mode' for more
+;; information.
+;;
+;; There is support for switching between viewing the text of the
+;; file, the hex of the file and viewing the file as an image.
+;; Viewing the image works by putting a `display' text-property on the
;; image data, with the image-data still present underneath; if the
;; resulting buffer file is saved to another name it will correctly save
;; the image data to the new file.
@@ -738,11 +742,12 @@
(image-toggle-display-text))))
(defun image-mode-as-hex ()
- "Set a non-image mode as major mode in combination with image minor mode.
+ "Set `hexl-mode' as major mode in combination with image minor mode.
A non-mage major mode found from `auto-mode-alist' or fundamental mode
displays an image file as hex. `image-minor-mode' provides the key
-\\<image-mode-map>\\[image-toggle-hex-display] to switch back to `image-mode'
-to display an image file as the actual image.
+\\<image-mode-map>\\[image-toggle-hex-display] to switch back to `image-mode' \
+to display an image file as
+the actual image.
You can use `image-mode-as-hex' in `auto-mode-alist' when you want to
display an image file as hex initially.
@@ -751,13 +756,9 @@
on these modes."
(interactive)
(image-mode-to-text)
- ;; Turn on hexl-mode
(hexl-mode)
- (message "%s" (concat
- (substitute-command-keys
- "Type \\[image-toggle-hex-display] or \\[image-toggle-display] to view the image as ")
- (if (image-get-display-property)
- "hex" "an image or text") ".")))
+ (message "%s" (substitute-command-keys
+ "Type \\[hexl-mode-exit] to view the image as an image")))
(defun image-mode-as-text ()
"Set a non-image mode as major mode in combination with image minor mode.
@@ -777,7 +778,7 @@
(substitute-command-keys
"Type \\[image-toggle-display] or \\[image-toggle-hex-display] to view the image as ")
(if (image-get-display-property)
- "text" "an image or hex") ".")))
+ "text" "an image or hex"))))
(defun image-toggle-display-text ()
"Show the image file as text.
@@ -1161,14 +1162,14 @@
(when (buffer-live-p archive-superior-buffer)
(push (cons 'archive archive-superior-buffer) buffers)))
(t
- ;; Find a dired buffer.
+ ;; Find a Dired buffer.
(dolist (buffer (buffer-list))
(with-current-buffer buffer
(when (and (derived-mode-p 'dired-mode)
(equal (file-truename dir)
(file-truename default-directory)))
(push (cons 'dired (current-buffer)) buffers))))
- ;; If we can't find any buffers to navigate in, we open a dired
+ ;; If we can't find any buffers to navigate in, we open a Dired
;; buffer.
(unless buffers
(push (cons 'dired (find-file-noselect dir)) buffers)
@@ -1180,14 +1181,14 @@
(defun image-mode--next-file (file n)
"Go to the next image file in the parent buffer of FILE.
-This is typically a dired buffer, but may also be a tar/archive buffer.
+This is typically a Dired buffer, but may also be a tar/archive buffer.
Return the next image file from that buffer.
If N is negative, go to the previous file."
(let ((regexp (image-file-name-regexp))
(buffers (image-mode--directory-buffers file))
next)
(dolist (buffer buffers)
- ;; We do this traversal for all the dired buffers open on this
+ ;; We do this traversal for all the Dired buffers open on this
;; directory. There probably is just one, but we want to move
;; point in all of them.
(save-window-excursion
@@ -1236,8 +1237,8 @@
(message "Copied %s" buffer-file-name))
(defun image-mode-mark-file ()
- "Mark the current file in the appropriate dired buffer(s).
-Any dired buffer that's opened to the current file's directory
+ "Mark the current file in the appropriate Dired buffer(s).
+Any Dired buffer that's opened to the current file's directory
will have the line where the image appears (if any) marked.
If no such buffer exists, it will be opened."
@@ -1247,8 +1248,8 @@
(image-mode--mark-file buffer-file-name #'dired-mark "marked"))
(defun image-mode-unmark-file ()
- "Unmark the current file in the appropriate dired buffer(s).
-Any dired buffer that's opened to the current file's directory
+ "Unmark the current file in the appropriate Dired buffer(s).
+Any Dired buffer that's opened to the current file's directory
will remove the mark from the line where the image appears (if
any).
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/image/image-converter.el
^
|
@@ -227,19 +227,21 @@
(cadr (split-string (symbol-name image-format) "/"))))
(defun image-converter--convert-magick (type source image-format)
- (let ((command (image-converter--value type :command)))
+ (let ((command (image-converter--value type :command))
+ (coding-system-for-read 'no-conversion))
(unless (zerop (if image-format
;; We have the image data in SOURCE.
(progn
(insert source)
- (apply #'call-process-region (point-min) (point-max)
- (car command) t t nil
- (append
- (cdr command)
- (list (format "%s:-"
- (image-converter--mime-type
- image-format))
- "png:-"))))
+ (let ((coding-system-for-write 'no-conversion))
+ (apply #'call-process-region (point-min) (point-max)
+ (car command) t t nil
+ (append
+ (cdr command)
+ (list (format "%s:-"
+ (image-converter--mime-type
+ image-format))
+ "png:-")))))
;; SOURCE is a file name.
(apply #'call-process (car command)
nil t nil
@@ -252,18 +254,20 @@
(cl-defmethod image-converter--convert ((type (eql 'ffmpeg)) source
image-format)
"Convert using ffmpeg."
- (let ((command (image-converter--value type :command)))
+ (let ((command (image-converter--value type :command))
+ (coding-system-for-read 'no-conversion))
(unless (zerop (if image-format
(progn
(insert source)
- (apply #'call-process-region
- (point-min) (point-max) (car command)
- t '(t nil) nil
- (append
- (cdr command)
- (list "-i" "-"
- "-c:v" "png"
- "-f" "image2pipe" "-"))))
+ (let ((coding-system-for-write 'no-conversion))
+ (apply #'call-process-region
+ (point-min) (point-max) (car command)
+ t '(t nil) nil
+ (append
+ (cdr command)
+ (list "-i" "-"
+ "-c:v" "png"
+ "-f" "image2pipe" "-")))))
(apply #'call-process
(car command)
nil '(t nil) nil
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/info.el
^
|
@@ -4446,9 +4446,12 @@
(setq buffer-read-only t)
(setq Info-tag-table-marker (make-marker))
(unless (or (display-multi-font-p)
- (coding-system-equal
- (coding-system-base (terminal-coding-system))
- 'utf-8))
+ (and (coding-system-equal
+ (coding-system-base (terminal-coding-system))
+ 'utf-8)
+ ;; The Linux console has limited character
+ ;; repertoire even when its encoding is UTF-8.
+ (not (equal (tty-type) "linux"))))
(dolist (elt info-symbols-and-replacements)
(let ((ch (car elt))
(repl (cdr elt)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/international/characters.el
^
|
@@ -1599,7 +1599,8 @@
presentation).
`no-font': characters for which no suitable font is found.
For character terminals, characters that cannot
- be encoded by `terminal-coding-system'.
+ be encoded by `terminal-coding-system' or those
+ for which the terminal has no glyphs.
METHOD must be one of these symbols:
`zero-width': don't display.
@@ -1613,7 +1614,10 @@
Do not set its value directly from Lisp; the value takes effect
only via a custom `:set'
function (`update-glyphless-char-display'), which updates
-`glyphless-char-display'."
+`glyphless-char-display'.
+
+See also the `glyphless-char' face, which is used to display the
+visual representation of these characters."
:version "28.1"
:type '(alist :key-type (symbol :tag "Character Group")
:value-type (symbol :tag "Display Method"))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/international/latin1-disp.el
^
|
@@ -87,7 +87,7 @@
charsets if you don't have a Unicode font with which to display them.
Setting this variable directly does not take effect;
-use either \\[customize] or the function `latin1-display'."
+use either \\[customize] or the command `latin1-display'."
:group 'latin1-display
:type 'boolean
:require 'latin1-disp
@@ -745,7 +745,7 @@
changed if the display can render Unicode characters.
Setting this variable directly does not take effect;
-use either \\[customize] or the function `latin1-display'."
+use either \\[customize] or the command `latin1-display-ucs-per-lynx'."
:group 'latin1-display
:type 'boolean
:require 'latin1-disp
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/isearch.el
^
|
@@ -2324,7 +2324,12 @@
is possible only when `isearch-allow-scroll' is non-nil or
`isearch-allow-prefix' is non-nil, and it doesn't always provide the
correct matches for `query-replace', so the preferred way to run word
-replacements from Isearch is `M-s w ... M-%'."
+replacements from Isearch is `M-s w ... M-%'.
+
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time."
(interactive
(list current-prefix-arg))
(barf-if-buffer-read-only)
@@ -2378,7 +2383,12 @@
(defun isearch-query-replace-regexp (&optional arg)
"Start `query-replace-regexp' with string to replace from last search string.
-See `isearch-query-replace' for more information."
+See `isearch-query-replace' for more information.
+
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time."
(interactive
(list current-prefix-arg))
(isearch-query-replace arg t))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/jit-lock.el
^
|
@@ -45,9 +45,12 @@
:group 'font-lock)
(defcustom jit-lock-chunk-size 1500
- "Jit-lock fontifies chunks of at most this many characters at a time.
+ "Jit-lock asks to fontify chunks of at most this many characters at a time.
-This variable controls both `display-time' and stealth fontification.
+The actual size of the fontified chunk of text can be different,
+depending on what the `fontification-functions' actually decide to do.
+
+This variable controls both display-time and stealth fontifications.
The optimum value is a little over the typical number of buffer
characters which fit in a typical window."
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/kmacro.el
^
|
@@ -172,7 +172,7 @@
(define-key map "\C-k" #'kmacro-end-or-call-macro-repeat)
(define-key map "r" #'apply-macro-to-region-lines)
(define-key map "q" #'kbd-macro-query) ;; Like C-x q
- (define-key map "d" #'kdb-macro-redisplay)
+ (define-key map "d" #'kmacro-redisplay)
;; macro ring
(define-key map "\C-n" #'kmacro-cycle-ring-next)
@@ -1344,12 +1344,12 @@
(kmacro-push-ring)
(setq last-kbd-macro kmacro-step-edit-new-macro))))
-(defun kdb-macro-redisplay ()
- "Force redisplay during kbd macro execution."
+(defun kmacro-redisplay ()
+ "Force redisplay during keyboard macro execution."
(interactive)
(or executing-kbd-macro
defining-kbd-macro
- (user-error "Not defining or executing kbd macro"))
+ (user-error "Not defining or executing keyboard macro"))
(when executing-kbd-macro
(let ((executing-kbd-macro nil))
(redisplay))))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/language/european.el
^
|
@@ -390,7 +390,7 @@
(define-coding-system-alias 'cp284 'ibm284)
(define-coding-system 'ibm285
- "UK english version of EBCDIC"
+ "UK English version of EBCDIC"
:coding-type 'charset
:charset-list '(ibm285)
:mnemonic ?*)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/ldefs-boot.el
^
|
@@ -1452,25 +1452,25 @@
This is a brief overview of the different variables. For more info,
see the documentation for the variables (type \\[describe-variable] <variable> RET).
- artist-rubber-banding Interactively do rubber-banding or not
- artist-first-char What to set at first/second point...
- artist-second-char ...when not rubber-banding
- artist-interface-with-rect If cut/copy/paste should interface with rect
- artist-arrows The arrows to use when drawing arrows
- artist-aspect-ratio Character height-to-width for squares
- artist-trim-line-endings Trimming of line endings
- artist-flood-fill-right-border Right border when flood-filling
- artist-flood-fill-show-incrementally Update display while filling
- artist-pointer-shape Pointer shape to use while drawing
- artist-ellipse-left-char Character to use for narrow ellipses
- artist-ellipse-right-char Character to use for narrow ellipses
- artist-borderless-shapes If shapes should have borders
- artist-picture-compatibility Whether or not to be picture mode compatible
- artist-vaporize-fuzziness Tolerance when recognizing lines
- artist-spray-interval Seconds between repeated sprayings
- artist-spray-radius Size of the spray-area
- artist-spray-chars The spray-\"color\"
- artist-spray-new-chars Initial spray-\"color\"
+ `artist-rubber-banding' Interactively do rubber-banding or not
+ `artist-first-char' What to set at first/second point...
+ `artist-second-char' ...when not rubber-banding
+ `artist-interface-with-rect' Should cut/copy/paste interface with rect
+ `artist-arrows' The arrows to use when drawing arrows
+ `artist-aspect-ratio' Character height-to-width for squares
+ `artist-trim-line-endings' Trimming of line endings
+ `artist-flood-fill-right-border' Right border when flood-filling
+ `artist-flood-fill-show-incrementally' Update display while filling
+ `artist-pointer-shape' Pointer shape to use while drawing
+ `artist-ellipse-left-char' Character to use for narrow ellipses
+ `artist-ellipse-right-char' Character to use for narrow ellipses
+ `artist-borderless-shapes' If shapes should have borders
+ `artist-picture-compatibility' Picture mode compatibility on or off
+ `artist-vaporize-fuzziness' Tolerance when recognizing lines
+ `artist-spray-interval' Seconds between repeated sprayings
+ `artist-spray-radius' Size of the spray-area
+ `artist-spray-chars' The spray-\"color\"
+ `artist-spray-new-char' Initial spray-\"color\"
Hooks
@@ -4890,11 +4890,11 @@
Examine commands from variable `command-history' in a buffer.
The number of commands listed is controlled by `list-command-history-max'.
The command history is filtered by `list-command-history-filter' if non-nil.
-Use \\<command-history-map>\\[command-history-repeat] to repeat the command on the current line.
+Use \\<command-history-mode-map>\\[command-history-repeat] to repeat the command on the current line.
Otherwise much like Emacs-Lisp Mode except that there is no self-insertion
and digits provide prefix arguments. Tab does not indent.
-\\{command-history-map}
+\\{command-history-mode-map}
This command always recompiles the Command History listing
and runs the normal hook `command-history-hook'." t nil)
@@ -5284,6 +5284,10 @@
COLOR should be a color name (e.g. \"white\") or an RGB triplet
string (e.g. \"#ffff1122eecc\").
+COLOR can also be the symbol `unspecified' or one of the strings
+\"unspecified-fg\" or \"unspecified-bg\", in which case the
+return value is nil.
+
Normally the return value is a list of three floating-point
numbers, (RED GREEN BLUE), each between 0.0 and 1.0 inclusive.
@@ -8059,8 +8063,11 @@
(autoload 'dired "dired" "\
\"Edit\" directory DIRNAME--delete, rename, print, etc. some files in it.
-Optional second argument SWITCHES specifies the `ls' options used.
-\(Interactively, use a prefix argument to be able to specify SWITCHES.)
+Optional second argument SWITCHES specifies the options to be used
+when invoking `insert-directory-program', usually `ls', which produces
+the listing of the directory files and their attributes.
+Interactively, a prefix argument will cause the command to prompt
+for SWITCHES.
If DIRNAME is a string, Dired displays a list of files in DIRNAME (which
may also have shell wildcards appended to select certain files).
@@ -8562,7 +8569,7 @@
(autoload 'dns-mode "dns-mode" "\
Major mode for viewing and editing DNS master files.
-This mode is inherited from text mode. It add syntax
+This mode is derived from text mode. It adds syntax
highlighting, and some commands for handling DNS master files.
Its keymap inherits from `text-mode' and it has the same
variables for customizing indentation. It has its own abbrev
@@ -9261,6 +9268,11 @@
Query replace FROM with TO in all files of a class tree.
With prefix arg, process files of marked classes only.
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
+
\(fn FROM TO)" t nil)
(autoload 'ebrowse-tags-search-member-use "ebrowse" "\
@@ -11524,7 +11536,13 @@
Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
If you exit (\\[keyboard-quit], RET or q), you can resume the query replace
with the command \\[fileloop-continue].
-For non-interactive use, superseded by `fileloop-initialize-replace'.
+
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
+
+For non-interactive use, this is superseded by `fileloop-initialize-replace'.
\(fn FROM TO &optional DELIMITED FILES)" t nil)
@@ -12815,6 +12833,11 @@
Collect output in the \"*Find*\" buffer. To kill the job before
it finishes, type \\[kill-find].
+For more information on how to write valid find expressions for
+ARGS, see Info node `(find) Finding Files'. If you are not
+using GNU findutils (on macOS and *BSD systems), see instead the
+man page for \"find\".
+
\(fn DIR ARGS)" t nil)
(autoload 'find-name-dired "find-dired" "\
@@ -19978,7 +20001,7 @@
\(fn MAC &optional COUNTER FORMAT)" nil nil)
-(register-definition-prefixes "kmacro" '("kdb-macro-redisplay" "kmacro-"))
+(register-definition-prefixes "kmacro" '("kmacro-"))
;;;***

@@ -20086,7 +20109,7 @@
charsets if you don't have a Unicode font with which to display them.
Setting this variable directly does not take effect;
-use either \\[customize] or the function `latin1-display'.")
+use either \\[customize] or the command `latin1-display'.")
(custom-autoload 'latin1-display "latin1-disp" nil)
@@ -20105,7 +20128,7 @@
changed if the display can render Unicode characters.
Setting this variable directly does not take effect;
-use either \\[customize] or the function `latin1-display'.")
+use either \\[customize] or the command `latin1-display-ucs-per-lynx'.")
(custom-autoload 'latin1-display-ucs-per-lynx "latin1-disp" nil)
@@ -22099,7 +22122,7 @@
;;;### (autoloads nil "mm-encode" "gnus/mm-encode.el" (0 0 0 0))
;;; Generated autoloads from gnus/mm-encode.el
-(define-obsolete-function-alias 'mm-default-file-encoding #'mm-default-file-type "future")
+(define-obsolete-function-alias 'mm-default-file-encoding #'mm-default-file-type "28.1")
(autoload 'mm-default-file-type "mm-encode" "\
Return a default content type for FILE.
@@ -24057,7 +24080,7 @@

;;;### (autoloads nil "org" "org/org.el" (0 0 0 0))
;;; Generated autoloads from org/org.el
-(push (purecopy '(org 9 5 2)) package--builtin-versions)
+(push (purecopy '(org 9 5 5)) package--builtin-versions)
(autoload 'org-babel-do-load-languages "org" "\
Load the languages defined in `org-babel-load-languages'.
@@ -24421,7 +24444,7 @@
\(fn &optional TODO-ONLY STRING EDIT-AT)" t nil)
(autoload 'org-todo-list "org-agenda" "\
-Show all (not done) TODO entries from all agenda file in a single list.
+Show all (not done) TODO entries from all agenda files in a single list.
The prefix arg can be used to select a specific TODO keyword and limit
the list to these. When using `\\[universal-argument]', you will be prompted
for a keyword. A numeric prefix directly selects the Nth keyword in
@@ -24482,7 +24505,7 @@
When in a restricted subtree, remove it.
The restriction will span over the entire file if TYPE is `file',
-or if type is '(4), or if the cursor is before the first headline
+or if type is \\='(4), or if the cursor is before the first headline
in the file. Otherwise, only apply the restriction to the current
subtree.
@@ -26628,6 +26651,10 @@
(autoload 'project-query-replace-regexp "project" "\
Query-replace REGEXP in all the files of the project.
Stops when a match is found and prompts for whether to replace it.
+At that prompt, the user must type a character saying what to do
+with the match. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
If you exit the `query-replace', you can later continue the
`query-replace' loop using the command \\[fileloop-continue].
@@ -31072,7 +31099,7 @@
Use \\[so-long-commentary] for more information.
Use \\[so-long-customize] to open the customization group `so-long' to
-configure the behaviour.
+configure the behavior.
\(fn)" t nil)
@@ -31138,7 +31165,7 @@
Use \\[so-long-commentary] for more information.
Use \\[so-long-customize] to open the customization group `so-long' to
-configure the behaviour.
+configure the behavior.
\(fn &optional ARG)" t nil)
@@ -34908,7 +34935,7 @@
Load Tramp file name handler, and perform OPERATION." (tramp-unload-file-name-handlers) (when tramp-mode (let ((default-directory temporary-file-directory)) (when (bound-and-true-p tramp-archive-autoload) (load "tramp-archive" 'noerror 'nomessage)) (load "tramp" 'noerror 'nomessage))) (apply operation args))
(defun tramp-register-autoload-file-name-handlers nil "\
-Add Tramp file name handlers to `file-name-handler-alist' during autoload." (add-to-list 'file-name-handler-alist (cons tramp-autoload-file-name-regexp #'tramp-autoload-file-name-handler)) (put #'tramp-autoload-file-name-handler 'safe-magic t))
+Add Tramp file name handlers to `file-name-handler-alist' during autoload." (unless (rassq #'tramp-file-name-handler file-name-handler-alist) (add-to-list 'file-name-handler-alist (cons tramp-autoload-file-name-regexp #'tramp-autoload-file-name-handler)) (put #'tramp-autoload-file-name-handler 'safe-magic t)))
(tramp-register-autoload-file-name-handlers)
(defun tramp-unload-file-name-handlers nil "\
@@ -34947,10 +34974,10 @@
Regular expression matching archive file names." '(concat "\\`" "\\(" ".+" "\\." (regexp-opt tramp-archive-suffixes) "\\(?:" "\\." (regexp-opt tramp-archive-compression-suffixes) "\\)*" "\\)" "\\(" "/" ".*" "\\)" "\\'"))
(defun tramp-archive-autoload-file-name-handler (operation &rest args) "\
-Load Tramp archive file name handler, and perform OPERATION." (defvar tramp-archive-autoload) (when tramp-archive-enabled (let ((default-directory temporary-file-directory) (tramp-archive-autoload t)) (apply #'tramp-autoload-file-name-handler operation args))))
+Load Tramp archive file name handler, and perform OPERATION." (defvar tramp-archive-autoload) (let ((default-directory temporary-file-directory) (tramp-archive-autoload tramp-archive-enabled)) (apply #'tramp-autoload-file-name-handler operation args)))
(defun tramp-register-archive-file-name-handler nil "\
-Add archive file name handler to `file-name-handler-alist'." (when tramp-archive-enabled (add-to-list 'file-name-handler-alist (cons (tramp-archive-autoload-file-name-regexp) #'tramp-archive-autoload-file-name-handler)) (put #'tramp-archive-autoload-file-name-handler 'safe-magic t)))
+Add archive file name handler to `file-name-handler-alist'." (when (and tramp-archive-enabled (not (rassq #'tramp-archive-file-name-handler file-name-handler-alist))) (add-to-list 'file-name-handler-alist (cons (tramp-archive-autoload-file-name-regexp) #'tramp-archive-autoload-file-name-handler)) (put #'tramp-archive-autoload-file-name-handler 'safe-magic t)))
(add-hook 'after-init-hook #'tramp-register-archive-file-name-handler)
@@ -35064,7 +35091,7 @@

;;;### (autoloads nil "trampver" "net/trampver.el" (0 0 0 0))
;;; Generated autoloads from net/trampver.el
-(push (purecopy '(tramp 2 5 2 28 1)) package--builtin-versions)
+(push (purecopy '(tramp 2 5 3 28 2)) package--builtin-versions)
(register-definition-prefixes "trampver" '("tramp-"))
@@ -38103,7 +38130,7 @@

;;;### (autoloads nil "viper" "emulation/viper.el" (0 0 0 0))
;;; Generated autoloads from emulation/viper.el
-(push (purecopy '(viper 3 14 1)) package--builtin-versions)
+(push (purecopy '(viper 3 14 2)) package--builtin-versions)
(autoload 'toggle-viper-mode "viper" "\
Toggle Viper on/off.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/leim/quail/persian.el
^
|
@@ -23,7 +23,7 @@
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
-;;
+
;; This file contains a collection of input methods for
;; Persian languages (Farsi, Urdu, Pashto/Afghanic, ...)
;;
@@ -402,7 +402,7 @@
;;;;;;;;;;; isiri-6219 Table 6 -- جدول ۶ - حروِفِ عربی
("F" ?إ)
- ("D" ?\u0671) ;; (ucs-insert #x0671)ٱ named: حرفِ الفِ وصل
+ ("D" ?\u0671) ;; (insert-char #x0671)ٱ named: حرفِ الفِ وصل
("K" ?ك) ;; Arabic kaf
("Th" ?ة) ;; ta marbuteh
("Y" ?ي)
@@ -421,40 +421,40 @@
("8" ?۸)
("9" ?۹)
- ("\\/" ?\u066B) ;; (ucs-insert #x066B)٫ named: ممیزِ فارسی
- ("\\," ?\u066C) ;; (ucs-insert #x066C)٬ named: جداکنندهی هزارهای فارسی
- ("%" ?\u066A) ;; (ucs-insert #x066A)٪ named: درصدِ فارسی
- ("+" ?\u002B) ;; (ucs-insert #x002B)+ named: علامتِ بهاضافه
- ("-" ?\u2212) ;; (ucs-insert #x2212)− named: علامتِ منها
- ("\\*" ?\u00D7) ;; (ucs-insert #x00D7)× named: علامتِ ضرب
- ("\\-" ?\u00F7) ;; (ucs-insert #x00F7)÷ named: علامتِ تقسیم
- ("<" ?\u003C) ;; (ucs-insert #x003C)< named: علامتِ کوچکتر
- ("=" ?\u003D) ;; (ucs-insert #x003D)= named: علامتِ مساوی
- (">" ?\u003E) ;; (ucs-insert #x003E)> named: علامتِ بزرگتر
+ ("\\/" ?\u066B) ;; (insert-char #x066B)٫ named: ممیزِ فارسی
+ ("\\," ?\u066C) ;; (insert-char #x066C)٬ named: جداکنندهی هزارهای فارسی
+ ("%" ?\u066A) ;; (insert-char #x066A)٪ named: درصدِ فارسی
+ ("+" ?\u002B) ;; (insert-char #x002B)+ named: علامتِ بهاضافه
+ ("-" ?\u2212) ;; (insert-char #x2212)− named: علامتِ منها
+ ("\\*" ?\u00D7) ;; (insert-char #x00D7)× named: علامتِ ضرب
+ ("\\-" ?\u00F7) ;; (insert-char #x00F7)÷ named: علامتِ تقسیم
+ ("<" ?\u003C) ;; (insert-char #x003C)< named: علامتِ کوچکتر
+ ("=" ?\u003D) ;; (insert-char #x003D)= named: علامتِ مساوی
+ (">" ?\u003E) ;; (insert-char #x003E)> named: علامتِ بزرگتر
;;;;;;;;;;; isiri-6219 Table 2 -- جدول ۲ - علائم نقطه گذاریِ مشترک
;;; Space
("." ?.) ;;
- (":" ?\u003A) ;; (ucs-insert #x003A): named:
- ("!" ?\u0021) ;; (ucs-insert #x0021)! named:
- ("\\." ?\u2026) ;; (ucs-insert #x2026)… named:
- ("\\-" ?\u2010) ;; (ucs-insert #x2010)‐ named:
- ("-" ?\u002D) ;; (ucs-insert #x002D)- named:
+ (":" ?\u003A) ;; (insert-char #x003A): named:
+ ("!" ?\u0021) ;; (insert-char #x0021)! named:
+ ("\\." ?\u2026) ;; (insert-char #x2026)… named:
+ ("\\-" ?\u2010) ;; (insert-char #x2010)‐ named:
+ ("-" ?\u002D) ;; (insert-char #x002D)- named:
("|" ?|)
;;("\\\\" ?\)
("//" ?/)
- ("*" ?\u002A) ;; (ucs-insert #x002A)* named:
- ("(" ?\u0028) ;; (ucs-insert #x0028)( named:
- (")" ?\u0029) ;; (ucs-insert #x0029)) named:
- ("[" ?\u005B) ;; (ucs-insert #x005B)[ named:
- ("[" ?\u005D) ;; (ucs-insert #x005D)] named:
- ("{" ?\u007B) ;; (ucs-insert #x007B){ named:
- ("}" ?\u007D) ;; (ucs-insert #x007D)} named:
- ("\\<" ?\u00AB) ;; (ucs-insert #x00AB)« named:
- ("\\>" ?\u00BB) ;; (ucs-insert #x00BB)» named:
- ("N" ?\u00AB) ;; (ucs-insert #x00AB)« named:
- ("M" ?\u00BB) ;; (ucs-insert #x00BB)» named:
+ ("*" ?\u002A) ;; (insert-char #x002A)* named:
+ ("(" ?\u0028) ;; (insert-char #x0028)( named:
+ (")" ?\u0029) ;; (insert-char #x0029)) named:
+ ("[" ?\u005B) ;; (insert-char #x005B)[ named:
+ ("[" ?\u005D) ;; (insert-char #x005D)] named:
+ ("{" ?\u007B) ;; (insert-char #x007B){ named:
+ ("}" ?\u007D) ;; (insert-char #x007D)} named:
+ ("\\<" ?\u00AB) ;; (insert-char #x00AB)« named:
+ ("\\>" ?\u00BB) ;; (insert-char #x00BB)» named:
+ ("N" ?\u00AB) ;; (insert-char #x00AB)« named:
+ ("M" ?\u00BB) ;; (insert-char #x00BB)» named:
;;;;;;;;;;; isiri-6219 Table 3 -- جدول ۳ - علائم نقطه گذاریِ فارسی
("," ?،) ;; farsi
@@ -466,20 +466,20 @@
;;;;;;;;;;; isiri-6219 Table 1 -- جدول ۱ - نویسههای کنترلی
;; LF
;; CR
- ("‌" ?\u200C) ;; (ucs-insert #x200C) named: فاصلهی مجازی
+ ("‌" ?\u200C) ;; (insert-char #x200C) named: فاصلهی مجازی
("/" ?\u200C) ;;
- ("‍" ?\u200D) ;; (ucs-insert #x200D) named: اتصالِ مجازی
+ ("‍" ?\u200D) ;; (insert-char #x200D) named: اتصالِ مجازی
("J" ?\u200D) ;;
- ("‎" ?\u200E) ;; (ucs-insert #x200E) named: نشانهی چپبهراست
- ("‏" ?\u200F) ;; (ucs-insert #x200F) named: نشانهی راستبهچپ
- ("&ls;" ?\u2028) ;; (ucs-insert #x2028)
named: جداکنندهی سطرها
- ("&ps;" ?\u2028) ;; (ucs-insert #x2029)
named: جداکنندهی بندها
- ("&lre;" ?\u202A) ;; (ucs-insert #x202A) named: زیرمتنِ چپبهراست
- ("&rle;" ?\u202B) ;; (ucs-insert #x202B) named: زیرمتنِ راستبهچپ
- ("&pdf;" ?\u202C) ;; (ucs-insert #x202C) named: پایانِ زیرمتن
- ("&lro;" ?\u202D) ;; (ucs-insert #x202D) named: زیرمتنِ اکیداً چپبهراست
- ("&rlo;" ?\u202D) ;; (ucs-insert #x202E) named: زیرمتنِ اکیداً راستبهچپ
- ("&bom;" ?\uFEFF) ;; (ucs-insert #xFEFF) named: نشانهی ترتیبِ بایتها
+ ("‎" ?\u200E) ;; (insert-char #x200E) named: نشانهی چپبهراست
+ ("‏" ?\u200F) ;; (insert-char #x200F) named: نشانهی راستبهچپ
+ ("&ls;" ?\u2028) ;; (insert-char #x2028)
named: جداکنندهی سطرها
+ ("&ps;" ?\u2028) ;; (insert-char #x2029)
named: جداکنندهی بندها
+ ("&lre;" ?\u202A) ;; (insert-char #x202A) named: زیرمتنِ چپبهراست
+ ("&rle;" ?\u202B) ;; (insert-char #x202B) named: زیرمتنِ راستبهچپ
+ ("&pdf;" ?\u202C) ;; (insert-char #x202C) named: پایانِ زیرمتن
+ ("&lro;" ?\u202D) ;; (insert-char #x202D) named: زیرمتنِ اکیداً چپبهراست
+ ("&rlo;" ?\u202D) ;; (insert-char #x202E) named: زیرمتنِ اکیداً راستبهچپ
+ ("&bom;" ?\uFEFF) ;; (insert-char #xFEFF) named: نشانهی ترتیبِ بایتها
;;;;;;;;;;; isiri-6219 Table 7 -- جدول ۷ - نشانههایِ فارسی
@@ -491,14 +491,14 @@
("O" ?ٌ) ;; دو پيش فارسى -- تنوين رفع
("~" ?ّ) ;; tashdid ;; تشديد فارسى
("@" ?ْ) ;; ساکن فارسى
- ("U" ?\u0653) ;; (ucs-insert #x0653)ٓ named: مدِ فارسی
+ ("U" ?\u0653) ;; (insert-char #x0653)ٓ named: مدِ فارسی
("`" ?ٔ) ;; همزه فارسى بالا
- ("C" ?\u0655) ;; (ucs-insert #x0655)ٕ named: همزه فارسى پایین
- ("$" ?\u0670) ;; (ucs-insert #x0670)ٰ named: الفِ مقصورهی فارسی
+ ("C" ?\u0655) ;; (insert-char #x0655)ٕ named: همزه فارسى پایین
+ ("$" ?\u0670) ;; (insert-char #x0670)ٰ named: الفِ مقصورهی فارسی
;;;;;;;;;;; isiri-6219 Table 8 - Forbidden Characters -- جدول ۸ - نویسههایِ ممنوع
-;; ;; he ye (ucs-insert 1728) (ucs-insert #x06c0) kills emacs-24.0.90
+;; ;; he ye (insert-char 1728) (insert-char #x06c0) kills emacs-24.0.90
;; arabic digits 0-9
@@ -508,7 +508,7 @@
("\\~" ?~)
("\\@" ?@)
("\\#" ?#)
- ("\\$" ?\uFDFC) ;; (ucs-insert #xFDFC)﷼ named:
+ ("\\$" ?\uFDFC) ;; (insert-char #xFDFC)﷼ named:
("\\^" ?^)
("\\1" ?1)
("\\2" ?2)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/mail/smtpmail.el
^
|
@@ -578,7 +578,7 @@
(setq password (funcall password)))
(let ((result (catch 'done
(if (and mech user password)
- (smtpmail-try-auth-method process mech user password)
+ (smtpmail-try-auth-method process (intern-soft mech) user password)
;; No mechanism, or no credentials.
mech))))
(if (stringp result)
@@ -805,7 +805,11 @@
(plist-get (cdr result) :capabilities)
"\r\n")))
(let ((name
- (with-case-table ascii-case-table ;FIXME: Why?
+ ;; Use ASCII case-table to prevent I
+ ;; downcasing to a dotless i under some
+ ;; language environments. See
+ ;; https://lists.gnu.org/archive/html/emacs-devel/2007-03/msg01760.html.
+ (with-case-table ascii-case-table
(mapcar (lambda (s) (intern (downcase s)))
(split-string (substring line 4) "[ ]")))))
(when (= (length name) 1)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/mh-e/mh-funcs.el
^
|
@@ -95,9 +95,9 @@
Remove all of the messages (files) within the current folder, and
then remove the folder (directory) itself.
-Run the abnormal hook `mh-kill-folder-suppress-prompt-hooks'. The
-hook functions are called with no arguments and should return a
-non-nil value to suppress the normal prompt when you remove a
+Run the abnormal hook `mh-kill-folder-suppress-prompt-functions'.
+The hook functions are called with no arguments and should return
+a non-nil value to suppress the normal prompt when you remove a
folder. This is useful for folders that are easily regenerated."
(interactive)
(if (or (run-hook-with-args-until-success
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/minibuffer.el
^
|
@@ -985,7 +985,11 @@
The available styles are listed in `completion-styles-alist'.
Note that `completion-category-overrides' may override these
-styles for specific categories, such as files, buffers, etc."
+styles for specific categories, such as files, buffers, etc.
+
+Note that Tramp host name completion (e.g., \"/ssh:ho<TAB>\")
+currently doesn't work if this list doesn't contain at least one
+of `basic', `emacs22' or `emacs21'."
:type completion--styles-type
:version "23.1")
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/mouse.el
^
|
@@ -3049,7 +3049,7 @@
;; Show a tooltip.
(if mouse-drag-and-drop-region-show-tooltip
- (tooltip-show text-tooltip)
+ (tooltip-show (copy-sequence text-tooltip))
(tooltip-hide))
;; Show cursor and highlight the original region.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/dictionary.el
^
|
@@ -119,7 +119,7 @@
"exact"
"The default strategy for listing matching words within a popup window.
-The following algorithm (defined by the dictd server) are supported
+The following algorithms (defined by the dictd server) are supported
by the choice value:
- Exact match
@@ -130,7 +130,7 @@
The found word sounds similar to the searched word. For this match type
the soundex algorithm defined by Donald E. Knuth is used. It will only
- works with english words and the algorithm is not very reliable (i.e.,
+ work with English words and the algorithm is not very reliable (i.e.,
the soundex algorithm is quite simple).
- Levenshtein distance one
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/net-utils.el
^
|
@@ -23,11 +23,10 @@
;;; Commentary:
-;;
;; There are three main areas of functionality:
;;
;; * Wrap common network utility programs (ping, traceroute, netstat,
-;; nslookup, arp, route). Note that these wrappers are of the diagnostic
+;; nslookup, arp, route). Note that these wrappers are of the diagnostic
;; functions of these programs only.
;;
;; * Implement some very basic protocols in Emacs Lisp (finger and whois)
@@ -39,7 +38,7 @@
;;; Code:
;; On some systems, programs like ifconfig are not in normal user
-;; path, but rather in /sbin, /usr/sbin, etc (but non-root users can
+;; path, but rather in /sbin, /usr/sbin, etc. (but non-root users can
;; still use them for queries). Actually the trend these
;; days is for /sbin to be a symlink to /usr/sbin, but we still need to
;; search both for older systems.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/rcirc.el
^
|
@@ -3437,7 +3437,7 @@
configure a specific option or \"-PARAMETER\" to disable a
previously specified feature. SENDER is passed on to
`rcirc-handler-generic'. PROCESS is the process object for the
-current connection. Note that this is not the behaviour as
+current connection. Note that this is not the behavior as
specified in RFC2812, where 005 stood for RPL_BOUNCE."
(rcirc-handler-generic process "005" sender args text)
(with-rcirc-process-buffer process
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/shr.el
^
|
@@ -820,7 +820,7 @@
(let* ((props (copy-sequence (text-properties-at (point))))
(face (plist-get props 'face)))
;; We don't want to use the faces on the indentation, because
- ;; that's ugly, but we do want to use the background colour.
+ ;; that's ugly, but we do want to use the background color.
(when face
(setq props (plist-put props 'face (shr-face-background face))))
(add-text-properties gap-start (point) props))))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-adb.el
^
|
@@ -815,10 +815,10 @@
;; Determine input.
(if (null infile)
(setq input (tramp-get-remote-null-device v))
- (setq infile (expand-file-name infile))
+ (setq infile (tramp-compat-file-name-unquote (expand-file-name infile)))
(if (tramp-equal-remote default-directory infile)
;; INFILE is on the same remote host.
- (setq input (tramp-file-local-name infile))
+ (setq input (tramp-unquote-file-local-name infile))
;; INFILE must be copied to remote host.
(setq input (tramp-make-tramp-temp-file v)
tmpinput (tramp-make-tramp-file-name v input))
@@ -849,7 +849,7 @@
(setcar (cdr destination) (expand-file-name (cadr destination)))
(if (tramp-equal-remote default-directory (cadr destination))
;; stderr is on the same remote host.
- (setq stderr (tramp-file-local-name (cadr destination)))
+ (setq stderr (tramp-unquote-file-local-name (cadr destination)))
;; stderr must be copied to remote host. The temporary
;; file must be deleted after execution.
(setq stderr (tramp-make-tramp-temp-file v)
@@ -870,7 +870,8 @@
(setq ret (tramp-adb-send-command-and-check
v (format
"(cd %s; %s)"
- (tramp-shell-quote-argument localname) command)
+ (tramp-unquote-shell-quote-argument localname)
+ command)
t))
(unless (natnump ret) (setq ret 1))
;; We should add the output anyway.
@@ -900,8 +901,7 @@
;; Cleanup. We remove all file cache values for the connection,
;; because the remote process could have changed them.
(when tmpinput (delete-file tmpinput))
-
- (unless process-file-side-effects
+ (when process-file-side-effects
(tramp-flush-directory-properties v ""))
;; Return exit status.
@@ -986,6 +986,10 @@
(name1 name)
(i 0))
+ (when (string-match-p "[[:multibyte:]]" command)
+ (tramp-error
+ v 'file-error "Cannot apply multi-byte command `%s'" command))
+
(while (get-process name1)
;; NAME must be unique as process name.
(setq i (1+ i)
@@ -1108,9 +1112,9 @@
tramp-prefix-port-format ":"
(cond ((member host devices) host)
;; This is the case when the host is connected to the default port.
- ((member (format "%s%s%d" host tramp-prefix-port-format port)
+ ((member (format "%s%s%s" host tramp-prefix-port-format port)
devices)
- (format "%s:%d" host port))
+ (format "%s:%s" host port))
;; An empty host name shall be mapped as well, when there
;; is exactly one entry in `devices'.
((and (zerop (length host)) (= (length devices) 1))
@@ -1264,7 +1268,7 @@
(if (zerop (length device))
(tramp-error vec 'file-error "Device %s not connected" host))
(with-tramp-progress-reporter vec 3 "Opening adb shell connection"
- (let* ((coding-system-for-read 'utf-8-dos) ;is this correct?
+ (let* ((coding-system-for-read 'utf-8-dos) ; Is this correct?
(process-connection-type tramp-process-connection-type)
(args (if (> (length host) 0)
(list "-s" device "shell")
@@ -1368,6 +1372,24 @@
`(:application tramp :protocol ,tramp-adb-method)
'tramp-adb-connection-local-default-shell-profile))
+;; `shell-mode' tries to open remote files like "/adb::~/.history".
+;; This fails, because the tilde cannot be expanded. Tell
+;; `tramp-handle-expand-file-name' to tolerate this.
+(defun tramp-adb-tolerate-tilde (orig-fun)
+ "Advice for `shell-mode' to tolerate tilde in remote file names."
+ (let ((tramp-tolerate-tilde
+ (or tramp-tolerate-tilde
+ (equal (file-remote-p default-directory 'method)
+ tramp-adb-method))))
+ (funcall orig-fun)))
+
+(add-function
+ :around (symbol-function #'shell-mode) #'tramp-adb-tolerate-tilde)
+(add-hook 'tramp-adb-unload-hook
+ (lambda ()
+ (remove-function
+ (symbol-function #'shell-mode) #'tramp-adb-tolerate-tilde)))
+
(add-hook 'tramp-unload-hook
(lambda ()
(unload-feature 'tramp-adb 'force)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-archive.el
^
|
@@ -188,6 +188,8 @@
"\\)" ;; \1
"\\(" "/" ".*" "\\)" "\\'"))) ;; \2
+(put #'tramp-archive-autoload-file-name-regexp 'tramp-autoload t)
+
;; In older Emacsen (prior 27.1), `tramp-archive-autoload-file-name-regexp'
;; is not autoloaded. So we cannot expect it to be known in
;; tramp-loaddefs.el. But it exists, when tramp-archive.el is loaded.
@@ -337,6 +339,13 @@
(tramp-archive-run-real-handler
#'file-directory-p (list archive)))
(tramp-archive-run-real-handler operation args)
+ ;; The default directory of the Tramp connection buffer
+ ;; cannot be accessed. (Bug#56628)
+ ;; FIXME: It is superfluous to set it every single loop.
+ ;; But there is no place to set it when creating the buffer.
+ (with-current-buffer
+ (tramp-get-buffer (tramp-archive-dissect-file-name filename))
+ (setq default-directory (file-name-as-directory archive)))
;; Now run the handler.
(let ((tramp-methods (cons `(,tramp-archive-method) tramp-methods))
(tramp-gvfs-methods tramp-archive-all-gvfs-methods)
@@ -354,24 +363,29 @@
(progn (defun tramp-archive-autoload-file-name-handler (operation &rest args)
"Load Tramp archive file name handler, and perform OPERATION."
(defvar tramp-archive-autoload)
- (when tramp-archive-enabled
- ;; We cannot use `tramp-compat-temporary-file-directory' here due
- ;; to autoload. When installing Tramp's GNU ELPA package, there
- ;; might be an older, incompatible version active. We try to
- ;; overload this.
- (let ((default-directory temporary-file-directory)
- (tramp-archive-autoload t))
- (apply #'tramp-autoload-file-name-handler operation args)))))
+ (let (;; We cannot use `tramp-compat-temporary-file-directory' here
+ ;; due to autoload. When installing Tramp's GNU ELPA package,
+ ;; there might be an older, incompatible version active. We
+ ;; try to overload this.
+ (default-directory temporary-file-directory)
+ (tramp-archive-autoload tramp-archive-enabled))
+ (apply #'tramp-autoload-file-name-handler operation args))))
+
+(put #'tramp-archive-autoload-file-name-handler 'tramp-autoload t)
;;;###autoload
(progn (defun tramp-register-archive-file-name-handler ()
"Add archive file name handler to `file-name-handler-alist'."
- (when tramp-archive-enabled
+ (when (and tramp-archive-enabled
+ (not
+ (rassq #'tramp-archive-file-name-handler file-name-handler-alist)))
(add-to-list 'file-name-handler-alist
(cons (tramp-archive-autoload-file-name-regexp)
#'tramp-archive-autoload-file-name-handler))
(put #'tramp-archive-autoload-file-name-handler 'safe-magic t))))
+(put #'tramp-register-archive-file-name-handler 'tramp-autoload t)
+
;;;###autoload
(progn
(add-hook 'after-init-hook #'tramp-register-archive-file-name-handler)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-cache.el
^
|
@@ -49,8 +49,6 @@
;; an open connection. Examples: "scripts" keeps shell script
;; definitions already sent to the remote shell, "last-cmd-time" is
;; the time stamp a command has been sent to the remote process.
-;; "lock-pid" is the timestamp a (network) process is created, it is
-;; used instead of the pid in file locks.
;;
;; - The key is nil. These are temporary properties related to the
;; local machine. Examples: "parse-passwd" and "parse-group" keep
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-cmds.el
^
|
@@ -51,6 +51,7 @@
(when syntax
(customize-set-variable 'tramp-syntax syntax)))
+;;;###tramp-autoload
(defun tramp-list-tramp-buffers ()
"Return a list of all Tramp connection buffers."
(append
@@ -61,6 +62,7 @@
(all-completions
"*trace tramp" (mapcar #'list (mapcar #'buffer-name (buffer-list))))))
+;;;###tramp-autoload
(defun tramp-list-remote-buffers ()
"Return a list of all buffers with remote `default-directory'."
(delq
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-crypt.el
^
|
@@ -23,50 +23,50 @@
;;; Commentary:
-;; Access functions for crypted remote files. It uses encfs to
+;; Access functions for encrypted remote files. It uses encfs to
;; encrypt / decrypt the files on a remote directory. A remote
-;; directory, which shall include crypted files, must be declared in
+;; directory where you wish files to be encrypted must be declared in
;; `tramp-crypt-directories' via command `tramp-crypt-add-directory'.
;; All files in that directory, including all subdirectories, are
-;; stored there encrypted. This includes file names and directory
+;; stored encrypted. This includes file names and directory
;; names.
;; This package is just responsible for the encryption part. Copying
-;; of the crypted files is still the responsibility of the remote file
-;; name handlers.
+;; of the encrypted files is still the responsibility of the remote
+;; file name handlers.
;; A password protected encfs configuration file is created the very
-;; first time you access a crypted remote directory. It is kept in
-;; your user directory "~/.emacs.d/" with the url-encoded directory
-;; name as part of the basename, and ".encfs6.xml" as suffix. Do not
-;; lose this file and the corresponding password; otherwise there is
-;; no way to decrypt your crypted files.
+;; first time you access an encrypted remote directory. It is kept in
+;; your user directory (usually "~/.emacs.d/") with the url-encoded
+;; directory name as part of the basename, and ".encfs6.xml" as
+;; suffix. Do not lose this file and the corresponding password;
+;; otherwise there is no way to decrypt your encrypted files.
;; If the user option `tramp-crypt-save-encfs-config-remote' is
;; non-nil (the default), the encfs configuration file ".encfs6.xml"
-;; is also kept in the crypted remote directory. It depends on you,
+;; is also kept in the encrypted remote directory. It depends on you,
;; whether you regard the password protection of this file as
-;; sufficient.
+;; sufficient security.
;; If you use a remote file name with a quoted localname part, this
;; localname and the corresponding file will not be encrypted/
-;; decrypted. For example, if you have a crypted remote directory
-;; "/nextcloud:user@host:/crypted_dir", the command
+;; decrypted. For example, if you have an encrypted remote directory
+;; "/nextcloud:user@host:/encrypted_dir", the command
;;
-;; C-x d /nextcloud:user@host:/crypted_dir
+;; C-x d /nextcloud:user@host:/encrypted_dir
;;
;; will show the directory listing with the plain file names, and the
;; command
;;
-;; C-x d /nextcloud:user@host:/:/crypted_dir
+;; C-x d /nextcloud:user@host:/:/encrypted_dir
;;
;; will show the directory with the encrypted file names, and visiting
-;; a file will show its crypted contents. However, it is highly
-;; discouraged to mix crypted and not crypted files in the same
+;; a file will show its encrypted contents. However, it is highly
+;; discouraged to mix encrypted and non-encrypted files in the same
;; directory.
-;; If a remote directory shall not include crypted files anymore, it
-;; must be indicated by the command `tramp-crypt-remove-directory'.
+;; To disable encryption for a particular remote directory, use the
+;; command `tramp-crypt-remove-directory'.
;;; Code:
@@ -78,7 +78,7 @@
(autoload 'text-property-search-forward "text-property-search")
(defconst tramp-crypt-method "crypt"
- "Method name for crypted remote directories.")
+ "Method name for encrypted remote directories.")
(defcustom tramp-crypt-encfs-program "encfs"
"Name of the encfs program."
@@ -96,7 +96,7 @@
"Configuration option for encfs.
This could be either \"--standard\" or \"--paranoia\". The file
name IV chaining mode mode will always be disabled when
-initializing a new crypted remote directory."
+initializing a new encrypted remote directory."
:group 'tramp
:version "28.1"
:type '(choice (const "--standard")
@@ -120,7 +120,7 @@
They are completed by \"M-x TAB\" only when encryption support is enabled."
(and tramp-crypt-enabled
;; `tramp-crypt-remove-directory' needs to be completed only in
- ;; case we have already crypted directories.
+ ;; case we have already encrypted directories.
(or (not (eq symbol #'tramp-crypt-remove-directory))
tramp-crypt-directories)))
@@ -129,21 +129,21 @@
"Encfs configuration file name.")
(defcustom tramp-crypt-save-encfs-config-remote t
- "Whether to keep the encfs configuration file in the crypted remote directory."
+ "Whether to keep the encfs configuration file in the encrypted remote directory."
:group 'tramp
:version "28.1"
:type 'boolean)
;;;###tramp-autoload
(defvar tramp-crypt-directories nil
- "List of crypted remote directories.")
+ "List of encrypted remote directories.")
;; It must be a `defsubst' in order to push the whole code into
;; tramp-loaddefs.el. Otherwise, there would be recursive autoloading.
;;;###tramp-autoload
(defsubst tramp-crypt-file-name-p (name)
- "Return the crypted remote directory NAME belongs to.
-If NAME doesn't belong to a crypted remote directory, retun nil."
+ "Return the encrypted remote directory NAME belongs to.
+If NAME doesn't belong to an encrypted remote directory, return nil."
(catch 'crypt-file-name-p
(and tramp-crypt-enabled (stringp name)
(not (tramp-compat-file-name-quoted-p name))
@@ -192,9 +192,9 @@
;; `file-name-nondirectory' performed by default handler.
;; `file-name-sans-versions' performed by default handler.
(file-newer-than-file-p . tramp-handle-file-newer-than-file-p)
- (file-notify-add-watch . ignore)
- (file-notify-rm-watch . ignore)
- (file-notify-valid-p . ignore)
+ (file-notify-add-watch . tramp-handle-file-notify-add-watch)
+ (file-notify-rm-watch . tramp-handle-file-notify-rm-watch)
+ (file-notify-valid-p . tramp-handle-file-notify-valid-p)
(file-ownership-preserved-p . tramp-crypt-handle-file-ownership-preserved-p)
(file-readable-p . tramp-crypt-handle-file-readable-p)
(file-regular-p . tramp-handle-file-regular-p)
@@ -207,7 +207,7 @@
(find-backup-file-name . tramp-handle-find-backup-file-name)
;; `get-file-buffer' performed by default handler.
(insert-directory . tramp-crypt-handle-insert-directory)
- ;; `insert-file-contents' performed by default handler.
+ (insert-file-contents . tramp-handle-insert-file-contents)
(load . tramp-handle-load)
(lock-file . tramp-crypt-handle-lock-file)
(make-auto-save-file-name . tramp-handle-make-auto-save-file-name)
@@ -240,7 +240,7 @@
Operations not mentioned here will be handled by the default Emacs primitives.")
(defsubst tramp-crypt-file-name-for-operation (operation &rest args)
- "Like `tramp-file-name-for-operation', but for crypted remote files."
+ "Like `tramp-file-name-for-operation', but for encrypted remote files."
(let ((tfnfo (apply #'tramp-file-name-for-operation operation args)))
;; `tramp-file-name-for-operation' returns already the first argument
;; if it is remote. So we check a possible second argument.
@@ -264,7 +264,7 @@
;;;###tramp-autoload
(defun tramp-crypt-file-name-handler (operation &rest args)
- "Invoke the crypted remote file related OPERATION.
+ "Invoke the encrypted remote file related OPERATION.
First arg specifies the OPERATION, second arg is a list of
arguments to pass to the OPERATION."
(if-let ((filename
@@ -409,7 +409,7 @@
t))))
(defun tramp-crypt-do-encrypt-or-decrypt-file-name (op name)
- "Return encrypted / decrypted NAME if NAME belongs to a crypted directory.
+ "Return encrypted / decrypted NAME if NAME belongs to an encrypted directory.
OP must be `encrypt' or `decrypt'. Raise an error if this fails.
Otherwise, return NAME."
(if-let ((tramp-crypt-enabled t)
@@ -438,17 +438,17 @@
name))
(defsubst tramp-crypt-encrypt-file-name (name)
- "Return encrypted NAME if NAME belongs to a crypted directory.
+ "Return encrypted NAME if NAME belongs to an encrypted directory.
Otherwise, return NAME."
(tramp-crypt-do-encrypt-or-decrypt-file-name 'encrypt name))
(defsubst tramp-crypt-decrypt-file-name (name)
- "Return decrypted NAME if NAME belongs to a crypted directory.
+ "Return decrypted NAME if NAME belongs to an encrypted directory.
Otherwise, return NAME."
(tramp-crypt-do-encrypt-or-decrypt-file-name 'decrypt name))
(defun tramp-crypt-do-encrypt-or-decrypt-file (op root infile outfile)
- "Encrypt / decrypt file INFILE to OUTFILE according to crypted directory ROOT.
+ "Encrypt / decrypt file INFILE to OUTFILE according to encrypted directory ROOT.
Both files must be local files. OP must be `encrypt' or `decrypt'.
If OP ist `decrypt', the basename of INFILE must be an encrypted file name.
Raise an error if this fails."
@@ -470,12 +470,12 @@
(write-region nil nil outfile)))))
(defsubst tramp-crypt-encrypt-file (root infile outfile)
- "Encrypt file INFILE to OUTFILE according to crypted directory ROOT.
+ "Encrypt file INFILE to OUTFILE according to encrypted directory ROOT.
See `tramp-crypt-do-encrypt-or-decrypt-file'."
(tramp-crypt-do-encrypt-or-decrypt-file 'encrypt root infile outfile))
(defsubst tramp-crypt-decrypt-file (root infile outfile)
- "Decrypt file INFILE to OUTFILE according to crypted directory ROOT.
+ "Decrypt file INFILE to OUTFILE according to encrypted directory ROOT.
See `tramp-crypt-do-encrypt-or-decrypt-file'."
(tramp-crypt-do-encrypt-or-decrypt-file 'decrypt root infile outfile))
@@ -537,10 +537,10 @@
(make-tramp-file-name
:method tramp-crypt-method :user (user-login-name)
:host (url-hexify-string dir))
- (tramp-user-error nil "Not a crypted remote directory: \"%s\"" name))))
+ (tramp-user-error nil "Not an encrypted remote directory: \"%s\"" name))))
(defun tramp-crypt-get-remote-dir (vec)
- "Return the name of the crypted remote directory to be used for encfs."
+ "Return the name of the encrypted remote directory to be used for encfs."
(url-unhex-string (tramp-file-name-host vec)))

@@ -606,7 +606,7 @@
(with-tramp-progress-reporter
v 0 (format "%s %s to %s" msg-operation filename newname)
(if (and t1 t2 (string-equal t1 t2))
- ;; Both files are on the same crypted remote directory.
+ ;; Both files are on the same encrypted remote directory.
(let (tramp-crypt-enabled)
(if (eq op 'copy)
(copy-file
@@ -624,7 +624,7 @@
(file-name-nondirectory encrypt-newname) tmpdir))
tramp-crypt-enabled)
(cond
- ;; Source and target file are on a crypted remote directory.
+ ;; Source and target file are on an encrypted remote directory.
((and t1 t2)
(if (eq op 'copy)
(copy-file
@@ -632,7 +632,7 @@
keep-date preserve-uid-gid preserve-extended-attributes)
(rename-file
encrypt-filename encrypt-newname ok-if-already-exists)))
- ;; Source file is on a crypted remote directory.
+ ;; Source file is on an encrypted remote directory.
(t1
(if (eq op 'copy)
(copy-file
@@ -641,7 +641,7 @@
(rename-file encrypt-filename tmpfile1 t))
(tramp-crypt-decrypt-file t1 tmpfile1 tmpfile2)
(rename-file tmpfile2 newname ok-if-already-exists))
- ;; Target file is on a crypted remote directory.
+ ;; Target file is on an encrypted remote directory.
(t2
(if (eq op 'copy)
(copy-file
@@ -677,7 +677,7 @@
(list filename newname ok-if-already-exists keep-date
preserve-uid-gid preserve-extended-attributes))))
-;; Crypted files won't be trashed.
+;; Encrypted files won't be trashed.
(defun tramp-crypt-handle-delete-directory
(directory &optional recursive _trash)
"Like `delete-directory' for Tramp files."
@@ -686,7 +686,7 @@
(let (tramp-crypt-enabled)
(delete-directory (tramp-crypt-encrypt-file-name directory) recursive))))
-;; Crypted files won't be trashed.
+;; Encrypted files won't be trashed.
(defun tramp-crypt-handle-delete-file (filename &optional _trash)
"Like `delete-file' for Tramp files."
(with-parsed-tramp-file-name (expand-file-name filename) nil
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-fuse.el
^
|
@@ -44,6 +44,17 @@
(delete-file (tramp-fuse-local-file-name filename) trash)
(tramp-flush-file-properties v localname)))
+(defvar tramp-fuse-remove-hidden-files nil
+ "Remove hidden files from directory listings.")
+
+(defsubst tramp-fuse-remove-hidden-files (files)
+ "Remove hidden files from FILES."
+ (if tramp-fuse-remove-hidden-files
+ (cl-remove-if
+ (lambda (x) (and (stringp x) (string-match-p "\\.fuse_hidden" x)))
+ files)
+ files))
+
(defun tramp-fuse-handle-directory-files
(directory &optional full match nosort count)
"Like `directory-files' for Tramp files."
@@ -75,7 +86,8 @@
result)))
(setq result (cons item result))))
;; Return result.
- (if nosort result (sort result #'string<))))))
+ (tramp-fuse-remove-hidden-files
+ (if nosort result (sort result #'string<)))))))
(defun tramp-fuse-handle-file-attributes (filename &optional id-format)
"Like `file-attributes' for Tramp files."
@@ -92,20 +104,21 @@
(defun tramp-fuse-handle-file-name-all-completions (filename directory)
"Like `file-name-all-completions' for Tramp files."
- (all-completions
- filename
- (delete-dups
- (append
- (file-name-all-completions
- filename (tramp-fuse-local-file-name directory))
- ;; Some storage systems do not return "." and "..".
- (let (result)
- (dolist (item '(".." ".") result)
- (when (string-prefix-p filename item)
- (catch 'match
- (dolist (elt completion-regexp-list)
- (unless (string-match-p elt item) (throw 'match nil)))
- (setq result (cons (concat item "/") result))))))))))
+ (tramp-fuse-remove-hidden-files
+ (all-completions
+ filename
+ (delete-dups
+ (append
+ (file-name-all-completions
+ filename (tramp-fuse-local-file-name directory))
+ ;; Some storage systems do not return "." and "..".
+ (let (result)
+ (dolist (item '(".." ".") result)
+ (when (string-prefix-p filename item)
+ (catch 'match
+ (dolist (elt completion-regexp-list)
+ (unless (string-match-p elt item) (throw 'match nil)))
+ (setq result (cons (concat item "/") result)))))))))))
(defun tramp-fuse-handle-file-readable-p (filename)
"Like `file-readable-p' for Tramp files."
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-gvfs.el
^
|
@@ -87,7 +87,7 @@
;; For hostname completion, information is retrieved from the zeroconf
;; daemon (for the "afp", "dav", "davs", and "sftp" methods). The
;; zeroconf daemon is pre-configured to discover services in the
-;; "local" domain. If another domain shall be used for discovering
+;; "local" domain. If another domain should be used for discovering
;; services, the user option `tramp-gvfs-zeroconf-domain' can be set
;; accordingly.
@@ -841,6 +841,8 @@
(tramp-file-name-method (tramp-dissect-file-name filename))))
(and (stringp method) (member method tramp-gvfs-methods)))))
+(defvar tramp-gvfs-dbus-event-vector)
+
;;;###tramp-autoload
(defun tramp-gvfs-file-name-handler (operation &rest args)
"Invoke the GVFS related OPERATION and ARGS.
@@ -848,7 +850,11 @@
arguments to pass to the OPERATION."
(unless tramp-gvfs-enabled
(tramp-user-error nil "Package `tramp-gvfs' not supported"))
- (if-let ((fn (assoc operation tramp-gvfs-file-name-handler-alist)))
+ (if-let ((filename (apply #'tramp-file-name-for-operation operation args))
+ (tramp-gvfs-dbus-event-vector
+ (and (tramp-tramp-file-p filename)
+ (tramp-dissect-file-name filename)))
+ (fn (assoc operation tramp-gvfs-file-name-handler-alist)))
(save-match-data (apply (cdr fn) args))
(tramp-run-real-handler operation args)))
@@ -942,7 +948,8 @@
(defvar tramp-gvfs-dbus-event-vector nil
"Current Tramp file name to be used, as vector.
It is needed when D-Bus signals or errors arrive, because there
-is no information where to trace the message.")
+is no information where to trace the message.
+The global value will always be nil; it is bound where needed.")
(defun tramp-gvfs-dbus-event-error (event err)
"Called when a D-Bus error message arrives, see `dbus-event-error-functions'."
@@ -1160,10 +1167,9 @@
(tramp-get-connection-property v "default-location" "~")
nil t localname 1)))
;; Tilde expansion is not possible.
- (when (string-match-p "\\`\\(~[^/]*\\)\\(.*\\)\\'" localname)
- (tramp-error
- v 'file-error
- "Cannot expand tilde in file `%s'" name))
+ (when (and (not tramp-tolerate-tilde)
+ (string-match-p "\\`\\(~[^/]*\\)\\(.*\\)\\'" localname))
+ (tramp-error v 'file-error "Cannot expand tilde in file `%s'" name))
(unless (tramp-run-real-handler #'file-name-absolute-p (list localname))
(setq localname (concat "/" localname)))
;; We do not pass "/..".
@@ -1181,7 +1187,9 @@
;; No tilde characters in file name, do normal
;; `expand-file-name' (this does "/./" and "/../").
(tramp-make-tramp-file-name
- v (tramp-run-real-handler #'expand-file-name (list localname))))))
+ v (if (string-match-p "\\`\\(~[^/]*\\)\\(.*\\)\\'" localname)
+ localname
+ (tramp-run-real-handler #'expand-file-name (list localname)))))))
(defun tramp-gvfs-get-directory-attributes (directory)
"Return GVFS attributes association list of all files in DIRECTORY."
@@ -1396,7 +1404,8 @@
"Like `file-executable-p' for Tramp files."
(with-parsed-tramp-file-name filename nil
(with-tramp-file-property v localname "file-executable-p"
- (tramp-check-cached-permissions v ?x))))
+ (or (tramp-check-cached-permissions v ?x)
+ (tramp-check-cached-permissions v ?s)))))
(defun tramp-gvfs-handle-file-name-all-completions (filename directory)
"Like `file-name-all-completions' for Tramp files."
@@ -1612,22 +1621,18 @@
(tramp-file-name-user vec)
(when-let ((localname
(tramp-get-connection-property
- (tramp-get-process vec) "share"
- (tramp-get-connection-property vec "default-location" nil))))
+ (tramp-get-process vec) "share" nil)))
(tramp-compat-file-attribute-user-id
- (file-attributes
- (tramp-make-tramp-file-name vec localname) id-format)))))
+ (file-attributes (tramp-make-tramp-file-name vec localname) id-format)))))
(defun tramp-gvfs-handle-get-remote-gid (vec id-format)
"The gid of the remote connection VEC, in ID-FORMAT.
ID-FORMAT valid values are `string' and `integer'."
(when-let ((localname
(tramp-get-connection-property
- (tramp-get-process vec) "share"
- (tramp-get-connection-property vec "default-location" nil))))
+ (tramp-get-process vec) "share" nil)))
(tramp-compat-file-attribute-group-id
- (file-attributes
- (tramp-make-tramp-file-name vec localname) id-format))))
+ (file-attributes (tramp-make-tramp-file-name vec localname) id-format))))
(defun tramp-gvfs-handle-set-file-uid-gid (filename &optional uid gid)
"Like `tramp-set-file-uid-gid' for Tramp files."
@@ -1776,22 +1781,26 @@
(list
t ;; handled.
nil ;; no abort of D-Bus.
- (with-tramp-connection-property (tramp-get-process v) message
- ;; In theory, there can be several choices.
- ;; Until now, there is only the question whether
- ;; to accept an unknown host signature or certificate.
- (with-temp-buffer
- ;; Preserve message for `progress-reporter'.
- (with-temp-message ""
- (insert message)
- (goto-char (point-max))
- (if noninteractive
- (message "%s" message)
- (pop-to-buffer (current-buffer)))
- (if (yes-or-no-p
- (buffer-substring
- (line-beginning-position) (point)))
- 0 1)))))
+ ;; Preserve message for `progress-reporter'.
+ (with-temp-message ""
+ (if noninteractive
+ ;; Keep regression tests running.
+ (progn
+ (message "%s" message)
+ 0)
+ (with-tramp-connection-property (tramp-get-process v) message
+ ;; In theory, there can be several choices.
+ ;; Until now, there is only the question
+ ;; whether to accept an unknown host
+ ;; signature or certificate.
+ (with-temp-buffer
+ (insert message)
+ (goto-char (point-max))
+ (pop-to-buffer (current-buffer))
+ (if (yes-or-no-p
+ (buffer-substring
+ (line-beginning-position) (point)))
+ 0 1))))))
;; When QUIT is raised, we shall return this
;; information to D-Bus.
@@ -2119,10 +2128,6 @@
(unless (tramp-connectable-p vec)
(throw 'non-essential 'non-essential))
- ;; We set the file name, in case there are incoming D-Bus signals or
- ;; D-Bus errors.
- (setq tramp-gvfs-dbus-event-vector vec)
-
;; For password handling, we need a process bound to the connection
;; buffer. Therefore, we create a dummy process. Maybe there is a
;; better solution?
@@ -2134,9 +2139,6 @@
(process-put p 'vector vec)
(set-process-query-on-exit-flag p nil)
- ;; Mark process for filelock.
- (tramp-set-connection-property p "lock-pid" (truncate (time-to-seconds)))
-
;; Set connection-local variables.
(tramp-set-connection-local-variables vec)))
@@ -2256,13 +2258,7 @@
COMMAND is a command from the gvfs-* utilities. It is replaced
by the corresponding gio tool call if available. `call-process'
is applied, and it returns t if the return code is zero."
- (let* ((locale (tramp-get-local-locale vec))
- (process-environment
- (append
- `(,(format "LANG=%s" locale)
- ,(format "LANGUAGE=%s" locale)
- ,(format "LC_ALL=%s" locale))
- process-environment)))
+ (let ((locale (tramp-get-local-locale vec)))
(when (tramp-gvfs-gio-tool-p vec)
;; Use gio tool.
(setq args (cons (cdr (assoc command tramp-gvfs-gio-mapping))
@@ -2272,7 +2268,14 @@
(with-current-buffer (tramp-get-connection-buffer vec)
(tramp-gvfs-maybe-open-connection vec)
(erase-buffer)
- (or (zerop (apply #'tramp-call-process vec command nil t nil args))
+ (or (zerop
+ (apply
+ #'tramp-call-process vec "env" nil t nil
+ (append `(,(format "LANG=%s" locale)
+ ,(format "LANGUAGE=%s" locale)
+ ,(format "LC_ALL=%s" locale)
+ ,command)
+ args)))
;; Remove information about mounted connection.
(and (tramp-flush-file-properties vec "/") nil)))))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-rclone.el
^
|
@@ -106,9 +106,9 @@
(file-name-nondirectory . tramp-handle-file-name-nondirectory)
;; `file-name-sans-versions' performed by default handler.
(file-newer-than-file-p . tramp-handle-file-newer-than-file-p)
- (file-notify-add-watch . ignore)
- (file-notify-rm-watch . ignore)
- (file-notify-valid-p . ignore)
+ (file-notify-add-watch . tramp-handle-file-notify-add-watch)
+ (file-notify-rm-watch . tramp-handle-file-notify-rm-watch)
+ (file-notify-valid-p . tramp-handle-file-notify-valid-p)
(file-ownership-preserved-p . ignore)
(file-readable-p . tramp-fuse-handle-file-readable-p)
(file-regular-p . tramp-handle-file-regular-p)
@@ -362,10 +362,6 @@
(process-put p 'vector vec)
(set-process-query-on-exit-flag p nil)
- ;; Mark process for filelock.
- (tramp-set-connection-property
- p "lock-pid" (truncate (time-to-seconds)))
-
;; Set connection-local variables.
(tramp-set-connection-local-variables vec)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-sh.el
^
|
@@ -115,7 +115,7 @@
"Which ssh Control* arguments to use.
If it is a string, it should have the form
-\"-o ControlMaster=auto -o ControlPath=\\='tramp.%%r@%%h:%%p\\='
+\"-o ControlMaster=auto -o ControlPath=tramp.%%C
-o ControlPersist=no\". Percent characters in the ControlPath
spec must be doubled, because the string is used as format string.
@@ -134,6 +134,15 @@
The string is used in `tramp-methods'.")
+(defvar tramp-scp-force-scp-protocol nil
+ "Force scp protocol.
+
+It is the string \"-O\" if supported by the local scp (since
+release 8.6), otherwise the string \"\". If it is nil, it will
+be auto-detected by Tramp.
+
+The string is used in `tramp-methods'.")
+
;; Initialize `tramp-methods' with the supported methods.
;;;###tramp-autoload
(tramp--with-startup
@@ -170,7 +179,7 @@
(tramp-remote-shell-args ("-c"))
(tramp-copy-program "scp")
(tramp-copy-args (("-P" "%p") ("-p" "%k")
- ("%x") ("-q") ("-r") ("%c")))
+ ("%x") ("%y") ("-q") ("-r") ("%c")))
(tramp-copy-keep-date t)
(tramp-copy-recursive t)))
(add-to-list 'tramp-methods
@@ -186,7 +195,7 @@
(tramp-remote-shell-args ("-c"))
(tramp-copy-program "scp")
(tramp-copy-args (("-P" "%p") ("-p" "%k")
- ("%x") ("-q") ("-r") ("%c")))
+ ("%x") ("%y") ("-q") ("-r") ("%c")))
(tramp-copy-keep-date t)
(tramp-copy-recursive t)))
(add-to-list 'tramp-methods
@@ -1189,12 +1198,18 @@
;; The scripts could fail, for example with huge file size.
(tramp-do-file-attributes-with-ls v localname id-format))))))))
+(defconst tramp-sunos-unames (regexp-opt '("SunOS 5.10" "SunOS 5.11"))
+ "Regexp to determine remote SunOS.")
+
(defun tramp-sh--quoting-style-options (vec)
"Quoting style options to be used for VEC."
(or
(tramp-get-ls-command-with
vec "--quoting-style=literal --show-control-chars")
- (tramp-get-ls-command-with vec "-w")
+ ;; ls on Solaris does not return an error in that case. We've got
+ ;; reports for "SunOS 5.11" so far.
+ (unless (tramp-check-remote-uname vec tramp-sunos-unames)
+ (tramp-get-ls-command-with vec "-w"))
""))
(defun tramp-do-file-attributes-with-ls (vec localname &optional id-format)
@@ -1574,6 +1589,7 @@
;; Examine `file-attributes' cache to see if request can be
;; satisfied without remote operation.
(or (tramp-check-cached-permissions v ?x)
+ (tramp-check-cached-permissions v ?s)
(tramp-run-test "-x" filename)))))
(defun tramp-sh-handle-file-readable-p (filename)
@@ -2304,7 +2320,8 @@
?h (or host "") ?u (or user "") ?p (or port "")
?r listener ?c options ?k (if keep-date " " "")
?n (concat "2>" (tramp-get-remote-null-device v))
- ?x (tramp-scp-strict-file-name-checking v))
+ ?x (tramp-scp-strict-file-name-checking v)
+ ?y (tramp-scp-force-scp-protocol v))
copy-program (tramp-get-method-parameter v 'tramp-copy-program)
copy-keep-date (tramp-get-method-parameter
v 'tramp-copy-keep-date)
@@ -2663,7 +2680,9 @@
;; Try to insert the amount of free space.
(goto-char (point-min))
;; First find the line to put it on.
- (when (re-search-forward "^\\([[:space:]]*total\\)" nil t)
+ (when (and (re-search-forward "^\\([[:space:]]*total\\)" nil t)
+ ;; Emacs 29.1 or later.
+ (not (fboundp 'dired--insert-disk-space)))
(when-let ((available (get-free-disk-space ".")))
;; Replace "total" with "total used", to avoid confusion.
(replace-match "\\1 used in directory")
@@ -2817,8 +2836,10 @@
(string-match-p "sh$" program)
(= (length args) 2)
(string-equal "-c" (car args))
- ;; Don't if there is a string.
- (not (string-match-p "'\\|\"" (cadr args)))))
+ ;; Don't if there is a quoted string.
+ (not (string-match-p "'\\|\"" (cadr args)))
+ ;; Check, that /dev/tty is usable.
+ (tramp-get-remote-dev-tty v)))
;; When PROGRAM is nil, we just provide a tty.
(args (if (not heredoc) args
(let ((i 250))
@@ -3080,10 +3101,10 @@
;; Determine input.
(if (null infile)
(setq input (tramp-get-remote-null-device v))
- (setq infile (expand-file-name infile))
+ (setq infile (tramp-compat-file-name-unquote (expand-file-name infile)))
(if (tramp-equal-remote default-directory infile)
;; INFILE is on the same remote host.
- (setq input (tramp-file-local-name infile))
+ (setq input (tramp-unquote-file-local-name infile))
;; INFILE must be copied to remote host.
(setq input (tramp-make-tramp-temp-file v)
tmpinput (tramp-make-tramp-file-name v input 'nohop))
@@ -3114,7 +3135,7 @@
(setcar (cdr destination) (expand-file-name (cadr destination)))
(if (tramp-equal-remote default-directory (cadr destination))
;; stderr is on the same remote host.
- (setq stderr (tramp-file-local-name (cadr destination)))
+ (setq stderr (tramp-unquote-file-local-name (cadr destination)))
;; stderr must be copied to remote host. The temporary
;; file must be deleted after execution.
(setq stderr (tramp-make-tramp-temp-file v)
@@ -3135,7 +3156,8 @@
(setq ret (tramp-send-command-and-check
v (format
"cd %s && %s"
- (tramp-shell-quote-argument localname) command)
+ (tramp-unquote-shell-quote-argument localname)
+ command)
t t t))
(unless (natnump ret) (setq ret 1))
;; We should add the output anyway.
@@ -3167,8 +3189,7 @@
;; Cleanup. We remove all file cache values for the connection,
;; because the remote process could have changed them.
(when tmpinput (delete-file tmpinput))
-
- (unless process-file-side-effects
+ (when process-file-side-effects
(tramp-flush-directory-properties v ""))
;; Return exit status.
@@ -3985,9 +4006,6 @@
switch
(tramp-shell-quote-argument localname)))))
-(defconst tramp-sunos-unames (regexp-opt '("SunOS 5.10" "SunOS 5.11"))
- "Regexp to determine remote SunOS.")
-
(defun tramp-find-executable
(vec progname dirlist &optional ignore-tilde ignore-path)
"Search for PROGNAME in $PATH and all directories mentioned in DIRLIST.
@@ -4093,13 +4111,10 @@
;; The algorithm is as follows: we try a list of several commands.
;; For each command, we first run `$cmd /' -- this should return
;; true, as the root directory always exists. And then we run
- ;; `$cmd /this\ file\ does\ not\ exist ', hoping that the file indeed
- ;; does not exist. This should return false. We use the first
- ;; command we find that seems to work.
+ ;; `$cmd /\ this\ file\ does\ not\ exist\ ', hoping that the file
+ ;; indeed does not exist. This should return false. We use the
+ ;; first command we find that seems to work.
;; The list of commands to try is as follows:
- ;; `ls -d' This works on most systems, but NetBSD 1.4
- ;; has a bug: `ls' always returns zero exit
- ;; status, even for files which don't exist.
;; `test -e' Some Bourne shells have a `test' builtin
;; which does not know the `-e' option.
;; `/bin/test -e' For those, the `test' binary on disk normally
@@ -4107,6 +4122,10 @@
;; is sometimes `/bin/test' and sometimes it's
;; `/usr/bin/test'.
;; `/usr/bin/test -e' In case `/bin/test' does not exist.
+ ;; `ls -d' This works on most systems, but NetBSD 1.4
+ ;; has a bug: `ls' always returns zero exit
+ ;; status, even for files which don't exist.
+
(unless (or
(ignore-errors
(and (setq result (format "%s -e" (tramp-get-test-command vec)))
@@ -4766,13 +4785,13 @@
(if (zerop
(tramp-call-process
vec "ssh" nil nil nil
- "-G" "-o" "ControlPath='tramp.%C'" "0.0.0.1"))
+ "-G" "-o" "ControlPath=tramp.%C" "0.0.0.1"))
(setq tramp-ssh-controlmaster-options
(concat tramp-ssh-controlmaster-options
- " -o ControlPath='tramp.%%C'"))
+ " -o ControlPath=tramp.%%C"))
(setq tramp-ssh-controlmaster-options
(concat tramp-ssh-controlmaster-options
- " -o ControlPath='tramp.%%r@%%h:%%p'")))
+ " -o ControlPath=tramp.%%r@%%h:%%p")))
(when (zerop
(tramp-call-process
vec "ssh" nil nil nil
@@ -4809,6 +4828,33 @@
(setq tramp-scp-strict-file-name-checking "-T")))))))
tramp-scp-strict-file-name-checking)))
+(defun tramp-scp-force-scp-protocol (vec)
+ "Return the force scp protocol argument of the local scp."
+ (cond
+ ;; No options to be computed.
+ ((null (assoc "%y" (tramp-get-method-parameter vec 'tramp-copy-args)))
+ "")
+
+ ;; There is already a value to be used.
+ ((stringp tramp-scp-force-scp-protocol)
+ tramp-scp-force-scp-protocol)
+
+ ;; Determine the options.
+ (t (setq tramp-scp-force-scp-protocol "")
+ (let ((case-fold-search t))
+ (ignore-errors
+ (when (executable-find "scp")
+ (with-tramp-progress-reporter
+ vec 4 "Computing force scp protocol argument"
+ (with-temp-buffer
+ (tramp-call-process vec "scp" nil t nil "-O")
+ (goto-char (point-min))
+ (unless
+ (search-forward-regexp
+ "\\(illegal\\|unknown\\) option -- O" nil t)
+ (setq tramp-scp-force-scp-protocol "-O")))))))
+ tramp-scp-force-scp-protocol)))
+
(defun tramp-timeout-session (vec)
"Close the connection VEC after a session timeout.
If there is just some editing, retry it after 5 seconds."
@@ -4839,6 +4885,7 @@
;; If Tramp opens the same connection within a short time frame,
;; there is a problem. We shall signal this.
(unless (or (process-live-p p)
+ (and (processp p) (not non-essential))
(not (tramp-file-name-equal-p
vec (car tramp-current-connection)))
(time-less-p
@@ -5815,6 +5862,12 @@
command))
(delete-file tmpfile)))))
+(defun tramp-get-remote-dev-tty (vec)
+ "Check, whether remote /dev/tty is usable."
+ (with-tramp-connection-property vec "dev-tty"
+ (tramp-send-command-and-check
+ vec "echo </dev/tty")))
+
;; Some predefined connection properties.
(defun tramp-get-inline-compress (vec prop size)
"Return the compress command related to PROP.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-smb.el
^
|
@@ -1126,7 +1126,9 @@
;; Insert size information.
(when full-directory-p
(insert
- (if avail
+ (if (and avail
+ ;; Emacs 29.1 or later.
+ (not (fboundp 'dired--insert-disk-space)))
(format "total used in directory %s available %s\n" used avail)
(format "total %s\n" used))))
@@ -1284,10 +1286,10 @@
;; Determine input.
(when infile
- (setq infile (expand-file-name infile))
+ (setq infile (tramp-compat-file-name-unquote (expand-file-name infile)))
(if (tramp-equal-remote default-directory infile)
;; INFILE is on the same remote host.
- (setq input (tramp-file-local-name infile))
+ (setq input (tramp-unquote-file-local-name infile))
;; INFILE must be copied to remote host.
(setq input (tramp-make-tramp-temp-file v)
tmpinput (tramp-make-tramp-file-name v input))
@@ -1376,8 +1378,7 @@
(when tmpinput (delete-file tmpinput))
(unless outbuf
(kill-buffer (tramp-get-connection-property v "process-buffer" nil)))
-
- (unless process-file-side-effects
+ (when process-file-side-effects
(tramp-flush-directory-properties v ""))
;; Return exit status.
@@ -1630,7 +1631,7 @@
v 3 (format "Moving tmp file %s to %s" tmpfile filename)
(unwind-protect
(unless (tramp-smb-send-command
- v (format "put %s \"%s\""
+ v (format "put \"%s\" \"%s\""
tmpfile (tramp-smb-get-localname v)))
(tramp-error v 'file-error "Cannot write `%s'" filename))
(delete-file tmpfile)))
@@ -1694,9 +1695,8 @@
(when (string-match "\\(\\$\\$\\)\\(/\\|$\\)" localname)
(setq localname (replace-match "$" nil nil localname 1)))
- ;; A period followed by a space, or trailing periods and spaces,
- ;; are not supported.
- (when (string-match-p "\\. \\|\\.$\\| $" localname)
+ ;; A trailing space is not supported.
+ (when (string-match-p " $" localname)
(tramp-error
vec 'file-error
"Invalid file name %s" (tramp-make-tramp-file-name vec localname)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-sshfs.el
^
|
@@ -51,11 +51,14 @@
(add-to-list 'tramp-methods
`(,tramp-sshfs-method
(tramp-mount-args (("-C") ("-p" "%p")
+ ("-o" "dir_cache=no")
+ ("-o" "transform_symlinks")
("-o" "idmap=user,reconnect")))
;; These are for remote processes.
(tramp-login-program "ssh")
- (tramp-login-args (("-q")("-l" "%u") ("-p" "%p")
- ("-e" "none") ("%h") ("%l")))
+ (tramp-login-args (("-q") ("-l" "%u") ("-p" "%p")
+ ("-e" "none") ("-t" "-t")
+ ("%h") ("%l")))
(tramp-direct-async t)
(tramp-remote-shell ,tramp-default-remote-shell)
(tramp-remote-shell-login ("-l"))
@@ -106,9 +109,9 @@
(file-name-nondirectory . tramp-handle-file-name-nondirectory)
;; `file-name-sans-versions' performed by default handler.
(file-newer-than-file-p . tramp-handle-file-newer-than-file-p)
- (file-notify-add-watch . ignore)
- (file-notify-rm-watch . ignore)
- (file-notify-valid-p . ignore)
+ (file-notify-add-watch . tramp-handle-file-notify-add-watch)
+ (file-notify-rm-watch . tramp-handle-file-notify-rm-watch)
+ (file-notify-valid-p . tramp-handle-file-notify-valid-p)
(file-ownership-preserved-p . ignore)
(file-readable-p . tramp-handle-file-readable-p)
(file-regular-p . tramp-handle-file-regular-p)
@@ -117,7 +120,7 @@
(file-symlink-p . tramp-handle-file-symlink-p)
(file-system-info . tramp-sshfs-handle-file-system-info)
(file-truename . tramp-handle-file-truename)
- (file-writable-p . tramp-handle-file-writable-p)
+ (file-writable-p . tramp-sshfs-handle-file-writable-p)
(find-backup-file-name . tramp-handle-find-backup-file-name)
;; `get-file-buffer' performed by default handler.
(insert-directory . tramp-handle-insert-directory)
@@ -136,7 +139,7 @@
(set-file-acl . ignore)
(set-file-modes . tramp-sshfs-handle-set-file-modes)
(set-file-selinux-context . ignore)
- (set-file-times . ignore)
+ (set-file-times . tramp-sshfs-handle-set-file-times)
(set-visited-file-modtime . tramp-handle-set-visited-file-modtime)
(shell-command . tramp-handle-shell-command)
(start-file-process . tramp-handle-start-file-process)
@@ -219,6 +222,10 @@
;;`file-system-info' exists since Emacs 27.1.
(tramp-compat-funcall 'file-system-info (tramp-fuse-local-file-name filename)))
+(defun tramp-sshfs-handle-file-writable-p (filename)
+ "Like `file-writable-p' for Tramp files."
+ (file-writable-p (tramp-fuse-local-file-name filename)))
+
(defun tramp-sshfs-handle-insert-file-contents
(filename &optional visit beg end replace)
"Like `insert-file-contents' for Tramp files."
@@ -239,16 +246,69 @@
(error "Implementation does not handle immediate return"))
(with-parsed-tramp-file-name (expand-file-name default-directory) nil
- (let ((command
+ (let ((coding-system-for-read 'utf-8-dos) ; Is this correct?
+ (command
(format
"cd %s && exec %s"
- localname
- (mapconcat #'tramp-shell-quote-argument (cons program args) " "))))
+ (tramp-unquote-shell-quote-argument localname)
+ (mapconcat #'tramp-shell-quote-argument (cons program args) " ")))
+ input tmpinput stderr tmpstderr outbuf)
+
+ ;; Determine input.
+ (if (null infile)
+ (setq input (tramp-get-remote-null-device v))
+ (setq infile (tramp-compat-file-name-unquote (expand-file-name infile)))
+ (if (tramp-equal-remote default-directory infile)
+ ;; INFILE is on the same remote host.
+ (setq input (tramp-unquote-file-local-name infile))
+ ;; INFILE must be copied to remote host.
+ (setq input (tramp-make-tramp-temp-file v)
+ tmpinput (tramp-make-tramp-file-name v input 'nohop))
+ (copy-file infile tmpinput t)))
+ (when input (setq command (format "%s <%s" command input)))
+
+ ;; Determine output.
+ (cond
+ ;; Just a buffer.
+ ((bufferp destination)
+ (setq outbuf destination))
+ ;; A buffer name.
+ ((stringp destination)
+ (setq outbuf (get-buffer-create destination)))
+ ;; (REAL-DESTINATION ERROR-DESTINATION)
+ ((consp destination)
+ ;; output.
+ (cond
+ ((bufferp (car destination))
+ (setq outbuf (car destination)))
+ ((stringp (car destination))
+ (setq outbuf (get-buffer-create (car destination))))
+ ((car destination)
+ (setq outbuf (current-buffer))))
+ ;; stderr.
+ (cond
+ ((stringp (cadr destination))
+ (setcar (cdr destination) (expand-file-name (cadr destination)))
+ (if (tramp-equal-remote default-directory (cadr destination))
+ ;; stderr is on the same remote host.
+ (setq stderr (tramp-unquote-file-local-name (cadr destination)))
+ ;; stderr must be copied to remote host. The temporary
+ ;; file must be deleted after execution.
+ (setq stderr (tramp-make-tramp-temp-file v)
+ tmpstderr (tramp-make-tramp-file-name v stderr))))
+ ;; stderr to be discarded.
+ ((null (cadr destination))
+ (setq stderr (tramp-get-remote-null-device v)))))
+ ;; 't
+ (destination
+ (setq outbuf (current-buffer))))
+ (when stderr (setq command (format "%s 2>%s" command stderr)))
+
(unwind-protect
(apply
#'tramp-call-process
v (tramp-get-method-parameter v 'tramp-login-program)
- infile destination display
+ nil outbuf display
(tramp-expand-args
v 'tramp-login-args
?h (or (tramp-file-name-host v) "")
@@ -256,7 +316,20 @@
?p (or (tramp-file-name-port v) "")
?l command))
- (unless process-file-side-effects
+ ;; Synchronize stderr.
+ (when tmpstderr
+ (tramp-cleanup-connection v 'keep-debug 'keep-password)
+ (tramp-fuse-unmount v))
+
+ ;; Provide error file.
+ (when tmpstderr
+ (rename-file tmpstderr (cadr destination) t))
+
+ ;; Cleanup. We remove all file cache values for the
+ ;; connection, because the remote process could have changed
+ ;; them.
+ (when tmpinput (delete-file tmpinput))
+ (when process-file-side-effects
(tramp-flush-directory-properties v ""))))))
(defun tramp-sshfs-handle-rename-file
@@ -285,6 +358,15 @@
(tramp-compat-set-file-modes
(tramp-fuse-local-file-name filename) mode flag))))
+(defun tramp-sshfs-handle-set-file-times (filename &optional timestamp flag)
+ "Like `set-file-times' for Tramp files."
+ (or (file-exists-p filename) (write-region "" nil filename nil 0))
+ (with-parsed-tramp-file-name filename nil
+ (unless (and (eq flag 'nofollow) (file-symlink-p filename))
+ (tramp-flush-file-properties v localname)
+ (tramp-compat-set-file-times
+ (tramp-fuse-local-file-name filename) timestamp flag))))
+
(defun tramp-sshfs-handle-write-region
(start end filename &optional append visit lockname mustbenew)
"Like `write-region' for Tramp files."
@@ -313,6 +395,13 @@
start end (tramp-fuse-local-file-name filename) append 'nomessage)
(tramp-flush-file-properties v localname))
+ ;; Set file modification time.
+ (when (or (eq visit t) (stringp visit))
+ (set-visited-file-modtime
+ (or (tramp-compat-file-attribute-modification-time
+ (file-attributes filename))
+ (current-time))))
+
;; Unlock file.
(when file-locked
;; `unlock-file' exists since Emacs 28.1.
@@ -345,9 +434,6 @@
(process-put p 'vector vec)
(set-process-query-on-exit-flag p nil)
- ;; Mark process for filelock.
- (tramp-set-connection-property p "lock-pid" (truncate (time-to-seconds)))
-
;; Set connection-local variables.
(tramp-set-connection-local-variables vec)))
@@ -386,6 +472,24 @@
(with-tramp-connection-property
vec "gid-string" (tramp-get-local-gid 'string)))
+;; `shell-mode' tries to open remote files like "/sshfs:user@host:~/.history".
+;; This fails, because the tilde cannot be expanded. Tell
+;; `tramp-handle-expand-file-name' to tolerate this.
+(defun tramp-sshfs-tolerate-tilde (orig-fun)
+ "Advice for `shell-mode' to tolerate tilde in remote file names."
+ (let ((tramp-tolerate-tilde
+ (or tramp-tolerate-tilde
+ (equal (file-remote-p default-directory 'method)
+ tramp-sshfs-method))))
+ (funcall orig-fun)))
+
+(add-function
+ :around (symbol-function #'shell-mode) #'tramp-sshfs-tolerate-tilde)
+(add-hook 'tramp-sshfs-unload-hook
+ (lambda ()
+ (remove-function
+ (symbol-function #'shell-mode) #'tramp-sshfs-tolerate-tilde)))
+
(add-hook 'tramp-unload-hook
(lambda ()
(unload-feature 'tramp-sshfs 'force)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp-sudoedit.el
^
|
@@ -99,9 +99,9 @@
(file-name-nondirectory . tramp-handle-file-name-nondirectory)
;; `file-name-sans-versions' performed by default handler.
(file-newer-than-file-p . tramp-handle-file-newer-than-file-p)
- (file-notify-add-watch . ignore)
- (file-notify-rm-watch . ignore)
- (file-notify-valid-p . ignore)
+ (file-notify-add-watch . tramp-handle-file-notify-add-watch)
+ (file-notify-rm-watch . tramp-handle-file-notify-rm-watch)
+ (file-notify-valid-p . tramp-handle-file-notify-valid-p)
(file-ownership-preserved-p . ignore)
(file-readable-p . tramp-sudoedit-handle-file-readable-p)
(file-regular-p . tramp-handle-file-regular-p)
@@ -336,7 +336,7 @@
(if (and delete-by-moving-to-trash trash)
(move-file-to-trash filename)
(unless (tramp-sudoedit-send-command
- v "rm" (tramp-compat-file-name-unquote localname))
+ v "rm" "-f" (tramp-compat-file-name-unquote localname))
;; Propagate the error.
(with-current-buffer (tramp-get-connection-buffer v)
(goto-char (point-min))
@@ -789,9 +789,6 @@
(process-put p 'vector vec)
(set-process-query-on-exit-flag p nil)
- ;; Mark process for filelock.
- (tramp-set-connection-property p "lock-pid" (truncate (time-to-seconds)))
-
;; Set connection-local variables.
(tramp-set-connection-local-variables vec)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/tramp.el
^
|
@@ -106,8 +106,8 @@
4 activities
5 internal
6 sent and received strings
- 7 file caching
- 8 connection properties
+ 7 connection properties
+ 8 file caching
9 test commands
10 traces (huge)
11 call traces (maintainer only)."
@@ -185,7 +185,7 @@
;; Since Emacs 26.1, `system-name' can return nil at build time if
;; Emacs is compiled with "--no-build-details". We do expect it to be
-;; a string. (Bug#44481)
+;; a string. (Bug#44481, Bug#54294)
(defconst tramp-system-name (or (system-name) "")
"The system name Tramp is running locally.")
@@ -238,7 +238,7 @@
unchanged after expansion (i.e. no host, no user or no port
were specified), that sublist is not used. For e.g.
- '((\"-a\" \"-b\") (\"-l\" \"%u\"))
+ \\='((\"-a\" \"-b\") (\"-l\" \"%u\"))
that means that (\"-l\" \"%u\") is used only if the user was
specified, and it is thus effectively optional.
@@ -255,6 +255,8 @@
- \"%n\" expands to \"2>/dev/null\".
- \"%x\" is replaced by the `tramp-scp-strict-file-name-checking'
argument if it is supported.
+ - \"%y\" is replaced by the `tramp-scp-force-scp-protocol'
+ argument if it is supported.
The existence of `tramp-login-args', combined with the
absence of `tramp-copy-args', is an indication that the
@@ -495,7 +497,8 @@
;; either lower case or upper case letters. See
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=38079#20>.
(defcustom tramp-restricted-shell-hosts-alist
- (when (eq system-type 'windows-nt)
+ (when (and (eq system-type 'windows-nt)
+ (not (string-match-p "sh$" tramp-encoding-shell)))
(list (format "\\`\\(%s\\|%s\\)\\'"
(regexp-quote (downcase tramp-system-name))
(regexp-quote (upcase tramp-system-name)))))
@@ -609,7 +612,7 @@
"Regexp matching password-like prompts.
The regexp should match at end of buffer.
-This variable is, by default, initialised from
+This variable is, by default, initialized from
`password-word-equivalents' when Tramp is loaded, and it is
usually more convenient to add new passphrases to that variable
instead of altering this variable.
@@ -1409,8 +1412,11 @@
;; internal data structure. Convenience functions for internal
;; data structure.
-;; The basic structure for remote file names. We use a list :type,
-;; in order to be compatible with Emacs 25.
+;; The basic structure for remote file names. We use a list :type, in
+;; order to be compatible with Emacs 25. We must autoload it in
+;; tramp-loaddefs.el, because some functions, which need it, wouldn't
+;; work otherwise when unloading / reloading Tramp. (Bug#50869)
+;;;###tramp-autoload
(cl-defstruct (tramp-file-name (:type list) :named)
method user domain host port localname hop)
@@ -2186,10 +2192,14 @@
(defun tramp-test-message (fmt-string &rest arguments)
"Emit a Tramp message according `default-directory'."
- (if (tramp-tramp-file-p default-directory)
- (apply #'tramp-message
- (tramp-dissect-file-name default-directory) 0 fmt-string arguments)
- (apply #'message fmt-string arguments)))
+ (cond
+ ((tramp-tramp-file-p default-directory)
+ (apply #'tramp-message
+ (tramp-dissect-file-name default-directory) 0 fmt-string arguments))
+ ((tramp-file-name-p (car tramp-current-connection))
+ (apply #'tramp-message
+ (car tramp-current-connection) 0 fmt-string arguments))
+ (t (apply #'message fmt-string arguments))))
(put #'tramp-test-message 'tramp-suppress-trace t)
@@ -2676,17 +2686,21 @@
(load "tramp" 'noerror 'nomessage)))
(apply operation args)))
+(put #'tramp-autoload-file-name-handler 'tramp-autoload t)
+
;; `tramp-autoload-file-name-handler' must be registered before
;; evaluation of site-start and init files, because there might exist
;; remote files already, f.e. files kept via recentf-mode.
;;;###autoload
(progn (defun tramp-register-autoload-file-name-handlers ()
"Add Tramp file name handlers to `file-name-handler-alist' during autoload."
- (add-to-list 'file-name-handler-alist
- (cons tramp-autoload-file-name-regexp
- #'tramp-autoload-file-name-handler))
- (put #'tramp-autoload-file-name-handler 'safe-magic t)))
+ (unless (rassq #'tramp-file-name-handler file-name-handler-alist)
+ (add-to-list 'file-name-handler-alist
+ (cons tramp-autoload-file-name-regexp
+ #'tramp-autoload-file-name-handler))
+ (put #'tramp-autoload-file-name-handler 'safe-magic t))))
+(put #'tramp-register-autoload-file-name-handlers 'tramp-autoload t)
;;;###autoload (tramp-register-autoload-file-name-handlers)
(defun tramp-use-absolute-autoload-file-names ()
@@ -2799,6 +2813,7 @@
(string-prefix-p "tramp-" (symbol-name (cdr fnh))))
(setq file-name-handler-alist (delq fnh file-name-handler-alist))))))
+(put #'tramp-unload-file-name-handlers 'tramp-autoload t)
(add-hook 'tramp-unload-hook #'tramp-unload-file-name-handlers)
;;; File name handler functions for completion mode:
@@ -3378,6 +3393,10 @@
(if (file-directory-p dir) dir (file-name-directory dir)) nil
(tramp-flush-directory-properties v localname)))
+(defvar tramp-tolerate-tilde nil
+ "Indicator, that not expandable tilde shall be tolerated.
+Let-bind it when necessary.")
+
(defun tramp-handle-expand-file-name (name &optional dir)
"Like `expand-file-name' for Tramp files."
;; If DIR is not given, use DEFAULT-DIRECTORY or "/".
@@ -3394,6 +3413,10 @@
(with-parsed-tramp-file-name name nil
(unless (tramp-run-real-handler #'file-name-absolute-p (list localname))
(setq localname (concat "/" localname)))
+ ;; Tilde expansion is not possible.
+ (when (and (not tramp-tolerate-tilde)
+ (string-match-p "\\`\\(~[^/]*\\)\\(.*\\)\\'" localname))
+ (tramp-error v 'file-error "Cannot expand tilde in file `%s'" name))
;; Do not keep "/..".
(when (string-match-p "^/\\.\\.?$" localname)
(setq localname "/"))
@@ -3403,7 +3426,9 @@
(let ((default-directory tramp-compat-temporary-file-directory))
(tramp-make-tramp-file-name
v (tramp-drop-volume-letter
- (tramp-run-real-handler #'expand-file-name (list localname))))))))
+ (if (string-match-p "\\`\\(~[^/]*\\)\\(.*\\)\\'" localname)
+ localname
+ (tramp-run-real-handler #'expand-file-name (list localname)))))))))
(defun tramp-handle-file-accessible-directory-p (filename)
"Like `file-accessible-directory-p' for Tramp files."
@@ -3793,7 +3818,7 @@
;; When we shall insert only a part of the file, we
;; copy this part. This works only for the shell file
- ;; name handlers. It doesn't work for crypted files.
+ ;; name handlers. It doesn't work for encrypted files.
(when (and (or beg end)
(tramp-sh-file-name-handler-p v)
(null tramp-crypt-enabled))
@@ -3890,16 +3915,19 @@
(insert-file-contents-literally lockname)
(buffer-string))))))
+(defvar tramp-lock-pid nil
+ "A random number local for every connection.
+Do not set it manually, it is used buffer-local in `tramp-get-lock-pid'.")
+
(defun tramp-get-lock-pid (file)
"Determine pid for lockfile of FILE."
- ;; Some Tramp methods do not offer a connection process, but just a
- ;; network process as a place holder. Those processes use the
- ;; "lock-pid" connection property as fake pid, in fact it is the
- ;; time stamp the process is created.
- (let ((p (tramp-get-process (tramp-dissect-file-name file))))
- (number-to-string
- (or (process-id p)
- (tramp-get-connection-property p "lock-pid" (emacs-pid))))))
+ ;; Not all Tramp methods use an own process. So we use a random
+ ;; number, which is as good as a process id.
+ (with-current-buffer
+ (tramp-get-connection-buffer (tramp-dissect-file-name file))
+ (or tramp-lock-pid
+ (setq-local
+ tramp-lock-pid (number-to-string (random most-positive-fixnum))))))
(defconst tramp-lock-file-info-regexp
;; USER@HOST.PID[:BOOT_TIME]
@@ -3910,9 +3938,11 @@
"Like `file-locked-p' for Tramp files."
(when-let ((info (tramp-get-lock-file file))
(match (string-match tramp-lock-file-info-regexp info)))
- (or (and (string-equal (match-string 1 info) (user-login-name))
- (string-equal (match-string 2 info) (system-name))
+ (or ; Locked by me.
+ (and (string-equal (match-string 1 info) (user-login-name))
+ (string-equal (match-string 2 info) tramp-system-name)
(string-equal (match-string 3 info) (tramp-get-lock-pid file)))
+ ; User name.
(match-string 1 info))))
(defun tramp-handle-lock-file (file)
@@ -3921,6 +3951,14 @@
;; was visited.
(catch 'dont-lock
(unless (eq (file-locked-p file) t) ;; Locked by me.
+ (when (and buffer-file-truename
+ (not (verify-visited-file-modtime))
+ (file-exists-p file))
+ ;; In filelock.c, `userlock--ask-user-about-supersession-threat'
+ ;; is called, which also checks file contents. This is unwise
+ ;; for remote files.
+ (ask-user-about-supersession-threat file))
+
(when-let ((info (tramp-get-lock-file file))
(match (string-match tramp-lock-file-info-regexp info)))
(unless (ask-user-about-lock
@@ -3933,7 +3971,7 @@
;; USER@HOST.PID[:BOOT_TIME]
(info
(format
- "%s@%s.%s" (user-login-name) (system-name)
+ "%s@%s.%s" (user-login-name) tramp-system-name
(tramp-get-lock-pid file))))
;; Protect against security hole.
@@ -4198,7 +4236,9 @@
(command (mapconcat #'tramp-shell-quote-argument command " "))
;; Set cwd and environment variables.
(command
- (append `("cd" ,localname "&&" "(" "env") env `(,command ")"))))
+ (append
+ `("cd" ,(tramp-shell-quote-argument localname) "&&" "(" "env")
+ env `(,command ")"))))
;; Check for `tramp-sh-file-name-handler', because something
;; is different between tramp-sh.el, and tramp-adb.el or
@@ -4464,10 +4504,7 @@
;; We must disable cygwin-mount file name
;; handlers and alike.
(tramp-run-real-handler
- #'substitute-in-file-name (list localname))))))))
- ;; "/m:h:~" does not work for completion. We use "/m:h:~/".
- (if (and (stringp localname) (string-equal "~" localname))
- (concat filename "/")
+ #'substitute-in-file-name (list localname)))))))
filename))))
(defconst tramp-time-dont-know '(0 0 0 1000)
@@ -4871,8 +4908,9 @@
(tramp-message vec 6 "\n%s" (buffer-string)))
(if (eq exit 'ok)
(ignore-errors
- (and (functionp tramp-password-save-function)
- (funcall tramp-password-save-function)))
+ (when (functionp tramp-password-save-function)
+ (funcall tramp-password-save-function)
+ (setq tramp-password-save-function nil)))
;; Not successful.
(tramp-clear-passwd vec)
(delete-process proc)
@@ -5310,7 +5348,8 @@
(offset (cond
((eq ?r access) 1)
((eq ?w access) 2)
- ((eq ?x access) 3))))
+ ((eq ?x access) 3)
+ ((eq ?s access) 3))))
(dolist (suffix '("string" "integer") result)
(setq
result
@@ -5343,7 +5382,8 @@
(and
(eq access
(aref (tramp-compat-file-attribute-modes file-attr) offset))
- (or (equal remote-uid
+ (or (equal remote-uid unknown-id)
+ (equal remote-uid
(tramp-compat-file-attribute-user-id file-attr))
(equal unknown-id
(tramp-compat-file-attribute-user-id file-attr))))
@@ -5352,7 +5392,8 @@
(eq access
(aref (tramp-compat-file-attribute-modes file-attr)
(+ offset 3)))
- (or (equal remote-gid
+ (or (equal remote-gid unknown-id)
+ (equal remote-gid
(tramp-compat-file-attribute-group-id file-attr))
(equal unknown-id
(tramp-compat-file-attribute-group-id
@@ -5398,7 +5439,7 @@
;; handlers. `tramp-local-host-p' is also called for "smb" and
;; alike, where it must fail.
(tramp-sh-file-name-handler-p vec)
- ;; Direct actions aren't possible for crypted directories.
+ ;; Direct actions aren't possible for encrypted directories.
(null tramp-crypt-enabled)
;; The local temp directory must be writable for the other user.
(file-writable-p
@@ -5628,14 +5669,15 @@
"Return t if system process PROCESS-NAME is running for `user-login-name'."
(when (stringp process-name)
(catch 'result
- (dolist (pid (list-system-processes))
- (when-let ((attributes (process-attributes pid))
- (comm (cdr (assoc 'comm attributes))))
- (and (string-equal (cdr (assoc 'user attributes)) (user-login-name))
- ;; The returned command name could be truncated to 15
- ;; characters. Therefore, we cannot check for `string-equal'.
- (string-prefix-p comm process-name)
- (throw 'result t)))))))
+ (let ((default-directory temporary-file-directory))
+ (dolist (pid (list-system-processes))
+ (when-let ((attributes (process-attributes pid))
+ (comm (cdr (assoc 'comm attributes))))
+ (and (string-equal (cdr (assoc 'user attributes)) (user-login-name))
+ ;; The returned command name could be truncated to 15
+ ;; characters. Therefore, we cannot check for `string-equal'.
+ (string-prefix-p comm process-name)
+ (throw 'result t))))))))
;; When calling "emacs -Q", `auth-source-search' won't be called. If
;; you want to debug exactly this case, call "emacs -Q --eval '(setq
@@ -5660,7 +5702,9 @@
(or prompt
(with-current-buffer (process-buffer proc)
(tramp-check-for-regexp proc tramp-password-prompt-regexp)
- (format "%s for %s " (capitalize (match-string 1)) key))))
+ (if (string-match-p "passphrase" (match-string 1))
+ (match-string 0)
+ (format "%s for %s " (capitalize (match-string 1)) key)))))
(auth-source-creation-prompts `((secret . ,pw-prompt)))
;; Use connection-local value.
(auth-sources (with-current-buffer (process-buffer proc) auth-sources))
@@ -5872,6 +5916,8 @@
;; Maybe it's not loaded yet.
(ignore-errors (unload-feature 'tramp 'force))))
+(put #'tramp-unload-tramp 'tramp-autoload t)
+
(provide 'tramp)
(run-hooks 'tramp--startup-hook)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/net/trampver.el
^
|
@@ -7,7 +7,7 @@
;; Maintainer: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, processes
;; Package: tramp
-;; Version: 2.5.2.28.1
+;; Version: 2.5.3.28.2
;; Package-Requires: ((emacs "25.1"))
;; Package-Type: multi
;; URL: https://www.gnu.org/software/tramp/
@@ -40,7 +40,7 @@
;; ./configure" to change them.
;;;###tramp-autoload
-(defconst tramp-version "2.5.2.28.1"
+(defconst tramp-version "2.5.3.28.2"
"This version of Tramp.")
;;;###tramp-autoload
@@ -58,6 +58,7 @@
;; `emacs-repository-get-branch' has been introduced with Emacs 27.1.
(with-no-warnings
(and (stringp dir) (file-directory-p dir)
+ (executable-find "git")
(emacs-repository-get-branch dir)))))
"The repository branch of the Tramp sources.")
@@ -70,13 +71,14 @@
(dir (or (locate-dominating-file (locate-library "tramp") ".git")
source-directory)))
(and (stringp dir) (file-directory-p dir)
+ (executable-find "git")
(emacs-repository-get-version dir))))
"The repository revision of the Tramp sources.")
;; Check for Emacs version.
(let ((x (if (not (string-lessp emacs-version "25.1"))
"ok"
- (format "Tramp 2.5.2.28.1 is not fit for %s"
+ (format "Tramp 2.5.3.28.2 is not fit for %s"
(replace-regexp-in-string "\n" "" (emacs-version))))))
(unless (string-equal "ok" x) (error "%s" x)))
@@ -102,7 +104,7 @@
("2.3.3" . "26.1") ("2.3.3.26.1" . "26.1") ("2.3.5.26.2" . "26.2")
("2.3.5.26.3" . "26.3")
("2.4.3.27.1" . "27.1") ("2.4.5.27.2" . "27.2")
- ("2.5.2.28.1" . "28.1")))
+ ("2.5.2.28.1" . "28.1") ("2.5.3.28.2" . "28.2")))
(add-hook 'tramp-unload-hook
(lambda ()
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ChangeLog.1
^
|
@@ -4001,7 +4001,7 @@
buffer.
(org-agenda-ignore-drawer-properties): New option.
(org-agenda-prepare-buffers):
- Honour `org-agenda-ignore-drawer-properties'.
+ Honor `org-agenda-ignore-drawer-properties'.
* org-clock.el (org-clock-goto): Recenter to thrd line
@@ -4134,7 +4134,7 @@
(orgstruct-heading-prefix-regexp, orgstruct-setup-hook):
New options.
(orgstruct-initialized): New variable.
- (org-get-local-variables): Honour state property.
+ (org-get-local-variables): Honor state property.
(org-run-like-in-org-mode): Use `let' instead of `progv'. Do not
override variables with non-default values.
(org-forward-heading-same-level): Do not skip to headlines on
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ob-core.el
^
|
@@ -480,7 +480,7 @@
evaluates to a string. The closure is evaluated when the source
block is being evaluated (e.g. during execution or export), with
point at the source block. It is not possible to use an
-arbitrary function symbol (e.g. 'some-func), since org uses
+arbitrary function symbol (e.g. `some-func'), since org uses
lexical binding. To achieve the same functionality, call the
function within a closure (e.g. (lambda () (some-func))).
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ob-julia.el
^
|
@@ -26,6 +26,9 @@
;; Org-Babel support for evaluating julia code
;;
;; Based on ob-R.el by Eric Schulte and Dan Davison.
+;;
+;; Session support requires the installation of the DataFrames and CSV
+;; Julia packages.
;;; Code:
(require 'cl-lib)
@@ -62,6 +65,7 @@
(defvar ess-current-process-name) ; dynamically scoped
(defvar ess-local-process-name) ; dynamically scoped
(defvar ess-eval-visibly-p) ; dynamically scoped
+(defvar ess-local-customize-alist); dynamically scoped
(defun org-babel-edit-prep:julia (info)
(let ((session (cdr (assq :session (nth 2 info)))))
(when (and session
@@ -250,8 +254,8 @@
(defun org-babel-julia-evaluate-external-process
(body result-type result-params column-names-p)
"Evaluate BODY in external julia process.
-If RESULT-TYPE equals 'output then return standard output as a
-string. If RESULT-TYPE equals 'value then return the value of the
+If RESULT-TYPE equals `output' then return standard output as a
+string. If RESULT-TYPE equals `value' then return the value of the
last statement in BODY, as elisp."
(cl-case result-type
(value
@@ -274,14 +278,15 @@
(defun org-babel-julia-evaluate-session
(session body result-type result-params column-names-p)
"Evaluate BODY in SESSION.
-If RESULT-TYPE equals 'output then return standard output as a
-string. If RESULT-TYPE equals 'value then return the value of the
+If RESULT-TYPE equals `output' then return standard output as a
+string. If RESULT-TYPE equals `value' then return the value of the
last statement in BODY, as elisp."
(cl-case result-type
(value
(with-temp-buffer
(insert (org-babel-chomp body))
- (let ((ess-local-process-name
+ (let ((ess-local-customize-alist t)
+ (ess-local-process-name
(process-name (get-buffer-process session)))
(ess-eval-visibly-p nil))
(ess-eval-buffer nil)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ob-lua.el
^
|
@@ -395,7 +395,7 @@
(org-babel-lua-table-or-string results)))))
(defun org-babel-lua-read-string (string)
- "Strip 's from around Lua string."
+ "Strip \\=' characters from around Lua string."
(org-unbracket-string "'" "'" string))
(provide 'ob-lua)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ob-table.el
^
|
@@ -84,7 +84,7 @@
#+end_src
NOTE: The quotation marks around the function name,
-'source-block', are optional.
+`source-block', are optional.
NOTE: By default, string variable names are interpreted as
references to source-code blocks, to force interpretation of a
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ob-tangle.el
^
|
@@ -581,7 +581,10 @@
(error "Not in tangled code"))
(setq body (buffer-substring body-start end)))
;; Go to the beginning of the relative block in Org file.
- (org-link-open-from-string link)
+ ;; Explicitly allow fuzzy search even if user customized
+ ;; otherwise.
+ (let (org-link-search-must-match-exact-headline)
+ (org-link-open-from-string link))
(setq target-buffer (current-buffer))
(if (string-match "[^ \t\n\r]:\\([[:digit:]]+\\)" block-name)
(let ((n (string-to-number (match-string 1 block-name))))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/oc-basic.el
^
|
@@ -73,6 +73,7 @@
(require 'seq)
(declare-function org-open-at-point "org" (&optional arg))
+(declare-function org-open-file "org" (path &optional in-emacs line search))
(declare-function org-element-interpret-data "org-element" (data))
(declare-function org-element-property "org-element" (property element))
@@ -189,7 +190,14 @@
(cons 'year
(cond
((consp date)
- (caar date))
+ (let ((year (caar date)))
+ (cond
+ ((numberp year) (number-to-string year))
+ ((stringp year) year)
+ (t
+ (error
+ "First element of CSL-JSON date-parts should be a number or string, got %s: %S"
+ (type-of year) year)))))
((stringp date)
(replace-regexp-in-string
(rx
@@ -233,6 +241,8 @@
entries)))
entries))
+(defvar org-cite-basic--file-id-cache nil
+ "Hash table linking files to their hash.")
(defun org-cite-basic--parse-bibliography (&optional info)
"List all entries available in the buffer.
@@ -245,14 +255,19 @@
as symbols, and values as strings or nil.
Optional argument INFO is the export state, as a property list."
+ (unless (hash-table-p org-cite-basic--file-id-cache)
+ (setq org-cite-basic--file-id-cache (make-hash-table :test #'equal)))
(if (plist-member info :cite-basic/bibliography)
(plist-get info :cite-basic/bibliography)
(let ((results nil))
(dolist (file (org-cite-list-bibliography-files))
(when (file-readable-p file)
(with-temp-buffer
- (insert-file-contents file)
- (let* ((file-id (cons file (org-buffer-hash)))
+ (when (or (org-file-has-changed-p file)
+ (not (gethash file org-cite-basic--file-id-cache)))
+ (insert-file-contents file)
+ (puthash file (org-buffer-hash) org-cite-basic--file-id-cache))
+ (let* ((file-id (cons file (gethash file org-cite-basic--file-id-cache)))
(entries
(or (cdr (assoc file-id org-cite-basic--bibliography-cache))
(let ((table
@@ -727,19 +742,24 @@
(t
(clrhash org-cite-basic--completion-cache)
(dolist (key (org-cite-basic--all-keys))
- (let ((completion
- (concat
- (let ((author (org-cite-basic--get-field 'author key nil t)))
- (if author
- (truncate-string-to-width
- (replace-regexp-in-string " and " "; " author)
- org-cite-basic-author-column-end nil ?\s)
- (make-string org-cite-basic-author-column-end ?\s)))
- org-cite-basic-column-separator
- (let ((date (org-cite-basic--get-year key nil 'no-suffix)))
- (format "%4s" (or date "")))
- org-cite-basic-column-separator
- (org-cite-basic--get-field 'title key nil t))))
+ (let* ((entry (org-cite-basic--get-entry
+ key
+ ;; Supply pre-calculated bibliography to avoid
+ ;; performance degradation.
+ (list :cite-basic/bibliography entries)))
+ (completion
+ (concat
+ (let ((author (org-cite-basic--get-field 'author entry nil 'raw)))
+ (if author
+ (truncate-string-to-width
+ (replace-regexp-in-string " and " "; " author)
+ org-cite-basic-author-column-end nil ?\s)
+ (make-string org-cite-basic-author-column-end ?\s)))
+ org-cite-basic-column-separator
+ (let ((date (org-cite-basic--get-year entry nil 'no-suffix)))
+ (format "%4s" (or date "")))
+ org-cite-basic-column-separator
+ (org-cite-basic--get-field 'title entry nil t))))
(puthash completion key org-cite-basic--completion-cache)))
(unless (map-empty-p org-cite-basic--completion-cache) ;no key
(puthash entries t org-cite-basic--completion-cache)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/oc-biblatex.el
^
|
@@ -164,12 +164,7 @@
(mapconcat (lambda (r)
(org-cite-biblatex--atomic-arguments (list r) info))
(org-cite-get-references citation)
- "")
- ;; According to BibLaTeX manual, left braces or brackets
- ;; following a multicite command could be parsed as other
- ;; arguments. So we stop any further parsing by inserting
- ;; a \relax unconditionally.
- "\\relax")))
+ ""))))
(defun org-cite-biblatex--command (citation info base &optional multi no-opt)
"Return biblatex command using BASE name for CITATION object.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ol.el
^
|
@@ -937,7 +937,7 @@
(defun org-link-decode (s)
"Decode percent-encoded parts in string S.
-E.g. \"%C3%B6\" becomes the german o-Umlaut."
+E.g. \"%C3%B6\" becomes the German o-Umlaut."
(replace-regexp-in-string "\\(%[0-9A-Za-z]\\{2\\}\\)+"
#'org-link--decode-compound s t t))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/org-agenda.el
^
|
@@ -1615,7 +1615,7 @@
The different possibilities will be tried in sequence, and testing stops
if one comparison returns a \"not-equal\". For example, the default
- '(time-up category-keep priority-down)
+ `(time-up category-keep priority-down)'
means: Pull out all entries having a specified time of day and sort them,
in order to make a time schedule for the current day the first thing in the
agenda listing for the day. Of the entries without a time indication, keep
@@ -4124,7 +4124,7 @@
If the header at `org-hd-marker' is blocked according to
`org-entry-blocked-p', then if `org-agenda-dim-blocked-tasks' is
-'invisible and the header is not blocked by checkboxes, set the
+`invisible' and the header is not blocked by checkboxes, set the
text property `org-todo-blocked' to `invisible', otherwise set it
to t."
(when (get-text-property 0 'todo-state entry)
@@ -4859,7 +4859,7 @@
;;;###autoload
(defun org-todo-list (&optional arg)
- "Show all (not done) TODO entries from all agenda file in a single list.
+ "Show all (not done) TODO entries from all agenda files in a single list.
The prefix arg can be used to select a specific TODO keyword and limit
the list to these. When using `\\[universal-argument]', you will be prompted
for a keyword. A numeric prefix directly selects the Nth keyword in
@@ -5732,7 +5732,7 @@
(org-before-first-heading-p)
(and org-agenda-include-inactive-timestamps
(org-at-clock-log-p))
- (not (eq 'timestamp (org-element-type (org-element-context)))))
+ (not (org-at-timestamp-p 'agenda)))
(throw :skip nil))
(org-agenda-skip))
(let* ((pos (match-beginning 0))
@@ -7180,12 +7180,13 @@
(concat
(substring x 0 (match-end 1))
(unless (string= org-agenda-todo-keyword-format "")
- (format org-agenda-todo-keyword-format
- (match-string 2 x)))
- ;; Remove `display' property as the icon could leak
- ;; on the white space.
- (org-add-props " " (org-plist-delete (text-properties-at 0 x)
- 'display))
+ (format org-agenda-todo-keyword-format
+ (match-string 2 x)))
+ (unless (string= org-agenda-todo-keyword-format "")
+ ;; Remove `display' property as the icon could leak
+ ;; on the white space.
+ (org-add-props " " (org-plist-delete (text-properties-at 0 x)
+ 'display)))
(substring x (match-end 3)))))))
x)))
@@ -7398,7 +7399,7 @@
When in a restricted subtree, remove it.
The restriction will span over the entire file if TYPE is `file',
-or if type is '(4), or if the cursor is before the first headline
+or if type is \\='(4), or if the cursor is before the first headline
in the file. Otherwise, only apply the restriction to the current
subtree."
(interactive "P")
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/org-clock.el
^
|
@@ -1106,7 +1106,7 @@
60))
(keep
(or (and (memq ch '(?k ?K))
- (read-number "Keep how many minutes? " default))
+ (read-number "Keep how many minutes: " default))
(and (memq ch '(?t ?T))
(floor
(/ (float-time
@@ -1114,7 +1114,7 @@
60)))))
(gotback
(and (memq ch '(?g ?G))
- (read-number "Got back how many minutes ago? " default)))
+ (read-number "Got back how many minutes ago: " default)))
(subtractp (memq ch '(?s ?S)))
(barely-started-p (org-time-less-p
(org-time-subtract last-valid (cdr clock))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/org-compat.el
^
|
@@ -72,6 +72,35 @@
(defvar org-table1-hline-regexp)

+;;; Emacs < 29 compatibility
+
+(defvar org-file-has-changed-p--hash-table (make-hash-table :test #'equal)
+ "Internal variable used by `org-file-has-changed-p'.")
+
+(if (fboundp 'file-has-changed-p)
+ (defalias 'org-file-has-changed-p #'file-has-changed-p)
+ (defun org-file-has-changed-p (file &optional tag)
+ "Return non-nil if FILE has changed.
+The size and modification time of FILE are compared to the size
+and modification time of the same FILE during a previous
+invocation of `org-file-has-changed-p'. Thus, the first invocation
+of `org-file-has-changed-p' always returns non-nil when FILE exists.
+The optional argument TAG, which must be a symbol, can be used to
+limit the comparison to invocations with identical tags; it can be
+the symbol of the calling function, for example."
+ (let* ((file (directory-file-name (expand-file-name file)))
+ (remote-file-name-inhibit-cache t)
+ (fileattr (file-attributes file 'integer))
+ (attr (and fileattr
+ (cons (file-attribute-size fileattr)
+ (file-attribute-modification-time fileattr))))
+ (sym (concat (symbol-name tag) "@" file))
+ (cachedattr (gethash sym org-file-has-changed-p--hash-table)))
+ (when (not (equal attr cachedattr))
+ (puthash sym attr org-file-has-changed-p--hash-table)))))
+
+
+
;;; Emacs < 28.1 compatibility
(if (fboundp 'directory-empty-p)
@@ -84,6 +113,11 @@

;;; Emacs < 27.1 compatibility
+(if (version< emacs-version "27.1")
+ (defsubst org-replace-buffer-contents (source &optional _max-secs _max-costs)
+ (replace-buffer-contents source))
+ (defalias 'org-replace-buffer-contents #'replace-buffer-contents))
+
(unless (fboundp 'proper-list-p)
;; `proper-list-p' was added in Emacs 27.1. The function below is
;; taken from Emacs subr.el 200195e824b^.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/org-faces.el
^
|
@@ -38,8 +38,7 @@
:group 'org-faces)
(defface org-hide
- '((default :inherit fixed-pitch)
- (((background light)) (:foreground "white"))
+ '((((background light)) (:foreground "white"))
(((background dark)) (:foreground "black")))
"Face used to hide leading stars in headlines.
The foreground color of this face should be equal to the background
@@ -202,8 +201,7 @@
:group 'org-faces)
(defface org-date
- '((default :inherit fixed-pitch)
- (((class color) (background light)) (:foreground "Purple" :underline t))
+ '((((class color) (background light)) (:foreground "Purple" :underline t))
(((class color) (background dark)) (:foreground "Cyan" :underline t))
(t (:underline t)))
"Face for date/time stamps."
@@ -379,8 +377,7 @@
(sexp :tag "Face")))))
(defface org-table ;Copied from `font-lock-function-name-face'
- '((default :inherit fixed-pitch)
- (((class color) (min-colors 88) (background light)) (:foreground "Blue1"))
+ '((((class color) (min-colors 88) (background light)) (:foreground "Blue1"))
(((class color) (min-colors 88) (background dark)) (:foreground "LightSkyBlue"))
(((class color) (min-colors 16) (background light)) (:foreground "Blue"))
(((class color) (min-colors 16) (background dark)) (:foreground "LightSkyBlue"))
@@ -396,8 +393,7 @@
:group 'org-faces)
(defface org-formula
- '((default :inherit fixed-pitch)
- (((class color) (min-colors 88) (background light)) (:foreground "Firebrick"))
+ '((((class color) (min-colors 88) (background light)) (:foreground "Firebrick"))
(((class color) (min-colors 88) (background dark)) (:foreground "chocolate1"))
(((class color) (min-colors 8) (background light)) (:foreground "red"))
(((class color) (min-colors 8) (background dark)) (:foreground "red"))
@@ -405,12 +401,12 @@
"Face for formulas."
:group 'org-faces)
-(defface org-code '((t :inherit (fixed-pitch shadow)))
+(defface org-code '((t :inherit shadow))
"Face for fixed-width text like code snippets."
:group 'org-faces
:version "22.1")
-(defface org-meta-line '((t :inherit (fixed-pitch font-lock-comment-face)))
+(defface org-meta-line '((t :inherit font-lock-comment-face))
"Face for meta lines starting with \"#+\"."
:group 'org-faces
:version "22.1")
@@ -437,7 +433,7 @@
#+EMAIL: and #+DATE: keywords."
:group 'org-faces)
-(defface org-block `((t :inherit (fixed-pitch shadow)
+(defface org-block `((t :inherit shadow
,@(and (>= emacs-major-version 27) '(:extend t))))
"Face used for text inside various blocks.
@@ -459,7 +455,7 @@
"Face used for the line delimiting the end of source blocks."
:group 'org-faces)
-(defface org-verbatim '((t (:inherit (fixed-pitch shadow))))
+(defface org-verbatim '((t (:inherit shadow)))
"Face for fixed-with text like code snippets."
:group 'org-faces
:version "22.1")
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/org-plot.el
^
|
@@ -280,7 +280,7 @@
collect (cons n (/ (length m) normaliser)))))
(defun org--plot/prime-factors (value)
- "Return the prime decomposition of VALUE, e.g. for 12, '(3 2 2)."
+ "Return the prime decomposition of VALUE, e.g. for 12, \\='(3 2 2)."
(let ((factors '(1)) (i 1))
(while (/= 1 value)
(setq i (1+ i))
@@ -682,9 +682,10 @@
(looking-at "[[:space:]]*#\\+"))
(setf params (org-plot/collect-options params))))
;; Dump table to datafile
- (if-let ((dump-func (plist-get type :data-dump)))
- (funcall dump-func table data-file num-cols params)
- (org-plot/gnuplot-to-data table data-file params))
+ (let ((dump-func (plist-get type :data-dump)))
+ (if dump-func
+ (funcall dump-func table data-file num-cols params)
+ (org-plot/gnuplot-to-data table data-file params)))
;; Check type of ind column (timestamp? text?)
(when (plist-get params :check-ind-type)
(let* ((ind (1- (plist-get params :ind)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/org-src.el
^
|
@@ -1235,7 +1235,7 @@
(insert (with-current-buffer write-back-buf (buffer-string))))
(save-restriction
(narrow-to-region beg end)
- (replace-buffer-contents write-back-buf 0.1 nil)
+ (org-replace-buffer-contents write-back-buf 0.1 nil)
(goto-char (point-max))))
(when (and expecting-bol (not (bolp))) (insert "\n")))
(kill-buffer write-back-buf)
@@ -1283,7 +1283,7 @@
(buffer-string))))
(save-restriction
(narrow-to-region beg end)
- (replace-buffer-contents write-back-buf 0.1 nil)
+ (org-replace-buffer-contents write-back-buf 0.1 nil)
(goto-char (point-max))))
(when (and expecting-bol (not (bolp))) (insert "\n")))))
(when write-back-buf (kill-buffer write-back-buf))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/org-table.el
^
|
@@ -462,14 +462,14 @@
(when pos (goto-char pos))
(goto-char (line-beginning-position))
(let ((end (line-end-position)) str)
- (backward-char)
+ (goto-char (1- pos))
(while (progn (forward-char 1) (< (point) end))
(let ((ov (car (overlays-at (point)))))
(if (not ov)
(push (char-to-string (char-after)) str)
(push (overlay-get ov 'display) str)
(goto-char (1- (overlay-end ov))))))
- (format "%s" (mapconcat #'identity (reverse str) "")))))
+ (format "|%s" (mapconcat #'identity (reverse str) "")))))
(defvar-local org-table-header-overlay nil)
(defun org-table-header-set-header ()
@@ -5465,7 +5465,7 @@
(nreverse table)))))
(defun org-table-collapse-header (table &optional separator max-header-lines)
- "Collapse the lines before 'hline into a single header.
+ "Collapse the lines before `hline' into a single header.
The given TABLE is a list of lists as returned by `org-table-to-lisp'.
The leading lines before the first `hline' symbol are considered
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/org-version.el
^
|
@@ -5,13 +5,13 @@
(defun org-release ()
"The release version of Org.
Inserted by installing Org mode or when a release is made."
- (let ((org-release "9.5.2"))
+ (let ((org-release "9.5.5"))
org-release))
;;;###autoload
(defun org-git-version ()
"The Git version of Org mode.
Inserted by installing Org or when a release is made."
- (let ((org-git-version "release_9.5.2-25-gaf6f12"))
+ (let ((org-git-version "release_9.5.5"))
org-git-version))

(provide 'org-version)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/org.el
^
|
@@ -9,7 +9,7 @@
;; Homepage: https://orgmode.org
;; Package-Requires: ((emacs "25.1"))
-;; Version: 9.5.2
+;; Version: 9.5.5
;; This file is part of GNU Emacs.
;;
@@ -199,6 +199,7 @@
(declare-function org-update-radio-target-regexp "ol" ())
(defvar org-element-paragraph-separate)
+(defvar org-element--timestamp-regexp)
(defvar org-indent-indentation-per-level)
(defvar org-radio-target-regexp)
(defvar org-target-link-regexp)
@@ -246,7 +247,7 @@
(if compile
(progn
(byte-compile-file tangled-file)
- (load tangled-file)
+ (load-file (byte-compile-dest-file tangled-file))
(message "Compiled and loaded %s" tangled-file))
(load-file tangled-file)
(message "Loaded %s" tangled-file))))
@@ -1693,7 +1694,7 @@
(const :tag "Never kill a hidden subtree with C-k" error)))
(defcustom org-special-ctrl-o t
- "Non-nil means, make `C-o' insert a row in tables."
+ "Non-nil means, make `open-line' (\\[open-line]) insert a row in tables."
:group 'org-edit-structure
:type 'boolean)
@@ -3300,7 +3301,7 @@
%i: The LaTeX fragment to be converted.
For example, this could be used with LaTeXML as
-\"latexmlc 'literal:%i' --profile=math --preload=siunitx.sty 2>/dev/null\"."
+\"latexmlc \\='literal:%i\\=' --profile=math --preload=siunitx.sty 2>/dev/null\"."
:group 'org-latex
:package-version '(Org . "9.4")
:type '(choice
@@ -15011,16 +15012,25 @@
When at a timestamp, return the position of the point as a symbol
among `bracket', `after', `year', `month', `hour', `minute',
`day' or a number of character from the last know part of the
-time stamp.
+time stamp. If diary sexp timestamps, any point inside the timestamp
+is considered `day' (i.e. only `bracket', `day', and `after' return
+values are possible).
When matching, the match groups are the following:
- group 1: year
- group 2: month
- group 3: day number
- group 4: day name
+ group 1: year, if any
+ group 2: month, if any
+ group 3: day number, if any
+ group 4: day name, if any
group 5: hours, if any
group 6: minutes, if any"
- (let* ((regexp (if extended org-ts-regexp3 org-ts-regexp2))
+ (let* ((regexp
+ (if extended
+ (if (eq extended 'agenda)
+ (rx-to-string
+ `(or (regexp ,org-ts-regexp3)
+ (regexp ,org-element--timestamp-regexp)))
+ org-ts-regexp3)
+ org-ts-regexp2))
(pos (point))
(match?
(let ((boundaries (org-in-regexp regexp)))
@@ -15051,7 +15061,8 @@
((org-pos-in-match-range pos 8) 'minute)
((or (org-pos-in-match-range pos 4)
(org-pos-in-match-range pos 5)) 'day)
- ((and (> pos (or (match-end 8) (match-end 5)))
+ ((and (or (match-end 8) (match-end 5))
+ (> pos (or (match-end 8) (match-end 5)))
(< pos (match-end 0)))
(- pos (or (match-end 8) (match-end 5))))
(t 'day))))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ox-ascii.el
^
|
@@ -948,12 +948,18 @@
(when description
(let ((dest (if (equal type "fuzzy")
(org-export-resolve-fuzzy-link link info)
- (org-export-resolve-id-link link info))))
- (concat
- (org-ascii--fill-string
- (format "[%s] %s" anchor (org-ascii--describe-datum dest info))
- width info)
- "\n\n"))))
+ ;; Ignore broken links. On broken link,
+ ;; `org-export-resolve-id-link' will throw an
+ ;; error and we will return nil.
+ (condition-case nil
+ (org-export-resolve-id-link link info)
+ (org-link-broken nil)))))
+ (when dest
+ (concat
+ (org-ascii--fill-string
+ (format "[%s] %s" anchor (org-ascii--describe-datum dest info))
+ width info)
+ "\n\n")))))
;; Do not add a link that cannot be resolved and doesn't have
;; any description: destination is already visible in the
;; paragraph.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ox-html.el
^
|
@@ -442,7 +442,7 @@
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
- .org-svg { width: 90%; }
+ .org-svg { }
</style>"
"The default style specification for exported HTML files.
You can use `org-html-head' and `org-html-head-extra' to add to
@@ -2909,7 +2909,7 @@
(defun org-html--unlabel-latex-environment (latex-frag)
"Change environment in LATEX-FRAG string to an unnumbered one.
-For instance, change an 'equation' environment to 'equation*'."
+For instance, change an `equation' environment to `equation*'."
(replace-regexp-in-string
"\\`[ \t]*\\\\begin{\\([^*]+?\\)}"
"\\1*"
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ox-icalendar.el
^
|
@@ -276,14 +276,14 @@
;;; Define Back-End
(org-export-define-derived-backend 'icalendar 'ascii
- :translate-alist '((clock . ignore)
- (footnote-definition . ignore)
- (footnote-reference . ignore)
+ :translate-alist '((clock . nil)
+ (footnote-definition . nil)
+ (footnote-reference . nil)
(headline . org-icalendar-entry)
(inner-template . org-icalendar-inner-template)
- (inlinetask . ignore)
- (planning . ignore)
- (section . ignore)
+ (inlinetask . nil)
+ (planning . nil)
+ (section . nil)
(template . org-icalendar-template))
:options-alist
'((:exclude-tags
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ox-md.el
^
|
@@ -193,11 +193,11 @@
;; A link refers internally to HEADLINE.
(org-element-map (plist-get info :parse-tree) 'link
(lambda (link)
- (eq headline
- (pcase (org-element-property :type link)
- ((or "custom-id" "id") (org-export-resolve-id-link link info))
- ("fuzzy" (org-export-resolve-fuzzy-link link info))
- (_ nil))))
+ (equal headline
+ ;; Ignore broken links.
+ (condition-case nil
+ (org-export-resolve-id-link link info)
+ (org-link-broken nil))))
info t))))
(defun org-md--headline-title (style level title &optional anchor tags)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ox-publish.el
^
|
@@ -839,7 +839,7 @@
latter case, optional argument BACKEND has to be set to the
back-end where the option is defined, e.g.,
- (org-publish-find-property file :subtitle 'latex)
+ (org-publish-find-property file :subtitle \\='latex)
Return value may be a string or a list, depending on the type of
PROPERTY, i.e. \"behavior\" parameter from `org-export-options-alist'."
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/org/ox.el
^
|
@@ -1908,8 +1908,10 @@
(org-element-property :archivedp data)))
(let ((transcoder (org-export-transcoder data info)))
(or (and (functionp transcoder)
- (broken-link-handler
- (funcall transcoder data nil info)))
+ (if (eq type 'link)
+ (broken-link-handler
+ (funcall transcoder data nil info))
+ (funcall transcoder data nil info)))
;; Export snippets never return a nil value so
;; that white spaces following them are never
;; ignored.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/outline.el
^
|
@@ -176,13 +176,22 @@
map))
(defcustom outline-minor-mode-cycle-filter nil
- "Filter out positions on the heading available for cycling."
+ "Control where on a heading the visibility-cycling commands are bound to keys.
+This option controls, in Outline minor mode, where on a heading typing
+the key sequences bound to visibility-cycling commands like `outline-cycle'
+and `outline-cycle-buffer' will invoke those commands. By default, you can
+invoke these commands by typing `TAB' and `S-TAB' anywhere on a heading line,
+but customizing this option can make those bindings be in effect only at
+specific positions on the heading, like only at the line's beginning or
+line's end. This allows these keys to be bound to their usual commands,
+as determined by the major mode, elsewhere on the heading lines.
+This option is only in effect when `outline-minor-mode-cycle' is non-nil."
:type '(choice (const :tag "Everywhere" nil)
(const :tag "At line beginning" bolp)
(const :tag "Not at line beginning"
(lambda () (not (bolp))))
(const :tag "At line end" eolp)
- (function :tag "Custom filter"))
+ (function :tag "Custom filter function"))
:version "28.1")
(defun outline-minor-mode-cycle--bind (map key binding &optional filter)
@@ -349,28 +358,33 @@
(set-default sym val)))
(defcustom outline-minor-mode-cycle nil
- "Enable cycling of headings in `outline-minor-mode'.
-When enabled, it puts a keymap with cycling keys on heading lines.
-When point is on a heading line, then typing `TAB' cycles between `hide all',
-`headings only' and `show all' (`outline-cycle'). Typing `S-TAB' on
-a heading line cycles the whole buffer (`outline-cycle-buffer').
-Typing these keys anywhere outside heading lines uses their default bindings."
+ "Enable visibility-cycling commands on headings in `outline-minor-mode'.
+If enabled, typing `TAB' on a heading line cycles the visibility
+state of that heading's body between `hide all', `headings only'
+and `show all' (`outline-cycle'), and typing `S-TAB' on a heading
+line likewise cycles the visibility state of the whole buffer
+\(`outline-cycle-buffer').
+Typing these keys anywhere outside heading lines invokes their default
+bindings, per the current major mode."
:type 'boolean
:version "28.1")
;;;###autoload(put 'outline-minor-mode-cycle 'safe-local-variable 'booleanp)
(defcustom outline-minor-mode-highlight nil
- "Highlight headings in `outline-minor-mode' using font-lock keywords.
-Non-nil value works well only when outline font-lock keywords
-don't conflict with the major mode's font-lock keywords.
-When t, it puts outline faces only if there are no major mode's faces
-on headings. When `override', it completely overwrites major mode's
-faces with outline faces. When `append', it tries to append outline
-faces to major mode's faces."
- :type '(choice (const :tag "No highlighting" nil)
- (const :tag "Overwrite major mode faces" override)
- (const :tag "Append outline faces to major mode faces" append)
- (const :tag "Highlight separately from major mode faces" t))
+ "Whether to highlight headings in `outline-minor-mode' using font-lock keywords.
+This option controles whether `outline-minor-mode' will use its font-lock
+keywords to highlight headings, which could potentially conflict with
+font-lock faces defined by the major mode. Thus, a non-nil value will
+work well only when there's no such conflict.
+If the value is t, use outline faces only if there are no major mode's
+font-lock faces on headings. When `override', completely overwrite major
+mode's font-lock faces with outline faces. When `append', try to append
+outline font-lock faces to those of major mode."
+ :type '(choice (const :tag "Do not use outline font-lock highlighting" nil)
+ (const :tag "Overwrite major mode font-lock faces" override)
+ (const :tag "Append outline font-lock faces to major mode's"
+ append)
+ (const :tag "Highlight with outline font-lock faces only if major mode doesn't" t))
:version "28.1")
;;;###autoload(put 'outline-minor-mode-highlight 'safe-local-variable 'symbolp)
@@ -1244,11 +1258,14 @@
(save-excursion (outline-end-of-subtree) (point)))))
(defun outline-cycle ()
- "Cycle between `hide all', `headings only' and `show all'.
+ "Cycle visibility state of the current heading line's body.
-`Hide all' means hide all subheadings and their bodies.
-`Headings only' means show sub headings but not their bodies.
-`Show all' means show all subheadings and their bodies."
+This cycles the visibility of the current heading line's subheadings
+and body between `hide all', `headings only' and `show all'.
+
+`Hide all' means hide all the subheadings and their bodies.
+`Headings only' means show the subheadings, but not their bodies.
+`Show all' means show all the subheadings and their bodies."
(interactive)
(condition-case nil
(pcase (outline--cycle-state)
@@ -1270,7 +1287,15 @@
"Internal variable used for tracking buffer cycle state.")
(defun outline-cycle-buffer ()
- "Cycle the whole buffer like in `outline-cycle'."
+ "Cycle visibility state of the body lines of the whole buffer.
+
+This cycles the visibility of all the subheadings and bodies of all
+the heading lines in the buffer. It cycles them between `hide all',
+`headings only' and `show all'.
+
+`Hide all' means hide all the buffer's subheadings and their bodies.
+`Headings only' means show all the subheadings, but not their bodies.
+`Show all' means show all the buffer's subheadings and their bodies."
(interactive)
(let (has-top-level)
(save-excursion
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/play/doctor.el
^
|
@@ -1579,13 +1579,14 @@
(equal doctor-found 'killing))
(memq 'yourself doctor-sent)))
(setq doctor--suicide-flag t)
- (doctor-type '(If you are really suicidal\, you might
- want to contact the Samaritans via
- E-mail: jo@samaritans.org or\, at your option\,
- anonymous E-mail: samaritans@anon.twwells.com\ \.
- or find a Befrienders crisis center at
- https://www.befrienders.org/\ \.
- (doc$ doctor--please) (doc$ doctor--continue) \.)))
+ (doctor-type '( If you are really suicidal\, you might
+ want to contact the Samaritans via
+ e-mail: jo@samaritans.org \.
+ or find a Befrienders crisis center at
+ https://www.befrienders.org/\ \.
+ you can also find other suicide crisis lines at
+ https://en.wikipedia.org/wiki/List_of_suicide_crisis_lines \.
+ (doc$ doctor--please) (doc$ doctor--continue) \.)))
(t (doctor-type (doc$ doctor--deathlst)))))
(defun doctor-foul ()
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/play/fortune.el
^
|
@@ -1,6 +1,6 @@
;;; fortune.el --- use fortune to create signatures -*- lexical-binding: t -*-
-;; Copyright (C) 1999, 2001-2022 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2022 Free Software Foundation, Inc.
;; Author: Holger Schauer <Holger.Schauer@gmx.de>
;; Keywords: games utils mail
@@ -21,38 +21,48 @@
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
+
;; This utility allows you to automatically cut regions to a fortune
;; file. In case that the region stems from an article buffer (mail or
;; news), it will try to automatically determine the author of the
-;; fortune. It will also allow you to compile your fortune-database
+;; fortune. It will also allow you to compile your fortune database
;; as well as providing a function to extract a fortune for use as your
;; signature.
+;;
;; Of course, it can simply display a fortune, too.
;; Use prefix arguments to specify different fortune databases.
-
+;;
;;; Installation:
-
-;; Please check the customize settings -- you will at least have to
-;; modify the values of `fortune-dir' and `fortune-file'.
-
+;;
+;; Please type `M-x customize-group RET fortune RET' -- you will at
+;; least have to modify the user options `fortune-dir' and
+;; `fortune-file'.
+;;
;; I then use this in my .gnus:
-;;(message "Making new signature: %s" (fortune-to-signature "~/fortunes/"))
+;;
+;; (message "Making new signature: %s"
+;; (fortune-to-signature "~/fortunes/"))
+;;
;; This automagically creates a new signature when starting up Gnus.
-;; Note that the call to fortune-to-signature specifies a directory in which
-;; several fortune-files and their databases are stored.
-
-;; If you like to get a new signature for every message, you can also hook
-;; it into message-mode:
-;; (add-hook 'message-setup-hook 'fortune-to-signature)
-;; This time no fortune-file is specified, so fortune-to-signature would use
-;; the default-file as specified by fortune-file.
-
-;; I have also this in my .gnus:
-;;(add-hook 'gnus-article-mode-hook
-;; (lambda ()
-;; (define-key gnus-article-mode-map "i" 'fortune-from-region)))
+;; Note that the call to `fortune-to-signature' specifies a directory
+;; in which several fortune files and their databases are stored.
+;;
+;; To get a new signature for every message, you can hook it into
+;; `message-mode':
+;;
+;; (add-hook 'message-setup-hook #'fortune-to-signature)
+;;
+;; This time no fortune file is specified, so `fortune-to-signature'
+;; would use the default file as specified by `fortune-file'.
+;;
+;; I also have this in my .gnus:
+;;
+;; (add-hook 'gnus-article-mode-hook
+;; (lambda ()
+;; (define-key gnus-article-mode-map "i" #'fortune-from-region)))
+;;
;; which allows marking a region and then pressing "i" so that the marked
-;; region will be automatically added to my favorite fortune-file.
+;; region will be automatically added to my favorite fortune file.
;;; Code:
@@ -166,7 +176,7 @@
(fortune-compile file)))))
(defun fortune-ask-file ()
- "Asks the user for a file-name."
+ "Ask the user for the file name of the fortune file."
(expand-file-name
(read-file-name
"Fortune file to use: "
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/play/mpuz.el
^
|
@@ -161,7 +161,7 @@
;; A puzzle also uses a board displaying a multiplication.
-;; Every digit appears in the board, crypted or not.
+;; Every digit appears in the board, encrypted or not.
;;------------------------------------------------------
(defvar mpuz-board (make-vector 10 nil)
"The board associates to any digit the list of squares where it appears.")
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/printing.el
^
|
@@ -63,10 +63,6 @@
;; spool and to despool PostScript buffer. So, `printing' provides an
;; interface to ps-print package and it also provides some extra stuff.
;;
-;; To download the latest ps-print package see
-;; `https://www.emacswiki.org/cgi-bin/wiki/PsPrintPackage'.
-;; Please, see README file for ps-print installation instructions.
-;;
;; `printing' was inspired by:
;;
;; print-nt.el Frederic Corne <frederic.corne@erli.fr>
@@ -942,11 +938,6 @@
;;
;; Below are some URL where you can find good utilities.
;;
-;; * For `printing' package:
-;;
-;; printing `https://www.emacswiki.org/cgi-bin/emacs/download/printing.el'
-;; ps-print `https://www.emacswiki.org/cgi-bin/wiki/PsPrintPackage'
-;;
;; * For GNU or Unix system:
;;
;; gs, gv `https://www.gnu.org/software/ghostscript/ghostscript.html'
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/bug-reference.el
^
|
@@ -142,7 +142,7 @@
t)))
;; All groups 2..10 are within bounds.
(cons m-b1 m-e1)
- ;; The regexp doesn't fulfil the contract of
+ ;; The regexp doesn't fulfill the contract of
;; bug-reference-bug-regexp, so fall back to the old behavior.
(unless (member bug-reference-bug-regexp
bug-reference--nonconforming-regexps)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/cc-engine.el
^
|
@@ -1668,9 +1668,13 @@
Return the result of `forward-comment' if it gets called, nil otherwise."
`(if (not comment-end-can-be-escaped)
(forward-comment -1)
- (when (and (< (skip-syntax-backward " >") 0)
- (eq (char-after) ?\n))
- (forward-char))
+ (let ((dist (skip-syntax-backward " >")))
+ (when (and
+ (< dist 0)
+ (progn
+ (skip-syntax-forward " " (- (point) dist 1))
+ (eq (char-after) ?\n)))
+ (forward-char)))
(cond
((and (eq (char-before) ?\n)
(eq (char-before (1- (point))) ?\\))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/cc-fonts.el
^
|
@@ -1826,7 +1826,7 @@
;; font-lock-keyword-face. It always returns NIL to inhibit this and
;; prevent a repeat invocation. See elisp/lispref page "Search-based
;; Fontification".
- (let (mode capture-default id-start id-end declaration sub-begin sub-end)
+ (let (mode capture-default id-start id-end declaration sub-begin sub-end tem)
(while (and (< (point) limit)
(search-forward "[" limit t))
(when (progn (backward-char)
@@ -1838,15 +1838,18 @@
(char-after)))
;; Is the first element of the list a bare "=" or "&"?
(when mode
- (forward-char)
- (c-forward-syntactic-ws)
- (if (memq (char-after) '(?, ?\]))
- (progn
- (setq capture-default mode)
- (when (eq (char-after) ?,)
- (forward-char)
- (c-forward-syntactic-ws)))
- (c-backward-token-2)))
+ (setq tem nil)
+ (save-excursion
+ (forward-char)
+ (c-forward-syntactic-ws)
+ (if (memq (char-after) '(?, ?\]))
+ (progn
+ (setq capture-default mode)
+ (when (eq (char-after) ?,)
+ (forward-char)
+ (c-forward-syntactic-ws))
+ (setq tem (point)))))
+ (if tem (goto-char tem)))
;; Go round the following loop once per captured item. We use "\\s)"
;; rather than "\\]" here to avoid infinite looping in this situation:
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/cc-mode.el
^
|
@@ -787,43 +787,44 @@
`c-basic-common-init' for details. It's only optional to be
compatible with old code; callers should always specify it."
- (unless mode
- ;; Called from an old third party package. The fallback is to
- ;; initialize for C.
- (c-init-language-vars-for 'c-mode))
+ (let (case-fold-search)
+ (unless mode
+ ;; Called from an old third party package. The fallback is to
+ ;; initialize for C.
+ (c-init-language-vars-for 'c-mode))
- (c-basic-common-init mode c-default-style)
- (when mode
- ;; Only initialize font locking if we aren't called from an old package.
- (c-font-lock-init))
+ (c-basic-common-init mode c-default-style)
+ (when mode
+ ;; Only initialize font locking if we aren't called from an old package.
+ (c-font-lock-init))
- ;; Starting a mode is a sort of "change". So call the change functions...
- (save-restriction
- (widen)
- (setq c-new-BEG (point-min))
- (setq c-new-END (point-max))
- (save-excursion
- (let (before-change-functions after-change-functions)
- (mapc (lambda (fn)
- (funcall fn (point-min) (point-max)))
- c-get-state-before-change-functions)
- (mapc (lambda (fn)
- (funcall fn (point-min) (point-max)
- (- (point-max) (point-min))))
- c-before-font-lock-functions))))
+ ;; Starting a mode is a sort of "change". So call the change functions...
+ (save-restriction
+ (widen)
+ (setq c-new-BEG (point-min))
+ (setq c-new-END (point-max))
+ (save-excursion
+ (let (before-change-functions after-change-functions)
+ (mapc (lambda (fn)
+ (funcall fn (point-min) (point-max)))
+ c-get-state-before-change-functions)
+ (mapc (lambda (fn)
+ (funcall fn (point-min) (point-max)
+ (- (point-max) (point-min))))
+ c-before-font-lock-functions))))
- (set (make-local-variable 'outline-regexp) "[^#\n\^M]")
- (set (make-local-variable 'outline-level) 'c-outline-level)
- (set (make-local-variable 'add-log-current-defun-function)
- (lambda ()
- (or (c-cpp-define-name) (car (c-defun-name-and-limits nil)))))
- (let ((rfn (assq mode c-require-final-newline)))
- (when rfn
- (if (boundp 'mode-require-final-newline)
- (and (cdr rfn)
- (set (make-local-variable 'require-final-newline)
- mode-require-final-newline))
- (set (make-local-variable 'require-final-newline) (cdr rfn))))))
+ (set (make-local-variable 'outline-regexp) "[^#\n\^M]")
+ (set (make-local-variable 'outline-level) 'c-outline-level)
+ (set (make-local-variable 'add-log-current-defun-function)
+ (lambda ()
+ (or (c-cpp-define-name) (car (c-defun-name-and-limits nil)))))
+ (let ((rfn (assq mode c-require-final-newline)))
+ (when rfn
+ (if (boundp 'mode-require-final-newline)
+ (and (cdr rfn)
+ (set (make-local-variable 'require-final-newline)
+ mode-require-final-newline))
+ (set (make-local-variable 'require-final-newline) (cdr rfn)))))))
(defun c-count-cfss (lv-alist)
;; LV-ALIST is an alist like `file-local-variables-alist'. Count how many
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/cperl-mode.el
^
|
@@ -32,11 +32,6 @@
;; the MooseX::Declare CPAN module, as well as Perl 5.10 keyword
;; support.
-;; The latest version is available from
-;; https://github.com/jrockway/cperl-mode
-;;
-;; (perhaps in the moosex-declare branch)
-
;; You can either fine-tune the bells and whistles of this mode or
;; bulk enable them by putting
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/ebnf2ps.el
^
|
@@ -45,20 +45,12 @@
;;
;; (require 'ebnf2ps)
;;
-;; ebnf2ps uses ps-print package (version 5.2.3 or later), so see ps-print to
+;; ebnf2ps uses ps-print package (bundled with Emacs), so see ps-print to
;; know how to set options like landscape printing, page headings, margins,
;; etc.
;;
-;; NOTE: ps-print zebra stripes and line number options doesn't have effect on
-;; ebnf2ps, they behave as it's turned off.
-;;
-;; For good performance, be sure to byte-compile ebnf2ps.el, e.g.
-;;
-;; M-x byte-compile-file <give the path to ebnf2ps.el when prompted>
-;;
-;; This will generate ebnf2ps.elc, which will be loaded instead of ebnf2ps.el.
-;;
-;; ebnf2ps was tested with GNU Emacs 20.4.1.
+;; NOTE: ps-print zebra stripes and line number options don't have an
+;; effect on ebnf2ps, they behave as if it's turned off.
;;
;;
;; Using ebnf2ps
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/ebrowse.el
^
|
@@ -3633,7 +3633,12 @@
;;;###autoload
(defun ebrowse-tags-query-replace (from to)
"Query replace FROM with TO in all files of a class tree.
-With prefix arg, process files of marked classes only."
+With prefix arg, process files of marked classes only.
+
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time."
(interactive
"sTree query replace (regexp): \nsTree query replace %s by: ")
(setq ebrowse-tags-loop-call
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/elisp-mode.el
^
|
@@ -1710,7 +1710,7 @@
(defalias 'elisp-eldoc-documentation-function 'elisp--documentation-one-liner
"Return Elisp documentation for the thing at point as one-line string.
This is meant as a backward compatibility aide to the \"old\"
-Elisp eldoc behaviour. Consider variable docstrings and function
+Elisp eldoc behavior. Consider variable docstrings and function
signatures only, in this order. If none applies, returns nil.
Changes to `eldoc-documentation-functions' and
`eldoc-documentation-strategy' are _not_ reflected here. As such
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/etags.el
^
|
@@ -1702,7 +1702,7 @@
;;;###autoload
(defalias 'next-file 'tags-next-file)
(make-obsolete 'next-file
- "use tags-next-file or fileloop-initialize and fileloop-next-file instead" "27.1")
+ "use `tags-next-file' or `fileloop-initialize' and `fileloop-next-file' instead" "27.1")
;;;###autoload
(defun tags-next-file (&optional initialize novisit)
"Select next file among files in current tags table.
@@ -1836,7 +1836,13 @@
Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
If you exit (\\[keyboard-quit], RET or q), you can resume the query replace
with the command \\[fileloop-continue].
-For non-interactive use, superseded by `fileloop-initialize-replace'."
+
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
+
+For non-interactive use, this is superseded by `fileloop-initialize-replace'."
(declare (advertised-calling-convention (from to &optional delimited) "27.1"))
(interactive (query-replace-read-args "Tags query replace (regexp)" t t))
(fileloop-initialize-replace
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/f90.el
^
|
@@ -116,12 +116,11 @@
;; non-nil, the line numbers are never touched.
;; 2) Multi-; statements like "do i=1,20 ; j=j+i ; end do" are not handled
;; correctly, but I imagine them to be rare.
-;; 3) Regexps for hilit19 are no longer supported.
-;; 4) For FIXED FORMAT code, use fortran mode.
-;; 5) Preprocessor directives, i.e., lines starting with # are left-justified
+;; 3) For FIXED FORMAT code, use fortran mode.
+;; 4) Preprocessor directives, i.e., lines starting with # are left-justified
;; and are untouched by all case-changing commands. There is, at present, no
;; mechanism for treating multi-line directives (continued by \ ).
-;; 6) f77 do-loops do 10 i=.. ; ; 10 continue are not correctly indented.
+;; 5) f77 do-loops do 10 i=.. ; ; 10 continue are not correctly indented.
;; You are urged to use f90-do loops (with labels if you wish).
;; List of user commands
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/flymake.el
^
|
@@ -1664,9 +1664,9 @@
in the resulting buffer.
Flymake backends that somehow gain sporadic information about
-diagnostics in neighbouring files may freely modify this variable
+diagnostics in neighboring files may freely modify this variable
by adding or removing entries to for those files. If the
-information about those neighbouring files is acquired repeatedly
+information about those neighboring files is acquired repeatedly
and reliably, it may be more sensible to report them as
\"foreign\" diagnostics instead.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/gdb-mi.el
^
|
@@ -2809,7 +2809,7 @@
pieces)
(forward-char))
(t
- (warn "Unrecognised escape char: %c" (following-char))))
+ (warn "Unrecognized escape char: %c" (following-char))))
(setq start (point)))
(push (buffer-substring start (1- (point))) pieces)
(let ((s (apply #'concat (nreverse pieces))))
@@ -3076,6 +3076,45 @@
'gdb-breakpoints-mode
'gdb-invalidate-breakpoints)
+(defun gdb-breakpoints--add-breakpoint-row (tbl bkpt)
+ (let ((at (gdb-mi--field bkpt 'at))
+ (pending (gdb-mi--field bkpt 'pending))
+ (addr (gdb-mi--field bkpt 'addr))
+ (func (gdb-mi--field bkpt 'func))
+ (type (gdb-mi--field bkpt 'type)))
+ (if (and (not func) (string-equal addr "<MULTIPLE>"))
+ (setq func ""))
+ (gdb-table-add-row tbl
+ (list
+ (gdb-mi--field bkpt 'number)
+ (or type "")
+ (or (gdb-mi--field bkpt 'disp) "")
+ (let ((flag (gdb-mi--field bkpt 'enabled)))
+ (if (string-equal flag "y")
+ (eval-when-compile
+ (propertize "y" 'font-lock-face
+ font-lock-warning-face))
+ (eval-when-compile
+ (propertize "n" 'font-lock-face
+ font-lock-comment-face))))
+ addr
+ (or (gdb-mi--field bkpt 'times) "")
+ (if (and type (string-match ".*watchpoint" type))
+ (gdb-mi--field bkpt 'what)
+ (or (and (equal func "") "")
+ pending at
+ (concat "in "
+ (propertize (or func "unknown")
+ 'font-lock-face
+ font-lock-function-name-face)
+ (gdb-frame-location bkpt)))))
+ ;; Add clickable properties only for
+ ;; breakpoints with file:line information
+ (append (list 'gdb-breakpoint bkpt)
+ (when func
+ '(help-echo "mouse-2, RET: visit breakpoint"
+ mouse-face highlight))))))
+
(defun gdb-breakpoints-list-handler-custom ()
(let ((breakpoints-list (gdb-mi--field
(gdb-mi--field (gdb-mi--partial-output 'bkpt)
@@ -3088,37 +3127,14 @@
(add-to-list 'gdb-breakpoints-list
(cons (gdb-mi--field breakpoint 'number)
breakpoint))
- (let ((at (gdb-mi--field breakpoint 'at))
- (pending (gdb-mi--field breakpoint 'pending))
- (func (gdb-mi--field breakpoint 'func))
- (type (gdb-mi--field breakpoint 'type)))
- (gdb-table-add-row table
- (list
- (gdb-mi--field breakpoint 'number)
- (or type "")
- (or (gdb-mi--field breakpoint 'disp) "")
- (let ((flag (gdb-mi--field breakpoint 'enabled)))
- (if (string-equal flag "y")
- (eval-when-compile
- (propertize "y" 'font-lock-face
- font-lock-warning-face))
- (eval-when-compile
- (propertize "n" 'font-lock-face
- font-lock-comment-face))))
- (gdb-mi--field breakpoint 'addr)
- (or (gdb-mi--field breakpoint 'times) "")
- (if (and type (string-match ".*watchpoint" type))
- (gdb-mi--field breakpoint 'what)
- (or pending at
- (concat "in "
- (propertize (or func "unknown")
- 'font-lock-face font-lock-function-name-face)
- (gdb-frame-location breakpoint)))))
- ;; Add clickable properties only for breakpoints with file:line
- ;; information
- (append (list 'gdb-breakpoint breakpoint)
- (when func '(help-echo "mouse-2, RET: visit breakpoint"
- mouse-face highlight))))))
+ ;; Add the breakpoint/header row to the table.
+ (gdb-breakpoints--add-breakpoint-row table breakpoint)
+ ;; If this breakpoint has multiple locations, add them as well.
+ (when-let ((locations (gdb-mi--field breakpoint 'locations)))
+ (dolist (loc locations)
+ (add-to-list 'gdb-breakpoints-list
+ (cons (gdb-mi--field loc 'number) loc))
+ (gdb-breakpoints--add-breakpoint-row table loc))))
(insert (gdb-table-string table " "))
(gdb-place-breakpoints)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/hideif.el
^
|
@@ -109,7 +109,7 @@
;;
;; Extensively modified by Luke Lee in 2013 to support complete C expression
;; evaluation and argumented macro expansion; C++11, C++14, C++17, GCC
-;; extension literals and gcc/clang matching behaviours are supported in 2021.
+;; extension literals and gcc/clang matching behaviors are supported in 2021.
;; Various floating point types and operations are also supported but the
;; actual precision is limited by the Emacs internal floating representation,
;; which is the C data type "double" or IEEE binary64 format.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/project.el
^
|
@@ -1040,6 +1040,10 @@
(defun project-query-replace-regexp (from to)
"Query-replace REGEXP in all the files of the project.
Stops when a match is found and prompts for whether to replace it.
+At that prompt, the user must type a character saying what to do
+with the match. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
If you exit the `query-replace', you can later continue the
`query-replace' loop using the command \\[fileloop-continue]."
(interactive
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/python.el
^
|
@@ -1620,23 +1620,20 @@
;; are somehow out of whack. This has been
;; observed when using `syntax-ppss' during
;; narrowing.
- (cl-assert (>= string-start last-string-end)
- :show-args
- "\
-Overlapping strings detected (start=%d, last-end=%d)")
- (goto-char string-start)
- (if (python-syntax-context 'paren)
- ;; Ended up inside a paren, roll again.
- (python-nav-end-of-statement t)
- ;; This is not inside a paren, move to the
- ;; end of this string.
- (goto-char (+ (point)
- (python-syntax-count-quotes
- (char-after (point)) (point))))
- (setq last-string-end
- (or (re-search-forward
- (rx (syntax string-delimiter)) nil t)
- (goto-char (point-max))))))
+ (when (>= string-start last-string-end)
+ (goto-char string-start)
+ (if (python-syntax-context 'paren)
+ ;; Ended up inside a paren, roll again.
+ (python-nav-end-of-statement t)
+ ;; This is not inside a paren, move to the
+ ;; end of this string.
+ (goto-char (+ (point)
+ (python-syntax-count-quotes
+ (char-after (point)) (point))))
+ (setq last-string-end
+ (or (re-search-forward
+ (rx (syntax string-delimiter)) nil t)
+ (goto-char (point-max)))))))
((python-syntax-context 'paren)
;; The statement won't end before we've escaped
;; at least one level of parenthesis.
@@ -5572,6 +5569,8 @@
(defcustom python-forward-sexp-function #'python-nav-forward-sexp
"Function to use when navigating between expressions."
:version "28.1"
+ :group 'python
+ :group 'python-flymake
:type '(choice (const :tag "Python blocks" python-nav-forward-sexp)
(const :tag "CC-mode like" nil)
function))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/sh-script.el
^
|
@@ -1412,7 +1412,7 @@
(pop-to-buffer (process-buffer (sh-shell-process t))))
(defun sh-send-text (text)
- "Send the text to the `sh-shell-process'."
+ "Send TEXT to `sh-shell-process'."
(comint-send-string (sh-shell-process t) (concat text "\n")))
(defun sh-cd-here ()
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/vhdl-mode.el
^
|
@@ -153,7 +153,11 @@
(defvar lazy-lock-defer-on-scrolling)
(defvar lazy-lock-defer-on-the-fly)
(defvar speedbar-attached-frame)
-
+(defvar arch-alist)
+(defvar pack-alist)
+(defvar file-alist)
+(defvar unit-alist)
+(defvar rule-alist)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Variables
@@ -8396,30 +8400,30 @@
((visible-list (vhdl-get-visible-signals))
;; define syntactic regions where signals are read
(scan-regions-list
- '(;; right-hand side of signal/variable assignment
+ `(;; right-hand side of signal/variable assignment
;; (special case: "<=" is relational operator in a condition)
- ((vhdl-re-search-forward "[<:]=" proc-end t)
- (vhdl-re-search-forward ";\\|\\<\\(then\\|loop\\|report\\|severity\\|is\\)\\>" proc-end t))
+ ((vhdl-re-search-forward "[<:]=" ,proc-end t)
+ (vhdl-re-search-forward ";\\|\\<\\(then\\|loop\\|report\\|severity\\|is\\)\\>" ,proc-end t))
;; if condition
- ((vhdl-re-search-forward "^\\s-*if\\>" proc-end t)
- (vhdl-re-search-forward "\\<then\\>" proc-end t))
+ ((vhdl-re-search-forward "^\\s-*if\\>" ,proc-end t)
+ (vhdl-re-search-forward "\\<then\\>" ,proc-end t))
;; elsif condition
- ((vhdl-re-search-forward "\\<elsif\\>" proc-end t)
- (vhdl-re-search-forward "\\<then\\>" proc-end t))
+ ((vhdl-re-search-forward "\\<elsif\\>" ,proc-end t)
+ (vhdl-re-search-forward "\\<then\\>" ,proc-end t))
;; while loop condition
- ((vhdl-re-search-forward "^\\s-*while\\>" proc-end t)
- (vhdl-re-search-forward "\\<loop\\>" proc-end t))
+ ((vhdl-re-search-forward "^\\s-*while\\>" ,proc-end t)
+ (vhdl-re-search-forward "\\<loop\\>" ,proc-end t))
;; exit/next condition
- ((vhdl-re-search-forward "\\<\\(exit\\|next\\)\\s-+\\w+\\s-+when\\>" proc-end t)
- (vhdl-re-search-forward ";" proc-end t))
+ ((vhdl-re-search-forward "\\<\\(exit\\|next\\)\\s-+\\w+\\s-+when\\>" ,proc-end t)
+ (vhdl-re-search-forward ";" ,proc-end t))
;; assert condition
- ((vhdl-re-search-forward "\\<assert\\>" proc-end t)
- (vhdl-re-search-forward "\\(\\<report\\>\\|\\<severity\\>\\|;\\)" proc-end t))
+ ((vhdl-re-search-forward "\\<assert\\>" ,proc-end t)
+ (vhdl-re-search-forward "\\(\\<report\\>\\|\\<severity\\>\\|;\\)" ,proc-end t))
;; case expression
- ((vhdl-re-search-forward "^\\s-*case\\>" proc-end t)
- (vhdl-re-search-forward "\\<is\\>" proc-end t))
+ ((vhdl-re-search-forward "^\\s-*case\\>" ,proc-end t)
+ (vhdl-re-search-forward "\\<is\\>" ,proc-end t))
;; parameter list of procedure call, array index
- ((and (re-search-forward "^\\s-*\\(\\w\\|\\.\\)+[ \t\n\r\f]*(" proc-end t)
+ ((and (re-search-forward "^\\s-*\\(\\w\\|\\.\\)+[ \t\n\r\f]*(" ,proc-end t)
(1- (point)))
(progn (backward-char) (forward-sexp)
(while (looking-at "(") (forward-sexp)) (point)))))
@@ -14948,10 +14952,10 @@
(vhdl-speedbar-expand-units directory)
(vhdl-aput 'vhdl-directory-alist directory (list (list directory))))
-(defun vhdl-speedbar-insert-hierarchy ( ent-alist-arg conf-alist-arg pack-alist
- ent-inst-list depth)
- "Insert hierarchy of ENT-ALIST, CONF-ALIST, and PACK-ALIST."
- (if (not (or ent-alist conf-alist pack-alist))
+(defun vhdl-speedbar-insert-hierarchy ( ent-alist-arg conf-alist-arg
+ package-alist ent-inst-list depth)
+ "Insert hierarchy of ENT-ALIST, CONF-ALIST, and PACKAGE-ALIST."
+ (if (not (or ent-alist conf-alist package-alist))
(vhdl-speedbar-make-title-line "No VHDL design units!" depth)
(let ((ent-alist ent-alist-arg)
(conf-alist conf-alist-arg)
@@ -14981,15 +14985,15 @@
'vhdl-speedbar-configuration-face depth)
(setq conf-alist (cdr conf-alist)))
;; insert packages
- (when pack-alist (vhdl-speedbar-make-title-line "Packages:" depth))
- (while pack-alist
- (setq pack-entry (car pack-alist))
+ (when package-alist (vhdl-speedbar-make-title-line "Packages:" depth))
+ (while package-alist
+ (setq pack-entry (car package-alist))
(vhdl-speedbar-make-pack-line
(nth 0 pack-entry) (nth 1 pack-entry)
(cons (nth 2 pack-entry) (nth 3 pack-entry))
(cons (nth 7 pack-entry) (nth 8 pack-entry))
depth)
- (setq pack-alist (cdr pack-alist))))))
+ (setq package-alist (cdr package-alist))))))
(declare-function speedbar-line-directory "speedbar" (&optional depth))
@@ -17208,6 +17212,7 @@
(unless (or (assoc directory vhdl-file-alist)
(vhdl-load-cache directory))
(vhdl-scan-directory-contents directory))))
+ (defvar rule-alist) ; we need it to be dynamically bound
(let* ((directory (abbreviate-file-name (vhdl-default-directory)))
(project (vhdl-project-p))
(ent-alist (vhdl-aget vhdl-entity-alist (or project directory)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/progmodes/xref.el
^
|
@@ -701,7 +701,13 @@
"Perform interactive replacement of FROM with TO in all displayed xrefs.
This command interactively replaces FROM with TO in the names of the
-references displayed in the current *xref* buffer."
+references displayed in the current *xref* buffer.
+
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
+"
(interactive
(let ((fr (read-regexp "Xref query-replace (regexp)" ".*")))
(list fr
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/ps-print.el
^
|
@@ -1320,11 +1320,11 @@
;; Known bugs and limitations of ps-print
;; --------------------------------------
;;
-;; Automatic font-attribute detection doesn't work well, especially with
-;; hilit19 and older versions of get-create-face. Users having problems with
-;; auto-font detection should use the lists `ps-italic-faces', `ps-bold-faces'
-;; and `ps-underlined-faces' and/or turn off automatic detection by setting
-;; `ps-auto-font-detect' to nil.
+;; Automatic font-attribute detection doesn't work well. Users having
+;; problems with auto-font detection should use the lists
+;; `ps-italic-faces', `ps-bold-faces' and `ps-underlined-faces' and/or
+;; turn off automatic detection by setting `ps-auto-font-detect' to
+;; nil.
;;
;; Still too slow; could use some hand-optimization.
;;
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/recentf.el
^
|
@@ -29,7 +29,7 @@
;; automatically saved across Emacs sessions.
;; You can customize the number of recent files displayed, the
-;; location of the menu and others options. Type:
+;; location of the menu and other options. Type:
;;
;; M-x customize-group RET recentf RET
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/repeat.el
^
|
@@ -418,7 +418,7 @@
(and (commandp s)
(get s 'repeat-map)
(push (get s 'repeat-map) keymaps))))))
- (message "Repeat mode is enabled for %d commands and %d keymaps; see `describe-repeat-maps'."
+ (message "Repeat mode is enabled for %d commands and %d keymaps; see `describe-repeat-maps'"
(length commands)
(length (delete-dups keymaps))))))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/replace.el
^
|
@@ -357,7 +357,9 @@
(defun query-replace (from-string to-string &optional delimited start end backward region-noncontiguous-p)
"Replace some occurrences of FROM-STRING with TO-STRING.
As each match is found, the user must type a character saying
-what to do with it. For directions, type \\[help-command] at that time.
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
In Transient Mark mode, if the mark is active, operate on the contents
of the region. Otherwise, operate from point to the end of the buffer's
@@ -427,7 +429,9 @@
(defun query-replace-regexp (regexp to-string &optional delimited start end backward region-noncontiguous-p)
"Replace some things after point matching REGEXP with TO-STRING.
As each match is found, the user must type a character saying
-what to do with it. For directions, type \\[help-command] at that time.
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
In Transient Mark mode, if the mark is active, operate on the contents
of the region. Otherwise, operate from point to the end of the buffer's
@@ -524,7 +528,9 @@
using `search-forward-regexp' and `replace-match' is preferred.
As each match is found, the user must type a character saying
-what to do with it. For directions, type \\[help-command] at that time.
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
TO-EXPR is a Lisp expression evaluated to compute each replacement. It may
reference `replace-count' to get the number of replacements already made.
@@ -610,6 +616,11 @@
to pull the last incremental search regexp to the minibuffer
that reads REGEXP.
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
+
A prefix argument N says to use each replacement string N times
before rotating to the next.
Fourth and fifth arg START and END specify the region to operate on.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/server.el
^
|
@@ -27,12 +27,12 @@
;;; Commentary:
-;; This Lisp code is run in Emacs when it is to operate as
-;; a server for other processes.
+;; This library allows Emacs to operate as a server for other
+;; processes.
-;; Load this library and do M-x server-edit to enable Emacs as a server.
+;; Load this library and do `M-x server-start' to enable Emacs as a server.
;; Emacs opens up a socket for communication with clients. If there are no
-;; client buffers to edit, server-edit acts like (switch-to-buffer
+;; client buffers to edit, `server-edit' acts like (switch-to-buffer
;; (other-buffer))
;; When some other program runs "the editor" to edit a file,
@@ -42,10 +42,10 @@
;; Note that any number of clients may dispatch files to Emacs to be edited.
-;; When you finish editing a Server buffer, again call server-edit
+;; When you finish editing a Server buffer, again call `server-edit'
;; to mark that buffer as done for the client and switch to the next
;; Server buffer. When all the buffers for a client have been edited
-;; and exited with server-edit, the client "editor" will return
+;; and exited with `server-edit', the client "editor" will return
;; to the program that invoked it.
;; Your editing commands and Emacs's display output go to and from
@@ -54,25 +54,28 @@
;; the client. This is possible in four cases:
;; 1. On a window system, where Emacs runs in one window and the
-;; program that wants to use "the editor" runs in another.
+;; program that wants to use "the editor" runs in another.
-;; 2. On a multi-terminal system, where Emacs runs on one terminal and the
-;; program that wants to use "the editor" runs on another.
+;; 2. On a multi-terminal system, where Emacs runs on one terminal and
+;; the program that wants to use "the editor" runs on another.
-;; 3. When the program that wants to use "the editor" is running
-;; as a subprocess of Emacs.
+;; 3. When the program that wants to use "the editor" is running as a
+;; subprocess of Emacs.
-;; 4. On a system with job control, when Emacs is suspended, the program
-;; that wants to use "the editor" will stop and display
-;; "Waiting for Emacs...". It can then be suspended, and Emacs can be
-;; brought into the foreground for editing. When done editing, Emacs is
-;; suspended again, and the client program is brought into the foreground.
+;; 4. On a system with job control, when Emacs is suspended, the
+;; program that wants to use "the editor" will stop and display
+;; "Waiting for Emacs...". It can then be suspended, and Emacs can
+;; be brought into the foreground for editing. When done editing,
+;; Emacs is suspended again, and the client program is brought into
+;; the foreground.
-;; The buffer local variable "server-buffer-clients" lists
+;; The buffer local variable `server-buffer-clients' lists
;; the clients who are waiting for this buffer to be edited.
-;; The global variable "server-clients" lists all the waiting clients,
+;; The global variable `server-clients' lists all the waiting clients,
;; and which files are yet to be edited for each.
+;;; Code:
+
;; Todo:
;; - handle command-line-args-left.
@@ -80,8 +83,6 @@
;; to here.
;; - fix up handling of the client's environment (place it in the terminal?).
-;;; Code:
-
(eval-when-compile (require 'cl-lib))
(defgroup server nil
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/ses.el
^
|
@@ -3782,7 +3782,7 @@
(default (and cur-printer (ses--locprn-def cur-printer)))
create-printer)
(cond
- ;; cancelled operation => do nothing
+ ;; canceled operation => do nothing
((eq definition t))
;; no change => do nothing
((and cur-printer (equal definition default)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/shell.el
^
|
@@ -1060,41 +1060,25 @@
(accept-process-output proc)
(goto-char pt)))
(goto-char pmark) (delete-char 1) ; remove the extra newline
- ;; That's the dirlist. Grab it & parse it.
- (let* ((dls (buffer-substring-no-properties
- (match-beginning 0) (1- (match-end 0))))
- (dlsl nil)
- (pos 0)
- (ds nil))
- ;; Split the dirlist into whitespace and non-whitespace chunks.
- ;; dlsl will be a reversed list of tokens.
- (while (string-match "\\(\\S-+\\|\\s-+\\)" dls pos)
- (push (match-string 1 dls) dlsl)
- (setq pos (match-end 1)))
-
- ;; Prepend trailing entries until they form an existing directory,
- ;; whitespace and all. Discard the next whitespace and repeat.
- (while dlsl
- (let ((newelt "")
- tem1 tem2)
- (while newelt
- ;; We need tem1 because we don't want to prepend
- ;; `comint-file-name-prefix' repeatedly into newelt via tem2.
- (setq tem1 (pop dlsl)
- tem2 (concat comint-file-name-prefix tem1 newelt))
- (cond ((file-directory-p tem2)
- (push tem2 ds)
- (when (string= " " (car dlsl))
- (pop dlsl))
- (setq newelt nil))
- (t
- (setq newelt (concat tem1 newelt)))))))
-
- (with-demoted-errors "Couldn't cd: %s"
- (shell-cd (car ds))
- (setq shell-dirstack (cdr ds)
- shell-last-dir (car shell-dirstack))
- (shell-dirstack-message))))
+ ;; That's the dirlist. grab it & parse it.
+ (let* ((dl (buffer-substring (match-beginning 2) (1- (match-end 2))))
+ (dl-len (length dl))
+ (ds '()) ; new dir stack
+ (i 0))
+ (while (< i dl-len)
+ ;; regexp = optional whitespace, (non-whitespace), optional whitespace
+ (string-match "\\s *\\(\\S +\\)\\s *" dl i) ; pick off next dir
+ (setq ds (cons (concat comint-file-name-prefix
+ (substring dl (match-beginning 1)
+ (match-end 1)))
+ ds))
+ (setq i (match-end 0)))
+ (let ((ds (nreverse ds)))
+ (with-demoted-errors "Couldn't cd: %s"
+ (shell-cd (car ds))
+ (setq shell-dirstack (cdr ds)
+ shell-last-dir (car shell-dirstack))
+ (shell-dirstack-message)))))
(if started-at-pmark (goto-char (marker-position pmark)))))
;; For your typing convenience:
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/simple.el
^
|
@@ -222,7 +222,7 @@
(defcustom next-error-find-buffer-function #'ignore
"Function called to find a `next-error' capable buffer.
-This functions takes the same three arguments as the function
+This function takes the same three arguments as the function
`next-error-find-buffer', and should return the buffer to be
used by the subsequent invocation of the command `next-error'
and `previous-error'.
@@ -5183,7 +5183,7 @@
boundary in the current buffer."
(let ((cur (car kill-ring)))
(kill-new (if before-p (concat string cur) (concat cur string))
- (or (string= cur "")
+ (or (= (length cur) 0)
(null (get-text-property 0 'yank-handler cur)))))
(when (and kill-append-merge-undo (not buffer-read-only))
(let ((prev buffer-undo-list)
@@ -8398,7 +8398,19 @@
:global t :group 'mode-line)
(define-minor-mode auto-save-mode
- "Toggle auto-saving in the current buffer (Auto Save mode)."
+ "Toggle auto-saving in the current buffer (Auto Save mode).
+
+When this mode is enabled, Emacs periodically saves each file-visiting
+buffer in a separate \"auto-save file\". This is a safety measure to
+prevent you from losing more than a limited amount of work if the
+system crashes.
+
+Auto-saving does not alter the file visited by the buffer: the visited
+file is changed only when you request saving it explicitly (such as
+with \\[save-buffer]). If you want to save the buffer into its
+visited files automatically, use \\[auto-save-visited-mode]).
+
+For more details, see Info node `(emacs) Auto Save'."
:variable ((and buffer-auto-save-file-name
;; If auto-save is off because buffer has shrunk,
;; then toggling should turn it on.
@@ -8735,9 +8747,10 @@
paraphernalia if Gnus is running, particularly
the Gcc: header for archiving.
-Additional valid symbols may be available; check with the author of
-your package for details. The function should return non-nil if it
-succeeds.
+Additional valid symbols may be available; check in the manual of
+your mail user agent package for details. You may also define
+your own symbol to be used as value for this variable using
+`define-mail-user-agent'.
See also `read-mail-command' concerning reading mail."
:type '(radio (function-item :tag "Message package"
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/so-long.el
^
|
@@ -38,7 +38,7 @@
;; compacted into the smallest file size possible, which often entails removing
;; newlines should they not be strictly necessary). This can result in lines
;; which are many thousands of characters long, and most programming modes
-;; simply aren't optimised (remotely) for this scenario, so performance can
+;; simply aren't optimized (remotely) for this scenario, so performance can
;; suffer significantly.
;;
;; When so-long detects such a file, it calls the command `so-long', which
@@ -90,7 +90,7 @@
;; * Overview of modes and commands
;; --------------------------------
;; - `global-so-long-mode' - A global minor mode which enables the automated
-;; behaviour, causing the user's preferred action to be invoked whenever a
+;; behavior, causing the user's preferred action to be invoked whenever a
;; newly-visited file contains excessively long lines.
;; - `so-long-mode' - A major mode, and the default action.
;; - `so-long-minor-mode' - A minor mode version of the major mode, and an
@@ -111,7 +111,7 @@
;;
;; On rare occasions you may choose to manually invoke the `so-long' command,
;; which invokes your preferred `so-long-action' (exactly as the automatic
-;; behaviour would do if it had detected long lines). You might use this if a
+;; behavior would do if it had detected long lines). You might use this if a
;; problematic file did not meet your configured criteria, and you wished to
;; trigger the performance improvements manually.
;;
@@ -120,7 +120,7 @@
;; available to `so-long' but, like any other mode, they can be invoked directly
;; if you have a need to do that (see also "Other ways of using so-long" below).
;;
-;; If the behaviour ever triggers when you did not want it to, you can use the
+;; If the behavior ever triggers when you did not want it to, you can use the
;; `so-long-revert' command to restore the buffer to its original state.
;; * Basic configuration
@@ -199,7 +199,7 @@
;;
;; Note that `so-long-minor-modes' is not useful for other global minor modes
;; (as distinguished from globalized minor modes), but in some cases it will be
-;; possible to inhibit or otherwise counter-act the behaviour of a global mode
+;; possible to inhibit or otherwise counter-act the behavior of a global mode
;; by overriding variables, or by employing hooks (see below). You would need
;; to inspect the code for a given global mode (on a case by case basis) to
;; determine whether it's possible to inhibit it for a single buffer -- and if
@@ -211,7 +211,7 @@
;; If `so-long-action' is set to either `so-long-mode' or `so-long-minor-mode',
;; the buffer-local value for each variable in the list is set to the associated
;; value in the alist. Use this to enforce values which will improve
-;; performance or otherwise avoid undesirable behaviours. If `so-long-revert'
+;; performance or otherwise avoid undesirable behaviors. If `so-long-revert'
;; is called, then the original values are restored.
;; * Retaining minor modes and settings when switching to `so-long-mode'
@@ -273,7 +273,7 @@
;; `so-long-mode', completely bypassing the automated decision process.
;; Refer to M-: (info "(emacs) Specifying File Variables") RET
;;
-;; If so-long itself causes problems, disable the automated behaviour with
+;; If so-long itself causes problems, disable the automated behavior with
;; M-- M-x global-so-long-mode, or M-: (global-so-long-mode 0)
;; * Example configuration
@@ -313,7 +313,7 @@
;; (add-hook 'js-mode-hook 'my-js-mode-hook)
;;
;; (defun my-js-mode-hook ()
-;; "Custom `js-mode' behaviours."
+;; "Custom `js-mode' behaviors."
;; (setq-local so-long-max-lines 100)
;; (setq-local so-long-threshold 1000))
;;
@@ -327,7 +327,7 @@
;; (add-hook 'nxml-mode-hook 'my-nxml-mode-hook)
;;
;; (defun my-nxml-mode-hook ()
-;; "Custom `nxml-mode' behaviours."
+;; "Custom `nxml-mode' behaviors."
;; (require 'so-long)
;; (setq-local so-long-variable-overrides
;; (remove '(bidi-inhibit-bpa . t) so-long-variable-overrides)))
@@ -380,7 +380,7 @@
;; meaning you would need to add to `safe-local-variable-values' in order to
;; avoid being queried about them.
;;
-;; Finally, the `so-long-predicate' user option enables the automated behaviour
+;; Finally, the `so-long-predicate' user option enables the automated behavior
;; to be determined by a custom function, if greater control is needed.
;; * Implementation notes
@@ -397,7 +397,7 @@
;; * Caveats
;; ---------
-;; The variables affecting the automated behaviour of this library (such as
+;; The variables affecting the automated behavior of this library (such as
;; `so-long-action') can be used as file- or dir-local values in Emacs 26+, but
;; not in previous versions of Emacs. This is on account of improvements made
;; to `normal-mode' in 26.1, which altered the execution order with respect to
@@ -412,7 +412,7 @@
;;
;; 1.1.2 - Use `so-long-mode-line-active' face on `mode-name' in `so-long-mode'.
;; 1.1.1 - Identical to 1.1, but fixing an incorrect GNU ELPA release.
-;; 1.1 - Utilise `buffer-line-statistics' in Emacs 28+, with the new
+;; 1.1 - Utilize `buffer-line-statistics' in Emacs 28+, with the new
;; `so-long-predicate' function `so-long-statistics-excessive-p'.
;; - Increase `so-long-threshold' from 250 to 10,000.
;; - Increase `so-long-max-lines' from 5 to 500.
@@ -449,7 +449,7 @@
;; - Added sgml-mode and nxml-mode to `so-long-target-modes'.
;; 0.7.4 - Refactored the handling of `whitespace-mode'.
;; 0.7.3 - Added customization group `so-long' with user options.
-;; - Added `so-long-original-values' to generalise the storage and
+;; - Added `so-long-original-values' to generalize the storage and
;; restoration of values from the original mode upon `so-long-revert'.
;; - Added `so-long-revert-hook'.
;; 0.7.2 - Remember the original major mode even with M-x `so-long-mode'.
@@ -462,7 +462,7 @@
;; 0.6 - Added `so-long-minor-modes' and `so-long-hook'.
;; 0.5 - Renamed library to "so-long.el".
;; - Added explicit `so-long-enable' command to activate our advice.
-;; 0.4 - Amended/documented behaviour with file-local 'mode' variables.
+;; 0.4 - Amended/documented behavior with file-local 'mode' variables.
;; 0.3 - Defer to a file-local 'mode' variable.
;; 0.2 - Initial release to EmacsWiki.
;; 0.1 - Experimental.
@@ -490,7 +490,7 @@
;; automatically."; however `so-long--ensure-enabled' may forcibly re-enable
;; it contrary to the user's expectations, so for the present this should be
;; considered internal-use only (with `global-so-long-mode' the interface
- ;; for enabling or disabling the automated behaviour). FIXME: Establish a
+ ;; for enabling or disabling the automated behavior). FIXME: Establish a
;; way to support the original use-case, or rename to `so-long--enabled'.
"Internal use. Non-nil when any `so-long' functionality has been used.")
@@ -586,7 +586,7 @@
(defcustom so-long-invisible-buffer-function #'so-long-deferred
"Function called in place of `so-long' when the buffer is not displayed.
-This affects the behaviour of `global-so-long-mode'.
+This affects the behavior of `global-so-long-mode'.
We treat invisible buffers differently from displayed buffers because, in
cases where a library is using a buffer for behind-the-scenes processing,
@@ -618,7 +618,7 @@
'so-long-detected-long-line-p)
"Function called after `set-auto-mode' to decide whether action is needed.
-This affects the behaviour of `global-so-long-mode'.
+This affects the behavior of `global-so-long-mode'.
Only called if the major mode is a member of `so-long-target-modes'.
@@ -642,7 +642,7 @@
(defun so-long--action-type ()
"Generate a :type for `so-long-action' based on `so-long-action-alist'."
;; :type seemingly cannot be a form to be evaluated on demand, so we
- ;; endeavour to keep it up-to-date with `so-long-action-alist' by
+ ;; endeavor to keep it up-to-date with `so-long-action-alist' by
;; calling this from `so-long--action-alist-setter'.
`(radio ,@(mapcar (lambda (x) (list 'const :tag (cadr x) (car x)))
(assq-delete-all nil so-long-action-alist))
@@ -703,7 +703,7 @@
The value `longlines-mode' causes that minor mode to be enabled. See
longlines.el for more details.
-Each action likewise determines the behaviour of `so-long-revert'.
+Each action likewise determines the behavior of `so-long-revert'.
If the value is nil, or not defined in `so-long-action-alist', then no action
will be taken."
@@ -753,7 +753,7 @@
(defcustom so-long-file-local-mode-function 'so-long-mode-downgrade
"Function to call during `set-auto-mode' when a file-local mode is set.
-This affects the behaviour of `global-so-long-mode'.
+This affects the behavior of `global-so-long-mode'.
The specified function will be called with a single argument, being the
file-local mode which was established.
@@ -855,7 +855,7 @@
or `so-long-minor-mode'. If `so-long-revert' is subsequently invoked, then the
disabled modes are re-enabled by calling them with the numeric argument 1.
-`so-long-hook' can be used where more custom behaviour is desired.
+`so-long-hook' can be used where more custom behavior is desired.
Please submit bug reports to recommend additional modes for this list, whether
they are in Emacs core, GNU ELPA, or elsewhere."
@@ -1312,7 +1312,7 @@
(if so-long-minor-mode ;; We are enabling the mode.
(progn
;; Housekeeping. `so-long-minor-mode' might be invoked directly rather
- ;; than via `so-long', so replicate the necessary behaviours. The minor
+ ;; than via `so-long', so replicate the necessary behaviors. The minor
;; mode also cares about whether `so-long' was already active, as we do
;; not want to remember values which were (potentially) overridden
;; already.
@@ -1387,9 +1387,9 @@
Use \\[so-long-commentary] for more information.
Use \\[so-long-customize] to open the customization group `so-long' to
-configure the behaviour."
+configure the behavior."
;; Housekeeping. `so-long-mode' might be invoked directly rather than via
- ;; `so-long', so replicate the necessary behaviours. We could use this same
+ ;; `so-long', so replicate the necessary behaviors. We could use this same
;; test in `so-long-after-change-major-mode' to run `so-long-hook', but that's
;; not so obviously the right thing to do, so I've omitted it for now.
(unless so-long--calling
@@ -1435,7 +1435,7 @@
This advice acts before `so-long-mode', with the previous mode still active."
(unless (derived-mode-p 'so-long-mode)
;; Housekeeping. `so-long-mode' might be invoked directly rather than
- ;; via `so-long', so replicate the necessary behaviours.
+ ;; via `so-long', so replicate the necessary behaviors.
(unless so-long--calling
(so-long-remember-all :reset))
;; Remember the original major mode, regardless.
@@ -1549,7 +1549,7 @@
;; Emacs 26+ has already called `hack-local-variables' (during
;; `run-mode-hooks'; provided there was a `buffer-file-name'), but for older
;; versions we need to call it here. In Emacs 26+ the revised 'HANDLE-MODE'
- ;; argument is set to `no-mode' (being the non-nil-and-non-t behaviour),
+ ;; argument is set to `no-mode' (being the non-nil-and-non-t behavior),
;; which we mimic here by binding `so-long--hack-local-variables-no-mode',
;; in order to prevent a local 'mode' variable from clobbering the major
;; mode we have just called.
@@ -1590,7 +1590,7 @@
;; Act only if `so-long-mode' would be enabled by the current action.
(when (and (symbolp (so-long-function))
(provided-mode-derived-p (so-long-function) 'so-long-mode))
- ;; Downgrade from `so-long-mode' to the `so-long-minor-mode' behaviour.
+ ;; Downgrade from `so-long-mode' to the `so-long-minor-mode' behavior.
(setq so-long-function 'turn-on-so-long-minor-mode
so-long-revert-function 'turn-off-so-long-minor-mode))))
@@ -1610,7 +1610,7 @@
This special-case code will ultimately be removed from Emacs, as it exists to
deal with a deprecated feature; but until then we need to replicate it in order
-to inhibit our own behaviour in the presence of a header comment `mode'
+to inhibit our own behavior in the presence of a header comment `mode'
declaration.
If a file-local mode is detected in the header comment, then we call the
@@ -1747,7 +1747,7 @@
major mode to `so-long-mode' by this point, that protection is insufficient
and so we need to perform our own test.
-We likewise need to support an equivalent of the `no-mode' behaviour in 26.1+
+We likewise need to support an equivalent of the `no-mode' behavior in 26.1+
to ensure that `so-long-mode-revert' will not restore a file-local mode again
after it has already reverted to the original mode.
@@ -1895,7 +1895,7 @@
Use \\[so-long-commentary] for more information.
Use \\[so-long-customize] to open the customization group `so-long' to
-configure the behaviour."
+configure the behavior."
:global t
:group 'so-long
(if global-so-long-mode
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/subr.el
^
|
@@ -1754,6 +1754,8 @@
(make-obsolete-variable 'operating-system-release nil "28.1")
(make-obsolete 'run-window-configuration-change-hook nil "27.1")
+(make-obsolete 'process-filter-multibyte-p nil "23.1")
+(make-obsolete 'set-process-filter-multibyte nil "23.1")
(make-obsolete-variable 'command-debug-status
"expect it to be removed in a future version." "25.2")
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/term.el
^
|
@@ -78,7 +78,7 @@
;; directory/username/host tracking: the only drawback is that you will
;; have to modify your shell start-up script. It's worth it, believe me :).
;;
-;; When you rlogin/su/telnet and the account you access has a modified
+;; When you ssh/sudo/su and the account you access has a modified
;; startup script, you will be able to access the remote files as usual
;; with C-x C-f, if it's needed you will have to enter a password,
;; otherwise the file should get loaded straight away.
|
[-]
[+]
|
Added |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/term/fbterm.el
^
|
@@ -0,0 +1,27 @@
+;;; fbterm.el -*- lexical-binding:t -*-
+
+;; Copyright (C) 2022 Free Software Foundation, Inc.
+
+;; Note that, in some versions of fbterm, the TERM environment
+;; variable is set to "linux". When that's the case, the code below
+;; will not be executed, and only 8 colors will be available. It is
+;; therefore necessary, with these versions of fbterm, to set that
+;; environment variable to "fbterm" to enable its 256 color mode
+;; extension. See also the node "Emacs in a Linux console" of the
+;; Emacs FAQ.
+
+(require 'term/xterm)
+
+(defun terminal-init-fbterm ()
+ "Terminal initialization function for fbterm."
+
+ ;; fbterm can't display underlines, even though its terminfo data
+ ;; says it can.
+ (tty-no-underline)
+
+ ;; fbterm supports xterm's 256 color mode extension.
+ (xterm-register-default-colors xterm-standard-colors))
+
+(provide 'term/fbterm)
+
+;;; fbterm.el ends here
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/term/linux.el
^
|
@@ -17,6 +17,10 @@
(ignore-errors (when gpm-mouse-mode (require 't-mouse) (gpm-mouse-enable)))
+ ;; Don't translate ESC TAB to backtab as directed
+ ;; by ncurses-6.3.
+ (define-key input-decode-map "\e\t" nil)
+
;; Make Latin-1 input characters work, too.
;; Meta will continue to work, because the kernel
;; turns that into Escape.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/textmodes/artist.el
^
|
@@ -46,8 +46,8 @@
;;
;; * Rubber-banding: When drawing lines you can interactively see the
;; result while holding the mouse button down and moving the mouse. If
-;; your machine is not fast enough (a 386 is a bit to slow, but a
-;; pentium is well enough), you can turn this feature off. You will
+;; your machine is not fast enough (a 386 is a bit too slow, but a
+;; Pentium is good enough), you can turn this feature off. You will
;; then see 1's and 2's which mark the 1st and 2nd endpoint of the line
;; you are drawing.
;;
@@ -75,10 +75,10 @@
;; * Flood-filling: You can fill any area with a certain character by
;; flood-filling.
;;
-;; * Cut copy and paste: You can cut, copy and paste rectangular
+;; * Cut, copy and paste: You can cut, copy and paste rectangular
;; regions. Artist also interfaces with the rect package (this can be
;; turned off if it causes you any trouble) so anything you cut in
-;; artist can be yanked with C-x r y and vice versa.
+;; artist can be yanked with `C-x r y' and vice versa.
;;
;; * Drawing with keys: Everything you can do with the mouse, you can
;; also do without the mouse.
@@ -86,7 +86,7 @@
;; * Arrows: After having drawn a (straight) line or a (straight)
;; poly-line, you can set arrows on the line-ends by typing < or >.
;;
-;; * Aspect-ratio: You can set the variable artist-aspect-ratio to
+;; * Aspect-ratio: You can set the user option `artist-aspect-ratio' to
;; reflect the height-width ratio for the font you are using. Squares
;; and circles are then drawn square/round. Note, that once your
;; ascii-file is shown with font with a different height-width ratio,
@@ -95,7 +95,7 @@
;; * Picture mode compatibility: Artist is picture mode compatible (this
;; can be turned off).
;;
-;; See the documentation for the function artist-mode for a detailed
+;; See the documentation for the function `artist-mode' for a detailed
;; description on how to use artist.
;;
;;
@@ -119,8 +119,8 @@
;;; Known bugs:
;; It is not possible to change between shifted and unshifted operation
-;; while drawing with the mouse. (See the comment in the function
-;; artist-shift-has-changed for further details.)
+;; while drawing with the mouse. (See the comment in the function
+;; `artist-shift-has-changed' for further details.)
;;; ChangeLog:
@@ -149,9 +149,9 @@
;;
;; 1.2.1 15-Nov-2000
;; New: Documentation fixes.
-;; Bugfix: Sets next-line-add-newlines to t while in artist-mode.
+;; Bugfix: Set `next-line-add-newlines' to t while in `artist-mode'.
;; Drawing with keys was confusing without this fix, if
-;; next-line-add-newlines was set to nil.
+;; `next-line-add-newlines' was set to nil.
;; Thanks to Tatsuo Furukawa <tatsuo@kobe.hp.com> for this.
;;
;; 1.2 22-Oct-2000
@@ -462,7 +462,7 @@
(if artist-picture-compatibility
(require 'picture))
-;; Variables that are made local in artist-mode-init
+;; Variables that are made local in `artist-mode-init'
(defvar artist-key-is-drawing nil)
(defvar artist-key-endpoint1 nil)
(defvar artist-key-poly-point-list nil)
@@ -1334,25 +1334,25 @@
This is a brief overview of the different variables. For more info,
see the documentation for the variables (type \\[describe-variable] <variable> RET).
- artist-rubber-banding Interactively do rubber-banding or not
- artist-first-char What to set at first/second point...
- artist-second-char ...when not rubber-banding
- artist-interface-with-rect If cut/copy/paste should interface with rect
- artist-arrows The arrows to use when drawing arrows
- artist-aspect-ratio Character height-to-width for squares
- artist-trim-line-endings Trimming of line endings
- artist-flood-fill-right-border Right border when flood-filling
- artist-flood-fill-show-incrementally Update display while filling
- artist-pointer-shape Pointer shape to use while drawing
- artist-ellipse-left-char Character to use for narrow ellipses
- artist-ellipse-right-char Character to use for narrow ellipses
- artist-borderless-shapes If shapes should have borders
- artist-picture-compatibility Whether or not to be picture mode compatible
- artist-vaporize-fuzziness Tolerance when recognizing lines
- artist-spray-interval Seconds between repeated sprayings
- artist-spray-radius Size of the spray-area
- artist-spray-chars The spray-\"color\"
- artist-spray-new-chars Initial spray-\"color\"
+ `artist-rubber-banding' Interactively do rubber-banding or not
+ `artist-first-char' What to set at first/second point...
+ `artist-second-char' ...when not rubber-banding
+ `artist-interface-with-rect' Should cut/copy/paste interface with rect
+ `artist-arrows' The arrows to use when drawing arrows
+ `artist-aspect-ratio' Character height-to-width for squares
+ `artist-trim-line-endings' Trimming of line endings
+ `artist-flood-fill-right-border' Right border when flood-filling
+ `artist-flood-fill-show-incrementally' Update display while filling
+ `artist-pointer-shape' Pointer shape to use while drawing
+ `artist-ellipse-left-char' Character to use for narrow ellipses
+ `artist-ellipse-right-char' Character to use for narrow ellipses
+ `artist-borderless-shapes' If shapes should have borders
+ `artist-picture-compatibility' Picture mode compatibility on or off
+ `artist-vaporize-fuzziness' Tolerance when recognizing lines
+ `artist-spray-interval' Seconds between repeated sprayings
+ `artist-spray-radius' Size of the spray-area
+ `artist-spray-chars' The spray-\"color\"
+ `artist-spray-new-char' Initial spray-\"color\"
Hooks
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/textmodes/dns-mode.el
^
|
@@ -165,7 +165,7 @@
;;;###autoload
(define-derived-mode dns-mode text-mode "DNS"
"Major mode for viewing and editing DNS master files.
-This mode is inherited from text mode. It add syntax
+This mode is derived from text mode. It adds syntax
highlighting, and some commands for handling DNS master files.
Its keymap inherits from `text-mode' and it has the same
variables for customizing indentation. It has its own abbrev
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/textmodes/etc-authors-mode.el
^
|
@@ -2,7 +2,7 @@
;; Copyright (C) 2021-2022 Free Software Foundation, Inc.
-;; Author: Stefan Kangas <stefan@marxist.se>
+;; Author: Stefan Kangas <stefankangas@gmail.com>
;; Keywords: internal
;; This file is part of GNU Emacs.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/textmodes/reftex-global.el
^
|
@@ -88,6 +88,12 @@
(defun reftex-query-replace-document (&optional from to delimited)
"Do `query-replace-regexp' of FROM with TO over the entire document.
Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
+
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
+
If you exit (\\[keyboard-quit], RET or q), you can resume the query replace
with the command \\[tags-loop-continue].
No active TAGS table is required."
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/textmodes/rst.el
^
|
@@ -48,10 +48,10 @@
;; the contents of this package and how to use it.
;;
;; For more information about reStructuredText, see
-;; http://docutils.sourceforge.net/rst.html
+;; https://docutils.sourceforge.io/rst.html
;;
;; For full details on how to use the contents of this file, see
-;; http://docutils.sourceforge.net/docs/user/emacs.html
+;; https://docutils.sourceforge.io/docs/user/emacs.html
;;
;; There are a number of convenient key bindings provided by rst-mode. For the
;; bindings, try C-c C-h when in rst-mode. There are also many variables that
@@ -72,7 +72,7 @@
;;; DOWNLOAD
;; The latest release of this file lies in the docutils source code repository:
-;; http://docutils.svn.sourceforge.net/svnroot/docutils/trunk/docutils/tools/editors/emacs/rst.el
+;; https://sourceforge.net/p/docutils/code/HEAD/tree/trunk/docutils/tools/editors/emacs/rst.el
;;; INSTALLATION
@@ -81,7 +81,7 @@
;; (require 'rst)
;;
;; If you are using `.txt' as a standard extension for reST files as
-;; http://docutils.sourceforge.net/FAQ.html#what-s-the-standard-filename-extension-for-a-restructuredtext-file
+;; https://docutils.sourceforge.io/FAQ.html#what-s-the-standard-filename-extension-for-a-restructuredtext-file
;; suggests you may use one of the `Local Variables in Files' mechanism Emacs
;; provides to set the major mode automatically. For instance you may use::
;;
@@ -274,7 +274,7 @@
(defgroup rst nil "Support for reStructuredText documents."
:group 'text
:version "23.1"
- :link '(url-link "http://docutils.sourceforge.net/rst.html"))
+ :link '(url-link "https://docutils.sourceforge.io/rst.html"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -3786,7 +3786,7 @@
(defvar rst-font-lock-keywords
;; The reST-links in the comments below all relate to sections in
- ;; http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html.
+ ;; https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html.
`(;; FIXME: Block markup is not recognized in blocks after explicit markup
;; start.
@@ -4402,7 +4402,7 @@
;; FIXME: Add `rst-compile-html-preview'.
-;; FIXME: Add support for `restview` (http://mg.pov.lt/restview/). May be a
+;; FIXME: Add support for `restview` (https://mg.pov.lt/restview/). May be a
;; more general facility for calling commands on a reST file would make
;; sense.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/uniquify.el
^
|
@@ -110,7 +110,7 @@
post-forward-angle-brackets could be:
(defun my-post-forward-angle-brackets (base extra-string)
- (concat base \"<\" (mapconcat #'identity extra-string \"/\") \">\"))
+ (concat base \"<\" (mapconcat #\\='identity extra-string \"/\") \">\"))
The \"mumble\" part may be stripped as well, depending on the
setting of `uniquify-strip-common-suffix'. For more options that
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/url/url-http.el
^
|
@@ -698,7 +698,7 @@
;; gives the URI of the proxy. The recipient is expected
;; to repeat this single request via the proxy. 305
;; responses MUST only be generated by origin servers.
- (error "Redirection thru a proxy server not supported: %s"
+ (error "Redirection through a proxy server not supported: %s"
redirect-uri))
(_
;; Treat everything like '300'
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/vc/diff-mode.el
^
|
@@ -27,8 +27,8 @@
;; to the corresponding source file.
;; Inspired by Pavel Machek's patch-mode.el (<pavel@@atrey.karlin.mff.cuni.cz>)
-;; Some efforts were spent to have it somewhat compatible with XEmacs's
-;; diff-mode as well as with compilation-minor-mode
+;; Some efforts were spent to have it somewhat compatible with
+;; `compilation-minor-mode'.
;; Bugs:
@@ -2053,7 +2053,7 @@
(re-search-forward "^[^ ]" nil t))
(pcase-let ((`(,buf ,_line-offset ,pos ,src ,dst ,switched)
(ignore-errors ;Signals errors in place of prompting.
- ;; Use `noprompt' since this is used in which-func-mode
+ ;; Use `noprompt' since this is used in which-function-mode
;; and such.
(diff-find-source-location nil nil 'noprompt))))
(when buf
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/vc/ediff.el
^
|
@@ -89,12 +89,11 @@
;; underlining. However, if the region is already underlined by some other
;; overlays, there is no simple way to temporarily remove that residual
;; underlining. This problem occurs when a buffer is highlighted with
-;; hilit19.el or font-lock.el packages. If this residual highlighting gets
-;; in the way, you can do the following. Both font-lock.el and hilit19.el
-;; provide commands for unhighlighting buffers. You can either place these
-;; commands in `ediff-prepare-buffer-hook' (which will unhighlight every
-;; buffer used by Ediff) or you can execute them interactively, at any time
-;; and on any buffer.
+;; font-lock.el. If this residual highlighting gets in the way, you
+;; can use the font-lock.el commands for unhighlighting buffers.
+;; Either place these commands in `ediff-prepare-buffer-hook' (which will
+;; unhighlight every buffer used by Ediff) or execute them
+;; interactively, which you can do at any time and in any buffer.
;;; Acknowledgments:
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/vc/vc-bzr.el
^
|
@@ -640,7 +640,7 @@
;; Could run `bzr status' in the directory and see if it succeeds, but
;; that's relatively expensive.
(defalias 'vc-bzr-responsible-p #'vc-bzr-root
- "Return non-nil if FILE is (potentially) controlled by bzr.
+ "Return the directory if FILE is (potentially) controlled by bzr.
The criterion is that there is a `.bzr' directory in the same
or a superior directory.")
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/vc/vc-cvs.el
^
|
@@ -308,11 +308,12 @@
(vc-switches 'CVS 'register)))
(defun vc-cvs-responsible-p (file)
- "Return non-nil if CVS thinks it is responsible for FILE."
- (file-directory-p (expand-file-name "CVS"
- (if (file-directory-p file)
- file
- (file-name-directory file)))))
+ "Return the directory if CVS thinks it is responsible for FILE."
+ (let ((dir (if (file-directory-p file)
+ file
+ (file-name-directory file))))
+ (and (file-directory-p (expand-file-name "CVS" dir))
+ (file-name-directory (expand-file-name "CVS" dir)))))
(defun vc-cvs-could-register (file)
"Return non-nil if FILE could be registered in CVS.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/vc/vc-dav.el
^
|
@@ -136,10 +136,10 @@
"Find the version control state of all files in DIR in a fast way."
)
-(defun vc-dav-responsible-p (_url)
- "Return non-nil if DAV considers itself `responsible' for URL."
+(defun vc-dav-responsible-p (url)
+ "Return the URL if DAV considers itself `responsible' for URL."
;; Check for DAV support on the web server.
- t)
+ url)
;;; Unimplemented functions
;;
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/vc/vc-dir.el
^
|
@@ -924,7 +924,7 @@
"Search through all marked files for a match for REGEXP.
For marked directories, use the files displayed from those directories.
Stops when a match is found.
-To continue searching for next match, use command \\[tags-loop-continue]."
+To continue searching for next match, use command \\[fileloop-continue]."
(interactive "sSearch marked files (regexp): ")
(tags-search regexp
(mapcar #'car (vc-dir-marked-only-files-and-states))))
@@ -933,8 +933,14 @@
"Do `query-replace-regexp' of FROM with TO, on all marked files.
If a directory is marked, then use the files displayed for that directory.
Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
+
+As each match is found, the user must type a character saying
+what to do with it. Type SPC or `y' to replace the match,
+DEL or `n' to skip and go to the next match. For more directions,
+type \\[help-command] at that time.
+
If you exit (\\[keyboard-quit], RET or q), you can resume the query replace
-with the command \\[tags-loop-continue]."
+with the command \\[fileloop-continue]."
;; FIXME: this is almost a copy of `dired-do-query-replace-regexp'. This
;; should probably be made generic and used in both places instead of
;; duplicating it here.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/vc/vc-rcs.el
^
|
@@ -288,12 +288,13 @@
(match-string 1))))))
(defun vc-rcs-responsible-p (file)
- "Return non-nil if RCS thinks it would be responsible for registering FILE."
+ "Return the directory if RCS thinks it would be responsible for FILE."
;; TODO: check for all the patterns in vc-rcs-master-templates
- (file-directory-p (expand-file-name "RCS"
- (if (file-directory-p file)
- file
- (file-name-directory file)))))
+ (let ((dir (if (file-directory-p file)
+ file
+ (file-name-directory file))))
+ (and (file-directory-p (expand-file-name "RCS" dir))
+ (file-name-directory (expand-file-name "RCS" dir)))))
(defun vc-rcs-receive-file (file rev)
"Implementation of receive-file for RCS."
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/vc/vc-sccs.el
^
|
@@ -212,11 +212,15 @@
(vc-sccs-do-command nil 0 "get" (vc-master-name file)))))
(defun vc-sccs-responsible-p (file)
- "Return non-nil if SCCS thinks it would be responsible for registering FILE."
+ "Return the directory if SCCS thinks it would be responsible for FILE."
;; TODO: check for all the patterns in vc-sccs-master-templates
- (or (file-directory-p (expand-file-name "SCCS" (file-name-directory file)))
- (stringp (vc-sccs-search-project-dir (or (file-name-directory file) "")
- (file-name-nondirectory file)))))
+ (or (and (file-directory-p
+ (expand-file-name "SCCS" (file-name-directory file)))
+ file)
+ (let ((dir (vc-sccs-search-project-dir (or (file-name-directory file) "")
+ (file-name-nondirectory file))))
+ (and (stringp dir)
+ dir))))
(defun vc-sccs-checkin (files comment &optional rev)
"SCCS-specific version of `vc-backend-checkin'."
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/vc/vc-src.el
^
|
@@ -242,11 +242,13 @@
(vc-src-command nil files "add"))
(defun vc-src-responsible-p (file)
- "Return non-nil if SRC thinks it would be responsible for registering FILE."
- (file-directory-p (expand-file-name ".src"
- (if (file-directory-p file)
- file
- (file-name-directory file)))))
+ "Return the directory if SRC thinks it would be responsible for FILE."
+ (let ((dir (expand-file-name ".src"
+ (if (file-directory-p file)
+ file
+ (file-name-directory file)))))
+ (and (file-directory-p dir)
+ dir)))
(defun vc-src-checkin (files comment &optional _rev)
"SRC-specific version of `vc-backend-checkin'.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/vc/vc.el
^
|
@@ -220,7 +220,7 @@
;;
;; - responsible-p (file)
;;
-;; Return non-nil if this backend considers itself "responsible" for
+;; Return the directory if this backend considers itself "responsible" for
;; FILE, which can also be a directory. This function is used to find
;; out what backend to use for registration of new files and for things
;; like change log generation. The default implementation always
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/wdired.el
^
|
@@ -27,16 +27,16 @@
;; wdired.el (the "w" is for writable) provides an alternative way of
;; renaming files.
;;
-;; Have you ever wanted to use C-x r t (string-rectangle), M-%
-;; (query-replace), M-c (capitalize-word), etc... to change the name of
-;; the files in a "dired" buffer? Now you can do this. All the power
-;; of Emacs commands are available when renaming files!
+;; Have you ever wanted to use `C-x r t' (`string-rectangle'), `M-%'
+;; (`query-replace'), `M-c' (`capitalize-word'), etc... to change the
+;; name of the files in a Dired buffer? Now you can do this. All the
+;; power of Emacs commands are available when renaming files!
;;
;; This package provides a function that makes the filenames of a
-;; dired buffer editable, by changing the buffer mode (which inhibits
-;; all of the commands of dired mode). Here you can edit the names of
-;; one or more files and directories, and when you press C-c C-c, the
-;; renaming takes effect and you are back to dired mode.
+;; Dired buffer editable, by changing the buffer mode (which inhibits
+;; all of the commands of Dired mode). Here you can edit the names of
+;; one or more files and directories, and when you press `C-c C-c',
+;; the renaming takes effect and you are back to dired mode.
;;
;; Other things you can do with WDired:
;;
@@ -46,11 +46,11 @@
;; - Change the target of symbolic links.
;;
;; - Change the permission bits of the filenames (in systems with a
-;; working unix-alike `dired-chmod-program'). See and customize the
-;; variable `wdired-allow-to-change-permissions'. To change a single
-;; char (toggling between its two more usual values) you can press
-;; the space bar over it or left-click the mouse. To set any char to
-;; an specific value (this includes the SUID, SGID and STI bits) you
+;; working unix-alike "chmod"). See and customize the variable
+;; `wdired-allow-to-change-permissions'. To change a single char
+;; (toggling between its two more usual values), you can press the
+;; space bar over it or left-click the mouse. To set any char to a
+;; specific value (this includes the SUID, SGID and STI bits) you
;; can use the key labeled as the letter you want. Please note that
;; permissions of the links cannot be changed in that way, because
;; the change would affect to their targets, and this would not be
@@ -58,18 +58,14 @@
;;
;; - Mark files for deletion, by deleting their whole filename.
-;;; Usage:
+;; * Usage:
-;; You can edit the names of the files by typing C-x C-q or by
-;; executing M-x wdired-change-to-wdired-mode. Use C-c C-c when
-;; finished or C-c C-k to abort. While editing filenames, a new
-;; submenu "WDired" is available at top level. You can customize the
-;; behavior of this package from this menu.
-
-;;; Change Log:
-
-;; Previous versions with complete changelogs were posted to
-;; gnu.emacs.sources.
+;; You can edit the names of the files by typing `C-x C-q' or
+;; `M-x wdired-change-to-wdired-mode'. Use `C-c C-c' when
+;; finished or `C-c C-k' to abort.
+;;
+;; You can customize the behavior of this package from the "WDired"
+;; menu or with `M-x customize-group RET wdired RET'.
;;; Code:
@@ -127,8 +123,8 @@
newlines), but if you want your changes to be useful, you better put a
intelligible value.
-Anyway, the real change of the permissions is done by the external
-program `dired-chmod-program', which must exist."
+The real change of the permissions is done by the external
+program \"chmod\", which must exist."
:type '(choice (const :tag "Not allowed" nil)
(const :tag "Toggle/set bits" t)
(other :tag "Bits freely editable" advanced)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/whitespace.el
^
|
@@ -276,116 +276,116 @@
It's a list containing some or all of the following values:
- face enable all visualization via faces (see below).
+ face enable all visualization via faces (see below).
- trailing trailing blanks are visualized via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- tabs TABs are visualized via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- spaces SPACEs and HARD SPACEs are visualized via
- faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- lines lines which have columns beyond
- `whitespace-line-column' are highlighted via
- faces.
- Whole line is highlighted.
- It has precedence over `lines-tail' (see
- below).
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- lines-tail lines which have columns beyond
- `whitespace-line-column' are highlighted via
- faces.
- But only the part of line which goes
- beyond `whitespace-line-column' column.
- It has effect only if `lines' (see above)
- is not present in `whitespace-style'
- and if `face' (see above) is present in
- `whitespace-style'.
-
- newline NEWLINEs are visualized via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
+ trailing trailing blanks are visualized via faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ tabs TABs are visualized via faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ spaces SPACEs and HARD SPACEs are visualized via
+ faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ lines lines which have columns beyond
+ `whitespace-line-column' are highlighted via
+ faces.
+ Whole line is highlighted.
+ It has precedence over `lines-tail' (see
+ below).
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ lines-tail lines which have columns beyond
+ `whitespace-line-column' are highlighted via
+ faces.
+ But only the part of line which goes
+ beyond `whitespace-line-column' column.
+ It has effect only if `lines' (see above)
+ is not present in `whitespace-style'
+ and if `face' (see above) is present in
+ `whitespace-style'.
+
+ newline NEWLINEs are visualized via faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
missing-newline-at-eof Missing newline at the end of the file is
visualized via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
- empty empty lines at beginning and/or end of buffer
- are visualized via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- indentation::tab `tab-width' or more SPACEs at beginning of line
- are visualized via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- indentation::space TABs at beginning of line are visualized via
- faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- indentation `tab-width' or more SPACEs at beginning of line
- are visualized, if `indent-tabs-mode' (which
- see) is non-nil; otherwise, TABs at beginning
- of line are visualized via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- big-indent Big indentations are visualized via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- space-after-tab::tab `tab-width' or more SPACEs after a TAB
- are visualized via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- space-after-tab::space TABs are visualized when `tab-width' or
- more SPACEs occur after a TAB, via
- faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- space-after-tab `tab-width' or more SPACEs after a TAB
- are visualized, if `indent-tabs-mode'
- (which see) is non-nil; otherwise,
- the TABs are visualized via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- space-before-tab::tab SPACEs before TAB are visualized via
- faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- space-before-tab::space TABs are visualized when SPACEs occur
- before TAB, via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
-
- space-before-tab SPACEs before TAB are visualized, if
- `indent-tabs-mode' (which see) is
- non-nil; otherwise, the TABs are
- visualized via faces.
- It has effect only if `face' (see above)
- is present in `whitespace-style'.
+ empty empty lines at beginning and/or end of buffer
+ are visualized via faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ indentation::tab `tab-width' or more SPACEs at beginning of line
+ are visualized via faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ indentation::space TABs at beginning of line are visualized via
+ faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ indentation `tab-width' or more SPACEs at beginning of line
+ are visualized, if `indent-tabs-mode' (which
+ see) is non-nil; otherwise, TABs at beginning
+ of line are visualized via faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ big-indent Big indentations are visualized via faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ space-after-tab::tab `tab-width' or more SPACEs after a TAB
+ are visualized via faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ space-after-tab::space TABs are visualized when `tab-width' or
+ more SPACEs occur after a TAB, via
+ faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ space-after-tab `tab-width' or more SPACEs after a TAB
+ are visualized, if `indent-tabs-mode'
+ (which see) is non-nil; otherwise,
+ the TABs are visualized via faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ space-before-tab::tab SPACEs before TAB are visualized via
+ faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ space-before-tab::space TABs are visualized when SPACEs occur
+ before TAB, via faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
+ space-before-tab SPACEs before TAB are visualized, if
+ `indent-tabs-mode' (which see) is
+ non-nil; otherwise, the TABs are
+ visualized via faces.
+ It has effect only if `face' (see above)
+ is present in `whitespace-style'.
- space-mark SPACEs and HARD SPACEs are visualized via
- display table.
+ space-mark SPACEs and HARD SPACEs are visualized via
+ display table.
- tab-mark TABs are visualized via display table.
+ tab-mark TABs are visualized via display table.
- newline-mark NEWLINEs are visualized via display table.
+ newline-mark NEWLINEs are visualized via display table.
Any other value is ignored.
@@ -808,21 +808,21 @@
Where:
-KIND is the kind of character.
- It can be one of the following symbols:
+KIND is the kind of character.
+ It can be one of the following symbols:
- tab-mark for TAB character
+ tab-mark for TAB character
- space-mark for SPACE or HARD SPACE character
+ space-mark for SPACE or HARD SPACE character
- newline-mark for NEWLINE character
+ newline-mark for NEWLINE character
-CHAR is the character to be mapped.
+CHAR is the character to be mapped.
-VECTOR is a vector of characters to be displayed in place of CHAR.
- The first display vector that can be displayed is used;
- if no display vector for a mapping can be displayed, then
- that character is displayed unmodified.
+VECTOR is a vector of characters to be displayed in place of CHAR.
+ The first display vector that can be displayed is used;
+ if no display vector for a mapping can be displayed, then
+ that character is displayed unmodified.
The NEWLINE character is displayed using the face given by
`whitespace-newline' variable.
@@ -880,27 +880,27 @@
It's a list containing some or all of the following values:
- nil no action is taken.
+ nil no action is taken.
- cleanup cleanup any bogus whitespace always when local
- whitespace is turned on.
- See `whitespace-cleanup' and
- `whitespace-cleanup-region'.
-
- report-on-bogus report if there is any bogus whitespace always
- when local whitespace is turned on.
-
- auto-cleanup cleanup any bogus whitespace when buffer is
- written.
- See `whitespace-cleanup' and
- `whitespace-cleanup-region'.
-
- abort-on-bogus abort if there is any bogus whitespace and the
- buffer is written.
-
- warn-if-read-only give a warning if `cleanup' or `auto-cleanup'
- is included in `whitespace-action' and the
- buffer is read-only.
+ cleanup cleanup any bogus whitespace always when local
+ whitespace is turned on.
+ See `whitespace-cleanup' and
+ `whitespace-cleanup-region'.
+
+ report-on-bogus report if there is any bogus whitespace always
+ when local whitespace is turned on.
+
+ auto-cleanup cleanup any bogus whitespace when buffer is
+ written.
+ See `whitespace-cleanup' and
+ `whitespace-cleanup-region'.
+
+ abort-on-bogus abort if there is any bogus whitespace and the
+ buffer is written.
+
+ warn-if-read-only give a warning if `cleanup' or `auto-cleanup'
+ is included in `whitespace-action' and the
+ buffer is read-only.
Any other value is treated as nil."
:type '(choice :tag "Actions"
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/lisp/windmove.el
^
|
@@ -787,7 +787,7 @@
(const :tag "Hyper" hyper)
(const :tag "Super" super)
(const :tag "Alt" alt))))
- "Customisation type for windmove modifiers.")
+ "Customization type for windmove modifiers.")
(defcustom windmove-default-keybindings nil
"Default keybindings for regular windmove commands.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/make-dist
^
|
@@ -485,6 +485,8 @@
esac
echo "Creating tar file"
taropt='--numeric-owner --owner=0 --group=0 --mode=go+u,go-w'
+ tar -H ustar -cf /dev/null $tempdir/src/lisp.h 2>/dev/null &&
+ taropt="$taropt -H ustar"
tar --sort=name -cf /dev/null $tempdir/src/lisp.h 2>/dev/null &&
taropt="$taropt --sort=name"
[ "$verbose" = "yes" ] && taropt="$taropt --verbose"
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/msdos/sed1v2.inp
^
|
@@ -179,6 +179,8 @@
/^PAXCTL_dumped *=/s/=.*$/=/
/^PAXCTL_notdumped *=/s/=.*$/=/
/^DUMPING *=/s/@DUMPING@/unexec/
+/^[ \t]*MAKE_PDUMPER_FINGERPRINT = *$/c\
+MAKE_PDUMPER_FINGERPRINT =
/^lisp\.mk:/,/^$/c\
lisp.mk: $(lispsource)/loadup.el\
@rm -f $@\
@@ -190,6 +192,10 @@
/^ [ ]*\$(AM_V_at)\$(libsrc)\/make-docfile -d/s!make-docfile!make-docfile -o $(etc)/DOC!
/ > \$(etc)\/DOC *$/s/ >.*$//
+/^\$(etc)\/DOC/,/^$/{
+ /^$/i\
+ cd ../src
+}
/^ [ ]*\$(AM_V_GLOBALS)\$(libsrc)\/make-docfile.*>.*globals.tmp/s!make-docfile!make-docfile -o globals.tmp!
/^ [ ]*\$(AM_V_GLOBALS)\$(libsrc)\/make-doc/s!>.*$!!
/^\$(libsrc)\/make-docfile\$(EXEEXT): /i\
@@ -255,4 +261,4 @@
s| -I\. -I\$(srcdir)| -I.|
/^ *test "X/d
/\$(CC) -o \$@.tmp/s/\$@.tmp/\$@/
-/mv \$@.tmp \$@/d
\ No newline at end of file
+/mv \$@.tmp \$@/d
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/msdos/sed2v2.inp
^
|
@@ -67,7 +67,7 @@
/^#undef PACKAGE_NAME/s/^.*$/#define PACKAGE_NAME ""/
/^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/
/^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/
-/^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION "28.1"/
+/^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION "28.2"/
/^#undef SYSTEM_TYPE/s/^.*$/#define SYSTEM_TYPE "ms-dos"/
/^#undef HAVE_DECL_GETENV/s/^.*$/#define HAVE_DECL_GETENV 1/
/^#undef SYS_SIGLIST_DECLARED/s/^.*$/#define SYS_SIGLIST_DECLARED 1/
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/msdos/sedlibmk.inp
^
|
@@ -180,11 +180,14 @@
/^GL_GNULIB_ENVIRON *=/s/@GL_GNULIB_ENVIRON@/1/
/^GL_GNULIB_FDATASYNC *=/s/@GL_GNULIB_FDATASYNC@/1/
/^GL_GNULIB_GETLOADAVG *=/s/@GL_GNULIB_GETLOADAVG@/1/
+/^GL_GNULIB_GETRANDOM *=/s/@GL_GNULIB_GETRANDOM@/1/
/^GL_GNULIB_UNISTD_H_GETOPT *=/s/@GL_GNULIB_UNISTD_H_GETOPT@/1/
+/^GL_GNULIB_MEMMEM *=/s/@GL_GNULIB_MEMMEM@/1/
/^GL_GNULIB_MEMRCHR *=/s/@GL_GNULIB_MEMRCHR@/1/
/^GL_GNULIB_MEMPCPY *=/s/@GL_GNULIB_MEMPCPY@/1/
/^GL_GNULIB_MKOSTEMP *=/s/@GL_GNULIB_MKOSTEMP@/1/
/^GL_GNULIB_MKTIME *=/s/@GL_GNULIB_MKTIME@/1/
+/^GL_GNULIB_SIGDESCR_NP *=/s/@GL_GNULIB_SIGDESCR_NP@/1/
/^GL_GNULIB_TIME_R *=/s/@GL_GNULIB_TIME_R@/1/
/^GL_GNULIB_TIMEGM *=/s/@GL_GNULIB_TIMEGM@/1/
/^GL_GNULIB_TIME_RZ *=/s/@GL_GNULIB_TIME_RZ@/1/
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/nt/README.W32
^
|
@@ -1,7 +1,7 @@
Copyright (C) 2001-2022 Free Software Foundation, Inc.
See the end of the file for license conditions.
- Emacs version 28.1 for MS-Windows
+ Emacs version 28.2 for MS-Windows
This README file describes how to set up and run a precompiled
distribution of the latest version of GNU Emacs for MS-Windows. You
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/alloc.c
^
|
@@ -6145,6 +6145,11 @@
mark_fringe_data ();
#endif
+
+#ifdef HAVE_NS
+ mark_nsterm ();
+#endif
+
/* Everything is now marked, except for the data in font caches,
undo lists, and finalizers. The first two are compacted by
removing an items which aren't reachable otherwise. */
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/buffer.c
^
|
@@ -5580,7 +5580,7 @@
DEFVAR_PER_BUFFER ("mode-line-format", &BVAR (current_buffer, mode_line_format),
Qnil,
- doc: /* Template for displaying mode line for current buffer.
+ doc: /* Template for displaying mode line for a window's buffer.
The value may be nil, a string, a symbol or a list.
@@ -5593,6 +5593,9 @@
`risky-local-variable' property, all properties in any strings, as
well as all :eval and :propertize forms in the value, are ignored.
+When the value is processed, the window's buffer is temporarily the
+current buffer.
+
A list whose car is a string or list is processed by processing each
of the list elements recursively, as separate mode line constructs,
and concatenating the results.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/callproc.c
^
|
@@ -1335,7 +1335,8 @@
}
static int
-emacs_posix_spawn_init_attributes (posix_spawnattr_t *attributes)
+emacs_posix_spawn_init_attributes (posix_spawnattr_t *attributes,
+ const sigset_t *oldset)
{
int error = posix_spawnattr_init (attributes);
if (error != 0)
@@ -1377,11 +1378,7 @@
goto out;
/* Stop blocking SIGCHLD in the child. */
- sigset_t oldset;
- error = pthread_sigmask (SIG_SETMASK, NULL, &oldset);
- if (error != 0)
- goto out;
- error = posix_spawnattr_setsigmask (attributes, &oldset);
+ error = posix_spawnattr_setsigmask (attributes, oldset);
if (error != 0)
goto out;
@@ -1392,23 +1389,6 @@
return error;
}
-static int
-emacs_posix_spawn_init (posix_spawn_file_actions_t *actions,
- posix_spawnattr_t *attributes, int std_in,
- int std_out, int std_err, const char *cwd)
-{
- int error = emacs_posix_spawn_init_actions (actions, std_in,
- std_out, std_err, cwd);
- if (error != 0)
- return error;
-
- error = emacs_posix_spawn_init_attributes (attributes);
- if (error != 0)
- return error;
-
- return 0;
-}
-
#endif
/* Start a new asynchronous subprocess. If successful, return zero
@@ -1443,9 +1423,12 @@
if (use_posix_spawn)
{
/* Initialize optional attributes before blocking. */
- int error
- = emacs_posix_spawn_init (&actions, &attributes, std_in,
- std_out, std_err, cwd);
+ int error = emacs_posix_spawn_init_actions (&actions, std_in,
+ std_out, std_err, cwd);
+ if (error != 0)
+ return error;
+
+ error = emacs_posix_spawn_init_attributes (&attributes, oldset);
if (error != 0)
return error;
}
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/comp.c
^
|
@@ -4193,7 +4193,7 @@
}
if (NILP (base_dir))
error ("Cannot find suitable directory for output in "
- "`comp-native-load-path'.");
+ "`native-comp-eln-load-path'.");
}
if (!file_name_absolute_p (SSDATA (base_dir)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/dispnew.c
^
|
@@ -1837,7 +1837,18 @@
if (FRAME_WINDOW_P (f))
adjust_frame_glyphs_for_window_redisplay (f);
else
- adjust_frame_glyphs_for_frame_redisplay (f);
+ {
+ adjust_frame_glyphs_for_frame_redisplay (f);
+ eassert (FRAME_INITIAL_P (f)
+ || noninteractive
+ || !initialized
+ || (f->current_matrix
+ && f->current_matrix->nrows > 0
+ && f->current_matrix->rows
+ && f->desired_matrix
+ && f->desired_matrix->nrows > 0
+ && f->desired_matrix->rows));
+ }
/* Don't forget the buffer for decode_mode_spec. */
adjust_decode_mode_spec_buffer (f);
@@ -2118,6 +2129,19 @@
adjust_glyph_matrix (NULL, f->current_matrix, 0, 0, matrix_dim);
SET_FRAME_GARBAGED (f);
}
+ }
+ else if (!FRAME_INITIAL_P (f) && !noninteractive && initialized)
+ {
+ if (!f->desired_matrix->nrows || !f->desired_matrix->rows)
+ {
+ adjust_glyph_matrix (NULL, f->desired_matrix, 0, 0, matrix_dim);
+ SET_FRAME_GARBAGED (f);
+ }
+ if (!f->current_matrix->nrows || !f->current_matrix->rows)
+ {
+ adjust_glyph_matrix (NULL, f->current_matrix, 0, 0, matrix_dim);
+ SET_FRAME_GARBAGED (f);
+ }
}
}
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/emacs.c
^
|
@@ -940,20 +940,24 @@
sprintf (dump_file, "%s%c%s%s",
path_exec, DIRECTORY_SEP, argv0_base, suffix);
#if !defined (NS_SELF_CONTAINED)
- /* Assume the Emacs binary lives in a sibling directory as set up by
- the default installation configuration. */
- const char *go_up = "../../../../bin/";
- needed += (strip_suffix ? strlen (strip_suffix) : 0)
- - strlen (suffix) + strlen (go_up);
- if (exec_bufsize < needed)
- {
- xfree (emacs_executable);
- emacs_executable = xpalloc (NULL, &exec_bufsize, needed - exec_bufsize,
- -1, 1);
- }
- sprintf (emacs_executable, "%s%c%s%s%s",
- path_exec, DIRECTORY_SEP, go_up, argv0_base,
- strip_suffix ? strip_suffix : "");
+ if (!(emacs_executable && *emacs_executable))
+ {
+ /* If we didn't find the Emacs binary, assume that it lives in a
+ sibling directory as set up by the default installation
+ configuration. */
+ const char *go_up = "../../../../bin/";
+ needed += (strip_suffix ? strlen (strip_suffix) : 0)
+ - strlen (suffix) + strlen (go_up);
+ if (exec_bufsize < needed)
+ {
+ xfree (emacs_executable);
+ emacs_executable = xpalloc (NULL, &exec_bufsize,
+ needed - exec_bufsize, -1, 1);
+ }
+ sprintf (emacs_executable, "%s%c%s%s%s",
+ path_exec, DIRECTORY_SEP, go_up, argv0_base,
+ strip_suffix ? strip_suffix : "");
+ }
#endif
result = pdumper_load (dump_file, emacs_executable);
@@ -1365,7 +1369,7 @@
related to the GUI system, like -font, -geometry, and -title, and
then processes the rest of arguments whose priority is below
those that are related to the GUI system. The arguments
- porcessed by 'command-line' are removed from 'command-line-args';
+ processed by 'command-line' are removed from 'command-line-args';
the arguments processed by 'command-line-1' aren't, they are only
removed from 'command-line-args-left'.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/fileio.c
^
|
@@ -3510,8 +3510,9 @@
Only the 12 low bits of MODE are used. If optional FLAG is `nofollow',
do not follow FILENAME if it is a symbolic link.
-Interactively, mode bits are read by `read-file-modes', which accepts
-symbolic notation, like the `chmod' command from GNU Coreutils. */)
+Interactively, prompt for FILENAME, and read MODE with
+`read-file-modes', which accepts symbolic notation, like the `chmod'
+command from GNU Coreutils. */)
(Lisp_Object filename, Lisp_Object mode, Lisp_Object flag)
{
CHECK_FIXNUM (mode);
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/filelock.c
^
|
@@ -413,14 +413,13 @@
Return 0 if successful, an error number on failure. */
static int
-lock_file_1 (char *lfname, bool force)
+lock_file_1 (Lisp_Object lfname, bool force)
{
- /* Call this first because it can GC. */
intmax_t boot = get_boot_time ();
-
Lisp_Object luser_name = Fuser_login_name (Qnil);
- char const *user_name = STRINGP (luser_name) ? SSDATA (luser_name) : "";
Lisp_Object lhost_name = Fsystem_name ();
+
+ char const *user_name = STRINGP (luser_name) ? SSDATA (luser_name) : "";
char const *host_name = STRINGP (lhost_name) ? SSDATA (lhost_name) : "";
char lock_info_str[MAX_LFINFO + 1];
intmax_t pid = getpid ();
@@ -439,7 +438,7 @@
user_name, host_name, pid))
return ENAMETOOLONG;
- return create_lock_file (lfname, lock_info_str, force);
+ return create_lock_file (SSDATA (lfname), lock_info_str, force);
}
/* Return true if times A and B are no more than one second apart. */
@@ -496,7 +495,7 @@
or an errno value if something is wrong with the locking mechanism. */
static int
-current_lock_owner (lock_info_type *owner, char *lfname)
+current_lock_owner (lock_info_type *owner, Lisp_Object lfname)
{
int ret;
lock_info_type local_owner;
@@ -510,7 +509,7 @@
owner = &local_owner;
/* If nonexistent lock file, all is well; otherwise, got strange error. */
- lfinfolen = read_lock_data (lfname, owner->user);
+ lfinfolen = read_lock_data (SSDATA (lfname), owner->user);
if (lfinfolen < 0)
return errno == ENOENT || errno == ENOTDIR ? 0 : errno;
if (MAX_LFINFO < lfinfolen)
@@ -581,7 +580,7 @@
/* The owner process is dead or has a strange pid, so try to
zap the lockfile. */
else
- return unlink (lfname) < 0 ? errno : 0;
+ return unlink (SSDATA (lfname)) < 0 ? errno : 0;
}
else
{ /* If we wanted to support the check for stale locks on remote machines,
@@ -600,7 +599,7 @@
Return positive errno value if cannot lock for any other reason. */
static int
-lock_if_free (lock_info_type *clasher, char *lfname)
+lock_if_free (lock_info_type *clasher, Lisp_Object lfname)
{
int err;
while ((err = lock_file_1 (lfname, 0)) == EEXIST)
@@ -619,10 +618,14 @@
return err;
}
+/* Return the encoded name of the lock file for FN, or nil if none. */
+
static Lisp_Object
make_lock_file_name (Lisp_Object fn)
{
- return call1 (Qmake_lock_file_name, Fexpand_file_name (fn, Qnil));
+ Lisp_Object lock_file_name = call1 (Qmake_lock_file_name,
+ Fexpand_file_name (fn, Qnil));
+ return !NILP (lock_file_name) ? ENCODE_FILE (lock_file_name) : Qnil;
}
/* lock_file locks file FN,
@@ -646,7 +649,6 @@
static Lisp_Object
lock_file (Lisp_Object fn)
{
- char *lfname = NULL;
lock_info_type lock_info;
/* Don't do locking while dumping Emacs.
@@ -655,13 +657,13 @@
if (will_dump_p ())
return Qnil;
+ Lisp_Object lfname = Qnil;
if (create_lockfiles)
{
/* Create the name of the lock-file for file fn */
- Lisp_Object lock_filename = make_lock_file_name (fn);
- if (NILP (lock_filename))
+ lfname = make_lock_file_name (fn);
+ if (NILP (lfname))
return Qnil;
- lfname = SSDATA (ENCODE_FILE (lock_filename));
}
/* See if this file is visited and has changed on disk since it was
@@ -670,11 +672,11 @@
if (!NILP (subject_buf)
&& NILP (Fverify_visited_file_modtime (subject_buf))
&& !NILP (Ffile_exists_p (fn))
- && !(lfname && current_lock_owner (NULL, lfname) == -2))
+ && !(!NILP (lfname) && current_lock_owner (NULL, lfname) == -2))
call1 (intern ("userlock--ask-user-about-supersession-threat"), fn);
/* Don't do locking if the user has opted out. */
- if (lfname)
+ if (!NILP (lfname))
{
/* Try to lock the lock. FIXME: This ignores errors when
lock_if_free returns a positive errno value. */
@@ -702,15 +704,12 @@
static Lisp_Object
unlock_file (Lisp_Object fn)
{
- char *lfname;
-
- Lisp_Object lock_filename = make_lock_file_name (fn);
- if (NILP (lock_filename))
+ Lisp_Object lfname = make_lock_file_name (fn);
+ if (NILP (lfname))
return Qnil;
- lfname = SSDATA (ENCODE_FILE (lock_filename));
int err = current_lock_owner (0, lfname);
- if (err == -2 && unlink (lfname) != 0 && errno != ENOENT)
+ if (err == -2 && unlink (SSDATA (lfname)) != 0 && errno != ENOENT)
err = errno;
if (0 < err)
report_file_errno ("Unlocking file", fn, err);
@@ -854,10 +853,9 @@
return call2 (handler, Qfile_locked_p, filename);
}
- Lisp_Object lock_filename = make_lock_file_name (filename);
- if (NILP (lock_filename))
+ Lisp_Object lfname = make_lock_file_name (filename);
+ if (NILP (lfname))
return Qnil;
- char *lfname = SSDATA (ENCODE_FILE (lock_filename));
owner = current_lock_owner (&locker, lfname);
switch (owner)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/fns.c
^
|
@@ -3112,7 +3112,7 @@
load the file without any suffix. See `get-load-suffixes' for the
complete list of suffixes.
-To find the file, this function searches that directories in `load-path'.
+To find the file, this function searches the directories in `load-path'.
If the optional third argument NOERROR is non-nil, then, if
the file is not found, the function returns nil instead of signaling
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/font.c
^
|
@@ -4199,26 +4199,33 @@
DEFUN ("font-get", Ffont_get, Sfont_get, 2, 2, 0,
doc: /* Return the value of FONT's property KEY.
FONT is a font-spec, a font-entity, or a font-object.
-KEY is any symbol, but these are reserved for specific meanings:
- :family, :weight, :slant, :width, :foundry, :adstyle, :registry,
- :size, :name, :script, :otf
+KEY can be any symbol, but these are reserved for specific meanings:
+ :foundry, :family, :adstyle, :registry, :weight, :slant, :width,
+ :size, :dpi, :spacing, :avgwidth, :script, :lang, :otf
See the documentation of `font-spec' for their meanings.
-In addition, if FONT is a font-entity or a font-object, values of
-:script and :otf are different from those of a font-spec as below:
-The value of :script may be a list of scripts that are supported by the font.
-
-The value of :otf is a cons (GSUB . GPOS) where GSUB and GPOS are lists
-representing the OpenType features supported by the font by this form:
- ((SCRIPT (LANGSYS FEATURE ...) ...) ...)
-SCRIPT, LANGSYS, and FEATURE are all symbols representing OpenType
-Layout tags.
+If FONT is a font-entity or a font-object, then values of
+:script and :otf properties are different from those of a font-spec
+as below:
+
+ The value of :script may be a list of scripts that are supported by
+ the font.
+
+ The value of :otf is a cons (GSUB . GPOS) where GSUB and GPOS are
+ lists representing the OpenType features supported by the font, of
+ this form: ((SCRIPT (LANGSYS FEATURE ...) ...) ...), where
+ SCRIPT, LANGSYS, and FEATURE are all symbols representing OpenType
+ Layout tags. See `otf-script-alist' for the OpenType script tags.
In addition to the keys listed above, the following keys are reserved
for the specific meanings as below:
-The value of :combining-capability is non-nil if the font-backend of
-FONT supports rendering of combining characters for non-OTF fonts. */)
+ The value of :type is a symbol that identifies the font backend to be
+ used, such as `ftcrhb' or `xfthb' on X , `harfbuzz' or `uniscribe' on
+ MS-Windows, `ns' on Cocoa/GNUstep, etc.
+
+ The value of :combining-capability is non-nil if the font-backend of
+ FONT supports rendering of combining characters for non-OTF fonts. */)
(Lisp_Object font, Lisp_Object key)
{
int idx;
@@ -4346,7 +4353,9 @@
allowed in `font-spec'.
If FONT is a font-entity or a font-object, KEY must not be the one
-accepted by `font-spec'. */)
+accepted by `font-spec'.
+
+See also `font-get' for KEYs that have special meanings. */)
(Lisp_Object font, Lisp_Object prop, Lisp_Object val)
{
int idx;
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/fontset.c
^
|
@@ -1450,28 +1450,30 @@
DEFUN ("set-fontset-font", Fset_fontset_font, Sset_fontset_font, 3, 5, 0,
doc: /*
-Modify fontset NAME to use FONT-SPEC for TARGET characters.
+Modify FONTSET to use font specification in FONT-SPEC for displaying CHARACTERS.
-NAME is a fontset name (a string), nil for the fontset of FRAME,
-or t for the default fontset.
+FONTSET should be a fontset name (a string); or nil, meaning the
+fontset of FRAME; or t, meaning the default fontset.
-TARGET may be a single character to use FONT-SPEC for.
+CHARACTERS may be a single character to use FONT-SPEC for.
-TARGET may be a cons (FROM . TO), where FROM and TO are characters.
+CHARACTERS may be a cons (FROM . TO), where FROM and TO are characters.
In that case, use FONT-SPEC for all the characters in the range
between FROM and TO (inclusive).
-TARGET may be a script symbol. In that case, use FONT-SPEC for
+CHARACTERS may be a script symbol. In that case, use FONT-SPEC for
all the characters that belong to the script. See the variable
-`script-representative-chars' for the list of known scripts.
+`script-representative-chars' for the list of known scripts, and
+see the variable `char-script-table' for the script of any specific
+character.
-TARGET may be a charset. In that case, use FONT-SPEC for all
-the characters in the charset. See `list-character-sets' and
+CHARACTERS may be a charset symbol. In that case, use FONT-SPEC for
+all the characters in the charset. See `list-character-sets' and
`list-charset-chars' for the list of character sets and their
characters.
-TARGET may be nil. In that case, use FONT-SPEC for any character for
-which no font-spec is specified.
+CHARACTERS may be nil. In that case, use FONT-SPEC for any
+character for which no font-spec is specified in FONTSET.
FONT-SPEC may one of these:
* A font-spec object made by the function `font-spec' (which see).
@@ -1479,25 +1481,28 @@
REGISTRY is a font registry name. FAMILY may contain foundry
name, and REGISTRY may contain encoding name.
* A font name string.
- * nil, which explicitly specifies that there's no font for TARGET.
+ * nil, which explicitly specifies that there's no font for CHARACTERS.
-Optional 4th argument FRAME is a frame, or nil for the selected frame,
-to be considered in the case that NAME is nil.
+Optional 4th argument FRAME is a frame whose fontset should be modified;
+it is used if FONTSET is nil. If FONTSET is nil and FRAME is omitted
+or nil, that stands for the fontset of the selected frame.
Optional 5th argument ADD, if non-nil, specifies how to add FONT-SPEC
-to the previously set font specifications for TARGET. If it is
-`prepend', FONT-SPEC is prepended. If it is `append', FONT-SPEC is
-appended. By default, FONT-SPEC overrides the previous settings. */)
- (Lisp_Object name, Lisp_Object target, Lisp_Object font_spec, Lisp_Object frame, Lisp_Object add)
+to the previously set font specifications for CHARACTERS. If it is
+`prepend', FONT-SPEC is prepended to the existing font specifications.
+If it is `append', FONT-SPEC is appended. By default, FONT-SPEC
+overwrites the previous settings. */)
+ (Lisp_Object fontset, Lisp_Object characters, Lisp_Object font_spec,
+ Lisp_Object frame, Lisp_Object add)
{
- Lisp_Object fontset;
+ Lisp_Object fontset_obj;
Lisp_Object font_def, registry, family;
Lisp_Object range_list;
struct charset *charset = NULL;
Lisp_Object fontname;
bool ascii_changed = 0;
- fontset = check_fontset_name (name, &frame);
+ fontset_obj = check_fontset_name (fontset, &frame);
fontname = Qnil;
if (CONSP (font_spec))
@@ -1555,18 +1560,18 @@
else
font_def = Qnil;
- if (CHARACTERP (target))
+ if (CHARACTERP (characters))
{
- if (XFIXNAT (target) < 0x80)
+ if (XFIXNAT (characters) < 0x80)
error ("Can't set a font for partial ASCII range");
- range_list = list1 (Fcons (target, target));
+ range_list = list1 (Fcons (characters, characters));
}
- else if (CONSP (target))
+ else if (CONSP (characters))
{
Lisp_Object from, to;
- from = Fcar (target);
- to = Fcdr (target);
+ from = Fcar (characters);
+ to = Fcdr (characters);
CHECK_CHARACTER (from);
CHECK_CHARACTER (to);
if (XFIXNAT (from) < 0x80)
@@ -1575,38 +1580,38 @@
error ("Can't set a font for partial ASCII range");
ascii_changed = 1;
}
- range_list = list1 (target);
+ range_list = list1 (characters);
}
- else if (SYMBOLP (target) && !NILP (target))
+ else if (SYMBOLP (characters) && !NILP (characters))
{
Lisp_Object script_list;
Lisp_Object val;
range_list = Qnil;
script_list = XCHAR_TABLE (Vchar_script_table)->extras[0];
- if (! NILP (Fmemq (target, script_list)))
+ if (! NILP (Fmemq (characters, script_list)))
{
- if (EQ (target, Qlatin))
+ if (EQ (characters, Qlatin))
ascii_changed = 1;
- val = list1 (target);
+ val = list1 (characters);
map_char_table (accumulate_script_ranges, Qnil, Vchar_script_table,
val);
range_list = Fnreverse (XCDR (val));
}
- if (CHARSETP (target))
+ if (CHARSETP (characters))
{
- CHECK_CHARSET_GET_CHARSET (target, charset);
+ CHECK_CHARSET_GET_CHARSET (characters, charset);
if (charset->ascii_compatible_p)
ascii_changed = 1;
}
else if (NILP (range_list))
error ("Invalid script or charset name: %s",
- SDATA (SYMBOL_NAME (target)));
+ SDATA (SYMBOL_NAME (characters)));
}
- else if (NILP (target))
+ else if (NILP (characters))
range_list = list1 (Qnil);
else
- error ("Invalid target for setting a font");
+ error ("Invalid second argument for setting a font in a fontset");
if (ascii_changed)
{
@@ -1614,7 +1619,7 @@
if (NILP (font_spec))
error ("Can't set ASCII font to nil");
- val = CHAR_TABLE_REF (fontset, 0);
+ val = CHAR_TABLE_REF (fontset_obj, 0);
if (! NILP (val) && EQ (add, Qappend))
/* We are going to change just an additional font for ASCII. */
ascii_changed = 0;
@@ -1622,7 +1627,7 @@
if (charset)
{
- Lisp_Object arg = CALLN (Fvector, fontset, font_def, add,
+ Lisp_Object arg = CALLN (Fvector, fontset_obj, font_def, add,
ascii_changed ? Qt : Qnil, range_list);
map_charset_chars (set_fontset_font, Qnil, arg, charset,
@@ -1631,15 +1636,15 @@
range_list = AREF (arg, 4);
}
for (; CONSP (range_list); range_list = XCDR (range_list))
- FONTSET_ADD (fontset, XCAR (range_list), font_def, add);
+ FONTSET_ADD (fontset_obj, XCAR (range_list), font_def, add);
if (ascii_changed)
{
Lisp_Object tail, fr;
- int fontset_id = XFIXNUM (FONTSET_ID (fontset));
+ int fontset_id = XFIXNUM (FONTSET_ID (fontset_obj));
- set_fontset_ascii (fontset, fontname);
- name = FONTSET_NAME (fontset);
+ set_fontset_ascii (fontset_obj, fontname);
+ fontset = FONTSET_NAME (fontset_obj);
FOR_EACH_FRAME (tail, fr)
{
struct frame *f = XFRAME (fr);
@@ -1657,17 +1662,17 @@
font_object = font_open_by_spec (f, font_spec);
if (! NILP (font_object))
{
- update_auto_fontset_alist (font_object, fontset);
- AUTO_FRAME_ARG (arg, Qfont, Fcons (name, font_object));
+ update_auto_fontset_alist (font_object, fontset_obj);
+ AUTO_FRAME_ARG (arg, Qfont, Fcons (fontset, font_object));
Fmodify_frame_parameters (fr, arg);
}
}
}
- /* Free all realized fontsets whose base is FONTSET. This way, the
+ /* Free all realized fontsets whose base is FONTSET_OBJ. This way, the
specified character(s) are surely redisplayed by a correct
font. */
- free_realized_fontsets (fontset);
+ free_realized_fontsets (fontset_obj);
return Qnil;
}
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/frame.c
^
|
@@ -1564,6 +1564,19 @@
if (! FRAME_MINIBUF_ONLY_P (XFRAME (selected_frame)))
last_nonminibuf_frame = XFRAME (selected_frame);
+ /* If the selected window in the target frame is its mini-window, we move
+ to a different window, the most recently used one, unless there is a
+ valid active minibuffer in the mini-window. */
+ if (EQ (f->selected_window, f->minibuffer_window)
+ /* The following test might fail if the mini-window contains a
+ non-active minibuffer. */
+ && NILP (Fminibufferp (XWINDOW (f->minibuffer_window)->contents, Qt)))
+ {
+ Lisp_Object w = call1 (Qget_mru_window, frame);
+ if (WINDOW_LIVE_P (w)) /* W can be nil in minibuffer-only frames. */
+ Fset_frame_selected_window (frame, w, Qnil);
+ }
+
Fselect_window (f->selected_window, norecord);
/* We want to make sure that the next event generates a frame-switch
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/frame.h
^
|
@@ -123,6 +123,7 @@
/* This frame's selected window.
Each frame has its own window hierarchy
and one of the windows in it is selected within the frame.
+ This window may be the mini-window of the frame, if any.
The selected window of the selected frame is Emacs's selected window. */
Lisp_Object selected_window;
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/ftcrfont.c
^
|
@@ -568,7 +568,11 @@
ftcrfont_info->ft_size = ft_face->size;
hb_font_t *hb_font = fthbfont_begin_hb_font (font, position_unit);
- if (ftcrfont_info->bitmap_position_unit)
+ /* HarfBuzz 5 correctly scales bitmap-only fonts without position
+ unit adjustment.
+ (https://github.com/harfbuzz/harfbuzz/issues/489) */
+ if (!hb_version_atleast (5, 0, 0)
+ && ftcrfont_info->bitmap_position_unit)
*position_unit = ftcrfont_info->bitmap_position_unit;
return hb_font;
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/indent.c
^
|
@@ -866,8 +866,10 @@
DEFUN ("current-indentation", Fcurrent_indentation, Scurrent_indentation,
0, 0, 0,
doc: /* Return the indentation of the current line.
-This is the horizontal position of the character
-following any initial whitespace. */)
+This is the horizontal position of the character following any initial
+whitespace.
+Text that has an invisible property is considered as having width 0, unless
+`buffer-invisibility-spec' specifies that it is replaced by an ellipsis. */)
(void)
{
ptrdiff_t posbyte;
@@ -985,6 +987,9 @@
This function ignores line-continuation;
there is no upper limit on the column number a character can have
and horizontal scrolling has no effect.
+Text that has an invisible property is considered as having width 0,
+unless `buffer-invisibility-spec' specifies that it is replaced by
+an ellipsis.
If specified column is within a character, point goes after that character.
If it's past end of line, point goes to end of line.
@@ -2197,7 +2202,10 @@
}
else
it_overshoot_count =
- !(it.method == GET_FROM_IMAGE || it.method == GET_FROM_STRETCH);
+ /* If image_id is negative, it's a fringe bitmap, which by
+ definition doesn't affect display in the text area. */
+ !((it.method == GET_FROM_IMAGE && it.image_id >= 0)
+ || it.method == GET_FROM_STRETCH);
if (start_x_given)
{
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/lisp.h
^
|
@@ -2998,7 +2998,7 @@
INLINE void
CHECK_INTEGER (Lisp_Object x)
{
- CHECK_TYPE (INTEGERP (x), Qnumberp, x);
+ CHECK_TYPE (INTEGERP (x), Qintegerp, x);
}
INLINE void
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/macfont.m
^
|
@@ -2628,6 +2628,9 @@
font->pixel_size = size;
font->driver = &macfont_driver;
font->encoding_charset = font->repertory_charset = -1;
+ /* Clear font->space_width so macfont_monospace_width_multiplier may
+ not be confused by an uninitialized value. */
+ font->space_width = 0;
block_input ();
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/minibuf.c
^
|
@@ -197,20 +197,12 @@
return;
if (FRAME_LIVE_P (f)
&& !EQ (f->minibuffer_window, of->minibuffer_window)
- && WINDOW_LIVE_P (f->minibuffer_window) /* F not a tootip frame */
+ && WINDOW_LIVE_P (f->minibuffer_window) /* F not a tooltip frame */
&& WINDOW_LIVE_P (of->minibuffer_window))
{
zip_minibuffer_stacks (f->minibuffer_window, of->minibuffer_window);
if (for_deletion && XFRAME (MB_frame) != of)
MB_frame = selected_frame;
- if (!for_deletion
- && MINI_WINDOW_P (XWINDOW (FRAME_SELECTED_WINDOW (of))))
- {
- Lisp_Object old_frame;
- XSETFRAME (old_frame, of);
- Fset_frame_selected_window (old_frame,
- Fframe_first_window (old_frame), Qnil);
- }
}
}
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/msdos.h
^
|
@@ -22,6 +22,10 @@
#include <dpmi.h>
#include "termhooks.h" /* struct terminal */
+struct terminal;
+
+extern unsigned int _dos_commit(int);
+#define tcdrain(f) _dos_commit(f)
int dos_ttraw (struct tty_display_info *);
int dos_ttcooked (void);
@@ -57,6 +61,11 @@
int fstatat (int, char const *, struct stat *, int);
int unsetenv (const char *);
int faccessat (int, const char *, int, int);
+int openat (int, const char *, int, int);
+int fchmodat (int, const char *, mode_t, int);
+int futimens (int, const struct timespec[2]);
+int utimensat (int, const char *, const struct timespec[2], int);
+
void msdos_fatal_signal (int);
void syms_of_msdos (void);
int pthread_sigmask (int, const sigset_t *, sigset_t *);
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/nsterm.h
^
|
@@ -683,6 +683,7 @@
int em_whole;
}
+- (void) mark;
- (instancetype) initFrame: (NSRect )r window: (Lisp_Object)win;
- (void)setFrame: (NSRect)r;
@@ -1347,4 +1348,7 @@
#define NSControlStateValueOff NSOffState
#define NSBezelStyleRounded NSRoundedBezelStyle
#endif
+
+extern void mark_nsterm (void);
+
#endif /* HAVE_NS */
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/nsterm.m
^
|
@@ -9039,6 +9039,16 @@
return ret;
}
+- (void) mark
+{
+ if (window)
+ {
+ Lisp_Object win;
+ XSETWINDOW (win, window);
+ mark_object (win);
+ }
+}
+
- (void)resetCursorRects
{
@@ -9780,6 +9790,26 @@
return ret;
}
+void
+mark_nsterm (void)
+{
+ NSTRACE ("mark_nsterm");
+ Lisp_Object tail, frame;
+ FOR_EACH_FRAME (tail, frame)
+ {
+ struct frame *f = XFRAME (frame);
+ if (FRAME_NS_P (f))
+ {
+ NSArray *subviews = [[FRAME_NS_VIEW (f) superview] subviews];
+ for (int i = [subviews count] - 1; i >= 0; --i)
+ {
+ id scroller = [subviews objectAtIndex: i];
+ if ([scroller isKindOfClass: [EmacsScroller class]])
+ [scroller mark];
+ }
+ }
+ }
+}
void
syms_of_nsterm (void)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/print.c
^
|
@@ -944,7 +944,14 @@
errmsg = Fget (errname, Qerror_message);
/* During loadup 'substitute-command-keys' might not be available. */
if (!NILP (Ffboundp (Qsubstitute_command_keys)))
- errmsg = call1 (Qsubstitute_command_keys, errmsg);
+ {
+ /* `substitute-command-keys' may bug out, which would lead
+ to infinite recursion when we're called from
+ skip_debugger, so ignore errors. */
+ Lisp_Object subs = safe_call1 (Qsubstitute_command_keys, errmsg);
+ if (!NILP (subs))
+ errmsg = subs;
+ }
file_error = Fmemq (Qfile_error, error_conditions);
}
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/sysdep.c
^
|
@@ -4027,6 +4027,9 @@
#elif defined DARWIN_OS
+#define HAVE_RUSAGE_INFO_CURRENT (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101000)
+#define HAVE_PROC_PIDINFO (__MAC_OS_X_VERSION_MIN_REQUIRED >= 1050)
+
Lisp_Object
system_process_attributes (Lisp_Object pid)
{
@@ -4130,6 +4133,7 @@
attrs = Fcons (Fcons (Qtpgid, INT_TO_INTEGER (proc.kp_eproc.e_tpgid)),
attrs);
+#if HAVE_RUSAGE_INFO_CURRENT
rusage_info_current ri;
if (proc_pid_rusage(proc_id, RUSAGE_INFO_CURRENT, (rusage_info_t *) &ri) == 0)
{
@@ -4143,6 +4147,24 @@
attrs = Fcons (Fcons (Qmajflt, INT_TO_INTEGER (ri.ri_pageins)), attrs);
}
+#else /* !HAVE_RUSAGE_INFO_CURRENT */
+ struct rusage *rusage = proc.kp_proc.p_ru;
+ if (rusage)
+ {
+ attrs = Fcons (Fcons (Qminflt, INT_TO_INTEGER (rusage->ru_minflt)),
+ attrs);
+ attrs = Fcons (Fcons (Qmajflt, INT_TO_INTEGER (rusage->ru_majflt)),
+ attrs);
+
+ attrs = Fcons (Fcons (Qutime, make_lisp_timeval (rusage->ru_utime)),
+ attrs);
+ attrs = Fcons (Fcons (Qstime, make_lisp_timeval (rusage->ru_stime)),
+ attrs);
+ struct timespec t = timespec_add (timeval_to_timespec (rusage->ru_utime),
+ timeval_to_timespec (rusage->ru_stime));
+ attrs = Fcons (Fcons (Qtime, make_lisp_time (t)), attrs);
+ }
+#endif /* !HAVE_RUSAGE_INFO_CURRENT */
starttime = proc.kp_proc.p_starttime;
attrs = Fcons (Fcons (Qnice, make_fixnum (proc.kp_proc.p_nice)), attrs);
@@ -4152,6 +4174,7 @@
t = timespec_sub (now, timeval_to_timespec (starttime));
attrs = Fcons (Fcons (Qetime, make_lisp_time (t)), attrs);
+#if HAVE_PROC_PIDINFO
struct proc_taskinfo taskinfo;
if (proc_pidinfo (proc_id, PROC_PIDTASKINFO, 0, &taskinfo, sizeof (taskinfo)) > 0)
{
@@ -4159,6 +4182,7 @@
attrs = Fcons (Fcons (Qrss, make_fixnum (taskinfo.pti_resident_size / 1024)), attrs);
attrs = Fcons (Fcons (Qthcount, make_fixnum (taskinfo.pti_threadnum)), attrs);
}
+#endif /* HAVE_PROC_PIDINFO */
#ifdef KERN_PROCARGS2
char args[ARG_MAX];
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/terminal.c
^
|
@@ -402,7 +402,7 @@

DEFUN ("frame-terminal", Fframe_terminal, Sframe_terminal, 0, 1, 0,
doc: /* Return the terminal that FRAME is displayed on.
-If FRAME is nil, the selected frame is used.
+If FRAME is nil, use the selected frame.
The terminal device is represented by its integer identifier. */)
(Lisp_Object frame)
@@ -421,10 +421,12 @@
DEFUN ("terminal-live-p", Fterminal_live_p, Sterminal_live_p, 1, 1, 0,
doc: /* Return non-nil if OBJECT is a terminal which has not been deleted.
-Value is nil if OBJECT is not a live display terminal.
-If object is a live display terminal, the return value indicates what
-sort of output terminal it uses. See the documentation of `framep' for
-possible return values. */)
+Return nil if OBJECT is not a live display terminal.
+OBJECT may be a terminal object, a frame, or nil (meaning the
+selected frame's terminal).
+If OBJECT is a live display terminal, return what sort of output
+terminal it uses. See the documentation of `framep' for possible
+return values. */)
(Lisp_Object object)
{
struct terminal *t = decode_terminal (object);
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/w32notify.c
^
|
@@ -40,8 +40,8 @@
and returns. That causes the WaitForSingleObjectEx function call
inside watch_worker to return, but the thread won't terminate until
the event telling to do so will be signaled. The completion
- routine issued another call to ReadDirectoryChangesW as quickly as
- possible. (Except when it does not, see below.)
+ routine then issues another call to ReadDirectoryChangesW as quickly
+ as possible. (Except when it does not, see below.)
In a GUI session, the WM_EMACS_FILENOTIFY message posted to the
message queue gets dispatched to the main Emacs window procedure,
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/window.c
^
|
@@ -554,7 +554,9 @@
frame is active. */
Fselect_frame (frame, norecord);
/* Fselect_frame called us back so we've done all the work already. */
- eassert (EQ (window, selected_window));
+ eassert (EQ (window, selected_window)
+ || (EQ (window, f->minibuffer_window)
+ && NILP (Fminibufferp (XWINDOW (window)->contents, Qt))));
return window;
}
else
@@ -1232,7 +1234,7 @@
Clip the number to a reasonable value if out of range.
Return the new number. NCOL should be zero or positive.
-Note that if `automatic-hscrolling' is non-nil, you cannot scroll the
+Note that if `auto-hscroll-mode' is non-nil, you cannot scroll the
window so that the location of point moves off-window. */)
(Lisp_Object window, Lisp_Object ncol)
{
@@ -1850,13 +1852,24 @@
DEFUN ("set-window-start", Fset_window_start, Sset_window_start, 2, 3, 0,
doc: /* Make display in WINDOW start at position POS in WINDOW's buffer.
WINDOW must be a live window and defaults to the selected one. Return
-POS. Optional third arg NOFORCE non-nil inhibits next redisplay from
-overriding motion of point in order to display at this exact start.
+POS.
+
+Optional third arg NOFORCE non-nil prevents next redisplay from
+moving point if displaying the window at POS makes point invisible;
+redisplay will then choose the WINDOW's start position by itself in
+that case, i.e. it will disregard POS if adhering to it will make
+point not visible in the window.
For reliable setting of WINDOW start position, make sure point is
at a position that will be visible when that start is in effect,
otherwise there's a chance POS will be disregarded, e.g., if point
-winds up in a partially-visible line. */)
+winds up in a partially-visible line.
+
+The setting of the WINDOW's start position takes effect during the
+next redisplay cycle, not immediately. If NOFORCE is nil or
+omitted, forcing the display of WINDOW to start at POS cancels
+any setting of WINDOW's vertical scroll (\"vscroll\") amount
+set by `set-window-vscroll' and by scrolling functions. */)
(Lisp_Object window, Lisp_Object pos, Lisp_Object noforce)
{
register struct window *w = decode_live_window (window);
@@ -6620,7 +6633,7 @@
considered to be part of the visible height of the line.
*/
h += extra_line_spacing;
- while (-it.current_y > h)
+ while (-it.current_y > h && it.what != IT_EOB)
move_it_by_lines (&it, 1);
charpos = IT_CHARPOS (it);
@@ -8296,7 +8309,8 @@
Vscroll_preserve_screen_position = Qnil;
DEFVAR_LISP ("window-point-insertion-type", Vwindow_point_insertion_type,
- doc: /* Type of marker to use for `window-point'. */);
+ doc: /* Insertion type of marker to use for `window-point'.
+See `marker-insertion-type' for the meaning of the possible values. */);
Vwindow_point_insertion_type = Qnil;
DEFSYM (Qwindow_point_insertion_type, "window-point-insertion-type");
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/xdisp.c
^
|
@@ -774,7 +774,7 @@
static bool message_cleared_p;
/* A scratch glyph row with contents used for generating truncation
- glyphs. Also used in direct_output_for_insert. */
+ glyphs and overlay-arrow glyphs. */
#define MAX_SCRATCH_GLYPHS 100
static struct glyph_row scratch_glyph_row;
@@ -7408,8 +7408,8 @@
if (c >= 0)
{
glyphless_method = CHAR_TABLE_REF (Vglyphless_char_display, c);
- if (CONSP (glyphless_method))
- glyphless_method = FRAME_WINDOW_P (it->f)
+ if (CONSP (glyphless_method))
+ glyphless_method = FRAME_WINDOW_P (it->f)
? XCAR (glyphless_method)
: XCDR (glyphless_method);
}
@@ -10788,11 +10788,51 @@
non-zero X coordinate. */
reseat_at_previous_visible_line_start (&it);
it.current_x = it.hpos = 0;
+
+ int start_x;
if (IT_CHARPOS (it) != start)
- move_it_to (&it, start, -1, -1, -1, MOVE_TO_POS);
+ {
+ void *it1data = NULL;
+ struct it it1;
+
+ SAVE_IT (it1, it, it1data);
+ move_it_to (&it, start, -1, -1, -1, MOVE_TO_POS);
+ /* We could have a display property at START, in which case
+ asking move_it_to to stop at START will overshoot and stop at
+ position after START. So we try again, stopping before
+ START, and account for the width of the last buffer position
+ manually. */
+ if (IT_CHARPOS (it) > start && start > BEGV)
+ {
+ ptrdiff_t it1pos = IT_CHARPOS (it1);
+ int it1_x = it1.current_x;
+
+ RESTORE_IT (&it, &it1, it1data);
+ /* If START - 1 is the beginning of screen line, move_it_to
+ will not move, so we need to use a lower-level
+ move_it_in_display_line subroutine, and tell it to move
+ just 1 pixel, so it stops at the next display element. */
+ if (start - 1 > it1pos)
+ move_it_to (&it, start - 1, -1, -1, -1, MOVE_TO_POS);
+ else
+ move_it_in_display_line (&it, start, it1_x + 1,
+ MOVE_TO_POS | MOVE_TO_X);
+ start_x = it.current_x;
+ /* If we didn't change our buffer position, the pixel width
+ of what's here was not yet accounted for; do it manually. */
+ if (IT_CHARPOS (it) == start - 1)
+ start_x += it.pixel_width;
+ }
+ else
+ {
+ start_x = it.current_x;
+ bidi_unshelve_cache (it1data, true);
+ }
+ }
+ else
+ start_x = it.current_x;
/* Now move to TO. */
- int start_x = it.current_x;
int move_op = MOVE_TO_POS | MOVE_TO_Y;
int to_x = -1;
it.current_y = start_y;
@@ -12756,8 +12796,9 @@
mode_line_noprop_buf; then display the title. */
record_unwind_protect (unwind_format_mode_line,
format_mode_line_unwind_data
- (NULL, current_buffer, Qnil, false));
+ (f, current_buffer, selected_window, false));
+ Fselect_window (f->selected_window, Qt);
set_buffer_internal_1
(XBUFFER (XWINDOW (f->selected_window)->contents));
fmt = FRAME_ICONIFIED_P (f) ? Vicon_title_format : Vframe_title_format;
@@ -21613,7 +21654,7 @@
struct buffer *buffer = XBUFFER (w->contents);
struct buffer *old = current_buffer;
const unsigned char *arrow_string = SDATA (overlay_arrow_string);
- ptrdiff_t arrow_len = SCHARS (overlay_arrow_string);
+ ptrdiff_t arrow_len = SBYTES (overlay_arrow_string), char_num = 0;
const unsigned char *arrow_end = arrow_string + arrow_len;
const unsigned char *p;
struct it it;
@@ -21644,7 +21685,7 @@
p += it.len;
/* Get its face. */
- ilisp = make_fixnum (p - arrow_string);
+ ilisp = make_fixnum (char_num++);
face = Fget_text_property (ilisp, Qface, overlay_arrow_string);
it.face_id = compute_char_face (f, it.char_to_display, face);
@@ -30505,9 +30546,9 @@
/* When no suitable font is found, display this character by
the method specified in the first extra slot of
Vglyphless_char_display. */
- Lisp_Object acronym = lookup_glyphless_char_display (-1, it);
+ Lisp_Object acronym = lookup_glyphless_char_display (-1, it);
- eassert (it->what == IT_GLYPHLESS);
+ eassert (it->what == IT_GLYPHLESS);
produce_glyphless_glyph (it, true,
STRINGP (acronym) ? acronym : Qnil);
goto done;
@@ -35780,14 +35821,18 @@
`empty-box': display as an empty box
`thin-space': display as 1-pixel width space
`zero-width': don't display
+Any other value is interpreted as `empty-box'.
An element may also be a cons cell (GRAPHICAL . TEXT), which specifies the
display method for graphical terminals and text terminals respectively.
GRAPHICAL and TEXT should each have one of the values listed above.
-The char-table has one extra slot to control the display of a character for
-which no font is found. This slot only takes effect on graphical terminals.
-Its value should be an ASCII acronym string, `hex-code', `empty-box', or
-`thin-space'. The default is `empty-box'.
+The char-table has one extra slot to control the display of characters for
+which no font is found on graphical terminals, and characters that cannot
+be displayed by text-mode terminals. Its value should be an ASCII acronym
+string, `hex-code', `empty-box', or `thin-space'. The default is `hex-code'.
+
+With the obvious exception of `zero-width', all the other representations
+are displayed using the face `glyphless-char'.
If a character has a non-nil entry in an active display table, the
display table takes effect; in this case, Emacs does not consult
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/src/xfaces.c
^
|
@@ -928,7 +928,7 @@
Scolor_values_from_color_spec,
1, 1, 0,
doc: /* Parse color SPEC as a numeric color and return (RED GREEN BLUE).
-This function recognises the following formats for SPEC:
+This function recognizes the following formats for SPEC:
#RGB, where R, G and B are hex numbers of equal length, 1-4 digits each.
rgb:R/G/B, where R, G, and B are hex numbers, 1-4 digits each.
@@ -1463,9 +1463,9 @@
};
/* Order by which font selection chooses fonts. The default values
- mean `first, find a best match for the font width, then for the
- font height, then for weight, then for slant.' This variable can be
- set via set-face-font-sort-order. */
+ mean "first, find a best match for the font width, then for the
+ font height, then for weight, then for slant." This variable can be
+ set via 'internal-set-font-selection-order'. */
static int font_sort_order[4];
@@ -1516,16 +1516,22 @@
Otherwise, FAMILY must be a string, possibly containing wildcards
`?' and `*'.
If FRAME is omitted or nil, use the selected frame.
+
Each element of the result is a vector [FAMILY WIDTH POINT-SIZE WEIGHT
SLANT FIXED-P FULL REGISTRY-AND-ENCODING].
-FAMILY is the font family name. POINT-SIZE is the size of the
-font in 1/10 pt. WIDTH, WEIGHT, and SLANT are symbols describing the
-width, weight and slant of the font. These symbols are the same as for
-face attributes. FIXED-P is non-nil if the font is fixed-pitch.
-FULL is the full name of the font, and REGISTRY-AND-ENCODING is a string
-giving the registry and encoding of the font.
-The result list is sorted according to the current setting of
-the face font sort order. */)
+
+FAMILY is the font family name.
+POINT-SIZE is the size of the font in 1/10 pt.
+WIDTH, WEIGHT, and SLANT are symbols describing the width, weight
+ and slant of the font. These symbols are the same as for face
+ attributes, see `set-face-attribute'.
+FIXED-P is non-nil if the font is fixed-pitch.
+FULL is the full name of the font.
+REGISTRY-AND-ENCODING is a string giving the registry and encoding of
+ the font.
+
+The resulting list is sorted according to the current setting of
+the face font sort order, see `face-font-selection-order'. */)
(Lisp_Object family, Lisp_Object frame)
{
Lisp_Object font_spec, list, *drivers, vec;
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/ChangeLog.1
^
|
@@ -65,7 +65,7 @@
2015-03-10 Paul Eggert <eggert@cs.ucla.edu>
- Prefer "initialize" to "initialise"
+ Prefer "initialize"
* indent/js-indent-init-t.js: Rename from
indent/js-indent-first-initialiser-t.js.
* indent/js-indent-init-dynamic.js: Rename from
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/lisp/calc/calc-tests.el
^
|
@@ -445,7 +445,7 @@
(t ; n<k<0
0))))
((natnump k)
- ;; Generalisation for any n, integral k≥0: use falling product
+ ;; Generalization for any n, integral k≥0: use falling product
(/ (apply '* (number-sequence n (- n (1- k)) -1))
(calc-tests--fac k)))
(t (error "Case not covered"))))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/lisp/calendar/icalendar-tests.el
^
|
@@ -651,8 +651,8 @@
Argument EXPECTED-OUTPUT expected iCalendar result string.
Optional argument ALARMS the value of `icalendar-export-alarms' for this test.
-European style input data must use german month names. American
-and ISO style input data must use english month names."
+European style input data must use German month names. American
+and ISO style input data must use English month names."
(let ((tz (getenv "TZ"))
(calendar-date-style 'iso)
(icalendar-recurring-start-year 2000)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/lisp/cedet/semantic-utest-c.el
^
|
@@ -94,7 +94,7 @@
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.1-9ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.3.1 (Ubuntu 4.3.1-9ubuntu1)"
- ;; My debian box:
+ ;; My Debian box:
"Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../../../sources/gcc/configure --prefix=/usr/local/glibc-2.3.6/x86_64/apps/gcc-4.2.3 --with-gmp=/usr/local/gcc/gmp --with-mpfr=/usr/local/gcc/mpfr --enable-languages=c,c++,fortran --with-as=/usr/local/glibc-2.3.6/x86_64/apps/gcc-4.2.3/bin/as --with-ld=/usr/local/glibc-2.3.6/x86_64/apps/gcc-4.2.3/bin/ld --disable-multilib
@@ -123,13 +123,13 @@
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)"
- ;; David Engster's german gcc on ubuntu 4.3
+ ;; David Engster's German gcc on Ubuntu 4.3
"Es werden eingebaute Spezifikationen verwendet.
Ziel: i486-linux-gnu
Konfiguriert mit: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu12' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread-Modell: posix
gcc-Version 4.3.2 (Ubuntu 4.3.2-1ubuntu12)"
- ;; Damien Deville bsd
+ ;; Damien Deville BSD
"Using built-in specs.
Target: i386-undermydesk-freebsd
Configured with: FreeBSD/i386 system compiler
@@ -139,7 +139,7 @@
"A bunch of sample gcc -v outputs from different machines.")
(defvar semantic-gcc-test-strings-fail
- '(;; A really old solaris box I found
+ '(;; A really old Solaris box I found
"Reading specs from /usr/local/gcc-2.95.2/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/specs
gcc version 2.95.2 19991024 (release)"
)
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/lisp/emacs-lisp/bytecomp-tests.el
^
|
@@ -38,7 +38,7 @@
bytecomp-test-var)
(defun bytecomp-test-identity (x)
- "Identity, but hidden from some optimisations."
+ "Identity, but hidden from some optimizations."
x)
(defmacro bytecomp-test-loop (outer1 outer2 inner1 inner2)
@@ -556,7 +556,7 @@
((not x) 3)))
'("a" "b" "c" "d" nil))
- ;; `let' and `let*' optimisations with body being constant or variable
+ ;; `let' and `let*' optimizations with body being constant or variable
(let* (a
(b (progn (setq a (cons 1 a)) 2))
(c (1+ b))
@@ -582,7 +582,7 @@
(let* (x y)
'a)
- ;; Check empty-list optimisations.
+ ;; Check empty-list optimizations.
(mapcar (lambda (x) (member x nil)) '("a" 2 nil))
(mapcar (lambda (x) (memql x nil)) '(a 2 nil))
(mapcar (lambda (x) (memq x nil)) '(a nil))
@@ -597,7 +597,7 @@
(list (mapcar (lambda (x) (assoc (setq n (1+ n)) nil)) '(a "nil"))
n))
- ;; Exercise variable-aliasing optimisations.
+ ;; Exercise variable-aliasing optimizations.
(let ((a (list 1)))
(let ((b a))
(let ((a (list 2)))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/lisp/help-fns-tests.el
^
|
@@ -63,13 +63,13 @@
(ert-deftest help-fns-test-lisp-defun ()
(let ((regexp (if (featurep 'native-compile)
- "a native compiled Lisp function in .+subr\\.el"
- "a compiled Lisp function in .+subr\\.el"))
+ "a native-compiled Lisp function in .+subr\\.el"
+ "a byte-compiled Lisp function in .+subr\\.el"))
(result (help-fns-tests--describe-function 'last)))
(should (string-match regexp result))))
(ert-deftest help-fns-test-lisp-defsubst ()
- (let ((regexp "a compiled Lisp function in .+subr\\.el")
+ (let ((regexp "a byte-compiled Lisp function in .+subr\\.el")
(result (help-fns-tests--describe-function 'posn-window)))
(should (string-match regexp result))))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/lisp/net/tramp-archive-tests.el
^
|
@@ -926,28 +926,31 @@
(file-attributes %S \"/\")) \
(message \"tramp-archive loaded: %%s\" \
(featurep 'tramp-archive))))"))
- (dolist (default-directory
- `(,temporary-file-directory
- ;; Starting Emacs in a directory which has
- ;; `tramp-archive-file-name-regexp' syntax is
- ;; supported only with Emacs > 27.2 (sigh!).
- ;; (Bug#48476)
- ,(file-name-as-directory tramp-archive-test-directory)))
- (dolist (file `("/mock::foo" ,(concat tramp-archive-test-archive "foo")))
- (should
- (string-match
- (format
- "tramp-archive loaded: %s[[:ascii:]]+tramp-archive loaded: %s"
- (tramp-archive-file-name-p default-directory)
- (or (tramp-archive-file-name-p default-directory)
- (tramp-archive-file-name-p file)))
- (shell-command-to-string
- (format
- "%s -batch -Q -L %s --eval %s"
- (shell-quote-argument
- (expand-file-name invocation-name invocation-directory))
- (mapconcat #'shell-quote-argument load-path " -L ")
- (shell-quote-argument (format code file))))))))))
+ (dolist (enabled '(t nil))
+ (dolist (default-directory
+ `(,temporary-file-directory
+ ;; Starting Emacs in a directory which has
+ ;; `tramp-archive-file-name-regexp' syntax is
+ ;; supported only with Emacs > 27.2 (sigh!).
+ ;; (Bug#48476)
+ ,(file-name-as-directory tramp-archive-test-directory)))
+ (dolist (file `("/mock::foo" ,(concat tramp-archive-test-archive "foo")))
+ (should
+ (string-match
+ (format
+ "tramp-archive loaded: %s[[:ascii:]]+tramp-archive loaded: %s"
+ (tramp-archive-file-name-p default-directory)
+ (or (tramp-archive-file-name-p default-directory)
+ (and enabled (tramp-archive-file-name-p file))))
+ (shell-command-to-string
+ (format
+ "%s -batch -Q -L %s --eval %s --eval %s"
+ (shell-quote-argument
+ (expand-file-name invocation-name invocation-directory))
+ (mapconcat #'shell-quote-argument load-path " -L ")
+ (shell-quote-argument
+ (format "(setq tramp-archive-enabled %s)" enabled))
+ (shell-quote-argument (format code file)))))))))))
(ert-deftest tramp-archive-test45-delay-load ()
"Check that `tramp-archive' is loaded lazily, only when needed."
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/lisp/net/tramp-tests.el
^
|
@@ -68,6 +68,7 @@
(defvar tramp-connection-properties)
(defvar tramp-copy-size-limit)
(defvar tramp-display-escape-sequence-regexp)
+(defvar tramp-fuse-remove-hidden-files)
(defvar tramp-fuse-unmount-on-cleanup)
(defvar tramp-inline-compress-start-size)
(defvar tramp-persistency-file-name)
@@ -160,13 +161,6 @@
;; Return result.
(cdr tramp--test-enabled-checked))
-(defsubst tramp--test-expensive-test ()
- "Whether expensive tests are run."
- (ert-select-tests
- (ert--stats-selector ert--current-run-stats)
- (list (make-ert-test :name (ert-test-name (ert-running-test))
- :body nil :tags '(:expensive-test)))))
-
(defun tramp--test-make-temp-name (&optional local quoted)
"Return a temporary file name for test.
If LOCAL is non-nil, a local file name is returned.
@@ -2034,17 +2028,7 @@
:type 'user-error)
(should-error
(expand-file-name "/method:user1@host1|ssh:user2@host2:/path/to/file")
- :type 'user-error))
-
- ;; Samba does not support file names with periods followed by
- ;; spaces, and trailing periods or spaces.
- (when (tramp--test-smb-p)
- (dolist (file '("foo." "foo. bar" "foo "))
- (should-error
- (tramp-smb-get-localname
- (tramp-dissect-file-name
- (expand-file-name file tramp-test-temporary-file-directory)))
- :type 'file-error))))
+ :type 'user-error)))
(ert-deftest tramp-test04-substitute-in-file-name ()
"Check `substitute-in-file-name'."
@@ -2298,7 +2282,7 @@
"Check `file-exist-p', `write-region' and `delete-file'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name (tramp--test-make-temp-name nil quoted)))
(should-not (file-exists-p tmp-name))
(write-region "foo" nil tmp-name)
@@ -2306,8 +2290,10 @@
(delete-file tmp-name)
(should-not (file-exists-p tmp-name))
- ;; Trashing files doesn't work on MS Windows, and for crypted remote files.
- (unless (or (tramp--test-windows-nt-p) (tramp--test-crypt-p))
+ ;; Trashing files doesn't work when `system-move-file-to-trash'
+ ;; is defined (on MS-Windows and macOS), and for encrypted
+ ;; remote files.
+ (unless (or (fboundp 'system-move-file-to-trash) (tramp--test-crypt-p))
(let ((trash-directory (tramp--test-make-temp-name 'local quoted))
(delete-by-moving-to-trash t))
(make-directory trash-directory)
@@ -2331,7 +2317,7 @@
"Check `file-local-copy'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
tmp-name2)
(unwind-protect
@@ -2363,7 +2349,7 @@
"Check `insert-file-contents'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name (tramp--test-make-temp-name nil quoted)))
(unwind-protect
(with-temp-buffer
@@ -2400,7 +2386,7 @@
"Check `write-region'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name (tramp--test-make-temp-name nil quoted))
(inhibit-message t))
(unwind-protect
@@ -2541,8 +2527,9 @@
(skip-unless (tramp--test-enabled))
;; `filename-non-special' has been fixed in Emacs 27.1, see Bug#29579.
- (dolist (quoted (if (and (tramp--test-expensive-test) (tramp--test-emacs27-p))
- '(nil t) '(nil)))
+ (dolist (quoted
+ (if (and (tramp--test-expensive-test-p) (tramp--test-emacs27-p))
+ '(nil t) '(nil)))
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (tramp--test-make-temp-name nil quoted))
(tmp-name3 (tramp--test-make-temp-name 'local quoted)))
@@ -2569,7 +2556,7 @@
(with-temp-buffer
(insert-file-contents target)
(should (string-equal (buffer-string) "foo")))
- (when (tramp--test-expensive-test)
+ (when (tramp--test-expensive-test-p)
(should-error
(copy-file source target)
:type 'file-already-exists))
@@ -2588,7 +2575,8 @@
(make-directory target)
(should (file-directory-p target))
;; This has been changed in Emacs 26.1.
- (when (and (tramp--test-expensive-test) (tramp--test-emacs26-p))
+ (when (and (tramp--test-expensive-test-p)
+ (tramp--test-emacs26-p))
(should-error
(copy-file source target)
:type 'file-already-exists)
@@ -2653,8 +2641,9 @@
(skip-unless (tramp--test-enabled))
;; `filename-non-special' has been fixed in Emacs 27.1, see Bug#29579.
- (dolist (quoted (if (and (tramp--test-expensive-test) (tramp--test-emacs27-p))
- '(nil t) '(nil)))
+ (dolist (quoted
+ (if (and (tramp--test-expensive-test-p) (tramp--test-emacs27-p))
+ '(nil t) '(nil)))
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (tramp--test-make-temp-name nil quoted))
(tmp-name3 (tramp--test-make-temp-name 'local quoted)))
@@ -2684,7 +2673,7 @@
(should (string-equal (buffer-string) "foo")))
(write-region "foo" nil source)
(should (file-exists-p source))
- (when (tramp--test-expensive-test)
+ (when (tramp--test-expensive-test-p)
(should-error
(rename-file source target)
:type 'file-already-exists))
@@ -2703,7 +2692,8 @@
(make-directory target)
(should (file-directory-p target))
;; This has been changed in Emacs 26.1.
- (when (and (tramp--test-expensive-test) (tramp--test-emacs26-p))
+ (when (and (tramp--test-expensive-test-p)
+ (tramp--test-emacs26-p))
(should-error
(rename-file source target)
:type 'file-already-exists)
@@ -2771,7 +2761,7 @@
This tests also `file-directory-p' and `file-accessible-directory-p'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let* ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (expand-file-name "foo/bar" tmp-name1))
(unusual-file-mode-1 #o740)
@@ -2809,7 +2799,7 @@
"Check `delete-directory'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let* ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (expand-file-name "foo" tmp-name1)))
;; Delete empty directory.
@@ -2833,9 +2823,12 @@
(should-not (file-directory-p tmp-name1))
;; Trashing directories works only since Emacs 27.1. It doesn't
- ;; work on MS Windows, for crypted remote directories and for ange-ftp.
- (when (and (not (tramp--test-windows-nt-p)) (not (tramp--test-crypt-p))
- (not (tramp--test-ftp-p)) (tramp--test-emacs27-p))
+ ;; work when `system-move-file-to-trash' is defined (on MS
+ ;; Windows and macOS), for encrypted remote directories and for
+ ;; ange-ftp.
+ (when (and (not (fboundp 'system-move-file-to-trash))
+ (not (tramp--test-crypt-p)) (not (tramp--test-ftp-p))
+ (tramp--test-emacs27-p))
(let ((trash-directory (tramp--test-make-temp-name 'local quoted))
(delete-by-moving-to-trash t))
(make-directory trash-directory)
@@ -2883,7 +2876,7 @@
(skip-unless (tramp--test-enabled))
(skip-unless (or (tramp--test-emacs26-p) (not (tramp--test-rclone-p))))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let* ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (tramp--test-make-temp-name nil quoted))
(tmp-name3 (expand-file-name
@@ -2994,8 +2987,9 @@
"Check `directory-files'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
- (let* ((tmp-name1 (tramp--test-make-temp-name nil quoted))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
+ (let* ((tramp-fuse-remove-hidden-files t)
+ (tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (expand-file-name "bla" tmp-name1))
(tmp-name3 (expand-file-name "foo" tmp-name1)))
(unwind-protect
@@ -3038,8 +3032,9 @@
"Check `file-expand-wildcards'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
- (let* ((tmp-name1 (tramp--test-make-temp-name nil quoted))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
+ (let* ((tramp-fuse-remove-hidden-files t)
+ (tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (expand-file-name "foo" tmp-name1))
(tmp-name3 (expand-file-name "bar" tmp-name1))
(tmp-name4 (expand-file-name "baz" tmp-name1))
@@ -3104,11 +3099,11 @@
;; (this is performed by `dired'). If FULL is nil, it shows just
;; one file. So we refrain from testing.
(skip-unless (not (tramp--test-ange-ftp-p)))
- ;; `insert-directory' of crypted remote directories works only since
- ;; Emacs 27.1.
+ ;; `insert-directory' of encrypted remote directories works only
+ ;; since Emacs 27.1.
(skip-unless (or (not (tramp--test-crypt-p)) (tramp--test-emacs27-p)))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let* ((tmp-name1
(expand-file-name (tramp--test-make-temp-name nil quoted)))
(tmp-name2 (expand-file-name "foo" tmp-name1))
@@ -3193,7 +3188,7 @@
;; Since Emacs 26.1.
(skip-unless (fboundp 'insert-directory-wildcard-in-dir-p))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let* ((tmp-name1
(expand-file-name (tramp--test-make-temp-name nil quoted)))
(tmp-name2
@@ -3297,7 +3292,7 @@
;; Relative file names in dired are not supported in tramp-crypt.el.
(skip-unless (not (tramp--test-crypt-p)))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let* ((tmp-name1
(expand-file-name (tramp--test-make-temp-name nil quoted)))
(tmp-name2 (expand-file-name "foo" tmp-name1))
@@ -3351,7 +3346,7 @@
`file-regular-p' and `file-ownership-preserved-p'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
;; We must use `file-truename' for the temporary directory,
;; because it could be located on a symlinked directory. This
;; would let the test fail.
@@ -3474,8 +3469,10 @@
(should
(string-equal
(tramp-compat-file-attribute-type attr)
- (tramp-file-name-localname
- (tramp-dissect-file-name tmp-name3))))
+ (funcall
+ (if (tramp--test-sshfs-p) #'file-name-nondirectory #'identity)
+ (tramp-file-name-localname
+ (tramp-dissect-file-name tmp-name3)))))
(delete-file tmp-name2))
(when test-file-ownership-preserved-p
@@ -3570,7 +3567,7 @@
"Check `directory-files-and-attributes'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
;; `directory-files-and-attributes' contains also values for
;; "../". Ensure that this doesn't change during tests, for
;; example due to handling temporary files.
@@ -3628,7 +3625,7 @@
(skip-unless (tramp--test-enabled))
(skip-unless (tramp--test-supports-set-file-modes-p))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (tramp--test-make-temp-name nil quoted)))
@@ -3644,8 +3641,9 @@
(should (= (file-modes tmp-name1) #o444))
(should-not (file-executable-p tmp-name1))
;; A file is always writable for user "root".
- (unless (zerop (tramp-compat-file-attribute-user-id
- (file-attributes tmp-name1)))
+ (unless (or (zerop (tramp-compat-file-attribute-user-id
+ (file-attributes tmp-name1)))
+ (tramp--test-sshfs-p))
(should-not (file-writable-p tmp-name1)))
;; Check the NOFOLLOW arg. It exists since Emacs 28. For
;; regular files, there shouldn't be a difference.
@@ -3723,7 +3721,7 @@
;; older Emacsen, therefore.
(skip-unless (tramp--test-emacs26-p))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
;; We must use `file-truename' for the temporary directory,
;; because it could be located on a symlinked directory. This
;; would let the test fail.
@@ -3748,11 +3746,11 @@
(if quoted #'tramp-compat-file-name-unquote #'identity)
(file-remote-p tmp-name1 'localname))
(file-symlink-p tmp-name2)))
- (when (tramp--test-expensive-test)
+ (when (tramp--test-expensive-test-p)
(should-error
(make-symbolic-link tmp-name1 tmp-name2)
:type 'file-already-exists))
- (when (tramp--test-expensive-test)
+ (when (tramp--test-expensive-test-p)
;; A number means interactive case.
(cl-letf (((symbol-function #'yes-or-no-p) #'ignore))
(should-error
@@ -3792,7 +3790,7 @@
(string-equal tmp-name1 (file-symlink-p tmp-name3))))
;; Check directory as newname.
(make-directory tmp-name4)
- (when (tramp--test-expensive-test)
+ (when (tramp--test-expensive-test-p)
(should-error
(make-symbolic-link tmp-name1 tmp-name4)
:type 'file-already-exists))
@@ -3820,7 +3818,7 @@
;; Check `add-name-to-file'.
(unwind-protect
- (when (tramp--test-expensive-test)
+ (when (tramp--test-expensive-test-p)
(tramp--test-ignore-add-name-to-file-error
(write-region "foo" nil tmp-name1)
(should (file-exists-p tmp-name1))
@@ -3935,11 +3933,11 @@
(string-equal
(file-truename tmp-name2)
(file-truename tmp-name3)))
- (when (tramp--test-expensive-test)
+ (when (tramp--test-expensive-test-p)
(should-error
(with-temp-buffer (insert-file-contents tmp-name2))
:type tramp-file-missing))
- (when (tramp--test-expensive-test)
+ (when (tramp--test-expensive-test-p)
(should-error
(with-temp-buffer (insert-file-contents tmp-name3))
:type tramp-file-missing))
@@ -3957,7 +3955,7 @@
;; Detect cyclic symbolic links.
(unwind-protect
- (when (tramp--test-expensive-test)
+ (when (tramp--test-expensive-test-p)
(tramp--test-ignore-make-symbolic-link-error
(make-symbolic-link tmp-name2 tmp-name1)
(should (file-symlink-p tmp-name1))
@@ -3995,7 +3993,7 @@
(or (tramp--test-adb-p) (tramp--test-gvfs-p)
(tramp--test-sh-p) (tramp--test-sudoedit-p)))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (tramp--test-make-temp-name nil quoted))
(tmp-name3 (tramp--test-make-temp-name nil quoted)))
@@ -4045,7 +4043,7 @@
"Check `set-visited-file-modtime' and `verify-visited-file-modtime'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name (tramp--test-make-temp-name nil quoted)))
(unwind-protect
(progn
@@ -4078,8 +4076,9 @@
(skip-unless (not (tramp--test-crypt-p)))
;; `filename-non-special' has been fixed in Emacs 27.1, see Bug#29579.
- (dolist (quoted (if (and (tramp--test-expensive-test) (tramp--test-emacs27-p))
- '(nil t) '(nil)))
+ (dolist (quoted
+ (if (and (tramp--test-expensive-test-p) (tramp--test-emacs27-p))
+ '(nil t) '(nil)))
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (tramp--test-make-temp-name nil quoted))
(tmp-name3 (tramp--test-make-temp-name 'local quoted)))
@@ -4157,8 +4156,9 @@
(skip-unless (not (tramp--test-crypt-p)))
;; `filename-non-special' has been fixed in Emacs 27.1, see Bug#29579.
- (dolist (quoted (if (and (tramp--test-expensive-test) (tramp--test-emacs27-p))
- '(nil t) '(nil)))
+ (dolist (quoted
+ (if (and (tramp--test-expensive-test-p) (tramp--test-emacs27-p))
+ '(nil t) '(nil)))
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (tramp--test-make-temp-name nil quoted))
(tmp-name3 (tramp--test-make-temp-name 'local quoted)))
@@ -4296,7 +4296,8 @@
;; Method and host name in completion mode. This kind of completion
;; does not work on MS Windows.
(when (not (memq system-type '(cygwin windows-nt)))
- (let ((method (file-remote-p tramp-test-temporary-file-directory 'method))
+ (let ((tramp-fuse-remove-hidden-files t)
+ (method (file-remote-p tramp-test-temporary-file-directory 'method))
(host (file-remote-p tramp-test-temporary-file-directory 'host))
(orig-syntax tramp-syntax))
(when (and (stringp host) (string-match tramp-host-with-port-regexp host))
@@ -4305,7 +4306,7 @@
(unwind-protect
(dolist
(syntax
- (if (tramp--test-expensive-test)
+ (if (tramp--test-expensive-test-p)
(tramp-syntax-values) `(,orig-syntax)))
(tramp-change-syntax syntax)
;; This has cleaned up all connection data, which are used
@@ -4347,8 +4348,9 @@
(tramp-change-syntax orig-syntax))))
(dolist (non-essential '(nil t))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
- (let ((tmp-name (tramp--test-make-temp-name nil quoted)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
+ (let ((tramp-fuse-remove-hidden-files t)
+ (tmp-name (tramp--test-make-temp-name nil quoted)))
(unwind-protect
(progn
@@ -4414,11 +4416,13 @@
"Check `load'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name (tramp--test-make-temp-name nil quoted)))
(unwind-protect
(progn
- (load tmp-name 'noerror 'nomessage)
+ ;; Ange-FTP does not tolerate a missing file, even with `noerror'.
+ (unless (tramp--test-ange-ftp-p)
+ (load tmp-name 'noerror 'nomessage))
(should-not (featurep 'tramp-test-load))
(write-region "(provide 'tramp-test-load)" nil tmp-name)
;; `load' in lread.c does not pass `must-suffix'. Why?
@@ -4443,10 +4447,11 @@
(skip-unless (tramp--test-enabled))
(skip-unless (tramp--test-supports-processes-p))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let* ((tmp-name (tramp--test-make-temp-name nil quoted))
(fnnd (file-name-nondirectory tmp-name))
(default-directory tramp-test-temporary-file-directory)
+ (buffer (get-buffer-create "*tramp-tests*"))
kill-buffer-query-functions)
(unwind-protect
(progn
@@ -4479,32 +4484,87 @@
(tramp--test-shell-file-name)
nil nil nil "-c" "kill -2 $$")))))
- (with-temp-buffer
- (write-region "foo" nil tmp-name)
- (should (file-exists-p tmp-name))
- (should (zerop (process-file "ls" nil t nil fnnd)))
- ;; "ls" could produce colorized output.
- (goto-char (point-min))
- (while
- (re-search-forward tramp-display-escape-sequence-regexp nil t)
- (replace-match "" nil nil))
- (should (string-equal (format "%s\n" fnnd) (buffer-string)))
- (should-not (get-buffer-window (current-buffer) t))
+ ;; Check DESTINATION.
+ (dolist (destination `(nil t ,buffer))
+ (when (bufferp destination)
+ (with-current-buffer destination
+ (delete-region (point-min) (point-max))))
+ (with-temp-buffer
+ (write-region "foo" nil tmp-name)
+ (should (file-exists-p tmp-name))
+ (should (zerop (process-file "ls" nil destination nil fnnd)))
+ (with-current-buffer
+ (if (bufferp destination) destination (current-buffer))
+ ;; "ls" could produce colorized output.
+ (goto-char (point-min))
+ (while (re-search-forward
+ tramp-display-escape-sequence-regexp nil t)
+ (replace-match "" nil nil))
+ (should
+ (string-equal (if destination (format "%s\n" fnnd) "")
+ (buffer-string)))
+ (should-not (get-buffer-window (current-buffer) t))
+ (goto-char (point-max)))
+
+ ;; Second run. The output must be appended.
+ (should (zerop (process-file "ls" nil destination t fnnd)))
+ (with-current-buffer
+ (if (bufferp destination) destination (current-buffer))
+ ;; "ls" could produce colorized output.
+ (goto-char (point-min))
+ (while (re-search-forward
+ tramp-display-escape-sequence-regexp nil t)
+ (replace-match "" nil nil))
+ (should
+ (string-equal
+ (if destination (format "%s\n%s\n" fnnd fnnd) "")
+ (buffer-string))))
- ;; Second run. The output must be appended.
- (goto-char (point-max))
- (should (zerop (process-file "ls" nil t t fnnd)))
- ;; "ls" could produce colorized output.
- (goto-char (point-min))
- (while
- (re-search-forward tramp-display-escape-sequence-regexp nil t)
- (replace-match "" nil nil))
- (should
- (string-equal (format "%s\n%s\n" fnnd fnnd) (buffer-string)))
- ;; A non-nil DISPLAY must not raise the buffer.
- (should-not (get-buffer-window (current-buffer) t))))
+ (unless (eq destination t)
+ (should (string-empty-p (buffer-string))))
+ ;; A non-nil DISPLAY must not raise the buffer.
+ (should-not (get-buffer-window (current-buffer) t))
+ (delete-file tmp-name)))
+
+ ;; Check remote and local INFILE.
+ (dolist (local '(nil t))
+ (with-temp-buffer
+ (setq tmp-name (tramp--test-make-temp-name local quoted))
+ (write-region "foo" nil tmp-name)
+ (should (file-exists-p tmp-name))
+ (should (zerop (process-file "cat" tmp-name t)))
+ (should (string-equal "foo" (buffer-string)))
+ (should-not (get-buffer-window (current-buffer) t))
+ (delete-file tmp-name)))
+
+ ;; Check remote and local DESTNATION file. This isn't
+ ;; implemented yet ina all file name handler backends.
+ ;; (dolist (local '(nil t))
+ ;; (setq tmp-name (tramp--test-make-temp-name local quoted))
+ ;; (should
+ ;; (zerop (process-file "echo" nil `(:file ,tmp-name) nil "foo")))
+ ;; (with-temp-buffer
+ ;; (insert-file-contents tmp-name)
+ ;; (should (string-equal "foo" (buffer-string)))
+ ;; (should-not (get-buffer-window (current-buffer) t))
+ ;; (delete-file tmp-name)))
+
+ ;; Check remote and local STDERR.
+ (dolist (local '(nil t))
+ (setq tmp-name (tramp--test-make-temp-name local quoted))
+ (should-not
+ (zerop
+ (process-file "cat" nil `(t ,tmp-name) nil "/does-not-exist")))
+ (with-temp-buffer
+ (insert-file-contents tmp-name)
+ (should
+ (string-match-p
+ "cat:.* No such file or directory" (buffer-string)))
+ (should-not (get-buffer-window (current-buffer) t))
+ (delete-file tmp-name))))
;; Cleanup.
+ (ignore-errors (kill-buffer buffer))
(ignore-errors (delete-file tmp-name))))))
;; Must be a command, because used as `sigusr1' handler.
@@ -4519,11 +4579,11 @@
(ert-deftest tramp-test29-start-file-process ()
"Check `start-file-process'."
- :tags '(:expensive-test)
+ :tags '(:expensive-test :tramp-asynchronous-processes)
(skip-unless (tramp--test-enabled))
(skip-unless (tramp--test-supports-processes-p))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((default-directory tramp-test-temporary-file-directory)
(tmp-name (tramp--test-make-temp-name nil quoted))
kill-buffer-query-functions proc)
@@ -4586,8 +4646,8 @@
;; Cleanup.
(ignore-errors (delete-process proc)))
- ;; "telnet" and "sshfs" do not cooperate with disabled filter.
- (unless (or (tramp--test-telnet-p) (tramp--test-sshfs-p))
+ ;; Disabled process filter. "sshfs" does not cooperate.
+ (unless (tramp--test-sshfs-p)
(unwind-protect
(with-temp-buffer
(setq proc (start-file-process "test3" (current-buffer) "cat"))
@@ -4596,8 +4656,8 @@
(set-process-filter proc t)
(process-send-string proc "foo\n")
(process-send-eof proc)
- ;; Read output.
- (with-timeout (10 (tramp--test-timeout-handler))
+ ;; Read output. There shouldn't be any.
+ (with-timeout (10)
(while (process-live-p proc)
(while (accept-process-output proc 0 nil t))))
;; No output due to process filter.
@@ -4675,7 +4735,8 @@
(ignore-errors (make-process :file-handler t)))
`(ert-deftest ,(intern (concat (symbol-name test) "-direct-async")) ()
,docstring
- :tags (if ,unstable '(:expensive-test :unstable) '(:expensive-test))
+ :tags (append '(:expensive-test :tramp-asynchronous-processes)
+ (and ,unstable '(:unstable)))
(skip-unless (tramp--test-enabled))
(let ((default-directory tramp-test-temporary-file-directory)
(ert-test (ert-get-test ',test))
@@ -4698,13 +4759,15 @@
(ert-deftest tramp-test30-make-process ()
"Check `make-process'."
- :tags '(:expensive-test)
+ :tags (append '(:expensive-test :tramp-asynchronous-processes)
+ (and (getenv "EMACS_EMBA_CI")
+ '(:unstable)))
(skip-unless (tramp--test-enabled))
(skip-unless (tramp--test-supports-processes-p))
;; `make-process' supports file name handlers since Emacs 27.
(skip-unless (tramp--test-emacs27-p))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((default-directory tramp-test-temporary-file-directory)
(tmp-name (tramp--test-make-temp-name nil quoted))
kill-buffer-query-functions proc)
@@ -4778,8 +4841,8 @@
;; Cleanup.
(ignore-errors (delete-process proc)))
- ;; "telnet" and "sshfs" do not cooperate with disabled filter.
- (unless (or (tramp--test-telnet-p) (tramp--test-sshfs-p))
+ ;; Disabled process filter. "sshfs" does not cooperate.
+ (unless (tramp--test-sshfs-p)
(unwind-protect
(with-temp-buffer
(setq proc
@@ -4792,8 +4855,8 @@
(should (equal (process-status proc) 'run))
(process-send-string proc "foo\n")
(process-send-eof proc)
- ;; Read output.
- (with-timeout (10 (tramp--test-timeout-handler))
+ ;; Read output. There shouldn't be any.
+ (with-timeout (10)
(while (process-live-p proc)
(while (accept-process-output proc 0 nil t))))
;; No output due to process filter.
@@ -4941,10 +5004,12 @@
(ert-deftest tramp-test31-interrupt-process ()
"Check `interrupt-process'."
- :tags (if (or (getenv "EMACS_HYDRA_CI") (getenv "EMACS_EMBA_CI"))
- '(:expensive-test :unstable) '(:expensive-test))
+ :tags (append '(:expensive-test :tramp-asynchronous-processes)
+ (and (or (getenv "EMACS_HYDRA_CI") (getenv "EMACS_EMBA_CI"))
+ '(:unstable)))
(skip-unless (tramp--test-enabled))
(skip-unless (tramp--test-sh-p))
+ (skip-unless (not (tramp--test-windows-nt-p)))
(skip-unless (not (tramp--test-crypt-p)))
;; Since Emacs 26.1.
(skip-unless (boundp 'interrupt-process-functions))
@@ -5009,7 +5074,7 @@
(when (tramp--test-adb-p)
(skip-unless (tramp--test-emacs27-p)))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name (tramp--test-make-temp-name nil quoted))
(default-directory tramp-test-temporary-file-directory)
;; Suppress nasty messages.
@@ -5017,10 +5082,12 @@
kill-buffer-query-functions)
(dolist (this-shell-command
- '(;; Synchronously.
- shell-command
- ;; Asynchronously.
- tramp--test-async-shell-command))
+ (append
+ ;; Synchronously.
+ '(shell-command)
+ ;; Asynchronously.
+ (and (tramp--test-asynchronous-processes-p)
+ '(tramp--test-async-shell-command))))
;; Test ordinary `{async-}shell-command'.
(unwind-protect
@@ -5061,31 +5128,34 @@
(ignore-errors (kill-buffer stderr))))))
;; Test sending string to `async-shell-command'.
- (unwind-protect
- (with-temp-buffer
- (write-region "foo" nil tmp-name)
- (should (file-exists-p tmp-name))
- (tramp--test-async-shell-command
- "read line; ls $line" (current-buffer) nil
- ;; String to be sent.
- (format "%s\n" (file-name-nondirectory tmp-name)))
- (should
- (string-equal
- ;; tramp-adb.el echoes, so we must add the string.
- (if (and (tramp--test-adb-p) (not (tramp-direct-async-process-p)))
- (format
- "%s\n%s\n"
- (file-name-nondirectory tmp-name)
- (file-name-nondirectory tmp-name))
- (format "%s\n" (file-name-nondirectory tmp-name)))
- (buffer-string))))
+ (when (tramp--test-asynchronous-processes-p)
+ (unwind-protect
+ (with-temp-buffer
+ (write-region "foo" nil tmp-name)
+ (should (file-exists-p tmp-name))
+ (tramp--test-async-shell-command
+ "read line; ls $line" (current-buffer) nil
+ ;; String to be sent.
+ (format "%s\n" (file-name-nondirectory tmp-name)))
+ (should
+ (string-equal
+ ;; tramp-adb.el echoes, so we must add the string.
+ (if (and (tramp--test-adb-p)
+ (not (tramp-direct-async-process-p)))
+ (format
+ "%s\n%s\n"
+ (file-name-nondirectory tmp-name)
+ (file-name-nondirectory tmp-name))
+ (format "%s\n" (file-name-nondirectory tmp-name)))
+ (buffer-string))))
- ;; Cleanup.
- (ignore-errors (delete-file tmp-name)))))
+ ;; Cleanup.
+ (ignore-errors (delete-file tmp-name))))))
;; Test `async-shell-command-width'. It exists since Emacs 26.1,
;; but seems to work since Emacs 27.1 only.
- (when (and (tramp--test-sh-p) (tramp--test-emacs27-p))
+ (when (and (tramp--test-asynchronous-processes-p)
+ (tramp--test-sh-p) (tramp--test-emacs27-p))
(let* ((async-shell-command-width 1024)
(default-directory tramp-test-temporary-file-directory)
(cols (ignore-errors
@@ -5232,10 +5302,12 @@
(skip-unless (not (tramp--test-crypt-p)))
(dolist (this-shell-command-to-string
- '(;; Synchronously.
- shell-command-to-string
- ;; Asynchronously.
- tramp--test-shell-command-to-string-asynchronously))
+ (append
+ ;; Synchronously.
+ '(shell-command-to-string)
+ ;; Asynchronously.
+ (and (tramp--test-asynchronous-processes-p)
+ '(tramp--test-shell-command-to-string-asynchronously))))
(let ((default-directory tramp-test-temporary-file-directory)
(shell-file-name "/bin/sh")
@@ -5424,7 +5496,7 @@
;; The functions were introduced in Emacs 26.1.
(ert-deftest tramp-test34-explicit-shell-file-name ()
"Check that connection-local `explicit-shell-file-name' is set."
- :tags '(:expensive-test)
+ :tags '(:expensive-test :tramp-asynchronous-processes)
(skip-unless (tramp--test-enabled))
(skip-unless (tramp--test-supports-processes-p))
;; Prior Emacs 27, `shell-file-name' was hard coded as "/bin/sh" for
@@ -5598,7 +5670,7 @@
(skip-unless (tramp--test-sh-p))
(skip-unless (not (tramp--test-crypt-p)))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
;; We must use `file-truename' for the temporary directory, in
;; order to establish the connection prior running an asynchronous
;; process.
@@ -5668,7 +5740,7 @@
"Check `make-auto-save-file-name'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (tramp--test-make-temp-name nil quoted))
tramp-allow-unsafe-temporary-files)
@@ -5791,7 +5863,7 @@
"Check `find-backup-file-name'."
(skip-unless (tramp--test-enabled))
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (tramp--test-make-temp-name nil quoted))
(ange-ftp-make-backup-files t)
@@ -5943,7 +6015,7 @@
;; `lock-file', `unlock-file', `file-locked-p' and
;; `make-lock-file-name' exists since Emacs 28.1. We don't want to
;; see compiler warnings for older Emacsen.
- (dolist (quoted (if (tramp--test-expensive-test) '(nil t) '(nil)))
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (tramp--test-make-temp-name nil quoted))
(remote-file-name-inhibit-cache t)
@@ -6064,6 +6136,79 @@
(ignore-errors (delete-file tmp-name1))
(tramp-cleanup-connection tramp-test-vec 'keep-debug 'keep-password)))))
+;; The functions were introduced in Emacs 28.1.
+(ert-deftest tramp-test39-detect-external-change ()
+ "Check that an external file modification is reported."
+ (skip-unless (tramp--test-enabled))
+ (skip-unless (not (tramp--test-ange-ftp-p)))
+ ;; Since Emacs 28.1.
+ (skip-unless (and (fboundp 'lock-file) (fboundp 'file-locked-p)))
+
+ (dolist (quoted (if (tramp--test-expensive-test-p) '(nil t) '(nil)))
+ (dolist (create-lockfiles '(nil t))
+ (let ((tmp-name (tramp--test-make-temp-name nil quoted))
+ (remote-file-name-inhibit-cache t)
+ (remote-file-name-inhibit-locks nil)
+ tramp-allow-unsafe-temporary-files
+ (inhibit-message t)
+ ;; tramp-rclone.el and tramp-sshfs.el cache the mounted files.
+ (tramp-fuse-unmount-on-cleanup t)
+ auto-save-default
+ (backup-inhibited t)
+ noninteractive)
+ (with-temp-buffer
+ (unwind-protect
+ (progn
+ (setq buffer-file-name tmp-name
+ buffer-file-truename tmp-name)
+ (insert "foo")
+ ;; Bug#53207: with `create-lockfiles' nil, saving the
+ ;; buffer results in a prompt.
+ (cl-letf (((symbol-function 'yes-or-no-p)
+ (lambda (_) (ert-fail "Test failed unexpectedly"))))
+ (save-buffer))
+ (should-not (file-locked-p tmp-name))
+
+ ;; Macro `ert-with-message-capture' was introduced in Emacs 26.1.
+ (with-no-warnings (when (symbol-plist 'ert-with-message-capture)
+ ;; For local files, just changing the file
+ ;; modification on disk doesn't hurt, because file
+ ;; contents in buffer and on disk are equal. For
+ ;; remote files, file contents is not compared. We
+ ;; mock an older modification time in buffer,
+ ;; because Tramp regards modification times equal if
+ ;; they differ for less than 2 seconds.
+ (set-visited-file-modtime (time-add (current-time) -60))
+ ;; Some Tramp methods cannot check the file
+ ;; modification time properly, for them it doesn't
+ ;; make sense to test.
+ (when (not (verify-visited-file-modtime))
+ (cl-letf (((symbol-function 'read-char-choice)
+ (lambda (prompt &rest _) (message "%s" prompt) ?y)))
+ (ert-with-message-capture captured-messages
+ (insert "bar")
+ (when create-lockfiles
+ (should (string-match-p
+ (format
+ "^%s changed on disk; really edit the buffer\\?"
+ (if (tramp--test-crypt-p)
+ ".+" (file-name-nondirectory tmp-name)))
+ captured-messages))
+ (should (file-locked-p tmp-name)))))
+
+ ;; `save-buffer' removes the file lock.
+ (cl-letf (((symbol-function 'yes-or-no-p) #'tramp--test-always)
+ ((symbol-function 'read-char-choice)
+ (lambda (&rest _) ?y)))
+ (save-buffer))
+ (should-not (file-locked-p tmp-name))))))
+
+ ;; Cleanup.
+ (set-buffer-modified-p nil)
+ (ignore-errors (delete-file tmp-name))
+ (tramp-cleanup-connection
+ tramp-test-vec 'keep-debug 'keep-password)))))))
+
;; The functions were introduced in Emacs 26.1.
(ert-deftest tramp-test40-make-nearby-temp-file ()
"Check `make-nearby-temp-file' and `temporary-file-directory'."
@@ -6131,8 +6276,21 @@
(tramp-find-foreign-file-name-handler tramp-test-temporary-file-directory)
'tramp-ftp-file-name-handler))
+(defun tramp--test-asynchronous-processes-p ()
+ "Whether asynchronous processes tests are run.
+This is used in tests which we dont't want to tag
+`:tramp-asynchronous-processes' completely."
+ (and
+ (ert-select-tests
+ (ert--stats-selector ert--current-run-stats)
+ (list (make-ert-test :name (ert-test-name (ert-running-test))
+ :body nil :tags '(:tramp-asynchronous-processes))))
+ ;; tramp-adb.el cannot apply multi-byte commands.
+ (not (and (tramp--test-adb-p)
+ (string-match-p "[[:multibyte:]]" default-directory)))))
+
(defun tramp--test-crypt-p ()
- "Check, whether the remote directory is crypted."
+ "Check, whether the remote directory is encrypted."
(tramp-crypt-file-name-p tramp-test-temporary-file-directory))
(defun tramp--test-docker-p ()
@@ -6141,6 +6299,15 @@
(string-equal
"docker" (file-remote-p tramp-test-temporary-file-directory 'method)))
+(defun tramp--test-expensive-test-p ()
+ "Whether expensive tests are run.
+This is used in tests which we dont't want to tag `:expensive'
+completely."
+ (ert-select-tests
+ (ert--stats-selector ert--current-run-stats)
+ (list (make-ert-test :name (ert-test-name (ert-running-test))
+ :body nil :tags '(:expensive-test)))))
+
(defun tramp--test-ftp-p ()
"Check, whether an FTP-like method is used.
This does not support globbing characters in file names (yet)."
@@ -6169,7 +6336,7 @@
Several special characters do not work properly there."
;; We must refill the cache. `file-truename' does it.
(file-truename tramp-test-temporary-file-directory)
- (tramp-check-remote-uname tramp-test-vec "^HP-UX"))
+ (ignore-errors (tramp-check-remote-uname tramp-test-vec "^HP-UX")))
(defun tramp--test-ksh-p ()
"Check, whether the remote shell is ksh.
@@ -6184,7 +6351,7 @@
"Check, whether the remote host runs macOS."
;; We must refill the cache. `file-truename' does it.
(file-truename tramp-test-temporary-file-directory)
- (tramp-check-remote-uname tramp-test-vec "Darwin"))
+ (ignore-errors (tramp-check-remote-uname tramp-test-vec "Darwin")))
(defun tramp--test-mock-p ()
"Check, whether the mock method is used.
@@ -6284,13 +6451,15 @@
(defun tramp--test-check-files (&rest files)
"Run a simple but comprehensive test over every file in FILES."
;; `filename-non-special' has been fixed in Emacs 27.1, see Bug#29579.
- (dolist (quoted (if (and (tramp--test-expensive-test) (tramp--test-emacs27-p))
- '(nil t) '(nil)))
+ (dolist (quoted
+ (if (and (tramp--test-expensive-test-p) (tramp--test-emacs27-p))
+ '(nil t) '(nil)))
;; We must use `file-truename' for the temporary directory,
;; because it could be located on a symlinked directory. This
;; would let the test fail.
(let* ((tramp-test-temporary-file-directory
(file-truename tramp-test-temporary-file-directory))
+ (tramp-fuse-remove-hidden-files t)
(tmp-name1 (tramp--test-make-temp-name nil quoted))
(tmp-name2 (tramp--test-make-temp-name 'local quoted))
(files
@@ -6437,15 +6606,40 @@
(delete-file file3)
(should-not (file-exists-p file3))))
+ ;; Check, that a process runs on a remote
+ ;; `default-directory' with special characters. See
+ ;; Bug#53846.
+ (when (and (tramp--test-expensive-test-p)
+ (tramp--test-supports-processes-p)
+ ;; Prior Emacs 27, `shell-file-name' was
+ ;; hard coded as "/bin/sh" for remote
+ ;; processes in Emacs. That doesn't work
+ ;; for tramp-adb.el. tramp-sshfs.el times
+ ;; out for older Emacsen, reason unknown.
+ (or (and (not (tramp--test-adb-p))
+ (not (tramp--test-sshfs-p)))
+ (tramp--test-emacs27-p)))
+ (let ((default-directory file1))
+ (dolist (this-shell-command
+ (append
+ ;; Synchronously.
+ '(shell-command)
+ ;; Asynchronously.
+ (and (tramp--test-asynchronous-processes-p)
+ '(tramp--test-async-shell-command))))
+ (with-temp-buffer
+ (funcall this-shell-command "cat -- *" (current-buffer))
+ (should (string-equal elt (buffer-string)))))))
+
(delete-file file2)
(should-not (file-exists-p file2))
- (delete-directory file1)
+ (delete-directory file1 'recursive)
(should-not (file-exists-p file1))))
;; Check, that environment variables are set correctly.
;; We do not run on macOS due to encoding problems. See
;; Bug#36940.
- (when (and (tramp--test-expensive-test) (tramp--test-sh-p)
+ (when (and (tramp--test-expensive-test-p) (tramp--test-sh-p)
(not (tramp--test-crypt-p))
(not (eq system-type 'darwin)))
(dolist (elt files)
@@ -6506,7 +6700,7 @@
(unless (or (tramp--test-ftp-p)
(tramp--test-gvfs-p)
(tramp--test-windows-nt-or-smb-p))
- "*foo*bar*baz*")
+ "*foo+bar*baz+")
(if (or (tramp--test-gvfs-p) (tramp--test-windows-nt-or-smb-p))
"'foo'bar'baz'"
"'foo\"bar'baz\"")
@@ -6527,7 +6721,7 @@
"{foo}bar{baz}")))
;; Simplify test in order to speed up.
(apply #'tramp--test-check-files
- (if (tramp--test-expensive-test)
+ (if (tramp--test-expensive-test-p)
files (list (mapconcat #'identity files ""))))))
;; These tests are inspired by Bug#17238.
@@ -6626,7 +6820,7 @@
;; to U+1FFFF).
"🌈🍒👋")
- (when (tramp--test-expensive-test)
+ (when (tramp--test-expensive-test-p)
(delete-dups
(mapcar
;; Use all available language specific snippets.
@@ -6798,8 +6992,10 @@
"Check parallel asynchronous requests.
Such requests could arrive from timers, process filters and
process sentinels. They shall not disturb each other."
- :tags (if (getenv "EMACS_EMBA_CI")
- '(:expensive-test :unstable) '(:expensive-test))
+ :tags (append '(:expensive-test :tramp-asynchronous-processes)
+ (and (or (getenv "EMACS_HYDRA_CI")
+ (getenv "EMACS_EMBA_CI"))
+ '(:unstable)))
(skip-unless (tramp--test-enabled))
(skip-unless (tramp--test-supports-processes-p))
;; Prior Emacs 27, `shell-file-name' was hard coded as "/bin/sh" for
@@ -7113,7 +7309,6 @@
"Check that Tramp and its subpackages unload completely.
Since it unloads Tramp, it shall be the last test to run."
:tags '(:expensive-test)
- (skip-unless noninteractive)
;; The autoloaded Tramp objects are different since Emacs 26.1. We
;; cannot test older Emacsen, therefore.
(skip-unless (tramp--test-emacs26-p))
@@ -7126,28 +7321,34 @@
(should (featurep 'tramp-archive))
;; This unloads also tramp-archive.el and tramp-theme.el if needed.
(unload-feature 'tramp 'force)
- ;; No Tramp feature must be left.
+
+ ;; No Tramp feature must be left except the test packages.
(should-not (featurep 'tramp))
(should-not (featurep 'tramp-archive))
(should-not (featurep 'tramp-theme))
(should-not
(all-completions
"tramp" (delq 'tramp-tests (delq 'tramp-archive-tests features))))
+
;; `file-name-handler-alist' must be clean.
(should-not (all-completions "tramp" (mapcar #'cdr file-name-handler-alist)))
+
;; There shouldn't be left a bound symbol, except buffer-local
- ;; variables, and autoload functions. We do not regard our test
+ ;; variables, and autoloaded functions. We do not regard our test
;; symbols, and the Tramp unload hooks.
(mapatoms
(lambda (x)
(and (or (and (boundp x) (null (local-variable-if-set-p x)))
- (and (functionp x) (null (autoloadp (symbol-function x)))))
+ (and (functionp x) (null (autoloadp (symbol-function x))))
+ (macrop x))
(string-match-p "^tramp" (symbol-name x))
;; `tramp-completion-mode' is autoloaded in Emacs < 28.1.
(not (eq 'tramp-completion-mode x))
(not (string-match-p "^tramp\\(-archive\\)?--?test" (symbol-name x)))
(not (string-match-p "unload-hook$" (symbol-name x)))
+ (not (get x 'tramp-autoload))
(ert-fail (format "`%s' still bound" x)))))
+
;; The defstruct `tramp-file-name' and all its internal functions
;; shall be purged.
(should-not (cl--find-class 'tramp-file-name))
@@ -7156,6 +7357,7 @@
(and (functionp x)
(string-match-p "tramp-file-name" (symbol-name x))
(ert-fail (format "Structure function `%s' still exists" x)))))
+
;; There shouldn't be left a hook function containing a Tramp
;; function. We do not regard the Tramp unload hooks.
(mapatoms
@@ -7165,7 +7367,24 @@
(not (string-match-p "unload-hook$" (symbol-name x)))
(consp (symbol-value x))
(ignore-errors (all-completions "tramp" (symbol-value x)))
- (ert-fail (format "Hook `%s' still contains Tramp function" x))))))
+ (ert-fail (format "Hook `%s' still contains Tramp function" x)))))
+
+ ;; There shouldn't be left an advice function from Tramp.
+ (mapatoms
+ (lambda (x)
+ (and (functionp x)
+ (advice-mapc
+ (lambda (fun _symbol)
+ (and (string-match-p "^tramp" (symbol-name fun))
+ (ert-fail
+ (format "Function `%s' still contains Tramp advice" x))))
+ x))))
+
+ ;; Reload.
+ (require 'tramp)
+ (require 'tramp-archive)
+ (should (featurep 'tramp))
+ (should (featurep 'tramp-archive)))
(defun tramp-test-all (&optional interactive)
"Run all tests for \\[tramp].
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/lisp/so-long-tests/so-long-tests.el
^
|
@@ -59,7 +59,7 @@
(declare-function so-long-tests-assert-and-revert "so-long-tests-helpers")
(declare-function so-long-tests-predicates "so-long-tests-helpers")
-;; Enable the automated behaviour for all tests.
+;; Enable the automated behavior for all tests.
(global-so-long-mode 1)
(ert-deftest so-long-tests-threshold-under ()
@@ -210,7 +210,7 @@
;; From Emacs 27 the `display-buffer' call is insufficient.
;; The various 'window change functions' are now invoked by the
;; redisplay, and redisplay does nothing at all in batch mode,
- ;; so we cannot test under this revised behaviour. Refer to:
+ ;; so we cannot test under this revised behavior. Refer to:
;; https://lists.gnu.org/r/emacs-devel/2019-10/msg00971.html
;; For interactive (non-batch) test runs, calling `redisplay'
;; does do the trick; so do that first.
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/lisp/so-long-tests/spelling-tests.el
^
|
@@ -57,7 +57,7 @@
(unwind-protect
(cl-letf (((symbol-function 'ispell-command-loop)
(lambda (_miss _guess word _start _end)
- (message "Unrecognised word: %s." word)
+ (message "Unrecognized word: %s." word)
(throw 'mistake t))))
(catch 'mistake
(find-library "so-long")
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/src/comp-resources/comp-test-funcs.el
^
|
@@ -515,6 +515,8 @@
(defun comp-test-47868-4-f ()
#(" " 0 1 (face font-lock-keyword-face)))
+(defun comp-test-48029-nonascii-žžž-f (arg)
+ (when arg t))

;;;;;;;;;;;;;;;;;;;;
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/src/comp-tests.el
^
|
@@ -489,11 +489,6 @@
(should (string= (comp-test-45635-f :height 180 :family "PragmataPro Liga")
"PragmataPro Liga")))
-(comp-deftest 45603-1 ()
- "<https://lists.gnu.org/archive/html/bug-gnu-emacs/2020-12/msg01994.html>"
- (load (native-compile (ert-resource-file "comp-test-45603.el")))
- (should (fboundp #'comp-test-45603--file-local-name)))
-
(comp-deftest 46670-1 ()
"<https://lists.gnu.org/archive/html/bug-gnu-emacs/2021-02/msg01413.html>"
(should (string= (comp-test-46670-2-f "foo") "foo"))
@@ -513,6 +508,11 @@
(should (eq (comp-test-47868-1-f) (comp-test-47868-3-f)))
(should (eq (comp-test-47868-2-f) (comp-test-47868-4-f))))
+(comp-deftest 48029-1 ()
+ "<https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-07/msg00666.html>"
+ (should (subr-native-elisp-p
+ (symbol-function 'comp-test-48029-nonascii-žžž-f))))
+

;;;;;;;;;;;;;;;;;;;;;
;; Tromey's tests. ;;
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/src/fns-tests.el
^
|
@@ -788,7 +788,7 @@
(should (equal 1 (string-distance "ab" "a我b")))
(should (equal 1 (string-distance "我" "她")))
- ;; correct behaviour with empty strings
+ ;; correct behavior with empty strings
(should (equal 0 (string-distance "" "")))
(should (equal 0 (string-distance "" "" t)))
(should (equal 1 (string-distance "x" "")))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/src/keymap-tests.el
^
|
@@ -125,7 +125,7 @@
;; ...)
(ert-deftest keymap-lookup-key/mixed-case ()
- "Backwards compatibility behaviour (Bug#50752)."
+ "Backwards compatibility behavior (Bug#50752)."
(let ((map (make-keymap)))
(define-key map [menu-bar foo bar] 'foo)
(should (eq (lookup-key map [menu-bar foo bar]) 'foo))
|
[-]
[+]
|
Changed |
_service:tar_git:emacs-28.2.0.tar.xz/emacs/test/src/process-tests.el
^
|
@@ -939,7 +939,7 @@
(< (float-time) (+ t0 limit)))
(sit-for 0.1)))
(should status)
- (should-not (assq :error status))
+ (should-not (plist-get status ':error))
(should buf)
(should (> (buffer-size buf) 0))
)
|