Merge from origin/emacs-30

b420e149b1 Fix a typo in ediff-init.el
e1304e9b1b Fix 'chart-space-usage' on MS-Windows
04c44405bf Fix alignment and documentation of vtable.el
4d6fadb8d2 ; * lisp/which-key.el: Fix ':package-version' (bug#73072).
54071b9cef ; Improve doc strings of 'tab-bar-mode' and 'tab-line-mode'
87a8b12a0c Fix test failure in erc-networks-tests
dad0935cfc ; * doc/emacs/building.texi (Lisp Libraries): Update (bug...
e4dc6711b0 Fix :hook in 'use-package'
c1cd036d27 ; * doc/lispref/modes.texi (Mode Line Data): Fox wording.
ae2463796f ; Caveats about using :eval in 'mode-line-format'
4047072c7d Update FSF's address
24f12bdd77 Support the new option in ruby-ts-mode too
6c15b7710d Add new option ruby-bracketed-args-indent
7799ef4335 Fix Rmail base64 and qp decoding of MIME payloads
0def396fa8 Update to Org 9.7.11
8c044bd972 ; Fix recent changes in documentation
e0d8879bcd * test/lisp/emacs-lisp/tabulated-list-tests.el: Add missi...
4ff4b78f92 ; Small doc fixes
da980ad838 ; Reword some "allows Xing"
2ca7d5649c ; More accurate text about how `equal` compares various o...

# Conflicts:
#	etc/NEWS
This commit is contained in:
Eli Zaretskii 2024-09-07 06:25:15 -04:00
commit 6dcd3d2404
42 changed files with 407 additions and 179 deletions

View file

@ -71,7 +71,7 @@ tool bars on the bottom. For the same reasons @code{modifier-bar-mode}
is now gone.
@item
The command @code{recover-file} no longer allows displaying the diffs
The command @code{recover-file} no longer lets you display the diffs
between a file and its auto-save file. You either want to recover a
file or you don't; confusing users with a third alternative when they
are anxious already by the possibility of losing precious edits is

View file

@ -1689,9 +1689,9 @@ command or function is invoked. For example:
Note that installing a package using @code{package-install}
(@pxref{Package Installation}) takes care of placing the package's
Lisp files in a directory where Emacs will find it, and also writes
the necessary initialization code into your init files, making the
above manual customizations unnecessary.
Lisp files in a directory where Emacs will find it, and also extends
@code{load-path} as needed, making the above manual customizations
unnecessary for such packages.
@node Lisp Eval
@section Evaluating Emacs Lisp Expressions

View file

@ -816,9 +816,9 @@ Like the other commands in this section, this command operates on the
@findex dired-do-open
@kindex E @r{(Dired)}
@item E
``Open'' the specified files using an external program. The program is
selected according to the system conventions, as determined by the
variable @code{shell-command-guess-open}.
``Open'' the specified files using an external program (@code{dired-do-open}).
The program is selected according to the system conventions, as
determined by the variable @code{shell-command-guess-open}.
@findex dired-do-rename
@kindex R @r{(Dired)}

View file

@ -89,8 +89,8 @@ developing GNU and promoting software freedom.''
@sp 2
Published by the Free Software Foundation @*
51 Franklin Street, Fifth Floor @*
Boston, MA 02110-1301 USA @*
31 Milk Street, # 960789 @*
Boston, MA 02196 @*
ISBN 978-0-9831592-8-5
@sp 2
@ -1432,8 +1432,8 @@ If you need to contact the Free Software Foundation, see
@display
Free Software Foundation
51 Franklin Street, Fifth Floor
Boston, MA 02110-1301
31 Milk Street # 960789
Boston, MA 02196
USA
@end display

View file

@ -711,10 +711,11 @@ completions list buffer, and the second one will switch to it.
When the window showing the completions is selected, either because
you customized @code{completion-auto-select} or because you switched to
it by typing @kbd{C-x o}, the @kbd{@key{UP}} and @kbd{@key{DOWN}} arrow
keys move by lines between completion candidates; with a prefix numeric
argument, they move that many lines. If @code{completion-auto-wrap} is
non-@code{nil}, these commands will wrap at bottom and top of the
candidate list.
keys (@code{previous-line-completion} and @code{next-line-completion},
respectively) move by lines between completion candidates; with a prefix
numeric argument, they move that many lines. If
@code{completion-auto-wrap} is non-@code{nil}, these commands will wrap
at bottom and top of the candidate list.
@vindex completion-cycle-threshold
If @code{completion-cycle-threshold} is non-@code{nil}, completion

View file

@ -1430,7 +1430,7 @@ line shows how many manual pages are available.
@vindex Man-prefer-synchronous-call
By default, @kbd{M-x man} calls the @code{man} program
asynchronously. You can force the invocation to be synchronous by
customizing @code{Man-prefer-synchronous-calls} to a non-@code{nil}
customizing @code{Man-prefer-synchronous-call} to a non-@code{nil}
value.
@vindex Man-support-remote-systems

View file

@ -125,8 +125,8 @@ Published by the:@*
GNU Press, @hfill @uref{https://www.fsf.org/licensing/gnu-press/}@*
a division of the @hfill email: @email{sales@@fsf.org}@*
Free Software Foundation, Inc. @hfill Tel: +1 (617) 542-5942@*
51 Franklin Street, Fifth Floor @hfill Fax: +1 (617) 542-2652@*
Boston, MA 02110-1301 USA
31 Milk Street, # 960789 @hfill Fax: +1 (617) 542-2652@*
Boston, MA 02196 USA
@end iftex
@ifnottex
@ -136,8 +136,8 @@ Printed copies available from @uref{https://shop.fsf.org/}. Published by:
GNU Press, https://www.fsf.org/licensing/gnu-press/
a division of the email: sales@@fsf.org
Free Software Foundation, Inc. Tel: +1 (617) 542-5942
51 Franklin Street, Fifth Floor Fax: +1 (617) 542-2652
Boston, MA 02110-1301 USA
31 Milk Street, # 960789 Fax: +1 (617) 542-2652
Boston, MA 02196 USA
@end example
@end ifnottex

View file

@ -140,8 +140,8 @@ developing GNU and promoting software freedom.''
@sp 2
Published by the Free Software Foundation @*
51 Franklin St, Fifth Floor @*
Boston, MA 02110-1301 @*
31 Milk Street, # 960789 @*
Boston, MA 02196 @*
USA @*
ISBN 1-882114-74-4

View file

@ -1910,8 +1910,8 @@ pairs. The following properties are supported:
@item :category
The value should be a symbol describing what kind of text the
completion function is trying to complete. If the symbol matches one
of the keys in @code{completion-category-overrides}, the usual
completion behavior is overridden. @xref{Completion Variables}.
of the keys in @code{completion-category-overrides} described above,
the usual completion behavior is overridden.
@item :annotation-function
The value should be a function to add annotations in the completions

View file

@ -2227,8 +2227,9 @@ construct.)
@item (:eval @var{form})
A list whose first element is the symbol @code{:eval} says to evaluate
@var{form}, and use the result as a string to display. Make sure this
evaluation cannot load any files, as doing so could cause infinite
recursion.
evaluation neither loads any files nor calls functions like
@code{posn-at-point} or @code{window-in-direction}, which themselves
evaluate the mode line, as doing so could cause infinite recursion.
@item (:propertize @var{elt} @var{props}@dots{})
A list whose first element is the symbol @code{:propertize} says to

View file

@ -2413,10 +2413,12 @@ the converse is not always true.
@end group
@end example
The @code{equal} function recursively compares the contents of objects
if they are integers, strings, markers, lists, cons cells, vectors,
bool-vectors, byte-code function objects, char-tables, records, or font
objects.
The @code{equal} function compares strings and bool-vectors by value.
Numbers are compared by type and numeric value, using @code{eql}.
Lists, cons cells, vectors, records, markers, char-tables, font objects,
and function objects (closures)@footnote{However, equality of distinct
function objects cannot be guaranteed in general.} are compared
recursively by using @code{equal} on their constituent parts.
Comparison of strings is case-sensitive, but does not take account of
text properties---it compares only the characters in the strings.

View file

@ -788,6 +788,14 @@ other kinds, such as words and string constants.
---------- Buffer: foo ----------
@end group
@end example
@vindex forward-sexp-function
@code{forward-sexp} calls the function that is the value of the variable
@code{forward-sexp-function}, if that is non-@code{nil}, to do the
actual work, passing it the same arguments as those with which the
command was called. Major modes can define their own functions for
moving over balanced expressions as appropriate for the mode, and set
this variable to that function.
@end deffn
@deffn Command backward-sexp &optional arg
@ -898,7 +906,8 @@ If Emacs is compiled with tree-sitter, it can use the tree-sitter
parser information to move across syntax constructs. Since what
exactly is considered a sexp varies between languages, a major mode
should set @code{treesit-thing-settings} to determine that. Then
the mode can get navigation-by-sexp functionality for free, by using
@code{forward-sexp-function} will be set to @code{treesit-forward-sexp},
and the mode can get navigation-by-sexp functionality for free, by using
@code{forward-sexp} and @code{backward-sexp}(@pxref{Expressions,
,, emacs, The extensible self-documenting text editor}).

View file

@ -954,7 +954,7 @@ used.
@item
New major modes based on the
@uref{https://tree-sitter.github.io/tree-sitter/, tree-sitter library}
library for editing Elixir, HTML, Lua, HEEx, and PHP.
library for editing Elixir, HEEx, HTML, Lua, and PHP.
@item
Support for the EditorConfig standard has been added, an editor-neutral

View file

@ -3788,8 +3788,8 @@ argument.
With the above setting, you could link to a specific bug with
=[[bugzilla:129]]=, search the web for =OrgMode= with =[[duckduckgo:OrgMode]]=,
show the map location of the Free Software Foundation =[[gmap:51
Franklin Street, Boston]]= or of Carsten office =[[omap:Science Park 904,
show the map location of the Free Software Foundation =[[omap:31
Milk Street, Boston]]= or of Carsten's office =[[omap:Science Park 904,
Amsterdam, The Netherlands]]= and find out what the Org author is doing
besides Emacs hacking with =[[ads:Dominik,C]]=.

View file

@ -337,7 +337,9 @@ width (in pixels), and @var{table} is the table.
@end defun
@item align
Should be either @code{right} or @code{left}.
Should be either @code{right} or @code{left}. If not specified,
numerical values will be flushed to the right, and all other values will
be flushed to the left.
@end table
@item :getter
@ -426,14 +428,19 @@ current line, they can use the @code{vtable-current-object} function
(@pxref{Interface Functions}) to determine what that object is.
@item :separator-width
The width of the blank space between columns.
The width of the blank space between columns. If not specified, it
defaults to 1.
@item :divider-width
@itemx :divider
You can have a divider inserted between the columns. This can either
be specified by using @code{:divider}, which should be a string to be
displayed between the columns, or @code{:divider-width}, which
specifies the width of the space to be used as the divider.
You can have a divider inserted between the columns. This can either be
specified by using @code{:divider}, which should be a string to be
displayed between the columns, or @code{:divider-width}, which specifies
the width of the space to be used as the divider, in units of characters
of the face used to display the table. If not specified,
@code{:divider} defaults to @code{nil}, but specifying
@code{:divider-width} effectively sets the divider to a whitespace
string of that width.
@item :sort-by
This should be a list of tuples, and specifies how the table is to be

View file

@ -2032,7 +2032,7 @@ The intention is that this command can be used to access a wide
variety of version control system-specific functionality from VC
without complexifying either the VC command set or the backend API.
*** 'C-x v v' in a diffs buffer allows committing only some of the changes.
*** 'C-x v v' in a diffs buffer lets you commit only some of the changes.
This command is intended to allow you to commit only some of the
changes you have in your working tree. Begin by creating a buffer
with the changes against the last commit, e.g. with 'C-x v D'
@ -3529,8 +3529,8 @@ The variables 'connection-local-profile-alist' and
make it more convenient to inspect and modify them.
*** New function 'connection-local-update-profile-variables'.
This function allows modifying the settings of an existing
connection-local profile.
You can use this to modify the settings of an existing connection-local
profile.
*** New macro 'with-connection-local-application-variables'.
This macro works like 'with-connection-local-variables', but it allows
@ -4046,8 +4046,8 @@ measured will be counted for the purpose of calculating the text
dimensions.
** 'window-text-pixel-size' understands a new meaning of FROM.
Specifying a cons as the FROM argument allows starting the measurement
of text from a specified amount of pixels above or below a position.
The FROM argument can now be a cons, which means to start measuring text
from a specified number of pixels above or below a position.
** 'window-body-width' and 'window-body-height' can use remapped faces.
Specifying 'remap' as the PIXELWISE argument now checks if the default

View file

@ -379,11 +379,6 @@ the name of the killed buffer that was displayed in that window.
It can be used to add, remove and reorder functions that change the
appearance of every tab on the tab bar.
---
*** New user option 'tab-line-tabs-buffer-group-function'.
It provides two choices to group tab buffers by major mode and by
project name.
---
*** New hook 'tab-bar-tab-post-select-functions'.
@ -401,7 +396,7 @@ you want to use these keys for the commands 'previous-buffer' and
'next-buffer'.
---
*** Default list of tabs is changed to support a fixed order.
*** Default list of tab-line tabs is changed to support a fixed order.
This means that 'tab-line-tabs-fixed-window-buffers', the new default
tabs function, is like the previous 'tab-line-tabs-window-buffers' where
both of them show only buffers that were previously displayed in the
@ -411,7 +406,12 @@ these buffers. You can drag the tabs and release at a new position
to manually reorder the buffers on the tab line.
---
*** Buffers on group tabs are now sorted alphabetically.
*** New user option 'tab-line-tabs-buffer-group-function'.
It provides two choices to group tab buffers by major mode and by
project name.
---
*** Buffers on tab-line group tabs are now sorted alphabetically.
This will keep the fixed order of tabs, even after switching between
them.
@ -945,7 +945,7 @@ Customizing it to 'relativize' makes commands like 'project-find-file'
and 'project-find-dir' display previous history entries relative to
the current project.
--
---
*** New user option 'project-key-prompt-style'.
The look of the key prompt in the project switcher has been changed
slightly. To get the previous one, set this option to 'brackets'.
@ -1102,7 +1102,7 @@ in size.
+++
*** 'dired-listing-switches' handles connection-local values if exist.
This allows customizing different switches for different remote machines.
This allows you to customize different switches for different remote machines.
** Ediff
@ -1973,6 +1973,10 @@ By default it retains the previous behavior: read the contents of
Gemfile and act accordingly. But you can also set it to t or nil to
skip the check.
*** New user option 'ruby-bracketed-args-indent'.
When it is set to nil, multiple consecutive open braces/brackets/parens
result in only one additional indentation level.
** Thingatpt
---
@ -1993,12 +1997,7 @@ providers for "things" that are defined by text properties.
Now, calling '(thing-at-point 'url)' when point is on a bug reference
will return the URL for that bug.
** Miscellaneous
+++
*** New user option 'rcirc-log-time-format'.
This allows for rcirc logs to use a custom timestamp format, which the
chat buffers use by default.
** Buffer-menu
---
*** New user option 'Buffer-menu-group-by'.
@ -2013,6 +2012,13 @@ that is, buffers not visiting a file and whose names start with a space.
Previously, such buffers were never shown. This command is bound to 'I'
in Buffer Menu mode.
** Miscellaneous
+++
*** New user option 'rcirc-log-time-format'.
This allows for rcirc logs to use a custom timestamp format, which the
chat buffers use by default.
---
*** 'ffap-lax-url' now defaults to nil.
Previously, it was set to t, but this broke remote file name detection.
@ -2506,7 +2512,7 @@ sorts by the return value of 'age', then by 'size', then by 'cost'.
The old signature, '(sort SEQ PREDICATE)', can still be used and sorts
its input in-place as before.
** New API for 'derived-mode-p' and control of the graph of major modes.
** New API for 'derived-mode-p' and control of the graph of major modes
+++
*** 'derived-mode-p' now takes the list of modes as a single argument.

View file

@ -284,6 +284,26 @@ respected.
Images dropped also respect the value of ~org-yank-image-save-method~
when ~org-yank-dnd-method~ is =attach=.
*** Alignment of image previews can be customized
Previously, all the image previews where always left-aligned.
Now, you can customize image previews to be left-aligned, centered, or right-aligned.
The customization can be done globally, via ~org-image-align~, or per
image, using =#+attr_...:=. Example:
: #+attr_org: :align center
: [[/path/to/image/file/png]]
:
: or
:
: #+attr_org: :center t
: [[/path/to/image/file/png]]
When =#+attr_org= is not present, ~:align~ and ~:center~ attributes
from other =#+attr_...:= keywords will be used.
*** =id:= links support search options; ~org-id-store-link~ adds search option by default
Adding search option by ~org-id-store-link~ can be disabled by setting

View file

@ -1,5 +1,5 @@
% Reference Card for Org Mode
\def\orgversionnumber{9.7.10}
\def\orgversionnumber{9.7.11}
\def\versionyear{2024} % latest update
\input emacsver.tex

View file

@ -1098,8 +1098,8 @@ kondiĉoj estas observataj:
Ekzemplero de la GNUa Ĝenerala Publika Permesilo devas esti
liverita al vi kun ĉi tiu programo; se vi ĝin ne ricevis, turnu vin
al: Free Software Foundation, Inc., 51 Franklin Street, Fifth
Floor, Boston, MA 02110-1301, USA.
al: Free Software Foundation, Inc., 31 Milk Street, # 960789,
Boston, MA 02196, USA.
Bonvole legu la dosieron COPYING kaj sekve donu kopiojn de GNU Emakso
al viaj amikoj. Helpu ekstermi programaran obstrukcismon

View file

@ -68,7 +68,7 @@
"http" (? "s") "://www.gnu.org/licenses"
(? "/") (? ">") (? " "))
(seq "Boston," delim "MA" delim
(or "02111-1307" "02110-1301" "02111-1301")
(or "02111-1307" "02110-1301" "02111-1301" "02196")
(? ",") delim
"USA")
"675 Mass Ave, Cambridge, MA 02139, USA")

View file

@ -641,27 +641,68 @@ SORT-PRED if desired."
(lambda (a b) (> (cdr a) (cdr b))))
))
;; This assumes 4KB blocks
(defun chart--file-size (size)
(* (/ (+ size 4095) 4096) 4096))
(defun chart--directory-size (dir)
"Compute total size of files in directory DIR and its subdirectories.
DIR is assumed to be a directory, verified by the caller."
(let ((size 0))
(dolist (file (directory-files-recursively dir "." t))
(let ((fsize (nth 7 (file-attributes file))))
(if (> fsize 0)
(setq size
(+ size (chart--file-size fsize))))))
size))
(defun chart-space-usage (d)
"Display a top usage chart for directory D."
(interactive "DDirectory: ")
(message "Collecting statistics...")
(let ((nmlst nil)
(cntlst nil)
(b (get-buffer-create " *du-tmp*")))
(set-buffer b)
(erase-buffer)
(insert "cd " d ";du -sk * \n")
(message "Running `cd %s;du -sk *'..." d)
(call-process-region (point-min) (point-max) shell-file-name t
(current-buffer) nil)
(goto-char (point-min))
(message "Scanning output ...")
(while (re-search-forward "^\\([0-9]+\\)[ \t]+\\([^ \n]+\\)$" nil t)
(let* ((nam (buffer-substring (match-beginning 2) (match-end 2)))
(num (buffer-substring (match-beginning 1) (match-end 1))))
(setq nmlst (cons nam nmlst)
;; * 1000 to put it into bytes
cntlst (cons (* (string-to-number num) 1000) cntlst))))
b)
(if (executable-find "du")
(progn
(setq b (get-buffer-create " *du-tmp*"))
(set-buffer b)
(erase-buffer)
(if (and (memq system-type '(windows-nt ms-dos))
(fboundp 'w32-shell-dos-semantics)
(w32-shell-dos-semantics))
(progn
;; With Windows shells, 'cd' does not change the drive,
;; and ';' is not reliable for running multiple
;; commands, so use alternatives. We quote the
;; directory because otherwise pushd will barf on a
;; directory with forward slashes. Note that * will not
;; skip dotfiles with Windows shells, unlike on Unix.
(insert "pushd \"" d "\" && du -sk * \n")
(message "Running `pushd \"%s\" && du -sk *'..." d))
(insert "cd " d ";du -sk * \n")
(message "Running `cd %s;du -sk *'..." d))
(call-process-region (point-min) (point-max) shell-file-name t
(current-buffer) nil)
(goto-char (point-min))
(message "Scanning output ...")
(while (re-search-forward "^\\([0-9]+\\)[ \t]+\\([^ \n]+\\)$" nil t)
(let* ((nam (buffer-substring (match-beginning 2) (match-end 2)))
(num (buffer-substring (match-beginning 1) (match-end 1))))
(setq nmlst (cons nam nmlst)
;; * 1000 to put it into bytes
cntlst (cons (* (string-to-number num) 1000) cntlst)))))
(dolist (file (directory-files d t directory-files-no-dot-files-regexp))
(let ((fbase (file-name-nondirectory file)))
;; Typical shells exclude files and subdirectories whose names
;; begin with a period when it expands *, so we do the same.
(unless (string-match-p "\\`\\." fbase)
(setq nmlst (cons fbase nmlst))
(if (file-regular-p file)
(setq cntlst (cons (chart--file-size
(nth 7 (file-attributes file)))
cntlst))
(setq cntlst (cons (chart--directory-size file) cntlst)))))))
(if (not nmlst)
(error "No files found!"))
(chart-bar-quickie 'vertical (format "Largest files in %s" d)

View file

@ -722,15 +722,17 @@ This also updates the displayed table."
(vtable--limit-string
name (- (elt widths index) indicator-width))
name))
(let ((fill-width
(+ (- (elt widths index)
(string-pixel-width displayed)
indicator-width
(vtable-separator-width table)
;; We want the indicator to not be quite flush
;; right.
(/ (vtable--char-width table) 2.0))
(if last 0 spacer))))
(let* ((indicator-lead-width
;; We want the indicator to not be quite flush right.
(/ (vtable--char-width table) 2.0))
(indicator-pad-width (- (vtable--char-width table)
indicator-lead-width))
(fill-width
(+ (- (elt widths index)
(string-pixel-width displayed)
indicator-width
indicator-lead-width)
(if last 0 spacer))))
(if (or (not last)
(zerop indicator-width)
(< (seq-reduce #'+ widths 0) (window-width nil t)))
@ -739,7 +741,9 @@ This also updates the displayed table."
displayed
(propertize " " 'display
(list 'space :width (list fill-width)))
indicator)
indicator
(propertize " " 'display
(list 'space :width (list indicator-pad-width))))
;; This is the final column, and we have a sorting
;; indicator, and the table is too wide for the window.
(let* ((pre-indicator (string-pixel-width
@ -758,10 +762,6 @@ This also updates the displayed table."
(list (- fill-width pre-fill))))))))
(when (and divider (not last))
(insert (propertize divider 'keymap dmap)))
(insert (propertize
" " 'display
(list 'space :width (list
(/ (vtable--char-width table) 2.0)))))
(put-text-property start (point) 'vtable-column index)))
(vtable-columns table))
(insert "\n")

View file

@ -579,7 +579,11 @@ HEADER is a header component of a MIME-entity object (see
(ignore-errors (base64-decode-region pos (point))))
((string= transfer-encoding "quoted-printable")
(quoted-printable-decode-region pos (point))))))
(decode-coding-region pos (point) coding-system)
(decode-coding-region
pos (point)
;; Use -dos decoding, to remove ^M characters left from base64 or
;; rogue qp-encoded text.
(coding-system-change-eol-conversion coding-system 1))
(if (and
(or (not rmail-mime-coding-system) (consp rmail-mime-coding-system))
(not (eq (coding-system-base coding-system) 'us-ascii)))
@ -691,7 +695,11 @@ HEADER is a header component of a MIME-entity object (see
(if (and (eq coding-system 'undecided)
(not (null coding-system-for-read)))
(setq coding-system coding-system-for-read))))
(decode-coding-region (point-min) (point) coding-system)
(decode-coding-region
(point-min) (point)
;; Use -dos decoding, to remove ^M characters left from base64 or
;; rogue qp-encoded text.
(coding-system-change-eol-conversion coding-system 1))
(if (and
(or (not rmail-mime-coding-system) (consp rmail-mime-coding-system))
(not (eq (coding-system-base coding-system) 'us-ascii)))

View file

@ -45,7 +45,6 @@
(require 'ob)
(require 'org-macs)
(require 'ox-ascii)
(declare-function org-time-string-to-time "org" (s))
(declare-function orgtbl-to-generic "org-table" (table params))
@ -295,6 +294,8 @@ then create one. Return the initialized session. The current
"Export TABLE to DATA-FILE in a format readable by gnuplot.
Pass PARAMS through to `orgtbl-to-generic' when exporting TABLE."
(require 'ox-org)
(require 'ox-ascii)
(declare-function org-export-create-backend "ox")
(with-temp-file data-file
(insert (let ((org-babel-gnuplot-timestamp-fmt
(or (plist-get params :timefmt) "%Y-%m-%d-%H:%M:%S"))

View file

@ -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.7.10"))
(let ((org-release "9.7.11"))
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.7.10"))
(let ((org-git-version "release_9.7.11"))
org-git-version))
(provide 'org-version)

View file

@ -9,7 +9,7 @@
;; URL: https://orgmode.org
;; Package-Requires: ((emacs "26.1"))
;; Version: 9.7.10
;; Version: 9.7.11
;; This file is part of GNU Emacs.
;;

View file

@ -156,8 +156,11 @@
(:cite-export "CITE_EXPORT" nil org-cite-export-processors))
"Alist between export properties and ways to set them.
The key of the alist is the property name, and the value is a list
like (KEYWORD OPTION DEFAULT BEHAVIOR) where:
Each element of the alist is a list like
(ALIST-KEY KEYWORD OPTION DEFAULT BEHAVIOR)
ALIST-KEY is the key of the alist - a symbol like `:option', and the
value is (KEYWORD OPTION ...).
KEYWORD is a string representing a buffer keyword, or nil. Each
property defined this way can also be set, during subtree

View file

@ -472,6 +472,26 @@ Only has effect when `ruby-use-smie' is t."
:safe 'booleanp
:version "29.1")
(defcustom ruby-bracketed-args-indent t
"Non-nil to align the contents of bracketed arguments with the brackets.
Example:
qux({
foo => bar
})
Set it to nil to align to the beginning of the statement:
qux({
foo => bar
})
Only has effect when `ruby-use-smie' is t."
:type 'boolean
:safe 'booleanp
:version "30.1")
(defcustom ruby-deep-arglist t
"Deep indent lists in parenthesis when non-nil.
Also ignores spaces after parenthesis when `space'.
@ -826,6 +846,9 @@ This only affects the output of the command `ruby-toggle-block'."
))
(`(:before . ,(or "(" "[" "{"))
(cond
((and (not (eq ruby-bracketed-args-indent t))
(smie-rule-prev-p "," "(" "["))
(cons 'column (current-indentation)))
((and (equal token "{")
(not (smie-rule-prev-p "(" "{" "[" "," "=>" "=" "return" ";" "do"))
(save-excursion

View file

@ -842,6 +842,16 @@ a statement container is a node that matches
;; No paren/curly/brace found on the same line.
((< (treesit-node-start found) parent-bol)
parent-bol)
;; Nesting of brackets args.
((and
(not (eq ruby-bracketed-args-indent t))
(string-match-p "\\`array\\|hash\\'" (treesit-node-type parent))
(equal (treesit-node-parent parent) found)
;; Grandparent is not a parenless call.
(or (not (equal (treesit-node-type found) "argument_list"))
(equal (treesit-node-type (treesit-node-child found 0))
"(")))
parent-bol)
;; Hash or array opener on the same line.
((string-match-p "\\`array\\|hash\\'" (treesit-node-type found))
(save-excursion

View file

@ -257,7 +257,15 @@ a list of frames to update."
"Tab Bar mode map.")
(define-minor-mode tab-bar-mode
"Toggle the tab bar in all graphical frames (Tab Bar mode)."
"Toggle the tab bar in all graphical frames (Tab Bar mode).
When this mode is enabled, Emacs displays a tab bar on top of each frame.
The tab bar is a row of tabs -- buttons that you can click
to switch the frame between different window configurations.
See `current-window-configuration' for more about window configurations.
To add a button (which can then record one more window configuration),
click on the \"+\" button. Clicking on the \"x\" icon of a button
deletes the button."
:global t
;; It's defined in C/cus-start, this stops the d-m-m macro defining it again.
:variable tab-bar-mode
@ -1517,8 +1525,8 @@ in the same window to give information about the killed buffer."
(defun tab-bar-select-restore-windows (_frame windows _type)
"Display a placeholder buffer in the window whose buffer was killed.
A button in the window allows restoring the killed buffer,
if it was visiting a file."
There is a button in the window which you can press to restore the
killed buffer, if that buffer was visiting a file."
(dolist (quad windows)
(when (window-live-p (nth 0 quad))
(let* ((window (nth 0 quad))

View file

@ -1141,7 +1141,15 @@ However, return the correct mouse position list if EVENT is a
;;;###autoload
(define-minor-mode tab-line-mode
"Toggle display of tab line in the windows displaying the current buffer."
"Toggle display of tab line in the windows displaying the current buffer.
When this mode is enabled, each window displays a tab line on its
top screen line. The tab line is a row of tabs -- buttons which
you can click to have the window display the buffer whose name is
shown on the button. Clicking on the \"x\" icon of the button
removes the button (but does not kill the corresponding buffer).
In addition, the tab line shows a \"+\" button which adds a new
button, so you could have one more buffer shown on the tab line."
:lighter nil
(let ((default-value '(:eval (tab-line-format))))
;; Preserve the existing tab-line set outside of this mode

View file

@ -119,8 +119,8 @@
;;
;; FSF
;; Free Software Foundation
;; 51 Franklin Street, Fifth Floor
;; Boston, MA 02110-1301 USA.
;; 31 Milk Street, # 960789
;; Boston, MA 02196 USA.
;; (617) 542-5942
;; gnu@gnu.org
;;

View file

@ -1415,13 +1415,16 @@ enable gathering statistics."
(when fun
(mapcar
#'(lambda (sym)
(if (boundp sym)
`(add-hook (quote ,sym) (function ,fun))
`(add-hook
(quote ,(intern
(concat (symbol-name sym)
use-package-hook-name-suffix)))
(function ,fun))))
(let ((symname (symbol-name sym)))
(if (and (boundp sym)
;; Mode variables are usually bound, but
;; their hooks are named FOO-mode-hook.
(not (string-suffix-p "-mode" symname)))
`(add-hook (quote ,sym) (function ,fun))
`(add-hook
(quote ,(intern
(concat symname use-package-hook-name-suffix)))
(function ,fun)))))
(use-package-hook-handler-normalize-mode-symbols syms)))))
(use-package-normalize-commands args))))

View file

@ -1451,7 +1451,7 @@ This default should work without changes."
(ediff-abbreviate-file-name (file-name-directory dir))))
(defsubst ediff-nonempty-string-p (string)
(and (stringp string) (string-empty-p string)))
(and (stringp string) (not (string-empty-p string))))
(defun ediff-abbrev-jobname (jobname)
(cond ((eq jobname 'ediff-directories)

View file

@ -1459,9 +1459,9 @@ the file renames. The downsides is that the log produced this
way may omit certain (merge) commits, and that `log-view-diff'
fails on commits that used the previous name, in that log buffer.
When this variable is nil, and the log ends with a rename, we
show a button below that which allows showing the log for the
file name before the rename."
When this variable is nil, and the log ends with a rename, there is a
button which you can press to show the log for the file name before the
rename."
:type 'boolean
:version "26.1")

View file

@ -70,7 +70,7 @@ This makes it possible to shorten the delay for subsequent popups
in the same key sequence. The default is for this value to be
nil, which disables this behavior."
:type '(choice float (const :tag "Disabled" nil))
:package-version "1.0" :version "30.1")
:package-version '(which-key "1.0") :version "30.1")
(defcustom which-key-echo-keystrokes (if (and echo-keystrokes
(> (+ echo-keystrokes 0.01)
@ -83,7 +83,7 @@ This only applies if `which-key-popup-type' is minibuffer or
`which-key-idle-delay' or else the keystroke echo will erase the
which-key popup."
:type 'float
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-max-description-length 27
"Truncate the description of keys to this length.
@ -96,17 +96,17 @@ before. Truncation is done using `which-key-ellipsis'."
(integer :tag "Width in characters")
(float :tag "Use fraction of available width")
function)
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-min-column-description-width 0
"Every column should at least have this width."
:type 'natnum
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-add-column-padding 0
"Additional spaces to add to the left of each key column."
:type 'integer
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-unicode-correction 3
"Correction for wide unicode characters.
@ -122,7 +122,7 @@ additional ASCII character in the which-key buffer. Increase this
number if you are seeing characters get cutoff on the right side
of the which-key popup."
:type 'integer
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-dont-use-unicode t
"If non-nil, don't use any unicode characters in default setup.
@ -136,7 +136,7 @@ For affected settings, see `which-key-replacement-alist', `which-key-ellipsis'
(custom-reevaluate-setting sym))))
:initialize #'custom-initialize-changed
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-separator
(if which-key-dont-use-unicode " : " "")
@ -145,7 +145,7 @@ Default is \" → \", unless `which-key-dont-use-unicode' is non
nil, in which case the default is \" : \"."
:type 'string
:set-after '(which-key-dont-use-unicode)
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-ellipsis
(if which-key-dont-use-unicode ".." "")
@ -155,20 +155,20 @@ in which case the default is \"..\". This can also be the empty
string to truncate without using any ellipsis."
:type 'string
:set-after '(which-key-dont-use-unicode)
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-prefix-prefix "+"
"Prefix string to indicate a key bound to a keymap.
Default is \"+\"."
:type 'string
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-compute-remaps nil
"If non-nil, show remapped commands.
This applies to commands that have been remapped given the
currently active keymaps."
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-replacement-alist
`(((nil . "which-key-show-next-page-no-cycle") . (nil . "wk next pg"))
@ -211,7 +211,7 @@ non-nil value."
(choice regexp (const nil)))
:value-type (cons (choice string (const nil))
(choice string (const nil))))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-allow-multiple-replacements nil
"Allow a key binding to be modified by multiple elements.
@ -220,7 +220,7 @@ patterns in `which-key-replacement-alist'. When nil, only the
first match is used to perform replacements from
`which-key-replacement-alist'."
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-show-docstrings nil
"If non-nil, show each command's docstring in the which-key popup.
@ -233,7 +233,7 @@ you use this feature."
(const :tag "Do not show docstrings" nil)
(const :tag "Add docstring to command names" t)
(const :tag "Replace command name with docstring" docstring-only))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-extra-keymaps '(key-translation-map)
"List of extra keymaps to show entries from.
@ -242,7 +242,7 @@ The default is to check `key-translation-map', which contains the
:type '(choice (list :tag "Translation map" (const key-translation-map))
(const :tag "None" nil)
(repeat :tag "Custom" symbol))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-highlighted-command-list '()
"Rules used to highlight certain commands.
@ -252,7 +252,7 @@ matching command names and use
the element is a cons cell, it should take the form (regexp .
face to apply)."
:type '(repeat (choice string (cons regexp face)))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-special-keys '()
"These keys will automatically be truncated to one character.
@ -261,12 +261,12 @@ is disabled by default. An example configuration is
\(setq which-key-special-keys \\='(\"SPC\" \"TAB\" \"RET\" \"ESC\" \"DEL\")\)"
:type '(repeat string)
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-buffer-name " *which-key*"
"Name of which-key buffer."
:type 'string
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-show-prefix 'echo
"Whether to and where to display the current prefix sequence.
@ -278,7 +278,7 @@ and nil. nil turns the feature off."
(const :tag "In the echo area" echo)
(const :tag "In the mode-line" mode-line)
(const :tag "Hide" nil))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-popup-type 'side-window
"Supported types are minibuffer, side-window, frame, and custom."
@ -286,18 +286,18 @@ and nil. nil turns the feature off."
(const :tag "Show in side window" side-window)
(const :tag "Show in popup frame" frame)
(const :tag "Use your custom display functions" custom))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-min-display-lines 1
"Minimum number of horizontal lines to display in the which-key buffer."
:type 'integer
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-max-display-columns nil
"Maximum number of columns to display in the which-key buffer.
A value of nil means don't impose a maximum."
:type '(choice integer (const :tag "Unbounded" nil))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-side-window-location 'bottom
"Location of which-key popup when `which-key-popup-type' is side-window.
@ -311,7 +311,7 @@ location is tried."
(const top)
(const (right bottom))
(const (bottom right)))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-side-window-slot 0
"The `slot' to use for `display-buffer-in-side-window'.
@ -325,31 +325,31 @@ preceding (that is, above or on the left of) the middle slot. A
positive value means use a slot following (that is, below or on
the right of) the middle slot. The default is zero."
:type 'integer
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-side-window-max-width 0.333
"Maximum width of which-key popup when type is side-window.
This variable can also be a number between 0 and 1. In that case,
it denotes a percentage out of the frame's width."
:type 'float
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-side-window-max-height 0.25
"Maximum height of which-key popup when type is side-window.
This variable can also be a number between 0 and 1. In that case, it denotes
a percentage out of the frame's height."
:type 'float
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-frame-max-width 60
"Maximum width of which-key popup when type is frame."
:type 'natnum
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-frame-max-height 20
"Maximum height of which-key popup when type is frame."
:type 'natnum
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-allow-imprecise-window-fit (not (display-graphic-p))
"Allow which-key to use a simpler method for resizing the popup.
@ -359,13 +359,13 @@ this on may help.
See https://github.com/justbur/emacs-which-key/issues/130
and https://github.com/justbur/emacs-which-key/issues/225."
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-show-remaining-keys nil
"Show remaining keys in last slot, when keys are hidden."
:type '(radio (const :tag "Yes" t)
(const :tag "No" nil))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-sort-order #'which-key-key-order
"Order in which the key bindings are sorted.
@ -385,25 +385,25 @@ information."
(function-item which-key-description-order)
(function-item which-key-prefix-then-key-order)
(function-item which-key-local-then-key-order))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-sort-uppercase-first t
"If non-nil, uppercase comes before lowercase in sorting.
This applies to the function chosen in
`which-key-sort-order'. Otherwise, the order is reversed."
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-paging-prefixes '()
"Enable paging for these prefixes."
:type '(repeat string)
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-paging-key "<f5>"
"Key to use for changing pages.
Bound after each of the prefixes in `which-key-paging-prefixes'"
:type 'string
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
;; (defcustom which-key-undo-key nil
;; "Key (string) to use for undoing keypresses. Bound recursively
@ -422,7 +422,7 @@ Normally `help-char' after a prefix calls
`describe-prefix-bindings'. This changes that command to a
which-key paging command when `which-key-mode' is active."
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-show-early-on-C-h nil
"Allow \\`C-h' (`help-char') to trigger which-key popup before timer.
@ -438,7 +438,7 @@ using \\`C-h'.
Note that `which-key-idle-delay' should be set before turning on
`which-key-mode'."
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-preserve-window-configuration nil
"Save and restore window configuration around which-key popup display.
@ -448,7 +448,7 @@ prevents which-key from changing window position of visible
buffers. Only taken into account when popup type is
side-window."
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defvar which-key-C-h-map-prompt
(concat " \\<which-key-C-h-map>"
@ -516,7 +516,7 @@ of terminals issue META modifier for the Alt key.
See Info node `(emacs)Modifier Keys'."
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-delay-functions nil
"List of functions that may delay the which-key popup.
@ -532,7 +532,7 @@ this list to return a value is the value that is used.
The delay time is effectively added to the normal
`which-key-idle-delay'."
:type '(repeat function)
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-allow-regexps nil
"A list of regexp strings to use to filter key sequences.
@ -540,7 +540,7 @@ When non-nil, for a key sequence to trigger the which-key popup
it must match one of the regexps in this list. The format of the
key sequences is what is produced by `key-description'."
:type '(repeat regexp)
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-inhibit-regexps nil
"A list of regexp strings to use to filter key sequences.
@ -548,7 +548,7 @@ When non-nil, for a key sequence to trigger the which-key popup
it cannot match one of the regexps in this list. The format of
the key sequences is what is produced by `key-description'."
:type '(repeat regexp)
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-show-transient-maps nil
"Show keymaps created by `set-transient-map' when applicable.
@ -557,7 +557,7 @@ More specifically, detect when `overriding-terminal-local-map' is
set (this is the keymap used by `set-transient-map') and display
it."
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(make-obsolete-variable
'which-key-enable-extended-define-key
@ -568,7 +568,7 @@ it."
(defcustom which-key-init-buffer-hook '()
"Hook run when which-key buffer is initialized."
:type 'hook
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
;;;; Faces
@ -581,31 +581,31 @@ it."
'((t . (:inherit font-lock-constant-face)))
"Face for which-key keys."
:group 'which-key-faces
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defface which-key-separator-face
'((t . (:inherit font-lock-comment-face)))
"Face for the separator (default separator is an arrow)."
:group 'which-key-faces
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defface which-key-note-face
'((t . (:inherit which-key-separator-face)))
"Face for notes or hints occasionally provided."
:group 'which-key-faces
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defface which-key-command-description-face
'((t . (:inherit font-lock-function-name-face)))
"Face for the key description when it is a command."
:group 'which-key-faces
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defface which-key-local-map-description-face
'((t . (:inherit which-key-command-description-face)))
"Face for the key description when it is found in `current-local-map'."
:group 'which-key-faces
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defface which-key-highlighted-command-face
'((t . (:inherit (which-key-command-description-face highlight))))
@ -613,25 +613,25 @@ it."
A command is highlighted, when it matches a string in
`which-key-highlighted-command-list'."
:group 'which-key-faces
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defface which-key-group-description-face
'((t . (:inherit font-lock-keyword-face)))
"Face for the key description when it is a group or prefix."
:group 'which-key-faces
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defface which-key-special-key-face
'((t . (:inherit which-key-key-face :inverse-video t :weight bold)))
"Face for special keys (\\`SPC', \\`TAB', \\`RET')."
:group 'which-key-faces
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defface which-key-docstring-face
'((t . (:inherit which-key-note-face)))
"Face for docstrings."
:group 'which-key-faces
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
;;;; Custom popup
@ -642,14 +642,14 @@ return the maximum height in lines and width in characters of the
which-key popup in the form a cons cell (height . width)."
:group 'which-key
:type '(choice function (const nil))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-custom-hide-popup-function nil
"Set a custom hide-popup function.
It takes no arguments and the return value is ignored."
:group 'which-key
:type '(choice function (const nil))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-custom-show-popup-function nil
"Set a custom show-popup function.
@ -658,13 +658,13 @@ width) in lines and characters respectively. The return value is
ignored."
:group 'which-key
:type '(choice function (const nil))
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-lighter " WK"
"Minor mode lighter to use in the mode-line."
:group 'which-key
:type 'string
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defvar which-key-inhibit nil
"Prevent which-key from popping up momentarily.
@ -681,7 +681,7 @@ popup. If any function returns a non-nil value, the popup will
not display."
:group 'which-key
:type 'hook
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defvar which-key-keymap-history nil
"History of keymap selections.
@ -812,7 +812,7 @@ allow which-key to support packages that insert non-standard
`keys' into the key sequence being read by Emacs."
:group 'which-key
:type 'function
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
;;;; Evil
@ -826,7 +826,7 @@ setting this to non-nil will override this behavior for evil
operators."
:group 'which-key
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defcustom which-key-show-operator-state-maps nil
"Show the keys following an evil command that reads a motion.
@ -836,7 +836,7 @@ might be some valid keys missing and it might be showing some
invalid keys."
:group 'which-key
:type 'boolean
:package-version "1.0" :version "30.1")
:package-version '(which-key . "1.0") :version "30.1")
(defun which-key-evil-this-operator-p ()
(and which-key-allow-evil-operators
@ -948,6 +948,10 @@ given your settings)."
#'which-key--hide-popup-on-frame-size-change)
(which-key--stop-timer)))
;; Update `customize-package-emacs-version-alist'.
(add-to-list 'customize-package-emacs-version-alist
'(which-key ("1.0" . "30.1")))
(defun which-key--init-buffer ()
"Initialize which-key buffer."
(unless (buffer-live-p which-key--buffer)

View file

@ -171,4 +171,31 @@
4clojure 4clojure 1507 obsolete Open and evaluate 4clojure.com questions
")))))
(ert-deftest tabulated-list-groups-with-path ()
(with-temp-buffer
(tabulated-list-mode)
(setq tabulated-list-groups
(tabulated-list-groups
tabulated-list--test-entries
`( :path-function (lambda (entry)
(list (list (aref (cadr entry) 3))))
:sort-function (lambda (groups _level)
(sort groups :in-place t :key #'car)))))
(setq tabulated-list-format tabulated-list--test-format)
(setq tabulated-list-padding 7)
(tabulated-list-init-header)
(tabulated-list-print)
;; Basic printing.
(should (string-equal
(buffer-substring-no-properties (point-min) (point-max))
"\
* available
abc-mode abc-mode 944 available Major mode for editing abc music files
* installed
zzzz-game zzzz-game 2113 installed play zzzz in Emacs
mode mode 1128 installed A simple mode for editing Actionscript 3 files
* obsolete
4clojure 4clojure 1507 obsolete Open and evaluate 4clojure.com questions
"))))
;;; tabulated-list-tests.el ends here

View file

@ -133,10 +133,12 @@
(with-temp-buffer
(setq erc-networks--id (erc-networks--id-fixed-create 'oldest)
oldest (current-buffer))
(sleep-for 0.02)
(with-temp-buffer
(setq erc-networks--id (erc-networks--id-fixed-create 'middle)
middle (current-buffer))
(sleep-for 0.02)
(with-temp-buffer
(setq erc-networks--id (erc-networks--id-fixed-create 'newest)

View file

@ -0,0 +1,42 @@
foo
.update({
key => value,
other_key:
}, {
key => value,
other_key:
})
update([
1,
2
], [
3,
4
])
update([{
key: "value"
}, {
key: "value"
}])
update(arg1, {
foo: "bar"
}, [
1,
2
], arg2)
def foo
foo.update(
{
key => value,
other_key: foo
}
)
end
# Local Variables:
# ruby-bracketed-args-indent: nil
# End:

View file

@ -992,6 +992,7 @@ VALUES-PLIST is a list with alternating index and value elements."
(ruby-deftest-indent "ruby-method-call-indent.rb")
(ruby-deftest-indent "ruby-method-params-indent.rb")
(ruby-deftest-indent "ruby-parenless-call-arguments-indent.rb")
(ruby-deftest-indent "ruby-bracketed-args-indent.rb")
(ert-deftest ruby--test-chained-indentation ()
(with-temp-buffer

View file

@ -326,6 +326,7 @@ The whitespace before and including \"|\" on each line is removed."
(ruby-ts-deftest-indent "ruby-method-call-indent.rb")
(ruby-ts-deftest-indent "ruby-method-params-indent.rb")
(ruby-ts-deftest-indent "ruby-parenless-call-arguments-indent.rb")
(ruby-ts-deftest-indent "ruby-bracketed-args-indent.rb")
(provide 'ruby-ts-mode-tests)