diff options
| author | Paul Eggert | 2016-01-30 11:43:26 -0800 |
|---|---|---|
| committer | Paul Eggert | 2016-01-30 11:43:26 -0800 |
| commit | cb4e054e41cdb7e398351a5ae8224759e721349e (patch) | |
| tree | ae2bec4f10425bd61e2a90563edc178d382bb4b8 | |
| parent | e6d575316a42946aac6d83c9587f09afd1a59d98 (diff) | |
| parent | 60902756b0d794b16b9c1c67c4c40a3ac04d1c1b (diff) | |
| download | emacs-cb4e054e41cdb7e398351a5ae8224759e721349e.tar.gz emacs-cb4e054e41cdb7e398351a5ae8224759e721349e.zip | |
-
111 files changed, 807 insertions, 461 deletions
diff --git a/admin/check-doc-strings b/admin/check-doc-strings index 13e8b0cd8e7..63856d32871 100755 --- a/admin/check-doc-strings +++ b/admin/check-doc-strings | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | : #-*- Perl -*- | 1 | : #-*- Perl -*- |
| 2 | eval 'exec perl -S $0 ${1+"$@"}' # Portability kludge | 2 | eval 'exec perl -S $0 "$@"' # Portability kludge |
| 3 | if 0; | 3 | if 0; |
| 4 | 4 | ||
| 5 | # Author: Martin Buchholz | 5 | # Author: Martin Buchholz |
| @@ -299,4 +299,3 @@ foreach my $fun (sort keys %texi_funtype) { | |||
| 299 | print "nuke-this-doc: $fun $texi_funtype{$fun}\n"; | 299 | print "nuke-this-doc: $fun $texi_funtype{$fun}\n"; |
| 300 | } | 300 | } |
| 301 | } | 301 | } |
| 302 | |||
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog index a42650478a2..a2513d0efc7 100755 --- a/build-aux/gitlog-to-changelog +++ b/build-aux/gitlog-to-changelog | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' | 1 | eval '(exit $?0)' && eval 'exec perl -wS "$0" "$@"' |
| 2 | & eval 'exec perl -wS "$0" $argv:q' | 2 | & eval 'exec perl -wS "$0" $argv:q' |
| 3 | if 0; | 3 | if 0; |
| 4 | # Convert git log output to ChangeLog format. | 4 | # Convert git log output to ChangeLog format. |
| 5 | 5 | ||
| 6 | my $VERSION = '2016-01-11 22:04'; # UTC | 6 | my $VERSION = '2016-01-12 23:09'; # UTC |
| 7 | # The definition above must lie within the first 8 lines in order | 7 | # The definition above must lie within the first 8 lines in order |
| 8 | # for the Emacs time-stamp write hook (at end) to update it. | 8 | # for the Emacs time-stamp write hook (at end) to update it. |
| 9 | # If you change this file with Emacs, please let the write hook | 9 | # If you change this file with Emacs, please let the write hook |
diff --git a/build-aux/update-copyright b/build-aux/update-copyright index 8c6ee1fdd3c..17ee6b14d11 100755 --- a/build-aux/update-copyright +++ b/build-aux/update-copyright | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}' | 1 | eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" "$@"' |
| 2 | & eval 'exec perl -wS -0777 -pi "$0" $argv:q' | 2 | & eval 'exec perl -wS -0777 -pi "$0" $argv:q' |
| 3 | if 0; | 3 | if 0; |
| 4 | # Update an FSF copyright year list to include the current year. | 4 | # Update an FSF copyright year list to include the current year. |
| 5 | 5 | ||
| 6 | my $VERSION = '2016-01-11.22:04'; # UTC | 6 | my $VERSION = '2016-01-12.23:13'; # UTC |
| 7 | 7 | ||
| 8 | # Copyright (C) 2009-2016 Free Software Foundation, Inc. | 8 | # Copyright (C) 2009-2016 Free Software Foundation, Inc. |
| 9 | # | 9 | # |
diff --git a/configure.ac b/configure.ac index 50bc04b4c87..4a0dc568742 100644 --- a/configure.ac +++ b/configure.ac | |||
| @@ -33,7 +33,7 @@ emacs_config_options= | |||
| 33 | optsep= | 33 | optsep= |
| 34 | dnl This is the documented way to record the args passed to configure, | 34 | dnl This is the documented way to record the args passed to configure, |
| 35 | dnl rather than $ac_configure_args. | 35 | dnl rather than $ac_configure_args. |
| 36 | for opt in ${1+"$@"} CFLAGS CPPFLAGS LDFLAGS; do | 36 | for opt in "$@" CFLAGS CPPFLAGS LDFLAGS; do |
| 37 | case $opt in | 37 | case $opt in |
| 38 | -n | --no-create | --no-recursion) | 38 | -n | --no-create | --no-recursion) |
| 39 | continue ;; | 39 | continue ;; |
| @@ -330,7 +330,7 @@ OPTION_DEFAULT_ON([tiff],[don't compile with TIFF image support]) | |||
| 330 | OPTION_DEFAULT_ON([gif],[don't compile with GIF image support]) | 330 | OPTION_DEFAULT_ON([gif],[don't compile with GIF image support]) |
| 331 | OPTION_DEFAULT_ON([png],[don't compile with PNG image support]) | 331 | OPTION_DEFAULT_ON([png],[don't compile with PNG image support]) |
| 332 | OPTION_DEFAULT_ON([rsvg],[don't compile with SVG image support]) | 332 | OPTION_DEFAULT_ON([rsvg],[don't compile with SVG image support]) |
| 333 | OPTION_DEFAULT_OFF([cairo],[compile with Cairo drawing]) | 333 | OPTION_DEFAULT_OFF([cairo],[compile with Cairo drawing (experimental)]) |
| 334 | OPTION_DEFAULT_ON([xml2],[don't compile with XML parsing support]) | 334 | OPTION_DEFAULT_ON([xml2],[don't compile with XML parsing support]) |
| 335 | OPTION_DEFAULT_ON([imagemagick],[don't compile with ImageMagick image support]) | 335 | OPTION_DEFAULT_ON([imagemagick],[don't compile with ImageMagick image support]) |
| 336 | 336 | ||
| @@ -3141,13 +3141,13 @@ AC_SUBST(LIBOTF_LIBS) | |||
| 3141 | AC_SUBST(M17N_FLT_CFLAGS) | 3141 | AC_SUBST(M17N_FLT_CFLAGS) |
| 3142 | AC_SUBST(M17N_FLT_LIBS) | 3142 | AC_SUBST(M17N_FLT_LIBS) |
| 3143 | 3143 | ||
| 3144 | USE_CAIRO=no | 3144 | HAVE_CAIRO=no |
| 3145 | if test "${HAVE_X11}" = "yes"; then | 3145 | if test "${HAVE_X11}" = "yes"; then |
| 3146 | if test "${with_cairo}" != "no"; then | 3146 | if test "${with_cairo}" != "no"; then |
| 3147 | CAIRO_REQUIRED=1.12.0 | 3147 | CAIRO_REQUIRED=1.12.0 |
| 3148 | CAIRO_MODULE="cairo >= $CAIRO_REQUIRED" | 3148 | CAIRO_MODULE="cairo >= $CAIRO_REQUIRED" |
| 3149 | EMACS_CHECK_MODULES(CAIRO, $CAIRO_MODULE, USE_CAIRO=yes, :) | 3149 | EMACS_CHECK_MODULES(CAIRO, $CAIRO_MODULE) |
| 3150 | if test $USE_CAIRO = yes; then | 3150 | if test $HAVE_CAIRO = yes; then |
| 3151 | AC_DEFINE(USE_CAIRO, 1, [Define to 1 if using cairo.]) | 3151 | AC_DEFINE(USE_CAIRO, 1, [Define to 1 if using cairo.]) |
| 3152 | else | 3152 | else |
| 3153 | AC_MSG_ERROR([cairo requested but not found.]) | 3153 | AC_MSG_ERROR([cairo requested but not found.]) |
| @@ -4920,7 +4920,7 @@ if test "${HAVE_X_WINDOWS}" = "yes" ; then | |||
| 4920 | XMENU_OBJ=xmenu.o | 4920 | XMENU_OBJ=xmenu.o |
| 4921 | XOBJ="xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o" | 4921 | XOBJ="xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o" |
| 4922 | FONT_OBJ=xfont.o | 4922 | FONT_OBJ=xfont.o |
| 4923 | if test "$USE_CAIRO" = "yes"; then | 4923 | if test "$HAVE_CAIRO" = "yes"; then |
| 4924 | FONT_OBJ="ftfont.o ftcrfont.o" | 4924 | FONT_OBJ="ftfont.o ftcrfont.o" |
| 4925 | elif test "$HAVE_XFT" = "yes"; then | 4925 | elif test "$HAVE_XFT" = "yes"; then |
| 4926 | FONT_OBJ="$FONT_OBJ ftfont.o xftfont.o ftxfont.o" | 4926 | FONT_OBJ="$FONT_OBJ ftfont.o xftfont.o ftxfont.o" |
| @@ -5268,7 +5268,7 @@ for opt in XAW3D XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND GPM DBUS \ | |||
| 5268 | 5268 | ||
| 5269 | case $opt in | 5269 | case $opt in |
| 5270 | NOTIFY|ACL) eval val=\${${opt}_SUMMARY} ;; | 5270 | NOTIFY|ACL) eval val=\${${opt}_SUMMARY} ;; |
| 5271 | CAIRO|TOOLKIT_SCROLL_BARS|X_TOOLKIT) eval val=\${USE_$opt} ;; | 5271 | TOOLKIT_SCROLL_BARS|X_TOOLKIT) eval val=\${USE_$opt} ;; |
| 5272 | *) eval val=\${HAVE_$opt} ;; | 5272 | *) eval val=\${HAVE_$opt} ;; |
| 5273 | esac | 5273 | esac |
| 5274 | case x$val in | 5274 | case x$val in |
| @@ -5295,7 +5295,7 @@ AS_ECHO([" Does Emacs use -lXaw3d? ${HAVE_XAW3D | |||
| 5295 | Does Emacs use a gif library? ${HAVE_GIF} $LIBGIF | 5295 | Does Emacs use a gif library? ${HAVE_GIF} $LIBGIF |
| 5296 | Does Emacs use a png library? ${HAVE_PNG} $LIBPNG | 5296 | Does Emacs use a png library? ${HAVE_PNG} $LIBPNG |
| 5297 | Does Emacs use -lrsvg-2? ${HAVE_RSVG} | 5297 | Does Emacs use -lrsvg-2? ${HAVE_RSVG} |
| 5298 | Does Emacs use cairo? ${USE_CAIRO} | 5298 | Does Emacs use cairo? ${HAVE_CAIRO} |
| 5299 | Does Emacs use imagemagick? ${HAVE_IMAGEMAGICK} | 5299 | Does Emacs use imagemagick? ${HAVE_IMAGEMAGICK} |
| 5300 | Does Emacs support sound? ${HAVE_SOUND} | 5300 | Does Emacs support sound? ${HAVE_SOUND} |
| 5301 | Does Emacs use -lgpm? ${HAVE_GPM} | 5301 | Does Emacs use -lgpm? ${HAVE_GPM} |
diff --git a/doc/emacs/anti.texi b/doc/emacs/anti.texi index ae13ae09a04..ece4d9456f1 100644 --- a/doc/emacs/anti.texi +++ b/doc/emacs/anti.texi | |||
| @@ -197,7 +197,7 @@ for removing the whole bidi support when downgrading to Emacs 23. | |||
| 197 | @item | 197 | @item |
| 198 | Horizontal scroll bars are no longer supported. Enlarge your windows | 198 | Horizontal scroll bars are no longer supported. Enlarge your windows |
| 199 | and frames instead, or use @code{truncate-lines} and the automatic | 199 | and frames instead, or use @code{truncate-lines} and the automatic |
| 200 | horizontal scrolling of text that Emacs had since time immemoriam. | 200 | horizontal scrolling of text that Emacs had since time immemorial. |
| 201 | 201 | ||
| 202 | @item | 202 | @item |
| 203 | Emacs is again counting the height of a frame's menu and its tool bar | 203 | Emacs is again counting the height of a frame's menu and its tool bar |
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 670848c65a1..7be660c85d1 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi | |||
| @@ -1299,8 +1299,8 @@ named @file{.dir-locals.el}@footnote{ On MS-DOS, the name of this file | |||
| 1299 | should be @file{_dir-locals.el}, due to limitations of the DOS | 1299 | should be @file{_dir-locals.el}, due to limitations of the DOS |
| 1300 | filesystems. If the filesystem is limited to 8+3 file names, the name | 1300 | filesystems. If the filesystem is limited to 8+3 file names, the name |
| 1301 | of the file will be truncated by the OS to @file{_dir-loc.el}. | 1301 | of the file will be truncated by the OS to @file{_dir-loc.el}. |
| 1302 | }@footnote{ You can also use files like @file{.dir-locals2.el}, which | 1302 | }@footnote{ You can also use @file{.dir-locals-2.el}, which |
| 1303 | are loaded in addition. This is useful when @file{.dir-locals.el} is | 1303 | is loaded in addition. This is useful when @file{.dir-locals.el} is |
| 1304 | under version control in a shared repository and can't be used for | 1304 | under version control in a shared repository and can't be used for |
| 1305 | personal customizations. } in a | 1305 | personal customizations. } in a |
| 1306 | directory. Whenever Emacs visits any file in that directory or any of | 1306 | directory. Whenever Emacs visits any file in that directory or any of |
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index bcde81b182e..40206d902b9 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi | |||
| @@ -1216,7 +1216,7 @@ using the internal Emacs representation. | |||
| 1216 | When Emacs runs on MS-Windows versions that are descendants of the | 1216 | When Emacs runs on MS-Windows versions that are descendants of the |
| 1217 | NT family (Windows 2000, XP, Vista, Windows 7, and Windows 8), the | 1217 | NT family (Windows 2000, XP, Vista, Windows 7, and Windows 8), the |
| 1218 | value of @code{file-name-coding-system} is largely ignored, as Emacs | 1218 | value of @code{file-name-coding-system} is largely ignored, as Emacs |
| 1219 | by default uses APIs that allow to pass Unicode file names directly. | 1219 | by default uses APIs that allow passing Unicode file names directly. |
| 1220 | By contrast, on Windows 9X, file names are encoded using | 1220 | By contrast, on Windows 9X, file names are encoded using |
| 1221 | @code{file-name-coding-system}, which should be set to the codepage | 1221 | @code{file-name-coding-system}, which should be set to the codepage |
| 1222 | (@pxref{Coding Systems, codepage}) pertinent for the current system | 1222 | (@pxref{Coding Systems, codepage}) pertinent for the current system |
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index df60347f839..6fa802d9fdd 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi | |||
| @@ -302,8 +302,8 @@ predicate conditions that compare values of expressions against | |||
| 302 | specific values known and written in advance. However, sometimes it | 302 | specific values known and written in advance. However, sometimes it |
| 303 | is useful to select alternatives based on more general conditions that | 303 | is useful to select alternatives based on more general conditions that |
| 304 | distinguish between broad classes of values. The @code{pcase} macro | 304 | distinguish between broad classes of values. The @code{pcase} macro |
| 305 | allows to choose between alternatives based on matching the value of | 305 | allows you to choose between alternatives based on matching the value |
| 306 | an expression against a series of patterns. A pattern can be a | 306 | of an expression against a series of patterns. A pattern can be a |
| 307 | literal value (comparison to literal values is what @code{cond} does), | 307 | literal value (comparison to literal values is what @code{cond} does), |
| 308 | or it can be a more general description of the expected structure of | 308 | or it can be a more general description of the expected structure of |
| 309 | the expression's value. | 309 | the expression's value. |
| @@ -350,7 +350,7 @@ when called with the value being matched as its argument. | |||
| 350 | @var{predfun} can be one of the possible forms described below. | 350 | @var{predfun} can be one of the possible forms described below. |
| 351 | @item (guard @var{boolean-expression}) | 351 | @item (guard @var{boolean-expression}) |
| 352 | Matches if @var{boolean-expression} evaluates to non-@code{nil}. This | 352 | Matches if @var{boolean-expression} evaluates to non-@code{nil}. This |
| 353 | allows to include in a UPattern boolean conditions that refer to | 353 | allows you to include in a UPattern boolean conditions that refer to |
| 354 | symbols bound to values (including the value being matched) by | 354 | symbols bound to values (including the value being matched) by |
| 355 | previous UPatterns. Typically used inside an @code{and} UPattern, see | 355 | previous UPatterns. Typically used inside an @code{and} UPattern, see |
| 356 | below. For example, @w{@code{(and x (guard (< x 10)))}} is a pattern | 356 | below. For example, @w{@code{(and x (guard (< x 10)))}} is a pattern |
| @@ -358,7 +358,7 @@ which matches any number smaller than 10 and let-binds the variable | |||
| 358 | @code{x} to that number. | 358 | @code{x} to that number. |
| 359 | @item (let @var{upattern} @var{expression}) | 359 | @item (let @var{upattern} @var{expression}) |
| 360 | Matches if the specified @var{expression} matches the specified | 360 | Matches if the specified @var{expression} matches the specified |
| 361 | @var{upattern}. This allows to match a pattern against the value of | 361 | @var{upattern}. This allows matching a pattern against the value of |
| 362 | an @emph{arbitrary} expression, not just the expression that is the | 362 | an @emph{arbitrary} expression, not just the expression that is the |
| 363 | first argument to @code{pcase}. (It is called @code{let} because | 363 | first argument to @code{pcase}. (It is called @code{let} because |
| 364 | @var{upattern} can bind symbols to values using the @var{symbol} | 364 | @var{upattern} can bind symbols to values using the @var{symbol} |
| @@ -407,7 +407,7 @@ Here's an illustrative example of using UPatterns: | |||
| 407 | (code (message "Unknown return code %S" code))) | 407 | (code (message "Unknown return code %S" code))) |
| 408 | @end example | 408 | @end example |
| 409 | 409 | ||
| 410 | The QPatterns are more powerful. They allow to match the value of the | 410 | The QPatterns are more powerful. They allow matching the value of the |
| 411 | @var{expression} that is the first argument of @code{pcase} against | 411 | @var{expression} that is the first argument of @code{pcase} against |
| 412 | specifications of its @emph{structure}. For example, you can specify | 412 | specifications of its @emph{structure}. For example, you can specify |
| 413 | that the value must be a list of 2 elements whose first element is a | 413 | that the value must be a list of 2 elements whose first element is a |
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index d77059916fc..eaba03d5739 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -4303,7 +4303,7 @@ divider ends above the bottom divider. | |||
| 4303 | Dividers can be dragged with the mouse and are therefore useful for | 4303 | Dividers can be dragged with the mouse and are therefore useful for |
| 4304 | adjusting the sizes of adjacent windows with the mouse. They also serve | 4304 | adjusting the sizes of adjacent windows with the mouse. They also serve |
| 4305 | to visually set apart adjacent windows when no scroll bars or mode lines | 4305 | to visually set apart adjacent windows when no scroll bars or mode lines |
| 4306 | are present. The following three faces allow to customize the | 4306 | are present. The following three faces allow the customization of the |
| 4307 | appearance of dividers: | 4307 | appearance of dividers: |
| 4308 | 4308 | ||
| 4309 | @table @code | 4309 | @table @code |
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 614b7db0cac..55d72427548 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi | |||
| @@ -2403,8 +2403,8 @@ The resulting mouse position is not constrained to the native frame of | |||
| 2403 | The return value is not significant. | 2403 | The return value is not significant. |
| 2404 | @end defun | 2404 | @end defun |
| 2405 | 2405 | ||
| 2406 | On a graphical terminal the following two functions allow to retrieve | 2406 | On a graphical terminal the following two functions allow the absolute |
| 2407 | and set the absolute position of the mouse cursor. | 2407 | position of the mouse cursor to be retrieved and set. |
| 2408 | 2408 | ||
| 2409 | @defun mouse-absolute-pixel-position | 2409 | @defun mouse-absolute-pixel-position |
| 2410 | This function returns a cons cell (@var{x} . @var{y}) of the coordinates | 2410 | This function returns a cons cell (@var{x} . @var{y}) of the coordinates |
| @@ -2426,7 +2426,7 @@ This predicate function returns non-@code{nil} if the mouse pointer | |||
| 2426 | displayed on @var{frame} is visible; otherwise it returns @code{nil}. | 2426 | displayed on @var{frame} is visible; otherwise it returns @code{nil}. |
| 2427 | @var{frame} omitted or @code{nil} means the selected frame. This is | 2427 | @var{frame} omitted or @code{nil} means the selected frame. This is |
| 2428 | useful when @code{make-pointer-invisible} is set to @code{t}: it | 2428 | useful when @code{make-pointer-invisible} is set to @code{t}: it |
| 2429 | allows to know if the pointer has been hidden. | 2429 | allows you to know if the pointer has been hidden. |
| 2430 | @xref{Mouse Avoidance,,,emacs, The Emacs Manual}. | 2430 | @xref{Mouse Avoidance,,,emacs, The Emacs Manual}. |
| 2431 | @end defun | 2431 | @end defun |
| 2432 | 2432 | ||
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index c5f5b4c22c4..a2e94c34b62 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi | |||
| @@ -1248,7 +1248,7 @@ Parent type: @code{array}. | |||
| 1248 | @item font-object | 1248 | @item font-object |
| 1249 | @end table | 1249 | @end table |
| 1250 | 1250 | ||
| 1251 | The optional @var{qualifier} allows to combine several applicable | 1251 | The optional @var{qualifier} allows combining several applicable |
| 1252 | methods. If it is not present, the defined method is a @dfn{primary} | 1252 | methods. If it is not present, the defined method is a @dfn{primary} |
| 1253 | method, responsible for providing the primary implementation of the | 1253 | method, responsible for providing the primary implementation of the |
| 1254 | generic function for the specialized arguments. You can also define | 1254 | generic function for the specialized arguments. You can also define |
| @@ -1270,8 +1270,8 @@ The most specific of such methods will be run before any other method. | |||
| 1270 | Such methods normally use @code{cl-call-next-method}, described below, | 1270 | Such methods normally use @code{cl-call-next-method}, described below, |
| 1271 | to invoke the other auxiliary or primary methods. | 1271 | to invoke the other auxiliary or primary methods. |
| 1272 | @item :extra @var{string} | 1272 | @item :extra @var{string} |
| 1273 | This allows to add more methods, distinguished by @var{string}, for | 1273 | This allows you to add more methods, distinguished by @var{string}, |
| 1274 | the same specializers and qualifiers. | 1274 | for the same specializers and qualifiers. |
| 1275 | @end table | 1275 | @end table |
| 1276 | @end defmac | 1276 | @end defmac |
| 1277 | 1277 | ||
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index fca40238805..9cf3b5750f2 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi | |||
| @@ -1338,9 +1338,9 @@ operates on the contents of @var{string} instead of bytes in the buffer. | |||
| 1338 | @cindex null bytes, and decoding text | 1338 | @cindex null bytes, and decoding text |
| 1339 | @defvar inhibit-null-byte-detection | 1339 | @defvar inhibit-null-byte-detection |
| 1340 | If this variable has a non-@code{nil} value, null bytes are ignored | 1340 | If this variable has a non-@code{nil} value, null bytes are ignored |
| 1341 | when detecting the encoding of a region or a string. This allows to | 1341 | when detecting the encoding of a region or a string. This allows the |
| 1342 | correctly detect the encoding of text that contains null bytes, such | 1342 | encoding of text that contains null bytes to be correctly detected, |
| 1343 | as Info files with Index nodes. | 1343 | such as Info files with Index nodes. |
| 1344 | @end defvar | 1344 | @end defvar |
| 1345 | 1345 | ||
| 1346 | @defvar inhibit-iso-escape-detection | 1346 | @defvar inhibit-iso-escape-detection |
diff --git a/doc/lispref/streams.texi b/doc/lispref/streams.texi index 80c194b1bdd..41bc71e6aea 100644 --- a/doc/lispref/streams.texi +++ b/doc/lispref/streams.texi | |||
| @@ -343,10 +343,10 @@ shared structures. @xref{Circular Objects}. Its default value is | |||
| 343 | When reading or writing from the standard input/output streams of the | 343 | When reading or writing from the standard input/output streams of the |
| 344 | Emacs process in batch mode, it is sometimes required to make sure any | 344 | Emacs process in batch mode, it is sometimes required to make sure any |
| 345 | arbitrary binary data will be read/written verbatim, and/or that no | 345 | arbitrary binary data will be read/written verbatim, and/or that no |
| 346 | translation of newlines to or from CR-LF pairs are performed. This | 346 | translation of newlines to or from CR-LF pairs is performed. This |
| 347 | issue does not exist on Posix hosts, only on MS-Windows and MS-DOS@. | 347 | issue does not exist on Posix hosts, only on MS-Windows and MS-DOS@. |
| 348 | The following function allows to control the I/O mode of any standard | 348 | The following function allows you to control the I/O mode of any |
| 349 | stream of the Emacs process. | 349 | standard stream of the Emacs process. |
| 350 | 350 | ||
| 351 | @defun set-binary-mode stream mode | 351 | @defun set-binary-mode stream mode |
| 352 | Switch @var{stream} into binary or text I/O mode. If @var{mode} is | 352 | Switch @var{stream} into binary or text I/O mode. If @var{mode} is |
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 42701614365..6c53e9b6cca 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi | |||
| @@ -1765,33 +1765,20 @@ variables: by putting them in a special file, or by defining a | |||
| 1765 | @dfn{project class} for that directory. | 1765 | @dfn{project class} for that directory. |
| 1766 | 1766 | ||
| 1767 | @defvr Constant dir-locals-file | 1767 | @defvr Constant dir-locals-file |
| 1768 | This constant is a wildcard pattern matching the name of files where | 1768 | This constant is the name of the file where Emacs expects to find the |
| 1769 | Emacs expects to find directory-local variables. Its value is | 1769 | directory-local variables. The name of the file is |
| 1770 | @file{.dir-locals*.el}@footnote{ | 1770 | @file{.dir-locals.el}@footnote{ |
| 1771 | The MS-DOS version of Emacs uses @file{_dir-locals*.el} instead, due to | 1771 | The MS-DOS version of Emacs uses @file{_dir-locals.el} instead, due to |
| 1772 | limitations of the DOS filesystems. | 1772 | limitations of the DOS filesystems. |
| 1773 | }, and the most common file name to use is @file{.dir-locals.el}. | 1773 | }. A file by that name in a directory causes Emacs to apply its |
| 1774 | 1774 | settings to any file in that directory or any of its subdirectories | |
| 1775 | Any file matching this name pattern in a directory causes Emacs to | 1775 | (optionally, you can exclude subdirectories; see below). |
| 1776 | apply its settings when visiting files in that directory or any of its | 1776 | If some of the subdirectories have their own @file{.dir-locals.el} |
| 1777 | subdirectories (optionally, you can exclude subdirectories; see | 1777 | files, Emacs uses the settings from the deepest file it finds starting |
| 1778 | below). | 1778 | from the file's directory and moving up the directory tree. The file |
| 1779 | If some of the subdirectories have their own file matching | 1779 | specifies local variables as a specially formatted list; see |
| 1780 | @file{.dir-locals*.el}, Emacs uses the settings from the deepest file | 1780 | @ref{Directory Variables, , Per-directory Local Variables, emacs, The |
| 1781 | it finds starting from the file's directory and moving up the | 1781 | GNU Emacs Manual}, for more details. |
| 1782 | directory tree. The file specifies local variables as a specially | ||
| 1783 | formatted list; see @ref{Directory Variables, , Per-directory Local | ||
| 1784 | Variables, emacs, The GNU Emacs Manual}, for more details. | ||
| 1785 | |||
| 1786 | If the same directory contains multiple such files (for instance, | ||
| 1787 | @file{.dir-locals.el} and @file{.dir-locals2.el}), then all of them | ||
| 1788 | are used in @code{string<} order. This means that, if two files | ||
| 1789 | specify different values for the same variable, the file sorted after | ||
| 1790 | will override the value of the previous file (for instance, values in | ||
| 1791 | @file{.dir-locals2.el} override those in @file{.dir-locals.el}). Note | ||
| 1792 | that, because of how lexicographic order works, values in | ||
| 1793 | @file{.dir-locals10.el} are overridden by values in @file{.dir-locals2.el}. | ||
| 1794 | This can be avoided by using @file{.dir-locals02.el} instead. | ||
| 1795 | @end defvr | 1782 | @end defvr |
| 1796 | 1783 | ||
| 1797 | @defun hack-dir-local-variables | 1784 | @defun hack-dir-local-variables |
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index 7186791f94a..ca756e3ff7f 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi | |||
| @@ -383,8 +383,8 @@ as if @var{mini} were @code{nil}. | |||
| 383 | If it doesn't find a suitable window, this function returns @code{nil}. | 383 | If it doesn't find a suitable window, this function returns @code{nil}. |
| 384 | @end defun | 384 | @end defun |
| 385 | 385 | ||
| 386 | The following function allows to retrieve the entire window tree of a | 386 | The following function allows the entire window tree of a frame to be |
| 387 | frame: | 387 | retrieved: |
| 388 | 388 | ||
| 389 | @defun window-tree &optional frame | 389 | @defun window-tree &optional frame |
| 390 | This function returns a list representing the window tree for frame | 390 | This function returns a list representing the window tree for frame |
| @@ -1476,7 +1476,7 @@ displaying a buffer only temporarily (@pxref{Temporary Displays}), and | |||
| 1476 | you want to continue working with the initial layout. | 1476 | you want to continue working with the initial layout. |
| 1477 | 1477 | ||
| 1478 | The behavior can be fixed by making a new parent window when splitting | 1478 | The behavior can be fixed by making a new parent window when splitting |
| 1479 | @var{W2}. The variable described next allows to do that. | 1479 | @var{W2}. The variable described next allows that to be done. |
| 1480 | 1480 | ||
| 1481 | @defopt window-combination-limit | 1481 | @defopt window-combination-limit |
| 1482 | This variable controls whether splitting a window shall make a new | 1482 | This variable controls whether splitting a window shall make a new |
| @@ -1579,7 +1579,7 @@ combination limit of @var{W4} (the parent window of @var{W6} and | |||
| 1579 | 1579 | ||
| 1580 | Alternatively, the problems sketched above can be avoided by always | 1580 | Alternatively, the problems sketched above can be avoided by always |
| 1581 | resizing all windows in the same combination whenever one of its windows | 1581 | resizing all windows in the same combination whenever one of its windows |
| 1582 | is split or deleted. This also permits to split windows that would be | 1582 | is split or deleted. This also permits splitting windows that would be |
| 1583 | otherwise too small for such an operation. | 1583 | otherwise too small for such an operation. |
| 1584 | 1584 | ||
| 1585 | @defopt window-combination-resize | 1585 | @defopt window-combination-resize |
| @@ -2522,11 +2522,11 @@ windows are dedicated to another buffer (@pxref{Dedicated Windows}). | |||
| 2522 | 2522 | ||
| 2523 | @defun display-buffer-no-window buffer alist | 2523 | @defun display-buffer-no-window buffer alist |
| 2524 | If @var{alist} has a non-@code{nil} @code{allow-no-window} entry, then | 2524 | If @var{alist} has a non-@code{nil} @code{allow-no-window} entry, then |
| 2525 | this function does not display @code{buffer}. This allows to override | 2525 | this function does not display @code{buffer}. This allows you to |
| 2526 | the default action and avoid displaying the buffer. It is assumed that | 2526 | override the default action and avoid displaying the buffer. It is |
| 2527 | when the caller specifies a non-@code{nil} @code{allow-no-window} value | 2527 | assumed that when the caller specifies a non-@code{nil} |
| 2528 | it can handle a @code{nil} value returned from @code{display-buffer} in | 2528 | @code{allow-no-window} value it can handle a @code{nil} value returned |
| 2529 | this case. | 2529 | from @code{display-buffer} in this case. |
| 2530 | @end defun | 2530 | @end defun |
| 2531 | 2531 | ||
| 2532 | To illustrate the use of action functions, consider the following | 2532 | To illustrate the use of action functions, consider the following |
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index c5901aff104..f4ebfebcbe3 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi | |||
| @@ -138,8 +138,8 @@ name could be @samp{org.gnu.Emacs.TextEditor} or | |||
| 138 | @section D-Bus version. | 138 | @section D-Bus version. |
| 139 | 139 | ||
| 140 | D-Bus has evolved over the years. New features have been added with | 140 | D-Bus has evolved over the years. New features have been added with |
| 141 | new D-Bus versions. There are two variables, which allow to determine | 141 | new D-Bus versions. There are two variables, which allow the determination |
| 142 | the used D-Bus version. | 142 | of the D-Bus version used. |
| 143 | 143 | ||
| 144 | @defvar dbus-compiled-version | 144 | @defvar dbus-compiled-version |
| 145 | This variable, a string, determines the version of D-Bus Emacs is | 145 | This variable, a string, determines the version of D-Bus Emacs is |
diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi index 14f0a8d0ea2..0e9bedbe1d0 100644 --- a/doc/misc/eww.texi +++ b/doc/misc/eww.texi | |||
| @@ -168,8 +168,8 @@ You can view stored bookmarks with @kbd{B} | |||
| 168 | @kindex S | 168 | @kindex S |
| 169 | @cindex Multiple Buffers | 169 | @cindex Multiple Buffers |
| 170 | To get summary of currently opened EWW buffers, press @kbd{S} | 170 | To get summary of currently opened EWW buffers, press @kbd{S} |
| 171 | (@code{eww-list-buffers}). The @file{*eww buffers*} buffer allows to | 171 | (@code{eww-list-buffers}). The @file{*eww buffers*} buffer allows you |
| 172 | quickly kill, flip through and switch to specific EWW buffer. | 172 | to quickly kill, flip through and switch to specific EWW buffer. |
| 173 | 173 | ||
| 174 | @findex eww-browse-with-external-browser | 174 | @findex eww-browse-with-external-browser |
| 175 | @vindex shr-external-browser | 175 | @vindex shr-external-browser |
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index 99633b60c70..1c4644bba14 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi | |||
| @@ -717,7 +717,7 @@ sort error menu items, which shows error messages first. | |||
| 717 | Flymake is also able to interpret error message patterns missing err-text-idx | 717 | Flymake is also able to interpret error message patterns missing err-text-idx |
| 718 | information. This is done by merely taking the rest of the matched line | 718 | information. This is done by merely taking the rest of the matched line |
| 719 | (@code{(substring line (match-end 0))}) as error text. This trick allows | 719 | (@code{(substring line (match-end 0))}) as error text. This trick allows |
| 720 | to make use of a huge collection of error message line patterns from | 720 | making use of a huge collection of error message line patterns from |
| 721 | @code{compile.el}. All these error patterns are appended to | 721 | @code{compile.el}. All these error patterns are appended to |
| 722 | the end of @code{flymake-err-line-patterns}. | 722 | the end of @code{flymake-err-line-patterns}. |
| 723 | 723 | ||
diff --git a/doc/misc/octave-mode.texi b/doc/misc/octave-mode.texi index 65cc6a431eb..0307873df03 100644 --- a/doc/misc/octave-mode.texi +++ b/doc/misc/octave-mode.texi | |||
| @@ -436,7 +436,7 @@ when Octave is waiting for input, or done sending output. | |||
| 436 | @c You can use either 'plain' Emacs Info or the function @code{octave-help} | 436 | @c You can use either 'plain' Emacs Info or the function @code{octave-help} |
| 437 | @c as your Octave info reader (for @samp{help -i}). In the former case, | 437 | @c as your Octave info reader (for @samp{help -i}). In the former case, |
| 438 | @c use @code{info_program ("info-emacs-info")}. | 438 | @c use @code{info_program ("info-emacs-info")}. |
| 439 | @c The latter is perhaps more attractive because it allows to look up keys | 439 | @c The latter is perhaps more attractive because it allows you to look up keys |
| 440 | @c in the indices of @emph{several} info files related to Octave (provided | 440 | @c in the indices of @emph{several} info files related to Octave (provided |
| 441 | @c that the Emacs variable @code{octave-help-files} is set correctly). In | 441 | @c that the Emacs variable @code{octave-help-files} is set correctly). In |
| 442 | @c this case, use @code{info_program ("info-emacs-octave-help")}. | 442 | @c this case, use @code{info_program ("info-emacs-octave-help")}. |
diff --git a/doc/misc/org.texi b/doc/misc/org.texi index ec676fca1d4..a5239acb59f 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi | |||
| @@ -12890,9 +12890,9 @@ including DocBook.}. | |||
| 12890 | When processing a document, @samp{texinfo} back-end generates a minimal file | 12890 | When processing a document, @samp{texinfo} back-end generates a minimal file |
| 12891 | header along with a title page, a copyright page, and a menu. You control | 12891 | header along with a title page, a copyright page, and a menu. You control |
| 12892 | the latter through the structure of the document (@pxref{Headings and | 12892 | the latter through the structure of the document (@pxref{Headings and |
| 12893 | sectioning structure}). Various keywords allow to tweak the other parts. It | 12893 | sectioning structure}). Various keywords allow you to tweak the other parts. |
| 12894 | is also possible to give directions to install the document in the @samp{Top} | 12894 | It is also possible to give directions to install the document in the |
| 12895 | node. | 12895 | @samp{Top} node. |
| 12896 | 12896 | ||
| 12897 | @subsubheading File header | 12897 | @subsubheading File header |
| 12898 | 12898 | ||
diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index 3dc3ed47b24..ff7011c5a76 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi | |||
| @@ -5213,7 +5213,7 @@ mouse @r{Highlighting is mouse driven.} | |||
| 5213 | both @r{Both cursor and mouse trigger highlighting.} | 5213 | both @r{Both cursor and mouse trigger highlighting.} |
| 5214 | @end example | 5214 | @end example |
| 5215 | 5215 | ||
| 5216 | Changing this variable requires to rebuild the selection and *toc* | 5216 | Changing this variable requires rebuilding the selection and *toc* |
| 5217 | buffers to become effective (keys @kbd{g} or @kbd{r}). | 5217 | buffers to become effective (keys @kbd{g} or @kbd{r}). |
| 5218 | @end defopt | 5218 | @end defopt |
| 5219 | 5219 | ||
| @@ -5421,8 +5421,8 @@ after words. Disabled indexing in comment lines. | |||
| 5421 | New command @code{reftex-create-bibtex-file} to create a new database | 5421 | New command @code{reftex-create-bibtex-file} to create a new database |
| 5422 | with all entries referenced in the current document. | 5422 | with all entries referenced in the current document. |
| 5423 | @item | 5423 | @item |
| 5424 | New keys @kbd{e} and @kbd{E} allow to produce a BibTeX database file | 5424 | New keys @kbd{e} and @kbd{E} allow you to produce a BibTeX database |
| 5425 | from entries marked in a citation selection buffer. | 5425 | file from entries marked in a citation selection buffer. |
| 5426 | @end itemize | 5426 | @end itemize |
| 5427 | 5427 | ||
| 5428 | @noindent @b{Version 4.21} | 5428 | @noindent @b{Version 4.21} |
| @@ -5610,8 +5610,8 @@ demand. | |||
| 5610 | @item | 5610 | @item |
| 5611 | Index support, along with many new options. | 5611 | Index support, along with many new options. |
| 5612 | @item | 5612 | @item |
| 5613 | The selection of keys for @code{\ref} and @code{\cite} now allows to | 5613 | The selection of keys for @code{\ref} and @code{\cite} now allows you |
| 5614 | select multiple items by marking entries with the @kbd{m} key. | 5614 | to select multiple items by marking entries with the @kbd{m} key. |
| 5615 | @item | 5615 | @item |
| 5616 | Fancyref support. | 5616 | Fancyref support. |
| 5617 | @end itemize | 5617 | @end itemize |
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 936c32dc5f4..8b3c9490f09 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | % Load plain if necessary, i.e., if running under initex. | 3 | % Load plain if necessary, i.e., if running under initex. |
| 4 | \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi | 4 | \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi |
| 5 | % | 5 | % |
| 6 | \def\texinfoversion{2016-01-11.19} | 6 | \def\texinfoversion{2016-01-20.20} |
| 7 | % | 7 | % |
| 8 | % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, | 8 | % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, |
| 9 | % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, | 9 | % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, |
| @@ -4737,11 +4737,10 @@ end | |||
| 4737 | \def\_{\normalunderscore}% | 4737 | \def\_{\normalunderscore}% |
| 4738 | \def\-{}% @- shouldn't affect sorting | 4738 | \def\-{}% @- shouldn't affect sorting |
| 4739 | % | 4739 | % |
| 4740 | \def\lbracechar{{\indexlbrace}}% | 4740 | \uccode`\1=`\{ \uppercase{\def\{{1}}% |
| 4741 | \def\rbracechar{{\indexrbrace}}% | 4741 | \uccode`\1=`\} \uppercase{\def\}{1}}% |
| 4742 | \let\{=\lbracechar | 4742 | \let\lbracechar\{ |
| 4743 | \let\}=\rbracechar | 4743 | \let\rbracechar\} |
| 4744 | % | ||
| 4745 | % | 4744 | % |
| 4746 | % Non-English letters. | 4745 | % Non-English letters. |
| 4747 | \def\AA{AA}% | 4746 | \def\AA{AA}% |
| @@ -4901,9 +4900,15 @@ end | |||
| 4901 | \indexdummies % Must do this here, since \bf, etc expand at this stage | 4900 | \indexdummies % Must do this here, since \bf, etc expand at this stage |
| 4902 | \useindexbackslash % \indexbackslash isn't defined now so it will be output | 4901 | \useindexbackslash % \indexbackslash isn't defined now so it will be output |
| 4903 | % as is; and it will print as backslash. | 4902 | % as is; and it will print as backslash. |
| 4903 | % The braces around \indexbrace are recognized by texindex. | ||
| 4904 | % | ||
| 4904 | % Get the string to sort by, by processing the index entry with all | 4905 | % Get the string to sort by, by processing the index entry with all |
| 4905 | % font commands turned off. | 4906 | % font commands turned off. |
| 4906 | {\indexnofonts | 4907 | {\indexnofonts |
| 4908 | \def\lbracechar{{\indexlbrace}}% | ||
| 4909 | \def\rbracechar{{\indexrbrace}}% | ||
| 4910 | \let\{=\lbracechar | ||
| 4911 | \let\}=\rbracechar | ||
| 4907 | \indexnonalnumdisappear | 4912 | \indexnonalnumdisappear |
| 4908 | \xdef\indexsortkey{}% | 4913 | \xdef\indexsortkey{}% |
| 4909 | \let\sortas=\indexwritesortas | 4914 | \let\sortas=\indexwritesortas |
| @@ -8526,10 +8531,6 @@ end | |||
| 8526 | }% | 8531 | }% |
| 8527 | \setcolor{\linkcolor}% | 8532 | \setcolor{\linkcolor}% |
| 8528 | \fi | 8533 | \fi |
| 8529 | % | ||
| 8530 | % Float references are printed completely differently: "Figure 1.2" | ||
| 8531 | % instead of "[somenode], p.3". We distinguish them by the | ||
| 8532 | % LABEL-title being set to a magic string. | ||
| 8533 | {% | 8534 | {% |
| 8534 | % Have to otherify everything special to allow the \csname to | 8535 | % Have to otherify everything special to allow the \csname to |
| 8535 | % include an _ in the xref name, etc. | 8536 | % include an _ in the xref name, etc. |
| @@ -8538,6 +8539,10 @@ end | |||
| 8538 | \expandafter\global\expandafter\let\expandafter\Xthisreftitle | 8539 | \expandafter\global\expandafter\let\expandafter\Xthisreftitle |
| 8539 | \csname XR#1-title\endcsname | 8540 | \csname XR#1-title\endcsname |
| 8540 | }% | 8541 | }% |
| 8542 | % | ||
| 8543 | % Float references are printed completely differently: "Figure 1.2" | ||
| 8544 | % instead of "[somenode], p.3". \iffloat distinguishes them by | ||
| 8545 | % \Xthisreftitle being set to a magic string. | ||
| 8541 | \iffloat\Xthisreftitle | 8546 | \iffloat\Xthisreftitle |
| 8542 | % If the user specified the print name (third arg) to the ref, | 8547 | % If the user specified the print name (third arg) to the ref, |
| 8543 | % print it instead of our usual "Figure 1.2". | 8548 | % print it instead of our usual "Figure 1.2". |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 37bf7ea8bc4..d01f9be9fbf 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -815,11 +815,9 @@ capable of servicing requests from @value{tramp}. | |||
| 815 | @cindex method smb | 815 | @cindex method smb |
| 816 | @cindex smb method | 816 | @cindex smb method |
| 817 | 817 | ||
| 818 | This is another non-native @value{tramp} method. @command{smbclient} | 818 | This non-native @value{tramp} method connects via the Server Message |
| 819 | connects to any host with SMB/CIFS protocol, such as MS Windows and | 819 | Block (SMB) networking protocol to hosts running file servers that are |
| 820 | Samba Servers running on Unixes. Tests show this @value{tramp} method | 820 | typically based on @url{https://www.samba.org/,,Samba} or MS Windows. |
| 821 | works with MS Windows NT, MS Windows 2000, MS Windows XP, MS Windows | ||
| 822 | Vista, and MS Windows 7. | ||
| 823 | 821 | ||
| 824 | Using @command{smbclient} requires a few tweaks when working with | 822 | Using @command{smbclient} requires a few tweaks when working with |
| 825 | @value{tramp}: | 823 | @value{tramp}: |
| @@ -827,7 +825,7 @@ Using @command{smbclient} requires a few tweaks when working with | |||
| 827 | The first directory in the localname must be a share name on the | 825 | The first directory in the localname must be a share name on the |
| 828 | remote host. | 826 | remote host. |
| 829 | 827 | ||
| 830 | Since smb shares end in the @code{$} character, @value{tramp} must use | 828 | Since SMB shares end in the @code{$} character, @value{tramp} must use |
| 831 | @code{$$} when specifying those shares to avoid environment variable | 829 | @code{$$} when specifying those shares to avoid environment variable |
| 832 | substitutions. | 830 | substitutions. |
| 833 | 831 | ||
| @@ -871,16 +869,17 @@ uses the anonymous user (without prompting for password). This | |||
| 871 | behavior is unlike other @value{tramp} methods, where local user name | 869 | behavior is unlike other @value{tramp} methods, where local user name |
| 872 | is substituted. | 870 | is substituted. |
| 873 | 871 | ||
| 874 | @option{smb} method is unavailable if Emacs is run under a local user | 872 | The @option{smb} method is unavailable if Emacs is run under a |
| 875 | authentication context in MS Windows. However such users can still | 873 | local user authentication context in MS Windows. However such users |
| 876 | access remote files using UNC file names instead of @value{tramp}: | 874 | can still access remote files using UNC file names instead of @value{tramp}: |
| 877 | 875 | ||
| 878 | @example | 876 | @example |
| 879 | //melancholia/daniel$$/.emacs | 877 | //melancholia/daniel$$/.emacs |
| 880 | @end example | 878 | @end example |
| 881 | 879 | ||
| 882 | UNC file name specification does not allow to specify a different user | 880 | UNC file name specification does not allow the specification of a |
| 883 | name for authentication like the @command{smbclient} can. | 881 | different user name for authentication like the @command{smbclient} |
| 882 | can. | ||
| 884 | 883 | ||
| 885 | @item @option{adb} | 884 | @item @option{adb} |
| 886 | @cindex method adb | 885 | @cindex method adb |
| @@ -2830,7 +2829,7 @@ open. That is why @value{tramp} prompts for the password again even | |||
| 2830 | if there is an @command{ssh} already open. | 2829 | if there is an @command{ssh} already open. |
| 2831 | 2830 | ||
| 2832 | Some @command{ssh} versions support a @code{ControlPersist} option, | 2831 | Some @command{ssh} versions support a @code{ControlPersist} option, |
| 2833 | which allows to set the @code{ControlPath} provided the variable | 2832 | which allows you to set the @code{ControlPath} provided the variable |
| 2834 | @code{tramp-ssh-controlmaster-options} is customized as follows: | 2833 | @code{tramp-ssh-controlmaster-options} is customized as follows: |
| 2835 | 2834 | ||
| 2836 | @lisp | 2835 | @lisp |
diff --git a/doc/misc/url.texi b/doc/misc/url.texi index acdad6b0d10..c46859968a2 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi | |||
| @@ -423,7 +423,7 @@ the directory specified by @code{url-configuration-directory}. | |||
| 423 | @end defopt | 423 | @end defopt |
| 424 | 424 | ||
| 425 | @defopt url-cookie-confirmation | 425 | @defopt url-cookie-confirmation |
| 426 | Specifies whether confirmation is require to accept cookies. | 426 | Specifies whether confirmation is required to accept cookies. |
| 427 | @end defopt | 427 | @end defopt |
| 428 | 428 | ||
| 429 | @defopt url-cookie-multiple-line | 429 | @defopt url-cookie-multiple-line |
diff --git a/doc/misc/wisent.texi b/doc/misc/wisent.texi index a4462937f1c..b4efbdad1b8 100644 --- a/doc/misc/wisent.texi +++ b/doc/misc/wisent.texi | |||
| @@ -1155,8 +1155,8 @@ It defaults to the start symbol defined in the grammar | |||
| 1155 | @end table | 1155 | @end table |
| 1156 | @end defun | 1156 | @end defun |
| 1157 | 1157 | ||
| 1158 | The following two normal hooks permit to do some useful processing | 1158 | The following two normal hooks permit doing some useful processing |
| 1159 | respectively before to start parsing, and after the parser terminated. | 1159 | respectively before starting parsing, and after the parser terminated. |
| 1160 | 1160 | ||
| 1161 | @vindex wisent-pre-parse-hook | 1161 | @vindex wisent-pre-parse-hook |
| 1162 | @defvar wisent-pre-parse-hook | 1162 | @defvar wisent-pre-parse-hook |
| @@ -142,7 +142,7 @@ and silent rules are now quieter. To get the old behavior where | |||
| 142 | build with 'make V=1'. | 142 | build with 'make V=1'. |
| 143 | 143 | ||
| 144 | --- | 144 | --- |
| 145 | ** The configure option '--with-gameuser' now allows to specify a | 145 | ** The configure option '--with-gameuser' now allows you to specify a |
| 146 | group instead of a user if its argument is prefixed by ':' (a colon). | 146 | group instead of a user if its argument is prefixed by ':' (a colon). |
| 147 | This will cause the game score files in ${localstatedir}/games/emacs | 147 | This will cause the game score files in ${localstatedir}/games/emacs |
| 148 | to be owned by that group, and the helper program for updating them to | 148 | to be owned by that group, and the helper program for updating them to |
| @@ -234,9 +234,8 @@ by default, and must be enabled by using the `--with-modules' option | |||
| 234 | at configure time. | 234 | at configure time. |
| 235 | 235 | ||
| 236 | +++ | 236 | +++ |
| 237 | ** Any file of the form .dir-locals*.el is now considered a dir-local | 237 | ** A second dir-local file (.dir-locals-2.el) is now accepted. |
| 238 | file, and multiple such files can be used in the same directory. See | 238 | See the variable `dir-locals-file-2' for more information. |
| 239 | the variable `dir-locals-file' for more information. | ||
| 240 | 239 | ||
| 241 | +++ | 240 | +++ |
| 242 | ** Network security (TLS/SSL certificate validity and the like) is | 241 | ** Network security (TLS/SSL certificate validity and the like) is |
| @@ -263,9 +262,9 @@ select-enable-primary is ineffective since the system doesn't | |||
| 263 | have the equivalent of a primary selection. | 262 | have the equivalent of a primary selection. |
| 264 | 263 | ||
| 265 | +++ | 264 | +++ |
| 266 | ** New option `switch-to-buffer-in-dedicated-window' allows to customize | 265 | ** New option `switch-to-buffer-in-dedicated-window' allows you to |
| 267 | how `switch-to-buffer' proceeds interactively when the selected window | 266 | customize how `switch-to-buffer' proceeds interactively when the |
| 268 | is strongly dedicated to its buffer. | 267 | selected window is strongly dedicated to its buffer. |
| 269 | 268 | ||
| 270 | +++ | 269 | +++ |
| 271 | ** The option `even-window-heights' has been renamed to | 270 | ** The option `even-window-heights' has been renamed to |
| @@ -920,11 +919,12 @@ plist will contain a :peer element that has the output of | |||
| 920 | ** Tramp | 919 | ** Tramp |
| 921 | 920 | ||
| 922 | +++ | 921 | +++ |
| 923 | *** New connection method "afp", which allows to access Mac OS X | 922 | *** New connection method "afp", which allows you to access Mac OS X |
| 924 | volumes via the Apple Filing Protocol. | 923 | volumes via the Apple Filing Protocol. |
| 925 | 924 | ||
| 926 | +++ | 925 | +++ |
| 927 | *** New connection method "nc", which allows to access dumb busyboxes. | 926 | *** New connection method "nc", which allows you to access dumb |
| 927 | busyboxes. | ||
| 928 | 928 | ||
| 929 | +++ | 929 | +++ |
| 930 | *** Method-specific parameters can be overwritten now with variable | 930 | *** Method-specific parameters can be overwritten now with variable |
| @@ -1288,7 +1288,7 @@ node "Generic Functions" in the Emacs Lisp manual for more details. | |||
| 1288 | let-bind the values stored in an alist. | 1288 | let-bind the values stored in an alist. |
| 1289 | 1289 | ||
| 1290 | --- | 1290 | --- |
| 1291 | ** `tildify-mode' allows to automatically insert hard spaces as one | 1291 | ** `tildify-mode' allows automatic insertion of hard spaces as one |
| 1292 | types the text. Breaking line after a single-character words is | 1292 | types the text. Breaking line after a single-character words is |
| 1293 | forbidden by Czech and Polish typography (and may be discouraged in | 1293 | forbidden by Czech and Polish typography (and may be discouraged in |
| 1294 | other languages), so `auto-tildify-mode' makes it easier to create | 1294 | other languages), so `auto-tildify-mode' makes it easier to create |
| @@ -1492,7 +1492,7 @@ commands other than the predefined `C-u'. | |||
| 1492 | 1492 | ||
| 1493 | +++ | 1493 | +++ |
| 1494 | ** New functions `filepos-to-bufferpos' and `bufferpos-to-filepos'. | 1494 | ** New functions `filepos-to-bufferpos' and `bufferpos-to-filepos'. |
| 1495 | These allow to convert between buffer positions and the corresponding | 1495 | These allow conversion between buffer positions and the corresponding |
| 1496 | file byte offsets, given the file's encoding. | 1496 | file byte offsets, given the file's encoding. |
| 1497 | 1497 | ||
| 1498 | +++ | 1498 | +++ |
| @@ -1615,14 +1615,14 @@ called interactively. | |||
| 1615 | ** New function `function-put' to use instead of `put' for function properties. | 1615 | ** New function `function-put' to use instead of `put' for function properties. |
| 1616 | 1616 | ||
| 1617 | +++ | 1617 | +++ |
| 1618 | ** The new function `bidi-find-overridden-directionality' allows to | 1618 | ** The new function `bidi-find-overridden-directionality' allows you to |
| 1619 | find characters whose directionality was, perhaps maliciously, | 1619 | find characters whose directionality was, perhaps maliciously, |
| 1620 | overridden by directional override control characters. Lisp programs | 1620 | overridden by directional override control characters. Lisp programs |
| 1621 | can use this to detect potential phishing of URLs and other links that | 1621 | can use this to detect potential phishing of URLs and other links that |
| 1622 | exploits bidirectional display reordering. | 1622 | exploits bidirectional display reordering. |
| 1623 | 1623 | ||
| 1624 | +++ | 1624 | +++ |
| 1625 | ** The new function `buffer-substring-with-bidi-context' allows to | 1625 | ** The new function `buffer-substring-with-bidi-context' allows you to |
| 1626 | copy a portion of a buffer into a different location while preserving | 1626 | copy a portion of a buffer into a different location while preserving |
| 1627 | the visual appearance both of the copied text and the text at | 1627 | the visual appearance both of the copied text and the text at |
| 1628 | destination, even when the copied text includes mixed bidirectional | 1628 | destination, even when the copied text includes mixed bidirectional |
| @@ -1745,7 +1745,7 @@ undocumented integer-pair format. Instead, they return a list of two | |||
| 1745 | integers. | 1745 | integers. |
| 1746 | 1746 | ||
| 1747 | +++ | 1747 | +++ |
| 1748 | ** New function `set-binary-mode' allows to switch a standard stream | 1748 | ** New function `set-binary-mode' allows switching a standard stream |
| 1749 | of the Emacs process to binary I/O mode. | 1749 | of the Emacs process to binary I/O mode. |
| 1750 | 1750 | ||
| 1751 | +++ | 1751 | +++ |
| @@ -1856,8 +1856,8 @@ fullwidth frames, the behavior may depend on the toolkit used. | |||
| 1856 | number of columns or lines it displays. | 1856 | number of columns or lines it displays. |
| 1857 | 1857 | ||
| 1858 | +++ | 1858 | +++ |
| 1859 | *** New function `window-preserve-size' allows to preserve the size of | 1859 | *** New function `window-preserve-size' allows you to preserve the size of |
| 1860 | windows without "fixing" it. It's supported by `fit-window-to-buffer', | 1860 | a window without "fixing" it. It's supported by `fit-window-to-buffer', |
| 1861 | `temp-buffer-resize-mode' and `display-buffer'. | 1861 | `temp-buffer-resize-mode' and `display-buffer'. |
| 1862 | 1862 | ||
| 1863 | +++ | 1863 | +++ |
diff --git a/lib-src/rcs2log b/lib-src/rcs2log index 73213c5a37b..ff4d470a21a 100755 --- a/lib-src/rcs2log +++ b/lib-src/rcs2log | |||
| @@ -403,8 +403,8 @@ case $rlogfile in | |||
| 403 | esac | 403 | esac |
| 404 | 404 | ||
| 405 | case $datearg in | 405 | case $datearg in |
| 406 | ?*) $rlog $rlog_options "$datearg" ${1+"$@"} >$rlogfile;; | 406 | ?*) $rlog $rlog_options "$datearg" "$@" >$rlogfile;; |
| 407 | '') $rlog $rlog_options ${1+"$@"} >$rlogfile;; | 407 | '') $rlog $rlog_options "$@" >$rlogfile;; |
| 408 | esac || exit;; | 408 | esac || exit;; |
| 409 | esac | 409 | esac |
| 410 | 410 | ||
diff --git a/lib/acl-internal.c b/lib/acl-internal.c index 569e2f9c9e2..4de60c30ec1 100644 --- a/lib/acl-internal.c +++ b/lib/acl-internal.c | |||
| @@ -478,7 +478,7 @@ acl_nontrivial (int count, struct acl *entries) | |||
| 478 | void | 478 | void |
| 479 | free_permission_context (struct permission_context *ctx) | 479 | free_permission_context (struct permission_context *ctx) |
| 480 | { | 480 | { |
| 481 | #ifdef USE_ACL | 481 | #if USE_ACL |
| 482 | # if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ | 482 | # if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ |
| 483 | if (ctx->acl) | 483 | if (ctx->acl) |
| 484 | acl_free (ctx->acl); | 484 | acl_free (ctx->acl); |
diff --git a/lib/acl-internal.h b/lib/acl-internal.h index 526e9f07788..636273e0fb4 100644 --- a/lib/acl-internal.h +++ b/lib/acl-internal.h | |||
| @@ -255,7 +255,7 @@ extern int acl_nontrivial (int count, struct acl *entries); | |||
| 255 | 255 | ||
| 256 | struct permission_context { | 256 | struct permission_context { |
| 257 | mode_t mode; | 257 | mode_t mode; |
| 258 | #ifdef USE_ACL | 258 | #if USE_ACL |
| 259 | # if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ | 259 | # if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ |
| 260 | acl_t acl; | 260 | acl_t acl; |
| 261 | # if !HAVE_ACL_TYPE_EXTENDED | 261 | # if !HAVE_ACL_TYPE_EXTENDED |
diff --git a/lib/binary-io.h b/lib/binary-io.h index d5c82335707..9f17c0d3987 100644 --- a/lib/binary-io.h +++ b/lib/binary-io.h | |||
| @@ -60,7 +60,7 @@ set_binary_mode (int fd, int mode) | |||
| 60 | 60 | ||
| 61 | /* SET_BINARY (fd); | 61 | /* SET_BINARY (fd); |
| 62 | changes the file descriptor fd to perform binary I/O. */ | 62 | changes the file descriptor fd to perform binary I/O. */ |
| 63 | #ifdef __DJGPP__ | 63 | #if defined __DJGPP__ || defined __EMX__ |
| 64 | # include <unistd.h> /* declares isatty() */ | 64 | # include <unistd.h> /* declares isatty() */ |
| 65 | /* Avoid putting stdin/stdout in binary mode if it is connected to | 65 | /* Avoid putting stdin/stdout in binary mode if it is connected to |
| 66 | the console, because that would make it impossible for the user | 66 | the console, because that would make it impossible for the user |
diff --git a/lib/dirent.in.h b/lib/dirent.in.h index 4c62737bdc6..65482d7b7ac 100644 --- a/lib/dirent.in.h +++ b/lib/dirent.in.h | |||
| @@ -158,6 +158,13 @@ _GL_WARN_ON_USE (closedir, "closedir is not portable - " | |||
| 158 | # endif | 158 | # endif |
| 159 | _GL_FUNCDECL_RPL (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1))); | 159 | _GL_FUNCDECL_RPL (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1))); |
| 160 | _GL_CXXALIAS_RPL (dirfd, int, (DIR *)); | 160 | _GL_CXXALIAS_RPL (dirfd, int, (DIR *)); |
| 161 | |||
| 162 | # ifdef __KLIBC__ | ||
| 163 | /* Gnulib internal hooks needed to maintain the dirfd metadata. */ | ||
| 164 | _GL_EXTERN_C int _gl_register_dirp_fd (int fd, DIR *dirp) | ||
| 165 | _GL_ARG_NONNULL ((2)); | ||
| 166 | _GL_EXTERN_C void _gl_unregister_dirp_fd (int fd); | ||
| 167 | # endif | ||
| 161 | # else | 168 | # else |
| 162 | # if defined __cplusplus && defined GNULIB_NAMESPACE && defined dirfd | 169 | # if defined __cplusplus && defined GNULIB_NAMESPACE && defined dirfd |
| 163 | /* dirfd is defined as a macro and not as a function. | 170 | /* dirfd is defined as a macro and not as a function. |
diff --git a/lib/dirfd.c b/lib/dirfd.c index 1ea2a6373db..a32584856a2 100644 --- a/lib/dirfd.c +++ b/lib/dirfd.c | |||
| @@ -22,11 +22,77 @@ | |||
| 22 | #include <dirent.h> | 22 | #include <dirent.h> |
| 23 | #include <errno.h> | 23 | #include <errno.h> |
| 24 | 24 | ||
| 25 | #ifdef __KLIBC__ | ||
| 26 | # include <stdlib.h> | ||
| 27 | # include <io.h> | ||
| 28 | |||
| 29 | static struct dirp_fd_list | ||
| 30 | { | ||
| 31 | DIR *dirp; | ||
| 32 | int fd; | ||
| 33 | struct dirp_fd_list *next; | ||
| 34 | } *dirp_fd_start = NULL; | ||
| 35 | |||
| 36 | /* Register fd associated with dirp to dirp_fd_list. */ | ||
| 37 | int | ||
| 38 | _gl_register_dirp_fd (int fd, DIR *dirp) | ||
| 39 | { | ||
| 40 | struct dirp_fd_list *new_dirp_fd = malloc (sizeof *new_dirp_fd); | ||
| 41 | if (!new_dirp_fd) | ||
| 42 | return -1; | ||
| 43 | |||
| 44 | new_dirp_fd->dirp = dirp; | ||
| 45 | new_dirp_fd->fd = fd; | ||
| 46 | new_dirp_fd->next = dirp_fd_start; | ||
| 47 | |||
| 48 | dirp_fd_start = new_dirp_fd; | ||
| 49 | |||
| 50 | return 0; | ||
| 51 | } | ||
| 52 | |||
| 53 | /* Unregister fd from dirp_fd_list with closing it */ | ||
| 54 | void | ||
| 55 | _gl_unregister_dirp_fd (int fd) | ||
| 56 | { | ||
| 57 | struct dirp_fd_list *dirp_fd; | ||
| 58 | struct dirp_fd_list *dirp_fd_prev; | ||
| 59 | |||
| 60 | for (dirp_fd_prev = NULL, dirp_fd = dirp_fd_start; dirp_fd; | ||
| 61 | dirp_fd_prev = dirp_fd, dirp_fd = dirp_fd->next) | ||
| 62 | { | ||
| 63 | if (dirp_fd->fd == fd) | ||
| 64 | { | ||
| 65 | if (dirp_fd_prev) | ||
| 66 | dirp_fd_prev->next = dirp_fd->next; | ||
| 67 | else /* dirp_fd == dirp_fd_start */ | ||
| 68 | dirp_fd_start = dirp_fd_start->next; | ||
| 69 | |||
| 70 | close (fd); | ||
| 71 | free (dirp_fd); | ||
| 72 | break; | ||
| 73 | } | ||
| 74 | } | ||
| 75 | } | ||
| 76 | #endif | ||
| 77 | |||
| 25 | int | 78 | int |
| 26 | dirfd (DIR *dir_p) | 79 | dirfd (DIR *dir_p) |
| 27 | { | 80 | { |
| 28 | int fd = DIR_TO_FD (dir_p); | 81 | int fd = DIR_TO_FD (dir_p); |
| 29 | if (fd == -1) | 82 | if (fd == -1) |
| 83 | #ifndef __KLIBC__ | ||
| 30 | errno = ENOTSUP; | 84 | errno = ENOTSUP; |
| 85 | #else | ||
| 86 | { | ||
| 87 | struct dirp_fd_list *dirp_fd; | ||
| 88 | |||
| 89 | for (dirp_fd = dirp_fd_start; dirp_fd; dirp_fd = dirp_fd->next) | ||
| 90 | if (dirp_fd->dirp == dir_p) | ||
| 91 | return dirp_fd->fd; | ||
| 92 | |||
| 93 | errno = EINVAL; | ||
| 94 | } | ||
| 95 | #endif | ||
| 96 | |||
| 31 | return fd; | 97 | return fd; |
| 32 | } | 98 | } |
diff --git a/lib/dup2.c b/lib/dup2.c index c913f473adc..5d026f21fa7 100644 --- a/lib/dup2.c +++ b/lib/dup2.c | |||
| @@ -85,6 +85,57 @@ ms_windows_dup2 (int fd, int desired_fd) | |||
| 85 | 85 | ||
| 86 | # define dup2 ms_windows_dup2 | 86 | # define dup2 ms_windows_dup2 |
| 87 | 87 | ||
| 88 | # elif defined __KLIBC__ | ||
| 89 | |||
| 90 | # include <InnoTekLIBC/backend.h> | ||
| 91 | |||
| 92 | static int | ||
| 93 | klibc_dup2dirfd (int fd, int desired_fd) | ||
| 94 | { | ||
| 95 | int tempfd; | ||
| 96 | int dupfd; | ||
| 97 | |||
| 98 | tempfd = open ("NUL", O_RDONLY); | ||
| 99 | if (tempfd == -1) | ||
| 100 | return -1; | ||
| 101 | |||
| 102 | if (tempfd == desired_fd) | ||
| 103 | { | ||
| 104 | close (tempfd); | ||
| 105 | |||
| 106 | char path[_MAX_PATH]; | ||
| 107 | if (__libc_Back_ioFHToPath (fd, path, sizeof (path))) | ||
| 108 | return -1; | ||
| 109 | |||
| 110 | return open(path, O_RDONLY); | ||
| 111 | } | ||
| 112 | |||
| 113 | dupfd = klibc_dup2dirfd (fd, desired_fd); | ||
| 114 | |||
| 115 | close (tempfd); | ||
| 116 | |||
| 117 | return dupfd; | ||
| 118 | } | ||
| 119 | |||
| 120 | static int | ||
| 121 | klibc_dup2 (int fd, int desired_fd) | ||
| 122 | { | ||
| 123 | int dupfd; | ||
| 124 | struct stat sbuf; | ||
| 125 | |||
| 126 | dupfd = dup2 (fd, desired_fd); | ||
| 127 | if (dupfd == -1 && errno == ENOTSUP \ | ||
| 128 | && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode)) | ||
| 129 | { | ||
| 130 | close (desired_fd); | ||
| 131 | |||
| 132 | return klibc_dup2dirfd (fd, desired_fd); | ||
| 133 | } | ||
| 134 | |||
| 135 | return dupfd; | ||
| 136 | } | ||
| 137 | |||
| 138 | # define dup2 klibc_dup2 | ||
| 88 | # endif | 139 | # endif |
| 89 | 140 | ||
| 90 | int | 141 | int |
diff --git a/lib/fcntl.c b/lib/fcntl.c index 1ccc5acea8e..fd17e962f8b 100644 --- a/lib/fcntl.c +++ b/lib/fcntl.c | |||
| @@ -162,6 +162,93 @@ dupfd (int oldfd, int newfd, int flags) | |||
| 162 | } | 162 | } |
| 163 | #endif /* W32 */ | 163 | #endif /* W32 */ |
| 164 | 164 | ||
| 165 | #ifdef __KLIBC__ | ||
| 166 | |||
| 167 | # define INCL_DOS | ||
| 168 | # include <os2.h> | ||
| 169 | |||
| 170 | static int | ||
| 171 | klibc_fcntl (int fd, int action, /* arg */...) | ||
| 172 | { | ||
| 173 | va_list arg_ptr; | ||
| 174 | int arg; | ||
| 175 | struct stat sbuf; | ||
| 176 | int result = -1; | ||
| 177 | |||
| 178 | va_start (arg_ptr, action); | ||
| 179 | arg = va_arg (arg_ptr, int); | ||
| 180 | result = fcntl (fd, action, arg); | ||
| 181 | /* EPERM for F_DUPFD, ENOTSUP for others */ | ||
| 182 | if (result == -1 && (errno == EPERM || errno == ENOTSUP) | ||
| 183 | && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode)) | ||
| 184 | { | ||
| 185 | ULONG ulMode; | ||
| 186 | |||
| 187 | switch (action) | ||
| 188 | { | ||
| 189 | case F_DUPFD: | ||
| 190 | /* Find available fd */ | ||
| 191 | while (fcntl (arg, F_GETFL) != -1 || errno != EBADF) | ||
| 192 | arg++; | ||
| 193 | |||
| 194 | result = dup2 (fd, arg); | ||
| 195 | break; | ||
| 196 | |||
| 197 | /* Using underlying APIs is right ? */ | ||
| 198 | case F_GETFD: | ||
| 199 | if (DosQueryFHState (fd, &ulMode)) | ||
| 200 | break; | ||
| 201 | |||
| 202 | result = (ulMode & OPEN_FLAGS_NOINHERIT) ? FD_CLOEXEC : 0; | ||
| 203 | break; | ||
| 204 | |||
| 205 | case F_SETFD: | ||
| 206 | if (arg & ~FD_CLOEXEC) | ||
| 207 | break; | ||
| 208 | |||
| 209 | if (DosQueryFHState (fd, &ulMode)) | ||
| 210 | break; | ||
| 211 | |||
| 212 | if (arg & FD_CLOEXEC) | ||
| 213 | ulMode |= OPEN_FLAGS_NOINHERIT; | ||
| 214 | else | ||
| 215 | ulMode &= ~OPEN_FLAGS_NOINHERIT; | ||
| 216 | |||
| 217 | /* Filter supported flags. */ | ||
| 218 | ulMode &= (OPEN_FLAGS_WRITE_THROUGH | OPEN_FLAGS_FAIL_ON_ERROR | ||
| 219 | | OPEN_FLAGS_NO_CACHE | OPEN_FLAGS_NOINHERIT); | ||
| 220 | |||
| 221 | if (DosSetFHState (fd, ulMode)) | ||
| 222 | break; | ||
| 223 | |||
| 224 | result = 0; | ||
| 225 | break; | ||
| 226 | |||
| 227 | case F_GETFL: | ||
| 228 | result = 0; | ||
| 229 | break; | ||
| 230 | |||
| 231 | case F_SETFL: | ||
| 232 | if (arg != 0) | ||
| 233 | break; | ||
| 234 | |||
| 235 | result = 0; | ||
| 236 | break; | ||
| 237 | |||
| 238 | default : | ||
| 239 | errno = EINVAL; | ||
| 240 | break; | ||
| 241 | } | ||
| 242 | } | ||
| 243 | |||
| 244 | va_end (arg_ptr); | ||
| 245 | |||
| 246 | return result; | ||
| 247 | } | ||
| 248 | |||
| 249 | # define fcntl klibc_fcntl | ||
| 250 | #endif | ||
| 251 | |||
| 165 | /* Perform the specified ACTION on the file descriptor FD, possibly | 252 | /* Perform the specified ACTION on the file descriptor FD, possibly |
| 166 | using the argument ARG further described below. This replacement | 253 | using the argument ARG further described below. This replacement |
| 167 | handles the following actions, and forwards all others on to the | 254 | handles the following actions, and forwards all others on to the |
diff --git a/lib/fdopendir.c b/lib/fdopendir.c index f30ab2431b5..c1f4dcbaca0 100644 --- a/lib/fdopendir.c +++ b/lib/fdopendir.c | |||
| @@ -62,6 +62,41 @@ static DIR *fd_clone_opendir (int, struct saved_cwd const *); | |||
| 62 | If this function returns successfully, FD is under control of the | 62 | If this function returns successfully, FD is under control of the |
| 63 | dirent.h system, and the caller should not close or modify the state of | 63 | dirent.h system, and the caller should not close or modify the state of |
| 64 | FD other than by the dirent.h functions. */ | 64 | FD other than by the dirent.h functions. */ |
| 65 | # ifdef __KLIBC__ | ||
| 66 | # include <InnoTekLIBC/backend.h> | ||
| 67 | |||
| 68 | DIR * | ||
| 69 | fdopendir (int fd) | ||
| 70 | { | ||
| 71 | char path[_MAX_PATH]; | ||
| 72 | DIR *dirp; | ||
| 73 | |||
| 74 | /* Get a path from fd */ | ||
| 75 | if (__libc_Back_ioFHToPath (fd, path, sizeof (path))) | ||
| 76 | return NULL; | ||
| 77 | |||
| 78 | dirp = opendir (path); | ||
| 79 | if (!dirp) | ||
| 80 | return NULL; | ||
| 81 | |||
| 82 | /* Unregister fd registered by opendir() */ | ||
| 83 | _gl_unregister_dirp_fd (dirfd (dirp)); | ||
| 84 | |||
| 85 | /* Register our fd */ | ||
| 86 | if (_gl_register_dirp_fd (fd, dirp)) | ||
| 87 | { | ||
| 88 | int saved_errno = errno; | ||
| 89 | |||
| 90 | closedir (dirp); | ||
| 91 | |||
| 92 | errno = saved_errno; | ||
| 93 | |||
| 94 | dirp = NULL; | ||
| 95 | } | ||
| 96 | |||
| 97 | return dirp; | ||
| 98 | } | ||
| 99 | # else | ||
| 65 | DIR * | 100 | DIR * |
| 66 | fdopendir (int fd) | 101 | fdopendir (int fd) |
| 67 | { | 102 | { |
| @@ -84,6 +119,7 @@ fdopendir (int fd) | |||
| 84 | 119 | ||
| 85 | return dir; | 120 | return dir; |
| 86 | } | 121 | } |
| 122 | # endif | ||
| 87 | 123 | ||
| 88 | /* Like fdopendir, except that if OLDER_DUPFD is not -1, it is known | 124 | /* Like fdopendir, except that if OLDER_DUPFD is not -1, it is known |
| 89 | to be a dup of FD which is less than FD - 1 and which will be | 125 | to be a dup of FD which is less than FD - 1 and which will be |
diff --git a/lib/get-permissions.c b/lib/get-permissions.c index 8c70df1984c..bf40dad7801 100644 --- a/lib/get-permissions.c +++ b/lib/get-permissions.c | |||
| @@ -102,7 +102,7 @@ get_permissions (const char *name, int desc, mode_t mode, | |||
| 102 | There is an API | 102 | There is an API |
| 103 | pathconf (name, _PC_ACL_ENABLED) | 103 | pathconf (name, _PC_ACL_ENABLED) |
| 104 | fpathconf (desc, _PC_ACL_ENABLED) | 104 | fpathconf (desc, _PC_ACL_ENABLED) |
| 105 | that allows to determine which of the two kinds of ACLs is supported | 105 | that allows us to determine which of the two kinds of ACLs is supported |
| 106 | for the given file. But some file systems may implement this call | 106 | for the given file. But some file systems may implement this call |
| 107 | incorrectly, so better not use it. | 107 | incorrectly, so better not use it. |
| 108 | When fetching the source ACL, we simply fetch both ACL types. | 108 | When fetching the source ACL, we simply fetch both ACL types. |
diff --git a/lib/mktime.c b/lib/mktime.c index adbf8d482ae..c9738d0daf9 100644 --- a/lib/mktime.c +++ b/lib/mktime.c | |||
| @@ -19,7 +19,7 @@ | |||
| 19 | 19 | ||
| 20 | /* Define this to have a standalone program to test this implementation of | 20 | /* Define this to have a standalone program to test this implementation of |
| 21 | mktime. */ | 21 | mktime. */ |
| 22 | /* #define DEBUG 1 */ | 22 | /* #define DEBUG_MKTIME 1 */ |
| 23 | 23 | ||
| 24 | #ifndef _LIBC | 24 | #ifndef _LIBC |
| 25 | # include <config.h> | 25 | # include <config.h> |
| @@ -38,13 +38,13 @@ | |||
| 38 | 38 | ||
| 39 | #include <string.h> /* For the real memcpy prototype. */ | 39 | #include <string.h> /* For the real memcpy prototype. */ |
| 40 | 40 | ||
| 41 | #if defined DEBUG && DEBUG | 41 | #if defined DEBUG_MKTIME && DEBUG_MKTIME |
| 42 | # include <stdio.h> | 42 | # include <stdio.h> |
| 43 | # include <stdlib.h> | 43 | # include <stdlib.h> |
| 44 | /* Make it work even if the system's libc has its own mktime routine. */ | 44 | /* Make it work even if the system's libc has its own mktime routine. */ |
| 45 | # undef mktime | 45 | # undef mktime |
| 46 | # define mktime my_mktime | 46 | # define mktime my_mktime |
| 47 | #endif /* DEBUG */ | 47 | #endif /* DEBUG_MKTIME */ |
| 48 | 48 | ||
| 49 | /* Some of the code in this file assumes that signed integer overflow | 49 | /* Some of the code in this file assumes that signed integer overflow |
| 50 | silently wraps around. This assumption can't easily be programmed | 50 | silently wraps around. This assumption can't easily be programmed |
| @@ -600,7 +600,7 @@ libc_hidden_def (mktime) | |||
| 600 | libc_hidden_weak (timelocal) | 600 | libc_hidden_weak (timelocal) |
| 601 | #endif | 601 | #endif |
| 602 | 602 | ||
| 603 | #if defined DEBUG && DEBUG | 603 | #if defined DEBUG_MKTIME && DEBUG_MKTIME |
| 604 | 604 | ||
| 605 | static int | 605 | static int |
| 606 | not_equal_tm (const struct tm *a, const struct tm *b) | 606 | not_equal_tm (const struct tm *a, const struct tm *b) |
| @@ -732,10 +732,10 @@ main (int argc, char **argv) | |||
| 732 | return status; | 732 | return status; |
| 733 | } | 733 | } |
| 734 | 734 | ||
| 735 | #endif /* DEBUG */ | 735 | #endif /* DEBUG_MKTIME */ |
| 736 | 736 | ||
| 737 | /* | 737 | /* |
| 738 | Local Variables: | 738 | Local Variables: |
| 739 | compile-command: "gcc -DDEBUG -I. -Wall -W -O2 -g mktime.c -o mktime" | 739 | compile-command: "gcc -DDEBUG_MKTIME -I. -Wall -W -O2 -g mktime.c -o mktime" |
| 740 | End: | 740 | End: |
| 741 | */ | 741 | */ |
diff --git a/lib/openat-proc.c b/lib/openat-proc.c index 15a8c799c80..1712340a002 100644 --- a/lib/openat-proc.c +++ b/lib/openat-proc.c | |||
| @@ -30,24 +30,21 @@ | |||
| 30 | #include <string.h> | 30 | #include <string.h> |
| 31 | #include <unistd.h> | 31 | #include <unistd.h> |
| 32 | 32 | ||
| 33 | #include "intprops.h" | 33 | #ifdef __KLIBC__ |
| 34 | 34 | # include <InnoTekLIBC/backend.h> | |
| 35 | #define PROC_SELF_FD_FORMAT "/proc/self/fd/%d/%s" | 35 | #endif |
| 36 | |||
| 37 | #define PROC_SELF_FD_NAME_SIZE_BOUND(len) \ | ||
| 38 | (sizeof PROC_SELF_FD_FORMAT - sizeof "%d%s" \ | ||
| 39 | + INT_STRLEN_BOUND (int) + (len) + 1) | ||
| 40 | 36 | ||
| 37 | #include "intprops.h" | ||
| 41 | 38 | ||
| 42 | /* Set BUF to the expansion of PROC_SELF_FD_FORMAT, using FD and FILE | 39 | /* Set BUF to the name of the subfile of the directory identified by |
| 43 | respectively for %d and %s. If successful, return BUF if the | 40 | FD, where the subfile is named FILE. If successful, return BUF if |
| 44 | result fits in BUF, dynamically allocated memory otherwise. But | 41 | the result fits in BUF, dynamically allocated memory otherwise. |
| 45 | return NULL if /proc is not reliable, either because the operating | 42 | Return NULL (setting errno) on error. */ |
| 46 | system support is lacking or because memory is low. */ | ||
| 47 | char * | 43 | char * |
| 48 | openat_proc_name (char buf[OPENAT_BUFFER_SIZE], int fd, char const *file) | 44 | openat_proc_name (char buf[OPENAT_BUFFER_SIZE], int fd, char const *file) |
| 49 | { | 45 | { |
| 50 | static int proc_status = 0; | 46 | char *result = buf; |
| 47 | int dirlen; | ||
| 51 | 48 | ||
| 52 | /* Make sure the caller gets ENOENT when appropriate. */ | 49 | /* Make sure the caller gets ENOENT when appropriate. */ |
| 53 | if (!*file) | 50 | if (!*file) |
| @@ -56,47 +53,82 @@ openat_proc_name (char buf[OPENAT_BUFFER_SIZE], int fd, char const *file) | |||
| 56 | return buf; | 53 | return buf; |
| 57 | } | 54 | } |
| 58 | 55 | ||
| 59 | if (! proc_status) | 56 | #ifndef __KLIBC__ |
| 60 | { | 57 | # define PROC_SELF_FD_FORMAT "/proc/self/fd/%d/" |
| 61 | /* Set PROC_STATUS to a positive value if /proc/self/fd is | 58 | { |
| 62 | reliable, and a negative value otherwise. Solaris 10 | 59 | enum { |
| 63 | /proc/self/fd mishandles "..", and any file name might expand | 60 | PROC_SELF_FD_DIR_SIZE_BOUND |
| 64 | to ".." after symbolic link expansion, so avoid /proc/self/fd | 61 | = (sizeof PROC_SELF_FD_FORMAT - (sizeof "%d" - 1) |
| 65 | if it mishandles "..". Solaris 10 has openat, but this | 62 | + INT_STRLEN_BOUND (int)) |
| 66 | problem is exhibited on code that built on Solaris 8 and | 63 | }; |
| 67 | running on Solaris 10. */ | 64 | |
| 68 | 65 | static int proc_status = 0; | |
| 69 | int proc_self_fd = open ("/proc/self/fd", | 66 | if (! proc_status) |
| 70 | O_SEARCH | O_DIRECTORY | O_NOCTTY | O_NONBLOCK); | 67 | { |
| 71 | if (proc_self_fd < 0) | 68 | /* Set PROC_STATUS to a positive value if /proc/self/fd is |
| 72 | proc_status = -1; | 69 | reliable, and a negative value otherwise. Solaris 10 |
| 73 | else | 70 | /proc/self/fd mishandles "..", and any file name might expand |
| 74 | { | 71 | to ".." after symbolic link expansion, so avoid /proc/self/fd |
| 75 | /* Detect whether /proc/self/fd/%i/../fd exists, where %i is the | 72 | if it mishandles "..". Solaris 10 has openat, but this |
| 76 | number of a file descriptor open on /proc/self/fd. On Linux, | 73 | problem is exhibited on code that built on Solaris 8 and |
| 77 | that name resolves to /proc/self/fd, which was opened above. | 74 | running on Solaris 10. */ |
| 78 | However, on Solaris, it may resolve to /proc/self/fd/fd, which | 75 | |
| 79 | cannot exist, since all names in /proc/self/fd are numeric. */ | 76 | int proc_self_fd = open ("/proc/self/fd", |
| 80 | char dotdot_buf[PROC_SELF_FD_NAME_SIZE_BOUND (sizeof "../fd" - 1)]; | 77 | O_SEARCH | O_DIRECTORY | O_NOCTTY | O_NONBLOCK); |
| 81 | sprintf (dotdot_buf, PROC_SELF_FD_FORMAT, proc_self_fd, "../fd"); | 78 | if (proc_self_fd < 0) |
| 82 | proc_status = access (dotdot_buf, F_OK) ? -1 : 1; | 79 | proc_status = -1; |
| 83 | close (proc_self_fd); | 80 | else |
| 84 | } | 81 | { |
| 85 | } | 82 | /* Detect whether /proc/self/fd/%i/../fd exists, where %i is the |
| 86 | 83 | number of a file descriptor open on /proc/self/fd. On Linux, | |
| 87 | if (proc_status < 0) | 84 | that name resolves to /proc/self/fd, which was opened above. |
| 88 | return NULL; | 85 | However, on Solaris, it may resolve to /proc/self/fd/fd, which |
| 89 | else | 86 | cannot exist, since all names in /proc/self/fd are numeric. */ |
| 90 | { | 87 | char dotdot_buf[PROC_SELF_FD_DIR_SIZE_BOUND + sizeof "../fd" - 1]; |
| 91 | size_t bufsize = PROC_SELF_FD_NAME_SIZE_BOUND (strlen (file)); | 88 | sprintf (dotdot_buf, PROC_SELF_FD_FORMAT "../fd", proc_self_fd); |
| 92 | char *result = buf; | 89 | proc_status = access (dotdot_buf, F_OK) ? -1 : 1; |
| 93 | if (OPENAT_BUFFER_SIZE < bufsize) | 90 | close (proc_self_fd); |
| 94 | { | 91 | } |
| 95 | result = malloc (bufsize); | 92 | } |
| 96 | if (! result) | 93 | |
| 97 | return NULL; | 94 | if (proc_status < 0) |
| 98 | } | 95 | return NULL; |
| 99 | sprintf (result, PROC_SELF_FD_FORMAT, fd, file); | 96 | else |
| 100 | return result; | 97 | { |
| 101 | } | 98 | size_t bufsize = PROC_SELF_FD_DIR_SIZE_BOUND + strlen (file); |
| 99 | if (OPENAT_BUFFER_SIZE < bufsize) | ||
| 100 | { | ||
| 101 | result = malloc (bufsize); | ||
| 102 | if (! result) | ||
| 103 | return NULL; | ||
| 104 | } | ||
| 105 | |||
| 106 | dirlen = sprintf (result, PROC_SELF_FD_FORMAT, fd); | ||
| 107 | } | ||
| 108 | } | ||
| 109 | #else | ||
| 110 | /* OS/2 kLIBC provides a function to retrieve a path from a fd. */ | ||
| 111 | { | ||
| 112 | char dir[_MAX_PATH]; | ||
| 113 | size_t bufsize; | ||
| 114 | |||
| 115 | if (__libc_Back_ioFHToPath (fd, dir, sizeof dir)) | ||
| 116 | return NULL; | ||
| 117 | |||
| 118 | dirlen = strlen (dir); | ||
| 119 | bufsize = dirlen + 1 + strlen (file) + 1; /* 1 for '/', 1 for null */ | ||
| 120 | if (OPENAT_BUFFER_SIZE < bufsize) | ||
| 121 | { | ||
| 122 | result = malloc (bufsize); | ||
| 123 | if (! result) | ||
| 124 | return NULL; | ||
| 125 | } | ||
| 126 | |||
| 127 | strcpy (result, dir); | ||
| 128 | result[dirlen++] = '/'; | ||
| 129 | } | ||
| 130 | #endif | ||
| 131 | |||
| 132 | strcpy (result + dirlen, file); | ||
| 133 | return result; | ||
| 102 | } | 134 | } |
diff --git a/lib/sig2str.h b/lib/sig2str.h index f3471702bac..2730774d165 100644 --- a/lib/sig2str.h +++ b/lib/sig2str.h | |||
| @@ -44,6 +44,8 @@ int str2sig (char const *, int *); | |||
| 44 | 44 | ||
| 45 | #if defined _sys_nsig | 45 | #if defined _sys_nsig |
| 46 | # define SIGNUM_BOUND (_sys_nsig - 1) | 46 | # define SIGNUM_BOUND (_sys_nsig - 1) |
| 47 | #elif defined _SIG_MAXSIG | ||
| 48 | # define SIGNUM_BOUND (_SIG_MAXSIG - 2) /* FreeBSD >= 7. */ | ||
| 47 | #elif defined NSIG | 49 | #elif defined NSIG |
| 48 | # define SIGNUM_BOUND (NSIG - 1) | 50 | # define SIGNUM_BOUND (NSIG - 1) |
| 49 | #else | 51 | #else |
diff --git a/lib/stdint.in.h b/lib/stdint.in.h index d2413917950..0bb9ad41b29 100644 --- a/lib/stdint.in.h +++ b/lib/stdint.in.h | |||
| @@ -288,12 +288,17 @@ typedef gl_uint_fast32_t gl_uint_fast16_t; | |||
| 288 | 288 | ||
| 289 | /* 7.18.1.4. Integer types capable of holding object pointers */ | 289 | /* 7.18.1.4. Integer types capable of holding object pointers */ |
| 290 | 290 | ||
| 291 | /* kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own | ||
| 292 | definitions of intptr_t and uintptr_t (which use int and unsigned) | ||
| 293 | to avoid clashes with declarations of system functions like sbrk. */ | ||
| 294 | #ifndef _INTPTR_T_DECLARED | ||
| 291 | #undef intptr_t | 295 | #undef intptr_t |
| 292 | #undef uintptr_t | 296 | #undef uintptr_t |
| 293 | typedef long int gl_intptr_t; | 297 | typedef long int gl_intptr_t; |
| 294 | typedef unsigned long int gl_uintptr_t; | 298 | typedef unsigned long int gl_uintptr_t; |
| 295 | #define intptr_t gl_intptr_t | 299 | #define intptr_t gl_intptr_t |
| 296 | #define uintptr_t gl_uintptr_t | 300 | #define uintptr_t gl_uintptr_t |
| 301 | #endif | ||
| 297 | 302 | ||
| 298 | /* 7.18.1.5. Greatest-width integer types */ | 303 | /* 7.18.1.5. Greatest-width integer types */ |
| 299 | 304 | ||
diff --git a/lib/strftime.c b/lib/strftime.c index 10d3eb4ef31..4e65190386d 100644 --- a/lib/strftime.c +++ b/lib/strftime.c | |||
| @@ -641,7 +641,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s, | |||
| 641 | break; | 641 | break; |
| 642 | } | 642 | } |
| 643 | 643 | ||
| 644 | /* As a GNU extension we allow to specify the field width. */ | 644 | /* As a GNU extension we allow the field width to be specified. */ |
| 645 | if (ISDIGIT (*f)) | 645 | if (ISDIGIT (*f)) |
| 646 | { | 646 | { |
| 647 | width = 0; | 647 | width = 0; |
diff --git a/lisp/ChangeLog.17 b/lisp/ChangeLog.17 index ee812bde82d..1785a336732 100644 --- a/lisp/ChangeLog.17 +++ b/lisp/ChangeLog.17 | |||
| @@ -4437,7 +4437,7 @@ | |||
| 4437 | 4437 | ||
| 4438 | 2014-12-07 Lars Magne Ingebrigtsen <larsi@gnus.org> | 4438 | 2014-12-07 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 4439 | 4439 | ||
| 4440 | * net/eww.el (eww-follow-link): Revert prefix behaviour to | 4440 | * net/eww.el (eww-follow-link): Revert prefix behavior to |
| 4441 | previous behavior. | 4441 | previous behavior. |
| 4442 | (eww-copy-page-url): Add doc string. | 4442 | (eww-copy-page-url): Add doc string. |
| 4443 | 4443 | ||
| @@ -9140,7 +9140,7 @@ | |||
| 9140 | 2014-06-30 Grégoire Jadi <daimrod@gmail.com> | 9140 | 2014-06-30 Grégoire Jadi <daimrod@gmail.com> |
| 9141 | 9141 | ||
| 9142 | * net/rcirc.el (rcirc-buffer-process): Restore previous | 9142 | * net/rcirc.el (rcirc-buffer-process): Restore previous |
| 9143 | behaviour. (Bug#17772) | 9143 | behavior. (Bug#17772) |
| 9144 | 9144 | ||
| 9145 | 2014-06-29 Alan Mackenzie <acm@muc.de> | 9145 | 2014-06-29 Alan Mackenzie <acm@muc.de> |
| 9146 | 9146 | ||
diff --git a/lisp/autorevert.el b/lisp/autorevert.el index 5851a89ec97..14e39bddd2e 100644 --- a/lisp/autorevert.el +++ b/lisp/autorevert.el | |||
| @@ -664,8 +664,8 @@ This is an internal function used by Auto-Revert Mode." | |||
| 664 | (not (eq revert 'fast))) | 664 | (not (eq revert 'fast))) |
| 665 | (message "Reverting buffer `%s'." (buffer-name))) | 665 | (message "Reverting buffer `%s'." (buffer-name))) |
| 666 | ;; If point (or a window point) is at the end of the buffer, we | 666 | ;; If point (or a window point) is at the end of the buffer, we |
| 667 | ;; want to keep it at the end after reverting. This allows to | 667 | ;; want to keep it at the end after reverting. This allows one |
| 668 | ;; tail a file. | 668 | ;; to tail a file. |
| 669 | (when buffer-file-name | 669 | (when buffer-file-name |
| 670 | (setq eob (eobp)) | 670 | (setq eob (eobp)) |
| 671 | (walk-windows | 671 | (walk-windows |
diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el index ce367485c16..c7e6615e0df 100644 --- a/lisp/cedet/mode-local.el +++ b/lisp/cedet/mode-local.el | |||
| @@ -189,7 +189,7 @@ BINDINGS is a list of (VARIABLE . VALUE). | |||
| 189 | Optional argument PLIST is a property list each VARIABLE symbol will | 189 | Optional argument PLIST is a property list each VARIABLE symbol will |
| 190 | be set to. The following properties have special meaning: | 190 | be set to. The following properties have special meaning: |
| 191 | 191 | ||
| 192 | - `constant-flag' if non-nil, prevent to rebind variables. | 192 | - `constant-flag' if non-nil, prevent rebinding variables. |
| 193 | - `mode-variable-flag' if non-nil, define mode variables. | 193 | - `mode-variable-flag' if non-nil, define mode variables. |
| 194 | - `override-flag' if non-nil, define override functions. | 194 | - `override-flag' if non-nil, define override functions. |
| 195 | 195 | ||
| @@ -544,7 +544,7 @@ default is to call the function `NAME-default' with the appropriate | |||
| 544 | arguments. | 544 | arguments. |
| 545 | 545 | ||
| 546 | BODY can also include an override form that specifies which part of | 546 | BODY can also include an override form that specifies which part of |
| 547 | BODY is specifically overridden. This permits to specify common code | 547 | BODY is specifically overridden. This permits specifying common code |
| 548 | run for both default and overridden implementations. | 548 | run for both default and overridden implementations. |
| 549 | An override form is one of: | 549 | An override form is one of: |
| 550 | 550 | ||
diff --git a/lisp/cedet/semantic/senator.el b/lisp/cedet/semantic/senator.el index a45077e50e4..38abc9ebbd9 100644 --- a/lisp/cedet/semantic/senator.el +++ b/lisp/cedet/semantic/senator.el | |||
| @@ -803,7 +803,7 @@ if available." | |||
| 803 | (setq isearch-adjusted t) | 803 | (setq isearch-adjusted t) |
| 804 | (isearch-update)) | 804 | (isearch-update)) |
| 805 | 805 | ||
| 806 | ;; Recent versions of GNU Emacs allow to override the isearch search | 806 | ;; Recent versions of GNU Emacs allow overriding the isearch search |
| 807 | ;; function for special needs, and avoid to advice the built-in search | 807 | ;; function for special needs, and avoid to advice the built-in search |
| 808 | ;; function :-) | 808 | ;; function :-) |
| 809 | (defun senator-isearch-search-fun () | 809 | (defun senator-isearch-search-fun () |
diff --git a/lisp/cedet/semantic/wisent.el b/lisp/cedet/semantic/wisent.el index 2df4b2a2e15..d0632f1640c 100644 --- a/lisp/cedet/semantic/wisent.el +++ b/lisp/cedet/semantic/wisent.el | |||
| @@ -149,7 +149,7 @@ and will be collected in `semantic-lex' form: (SYMBOL START . END)." | |||
| 149 | 149 | ||
| 150 | ;; Parser plug-ins | 150 | ;; Parser plug-ins |
| 151 | ;; | 151 | ;; |
| 152 | ;; The following functions permit to plug the Wisent LALR parser in | 152 | ;; The following functions permit plugging the Wisent LALR parser in |
| 153 | ;; Semantic toolkit. They use the standard API provided by Semantic | 153 | ;; Semantic toolkit. They use the standard API provided by Semantic |
| 154 | ;; to plug parsers in. | 154 | ;; to plug parsers in. |
| 155 | ;; | 155 | ;; |
diff --git a/lisp/dos-fns.el b/lisp/dos-fns.el index 0ce2b23527d..7188ae0bce7 100644 --- a/lisp/dos-fns.el +++ b/lisp/dos-fns.el | |||
| @@ -98,7 +98,7 @@ sure to obey the 8.3 limitations." | |||
| 98 | string)) | 98 | string)) |
| 99 | (aset string i ?_)) | 99 | (aset string i ?_)) |
| 100 | ;; If we don't have a period in the first 8 chars, insert one. | 100 | ;; If we don't have a period in the first 8 chars, insert one. |
| 101 | ;; This enables to have 3 more characters from the original | 101 | ;; This enables having 3 more characters from the original |
| 102 | ;; name in the extension. | 102 | ;; name in the extension. |
| 103 | (if (> (or (string-match "\\." string) (length string)) | 103 | (if (> (or (string-match "\\." string) (length string)) |
| 104 | 8) | 104 | 8) |
diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el index f4be9473394..7a914da3977 100644 --- a/lisp/emacs-lisp/ert.el +++ b/lisp/emacs-lisp/ert.el | |||
| @@ -2128,12 +2128,12 @@ To be used in the ERT results buffer." | |||
| 2128 | "Move point from NODE to the previous or next node. | 2128 | "Move point from NODE to the previous or next node. |
| 2129 | 2129 | ||
| 2130 | EWOC-FN specifies the direction and should be either `ewoc-prev' | 2130 | EWOC-FN specifies the direction and should be either `ewoc-prev' |
| 2131 | or `ewoc-next'. If there are no more nodes in that direction, an | 2131 | or `ewoc-next'. If there are no more nodes in that direction, a |
| 2132 | error is signaled with the message ERROR-MESSAGE." | 2132 | user-error is signaled with the message ERROR-MESSAGE." |
| 2133 | (cl-loop | 2133 | (cl-loop |
| 2134 | (setq node (funcall ewoc-fn ert--results-ewoc node)) | 2134 | (setq node (funcall ewoc-fn ert--results-ewoc node)) |
| 2135 | (when (null node) | 2135 | (when (null node) |
| 2136 | (error "%s" error-message)) | 2136 | (user-error "%s" error-message)) |
| 2137 | (unless (ert--ewoc-entry-hidden-p (ewoc-data node)) | 2137 | (unless (ert--ewoc-entry-hidden-p (ewoc-data node)) |
| 2138 | (goto-char (ewoc-location node)) | 2138 | (goto-char (ewoc-location node)) |
| 2139 | (cl-return)))) | 2139 | (cl-return)))) |
diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el index 549ee96dd5f..7be997e6469 100644 --- a/lisp/emacs-lisp/pcase.el +++ b/lisp/emacs-lisp/pcase.el | |||
| @@ -117,7 +117,7 @@ two element list, binding its elements to symbols named `foo' and | |||
| 117 | 117 | ||
| 118 | A significant difference from `cl-destructuring-bind' is that, if | 118 | A significant difference from `cl-destructuring-bind' is that, if |
| 119 | a pattern match fails, the next case is tried until either a | 119 | a pattern match fails, the next case is tried until either a |
| 120 | succesful match is found or there are no more cases. | 120 | successful match is found or there are no more cases. |
| 121 | 121 | ||
| 122 | Another difference is that pattern elements may be backquoted, | 122 | Another difference is that pattern elements may be backquoted, |
| 123 | meaning they must match exactly: The pattern \\='(foo bar) | 123 | meaning they must match exactly: The pattern \\='(foo bar) |
diff --git a/lisp/emacs-lisp/tabulated-list.el b/lisp/emacs-lisp/tabulated-list.el index 68658d20b37..00b029d8f3e 100644 --- a/lisp/emacs-lisp/tabulated-list.el +++ b/lisp/emacs-lisp/tabulated-list.el | |||
| @@ -571,7 +571,6 @@ data in an ewoc may instead specify a printer function (e.g., one | |||
| 571 | that calls `ewoc-enter-last'), with `tabulated-list-print-entry' | 571 | that calls `ewoc-enter-last'), with `tabulated-list-print-entry' |
| 572 | as the ewoc pretty-printer." | 572 | as the ewoc pretty-printer." |
| 573 | (setq-local truncate-lines t) | 573 | (setq-local truncate-lines t) |
| 574 | (setq-local buffer-read-only t) | ||
| 575 | (setq-local buffer-undo-list t) | 574 | (setq-local buffer-undo-list t) |
| 576 | (setq-local revert-buffer-function #'tabulated-list-revert) | 575 | (setq-local revert-buffer-function #'tabulated-list-revert) |
| 577 | (setq-local glyphless-char-display tabulated-list-glyphless-char-display) | 576 | (setq-local glyphless-char-display tabulated-list-glyphless-char-display) |
diff --git a/lisp/files-x.el b/lisp/files-x.el index 2e1a728356e..05ad7f57c57 100644 --- a/lisp/files-x.el +++ b/lisp/files-x.el | |||
| @@ -429,23 +429,24 @@ from the MODE alist ignoring the input argument VALUE." | |||
| 429 | (catch 'exit | 429 | (catch 'exit |
| 430 | (unless enable-local-variables | 430 | (unless enable-local-variables |
| 431 | (throw 'exit (message "Directory-local variables are disabled"))) | 431 | (throw 'exit (message "Directory-local variables are disabled"))) |
| 432 | (let ((variables-file (and (buffer-file-name) | 432 | (let* ((dir-or-cache (and (buffer-file-name) |
| 433 | (not (file-remote-p (buffer-file-name))) | 433 | (not (file-remote-p (buffer-file-name))) |
| 434 | (dir-locals-find-file (buffer-file-name)))) | 434 | (dir-locals-find-file (buffer-file-name)))) |
| 435 | variables) | 435 | (variables-file |
| 436 | (setq variables-file | ||
| 437 | ;; If there are several .dir-locals, the user probably | 436 | ;; If there are several .dir-locals, the user probably |
| 438 | ;; wants to edit the last one (the highest priority). | 437 | ;; wants to edit the last one (the highest priority). |
| 439 | (cond ((stringp variables-file) | 438 | (cond ((stringp dir-or-cache) |
| 440 | (car (last (dir-locals--all-files variables-file)))) | 439 | (car (last (dir-locals--all-files dir-or-cache)))) |
| 441 | ((consp variables-file) ; result from cache | 440 | ((consp dir-or-cache) ; result from cache |
| 442 | ;; If cache element has an mtime, assume it came from a file. | 441 | ;; If cache element has an mtime, assume it came |
| 443 | ;; Otherwise, assume it was set directly. | 442 | ;; from a file. Otherwise, assume it was set |
| 444 | (if (nth 2 variables-file) | 443 | ;; directly. |
| 445 | (car (last (dir-locals--all-files (car variables-file)))) | 444 | (if (nth 2 dir-or-cache) |
| 446 | (cadr variables-file))) | 445 | (car (last (dir-locals--all-files (car dir-or-cache)))) |
| 446 | (cadr dir-or-cache))) | ||
| 447 | ;; Try to make a proper file-name. | 447 | ;; Try to make a proper file-name. |
| 448 | (t (concat dir-locals-file ".el")))) | 448 | (t (expand-file-name dir-locals-file)))) |
| 449 | variables) | ||
| 449 | ;; I can't be bothered to handle this case right now. | 450 | ;; I can't be bothered to handle this case right now. |
| 450 | ;; Dir locals were set directly from a class. You need to | 451 | ;; Dir locals were set directly from a class. You need to |
| 451 | ;; directly modify the class in dir-locals-class-alist. | 452 | ;; directly modify the class in dir-locals-class-alist. |
diff --git a/lisp/files.el b/lisp/files.el index 5a15c71aab6..92ae4344e1c 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -3713,37 +3713,43 @@ VARIABLES list of the class. The list is processed in order. | |||
| 3713 | applied by recursively following these rules." | 3713 | applied by recursively following these rules." |
| 3714 | (setf (alist-get class dir-locals-class-alist) variables)) | 3714 | (setf (alist-get class dir-locals-class-alist) variables)) |
| 3715 | 3715 | ||
| 3716 | (defconst dir-locals-file ".dir-locals" | 3716 | (defconst dir-locals-file ".dir-locals.el" |
| 3717 | "Pattern for files that contain directory-local variables. | 3717 | "File that contains directory-local variables. |
| 3718 | It has to be constant to enforce uniform values across different | 3718 | It has to be constant to enforce uniform values across different |
| 3719 | environments and users. | 3719 | environments and users. |
| 3720 | See also `dir-locals-file-2', whose values override this one's. | ||
| 3721 | See Info node `(elisp)Directory Local Variables' for details.") | ||
| 3720 | 3722 | ||
| 3721 | Multiple dir-locals files in the same directory are loaded in | 3723 | (defconst dir-locals-file-2 ".dir-locals-2.el" |
| 3722 | `string<' order. | 3724 | "File that contains directory-local variables. |
| 3725 | This essentially a second file that can be used like | ||
| 3726 | `dir-locals-file', so that users can have specify their personal | ||
| 3727 | dir-local variables even if the current directory already has a | ||
| 3728 | `dir-locals-file' that is shared with other users (such as in a | ||
| 3729 | git repository). | ||
| 3723 | See Info node `(elisp)Directory Local Variables' for details.") | 3730 | See Info node `(elisp)Directory Local Variables' for details.") |
| 3724 | 3731 | ||
| 3725 | (defun dir-locals--all-files (file-or-dir) | 3732 | (defun dir-locals--all-files (directory) |
| 3726 | "Return a list of all readable dir-locals files matching FILE-OR-DIR. | 3733 | "Return a list of all readable dir-locals files in DIRECTORY. |
| 3727 | If FILE-OR-DIR is a file pattern, expand wildcards in it and | 3734 | The returned list is sorted by increasing priority. That is, |
| 3728 | return a sorted list of the results. If it is a directory name, | 3735 | values specified in the last file should take precedence over |
| 3729 | return a sorted list of all files matching `dir-locals-file' in | 3736 | those in the first." |
| 3730 | this directory. | 3737 | (when (file-readable-p directory) |
| 3731 | The returned list is sorted by `string<' order." | 3738 | (let* ((file-1 (expand-file-name (if (eq system-type 'ms-dos) |
| 3732 | (require 'seq) | 3739 | (dosified-file-name dir-locals-file) |
| 3733 | (let ((dir (if (file-directory-p file-or-dir) | 3740 | dir-locals-file) |
| 3734 | file-or-dir | 3741 | directory)) |
| 3735 | (or (file-name-directory file-or-dir) | 3742 | (file-2 (when (string-match "\\.el\\'" file-1) |
| 3736 | default-directory))) | 3743 | (replace-match "-2.el" t nil file-1))) |
| 3737 | (file (cond ((not (file-directory-p file-or-dir)) (file-name-nondirectory file-or-dir)) | 3744 | (out nil)) |
| 3738 | ((eq system-type 'ms-dos) (dosified-file-name dir-locals-file)) | 3745 | ;; The order here is important. |
| 3739 | (t dir-locals-file)))) | 3746 | (dolist (f (list file-2 file-1)) |
| 3740 | (seq-filter (lambda (f) (and (file-readable-p f) | 3747 | (when (and f |
| 3741 | (file-regular-p f) | 3748 | (file-readable-p f) |
| 3742 | (not (file-directory-p f)))) | 3749 | (file-regular-p f) |
| 3743 | (mapcar (lambda (f) (expand-file-name f dir)) | 3750 | (not (file-directory-p f))) |
| 3744 | (nreverse | 3751 | (push f out))) |
| 3745 | (let ((completion-regexp-list '("\\.el\\'"))) | 3752 | out))) |
| 3746 | (file-name-all-completions file dir))))))) | ||
| 3747 | 3753 | ||
| 3748 | (defun dir-locals-find-file (file) | 3754 | (defun dir-locals-find-file (file) |
| 3749 | "Find the directory-local variables for FILE. | 3755 | "Find the directory-local variables for FILE. |
| @@ -3758,24 +3764,19 @@ A cache entry based on a `dir-locals-file' is valid if the modification | |||
| 3758 | time stored in the cache matches the current file modification time. | 3764 | time stored in the cache matches the current file modification time. |
| 3759 | If not, the cache entry is cleared so that the file will be re-read. | 3765 | If not, the cache entry is cleared so that the file will be re-read. |
| 3760 | 3766 | ||
| 3761 | This function returns either nil (no directory local variables found), | 3767 | This function returns either: |
| 3762 | or the matching entry from `dir-locals-directory-cache' (a list), | 3768 | - nil (no directory local variables found), |
| 3763 | or the full path to the `dir-locals-file' (a string) in the case | 3769 | - the matching entry from `dir-locals-directory-cache' (a list), |
| 3764 | of no valid cache entry. If `dir-locals-file' contains | 3770 | - or the full path to the directory (a string) containing at |
| 3765 | wildcards, then the return value is not a proper filename, it is | 3771 | least one `dir-locals-file' in the case of no valid cache |
| 3766 | an absolute version of `dir-locals-file' which is guaranteed to | 3772 | entry." |
| 3767 | expand to at least one file." | ||
| 3768 | (setq file (expand-file-name file)) | 3773 | (setq file (expand-file-name file)) |
| 3769 | (let* ((locals-dir (locate-dominating-file (file-name-directory file) | 3774 | (let* ((locals-dir (locate-dominating-file (file-name-directory file) |
| 3770 | #'dir-locals--all-files)) | 3775 | #'dir-locals--all-files)) |
| 3771 | locals-file dir-elt) | 3776 | dir-elt) |
| 3772 | ;; `locate-dominating-file' may have abbreviated the name. | 3777 | ;; `locate-dominating-file' may have abbreviated the name. |
| 3773 | (when locals-dir | 3778 | (when locals-dir |
| 3774 | (setq locals-dir (expand-file-name locals-dir)) | 3779 | (setq locals-dir (expand-file-name locals-dir))) |
| 3775 | (setq locals-file (expand-file-name (if (eq system-type 'ms-dos) | ||
| 3776 | (dosified-file-name dir-locals-file) | ||
| 3777 | dir-locals-file) | ||
| 3778 | locals-dir))) | ||
| 3779 | ;; Find the best cached value in `dir-locals-directory-cache'. | 3780 | ;; Find the best cached value in `dir-locals-directory-cache'. |
| 3780 | (dolist (elt dir-locals-directory-cache) | 3781 | (dolist (elt dir-locals-directory-cache) |
| 3781 | (when (and (string-prefix-p (car elt) file | 3782 | (when (and (string-prefix-p (car elt) file |
| @@ -3808,20 +3809,19 @@ expand to at least one file." | |||
| 3808 | (delq dir-elt dir-locals-directory-cache)) | 3809 | (delq dir-elt dir-locals-directory-cache)) |
| 3809 | ;; Return the first existing dir-locals file. Might be the same | 3810 | ;; Return the first existing dir-locals file. Might be the same |
| 3810 | ;; as dir-elt's, might not (eg latter might have been deleted). | 3811 | ;; as dir-elt's, might not (eg latter might have been deleted). |
| 3811 | locals-file) | 3812 | locals-dir) |
| 3812 | ;; No cache entry. | 3813 | ;; No cache entry. |
| 3813 | locals-file))) | 3814 | locals-dir))) |
| 3814 | 3815 | ||
| 3815 | (defun dir-locals-read-from-file (file) | 3816 | (defun dir-locals-read-from-dir (dir) |
| 3816 | "Load a variables FILE and register a new class and instance. | 3817 | "Load all variables files in DIR and register a new class and instance. |
| 3817 | FILE is the absolute name of the file holding the variables to | 3818 | DIR is the absolute name of a directory which must contain at |
| 3818 | apply. It may contain wildcards. | 3819 | least one dir-local file (which is a file holding variables to |
| 3819 | The new class name is the same as the directory in which FILE | 3820 | apply). |
| 3820 | is found. Returns the new class name." | 3821 | Return the new class name, which is a symbol named DIR." |
| 3821 | (require 'map) | 3822 | (require 'map) |
| 3822 | (let* ((dir-name (file-name-directory file)) | 3823 | (let* ((class-name (intern dir)) |
| 3823 | (class-name (intern dir-name)) | 3824 | (files (dir-locals--all-files dir)) |
| 3824 | (files (dir-locals--all-files file)) | ||
| 3825 | (read-circle nil) | 3825 | (read-circle nil) |
| 3826 | (success nil) | 3826 | (success nil) |
| 3827 | (variables)) | 3827 | (variables)) |
| @@ -3838,7 +3838,7 @@ is found. Returns the new class name." | |||
| 3838 | (setq success t)) | 3838 | (setq success t)) |
| 3839 | (dir-locals-set-class-variables class-name variables) | 3839 | (dir-locals-set-class-variables class-name variables) |
| 3840 | (dir-locals-set-directory-class | 3840 | (dir-locals-set-directory-class |
| 3841 | dir-name class-name | 3841 | dir class-name |
| 3842 | (seconds-to-time | 3842 | (seconds-to-time |
| 3843 | (if success | 3843 | (if success |
| 3844 | (apply #'max (mapcar (lambda (file) | 3844 | (apply #'max (mapcar (lambda (file) |
| @@ -3849,6 +3849,9 @@ is found. Returns the new class name." | |||
| 3849 | 0))) | 3849 | 0))) |
| 3850 | class-name)) | 3850 | class-name)) |
| 3851 | 3851 | ||
| 3852 | (define-obsolete-function-alias 'dir-locals-read-from-file | ||
| 3853 | 'dir-locals-read-from-dir "25.1") | ||
| 3854 | |||
| 3852 | (defcustom enable-remote-dir-locals nil | 3855 | (defcustom enable-remote-dir-locals nil |
| 3853 | "Non-nil means dir-local variables will be applied to remote files." | 3856 | "Non-nil means dir-local variables will be applied to remote files." |
| 3854 | :version "24.3" | 3857 | :version "24.3" |
| @@ -3870,17 +3873,17 @@ This does nothing if either `enable-local-variables' or | |||
| 3870 | (not (file-remote-p (or (buffer-file-name) | 3873 | (not (file-remote-p (or (buffer-file-name) |
| 3871 | default-directory))))) | 3874 | default-directory))))) |
| 3872 | ;; Find the variables file. | 3875 | ;; Find the variables file. |
| 3873 | (let ((file-pattern-or-cache (dir-locals-find-file | 3876 | (let ((dir-or-cache (dir-locals-find-file |
| 3874 | (or (buffer-file-name) default-directory))) | 3877 | (or (buffer-file-name) default-directory))) |
| 3875 | (class nil) | 3878 | (class nil) |
| 3876 | (dir-name nil)) | 3879 | (dir-name nil)) |
| 3877 | (cond | 3880 | (cond |
| 3878 | ((stringp file-pattern-or-cache) | 3881 | ((stringp dir-or-cache) |
| 3879 | (setq dir-name (file-name-directory file-pattern-or-cache) | 3882 | (setq dir-name dir-or-cache |
| 3880 | class (dir-locals-read-from-file file-pattern-or-cache))) | 3883 | class (dir-locals-read-from-dir dir-or-cache))) |
| 3881 | ((consp file-pattern-or-cache) | 3884 | ((consp dir-or-cache) |
| 3882 | (setq dir-name (nth 0 file-pattern-or-cache)) | 3885 | (setq dir-name (nth 0 dir-or-cache)) |
| 3883 | (setq class (nth 1 file-pattern-or-cache)))) | 3886 | (setq class (nth 1 dir-or-cache)))) |
| 3884 | (when class | 3887 | (when class |
| 3885 | (let ((variables | 3888 | (let ((variables |
| 3886 | (dir-locals-collect-variables | 3889 | (dir-locals-collect-variables |
diff --git a/lisp/font-lock.el b/lisp/font-lock.el index 988bf7bd216..471db6b148f 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el | |||
| @@ -1074,7 +1074,13 @@ accessible portion of the current buffer." | |||
| 1074 | 1074 | ||
| 1075 | (defvar font-lock-ensure-function | 1075 | (defvar font-lock-ensure-function |
| 1076 | (lambda (_beg _end) | 1076 | (lambda (_beg _end) |
| 1077 | (unless font-lock-fontified (font-lock-default-fontify-buffer))) | 1077 | (unless font-lock-fontified |
| 1078 | (font-lock-default-fontify-buffer) | ||
| 1079 | (unless font-lock-mode | ||
| 1080 | ;; If font-lock is not enabled, we don't have the hooks in place to | ||
| 1081 | ;; track modifications, so a subsequent call to font-lock-ensure can't | ||
| 1082 | ;; assume that the fontification is still valid. | ||
| 1083 | (setq font-lock-fontified nil)))) | ||
| 1078 | "Function to make sure a region has been fontified. | 1084 | "Function to make sure a region has been fontified. |
| 1079 | Called with two arguments BEG and END.") | 1085 | Called with two arguments BEG and END.") |
| 1080 | 1086 | ||
diff --git a/lisp/frameset.el b/lisp/frameset.el index b8d86c649ec..2453f57e228 100644 --- a/lisp/frameset.el +++ b/lisp/frameset.el | |||
| @@ -354,12 +354,12 @@ Properties can be set with | |||
| 354 | ;; Now, what about the filter alist variables? There are three of them, | 354 | ;; Now, what about the filter alist variables? There are three of them, |
| 355 | ;; though only two sets of parameters: | 355 | ;; though only two sets of parameters: |
| 356 | ;; | 356 | ;; |
| 357 | ;; - `frameset-session-filter-alist' contains these filters that allow to | 357 | ;; - `frameset-session-filter-alist' contains these filters that allow |
| 358 | ;; save and restore framesets in-session, without the need to serialize | 358 | ;; saving and restoring framesets in-session, without the need to |
| 359 | ;; the frameset or save it to disk (for example, to save a frameset in a | 359 | ;; serialize the frameset or save it to disk (for example, to save a |
| 360 | ;; register and restore it later). Filters in this list do not remove | 360 | ;; frameset in a register and restore it later). Filters in this |
| 361 | ;; live objects, except in `minibuffer', which is dealt especially by | 361 | ;; list do not remove live objects, except in `minibuffer', which is |
| 362 | ;; `frameset-save' / `frameset-restore'. | 362 | ;; dealt especially by `frameset-save' / `frameset-restore'. |
| 363 | ;; | 363 | ;; |
| 364 | ;; - `frameset-persistent-filter-alist' is the whole deal. It does all | 364 | ;; - `frameset-persistent-filter-alist' is the whole deal. It does all |
| 365 | ;; the filtering described above, and the result is ready to be saved on | 365 | ;; the filtering described above, and the result is ready to be saved on |
| @@ -1072,7 +1072,7 @@ FORCE-ONSCREEN can be: | |||
| 1072 | - a list (LEFT TOP WIDTH HEIGHT), describing the workarea. | 1072 | - a list (LEFT TOP WIDTH HEIGHT), describing the workarea. |
| 1073 | It must return non-nil to force the frame onscreen, nil otherwise. | 1073 | It must return non-nil to force the frame onscreen, nil otherwise. |
| 1074 | 1074 | ||
| 1075 | CLEANUP-FRAMES allows to \"clean up\" the frame list after restoring a frameset: | 1075 | CLEANUP-FRAMES allows \"cleaning up\" the frame list after restoring a frameset: |
| 1076 | t Delete all frames that were not created or restored upon. | 1076 | t Delete all frames that were not created or restored upon. |
| 1077 | nil Keep all frames. | 1077 | nil Keep all frames. |
| 1078 | FUNC A function called with two arguments: | 1078 | FUNC A function called with two arguments: |
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el index 9219ce04c1f..80753c11813 100644 --- a/lisp/gnus/gnus-agent.el +++ b/lisp/gnus/gnus-agent.el | |||
| @@ -680,7 +680,7 @@ minor mode in all Gnus buffers." | |||
| 680 | 680 | ||
| 681 | (defun gnus-agent-queue-setup (&optional group-name) | 681 | (defun gnus-agent-queue-setup (&optional group-name) |
| 682 | "Make sure the queue group exists. | 682 | "Make sure the queue group exists. |
| 683 | Optional arg GROUP-NAME allows to specify another group." | 683 | Optional arg GROUP-NAME allows another group to be specified." |
| 684 | (unless (gnus-gethash (format "nndraft:%s" (or group-name "queue")) | 684 | (unless (gnus-gethash (format "nndraft:%s" (or group-name "queue")) |
| 685 | gnus-newsrc-hashtb) | 685 | gnus-newsrc-hashtb) |
| 686 | (gnus-request-create-group (or group-name "queue") '(nndraft "")) | 686 | (gnus-request-create-group (or group-name "queue") '(nndraft "")) |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 11ce04f799a..54bbfd857f1 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -1659,7 +1659,9 @@ called with the group name as the parameter, and should return a | |||
| 1659 | regexp." | 1659 | regexp." |
| 1660 | :version "24.1" | 1660 | :version "24.1" |
| 1661 | :group 'gnus-art | 1661 | :group 'gnus-art |
| 1662 | :type '(choice regexp function)) | 1662 | :type '(choice (const :tag "Allow all" nil) |
| 1663 | (regexp :tag "Regular expression") | ||
| 1664 | (function :tag "Use a function"))) | ||
| 1663 | 1665 | ||
| 1664 | ;;; Internal variables | 1666 | ;;; Internal variables |
| 1665 | 1667 | ||
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index fb97479302b..106d010a3dc 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el | |||
| @@ -496,9 +496,9 @@ Unless LIST is given, `mm-codepage-ibm-list' is used." | |||
| 496 | (windows-1257 . (mm-codepage-setup 1257 t)))) | 496 | (windows-1257 . (mm-codepage-setup 1257 t)))) |
| 497 | "An alist of (CHARSET . FORM) pairs. | 497 | "An alist of (CHARSET . FORM) pairs. |
| 498 | If an article is encoded in an unknown CHARSET, FORM is | 498 | If an article is encoded in an unknown CHARSET, FORM is |
| 499 | evaluated. This allows to load additional libraries providing | 499 | evaluated. This allows the loading of additional libraries |
| 500 | charsets on demand. If supported by your Emacs version, you | 500 | providing charsets on demand. If supported by your Emacs |
| 501 | could use `autoload-coding-system' here." | 501 | version, you could use `autoload-coding-system' here." |
| 502 | :version "22.1" ;; Gnus 5.10.9 | 502 | :version "22.1" ;; Gnus 5.10.9 |
| 503 | :type '(list (set :inline t | 503 | :type '(list (set :inline t |
| 504 | (const (windows-1250 . (mm-codepage-setup 1250 t))) | 504 | (const (windows-1250 . (mm-codepage-setup 1250 t))) |
diff --git a/lisp/international/characters.el b/lisp/international/characters.el index 2e947331abe..a43c0f68070 100644 --- a/lisp/international/characters.el +++ b/lisp/international/characters.el | |||
| @@ -496,7 +496,7 @@ with L, LRE, or LRO Unicode bidi character type.") | |||
| 496 | table))) | 496 | table))) |
| 497 | 497 | ||
| 498 | ;; Load uni-mirrored.el and uni-brackets.el if available, so that they | 498 | ;; Load uni-mirrored.el and uni-brackets.el if available, so that they |
| 499 | ;; get dumped into Emacs. This allows to start Emacs with | 499 | ;; get dumped into Emacs. This allows starting Emacs with |
| 500 | ;; force-load-messages in ~/.emacs, and avoid infinite recursion in | 500 | ;; force-load-messages in ~/.emacs, and avoid infinite recursion in |
| 501 | ;; bidi_initialize, which needs to load uni-mirrored.el and | 501 | ;; bidi_initialize, which needs to load uni-mirrored.el and |
| 502 | ;; uni-brackets.el in order to display the "Loading" messages. | 502 | ;; uni-brackets.el in order to display the "Loading" messages. |
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index f0c65fa032b..7b46822aad7 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el | |||
| @@ -11624,7 +11624,7 @@ FORCE-ONSCREEN can be: | |||
| 11624 | - a list (LEFT TOP WIDTH HEIGHT), describing the workarea. | 11624 | - a list (LEFT TOP WIDTH HEIGHT), describing the workarea. |
| 11625 | It must return non-nil to force the frame onscreen, nil otherwise. | 11625 | It must return non-nil to force the frame onscreen, nil otherwise. |
| 11626 | 11626 | ||
| 11627 | CLEANUP-FRAMES allows to \"clean up\" the frame list after restoring a frameset: | 11627 | CLEANUP-FRAMES allows \"cleaning up\" the frame list after restoring a frameset: |
| 11628 | t Delete all frames that were not created or restored upon. | 11628 | t Delete all frames that were not created or restored upon. |
| 11629 | nil Keep all frames. | 11629 | nil Keep all frames. |
| 11630 | FUNC A function called with two arguments: | 11630 | FUNC A function called with two arguments: |
| @@ -30597,8 +30597,8 @@ Usage: | |||
| 30597 | according to option `vhdl-argument-list-indent'. | 30597 | according to option `vhdl-argument-list-indent'. |
| 30598 | 30598 | ||
| 30599 | If option `vhdl-indent-tabs-mode' is nil, spaces are used instead of | 30599 | If option `vhdl-indent-tabs-mode' is nil, spaces are used instead of |
| 30600 | tabs. `\\[tabify]' and `\\[untabify]' allow to convert spaces to tabs | 30600 | tabs. `\\[tabify]' and `\\[untabify]' allow the conversion of spaces to |
| 30601 | and vice versa. | 30601 | tabs and vice versa. |
| 30602 | 30602 | ||
| 30603 | Syntax-based indentation can be very slow in large files. Option | 30603 | Syntax-based indentation can be very slow in large files. Option |
| 30604 | `vhdl-indent-syntax-based' allows you to use faster but simpler indentation. | 30604 | `vhdl-indent-syntax-based' allows you to use faster but simpler indentation. |
diff --git a/lisp/mail/mailclient.el b/lisp/mail/mailclient.el index bfd6e7d1424..eb1305a5e39 100644 --- a/lisp/mail/mailclient.el +++ b/lisp/mail/mailclient.el | |||
| @@ -22,7 +22,7 @@ | |||
| 22 | 22 | ||
| 23 | ;;; Commentary: | 23 | ;;; Commentary: |
| 24 | 24 | ||
| 25 | ;; This package allows to hand over a buffer to be sent off | 25 | ;; This package allows handing over a buffer to be sent off |
| 26 | ;; via the system's designated e-mail client. | 26 | ;; via the system's designated e-mail client. |
| 27 | ;; Note that the e-mail client will display the contents of the buffer | 27 | ;; Note that the e-mail client will display the contents of the buffer |
| 28 | ;; again for editing. | 28 | ;; again for editing. |
diff --git a/lisp/man.el b/lisp/man.el index 40b77e6eeed..04a7fc3fe7a 100644 --- a/lisp/man.el +++ b/lisp/man.el | |||
| @@ -75,7 +75,7 @@ | |||
| 75 | ;; ============= TODO =========== | 75 | ;; ============= TODO =========== |
| 76 | ;; - Add a command for printing. | 76 | ;; - Add a command for printing. |
| 77 | ;; - The awk script deletes multiple blank lines. This behavior does | 77 | ;; - The awk script deletes multiple blank lines. This behavior does |
| 78 | ;; not allow to understand if there was indeed a blank line at the | 78 | ;; not allow one to understand if there was indeed a blank line at the |
| 79 | ;; end or beginning of a page (after the header, or before the | 79 | ;; end or beginning of a page (after the header, or before the |
| 80 | ;; footer). A different algorithm should be used. It is easy to | 80 | ;; footer). A different algorithm should be used. It is easy to |
| 81 | ;; compute how many blank lines there are before and after the page | 81 | ;; compute how many blank lines there are before and after the page |
diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el index 30b38919944..6e607444ad8 100644 --- a/lisp/mh-e/mh-search.el +++ b/lisp/mh-e/mh-search.el | |||
| @@ -1262,7 +1262,7 @@ is used to search." | |||
| 1262 | (forward-line))) | 1262 | (forward-line))) |
| 1263 | 1263 | ||
| 1264 | ;; All implementations of pick have special options -cc, -date, -from and | 1264 | ;; All implementations of pick have special options -cc, -date, -from and |
| 1265 | ;; -subject that allow to search for corresponding components. Any other | 1265 | ;; -subject that allow searching for corresponding components. Any other |
| 1266 | ;; component is searched using option --COMPNAME, for example: `pick | 1266 | ;; component is searched using option --COMPNAME, for example: `pick |
| 1267 | ;; --x-mailer mh-e'. Mailutils "pick" supports this option using a certain | 1267 | ;; --x-mailer mh-e'. Mailutils "pick" supports this option using a certain |
| 1268 | ;; kludge, but it prefers the following syntax for this purpose: | 1268 | ;; kludge, but it prefers the following syntax for this purpose: |
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index edf91ab6000..1a666e0d9e9 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el | |||
| @@ -148,7 +148,7 @@ regexp should probably be \".\" to specify a default browser." | |||
| 148 | (function-item :tag "eww" :value eww-browse-url) | 148 | (function-item :tag "eww" :value eww-browse-url) |
| 149 | (function-item :tag "Mozilla" :value browse-url-mozilla) | 149 | (function-item :tag "Mozilla" :value browse-url-mozilla) |
| 150 | (function-item :tag "Firefox" :value browse-url-firefox) | 150 | (function-item :tag "Firefox" :value browse-url-firefox) |
| 151 | (function-item :tag "Google Chrome" :value browse-url-chrome) | 151 | (function-item :tag "Google Chrome" :value browse-url-chrome) |
| 152 | (function-item :tag "Chromium" :value browse-url-chromium) | 152 | (function-item :tag "Chromium" :value browse-url-chromium) |
| 153 | (function-item :tag "Epiphany" :value browse-url-epiphany) | 153 | (function-item :tag "Epiphany" :value browse-url-epiphany) |
| 154 | (function-item :tag "Conkeror" :value browse-url-conkeror) | 154 | (function-item :tag "Conkeror" :value browse-url-conkeror) |
| @@ -266,15 +266,15 @@ Defaults to the value of `browse-url-firefox-arguments' at the time | |||
| 266 | (while (and candidates (not (executable-find (car candidates)))) | 266 | (while (and candidates (not (executable-find (car candidates)))) |
| 267 | (setq candidates (cdr candidates))) | 267 | (setq candidates (cdr candidates))) |
| 268 | (or (car candidates) "chromium")) | 268 | (or (car candidates) "chromium")) |
| 269 | "The name by which to invoke Chromium." | 269 | "The name by which to invoke the Chrome browser." |
| 270 | :type 'string | 270 | :type 'string |
| 271 | :version "24.1" | 271 | :version "25.1" |
| 272 | :group 'browse-url) | 272 | :group 'browse-url) |
| 273 | 273 | ||
| 274 | (defcustom browse-url-chrome-arguments nil | 274 | (defcustom browse-url-chrome-arguments nil |
| 275 | "A list of strings to pass to Google Chrome as arguments." | 275 | "A list of strings to pass to Google Chrome as arguments." |
| 276 | :type '(repeat (string :tag "Argument")) | 276 | :type '(repeat (string :tag "Argument")) |
| 277 | :version "24.1" | 277 | :version "25.1" |
| 278 | :group 'browse-url) | 278 | :group 'browse-url) |
| 279 | 279 | ||
| 280 | (defcustom browse-url-chromium-program | 280 | (defcustom browse-url-chromium-program |
diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el index ebdeeccc2c8..ee8b55bf192 100644 --- a/lisp/net/nsm.el +++ b/lisp/net/nsm.el | |||
| @@ -87,7 +87,7 @@ against previous connections. If the function determines that | |||
| 87 | there is something odd about the connection, the user will be | 87 | there is something odd about the connection, the user will be |
| 88 | queried about what to do about it. | 88 | queried about what to do about it. |
| 89 | 89 | ||
| 90 | The process it returned if everything is OK, and otherwise, the | 90 | The process is returned if everything is OK, and otherwise, the |
| 91 | process will be deleted and nil is returned. | 91 | process will be deleted and nil is returned. |
| 92 | 92 | ||
| 93 | If SAVE-FINGERPRINT, always save the fingerprint of the | 93 | If SAVE-FINGERPRINT, always save the fingerprint of the |
diff --git a/lisp/net/tramp-cmds.el b/lisp/net/tramp-cmds.el index 5e9af0b18eb..856011fc0ee 100644 --- a/lisp/net/tramp-cmds.el +++ b/lisp/net/tramp-cmds.el | |||
| @@ -209,7 +209,7 @@ Before reproducing the bug, you might apply | |||
| 209 | 209 | ||
| 210 | M-x tramp-cleanup-all-connections | 210 | M-x tramp-cleanup-all-connections |
| 211 | 211 | ||
| 212 | This allows to investigate from a clean environment. Another | 212 | This allows us to investigate from a clean environment. Another |
| 213 | useful thing to do is to put | 213 | useful thing to do is to put |
| 214 | 214 | ||
| 215 | (setq tramp-verbose 9) | 215 | (setq tramp-verbose 9) |
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index 46bf3de098d..796a5d3d0dd 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el | |||
| @@ -86,7 +86,7 @@ | |||
| 86 | 86 | ||
| 87 | ;; Restrictions: | 87 | ;; Restrictions: |
| 88 | 88 | ||
| 89 | ;; * The current GVFS implementation does not allow to write on the | 89 | ;; * The current GVFS implementation does not allow writing on the |
| 90 | ;; remote bluetooth device via OBEX. | 90 | ;; remote bluetooth device via OBEX. |
| 91 | ;; | 91 | ;; |
| 92 | ;; * Two shares of the same SMB server cannot be mounted in parallel. | 92 | ;; * Two shares of the same SMB server cannot be mounted in parallel. |
diff --git a/lisp/org/ChangeLog.1 b/lisp/org/ChangeLog.1 index 57a427c30d4..ccc849d226a 100644 --- a/lisp/org/ChangeLog.1 +++ b/lisp/org/ChangeLog.1 | |||
| @@ -32528,7 +32528,7 @@ | |||
| 32528 | (org-export-normalize-links) | 32528 | (org-export-normalize-links) |
| 32529 | (org-export-concatenate-multiline-links) | 32529 | (org-export-concatenate-multiline-links) |
| 32530 | (org-export-concatenate-multiline-emphasis): New functions, | 32530 | (org-export-concatenate-multiline-emphasis): New functions, |
| 32531 | obtained from spliting the export preprocessor. | 32531 | obtained from splitting the export preprocessor. |
| 32532 | 32532 | ||
| 32533 | * org-table.el (org-table-recalculate): Improve error message if | 32533 | * org-table.el (org-table-recalculate): Improve error message if |
| 32534 | the row number is invalid. | 32534 | the row number is invalid. |
diff --git a/lisp/org/org-crypt.el b/lisp/org/org-crypt.el index 22b02c84889..8abe32befe0 100644 --- a/lisp/org/org-crypt.el +++ b/lisp/org/org-crypt.el | |||
| @@ -225,7 +225,7 @@ See `org-crypt-disable-auto-save'." | |||
| 225 | ;; outline property starts at the \n of the heading. | 225 | ;; outline property starts at the \n of the heading. |
| 226 | (delete-region (1- (point)) end) | 226 | (delete-region (1- (point)) end) |
| 227 | ;; Store a checksum of the decrypted and the encrypted | 227 | ;; Store a checksum of the decrypted and the encrypted |
| 228 | ;; text value. This allow to reuse the same encrypted text | 228 | ;; text value. This allow reusing the same encrypted text |
| 229 | ;; if the text does not change, and therefore avoid a | 229 | ;; if the text does not change, and therefore avoid a |
| 230 | ;; re-encryption process. | 230 | ;; re-encryption process. |
| 231 | (insert "\n" (propertize decrypted-text | 231 | (insert "\n" (propertize decrypted-text |
diff --git a/lisp/org/org-element.el b/lisp/org/org-element.el index e47d65f1037..a19f52c7923 100644 --- a/lisp/org/org-element.el +++ b/lisp/org/org-element.el | |||
| @@ -367,8 +367,8 @@ still has an entry since one of its properties (`:title') does.") | |||
| 367 | ;; Provide four accessors: `org-element-type', `org-element-property' | 367 | ;; Provide four accessors: `org-element-type', `org-element-property' |
| 368 | ;; `org-element-contents' and `org-element-restriction'. | 368 | ;; `org-element-contents' and `org-element-restriction'. |
| 369 | ;; | 369 | ;; |
| 370 | ;; Setter functions allow to modify elements by side effect. There is | 370 | ;; Setter functions allow modification of elements by side effect. |
| 371 | ;; `org-element-put-property', `org-element-set-contents', | 371 | ;; There is `org-element-put-property', `org-element-set-contents', |
| 372 | ;; `org-element-set-element' and `org-element-adopt-element'. Note | 372 | ;; `org-element-set-element' and `org-element-adopt-element'. Note |
| 373 | ;; that `org-element-set-element' and `org-element-adopt-elements' are | 373 | ;; that `org-element-set-element' and `org-element-adopt-elements' are |
| 374 | ;; higher level functions since also update `:parent' property. | 374 | ;; higher level functions since also update `:parent' property. |
| @@ -487,7 +487,7 @@ Return parent element." | |||
| 487 | ;; cannot contain other greater elements of their own type. | 487 | ;; cannot contain other greater elements of their own type. |
| 488 | ;; | 488 | ;; |
| 489 | ;; Beside implementing a parser and an interpreter, adding a new | 489 | ;; Beside implementing a parser and an interpreter, adding a new |
| 490 | ;; greater element requires to tweak `org-element--current-element'. | 490 | ;; greater element requires tweaking `org-element--current-element'. |
| 491 | ;; Moreover, the newly defined type must be added to both | 491 | ;; Moreover, the newly defined type must be added to both |
| 492 | ;; `org-element-all-elements' and `org-element-greater-elements'. | 492 | ;; `org-element-all-elements' and `org-element-greater-elements'. |
| 493 | 493 | ||
| @@ -4023,8 +4023,8 @@ position of point and CDR is nil." | |||
| 4023 | ;; `org-element-parse-secondary-string', which parses objects within | 4023 | ;; `org-element-parse-secondary-string', which parses objects within |
| 4024 | ;; a given string. | 4024 | ;; a given string. |
| 4025 | ;; | 4025 | ;; |
| 4026 | ;; The (almost) almighty `org-element-map' allows to apply a function | 4026 | ;; The (almost) almighty `org-element-map' allows applying a function |
| 4027 | ;; on elements or objects matching some type, and accumulate the | 4027 | ;; on elements or objects matching some type, and accumulating the |
| 4028 | ;; resulting values. In an export situation, it also skips unneeded | 4028 | ;; resulting values. In an export situation, it also skips unneeded |
| 4029 | ;; parts of the parse tree. | 4029 | ;; parts of the parse tree. |
| 4030 | 4030 | ||
diff --git a/lisp/org/org-feed.el b/lisp/org/org-feed.el index 2d71c8b6fcc..6d6f996954a 100644 --- a/lisp/org/org-feed.el +++ b/lisp/org/org-feed.el | |||
| @@ -24,7 +24,7 @@ | |||
| 24 | ;; | 24 | ;; |
| 25 | ;;; Commentary: | 25 | ;;; Commentary: |
| 26 | ;; | 26 | ;; |
| 27 | ;; This module allows to create and change entries in an Org-mode | 27 | ;; This module allows entries to be created and changed in an Org-mode |
| 28 | ;; file triggered by items in an RSS feed. The basic functionality is | 28 | ;; file triggered by items in an RSS feed. The basic functionality is |
| 29 | ;; geared toward simply adding new items found in a feed as outline nodes | 29 | ;; geared toward simply adding new items found in a feed as outline nodes |
| 30 | ;; to an Org file. Using hooks, arbitrary actions can be triggered for | 30 | ;; to an Org file. Using hooks, arbitrary actions can be triggered for |
diff --git a/lisp/org/org-mobile.el b/lisp/org/org-mobile.el index b11f4448a8d..f535390790f 100644 --- a/lisp/org/org-mobile.el +++ b/lisp/org/org-mobile.el | |||
| @@ -88,7 +88,7 @@ org-agenda-text-search-extra-files | |||
| 88 | Encryption uses AES-256, with a password given in | 88 | Encryption uses AES-256, with a password given in |
| 89 | `org-mobile-encryption-password'. | 89 | `org-mobile-encryption-password'. |
| 90 | When nil, plain files are kept on the server. | 90 | When nil, plain files are kept on the server. |
| 91 | Turning on encryption requires to set the same password in the MobileOrg | 91 | Turning on encryption requires setting the same password in the MobileOrg |
| 92 | application. Before turning this on, check of MobileOrg does already | 92 | application. Before turning this on, check of MobileOrg does already |
| 93 | support it - at the time of this writing it did not yet." | 93 | support it - at the time of this writing it did not yet." |
| 94 | :group 'org-mobile | 94 | :group 'org-mobile |
diff --git a/lisp/org/org.el b/lisp/org/org.el index 960b874bc7e..6e7d54d39c0 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el | |||
| @@ -2254,7 +2254,7 @@ fast, while still showing the whole path to the entry." | |||
| 2254 | :type 'boolean) | 2254 | :type 'boolean) |
| 2255 | 2255 | ||
| 2256 | (defcustom org-refile-allow-creating-parent-nodes nil | 2256 | (defcustom org-refile-allow-creating-parent-nodes nil |
| 2257 | "Non-nil means allow to create new nodes as refile targets. | 2257 | "Non-nil means allow the creation of new nodes as refile targets. |
| 2258 | New nodes are then created by adding \"/new node name\" to the completion | 2258 | New nodes are then created by adding \"/new node name\" to the completion |
| 2259 | of an existing node. When the value of this variable is `confirm', | 2259 | of an existing node. When the value of this variable is `confirm', |
| 2260 | new node creation must be confirmed by the user (recommended). | 2260 | new node creation must be confirmed by the user (recommended). |
diff --git a/lisp/org/ox-ascii.el b/lisp/org/ox-ascii.el index 1907dc0c748..dcca608b306 100644 --- a/lisp/org/ox-ascii.el +++ b/lisp/org/ox-ascii.el | |||
| @@ -35,10 +35,10 @@ | |||
| 35 | 35 | ||
| 36 | ;;; Define Back-End | 36 | ;;; Define Back-End |
| 37 | ;; | 37 | ;; |
| 38 | ;; The following setting won't allow to modify preferred charset | 38 | ;; The following setting won't allow modifying preferred charset |
| 39 | ;; through a buffer keyword or an option item, but, since the property | 39 | ;; through a buffer keyword or an option item, but, since the property |
| 40 | ;; will appear in communication channel nonetheless, it allows to | 40 | ;; will appear in communication channel nonetheless, it allows |
| 41 | ;; override `org-ascii-charset' variable on the fly by the ext-plist | 41 | ;; overriding `org-ascii-charset' variable on the fly by the ext-plist |
| 42 | ;; mechanism. | 42 | ;; mechanism. |
| 43 | ;; | 43 | ;; |
| 44 | ;; We also install a filter for headlines and sections, in order to | 44 | ;; We also install a filter for headlines and sections, in order to |
diff --git a/lisp/org/ox-icalendar.el b/lisp/org/ox-icalendar.el index 44480673db8..0d34ba19f45 100644 --- a/lisp/org/ox-icalendar.el +++ b/lisp/org/ox-icalendar.el | |||
| @@ -76,7 +76,7 @@ for timed events. If non-zero, alarms are created. | |||
| 76 | 76 | ||
| 77 | (defcustom org-icalendar-exclude-tags nil | 77 | (defcustom org-icalendar-exclude-tags nil |
| 78 | "Tags that exclude a tree from export. | 78 | "Tags that exclude a tree from export. |
| 79 | This variable allows to specify different exclude tags from other | 79 | This variable allows specifying different exclude tags from other |
| 80 | back-ends. It can also be set with the ICAL_EXCLUDE_TAGS | 80 | back-ends. It can also be set with the ICAL_EXCLUDE_TAGS |
| 81 | keyword." | 81 | keyword." |
| 82 | :group 'org-export-icalendar | 82 | :group 'org-export-icalendar |
diff --git a/lisp/org/ox-publish.el b/lisp/org/ox-publish.el index ec33bbda52d..38fdce1d0bf 100644 --- a/lisp/org/ox-publish.el +++ b/lisp/org/ox-publish.el | |||
| @@ -1078,7 +1078,7 @@ publishing directory." | |||
| 1078 | "Return numbering for headline matching FUZZY search in FILE. | 1078 | "Return numbering for headline matching FUZZY search in FILE. |
| 1079 | 1079 | ||
| 1080 | Return value is a list of numbers, or nil. This function allows | 1080 | Return value is a list of numbers, or nil. This function allows |
| 1081 | to resolve external fuzzy links like: | 1081 | the resolution of external fuzzy links like: |
| 1082 | 1082 | ||
| 1083 | [[file.org::*fuzzy][description]]" | 1083 | [[file.org::*fuzzy][description]]" |
| 1084 | (when org-publish-cache | 1084 | (when org-publish-cache |
diff --git a/lisp/org/ox.el b/lisp/org/ox.el index cc5a2d2bcf2..89d79738a63 100644 --- a/lisp/org/ox.el +++ b/lisp/org/ox.el | |||
| @@ -775,7 +775,7 @@ is nil. You can also allow them through local buffer variables." | |||
| 775 | (defcustom org-export-snippet-translation-alist nil | 775 | (defcustom org-export-snippet-translation-alist nil |
| 776 | "Alist between export snippets back-ends and exporter back-ends. | 776 | "Alist between export snippets back-ends and exporter back-ends. |
| 777 | 777 | ||
| 778 | This variable allows to provide shortcuts for export snippets. | 778 | This variable allows providing shortcuts for export snippets. |
| 779 | 779 | ||
| 780 | For example, with a value of \((\"h\" . \"html\")), the | 780 | For example, with a value of \((\"h\" . \"html\")), the |
| 781 | HTML back-end will recognize the contents of \"@@h:<b>@@\" as | 781 | HTML back-end will recognize the contents of \"@@h:<b>@@\" as |
| @@ -849,7 +849,7 @@ output is restricted to body only, \"s\" when it is restricted to | |||
| 849 | the current subtree, \"v\" when only visible elements are | 849 | the current subtree, \"v\" when only visible elements are |
| 850 | considered for export, \"f\" when publishing functions should be | 850 | considered for export, \"f\" when publishing functions should be |
| 851 | passed the FORCE argument and \"a\" when the export should be | 851 | passed the FORCE argument and \"a\" when the export should be |
| 852 | asynchronous). Also, [?] allows to switch back to standard | 852 | asynchronous). Also, [?] allows switching back to standard |
| 853 | mode." | 853 | mode." |
| 854 | :group 'org-export-general | 854 | :group 'org-export-general |
| 855 | :version "24.4" | 855 | :version "24.4" |
| @@ -3657,9 +3657,9 @@ INFO is the plist used as a communication channel." | |||
| 3657 | ;; `org-export-get-relative-level' is a shortcut to get headline | 3657 | ;; `org-export-get-relative-level' is a shortcut to get headline |
| 3658 | ;; level, relatively to the lower headline level in the parsed tree. | 3658 | ;; level, relatively to the lower headline level in the parsed tree. |
| 3659 | ;; | 3659 | ;; |
| 3660 | ;; `org-export-get-headline-number' returns the section number of an | 3660 | ;; `org-export-get-headline-number' returns the section number of a |
| 3661 | ;; headline, while `org-export-number-to-roman' allows to convert it | 3661 | ;; headline, while `org-export-number-to-roman' allows it to be |
| 3662 | ;; to roman numbers. | 3662 | ;; converted to roman numbers. |
| 3663 | ;; | 3663 | ;; |
| 3664 | ;; `org-export-low-level-p', `org-export-first-sibling-p' and | 3664 | ;; `org-export-low-level-p', `org-export-first-sibling-p' and |
| 3665 | ;; `org-export-last-sibling-p' are three useful predicates when it | 3665 | ;; `org-export-last-sibling-p' are three useful predicates when it |
| @@ -4093,8 +4093,8 @@ Otherwise, only provided element's type is considered. | |||
| 4093 | Optional argument PREDICATE is a function returning a non-nil | 4093 | Optional argument PREDICATE is a function returning a non-nil |
| 4094 | value if the current element or object should be counted in. It | 4094 | value if the current element or object should be counted in. It |
| 4095 | accepts two arguments: the element or object being considered and | 4095 | accepts two arguments: the element or object being considered and |
| 4096 | the plist used as a communication channel. This allows to count | 4096 | the plist used as a communication channel. This allows counting |
| 4097 | only a certain type of objects (i.e. inline images). | 4097 | only a certain type of object (i.e. inline images). |
| 4098 | 4098 | ||
| 4099 | Return value is a list of numbers if ELEMENT is a headline or an | 4099 | Return value is a list of numbers if ELEMENT is a headline or an |
| 4100 | item. It is nil for keywords. It represents the footnote number | 4100 | item. It is nil for keywords. It represents the footnote number |
| @@ -5458,7 +5458,7 @@ to `:default' encoding. If it fails, return S." | |||
| 5458 | ;; returned results in the current process. | 5458 | ;; returned results in the current process. |
| 5459 | ;; | 5459 | ;; |
| 5460 | ;; At a higher level, `org-export-to-buffer' and `org-export-to-file' | 5460 | ;; At a higher level, `org-export-to-buffer' and `org-export-to-file' |
| 5461 | ;; allow to export to a buffer or a file, asynchronously or not. | 5461 | ;; allow exporting to a buffer or a file, asynchronously or not. |
| 5462 | ;; | 5462 | ;; |
| 5463 | ;; `org-export-output-file-name' is an auxiliary function meant to be | 5463 | ;; `org-export-output-file-name' is an auxiliary function meant to be |
| 5464 | ;; used with `org-export-to-file'. With a given extension, it tries | 5464 | ;; used with `org-export-to-file'. With a given extension, it tries |
| @@ -5985,7 +5985,7 @@ is nil when this menu hasn't been selected yet. | |||
| 5985 | 5985 | ||
| 5986 | EXPERTP, when non-nil, triggers expert UI. In that case, no help | 5986 | EXPERTP, when non-nil, triggers expert UI. In that case, no help |
| 5987 | buffer is provided, but indications about currently active | 5987 | buffer is provided, but indications about currently active |
| 5988 | options are given in the prompt. Moreover, [?] allows to switch | 5988 | options are given in the prompt. Moreover, [?] allows switching |
| 5989 | back to standard interface." | 5989 | back to standard interface." |
| 5990 | (let* ((fontify-key | 5990 | (let* ((fontify-key |
| 5991 | (lambda (key &optional access-key) | 5991 | (lambda (key &optional access-key) |
diff --git a/lisp/play/gamegrid.el b/lisp/play/gamegrid.el index 0a63644ab7f..2c557ba7547 100644 --- a/lisp/play/gamegrid.el +++ b/lisp/play/gamegrid.el | |||
| @@ -379,7 +379,7 @@ static unsigned char gamegrid_bits[] = { | |||
| 379 | (dotimes (i height) | 379 | (dotimes (i height) |
| 380 | (insert line)) | 380 | (insert line)) |
| 381 | ;; Adjust the height of the default face to the height of the | 381 | ;; Adjust the height of the default face to the height of the |
| 382 | ;; images. Unlike XEmacs, Emacs doesn't allow to make the default | 382 | ;; images. Unlike XEmacs, Emacs doesn't allow making the default |
| 383 | ;; face buffer-local; so we do this with an overlay. | 383 | ;; face buffer-local; so we do this with an overlay. |
| 384 | (when (eq gamegrid-display-mode 'glyph) | 384 | (when (eq gamegrid-display-mode 'glyph) |
| 385 | (overlay-put (make-overlay (point-min) (point-max)) | 385 | (overlay-put (make-overlay (point-min) (point-max)) |
diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el index c1372fa36d6..02ac240ad6e 100644 --- a/lisp/play/gomoku.el +++ b/lisp/play/gomoku.el | |||
| @@ -551,7 +551,7 @@ that DVAL has been added on SQUARE." | |||
| 551 | ;;; | 551 | ;;; |
| 552 | 552 | ||
| 553 | ;; Several variables are used to monitor a game, including a GAME-HISTORY (the | 553 | ;; Several variables are used to monitor a game, including a GAME-HISTORY (the |
| 554 | ;; list of all (SQUARE . PREVSCORE) played) that allows to take moves back | 554 | ;; list of all (SQUARE . PREVSCORE) played) that allows you to take moves back |
| 555 | ;; (anti-updating the score table) and to compute the table from scratch in | 555 | ;; (anti-updating the score table) and to compute the table from scratch in |
| 556 | ;; case of an interruption. | 556 | ;; case of an interruption. |
| 557 | 557 | ||
diff --git a/lisp/progmodes/antlr-mode.el b/lisp/progmodes/antlr-mode.el index 20880a806fd..ee81add340c 100644 --- a/lisp/progmodes/antlr-mode.el +++ b/lisp/progmodes/antlr-mode.el | |||
| @@ -537,8 +537,8 @@ corresponding kind, i.e., looks like \(OPTION-DEF...). | |||
| 537 | Each OPTION-DEF looks like \(OPTION-NAME EXTRA-FN VALUE-SPEC...) which | 537 | Each OPTION-DEF looks like \(OPTION-NAME EXTRA-FN VALUE-SPEC...) which |
| 538 | defines a file/grammar/rule/subrule option with name OPTION-NAME. The | 538 | defines a file/grammar/rule/subrule option with name OPTION-NAME. The |
| 539 | OPTION-NAMEs are used for the creation of the \"Insert XXX Option\" | 539 | OPTION-NAMEs are used for the creation of the \"Insert XXX Option\" |
| 540 | submenus, see `antlr-options-use-submenus', and to allow to insert the | 540 | submenus, see `antlr-options-use-submenus', and to allow the insertion |
| 541 | option name with completion when using \\[antlr-insert-option]. | 541 | of the option name with completion when using \\[antlr-insert-option]. |
| 542 | 542 | ||
| 543 | If EXTRA-FN is a function, it is called at different phases of the | 543 | If EXTRA-FN is a function, it is called at different phases of the |
| 544 | insertion with arguments \(PHASE OPTION-NAME). PHASE can have the | 544 | insertion with arguments \(PHASE OPTION-NAME). PHASE can have the |
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index 018805d679f..dc2480961d1 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el | |||
| @@ -8278,8 +8278,8 @@ comment at the start of cc-engine.el for more info." | |||
| 8278 | before-lparen after-rparen | 8278 | before-lparen after-rparen |
| 8279 | (here (point)) | 8279 | (here (point)) |
| 8280 | (pp-count-out 20) ; Max number of paren/brace constructs before | 8280 | (pp-count-out 20) ; Max number of paren/brace constructs before |
| 8281 | ; we give up | 8281 | ; we give up. |
| 8282 | ids ; List of identifiers in the parenthesised list. | 8282 | ids ; List of identifiers in the parenthesized list. |
| 8283 | id-start after-prec-token decl-or-cast decl-res | 8283 | id-start after-prec-token decl-or-cast decl-res |
| 8284 | c-last-identifier-range identifier-ok) | 8284 | c-last-identifier-range identifier-ok) |
| 8285 | (narrow-to-region low-lim (or macro-end (point-max))) | 8285 | (narrow-to-region low-lim (or macro-end (point-max))) |
| @@ -8304,7 +8304,7 @@ comment at the start of cc-engine.el for more info." | |||
| 8304 | ;; { | 8304 | ;; { |
| 8305 | ;; | 8305 | ;; |
| 8306 | ;; Additionally, for a knr list to be recognized: | 8306 | ;; Additionally, for a knr list to be recognized: |
| 8307 | ;; o - The identifier of each deeclarator up to and including the | 8307 | ;; o - The identifier of each declarator up to and including the |
| 8308 | ;; one "near" point must be contained in the arg list. | 8308 | ;; one "near" point must be contained in the arg list. |
| 8309 | 8309 | ||
| 8310 | (catch 'knr | 8310 | (catch 'knr |
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 271033b15f8..a2a0df2d6e1 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el | |||
| @@ -2100,7 +2100,7 @@ for \\[find-tag] (which see)." | |||
| 2100 | (etags--xref-find-definitions symbol t)) | 2100 | (etags--xref-find-definitions symbol t)) |
| 2101 | 2101 | ||
| 2102 | (defun etags--xref-find-definitions (pattern &optional regexp?) | 2102 | (defun etags--xref-find-definitions (pattern &optional regexp?) |
| 2103 | ;; This emulates the behaviour of `find-tag-in-order' but instead of | 2103 | ;; This emulates the behavior of `find-tag-in-order' but instead of |
| 2104 | ;; returning one match at a time all matches are returned as list. | 2104 | ;; returning one match at a time all matches are returned as list. |
| 2105 | ;; NOTE: find-tag-tag-order is typically a buffer-local variable. | 2105 | ;; NOTE: find-tag-tag-order is typically a buffer-local variable. |
| 2106 | (let* ((xrefs '()) | 2106 | (let* ((xrefs '()) |
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index a8c65fa23a9..01f7f251edd 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el | |||
| @@ -2737,7 +2737,7 @@ killed." | |||
| 2737 | (process (get-buffer-process buffer)) | 2737 | (process (get-buffer-process buffer)) |
| 2738 | ;; Users can override the interpreter and args | 2738 | ;; Users can override the interpreter and args |
| 2739 | ;; interactively when calling `run-python', let-binding | 2739 | ;; interactively when calling `run-python', let-binding |
| 2740 | ;; these allows to have the new right values in all | 2740 | ;; these allows having the new right values in all |
| 2741 | ;; setup code that is done in `inferior-python-mode', | 2741 | ;; setup code that is done in `inferior-python-mode', |
| 2742 | ;; which is important, especially for prompt detection. | 2742 | ;; which is important, especially for prompt detection. |
| 2743 | (python-shell--interpreter interpreter) | 2743 | (python-shell--interpreter interpreter) |
| @@ -3351,7 +3351,7 @@ def __PYTHON_EL_native_completion_setup(): | |||
| 3351 | if not completion: | 3351 | if not completion: |
| 3352 | if self.last_completion != '1__dummy_completion__': | 3352 | if self.last_completion != '1__dummy_completion__': |
| 3353 | # When no more completions are available, returning a | 3353 | # When no more completions are available, returning a |
| 3354 | # dummy with non-sharing prefix allow to ensure output | 3354 | # dummy with non-sharing prefix allow ensuring output |
| 3355 | # while preventing changes to current input. | 3355 | # while preventing changes to current input. |
| 3356 | # Coincidentally it's also the end of output. | 3356 | # Coincidentally it's also the end of output. |
| 3357 | completion = '1__dummy_completion__' | 3357 | completion = '1__dummy_completion__' |
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el index d20a6b2f682..b176e64652e 100644 --- a/lisp/progmodes/vhdl-mode.el +++ b/lisp/progmodes/vhdl-mode.el | |||
| @@ -4422,8 +4422,8 @@ Usage: | |||
| 4422 | according to option `vhdl-argument-list-indent'. | 4422 | according to option `vhdl-argument-list-indent'. |
| 4423 | 4423 | ||
| 4424 | If option `vhdl-indent-tabs-mode' is nil, spaces are used instead of | 4424 | If option `vhdl-indent-tabs-mode' is nil, spaces are used instead of |
| 4425 | tabs. `\\[tabify]' and `\\[untabify]' allow to convert spaces to tabs | 4425 | tabs. `\\[tabify]' and `\\[untabify]' allow the conversion of spaces to |
| 4426 | and vice versa. | 4426 | tabs and vice versa. |
| 4427 | 4427 | ||
| 4428 | Syntax-based indentation can be very slow in large files. Option | 4428 | Syntax-based indentation can be very slow in large files. Option |
| 4429 | `vhdl-indent-syntax-based' allows you to use faster but simpler indentation. | 4429 | `vhdl-indent-syntax-based' allows you to use faster but simpler indentation. |
diff --git a/lisp/simple.el b/lisp/simple.el index ed4ca91b2e5..72e87a410fc 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -2894,7 +2894,7 @@ removes the previous `undo-boundary' if a series of such calls | |||
| 2894 | have been made. By default `self-insert-command' and | 2894 | have been made. By default `self-insert-command' and |
| 2895 | `delete-char' are the only amalgamating commands, although this | 2895 | `delete-char' are the only amalgamating commands, although this |
| 2896 | function could be called by any command wishing to have this | 2896 | function could be called by any command wishing to have this |
| 2897 | behaviour." | 2897 | behavior." |
| 2898 | (let ((last-amalgamating-count | 2898 | (let ((last-amalgamating-count |
| 2899 | (undo-auto--last-boundary-amalgamating-number))) | 2899 | (undo-auto--last-boundary-amalgamating-number))) |
| 2900 | (setq undo-auto--this-command-amalgamating t) | 2900 | (setq undo-auto--this-command-amalgamating t) |
diff --git a/lisp/strokes.el b/lisp/strokes.el index 8bdabc9e590..5a2020d3ca0 100644 --- a/lisp/strokes.el +++ b/lisp/strokes.el | |||
| @@ -858,7 +858,7 @@ The command will be executed provided one exists for that stroke, | |||
| 858 | based on the variable `strokes-minimum-match-score'. | 858 | based on the variable `strokes-minimum-match-score'. |
| 859 | If no stroke matches, nothing is done and return value is nil." | 859 | If no stroke matches, nothing is done and return value is nil." |
| 860 | ;; FIXME: Undocument return value. It is not documented for all cases, | 860 | ;; FIXME: Undocument return value. It is not documented for all cases, |
| 861 | ;; and doesn't allow to difference between no stroke matches and | 861 | ;; and doesn't allow differentiating between no stroke matches and |
| 862 | ;; command-execute returning nil, anyway. | 862 | ;; command-execute returning nil, anyway. |
| 863 | (let* ((match (strokes-match-stroke stroke strokes-global-map)) | 863 | (let* ((match (strokes-match-stroke stroke strokes-global-map)) |
| 864 | (command (car match)) | 864 | (command (car match)) |
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index 20316794c5d..3b1a805f51b 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el | |||
| @@ -393,6 +393,9 @@ like <img alt=\"Some thing.\">." | |||
| 393 | (let ((f (get-text-property (- (point) 1) 'face))) | 393 | (let ((f (get-text-property (- (point) 1) 'face))) |
| 394 | (memq f flyspell-prog-text-faces))) | 394 | (memq f flyspell-prog-text-faces))) |
| 395 | 395 | ||
| 396 | ;; Records the binding of M-TAB in effect before flyspell was activated. | ||
| 397 | (defvar flyspell--prev-meta-tab-binding) | ||
| 398 | |||
| 396 | ;;;###autoload | 399 | ;;;###autoload |
| 397 | (defun flyspell-prog-mode () | 400 | (defun flyspell-prog-mode () |
| 398 | "Turn on `flyspell-mode' for comments and strings." | 401 | "Turn on `flyspell-mode' for comments and strings." |
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index 97e64c906c8..db03a3244a4 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el | |||
| @@ -1979,7 +1979,7 @@ and pass it the output of the last Ispell invocation." | |||
| 1979 | 1979 | ||
| 1980 | (defun ispell-send-replacement (misspelled replacement) | 1980 | (defun ispell-send-replacement (misspelled replacement) |
| 1981 | "Notify Aspell that MISSPELLED should be spelled REPLACEMENT. | 1981 | "Notify Aspell that MISSPELLED should be spelled REPLACEMENT. |
| 1982 | This allows to improve the suggestion list based on actual misspellings." | 1982 | This allows improving the suggestion list based on actual misspellings." |
| 1983 | (and ispell-really-aspell | 1983 | (and ispell-really-aspell |
| 1984 | (ispell-send-string (concat "$$ra " misspelled "," replacement "\n")))) | 1984 | (ispell-send-string (concat "$$ra " misspelled "," replacement "\n")))) |
| 1985 | 1985 | ||
diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el index c725d9f450e..d1a6b87da2e 100644 --- a/lisp/textmodes/reftex-vars.el +++ b/lisp/textmodes/reftex-vars.el | |||
| @@ -1905,7 +1905,7 @@ instead or as well. The variable may have one of these values: | |||
| 1905 | mouse Highlighting is mouse driven. | 1905 | mouse Highlighting is mouse driven. |
| 1906 | both Both cursor and mouse trigger highlighting. | 1906 | both Both cursor and mouse trigger highlighting. |
| 1907 | 1907 | ||
| 1908 | Changing this variable requires to rebuild the selection and *toc* buffers | 1908 | Changing this variable requires rebuilding the selection and *toc* buffers |
| 1909 | to become effective (keys `g' or `r')." | 1909 | to become effective (keys `g' or `r')." |
| 1910 | :group 'reftex-fontification-configurations | 1910 | :group 'reftex-fontification-configurations |
| 1911 | :type '(choice | 1911 | :type '(choice |
diff --git a/lisp/tree-widget.el b/lisp/tree-widget.el index c1bb2a7adcc..fd502dd1847 100644 --- a/lisp/tree-widget.el +++ b/lisp/tree-widget.el | |||
| @@ -664,7 +664,7 @@ This hook should be local in the buffer setup to display widgets.") | |||
| 664 | (flags (widget-get tree :tree-widget--guide-flags)) | 664 | (flags (widget-get tree :tree-widget--guide-flags)) |
| 665 | (indent (widget-get tree :indent)) | 665 | (indent (widget-get tree :indent)) |
| 666 | ;; Setup widget's image support. Looking up for images, and | 666 | ;; Setup widget's image support. Looking up for images, and |
| 667 | ;; setting widgets' :tag-glyph is done here, to allow to | 667 | ;; setting widgets' :tag-glyph is done here, to allow us to |
| 668 | ;; dynamically change the image theme. | 668 | ;; dynamically change the image theme. |
| 669 | (widget-image-enable (tree-widget-use-image-p)) ; Emacs | 669 | (widget-image-enable (tree-widget-use-image-p)) ; Emacs |
| 670 | (widget-glyph-enable widget-image-enable) ; XEmacs | 670 | (widget-glyph-enable widget-image-enable) ; XEmacs |
diff --git a/lisp/vc/pcvs.el b/lisp/vc/pcvs.el index 36a1d91d90e..573feedd047 100644 --- a/lisp/vc/pcvs.el +++ b/lisp/vc/pcvs.el | |||
| @@ -58,8 +58,8 @@ | |||
| 58 | ;; ******** FIX THE DOCUMENTATION ********* | 58 | ;; ******** FIX THE DOCUMENTATION ********* |
| 59 | ;; | 59 | ;; |
| 60 | ;; - rework the displaying of error messages. | 60 | ;; - rework the displaying of error messages. |
| 61 | ;; - allow to flush messages only | 61 | ;; - allow the flushing of messages only |
| 62 | ;; - allow to protect files like ChangeLog from flushing | 62 | ;; - allow the protection of files like ChangeLog from flushing |
| 63 | ;; - query the user for cvs-get-marked (for some cmds or if nothing's selected) | 63 | ;; - query the user for cvs-get-marked (for some cmds or if nothing's selected) |
| 64 | ;; - don't return the first (resp last) FI if the cursor is before | 64 | ;; - don't return the first (resp last) FI if the cursor is before |
| 65 | ;; (resp after) it. | 65 | ;; (resp after) it. |
diff --git a/lisp/window.el b/lisp/window.el index 620f4ed26a9..948e2dae2fe 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -2005,7 +2005,7 @@ SIDE can be any of the symbols `left', `top', `right' or | |||
| 2005 | 2005 | ||
| 2006 | ;; Predecessors to the below have been devised by Julian Assange in | 2006 | ;; Predecessors to the below have been devised by Julian Assange in |
| 2007 | ;; change-windows-intuitively.el and Hovav Shacham in windmove.el. | 2007 | ;; change-windows-intuitively.el and Hovav Shacham in windmove.el. |
| 2008 | ;; Neither of these allow to selectively ignore specific windows | 2008 | ;; Neither of these allow one to selectively ignore specific windows |
| 2009 | ;; (windows whose `no-other-window' parameter is non-nil) as targets of | 2009 | ;; (windows whose `no-other-window' parameter is non-nil) as targets of |
| 2010 | ;; the movement. | 2010 | ;; the movement. |
| 2011 | (defun window-in-direction (direction &optional window ignore sign wrap mini) | 2011 | (defun window-in-direction (direction &optional window ignore sign wrap mini) |
diff --git a/lisp/xwidget.el b/lisp/xwidget.el index f184eb31dbb..9f257ba463a 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el | |||
| @@ -25,7 +25,8 @@ | |||
| 25 | ;; | 25 | ;; |
| 26 | ;; See xwidget.c for more api functions. | 26 | ;; See xwidget.c for more api functions. |
| 27 | 27 | ||
| 28 | ;; TODO this breaks compilation when we don't have xwidgets. | 28 | ;; This breaks compilation when we don't have xwidgets. |
| 29 | ;; And is pointless when we do, since it's in C and so preloaded. | ||
| 29 | ;;(require 'xwidget-internal) | 30 | ;;(require 'xwidget-internal) |
| 30 | 31 | ||
| 31 | ;;; Code: | 32 | ;;; Code: |
| @@ -33,9 +34,9 @@ | |||
| 33 | (require 'cl-lib) | 34 | (require 'cl-lib) |
| 34 | (require 'bookmark) | 35 | (require 'bookmark) |
| 35 | 36 | ||
| 36 | (defcustom xwidget-webkit-scroll-behaviour 'native | 37 | (defcustom xwidget-webkit-scroll-behavior 'native |
| 37 | "Scroll behaviour of the webkit instance. | 38 | "Scrolling behavior of the webkit instance. |
| 38 | 'native or 'image." | 39 | The possible values are: `native' or `image'." |
| 39 | :version "25.1" | 40 | :version "25.1" |
| 40 | :group 'frames ; TODO add xwidgets group if more options are added | 41 | :group 'frames ; TODO add xwidgets group if more options are added |
| 41 | :type '(choice (const native) (const image))) | 42 | :type '(choice (const native) (const image))) |
| @@ -58,14 +59,11 @@ | |||
| 58 | (declare-function get-buffer-xwidgets "xwidget.c" (buffer)) | 59 | (declare-function get-buffer-xwidgets "xwidget.c" (buffer)) |
| 59 | 60 | ||
| 60 | (defun xwidget-insert (pos type title width height &optional args) | 61 | (defun xwidget-insert (pos type title width height &optional args) |
| 61 | "Insert an xwidget at POS. | 62 | "Insert an xwidget at position POS. |
| 62 | given ID, TYPE, TITLE WIDTH and | 63 | Supply the xwidget's TYPE, TITLE, WIDTH, and HEIGHT. |
| 63 | HEIGHT in the current buffer. | 64 | See `make-xwidget' for the possible TYPE values. |
| 64 | 65 | The usage of optional argument ARGS depends on the xwidget. | |
| 65 | Return ID | 66 | This returns the result of `make-xwidget'." |
| 66 | |||
| 67 | see `make-xwidget' for types suitable for TYPE. | ||
| 68 | Optional argument ARGS usage depends on the xwidget." | ||
| 69 | (goto-char pos) | 67 | (goto-char pos) |
| 70 | (let ((id (make-xwidget (point) (point) | 68 | (let ((id (make-xwidget (point) (point) |
| 71 | type title width height args))) | 69 | type title width height args))) |
| @@ -92,8 +90,8 @@ Optional argument ARGS usage depends on the xwidget." | |||
| 92 | ;;;###autoload | 90 | ;;;###autoload |
| 93 | (defun xwidget-webkit-browse-url (url &optional new-session) | 91 | (defun xwidget-webkit-browse-url (url &optional new-session) |
| 94 | "Ask xwidget-webkit to browse URL. | 92 | "Ask xwidget-webkit to browse URL. |
| 95 | NEW-SESSION specifies whether to create a new xwidget-webkit session. URL | 93 | NEW-SESSION specifies whether to create a new xwidget-webkit session. |
| 96 | defaults to the string looking like a url around the cursor position." | 94 | Interactively, URL defaults to the string looking like a url around point." |
| 97 | (interactive (progn | 95 | (interactive (progn |
| 98 | (require 'browse-url) | 96 | (require 'browse-url) |
| 99 | (browse-url-interactive-arg "xwidget-webkit URL: " | 97 | (browse-url-interactive-arg "xwidget-webkit URL: " |
| @@ -141,32 +139,40 @@ defaults to the string looking like a url around the cursor position." | |||
| 141 | "Keymap for `xwidget-webkit-mode'.") | 139 | "Keymap for `xwidget-webkit-mode'.") |
| 142 | 140 | ||
| 143 | (defun xwidget-webkit-scroll-up () | 141 | (defun xwidget-webkit-scroll-up () |
| 144 | "Scroll webkit up,either native or like image mode." | 142 | "Scroll webkit up. |
| 143 | Depending on the value of `xwidget-webkit-scroll-behavior', | ||
| 144 | this scrolls in 'native' fashion, or like `image-mode' would." | ||
| 145 | (interactive) | 145 | (interactive) |
| 146 | (if (eq xwidget-webkit-scroll-behaviour 'native) | 146 | (if (eq xwidget-webkit-scroll-behavior 'native) |
| 147 | (xwidget-set-adjustment (xwidget-webkit-last-session) 'vertical t 50) | 147 | (xwidget-set-adjustment (xwidget-webkit-last-session) 'vertical t 50) |
| 148 | (image-scroll-up))) | 148 | (image-scroll-up))) |
| 149 | 149 | ||
| 150 | (defun xwidget-webkit-scroll-down () | 150 | (defun xwidget-webkit-scroll-down () |
| 151 | "Scroll webkit down,either native or like image mode." | 151 | "Scroll webkit down. |
| 152 | Depending on the value of `xwidget-webkit-scroll-behavior', | ||
| 153 | this scrolls in 'native' fashion, or like `image-mode' would." | ||
| 152 | (interactive) | 154 | (interactive) |
| 153 | (if (eq xwidget-webkit-scroll-behaviour 'native) | 155 | (if (eq xwidget-webkit-scroll-behavior 'native) |
| 154 | (xwidget-set-adjustment (xwidget-webkit-last-session) 'vertical t -50) | 156 | (xwidget-set-adjustment (xwidget-webkit-last-session) 'vertical t -50) |
| 155 | (image-scroll-down))) | 157 | (image-scroll-down))) |
| 156 | 158 | ||
| 157 | (defun xwidget-webkit-scroll-forward () | 159 | (defun xwidget-webkit-scroll-forward () |
| 158 | "Scroll webkit forward,either native or like image mode." | 160 | "Scroll webkit forwards. |
| 161 | Depending on the value of `xwidget-webkit-scroll-behavior', | ||
| 162 | this scrolls in 'native' fashion, or like `image-mode' would." | ||
| 159 | (interactive) | 163 | (interactive) |
| 160 | (if (eq xwidget-webkit-scroll-behaviour 'native) | 164 | (if (eq xwidget-webkit-scroll-behavior 'native) |
| 161 | (xwidget-set-adjustment (xwidget-webkit-last-session) 'horizontal t 50) | 165 | (xwidget-set-adjustment (xwidget-webkit-last-session) 'horizontal t 50) |
| 162 | (xwidget-webkit-scroll-forward))) | 166 | (xwidget-webkit-scroll-forward))) ; FIXME infloop! |
| 163 | 167 | ||
| 164 | (defun xwidget-webkit-scroll-backward () | 168 | (defun xwidget-webkit-scroll-backward () |
| 165 | "Scroll webkit backward,either native or like image mode." | 169 | "Scroll webkit backwards. |
| 170 | Depending on the value of `xwidget-webkit-scroll-behavior', | ||
| 171 | this scrolls in 'native' fashion, or like `image-mode' would." | ||
| 166 | (interactive) | 172 | (interactive) |
| 167 | (if (eq xwidget-webkit-scroll-behaviour 'native) | 173 | (if (eq xwidget-webkit-scroll-behavior 'native) |
| 168 | (xwidget-set-adjustment (xwidget-webkit-last-session) 'horizontal t -50) | 174 | (xwidget-set-adjustment (xwidget-webkit-last-session) 'horizontal t -50) |
| 169 | (xwidget-webkit-scroll-backward))) | 175 | (xwidget-webkit-scroll-backward))) ; FIXME infloop! |
| 170 | 176 | ||
| 171 | 177 | ||
| 172 | ;; The xwidget event needs to go into a higher level handler | 178 | ;; The xwidget event needs to go into a higher level handler |
| @@ -292,9 +298,7 @@ function findactiveelement(doc){ | |||
| 292 | ) | 298 | ) |
| 293 | 299 | ||
| 294 | (defun xwidget-webkit-insert-string (xw str) | 300 | (defun xwidget-webkit-insert-string (xw str) |
| 295 | "Insert string in the active field in the webkit. | 301 | "Insert string STR in the active field in the webkit XW." |
| 296 | Argument XW webkit. | ||
| 297 | Argument STR string." | ||
| 298 | ;; Read out the string in the field first and provide for edit. | 302 | ;; Read out the string in the field first and provide for edit. |
| 299 | (interactive | 303 | (interactive |
| 300 | (let* ((xww (xwidget-webkit-current-session)) | 304 | (let* ((xww (xwidget-webkit-current-session)) |
| @@ -310,9 +314,9 @@ Argument STR string." | |||
| 310 | "findactiveelement(document).type;"))) | 314 | "findactiveelement(document).type;"))) |
| 311 | (list xww | 315 | (list xww |
| 312 | (cond ((equal "text" field-type) | 316 | (cond ((equal "text" field-type) |
| 313 | (read-string "text:" field-value)) | 317 | (read-string "Text: " field-value)) |
| 314 | ((equal "password" field-type) | 318 | ((equal "password" field-type) |
| 315 | (read-passwd "password:" nil field-value)) | 319 | (read-passwd "Password: " nil field-value)) |
| 316 | ((equal "textarea" field-type) | 320 | ((equal "textarea" field-type) |
| 317 | (xwidget-webkit-begin-edit-textarea xww field-value)))))) | 321 | (xwidget-webkit-begin-edit-textarea xww field-value)))))) |
| 318 | (xwidget-webkit-execute-script | 322 | (xwidget-webkit-execute-script |
| @@ -325,7 +329,6 @@ Argument STR string." | |||
| 325 | XW is the xwidget identifier, TEXT is retrieved from the webkit." | 329 | XW is the xwidget identifier, TEXT is retrieved from the webkit." |
| 326 | (switch-to-buffer | 330 | (switch-to-buffer |
| 327 | (generate-new-buffer "textarea")) | 331 | (generate-new-buffer "textarea")) |
| 328 | |||
| 329 | (set (make-local-variable 'xwidget-xwbl) xw) | 332 | (set (make-local-variable 'xwidget-xwbl) xw) |
| 330 | (insert text)) | 333 | (insert text)) |
| 331 | 334 | ||
| @@ -343,11 +346,10 @@ XW is the xwidget identifier, TEXT is retrieved from the webkit." | |||
| 343 | ) | 346 | ) |
| 344 | 347 | ||
| 345 | (defun xwidget-webkit-show-named-element (xw element-name) | 348 | (defun xwidget-webkit-show-named-element (xw element-name) |
| 346 | "Make named-element show. for instance an anchor. | 349 | "Make webkit xwidget XW show a named element ELEMENT-NAME. |
| 347 | Argument XW is the xwidget. | 350 | For example, use this to display an anchor." |
| 348 | Argument ELEMENT-NAME is the element name to display in the webkit xwidget." | ||
| 349 | (interactive (list (xwidget-webkit-current-session) | 351 | (interactive (list (xwidget-webkit-current-session) |
| 350 | (read-string "element name:"))) | 352 | (read-string "Element name: "))) |
| 351 | ;;TODO since an xwidget is an Emacs object, it is not trivial to do | 353 | ;;TODO since an xwidget is an Emacs object, it is not trivial to do |
| 352 | ;; some things that are taken for granted in a normal browser. | 354 | ;; some things that are taken for granted in a normal browser. |
| 353 | ;; scrolling an anchor/named-element into view is one such thing. | 355 | ;; scrolling an anchor/named-element into view is one such thing. |
| @@ -371,11 +373,10 @@ Argument ELEMENT-NAME is the element name to display in the webkit xwidget." | |||
| 371 | (set-window-vscroll (selected-window) y t))) | 373 | (set-window-vscroll (selected-window) y t))) |
| 372 | 374 | ||
| 373 | (defun xwidget-webkit-show-id-element (xw element-id) | 375 | (defun xwidget-webkit-show-id-element (xw element-id) |
| 374 | "Make id-element show. for instance an anchor. | 376 | "Make webkit xwidget XW show an id-element ELEMENT-ID. |
| 375 | Argument XW is the webkit xwidget. | 377 | For example, use this to display an anchor." |
| 376 | Argument ELEMENT-ID is the id of the element to show." | ||
| 377 | (interactive (list (xwidget-webkit-current-session) | 378 | (interactive (list (xwidget-webkit-current-session) |
| 378 | (read-string "element id:"))) | 379 | (read-string "Element id: "))) |
| 379 | (let ((y (string-to-number | 380 | (let ((y (string-to-number |
| 380 | (xwidget-webkit-execute-script-rv | 381 | (xwidget-webkit-execute-script-rv |
| 381 | xw | 382 | xw |
| @@ -387,11 +388,10 @@ Argument ELEMENT-ID is the id of the element to show." | |||
| 387 | (set-window-vscroll (selected-window) y t))) | 388 | (set-window-vscroll (selected-window) y t))) |
| 388 | 389 | ||
| 389 | (defun xwidget-webkit-show-id-or-named-element (xw element-id) | 390 | (defun xwidget-webkit-show-id-or-named-element (xw element-id) |
| 390 | "Make id-element show. for instance an anchor. | 391 | "Make webkit xwidget XW show a name or element id ELEMENT-ID. |
| 391 | Argument XW is the webkit xwidget. | 392 | For example, use this to display an anchor." |
| 392 | Argument ELEMENT-ID is either a name or an element id." | ||
| 393 | (interactive (list (xwidget-webkit-current-session) | 393 | (interactive (list (xwidget-webkit-current-session) |
| 394 | (read-string "element id:"))) | 394 | (read-string "Name or element id: "))) |
| 395 | (let* ((y1 (string-to-number | 395 | (let* ((y1 (string-to-number |
| 396 | (xwidget-webkit-execute-script-rv | 396 | (xwidget-webkit-execute-script-rv |
| 397 | xw | 397 | xw |
| @@ -415,15 +415,14 @@ Argument ELEMENT-ID is either a name or an element id." | |||
| 415 | (defun xwidget-webkit-adjust-size-dispatch () | 415 | (defun xwidget-webkit-adjust-size-dispatch () |
| 416 | "Adjust size according to mode." | 416 | "Adjust size according to mode." |
| 417 | (interactive) | 417 | (interactive) |
| 418 | (if (eq xwidget-webkit-scroll-behaviour 'native) | 418 | (if (eq xwidget-webkit-scroll-behavior 'native) |
| 419 | (xwidget-webkit-adjust-size-to-window) | 419 | (xwidget-webkit-adjust-size-to-window) |
| 420 | (xwidget-webkit-adjust-size-to-content)) | 420 | (xwidget-webkit-adjust-size-to-content)) |
| 421 | ;; The recenter is intended to correct a visual glitch. | 421 | ;; The recenter is intended to correct a visual glitch. |
| 422 | ;; It errors out if the buffer isn't visible, but then we don't get | 422 | ;; It errors out if the buffer isn't visible, but then we don't get |
| 423 | ;; the glitch, so silence errors. | 423 | ;; the glitch, so silence errors. |
| 424 | (ignore-errors | 424 | (ignore-errors |
| 425 | (recenter-top-bottom)) | 425 | (recenter-top-bottom))) |
| 426 | ) | ||
| 427 | 426 | ||
| 428 | (defun xwidget-webkit-adjust-size-to-window () | 427 | (defun xwidget-webkit-adjust-size-to-window () |
| 429 | "Adjust webkit to window." | 428 | "Adjust webkit to window." |
| @@ -432,9 +431,7 @@ Argument ELEMENT-ID is either a name or an element id." | |||
| 432 | (window-pixel-height))) | 431 | (window-pixel-height))) |
| 433 | 432 | ||
| 434 | (defun xwidget-webkit-adjust-size (w h) | 433 | (defun xwidget-webkit-adjust-size (w h) |
| 435 | "Manually set webkit size. | 434 | "Manually set webkit size to width W, height H." |
| 436 | Argument W width. | ||
| 437 | Argument H height." | ||
| 438 | ;; TODO shouldn't be tied to the webkit xwidget | 435 | ;; TODO shouldn't be tied to the webkit xwidget |
| 439 | (interactive "nWidth:\nnHeight:\n") | 436 | (interactive "nWidth:\nnHeight:\n") |
| 440 | (xwidget-resize (xwidget-webkit-current-session) w h)) | 437 | (xwidget-resize (xwidget-webkit-current-session) w h)) |
| @@ -468,7 +465,7 @@ Argument H height." | |||
| 468 | (xwidget-webkit-new-session url))) | 465 | (xwidget-webkit-new-session url))) |
| 469 | 466 | ||
| 470 | (defun xwidget-webkit-back () | 467 | (defun xwidget-webkit-back () |
| 471 | "Back in history." | 468 | "Go back in history." |
| 472 | (interactive) | 469 | (interactive) |
| 473 | (xwidget-webkit-execute-script (xwidget-webkit-current-session) | 470 | (xwidget-webkit-execute-script (xwidget-webkit-current-session) |
| 474 | "history.go(-1);")) | 471 | "history.go(-1);")) |
| @@ -480,7 +477,7 @@ Argument H height." | |||
| 480 | "history.go(0);")) | 477 | "history.go(0);")) |
| 481 | 478 | ||
| 482 | (defun xwidget-webkit-current-url () | 479 | (defun xwidget-webkit-current-url () |
| 483 | "Get the webkit url. place it on kill ring." | 480 | "Get the webkit url and place it on the kill-ring." |
| 484 | (interactive) | 481 | (interactive) |
| 485 | (let* ((rv (xwidget-webkit-execute-script-rv (xwidget-webkit-current-session) | 482 | (let* ((rv (xwidget-webkit-execute-script-rv (xwidget-webkit-current-session) |
| 486 | "document.URL")) | 483 | "document.URL")) |
| @@ -489,9 +486,9 @@ Argument H height." | |||
| 489 | url)) | 486 | url)) |
| 490 | 487 | ||
| 491 | (defun xwidget-webkit-execute-script-rv (xw script &optional default) | 488 | (defun xwidget-webkit-execute-script-rv (xw script &optional default) |
| 492 | "Same as 'xwidget-webkit-execute-script' but but with return value. | 489 | "Same as `xwidget-webkit-execute-script' but with return value. |
| 493 | XW is the webkit instance. SCRIPT is the script to execute. | 490 | XW is the webkit instance. SCRIPT is the script to execute. |
| 494 | DEFAULT is the defaultreturn value." | 491 | DEFAULT is the default return value." |
| 495 | ;; Notice the ugly "title" hack. It is needed because the Webkit | 492 | ;; Notice the ugly "title" hack. It is needed because the Webkit |
| 496 | ;; API at the time of writing didn't support returning values. This | 493 | ;; API at the time of writing didn't support returning values. This |
| 497 | ;; is a wrapper for the title hack so it's easy to remove should | 494 | ;; is a wrapper for the title hack so it's easy to remove should |
| @@ -518,7 +515,7 @@ DEFAULT is the defaultreturn value." | |||
| 518 | "window.getSelection().toString();")) | 515 | "window.getSelection().toString();")) |
| 519 | 516 | ||
| 520 | (defun xwidget-webkit-copy-selection-as-kill () | 517 | (defun xwidget-webkit-copy-selection-as-kill () |
| 521 | "Get the webkit selection and put it on the kill ring." | 518 | "Get the webkit selection and put it on the kill-ring." |
| 522 | (interactive) | 519 | (interactive) |
| 523 | (kill-new (xwidget-webkit-get-selection))) | 520 | (kill-new (xwidget-webkit-get-selection))) |
| 524 | 521 | ||
| @@ -527,13 +524,15 @@ DEFAULT is the defaultreturn value." | |||
| 527 | ;; Xwidget plist management (similar to the process plist functions) | 524 | ;; Xwidget plist management (similar to the process plist functions) |
| 528 | 525 | ||
| 529 | (defun xwidget-get (xwidget propname) | 526 | (defun xwidget-get (xwidget propname) |
| 530 | "Return the value of XWIDGET' PROPNAME property. | 527 | "Get an xwidget's property value. |
| 531 | This is the last value stored with `(xwidget-put XWIDGET PROPNAME VALUE)'." | 528 | XWIDGET is an xwidget, PROPNAME a property. |
| 529 | Returns the last value stored with `xwidget-put'." | ||
| 532 | (plist-get (xwidget-plist xwidget) propname)) | 530 | (plist-get (xwidget-plist xwidget) propname)) |
| 533 | 531 | ||
| 534 | (defun xwidget-put (xwidget propname value) | 532 | (defun xwidget-put (xwidget propname value) |
| 535 | "Change XWIDGET' PROPNAME property to VALUE. | 533 | "Set an xwidget's property value. |
| 536 | It can be retrieved with `(xwidget-get XWIDGET PROPNAME)'." | 534 | XWIDGET is an xwidget, PROPNAME a property to be set to specified VALUE. |
| 535 | You can retrieve the value with `xwidget-get'." | ||
| 537 | (set-xwidget-plist xwidget | 536 | (set-xwidget-plist xwidget |
| 538 | (plist-put (xwidget-plist xwidget) propname value))) | 537 | (plist-put (xwidget-plist xwidget) propname value))) |
| 539 | 538 | ||
diff --git a/m4/dirfd.m4 b/m4/dirfd.m4 index e9532e60a99..1d7cb080d8e 100644 --- a/m4/dirfd.m4 +++ b/m4/dirfd.m4 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # serial 22 -*- Autoconf -*- | 1 | # serial 24 -*- Autoconf -*- |
| 2 | 2 | ||
| 3 | dnl Find out how to get the file descriptor associated with an open DIR*. | 3 | dnl Find out how to get the file descriptor associated with an open DIR*. |
| 4 | 4 | ||
| @@ -35,13 +35,15 @@ AC_DEFUN([gl_FUNC_DIRFD], | |||
| 35 | gl_cv_func_dirfd_macro=yes, | 35 | gl_cv_func_dirfd_macro=yes, |
| 36 | gl_cv_func_dirfd_macro=no)]) | 36 | gl_cv_func_dirfd_macro=no)]) |
| 37 | 37 | ||
| 38 | # Use the replacement only if we have no function or macro with that name. | 38 | # Use the replacement if we have no function or macro with that name, |
| 39 | if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then | 39 | # or if OS/2 kLIBC whose dirfd() does not work. |
| 40 | if test $ac_cv_have_decl_dirfd = yes; then | 40 | # Replace only if the system declares dirfd already. |
| 41 | # If the system declares dirfd already, let's declare rpl_dirfd instead. | 41 | case $ac_cv_func_dirfd,$gl_cv_func_dirfd_macro,$host_os,$ac_cv_have_decl_dirfd in |
| 42 | no,no,*,yes | *,*,os2*,yes) | ||
| 42 | REPLACE_DIRFD=1 | 43 | REPLACE_DIRFD=1 |
| 43 | fi | 44 | AC_DEFINE([REPLACE_DIRFD], [1], |
| 44 | fi | 45 | [Define to 1 if gnulib's dirfd() replacement is used.]);; |
| 46 | esac | ||
| 45 | ]) | 47 | ]) |
| 46 | 48 | ||
| 47 | dnl Prerequisites of lib/dirfd.c. | 49 | dnl Prerequisites of lib/dirfd.c. |
diff --git a/m4/dup2.m4 b/m4/dup2.m4 index 63d6d8eb6e2..5b68312b1e7 100644 --- a/m4/dup2.m4 +++ b/m4/dup2.m4 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | #serial 24 | 1 | #serial 25 |
| 2 | dnl Copyright (C) 2002, 2005, 2007, 2009-2016 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2005, 2007, 2009-2016 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| @@ -62,6 +62,16 @@ AC_DEFUN([gl_FUNC_DUP2], | |||
| 62 | result |= 32; | 62 | result |= 32; |
| 63 | dup2 (2, 255); | 63 | dup2 (2, 255); |
| 64 | dup2 (2, 256); | 64 | dup2 (2, 256); |
| 65 | /* On OS/2 kLIBC, dup2() does not work on a directory fd. */ | ||
| 66 | { | ||
| 67 | int fd = open (".", O_RDONLY); | ||
| 68 | if (fd == -1) | ||
| 69 | result |= 64; | ||
| 70 | else if (dup2 (fd, fd + 1) == -1) | ||
| 71 | result |= 128; | ||
| 72 | |||
| 73 | close (fd); | ||
| 74 | } | ||
| 65 | return result;]]) | 75 | return result;]]) |
| 66 | ], | 76 | ], |
| 67 | [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no], | 77 | [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no], |
| @@ -78,6 +88,8 @@ AC_DEFUN([gl_FUNC_DUP2], | |||
| 78 | gl_cv_func_dup2_works="guessing no" ;; | 88 | gl_cv_func_dup2_works="guessing no" ;; |
| 79 | *-android*) # implemented using dup3(), which fails if oldfd == newfd | 89 | *-android*) # implemented using dup3(), which fails if oldfd == newfd |
| 80 | gl_cv_func_dup2_works="guessing no" ;; | 90 | gl_cv_func_dup2_works="guessing no" ;; |
| 91 | os2*) # on OS/2 kLIBC, dup2() does not work on a directory fd. | ||
| 92 | gl_cv_func_dup2_works="guessing no" ;; | ||
| 81 | *) gl_cv_func_dup2_works="guessing yes" ;; | 93 | *) gl_cv_func_dup2_works="guessing yes" ;; |
| 82 | esac]) | 94 | esac]) |
| 83 | ]) | 95 | ]) |
diff --git a/m4/fcntl.m4 b/m4/fcntl.m4 index 0037e5fb650..bb61470b2e1 100644 --- a/m4/fcntl.m4 +++ b/m4/fcntl.m4 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # fcntl.m4 serial 8 | 1 | # fcntl.m4 serial 9 |
| 2 | dnl Copyright (C) 2009-2016 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2016 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| @@ -54,6 +54,17 @@ AC_DEFUN([gl_FUNC_FCNTL], | |||
| 54 | if (errno != EINVAL) result |= 2; | 54 | if (errno != EINVAL) result |= 2; |
| 55 | if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4; | 55 | if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4; |
| 56 | if (errno != EINVAL) result |= 8; | 56 | if (errno != EINVAL) result |= 8; |
| 57 | /* On OS/2 kLIBC, F_DUPFD does not work on a directory fd */ | ||
| 58 | { | ||
| 59 | int fd; | ||
| 60 | fd = open (".", O_RDONLY); | ||
| 61 | if (fd == -1) | ||
| 62 | result |= 16; | ||
| 63 | else if (fcntl (fd, F_DUPFD, STDERR_FILENO + 1) == -1) | ||
| 64 | result |= 32; | ||
| 65 | |||
| 66 | close (fd); | ||
| 67 | } | ||
| 57 | return result;]])], | 68 | return result;]])], |
| 58 | [gl_cv_func_fcntl_f_dupfd_works=yes], | 69 | [gl_cv_func_fcntl_f_dupfd_works=yes], |
| 59 | [gl_cv_func_fcntl_f_dupfd_works=no], | 70 | [gl_cv_func_fcntl_f_dupfd_works=no], |
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 index 27ca70a0d09..547af6641a1 100644 --- a/m4/gnulib-comp.m4 +++ b/m4/gnulib-comp.m4 | |||
| @@ -436,7 +436,8 @@ AC_DEFUN([gl_INIT], | |||
| 436 | { | 436 | { |
| 437 | if ! $gl_gnulib_enabled_dirfd; then | 437 | if ! $gl_gnulib_enabled_dirfd; then |
| 438 | gl_FUNC_DIRFD | 438 | gl_FUNC_DIRFD |
| 439 | if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then | 439 | if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no \ |
| 440 | || test $REPLACE_DIRFD = 1; then | ||
| 440 | AC_LIBOBJ([dirfd]) | 441 | AC_LIBOBJ([dirfd]) |
| 441 | gl_PREREQ_DIRFD | 442 | gl_PREREQ_DIRFD |
| 442 | fi | 443 | fi |
diff --git a/m4/utimes.m4 b/m4/utimes.m4 index a016723e24a..1876bec7996 100644 --- a/m4/utimes.m4 +++ b/m4/utimes.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # Detect some bugs in glibc's implementation of utimes. | 1 | # Detect some bugs in glibc's implementation of utimes. |
| 2 | # serial 3 | 2 | # serial 4 |
| 3 | 3 | ||
| 4 | dnl Copyright (C) 2003-2005, 2009-2016 Free Software Foundation, Inc. | 4 | dnl Copyright (C) 2003-2005, 2009-2016 Free Software Foundation, Inc. |
| 5 | dnl This file is free software; the Free Software Foundation | 5 | dnl This file is free software; the Free Software Foundation |
| @@ -33,6 +33,7 @@ AC_DEFUN([gl_FUNC_UTIMES], | |||
| 33 | #include <stdlib.h> | 33 | #include <stdlib.h> |
| 34 | #include <stdio.h> | 34 | #include <stdio.h> |
| 35 | #include <utime.h> | 35 | #include <utime.h> |
| 36 | #include <errno.h> | ||
| 36 | 37 | ||
| 37 | static int | 38 | static int |
| 38 | inorder (time_t a, time_t b, time_t c) | 39 | inorder (time_t a, time_t b, time_t c) |
| @@ -45,7 +46,10 @@ main () | |||
| 45 | { | 46 | { |
| 46 | int result = 0; | 47 | int result = 0; |
| 47 | char const *file = "conftest.utimes"; | 48 | char const *file = "conftest.utimes"; |
| 48 | static struct timeval timeval[2] = {{9, 10}, {999999, 999999}}; | 49 | /* On OS/2, file timestamps must be on or after 1980 in local time, |
| 50 | with an even number of seconds. */ | ||
| 51 | static struct timeval timeval[2] = {{315620000 + 10, 10}, | ||
| 52 | {315620000 + 1000000, 999998}}; | ||
| 49 | 53 | ||
| 50 | /* Test whether utimes() essentially works. */ | 54 | /* Test whether utimes() essentially works. */ |
| 51 | { | 55 | { |
| @@ -82,9 +86,19 @@ main () | |||
| 82 | result |= 1; | 86 | result |= 1; |
| 83 | else if (fstat (fd, &st0) != 0) | 87 | else if (fstat (fd, &st0) != 0) |
| 84 | result |= 1; | 88 | result |= 1; |
| 85 | else if (utimes (file, timeval) != 0) | 89 | else if (utimes (file, timeval) != 0 |
| 90 | && (errno != EACCES | ||
| 91 | /* OS/2 kLIBC utimes fails on opened files. */ | ||
| 92 | || close (fd) != 0 | ||
| 93 | || utimes (file, timeval) != 0 | ||
| 94 | || (fd = open (file, O_WRONLY)) < 0)) | ||
| 86 | result |= 2; | 95 | result |= 2; |
| 87 | else if (utimes (file, NULL) != 0) | 96 | else if (utimes (file, NULL) != 0 |
| 97 | && (errno != EACCES | ||
| 98 | /* OS/2 kLIBC utimes fails on opened files. */ | ||
| 99 | || close (fd) != 0 | ||
| 100 | || utimes (file, NULL) != 0 | ||
| 101 | || (fd = open (file, O_WRONLY)) < 0)) | ||
| 88 | result |= 8; | 102 | result |= 8; |
| 89 | else if (fstat (fd, &st1) != 0) | 103 | else if (fstat (fd, &st1) != 0) |
| 90 | result |= 1; | 104 | result |= 1; |
diff --git a/src/bidi.c b/src/bidi.c index 7f5d16b39ed..9b714543dd2 100644 --- a/src/bidi.c +++ b/src/bidi.c | |||
| @@ -3001,7 +3001,7 @@ bidi_resolve_neutral (struct bidi_it *bidi_it) | |||
| 3001 | { | 3001 | { |
| 3002 | /* Arrrgh!! The UAX#9 algorithm is too deeply entrenched in | 3002 | /* Arrrgh!! The UAX#9 algorithm is too deeply entrenched in |
| 3003 | the assumption of batch-style processing; see clauses W4, | 3003 | the assumption of batch-style processing; see clauses W4, |
| 3004 | W5, and especially N1, which require to look far forward | 3004 | W5, and especially N1, which require looking far forward |
| 3005 | (as well as back) in the buffer/string. May the fleas of | 3005 | (as well as back) in the buffer/string. May the fleas of |
| 3006 | a thousand camels infest the armpits of those who design | 3006 | a thousand camels infest the armpits of those who design |
| 3007 | supposedly general-purpose algorithms by looking at their | 3007 | supposedly general-purpose algorithms by looking at their |
diff --git a/src/emacs.c b/src/emacs.c index f661196313f..7c818f59c5c 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -2191,7 +2191,7 @@ synchronize_locale (int category, Lisp_Object *plocale, Lisp_Object desired_loca | |||
| 2191 | { | 2191 | { |
| 2192 | *plocale = desired_locale; | 2192 | *plocale = desired_locale; |
| 2193 | #ifdef WINDOWSNT | 2193 | #ifdef WINDOWSNT |
| 2194 | /* Changing categories like LC_TIME usually requires to specify | 2194 | /* Changing categories like LC_TIME usually requires specifying |
| 2195 | an encoding suitable for the new locale, but MS-Windows's | 2195 | an encoding suitable for the new locale, but MS-Windows's |
| 2196 | 'setlocale' will only switch the encoding when LC_ALL is | 2196 | 'setlocale' will only switch the encoding when LC_ALL is |
| 2197 | specified. So we ignore CATEGORY, use LC_ALL instead, and | 2197 | specified. So we ignore CATEGORY, use LC_ALL instead, and |
diff --git a/src/lisp.h b/src/lisp.h index ee055e90699..6be2104ef9e 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -2090,7 +2090,7 @@ struct Lisp_Marker | |||
| 2090 | /* For markers that point somewhere, | 2090 | /* For markers that point somewhere, |
| 2091 | this is used to chain of all the markers in a given buffer. */ | 2091 | this is used to chain of all the markers in a given buffer. */ |
| 2092 | /* We could remove it and use an array in buffer_text instead. | 2092 | /* We could remove it and use an array in buffer_text instead. |
| 2093 | That would also allow to preserve it ordered. */ | 2093 | That would also allow us to preserve it ordered. */ |
| 2094 | struct Lisp_Marker *next; | 2094 | struct Lisp_Marker *next; |
| 2095 | /* This is the char position where the marker points. */ | 2095 | /* This is the char position where the marker points. */ |
| 2096 | ptrdiff_t charpos; | 2096 | ptrdiff_t charpos; |
diff --git a/src/nsterm.m b/src/nsterm.m index 860c55de70f..f77aadba67c 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -637,10 +637,11 @@ ns_menu_bar_should_be_hidden (void) | |||
| 637 | 637 | ||
| 638 | static CGFloat | 638 | static CGFloat |
| 639 | ns_menu_bar_height (NSScreen *screen) | 639 | ns_menu_bar_height (NSScreen *screen) |
| 640 | /* The height of the menu bar, if visible. */ | 640 | /* The height of the menu bar, if visible. |
| 641 | { | ||
| 642 | // NSTRACE ("ns_menu_bar_height"); | ||
| 643 | 641 | ||
| 642 | Note: Don't use this when fullscreen is enabled -- the screen | ||
| 643 | sometimes includes, sometimes excludes the menu bar area. */ | ||
| 644 | { | ||
| 644 | CGFloat res; | 645 | CGFloat res; |
| 645 | 646 | ||
| 646 | if (ns_menu_bar_should_be_hidden()) | 647 | if (ns_menu_bar_should_be_hidden()) |
| @@ -660,7 +661,7 @@ ns_menu_bar_height (NSScreen *screen) | |||
| 660 | 661 | ||
| 661 | } | 662 | } |
| 662 | 663 | ||
| 663 | // NSTRACE_MSG (NSTRACE_FMT_RETURN "%.0f", res); | 664 | NSTRACE ("ns_menu_bar_height " NSTRACE_FMT_RETURN " %.0f", res); |
| 664 | 665 | ||
| 665 | return res; | 666 | return res; |
| 666 | } | 667 | } |
| @@ -714,7 +715,7 @@ ns_menu_bar_height (NSScreen *screen) | |||
| 714 | // Result: Menu bar visible, frame placed immediately below the menu. | 715 | // Result: Menu bar visible, frame placed immediately below the menu. |
| 715 | // | 716 | // |
| 716 | 717 | ||
| 717 | static NSRect constrain_frame_rect(NSRect frameRect) | 718 | static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen) |
| 718 | { | 719 | { |
| 719 | NSTRACE ("constrain_frame_rect(" NSTRACE_FMT_RECT ")", | 720 | NSTRACE ("constrain_frame_rect(" NSTRACE_FMT_RECT ")", |
| 720 | NSTRACE_ARG_RECT (frameRect)); | 721 | NSTRACE_ARG_RECT (frameRect)); |
| @@ -746,7 +747,11 @@ static NSRect constrain_frame_rect(NSRect frameRect) | |||
| 746 | { | 747 | { |
| 747 | multiscreenRect = NSUnionRect (multiscreenRect, scrRect); | 748 | multiscreenRect = NSUnionRect (multiscreenRect, scrRect); |
| 748 | 749 | ||
| 749 | menu_bar_height = max(menu_bar_height, ns_menu_bar_height (s)); | 750 | if (!isFullscreen) |
| 751 | { | ||
| 752 | CGFloat screen_menu_bar_height = ns_menu_bar_height (s); | ||
| 753 | menu_bar_height = max(menu_bar_height, screen_menu_bar_height); | ||
| 754 | } | ||
| 750 | } | 755 | } |
| 751 | } | 756 | } |
| 752 | 757 | ||
| @@ -840,7 +845,7 @@ ns_constrain_all_frames (void) | |||
| 840 | if (![view isFullscreen]) | 845 | if (![view isFullscreen]) |
| 841 | { | 846 | { |
| 842 | [[view window] | 847 | [[view window] |
| 843 | setFrame:constrain_frame_rect([[view window] frame]) | 848 | setFrame:constrain_frame_rect([[view window] frame], false) |
| 844 | display:NO]; | 849 | display:NO]; |
| 845 | } | 850 | } |
| 846 | } | 851 | } |
| @@ -1170,7 +1175,7 @@ ns_clip_to_row (struct window *w, struct glyph_row *row, | |||
| 1170 | // GNUstep doesn't provide named images. This was reported in | 1175 | // GNUstep doesn't provide named images. This was reported in |
| 1171 | // 2011, see https://savannah.gnu.org/bugs/?33396 | 1176 | // 2011, see https://savannah.gnu.org/bugs/?33396 |
| 1172 | // | 1177 | // |
| 1173 | // As a drop in replacment, a semi tranparent gray square is used. | 1178 | // As a drop in replacement, a semitransparent gray square is used. |
| 1174 | self.image = [[NSImage alloc] initWithSize:NSMakeSize(32, 32)]; | 1179 | self.image = [[NSImage alloc] initWithSize:NSMakeSize(32, 32)]; |
| 1175 | [self.image lockFocus]; | 1180 | [self.image lockFocus]; |
| 1176 | [[NSColor colorForEmacsRed:0.5 green:0.5 blue:0.5 alpha:0.5] set]; | 1181 | [[NSColor colorForEmacsRed:0.5 green:0.5 blue:0.5 alpha:0.5] set]; |
| @@ -6650,7 +6655,7 @@ not_in_argv (NSString *arg) | |||
| 6650 | NSString *name; | 6655 | NSString *name; |
| 6651 | 6656 | ||
| 6652 | NSTRACE ("[EmacsView initFrameFromEmacs:]"); | 6657 | NSTRACE ("[EmacsView initFrameFromEmacs:]"); |
| 6653 | NSTRACE_MSG ("cols:%d lines:%d\n", f->text_cols, f->text_lines); | 6658 | NSTRACE_MSG ("cols:%d lines:%d", f->text_cols, f->text_lines); |
| 6654 | 6659 | ||
| 6655 | windowClosing = NO; | 6660 | windowClosing = NO; |
| 6656 | processingCompose = NO; | 6661 | processingCompose = NO; |
| @@ -7099,14 +7104,25 @@ not_in_argv (NSString *arg) | |||
| 7099 | 7104 | ||
| 7100 | - (BOOL)isFullscreen | 7105 | - (BOOL)isFullscreen |
| 7101 | { | 7106 | { |
| 7102 | NSTRACE ("[EmacsView isFullscreen]"); | 7107 | BOOL res; |
| 7103 | 7108 | ||
| 7104 | if (! fs_is_native) return nonfs_window != nil; | 7109 | if (! fs_is_native) |
| 7110 | { | ||
| 7111 | res = (nonfs_window != nil); | ||
| 7112 | } | ||
| 7113 | else | ||
| 7114 | { | ||
| 7105 | #ifdef HAVE_NATIVE_FS | 7115 | #ifdef HAVE_NATIVE_FS |
| 7106 | return ([[self window] styleMask] & NSFullScreenWindowMask) != 0; | 7116 | res = (([[self window] styleMask] & NSFullScreenWindowMask) != 0); |
| 7107 | #else | 7117 | #else |
| 7108 | return NO; | 7118 | res = NO; |
| 7109 | #endif | 7119 | #endif |
| 7120 | } | ||
| 7121 | |||
| 7122 | NSTRACE ("[EmacsView isFullscreen] " NSTRACE_FMT_RETURN " %d", | ||
| 7123 | (int) res); | ||
| 7124 | |||
| 7125 | return res; | ||
| 7110 | } | 7126 | } |
| 7111 | 7127 | ||
| 7112 | #ifdef HAVE_NATIVE_FS | 7128 | #ifdef HAVE_NATIVE_FS |
| @@ -7772,7 +7788,8 @@ not_in_argv (NSString *arg) | |||
| 7772 | #endif | 7788 | #endif |
| 7773 | #endif | 7789 | #endif |
| 7774 | 7790 | ||
| 7775 | return constrain_frame_rect(frameRect); | 7791 | return constrain_frame_rect(frameRect, |
| 7792 | [(EmacsView *)[self delegate] isFullscreen]); | ||
| 7776 | } | 7793 | } |
| 7777 | 7794 | ||
| 7778 | 7795 | ||
| @@ -95,7 +95,7 @@ typedef struct _MEMORY_STATUS_EX { | |||
| 95 | } MEMORY_STATUS_EX,*LPMEMORY_STATUS_EX; | 95 | } MEMORY_STATUS_EX,*LPMEMORY_STATUS_EX; |
| 96 | 96 | ||
| 97 | /* These are here so that GDB would know about these data types. This | 97 | /* These are here so that GDB would know about these data types. This |
| 98 | allows to attach GDB to Emacs when a fatal exception is triggered | 98 | allows attaching GDB to Emacs when a fatal exception is triggered |
| 99 | and Windows pops up the "application needs to be closed" dialog. | 99 | and Windows pops up the "application needs to be closed" dialog. |
| 100 | At that point, _gnu_exception_handler, the top-level exception | 100 | At that point, _gnu_exception_handler, the top-level exception |
| 101 | handler installed by the MinGW startup code, is somewhere on the | 101 | handler installed by the MinGW startup code, is somewhere on the |
diff --git a/src/w32heap.c b/src/w32heap.c index 3d1c5ff50a2..00da86a9598 100644 --- a/src/w32heap.c +++ b/src/w32heap.c | |||
| @@ -100,8 +100,8 @@ typedef struct _RTL_HEAP_PARAMETERS { | |||
| 100 | special segment to the executable. In order to be able to do this | 100 | special segment to the executable. In order to be able to do this |
| 101 | without losing too much space, we need to create a Windows heap at | 101 | without losing too much space, we need to create a Windows heap at |
| 102 | the specific address of the static array. The RtlCreateHeap | 102 | the specific address of the static array. The RtlCreateHeap |
| 103 | available inside the NT kernel since XP will do this. It allows to | 103 | available inside the NT kernel since XP will do this. It allows the |
| 104 | create a non-growable heap at a specific address. So before | 104 | creation of a non-growable heap at a specific address. So before |
| 105 | dumping, we create a non-growable heap at the address of the | 105 | dumping, we create a non-growable heap at the address of the |
| 106 | dumped_data[] array. After dumping, we reuse memory allocated | 106 | dumped_data[] array. After dumping, we reuse memory allocated |
| 107 | there without being able to free it (but most of it is not meant to | 107 | there without being able to free it (but most of it is not meant to |
diff --git a/src/w32term.c b/src/w32term.c index 54fd2953d76..36a50212372 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -3616,8 +3616,8 @@ w32_set_horizontal_scroll_bar_thumb (struct scroll_bar *bar, | |||
| 3616 | si.fMask = SIF_PAGE | SIF_POS | SIF_RANGE; | 3616 | si.fMask = SIF_PAGE | SIF_POS | SIF_RANGE; |
| 3617 | si.nMin = 0; | 3617 | si.nMin = 0; |
| 3618 | si.nMax = whole; | 3618 | si.nMax = whole; |
| 3619 | /* Allow nPage to be one larger than nPos so we don't allow to scroll | 3619 | /* Allow nPage to be one larger than nPos so we don't allow the scrolling |
| 3620 | an already fully visible buffer. */ | 3620 | of an already fully visible buffer. */ |
| 3621 | si.nPage = min (portion, si.nMax) + 1; | 3621 | si.nPage = min (portion, si.nMax) + 1; |
| 3622 | si.nPos = min (position, si.nMax); | 3622 | si.nPos = min (position, si.nMax); |
| 3623 | SetScrollInfo (w, SB_CTL, &si, TRUE); | 3623 | SetScrollInfo (w, SB_CTL, &si, TRUE); |
diff --git a/src/window.c b/src/window.c index 70b7e58feb5..e1a30ee5714 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -7261,7 +7261,7 @@ resizing a window preferably resizes one adjacent window only. | |||
| 7261 | 7261 | ||
| 7262 | If this variable is t, splitting a window tries to get the space | 7262 | If this variable is t, splitting a window tries to get the space |
| 7263 | proportionally from all windows in the same combination. This also | 7263 | proportionally from all windows in the same combination. This also |
| 7264 | allows to split a window that is otherwise too small or of fixed size. | 7264 | allows splitting a window that is otherwise too small or of fixed size. |
| 7265 | Resizing and deleting a window proportionally resize all windows in the | 7265 | Resizing and deleting a window proportionally resize all windows in the |
| 7266 | same combination. | 7266 | same combination. |
| 7267 | 7267 | ||
diff --git a/src/xdisp.c b/src/xdisp.c index 5185e777324..78fddd60fc0 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -13139,7 +13139,7 @@ text_outside_line_unchanged_p (struct window *w, | |||
| 13139 | beginning of a paragraph, before the first strong directional | 13139 | beginning of a paragraph, before the first strong directional |
| 13140 | character, can change the base direction of the paragraph (unless | 13140 | character, can change the base direction of the paragraph (unless |
| 13141 | the buffer specifies a fixed paragraph direction), which will | 13141 | the buffer specifies a fixed paragraph direction), which will |
| 13142 | require to redisplay the whole paragraph. It might be worthwhile | 13142 | require redisplaying the whole paragraph. It might be worthwhile |
| 13143 | to find the paragraph limits and widen the range of redisplayed | 13143 | to find the paragraph limits and widen the range of redisplayed |
| 13144 | lines to that, but for now just give up this optimization. */ | 13144 | lines to that, but for now just give up this optimization. */ |
| 13145 | if (!NILP (BVAR (XBUFFER (w->contents), bidi_display_reordering)) | 13145 | if (!NILP (BVAR (XBUFFER (w->contents), bidi_display_reordering)) |
| @@ -18067,7 +18067,7 @@ try_window_id (struct window *w) | |||
| 18067 | beginning of a paragraph, before the first strong directional | 18067 | beginning of a paragraph, before the first strong directional |
| 18068 | character, can change the base direction of the paragraph (unless | 18068 | character, can change the base direction of the paragraph (unless |
| 18069 | the buffer specifies a fixed paragraph direction), which will | 18069 | the buffer specifies a fixed paragraph direction), which will |
| 18070 | require to redisplay the whole paragraph. It might be worthwhile | 18070 | require redisplaying the whole paragraph. It might be worthwhile |
| 18071 | to find the paragraph limits and widen the range of redisplayed | 18071 | to find the paragraph limits and widen the range of redisplayed |
| 18072 | lines to that, but for now just give up this optimization and | 18072 | lines to that, but for now just give up this optimization and |
| 18073 | redisplay from scratch. */ | 18073 | redisplay from scratch. */ |
diff --git a/src/xfaces.c b/src/xfaces.c index 0bf4f0cefd6..2880eedc1e5 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -80,7 +80,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 80 | specs overwrite the font-spec in the 14th attribute. | 80 | specs overwrite the font-spec in the 14th attribute. |
| 81 | 81 | ||
| 82 | 82 | ||
| 83 | Faces are frame-local by nature because Emacs allows to define the | 83 | Faces are frame-local by nature because Emacs allows you to define the |
| 84 | same named face (face names are symbols) differently for different | 84 | same named face (face names are symbols) differently for different |
| 85 | frames. Each frame has an alist of face definitions for all named | 85 | frames. Each frame has an alist of face definitions for all named |
| 86 | faces. The value of a named face in such an alist is a Lisp vector | 86 | faces. The value of a named face in such an alist is a Lisp vector |
diff --git a/src/xwidget.c b/src/xwidget.c index be3e4ca5732..8745416f3db 100644 --- a/src/xwidget.c +++ b/src/xwidget.c | |||
| @@ -393,7 +393,7 @@ webkit_mime_type_policy_typedecision_requested_cb | |||
| 393 | { | 393 | { |
| 394 | /* This function makes webkit send a download signal for all unknown | 394 | /* This function makes webkit send a download signal for all unknown |
| 395 | mime types. TODO: Defer the decision to Lisp, so that it's | 395 | mime types. TODO: Defer the decision to Lisp, so that it's |
| 396 | possible to make Emacs handle teext mime for instance.xs. */ | 396 | possible to make Emacs handle mime text for instance. */ |
| 397 | if (!webkit_web_view_can_show_mime_type (webView, mimetype)) | 397 | if (!webkit_web_view_can_show_mime_type (webView, mimetype)) |
| 398 | { | 398 | { |
| 399 | webkit_web_policy_decision_download (policy_decision); | 399 | webkit_web_policy_decision_download (policy_decision); |
| @@ -530,7 +530,7 @@ xwidget_init_view (struct xwidget *xww, | |||
| 530 | container later. Drawing should crop container window if necessary | 530 | container later. Drawing should crop container window if necessary |
| 531 | to handle case where xwidget is partially obscured by other Emacs | 531 | to handle case where xwidget is partially obscured by other Emacs |
| 532 | windows. Other containers than gtk_fixed where explored, but | 532 | windows. Other containers than gtk_fixed where explored, but |
| 533 | gtk_fixed had the most predictable behaviour so far. */ | 533 | gtk_fixed had the most predictable behavior so far. */ |
| 534 | 534 | ||
| 535 | xv->emacswindow = FRAME_GTK_WIDGET (s->f); | 535 | xv->emacswindow = FRAME_GTK_WIDGET (s->f); |
| 536 | xv->widgetwindow = gtk_fixed_new (); | 536 | xv->widgetwindow = gtk_fixed_new (); |
| @@ -594,7 +594,7 @@ x_draw_xwidget_glyph_string (struct glyph_string *s) | |||
| 594 | WINDOW_BOTTOM_EDGE_Y (s->w) - WINDOW_MODE_LINE_HEIGHT (s->w) - y); | 594 | WINDOW_BOTTOM_EDGE_Y (s->w) - WINDOW_MODE_LINE_HEIGHT (s->w) - y); |
| 595 | clip_top = max (0, WINDOW_TOP_EDGE_Y (s->w) - y); | 595 | clip_top = max (0, WINDOW_TOP_EDGE_Y (s->w) - y); |
| 596 | 596 | ||
| 597 | /* We are conserned with movement of the onscreen area. The area | 597 | /* We are concerned with movement of the onscreen area. The area |
| 598 | might sit still when the widget actually moves. This happens | 598 | might sit still when the widget actually moves. This happens |
| 599 | when an Emacs window border moves across a widget window. So, if | 599 | when an Emacs window border moves across a widget window. So, if |
| 600 | any corner of the outer widget clipping window moves, that counts | 600 | any corner of the outer widget clipping window moves, that counts |
| @@ -615,7 +615,7 @@ x_draw_xwidget_glyph_string (struct glyph_string *s) | |||
| 615 | /* Clip the widget window if some parts happen to be outside | 615 | /* Clip the widget window if some parts happen to be outside |
| 616 | drawable area. An Emacs window is not a gtk window. A gtk window | 616 | drawable area. An Emacs window is not a gtk window. A gtk window |
| 617 | covers the entire frame. Clipping might have changed even if we | 617 | covers the entire frame. Clipping might have changed even if we |
| 618 | havent actualy moved, we try figure out when we need to reclip | 618 | haven't actually moved; try to figure out when we need to reclip |
| 619 | for real. */ | 619 | for real. */ |
| 620 | if (xv->clip_right != clip_right | 620 | if (xv->clip_right != clip_right |
| 621 | || xv->clip_bottom != clip_bottom | 621 | || xv->clip_bottom != clip_bottom |
| @@ -753,7 +753,7 @@ DEFUN ("xwidget-resize", Fxwidget_resize, Sxwidget_resize, 3, 3, 0, | |||
| 753 | DEFUN ("xwidget-set-adjustment", | 753 | DEFUN ("xwidget-set-adjustment", |
| 754 | Fxwidget_set_adjustment, Sxwidget_set_adjustment, 4, 4, 0, | 754 | Fxwidget_set_adjustment, Sxwidget_set_adjustment, 4, 4, 0, |
| 755 | doc: /* Set native scrolling for XWIDGET. | 755 | doc: /* Set native scrolling for XWIDGET. |
| 756 | AXIS can be 'vertical or 'horizontal. | 756 | AXIS can be `vertical' or `horizontal'. |
| 757 | If RELATIVE is t, scroll relative, otherwise absolutely. | 757 | If RELATIVE is t, scroll relative, otherwise absolutely. |
| 758 | VALUE is the amount to scroll, either relatively or absolutely. */) | 758 | VALUE is the amount to scroll, either relatively or absolutely. */) |
| 759 | (Lisp_Object xwidget, Lisp_Object axis, Lisp_Object relative, | 759 | (Lisp_Object xwidget, Lisp_Object axis, Lisp_Object relative, |
| @@ -1132,7 +1132,7 @@ xwidget_end_redisplay (struct window *w, struct glyph_matrix *matrix) | |||
| 1132 | not in the desired matrix. | 1132 | not in the desired matrix. |
| 1133 | 1133 | ||
| 1134 | This only takes care of xwidgets in active windows. If a window | 1134 | This only takes care of xwidgets in active windows. If a window |
| 1135 | goes away from screen xwidget views wust be deleted. | 1135 | goes away from the screen, xwidget views must be deleted. |
| 1136 | 1136 | ||
| 1137 | dump_glyph_matrix (matrix, 2); */ | 1137 | dump_glyph_matrix (matrix, 2); */ |
| 1138 | for (i = 0; i < matrix->nrows; ++i) | 1138 | for (i = 0; i < matrix->nrows; ++i) |
diff --git a/test/ChangeLog.1 b/test/ChangeLog.1 index 01cb97e0da3..3520f13df60 100644 --- a/test/ChangeLog.1 +++ b/test/ChangeLog.1 | |||
| @@ -343,10 +343,10 @@ | |||
| 343 | 343 | ||
| 344 | * automated/tildify-tests.el (tildify-space-undo-test--test): | 344 | * automated/tildify-tests.el (tildify-space-undo-test--test): |
| 345 | A new helper function for testing `tildify-double-space-undos' | 345 | A new helper function for testing `tildify-double-space-undos' |
| 346 | behaviour in the `tildify-space' function. | 346 | behavior in the `tildify-space' function. |
| 347 | (tildify-space-undo-test-html, tildify-space-undo-test-html-nbsp) | 347 | (tildify-space-undo-test-html, tildify-space-undo-test-html-nbsp) |
| 348 | (tildify-space-undo-test-xml, tildify-space-undo-test-tex): | 348 | (tildify-space-undo-test-xml, tildify-space-undo-test-tex): |
| 349 | New tests for `tildify-doule-space-undos' behaviour. | 349 | New tests for `tildify-doule-space-undos' behavior. |
| 350 | 350 | ||
| 351 | * automated/tildify-tests.el (tildify-space-test--test): | 351 | * automated/tildify-tests.el (tildify-space-test--test): |
| 352 | A new helper function for testing `tildify-space' function. | 352 | A new helper function for testing `tildify-space' function. |
diff --git a/test/manual/etags/c-src/emacs/src/lisp.h b/test/manual/etags/c-src/emacs/src/lisp.h index 0fb068d1a2c..96c52c04691 100644 --- a/test/manual/etags/c-src/emacs/src/lisp.h +++ b/test/manual/etags/c-src/emacs/src/lisp.h | |||
| @@ -2005,7 +2005,7 @@ struct Lisp_Marker | |||
| 2005 | /* For markers that point somewhere, | 2005 | /* For markers that point somewhere, |
| 2006 | this is used to chain of all the markers in a given buffer. */ | 2006 | this is used to chain of all the markers in a given buffer. */ |
| 2007 | /* We could remove it and use an array in buffer_text instead. | 2007 | /* We could remove it and use an array in buffer_text instead. |
| 2008 | That would also allow to preserve it ordered. */ | 2008 | That would also allow us to preserve it ordered. */ |
| 2009 | struct Lisp_Marker *next; | 2009 | struct Lisp_Marker *next; |
| 2010 | /* This is the char position where the marker points. */ | 2010 | /* This is the char position where the marker points. */ |
| 2011 | ptrdiff_t charpos; | 2011 | ptrdiff_t charpos; |
diff --git a/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el b/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el index 6c28ba35a4c..5d28657e28b 100644 --- a/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el +++ b/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el | |||
| @@ -2094,7 +2094,7 @@ for \\[find-tag] (which see)." | |||
| 2094 | (`apropos (etags--xref-find-definitions id t)))) | 2094 | (`apropos (etags--xref-find-definitions id t)))) |
| 2095 | 2095 | ||
| 2096 | (defun etags--xref-find-definitions (pattern &optional regexp?) | 2096 | (defun etags--xref-find-definitions (pattern &optional regexp?) |
| 2097 | ;; This emulates the behaviour of `find-tag-in-order' but instead of | 2097 | ;; This emulates the behavior of `find-tag-in-order' but instead of |
| 2098 | ;; returning one match at a time all matches are returned as list. | 2098 | ;; returning one match at a time all matches are returned as list. |
| 2099 | ;; NOTE: find-tag-tag-order is typically a buffer-local variable. | 2099 | ;; NOTE: find-tag-tag-order is typically a buffer-local variable. |
| 2100 | (let* ((xrefs '()) | 2100 | (let* ((xrefs '()) |