diff options
| author | Dmitry Antipov | 2015-01-13 06:39:45 +0300 |
|---|---|---|
| committer | Dmitry Antipov | 2015-01-13 06:39:45 +0300 |
| commit | ad9c4a4091df19064a7f7f53bfdb687931e141f6 (patch) | |
| tree | 203ded274a9f90bff594e91c1c261ff843807e8e /src | |
| parent | 329b902141c68190a2d8a5d6fd9312b6a816471c (diff) | |
| download | emacs-ad9c4a4091df19064a7f7f53bfdb687931e141f6.tar.gz emacs-ad9c4a4091df19064a7f7f53bfdb687931e141f6.zip | |
Support const and noreturn DEFUN attributes.
* lib-src/make-docfile.c (struct global): New field 'flags'.
(DEFUN_noreturn, DEFUN_const): New enum bitfields.
(add_global): Now return pointer to global.
(write_globals): Add _Noreturn and ATTRIBUTE_CONST attributes
if requested by global's flags.
(stream_match): New function.
(scan_c_stream): Recognize 'attributes:' of DEFUN.
* src/callint.c (Finteractive):
* src/character.c (Fcharacterp, Fmax_char):
* src.data.c (Feq, Fnull, Fconsp, Fatom, Flistp, Fnlistp, Fsymbolp)
(Fstringp, Fchar_or_string_p, Fintegerp, Fnatnump, Fnumberp)
(Ffloatp, Fbyteorder):
* src/decompress.c (Fzlib_available_p):
* src/fns.c (Fidentity):
* src/frame.c (Fframe_windows_min_size):
* src/gnutls.c (Fgnutls_error_p, Fgnutls_available_p):
* src/window.c (Fwindow__sanitize_window_sizes):
* src/xdisp.c (Ftool_bar_height):
* src/xfaces.c (Fface_attribute_relative_p): Add const attribute.
* src/emacs.c (Fkill_emacs):
* src/eval.c (Fthrow):
* src/keyboard.c (Ftop_level, Fexit_recursive_edit)
(Fabor_recursive_edit): Add noreturn attribute.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 20 | ||||
| -rw-r--r-- | src/callint.c | 3 | ||||
| -rw-r--r-- | src/character.c | 6 | ||||
| -rw-r--r-- | src/data.c | 42 | ||||
| -rw-r--r-- | src/decompress.c | 3 | ||||
| -rw-r--r-- | src/emacs.c | 3 | ||||
| -rw-r--r-- | src/eval.c | 3 | ||||
| -rw-r--r-- | src/fns.c | 3 | ||||
| -rw-r--r-- | src/frame.c | 3 | ||||
| -rw-r--r-- | src/gnutls.c | 6 | ||||
| -rw-r--r-- | src/keyboard.c | 9 | ||||
| -rw-r--r-- | src/window.c | 3 | ||||
| -rw-r--r-- | src/xdisp.c | 3 | ||||
| -rw-r--r-- | src/xfaces.c | 3 |
14 files changed, 80 insertions, 30 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 252dfd33620..792407e15e6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,23 @@ | |||
| 1 | 2015-01-13 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 2 | |||
| 3 | Add DEFUN attributes. | ||
| 4 | * callint.c (Finteractive): | ||
| 5 | * character.c (Fcharacterp, Fmax_char): | ||
| 6 | * data.c (Feq, Fnull, Fconsp, Fatom, Flistp, Fnlistp, Fsymbolp) | ||
| 7 | (Fstringp, Fchar_or_string_p, Fintegerp, Fnatnump, Fnumberp) | ||
| 8 | (Ffloatp, Fbyteorder): | ||
| 9 | * decompress.c (Fzlib_available_p): | ||
| 10 | * fns.c (Fidentity): | ||
| 11 | * frame.c (Fframe_windows_min_size): | ||
| 12 | * gnutls.c (Fgnutls_error_p, Fgnutls_available_p): | ||
| 13 | * window.c (Fwindow__sanitize_window_sizes): | ||
| 14 | * xdisp.c (Ftool_bar_height): | ||
| 15 | * xfaces.c (Fface_attribute_relative_p): Add const attribute. | ||
| 16 | * emacs.c (Fkill_emacs): | ||
| 17 | * eval.c (Fthrow): | ||
| 18 | * keyboard.c (Ftop_level, Fexit_recursive_edit) | ||
| 19 | (Fabor_recursive_edit): Add noreturn attribute. | ||
| 20 | |||
| 1 | 2015-01-12 Paul Eggert <eggert@cs.ucla.edu> | 21 | 2015-01-12 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 22 | ||
| 3 | Port to 32-bit MingGW --with-wide-int | 23 | Port to 32-bit MingGW --with-wide-int |
diff --git a/src/callint.c b/src/callint.c index 25955039ac7..dd238b976aa 100644 --- a/src/callint.c +++ b/src/callint.c | |||
| @@ -101,7 +101,8 @@ If the string begins with `^' and `shift-select-mode' is non-nil, | |||
| 101 | Emacs first calls the function `handle-shift-selection'. | 101 | Emacs first calls the function `handle-shift-selection'. |
| 102 | You may use `@', `*', and `^' together. They are processed in the | 102 | You may use `@', `*', and `^' together. They are processed in the |
| 103 | order that they appear, before reading any arguments. | 103 | order that they appear, before reading any arguments. |
| 104 | usage: (interactive &optional ARGS) */) | 104 | usage: (interactive &optional ARGS) */ |
| 105 | attributes: const) | ||
| 105 | (Lisp_Object args) | 106 | (Lisp_Object args) |
| 106 | { | 107 | { |
| 107 | return Qnil; | 108 | return Qnil; |
diff --git a/src/character.c b/src/character.c index 4a5c7ec3156..39d32c9d41a 100644 --- a/src/character.c +++ b/src/character.c | |||
| @@ -232,14 +232,16 @@ DEFUN ("characterp", Fcharacterp, Scharacterp, 1, 2, 0, | |||
| 232 | In Emacs Lisp, characters are represented by character codes, which | 232 | In Emacs Lisp, characters are represented by character codes, which |
| 233 | are non-negative integers. The function `max-char' returns the | 233 | are non-negative integers. The function `max-char' returns the |
| 234 | maximum character code. | 234 | maximum character code. |
| 235 | usage: (characterp OBJECT) */) | 235 | usage: (characterp OBJECT) */ |
| 236 | attributes: const) | ||
| 236 | (Lisp_Object object, Lisp_Object ignore) | 237 | (Lisp_Object object, Lisp_Object ignore) |
| 237 | { | 238 | { |
| 238 | return (CHARACTERP (object) ? Qt : Qnil); | 239 | return (CHARACTERP (object) ? Qt : Qnil); |
| 239 | } | 240 | } |
| 240 | 241 | ||
| 241 | DEFUN ("max-char", Fmax_char, Smax_char, 0, 0, 0, | 242 | DEFUN ("max-char", Fmax_char, Smax_char, 0, 0, 0, |
| 242 | doc: /* Return the character of the maximum code. */) | 243 | doc: /* Return the character of the maximum code. */ |
| 244 | attributes: const) | ||
| 243 | (void) | 245 | (void) |
| 244 | { | 246 | { |
| 245 | return make_number (MAX_CHAR); | 247 | return make_number (MAX_CHAR); |
diff --git a/src/data.c b/src/data.c index 820c3ce8407..0389eb49b06 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -176,7 +176,8 @@ args_out_of_range_3 (Lisp_Object a1, Lisp_Object a2, Lisp_Object a3) | |||
| 176 | /* Data type predicates. */ | 176 | /* Data type predicates. */ |
| 177 | 177 | ||
| 178 | DEFUN ("eq", Feq, Seq, 2, 2, 0, | 178 | DEFUN ("eq", Feq, Seq, 2, 2, 0, |
| 179 | doc: /* Return t if the two args are the same Lisp object. */) | 179 | doc: /* Return t if the two args are the same Lisp object. */ |
| 180 | attributes: const) | ||
| 180 | (Lisp_Object obj1, Lisp_Object obj2) | 181 | (Lisp_Object obj1, Lisp_Object obj2) |
| 181 | { | 182 | { |
| 182 | if (EQ (obj1, obj2)) | 183 | if (EQ (obj1, obj2)) |
| @@ -185,7 +186,8 @@ DEFUN ("eq", Feq, Seq, 2, 2, 0, | |||
| 185 | } | 186 | } |
| 186 | 187 | ||
| 187 | DEFUN ("null", Fnull, Snull, 1, 1, 0, | 188 | DEFUN ("null", Fnull, Snull, 1, 1, 0, |
| 188 | doc: /* Return t if OBJECT is nil. */) | 189 | doc: /* Return t if OBJECT is nil. */ |
| 190 | attributes: const) | ||
| 189 | (Lisp_Object object) | 191 | (Lisp_Object object) |
| 190 | { | 192 | { |
| 191 | if (NILP (object)) | 193 | if (NILP (object)) |
| @@ -263,7 +265,8 @@ for example, (type-of 1) returns `integer'. */) | |||
| 263 | } | 265 | } |
| 264 | 266 | ||
| 265 | DEFUN ("consp", Fconsp, Sconsp, 1, 1, 0, | 267 | DEFUN ("consp", Fconsp, Sconsp, 1, 1, 0, |
| 266 | doc: /* Return t if OBJECT is a cons cell. */) | 268 | doc: /* Return t if OBJECT is a cons cell. */ |
| 269 | attributes: const) | ||
| 267 | (Lisp_Object object) | 270 | (Lisp_Object object) |
| 268 | { | 271 | { |
| 269 | if (CONSP (object)) | 272 | if (CONSP (object)) |
| @@ -272,7 +275,8 @@ DEFUN ("consp", Fconsp, Sconsp, 1, 1, 0, | |||
| 272 | } | 275 | } |
| 273 | 276 | ||
| 274 | DEFUN ("atom", Fatom, Satom, 1, 1, 0, | 277 | DEFUN ("atom", Fatom, Satom, 1, 1, 0, |
| 275 | doc: /* Return t if OBJECT is not a cons cell. This includes nil. */) | 278 | doc: /* Return t if OBJECT is not a cons cell. This includes nil. */ |
| 279 | attributes: const) | ||
| 276 | (Lisp_Object object) | 280 | (Lisp_Object object) |
| 277 | { | 281 | { |
| 278 | if (CONSP (object)) | 282 | if (CONSP (object)) |
| @@ -282,7 +286,8 @@ DEFUN ("atom", Fatom, Satom, 1, 1, 0, | |||
| 282 | 286 | ||
| 283 | DEFUN ("listp", Flistp, Slistp, 1, 1, 0, | 287 | DEFUN ("listp", Flistp, Slistp, 1, 1, 0, |
| 284 | doc: /* Return t if OBJECT is a list, that is, a cons cell or nil. | 288 | doc: /* Return t if OBJECT is a list, that is, a cons cell or nil. |
| 285 | Otherwise, return nil. */) | 289 | Otherwise, return nil. */ |
| 290 | attributes: const) | ||
| 286 | (Lisp_Object object) | 291 | (Lisp_Object object) |
| 287 | { | 292 | { |
| 288 | if (CONSP (object) || NILP (object)) | 293 | if (CONSP (object) || NILP (object)) |
| @@ -291,7 +296,8 @@ Otherwise, return nil. */) | |||
| 291 | } | 296 | } |
| 292 | 297 | ||
| 293 | DEFUN ("nlistp", Fnlistp, Snlistp, 1, 1, 0, | 298 | DEFUN ("nlistp", Fnlistp, Snlistp, 1, 1, 0, |
| 294 | doc: /* Return t if OBJECT is not a list. Lists include nil. */) | 299 | doc: /* Return t if OBJECT is not a list. Lists include nil. */ |
| 300 | attributes: const) | ||
| 295 | (Lisp_Object object) | 301 | (Lisp_Object object) |
| 296 | { | 302 | { |
| 297 | if (CONSP (object) || NILP (object)) | 303 | if (CONSP (object) || NILP (object)) |
| @@ -300,7 +306,8 @@ DEFUN ("nlistp", Fnlistp, Snlistp, 1, 1, 0, | |||
| 300 | } | 306 | } |
| 301 | 307 | ||
| 302 | DEFUN ("symbolp", Fsymbolp, Ssymbolp, 1, 1, 0, | 308 | DEFUN ("symbolp", Fsymbolp, Ssymbolp, 1, 1, 0, |
| 303 | doc: /* Return t if OBJECT is a symbol. */) | 309 | doc: /* Return t if OBJECT is a symbol. */ |
| 310 | attributes: const) | ||
| 304 | (Lisp_Object object) | 311 | (Lisp_Object object) |
| 305 | { | 312 | { |
| 306 | if (SYMBOLP (object)) | 313 | if (SYMBOLP (object)) |
| @@ -333,7 +340,8 @@ DEFUN ("vectorp", Fvectorp, Svectorp, 1, 1, 0, | |||
| 333 | } | 340 | } |
| 334 | 341 | ||
| 335 | DEFUN ("stringp", Fstringp, Sstringp, 1, 1, 0, | 342 | DEFUN ("stringp", Fstringp, Sstringp, 1, 1, 0, |
| 336 | doc: /* Return t if OBJECT is a string. */) | 343 | doc: /* Return t if OBJECT is a string. */ |
| 344 | attributes: const) | ||
| 337 | (Lisp_Object object) | 345 | (Lisp_Object object) |
| 338 | { | 346 | { |
| 339 | if (STRINGP (object)) | 347 | if (STRINGP (object)) |
| @@ -436,7 +444,8 @@ DEFUN ("byte-code-function-p", Fbyte_code_function_p, Sbyte_code_function_p, | |||
| 436 | } | 444 | } |
| 437 | 445 | ||
| 438 | DEFUN ("char-or-string-p", Fchar_or_string_p, Schar_or_string_p, 1, 1, 0, | 446 | DEFUN ("char-or-string-p", Fchar_or_string_p, Schar_or_string_p, 1, 1, 0, |
| 439 | doc: /* Return t if OBJECT is a character or a string. */) | 447 | doc: /* Return t if OBJECT is a character or a string. */ |
| 448 | attributes: const) | ||
| 440 | (register Lisp_Object object) | 449 | (register Lisp_Object object) |
| 441 | { | 450 | { |
| 442 | if (CHARACTERP (object) || STRINGP (object)) | 451 | if (CHARACTERP (object) || STRINGP (object)) |
| @@ -445,7 +454,8 @@ DEFUN ("char-or-string-p", Fchar_or_string_p, Schar_or_string_p, 1, 1, 0, | |||
| 445 | } | 454 | } |
| 446 | 455 | ||
| 447 | DEFUN ("integerp", Fintegerp, Sintegerp, 1, 1, 0, | 456 | DEFUN ("integerp", Fintegerp, Sintegerp, 1, 1, 0, |
| 448 | doc: /* Return t if OBJECT is an integer. */) | 457 | doc: /* Return t if OBJECT is an integer. */ |
| 458 | attributes: const) | ||
| 449 | (Lisp_Object object) | 459 | (Lisp_Object object) |
| 450 | { | 460 | { |
| 451 | if (INTEGERP (object)) | 461 | if (INTEGERP (object)) |
| @@ -463,7 +473,8 @@ DEFUN ("integer-or-marker-p", Finteger_or_marker_p, Sinteger_or_marker_p, 1, 1, | |||
| 463 | } | 473 | } |
| 464 | 474 | ||
| 465 | DEFUN ("natnump", Fnatnump, Snatnump, 1, 1, 0, | 475 | DEFUN ("natnump", Fnatnump, Snatnump, 1, 1, 0, |
| 466 | doc: /* Return t if OBJECT is a nonnegative integer. */) | 476 | doc: /* Return t if OBJECT is a nonnegative integer. */ |
| 477 | attributes: const) | ||
| 467 | (Lisp_Object object) | 478 | (Lisp_Object object) |
| 468 | { | 479 | { |
| 469 | if (NATNUMP (object)) | 480 | if (NATNUMP (object)) |
| @@ -472,7 +483,8 @@ DEFUN ("natnump", Fnatnump, Snatnump, 1, 1, 0, | |||
| 472 | } | 483 | } |
| 473 | 484 | ||
| 474 | DEFUN ("numberp", Fnumberp, Snumberp, 1, 1, 0, | 485 | DEFUN ("numberp", Fnumberp, Snumberp, 1, 1, 0, |
| 475 | doc: /* Return t if OBJECT is a number (floating point or integer). */) | 486 | doc: /* Return t if OBJECT is a number (floating point or integer). */ |
| 487 | attributes: const) | ||
| 476 | (Lisp_Object object) | 488 | (Lisp_Object object) |
| 477 | { | 489 | { |
| 478 | if (NUMBERP (object)) | 490 | if (NUMBERP (object)) |
| @@ -492,7 +504,8 @@ DEFUN ("number-or-marker-p", Fnumber_or_marker_p, | |||
| 492 | } | 504 | } |
| 493 | 505 | ||
| 494 | DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0, | 506 | DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0, |
| 495 | doc: /* Return t if OBJECT is a floating point number. */) | 507 | doc: /* Return t if OBJECT is a floating point number. */ |
| 508 | attributes: const) | ||
| 496 | (Lisp_Object object) | 509 | (Lisp_Object object) |
| 497 | { | 510 | { |
| 498 | if (FLOATP (object)) | 511 | if (FLOATP (object)) |
| @@ -2954,7 +2967,8 @@ DEFUN ("lognot", Flognot, Slognot, 1, 1, 0, | |||
| 2954 | DEFUN ("byteorder", Fbyteorder, Sbyteorder, 0, 0, 0, | 2967 | DEFUN ("byteorder", Fbyteorder, Sbyteorder, 0, 0, 0, |
| 2955 | doc: /* Return the byteorder for the machine. | 2968 | doc: /* Return the byteorder for the machine. |
| 2956 | Returns 66 (ASCII uppercase B) for big endian machines or 108 (ASCII | 2969 | Returns 66 (ASCII uppercase B) for big endian machines or 108 (ASCII |
| 2957 | lowercase l) for small endian machines. */) | 2970 | lowercase l) for small endian machines. */ |
| 2971 | attributes: const) | ||
| 2958 | (void) | 2972 | (void) |
| 2959 | { | 2973 | { |
| 2960 | unsigned i = 0x04030201; | 2974 | unsigned i = 0x04030201; |
diff --git a/src/decompress.c b/src/decompress.c index b14f0a2cd79..b78dacee207 100644 --- a/src/decompress.c +++ b/src/decompress.c | |||
| @@ -88,7 +88,8 @@ unwind_decompress (void *ddata) | |||
| 88 | } | 88 | } |
| 89 | 89 | ||
| 90 | DEFUN ("zlib-available-p", Fzlib_available_p, Szlib_available_p, 0, 0, 0, | 90 | DEFUN ("zlib-available-p", Fzlib_available_p, Szlib_available_p, 0, 0, 0, |
| 91 | doc: /* Return t if zlib decompression is available in this instance of Emacs. */) | 91 | doc: /* Return t if zlib decompression is available in this instance of Emacs. */ |
| 92 | attributes: const) | ||
| 92 | (void) | 93 | (void) |
| 93 | { | 94 | { |
| 94 | #ifdef WINDOWSNT | 95 | #ifdef WINDOWSNT |
diff --git a/src/emacs.c b/src/emacs.c index d09c3c36c8a..ca1a8b26d81 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -1892,7 +1892,8 @@ or SIGHUP, and upon SIGINT in batch mode. | |||
| 1892 | 1892 | ||
| 1893 | The value of `kill-emacs-hook', if not void, | 1893 | The value of `kill-emacs-hook', if not void, |
| 1894 | is a list of functions (of no args), | 1894 | is a list of functions (of no args), |
| 1895 | all of which are called before Emacs is actually killed. */) | 1895 | all of which are called before Emacs is actually killed. */ |
| 1896 | attributes: noreturn) | ||
| 1896 | (Lisp_Object arg) | 1897 | (Lisp_Object arg) |
| 1897 | { | 1898 | { |
| 1898 | struct gcpro gcpro1; | 1899 | struct gcpro gcpro1; |
diff --git a/src/eval.c b/src/eval.c index 7e4b016b236..5cadb1bc2de 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1162,7 +1162,8 @@ unwind_to_catch (struct handler *catch, Lisp_Object value) | |||
| 1162 | 1162 | ||
| 1163 | DEFUN ("throw", Fthrow, Sthrow, 2, 2, 0, | 1163 | DEFUN ("throw", Fthrow, Sthrow, 2, 2, 0, |
| 1164 | doc: /* Throw to the catch for TAG and return VALUE from it. | 1164 | doc: /* Throw to the catch for TAG and return VALUE from it. |
| 1165 | Both TAG and VALUE are evalled. */) | 1165 | Both TAG and VALUE are evalled. */ |
| 1166 | attributes: noreturn) | ||
| 1166 | (register Lisp_Object tag, Lisp_Object value) | 1167 | (register Lisp_Object tag, Lisp_Object value) |
| 1167 | { | 1168 | { |
| 1168 | struct handler *c; | 1169 | struct handler *c; |
| @@ -46,7 +46,8 @@ static void sort_vector_copy (Lisp_Object, ptrdiff_t, | |||
| 46 | static bool internal_equal (Lisp_Object, Lisp_Object, int, bool, Lisp_Object); | 46 | static bool internal_equal (Lisp_Object, Lisp_Object, int, bool, Lisp_Object); |
| 47 | 47 | ||
| 48 | DEFUN ("identity", Fidentity, Sidentity, 1, 1, 0, | 48 | DEFUN ("identity", Fidentity, Sidentity, 1, 1, 0, |
| 49 | doc: /* Return the argument unchanged. */) | 49 | doc: /* Return the argument unchanged. */ |
| 50 | attributes: const) | ||
| 50 | (Lisp_Object arg) | 51 | (Lisp_Object arg) |
| 51 | { | 52 | { |
| 52 | return arg; | 53 | return arg; |
diff --git a/src/frame.c b/src/frame.c index 0eb51bd786c..f138db9cecc 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -270,7 +270,8 @@ predicates which report frame's specific UI-related capabilities. */) | |||
| 270 | /* Placeholder used by temacs -nw before window.el is loaded. */ | 270 | /* Placeholder used by temacs -nw before window.el is loaded. */ |
| 271 | DEFUN ("frame-windows-min-size", Fframe_windows_min_size, | 271 | DEFUN ("frame-windows-min-size", Fframe_windows_min_size, |
| 272 | Sframe_windows_min_size, 4, 4, 0, | 272 | Sframe_windows_min_size, 4, 4, 0, |
| 273 | doc: /* */) | 273 | doc: /* */ |
| 274 | attributes: const) | ||
| 274 | (Lisp_Object frame, Lisp_Object horizontal, | 275 | (Lisp_Object frame, Lisp_Object horizontal, |
| 275 | Lisp_Object ignore, Lisp_Object pixelwise) | 276 | Lisp_Object ignore, Lisp_Object pixelwise) |
| 276 | { | 277 | { |
diff --git a/src/gnutls.c b/src/gnutls.c index 75fe6149a55..5e6c6353b45 100644 --- a/src/gnutls.c +++ b/src/gnutls.c | |||
| @@ -695,7 +695,8 @@ See also `gnutls-boot'. */) | |||
| 695 | DEFUN ("gnutls-errorp", Fgnutls_errorp, Sgnutls_errorp, 1, 1, 0, | 695 | DEFUN ("gnutls-errorp", Fgnutls_errorp, Sgnutls_errorp, 1, 1, 0, |
| 696 | doc: /* Return t if ERROR indicates a GnuTLS problem. | 696 | doc: /* Return t if ERROR indicates a GnuTLS problem. |
| 697 | ERROR is an integer or a symbol with an integer `gnutls-code' property. | 697 | ERROR is an integer or a symbol with an integer `gnutls-code' property. |
| 698 | usage: (gnutls-errorp ERROR) */) | 698 | usage: (gnutls-errorp ERROR) */ |
| 699 | attributes: const) | ||
| 699 | (Lisp_Object err) | 700 | (Lisp_Object err) |
| 700 | { | 701 | { |
| 701 | if (EQ (err, Qt)) return Qnil; | 702 | if (EQ (err, Qt)) return Qnil; |
| @@ -1603,7 +1604,8 @@ This function may also return `gnutls-e-again', or | |||
| 1603 | #endif /* HAVE_GNUTLS */ | 1604 | #endif /* HAVE_GNUTLS */ |
| 1604 | 1605 | ||
| 1605 | DEFUN ("gnutls-available-p", Fgnutls_available_p, Sgnutls_available_p, 0, 0, 0, | 1606 | DEFUN ("gnutls-available-p", Fgnutls_available_p, Sgnutls_available_p, 0, 0, 0, |
| 1606 | doc: /* Return t if GnuTLS is available in this instance of Emacs. */) | 1607 | doc: /* Return t if GnuTLS is available in this instance of Emacs. */ |
| 1608 | attributes: const) | ||
| 1607 | (void) | 1609 | (void) |
| 1608 | { | 1610 | { |
| 1609 | #ifdef HAVE_GNUTLS | 1611 | #ifdef HAVE_GNUTLS |
diff --git a/src/keyboard.c b/src/keyboard.c index 9d6eb07a181..0fe2ffc53f3 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -1163,7 +1163,8 @@ top_level_1 (Lisp_Object ignore) | |||
| 1163 | 1163 | ||
| 1164 | DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, "", | 1164 | DEFUN ("top-level", Ftop_level, Stop_level, 0, 0, "", |
| 1165 | doc: /* Exit all recursive editing levels. | 1165 | doc: /* Exit all recursive editing levels. |
| 1166 | This also exits all active minibuffers. */) | 1166 | This also exits all active minibuffers. */ |
| 1167 | attributes: noreturn) | ||
| 1167 | (void) | 1168 | (void) |
| 1168 | { | 1169 | { |
| 1169 | #ifdef HAVE_WINDOW_SYSTEM | 1170 | #ifdef HAVE_WINDOW_SYSTEM |
| @@ -1186,7 +1187,8 @@ user_error (const char *msg) | |||
| 1186 | 1187 | ||
| 1187 | /* _Noreturn will be added to prototype by make-docfile. */ | 1188 | /* _Noreturn will be added to prototype by make-docfile. */ |
| 1188 | DEFUN ("exit-recursive-edit", Fexit_recursive_edit, Sexit_recursive_edit, 0, 0, "", | 1189 | DEFUN ("exit-recursive-edit", Fexit_recursive_edit, Sexit_recursive_edit, 0, 0, "", |
| 1189 | doc: /* Exit from the innermost recursive edit or minibuffer. */) | 1190 | doc: /* Exit from the innermost recursive edit or minibuffer. */ |
| 1191 | attributes: noreturn) | ||
| 1190 | (void) | 1192 | (void) |
| 1191 | { | 1193 | { |
| 1192 | if (command_loop_level > 0 || minibuf_level > 0) | 1194 | if (command_loop_level > 0 || minibuf_level > 0) |
| @@ -1197,7 +1199,8 @@ DEFUN ("exit-recursive-edit", Fexit_recursive_edit, Sexit_recursive_edit, 0, 0, | |||
| 1197 | 1199 | ||
| 1198 | /* _Noreturn will be added to prototype by make-docfile. */ | 1200 | /* _Noreturn will be added to prototype by make-docfile. */ |
| 1199 | DEFUN ("abort-recursive-edit", Fabort_recursive_edit, Sabort_recursive_edit, 0, 0, "", | 1201 | DEFUN ("abort-recursive-edit", Fabort_recursive_edit, Sabort_recursive_edit, 0, 0, "", |
| 1200 | doc: /* Abort the command that requested this recursive edit or minibuffer input. */) | 1202 | doc: /* Abort the command that requested this recursive edit or minibuffer input. */ |
| 1203 | attributes: noreturn) | ||
| 1201 | (void) | 1204 | (void) |
| 1202 | { | 1205 | { |
| 1203 | if (command_loop_level > 0 || minibuf_level > 0) | 1206 | if (command_loop_level > 0 || minibuf_level > 0) |
diff --git a/src/window.c b/src/window.c index 5ae95f27d64..e5ddef5fa40 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -3000,7 +3000,8 @@ resize_root_window (Lisp_Object window, Lisp_Object delta, Lisp_Object horizonta | |||
| 3000 | /* Placeholder used by temacs -nw before window.el is loaded. */ | 3000 | /* Placeholder used by temacs -nw before window.el is loaded. */ |
| 3001 | DEFUN ("window--sanitize-window-sizes", Fwindow__sanitize_window_sizes, | 3001 | DEFUN ("window--sanitize-window-sizes", Fwindow__sanitize_window_sizes, |
| 3002 | Swindow__sanitize_window_sizes, 2, 2, 0, | 3002 | Swindow__sanitize_window_sizes, 2, 2, 0, |
| 3003 | doc: /* */) | 3003 | doc: /* */ |
| 3004 | attributes: const) | ||
| 3004 | (Lisp_Object frame, Lisp_Object horizontal) | 3005 | (Lisp_Object frame, Lisp_Object horizontal) |
| 3005 | { | 3006 | { |
| 3006 | return Qnil; | 3007 | return Qnil; |
diff --git a/src/xdisp.c b/src/xdisp.c index f006f8e0b94..041a022a370 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -12276,7 +12276,8 @@ DEFUN ("tool-bar-height", Ftool_bar_height, Stool_bar_height, | |||
| 12276 | 0, 2, 0, | 12276 | 0, 2, 0, |
| 12277 | doc: /* Return the number of lines occupied by the tool bar of FRAME. | 12277 | doc: /* Return the number of lines occupied by the tool bar of FRAME. |
| 12278 | If FRAME is nil or omitted, use the selected frame. Optional argument | 12278 | If FRAME is nil or omitted, use the selected frame. Optional argument |
| 12279 | PIXELWISE non-nil means return the height of the tool bar in pixels. */) | 12279 | PIXELWISE non-nil means return the height of the tool bar in pixels. */ |
| 12280 | attributes: const) | ||
| 12280 | (Lisp_Object frame, Lisp_Object pixelwise) | 12281 | (Lisp_Object frame, Lisp_Object pixelwise) |
| 12281 | { | 12282 | { |
| 12282 | int height = 0; | 12283 | int height = 0; |
diff --git a/src/xfaces.c b/src/xfaces.c index 6ecd857d685..85af770c6a2 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -3546,7 +3546,8 @@ with the value VALUE is relative. | |||
| 3546 | A relative value is one that doesn't entirely override whatever is | 3546 | A relative value is one that doesn't entirely override whatever is |
| 3547 | inherited from another face. For most possible attributes, | 3547 | inherited from another face. For most possible attributes, |
| 3548 | the only relative value that users see is `unspecified'. | 3548 | the only relative value that users see is `unspecified'. |
| 3549 | However, for :height, floating point values are also relative. */) | 3549 | However, for :height, floating point values are also relative. */ |
| 3550 | attributes: const) | ||
| 3550 | (Lisp_Object attribute, Lisp_Object value) | 3551 | (Lisp_Object attribute, Lisp_Object value) |
| 3551 | { | 3552 | { |
| 3552 | if (EQ (value, Qunspecified) || (EQ (value, QCignore_defface))) | 3553 | if (EQ (value, Qunspecified) || (EQ (value, QCignore_defface))) |