emacs-diffs
[Top][All Lists]
Advanced

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

master 1216743 5/8: Merge from origin/emacs-28


From: Glenn Morris
Subject: master 1216743 5/8: Merge from origin/emacs-28
Date: Fri, 29 Oct 2021 12:20:17 -0400 (EDT)

branch: master
commit 12167430428af9b9f4f60342914554e862bbc9ad
Merge: 3808498 08de838
Author: Glenn Morris <rgm@gnu.org>
Commit: Glenn Morris <rgm@gnu.org>

    Merge from origin/emacs-28
    
    08de838531 ; Improve commentary in the last change
    3da9fa875b Make hieroglyphs display correctly with existing fonts
    928e05f2d6 Clarify "default face attributes" in the ELisp manual
    5dbb04e0eb Make `C-u RET' work again
    d72fefdeab Fix typos in the manual and in a comment
---
 doc/lispintro/emacs-lisp-intro.texi |  2 +-
 doc/lispref/display.texi            | 30 ++++++++++++++++++++++--------
 etc/HELLO                           |  2 +-
 lisp/language/misc-lang.el          | 20 +++++++++++++++++++-
 lisp/minibuffer.el                  | 13 +++++++------
 lisp/simple.el                      |  2 +-
 6 files changed, 51 insertions(+), 18 deletions(-)

diff --git a/doc/lispintro/emacs-lisp-intro.texi 
b/doc/lispintro/emacs-lisp-intro.texi
index 060e023..f5f79a5 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -17860,7 +17860,7 @@ xmodmap -e "keysym Alt_L = Meta_L Alt_L"
 Finally, a feature I really like: a modified mode line.
 
 When I work over a network, I forget which machine I am using.  Also,
-I tend to I lose track of where I am, and which line point is on.
+I tend to lose track of where I am, and which line point is on.
 
 So I reset my mode line to look like this:
 
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index c9a9f7a..ece0d5d 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -2781,6 +2781,11 @@ terminal must match one of the @var{value}s specified 
for it in
   :group 'basic-faces)
 @end example
 
+@kindex face-defface-spec @r{(face symbol property)}
+@kindex saved-face @r{(face symbol property)}
+@kindex customized-face @r{(face symbol property)}
+@kindex theme-face @r{(face symbol property)}
+@kindex face-documentation @r{(face symbol property)}
   Internally, Emacs stores each face's default spec in its
 @code{face-defface-spec} symbol property (@pxref{Symbol Properties}).
 The @code{saved-face} property stores any face spec saved by the user
@@ -2837,9 +2842,12 @@ This function returns the value of the @var{attribute} 
attribute for
 
 If @var{frame} is omitted or @code{nil}, that means the selected frame
 (@pxref{Input Focus}).  If @var{frame} is @code{t}, this function
-returns the value of the specified attribute for newly-created frames
-(this is normally @code{unspecified}, unless you have specified some
-value using @code{set-face-attribute}; see below).
+returns the value of the specified attribute for newly-created frames,
+i.e.@: the value of the attribute before applying the face spec in the
+face's @code{defface} definition (@pxref{Defining Faces}) or the spec
+set by @code{face-spec-set}.  This default value of @var{attribute} is
+normally @code{unspecified}, unless you have specified some other
+value using @code{set-face-attribute}; see below.
 
 If @var{inherit} is @code{nil}, only attributes directly defined by
 @var{face} are considered, so the return value may be
@@ -2889,7 +2897,12 @@ elements of the result are name-value pairs of the form
 @w{@code{(@var{attr-name} . @var{attr-value})}}.  Optional argument
 @var{frame} specifies the frame whose definition of @var{face} to
 return; if omitted or @code{nil}, the returned value describes the
-default attributes of @var{face} for newly created frames.
+default attributes of @var{face} for newly created frames, i.e.@: the
+values these attributes have before applying the face spec in the
+face's @code{defface} definition or the spec set by
+@code{face-spec-set}.  These default values of the attributes are
+normally @code{unspecified}, unless you have specified some other
+value using @code{set-face-attribute}; see below.
 @end defun
 
 @defun merge-face-attribute attribute value1 value2
@@ -2907,7 +2920,7 @@ for all frames.  This function is mostly intended for 
internal usage.
 
 @defun set-face-attribute face frame &rest arguments
 This function sets one or more attributes of @var{face} for
-@var{frame}.  The attributes specifies in this way override the face
+@var{frame}.  The attributes specified in this way override the face
 spec(s) belonging to @var{face}.
 
 The extra arguments @var{arguments} specify the attributes to set, and
@@ -2924,9 +2937,10 @@ sets the attribute @code{:weight} to @code{bold} and the 
attribute
 
 
 If @var{frame} is @code{t}, this function sets the default attributes
-for newly created frames.  If @var{frame} is @code{nil}, this function
-sets the attributes for all existing frames, as well as for newly
-created frames.
+for newly created frames; they will effectively override the attribute
+values specified by @code{defface}.  If @var{frame} is @code{nil},
+this function sets the attributes for all existing frames, as well as
+for newly created frames.
 @end defun
 
   The following commands and functions mostly provide compatibility
diff --git a/etc/HELLO b/etc/HELLO
index 577c282..8bd489f 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -38,7 +38,7 @@ Czech (čeština)       Dobrý den
 Danish (dansk) Hej / Goddag / Halløj
 Dutch (Nederlands)     Hallo / Dag
 Efik  /ˈɛfɪk/  Mɔkɔm
-Egyptian Hieroglyphs (𓂋𓐰𓏤𓈖𓆎𓅓𓏏𓐰𓊖)       𓅓𓊵𓐰𓐷𓏏𓊪𓐸, 𓇍𓇋𓂻𓍘𓇋
+Egyptian Hieroglyphs (𓂋𓏤𓈖𓆎𓅓‌𓏏𓊖)        𓅓𓊵𓏏𓊪, 𓇍𓇋𓂻𓍘𓇋
 Emacs  emacs --no-splash -f view-hello-file
 Emoji  👋
 English /ˈɪŋɡlɪʃ/      Hello
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index a2ca678..c8a4821 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -192,7 +192,25 @@ thin (i.e. 1-dot width) space."
    composition-function-table
    #x13437
    (list (vector "\U00013437[\U00013000-\U0001343F]+"
-                 0 #'egyptian-shape-grouping))))
+                 0 #'egyptian-shape-grouping)))
+  ;; "Normal" hieroglyphs, for fonts that don't support the above
+  ;; controls, but do shape sequences of hieroglyphs without the
+  ;; controls.
+  ;; FIXME: As of late 2021, Egyptian Hieroglyph Format Controls are
+  ;; not yet supported in existing fonts and/or shaping engines, but
+  ;; some fonts do provide ligatures with which texts in Egyptian
+  ;; Hieroglyphs are correctly displayed.  If and when these format
+  ;; controls are supported, as described in section 11.4 "Egyptian
+  ;; Hieroglyphs" of the Unicode Standard, the five lines below (which
+  ;; allow composition of hieroglyphs without formatting controls
+  ;; around) can be removed, and the entry in etc/HELLO can be
+  ;; restored to:
+  ;; Egyptian Hieroglyphs (𓂋𓐰𓏤𓈖𓆎𓅓𓏏𓐰𓊖) 𓅓𓊵𓐰𓐷𓏏𓊪𓐸, 𓇍𓇋𓂻𓍘𓇋
+  (set-char-table-range
+   composition-function-table
+   '(#x13000 . #x1342E)
+   (list (vector "[\U00013000-\U0001342E]+"
+                 0 #'font-shape-gstring))))
 
 (provide 'misc-lang)
 
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index bc21f02..ca82b4a 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -3579,12 +3579,13 @@ between 0 and 1, and with faces 
`completions-common-part',
                 ;; "hole" in the middle of the string is indicated by
                 ;; "-".  Note that there are no "holes" near the edges
                 ;; of the string.  The completion score is a number
-                ;; bound by ]0..1]: the higher the better and only a
-                ;; perfect match (pattern equals string) will have
-                ;; score 1.  The formula takes the form of a quotient.
-                ;; For the numerator, we use the number of +, i.e. the
-                ;; length of the pattern.  For the denominator, it
-                ;; first computes
+                ;; bound by (0..1] (i.e., larger than (but not equal
+                ;; to) zero, and smaller or equal to one): the higher
+                ;; the better and only a perfect match (pattern equals
+                ;; string) will have score 1.  The formula takes the
+                ;; form of a quotient.  For the numerator, we use the
+                ;; number of +, i.e. the length of the pattern.  For
+                ;; the denominator, it first computes
                 ;;
                 ;;     hole_i_contrib = 1 + (Li-1)^(1/tightness)
                 ;;
diff --git a/lisp/simple.el b/lisp/simple.el
index 9b62284..916c90d 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -597,7 +597,7 @@ A non-nil INTERACTIVE argument means to run the 
`post-self-insert-hook'."
   (interactive "*P\np")
   (barf-if-buffer-read-only)
   (when (and arg
-             (< arg 0))
+             (< (prefix-numeric-value arg) 0))
     (error "Repetition argument has to be non-negative"))
   ;; Call self-insert so that auto-fill, abbrev expansion etc. happen.
   ;; Set last-command-event to tell self-insert what to insert.



reply via email to

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