emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master caa4d9c 1/4: Merge from origin/emacs-26


From: Glenn Morris
Subject: [Emacs-diffs] master caa4d9c 1/4: Merge from origin/emacs-26
Date: Fri, 10 Aug 2018 14:37:21 -0400 (EDT)

branch: master
commit caa4d9c4e7205cc62a9f414903e965494a703763
Merge: 243b68f 5afbf62
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>

    Merge from origin/emacs-26
    
    5afbf62 Fix emacsclient check for term.el buffer (Bug#21041)
    5132a58 Improve documentation of 'set-fontset-font'
    cd90325 Improve documentation of M-?
    155a885 Reinterpret Esperanto characters in iso-transl as iso-8859-3.
    a0ef733 Fix Flyspell mode when several languages are mixed in a buffer
---
 doc/emacs/maintaining.texi       | 11 ++++++++---
 doc/lispref/display.texi         | 14 +++++++++-----
 lib-src/emacsclient.c            |  4 +++-
 lisp/international/iso-transl.el | 24 ++++++++++++------------
 lisp/progmodes/xref.el           |  6 +++++-
 lisp/textmodes/flyspell.el       | 37 +++++++++++++++++++++++++++++++------
 src/fontset.c                    | 27 +++++++++++++++------------
 7 files changed, 83 insertions(+), 40 deletions(-)

diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index b31cacf..5c3017a 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -1987,9 +1987,14 @@ Restart one of the last 2 commands above, from the 
current location of point.
 
 @kindex M-?
 @findex xref-find-references
-  @kbd{M-?} finds all the references for the identifier at point.  If
-there's no identifier at point, or when invoked with a prefix
-argument, the command prompts for the identifier, with completion.  It
+  @kbd{M-?} finds all the references for the identifier at point,
+prompting for the identifier as needed, with completion.  Depending on
+the current backend (@pxref{Xref}), the command may prompt even if it
+finds a valid identifier at point.  When invoked with a prefix
+argument, it always prompts for the identifier.  (If you want it to
+prompt always, customize the value of the variable
address@hidden to @code{t}; or set it to @code{nil}
+to prompt only if there's no usable identifier at point.)  The command
 then presents the @file{*xref*} buffer with all the references to the
 identifier, showing the file name and the line where the identifier is
 referenced.  The XREF mode commands are available in this buffer, see
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index fef5188..ea9a305 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -3498,11 +3498,15 @@ cons @code{(@var{from} . @var{to})}, where @var{from} 
and @var{to} are
 character codepoints.  In that case, use @var{font-spec} for all the
 characters in the range @var{from} and @var{to} (inclusive).
 
address@hidden may be a charset.  In that case, use
address@hidden for all character in the charsets.
address@hidden may be a charset (@pxref{Character Sets}).  In that
+case, use @var{font-spec} for all the characters in the charset.
 
address@hidden may be a script name.  In that case, use
address@hidden for all character in the charsets.
address@hidden may be a script name (@pxref{Character Properties}).
+In that case, use @var{font-spec} for all the characters belonging to
+the script.
+
address@hidden may be @code{nil}, which means to use @var{font-spec}
+for any character which no font-spec is specified.
 
 @var{font-spec} may be a font-spec object created by the function
 @code{font-spec} (@pxref{Low-Level Font}).
@@ -3512,7 +3516,7 @@ where @var{family} is a family name of a font (possibly 
including a
 foundry name at the head), @var{registry} is a registry name of a font
 (possibly including an encoding name at the tail).
 
address@hidden may be a font name string.
address@hidden may be a font name, a string.
 
 @var{font-spec} may be @code{nil}, which explicitly specifies that
 there's no font for the specified @var{character}.  This is useful,
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 739e6d5..4fe3a58 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -1117,7 +1117,9 @@ find_tty (const char **tty_type, const char **tty_name, 
int noabort)
        }
     }
 
-  if (strcmp (type, "eterm") == 0)
+  const char *inside_emacs = egetenv ("INSIDE_EMACS");
+  if (inside_emacs && strstr (inside_emacs, ",term:")
+      && strprefix ("eterm", type))
     {
       if (noabort)
        return 0;
diff --git a/lisp/international/iso-transl.el b/lisp/international/iso-transl.el
index 1af5c64..0856b4f 100644
--- a/lisp/international/iso-transl.el
+++ b/lisp/international/iso-transl.el
@@ -234,18 +234,18 @@ sequence VECTOR.  (VECTOR is normally one character 
long.)")
 ;; Language-specific translation lists.
 (defvar iso-transl-language-alist
   '(("Esperanto"
-     ("C"  . [?Æ])
-     ("G"  . [?Ø])
-     ("H"  . [?¦])
-     ("J"  . [?¬])
-     ("S"  . [?Þ])
-     ("U"  . [?Ý])
-     ("c"  . [?æ])
-     ("g"  . [?ø])
-     ("h"  . [?¶])
-     ("j"  . [?¼])
-     ("s"  . [?þ])
-     ("u"  . [?ý]))
+     ("C"  . [?Ĉ])
+     ("G"  . [?Ĝ])
+     ("H"  . [?Ĥ])
+     ("J"  . [?Ĵ])
+     ("S"  . [?Ŝ])
+     ("U"  . [?Ŭ])
+     ("c"  . [?ĉ])
+     ("g"  . [?ĝ])
+     ("h"  . [?ĥ])
+     ("j"  . [?ĵ])
+     ("s"  . [?ŝ])
+     ("u"  . [?ŭ]))
     ("French"
      ("C"  . [?Ç])
      ("c"  . [?ç]))
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index 7bd1668..c85fe67 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -869,7 +869,11 @@ buffer where the user can select from the list."
 ;;;###autoload
 (defun xref-find-references (identifier)
   "Find references to the identifier at point.
-With prefix argument, prompt for the identifier."
+This command might prompt for the identifier as needed, perhaps
+offering the symbol at point as the default.
+With prefix argument, or if `xref-prompt-for-identifier' is t,
+always prompt for the identifier.  If `xref-prompt-for-identifier'
+is nil, prompt only if there's no usable symbol at point."
   (interactive (list (xref--read-identifier "Find references of: ")))
   (xref--find-xrefs identifier 'references identifier nil))
 
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 69bba10..f6a809b 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -1424,10 +1424,20 @@ determined by `flyspell-large-region'."
 The list of incorrect words should be in `flyspell-external-ispell-buffer'.
 \(We finish by killing that buffer and setting the variable to nil.)
 The buffer to mark them in is `flyspell-large-region-buffer'."
-  (let (words-not-found
-       (ispell-otherchars (ispell-get-otherchars))
-       (buffer-scan-pos flyspell-large-region-beg)
-       case-fold-search)
+  (let* (words-not-found
+         (flyspell-casechars (flyspell-get-casechars))
+         (ispell-otherchars (ispell-get-otherchars))
+         (ispell-many-otherchars-p (ispell-get-many-otherchars-p))
+         (word-chars (concat flyspell-casechars
+                             "+\\("
+                             (if (not (string= "" ispell-otherchars))
+                                 (concat ispell-otherchars "?"))
+                             flyspell-casechars
+                             "+\\)"
+                             (if ispell-many-otherchars-p
+                                 "*" "?")))
+         (buffer-scan-pos flyspell-large-region-beg)
+         case-fold-search)
     (with-current-buffer flyspell-external-ispell-buffer
       (goto-char (point-min))
       ;; Loop over incorrect words, in the order they were reported,
@@ -1457,11 +1467,18 @@ The buffer to mark them in is 
`flyspell-large-region-buffer'."
                              ;; Move back into the match
                              ;; so flyspell-get-word will find it.
                              (forward-char -1)
-                             (flyspell-get-word)))
+                              ;; Is this a word that matches the
+                              ;; current dictionary?
+                              (if (looking-at word-chars)
+                                 (flyspell-get-word))))
                           (found (car found-list))
                           (found-length (length found))
                           (misspell-length (length word)))
                      (when (or
+                             ;; Misspelled word is not from the
+                             ;; language supported by the current
+                             ;; dictionary.
+                             (null found)
                             ;; Size matches, we really found it.
                             (= found-length misspell-length)
                             ;; Matches as part of a boundary-char separated
@@ -1483,13 +1500,21 @@ The buffer to mark them in is 
`flyspell-large-region-buffer'."
                             ;; backslash) and none of the previous
                             ;; conditions match.
                             (and (not ispell-really-aspell)
+                                  (not ispell-really-hunspell)
+                                  (not ispell-really-enchant)
                                  (save-excursion
                                    (goto-char (- (nth 1 found-list) 1))
                                    (if (looking-at "[\\]" )
                                        t
                                      nil))))
                        (setq keep nil)
-                       (flyspell-word nil t)
+                        ;; Don't try spell-checking words whose
+                        ;; characters don't match CASECHARS, because
+                        ;; flyspell-word will then consider as
+                        ;; misspelling the preceding word that matches
+                        ;; CASECHARS.
+                        (or (null found)
+                           (flyspell-word nil t))
                        ;; Search for next misspelled word will begin from
                        ;; end of last validated match.
                        (setq buffer-scan-pos (point))))
diff --git a/src/fontset.c b/src/fontset.c
index 6ca6406..e723540 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -1442,23 +1442,26 @@ DEFUN ("set-fontset-font", Fset_fontset_font, 
Sset_fontset_font, 3, 5, 0,
        doc: /*
 Modify fontset NAME to use FONT-SPEC for TARGET characters.
 
-NAME is a fontset name string, nil for the fontset of FRAME, or t for
-the default fontset.
+NAME is a fontset name (a string), nil for the fontset of FRAME,
+or t for the default fontset.
 
 TARGET may be a single character to use FONT-SPEC for.
 
 Target may be a cons (FROM . TO), where FROM and TO are characters.
-In that case, use FONT-SPEC for all characters in the range FROM
-and TO (inclusive).
+In that case, use FONT-SPEC for all the characters in the range
+between FROM and TO (inclusive).
 
-TARGET may be a script name symbol.  In that case, use FONT-SPEC for
-all characters that belong to the script.
+TARGET may be a script symbol.  In that case, use FONT-SPEC for
+all the characters that belong to the script.  See the variable
+`script-representative-chars' for the list of known scripts.
 
 TARGET may be a charset.  In that case, use FONT-SPEC for all
-characters in the charset.
+the characters in the charset.  See `list-character-sets' and
+`list-charset-chars' for the list of character sets and their
+characters.
 
-TARGET may be nil.  In that case, use FONT-SPEC for any characters for
-that no FONT-SPEC is specified.
+TARGET may be nil.  In that case, use FONT-SPEC for any character for
+which no font-spec is specified.
 
 FONT-SPEC may one of these:
  * A font-spec object made by the function `font-spec' (which see).
@@ -1468,11 +1471,11 @@ FONT-SPEC may one of these:
  * A font name string.
  * nil, which explicitly specifies that there's no font for TARGET.
 
-Optional 4th argument FRAME is a frame or nil for the selected frame
-that is concerned in the case that NAME is nil.
+Optional 4th argument FRAME is a frame, or nil for the selected frame,
+to be considered in the case that NAME is nil.
 
 Optional 5th argument ADD, if non-nil, specifies how to add FONT-SPEC
-to the font specifications for TARGET previously set.  If it is
+to the previously set font specifications for TARGET.  If it is
 `prepend', FONT-SPEC is prepended.  If it is `append', FONT-SPEC is
 appended.  By default, FONT-SPEC overrides the previous settings.  */)
   (Lisp_Object name, Lisp_Object target, Lisp_Object font_spec, Lisp_Object 
frame, Lisp_Object add)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]