summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2016-08-05 14:06:59 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2016-08-05 14:06:59 -0700
commit80fcf41d31ae2a4815a1cb63bf08a88a3c7910b5 (patch)
tree6fd85620c6a3ae3667720695cfc42c659b665f64
parent8d9ad899f11ec2a6763617ba069fdaf3889ac4e1 (diff)
parent850ba444a7be542c8dc92efbeb4031868f3f779d (diff)
downloademacs-80fcf41d31ae2a4815a1cb63bf08a88a3c7910b5.tar.gz
Merge from origin/emacs-25
850ba44 Clarify lexical binding with symbol args behavior f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix. 68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix. (Bug#23... 21110af Avoid assertion violations when rendering some fonts 6192b6c Document more details of package activation 272ddc6 Fixup warning message regarding HOME a bit more 43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic... d41f7ff Fix input method "probhat" for Bengali c150a64 ; Fix typo in commit before last ebf0472 Add to elisp-completion-at-point's docstring fd9fad0 Give more helpful warning about setting HOME ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde... # Conflicts: # lisp/term.el
-rw-r--r--doc/emacs/package.texi10
-rw-r--r--doc/lispref/variables.texi14
-rw-r--r--lisp/leim/quail/indian.el4
-rw-r--r--lisp/net/tramp-sh.el8
-rw-r--r--lisp/progmodes/elisp-mode.el8
-rw-r--r--src/dispextern.h3
-rw-r--r--src/w32.c11
7 files changed, 37 insertions, 21 deletions
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi
index 3c099838059..5662c857de9 100644
--- a/doc/emacs/package.texi
+++ b/doc/emacs/package.texi
@@ -238,10 +238,12 @@ controlled by the value of @code{package-menu-hide-low-priority}.)
Once a package is downloaded and installed, it is @dfn{loaded} into
the current Emacs session. Loading a package is not quite the same as
-loading a Lisp library (@pxref{Lisp Libraries}); its effect varies
-from package to package. Most packages just make some new commands
-available, while others have more wide-ranging effects on the Emacs
-session. For such information, consult the package's help buffer.
+loading a Lisp library (@pxref{Lisp Libraries}); loading a package
+adds its directory to @code{load-path} and loads its autoloads. The
+effect of a package's autoloads varies from package to package. Most
+packages just make some new commands available, while others have more
+wide-ranging effects on the Emacs session. For such information,
+consult the package's help buffer.
By default, Emacs also automatically loads all installed packages in
subsequent Emacs sessions. This happens at startup, after processing
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index dd3f18be4e1..418a4161a7a 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -974,7 +974,7 @@ itself.
@cindex lexical environment
Here is how lexical binding works. Each binding construct defines a
-@dfn{lexical environment}, specifying the symbols that are bound
+@dfn{lexical environment}, specifying the variables that are bound
within the construct and their local values. When the Lisp evaluator
wants the current value of a variable, it looks first in the lexical
environment; if the variable is not specified in there, it looks in
@@ -1032,11 +1032,13 @@ lives on even after the @code{let} binding construct has exited. Each
time we evaluate the closure, it increments @code{x}, using the
binding of @code{x} in that lexical environment.
- Note that functions like @code{symbol-value}, @code{boundp}, and
-@code{set} only retrieve or modify a variable's dynamic binding
-(i.e., the contents of its symbol's value cell). Also, the code in
-the body of a @code{defun} or @code{defmacro} cannot refer to
-surrounding lexical variables.
+ Note that unlike dynamic variables which are tied to the symbol
+object itself, the relationship between lexical variables and symbols
+is only present in the interpreter (or compiler). Therefore,
+functions which take a symbol argument (like @code{symbol-value},
+@code{boundp}, and @code{set}) can only retrieve or modify a
+variable's dynamic binding (i.e., the contents of its symbol's value
+cell).
@node Using Lexical Binding
@subsection Using Lexical Binding
diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el
index d9438a20434..728e3529218 100644
--- a/lisp/leim/quail/indian.el
+++ b/lisp/leim/quail/indian.el
@@ -472,8 +472,8 @@ Full key sequences are listed below:")
;; Probhat Input Method
(quail-define-package
- "probhat" "Bengali-probhat" "probhat" t
- "Porbhat for Bangla" nil t nil nil nil nil nil nil nil nil t)
+ "bengali-probhat" "Bengali" "BngPB" t
+ "Probhat keyboard for Bengali/Bangla" nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
("!" ?!)
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 62bf1a6c081..f79394ac9b7 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -529,13 +529,15 @@ tilde expansion, all directory names starting with `~' will be ignored.
`Default Directories' represent the list of directories given by
the command \"getconf PATH\". It is recommended to use this
-entry on top of this list, because these are the default
+entry on head of this list, because these are the default
directories for POSIX compatible commands. On remote hosts which
do not offer the getconf command (like cygwin), the value
-\"/bin:/usr/bin\" is used instead of.
+\"/bin:/usr/bin\" is used instead. This entry is represented in
+the list by the special value `tramp-default-remote-path'.
`Private Directories' are the settings of the $PATH environment,
-as given in your `~/.profile'."
+as given in your `~/.profile'. This entry is represented in
+the list by the special value `tramp-own-remote-path'."
:group 'tramp
:type '(repeat (choice
(const :tag "Default Directories" tramp-default-remote-path)
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 2fbd60db0dd..49d39126c05 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -452,7 +452,13 @@ It can be quoted, or be inside a quoted form."
((facep sym) (find-definition-noselect sym 'defface)))))
(defun elisp-completion-at-point ()
- "Function used for `completion-at-point-functions' in `emacs-lisp-mode'."
+ "Function used for `completion-at-point-functions' in `emacs-lisp-mode'.
+If the context at point allows only a certain category of
+symbols (e.g. functions, or variables) then the returned
+completions are restricted to that category. In contexts where
+any symbol is possible (following a quote, for example),
+functions are annotated with \"<f>\" via the
+`:annotation-function' property."
(with-syntax-table emacs-lisp-mode-syntax-table
(let* ((pos (point))
(beg (condition-case nil
diff --git a/src/dispextern.h b/src/dispextern.h
index 1325ff9da28..f2c42de6cd2 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -1542,7 +1542,8 @@ struct glyph_string
large vertical space. The heuristics is in the factor of 3. We
ignore the ascent and descent values reported by such fonts, and
instead go by the values reported for individual glyphs. */
-#define FONT_TOO_HIGH(ft) ((ft)->ascent + (ft)->descent > 3*(ft)->pixel_size)
+#define FONT_TOO_HIGH(ft) \
+ ((ft)->pixel_size > 0 && (ft)->ascent + (ft)->descent > 3*(ft)->pixel_size)
/***********************************************************************
diff --git a/src/w32.c b/src/w32.c
index 71a38b91946..1db34260978 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -2822,10 +2822,13 @@ init_environment (char ** argv)
}
if (strcmp (env_vars[i].name, "HOME") == 0 && !appdata)
Vdelayed_warnings_list
- = Fcons (listn (CONSTYPE_HEAP, 2,
- intern ("initialization"),
- build_string ("Setting HOME to C:\\ by default is deprecated")),
- Vdelayed_warnings_list);
+ = Fcons
+ (listn (CONSTYPE_HEAP, 2,
+ intern ("initialization"), build_string
+ ("Use of `C:\\.emacs' without defining `HOME'\n"
+ "in the environment is deprecated, "
+ "see `Windows HOME' in the Emacs manual.")),
+ Vdelayed_warnings_list);
}
if (lpval)