mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-24 06:20:43 -08:00
Merge remote-tracking branch 'savannah/master' into HEAD
This commit is contained in:
commit
75e8ee728f
134 changed files with 8466 additions and 3242 deletions
|
|
@ -1147,12 +1147,14 @@
|
|||
(let ((side-effect-free-fns
|
||||
'(% * + - / /= 1+ 1- < <= = > >= abs acos append aref ash asin atan
|
||||
assq
|
||||
bool-vector-count-consecutive bool-vector-count-population
|
||||
bool-vector-subsetp
|
||||
boundp buffer-file-name buffer-local-variables buffer-modified-p
|
||||
buffer-substring byte-code-function-p
|
||||
capitalize car-less-than-car car cdr ceiling char-after char-before
|
||||
char-equal char-to-string char-width compare-strings
|
||||
compare-window-configurations concat coordinates-in-window-p
|
||||
copy-alist copy-sequence copy-marker cos count-lines
|
||||
copy-alist copy-sequence copy-marker copysign cos count-lines
|
||||
current-time-string current-time-zone
|
||||
decode-char
|
||||
decode-time default-boundp default-value documentation downcase
|
||||
|
|
@ -1165,22 +1167,22 @@
|
|||
frame-visible-p fround ftruncate
|
||||
get gethash get-buffer get-buffer-window getenv get-file-buffer
|
||||
hash-table-count
|
||||
int-to-string intern-soft
|
||||
int-to-string intern-soft isnan
|
||||
keymap-parent
|
||||
length line-beginning-position line-end-position
|
||||
lax-plist-get ldexp length line-beginning-position line-end-position
|
||||
local-variable-if-set-p local-variable-p locale-info
|
||||
log log10 logand logb logcount logior lognot logxor lsh
|
||||
make-byte-code make-list make-string make-symbol marker-buffer max
|
||||
member memq min minibuffer-selected-window minibuffer-window
|
||||
member memq memql min minibuffer-selected-window minibuffer-window
|
||||
mod multibyte-char-to-unibyte next-window nth nthcdr number-to-string
|
||||
parse-colon-path plist-get plist-member
|
||||
prefix-numeric-value previous-window prin1-to-string propertize
|
||||
degrees-to-radians
|
||||
radians-to-degrees rassq rassoc read-from-string regexp-quote
|
||||
region-beginning region-end reverse round
|
||||
radians-to-degrees rassq rassoc read-from-string regexp-opt
|
||||
regexp-quote region-beginning region-end reverse round
|
||||
sin sqrt string string< string= string-equal string-lessp
|
||||
string-search string-to-char
|
||||
string-to-number substring
|
||||
string-to-number string-to-syntax substring
|
||||
sxhash sxhash-equal sxhash-eq sxhash-eql
|
||||
symbol-function symbol-name symbol-plist symbol-value string-make-unibyte
|
||||
string-make-multibyte string-as-multibyte string-as-unibyte
|
||||
|
|
@ -1230,7 +1232,7 @@
|
|||
standard-case-table standard-syntax-table stringp subrp symbolp
|
||||
syntax-table syntax-table-p
|
||||
this-command-keys this-command-keys-vector this-single-command-keys
|
||||
this-single-command-raw-keys
|
||||
this-single-command-raw-keys type-of
|
||||
user-real-login-name user-real-uid user-uid
|
||||
vector vectorp visible-frame-list
|
||||
wholenump window-configuration-p window-live-p
|
||||
|
|
@ -1262,7 +1264,7 @@
|
|||
'(concat regexp-opt regexp-quote
|
||||
string-to-char string-to-syntax symbol-name
|
||||
eq eql
|
||||
= /= < <= => > min max
|
||||
= /= < <= >= > min max
|
||||
+ - * / % mod abs ash 1+ 1- sqrt
|
||||
logand logior lognot logxor logcount
|
||||
copysign isnan ldexp float logb
|
||||
|
|
@ -1270,7 +1272,7 @@
|
|||
ffloor fceiling fround ftruncate
|
||||
string= string-equal string< string-lessp
|
||||
string-search
|
||||
consp atom listp nlistp propert-list-p
|
||||
consp atom listp nlistp proper-list-p
|
||||
sequencep arrayp vectorp stringp bool-vector-p hash-table-p
|
||||
null not
|
||||
numberp integerp floatp natnump characterp
|
||||
|
|
|
|||
|
|
@ -201,8 +201,11 @@ the elements themselves.
|
|||
|
||||
;;;###autoload
|
||||
(defun cl-some (cl-pred cl-seq &rest cl-rest)
|
||||
"Return true if PREDICATE is true of any element of SEQ or SEQs.
|
||||
If so, return the true (non-nil) value returned by PREDICATE.
|
||||
"Say whether PREDICATE is true for any element in the SEQ sequences.
|
||||
More specifically, the return value of this function will be the
|
||||
same as the first return value of PREDICATE where PREDICATE has a
|
||||
non-nil value.
|
||||
|
||||
\n(fn PREDICATE SEQ...)"
|
||||
(if (or cl-rest (nlistp cl-seq))
|
||||
(catch 'cl-some
|
||||
|
|
|
|||
|
|
@ -84,10 +84,13 @@ replacing its case-insensitive matches with the literal string in LIGHTER."
|
|||
(defconst easy-mmode--arg-docstring
|
||||
"
|
||||
|
||||
If called interactively, enable %s if ARG is positive, and
|
||||
disable it if ARG is zero or negative. If called from Lisp,
|
||||
also enable the mode if ARG is omitted or nil, and toggle it
|
||||
if ARG is `toggle'; disable the mode otherwise.
|
||||
If called interactively, toggle `%s'. If the prefix argument is
|
||||
positive, enable the mode, and if it is zero or negative, disable
|
||||
the mode.
|
||||
|
||||
If called from Lisp, toggle the mode if ARG is `toggle'.
|
||||
Enable the mode if ARG is nil, omitted, or is a positive number.
|
||||
Disable the mode if ARG is a negative number.
|
||||
|
||||
The mode's hook is called both when the mode is enabled and when
|
||||
it is disabled.")
|
||||
|
|
@ -301,13 +304,18 @@ or call the function `%s'."))))
|
|||
,(easy-mmode--mode-docstring doc pretty-name keymap-sym)
|
||||
;; Use `toggle' rather than (if ,mode 0 1) so that using
|
||||
;; repeat-command still does the toggling correctly.
|
||||
(interactive (list (or current-prefix-arg 'toggle)))
|
||||
(interactive (list (if current-prefix-arg
|
||||
(prefix-numeric-value current-prefix-arg)
|
||||
'toggle)))
|
||||
(let ((,last-message (current-message)))
|
||||
(,@setter
|
||||
(if (eq arg 'toggle)
|
||||
(not ,getter)
|
||||
;; A nil argument also means ON now.
|
||||
(> (prefix-numeric-value arg) 0)))
|
||||
(cond ((eq arg 'toggle)
|
||||
(not ,getter))
|
||||
((and (numberp arg)
|
||||
(< arg 1))
|
||||
nil)
|
||||
(t
|
||||
t)))
|
||||
,@body
|
||||
;; The on/off hooks are here for backward compatibility only.
|
||||
(run-hooks ',hook (if ,getter ',hook-on ',hook-off))
|
||||
|
|
|
|||
|
|
@ -363,18 +363,19 @@ convert it to a string and pass it to COLLECTOR first."
|
|||
|
||||
;; Has to be a macro for `load-file-name'.
|
||||
(defmacro ert-resource-directory ()
|
||||
"Return absolute file name of the resource directory for this file.
|
||||
"Return absolute file name of the resource (test data) directory.
|
||||
|
||||
The path to the resource directory is the \"resources\" directory
|
||||
in the same directory as the test file.
|
||||
in the same directory as the test file this is called from.
|
||||
|
||||
If that directory doesn't exist, use the directory named like the
|
||||
test file but formatted by `ert-resource-directory-format' and trimmed
|
||||
using `string-trim' with arguments
|
||||
If that directory doesn't exist, find a directory based on the
|
||||
test file name. If the file is named \"foo-tests.el\", return
|
||||
the absolute file name for \"foo-resources\". If you want a
|
||||
different resource directory naming scheme, set the variable
|
||||
`ert-resource-directory-format'. Before formatting, the file
|
||||
name will be trimmed using `string-trim' with arguments
|
||||
`ert-resource-directory-trim-left-regexp' and
|
||||
`ert-resource-directory-trim-right-regexp'. The default values mean
|
||||
that if called from a test file named \"foo-tests.el\", return
|
||||
the absolute file name for \"foo-resources\"."
|
||||
`ert-resource-directory-trim-right-regexp'."
|
||||
`(let* ((testfile ,(or (bound-and-true-p byte-compile-current-file)
|
||||
(and load-in-progress load-file-name)
|
||||
buffer-file-name))
|
||||
|
|
|
|||
|
|
@ -178,13 +178,16 @@
|
|||
|
||||
(defun lisp--match-hidden-arg (limit)
|
||||
(let ((res nil))
|
||||
(forward-line 0)
|
||||
(while
|
||||
(let ((ppss (parse-partial-sexp (line-beginning-position)
|
||||
(let ((ppss (parse-partial-sexp (point)
|
||||
(line-end-position)
|
||||
-1)))
|
||||
(skip-syntax-forward " )")
|
||||
(if (or (>= (car ppss) 0)
|
||||
(looking-at ";\\|$"))
|
||||
(eolp)
|
||||
(looking-at ";")
|
||||
(nth 8 (syntax-ppss))) ;Within a string or comment.
|
||||
(progn
|
||||
(forward-line 1)
|
||||
(< (point) limit))
|
||||
|
|
@ -478,7 +481,8 @@ This will generate compile-time constants from BINDINGS."
|
|||
(3 'font-lock-regexp-grouping-construct prepend))
|
||||
(lisp--match-hidden-arg
|
||||
(0 '(face font-lock-warning-face
|
||||
help-echo "Hidden behind deeper element; move to another line?")))
|
||||
help-echo "Hidden behind deeper element; move to another line?")
|
||||
prepend))
|
||||
(lisp--match-confusable-symbol-character
|
||||
0 '(face font-lock-warning-face
|
||||
help-echo "Confusable character"))
|
||||
|
|
@ -522,7 +526,8 @@ This will generate compile-time constants from BINDINGS."
|
|||
(1 font-lock-keyword-face))
|
||||
(lisp--match-hidden-arg
|
||||
(0 '(face font-lock-warning-face
|
||||
help-echo "Hidden behind deeper element; move to another line?")))
|
||||
help-echo "Hidden behind deeper element; move to another line?")
|
||||
prepend))
|
||||
))
|
||||
"Gaudy level highlighting for Lisp modes.")))
|
||||
|
||||
|
|
|
|||
|
|
@ -982,7 +982,8 @@ untar into a directory named DIR; otherwise, signal an error."
|
|||
(write-region
|
||||
(concat
|
||||
";;; Generated package description from "
|
||||
(replace-regexp-in-string "-pkg\\.el\\'" ".el" pkg-file)
|
||||
(replace-regexp-in-string "-pkg\\.el\\'" ".el"
|
||||
(file-name-nondirectory pkg-file))
|
||||
" -*- no-byte-compile: t -*-\n"
|
||||
(prin1-to-string
|
||||
(nconc
|
||||
|
|
|
|||
|
|
@ -269,42 +269,48 @@ Populated by `tabulated-list-init-header'.")
|
|||
;; FIXME: Should share code with tabulated-list-print-col!
|
||||
(let ((x (max tabulated-list-padding 0))
|
||||
(button-props `(help-echo "Click to sort by column"
|
||||
mouse-face header-line-highlight
|
||||
keymap ,tabulated-list-sort-button-map))
|
||||
mouse-face header-line-highlight
|
||||
keymap ,tabulated-list-sort-button-map))
|
||||
(len (length tabulated-list-format))
|
||||
(cols nil))
|
||||
(if display-line-numbers
|
||||
(setq x (+ x (tabulated-list-line-number-width))))
|
||||
(push (propertize " " 'display `(space :align-to ,x)) cols)
|
||||
(dotimes (n (length tabulated-list-format))
|
||||
(dotimes (n len)
|
||||
(let* ((col (aref tabulated-list-format n))
|
||||
(not-last-col (< n (1- len)))
|
||||
(label (nth 0 col))
|
||||
(lablen (length label))
|
||||
(pname label)
|
||||
(width (nth 1 col))
|
||||
(props (nthcdr 3 col))
|
||||
(pad-right (or (plist-get props :pad-right) 1))
|
||||
(right-align (plist-get props :right-align))
|
||||
(next-x (+ x pad-right width)))
|
||||
(when (and (>= lablen 3) (> lablen width) not-last-col)
|
||||
(setq label (truncate-string-to-width label (- lablen 1) nil nil t)))
|
||||
(push
|
||||
(cond
|
||||
;; An unsortable column
|
||||
((not (nth 2 col))
|
||||
(propertize label 'tabulated-list-column-name label))
|
||||
(propertize label 'tabulated-list-column-name pname))
|
||||
;; The selected sort column
|
||||
((equal (car col) (car tabulated-list-sort-key))
|
||||
(apply 'propertize
|
||||
(concat label
|
||||
(cond
|
||||
((> (+ 2 (length label)) width) "")
|
||||
((cdr tabulated-list-sort-key)
|
||||
(concat label
|
||||
(cond
|
||||
((and (< lablen 3) not-last-col) "")
|
||||
((cdr tabulated-list-sort-key)
|
||||
(format " %c"
|
||||
tabulated-list-gui-sort-indicator-desc))
|
||||
(t (format " %c"
|
||||
(t (format " %c"
|
||||
tabulated-list-gui-sort-indicator-asc))))
|
||||
'face 'bold
|
||||
'tabulated-list-column-name label
|
||||
button-props))
|
||||
'face 'bold
|
||||
'tabulated-list-column-name pname
|
||||
button-props))
|
||||
;; Unselected sortable column.
|
||||
(t (apply 'propertize label
|
||||
'tabulated-list-column-name label
|
||||
'tabulated-list-column-name pname
|
||||
button-props)))
|
||||
cols)
|
||||
(when right-align
|
||||
|
|
|
|||
|
|
@ -95,8 +95,8 @@
|
|||
(setq-local revert-buffer-function #'list-timers)
|
||||
(setq tabulated-list-format
|
||||
'[("Idle" 6 timer-list--idle-predicate)
|
||||
(" Next" 12 timer-list--next-predicate)
|
||||
(" Repeat" 12 timer-list--repeat-predicate)
|
||||
("Next" 12 timer-list--next-predicate :right-align t :pad-right 1)
|
||||
("Repeat" 12 timer-list--repeat-predicate :right-align t :pad-right 1)
|
||||
("Function" 10 timer-list--function-predicate)]))
|
||||
|
||||
(defun timer-list--idle-predicate (A B)
|
||||
|
|
@ -121,7 +121,7 @@
|
|||
(string< rA rB)))
|
||||
|
||||
(defun timer-list--function-predicate (A B)
|
||||
"Predicate to sort Timer-List by the Next column."
|
||||
"Predicate to sort Timer-List by the Function column."
|
||||
(let ((fA (aref (cadr A) 3))
|
||||
(fB (aref (cadr B) 3)))
|
||||
(string< fA fB)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue