1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 02:31:03 -08:00

Merge from origin/emacs-26

9bff405 (origin/emacs-26) * doc/misc/org.texi (Installation): Fix clo...
613c9a5 Update Org to v9.1.9
1b075a9 ; Fix some tiny doc typos
441fe20 De-obsolete `if-let' and `when-let'
8696038 * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
930f7b1 * doc/lispref/functions.texi (Defining Functions): Improve in...
95ccf50 Fix crash after frame is freed on macOS (bug#30800)
45d0475 More manual editing
2acb9f0 Minor manual changes changes
d481cba * lisp/calculator.el (calculator-paste-decimals): Add version.
7d6c7d0 ; Use GNU not Gnu in docs
1bc4def More proofreading of the Emacs manual

Conflicts:
	doc/misc/org.texi
	etc/NEWS
	lisp/org/org-clock.el
This commit is contained in:
Glenn Morris 2018-03-28 09:38:22 -07:00
commit 7d8234c0cb
135 changed files with 950 additions and 843 deletions

View file

@ -4161,7 +4161,7 @@ Return a list of the form ((TEST . VAR) ((VALUE BODY) ...))"
;; to be non-nil for generating tags for all cases. Since
;; `byte-compile-depth' will increase by at most 1 after compiling
;; all of the clause (which is further enforced by cl-assert below)
;; it should be safe to preserve it's value.
;; it should be safe to preserve its value.
(let ((byte-compile-depth byte-compile-depth))
(byte-compile-goto 'byte-goto default-tag))
@ -4179,7 +4179,7 @@ Return a list of the form ((TEST . VAR) ((VALUE BODY) ...))"
(let ((byte-compile-depth byte-compile-depth)
(init-depth byte-compile-depth))
;; Since `byte-compile-body' might increase `byte-compile-depth'
;; by 1, not preserving it's value will cause it to potentially
;; by 1, not preserving its value will cause it to potentially
;; increase by one for every clause body compiled, causing
;; depth/tag conflicts or violating asserts down the road.
;; To make sure `byte-compile-body' itself doesn't violate this,

View file

@ -207,7 +207,7 @@ MAP can be a list, hash-table or array."
(defun map-do (function map)
"Apply FUNCTION to each element of MAP and return nil.
FUNCTION.is called with two arguments, the key and the value."
FUNCTION is called with two arguments, the key and the value."
(funcall (map--dispatch map
:list #'map--do-alist
:hash-table #'maphash

View file

@ -123,15 +123,8 @@ If ELT is of the form ((EXPR)), listify (EXPR) with a dummy symbol."
(defmacro if-let* (varlist then &rest else)
"Bind variables according to VARLIST and eval THEN or ELSE.
Each binding is evaluated in turn, and evaluation stops if a
binding value is nil. If all are non-nil, the value of THEN is
returned, or the last form in ELSE is returned.
Each element of VARLIST is a list (SYMBOL VALUEFORM) which binds
SYMBOL to the value of VALUEFORM. An element can additionally
be of the form (VALUEFORM), which is evaluated and checked for
nil; i.e. SYMBOL can be omitted if only the test result is of
interest."
This is like `if-let' but doesn't handle a VARLIST of the form
\(SYMBOL SOMETHING) specially."
(declare (indent 2)
(debug ((&rest [&or symbolp (symbolp form) (form)])
form body)))
@ -144,11 +137,8 @@ interest."
(defmacro when-let* (varlist &rest body)
"Bind variables according to VARLIST and conditionally eval BODY.
Each binding is evaluated in turn, and evaluation stops if a
binding value is nil. If all are non-nil, the value of the last
form in BODY is returned.
VARLIST is the same as in `if-let*'."
This is like `when-let' but doesn't handle a VARLIST of the form
\(SYMBOL SOMETHING) specially."
(declare (indent 1) (debug if-let*))
(list 'if-let* varlist (macroexp-progn body)))
@ -168,12 +158,25 @@ are non-nil, then the result is non-nil."
(defmacro if-let (spec then &rest else)
"Bind variables according to SPEC and eval THEN or ELSE.
Like `if-let*' except SPEC can have the form (SYMBOL VALUEFORM)."
Each binding is evaluated in turn, and evaluation stops if a
binding value is nil. If all are non-nil, the value of THEN is
returned, or the last form in ELSE is returned.
Each element of SPEC is a list (SYMBOL VALUEFORM) which binds
SYMBOL to the value of VALUEFORM. An element can additionally be
of the form (VALUEFORM), which is evaluated and checked for nil;
i.e. SYMBOL can be omitted if only the test result is of
interest. It can also be of the form SYMBOL, then the binding of
SYMBOL is checked for nil.
As a special case, a SPEC of the form \(SYMBOL SOMETHING) is
interpreted like \((SYMBOL SOMETHING)). This exists for backward
compatibility with the old syntax that accepted only one
binding."
(declare (indent 2)
(debug ([&or (&rest [&or symbolp (symbolp form) (form)])
(symbolp form)]
form body))
(obsolete "use `if-let*' instead." "26.1"))
form body)))
(when (and (<= (length spec) 2)
(not (listp (car spec))))
;; Adjust the single binding case
@ -182,9 +185,12 @@ Like `if-let*' except SPEC can have the form (SYMBOL VALUEFORM)."
(defmacro when-let (spec &rest body)
"Bind variables according to SPEC and conditionally eval BODY.
Like `when-let*' except SPEC can have the form (SYMBOL VALUEFORM)."
(declare (indent 1) (debug if-let)
(obsolete "use `when-let*' instead." "26.1"))
Each binding is evaluated in turn, and evaluation stops if a
binding value is nil. If all are non-nil, the value of the last
form in BODY is returned.
The variable list SPEC is the same as in `if-let'."
(declare (indent 1) (debug if-let))
(list 'if-let spec (macroexp-progn body)))
(defsubst hash-table-empty-p (hash-table)