aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2018-01-29 07:50:21 -0800
committerGlenn Morris2018-01-29 07:50:21 -0800
commit9c2c7b1cdc733ea9277676e43ba458d173491b66 (patch)
tree2013c8951fa2b3006aed36f224193633d08f574c
parentea8c0e1b9eaa6651919fb4e039e3fcb5a1fa73db (diff)
parent6415b2d40c13be2c5cd5f797718c391d1c4ce9e6 (diff)
downloademacs-9c2c7b1cdc733ea9277676e43ba458d173491b66.tar.gz
emacs-9c2c7b1cdc733ea9277676e43ba458d173491b66.zip
Merge from origin/emacs-26
6415b2d Allow read-passwd to hide characters inserted by C-y. (Secur... 8cb4ffb * etc/PROBLEMS: Document issues with double-buffering. (Bug#... fd10070 * lisp/window.el (window-largest-empty-rectangle): Fix grammar. e1a4403 Minor changes in the Emacs manual 372fda6 Improve the "Files" chapter of the Emacs manual 9afc86d Improve the "Search" chapter of the Emacs manual 22f98b3 * src/indent.c (Findent_to): Doc fix. (Bug#30260) 085ee43 Improve documentation of 'edebug-defun' 4dd1b33 Mention crashes due to Noto Serif Kannada fonts
-rw-r--r--doc/emacs/files.texi48
-rw-r--r--doc/emacs/search.texi30
-rw-r--r--doc/lispref/edebug.texi18
-rw-r--r--etc/PROBLEMS48
-rw-r--r--lisp/subr.el7
-rw-r--r--lisp/window.el2
-rw-r--r--src/indent.c2
7 files changed, 101 insertions, 54 deletions
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 881210aab9a..083f64704ae 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -738,7 +738,7 @@ survive a crash even if @code{fsync} works properly.
738 The @code{write-region-inhibit-fsync} variable controls whether 738 The @code{write-region-inhibit-fsync} variable controls whether
739Emacs invokes @code{fsync} after saving a file. The variable's 739Emacs invokes @code{fsync} after saving a file. The variable's
740default value is @code{nil} when Emacs is interactive, and @code{t} 740default value is @code{nil} when Emacs is interactive, and @code{t}
741when Emacs runs in batch mode. 741when Emacs runs in batch mode (@pxref{Initial Options, batch mode}).
742 742
743 Emacs never uses @code{fsync} when writing auto-save files, as these 743 Emacs never uses @code{fsync} when writing auto-save files, as these
744files might lose data anyway. 744files might lose data anyway.
@@ -824,6 +824,25 @@ diff-buffer-with-file} command. @xref{Comparing Files}.
824@cindex file shadows 824@cindex file shadows
825@findex shadow-initialize 825@findex shadow-initialize
826 826
827 You can arrange to keep identical @dfn{shadow} copies of certain
828files in more than one place---possibly on different machines. To do
829this, first you must set up a @dfn{shadow file group}, which is a set
830of identically-named files shared between a list of sites. The file
831group is permanent and applies to further Emacs sessions as well as
832the current one. Once the group is set up, every time you exit Emacs,
833it will copy the file you edited to the other files in its group. You
834can also do the copying without exiting Emacs, by typing @w{@kbd{M-x
835shadow-copy-files}}.
836
837@cindex shadow cluster
838A @dfn{shadow cluster} is a group of hosts that share directories, so
839that copying to or from one of them is sufficient to update the file
840on all of them. Each shadow cluster has a name, and specifies the
841network address of a primary host (the one we copy files to), and a
842regular expression that matches the host names of all the other hosts
843in the cluster. You can define a shadow cluster with @w{@kbd{M-x
844shadow-define-cluster}}.
845
827@table @kbd 846@table @kbd
828@item M-x shadow-initialize 847@item M-x shadow-initialize
829Set up file shadowing. 848Set up file shadowing.
@@ -839,32 +858,15 @@ Copy all pending shadow files.
839Cancel the instruction to shadow some files. 858Cancel the instruction to shadow some files.
840@end table 859@end table
841 860
842You can arrange to keep identical @dfn{shadow} copies of certain files 861To set up a shadow file group, use @w{@kbd{M-x
843in more than one place---possibly on different machines. To do this, 862shadow-define-literal-group}} or @w{@kbd{M-x
844first you must set up a @dfn{shadow file group}, which is a set of 863shadow-define-regexp-group}}. See their documentation strings for
845identically-named files shared between a list of sites. The file 864further information.
846group is permanent and applies to further Emacs sessions as well as
847the current one. Once the group is set up, every time you exit Emacs,
848it will copy the file you edited to the other files in its group. You
849can also do the copying without exiting Emacs, by typing @kbd{M-x
850shadow-copy-files}.
851
852To set up a shadow file group, use @kbd{M-x
853shadow-define-literal-group} or @kbd{M-x shadow-define-regexp-group}.
854See their documentation strings for further information.
855 865
856Before copying a file to its shadows, Emacs asks for confirmation. 866Before copying a file to its shadows, Emacs asks for confirmation.
857You can answer ``no'' to bypass copying of this file, this time. If 867You can answer ``no'' to bypass copying of this file, this time. If
858you want to cancel the shadowing permanently for a certain file, use 868you want to cancel the shadowing permanently for a certain file, use
859@kbd{M-x shadow-cancel} to eliminate or change the shadow file group. 869@w{@kbd{M-x shadow-cancel}} to eliminate or change the shadow file group.
860
861A @dfn{shadow cluster} is a group of hosts that share directories, so
862that copying to or from one of them is sufficient to update the file
863on all of them. Each shadow cluster has a name, and specifies the
864network address of a primary host (the one we copy files to), and a
865regular expression that matches the host names of all the other hosts
866in the cluster. You can define a shadow cluster with @kbd{M-x
867shadow-define-cluster}.
868 870
869@node Time Stamps 871@node Time Stamps
870@subsection Updating Time Stamps Automatically 872@subsection Updating Time Stamps Automatically
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index b351a741aa5..bb01f10d2cb 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -776,16 +776,16 @@ Search}.
776@cindex regular expression 776@cindex regular expression
777@cindex regexp 777@cindex regexp
778 778
779 This manual describes regular expression features that users 779 This section (and this manual in general) describes regular
780typically use. @xref{Regular Expressions,,, elisp, The Emacs Lisp 780expression features that users typically use. @xref{Regular
781Reference Manual}, for additional features used mainly in Lisp 781Expressions,,, elisp, The Emacs Lisp Reference Manual}, for additional
782programs. 782features used mainly in Lisp programs.
783 783
784 Regular expressions have a syntax in which a few characters are 784 Regular expressions have a syntax in which a few characters are
785special constructs and the rest are @dfn{ordinary}. An ordinary 785special constructs and the rest are @dfn{ordinary}. An ordinary
786character matches that same character and nothing else. The special 786character matches that same character and nothing else. The special
787characters are @samp{$^.*+?[\}. The character @samp{]} is special if 787characters are @samp{$^.*+?[\}. The character @samp{]} is special if
788it ends a character alternative (see later). The character @samp{-} 788it ends a character alternative (see below). The character @samp{-}
789is special inside a character alternative. Any other character 789is special inside a character alternative. Any other character
790appearing in a regular expression is ordinary, unless a @samp{\} 790appearing in a regular expression is ordinary, unless a @samp{\}
791precedes it. (When you use regular expressions in a Lisp program, 791precedes it. (When you use regular expressions in a Lisp program,
@@ -803,11 +803,11 @@ of ``the same string'', rather than an exception.)
803 Any two regular expressions @var{a} and @var{b} can be concatenated. 803 Any two regular expressions @var{a} and @var{b} can be concatenated.
804The result is a regular expression which matches a string if @var{a} 804The result is a regular expression which matches a string if @var{a}
805matches some amount of the beginning of that string and @var{b} 805matches some amount of the beginning of that string and @var{b}
806matches the rest of the string. For example, concatenating the 806matches the rest of the string. As a trivial example, concatenating
807regular expressions @samp{f} and @samp{o} gives the regular expression 807the regular expressions @samp{f} and @samp{o} gives the regular
808@samp{fo}, which matches only the string @samp{fo}. Still trivial. 808expression @samp{fo}, which matches only the string @samp{fo}. To do
809To do something nontrivial, you need to use one of the special 809something less trivial, you need to use one of the special characters.
810characters. Here is a list of them. 810Here is a list of them.
811 811
812@table @asis 812@table @asis
813@item @kbd{.}@: @r{(Period)} 813@item @kbd{.}@: @r{(Period)}
@@ -1025,13 +1025,13 @@ To record a matched substring for future reference.
1025 1025
1026This last application is not a consequence of the idea of a 1026This last application is not a consequence of the idea of a
1027parenthetical grouping; it is a separate feature that is assigned as a 1027parenthetical grouping; it is a separate feature that is assigned as a
1028second meaning to the same @samp{\( @dots{} \)} construct. In practice 1028second meaning to the same @w{@samp{\( @dots{} \)}} construct. In practice
1029there is usually no conflict between the two meanings; when there is 1029there is usually no conflict between the two meanings; when there is
1030a conflict, you can use a shy group. 1030a conflict, you can use a shy group, described below.
1031 1031
1032@item \(?: @dots{} \) 1032@item \(?: @dots{} \)
1033@cindex shy group, in regexp 1033@cindex shy group, in regexp
1034specifies a shy group that does not record the matched substring; 1034specifies a @dfn{shy group} that does not record the matched substring;
1035you can't refer back to it with @samp{\@var{d}} (see below). This is 1035you can't refer back to it with @samp{\@var{d}} (see below). This is
1036useful in mechanically combining regular expressions, so that you can 1036useful in mechanically combining regular expressions, so that you can
1037add groups for syntactic purposes without interfering with the 1037add groups for syntactic purposes without interfering with the
@@ -1908,7 +1908,7 @@ which Emacs will use this display mode. The variable
1908@code{search-slow-window-lines} controls the number of lines in the 1908@code{search-slow-window-lines} controls the number of lines in the
1909window Emacs pops up for displaying the search results; the default is 1909window Emacs pops up for displaying the search results; the default is
19101 line. Normally, this window will pop up at the bottom of the window 19101 line. Normally, this window will pop up at the bottom of the window
1911that displays the buffer where you start searching, bit if the value 1911that displays the buffer where you start searching, but if the value
1912of @code{search-slow-window-lines} is negative, that means to put the 1912of @code{search-slow-window-lines} is negative, that means to put the
1913window at the top and give it the number of lines that is the absolute 1913window at the top and give it the number of lines that is the absolute
1914value of that value. 1914value of @code{search-slow-window-lines}.
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi
index 1a883e0f142..0c17e1e72ef 100644
--- a/doc/lispref/edebug.texi
+++ b/doc/lispref/edebug.texi
@@ -209,6 +209,20 @@ session, it runs the hook @code{edebug-setup-hook}, then sets it to
209@code{nil}. You can use this to load Edebug specifications 209@code{nil}. You can use this to load Edebug specifications
210associated with a package you are using, but only when you use Edebug. 210associated with a package you are using, but only when you use Edebug.
211 211
212@cindex edebug, failure to instrument
213 If Edebug detects a syntax error while instrumenting, it leaves point
214at the erroneous code and signals an @code{invalid-read-syntax} error.
215@c FIXME? I can't see that it "leaves point at the erroneous code".
216Example:
217
218@example
219@error{} Invalid read syntax: "Expected lambda expression"
220@end example
221
222 One potential reason for such a failure to instrument is that some
223macro definitions are not yet known to Emacs. To work around this,
224load the file which defines the function you are about to instrument.
225
212@findex eval-expression @r{(Edebug)} 226@findex eval-expression @r{(Edebug)}
213 To remove instrumentation from a definition, simply re-evaluate its 227 To remove instrumentation from a definition, simply re-evaluate its
214definition in a way that does not instrument. There are two ways of 228definition in a way that does not instrument. There are two ways of
@@ -216,10 +230,6 @@ evaluating forms that never instrument them: from a file with
216@code{load}, and from the minibuffer with @code{eval-expression} 230@code{load}, and from the minibuffer with @code{eval-expression}
217(@kbd{M-:}). 231(@kbd{M-:}).
218 232
219 If Edebug detects a syntax error while instrumenting, it leaves point
220at the erroneous code and signals an @code{invalid-read-syntax} error.
221@c FIXME? I can't see that it "leaves point at the erroneous code".
222
223 @xref{Edebug Eval}, for other evaluation functions available 233 @xref{Edebug Eval}, for other evaluation functions available
224inside of Edebug. 234inside of Edebug.
225 235
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index e7f6c267cbb..dedbf80b353 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -241,12 +241,33 @@ before starting Emacs, or run Emacs as root.
241 241
242** Emacs crashes when you try to view a file with complex characters. 242** Emacs crashes when you try to view a file with complex characters.
243 243
244For example, the etc/HELLO file (as shown by C-h h). 244One possible reason for this could be a bug in the libotf or the
245The message "symbol lookup error: /usr/bin/emacs: undefined symbol: OTF_open" 245libm17n-flt/m17n-db libraries Emacs uses for displaying complex
246is shown in the terminal from which you launched Emacs. 246scripts. Make sure you have the latest versions of these libraries
247This problem only happens when you use a graphical display (ie not 247installed. If the problem still persists with the latest released
248with -nw) and compiled Emacs with the "libotf" library for complex 248versions of these libraries, you can try building these libraries from
249text handling. 249their CVS repository:
250
251 cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/m17n co libotf
252 cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/m17n co m17n-db
253 cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/m17n co m17n-lib
254
255One known problem that causes such crashes is with using Noto Serif
256Kannada fonts. To work around that, force Emacs not to select these
257fonts, by adding the following to your ~/.emacs init file:
258
259 (push "Noto Serif Kannada" face-ignored-fonts)
260
261You can try this interactively in a running Emacs session like this:
262
263 M-: (push "Noto Serif Kannada" face-ignored-fonts) RET
264
265Another set of problems is caused by an incompatible libotf library.
266In this case, displaying the etc/HELLO file (as shown by C-h h)
267triggers the following message to be shown in the terminal from which
268you launched Emacs:
269
270 symbol lookup error: /usr/bin/emacs: undefined symbol: OTF_open
250 271
251This problem occurs because unfortunately there are two libraries 272This problem occurs because unfortunately there are two libraries
252called "libotf". One is the library for handling OpenType fonts, 273called "libotf". One is the library for handling OpenType fonts,
@@ -457,6 +478,21 @@ The solution was to upgrade Semantic to version 2.0pre4 (distributed
457with CEDET 1.0pre4) or later. Note that Emacs includes Semantic since 478with CEDET 1.0pre4) or later. Note that Emacs includes Semantic since
45823.2, and this issue does not apply to the included version. 47923.2, and this issue does not apply to the included version.
459 480
481*** Display artifacts on GUI frames on X-based systems.
482
483This is known to be caused by using double-buffering (which is enabled
484by default in Emacs 26 and later). The artifacts typically appear
485after commands that cause Emacs to scroll the display.
486
487You can disable double-buffering by evaluating the following form:
488
489 (modify-all-frames-parameters '((inhibit-double-buffering . t)))
490
491To make this permanent, add it to your ~/.emacs init file.
492
493Note that disabling double-buffering will cause flickering of the
494display in some situations.
495
460*** Self-documentation messages are garbled. 496*** Self-documentation messages are garbled.
461 497
462This means that the file 'etc/DOC' doesn't properly correspond 498This means that the file 'etc/DOC' doesn't properly correspond
diff --git a/lisp/subr.el b/lisp/subr.el
index e7a0ffc5bea..24bd28839fc 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -3032,10 +3032,9 @@ remove properties specified by `yank-excluded-properties'."
3032 run-start prop nil end))) 3032 run-start prop nil end)))
3033 (funcall fun value run-start run-end) 3033 (funcall fun value run-start run-end)
3034 (setq run-start run-end))))) 3034 (setq run-start run-end)))))
3035 (with-silent-modifications 3035 (if (eq yank-excluded-properties t)
3036 (if (eq yank-excluded-properties t) 3036 (set-text-properties start end nil)
3037 (set-text-properties start end nil) 3037 (remove-list-of-text-properties start end yank-excluded-properties))))
3038 (remove-list-of-text-properties start end yank-excluded-properties)))))
3039 3038
3040(defvar yank-undo-function) 3039(defvar yank-undo-function)
3041 3040
diff --git a/lisp/window.el b/lisp/window.el
index d7fdceb2058..abd1a68b1f0 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -8452,7 +8452,7 @@ of WINDOW.
8452Optional argument LEFT, if non-nil, means to return values suitable for 8452Optional argument LEFT, if non-nil, means to return values suitable for
8453buffers displaying right to left text." 8453buffers displaying right to left text."
8454 ;; Process lines as returned by ‘window-lines-pixel-dimensions’. 8454 ;; Process lines as returned by ‘window-lines-pixel-dimensions’.
8455 ;; STACK is a stack that contains rows that have to be processed yet. 8455 ;; STACK is a stack that contains rows that have yet to be processed.
8456 (let* ((window (window-normalize-window window t)) 8456 (let* ((window (window-normalize-window window t))
8457 (disjoint (and (consp count) (cdr count))) 8457 (disjoint (and (consp count) (cdr count)))
8458 (count (or (and (numberp count) count) 8458 (count (or (and (numberp count) count)
diff --git a/src/indent.c b/src/indent.c
index 1a8bcebddc9..316171e609b 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -813,7 +813,7 @@ DEFUN ("indent-to", Findent_to, Sindent_to, 1, 2, "NIndent to column: ",
813Optional second argument MINIMUM says always do at least MINIMUM spaces 813Optional second argument MINIMUM says always do at least MINIMUM spaces
814even if that goes past COLUMN; by default, MINIMUM is zero. 814even if that goes past COLUMN; by default, MINIMUM is zero.
815 815
816The return value is COLUMN. */) 816The return value is the column where the insertion ends. */)
817 (Lisp_Object column, Lisp_Object minimum) 817 (Lisp_Object column, Lisp_Object minimum)
818{ 818{
819 EMACS_INT mincol; 819 EMACS_INT mincol;