Compare commits
137 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
2f6338330a | ||
|
24d65d087d | ||
|
29b8e9dec8 | ||
|
8f058b1c85 | ||
|
615534bee5 | ||
|
e79d2e526a | ||
|
d092d213ec | ||
|
0263a47ced | ||
|
65f0c06e4b | ||
|
36be3d61d5 | ||
|
c4a21caf59 | ||
|
e4c235604e | ||
|
2c49d5d892 | ||
|
cee12ef43a | ||
|
bf1d5e8e1b | ||
|
fe829acf27 | ||
|
a3d22a1ee0 | ||
|
e6597871cb | ||
|
f8859c95d0 | ||
|
8fbb0fc07e | ||
|
49615aad35 | ||
|
6cb8c47e98 | ||
|
b9da2a30d8 | ||
|
9e413dee60 | ||
|
181aafcdb7 | ||
|
14924f48f8 | ||
|
746bf11c12 | ||
|
87fd254a44 | ||
|
1cedb94027 | ||
|
fc196308db | ||
|
ac07724a18 | ||
|
c669fb8f4d | ||
|
3485b794fc | ||
|
662bd4a9f9 | ||
|
6f367bc62e | ||
|
2a95cfd148 | ||
|
0a3be2953e | ||
|
94c9e43efe | ||
|
9f11e11b96 | ||
|
f6258eb59a | ||
|
3db109a18a | ||
|
4e7b9f195e | ||
|
b0e50ecf8b | ||
|
8e555a7028 | ||
|
ae52ac8149 | ||
|
b30910b353 | ||
|
c54edbb096 | ||
|
4331f4bc1a | ||
|
0a11a46a01 | ||
|
2d38b7a376 | ||
|
43b6a67131 | ||
|
0588f11f70 | ||
|
f71d70bf31 | ||
|
037321c00b | ||
|
3ff82ca0e7 | ||
|
fcfcb1d79c | ||
|
9e6823b900 | ||
|
fe17289e8a | ||
|
41da3cc65c | ||
|
6d0b8cdb85 | ||
|
eb340f7901 | ||
|
433a36c248 | ||
|
de26e2cf83 | ||
|
a8cca11cb9 | ||
|
74e09af8a6 | ||
|
cda0f6323b | ||
|
2715f7ef90 | ||
|
39bc5c84e3 | ||
|
fb95c223b0 | ||
|
fea1ed0e76 | ||
|
ad2e040d6c | ||
|
5feaf4c3f4 | ||
|
3abc8dcd69 | ||
|
42fa24ab12 | ||
|
ce2d0a5250 | ||
|
1116d1bc15 | ||
|
54f4bcd0bd | ||
|
12a7e9af6d | ||
|
430d29bb0b | ||
|
6a092add34 | ||
|
a25652176b | ||
|
cebd69e081 | ||
|
cfa9dcce49 | ||
|
70a5b99c4b | ||
|
7443f94638 | ||
|
bb698e3fae | ||
|
2c98bded86 | ||
|
7f81767e62 | ||
|
47162ef150 | ||
|
eeaeaa9284 | ||
|
56ce41a00d | ||
|
6381ddb4f0 | ||
|
07d978b05b | ||
|
4ec8c3b4b6 | ||
|
27d3963a4b | ||
|
373defb75c | ||
|
90456874e2 | ||
|
e76854c18d | ||
|
36c99ab41e | ||
|
abc097541b | ||
|
357c7df734 | ||
|
7d282de4eb | ||
|
0dafdeebbc | ||
|
1b003d3a54 | ||
|
046bcbfc15 | ||
|
e150be51c0 | ||
|
87f4a8186d | ||
|
ec3c8de479 | ||
|
61c3d58e03 | ||
|
8ca4761fda | ||
|
989184d6d6 | ||
|
4b0f206291 | ||
|
d8d465e820 | ||
|
5e82f73ff7 | ||
|
da86ace68d | ||
|
832068b18c | ||
|
b165e689c6 | ||
|
f547812840 | ||
|
3f3934c563 | ||
|
7d937a2b4d | ||
|
f679b62f61 | ||
|
1ac9d3ffd2 | ||
|
2347e61590 | ||
|
a716bbeaac | ||
|
d0892b3e1e | ||
|
7cb7416252 | ||
|
92271d20b5 | ||
|
7b3c0608d8 | ||
|
f86fe1b16f | ||
|
fd77835c53 | ||
|
81d89b946e | ||
|
9ec93c528a | ||
|
503309baac | ||
|
512b41cdf5 | ||
|
2ec330eae4 | ||
|
c88b79f163 | ||
|
c6ebceb62c |
22
.gitignore
vendored
22
.gitignore
vendored
@ -9,3 +9,25 @@
|
||||
/emacs-24.1.tar.bz2
|
||||
/emacs-24.2.tar.xz
|
||||
/emacs-24.3.tar.xz
|
||||
/emacs-24.4.tar.xz
|
||||
/emacs-24.5.tar.xz
|
||||
/emacs-25.0.92.tar.xz
|
||||
/emacs-25.0.93.tar.xz
|
||||
/emacs-25.0.94.tar.xz
|
||||
/emacs-25.0.95.tar.xz
|
||||
/emacs-25.1-rc1.tar.xz
|
||||
/emacs-25.1-rc2.tar.xz
|
||||
/emacs-25.1.tar.xz
|
||||
/emacs-25.2-rc2.tar.xz
|
||||
/emacs-25.2.tar.xz
|
||||
/emacs-25.3.tar.xz
|
||||
/emacs-26.1.tar.xz
|
||||
/emacs-26.2.tar.xz
|
||||
/emacs-26.3.tar.xz
|
||||
/emacs-26.3.tar.xz.sig
|
||||
/emacs-27.1.tar.xz
|
||||
/emacs-27.1.tar.xz.sig
|
||||
/emacs-27.2.tar.xz
|
||||
/emacs-27.2.tar.xz.sig
|
||||
/emacs-28.1.tar.xz
|
||||
/emacs-28.1.tar.xz.sig
|
707
cdefs.h
Normal file
707
cdefs.h
Normal file
@ -0,0 +1,707 @@
|
||||
/* Copyright (C) 1992-2022 Free Software Foundation, Inc.
|
||||
Copyright The GNU Toolchain Authors.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_CDEFS_H
|
||||
#define _SYS_CDEFS_H 1
|
||||
|
||||
/* We are almost always included from features.h. */
|
||||
#ifndef _FEATURES_H
|
||||
# include <features.h>
|
||||
#endif
|
||||
|
||||
/* The GNU libc does not support any K&R compilers or the traditional mode
|
||||
of ISO C compilers anymore. Check for some of the combinations not
|
||||
supported anymore. */
|
||||
#if defined __GNUC__ && !defined __STDC__
|
||||
# error "You need a ISO C conforming compiler to use the glibc headers"
|
||||
#endif
|
||||
|
||||
/* Some user header file might have defined this before. */
|
||||
#undef __P
|
||||
#undef __PMT
|
||||
|
||||
/* Compilers that lack __has_attribute may object to
|
||||
#if defined __has_attribute && __has_attribute (...)
|
||||
even though they do not need to evaluate the right-hand side of the &&.
|
||||
Similarly for __has_builtin, etc. */
|
||||
#if (defined __has_attribute \
|
||||
&& (!defined __clang_minor__ \
|
||||
|| (defined __apple_build_version__ \
|
||||
? 6000000 <= __apple_build_version__ \
|
||||
: 3 < __clang_major__ + (5 <= __clang_minor__))))
|
||||
# define __glibc_has_attribute(attr) __has_attribute (attr)
|
||||
#else
|
||||
# define __glibc_has_attribute(attr) 0
|
||||
#endif
|
||||
#ifdef __has_builtin
|
||||
# define __glibc_has_builtin(name) __has_builtin (name)
|
||||
#else
|
||||
# define __glibc_has_builtin(name) 0
|
||||
#endif
|
||||
#ifdef __has_extension
|
||||
# define __glibc_has_extension(ext) __has_extension (ext)
|
||||
#else
|
||||
# define __glibc_has_extension(ext) 0
|
||||
#endif
|
||||
|
||||
#if defined __GNUC__ || defined __clang__
|
||||
|
||||
/* All functions, except those with callbacks or those that
|
||||
synchronize memory, are leaf functions. */
|
||||
# if __GNUC_PREREQ (4, 6) && !defined _LIBC
|
||||
# define __LEAF , __leaf__
|
||||
# define __LEAF_ATTR __attribute__ ((__leaf__))
|
||||
# else
|
||||
# define __LEAF
|
||||
# define __LEAF_ATTR
|
||||
# endif
|
||||
|
||||
/* GCC can always grok prototypes. For C++ programs we add throw()
|
||||
to help it optimize the function calls. But this only works with
|
||||
gcc 2.8.x and egcs. For gcc 3.4 and up we even mark C functions
|
||||
as non-throwing using a function attribute since programs can use
|
||||
the -fexceptions options for C code as well. */
|
||||
# if !defined __cplusplus \
|
||||
&& (__GNUC_PREREQ (3, 4) || __glibc_has_attribute (__nothrow__))
|
||||
# define __THROW __attribute__ ((__nothrow__ __LEAF))
|
||||
# define __THROWNL __attribute__ ((__nothrow__))
|
||||
# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct
|
||||
# define __NTHNL(fct) __attribute__ ((__nothrow__)) fct
|
||||
# else
|
||||
# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major >= 4)
|
||||
# if __cplusplus >= 201103L
|
||||
# define __THROW noexcept (true)
|
||||
# else
|
||||
# define __THROW throw ()
|
||||
# endif
|
||||
# define __THROWNL __THROW
|
||||
# define __NTH(fct) __LEAF_ATTR fct __THROW
|
||||
# define __NTHNL(fct) fct __THROW
|
||||
# else
|
||||
# define __THROW
|
||||
# define __THROWNL
|
||||
# define __NTH(fct) fct
|
||||
# define __NTHNL(fct) fct
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#else /* Not GCC or clang. */
|
||||
|
||||
# if (defined __cplusplus \
|
||||
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
|
||||
# define __inline inline
|
||||
# else
|
||||
# define __inline /* No inline functions. */
|
||||
# endif
|
||||
|
||||
# define __THROW
|
||||
# define __THROWNL
|
||||
# define __NTH(fct) fct
|
||||
|
||||
#endif /* GCC || clang. */
|
||||
|
||||
/* These two macros are not used in glibc anymore. They are kept here
|
||||
only because some other projects expect the macros to be defined. */
|
||||
#define __P(args) args
|
||||
#define __PMT(args) args
|
||||
|
||||
/* For these things, GCC behaves the ANSI way normally,
|
||||
and the non-ANSI way under -traditional. */
|
||||
|
||||
#define __CONCAT(x,y) x ## y
|
||||
#define __STRING(x) #x
|
||||
|
||||
/* This is not a typedef so `const __ptr_t' does the right thing. */
|
||||
#define __ptr_t void *
|
||||
|
||||
|
||||
/* C++ needs to know that types and declarations are C, not C++. */
|
||||
#ifdef __cplusplus
|
||||
# define __BEGIN_DECLS extern "C" {
|
||||
# define __END_DECLS }
|
||||
#else
|
||||
# define __BEGIN_DECLS
|
||||
# define __END_DECLS
|
||||
#endif
|
||||
|
||||
|
||||
/* Fortify support. */
|
||||
#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
|
||||
#define __bos0(ptr) __builtin_object_size (ptr, 0)
|
||||
|
||||
/* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */
|
||||
#if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \
|
||||
|| __GNUC_PREREQ (12, 0))
|
||||
# define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0)
|
||||
# define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1)
|
||||
#else
|
||||
# define __glibc_objsize0(__o) __bos0 (__o)
|
||||
# define __glibc_objsize(__o) __bos (__o)
|
||||
#endif
|
||||
|
||||
/* Compile time conditions to choose between the regular, _chk and _chk_warn
|
||||
variants. These conditions should get evaluated to constant and optimized
|
||||
away. */
|
||||
|
||||
#define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s))
|
||||
#define __glibc_unsigned_or_positive(__l) \
|
||||
((__typeof (__l)) 0 < (__typeof (__l)) -1 \
|
||||
|| (__builtin_constant_p (__l) && (__l) > 0))
|
||||
|
||||
/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ
|
||||
condition can be folded to a constant and if it is true. The -1 check is
|
||||
redundant because since it implies that __glibc_safe_len_cond is true. */
|
||||
#define __glibc_safe_or_unknown_len(__l, __s, __osz) \
|
||||
(__glibc_unsigned_or_positive (__l) \
|
||||
&& __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \
|
||||
__s, __osz)) \
|
||||
&& __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz))
|
||||
|
||||
/* Conversely, we know at compile time that the length is unsafe if the
|
||||
__L * __S <= __OBJSZ condition can be folded to a constant and if it is
|
||||
false. */
|
||||
#define __glibc_unsafe_len(__l, __s, __osz) \
|
||||
(__glibc_unsigned_or_positive (__l) \
|
||||
&& __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \
|
||||
__s, __osz)) \
|
||||
&& !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz))
|
||||
|
||||
/* Fortify function f. __f_alias, __f_chk and __f_chk_warn must be
|
||||
declared. */
|
||||
|
||||
#define __glibc_fortify(f, __l, __s, __osz, ...) \
|
||||
(__glibc_safe_or_unknown_len (__l, __s, __osz) \
|
||||
? __ ## f ## _alias (__VA_ARGS__) \
|
||||
: (__glibc_unsafe_len (__l, __s, __osz) \
|
||||
? __ ## f ## _chk_warn (__VA_ARGS__, __osz) \
|
||||
: __ ## f ## _chk (__VA_ARGS__, __osz))) \
|
||||
|
||||
/* Fortify function f, where object size argument passed to f is the number of
|
||||
elements and not total size. */
|
||||
|
||||
#define __glibc_fortify_n(f, __l, __s, __osz, ...) \
|
||||
(__glibc_safe_or_unknown_len (__l, __s, __osz) \
|
||||
? __ ## f ## _alias (__VA_ARGS__) \
|
||||
: (__glibc_unsafe_len (__l, __s, __osz) \
|
||||
? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \
|
||||
: __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) \
|
||||
|
||||
#if __GNUC_PREREQ (4,3)
|
||||
# define __warnattr(msg) __attribute__((__warning__ (msg)))
|
||||
# define __errordecl(name, msg) \
|
||||
extern void name (void) __attribute__((__error__ (msg)))
|
||||
#else
|
||||
# define __warnattr(msg)
|
||||
# define __errordecl(name, msg) extern void name (void)
|
||||
#endif
|
||||
|
||||
/* Support for flexible arrays.
|
||||
Headers that should use flexible arrays only if they're "real"
|
||||
(e.g. only if they won't affect sizeof()) should test
|
||||
#if __glibc_c99_flexarr_available. */
|
||||
#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc
|
||||
# define __flexarr []
|
||||
# define __glibc_c99_flexarr_available 1
|
||||
#elif __GNUC_PREREQ (2,97) || defined __clang__
|
||||
/* GCC 2.97 and clang support C99 flexible array members as an extension,
|
||||
even when in C89 mode or compiling C++ (any version). */
|
||||
# define __flexarr []
|
||||
# define __glibc_c99_flexarr_available 1
|
||||
#elif defined __GNUC__
|
||||
/* Pre-2.97 GCC did not support C99 flexible arrays but did have
|
||||
an equivalent extension with slightly different notation. */
|
||||
# define __flexarr [0]
|
||||
# define __glibc_c99_flexarr_available 1
|
||||
#else
|
||||
/* Some other non-C99 compiler. Approximate with [1]. */
|
||||
# define __flexarr [1]
|
||||
# define __glibc_c99_flexarr_available 0
|
||||
#endif
|
||||
|
||||
|
||||
/* __asm__ ("xyz") is used throughout the headers to rename functions
|
||||
at the assembly language level. This is wrapped by the __REDIRECT
|
||||
macro, in order to support compilers that can do this some other
|
||||
way. When compilers don't support asm-names at all, we have to do
|
||||
preprocessor tricks instead (which don't have exactly the right
|
||||
semantics, but it's the best we can do).
|
||||
|
||||
Example:
|
||||
int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */
|
||||
|
||||
#if (defined __GNUC__ && __GNUC__ >= 2) || (__clang_major__ >= 4)
|
||||
|
||||
# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
|
||||
# ifdef __cplusplus
|
||||
# define __REDIRECT_NTH(name, proto, alias) \
|
||||
name proto __THROW __asm__ (__ASMNAME (#alias))
|
||||
# define __REDIRECT_NTHNL(name, proto, alias) \
|
||||
name proto __THROWNL __asm__ (__ASMNAME (#alias))
|
||||
# else
|
||||
# define __REDIRECT_NTH(name, proto, alias) \
|
||||
name proto __asm__ (__ASMNAME (#alias)) __THROW
|
||||
# define __REDIRECT_NTHNL(name, proto, alias) \
|
||||
name proto __asm__ (__ASMNAME (#alias)) __THROWNL
|
||||
# endif
|
||||
# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
|
||||
# define __ASMNAME2(prefix, cname) __STRING (prefix) cname
|
||||
|
||||
/*
|
||||
#elif __SOME_OTHER_COMPILER__
|
||||
|
||||
# define __REDIRECT(name, proto, alias) name proto; \
|
||||
_Pragma("let " #name " = " #alias)
|
||||
*/
|
||||
#endif
|
||||
|
||||
/* GCC and clang have various useful declarations that can be made with
|
||||
the '__attribute__' syntax. All of the ways we use this do fine if
|
||||
they are omitted for compilers that don't understand it. */
|
||||
#if !(defined __GNUC__ || defined __clang__)
|
||||
# define __attribute__(xyz) /* Ignore */
|
||||
#endif
|
||||
|
||||
/* At some point during the gcc 2.96 development the `malloc' attribute
|
||||
for functions was introduced. We don't want to use it unconditionally
|
||||
(although this would be possible) since it generates warnings. */
|
||||
#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__malloc__)
|
||||
# define __attribute_malloc__ __attribute__ ((__malloc__))
|
||||
#else
|
||||
# define __attribute_malloc__ /* Ignore */
|
||||
#endif
|
||||
|
||||
/* Tell the compiler which arguments to an allocation function
|
||||
indicate the size of the allocation. */
|
||||
#if __GNUC_PREREQ (4, 3)
|
||||
# define __attribute_alloc_size__(params) \
|
||||
__attribute__ ((__alloc_size__ params))
|
||||
#else
|
||||
# define __attribute_alloc_size__(params) /* Ignore. */
|
||||
#endif
|
||||
|
||||
/* Tell the compiler which argument to an allocation function
|
||||
indicates the alignment of the allocation. */
|
||||
#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__)
|
||||
# define __attribute_alloc_align__(param) \
|
||||
__attribute__ ((__alloc_align__ param))
|
||||
#else
|
||||
# define __attribute_alloc_align__(param) /* Ignore. */
|
||||
#endif
|
||||
|
||||
/* At some point during the gcc 2.96 development the `pure' attribute
|
||||
for functions was introduced. We don't want to use it unconditionally
|
||||
(although this would be possible) since it generates warnings. */
|
||||
#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__pure__)
|
||||
# define __attribute_pure__ __attribute__ ((__pure__))
|
||||
#else
|
||||
# define __attribute_pure__ /* Ignore */
|
||||
#endif
|
||||
|
||||
/* This declaration tells the compiler that the value is constant. */
|
||||
#if __GNUC_PREREQ (2,5) || __glibc_has_attribute (__const__)
|
||||
# define __attribute_const__ __attribute__ ((__const__))
|
||||
#else
|
||||
# define __attribute_const__ /* Ignore */
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__)
|
||||
# define __attribute_maybe_unused__ __attribute__ ((__unused__))
|
||||
#else
|
||||
# define __attribute_maybe_unused__ /* Ignore */
|
||||
#endif
|
||||
|
||||
/* At some point during the gcc 3.1 development the `used' attribute
|
||||
for functions was introduced. We don't want to use it unconditionally
|
||||
(although this would be possible) since it generates warnings. */
|
||||
#if __GNUC_PREREQ (3,1) || __glibc_has_attribute (__used__)
|
||||
# define __attribute_used__ __attribute__ ((__used__))
|
||||
# define __attribute_noinline__ __attribute__ ((__noinline__))
|
||||
#else
|
||||
# define __attribute_used__ __attribute__ ((__unused__))
|
||||
# define __attribute_noinline__ /* Ignore */
|
||||
#endif
|
||||
|
||||
/* Since version 3.2, gcc allows marking deprecated functions. */
|
||||
#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__deprecated__)
|
||||
# define __attribute_deprecated__ __attribute__ ((__deprecated__))
|
||||
#else
|
||||
# define __attribute_deprecated__ /* Ignore */
|
||||
#endif
|
||||
|
||||
/* Since version 4.5, gcc also allows one to specify the message printed
|
||||
when a deprecated function is used. clang claims to be gcc 4.2, but
|
||||
may also support this feature. */
|
||||
#if __GNUC_PREREQ (4,5) \
|
||||
|| __glibc_has_extension (__attribute_deprecated_with_message__)
|
||||
# define __attribute_deprecated_msg__(msg) \
|
||||
__attribute__ ((__deprecated__ (msg)))
|
||||
#else
|
||||
# define __attribute_deprecated_msg__(msg) __attribute_deprecated__
|
||||
#endif
|
||||
|
||||
/* At some point during the gcc 2.8 development the `format_arg' attribute
|
||||
for functions was introduced. We don't want to use it unconditionally
|
||||
(although this would be possible) since it generates warnings.
|
||||
If several `format_arg' attributes are given for the same function, in
|
||||
gcc-3.0 and older, all but the last one are ignored. In newer gccs,
|
||||
all designated arguments are considered. */
|
||||
#if __GNUC_PREREQ (2,8) || __glibc_has_attribute (__format_arg__)
|
||||
# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
|
||||
#else
|
||||
# define __attribute_format_arg__(x) /* Ignore */
|
||||
#endif
|
||||
|
||||
/* At some point during the gcc 2.97 development the `strfmon' format
|
||||
attribute for functions was introduced. We don't want to use it
|
||||
unconditionally (although this would be possible) since it
|
||||
generates warnings. */
|
||||
#if __GNUC_PREREQ (2,97) || __glibc_has_attribute (__format__)
|
||||
# define __attribute_format_strfmon__(a,b) \
|
||||
__attribute__ ((__format__ (__strfmon__, a, b)))
|
||||
#else
|
||||
# define __attribute_format_strfmon__(a,b) /* Ignore */
|
||||
#endif
|
||||
|
||||
/* The nonnull function attribute marks pointer parameters that
|
||||
must not be NULL. This has the name __nonnull in glibc,
|
||||
and __attribute_nonnull__ in files shared with Gnulib to avoid
|
||||
collision with a different __nonnull in DragonFlyBSD 5.9. */
|
||||
#ifndef __attribute_nonnull__
|
||||
# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__)
|
||||
# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params))
|
||||
# else
|
||||
# define __attribute_nonnull__(params)
|
||||
# endif
|
||||
#endif
|
||||
#ifndef __nonnull
|
||||
# define __nonnull(params) __attribute_nonnull__ (params)
|
||||
#endif
|
||||
|
||||
/* The returns_nonnull function attribute marks the return type of the function
|
||||
as always being non-null. */
|
||||
#ifndef __returns_nonnull
|
||||
# if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__returns_nonnull__)
|
||||
# define __returns_nonnull __attribute__ ((__returns_nonnull__))
|
||||
# else
|
||||
# define __returns_nonnull
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* If fortification mode, we warn about unused results of certain
|
||||
function calls which can lead to problems. */
|
||||
#if __GNUC_PREREQ (3,4) || __glibc_has_attribute (__warn_unused_result__)
|
||||
# define __attribute_warn_unused_result__ \
|
||||
__attribute__ ((__warn_unused_result__))
|
||||
# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0
|
||||
# define __wur __attribute_warn_unused_result__
|
||||
# endif
|
||||
#else
|
||||
# define __attribute_warn_unused_result__ /* empty */
|
||||
#endif
|
||||
#ifndef __wur
|
||||
# define __wur /* Ignore */
|
||||
#endif
|
||||
|
||||
/* Forces a function to be always inlined. */
|
||||
#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__always_inline__)
|
||||
/* The Linux kernel defines __always_inline in stddef.h (283d7573), and
|
||||
it conflicts with this definition. Therefore undefine it first to
|
||||
allow either header to be included first. */
|
||||
# undef __always_inline
|
||||
# define __always_inline __inline __attribute__ ((__always_inline__))
|
||||
#else
|
||||
# undef __always_inline
|
||||
# define __always_inline __inline
|
||||
#endif
|
||||
|
||||
/* Associate error messages with the source location of the call site rather
|
||||
than with the source location inside the function. */
|
||||
#if __GNUC_PREREQ (4,3) || __glibc_has_attribute (__artificial__)
|
||||
# define __attribute_artificial__ __attribute__ ((__artificial__))
|
||||
#else
|
||||
# define __attribute_artificial__ /* Ignore */
|
||||
#endif
|
||||
|
||||
/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
|
||||
inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
|
||||
or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
|
||||
older than 4.3 may define these macros and still not guarantee GNU inlining
|
||||
semantics.
|
||||
|
||||
clang++ identifies itself as gcc-4.2, but has support for GNU inlining
|
||||
semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
|
||||
__GNUC_GNU_INLINE__ macro definitions. */
|
||||
#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \
|
||||
|| (defined __clang__ && (defined __GNUC_STDC_INLINE__ \
|
||||
|| defined __GNUC_GNU_INLINE__)))
|
||||
# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
|
||||
# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
|
||||
# define __extern_always_inline \
|
||||
extern __always_inline __attribute__ ((__gnu_inline__))
|
||||
# else
|
||||
# define __extern_inline extern __inline
|
||||
# define __extern_always_inline extern __always_inline
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __extern_always_inline
|
||||
# define __fortify_function __extern_always_inline __attribute_artificial__
|
||||
#endif
|
||||
|
||||
/* GCC 4.3 and above allow passing all anonymous arguments of an
|
||||
__extern_always_inline function to some other vararg function. */
|
||||
#if __GNUC_PREREQ (4,3)
|
||||
# define __va_arg_pack() __builtin_va_arg_pack ()
|
||||
# define __va_arg_pack_len() __builtin_va_arg_pack_len ()
|
||||
#endif
|
||||
|
||||
/* It is possible to compile containing GCC extensions even if GCC is
|
||||
run in pedantic mode if the uses are carefully marked using the
|
||||
`__extension__' keyword. But this is not generally available before
|
||||
version 2.8. */
|
||||
#if !(__GNUC_PREREQ (2,8) || defined __clang__)
|
||||
# define __extension__ /* Ignore */
|
||||
#endif
|
||||
|
||||
/* __restrict is known in EGCS 1.2 and above, and in clang.
|
||||
It works also in C++ mode (outside of arrays), but only when spelled
|
||||
as '__restrict', not 'restrict'. */
|
||||
#if !(__GNUC_PREREQ (2,92) || __clang_major__ >= 3)
|
||||
# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
|
||||
# define __restrict restrict
|
||||
# else
|
||||
# define __restrict /* Ignore */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is
|
||||
array_name[restrict]
|
||||
GCC 3.1 and clang support this.
|
||||
This syntax is not usable in C++ mode. */
|
||||
#if (__GNUC_PREREQ (3,1) || __clang_major__ >= 3) && !defined __cplusplus
|
||||
# define __restrict_arr __restrict
|
||||
#else
|
||||
# ifdef __GNUC__
|
||||
# define __restrict_arr /* Not supported in old GCC. */
|
||||
# else
|
||||
# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
|
||||
# define __restrict_arr restrict
|
||||
# else
|
||||
/* Some other non-C99 compiler. */
|
||||
# define __restrict_arr /* Not supported. */
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ >= 3) || __glibc_has_builtin (__builtin_expect)
|
||||
# define __glibc_unlikely(cond) __builtin_expect ((cond), 0)
|
||||
# define __glibc_likely(cond) __builtin_expect ((cond), 1)
|
||||
#else
|
||||
# define __glibc_unlikely(cond) (cond)
|
||||
# define __glibc_likely(cond) (cond)
|
||||
#endif
|
||||
|
||||
#if (!defined _Noreturn \
|
||||
&& (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
|
||||
&& !(__GNUC_PREREQ (4,7) \
|
||||
|| (3 < __clang_major__ + (5 <= __clang_minor__))))
|
||||
# if __GNUC_PREREQ (2,8)
|
||||
# define _Noreturn __attribute__ ((__noreturn__))
|
||||
# else
|
||||
# define _Noreturn
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ (8, 0)
|
||||
/* Describes a char array whose address can safely be passed as the first
|
||||
argument to strncpy and strncat, as the char array is not necessarily
|
||||
a NUL-terminated string. */
|
||||
# define __attribute_nonstring__ __attribute__ ((__nonstring__))
|
||||
#else
|
||||
# define __attribute_nonstring__
|
||||
#endif
|
||||
|
||||
/* Undefine (also defined in libc-symbols.h). */
|
||||
#undef __attribute_copy__
|
||||
#if __GNUC_PREREQ (9, 0)
|
||||
/* Copies attributes from the declaration or type referenced by
|
||||
the argument. */
|
||||
# define __attribute_copy__(arg) __attribute__ ((__copy__ (arg)))
|
||||
#else
|
||||
# define __attribute_copy__(arg)
|
||||
#endif
|
||||
|
||||
#if (!defined _Static_assert && !defined __cplusplus \
|
||||
&& (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
|
||||
&& (!(__GNUC_PREREQ (4, 6) || __clang_major__ >= 4) \
|
||||
|| defined __STRICT_ANSI__))
|
||||
# define _Static_assert(expr, diagnostic) \
|
||||
extern int (*__Static_assert_function (void)) \
|
||||
[!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })]
|
||||
#endif
|
||||
|
||||
/* Gnulib avoids including these, as they don't work on non-glibc or
|
||||
older glibc platforms. */
|
||||
#ifndef __GNULIB_CDEFS
|
||||
# include <bits/wordsize.h>
|
||||
# include <bits/long-double.h>
|
||||
#endif
|
||||
|
||||
#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# ifdef __REDIRECT
|
||||
|
||||
/* Alias name defined automatically. */
|
||||
# define __LDBL_REDIR(name, proto) ... unused__ldbl_redir
|
||||
# define __LDBL_REDIR_DECL(name) \
|
||||
extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128"));
|
||||
|
||||
/* Alias name defined automatically, with leading underscores. */
|
||||
# define __LDBL_REDIR2_DECL(name) \
|
||||
extern __typeof (__##name) __##name \
|
||||
__asm (__ASMNAME ("__" #name "ieee128"));
|
||||
|
||||
/* Alias name defined manually. */
|
||||
# define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1
|
||||
# define __LDBL_REDIR1_DECL(name, alias) \
|
||||
extern __typeof (name) name __asm (__ASMNAME (#alias));
|
||||
|
||||
# define __LDBL_REDIR1_NTH(name, proto, alias) \
|
||||
__REDIRECT_NTH (name, proto, alias)
|
||||
# define __REDIRECT_NTH_LDBL(name, proto, alias) \
|
||||
__LDBL_REDIR1_NTH (name, proto, __##alias##ieee128)
|
||||
|
||||
/* Unused. */
|
||||
# define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl
|
||||
# define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth
|
||||
|
||||
# else
|
||||
_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform");
|
||||
# endif
|
||||
#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
|
||||
# define __LDBL_COMPAT 1
|
||||
# ifdef __REDIRECT
|
||||
# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
|
||||
# define __LDBL_REDIR(name, proto) \
|
||||
__LDBL_REDIR1 (name, proto, __nldbl_##name)
|
||||
# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
|
||||
# define __LDBL_REDIR_NTH(name, proto) \
|
||||
__LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
|
||||
# define __LDBL_REDIR2_DECL(name) \
|
||||
extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name));
|
||||
# define __LDBL_REDIR1_DECL(name, alias) \
|
||||
extern __typeof (name) name __asm (__ASMNAME (#alias));
|
||||
# define __LDBL_REDIR_DECL(name) \
|
||||
extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name));
|
||||
# define __REDIRECT_LDBL(name, proto, alias) \
|
||||
__LDBL_REDIR1 (name, proto, __nldbl_##alias)
|
||||
# define __REDIRECT_NTH_LDBL(name, proto, alias) \
|
||||
__LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
|
||||
# endif
|
||||
#endif
|
||||
#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \
|
||||
|| !defined __REDIRECT
|
||||
# define __LDBL_REDIR1(name, proto, alias) name proto
|
||||
# define __LDBL_REDIR(name, proto) name proto
|
||||
# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
|
||||
# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
|
||||
# define __LDBL_REDIR2_DECL(name)
|
||||
# define __LDBL_REDIR_DECL(name)
|
||||
# ifdef __REDIRECT
|
||||
# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
|
||||
# define __REDIRECT_NTH_LDBL(name, proto, alias) \
|
||||
__REDIRECT_NTH (name, proto, alias)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
|
||||
intended for use in preprocessor macros.
|
||||
|
||||
Note: MESSAGE must be a _single_ string; concatenation of string
|
||||
literals is not supported. */
|
||||
#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5)
|
||||
# define __glibc_macro_warning1(message) _Pragma (#message)
|
||||
# define __glibc_macro_warning(message) \
|
||||
__glibc_macro_warning1 (GCC warning message)
|
||||
#else
|
||||
# define __glibc_macro_warning(msg)
|
||||
#endif
|
||||
|
||||
/* Generic selection (ISO C11) is a C-only feature, available in GCC
|
||||
since version 4.9. Previous versions do not provide generic
|
||||
selection, even though they might set __STDC_VERSION__ to 201112L,
|
||||
when in -std=c11 mode. Thus, we must check for !defined __GNUC__
|
||||
when testing __STDC_VERSION__ for generic selection support.
|
||||
On the other hand, Clang also defines __GNUC__, so a clang-specific
|
||||
check is required to enable the use of generic selection. */
|
||||
#if !defined __cplusplus \
|
||||
&& (__GNUC_PREREQ (4, 9) \
|
||||
|| __glibc_has_extension (c_generic_selections) \
|
||||
|| (!defined __GNUC__ && defined __STDC_VERSION__ \
|
||||
&& __STDC_VERSION__ >= 201112L))
|
||||
# define __HAVE_GENERIC_SELECTION 1
|
||||
#else
|
||||
# define __HAVE_GENERIC_SELECTION 0
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ (10, 0)
|
||||
/* Designates a 1-based positional argument ref-index of pointer type
|
||||
that can be used to access size-index elements of the pointed-to
|
||||
array according to access mode, or at least one element when
|
||||
size-index is not provided:
|
||||
access (access-mode, <ref-index> [, <size-index>]) */
|
||||
# define __attr_access(x) __attribute__ ((__access__ x))
|
||||
/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may
|
||||
use the access attribute to get object sizes from function definition
|
||||
arguments, so we can't use them on functions we fortify. Drop the object
|
||||
size hints for such functions. */
|
||||
# if __USE_FORTIFY_LEVEL == 3
|
||||
# define __fortified_attr_access(a, o, s) __attribute__ ((__access__ (a, o)))
|
||||
# else
|
||||
# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s))
|
||||
# endif
|
||||
# if __GNUC_PREREQ (11, 0)
|
||||
# define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno)))
|
||||
# else
|
||||
# define __attr_access_none(argno)
|
||||
# endif
|
||||
#else
|
||||
# define __fortified_attr_access(a, o, s)
|
||||
# define __attr_access(x)
|
||||
# define __attr_access_none(argno)
|
||||
#endif
|
||||
|
||||
#if __GNUC_PREREQ (11, 0)
|
||||
/* Designates dealloc as a function to call to deallocate objects
|
||||
allocated by the declared function. */
|
||||
# define __attr_dealloc(dealloc, argno) \
|
||||
__attribute__ ((__malloc__ (dealloc, argno)))
|
||||
# define __attr_dealloc_free __attr_dealloc (__builtin_free, 1)
|
||||
#else
|
||||
# define __attr_dealloc(dealloc, argno)
|
||||
# define __attr_dealloc_free
|
||||
#endif
|
||||
|
||||
/* Specify that a function such as setjmp or vfork may return
|
||||
twice. */
|
||||
#if __GNUC_PREREQ (4, 1)
|
||||
# define __attribute_returns_twice__ __attribute__ ((__returns_twice__))
|
||||
#else
|
||||
# define __attribute_returns_twice__ /* Ignore. */
|
||||
#endif
|
||||
|
||||
#endif /* sys/cdefs.h */
|
@ -4,5 +4,4 @@
|
||||
;;; prevents loading of this file. Also the "-q" option to emacs
|
||||
;;; prevents both "~/.emacs" and this file from being loaded at startup.
|
||||
|
||||
;; default to better frame titles
|
||||
(setq-default frame-title-format (concat "%b - emacs@" (system-name)))
|
||||
(setq-default smime-CA-directory "/etc/ssl/certs")
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
|
||||
index 7167dc9..c8f2cd7 100644
|
||||
--- a/lisp/textmodes/ispell.el
|
||||
+++ b/lisp/textmodes/ispell.el
|
||||
@@ -1177,7 +1177,7 @@ aspell is used along with Emacs).")
|
||||
;; Unless default dict, re-add "-d" option with the mapped value
|
||||
(if dict-name
|
||||
(if dict-equiv
|
||||
- (nconc ispell-args (list "-d" dict-equiv))
|
||||
+ (setq ispell-args (nconc ispell-args (list "-d" dict-equiv)))
|
||||
(message
|
||||
"ispell-set-spellchecker-params: Missing hunspell equiv for \"%s\". Skipping."
|
||||
dict-name)
|
@ -1,103 +0,0 @@
|
||||
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
|
||||
index 1daec44..7167dc9 100644
|
||||
--- a/lisp/textmodes/ispell.el
|
||||
+++ b/lisp/textmodes/ispell.el
|
||||
@@ -574,6 +574,40 @@ re-start Emacs."
|
||||
(coding-system :tag "Coding System")))
|
||||
:group 'ispell)
|
||||
|
||||
+(defvar ispell-hunspell-dictionary-equivs-alist
|
||||
+ '(("american" "en_US")
|
||||
+ ("brasileiro" "pt_BR")
|
||||
+ ("british" "en_GB")
|
||||
+ ("castellano" "es_ES")
|
||||
+ ("castellano8" "es_ES")
|
||||
+ ("czech" "cs_CZ")
|
||||
+ ("dansk" "da_DK")
|
||||
+ ("deutsch" "de_DE")
|
||||
+ ("deutsch8" "de_DE")
|
||||
+ ("english" "en_US")
|
||||
+ ("esperanto" "eo")
|
||||
+ ("esperanto-tex" "eo")
|
||||
+ ("finnish" "fi_FI")
|
||||
+ ("francais7" "fr_FR")
|
||||
+ ("francais" "fr_FR")
|
||||
+ ("francais-tex" "fr_FR")
|
||||
+ ("german" "de_DE")
|
||||
+ ("german8" "de_DE")
|
||||
+ ("italiano" "it_IT")
|
||||
+ ("nederlands" "nl_NL")
|
||||
+ ("nederlands8" "nl_NL")
|
||||
+ ("norsk" "nn_NO")
|
||||
+ ("norsk7-tex" "nn_NO")
|
||||
+ ("polish" "pl_PL")
|
||||
+ ("portugues" "pt_PT")
|
||||
+ ("russian" "ru_RU")
|
||||
+ ("russianw" "ru_RU")
|
||||
+ ("slovak" "sk_SK")
|
||||
+ ("slovenian" "sl_SI")
|
||||
+ ("svenska" "sv_SE")
|
||||
+ ("hebrew" "he_IL"))
|
||||
+ "Alist with matching hunspell dict names for standard dict names in
|
||||
+ `ispell-dictionary-base-alist'.")
|
||||
|
||||
(defvar ispell-dictionary-base-alist
|
||||
'((nil ; default
|
||||
@@ -1112,9 +1146,57 @@ aspell is used along with Emacs).")
|
||||
ispell-encoding8-command)
|
||||
ispell-aspell-dictionary-alist
|
||||
nil))
|
||||
+ (ispell-dictionary-base-alist ispell-dictionary-base-alist)
|
||||
ispell-base-dicts-override-alist ; Override only base-dicts-alist
|
||||
all-dicts-alist)
|
||||
|
||||
+ ;; While ispell and aspell (through aliases) use the traditional
|
||||
+ ;; dict naming originally expected by ispell.el, hunspell
|
||||
+ ;; uses locale based names with no alias. We need to map
|
||||
+ ;; standard names to locale based names to make default dict
|
||||
+ ;; definitions available for hunspell.
|
||||
+ (if ispell-really-hunspell
|
||||
+ (let (tmp-dicts-alist)
|
||||
+ (dolist (adict ispell-dictionary-base-alist)
|
||||
+ (let* ((dict-name (nth 0 adict))
|
||||
+ (dict-equiv
|
||||
+ (cadr (assoc dict-name
|
||||
+ ispell-hunspell-dictionary-equivs-alist)))
|
||||
+ (ispell-args (nth 5 adict))
|
||||
+ (ispell-args-has-d (member "-d" ispell-args))
|
||||
+ skip-dict)
|
||||
+ ;; Remove "-d" option from `ispell-args' if present
|
||||
+ (if ispell-args-has-d
|
||||
+ (let ((ispell-args-after-d
|
||||
+ (cdr (cdr ispell-args-has-d)))
|
||||
+ (ispell-args-before-d
|
||||
+ (butlast ispell-args (length ispell-args-has-d))))
|
||||
+ (setq ispell-args
|
||||
+ (nconc ispell-args-before-d
|
||||
+ ispell-args-after-d))))
|
||||
+ ;; Unless default dict, re-add "-d" option with the mapped value
|
||||
+ (if dict-name
|
||||
+ (if dict-equiv
|
||||
+ (nconc ispell-args (list "-d" dict-equiv))
|
||||
+ (message
|
||||
+ "ispell-set-spellchecker-params: Missing hunspell equiv for \"%s\". Skipping."
|
||||
+ dict-name)
|
||||
+ (setq skip-dict t)))
|
||||
+
|
||||
+ (unless skip-dict
|
||||
+ (add-to-list 'tmp-dicts-alist
|
||||
+ (list
|
||||
+ dict-name ; dict name
|
||||
+ (nth 1 adict) ; casechars
|
||||
+ (nth 2 adict) ; not-casechars
|
||||
+ (nth 3 adict) ; otherchars
|
||||
+ (nth 4 adict) ; many-otherchars-p
|
||||
+ ispell-args ; ispell-args
|
||||
+ (nth 6 adict) ; extended-character-mode
|
||||
+ (nth 7 adict) ; dict encoding
|
||||
+ ))))
|
||||
+ (setq ispell-dictionary-base-alist tmp-dicts-alist))))
|
||||
+
|
||||
(run-hooks 'ispell-initialize-spellchecker-hook)
|
||||
|
||||
;; Add dicts to ``ispell-dictionary-alist'' unless already present.
|
@ -1,39 +0,0 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 62f53a3..a6f2f04 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1874,6 +1874,7 @@ if test "${HAVE_X11}" = "yes"; then
|
||||
AC_MSG_RESULT($emacs_xkb)
|
||||
if test $emacs_xkb = yes; then
|
||||
AC_DEFINE(HAVE_XKBGETKEYBOARD, 1, [Define to 1 if you have the XkbGetKeyboard function.])
|
||||
+ AC_DEFINE(HAVE_XKB, 1, [Define to 1 if you have the Xkb extension.])
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNCS(XrmSetDatabase XScreenResourceString \
|
||||
diff --git a/src/xterm.c b/src/xterm.c
|
||||
index fb407c8..102ce43 100644
|
||||
--- a/src/xterm.c
|
||||
+++ b/src/xterm.c
|
||||
@@ -130,6 +130,10 @@ extern void _XEditResCheckMessages (Widget, XtPointer, XEvent *, Boolean *);
|
||||
|
||||
#include "bitmaps/gray.xbm"
|
||||
|
||||
+#ifdef HAVE_XKB
|
||||
+#include <X11/XKBlib.h>
|
||||
+#endif
|
||||
+
|
||||
/* Default to using XIM if available. */
|
||||
#ifdef USE_XIM
|
||||
int use_xim = 1;
|
||||
@@ -3243,7 +3247,11 @@ XTring_bell (struct frame *f)
|
||||
else
|
||||
{
|
||||
block_input ();
|
||||
+#ifdef HAVE_XKB
|
||||
+ XkbBell (FRAME_X_DISPLAY (f), None, 0, None);
|
||||
+#else
|
||||
XBell (FRAME_X_DISPLAY (f), 0);
|
||||
+#endif
|
||||
XFlush (FRAME_X_DISPLAY (f));
|
||||
unblock_input ();
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
diff --git a/src/gtkutil.c b/src/gtkutil.c
|
||||
index 44f828c..d434a48 100644
|
||||
--- a/src/gtkutil.c
|
||||
+++ b/src/gtkutil.c
|
||||
@@ -784,6 +784,14 @@ xg_hide_tooltip (FRAME_PTR f)
|
||||
General functions for creating widgets, resizing, events, e.t.c.
|
||||
***********************************************************************/
|
||||
|
||||
+static void
|
||||
+my_log_handler (const gchar *log_domain, GLogLevelFlags log_level,
|
||||
+ const gchar *msg, gpointer user_data)
|
||||
+{
|
||||
+ if (!strstr (msg, "visible children"))
|
||||
+ fprintf (stderr, "XX %s-WARNING **: %s\n", log_domain, msg);
|
||||
+}
|
||||
+
|
||||
/* Make a geometry string and pass that to GTK. It seems this is the
|
||||
only way to get geometry position right if the user explicitly
|
||||
asked for a position when starting Emacs.
|
||||
@@ -799,6 +807,7 @@ xg_set_geometry (FRAME_PTR f)
|
||||
int top = f->top_pos;
|
||||
int yneg = f->size_hint_flags & YNegative;
|
||||
char geom_str[sizeof "=x--" + 4 * INT_STRLEN_BOUND (int)];
|
||||
+ guint id;
|
||||
|
||||
if (xneg)
|
||||
left = -left;
|
||||
@@ -811,9 +820,15 @@ xg_set_geometry (FRAME_PTR f)
|
||||
(xneg ? '-' : '+'), left,
|
||||
(yneg ? '-' : '+'), top);
|
||||
|
||||
+ /* Silence warning about visible children. */
|
||||
+ id = g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL
|
||||
+ | G_LOG_FLAG_RECURSION, my_log_handler, NULL);
|
||||
+
|
||||
if (!gtk_window_parse_geometry (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
|
||||
geom_str))
|
||||
fprintf (stderr, "Failed to parse: '%s'\n", geom_str);
|
||||
+
|
||||
+ g_log_remove_handler ("Gtk", id);
|
||||
}
|
||||
}
|
||||
|
@ -1,40 +0,0 @@
|
||||
diff --git a/doc/man/emacs.1 b/doc/man/emacs.1
|
||||
index 4f7f8d2..50d8038 100644
|
||||
--- a/doc/man/emacs.1
|
||||
+++ b/doc/man/emacs.1
|
||||
@@ -61,6 +61,9 @@ The following options are of general interest:
|
||||
Edit
|
||||
.IR file .
|
||||
.TP
|
||||
+.BI \-\-chdir " directory\fR\fP "
|
||||
+Change to directory
|
||||
+.TP
|
||||
.BI \-\-file " file\fR,\fP " \-\-find-file " file\fR,\fP " \-\-visit " file"
|
||||
The same as specifying
|
||||
.I file
|
||||
@@ -82,9 +85,15 @@ and
|
||||
.BR \-q ", " \-\-no\-init\-file
|
||||
Do not load an init file.
|
||||
.TP
|
||||
+.BR \-nl ", " \-\-no\-shared\-memory
|
||||
+Do not use shared memory
|
||||
+.TP
|
||||
.B \-\-no\-site\-file
|
||||
Do not load the site-wide startup file.
|
||||
.TP
|
||||
+.BR \-nsl ", " \-\-no\-site\-list
|
||||
+Do not add site-lisp directories to load-path
|
||||
+.TP
|
||||
.B \-\-no\-desktop
|
||||
Do not load a saved desktop.
|
||||
.TP
|
||||
@@ -325,6 +334,9 @@ in iconified state.
|
||||
.BR \-nbc ", " \-\-no\-blinking\-cursor
|
||||
Disable blinking cursor.
|
||||
.TP
|
||||
+.BR \-\-parent-id " xid\fR\fP "
|
||||
+Set parent window
|
||||
+.TP
|
||||
.BR \-nw ", " \-\-no\-window\-system
|
||||
Tell
|
||||
.I Emacs
|
31
emacs-libdir-vs-systemd.patch
Normal file
31
emacs-libdir-vs-systemd.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From a56539c1d7ef7aa56e575685bdfe1406aebb518d Mon Sep 17 00:00:00 2001
|
||||
From: Peter Oliver <git@mavit.org.uk>
|
||||
Date: Wed, 5 Feb 2020 12:42:04 +0000
|
||||
Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20assemble=20systemdunitdir=20fro?=
|
||||
=?UTF-8?q?m=20`libdir`?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
On 64 bit Fedora, `libdir` is `/usr/lib64`, whereas systemd services
|
||||
live under `/usr/lib/systemd`.
|
||||
---
|
||||
Makefile.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 2c82c49fba..b2468eb824 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -208,7 +208,7 @@ appdatadir=
|
||||
# Other options include ~/.config/systemd/user/,
|
||||
# $XDG_RUNTIME_DIR/systemd/user/
|
||||
# It seems the user may end up having to make a manual link...
|
||||
-systemdunitdir=$(libdir)/systemd/user
|
||||
+systemdunitdir=$(shell pkg-config --variable=systemduserunitdir systemd)
|
||||
|
||||
# Where the etc/images/icons/hicolor directory is to be installed.
|
||||
icondir=$(datarootdir)/icons
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,36 +0,0 @@
|
||||
diff --git a/src/xselect.c b/src/xselect.c
|
||||
index b3017c3..4ba4984 100644
|
||||
--- a/src/xselect.c
|
||||
+++ b/src/xselect.c
|
||||
@@ -2659,6 +2659,8 @@ x_send_client_event (Lisp_Object display, Lisp_Object dest, Lisp_Object from,
|
||||
|
||||
block_input ();
|
||||
|
||||
+ event.xclient.send_event = True;
|
||||
+ event.xclient.serial = 0;
|
||||
event.xclient.message_type = message_type;
|
||||
event.xclient.display = dpyinfo->display;
|
||||
|
||||
@@ -2667,18 +2669,19 @@ x_send_client_event (Lisp_Object display, Lisp_Object dest, Lisp_Object from,
|
||||
event.xclient.window = to_root ? FRAME_OUTER_WINDOW (f) : wdest;
|
||||
|
||||
|
||||
- memset (event.xclient.data.b, 0, sizeof (event.xclient.data.b));
|
||||
+ memset (event.xclient.data.l, 0, sizeof (event.xclient.data.l));
|
||||
x_fill_property_data (dpyinfo->display, values, event.xclient.data.b,
|
||||
event.xclient.format);
|
||||
|
||||
/* If event mask is 0 the event is sent to the client that created
|
||||
the destination window. But if we are sending to the root window,
|
||||
- there is no such client. Then we set the event mask to 0xffff. The
|
||||
+ there is no such client. Then we set the event mask to 0xffffff. The
|
||||
event then goes to clients selecting for events on the root window. */
|
||||
x_catch_errors (dpyinfo->display);
|
||||
{
|
||||
int propagate = to_root ? False : True;
|
||||
- unsigned mask = to_root ? 0xffff : 0;
|
||||
+ long mask = to_root ? 0xffffff : 0;
|
||||
+
|
||||
XSendEvent (dpyinfo->display, wdest, propagate, mask, &event);
|
||||
XFlush (dpyinfo->display);
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
diff --git a/lisp/org/org.el b/lisp/org/org.el
|
||||
index cc4c93f..285b71c 100644
|
||||
--- a/lisp/org/org.el
|
||||
+++ b/lisp/org/org.el
|
||||
@@ -1750,7 +1750,7 @@ See `org-file-apps'.")
|
||||
(auto-mode . emacs)
|
||||
("\\.mm\\'" . default)
|
||||
("\\.x?html?\\'" . default)
|
||||
- ("\\.pdf\\'" . default)
|
||||
+ ("\\.pdf\\'" . xdg-open)
|
||||
)
|
||||
"External applications for opening `file:path' items in a document.
|
||||
Org-mode uses system defaults for different file types, but
|
171
emacs-pdmp-fingerprint.patch
Normal file
171
emacs-pdmp-fingerprint.patch
Normal file
@ -0,0 +1,171 @@
|
||||
From e81f1faca4382ed5c8f15fec84fb7c900a5468f9 Mon Sep 17 00:00:00 2001
|
||||
From: Glenn Morris <rgm@gnu.org>
|
||||
Date: Mon, 11 Oct 2021 14:03:26 +0200
|
||||
Subject: Make the installed pmdp file use a fingerprint
|
||||
|
||||
* Makefile.in (EMACS_PDMP): Use --fingerprint.
|
||||
|
||||
* doc/emacs/cmdargs.texi (Action Arguments): Document --fingerprint.
|
||||
|
||||
* src/emacs.c (load_pdump): Load the fingerprinted version of the
|
||||
pdmp file (bug#42790).
|
||||
(main): Support --fingerprint.
|
||||
|
||||
* src/pdumper.c (dump_fingerprint): Make non-static.
|
||||
|
||||
* src/pdumper.h: Declare dump_fingerprint.
|
||||
---
|
||||
Makefile.in | 3 ++-
|
||||
doc/emacs/cmdargs.texi | 5 +++++
|
||||
src/emacs.c | 31 +++++++++++++++++++++++++++++--
|
||||
src/pdumper.c | 2 +-
|
||||
src/pdumper.h | 3 +++
|
||||
5 files changed, 40 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 5fc1edc..c6c507f 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -313,6 +313,7 @@ TRANSFORM = @program_transform_name@
|
||||
EMACS_NAME = `echo emacs | sed '$(TRANSFORM)'`
|
||||
EMACS = ${EMACS_NAME}${EXEEXT}
|
||||
EMACSFULL = `echo emacs-${version} | sed '$(TRANSFORM)'`${EXEEXT}
|
||||
+EMACS_PDMP = `./src/emacs${EXEEXT} --fingerprint 2>&1 | sed 's/.* //'`.pdmp
|
||||
|
||||
# Subdirectories to make recursively.
|
||||
SUBDIR = $(NTDIR) lib lib-src src lisp
|
||||
@@ -521,7 +522,7 @@ install-arch-dep: src install-arch-indep install-etcdoc install-$(NTDIR)
|
||||
ifeq (${ns_self_contained},no)
|
||||
${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACSFULL)"
|
||||
ifeq (${DUMPING},pdumper)
|
||||
- ${INSTALL_DATA} src/emacs.pdmp "$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}"/emacs.pdmp
|
||||
+ ${INSTALL_DATA} src/emacs.pdmp "$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}"/emacs-${EMACS_PDMP}
|
||||
endif
|
||||
-chmod 755 "$(DESTDIR)${bindir}/$(EMACSFULL)"
|
||||
ifndef NO_BIN_LINK
|
||||
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi
|
||||
index d5177fa..313682b 100644
|
||||
--- a/doc/emacs/cmdargs.texi
|
||||
+++ b/doc/emacs/cmdargs.texi
|
||||
@@ -185,6 +185,11 @@ successfully.
|
||||
@item --version
|
||||
@opindex --version
|
||||
Print Emacs version, then exit successfully.
|
||||
+
|
||||
+@item --fingerprint
|
||||
+@opindex --fingerprint
|
||||
+Print the Emacs ``fingerprint'', which is used to uniquely identify
|
||||
+the compiled version of Emacs.
|
||||
@end table
|
||||
|
||||
@node Initial Options
|
||||
diff --git a/src/emacs.c b/src/emacs.c
|
||||
index 866e43f..cda7a9b 100644
|
||||
--- a/src/emacs.c
|
||||
+++ b/src/emacs.c
|
||||
@@ -133,6 +133,7 @@ extern char etext;
|
||||
#endif
|
||||
|
||||
#include "pdumper.h"
|
||||
+#include "fingerprint.h"
|
||||
#include "epaths.h"
|
||||
|
||||
static const char emacs_version[] = PACKAGE_VERSION;
|
||||
@@ -255,6 +256,7 @@ Initialization options:\n\
|
||||
#ifdef HAVE_PDUMPER
|
||||
"\
|
||||
--dump-file FILE read dumped state from FILE\n\
|
||||
+--fingerprint output fingerprint and exit\n\
|
||||
",
|
||||
#endif
|
||||
#if SECCOMP_USABLE
|
||||
@@ -830,6 +832,8 @@ load_pdump (int argc, char **argv)
|
||||
const char *const suffix = ".pdmp";
|
||||
int result;
|
||||
char *emacs_executable = argv[0];
|
||||
+ ptrdiff_t hexbuf_size;
|
||||
+ char *hexbuf;
|
||||
const char *strip_suffix =
|
||||
#if defined DOS_NT || defined CYGWIN
|
||||
".exe"
|
||||
@@ -927,9 +931,15 @@ load_pdump (int argc, char **argv)
|
||||
/* Look for "emacs.pdmp" in PATH_EXEC. We hardcode "emacs" in
|
||||
"emacs.pdmp" so that the Emacs binary still works if the user
|
||||
copies and renames it. */
|
||||
+ hexbuf_size = 2 * sizeof fingerprint;
|
||||
+ hexbuf = xmalloc (hexbuf_size + 1);
|
||||
+ hexbuf_digest (hexbuf, (char *)fingerprint, sizeof fingerprint);
|
||||
+ hexbuf[hexbuf_size] = '\0';
|
||||
needed = (strlen (path_exec)
|
||||
+ 1
|
||||
+ strlen (argv0_base)
|
||||
+ + 1
|
||||
+ + strlen (hexbuf)
|
||||
+ strlen (suffix)
|
||||
+ 1);
|
||||
if (bufsize < needed)
|
||||
@@ -937,8 +947,8 @@ load_pdump (int argc, char **argv)
|
||||
xfree (dump_file);
|
||||
dump_file = xpalloc (NULL, &bufsize, needed - bufsize, -1, 1);
|
||||
}
|
||||
- sprintf (dump_file, "%s%c%s%s",
|
||||
- path_exec, DIRECTORY_SEP, argv0_base, suffix);
|
||||
+ sprintf (dump_file, "%s%c%s-%s%s",
|
||||
+ path_exec, DIRECTORY_SEP, argv0_base, hexbuf, suffix);
|
||||
#if !defined (NS_SELF_CONTAINED)
|
||||
/* Assume the Emacs binary lives in a sibling directory as set up by
|
||||
the default installation configuration. */
|
||||
@@ -1387,6 +1397,23 @@ main (int argc, char **argv)
|
||||
exit (0);
|
||||
}
|
||||
|
||||
+#ifdef HAVE_PDUMPER
|
||||
+ if (argmatch (argv, argc, "-fingerprint", "--fingerprint", 4,
|
||||
+ NULL, &skip_args))
|
||||
+ {
|
||||
+ if (initialized)
|
||||
+ {
|
||||
+ dump_fingerprint ("fingerprint", (unsigned char *)fingerprint);
|
||||
+ exit (0);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ fputs ("Not initialized\n", stderr);
|
||||
+ exit (1);
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
emacs_wd = emacs_get_current_dir_name ();
|
||||
#ifdef HAVE_PDUMPER
|
||||
if (dumped_with_pdumper_p ())
|
||||
diff --git a/src/pdumper.c b/src/pdumper.c
|
||||
index 11c680d..977f4fb 100644
|
||||
--- a/src/pdumper.c
|
||||
+++ b/src/pdumper.c
|
||||
@@ -312,7 +312,7 @@ dump_reloc_set_offset (struct dump_reloc *reloc, dump_off offset)
|
||||
error ("dump relocation out of range");
|
||||
}
|
||||
|
||||
-static void
|
||||
+void
|
||||
dump_fingerprint (char const *label,
|
||||
unsigned char const xfingerprint[sizeof fingerprint])
|
||||
{
|
||||
diff --git a/src/pdumper.h b/src/pdumper.h
|
||||
index deec9af..bc339c4 100644
|
||||
--- a/src/pdumper.h
|
||||
+++ b/src/pdumper.h
|
||||
@@ -50,6 +50,9 @@ enum { PDUMPER_NO_OBJECT = -1 };
|
||||
#define PDUMPER_REMEMBER_SCALAR(thing) \
|
||||
pdumper_remember_scalar (&(thing), sizeof (thing))
|
||||
|
||||
+extern void dump_fingerprint (const char *label,
|
||||
+ const unsigned char *xfingerprint);
|
||||
+
|
||||
extern void pdumper_remember_scalar_impl (void *data, ptrdiff_t nbytes);
|
||||
|
||||
INLINE void
|
||||
--
|
||||
cgit v1.1
|
||||
|
@ -1,16 +1,22 @@
|
||||
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
|
||||
index 1d28de7..1daec44 100644
|
||||
index 0a3a49d868..b6c0975857 100644
|
||||
--- a/lisp/textmodes/ispell.el
|
||||
+++ b/lisp/textmodes/ispell.el
|
||||
@@ -351,9 +351,9 @@ Must be greater than 1."
|
||||
:group 'ispell)
|
||||
@@ -191,12 +191,12 @@ Must be greater than 1."
|
||||
:type 'integer)
|
||||
|
||||
(defcustom ispell-program-name
|
||||
- (or (executable-find "aspell")
|
||||
+ (or (executable-find "hunspell")
|
||||
- (executable-find "ispell")
|
||||
+ ;; Enchant is commonly installed as `enchant-2', so use this
|
||||
+ ;; name and avoid old versions of `enchant'.
|
||||
+ (or (executable-find "enchant-2")
|
||||
(executable-find "hunspell")
|
||||
- ;; Enchant is commonly installed as `enchant-2', so use this
|
||||
- ;; name and avoid old versions of `enchant'.
|
||||
- (executable-find "enchant-2")
|
||||
+ (executable-find "aspell")
|
||||
(executable-find "ispell")
|
||||
- (executable-find "hunspell")
|
||||
+ (executable-find "ispell")
|
||||
"ispell")
|
||||
"Program invoked by \\[ispell-word] and \\[ispell-region] commands."
|
||||
:type 'string
|
||||
|
@ -1,15 +0,0 @@
|
||||
diff --git a/src/gtkutil.c b/src/gtkutil.c
|
||||
index e76b0a7..b3aa335 100644
|
||||
--- a/src/gtkutil.c
|
||||
+++ b/src/gtkutil.c
|
||||
@@ -1079,7 +1079,9 @@ style_changed_cb (GObject *go,
|
||||
FOR_EACH_FRAME (rest, frame)
|
||||
{
|
||||
FRAME_PTR f = XFRAME (frame);
|
||||
- if (FRAME_X_DISPLAY (f) == dpy)
|
||||
+ if (FRAME_LIVE_P (f)
|
||||
+ && FRAME_X_P (f)
|
||||
+ && FRAME_X_DISPLAY (f) == dpy)
|
||||
{
|
||||
x_set_scroll_bar_default_width (f);
|
||||
xg_frame_set_char_size (f, FRAME_COLS (f), FRAME_LINES (f));
|
11
emacs-system-crypto-policies.patch
Normal file
11
emacs-system-crypto-policies.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/src/gnutls.c 2016-01-24 10:29:58.000000000 +0100
|
||||
+++ b/src/gnutls.c 2016-02-02 09:32:28.477274274 +0100
|
||||
@@ -1557,7 +1557,7 @@
|
||||
gnutls_certificate_credentials_t x509_cred = NULL;
|
||||
gnutls_anon_client_credentials_t anon_cred = NULL;
|
||||
Lisp_Object global_init;
|
||||
- char const *priority_string_ptr = "NORMAL"; /* default priority string. */
|
||||
+ char const *priority_string_ptr = "@SYSTEM"; /* default priority string. */
|
||||
char *c_hostname;
|
||||
|
||||
/* Placeholders for the property list elements. */
|
@ -1,13 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Emacs
|
||||
GenericName=Text Editor
|
||||
Comment=Edit text
|
||||
Comment[zh_TW]=編輯文字
|
||||
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
|
||||
Exec=emacs %f
|
||||
Icon=emacs
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Categories=Application;Utility;TextEditor;X-Red-Hat-Base;
|
||||
Encoding=UTF-8
|
||||
StartupWMClass=Emacs
|
806
emacs.spec
806
emacs.spec
@ -1,90 +1,104 @@
|
||||
%global _hardened_build 1
|
||||
|
||||
# This file is encoded in UTF-8. -*- coding: utf-8 -*-
|
||||
Summary: GNU Emacs text editor
|
||||
Name: emacs
|
||||
Epoch: 1
|
||||
Version: 24.3
|
||||
Release: 15%{?dist}
|
||||
License: GPLv3+
|
||||
URL: http://www.gnu.org/software/emacs/
|
||||
Group: Applications/Editors
|
||||
Source0: ftp://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz
|
||||
Source1: emacs.desktop
|
||||
Source2: emacsclient.desktop
|
||||
Source3: dotemacs.el
|
||||
Source4: site-start.el
|
||||
Source5: default.el
|
||||
Summary: GNU Emacs text editor
|
||||
Name: emacs
|
||||
Epoch: 1
|
||||
Version: 28.1
|
||||
Release: 3%{?dist}
|
||||
License: GPLv3+ and CC0
|
||||
URL: http://www.gnu.org/software/emacs/
|
||||
Source0: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz
|
||||
Source1: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz.sig
|
||||
# get Eli Zaretskii's key
|
||||
# wget https://keys.openpgp.org/vks/v1/by-fingerprint/17E90D521672C04631B1183EE78DAE0F3115E06B -O gpgkey-17E90D521672C04631B1183EE78DAE0F3115E06B.gpg
|
||||
Source2: gpgkey-17E90D521672C04631B1183EE78DAE0F3115E06B.gpg
|
||||
Source3: https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=lib/cdefs.h;hb=refs/heads/master#./cdefs.h
|
||||
Source4: dotemacs.el
|
||||
Source5: site-start.el
|
||||
Source6: default.el
|
||||
# Emacs Terminal Mode, #551949, #617355
|
||||
Source6: emacs-terminal.desktop
|
||||
Source7: emacs-terminal.sh
|
||||
Source7: emacs-terminal.desktop
|
||||
Source8: emacs-terminal.sh
|
||||
# rhbz#713600
|
||||
Patch7: emacs-spellchecker.patch
|
||||
Patch1: emacs-spellchecker.patch
|
||||
Patch2: emacs-system-crypto-policies.patch
|
||||
Patch3: emacs-libdir-vs-systemd.patch
|
||||
Patch4: emacs-pdmp-fingerprint.patch
|
||||
|
||||
# Fix for emacs bug #922519
|
||||
Patch10: emacs-style-change-cb.patch
|
||||
# Fix for emacs bug #562719
|
||||
Patch11: emacs-bell-dont-work.patch
|
||||
# Fix for emacs bug #929353
|
||||
Patch12: emacs-gtk-warning.patch
|
||||
# Fix for emacs bug #948838
|
||||
Patch13: emacs-help-update.patch
|
||||
# Fix for emacs bug #948838
|
||||
Patch14: emacs-maximized.patch
|
||||
# Fix for default PDF viewer bug #971162
|
||||
Patch15: emacs-pdf-default.patch
|
||||
# Fix for emacs bug #13460.
|
||||
Patch100: emacs-24.3-hunspell.patch
|
||||
# Fix for emacs bug #827033
|
||||
Patch101: emacs-24.3-hunspell.2.patch
|
||||
BuildRequires: gcc
|
||||
BuildRequires: atk-devel
|
||||
BuildRequires: cairo-devel
|
||||
BuildRequires: freetype-devel
|
||||
BuildRequires: fontconfig-devel
|
||||
BuildRequires: dbus-devel
|
||||
BuildRequires: giflib-devel
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: libjpeg-turbo-devel
|
||||
BuildRequires: libjpeg-turbo
|
||||
BuildRequires: libtiff-devel
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXau-devel
|
||||
BuildRequires: libXdmcp-devel
|
||||
BuildRequires: libXrender-devel
|
||||
BuildRequires: libXt-devel
|
||||
BuildRequires: libXpm-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: xorg-x11-proto-devel
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: gnutls-devel
|
||||
BuildRequires: librsvg2-devel
|
||||
BuildRequires: m17n-lib-devel
|
||||
BuildRequires: libotf-devel
|
||||
BuildRequires: libselinux-devel
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: gpm-devel
|
||||
BuildRequires: liblockfile-devel
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: bzip2
|
||||
BuildRequires: cairo
|
||||
BuildRequires: texinfo
|
||||
BuildRequires: gzip
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: libacl-devel
|
||||
BuildRequires: harfbuzz-devel
|
||||
BuildRequires: jansson-devel
|
||||
BuildRequires: systemd-devel
|
||||
BuildRequires: libgccjit-devel
|
||||
|
||||
BuildRequires: atk-devel cairo-devel freetype-devel fontconfig-devel dbus-devel giflib-devel glibc-devel libpng-devel
|
||||
BuildRequires: libjpeg-devel libtiff-devel libX11-devel libXau-devel libXdmcp-devel libXrender-devel libXt-devel
|
||||
BuildRequires: libXpm-devel ncurses-devel xorg-x11-proto-devel zlib-devel gnutls-devel
|
||||
BuildRequires: librsvg2-devel m17n-lib-devel libotf-devel ImageMagick-devel libselinux-devel
|
||||
BuildRequires: GConf2-devel alsa-lib-devel gpm-devel liblockfile-devel libxml2-devel
|
||||
BuildRequires: bzip2 cairo texinfo gzip desktop-file-utils
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: webkit2gtk3-devel
|
||||
|
||||
%if 0%{?rhel} == 6
|
||||
BuildRequires: gtk2-devel
|
||||
%else
|
||||
%if 0%{?rhel} == 7
|
||||
BuildRequires: gtk3-devel python2-devel
|
||||
# Buildrequire both python2 and python3 on systems containing both,
|
||||
# since below we turn off the brp-python-bytecompile script
|
||||
%else
|
||||
BuildRequires: gtk3-devel python2-devel python3-devel
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: gnupg2
|
||||
|
||||
# For lucid
|
||||
BuildRequires: Xaw3d-devel
|
||||
|
||||
%ifarch %{ix86}
|
||||
BuildRequires: util-linux
|
||||
%endif
|
||||
BuildRequires: make
|
||||
|
||||
# Emacs requires info for info mode, rhbz#1989264
|
||||
Requires: info
|
||||
# Emacs doesn't run without dejavu-sans-mono-fonts, rhbz#732422
|
||||
Requires: desktop-file-utils dejavu-sans-mono-fonts
|
||||
Requires: desktop-file-utils
|
||||
Requires: dejavu-sans-mono-fonts
|
||||
Requires: libgccjit
|
||||
Requires(preun): %{_sbindir}/alternatives
|
||||
Requires(posttrans): %{_sbindir}/alternatives
|
||||
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
||||
Provides: emacs(bin) = %{epoch}:%{version}-%{release}
|
||||
|
||||
%if 0%{!?rhel:1}
|
||||
# Turn off the brp-python-bytecompile script since this script doesn't
|
||||
# properly dtect the correct python runtime for the files emacs2.py and
|
||||
# emacs3.py
|
||||
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
|
||||
%endif
|
||||
|
||||
%define paranoid 1
|
||||
%if 0%{?fedora}
|
||||
%define expurgate 0
|
||||
%else
|
||||
%define expurgate 1
|
||||
%endif
|
||||
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
||||
Provides: emacs(bin) = %{epoch}:%{version}-%{release}
|
||||
|
||||
%define site_lisp %{_datadir}/emacs/site-lisp
|
||||
%define site_start_d %{site_lisp}/site-start.d
|
||||
%define bytecompargs -batch --no-init-file --no-site-file -f batch-byte-compile
|
||||
%define pkgconfig %{_datadir}/pkgconfig
|
||||
%define emacs_libexecdir %{_libexecdir}/emacs/%{version}/%{_host}
|
||||
%define native_lisp %{_libdir}/emacs/%{version}/native-lisp
|
||||
|
||||
%description
|
||||
Emacs is a powerful, customizable, self-documenting, modeless text
|
||||
@ -94,13 +108,30 @@ without leaving the editor.
|
||||
|
||||
This package provides an emacs binary with support for X windows.
|
||||
|
||||
%package nox
|
||||
Summary: GNU Emacs text editor without X support
|
||||
Group: Applications/Editors
|
||||
%package lucid
|
||||
Summary: GNU Emacs text editor with LUCID toolkit X support
|
||||
Requires: libgccjit
|
||||
Requires(preun): %{_sbindir}/alternatives
|
||||
Requires(posttrans): %{_sbindir}/alternatives
|
||||
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
||||
Provides: emacs(bin) = %{epoch}:%{version}-%{release}
|
||||
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
||||
Provides: emacs(bin) = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description lucid
|
||||
Emacs is a powerful, customizable, self-documenting, modeless text
|
||||
editor. Emacs contains special code editing features, a scripting
|
||||
language (elisp), and the capability to read mail, news, and more
|
||||
without leaving the editor.
|
||||
|
||||
This package provides an emacs binary with support for X windows
|
||||
using LUCID toolkit.
|
||||
|
||||
%package nox
|
||||
Summary: GNU Emacs text editor without X support
|
||||
Requires: libgccjit
|
||||
Requires(preun): %{_sbindir}/alternatives
|
||||
Requires(posttrans): %{_sbindir}/alternatives
|
||||
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
||||
Provides: emacs(bin) = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description nox
|
||||
Emacs is a powerful, customizable, self-documenting, modeless text
|
||||
@ -112,16 +143,21 @@ This package provides an emacs binary with no X windows support for running
|
||||
on a terminal.
|
||||
|
||||
%package common
|
||||
Summary: Emacs common files
|
||||
Summary: Emacs common files
|
||||
# The entire source code is GPLv3+ except lib-src/etags.c which is
|
||||
# also BSD. Manual (info) is GFDL.
|
||||
License: GPLv3+ and GFDL and BSD
|
||||
Group: Applications/Editors
|
||||
Requires(preun): /sbin/install-info
|
||||
License: GPLv3+ and GFDL and BSD
|
||||
Requires(preun): %{_sbindir}/alternatives
|
||||
Requires(posttrans): %{_sbindir}/alternatives
|
||||
Requires(post): /sbin/install-info
|
||||
Requires: %{name}-filesystem
|
||||
Requires: %{name}-filesystem = %{epoch}:%{version}-%{release}
|
||||
Recommends: enchant2
|
||||
Provides: %{name}-el = %{epoch}:%{version}-%{release}
|
||||
Obsoletes: emacs-el < 1:24.3-29
|
||||
# transient.el is provided by emacs in lisp/transient.el
|
||||
Provides: emacs-transient = 0.3.7
|
||||
# the existing emacs-transient package is obsoleted by emacs 28+, last package
|
||||
# version as of the release of emacs 28.1 is obsoleted
|
||||
Obsoletes: emacs-transient < 0.3.0-4
|
||||
|
||||
%description common
|
||||
Emacs is a powerful, customizable, self-documenting, modeless text
|
||||
@ -129,26 +165,13 @@ editor. Emacs contains special code editing features, a scripting
|
||||
language (elisp), and the capability to read mail, news, and more
|
||||
without leaving the editor.
|
||||
|
||||
This package contains all the common files needed by emacs or emacs-nox.
|
||||
|
||||
%package el
|
||||
Summary: Lisp source files included with GNU Emacs
|
||||
Group: Applications/Editors
|
||||
Requires: %{name}-filesystem
|
||||
BuildArch: noarch
|
||||
|
||||
%description el
|
||||
Emacs-el contains the emacs-elisp sources for many of the elisp
|
||||
programs included with the main Emacs text editor package.
|
||||
|
||||
You need to install emacs-el only if you intend to modify any of the
|
||||
Emacs packages or see some elisp examples.
|
||||
This package contains all the common files needed by emacs, emacs-lucid
|
||||
or emacs-nox.
|
||||
|
||||
%package terminal
|
||||
Summary: A desktop menu item for GNU Emacs terminal.
|
||||
Group: Applications/Editors
|
||||
Requires: emacs = %{epoch}:%{version}-%{release}
|
||||
BuildArch: noarch
|
||||
Summary: A desktop menu item for GNU Emacs terminal.
|
||||
Requires: emacs = %{epoch}:%{version}-%{release}
|
||||
BuildArch: noarch
|
||||
|
||||
%description terminal
|
||||
Contains a desktop menu item running GNU Emacs terminal. Install
|
||||
@ -158,52 +181,56 @@ Please note that emacs-terminal is a temporary package and it will be
|
||||
removed when another terminal becomes capable of handling Malayalam.
|
||||
|
||||
%package filesystem
|
||||
Summary: Emacs filesystem layout
|
||||
Group: Applications/Editors
|
||||
BuildArch: noarch
|
||||
Summary: Emacs filesystem layout
|
||||
BuildArch: noarch
|
||||
|
||||
%description filesystem
|
||||
This package provides some directories which are required by other
|
||||
packages that add functionality to Emacs.
|
||||
|
||||
%package devel
|
||||
Summary: Development header files for Emacs
|
||||
|
||||
%description devel
|
||||
Development header files for Emacs.
|
||||
|
||||
%prep
|
||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%setup -q
|
||||
|
||||
%patch7 -p1 -b .spellchecker
|
||||
# workaround for ftbfs on ppc64, see https://bugzilla.redhat.com/show_bug.cgi?id=2045780#c8
|
||||
cp -p %{SOURCE3} lib/
|
||||
|
||||
%patch10 -p1 -b .style-change-cb.patch
|
||||
%patch11 -p1 -b .bell-dont-work.patch
|
||||
%patch12 -p1 -b .gtk-warning.patch
|
||||
%patch13 -p1 -b .help-update.patch
|
||||
%patch14 -p1 -b .maximized.patch
|
||||
%patch15 -p1 -b .pdf-default.patch
|
||||
|
||||
%patch100 -p1 -b .hunspell
|
||||
%patch101 -p1 -b .hunspell.2
|
||||
|
||||
# We prefer our emacs.desktop file
|
||||
cp %SOURCE1 etc/emacs.desktop
|
||||
%patch1 -p1 -b .spellchecker
|
||||
%patch2 -p1 -b .system-crypto-policies
|
||||
%patch3 -p1 -b .libdir-vs-systemd
|
||||
%patch4 -p1 -b .pdmp-fingerprint
|
||||
autoconf
|
||||
|
||||
grep -v "tetris.elc" lisp/Makefile.in > lisp/Makefile.in.new \
|
||||
&& mv lisp/Makefile.in.new lisp/Makefile.in
|
||||
grep -v "pong.elc" lisp/Makefile.in > lisp/Makefile.in.new \
|
||||
&& mv lisp/Makefile.in.new lisp/Makefile.in
|
||||
|
||||
# Avoid trademark issues
|
||||
%if %{paranoid}
|
||||
rm -f lisp/play/tetris.el lisp/play/tetris.elc
|
||||
%endif
|
||||
rm -f lisp/play/pong.el lisp/play/pong.el
|
||||
|
||||
%if %{expurgate}
|
||||
rm -f etc/sex.6 etc/condom.1 etc/celibacy.1 etc/COOKIES etc/future-bug etc/JOKES
|
||||
%endif
|
||||
|
||||
%define info_files ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede ediff edt efaq eieio eintr elisp emacs-gnutls emacs-mime emacs epa erc ert eshell eudc flymake forms gnus htmlfontify idlwave info mairix-el message mh-e newsticker nxml-mode org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar srecode tramp url vip viper widget wisent woman
|
||||
# Sorted list of info files
|
||||
%define info_files ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede ediff edt efaq-w32 efaq eieio eintr elisp emacs-gnutls emacs-mime emacs epa erc ert eshell eudc eww flymake forms gnus htmlfontify idlwave ido info mairix-el message mh-e newsticker nxml-mode octave-mode org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp url vhdl-mode vip viper widget wisent woman
|
||||
|
||||
# Since the list of info files has to be maintained, check if all info files
|
||||
# from the upstream tarball are actually present in %%info_files.
|
||||
cd info
|
||||
files=`echo $(ls *.info) | sed 's/\.info//'g | sort | tr -d '\n'`
|
||||
if test "$files" != "%info_files"; then
|
||||
echo Please update info_files >&2
|
||||
exit 1
|
||||
fi
|
||||
fs=( $(ls *.info) )
|
||||
is=( %info_files )
|
||||
files=$(echo ${fs[*]} | sed 's/\.info//'g | sort | tr -d '\n')
|
||||
for i in $(seq 0 $(( ${#fs[*]} - 1 ))); do
|
||||
if test "${fs[$i]}" != "${is[$i]}.info"; then
|
||||
echo Please update %%info_files: ${fs[$i]} != ${is[$i]}.info >&2
|
||||
break
|
||||
fi
|
||||
done
|
||||
cd ..
|
||||
|
||||
%ifarch %{ix86}
|
||||
@ -216,40 +243,49 @@ cd ..
|
||||
ln -s ../../%{name}/%{version}/etc/COPYING doc
|
||||
ln -s ../../%{name}/%{version}/etc/NEWS doc
|
||||
|
||||
|
||||
%build
|
||||
# Remove unpatched files as all files in the lisp directory are
|
||||
# installed.
|
||||
rm lisp/textmodes/ispell.el.hunspell
|
||||
rm lisp/textmodes/ispell.el.hunspell.2
|
||||
rm lisp/textmodes/ispell.el.spellchecker
|
||||
export CFLAGS="-DMAIL_USE_LOCKF %{build_cflags}"
|
||||
%set_build_flags
|
||||
|
||||
export CFLAGS="-DMAIL_USE_LOCKF $RPM_OPT_FLAGS"
|
||||
|
||||
# Build GTK+ binary
|
||||
mkdir build-gtk && cd build-gtk
|
||||
# Build Lucid binary
|
||||
mkdir build-lucid && cd build-lucid
|
||||
ln -s ../configure .
|
||||
|
||||
%if 0%{?rhel} == 6
|
||||
%define toolkit gtk
|
||||
%else
|
||||
%define toolkit gtk3
|
||||
%endif
|
||||
LDFLAGS=-Wl,-z,relro; export LDFLAGS;
|
||||
|
||||
%configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \
|
||||
--with-tiff --with-xft --with-xpm --with-x-toolkit=%{toolkit} --with-gpm=no
|
||||
make bootstrap
|
||||
%{setarch} make %{?_smp_mflags}
|
||||
--with-tiff --with-xft --with-xpm --with-x-toolkit=lucid --with-gpm=no \
|
||||
--with-modules --with-harfbuzz --with-cairo --with-json \
|
||||
--with-native-compilation
|
||||
%{setarch} %make_build bootstrap NATIVE_FULL_AOT=1
|
||||
%{setarch} %make_build
|
||||
cd ..
|
||||
|
||||
# Build binary without X support
|
||||
mkdir build-nox && cd build-nox
|
||||
ln -s ../configure .
|
||||
%configure --with-x=no
|
||||
%{setarch} make %{?_smp_mflags}
|
||||
%configure --with-x=no --with-modules --with-json --with-native-compilation
|
||||
%{setarch} %make_build bootstrap NATIVE_FULL_AOT=1
|
||||
%{setarch} %make_build
|
||||
cd ..
|
||||
|
||||
# Build GTK+ binary
|
||||
mkdir build-gtk && cd build-gtk
|
||||
ln -s ../configure .
|
||||
|
||||
LDFLAGS=-Wl,-z,relro; export LDFLAGS;
|
||||
|
||||
%configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \
|
||||
--with-tiff --with-xpm --with-x-toolkit=gtk3 --with-gpm=no \
|
||||
--with-xwidgets --with-modules --with-harfbuzz --with-cairo --with-json \
|
||||
--with-native-compilation
|
||||
%{setarch} %make_build bootstrap NATIVE_FULL_AOT=1
|
||||
%{setarch} %make_build
|
||||
cd ..
|
||||
|
||||
# Remove versioned file so that we end up with .1 suffix and only one DOC file
|
||||
rm build-{gtk,nox}/src/emacs-%{version}.*
|
||||
rm build-{gtk,lucid,nox}/src/emacs-%{version}.*
|
||||
|
||||
# Create pkgconfig file
|
||||
cat > emacs.pc << EOF
|
||||
@ -273,7 +309,7 @@ EOF
|
||||
|
||||
%install
|
||||
cd build-gtk
|
||||
make install INSTALL="%{__install} -p" DESTDIR=%{buildroot}
|
||||
%make_install
|
||||
cd ..
|
||||
|
||||
# Let alternatives manage the symlink
|
||||
@ -284,6 +320,9 @@ touch %{buildroot}%{_bindir}/emacs
|
||||
gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-compr.el.gz
|
||||
gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-cmpr-hook.el.gz
|
||||
|
||||
# Install the emacs with LUCID toolkit
|
||||
install -p -m 0755 build-lucid/src/emacs %{buildroot}%{_bindir}/emacs-%{version}-lucid
|
||||
|
||||
# Install the emacs without X
|
||||
install -p -m 0755 build-nox/src/emacs %{buildroot}%{_bindir}/emacs-%{version}-nox
|
||||
|
||||
@ -291,8 +330,8 @@ install -p -m 0755 build-nox/src/emacs %{buildroot}%{_bindir}/emacs-%{version}-n
|
||||
chmod 755 %{buildroot}%{emacs_libexecdir}/movemail
|
||||
|
||||
mkdir -p %{buildroot}%{site_lisp}
|
||||
install -p -m 0644 %SOURCE4 %{buildroot}%{site_lisp}/site-start.el
|
||||
install -p -m 0644 %SOURCE5 %{buildroot}%{site_lisp}
|
||||
install -p -m 0644 %SOURCE5 %{buildroot}%{site_lisp}/site-start.el
|
||||
install -p -m 0644 %SOURCE6 %{buildroot}%{site_lisp}
|
||||
|
||||
# This solves bz#474958, "update-directory-autoloads" now finally
|
||||
# works the path is different each version, so we'll generate it here
|
||||
@ -310,41 +349,33 @@ mkdir -p %{buildroot}%{site_lisp}/site-start.d
|
||||
|
||||
# Default initialization file
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/skel
|
||||
install -p -m 0644 %SOURCE3 %{buildroot}%{_sysconfdir}/skel/.emacs
|
||||
install -p -m 0644 %SOURCE4 %{buildroot}%{_sysconfdir}/skel/.emacs
|
||||
|
||||
# Install pkgconfig file
|
||||
mkdir -p %{buildroot}/%{pkgconfig}
|
||||
install -p -m 0644 emacs.pc %{buildroot}/%{pkgconfig}
|
||||
|
||||
# Install emacsclient desktop file
|
||||
install -p -m 0644 %SOURCE2 %{buildroot}/%{_datadir}/applications/emacsclient.desktop
|
||||
|
||||
# Install rpm macro definition file
|
||||
mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d
|
||||
install -p -m 0644 macros.emacs %{buildroot}%{_rpmconfigdir}/macros.d/
|
||||
|
||||
# Installing emacs-terminal binary
|
||||
install -p -m 755 %SOURCE7 %{buildroot}%{_bindir}/emacs-terminal
|
||||
install -p -m 755 %SOURCE8 %{buildroot}%{_bindir}/emacs-terminal
|
||||
|
||||
# After everything is installed, remove info dir
|
||||
rm -f %{buildroot}%{_infodir}/dir
|
||||
rm %{buildroot}%{_localstatedir}/games/emacs/*
|
||||
|
||||
# Install desktop files
|
||||
mkdir -p %{buildroot}%{_datadir}/applications
|
||||
desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
|
||||
%SOURCE1
|
||||
desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
|
||||
%SOURCE6
|
||||
%SOURCE7
|
||||
|
||||
# Byte compile emacs*.py with correct python interpreters
|
||||
%if 0%{?rhel:1}
|
||||
rm -f %{buildroot}%{_datadir}/%{name}/%{version}/etc/emacs3.py
|
||||
%else
|
||||
%py_byte_compile %{__python} %{buildroot}%{_datadir}/%{name}/%{version}/etc/emacs.py
|
||||
%py_byte_compile %{__python} %{buildroot}%{_datadir}/%{name}/%{version}/etc/emacs2.py
|
||||
%py_byte_compile %{__python3} %{buildroot}%{_datadir}/%{name}/%{version}/etc/emacs3.py
|
||||
%endif
|
||||
# Remove duplicate desktop-related files
|
||||
rm %{buildroot}%{_datadir}/%{name}/%{version}/etc/%{name}.{desktop,service}
|
||||
|
||||
# We don't ship the client variants yet
|
||||
# https://src.fedoraproject.org/rpms/emacs/pull-request/12
|
||||
rm %{buildroot}%{_datadir}/applications/emacsclient.desktop
|
||||
rm %{buildroot}%{_datadir}/applications/emacsclient-mail.desktop
|
||||
|
||||
#
|
||||
# Create file lists
|
||||
@ -355,7 +386,7 @@ rm -f *-filelist {common,el}-*-files
|
||||
cd %{buildroot}
|
||||
|
||||
find .%{_datadir}/emacs/%{version}/lisp \
|
||||
.%{_datadir}/emacs/%{version}/leim \
|
||||
.%{_datadir}/emacs/%{version}/lisp/leim \
|
||||
.%{_datadir}/emacs/site-lisp \( -type f -name '*.elc' -fprint $TOPDIR/common-lisp-none-elc-files \) -o \( -type d -fprintf $TOPDIR/common-lisp-dir-files "%%%%dir %%p\n" \) -o \( -name '*.el.gz' -fprint $TOPDIR/el-bytecomped-files -o -fprint $TOPDIR/common-not-comped-files \)
|
||||
|
||||
)
|
||||
@ -365,92 +396,108 @@ sed -i -e "s|\.%{_prefix}|%{_prefix}|" *-files
|
||||
cat common-*-files > common-filelist
|
||||
cat el-*-files common-lisp-dir-files > el-filelist
|
||||
|
||||
%post
|
||||
update-desktop-database &> /dev/null || :
|
||||
touch --no-create %{_datadir}/icons/hicolor
|
||||
if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
|
||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||
fi
|
||||
# Remove old icon
|
||||
rm %{buildroot}%{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document23.svg
|
||||
|
||||
# Install all the pdmp with fingerprints
|
||||
gtk_pdmp="emacs-$(./build-gtk/src/emacs --fingerprint 2>&1 | sed 's/.* //').pdmp"
|
||||
install -p -m 0644 build-gtk/src/emacs.pdmp %{buildroot}%{emacs_libexecdir}/${gtk_pdmp}
|
||||
|
||||
lucid_pdmp="emacs-$(./build-lucid/src/emacs --fingerprint 2>&1 | sed 's/.* //').pdmp"
|
||||
install -p -m 0644 build-lucid/src/emacs.pdmp %{buildroot}%{emacs_libexecdir}/${lucid_pdmp}
|
||||
|
||||
nox_pdmp="emacs-$(./build-nox/src/emacs --fingerprint 2>&1 | sed 's/.* //').pdmp"
|
||||
install -p -m 0644 build-nox/src/emacs.pdmp %{buildroot}%{emacs_libexecdir}/${nox_pdmp}
|
||||
|
||||
# Install native compiled Lisp of all builds
|
||||
gtk_comp_native_ver=$(ls -1 build-gtk/native-lisp)
|
||||
lucid_comp_native_ver=$(ls -1 build-lucid/native-lisp)
|
||||
nox_comp_native_ver=$(ls -1 build-nox/native-lisp)
|
||||
cp -ar build-gtk/native-lisp/${gtk_comp_native_ver} %{buildroot}%{native_lisp}
|
||||
cp -ar build-lucid/native-lisp/${lucid_comp_native_ver} %{buildroot}%{native_lisp}
|
||||
cp -ar build-nox/native-lisp/${nox_comp_native_ver} %{buildroot}%{native_lisp}
|
||||
|
||||
# List of binary specific files
|
||||
echo %{emacs_libexecdir}/${gtk_pdmp} > gtk-filelist
|
||||
echo %{emacs_libexecdir}/${lucid_pdmp} > lucid-filelist
|
||||
echo %{emacs_libexecdir}/${nox_pdmp} > nox-filelist
|
||||
echo %{native_lisp}/${gtk_comp_native_ver} >> gtk-filelist
|
||||
echo %{native_lisp}/${lucid_comp_native_ver} >> lucid-filelist
|
||||
echo %{native_lisp}/${nox_comp_native_ver} >> nox-filelist
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/*.metainfo.xml
|
||||
desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
|
||||
|
||||
%preun
|
||||
%{_sbindir}/alternatives --remove emacs %{_bindir}/emacs-%{version}
|
||||
|
||||
%postun
|
||||
update-desktop-database &> /dev/null || :
|
||||
touch --no-create %{_datadir}/icons/hicolor
|
||||
if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
|
||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||
fi
|
||||
%{_sbindir}/alternatives --remove emacs %{_bindir}/emacs-%{version} || :
|
||||
|
||||
%posttrans
|
||||
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version} 80
|
||||
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version} 80 || :
|
||||
|
||||
%preun lucid
|
||||
%{_sbindir}/alternatives --remove emacs %{_bindir}/emacs-%{version}-lucid || :
|
||||
%{_sbindir}/alternatives --remove emacs-lucid %{_bindir}/emacs-%{version}-lucid || :
|
||||
|
||||
%posttrans lucid
|
||||
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-lucid 70 || :
|
||||
%{_sbindir}/alternatives --install %{_bindir}/emacs-lucid emacs-lucid %{_bindir}/emacs-%{version}-lucid 60 || :
|
||||
|
||||
%preun nox
|
||||
%{_sbindir}/alternatives --remove emacs %{_bindir}/emacs-%{version}-nox
|
||||
%{_sbindir}/alternatives --remove emacs %{_bindir}/emacs-%{version}-nox || :
|
||||
%{_sbindir}/alternatives --remove emacs-nox %{_bindir}/emacs-%{version}-nox || :
|
||||
|
||||
%posttrans nox
|
||||
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-nox 70
|
||||
|
||||
%post common
|
||||
for f in %{info_files}; do
|
||||
/sbin/install-info %{_infodir}/$f %{_infodir}/dir 2> /dev/null || :
|
||||
done
|
||||
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-nox 70 || :
|
||||
%{_sbindir}/alternatives --install %{_bindir}/emacs-nox emacs-nox %{_bindir}/emacs-%{version}-nox 60 || :
|
||||
|
||||
%preun common
|
||||
%{_sbindir}/alternatives --remove emacs.etags %{_bindir}/etags.emacs
|
||||
if [ "$1" = 0 ]; then
|
||||
for f in %{info_files}; do
|
||||
/sbin/install-info --delete %{_infodir}/$f %{_infodir}/dir 2> /dev/null || :
|
||||
done
|
||||
fi
|
||||
%{_sbindir}/alternatives --remove emacs.etags %{_bindir}/etags.emacs || :
|
||||
|
||||
%posttrans common
|
||||
%{_sbindir}/alternatives --install %{_bindir}/etags emacs.etags %{_bindir}/etags.emacs 80 \
|
||||
--slave %{_mandir}/man1/etags.1.gz emacs.etags.man %{_mandir}/man1/etags.emacs.1.gz
|
||||
--slave %{_mandir}/man1/etags.1.gz emacs.etags.man %{_mandir}/man1/etags.emacs.1.gz || :
|
||||
|
||||
%post terminal
|
||||
update-desktop-database &> /dev/null || :
|
||||
|
||||
%postun terminal
|
||||
update-desktop-database &> /dev/null || :
|
||||
|
||||
%files
|
||||
%files -f gtk-filelist
|
||||
%{_bindir}/emacs-%{version}
|
||||
%attr(0755,-,-) %ghost %{_bindir}/emacs
|
||||
%{_datadir}/applications/emacs.desktop
|
||||
%{_datadir}/applications/emacsclient.desktop
|
||||
%{_datadir}/applications/emacs-mail.desktop
|
||||
%{_metainfodir}/%{name}.metainfo.xml
|
||||
%{_datadir}/icons/hicolor/*/apps/emacs.png
|
||||
#%{_datadir}/icons/hicolor/*/apps/emacs22.png
|
||||
%{_datadir}/icons/hicolor/scalable/apps/emacs.svg
|
||||
%{_datadir}/icons/hicolor/scalable/apps/emacs.ico
|
||||
%{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document.svg
|
||||
|
||||
%files nox
|
||||
%files lucid -f lucid-filelist
|
||||
%{_bindir}/emacs-%{version}-lucid
|
||||
%attr(0755,-,-) %ghost %{_bindir}/emacs
|
||||
%attr(0755,-,-) %ghost %{_bindir}/emacs-lucid
|
||||
|
||||
%files nox -f nox-filelist
|
||||
%{_bindir}/emacs-%{version}-nox
|
||||
%attr(0755,-,-) %ghost %{_bindir}/emacs
|
||||
%attr(0755,-,-) %ghost %{_bindir}/emacs-nox
|
||||
|
||||
%files -f common-filelist common
|
||||
%files common -f common-filelist -f el-filelist
|
||||
%config(noreplace) %{_sysconfdir}/skel/.emacs
|
||||
%{_rpmconfigdir}/macros.d/macros.emacs
|
||||
%doc doc/NEWS BUGS README doc/COPYING
|
||||
%license etc/COPYING
|
||||
%doc doc/NEWS BUGS README
|
||||
%{_bindir}/ebrowse
|
||||
%{_bindir}/emacsclient
|
||||
%{_bindir}/etags.emacs
|
||||
%{_bindir}/gctags
|
||||
%{_bindir}/grep-changelog
|
||||
#%{_bindir}/rcs-checkin
|
||||
%{_mandir}/*/*
|
||||
%{_infodir}/*
|
||||
%dir %{_datadir}/emacs/%{version}
|
||||
%{_datadir}/emacs/%{version}/etc
|
||||
%{_datadir}/emacs/%{version}/site-lisp
|
||||
%{_libexecdir}/emacs
|
||||
%{_userunitdir}/emacs.service
|
||||
%attr(0644,root,root) %config(noreplace) %{_datadir}/emacs/site-lisp/default.el
|
||||
%attr(0644,root,root) %config %{_datadir}/emacs/site-lisp/site-start.el
|
||||
|
||||
%files -f el-filelist el
|
||||
%{pkgconfig}/emacs.pc
|
||||
%doc etc/COPYING
|
||||
%dir %{_datadir}/emacs/%{version}
|
||||
|
||||
%files terminal
|
||||
%{_bindir}/emacs-terminal
|
||||
@ -461,7 +508,340 @@ update-desktop-database &> /dev/null || :
|
||||
%dir %{_datadir}/emacs/site-lisp
|
||||
%dir %{_datadir}/emacs/site-lisp/site-start.d
|
||||
|
||||
%files devel
|
||||
%{_includedir}/emacs-module.h
|
||||
|
||||
%changelog
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:28.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Thu Jul 14 2022 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:28.1-2
|
||||
- Obsolete emacs-transient to prevent update issues, fixes rhbz#2107269
|
||||
|
||||
* Mon Apr 4 2022 Bhavin Gandhi <bhavin7392@gmail.com> - 1:28.1-1
|
||||
- emacs-28.1 is available, fixes rhbz#2071638
|
||||
- Build with Native Compilation support and natively compile all .el files
|
||||
- Use upstream app data file
|
||||
- Use pdmp files with fingerprints
|
||||
|
||||
* Wed Mar 23 2022 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:27.2-11
|
||||
- Include upstream version of bundled glib cdefs.h, fixes rhbz#2045136
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:27.2-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Sat Aug 7 2021 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:27.2-9
|
||||
- Add Requires: info to fix info-mode
|
||||
- Fixes rhbz#1989264
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:27.2-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Sun Jul 11 2021 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:27.2-7
|
||||
- Add patch to fix pdump page size incompatibility
|
||||
- Fixes rhbz#1974244
|
||||
|
||||
* Sun Jun 13 2021 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:27.2-6
|
||||
- Swallow %%preun and %%posttrans scriptlet exit status
|
||||
- Fixes rhbz#1962181
|
||||
|
||||
* Sat Jun 5 2021 Peter Oliver <rpm@mavit.org.uk> - 1:27.2-5
|
||||
- Validate AppStream metainfo.
|
||||
|
||||
* Tue May 25 2021 Peter Oliver <rpm@mavit.org.uk> - 1:27.2-4
|
||||
- Prefer upstream emacs.desktop.
|
||||
- Remove duplicate emacs.desktop from /usr/share/emacs/27.2/etc/.
|
||||
|
||||
* Mon Apr 26 2021 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:27.2-3
|
||||
- Add emacs-modula2.patch
|
||||
- Fixes rhbz#1950158
|
||||
|
||||
* Sat Mar 27 2021 Peter Oliver <rpm@mavit.org.uk> - 1:27.2-2
|
||||
- Prefer upstream systemd service definition.
|
||||
|
||||
* Sat Mar 27 2021 Scott Talbert <swt@techie.net> - 1:27.1-5
|
||||
- Fix FTBFS with glibc 2.34
|
||||
|
||||
* Thu Mar 25 2021 Bhavin Gandhi <bhavin7392@gmail.com> - 1:27.2-1
|
||||
- emacs-27.2 is available
|
||||
|
||||
* Fri Feb 05 2021 Peter Oliver <rpm@mavit.org.uk> - 1:27.1-4
|
||||
- Make Enchant the default for ispell-program-name when available.
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:27.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Aug 18 2020 Jan Synáček <jsynacek@redhat.com> - 1:27.1-2
|
||||
- use make macros (original patch provided by Tom Stellard)
|
||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||
|
||||
* Tue Aug 11 2020 Bhavin Gandhi <bhavin7392@gmail.com> - 1:27.1-1
|
||||
- emacs-27.1 is available (#1867841)
|
||||
- Add systemd-devel to support Type=notify in unit file
|
||||
- Build with Cairo and Jansson support
|
||||
- Remove ImageMagick dependency as it's no longer used
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:26.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Apr 16 2020 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:26.3-3
|
||||
- Drop dependency on GConf2
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:26.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sun Sep 08 2019 Maximiliano Sandoval <msandoval@protonmail.com> - 1:26.3-1
|
||||
- emacs-26.3 is available (#1747101)
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:26.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Wed Apr 17 2019 Jan Synáček <jsynacek@redhat.com> - 1:26.2-1
|
||||
- emacs-26.2 is available (#1699434)
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:26.1-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Tue Aug 28 2018 Michael Cronenworth <mike@cchtml.com> - 1:26.1-7
|
||||
- Rebuild for new ImageMagick 6.9.10
|
||||
|
||||
* Mon Aug 13 2018 Jan Synáček <jsynacek@redhat.com> - 1:26.1-6
|
||||
- remove python dependencies, emacs*.py have not been there for a while
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:26.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 1:26.1-4
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Tue Jun 26 2018 Jan Synáček <jsynacek@redhat.com> - 1:26.1-3
|
||||
- Refix: Emacs crashes when loading color fonts (#1519038)
|
||||
+ emacs SIGABRT after XProtocolError on displaying an email in Gnus (#1591223)
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 1:26.1-2
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Wed May 30 2018 Jan Synáček <jsynacek@redhat.com> - 1:26.1-1
|
||||
- emacs-26.1 is available (#1583433)
|
||||
|
||||
* Wed Apr 4 2018 Jan Synáček <jsynacek@redhat.com> - 1:25.3-9
|
||||
- Emacs crashes when loading color fonts (#1519038)
|
||||
|
||||
* Sun Feb 11 2018 Sandro Mani <manisandro@gmail.com> - 1:25.3-8
|
||||
- Rebuild (giflib)
|
||||
|
||||
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:25.3-7
|
||||
- Escape macros in %%changelog
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:25.3-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Fri Jan 12 2018 Tomas Popela <tpopela@redhat.com> - 1:25.3-5
|
||||
- Adapt to the webkitgtk4 rename
|
||||
|
||||
* Thu Jan 11 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:25.3-4
|
||||
- Remove obsolete scriptlets
|
||||
|
||||
* Thu Sep 14 2017 Pete Walter <pwalter@fedoraproject.org> - 1:25.3-3
|
||||
- Rebuilt for ImageMagick 6.9.9 soname bump
|
||||
|
||||
* Wed Sep 13 2017 Richard W.M. Jones <rjones@redhat.com> - 1:25.3-2
|
||||
- Rebuild to try to fix: libwebkit2gtk-4.0.so.37: undefined symbol:
|
||||
soup_auth_manager_clear_cached_credentials
|
||||
|
||||
* Tue Sep 12 2017 Jan Synáček <jsynacek@redhat.com> - 1:25.3-1
|
||||
- update to 25.3 (#1490649 #1490409)
|
||||
|
||||
* Wed Sep 06 2017 Michael Cronenworth <mike@cchtml.com> - 1:25.2-10
|
||||
- Rebuild for ImageMagick 6
|
||||
|
||||
* Fri Aug 25 2017 Michael Cronenworth <mike@cchtml.com> - 1:25.2-9
|
||||
- Add patch for ImageMagick 7 detection
|
||||
|
||||
* Fri Aug 25 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:25.2-8
|
||||
- Rebuilt for ImageMagick soname bump
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:25.2-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Sun Jul 30 2017 Florian Weimer <fweimer@redhat.com> - 1:25.2-6
|
||||
- Rebuild with binutils fix for ppc64le (#1475636)
|
||||
|
||||
* Fri Jul 28 2017 Björn Esser <besser82@fedoraproject.org> - 1:25.2-5
|
||||
- Rebuilt for new ImageMagick so-name
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:25.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Jul 14 2017 Gregory Shimansky <gshimansky@gmail.com> - 25.2-3
|
||||
- Added package with LUCID X toolkit support (#1471258)
|
||||
|
||||
* Fri Apr 28 2017 Jan Synáček <jsynacek@redhat.com> - 25.2-2
|
||||
- compile with support for dynamic modules (#1421087)
|
||||
|
||||
* Mon Apr 24 2017 Jan Synáček <jsynacek@redhat.com> - 25.2-1
|
||||
- update to 25.2 (#1444818)
|
||||
|
||||
* Mon Feb 27 2017 Jan Synáček <jsynacek@redhat.com> - 25.2-0.1-rc2
|
||||
- update to 25.2 rc2
|
||||
- depend on the latest webkit (#1375834)
|
||||
|
||||
* Wed Feb 01 2017 Stephen Gallagher <sgallagh@redhat.com> - 25.1-4
|
||||
- Add missing %%license macro
|
||||
|
||||
* Mon Dec 12 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.1-3
|
||||
- Emacs 25.1 fc25 often crashes with emacs-auctex (#1398718)
|
||||
|
||||
* Wed Oct 12 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.1-2
|
||||
- emacs leaves behind corrupted symlinks on CIFS share (#1271407)
|
||||
|
||||
* Mon Sep 19 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.1-1
|
||||
- update to 25.1 (#1377031)
|
||||
|
||||
* Wed Sep 14 2016 Richard Hughes <rhughes@redhat.com> - 1:25.1-0.4.rc2
|
||||
- Upgrade AppData file to specification 0.6+
|
||||
|
||||
* Tue Aug 30 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.1-0.3.rc2
|
||||
- update to 25.1 rc2
|
||||
|
||||
* Mon Jul 25 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.1-0.2.rc1
|
||||
- do not set frame-title-format in default.el (#1359732)
|
||||
|
||||
* Mon Jul 25 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.1-0.1.rc1
|
||||
- update to 25.1 rc1
|
||||
|
||||
* Fri Jul 22 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.0.95-4
|
||||
- fix: emacs build failure due to high memory consumption on ppc64 (#1356919)
|
||||
|
||||
* Mon Jul 18 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.0.95-3
|
||||
- workaround: emacs build failure due to high memory consumption on ppc64 (#1356919)
|
||||
(patch provided by Sinny Kumari)
|
||||
|
||||
* Thu Jul 14 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.0.95-2
|
||||
- fix: info file entries are not installed (#1350128)
|
||||
|
||||
* Mon Jun 13 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.0.95-1
|
||||
- update to 25.0.95
|
||||
|
||||
* Wed May 18 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.0.94-1
|
||||
- update to 25.0.94
|
||||
|
||||
* Tue May 3 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.0.93-2
|
||||
- emacs starts in a very small window (#1332451)
|
||||
|
||||
* Mon Apr 25 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.0.93
|
||||
- update to 25.0.93 and enable webkit support
|
||||
|
||||
* Fri Mar 4 2016 Jan Synáček <jsynacek@redhat.com> - 1:25.0.92
|
||||
- update to 25.0.92
|
||||
|
||||
* Mon Feb 15 2016 Jan Synáček <jsynacek@redhat.com> - 1:24.5-10
|
||||
- fix build failure on ppc64le (#1306793)
|
||||
|
||||
* Mon Feb 8 2016 Jan Synáček <jsynacek@redhat.com> - 1:24.5-10
|
||||
- refix: set default value for smime-CA-directory (#1131558)
|
||||
|
||||
* Tue Feb 2 2016 Jan Synáček <jsynacek@redhat.com> - 1:24.5-9
|
||||
- emacs "deadlocked" after using mercurial with huge amounts of ignored files in the repository (#1232422)
|
||||
- GDB interface gets confused by non-ASCII (#1283412)
|
||||
|
||||
* Tue Jan 5 2016 Jan Synáček <jsynacek@redhat.com> - 1:24.5-9
|
||||
- set default value for smime-CA-directory (#1131558)
|
||||
- remove emacsclient.desktop (#1175969)
|
||||
|
||||
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:24.5-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
||||
|
||||
* Fri Sep 18 2015 Richard Hughes <rhughes@redhat.com> - 1:24.5-7
|
||||
- Remove no longer required AppData file
|
||||
|
||||
* Fri Sep 11 2015 Petr Hracek <phracek@redhat.com> - 1:24.5-6
|
||||
- Support BBDB >= 3 (EUDC) (#1261668)
|
||||
|
||||
* Wed Jun 17 2015 Petr Hracek <phracek@redhat.com> - 1:24.5-5
|
||||
- game and Trademark problem (#1231676)
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:24.5-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Mon May 11 2015 Petr Hracek <phracek@kiasportyw-brq-redhat-com> - 1:24.5-3
|
||||
- Utilize system-wide crypto-policies (#1179285)
|
||||
|
||||
* Wed Apr 22 2015 Petr Hracek <phracek@redhat.com> - 1:24.5-2
|
||||
- Build with ACL support (#1208945)
|
||||
|
||||
* Tue Apr 14 2015 Petr Hracek <phracek@redhat.com> - 1:24.5-1
|
||||
- New upstream version 24.5 (#1210919)
|
||||
|
||||
* Tue Apr 7 2015 Petr Hracek <phracek@redhat.com> - 1:24.4-6
|
||||
- emacs grep warns 'GREP_OPTIONS is deprecated' (#1176547)
|
||||
|
||||
* Thu Mar 26 2015 Richard Hughes <rhughes@redhat.com> - 1:24.4-5
|
||||
- Add an AppData file for the software center
|
||||
|
||||
* Tue Mar 17 2015 Petr Hracek <phracek@redhat.com> - 1:24.4-4
|
||||
- emacs option --no-bitmap-icon does not work (#1199160)
|
||||
|
||||
* Tue Nov 18 2014 Petr Hracek <phracek@redhat.com> - 1:24.4-3
|
||||
- Resolves #1124892 Add appdata file
|
||||
|
||||
* Wed Oct 29 2014 Petr Hracek <phracek@redhat.com> - 1:24.4-2
|
||||
- Bump version. Correct obsolete version
|
||||
|
||||
* Mon Oct 27 2014 Petr Hracek <phracek@redhat.com> - 1:24.4-1
|
||||
- resolves: #1155101
|
||||
Update to the newest upstream version (24.4)
|
||||
|
||||
* Thu Oct 23 2014 Petr Hracek <phracek@redhat.com> - 1:24.3-29
|
||||
- resolves: #1151652
|
||||
emacs-el files are part of emacs-common
|
||||
|
||||
* Thu Oct 23 2014 Petr Hracek <phracek@redhat.com> - 1:24.3-28
|
||||
- resolves: #1151652
|
||||
emacs-el is required by emacs-common
|
||||
|
||||
* Tue Sep 30 2014 jchaloup <jchaloup@redhat.com> - 1:24.3-27
|
||||
- resolves: #1147912
|
||||
Service dont start. Must be replace: "Type=Forking" > "Type=forking".
|
||||
|
||||
* Mon Aug 18 2014 jchaloup <jchaloup@redhat.com> - 1:24.3-26
|
||||
- resolves: #1130587
|
||||
unremove emacs from emacs-nox package, emacs and emacs-nox co-exist
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:24.3-25
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Wed Aug 13 2014 Petr Hracek <phracek@redhat.com> - 1:24.3-24
|
||||
- emacs.service file for systemd (#1128723)
|
||||
|
||||
* Tue Aug 05 2014 jchaloup <jchaloup@redhat.com> - 1:24.3-23
|
||||
- resolves: #1104012
|
||||
initialize kbd_macro_ptr and kbd_macro_end to kdb_macro_buffer
|
||||
|
||||
* Mon Aug 04 2014 Petr Hracek <phracek@redhat.com> - 1:24.3-22
|
||||
- remove /usr/bin/emacs-nox from install section
|
||||
|
||||
* Mon Aug 04 2014 Petr Hracek <phracek@redhat.com> - 1:24.3-21
|
||||
- /usr/bin/emacs-nox link marked as %%ghost file (#1123573)
|
||||
|
||||
* Fri Aug 01 2014 Petr Hracek <phracek@redhat.com> - 1:24.3-20
|
||||
- Provide /usr/bin/emacs-nox (#1123573)
|
||||
|
||||
* Mon Jul 28 2014 Petr Hracek <phracek@redhat.com> - 1:24.3-19
|
||||
- Add patch to remove timstamp from .elc files (#1122157)
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:24.3-18
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Tue May 20 2014 Petr Hracek <phracek@redhat.com> - 1:24.3-17
|
||||
- CVE-2014-3421 CVE-2014-3422 CVE-2014-3423 CVE-2014-3424 (#1095587)
|
||||
|
||||
* Thu Apr 17 2014 Petr Hracek <phracek@redhat.com> - 1:24.3-16
|
||||
- Info files are not installed (#1062792)
|
||||
|
||||
* Fri Apr 11 2014 Richard W.M. Jones <rjones@redhat.com> - 1:24.3-16
|
||||
- Rebuild because of unannounced ImageMagick soname bump in Rawhide.
|
||||
|
||||
* Tue Apr 01 2014 Richard W.M. Jones <rjones@redhat.com> - 1:24.3-15
|
||||
- Rebuild because of unannounced ImageMagick soname bump in Rawhide.
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Emacs Client
|
||||
GenericName=Text Editor
|
||||
Comment=Edit text
|
||||
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
|
||||
Exec=emacsclient -c --alternate-editor="" %f
|
||||
Icon=emacs
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Categories=Application;Utility;TextEditor;X-Red-Hat-Base;
|
||||
Encoding=UTF-8
|
||||
StartupWMClass=Emacs
|
53
gpgkey-17E90D521672C04631B1183EE78DAE0F3115E06B.gpg
Normal file
53
gpgkey-17E90D521672C04631B1183EE78DAE0F3115E06B.gpg
Normal file
@ -0,0 +1,53 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Comment: 17E9 0D52 1672 C046 31B1 183E E78D AE0F 3115 E06B
|
||||
Comment: Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
xsFNBGIorlcBEADDfvr2wRY5BvUYDRelVXoyPg9kmufSw7M4mNRgjJ/ACzTL0DrT
|
||||
/MiItj/9hFYofCKvqbKNXoidD0K8yW3hg6C4EKEBdh7Tgd1owcn6R4QlxPyWd9a+
|
||||
bJBf/9TV4RtJDdgFSysxpg+q6IiKu91+RH6ioHMHHbMt1VHV8hRwrfr/z9NbWGKw
|
||||
Q5V3dyd+bJcxa2Jrq4Bai1JUj3CJFXmLq7tRqnJwXWURgmyG2R6hV0pGiscxcIAt
|
||||
+aP6iFPVIjOg7y8ttI2DoTA59pqpRD1kcQ3h9wgzRHIKKJwlEkhudeoGgwciGPyp
|
||||
GYKDC5gY02BFRcEr669DP24toJ9RiGA6YBg6ajZZ4k/qLBoBChN9HrbnG+Jh2/ZC
|
||||
ncXTpnwQpGOrdJ20kdUI816PoUISIVTrb2jXJbiYVsJ1PVXYKoSOBr4Zdk2KJLLB
|
||||
L69QCJLf3ERaV4t7lknpSVqyglSPnuQf42FmdXwsu4w4BoD+p2oKsqWaNVIWjCwH
|
||||
kBXCVxhs0lqpce8X60tQ3fo66QQ0UyznEg0wOYFxDqnMo2DF2YMTMW+GQ5W1gHEr
|
||||
+Ehtz4lV/PMlUaTc0bIPz05+b18WWNSZl7squblpJHvjsEjb01W20EZGIiXFwNpJ
|
||||
LepB3Pnvalhmyuq8lB7ISZH5C1dSUzxIr863I8kjVS74GFsi0sKF4mjpcwARAQAB
|
||||
zRxFbGkgWmFyZXRza2lpIDxlbGl6QGdudS5vcmc+wsGOBBMBCgA4FiEEF+kNUhZy
|
||||
wEYxsRg+542uDzEV4GsFAmIorlcCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA
|
||||
CgkQ542uDzEV4GvMPQ//XJOVwvXE0AWHt6XHBQa5vgpZlabRuQQ9C5Di/eC8zs2X
|
||||
TCvkUzGsuDwW0H/Ne+nFp8m97Ykd4Z/02HPf4YVFyF4EEM4q7ThSxbpVsagZ8YJl
|
||||
VckZauLxFE36M/Ask1WwJalMNLudPULJXKe8h7JciHPnO6axCzXkWrR7jr199rSo
|
||||
VdKwuvPcEe9Iu9nophxkaUO2Bls7UFDmA4SkGfeu9L2XJbaxkVooCRf7oazWrUaj
|
||||
ts3X7bQZDeiOvjJQsLUOQDb6b99Y9XFV0rpj2hIlIla0owmPw96kWaF7/m18Hqyt
|
||||
RcHBcscOrR1lZfG/mu+bd+kBccFF58d9XJiyzF8qNp5drXh0CvVSRPwtyXD19jF2
|
||||
mkPLR+sqYPcUavZJN+Zlx6OuhF6b969IRuo04QP82Z6uzoG6XUQdtvSvQuaumwiX
|
||||
QX4V8ZwLgDpjtGWK8s/fSBDOyedPDhLzjQ2Iz2uzWHPFSzisVuD0FBFLv/MzylGo
|
||||
XvkroFcM+o1phc9QELnfQie3mCDHmIxnDJvEKgdAVagN44DlD3/5NtVq0TbZDy+I
|
||||
qTBtX13eBrJ6f/31Mzvlw9C6orbFT9t8hlwg4kqLYCGKEYwW9LIKOcwrWiW5L+cI
|
||||
VoTQaqVvk7++9Qv4Hz/JfWsI7vsuXfrh6fo+oI0x1OhCjRLgmsrFyYiM8bS09ODO
|
||||
wU0EYiiuVwEQANRJHvhVcTBssEJiJW1RK/FrlS8SBrwQczM3UxBbnNsD4PjYQvEA
|
||||
oF9r6qTB5+rWuIYLqsIIdRMrbxsDXyrRI3rGhXAjZMNSuvt4ShmUzHMWXT5S2/xJ
|
||||
TvPVs4WSlUc6Z/His31JpM6Pw5vEg2KklcvYfCuO2CM6xjgS+uyNT7MnVYOZEkil
|
||||
GdjpEqoQ5SqE6iXlvcTujTrNt1cotpi5SKFT+eSV4QXbIpvIJvIpzDtT3SOTN4JD
|
||||
6dcrbYHiYOnBBcbYL/rPDObwCUlK01ed+UkiZU24ByJdpLRhBHeH0wS1OIhdeWEJ
|
||||
Iqae4JQ3L76ZBGorjQOlLy/KCKAifwi4pyjssnvcyYrRFwamRl4DVjNsbydzr+Em
|
||||
SSmxiLaBron9q8PYTaTBzDdSgHNEaJxTsYW0oxCf3iSAOtTNq99CJwd/xTQd+9Ou
|
||||
JAnyA9Km5zL8idFk9BaFpGGXf+kOB7Wd66E2ThdBuz7GiVd+2B9n70cOuMCrt58M
|
||||
lsD/yRVfABSspfIWd2yjOp4qvjX/xiv41s89l0bi6mmozauWkQIA+zaEdpUIA82m
|
||||
nhsTdgvRBxvubJbTDjXT7R26hk2bm7bQQWe4HZYfSTh1RvAokg4/ZoFu1EKWreuw
|
||||
uSzuJCW/KKyvfiabjNQE1n7z+Pqfnfke9xhSRZx3QHJlu6peAMAODJo5ABEBAAHC
|
||||
wXYEGAEKACAWIQQX6Q1SFnLARjGxGD7nja4PMRXgawUCYiiuVwIbDAAKCRDnja4P
|
||||
MRXga1AWD/0Z8yTCJR5oES4m+Yrarn7g6xIYaf2t94J+1qBXHdK5zpSXjt122+ys
|
||||
5bNGFS/R2qB1CxxjJURze9g1nv8n9Rh1xWxd7j0/oFAziluGeybkSJ4iReb1qfIF
|
||||
bn1HvLiD4Cz1RjGDaIScZiuLg1qXjXUcOr90EQ5O8hAnLAeb8kR8d5PeMDfPVfP2
|
||||
2pRM5Hwy3pxeK7zSidrYBSH8PcRuJogS3p3GnNxQoolEtf6qQoDm09Mqi83fvXHE
|
||||
kLh2accy3HuqTekRxL19/IS2lIRmI5CO9Z8gwOVJrJ+YQklqR0VEpgzGcZD85Haw
|
||||
BrmrKV8Eap62Pm8UPwFnOevJ6dj5nhFMc04gHeOjhUsQR7fKNspaYt1O6DiGXhf6
|
||||
yyeEyZu+38hpqqKJ8rMHF64ltbzwOyTiADgR9n8r6wIFBhIyVShhuKgeNpaTJaJ5
|
||||
kNuc3kYwPV8bliblKiYdkN/dSWEn8TDW5cAhKyxyRho0XoZoDO54/sfApSEHM/S1
|
||||
43PMSZp+0WpV/znm87mv68DhzMBby45MaIfcPFszbvtTyLDK/vcQKenTQIG/CFZ3
|
||||
cIrRlfOjtQf2abs/xxfQXknl38jD6IXG3g/kN9XVLRXVYPK58nNnjaU0b2Cb1gy8
|
||||
keZsV/4wEN1Mipv0SFLcd5zNzirfAlJMecPv8cCNHDkA8IOR7zp/VQ==
|
||||
=+3ql
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
3
sources
3
sources
@ -1 +1,2 @@
|
||||
ea9ed000ca165280265aabb55b9afbd7 emacs-24.3.tar.xz
|
||||
SHA512 (emacs-28.1.tar.xz) = c146ff7086aba49fa6c18adf4e485a59eb4c6525fddb9d385034446830b8bb0ac9e6fb76e7b6d94a9fddc41643415f36acad57a1ae16a841c97f61bc211459d9
|
||||
SHA512 (emacs-28.1.tar.xz.sig) = cc905fb3d75c2f03c491fb1e0edd883312147d65125a667dcf77e6a078a6381f0674e321feba24a205d819275b6f31282a54910b3fc1c1284421a0fd35a2882a
|
||||
|
Loading…
Reference in New Issue
Block a user