diff options
| -rw-r--r-- | doc/emacs/cmdargs.texi | 5 | ||||
| -rw-r--r-- | doc/lispref/os.texi | 67 | ||||
| -rw-r--r-- | etc/NEWS | 10 | ||||
| -rw-r--r-- | etc/PROBLEMS | 8 | ||||
| -rw-r--r-- | lisp/calendar/solar.el | 18 | ||||
| -rw-r--r-- | lisp/emacs-lisp/autoload.el | 42 | ||||
| -rw-r--r-- | lisp/gnus/gnus-art.el | 2 | ||||
| -rw-r--r-- | lisp/org/org.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/project.el | 4 | ||||
| -rw-r--r-- | lisp/vc/add-log.el | 7 | ||||
| -rw-r--r-- | src/editfns.c | 27 | ||||
| -rw-r--r-- | src/macfont.m | 6 |
12 files changed, 116 insertions, 82 deletions
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index 646c8da1bb8..444d30527f8 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi | |||
| @@ -641,8 +641,9 @@ to put temporary files (@pxref{Backup}). Emacs tries to use | |||
| 641 | @env{TMP}, then @env{TEMP}, and finally @file{c:/temp}. | 641 | @env{TMP}, then @env{TEMP}, and finally @file{c:/temp}. |
| 642 | @item TZ | 642 | @item TZ |
| 643 | @vindex TZ, environment variable | 643 | @vindex TZ, environment variable |
| 644 | This specifies the current time zone and possibly also daylight | 644 | This specifies the default time zone and possibly also daylight |
| 645 | saving time information. On MS-DOS, if @env{TZ} is not set in the | 645 | saving time information. @xref{Time Zone Rules,,, elisp, The GNU |
| 646 | Emacs Lisp Reference Manual}. On MS-DOS, if @env{TZ} is not set in the | ||
| 646 | environment when Emacs starts, Emacs defines a default value as | 647 | environment when Emacs starts, Emacs defines a default value as |
| 647 | appropriate for the country code returned by DOS@. On MS-Windows, Emacs | 648 | appropriate for the country code returned by DOS@. On MS-Windows, Emacs |
| 648 | does not use @env{TZ} at all. | 649 | does not use @env{TZ} at all. |
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 03d04ba3cf3..6e0edec2943 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi | |||
| @@ -19,6 +19,7 @@ terminal and the screen. | |||
| 19 | * System Environment:: Distinguish the name and kind of system. | 19 | * System Environment:: Distinguish the name and kind of system. |
| 20 | * User Identification:: Finding the name and user id of the user. | 20 | * User Identification:: Finding the name and user id of the user. |
| 21 | * Time of Day:: Getting the current time. | 21 | * Time of Day:: Getting the current time. |
| 22 | * Time Zone Rules:: Rules for time zones and daylight saving time. | ||
| 22 | * Time Conversion:: Converting a time from numeric form to | 23 | * Time Conversion:: Converting a time from numeric form to |
| 23 | calendrical data and vice versa. | 24 | calendrical data and vice versa. |
| 24 | * Time Parsing:: Converting a time from numeric form to text | 25 | * Time Parsing:: Converting a time from numeric form to text |
| @@ -1259,7 +1260,7 @@ information may some day be added at the end. | |||
| 1259 | 1260 | ||
| 1260 | The argument @var{time}, if given, specifies a time to format, | 1261 | The argument @var{time}, if given, specifies a time to format, |
| 1261 | instead of the current time. The optional argument @var{zone} | 1262 | instead of the current time. The optional argument @var{zone} |
| 1262 | defaults to the current time zone rule. | 1263 | defaults to the current time zone rule. @xref{Time Zone Rules}. |
| 1263 | 1264 | ||
| 1264 | @example | 1265 | @example |
| 1265 | @group | 1266 | @group |
| @@ -1296,26 +1297,9 @@ For example, if @var{time} is a number, @code{(time-to-seconds | |||
| 1296 | or rounding errors occur. | 1297 | or rounding errors occur. |
| 1297 | @end defun | 1298 | @end defun |
| 1298 | 1299 | ||
| 1299 | @defun current-time-zone &optional time zone | 1300 | @node Time Zone Rules |
| 1300 | @cindex time zone, current | 1301 | @section Time Zone Rules |
| 1301 | This function returns a list describing the time zone that the user is | 1302 | @cindex time zone rules |
| 1302 | in. | ||
| 1303 | |||
| 1304 | The value has the form @code{(@var{offset} @var{name})}. Here | ||
| 1305 | @var{offset} is an integer giving the number of seconds ahead of Universal Time | ||
| 1306 | (east of Greenwich). A negative value means west of Greenwich. The | ||
| 1307 | second element, @var{name}, is a string giving the name of the time | ||
| 1308 | zone. Both elements change when daylight saving time begins or ends; | ||
| 1309 | if the user has specified a time zone that does not use a seasonal time | ||
| 1310 | adjustment, then the value is constant through time. | ||
| 1311 | |||
| 1312 | If the operating system doesn't supply all the information necessary to | ||
| 1313 | compute the value, the unknown elements of the list are @code{nil}. | ||
| 1314 | |||
| 1315 | The argument @var{time}, if given, specifies a time value to | ||
| 1316 | analyze instead of the current time. The optional argument @var{zone} | ||
| 1317 | defaults to the current time zone rule. | ||
| 1318 | @end defun | ||
| 1319 | 1303 | ||
| 1320 | @vindex TZ, environment variable | 1304 | @vindex TZ, environment variable |
| 1321 | The default time zone is determined by the @env{TZ} environment | 1305 | The default time zone is determined by the @env{TZ} environment |
| @@ -1324,6 +1308,15 @@ to default to Universal Time with @code{(setenv "TZ" "UTC0")}. If | |||
| 1324 | @env{TZ} is not in the environment, Emacs uses system wall clock time, | 1308 | @env{TZ} is not in the environment, Emacs uses system wall clock time, |
| 1325 | which is a platform-dependent default time zone. | 1309 | which is a platform-dependent default time zone. |
| 1326 | 1310 | ||
| 1311 | The set of supported @env{TZ} strings is system-dependent. GNU and | ||
| 1312 | many other systems support the tzdata database, e.g., | ||
| 1313 | @samp{"America/New_York"} specifies the time zone and daylight saving | ||
| 1314 | time history for locations near New York City. GNU and most other | ||
| 1315 | systems support POSIX-style @env{TZ} strings, e.g., | ||
| 1316 | @samp{"EST+5EDT,M4.1.0/2,M10.5.0/2"} specifies the rules used in New | ||
| 1317 | York from 1987 through 2006. All systems support the string | ||
| 1318 | @samp{"UTC0"} meaning Universal Time. | ||
| 1319 | |||
| 1327 | @cindex time zone rule | 1320 | @cindex time zone rule |
| 1328 | Functions that convert to and from local time accept an optional | 1321 | Functions that convert to and from local time accept an optional |
| 1329 | @dfn{time zone rule} argument, which specifies the conversion's time | 1322 | @dfn{time zone rule} argument, which specifies the conversion's time |
| @@ -1334,6 +1327,29 @@ If it is @code{t}, the conversion uses Universal Time. If it is | |||
| 1334 | a string, the conversion uses the time zone rule equivalent to setting | 1327 | a string, the conversion uses the time zone rule equivalent to setting |
| 1335 | @env{TZ} to that string. | 1328 | @env{TZ} to that string. |
| 1336 | 1329 | ||
| 1330 | @defun current-time-zone &optional time zone | ||
| 1331 | @cindex time zone, current | ||
| 1332 | This function returns a list describing the time zone that the user is | ||
| 1333 | in. | ||
| 1334 | |||
| 1335 | The value has the form @code{(@var{offset} @var{abbr})}. Here | ||
| 1336 | @var{offset} is an integer giving the number of seconds ahead of Universal Time | ||
| 1337 | (east of Greenwich). A negative value means west of Greenwich. The | ||
| 1338 | second element, @var{abbr}, is a string giving an abbreviation for the | ||
| 1339 | time zone, e.g., @samp{"CST"} for China Standard Time or for | ||
| 1340 | U.S. Central Standard Time. Both elements can change when daylight | ||
| 1341 | saving time begins or ends; if the user has specified a time zone that | ||
| 1342 | does not use a seasonal time adjustment, then the value is constant | ||
| 1343 | through time. | ||
| 1344 | |||
| 1345 | If the operating system doesn't supply all the information necessary to | ||
| 1346 | compute the value, the unknown elements of the list are @code{nil}. | ||
| 1347 | |||
| 1348 | The argument @var{time}, if given, specifies a time value to | ||
| 1349 | analyze instead of the current time. The optional argument @var{zone} | ||
| 1350 | defaults to the current time zone rule. | ||
| 1351 | @end defun | ||
| 1352 | |||
| 1337 | @node Time Conversion | 1353 | @node Time Conversion |
| 1338 | @section Time Conversion | 1354 | @section Time Conversion |
| 1339 | @cindex calendrical information | 1355 | @cindex calendrical information |
| @@ -1358,8 +1374,8 @@ as traditional Gregorian years do; for example, the year number | |||
| 1358 | @defun decode-time &optional time zone | 1374 | @defun decode-time &optional time zone |
| 1359 | This function converts a time value into calendrical information. If | 1375 | This function converts a time value into calendrical information. If |
| 1360 | you don't specify @var{time}, it decodes the current time, and similarly | 1376 | you don't specify @var{time}, it decodes the current time, and similarly |
| 1361 | @var{zone} defaults to the current time zone rule. The return | 1377 | @var{zone} defaults to the current time zone rule. @xref{Time Zone Rules}. |
| 1362 | value is a list of nine elements, as follows: | 1378 | The return value is a list of nine elements, as follows: |
| 1363 | 1379 | ||
| 1364 | @example | 1380 | @example |
| 1365 | (@var{seconds} @var{minutes} @var{hour} @var{day} @var{month} @var{year} @var{dow} @var{dst} @var{utcoff}) | 1381 | (@var{seconds} @var{minutes} @var{hour} @var{day} @var{month} @var{year} @var{dow} @var{dst} @var{utcoff}) |
| @@ -1406,6 +1422,7 @@ to stand for years above 1900, or years above 2000, you must alter them | |||
| 1406 | yourself before you call @code{encode-time}. | 1422 | yourself before you call @code{encode-time}. |
| 1407 | 1423 | ||
| 1408 | The optional argument @var{zone} defaults to the current time zone rule. | 1424 | The optional argument @var{zone} defaults to the current time zone rule. |
| 1425 | @xref{Time Zone Rules}. | ||
| 1409 | In addition to the usual time zone rule values, it can also be a list | 1426 | In addition to the usual time zone rule values, it can also be a list |
| 1410 | (as you would get from @code{current-time-zone}) or an integer (as | 1427 | (as you would get from @code{current-time-zone}) or an integer (as |
| 1411 | from @code{decode-time}), applied without any further alteration for | 1428 | from @code{decode-time}), applied without any further alteration for |
| @@ -1449,8 +1466,8 @@ corresponding time value. | |||
| 1449 | 1466 | ||
| 1450 | This function converts @var{time} (or the current time, if | 1467 | This function converts @var{time} (or the current time, if |
| 1451 | @var{time} is omitted) to a string according to | 1468 | @var{time} is omitted) to a string according to |
| 1452 | @var{format-string}. The conversion uses the time zone rule @var{zone} | 1469 | @var{format-string}. The conversion uses the time zone rule @var{zone}, which |
| 1453 | (or the current time zone rule, if omitted). The argument | 1470 | defaults to the current time zone rule. @xref{Time Zone Rules}. The argument |
| 1454 | @var{format-string} may contain @samp{%}-sequences which say to | 1471 | @var{format-string} may contain @samp{%}-sequences which say to |
| 1455 | substitute parts of the time. Here is a table of what the | 1472 | substitute parts of the time. Here is a table of what the |
| 1456 | @samp{%}-sequences mean: | 1473 | @samp{%}-sequences mean: |
| @@ -2125,11 +2125,11 @@ quotation marks. | |||
| 2125 | *** Time conversion functions now accept an optional ZONE argument | 2125 | *** Time conversion functions now accept an optional ZONE argument |
| 2126 | that specifies the time zone rules for conversion. ZONE is omitted or | 2126 | that specifies the time zone rules for conversion. ZONE is omitted or |
| 2127 | nil for Emacs local time, t for Universal Time, 'wall' for system wall | 2127 | nil for Emacs local time, t for Universal Time, 'wall' for system wall |
| 2128 | clock time, or a string as in 'set-time-zone-rule' for a time zone | 2128 | clock time, or a string as in the TZ environment variable. The |
| 2129 | rule. The affected functions are 'current-time-string', | 2129 | affected functions are 'current-time-string', 'current-time-zone', |
| 2130 | 'current-time-zone', 'decode-time', and 'format-time-string'. The | 2130 | 'decode-time', and 'format-time-string'. The function 'encode-time', |
| 2131 | function 'encode-time', which already accepted a simple time zone rule | 2131 | which already accepted a simple time zone rule argument, has been |
| 2132 | argument, has been extended to accept all the new forms. | 2132 | extended to accept all the new forms. |
| 2133 | 2133 | ||
| 2134 | *** Incompatible change in the third argument of 'format-time-string'. | 2134 | *** Incompatible change in the third argument of 'format-time-string'. |
| 2135 | Previously, any non-nil argument was interpreted as specifying Universal Time. | 2135 | Previously, any non-nil argument was interpreted as specifying Universal Time. |
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 2ccb7711376..4288808f407 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -2181,11 +2181,11 @@ month names with consistent widths for some locales on some versions | |||
| 2181 | of Windows. This is caused by a deficiency in the underlying system | 2181 | of Windows. This is caused by a deficiency in the underlying system |
| 2182 | library function. | 2182 | library function. |
| 2183 | 2183 | ||
| 2184 | ** Problems with set-time-zone-rule function | 2184 | ** Non-US time zones. |
| 2185 | 2185 | ||
| 2186 | The function set-time-zone-rule gives incorrect results for many | 2186 | Many non-US time zones are implemented incorrectly. This is due to |
| 2187 | non-US timezones. This is due to over-simplistic handling of | 2187 | over-simplistic handling of daylight savings switchovers by the |
| 2188 | daylight savings switchovers by the Windows libraries. | 2188 | Windows libraries. |
| 2189 | 2189 | ||
| 2190 | ** Files larger than 4GB report wrong size in a 32-bit Windows build | 2190 | ** Files larger than 4GB report wrong size in a 32-bit Windows build |
| 2191 | 2191 | ||
diff --git a/lisp/calendar/solar.el b/lisp/calendar/solar.el index bf8bedd599e..6fec8055319 100644 --- a/lisp/calendar/solar.el +++ b/lisp/calendar/solar.el | |||
| @@ -173,7 +173,7 @@ delta. At present, delta = 0.01 degrees, so the value of the variable | |||
| 173 | ;;; End of user options. | 173 | ;;; End of user options. |
| 174 | 174 | ||
| 175 | (defvar solar-sidereal-time-greenwich-midnight nil | 175 | (defvar solar-sidereal-time-greenwich-midnight nil |
| 176 | "Sidereal time at Greenwich at midnight (universal time).") | 176 | "Sidereal time at Greenwich at midnight (Universal Time).") |
| 177 | 177 | ||
| 178 | (defvar solar-northern-spring-or-summer-season nil | 178 | (defvar solar-northern-spring-or-summer-season nil |
| 179 | "Non-nil if northern spring or summer and nil otherwise. | 179 | "Non-nil if northern spring or summer and nil otherwise. |
| @@ -413,8 +413,8 @@ Result is in days. For the years 1800-1987, the maximum error is | |||
| 413 | (defun solar-ephemeris-time (time) | 413 | (defun solar-ephemeris-time (time) |
| 414 | "Ephemeris Time at moment TIME. | 414 | "Ephemeris Time at moment TIME. |
| 415 | TIME is a pair with the first component being the number of Julian centuries | 415 | TIME is a pair with the first component being the number of Julian centuries |
| 416 | elapsed at 0 Universal Time, and the second component being the universal | 416 | elapsed at 0 Universal Time, and the second component counting Universal Time |
| 417 | time. For instance, the pair corresponding to November 28, 1995 at 16 UT is | 417 | hours. For instance, the pair corresponding to November 28, 1995 at 16 UT is |
| 418 | \(-0.040945 16), -0.040945 being the number of Julian centuries elapsed between | 418 | \(-0.040945 16), -0.040945 being the number of Julian centuries elapsed between |
| 419 | Jan 1, 2000 at 12 UT and November 28, 1995 at 0 UT. | 419 | Jan 1, 2000 at 12 UT and November 28, 1995 at 0 UT. |
| 420 | 420 | ||
| @@ -430,7 +430,7 @@ Result is in Julian centuries of ephemeris time." | |||
| 430 | "Right ascension (in hours) and declination (in degrees) of the sun at TIME. | 430 | "Right ascension (in hours) and declination (in degrees) of the sun at TIME. |
| 431 | TIME is a pair with the first component being the number of | 431 | TIME is a pair with the first component being the number of |
| 432 | Julian centuries elapsed at 0 Universal Time, and the second | 432 | Julian centuries elapsed at 0 Universal Time, and the second |
| 433 | component being the universal time. For instance, the pair | 433 | component counting Universal Time hours. For instance, the pair |
| 434 | corresponding to November 28, 1995 at 16 UT is (-0.040945 16), | 434 | corresponding to November 28, 1995 at 16 UT is (-0.040945 16), |
| 435 | -0.040945 being the number of Julian centuries elapsed between | 435 | -0.040945 being the number of Julian centuries elapsed between |
| 436 | Jan 1, 2000 at 12 UT and November 28, 1995 at 0 UT. SUNRISE-FLAG is passed | 436 | Jan 1, 2000 at 12 UT and November 28, 1995 at 0 UT. SUNRISE-FLAG is passed |
| @@ -444,7 +444,7 @@ to `solar-ecliptic-coordinates'." | |||
| 444 | "Azimuth and height of the sun at TIME, LATITUDE, and LONGITUDE. | 444 | "Azimuth and height of the sun at TIME, LATITUDE, and LONGITUDE. |
| 445 | TIME is a pair with the first component being the number of | 445 | TIME is a pair with the first component being the number of |
| 446 | Julian centuries elapsed at 0 Universal Time, and the second | 446 | Julian centuries elapsed at 0 Universal Time, and the second |
| 447 | component being the universal time. For instance, the pair | 447 | component counting Universal Time hours. For instance, the pair |
| 448 | corresponding to November 28, 1995 at 16 UT is (-0.040945 16), | 448 | corresponding to November 28, 1995 at 16 UT is (-0.040945 16), |
| 449 | -0.040945 being the number of Julian centuries elapsed between | 449 | -0.040945 being the number of Julian centuries elapsed between |
| 450 | Jan 1, 2000 at 12 UT and November 28, 1995 at 0 UT. SUNRISE-FLAG | 450 | Jan 1, 2000 at 12 UT and November 28, 1995 at 0 UT. SUNRISE-FLAG |
| @@ -476,8 +476,8 @@ Sunrise if DIRECTION =-1 or sunset if =1 at LATITUDE, LONGITUDE, with midday | |||
| 476 | being TIME. | 476 | being TIME. |
| 477 | 477 | ||
| 478 | TIME is a pair with the first component being the number of Julian centuries | 478 | TIME is a pair with the first component being the number of Julian centuries |
| 479 | elapsed at 0 Universal Time, and the second component being the universal | 479 | elapsed at 0 Universal Time, and the second component counting Universal Time |
| 480 | time. For instance, the pair corresponding to November 28, 1995 at 16 UT is | 480 | hours. For instance, the pair corresponding to November 28, 1995 at 16 UT is |
| 481 | \(-0.040945 16), -0.040945 being the number of Julian centuries elapsed between | 481 | \(-0.040945 16), -0.040945 being the number of Julian centuries elapsed between |
| 482 | Jan 1, 2000 at 12 UT and November 28, 1995 at 0 UT. | 482 | Jan 1, 2000 at 12 UT and November 28, 1995 at 0 UT. |
| 483 | 483 | ||
| @@ -522,8 +522,8 @@ Uses binary search." | |||
| 522 | Parameters are the midday TIME and the LATITUDE, LONGITUDE of the location. | 522 | Parameters are the midday TIME and the LATITUDE, LONGITUDE of the location. |
| 523 | 523 | ||
| 524 | TIME is a pair with the first component being the number of Julian centuries | 524 | TIME is a pair with the first component being the number of Julian centuries |
| 525 | elapsed at 0 Universal Time, and the second component being the universal | 525 | elapsed at 0 Universal Time, and the second component counting Universal Time |
| 526 | time. For instance, the pair corresponding to November 28, 1995 at 16 UT is | 526 | hours. For instance, the pair corresponding to November 28, 1995 at 16 UT is |
| 527 | \(-0.040945 16), -0.040945 being the number of Julian centuries elapsed between | 527 | \(-0.040945 16), -0.040945 being the number of Julian centuries elapsed between |
| 528 | Jan 1, 2000 at 12 UT and November 28, 1995 at 0 UT. | 528 | Jan 1, 2000 at 12 UT and November 28, 1995 at 0 UT. |
| 529 | 529 | ||
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 1b06fb6a51d..14e584df672 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el | |||
| @@ -251,9 +251,22 @@ If a buffer is visiting the desired autoload file, return it." | |||
| 251 | (enable-local-eval nil)) | 251 | (enable-local-eval nil)) |
| 252 | ;; We used to use `raw-text' to read this file, but this causes | 252 | ;; We used to use `raw-text' to read this file, but this causes |
| 253 | ;; problems when the file contains non-ASCII characters. | 253 | ;; problems when the file contains non-ASCII characters. |
| 254 | (let ((delay-mode-hooks t)) | 254 | (let* ((delay-mode-hooks t) |
| 255 | (find-file-noselect | 255 | (file (autoload-generated-file)) |
| 256 | (autoload-ensure-default-file (autoload-generated-file)))))) | 256 | (file-missing (not (file-exists-p file)))) |
| 257 | (when file-missing | ||
| 258 | (autoload-ensure-default-file file)) | ||
| 259 | (with-current-buffer | ||
| 260 | (find-file-noselect | ||
| 261 | (autoload-ensure-file-writeable | ||
| 262 | file)) | ||
| 263 | ;; block backups when the file has just been created, since | ||
| 264 | ;; the backups will just be the auto-generated headers. | ||
| 265 | ;; bug#23203 | ||
| 266 | (when file-missing | ||
| 267 | (setq buffer-backed-up t) | ||
| 268 | (save-buffer)) | ||
| 269 | (current-buffer))))) | ||
| 257 | 270 | ||
| 258 | (defun autoload-generated-file () | 271 | (defun autoload-generated-file () |
| 259 | (expand-file-name generated-autoload-file | 272 | (expand-file-name generated-autoload-file |
| @@ -374,21 +387,22 @@ not be relied upon." | |||
| 374 | ;;;###autoload | 387 | ;;;###autoload |
| 375 | (put 'autoload-ensure-writable 'risky-local-variable t) | 388 | (put 'autoload-ensure-writable 'risky-local-variable t) |
| 376 | 389 | ||
| 390 | (defun autoload-ensure-file-writeable (file) | ||
| 391 | ;; Probably pointless, but replaces the old AUTOGEN_VCS in lisp/Makefile, | ||
| 392 | ;; which was designed to handle CVSREAD=1 and equivalent. | ||
| 393 | (and autoload-ensure-writable | ||
| 394 | (let ((modes (file-modes file))) | ||
| 395 | (if (zerop (logand modes #o0200)) | ||
| 396 | ;; Ignore any errors here, and let subsequent attempts | ||
| 397 | ;; to write the file raise any real error. | ||
| 398 | (ignore-errors (set-file-modes file (logior modes #o0200)))))) | ||
| 399 | file) | ||
| 400 | |||
| 377 | (defun autoload-ensure-default-file (file) | 401 | (defun autoload-ensure-default-file (file) |
| 378 | "Make sure that the autoload file FILE exists, creating it if needed. | 402 | "Make sure that the autoload file FILE exists, creating it if needed. |
| 379 | If the file already exists and `autoload-ensure-writable' is non-nil, | 403 | If the file already exists and `autoload-ensure-writable' is non-nil, |
| 380 | make it writable." | 404 | make it writable." |
| 381 | (if (file-exists-p file) | 405 | (write-region (autoload-rubric file) nil file)) |
| 382 | ;; Probably pointless, but replaces the old AUTOGEN_VCS in lisp/Makefile, | ||
| 383 | ;; which was designed to handle CVSREAD=1 and equivalent. | ||
| 384 | (and autoload-ensure-writable | ||
| 385 | (let ((modes (file-modes file))) | ||
| 386 | (if (zerop (logand modes #o0200)) | ||
| 387 | ;; Ignore any errors here, and let subsequent attempts | ||
| 388 | ;; to write the file raise any real error. | ||
| 389 | (ignore-errors (set-file-modes file (logior modes #o0200)))))) | ||
| 390 | (write-region (autoload-rubric file) nil file)) | ||
| 391 | file) | ||
| 392 | 406 | ||
| 393 | (defun autoload-insert-section-header (outbuf autoloads load-name file time) | 407 | (defun autoload-insert-section-header (outbuf autoloads load-name file time) |
| 394 | "Insert the section-header line, | 408 | "Insert the section-header line, |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index ca475828642..94ebbdd60c7 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -1009,7 +1009,7 @@ on parts -- for instance, adding Vcard info to a database." | |||
| 1009 | 1009 | ||
| 1010 | (defcustom gnus-article-date-headers '(combined-lapsed) | 1010 | (defcustom gnus-article-date-headers '(combined-lapsed) |
| 1011 | "A list of Date header formats to display. | 1011 | "A list of Date header formats to display. |
| 1012 | Valid formats are `ut' (universal time), `local' (local time | 1012 | Valid formats are `ut' (Universal Time), `local' (local time |
| 1013 | zone), `english' (readable English), `lapsed' (elapsed time), | 1013 | zone), `english' (readable English), `lapsed' (elapsed time), |
| 1014 | `combined-lapsed' (both the original date and the elapsed time), | 1014 | `combined-lapsed' (both the original date and the elapsed time), |
| 1015 | `original' (the original date header), `iso8601' (ISO8601 | 1015 | `original' (the original date header), `iso8601' (ISO8601 |
diff --git a/lisp/org/org.el b/lisp/org/org.el index d2b48a64e45..231daa9a6a7 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el | |||
| @@ -22674,7 +22674,7 @@ time-range, if possible. | |||
| 22674 | 22674 | ||
| 22675 | The optional ZONE is omitted or nil for Emacs local time, t for | 22675 | The optional ZONE is omitted or nil for Emacs local time, t for |
| 22676 | Universal Time, `wall' for system wall clock time, or a string as in | 22676 | Universal Time, `wall' for system wall clock time, or a string as in |
| 22677 | `set-time-zone-rule' for a time zone rule." | 22677 | the TZ environment variable." |
| 22678 | (format-time-string | 22678 | (format-time-string |
| 22679 | format | 22679 | format |
| 22680 | (apply 'encode-time | 22680 | (apply 'encode-time |
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 9c8a88c80fc..82059c91363 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el | |||
| @@ -162,7 +162,7 @@ end it with `/'. DIR must be one of `project-roots' or | |||
| 162 | DIRS is a list of absolute directories; it should be some | 162 | DIRS is a list of absolute directories; it should be some |
| 163 | subset of the project roots and external roots. | 163 | subset of the project roots and external roots. |
| 164 | 164 | ||
| 165 | The default implementation uses `find-program'. PROJECT is used | 165 | The default implementation uses `grep-find-program'. PROJECT is used |
| 166 | to find the list of ignores for each directory." | 166 | to find the list of ignores for each directory." |
| 167 | ;; FIXME: Uniquely abbreviate the roots? | 167 | ;; FIXME: Uniquely abbreviate the roots? |
| 168 | (require 'xref) | 168 | (require 'xref) |
| @@ -171,7 +171,7 @@ to find the list of ignores for each directory." | |||
| 171 | (lambda (dir) | 171 | (lambda (dir) |
| 172 | (let ((command | 172 | (let ((command |
| 173 | (format "%s %s %s -type f -print0" | 173 | (format "%s %s %s -type f -print0" |
| 174 | find-program | 174 | grep-find-program |
| 175 | dir | 175 | dir |
| 176 | (xref--find-ignores-arguments | 176 | (xref--find-ignores-arguments |
| 177 | (project-ignores project dir) | 177 | (project-ignores project dir) |
diff --git a/lisp/vc/add-log.el b/lisp/vc/add-log.el index d6c1fc203db..58a4e77a602 100644 --- a/lisp/vc/add-log.el +++ b/lisp/vc/add-log.el | |||
| @@ -583,10 +583,9 @@ Compatibility function for \\[next-error] invocations." | |||
| 583 | ;; called add-log-time-zone-rule since it's only used from add-log-* code. | 583 | ;; called add-log-time-zone-rule since it's only used from add-log-* code. |
| 584 | (defvaralias 'change-log-time-zone-rule 'add-log-time-zone-rule) | 584 | (defvaralias 'change-log-time-zone-rule 'add-log-time-zone-rule) |
| 585 | (defvar add-log-time-zone-rule nil | 585 | (defvar add-log-time-zone-rule nil |
| 586 | "Time zone used for calculating change log time stamps. | 586 | "Time zone rule used for calculating change log time stamps. |
| 587 | It takes the same format as the TZ argument of `set-time-zone-rule'. | 587 | If nil, use local time. If t, use Universal Time. |
| 588 | If nil, use local time. | 588 | If a string, interpret as the ZONE argument of `format-time-string'.") |
| 589 | If t, use universal time.") | ||
| 590 | (put 'add-log-time-zone-rule 'safe-local-variable | 589 | (put 'add-log-time-zone-rule 'safe-local-variable |
| 591 | (lambda (x) (or (booleanp x) (stringp x)))) | 590 | (lambda (x) (or (booleanp x) (stringp x)))) |
| 592 | 591 | ||
diff --git a/src/editfns.c b/src/editfns.c index a2d5673a257..70285e6d5db 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -1969,10 +1969,10 @@ DEFUN ("format-time-string", Fformat_time_string, Sformat_time_string, 1, 3, 0, | |||
| 1969 | doc: /* Use FORMAT-STRING to format the time TIME, or now if omitted. | 1969 | doc: /* Use FORMAT-STRING to format the time TIME, or now if omitted. |
| 1970 | TIME is specified as (HIGH LOW USEC PSEC), as returned by | 1970 | TIME is specified as (HIGH LOW USEC PSEC), as returned by |
| 1971 | `current-time' or `file-attributes'. The obsolete form (HIGH . LOW) | 1971 | `current-time' or `file-attributes'. The obsolete form (HIGH . LOW) |
| 1972 | is also still accepted. | 1972 | is also still accepted. The optional ZONE is omitted or nil for Emacs |
| 1973 | The optional ZONE is omitted or nil for Emacs local time, t for | 1973 | local time, t for Universal Time, `wall' for system wall clock time, |
| 1974 | Universal Time, `wall' for system wall clock time, or a string as in | 1974 | or a string as in the TZ environment variable. |
| 1975 | `set-time-zone-rule' for a time zone rule. | 1975 | |
| 1976 | The value is a copy of FORMAT-STRING, but with certain constructs replaced | 1976 | The value is a copy of FORMAT-STRING, but with certain constructs replaced |
| 1977 | by text that describes the specified date and time in TIME: | 1977 | by text that describes the specified date and time in TIME: |
| 1978 | 1978 | ||
| @@ -2087,7 +2087,7 @@ as from `current-time' and `file-attributes', or nil to use the | |||
| 2087 | current time. The obsolete form (HIGH . LOW) is also still accepted. | 2087 | current time. The obsolete form (HIGH . LOW) is also still accepted. |
| 2088 | The optional ZONE is omitted or nil for Emacs local time, t for | 2088 | The optional ZONE is omitted or nil for Emacs local time, t for |
| 2089 | Universal Time, `wall' for system wall clock time, or a string as in | 2089 | Universal Time, `wall' for system wall clock time, or a string as in |
| 2090 | `set-time-zone-rule' for a time zone rule. | 2090 | the TZ environment variable. |
| 2091 | 2091 | ||
| 2092 | The list has the following nine members: SEC is an integer between 0 | 2092 | The list has the following nine members: SEC is an integer between 0 |
| 2093 | and 60; SEC is 60 for a leap second, which only some operating systems | 2093 | and 60; SEC is 60 for a leap second, which only some operating systems |
| @@ -2152,9 +2152,9 @@ DEFUN ("encode-time", Fencode_time, Sencode_time, 6, MANY, 0, | |||
| 2152 | This is the reverse operation of `decode-time', which see. | 2152 | This is the reverse operation of `decode-time', which see. |
| 2153 | The optional ZONE is omitted or nil for Emacs local time, t for | 2153 | The optional ZONE is omitted or nil for Emacs local time, t for |
| 2154 | Universal Time, `wall' for system wall clock time, or a string as in | 2154 | Universal Time, `wall' for system wall clock time, or a string as in |
| 2155 | `set-time-zone-rule' for a time zone rule. It can also be a list (as | 2155 | the TZ environment variable. It can also be a list (as from |
| 2156 | from `current-time-zone') or an integer (as from `decode-time') | 2156 | `current-time-zone') or an integer (as from `decode-time') applied |
| 2157 | applied without consideration for daylight saving time. | 2157 | without consideration for daylight saving time. |
| 2158 | 2158 | ||
| 2159 | You can pass more than 7 arguments; then the first six arguments | 2159 | You can pass more than 7 arguments; then the first six arguments |
| 2160 | are used as SECOND through YEAR, and the *last* argument is used as ZONE. | 2160 | are used as SECOND through YEAR, and the *last* argument is used as ZONE. |
| @@ -2214,7 +2214,7 @@ but this is considered obsolete. | |||
| 2214 | 2214 | ||
| 2215 | The optional ZONE is omitted or nil for Emacs local time, t for | 2215 | The optional ZONE is omitted or nil for Emacs local time, t for |
| 2216 | Universal Time, `wall' for system wall clock time, or a string as in | 2216 | Universal Time, `wall' for system wall clock time, or a string as in |
| 2217 | `set-time-zone-rule' for a time zone rule. */) | 2217 | the TZ environment variable. */) |
| 2218 | (Lisp_Object specified_time, Lisp_Object zone) | 2218 | (Lisp_Object specified_time, Lisp_Object zone) |
| 2219 | { | 2219 | { |
| 2220 | time_t value = lisp_seconds_argument (specified_time); | 2220 | time_t value = lisp_seconds_argument (specified_time); |
| @@ -2291,7 +2291,7 @@ instead of using the current time. The argument should have the form | |||
| 2291 | `current-time' and from `file-attributes'. SPECIFIED-TIME can also | 2291 | `current-time' and from `file-attributes'. SPECIFIED-TIME can also |
| 2292 | have the form (HIGH . LOW), but this is considered obsolete. | 2292 | have the form (HIGH . LOW), but this is considered obsolete. |
| 2293 | Optional second arg ZONE is omitted or nil for the local time zone, or | 2293 | Optional second arg ZONE is omitted or nil for the local time zone, or |
| 2294 | a string as in `set-time-zone-rule'. | 2294 | a string as in the TZ environment variable. |
| 2295 | 2295 | ||
| 2296 | Some operating systems cannot provide all this information to Emacs; | 2296 | Some operating systems cannot provide all this information to Emacs; |
| 2297 | in this case, `current-time-zone' returns a list containing nil for | 2297 | in this case, `current-time-zone' returns a list containing nil for |
| @@ -2332,8 +2332,11 @@ the data it can't find. */) | |||
| 2332 | 2332 | ||
| 2333 | DEFUN ("set-time-zone-rule", Fset_time_zone_rule, Sset_time_zone_rule, 1, 1, 0, | 2333 | DEFUN ("set-time-zone-rule", Fset_time_zone_rule, Sset_time_zone_rule, 1, 1, 0, |
| 2334 | doc: /* Set the Emacs local time zone using TZ, a string specifying a time zone rule. | 2334 | doc: /* Set the Emacs local time zone using TZ, a string specifying a time zone rule. |
| 2335 | If TZ is nil or `wall', use system wall clock time. If TZ is t, use | 2335 | |
| 2336 | Universal Time. If TZ is an integer, treat it as in `encode-time'. | 2336 | If TZ is nil or `wall', use system wall clock time; this differs from |
| 2337 | the usual Emacs convention where nil means current local time. If TZ | ||
| 2338 | is t, use Universal Time. If TZ is an integer, treat it as in | ||
| 2339 | `encode-time'. | ||
| 2337 | 2340 | ||
| 2338 | Instead of calling this function, you typically want something else. | 2341 | Instead of calling this function, you typically want something else. |
| 2339 | To temporarily use a different time zone rule for just one invocation | 2342 | To temporarily use a different time zone rule for just one invocation |
diff --git a/src/macfont.m b/src/macfont.m index c9082a58415..04456283fa1 100644 --- a/src/macfont.m +++ b/src/macfont.m | |||
| @@ -2373,9 +2373,9 @@ macfont_list (struct frame *f, Lisp_Object spec) | |||
| 2373 | != (spacing >= FONT_SPACING_MONO))) | 2373 | != (spacing >= FONT_SPACING_MONO))) |
| 2374 | continue; | 2374 | continue; |
| 2375 | 2375 | ||
| 2376 | /* Don't use a color bitmap font unless its family is | 2376 | /* Don't use a color bitmap font until it is supported on |
| 2377 | explicitly specified. */ | 2377 | free platforms. */ |
| 2378 | if ((sym_traits & kCTFontTraitColorGlyphs) && NILP (family)) | 2378 | if (sym_traits & kCTFontTraitColorGlyphs) |
| 2379 | continue; | 2379 | continue; |
| 2380 | 2380 | ||
| 2381 | if (j > 0 | 2381 | if (j > 0 |