diff --git a/admin/authors.el b/admin/authors.el index e02ce550ac3..436efd80613 100644 --- a/admin/authors.el +++ b/admin/authors.el @@ -264,6 +264,7 @@ files.") ;; There are other Stefans. ;;; ("Stefan Monnier" "Stefan") (nil "ssnnoo") + ("Stephane Marks" "shipmints@gmail\\.com") ("Steven L. Baur" "SL Baur" "Steven L Baur") ("Stewart M. Clamen" "Stewart Clamen") (nil "StrawberryTea" "look@strawberrytea\\.xyz") @@ -278,7 +279,7 @@ files.") ("Thomas Dye" "Tom Dye") ("Thomas Horsley" "Tom Horsley") ; FIXME ? ("Thomas Wurgler" "Tom Wurgler") - (nil "thuna\\.cing@gmail\\.com") + ("Umut Thuna Akgul" "thuna\\.cing@gmail\\.com") ("Toby Cubitt" "Toby S\\. Cubitt") ("Tomohiko Morioka" "MORIOKA Tomohiko") ("Torbjörn Axelsson" "Torbjvrn Axelsson") diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 97ad7c6b7fa..c285cd1c683 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -2459,6 +2459,14 @@ results in any way. This is almost the same as using @code{concat}, but @var{dirname} (and the non-final components) may or may not end with slash characters, and this function will not double those characters. + +In most cases, one or more calls to @code{expand-file-name} (@pxref{File +Name Expansion} are better suited for the job of generating file names +with leading directories than this function. Use this function only if +some of the special features of @code{expand-file-name} get in the way +of what your program needs to do. For example, the special handling by +@code{expand-file-name} of @file{~}, @file{~@var{user}}, and @code{nil}, +or the removal of @file{.} and @file{..} might not be what you want. @end defun To convert a directory name to its abbreviation, use this diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 3d123a41c8d..89ccb8ea740 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi @@ -499,33 +499,37 @@ initializes it only if it is originally void. Definitions}. @defspec defvar symbol [value [doc-string]] -This special form defines @var{symbol} as a variable. Note that -@var{symbol} is not evaluated; the symbol to be defined should appear -explicitly in the @code{defvar} form. The variable is marked as -@dfn{special}, meaning that it should always be dynamically bound +This special form defines @var{symbol} as a variable and optionally +initializes and documents it. Note that it doesn't evaluate +@var{symbol}; the symbol to be defined should appear explicitly in the +@code{defvar} form. @code{defvar} also marks @var{symbol} as +@dfn{special}, meaning that its bindings should always be dynamic (@pxref{Variable Scoping}). If @var{value} is specified, and @var{symbol} is void (i.e., it has no -dynamically bound value; @pxref{Void Variables}), then @var{value} is -evaluated and @var{symbol} is set to the result. But if @var{symbol} -is not void, @var{value} is not evaluated, and @var{symbol}'s value is -left unchanged. If @var{value} is omitted, the value of @var{symbol} -is not changed in any case. +dynamically bound value; @pxref{Void Variables}), then @code{defvar} +evaluates @var{value}, and initializes @var{symbol} by setting it to the +result of the evaluation. But if @var{symbol} is not void, +@code{defvar} does not evaluate @var{value}, and leaves @var{symbol}'s +value unchanged. If @var{value} is omitted, @code{defvar} doesn't +change the value of @var{symbol} in any case. Note that specifying a value, even @code{nil}, marks the variable as -special permanently. Whereas if @var{value} is omitted then the -variable is only marked special locally (i.e.@: within the current -lexical scope, or file if at the top-level). This can be useful for -suppressing byte compilation warnings, see @ref{Compiler Errors}. +special permanently. Whereas if @var{value} is omitted, then +@code{defvar} marks the variable special only locally (i.e.@: within the +current lexical scope, or within the current file, if @code{defvar} is +at the top-level). This can be useful for suppressing byte compilation +warnings, see @ref{Compiler Errors}. -If @var{symbol} has a buffer-local binding in the current buffer, -@code{defvar} acts on the default value, which is buffer-independent, -rather than the buffer-local binding. It sets the default value if -the default value is void. @xref{Buffer-Local Variables}. +If @var{symbol} has a buffer-local binding in the current buffer, and +@var{value} is specified, @code{defvar} modifies the default value of +@var{symbol}, which is buffer-independent, rather than the buffer-local +binding. It sets the default value if the default value is void. +@xref{Buffer-Local Variables}. -If @var{symbol} is already let bound (e.g., if the @code{defvar} -form occurs in a @code{let} form), then @code{defvar} sets the toplevel -default value, like @code{set-default-toplevel-value}. +If @var{symbol} is already let bound (e.g., if the @code{defvar} form +occurs in a @code{let} form), then @code{defvar} sets the toplevel +default value of @var{symbol}, like @code{set-default-toplevel-value}. The let binding remains in effect until its binding construct exits. @xref{Variable Scoping}. diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el index ba5edd4bdc1..0551ca2676d 100644 --- a/lisp/gnus/gnus-score.el +++ b/lisp/gnus/gnus-score.el @@ -119,11 +119,11 @@ the `a' symbolic prefix to the score commands will always use (function-item gnus-score-find-hierarchical) (function-item gnus-score-find-bnews) (repeat :tag "List of functions" - (choice (function :tag "Other" :value 'ignore) + (choice (function :tag "Other" :value ignore) (function-item gnus-score-find-single) (function-item gnus-score-find-hierarchical) (function-item gnus-score-find-bnews))) - (function :tag "Other" :value 'ignore))) + (function :tag "Other" :value ignore))) (defcustom gnus-score-interactive-default-score 1000 "Scoring commands will raise/lower the score with this number as the default." diff --git a/src/fileio.c b/src/fileio.c index cdf57618af1..7e1ac3fc383 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -847,6 +847,10 @@ Each element in COMPONENTS must be a string or nil. DIRECTORY or the non-final elements in COMPONENTS may or may not end with a slash -- if they don't end with a slash, a slash will be inserted before concatenating. +In most cases, one or more calls to `expand-file-name' are better +suited for the job than this function. Use this function only if +some of the special expansions done by `expand-file-name' get in +the way of what your program needs to do. usage: (file-name-concat DIRECTORY &rest COMPONENTS) */) (ptrdiff_t nargs, Lisp_Object *args) {