aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorBill Wohler2012-11-24 19:43:02 -0800
committerBill Wohler2012-11-24 19:43:02 -0800
commit5244bc019bf7376caff3bb198ff674e0ad9fb0e6 (patch)
tree02ee1615e904771f692ec2957c79a08ae029a13d /admin
parent9f7e719509474e92f85955e22e57ffeebd4e96f3 (diff)
parentc07a6ded1df2f4156badc9add2953579622c3722 (diff)
downloademacs-5244bc019bf7376caff3bb198ff674e0ad9fb0e6.tar.gz
emacs-5244bc019bf7376caff3bb198ff674e0ad9fb0e6.zip
Merge from trunk.
Diffstat (limited to 'admin')
-rw-r--r--admin/CPP-DEFINES510
-rw-r--r--admin/ChangeLog442
-rw-r--r--admin/FOR-RELEASE195
-rw-r--r--admin/MAINTAINERS4
-rw-r--r--admin/README2
-rw-r--r--admin/admin.el313
-rw-r--r--admin/alloc-colors.c2
-rwxr-xr-xadmin/build-configs2
-rw-r--r--admin/bzrmerge.el52
-rw-r--r--admin/charsets/Makefile127
-rw-r--r--admin/charsets/gb180302.awk21
-rwxr-xr-xadmin/charsets/mapconv13
-rw-r--r--admin/charsets/mapfiles/MULE-ethiopic.map2
-rw-r--r--admin/charsets/mapfiles/MULE-ipa.map2
-rw-r--r--admin/charsets/mapfiles/MULE-is13194.map2
-rw-r--r--admin/charsets/mapfiles/MULE-lviscii.map2
-rw-r--r--admin/charsets/mapfiles/MULE-sisheng.map2
-rw-r--r--admin/charsets/mapfiles/MULE-tibetan.map2
-rw-r--r--admin/charsets/mapfiles/MULE-uviscii.map2
-rw-r--r--admin/charsets/mapfiles/README2
-rw-r--r--admin/charsets/mule-charsets.el2
-rw-r--r--admin/coccinelle/README3
-rw-r--r--admin/coccinelle/build_string.cocci6
-rw-r--r--admin/coccinelle/frame.cocci133
-rw-r--r--admin/coccinelle/list_loop.cocci19
-rw-r--r--admin/coccinelle/process.cocci110
-rw-r--r--admin/coccinelle/unibyte_string.cocci6
-rw-r--r--admin/coccinelle/vector_contents.cocci16
-rw-r--r--admin/coccinelle/window.cocci242
-rw-r--r--admin/coccinelle/xzalloc.cocci10
-rw-r--r--admin/cus-test.el2
-rwxr-xr-xadmin/diff-tar-files2
-rw-r--r--admin/grammars/README4
-rw-r--r--admin/grammars/bovine-grammar.el519
-rw-r--r--admin/grammars/c.by19
-rw-r--r--admin/grammars/grammar.wy14
-rw-r--r--admin/grammars/java-tags.wy14
-rw-r--r--admin/grammars/js.wy3
-rw-r--r--admin/grammars/make.by3
-rw-r--r--admin/grammars/python.wy69
-rw-r--r--admin/grammars/scheme.by3
-rw-r--r--admin/grammars/srecode-template.wy69
-rw-r--r--admin/grammars/wisent-grammar.el537
-rwxr-xr-xadmin/make-announcement2
-rwxr-xr-xadmin/make-emacs8
-rw-r--r--admin/make-tarball.txt11
-rwxr-xr-xadmin/merge-gnulib94
-rw-r--r--admin/notes/bugtracker54
-rw-r--r--admin/notes/copyright6
-rw-r--r--admin/notes/documentation3
-rw-r--r--admin/notes/font-backend2
-rw-r--r--admin/notes/lel-TODO13
-rw-r--r--admin/notes/multi-tty6
-rw-r--r--admin/notes/tags1006
-rw-r--r--admin/notes/unicode30
-rw-r--r--admin/nt/README-UNDUMP.W322
-rw-r--r--admin/nt/README-ftp-server2
-rwxr-xr-xadmin/quick-install-emacs10
-rw-r--r--admin/unidata/BidiMirroring.txt23
-rw-r--r--admin/unidata/Makefile.in42
-rw-r--r--admin/unidata/README2
-rw-r--r--admin/unidata/UnicodeData.txt808
-rw-r--r--admin/unidata/copyright.html76
-rw-r--r--admin/unidata/unidata-gen.el14
64 files changed, 4008 insertions, 1710 deletions
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES
index c5f8c7ab31f..20c97f886dd 100644
--- a/admin/CPP-DEFINES
+++ b/admin/CPP-DEFINES
@@ -1,10 +1,21 @@
1Here are some of the cpp macros used, together with some short explanation 1Here are some of the cpp macros used, together with some short explanation
2of their use. Feel free to add more macros and more categories. 2of their use. Feel free to add more macros and more categories.
3Most of these are from config.in, so it's probably better to put the
4explanations in that file. Ideally, everything would be defined and
5documented in config.in, and this file would not be necessary.
6
3 7
4** Distinguishing OSes ** 8** Distinguishing OSes **
5 9
10AIX
11_AIX
12BSD4_2
13BSD_SYSTEM
6CYGWIN Compiling the Cygwin port. 14CYGWIN Compiling the Cygwin port.
7__CYGWIN__ Ditto 15__CYGWIN__ Ditto
16GNU_LINUX
17HPUX
18IRIX6_5
8MSDOS Compiling the MS-DOS port. 19MSDOS Compiling the MS-DOS port.
9__MSDOS__ Ditto. 20__MSDOS__ Ditto.
10__DJGPP_MINOR__ Minor version number of the DJGPP library; used only in msdos.c and dosfns.c. 21__DJGPP_MINOR__ Minor version number of the DJGPP library; used only in msdos.c and dosfns.c.
@@ -13,6 +24,10 @@ WINDOWSNT Compiling the native MS-Windows (W32) port.
13__MINGW32__ Compiling the W32 port with the MinGW port of GCC. 24__MINGW32__ Compiling the W32 port with the MinGW port of GCC.
14_MSC_VER Compiling the W32 port with the Microsoft C compiler. 25_MSC_VER Compiling the W32 port with the Microsoft C compiler.
15DARWIN_OS Compiling on Mac OS X or pure Darwin (and using s/darwin.h). 26DARWIN_OS Compiling on Mac OS X or pure Darwin (and using s/darwin.h).
27SOLARIS2
28USG
29USG5
30USG5_4
16 31
17** Distinguishing GUIs ** 32** Distinguishing GUIs **
18 33
@@ -25,6 +40,9 @@ HAVE_X_WINDOWS Compile support for X Window system
25 (It looks like, nowadays, if HAVE_X11 is set, HAVE_X_WINDOWS must 40 (It looks like, nowadays, if HAVE_X11 is set, HAVE_X_WINDOWS must
26 be, and vice versa. At least, this is true for configure, and 41 be, and vice versa. At least, this is true for configure, and
27 msdos; not sure about nt.) 42 msdos; not sure about nt.)
43HAVE_X11R6
44HAVE_X11R6_XIM
45HAVE_X11XTR6
28USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11. 46USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11.
29USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11. 47USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11.
30USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11. 48USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
@@ -45,12 +63,12 @@ HAVE_PROCFS The /proc filesystem is supported.
45 63
46REL_ALLOC Compile in the relocatable memory allocator ralloc.c. 64REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
47SYSTEM_MALLOC Use the system library's malloc. 65SYSTEM_MALLOC Use the system library's malloc.
48subprocesses System can use subprocesses (for M-x shell for example). Defined by default, only MSDOS undefines it. 66subprocesses System can use subprocesses (for M-x shell for example).
49USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int. 67 Defined by default, only MSDOS undefines it.
68DEBUG_LISP_OBJECT_TYPE Define it in lisp.h enable compile time checks
69 on Lisp_Object use.
50 70
51** System specific macros, described in detail in src/s/template.h 71** System specific macros
52CLASH_DETECTION
53COFF
54FIRST_PTY_LETTER 72FIRST_PTY_LETTER
55HAVE_PTYS 73HAVE_PTYS
56INTERRUPT_INPUT 74INTERRUPT_INPUT
@@ -59,159 +77,340 @@ SEPCHAR
59SYSTEM_TYPE 77SYSTEM_TYPE
60 78
61** Misc macros 79** Misc macros
62USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default. 80USER_FULL_NAME If defined, overrides the default pw->pw_gecos for
63 81getting at the full user name. Only MSDOS overrides the default.
64** Replace, the definition is trivial: SWITCH_ENUM_CAST
65
66** Defines from src/m/*.h and src/s/*.h. Some of these might not be used in the code anymore, so they can be removed. The HAVE_* definitions are probably handled by autoconf, so it might be possible to just remove them from src/[sm]/*.h.
67 82
83** Miscellaneous defines. Some of these might not be used in the code
84anymore, so they can be removed.
68 85
69AIX
70AMPERSAND_FULL_NAME 86AMPERSAND_FULL_NAME
71BITS_PER_EMACS_INT
72BITS_PER_LONG
73BITS_PER_CHAR
74BITS_PER_SHORT
75BITS_PER_INT
76BROKEN_DATAGRAM_SOCKETS 87BROKEN_DATAGRAM_SOCKETS
77BROKEN_FIONREAD 88BROKEN_FIONREAD
78BROKEN_GET_CURRENT_DIR_NAME 89BROKEN_GET_CURRENT_DIR_NAME
79BROKEN_NON_BLOCKING_CONNECT 90BROKEN_NON_BLOCKING_CONNECT
80BROKEN_PTY_READ_AFTER_EAGAIN 91BROKEN_PTY_READ_AFTER_EAGAIN
81BROKEN_SA_RESTART
82BROKEN_SIGAIO
83BROKEN_SIGIO
84BROKEN_SIGPOLL
85BROKEN_SIGPTY
86BSD4_2
87BSD4_3
88BSD_SYSTEM
89CLASH_DETECTION 92CLASH_DETECTION
90DATA_SEG_BITS 93DATA_SEG_BITS
91DATA_START 94DATA_START
92DBL_MIN_REPLACEMENT
93DEFAULT_SOUND_DEVICE 95DEFAULT_SOUND_DEVICE
94DEVICE_SEP 96DEVICE_SEP
95DIRECTORY_SEP 97DIRECTORY_SEP
96DONT_REOPEN_PTY 98DONT_REOPEN_PTY
97DOUG_LEA_MALLOC 99DOUG_LEA_MALLOC
98DebPrint
99EMACSDEBUG
100EMACS_CONFIGURATION 100EMACS_CONFIGURATION
101EMACS_CONFIG_OPTIONS 101EMACS_CONFIG_OPTIONS
102EMACS_INT 102EMACS_INT
103EMACS_UINT 103EMACS_UINT
104FILE_SYSTEM_CASE
105FLOAT_CHECK_DOMAIN
106GC_LISP_OBJECT_ALIGNMENT
107GC_MARK_SECONDARY_STACK 104GC_MARK_SECONDARY_STACK
108GC_MARK_STACK 105GC_MARK_STACK
109GC_SETJMP_WORKS 106GC_SETJMP_WORKS
110GMALLOC_INHIBIT_VALLOC
111GNU_LIBRARY_PENDING_OUTPUT_COUNT
112GNU_LINUX
113GNU_MALLOC 107GNU_MALLOC
114HAVE_AIX_SMT_EXP 108HAVE_AIX_SMT_EXP
115HAVE_CBRT 109HAVE_ALARM
116HAVE_CLOSEDIR 110HAVE_ALLOCA
111HAVE_ALLOCA_H
112HAVE_ALSA
113HAVE_ATTRIBUTE_ALIGNED
114HAVE_BDFFONT
115HAVE_BOXES
116HAVE_C99_STRTOLD
117HAVE_CFMAKERAW
118HAVE_CFSETSPEED
119HAVE_CLOCK_GETTIME
120HAVE_CLOCK_SETTIME
121HAVE_COFF_H
122HAVE_COM_ERR_H
123HAVE_COPYSIGN
124HAVE_DBUS
125HAVE_DBUS_TYPE_IS_VALID
126HAVE_DBUS_VALIDATE_BUS_NAME
127HAVE_DBUS_VALIDATE_INTERFACE
128HAVE_DBUS_VALIDATE_MEMBER
129HAVE_DBUS_VALIDATE_PATH
130HAVE_DBUS_WATCH_GET_UNIX_FD
131HAVE_DECL_GETENV
132HAVE_DECL_LOCALTIME_R
133HAVE_DECL_STRMODE
134HAVE_DECL_STRTOIMAX
135HAVE_DECL_STRTOLL
136HAVE_DECL_STRTOULL
137HAVE_DECL_STRTOUMAX
138HAVE_DECL_SYS_SIGLIST
139HAVE_DECL_TZNAME
140HAVE_DECL___SYS_SIGLIST
141HAVE_DES_H
142HAVE_DEV_PTMX
143HAVE_DIALOGS
144HAVE_DIFFTIME
117HAVE_DUP2 145HAVE_DUP2
146HAVE_ENDGRENT
147HAVE_ENDPWENT
148HAVE_ENVIRON_DECL
118HAVE_EUIDACCESS 149HAVE_EUIDACCESS
119HAVE_FMOD 150HAVE_FORK
120HAVE_FPATHCONF 151HAVE_FREEIFADDRS
121HAVE_FREXP 152HAVE_FREETYPE
153HAVE_FSEEKO
122HAVE_FSYNC 154HAVE_FSYNC
123HAVE_FTIME 155HAVE_FUTIMENS
124HAVE_GETCWD 156HAVE_FUTIMES
125HAVE_GETDOMAINNAME 157HAVE_FUTIMESAT
158HAVE_GAI_STRERROR
159HAVE_GCONF
160HAVE_GETADDRINFO
161HAVE_GETDELIM
162HAVE_GETGRENT
126HAVE_GETHOSTNAME 163HAVE_GETHOSTNAME
164HAVE_GETIFADDRS
165HAVE_GETLINE
127HAVE_GETLOADAVG 166HAVE_GETLOADAVG
167HAVE_GETOPT_H
168HAVE_GETOPT_LONG_ONLY
128HAVE_GETPAGESIZE 169HAVE_GETPAGESIZE
170HAVE_GETPEERNAME
129HAVE_GETPT 171HAVE_GETPT
172HAVE_GETPWENT
173HAVE_GETRLIMIT
174HAVE_GETRUSAGE
175HAVE_GETSOCKNAME
130HAVE_GETTIMEOFDAY 176HAVE_GETTIMEOFDAY
131HAVE_GETWD 177HAVE_GET_CURRENT_DIR_NAME
178HAVE_GHOSTSCRIPT
179HAVE_GIF
180HAVE_GNUTLS
181HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY
182HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION
183HAVE_GPM
184HAVE_GRANTPT
185HAVE_GSETTINGS
186HAVE_GTK3
187HAVE_GTK_ADJUSTMENT_GET_PAGE_SIZE
188HAVE_GTK_DIALOG_GET_ACTION_AREA
189HAVE_GTK_FILE_SELECTION_NEW
190HAVE_GTK_MAIN
191HAVE_GTK_MULTIDISPLAY
192HAVE_GTK_ORIENTABLE_SET_ORIENTATION
193HAVE_GTK_WIDGET_GET_MAPPED
194HAVE_GTK_WIDGET_GET_SENSITIVE
195HAVE_GTK_WIDGET_GET_WINDOW
196HAVE_GTK_WIDGET_SET_HAS_WINDOW
197HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP
198HAVE_G_TYPE_INIT
132HAVE_H_ERRNO 199HAVE_H_ERRNO
200HAVE_IFADDRS_H
201HAVE_IMAGEMAGICK
133HAVE_INET_SOCKETS 202HAVE_INET_SOCKETS
134HAVE_INVERSE_HYPERBOLIC 203HAVE_INTTYPES_H
204HAVE_JPEG
205HAVE_KERBEROSIV_DES_H
206HAVE_KERBEROSIV_KRB_H
207HAVE_KERBEROS_DES_H
208HAVE_KERBEROS_KRB_H
209HAVE_KRB5_ERROR_E_TEXT
210HAVE_KRB5_ERROR_TEXT
211HAVE_KRB5_H
212HAVE_KRB_H
213HAVE_LANGINFO_CODESET
214HAVE_LIBCOM_ERR
215HAVE_LIBCRYPTO
216HAVE_LIBDES
217HAVE_LIBDES425
218HAVE_LIBDGC
219HAVE_LIBDNET
220HAVE_LIBHESIOD
221HAVE_LIBK5CRYPTO
222HAVE_LIBKRB
223HAVE_LIBKRB4
224HAVE_LIBKRB5
135HAVE_LIBKSTAT 225HAVE_LIBKSTAT
136HAVE_LIMITS_H 226HAVE_LIBLOCKFILE
227HAVE_LIBM
228HAVE_LIBMAIL
229HAVE_LIBOTF
230HAVE_LIBPERFSTAT
231HAVE_LIBPNG_PNG_H
232HAVE_LIBPTHREADS
233HAVE_LIBRESOLV
234HAVE_LIBSELINUX
235HAVE_LIBXEXT
236HAVE_LIBXML2
237HAVE_LIBXMU
137HAVE_LINUX_VERSION_H 238HAVE_LINUX_VERSION_H
138HAVE_LOGB 239HAVE_LOCALTIME_R
240HAVE_LOCAL_SOCKETS
139HAVE_LONG_FILE_NAMES 241HAVE_LONG_FILE_NAMES
242HAVE_LONG_LONG_INT
140HAVE_LRAND48 243HAVE_LRAND48
244HAVE_LSTAT
245HAVE_LUTIMES
246HAVE_M17N_FLT
247HAVE_MACHINE_SOUNDCARD_H
248HAVE_MACH_MACH_H
249HAVE_MAGICKEXPORTIMAGEPIXELS
250HAVE_MAGICKMERGEIMAGELAYERS
251HAVE_MAILLOCK_H
252HAVE_MALLOC_MALLOC_H
253HAVE_MATHERR
254HAVE_MBSTATE_T
255HAVE_MEMCMP
256HAVE_MEMMOVE
257HAVE_MEMORY_H
258HAVE_MEMSET
141HAVE_MENUS 259HAVE_MENUS
142HAVE_MKDIR 260HAVE_MKSTEMP
143HAVE_MKTIME 261HAVE_MMAP
144HAVE_MOUSE 262HAVE_MULTILINGUAL_MENU
145HAVE_PERROR 263HAVE_NANOTIME
264HAVE_NET_IF_DL_H
265HAVE_NET_IF_H
266HAVE_NLIST_H
267HAVE_OTF_GET_VARIATION_GLYPHS
268HAVE_PERSONALITY_LINUX32
269HAVE_PNG
270HAVE_PNG_H
271HAVE_POSIX_MEMALIGN
272HAVE_PROCFS
273HAVE_PSELECT
146HAVE_PSTAT_GETDYNAMIC 274HAVE_PSTAT_GETDYNAMIC
275HAVE_PTHREAD
276HAVE_PTHREAD_H
277HAVE_PTHREAD_SIGMASK
278HAVE_PTYS
279HAVE_PTY_H
147HAVE_PWD_H 280HAVE_PWD_H
148HAVE_RANDOM 281HAVE_RANDOM
149HAVE_RENAME 282HAVE_READLINK
283HAVE_READLINKAT
284HAVE_RECVFROM
150HAVE_RES_INIT 285HAVE_RES_INIT
151HAVE_RINT 286HAVE_RINT
152HAVE_RMDIR 287HAVE_RSVG
153HAVE_SELECT 288HAVE_SELECT
289HAVE_SENDTO
290HAVE_SEQPACKET
291HAVE_SETITIMER
154HAVE_SETLOCALE 292HAVE_SETLOCALE
155HAVE_SETPGID
156HAVE_SETRLIMIT 293HAVE_SETRLIMIT
157HAVE_SETSID 294HAVE_SHARED_GAME_DIR
158HAVE_SHUTDOWN 295HAVE_SHUTDOWN
296HAVE_SIGNED_${GLTYPE}
297HAVE_SIGNED_SIG_ATOMIC_T
298HAVE_SIGNED_WCHAR_T
299HAVE_SIGNED_WINT_T
300HAVE_SIGSET_T
301HAVE_SNPRINTF
159HAVE_SOCKETS 302HAVE_SOCKETS
160HAVE_SOUND 303HAVE_SOUND
304HAVE_SOUNDCARD_H
305HAVE_SPEED_T
306HAVE_STDINT_H
307HAVE_STDIO_EXT_H
161HAVE_STDLIB_H 308HAVE_STDLIB_H
162HAVE_STRERROR 309HAVE_STLIB_H_1
163HAVE_STRFTIME 310HAVE_STRINGS_H
164HAVE_STRING_H 311HAVE_STRING_H
312HAVE_STRNCASECMP
313HAVE_STRSIGNAL
314HAVE_STRTOIMAX
315HAVE_STRTOLL
316HAVE_STRTOULL
317HAVE_STRTOUMAX
318HAVE_STRUCT_ERA_ENTRY
319HAVE_STRUCT_IFREQ_IFR_ADDR
320HAVE_STRUCT_IFREQ_IFR_ADDR_SA_LEN
321HAVE_STRUCT_IFREQ_IFR_BROADADDR
322HAVE_STRUCT_IFREQ_IFR_FLAGS
323HAVE_STRUCT_IFREQ_IFR_HWADDR
324HAVE_STRUCT_IFREQ_IFR_NETMASK
325HAVE_STRUCT_NLIST_N_UN_N_NAME
326HAVE_STRUCT_STAT_ST_ATIMENSEC
327HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
328HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
329HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
330HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
331HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
332HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
333HAVE_STRUCT_TIMEZONE
334HAVE_STRUCT_TM_TM_ZONE
165HAVE_STRUCT_UTIMBUF 335HAVE_STRUCT_UTIMBUF
166HAVE_SYSINFO 336HAVE_ST_DM_MODE
167HAVE_SYSV_SIGPAUSE 337HAVE_SYMLINK
338HAVE_SYNC
339HAVE_SYS_BITYPES_H
340HAVE_SYS_INTTYPES_H
341HAVE_SYS_LOADAVG_H
342HAVE_SYS_PARAM_H
343HAVE_SYS_RESOURCE_H
168HAVE_SYS_SELECT_H 344HAVE_SYS_SELECT_H
345HAVE_SYS_SOCKET_H
346HAVE_SYS_SOUNDCARD_H
347HAVE_SYS_STAT_H
169HAVE_SYS_SYSTEMINFO_H 348HAVE_SYS_SYSTEMINFO_H
170HAVE_SYS_TIMEB_H 349HAVE_SYS_TIMEB_H
171HAVE_SYS_TIME_H 350HAVE_SYS_TIME_H
351HAVE_SYS_TYPES_H
352HAVE_SYS_UN_H
353HAVE_SYS_UTSNAME_H
354HAVE_SYS_VLIMIT_H
355HAVE_SYS_WAIT_H
172HAVE_TCATTR 356HAVE_TCATTR
357HAVE_TERM_H
358HAVE_TIFF
173HAVE_TIMEVAL 359HAVE_TIMEVAL
360HAVE_TM_GMTOFF
174HAVE_TM_ZONE 361HAVE_TM_ZONE
362HAVE_TOUCHLOCK
363HAVE_TZNAME
175HAVE_TZSET 364HAVE_TZSET
176HAVE_UNISTD_H 365HAVE_UNSIGNED_LONG_LONG_INT
366HAVE_UTIL_H
367HAVE_UTIMENSAT
177HAVE_UTIMES 368HAVE_UTIMES
178HAVE_UTIME_H 369HAVE_UTIME_H
370HAVE_UTMP_H
371HAVE_VFORK
372HAVE_VFORK_H
373HAVE_WCHAR_H
374HAVE_WCHAR_T
179HAVE_WINDOW_SYSTEM 375HAVE_WINDOW_SYSTEM
376HAVE_WINSOCK2_H
377HAVE_WORKING_FORK
378HAVE_WORKING_UTIMES
180HAVE_WORKING_VFORK 379HAVE_WORKING_VFORK
380HAVE_WS2TCPIP_H
381HAVE_XAW3D
382HAVE_XFT
383HAVE_XIM
384HAVE_XKBGETKEYBOARD
385HAVE_XPM
181HAVE_XRMSETDATABASE 386HAVE_XRMSETDATABASE
182HPUX 387HAVE_XSCREENNUMBEROFSCREEN
388HAVE_XSCREENRESOURCESTRING
389HAVE_X_I18N
390HAVE_X_MENU
391HAVE_X_SM
392HAVE_X_WINDOWS
393HAVE__BOOL
394HAVE__FTIME
395HAVE___BUILTIN_UNWIND_INIT
396HAVE___EXECUTABLE_START
397HAVE___FPENDING
183INTERNAL_TERMINAL 398INTERNAL_TERMINAL
184IS_ANY_SEP 399IS_ANY_SEP
185IS_DIRECTORY_SEP 400IS_DIRECTORY_SEP
186LINKER
187LINUX_VERSION_CODE
188LISP_FLOAT_TYPE
189LNOFLSH
190LOCALTIME_CACHE 401LOCALTIME_CACHE
191MAIL_USE_FLOCK 402MAIL_USE_FLOCK
192MAIL_USE_LOCKF 403MAIL_USE_LOCKF
193MAIL_USE_POP 404MAIL_USE_POP
194MAIL_USE_SYSTEM_LOCK 405MAIL_USE_SYSTEM_LOCK
195MAXPATHLEN 406MAXPATHLEN
196MIN_PTY_KERNEL_VERSION -- only used on Mac
197MODE_LINE_BINARY_TEXT
198MUST_UNDEF__STDC__
199NLIST_STRUCT 407NLIST_STRUCT
200NO_ABORT
201NO_EDITRES 408NO_EDITRES
202NO_MATHERR
203NO_TERMIO
204NSIG 409NSIG
205NSIG_MINIMUM 410NSIG_MINIMUM
206NULL
207NULL_DEVICE 411NULL_DEVICE
208ORDINARY_LINK 412ORDINARY_LINK
209O_APPEND
210O_RDONLY
211O_RDWR
212PAGESIZE 413PAGESIZE
213PENDING_OUTPUT_COUNT
214POSIX
215PREFER_VSUSP 414PREFER_VSUSP
216PTY_ITERATION 415PTY_ITERATION
217PTY_NAME_SPRINTF 416PTY_NAME_SPRINTF
@@ -219,9 +418,6 @@ PTY_OPEN
219PTY_TTY_NAME_SPRINTF 418PTY_TTY_NAME_SPRINTF
220PURESIZE 419PURESIZE
221RUN_TIME_REMAP 420RUN_TIME_REMAP
222SA_RESTART
223SEGMENT_MASK
224SETPGRP_RELEASES_CTTY
225SETUP_SLAVE_PTY 421SETUP_SLAVE_PTY
226SIGALRM 422SIGALRM
227SIGCHLD 423SIGCHLD
@@ -231,11 +427,9 @@ SIGNALS_VIA_CHARACTERS
231SIGPIPE 427SIGPIPE
232SIGQUIT 428SIGQUIT
233SIGTRAP 429SIGTRAP
234SOLARIS2
235STDC_HEADERS 430STDC_HEADERS
236SYSTEM_PURESIZE_EXTRA 431SYSTEM_PURESIZE_EXTRA
237SYSTEM_MALLOC 432SYSTEM_MALLOC
238SYSV_SYSTEM_DIR
239TAB3 433TAB3
240TABDLY 434TABDLY
241TERM 435TERM
@@ -244,104 +438,168 @@ TIOCSIGSEND
244TM_IN_SYS_TIME 438TM_IN_SYS_TIME
245ULIMIT_BREAK_VALUE 439ULIMIT_BREAK_VALUE
246UNIX98_PTYS 440UNIX98_PTYS
247USE_CRT_DLL
248USE_TOOLKIT_SCROLL_BARS 441USE_TOOLKIT_SCROLL_BARS
249USG
250USG5
251USG5_4
252USG_SUBTTY_WORKS 442USG_SUBTTY_WORKS
253VALBITS 443VALBITS
254WRETCODE
255XOS_NEEDS_TIME_H 444XOS_NEEDS_TIME_H
256_AIX
257_ARCH_PPC64
258_FILE_OFFSET_BITS 445_FILE_OFFSET_BITS
259_LP64 446_LP64
260_MALLOC_INTERNAL 447_longjmp
448_setjmp
449abort
450alloca
451close
452emacs
453free
454gmtime
455localtime
456malloc
457random
458read
459realloc
460select
461umask
462vfork
463
464
465src/sysdep.c:
466write
467
468src/syssignal.h:
469signal
470sigmask
471sigsetmask
472
473
474lib/dup2.c:
475dup2
476
477lib/signal.h:
478signal
479
480lib/stdio.h:
481fdopen
482fopen
483fwrite
484popen
485rename
486
487lib/stdlib.h:
488calloc
489srandom (conf_post.h may undo)
490
491lib/strftime.c:
492tzname
493tzset
494
495lib/sys/stat.h:
496mkdir
497
498lib/unistd.h:
499chown
500dup
501dup2
502ftruncate
503isatty
504link
505lseek
506pipe
507rmdir
508sleep
509unlink
510
511
512MS DOS stuff:
513
261_NAIVE_DOS_REGS 514_NAIVE_DOS_REGS
515
516
517MS stuff:
518
519USE_CRT_DLL
520
521ms-w32.h:
522DebPrint
523EMACSDEBUG
524MUST_UNDEF__STDC__
525
262_VARARGS_ 526_VARARGS_
263_WINSOCKAPI_ 527_WINSOCKAPI_
264_WINSOCK_H 528_WINSOCK_H
265_longjmp 529
266_setjmp
267_start
268abort
269access 530access
270alloca
271brk
272calloc 531calloc
273chdir 532chdir
274chmod 533chmod
275chown 534chown
276close
277const
278creat 535creat
279ctime 536ctime
280dup 537dup
281dup2 538dup2
282edata
283emacs
284etext
285execlp 539execlp
286execvp 540execvp (also emacsclient.c [WINDOWSNT])
287fdopen 541fdopen
288fileno 542fileno
289fopen 543fopen
290free
291fsync 544fsync
292ftruncate 545ftruncate
293fwrite
294getdefdir 546getdefdir
295getdisk 547getdisk
296getenv
297getpid 548getpid
298getuid
299gmtime
300index
301isatty 549isatty
302kill 550kill
303link 551link
304linux
305localtime
306logb
307lseek 552lseek
308malloc
309mkdir 553mkdir
310mktemp 554mktemp
311open 555open
312pclose 556pclose
313pipe 557pipe
314popen 558popen
315random
316read
317realloc
318rename 559rename
319rindex
320rmdir 560rmdir
321sbrk
322select
323sigmask
324signal 561signal
325sigsetmask
326sleep 562sleep
327spawnve 563spawnve
328srandom
329strdup 564strdup
330strerror
331stricmp 565stricmp
332strnicmp 566strnicmp
333strupr 567strupr
334sys_nerr 568sys_nerr
335system
336temacs
337tzname 569tzname
338tzset 570tzset
339umask 571umask
340unix
341unlink 572unlink
342utimbuf 573utimbuf
343utime 574utime
344vfork 575wait (also movemail.c [WINDOWSNT])
345wait
346write 576write
347xfree 577
578lib-src/ntlib:
579access
580chdir
581chmod
582creat
583dup
584dup2
585execlp
586execvp
587fdopen
588fileno
589fopen
590getpid
591index
592isatty
593lseek
594mkdir
595mktemp
596open
597pclose
598pipe
599popen
600rmdir
601rindex
602sleep
603umask
604unlink
605utime
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 4da85943b7f..05c1463d325 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,421 @@
12012-11-24 Ken Brown <kbrown@cornell.edu>
2
3 * CPP-DEFINES (HAVE_MOUSE): Remove.
4
52012-11-23 Paul Eggert <eggert@cs.ucla.edu>
6
7 Assume POSIX 1003.1-1988 or later for dirent.h (Bug#12958).
8 * CPP-DEFINES (HAVE_CLOSEDIR, HAVE_DIRENT_H): Remove.
9 * notes/copyright: Adjust to src/ndir.h -> nt/inc/dirent.h renaming.
10
112012-11-21 Paul Eggert <eggert@cs.ucla.edu>
12
13 Assume POSIX 1003.1-1988 or later for unistd.h (Bug#12945).
14 * CPP-DEFINES (BROKEN_GETWD, HAVE_GETCWD, HAVE_GETWD, HAVE_SIZE_T)
15 (HAVE_UNISTD_H): Remove.
16
172012-11-17 Paul Eggert <eggert@cs.ucla.edu>
18
19 Assume POSIX 1003.1-1988 or later for fcntl.h (Bug#12881).
20 * CPP-DEFINES (O_RDONLY, O_RDWR, HAVE_FCNTL_H): Remove.
21 * merge-gnulib (GNULIB_MODULES): Add fcntl-h.
22
232012-11-16 Paul Eggert <eggert@cs.ucla.edu>
24
25 Remove no-longer-used pty_max_bytes variable.
26 * CPP-DEFINES (HAVE_FPATHCONF): Remove.
27
282012-11-14 Paul Eggert <eggert@cs.ucla.edu>
29
30 Use faccessat, not access, when checking file permissions (Bug#12632).
31 * merge-gnulib (GNULIB_MODULES): Add faccessat.
32 (GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
33 openat-die, openat-h, save-cwd. Do not avoid fcntl-h.
34 Omit gnulib's m4/fcntl-o.m4.
35
362012-11-05 Paul Eggert <eggert@cs.ucla.edu>
37
38 Assume at least POSIX.1-1988 for getpgrp, setpgid, setsid (Bug#12800).
39 * CPP-DEFINES (HAVE_SETPGID, HAVE_SETSID, SETPGRP_RELEASES_CTTY):
40 Remove; obsolete.
41
42 Simplify by assuming __fpending.
43 * CPP-DEFINES (PENDING_OUTPUT_COUNT): Remove.
44
452012-11-03 Glenn Morris <rgm@gnu.org>
46
47 * admin.el (set-copyright): Add msdos/sed2v2.inp.
48
492012-11-01 Paul Eggert <eggert@cs.ucla.edu>
50
51 Fix data-loss with --batch (Bug#9574).
52 * merge-gnulib (GNULIB_MODULES): Add close-stream.
53
542012-10-12 Kenichi Handa <handa@gnu.org>
55
56 * charsets/Makefile (JISC6226.map): Add missing mappings.
57
582012-10-11 Kenichi Handa <handa@gnu.org>
59
60 * charsets/mapconv: Adjusted for the change of mapfiles/*.gz to
61 mapfiles/*.
62
63 * charsets/gb180302.awk: Handle 4-byte sequences in the input file.
64
65 * charsets/Makefile: Be sure to call mapconv script of the current
66 directory. Adjusted for the change of mapfiles/*.gz to
67 mapfiles/*.
68 (SED_SCRIPT): New variable.
69 (jisx2131-filter): New target.
70 (JISX2131.map): Use jisx2131-filter to filter out characters added
71 for the 2004 year version.
72 (clear): Remove ${SED_SCRIPT} too.
73
74 * charsets/mapfiles/MULE-ethiopic.map,
75 charsets/mapfiles/MULE-ipa.map,
76 charsets/mapfiles/MULE-is13194.map,
77 charsets/mapfiles/MULE-lviscii.map,
78 charsets/mapfiles/MULE-sisheng.map,
79 charsets/mapfiles/MULE-tibetan.map,
80 charsets/mapfiles/MULE-uviscii.map: Fix typo.
81
822012-10-09 Glenn Morris <rgm@gnu.org>
83
84 * admin.el (cusver-scan-cus-start): New function.
85 (cusver-check): Scan old cus-start.el.
86
872012-10-07 Glenn Morris <rgm@gnu.org>
88
89 * admin.el (cusver-new-version): Set default.
90 (cusver-check): Improve interactive argument reading.
91
922012-10-06 Glenn Morris <rgm@gnu.org>
93
94 * admin.el (cusver-new-version): New variable.
95 (cusver-scan): Check if containing group has a :version.
96 (cusver-check): Add VERSION argument.
97
982012-10-01 David Engster <deng@randomsample.de>
99
100 * grammars/bovine-grammar.el:
101 * grammars/wisent-grammar.el: Move to lisp directory.
102
1032012-10-01 David Engster <deng@randomsample.de>
104
105 * grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote):
106 Remove.
107 (bovine-grammar-expand-form): Test for emacs-major-version.
108
109 * grammars/c.by: Add EXPLICIT to keyword tokens.
110
111 * grammars/f90.by: Add %provide token.
112
113 * grammar/grammar.wy (semantic-grammar-lexer): Remove, since it
114 was copied to grammar.el. New %provide token to generate prefix
115 which conforms with Emacs conventions. Remove lexer definition,
116 which is now in grammar.el.
117
1182012-09-27 Glenn Morris <rgm@gnu.org>
119
120 * admin.el (set-version): Set msdos.c's Vwindow_system_version.
121
1222012-09-27 Paul Eggert <eggert@cs.ucla.edu>
123
124 Check more robustly for timer_settime.
125 * merge-gnulib (GNULIB_MODULES): Add timer-time.
126
1272012-09-26 Juanma Barranquero <lekktu@gmail.com>
128
129 * unidata/BidiMirroring.txt:
130 * unidata/UnicodeData.txt: Update to Unicode 6.2.
131
1322012-09-17 Glenn Morris <rgm@gnu.org>
133
134 * admin.el (add-log-time-format): Declare.
135
136 * admin.el (cusver-scan, cusver-check): Bind local variables.
137
138 * admin.el (set-version): Set major version in
139 etc/refcards/ru-refcard.tex and etc/refcards/emacsver.tex.
140 (set-copyright): In etc/refcards, only change ru-refcard.tex
141 and emacsver.tex.
142
143 * admin.el (set-copyright): No more need to set copyrights for
144 nextstep, or .c files. Add configure.ac and config.nt.
145
1462012-09-16 Paul Eggert <eggert@cs.ucla.edu>
147
148 Remove configure's --without-sync-input option (Bug#12450).
149 * CPP-DEFINES (BROKEN_SA_RESTART, SA_RESTART): Remove.
150
1512012-09-16 Glenn Morris <rgm@gnu.org>
152
153 * admin.el (set-version): No more need to set nextstep versions.
154 (set-copyright): Update for moved nextstep files.
155
1562012-09-13 Paul Eggert <eggert@cs.ucla.edu>
157
158 Simplify SIGIO usage (Bug#12408).
159 * CPP_DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL)
160 (BROKEN_SIGPTY, NO_TERMIO): Remove.
161
1622012-09-11 Paul Eggert <eggert@cs.ucla.edu>
163
164 Simplify, document, and port floating-point (Bug#12381).
165 * CPP-DEFINES (HAVE_CBRT, HAVE_LOGB, logb): Remove.
166
1672012-09-09 Paul Eggert <eggert@cs.ucla.edu>
168
169 Assume C89 or later for math functions (Bug#12381).
170 * CPP-DEFINES (HAVE_FMOD, HAVE_FREXP, FLOAT_CHECK_DOMAIN)
171 (HAVE_INVERSE_HYPERBOLIC, NO_MATHERR): Remove.
172
1732012-09-04 Paul Eggert <eggert@cs.ucla.edu>
174
175 Simplify redefinition of 'abort' (Bug#12316).
176 * CPP-DEFINES (NO_ABORT): Remove.
177
1782012-08-28 Glenn Morris <rgm@gnu.org>
179
180 * bzrmerge.el (bzrmerge-merges): Allow unversioned files in the tree.
181
1822012-08-28 Andreas Schwab <schwab@linux-m68k.org>
183
184 * charsets/mule-charsets.el (header): Fix typo.
185
1862012-08-24 Paul Eggert <eggert@cs.ucla.edu>
187
188 On assertion failure, print backtrace if available.
189 * merge-gnulib (GNULIB_MODULES): Add execinfo.
190
1912012-08-16 Paul Eggert <eggert@cs.ucla.edu>
192
193 Use ASCII tests for character types.
194 * merge-gnulib (GNULIB_MODULES): Add c-ctype. This documents a
195 new direct dependency; c-ctype was already being used indirectly
196 via other gnulib modules.
197
1982012-08-14 Paul Eggert <eggert@cs.ucla.edu>
199
200 Use bool for Emacs Lisp booleans.
201 * merge-gnulib (GNULIB_MODULES): Add stdbool. This documents a
202 new direct dependency; stdbool was already being used indirectly
203 via other gnulib modules.
204
2052012-08-11 Glenn Morris <rgm@gnu.org>
206
207 * bzrmerge.el (bzrmerge-resolve): Disable local eval:.
208
2092012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
210
211 * coccinelle/overlay.cocci, coccinelle/symbol.cocci: Remove.
212
2132012-08-02 Paul Eggert <eggert@cs.ucla.edu>
214
215 Port to Solaris 8.
216 * CPP-DEFINES (WRETCODE): Remove.
217
2182012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
219
220 * coccinelle/overlay.cocci: Semantic patch to replace direct
221 access to Lisp_Object members of struct Lisp_Overlay to MVAR.
222
2232012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
224
225 * coccinelle/symbol.cocci: Semantic patch to replace direct
226 access to Lisp_Object members of struct Lisp_Symbol to SVAR.
227
2282012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
229
230 * coccinelle/process.cocci: Semantic patch to replace direct
231 access to Lisp_Object members of struct Lisp_Process to PVAR.
232
2332012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
234
235 * coccinelle/window.cocci: Semantic patch to replace direct
236 access to Lisp_Object members of struct window to WVAR.
237
2382012-07-31 Dmitry Antipov <dmantipov@yandex.ru>
239
240 * coccinelle/frame.cocci: Semantic patch to replace direct
241 access to Lisp_Object members of struct frame to FVAR.
242
2432012-07-28 Paul Eggert <eggert@cs.ucla.edu>
244
245 Use Gnulib environ and stdalign modules (Bug#9772, Bug#9960).
246 * merge-gnulib: Add environ, stdalign.
247
2482012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
249
250 * coccinelle/unibyte_string.cocci: Semantic patch to convert from
251 make_unibyte_string to build_unibyte_string where appropriate.
252
2532012-07-17 Eli Zaretskii <eliz@gnu.org>
254
255 * CPP-DEFINES: Remove FILE_SYSTEM_CASE.
256
2572012-07-17 Chong Yidong <cyd@gnu.org>
258
259 * Version 24.1 released.
260
2612012-07-11 Paul Eggert <eggert@cs.ucla.edu>
262
263 Assume mkdir, perror, rename, rmdir, strerror.
264 * CPP-DEFINES (HAVE_MKDIR, HAVE_PERROR, HAVE_RENAME, HAVE_RMDIR)
265 (HAVE_STRERROR, strerror):
266 Remove.
267
2682012-07-10 Dmitry Antipov <dmantipov@yandex.ru>
269
270 * coccinelle/list_loop.cocci: Semantic patch to convert from Fcdr
271 to XCDR and consistently use CONSP in the list iteration loops.
272 * coccinelle/vector_contents.cocci: Fix indentation.
273
2742012-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
275
276 * bzrmerge.el: Use cl-lib.
277
2782012-07-09 Paul Eggert <eggert@cs.ucla.edu>
279
280 Rename configure.in to configure.ac (Bug#11603).
281 * admin.el (set-version):
282 * quick-install-emacs (VERSION):
283 Get version number from configure.ac, not configure.in.
284
2852012-07-06 Paul Eggert <eggert@cs.ucla.edu>
286
287 Use c_strcasecmp for ASCII case-insensitive comparison (Bug#11786).
288 * merge-gnulib (GNULIB_MODULES): Add c-strcase.
289
2902012-07-05 Dmitry Antipov <dmantipov@yandex.ru>
291
292 * coccinelle/xzalloc.cocci: Semantic patch to convert
293 calls to xmalloc with following memset to xzalloc.
294
2952012-07-04 Juanma Barranquero <lekktu@gmail.com>
296
297 * CPP-DEFINES (LISP_FLOAT_TYPE): Remove, obsolete.
298
2992012-06-26 Dmitry Antipov <dmantipov@yandex.ru>
300
301 * coccinelle/build_string.cocci: Semantic patch
302 to convert from make_string to build_string.
303
3042012-06-24 Dmitry Antipov <dmantipov@yandex.ru>
305
306 First Coccinelle semantic patch.
307 * coccinelle: New subdirectory
308 * coccinelle/README: Documentation stub.
309 * coccinelle/vector_contents.cocci: Semantic patch to replace direct
310 access to `contents' member of Lisp_Vector objects with AREF and ASET
311 where appropriate.
312
3132012-06-22 Paul Eggert <eggert@cs.ucla.edu>
314
315 Support higher-resolution time stamps (Bug#9000).
316 * merge-gnulib (GNULIB_MODULES): Add dtotimespec, gettime,
317 gettimeofday, pselect, stat-time, sys_time, time, timespec-add,
318 timespec-sub, utimens.
319 (GNULIB_TOOL_FLAGS): Add --avoid=select --avoid=sigprocmask.
320 This trims down the gnulib import, from the very latest gnulib.
321 Emacs does its own implementation of 'select' and 'sigprocmask'
322 on Windows, and it assumes 'select' and 'sigprocmask' on non-Windows
323 hosts, so it doesn't need these modules.
324 Similarly, avoid errno, fcntl, fcntl-h, fstat, and sys_types, as
325 these gnulib modules are only for Windows porting and Emacs ports
326 to Windows in a different way.
327
3282012-06-13 Andreas Schwab <schwab@linux-m68k.org>
329
330 * make-emacs: Rename --union-type to --check-lisp-type.
331 Define CHECK_LISP_OBJECT_TYPE insted of USE_LISP_UNION_TYPE.
332 * CPP-DEFINES (DEBUG_LISP_OBJECT_TYPE): Rename from
333 USE_LISP_UNION_TYPE.
334
3352012-06-03 Glenn Morris <rgm@gnu.org>
336
337 * quick-install-emacs (PUBLIC_LIBSRC_SCRIPTS): Remove rcs-checkin.
338
3392012-06-01 Paul Eggert <eggert@cs.ucla.edu>
340
341 Remove --disable-maintainer-mode option from 'configure'. (Bug#11555)
342 * make-tarball.txt: Don't worry about maintainer mode.
343
3442012-05-28 Paul Eggert <eggert@cs.ucla.edu>
345
346 * CPP-DEFINES: Remove HAVE_SYSINFO.
347
3482012-05-27 Paul Eggert <eggert@cs.ucla.edu>
349
350 Assume gnulib does largefile.
351 * merge-gnulib (GNULIB_MODULES): Add largefile.
352
3532012-05-22 Paul Eggert <eggert@cs.ucla.edu>
354
355 Remove src/m/*.
356 * CPP-DEFINES: Do not mention src/m/*.h.
357 (BITS_PER_EMACS_INT, BITS_PER_LONG, BITS_PER_CHAR)
358 (BITS_PER_SHORT, BITS_PER_INT): Remove.
359 * MAINTAINERS: Remove src/m/.
360
3612012-05-21 Paul Eggert <eggert@cs.ucla.edu>
362
363 Use full name for m4/gnulib-comp.m4. (Bug#11529)
364 * merge-gnulib: Leave m4/gnulib-comp.m4's name alone.
365
366 Assume C89 or later.
367 * CPP-DEFINES: Remove NULL, const.
368
369 Make merging from gnulib a script, not a makefile action.
370 * merge-gnulib: New script, with actions moved here from
371 ../Makefile.in.
372
3732012-05-19 Paul Eggert <eggert@cs.ucla.edu>
374
375 * CPP-DEFINES (HAVE_GETDOMAINNAME): Remove.
376
377 * CPP-DEFINES (HAVE_FTIME): Remove.
378
3792012-05-02 Glenn Morris <rgm@gnu.org>
380
381 * bzrmerge.el (bzrmerge-skip-regexp): Add "Auto-commit".
382
3832012-04-10 Glenn Morris <rgm@gnu.org>
384
385 * bzrmerge.el (bzrmerge-skip-regexp): Add "from trunk".
386
387 * unidata/Makefile.in: Add FSF copyright.
388 Make it use autoconf features, and work for out-of-tree builds.
389
3902012-04-07 Eli Zaretskii <eliz@gnu.org>
391
392 * unidata/README:
393 * unidata/copyright.html:
394 * unidata/BidiMirroring.txt:
395 * unidata/UnicodeData.txt: Update for the latest version 6.1 of
396 the Unicode Standard.
397
3982012-02-16 Kenichi Handa <handa@m17n.org>
399
400 * unidata/unidata-gen.el (unidata-prop-alist): Change the default
401 values of name and old-name to nil.
402 (unidata-get-name): Return nil for the default value.
403
4042012-02-11 Glenn Morris <rgm@gnu.org>
405
406 * admin.el (cusver-find-files, cusver-scan, cusver-goto-xref)
407 (cusver-check): New functions.
408
4092012-01-19 Glenn Morris <rgm@gnu.org>
410
411 * bzrmerge.el (bzrmerge-missing): Allow a definitive "no" answer to the
412 "skip?" question, since there can be multiple such for any revision.
413
4142012-01-14 Eli Zaretskii <eliz@gnu.org>
415
416 * FOR-RELEASE (Check the Emacs Tutorial): Mark TUTORIAL.he as
417 updated and checked.
418
12011-11-26 Andreas Schwab <schwab@linux-m68k.org> 4192011-11-26 Andreas Schwab <schwab@linux-m68k.org>
2 420
3 * grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote): 421 * grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote):
@@ -82,11 +500,11 @@
82 500
83 * unidata/makefile.w32-in (all): Remove src/biditype.h and 501 * unidata/makefile.w32-in (all): Remove src/biditype.h and
84 src/bidimirror.h. 502 src/bidimirror.h.
85 (../../src/biditype.h, ../../src/bidimirror.h): Deleted. 503 (../../src/biditype.h, ../../src/bidimirror.h): Delete.
86 504
87 * unidata/Makefile.in (all): Remove src/biditype.h and 505 * unidata/Makefile.in (all): Remove src/biditype.h and
88 src/bidimirror.h. 506 src/bidimirror.h.
89 (../../src/biditype.h, ../../src/bidimirror.h): Deleted. 507 (../../src/biditype.h, ../../src/bidimirror.h): Delete.
90 508
912011-07-07 Juanma Barranquero <lekktu@gmail.com> 5092011-07-07 Juanma Barranquero <lekktu@gmail.com>
92 510
@@ -97,8 +515,8 @@
97 515
98 * unidata/unidata-gen.el (unidata-dir): New variable. 516 * unidata/unidata-gen.el (unidata-dir): New variable.
99 (unidata-setup-list): Expand unidata-text-file in unidata-dir. 517 (unidata-setup-list): Expand unidata-text-file in unidata-dir.
100 (unidata-prop-alist): INDEX element may be a function. New 518 (unidata-prop-alist): INDEX element may be a function.
101 optional element VAL-LIST (for general-category and bidi-class). 519 New optional element VAL-LIST (for general-category and bidi-class).
102 New entry `mirroring'. 520 New entry `mirroring'.
103 (unidata-prop-default, unidata-prop-val-list): New subst. 521 (unidata-prop-default, unidata-prop-val-list): New subst.
104 (unidata-get-character, unidata-put-character): Delete them. 522 (unidata-get-character, unidata-put-character): Delete them.
@@ -454,13 +872,13 @@
454 872
4552009-04-17 Kenichi Handa <handa@m17n.org> 8732009-04-17 Kenichi Handa <handa@m17n.org>
456 874
457 * unidata/unidata-gen.el (unidata-get-decomposition): Adjust 875 * unidata/unidata-gen.el (unidata-get-decomposition):
458 Hangle decomposition rule to Unicode. 876 Adjust Hangle decomposition rule to Unicode.
459 877
4602009-04-09 Kenichi Handa <handa@m17n.org> 8782009-04-09 Kenichi Handa <handa@m17n.org>
461 879
462 * unidata/unidata-gen.el (unidata-describe-decomposition): Return 880 * unidata/unidata-gen.el (unidata-describe-decomposition):
463 a string with a composition property to disable combining 881 Return a string with a composition property to disable combining
464 characters being composed. 882 characters being composed.
465 883
4662009-03-11 Miles Bader <miles@gnu.org> 8842009-03-11 Miles Bader <miles@gnu.org>
@@ -473,7 +891,7 @@
473 891
4742009-02-23 Jason Rumney <jasonr@gnu.org> 8922009-02-23 Jason Rumney <jasonr@gnu.org>
475 893
476 * nt/README-ftp-server: Update for 23.0.91 894 * nt/README-ftp-server: Update for 23.0.91.
477 895
478 * nt/README.W32: Remove ever expanding versions of Windows. 896 * nt/README.W32: Remove ever expanding versions of Windows.
479 Shorten FAQ URL. Remove mention of obsolete lock directory. 897 Shorten FAQ URL. Remove mention of obsolete lock directory.
@@ -955,7 +1373,7 @@
955 1373
9562005-10-17 Bill Wohler <wohler@newt.com> 13742005-10-17 Bill Wohler <wohler@newt.com>
957 1375
958 * FOR-RELEASE (DOCUMENTATION): Removed lisp/toolbar from list 1376 * FOR-RELEASE (DOCUMENTATION): Remove lisp/toolbar from list
959 since it's gone. Also marked mh-e as done. 1377 since it's gone. Also marked mh-e as done.
960 1378
9612005-10-11 Juanma Barranquero <lekktu@gmail.com> 13792005-10-11 Juanma Barranquero <lekktu@gmail.com>
@@ -1002,7 +1420,7 @@
1002 1420
10032005-03-30 Marcelo Toledo <marcelo@marcelotoledo.org> 14212005-03-30 Marcelo Toledo <marcelo@marcelotoledo.org>
1004 1422
1005 * FOR-RELEASE (Documentation): Added check the Emacs Tutorial. 1423 * FOR-RELEASE (Documentation): Add check the Emacs Tutorial.
1006 The first line of every tutorial must begin with a sentence saying 1424 The first line of every tutorial must begin with a sentence saying
1007 "Emacs Tutorial" in the respective language. This should be 1425 "Emacs Tutorial" in the respective language. This should be
1008 followed by "See end for copying conditions", likewise in the 1426 followed by "See end for copying conditions", likewise in the
@@ -1226,7 +1644,7 @@
1226;; coding: utf-8 1644;; coding: utf-8
1227;; End: 1645;; End:
1228 1646
1229 Copyright (C) 2001-2011 Free Software Foundation, Inc. 1647 Copyright (C) 2001-2012 Free Software Foundation, Inc.
1230 1648
1231 This file is part of GNU Emacs. 1649 This file is part of GNU Emacs.
1232 1650
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 65f98c85496..1e4f9f3b48d 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -7,7 +7,7 @@ Check cross-references between the manuals (eg from emacs to elisp)
7are correct. You can use something like the following in the info 7are correct. You can use something like the following in the info
8directory in the Emacs build tree: 8directory in the Emacs build tree:
9 9
10emacs -Q --eval "(setq Info-default-directory-list '(\".\"))" \ 10emacs -Q --eval "(progn (require 'info) (setq Info-directory-list '(\".\")))" \
11 -f info-xref-check-all 11 -f info-xref-check-all
12 12
13make emacs.dvi, elisp.dvi, and deal with any errors (undefined 13make emacs.dvi, elisp.dvi, and deal with any errors (undefined
@@ -31,12 +31,22 @@ its own at the start of a line. It looks better if you reword/respace
31things to avoid these. (AFAIK, there is no way to find these except 31things to avoid these. (AFAIK, there is no way to find these except
32paging through the whole manual.) This should be the very last thing 32paging through the whole manual.) This should be the very last thing
33you do, since any change can alter the layout. 33you do, since any change can alter the layout.
34(Actually, there is probably little point in trying to do this.
35It's only really relevant if printed versions of the manuals are going
36to be published. End-users are not likely to print out all 1000+
37pages of the manuals, and even if they do, the resulting page breaks
38depend on what paper and font size they use. This also means that if
39you _are_ going to do this, it should be done with the paper and font
40size that the GNU Press are going to use when they print the manuals.
41I think this is different to what you get if you just use eg `make
42emacs.pdf' (e.g., enable "smallbook").
34 43
35** Check the keybindings in the refcards are correct, and add any new ones. 44** Check the keybindings in the refcards are correct, and add any new ones.
36Regenerate the pdf versions in etc/refcards/. 45Regenerate the pdf versions in etc/refcards/.
37What paper size are the English versions supposed to be on? 46What paper size are the English versions supposed to be on?
38On Debian testing, the packages texlive-lang-czechslovak and 47On Debian testing, the packages texlive-lang-czechslovak and
39texlive-lang-polish will let you generate the cs-* and sk-* pdfs. 48texlive-lang-polish will let you generate the cs-* and sk-* pdfs.
49(You may need texlive-lang-cyrillic, texlive-lang-german for others.)
40The Makefile rules did not work for me, I had to use something like: 50The Makefile rules did not work for me, I had to use something like:
41csplain -output-format=pdf cs-refcard 51csplain -output-format=pdf cs-refcard
42 52
@@ -53,18 +63,18 @@ pt-br Rodrigo Real
53ru Alex Ott 63ru Alex Ott
54sk Miroslav Vaško 64sk Miroslav Vaško
55 65
66** For a major release, add a "New in Emacs XX" section to faq.texi.
67
56** Remove temporary +++/--- lines in NEWS. 68** Remove temporary +++/--- lines in NEWS.
57 69
58** Try to reorder NEWS: most important things first, related items together. 70** Try to reorder NEWS: most important things first, related items together.
59 71
60** Consider bumping customize-changed-options-previous-release. 72** Consider bumping customize-changed-options-previous-release.
61 73
62* BUGS 74** cusver-check from admin.el can help find new defcustoms missing
75:version tags.
63 76
64** rms: gnus-dired.el is a mistake. Those features should not 77* BUGS
65be part of Gnus. They should be moved to some other part of Emacs.
66rsteib: Gnus dependencies in `gnus-dired.el' (and `mailcap.el') have been
67minimized. I don't know what is left to do here.
68 78
69** Check for modes which bind M-s that conflicts with a new global binding M-s 79** Check for modes which bind M-s that conflicts with a new global binding M-s
70and change key bindings where necessary. The current list of modes: 80and change key bindings where necessary. The current list of modes:
@@ -83,9 +93,10 @@ and change key bindings where necessary. The current list of modes:
83 `log-edit-comment-search-forward'. Perhaps search commands 93 `log-edit-comment-search-forward'. Perhaps search commands
84 on the global key binding `M-s' are useless in these modes. 94 on the global key binding `M-s' are useless in these modes.
85 95
86* DOCUMENTATION 965. Rmail binds `\es' to `rmail-search'/`rmail-summary-search'.
87 97
88** Document XEmbed support 98
99* DOCUMENTATION
89 100
90** Check the Emacs Tutorial. 101** Check the Emacs Tutorial.
91 102
@@ -99,142 +110,136 @@ names of the people who have checked it.
99 110
100SECTION READERS 111SECTION READERS
101---------------------------------- 112----------------------------------
102TUTORIAL 113TUTORIAL cyd
103TUTORIAL.bg 114TUTORIAL.bg ogi
104TUTORIAL.cn 115TUTORIAL.cn
105TUTORIAL.cs 116TUTORIAL.cs
106TUTORIAL.de 117TUTORIAL.de wl
107TUTORIAL.eo 118TUTORIAL.eo
108TUTORIAL.es 119TUTORIAL.es
109TUTORIAL.fr 120TUTORIAL.fr
110TUTORIAL.he 121TUTORIAL.he eliz
111TUTORIAL.it 122TUTORIAL.it
112TUTORIAL.ja 123TUTORIAL.ja
113TUTORIAL.ko 124TUTORIAL.ko
114TUTORIAL.nl 125TUTORIAL.nl Pieter Schoenmakers
115TUTORIAL.pl 126TUTORIAL.pl
116TUTORIAL.pt_BR 127TUTORIAL.pt_BR
117TUTORIAL.ro 128TUTORIAL.ro
118TUTORIAL.ru 129TUTORIAL.ru Alex Ott
119TUTORIAL.sk 130TUTORIAL.sk
120TUTORIAL.sl 131TUTORIAL.sl Primoz PETERLIN
121TUTORIAL.sv 132TUTORIAL.sv Mats Lidell
122TUTORIAL.th 133TUTORIAL.th
123TUTORIAL.zh 134TUTORIAL.zh
124 135
125** Check the manual. 136** Check the manual.
126 137
127abbrevs.texi cyd 138abbrevs.texi cyd
128ack.texi 139ack.texi rgm
129anti.texi 140anti.texi cyd
130arevert-xtra.texi cyd 141arevert-xtra.texi cyd
131basic.texi cyd 142basic.texi cyd
132buffers.texi cyd 143buffers.texi cyd
133building.texi cyd 144building.texi cyd
134calendar.texi 145calendar.texi rgm
135cal-xtra.texi 146cal-xtra.texi rgm
136cmdargs.texi 147cmdargs.texi cyd
137commands.texi cyd 148commands.texi cyd
138custom.texi 149custom.texi cyd
139dired.texi cyd 150dired.texi cyd
140dired-xtra.texi 151dired-xtra.texi rgm
141display.texi cyd 152display.texi cyd
142emacs.texi 153emacs.texi rgm
143emacs-xtra.texi 154emacs-xtra.texi rgm
144emerge-xtra.texi 155emerge-xtra.texi rgm
145entering.texi cyd 156entering.texi cyd
146files.texi cyd 157files.texi cyd
147fixit.texi 158fixit.texi cyd
148fortran-xtra.texi 159fortran-xtra.texi rgm
149frames.texi cyd 160frames.texi cyd
150glossary.texi 161glossary.texi rgm
151help.texi cyd 162help.texi cyd
152indent.texi cyd 163indent.texi cyd
153killing.texi cyd 164killing.texi cyd
154kmacro.texi cyd 165kmacro.texi cyd
155macos.texi 166macos.texi rgm (can't actually test any of it though)
156maintaining.texi cyd 167maintaining.texi cyd
157major.texi
158mark.texi cyd 168mark.texi cyd
159mini.texi 169mini.texi rgm
160misc.texi 170misc.texi cyd
161modes.texi cyd 171modes.texi cyd
162msdog.texi 172msdog.texi rgm (can't actually test any of it though)
163msdog-xtra.texi 173msdog-xtra.texi rgm (can't actually test any of it though)
164mule.texi 174mule.texi rgm (not 100% sure about "Fontsets")
165m-x.texi cyd 175m-x.texi cyd
166picture-xtra.texi 176package.texi cyd
177picture-xtra.texi rgm
167programs.texi cyd 178programs.texi cyd
168regs.texi cyd 179regs.texi cyd
169rmail.texi 180rmail.texi rgm
170screen.texi cyd 181screen.texi cyd
171search.texi cyd 182search.texi cyd
172sending.texi 183sending.texi cyd
173text.texi cyd 184text.texi cyd
174trouble.texi 185trouble.texi cyd
175vc-xtra.texi cyd 186vc-xtra.texi cyd
176vc1-xtra.texi cyd 187vc1-xtra.texi cyd
177windows.texi cyd 188windows.texi cyd
178xresources.texi 189xresources.texi cyd
179 190
180** Check the Lisp manual. 191** Check the Lisp manual.
181 192
182abbrevs.texi 193abbrevs.texi rgm
183advice.texi 194advice.texi cyd
184anti.texi 195anti.texi rgm
185back.texi 196back.texi rgm
186backups.texi 197backups.texi cyd
187buffers.texi 198buffers.texi cyd
188commands.texi 199commands.texi cyd
189compile.texi 200compile.texi cyd
190control.texi 201control.texi cyd
191customize.texi 202customize.texi cyd
192debugging.texi 203debugging.texi cyd
193display.texi 204display.texi cyd
194edebug.texi 205edebug.texi rgm
195elisp.texi 206elisp.texi
196errors.texi 207errors.texi rgm
197eval.texi 208eval.texi cyd
198files.texi 209files.texi cyd
199frames.texi 210frames.texi cyd
200functions.texi 211functions.texi cyd
201hash.texi 212hash.texi cyd
202help.texi 213help.texi cyd
203hooks.texi 214hooks.texi rgm
204index.texi 215index.texi
205internals.texi 216internals.texi rgm cyd
206intro.texi 217intro.texi cyd
207keymaps.texi 218keymaps.texi cyd
208lists.texi 219lists.texi cyd
209loading.texi 220loading.texi cyd
210locals.texi 221macros.texi cyd
211macros.texi 222maps.texi rgm
212maps.texi 223markers.texi rgm
213markers.texi 224minibuf.texi rgm
214minibuf.texi 225modes.texi cyd
215modes.texi 226nonascii.texi cyd
216nonascii.texi 227numbers.texi cyd
217numbers.texi 228objects.texi cyd
218objects.texi 229os.texi cyd
219os.texi 230package.texi rgm
220package.texi 231positions.texi cyd
221positions.texi 232processes.texi rgm
222processes.texi 233searching.texi rgm
223searching.texi 234sequences.texi cyd
224sequences.texi 235streams.texi cyd
225streams.texi 236strings.texi cyd
226strings.texi 237symbols.texi cyd
227symbols.texi 238syntax.texi cyd
228syntax.texi 239text.texi cyd
229text.texi 240tips.texi rgm
230tips.texi 241variables.texi cyd
231variables.texi 242windows.texi rgm (skimmed)
232windows.texi
233
234* PLANNED ADDITIONS
235
236** pov-mode (probably not for Emacs-23: waiting for a Free POV-Ray).
237** gas-mode ?
238 243
239 244
240Local variables: 245Local variables:
diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS
index bfac347eb15..34763083e9a 100644
--- a/admin/MAINTAINERS
+++ b/admin/MAINTAINERS
@@ -34,7 +34,6 @@ Eli Zaretskii
34 src/msdos.[ch] 34 src/msdos.[ch]
35 src/dosfns.[ch] 35 src/dosfns.[ch]
36 src/w16select.c 36 src/w16select.c
37 src/s/msdos.h
38 lisp/term/internal.el 37 lisp/term/internal.el
39 lisp/term/pc-win.el 38 lisp/term/pc-win.el
40 lisp/dos-fns.el 39 lisp/dos-fns.el
@@ -171,7 +170,6 @@ src/insdel.c
171src/image.c 170src/image.c
172src/lastfile.c 171src/lastfile.c
173src/lread.c 172src/lread.c
174src/m/
175src/macros.c 173src/macros.c
176src/makefile.w32-in 174src/makefile.w32-in
177src/marker.c 175src/marker.c
@@ -184,7 +182,6 @@ src/print.c
184src/process.c 182src/process.c
185src/ralloc.c 183src/ralloc.c
186src/region-cache.c 184src/region-cache.c
187src/s/
188src/scroll.c 185src/scroll.c
189src/search.c 186src/search.c
190src/sound.c 187src/sound.c
@@ -220,4 +217,3 @@ src/xmenu.c
220src/xrdb.c 217src/xrdb.c
221src/xselect.c 218src/xselect.c
222src/xterm.c 219src/xterm.c
223
diff --git a/admin/README b/admin/README
index 10a8f2244fc..b5eefc2da7a 100644
--- a/admin/README
+++ b/admin/README
@@ -1,4 +1,4 @@
1Copyright (C) 2001-2011 Free Software Foundation, Inc. 1Copyright (C) 2001-2012 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 4
diff --git a/admin/admin.el b/admin/admin.el
index 9235144f6c6..ec78fb27865 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -1,6 +1,6 @@
1;;; admin.el --- utilities for Emacs administration 1;;; admin.el --- utilities for Emacs administration
2 2
3;; Copyright (C) 2001-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
4 4
5;; This file is part of GNU Emacs. 5;; This file is part of GNU Emacs.
6 6
@@ -26,6 +26,8 @@
26 26
27;;; Code: 27;;; Code:
28 28
29(defvar add-log-time-format) ; in add-log
30
29(defun add-release-logs (root version) 31(defun add-release-logs (root version)
30 "Add \"Version VERSION released.\" change log entries in ROOT. 32 "Add \"Version VERSION released.\" change log entries in ROOT.
31Root must be the root of an Emacs source tree." 33Root must be the root of an Emacs source tree."
@@ -62,7 +64,7 @@ Root must be the root of an Emacs source tree."
62 (set-version-in-file root "README" version 64 (set-version-in-file root "README" version
63 (rx (and "version" (1+ space) 65 (rx (and "version" (1+ space)
64 (submatch (1+ (in "0-9.")))))) 66 (submatch (1+ (in "0-9."))))))
65 (set-version-in-file root "configure.in" version 67 (set-version-in-file root "configure.ac" version
66 (rx (and "AC_INIT" (1+ (not (in ?,))) 68 (rx (and "AC_INIT" (1+ (not (in ?,)))
67 ?, (0+ space) 69 ?, (0+ space)
68 (submatch (1+ (in "0-9.")))))) 70 (submatch (1+ (in "0-9."))))))
@@ -126,39 +128,20 @@ Root must be the root of an Emacs source tree."
126 (set-version-in-file root "nt/emacsclient.rc" comma-space-version 128 (set-version-in-file root "nt/emacsclient.rc" comma-space-version
127 (rx (and "\"ProductVersion\"" (0+ space) ?, 129 (rx (and "\"ProductVersion\"" (0+ space) ?,
128 (0+ space) ?\" (submatch (1+ (in "0-9, "))) 130 (0+ space) ?\" (submatch (1+ (in "0-9, ")))
129 "\\0\"")))) 131 "\\0\"")))
130 ;; nextstep. 132 ;; Major version only.
131 (set-version-in-file 133 (when (string-match "\\([0-9]\\{2,\\}\\)" version)
132 root "nextstep/Cocoa/Emacs.base/Contents/Info.plist" 134 (setq version (match-string 1 version))
133 version (rx (and "CFBundleGetInfoString" (1+ anything) "Emacs" (1+ space) 135 (set-version-in-file root "src/msdos.c" version
134 (submatch (1+ (in "0-9.")))))) 136 (rx (and "Vwindow_system_version" (1+ not-newline)
135 (set-version-in-file 137 ?\( (submatch (1+ (in "0-9"))) ?\))))
136 root "nextstep/Cocoa/Emacs.base/Contents/Info.plist" 138 (set-version-in-file root "etc/refcards/ru-refcard.tex" version
137 version (rx (and "CFBundleShortVersionString" (1+ not-newline) ?\n 139 "\\\\newcommand{\\\\versionemacs}\\[0\\]\
138 (0+ not-newline) "<string>" (0+ space) 140{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs")
139 (submatch (1+ (in "0-9.")))))) 141 (set-version-in-file root "etc/refcards/emacsver.tex" version
140 (set-version-in-file 142 "\\\\def\\\\versionemacs\
141 root "nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings" 143{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs"))))
142 version (rx (and "CFBundleShortVersionString" (0+ space) ?= (0+ space) 144
143 ?\" (0+ space) "Version" (1+ space)
144 (submatch (1+ (in "0-9."))))))
145 (set-version-in-file
146 root "nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings"
147 version (rx (and "CFBundleGetInfoString" (0+ space) ?= (0+ space)
148 ?\" (0+ space) "Emacs version" (1+ space)
149 (submatch (1+ (in "0-9."))))))
150 (set-version-in-file
151 root "nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist"
152 version (rx (and "ApplicationRelease" (0+ space) ?= (0+ space)
153 ?\" (0+ space) (submatch (1+ (in "0-9."))))))
154 (set-version-in-file
155 root "nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist"
156 version (rx (and "FullVersionID" (0+ space) ?= (0+ space)
157 ?\" (0+ space) "Emacs" (1+ space)
158 (submatch (1+ (in "0-9."))))))
159 (set-version-in-file
160 root "nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop"
161 version (rx (and "Version=" (submatch (1+ (in "0-9.")))))))
162 145
163;; Note this makes some assumptions about form of short copyright. 146;; Note this makes some assumptions about form of short copyright.
164(defun set-copyright (root copyright) 147(defun set-copyright (root copyright)
@@ -172,45 +155,28 @@ Root must be the root of an Emacs source tree."
172 (format-time-string "%Y"))))) 155 (format-time-string "%Y")))))
173 (unless (file-exists-p (expand-file-name "src/emacs.c" root)) 156 (unless (file-exists-p (expand-file-name "src/emacs.c" root))
174 (error "%s doesn't seem to be the root of an Emacs source tree" root)) 157 (error "%s doesn't seem to be the root of an Emacs source tree" root))
175 (set-version-in-file root "src/emacs.c" copyright 158 (set-version-in-file root "configure.ac" copyright
176 (rx (and "emacs_copyright" (0+ (not (in ?\"))) 159 (rx (and bol "copyright" (0+ (not (in ?\")))
177 ?\" (submatch (1+ (not (in ?\")))) ?\")))
178 (set-version-in-file root "lib-src/ebrowse.c" copyright
179 (rx (and "emacs_copyright" (0+ (not (in ?\")))
180 ?\" (submatch (1+ (not (in ?\")))) ?\")))
181 (set-version-in-file root "lib-src/etags.c" copyright
182 (rx (and "emacs_copyright" (0+ (not (in ?\")))
183 ?\" (submatch (1+ (not (in ?\")))) ?\"))) 160 ?\" (submatch (1+ (not (in ?\")))) ?\")))
161 (set-version-in-file root "msdos/sed2v2.inp" copyright
162 (rx (and bol "/^#undef " (1+ not-newline)
163 "define COPYRIGHT" (1+ space)
164 ?\" (submatch (1+ (not (in ?\")))) ?\")))
165 (set-version-in-file root "nt/config.nt" copyright
166 (rx (and bol "#" (0+ blank) "define" (1+ blank)
167 "COPYRIGHT" (1+ blank)
168 ?\" (submatch (1+ (not (in ?\")))) ?\")))
184 (set-version-in-file root "lib-src/rcs2log" copyright 169 (set-version-in-file root "lib-src/rcs2log" copyright
185 (rx (and "Copyright" (0+ space) ?= (0+ space) 170 (rx (and "Copyright" (0+ space) ?= (0+ space)
186 ?\' (submatch (1+ nonl))))) 171 ?\' (submatch (1+ nonl)))))
187 ;; This one is a nuisance, as it needs to be split over two lines.
188 (string-match "\\(.*[0-9]\\{4\\} *\\)\\(.*\\)" copyright)
189 ;; nextstep.
190 (set-version-in-file
191 root "nextstep/Cocoa/Emacs.base/Contents/Info.plist"
192 copyright (rx (and "CFBundleGetInfoString" (1+ anything) "Emacs" (1+ space)
193 (1+ (in "0-9.")) (1+ space)
194 (submatch (1+ (not (in ?\<)))))))
195 (set-version-in-file
196 root "nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings"
197 copyright (rx (and "NSHumanReadableCopyright" (0+ space) ?\= (0+ space)
198 ?\" (submatch (1+ (not (in ?\")))))))
199 (set-version-in-file
200 root "nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist"
201 copyright (rx (and "Copyright" (0+ space) ?\= (0+ space)
202 ?\" (submatch (1+ (not (in ?\")))))))
203 (when (string-match "\\([0-9]\\{4\\}\\)" copyright) 172 (when (string-match "\\([0-9]\\{4\\}\\)" copyright)
204 (setq copyright (match-string 1 copyright)) 173 (setq copyright (match-string 1 copyright))
205 (dolist (file (directory-files (expand-file-name "etc/refcards" root) 174 (set-version-in-file root "etc/refcards/ru-refcard.tex" copyright
206 t "\\.tex\\'")) 175 "\\\\newcommand{\\\\cyear}\\[0\\]\
207 (unless (string-match "gnus-refcard\\.tex" file) 176{\\([0-9]\\{4\\}\\)}.+%.+copyright year")
208 (set-version-in-file 177 (set-version-in-file root "etc/refcards/emacsver.tex" copyright
209 root file copyright 178 "\\\\def\\\\year\
210 (concat (if (string-match "ru-refcard\\.tex" file) 179{\\([0-9]\\{4\\}\\)}.+%.+copyright year")))
211 "\\\\newcommand{\\\\cyear}\\[0\\]{"
212 "\\\\def\\\\year{")
213 "\\([0-9]\\{4\\}\\)}.+%.+copyright year"))))))
214 180
215;;; Various bits of magic for generating the web manuals 181;;; Various bits of magic for generating the web manuals
216 182
@@ -240,7 +206,7 @@ Root must be the root of an Emacs source tree."
240 (manual-txt texi (expand-file-name "emacs.txt" txt-dir)) 206 (manual-txt texi (expand-file-name "emacs.txt" txt-dir))
241 (manual-pdf texi (expand-file-name "emacs.pdf" dest)) 207 (manual-pdf texi (expand-file-name "emacs.pdf" dest))
242 (manual-dvi texi (expand-file-name "emacs.dvi" dvi-dir) 208 (manual-dvi texi (expand-file-name "emacs.dvi" dvi-dir)
243 (expand-file-name "emacs.ps" ps-dir))) 209 (expand-file-name "emacs.ps" ps-dir)))
244 ;; Lisp manual 210 ;; Lisp manual
245 (let ((texi (expand-file-name "doc/lispref/elisp.texi" root))) 211 (let ((texi (expand-file-name "doc/lispref/elisp.texi" root)))
246 (manual-html-node texi (expand-file-name "elisp" html-node-dir)) 212 (manual-html-node texi (expand-file-name "elisp" html-node-dir))
@@ -248,7 +214,20 @@ Root must be the root of an Emacs source tree."
248 (manual-txt texi (expand-file-name "elisp.txt" txt-dir)) 214 (manual-txt texi (expand-file-name "elisp.txt" txt-dir))
249 (manual-pdf texi (expand-file-name "elisp.pdf" dest)) 215 (manual-pdf texi (expand-file-name "elisp.pdf" dest))
250 (manual-dvi texi (expand-file-name "elisp.dvi" dvi-dir) 216 (manual-dvi texi (expand-file-name "elisp.dvi" dvi-dir)
251 (expand-file-name "elisp.ps" ps-dir))) 217 (expand-file-name "elisp.ps" ps-dir)))
218 ;; Misc manuals
219 (let ((manuals '("ada-mode" "auth" "autotype" "calc" "cc-mode"
220 "cl" "dbus" "dired-x" "ebrowse" "ede" "ediff"
221 "edt" "eieio" "emacs-mime" "epa" "erc" "ert"
222 "eshell" "eudc" "faq" "flymake" "forms"
223 "gnus" "emacs-gnutls" "idlwave" "info"
224 "mairix-el" "message" "mh-e" "newsticker"
225 "nxml-mode" "org" "pcl-cvs" "pgg" "rcirc"
226 "remember" "reftex" "sasl" "sc" "semantic"
227 "ses" "sieve" "smtpmail" "speedbar" "tramp"
228 "url" "vip" "viper" "widget" "woman")))
229 (dolist (manual manuals)
230 (manual-misc-html manual root html-node-dir html-mono-dir)))
252 (message "Manuals created in %s" dest))) 231 (message "Manuals created in %s" dest)))
253 232
254(defconst manual-doctype-string 233(defconst manual-doctype-string
@@ -265,6 +244,12 @@ Root must be the root of an Emacs source tree."
265(defconst manual-style-string "<style type=\"text/css\"> 244(defconst manual-style-string "<style type=\"text/css\">
266@import url('/style.css');\n</style>\n") 245@import url('/style.css');\n</style>\n")
267 246
247(defun manual-misc-html (name root html-node-dir html-mono-dir)
248 (let ((texi (expand-file-name (format "doc/misc/%s.texi" name) root)))
249 (manual-html-node texi (expand-file-name name html-node-dir))
250 (manual-html-mono texi (expand-file-name (concat name ".html")
251 html-mono-dir))))
252
268(defun manual-html-mono (texi-file dest) 253(defun manual-html-mono (texi-file dest)
269 "Run Makeinfo on TEXI-FILE, emitting mono HTML output to DEST. 254 "Run Makeinfo on TEXI-FILE, emitting mono HTML output to DEST.
270This function also edits the HTML files so that they validate as 255This function also edits the HTML files so that they validate as
@@ -307,13 +292,15 @@ the @import directive."
307 (let (copyright-text) 292 (let (copyright-text)
308 (manual-html-fix-index-1) 293 (manual-html-fix-index-1)
309 ;; Move copyright notice to the end. 294 ;; Move copyright notice to the end.
310 (re-search-forward "[ \t]*<p>Copyright &copy;") 295 (when (re-search-forward "[ \t]*<p>Copyright &copy;" nil t)
311 (setq opoint (match-beginning 0)) 296 (setq opoint (match-beginning 0))
312 (re-search-forward "</blockquote>") 297 (re-search-forward "</blockquote>")
313 (setq copyright-text (buffer-substring opoint (point))) 298 (setq copyright-text (buffer-substring opoint (point)))
314 (delete-region opoint (point)) 299 (delete-region opoint (point)))
315 (manual-html-fix-index-2) 300 (manual-html-fix-index-2)
316 (insert copyright-text "\n</div>\n")) 301 (if copyright-text
302 (insert copyright-text))
303 (insert "\n</div>\n"))
317 ;; For normal nodes, give the header div a blue bg. 304 ;; For normal nodes, give the header div a blue bg.
318 (manual-html-fix-node-div)) 305 (manual-html-fix-node-div))
319 (save-buffer)))))) 306 (save-buffer))))))
@@ -369,9 +356,9 @@ Also generate PostScript output in PS-DEST."
369 356
370(defun manual-html-fix-index-1 () 357(defun manual-html-fix-index-1 ()
371 (let (opoint) 358 (let (opoint)
372 (re-search-forward "<body>\n\\(<h1 class=\"settitle\\)") 359 (re-search-forward "<body>\n")
373 (setq opoint (match-beginning 1)) 360 (setq opoint (match-end 0))
374 (search-forward "<h2 class=\"unnumbered") 361 (search-forward "<h2 class=\"")
375 (goto-char (match-beginning 0)) 362 (goto-char (match-beginning 0))
376 (delete-region opoint (point)) 363 (delete-region opoint (point))
377 (insert "<div id=\"content\" class=\"inner\">\n\n"))) 364 (insert "<div id=\"content\" class=\"inner\">\n\n")))
@@ -380,7 +367,8 @@ Also generate PostScript output in PS-DEST."
380 "Replace the index list in the current buffer with a HTML table." 367 "Replace the index list in the current buffer with a HTML table."
381 (let (done open-td tag desc) 368 (let (done open-td tag desc)
382 ;; Convert the list that Makeinfo made into a table. 369 ;; Convert the list that Makeinfo made into a table.
383 (search-forward "<ul class=\"menu\">") 370 (or (search-forward "<ul class=\"menu\">" nil t)
371 (search-forward "<ul>"))
384 (replace-match "<table style=\"float:left\" width=\"100%\">") 372 (replace-match "<table style=\"float:left\" width=\"100%\">")
385 (forward-line 1) 373 (forward-line 1)
386 (while (not done) 374 (while (not done)
@@ -413,7 +401,7 @@ Also generate PostScript output in PS-DEST."
413 (replace-match " </td></tr></table>\n 401 (replace-match " </td></tr></table>\n
414<h3>Detailed Node Listing</h3>\n\n" t t) 402<h3>Detailed Node Listing</h3>\n\n" t t)
415 (search-forward "<p>") 403 (search-forward "<p>")
416 (search-forward "<p>") 404 (search-forward "<p>" nil t)
417 (goto-char (match-beginning 0)) 405 (goto-char (match-beginning 0))
418 (skip-chars-backward "\n ") 406 (skip-chars-backward "\n ")
419 (setq open-td nil) 407 (setq open-td nil)
@@ -427,8 +415,8 @@ Also generate PostScript output in PS-DEST."
427 (setq open-td nil)) 415 (setq open-td nil))
428 (insert " <tr> 416 (insert " <tr>
429 <th colspan=\"2\" align=\"left\" style=\"text-align:left\">") 417 <th colspan=\"2\" align=\"left\" style=\"text-align:left\">")
430 (re-search-forward "</p>[ \t\n]*<ul class=\"menu\">") 418 (if (re-search-forward "</p>[ \t\n]*<ul class=\"menu\">" nil t)
431 (replace-match " </th></tr>")) 419 (replace-match " </th></tr>")))
432 ((looking-at "[ \t]*</ul>[ \t]*$") 420 ((looking-at "[ \t]*</ul>[ \t]*$")
433 (replace-match 421 (replace-match
434 (if open-td 422 (if open-td
@@ -437,11 +425,168 @@ Also generate PostScript output in PS-DEST."
437 (setq done t)) 425 (setq done t))
438 (t 426 (t
439 (if (eobp) 427 (if (eobp)
440 (error "Parse error in %s" f)) 428 (error "Parse error in %s" f)) ; f is bound in manual-html-node
441 (unless open-td 429 (unless open-td
442 (setq done t)))) 430 (setq done t))))
443 (forward-line 1)))) 431 (forward-line 1))))
444 432
433
434;; Stuff to check new defcustoms got :version tags.
435;; Adapted from check-declare.el.
436
437(defun cusver-find-files (root &optional old)
438 "Find .el files beneath directory ROOT that contain defcustoms.
439If optional OLD is non-nil, also include defvars."
440 (process-lines find-program root
441 "-name" "*.el"
442 "-exec" grep-program
443 "-l" "-E" (format "^[ \\t]*\\(def%s"
444 (if old "(custom|var)"
445 "custom"
446 ))
447 "{}" "+"))
448
449(defvar cusver-new-version (format "%s.%s" emacs-major-version
450 (1+ emacs-minor-version))
451 "Version number that new defcustoms should have.")
452
453(defun cusver-scan (file &optional old)
454 "Scan FILE for `defcustom' calls.
455Return a list with elements of the form (VAR . VER),
456This means that FILE contains a defcustom for variable VAR, with
457a :version tag having value VER (may be nil).
458If optional argument OLD is non-nil, also scan for defvars."
459 (let ((m (format "Scanning %s..." file))
460 (re (format "^[ \t]*\\((def%s\\)[ \t\n]"
461 (if old "\\(custom\\|var\\)" "\\(custom\\|group\\)")))
462 alist var ver form glist grp)
463 (message "%s" m)
464 (with-temp-buffer
465 (insert-file-contents file)
466 ;; FIXME we could theoretically be inside a string.
467 (while (re-search-forward re nil t)
468 (goto-char (match-beginning 1))
469 (if (and (setq form (ignore-errors (read (current-buffer))))
470 (setq var (car-safe (cdr-safe form)))
471 ;; Exclude macros, eg (defcustom ,varname ...).
472 (symbolp var))
473 (progn
474 (setq ver (car (cdr-safe (memq :version form))))
475 (if (equal "group" (match-string 2))
476 ;; Group :version could be old.
477 (if (equal ver cusver-new-version)
478 (setq glist (cons (cons var ver) glist)))
479 ;; If it specifies a group and the whole group has a
480 ;; version. use that.
481 (unless ver
482 (setq grp (car (cdr-safe (memq :group form))))
483 (and grp
484 (setq grp (car (cdr-safe grp))) ; (quote foo) -> foo
485 (setq ver (assq grp glist))))
486 (setq alist (cons (cons var ver) alist))))
487 (if form (message "Malformed defcustom: `%s'" form)))))
488 (message "%sdone" m)
489 alist))
490
491(defun cusver-scan-cus-start (file)
492 "Scan cus-start.el and return an alist with elements (VAR . VER)."
493 (if (file-readable-p file)
494 (with-temp-buffer
495 (insert-file-contents file)
496 (when (search-forward "(let ((all '(" nil t)
497 (backward-char 1)
498 (let (var ver alist)
499 (dolist (elem (ignore-errors (read (current-buffer))))
500 (when (symbolp (setq var (car-safe elem)))
501 (or (stringp (setq ver (nth 3 elem)))
502 (setq ver nil))
503 (setq alist (cons (cons var ver) alist))))
504 alist)))))
505
506(define-button-type 'cusver-xref 'action #'cusver-goto-xref)
507
508(defun cusver-goto-xref (button)
509 "Jump to a lisp file for the BUTTON at point."
510 (let ((file (button-get button 'file))
511 (var (button-get button 'var)))
512 (if (not (file-readable-p file))
513 (message "Cannot read `%s'" file)
514 (with-current-buffer (find-file-noselect file)
515 (goto-char (point-min))
516 (or (re-search-forward (format "^[ \t]*(defcustom[ \t]*%s" var) nil t)
517 (message "Unable to locate defcustom"))
518 (pop-to-buffer (current-buffer))))))
519
520;; You should probably at least do a grep over the old directory
521;; to check the results of this look sensible.
522;; TODO Check cus-start if something moved from C to Lisp.
523;; TODO Handle renamed things with aliases to the old names.
524(defun cusver-check (newdir olddir version)
525 "Check that defcustoms have :version tags where needed.
526NEWDIR is the current lisp/ directory, OLDDIR is that from the previous
527release. A defcustom that is only in NEWDIR should have a :version
528tag. We exclude cases where a defvar exists in OLDDIR, since
529just converting a defvar to a defcustom does not require a :version bump.
530
531Note that a :version tag should also be added if the value of a defcustom
532changes (in a non-trivial way). This function does not check for that."
533 (interactive (list (read-directory-name "New Lisp directory: ")
534 (read-directory-name "Old Lisp directory: ")
535 (number-to-string
536 (read-number "New version number: "
537 (string-to-number cusver-new-version)))))
538 (or (file-directory-p (setq newdir (expand-file-name newdir)))
539 (error "Directory `%s' not found" newdir))
540 (or (file-directory-p (setq olddir (expand-file-name olddir)))
541 (error "Directory `%s' not found" olddir))
542 (setq cusver-new-version version)
543 (let* ((newfiles (progn (message "Finding new files with defcustoms...")
544 (cusver-find-files newdir)))
545 (oldfiles (progn (message "Finding old files with defcustoms...")
546 (cusver-find-files olddir t)))
547 (newcus (progn (message "Reading new defcustoms...")
548 (mapcar
549 (lambda (file)
550 (cons file (cusver-scan file))) newfiles)))
551 oldcus result thisfile file)
552 (message "Reading old defcustoms...")
553 (dolist (file oldfiles)
554 (setq oldcus (append oldcus (cusver-scan file t))))
555 (setq oldcus (append oldcus (cusver-scan-cus-start
556 (expand-file-name "cus-start.el" olddir))))
557 ;; newcus has elements (FILE (VAR VER) ... ).
558 ;; oldcus just (VAR . VER).
559 (message "Checking for version tags...")
560 (dolist (new newcus)
561 (setq file (car new)
562 thisfile
563 (let (missing var)
564 (dolist (cons (cdr new))
565 (or (cdr cons)
566 (assq (setq var (car cons)) oldcus)
567 (push var missing)))
568 (if missing
569 (cons file missing))))
570 (if thisfile
571 (setq result (cons thisfile result))))
572 (message "Checking for version tags... done")
573 (if (not result)
574 (message "No missing :version tags")
575 (pop-to-buffer "*cusver*")
576 (erase-buffer)
577 (insert "These defcustoms might be missing :version tags:\n\n")
578 (dolist (elem result)
579 (let* ((str (file-relative-name (car elem) newdir))
580 (strlen (length str)))
581 (dolist (var (cdr elem))
582 (insert (format "%s: %s\n" str var))
583 (make-text-button (+ (line-beginning-position 0) strlen 2)
584 (line-end-position 0)
585 'file (car elem)
586 'var var
587 'help-echo "Mouse-2: visit this definition"
588 :type 'cusver-xref)))))))
589
445(provide 'admin) 590(provide 'admin)
446 591
447;;; admin.el ends here 592;;; admin.el ends here
diff --git a/admin/alloc-colors.c b/admin/alloc-colors.c
index b3ea8af9d70..2ad5acadcb0 100644
--- a/admin/alloc-colors.c
+++ b/admin/alloc-colors.c
@@ -1,6 +1,6 @@
1/* Allocate X colors. Used for testing with dense colormaps. 1/* Allocate X colors. Used for testing with dense colormaps.
2 2
3Copyright (C) 2001-2011 Free Software Foundation, Inc. 3Copyright (C) 2001-2012 Free Software Foundation, Inc.
4 4
5This file is part of GNU Emacs. 5This file is part of GNU Emacs.
6 6
diff --git a/admin/build-configs b/admin/build-configs
index 79ba58aeec0..59a3a1bbbca 100755
--- a/admin/build-configs
+++ b/admin/build-configs
@@ -1,7 +1,7 @@
1#! /usr/bin/perl 1#! /usr/bin/perl
2# Build Emacs in several different configurations. 2# Build Emacs in several different configurations.
3 3
4# Copyright (C) 2001-2011 Free Software Foundation, Inc. 4# Copyright (C) 2001-2012 Free Software Foundation, Inc.
5 5
6# This file is part of GNU Emacs. 6# This file is part of GNU Emacs.
7 7
diff --git a/admin/bzrmerge.el b/admin/bzrmerge.el
index 583f0d88866..8d64dd9edbf 100644
--- a/admin/bzrmerge.el
+++ b/admin/bzrmerge.el
@@ -1,9 +1,9 @@
1;;; bzrmerge.el --- help merge one Emacs bzr branch to another 1;;; bzrmerge.el --- help merge one Emacs bzr branch to another
2 2
3;; Copyright (C) 2010-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
4 4
5;; Author: Stefan Monnier <monnier@iro.umontreal.ca> 5;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
6;; Keywords: 6;; Keywords: maint
7 7
8;; GNU Emacs is free software: you can redistribute it and/or modify 8;; GNU Emacs is free software: you can redistribute it and/or modify
9;; it under the terms of the GNU General Public License as published by 9;; it under the terms of the GNU General Public License as published by
@@ -24,11 +24,11 @@
24 24
25;;; Code: 25;;; Code:
26 26
27(eval-when-compile 27(eval-when-compile (require 'cl-lib))
28 (require 'cl)) ; assert
29 28
30(defvar bzrmerge-skip-regexp 29(defvar bzrmerge-skip-regexp
31 "back[- ]?port\\|merge\\|sync\\|re-?generate\\|bump version" 30 "back[- ]?port\\|merge\\|sync\\|re-?generate\\|bump version\\|from trunk\\|\
31Auto-commit"
32 "Regexp matching logs of revisions that might be skipped. 32 "Regexp matching logs of revisions that might be skipped.
33`bzrmerge-missing' will ask you if it should skip any matches.") 33`bzrmerge-missing' will ask you if it should skip any matches.")
34 34
@@ -45,16 +45,23 @@ The list returned is sorted by oldest-first."
45 (erase-buffer) 45 (erase-buffer)
46 ;; We generally want to make sure we start with a clean tree, but we also 46 ;; We generally want to make sure we start with a clean tree, but we also
47 ;; want to allow restarts (i.e. with some part of FROM already merged but 47 ;; want to allow restarts (i.e. with some part of FROM already merged but
48 ;; not yet committed). 48 ;; not yet committed). Unversioned (unknown) files in the tree
49 ;; are also ok.
49 (call-process "bzr" nil t nil "status" "-v") 50 (call-process "bzr" nil t nil "status" "-v")
50 (goto-char (point-min)) 51 (goto-char (point-min))
51 (when (re-search-forward "^conflicts:\n" nil t) 52 (when (re-search-forward "^conflicts:\n" nil t)
52 (error "You still have unresolved conflicts")) 53 (error "You still have unresolved conflicts"))
53 (let ((merges ())) 54 (let ((merges ())
55 found)
54 (if (not (re-search-forward "^pending merges:\n" nil t)) 56 (if (not (re-search-forward "^pending merges:\n" nil t))
55 (when (save-excursion 57 (when (save-excursion
56 (goto-char (point-min)) 58 (goto-char (point-min))
57 (re-search-forward "^[a-z ]*:\n" nil t)) 59 (while (and
60 (re-search-forward "^\\([a-z ]*\\):\n" nil t)
61 (not
62 (setq found
63 (not (equal "unknown" (match-string 1)))))))
64 found)
58 (error "You still have uncommitted changes")) 65 (error "You still have uncommitted changes"))
59 ;; This is really stupid, but it seems there's no easy way to figure 66 ;; This is really stupid, but it seems there's no easy way to figure
60 ;; out which revisions have been merged already. The only info I can 67 ;; out which revisions have been merged already. The only info I can
@@ -133,9 +140,23 @@ are both lists of revnos, in oldest-first order."
133 (setq str (substring str (match-end 0)))) 140 (setq str (substring str (match-end 0))))
134 (when (string-match "[.!;, ]+\\'" str) 141 (when (string-match "[.!;, ]+\\'" str)
135 (setq str (substring str 0 (match-beginning 0)))) 142 (setq str (substring str 0 (match-beginning 0))))
136 (if (save-excursion (y-or-n-p (concat str ": Skip? "))) 143 (let ((help-form "\
137 (setq skip t)))) 144Type `y' to skip this revision,
138 (if skip 145`N' to include it and go on to the next revision,
146`n' to not skip, but continue to search this log entry for skip regexps,
147`q' to quit merging."))
148 (pcase (save-excursion
149 (read-char-choice
150 (format "%s: Skip (y/n/N/q/%s)? " str
151 (key-description (vector help-char)))
152 '(?y ?n ?N ?q)))
153 (`?y (setq skip t))
154 (`?q (keyboard-quit))
155 ;; A single log entry can match skip-regexp multiple
156 ;; times. If you are sure you don't want to skip it,
157 ;; you don't want to be asked multiple times.
158 (`?N (setq skip 'no))))))
159 (if (eq skip t)
139 (push revno skipped) 160 (push revno skipped)
140 (push revno revnos))))) 161 (push revno revnos)))))
141 (delete-region (point) (point-max))) 162 (delete-region (point) (point-max)))
@@ -146,7 +167,8 @@ are both lists of revnos, in oldest-first order."
146 (unless (file-exists-p file) (error "Bzrmerge-resolve: Can't find %s" file)) 167 (unless (file-exists-p file) (error "Bzrmerge-resolve: Can't find %s" file))
147 (with-demoted-errors 168 (with-demoted-errors
148 (let ((exists (find-buffer-visiting file))) 169 (let ((exists (find-buffer-visiting file)))
149 (with-current-buffer (let ((enable-local-variables :safe)) 170 (with-current-buffer (let ((enable-local-variables :safe)
171 (enable-local-eval nil))
150 (find-file-noselect file)) 172 (find-file-noselect file))
151 (if (buffer-modified-p) 173 (if (buffer-modified-p)
152 (error "Unsaved changes in %s" (current-buffer))) 174 (error "Unsaved changes in %s" (current-buffer)))
@@ -241,17 +263,17 @@ Does not make other difference."
241 ;; Do a "skip" (i.e. merge the meta-data only). 263 ;; Do a "skip" (i.e. merge the meta-data only).
242 (setq beg (1- (car skip))) 264 (setq beg (1- (car skip)))
243 (while (and skip (or (null merge) (< (car skip) (car merge)))) 265 (while (and skip (or (null merge) (< (car skip) (car merge))))
244 (assert (> (car skip) (or end beg))) 266 (cl-assert (> (car skip) (or end beg)))
245 (setq end (pop skip))) 267 (setq end (pop skip)))
246 (message "Skipping %s..%s" beg end) 268 (message "Skipping %s..%s" beg end)
247 (bzrmerge-add-metadata from end)) 269 (bzrmerge-add-metadata from end))
248 270
249 (t 271 (t
250 ;; Do a "normal" merge. 272 ;; Do a "normal" merge.
251 (assert (or (null skip) (< (car merge) (car skip)))) 273 (cl-assert (or (null skip) (< (car merge) (car skip))))
252 (setq beg (1- (car merge))) 274 (setq beg (1- (car merge)))
253 (while (and merge (or (null skip) (< (car merge) (car skip)))) 275 (while (and merge (or (null skip) (< (car merge) (car skip))))
254 (assert (> (car merge) (or end beg))) 276 (cl-assert (> (car merge) (or end beg)))
255 (setq end (pop merge))) 277 (setq end (pop merge)))
256 (message "Merging %s..%s" beg end) 278 (message "Merging %s..%s" beg end)
257 (if (with-temp-buffer 279 (if (with-temp-buffer
diff --git a/admin/charsets/Makefile b/admin/charsets/Makefile
index b16e7ccd748..e5cf2508d85 100644
--- a/admin/charsets/Makefile
+++ b/admin/charsets/Makefile
@@ -77,6 +77,7 @@ MULE = MULE-ethiopic.map MULE-ipa.map MULE-is13194.map \
77 MULE-lviscii.map MULE-uviscii.map 77 MULE-lviscii.map MULE-uviscii.map
78 78
79TRANS_TABLE = cp51932.el eucjp-ms.el 79TRANS_TABLE = cp51932.el eucjp-ms.el
80SED_SCRIPT = jisx2131-filter
80 81
81all: ${CHARSETS} ${TRANS_TABLE} 82all: ${CHARSETS} ${TRANS_TABLE}
82 83
@@ -86,11 +87,11 @@ AWK = gawk
86 87
87VSCII.map: ${GLIBC_CHARMAPS}/TCVN5712-1.gz mapconv compact.awk 88VSCII.map: ${GLIBC_CHARMAPS}/TCVN5712-1.gz mapconv compact.awk
88 # Generating $@... 89 # Generating $@...
89 @mapconv $< '/^<.*[ ]\/x[0-9a-f].[ ]/' GLIBC-1 compact.awk > $@ 90 @./mapconv $< '/^<.*[ ]\/x[0-9a-f].[ ]/' GLIBC-1 compact.awk > $@
90 91
91VSCII-2.map: ${GLIBC_CHARMAPS}/TCVN5712-1.gz mapconv compact.awk 92VSCII-2.map: ${GLIBC_CHARMAPS}/TCVN5712-1.gz mapconv compact.awk
92 # Generating $@... 93 # Generating $@...
93 @mapconv $< '/^<.*[ ]\/x[2-7a-f].[ ]/' GLIBC-1 compact.awk \ 94 @./mapconv $< '/^<.*[ ]\/x[2-7a-f].[ ]/' GLIBC-1 compact.awk \
94 | sed 's/0x20-0x7F.*/0x00-0x7F 0x0000/' > $@ 95 | sed 's/0x20-0x7F.*/0x00-0x7F 0x0000/' > $@
95 96
96ALTERNATIVNYJ.map: IBM866.map 97ALTERNATIVNYJ.map: IBM866.map
@@ -110,45 +111,45 @@ ALTERNATIVNYJ.map: IBM866.map
110 -e '/0xFA/ s/ .*/ 0x00B1/' \ 111 -e '/0xFA/ s/ .*/ 0x00B1/' \
111 -e '/0xFB/ s/ .*/ 0x00F7/' < $< >> $@ 112 -e '/0xFB/ s/ .*/ 0x00F7/' < $< >> $@
112 113
113MIK.map: mapfiles/bulgarian-mik.txt.gz mapconv compact.awk 114MIK.map: mapfiles/bulgarian-mik.txt mapconv compact.awk
114 # Generating $@... 115 # Generating $@...
115 @mapconv $< '1,$$' CZYBORRA compact.awk > $@ 116 @./mapconv $< '1,$$' CZYBORRA compact.awk > $@
116 117
117PTCP154.map: mapfiles/PTCP154.gz mapconv compact.awk 118PTCP154.map: mapfiles/PTCP154 mapconv compact.awk
118 # Generating $@... 119 # Generating $@...
119 @mapconv $< '/^0x/' IANA compact.awk > $@ 120 @./mapconv $< '/^0x/' IANA compact.awk > $@
120 121
121stdenc.map: mapfiles/stdenc.txt.gz mapconv compact.awk 122stdenc.map: mapfiles/stdenc.txt mapconv compact.awk
122 # Generating $@... 123 # Generating $@...
123 @mapconv $< '/^[0-9A-Fa-f]/' UNICODE compact.awk > $@ 124 @./mapconv $< '/^[0-9A-Fa-f]/' UNICODE compact.awk > $@
124 125
125symbol.map: mapfiles/symbol.txt.gz mapconv compact.awk 126symbol.map: mapfiles/symbol.txt mapconv compact.awk
126 # Generating $@... 127 # Generating $@...
127 @mapconv $< '/^[0-9A-Fa-f]/' UNICODE compact.awk > $@ 128 @./mapconv $< '/^[0-9A-Fa-f]/' UNICODE compact.awk > $@
128 129
129CP720.map: mapfiles/CP720.map.gz 130CP720.map: mapfiles/CP720.map
130 # Generating $@... 131 # Generating $@...
131 @zcat $< > $@ 132 @cp $< $@
132 133
133CP858.map: mapfiles/CP858.map.gz 134CP858.map: mapfiles/CP858.map
134 # Generating $@... 135 # Generating $@...
135 @zcat $< > $@ 136 @cp $< $@
136 137
137CP949-2BYTE.map: ${GLIBC_CHARMAPS}/CP949.gz mapconv compact.awk 138CP949-2BYTE.map: ${GLIBC_CHARMAPS}/CP949.gz mapconv compact.awk
138 # Generating $@... 139 # Generating $@...
139 @mapconv $< '/^<.*[ ]\/x[89a-f]/' GLIBC-2 compact.awk > $@ 140 @./mapconv $< '/^<.*[ ]\/x[89a-f]/' GLIBC-2 compact.awk > $@
140 141
141GB2312.map: ${GLIBC_CHARMAPS}/GB2312.gz mapconv compact.awk 142GB2312.map: ${GLIBC_CHARMAPS}/GB2312.gz mapconv compact.awk
142 # Generating $@... 143 # Generating $@...
143 @mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@ 144 @./mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@
144 145
145GBK.map: ${GLIBC_CHARMAPS}/GBK.gz mapconv compact.awk 146GBK.map: ${GLIBC_CHARMAPS}/GBK.gz mapconv compact.awk
146 # Generating $@... 147 # Generating $@...
147 @mapconv $< '/^<.*[ ]\/x[89a-f]/' GLIBC-2 compact.awk > $@ 148 @./mapconv $< '/^<.*[ ]\/x[89a-f]/' GLIBC-2 compact.awk > $@
148 149
149GB180302.map: ${GLIBC_CHARMAPS}/GB18030.gz mapconv gb180302.awk 150GB180302.map: ${GLIBC_CHARMAPS}/GB18030.gz mapconv gb180302.awk
150 # Generating $@... 151 # Generating $@...
151 @mapconv $< '/^<.*[ ]\/x..\/x..[ ]/' GLIBC-2 gb180302.awk > $@ 152 @./mapconv $< '/^<.*[ ]\/x..\/x..[ ]/' GLIBC-2 gb180302.awk > $@
152 153
153GB180304.map: GB180302.map gb180304.awk 154GB180304.map: GB180302.map gb180304.awk
154 # Generating $@... 155 # Generating $@...
@@ -156,35 +157,39 @@ GB180304.map: GB180302.map gb180304.awk
156 157
157JISX0201.map: ${GLIBC_CHARMAPS}/JIS_X0201.gz mapconv compact.awk 158JISX0201.map: ${GLIBC_CHARMAPS}/JIS_X0201.gz mapconv compact.awk
158 # Generating $@... 159 # Generating $@...
159 @mapconv $< '/^<.*[ ]\/x[0-9]/' GLIBC-1 compact.awk > $@ 160 @./mapconv $< '/^<.*[ ]\/x[0-9]/' GLIBC-1 compact.awk > $@
160 @echo "# Generated by hand" >> $@ 161 @echo "# Generated by hand" >> $@
161 @echo "0xA1-0xDF 0xFF61" >> $@ 162 @echo "0xA1-0xDF 0xFF61" >> $@
162 163
163JISX0208.map: ${GLIBC_CHARMAPS}/EUC-JP.gz mapconv 164JISX0208.map: ${GLIBC_CHARMAPS}/EUC-JP.gz mapconv
164 # Generating $@... 165 # Generating $@...
165 @mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2-7 \ 166 @./mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2-7 \
166 | sed 's/0x2015/0x2014/' > $@ 167 | sed 's/0x2015/0x2014/' > $@
167 168
168JISX0212.map: ${GLIBC_CHARMAPS}/EUC-JP.gz mapconv compact.awk 169JISX0212.map: ${GLIBC_CHARMAPS}/EUC-JP.gz mapconv compact.awk
169 # Generating $@... 170 # Generating $@...
170 @mapconv $< '/^<.*[ ]\/x8f/ s,/x8f,,' GLIBC-2-7 compact.awk > $@ 171 @./mapconv $< '/^<.*[ ]\/x8f/ s,/x8f,,' GLIBC-2-7 compact.awk > $@
171 172
172JISX2131.map: ${GLIBC_CHARMAPS}/EUC-JISX0213.gz mapconv 173jisx2131-filter: mapfiles/JISX213A.map
174 @sed -n -e '/^#/d' -e 's,.*0x\([0-9A-Z]*\)$$,/0x0*\1$$/d,p' < $< > $@
175
176JISX2131.map: ${GLIBC_CHARMAPS}/EUC-JISX0213.gz mapconv jisx2131-filter
173 # Generating $@... 177 # Generating $@...
174 @mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2-7 \ 178 @./mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2-7 \
179 | sed -f jisx2131-filter \
175 | sed -e 's/0x2015/0x2014/' -e 's/0x2299/0x29BF/' > $@ 180 | sed -e 's/0x2015/0x2014/' -e 's/0x2299/0x29BF/' > $@
176 181
177JISX2132.map: ${GLIBC_CHARMAPS}/EUC-JISX0213.gz mapconv 182JISX2132.map: ${GLIBC_CHARMAPS}/EUC-JISX0213.gz mapconv
178 # Generating $@... 183 # Generating $@...
179 @mapconv $< '/^<.*[ ]\/x8f/ s,/x8f,,' GLIBC-2-7 > $@ 184 @./mapconv $< '/^<.*[ ]\/x8f/ s,/x8f,,' GLIBC-2-7 > $@
180 185
181JISX213A.map: mapfiles/JISX213A.map.gz 186JISX213A.map: mapfiles/JISX213A.map
182 # Generating $@ 187 # Generating $@
183 @zcat $< > $@ 188 @cp $< $@
184 189
185CP932-2BYTE.map: mapfiles/CP932.TXT.gz mapconv cp932.awk 190CP932-2BYTE.map: mapfiles/CP932.TXT mapconv cp932.awk
186 # Generating $@... 191 # Generating $@...
187 @mapconv $< '/^0x[89A-F][0-9A-F][0-9A-F]/' UNICODE2 cp932.awk > $@ 192 @./mapconv $< '/^0x[89A-F][0-9A-F][0-9A-F]/' UNICODE2 cp932.awk > $@
188 193
189cp51932.el: CP932-2BYTE.map cp51932.awk 194cp51932.el: CP932-2BYTE.map cp51932.awk
190 @$(AWK) -f cp51932.awk < CP932-2BYTE.map > $@ 195 @$(AWK) -f cp51932.awk < CP932-2BYTE.map > $@
@@ -192,17 +197,27 @@ cp51932.el: CP932-2BYTE.map cp51932.awk
192eucjp-ms.el: ${GLIBC_CHARMAPS}/EUC-JP-MS.gz eucjp-ms.awk 197eucjp-ms.el: ${GLIBC_CHARMAPS}/EUC-JP-MS.gz eucjp-ms.awk
193 @zcat $< | $(AWK) -f eucjp-ms.awk > $@ 198 @zcat $< | $(AWK) -f eucjp-ms.awk > $@
194 199
195JISC6226.map : mapfiles/Uni2JIS.gz mapconv kuten.awk 200JISC6226.map: mapfiles/Uni2JIS mapconv kuten.awk
196 # Generating $@... 201 # Generating $@...
197 @mapconv $< '/^[^#].*0-/' YASUOKA kuten.awk > $@ 202# As Uni2JIS doesn't contain mappings of characters added to Unicode
203# recently, we add them manually here (including one correction for
204# U+005C vs U+FF3C). These changes are based on bogytech's blog at
205# http://bogytech.blogspot.jp/search/label/emacs.
206 @./mapconv $< '/^[^#].*0-/' YASUOKA kuten.awk \
207 | sed -e '/0x2140/s/005C/FF3C/' \
208 -e '$$ a 0x3442 0x3D4E' \
209 -e '$$ a 0x374E 0x25874' \
210 -e '$$ a 0x3764 0x28EF6' \
211 -e '$$ a 0x513D 0x2F80F' \
212 -e '$$ a 0x7045 0x9724' > $@
198 213
199KSC5601.map: ${GLIBC_CHARMAPS}/EUC-KR.gz mapconv compact.awk 214KSC5601.map: ${GLIBC_CHARMAPS}/EUC-KR.gz mapconv compact.awk
200 # Generating $@... 215 # Generating $@...
201 @mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@ 216 @./mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@
202 217
203BIG5.map: ${GLIBC_CHARMAPS}/BIG5.gz mapconv compact.awk 218BIG5.map: ${GLIBC_CHARMAPS}/BIG5.gz mapconv compact.awk
204 # Generating $@... 219 # Generating $@...
205 @mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2 > $@ 220 @./mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2 > $@
206 221
207BIG5-1.map: BIG5.map mapconv big5.awk 222BIG5-1.map: BIG5.map mapconv big5.awk
208 # Generating $@... 223 # Generating $@...
@@ -216,52 +231,52 @@ BIG5-2.map: BIG5.map mapconv big5.awk
216 231
217BIG5-HKSCS.map: ${GLIBC_CHARMAPS}/BIG5-HKSCS.gz mapconv compact.awk 232BIG5-HKSCS.map: ${GLIBC_CHARMAPS}/BIG5-HKSCS.gz mapconv compact.awk
218 # Generating $@... 233 # Generating $@...
219 @mapconv $< '/^<.*[ ]\/x[89a-f].\//' GLIBC-2 compact.awk > $@ 234 @./mapconv $< '/^<.*[ ]\/x[89a-f].\//' GLIBC-2 compact.awk > $@
220 235
221JOHAB.map: ${GLIBC_CHARMAPS}/JOHAB.gz mapconv compact.awk 236JOHAB.map: ${GLIBC_CHARMAPS}/JOHAB.gz mapconv compact.awk
222 # Generating $@... 237 # Generating $@...
223 @mapconv $< '/^<.*[ ]\/x[89a-f]/' GLIBC-2 compact.awk > $@ 238 @./mapconv $< '/^<.*[ ]\/x[89a-f]/' GLIBC-2 compact.awk > $@
224 239
225CNS-1.map: ${GLIBC_CHARMAPS}/EUC-TW.gz mapconv compact.awk 240CNS-1.map: ${GLIBC_CHARMAPS}/EUC-TW.gz mapconv compact.awk
226 # Generating $@... 241 # Generating $@...
227 @mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@ 242 @./mapconv $< '/^<.*[ ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@
228 243
229# CNS-1.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk 244# CNS-1.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
230# # Generating $@... 245# # Generating $@...
231# @mapconv $< '/^C1/' KANJI-DATABASE compact.awk > $@ 246# @./mapconv $< '/^C1/' KANJI-DATABASE compact.awk > $@
232 247
233CNS-2.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk 248CNS-2.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
234 # Generating $@... 249 # Generating $@...
235 @mapconv $< '/^C2/' KANJI-DATABASE compact.awk > $@ 250 @./mapconv $< '/^C2/' KANJI-DATABASE compact.awk > $@
236 251
237CNS-3.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk 252CNS-3.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
238 # Generating $@... 253 # Generating $@...
239 @mapconv $< '/^C3/' KANJI-DATABASE compact.awk > $@ 254 @./mapconv $< '/^C3/' KANJI-DATABASE compact.awk > $@
240 255
241CNS-4.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk 256CNS-4.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
242 # Generating $@... 257 # Generating $@...
243 @mapconv $< '/^C4/' KANJI-DATABASE compact.awk > $@ 258 @./mapconv $< '/^C4/' KANJI-DATABASE compact.awk > $@
244 259
245CNS-5.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk 260CNS-5.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
246 # Generating $@... 261 # Generating $@...
247 @mapconv $< '/^C5/' KANJI-DATABASE compact.awk > $@ 262 @./mapconv $< '/^C5/' KANJI-DATABASE compact.awk > $@
248 263
249CNS-6.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk 264CNS-6.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
250 # Generating $@... 265 # Generating $@...
251 @mapconv $< '/^C6/' KANJI-DATABASE compact.awk > $@ 266 @./mapconv $< '/^C6/' KANJI-DATABASE compact.awk > $@
252 267
253CNS-7.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk 268CNS-7.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
254 # Generating $@... 269 # Generating $@...
255 @mapconv $< '/^C7/' KANJI-DATABASE compact.awk > $@ 270 @./mapconv $< '/^C7/' KANJI-DATABASE compact.awk > $@
256 271
257CNS-F.map: ${GLIBC_CHARMAPS}/EUC-TW.gz mapconv compact.awk 272CNS-F.map: ${GLIBC_CHARMAPS}/EUC-TW.gz mapconv compact.awk
258 # Generating $@... 273 # Generating $@...
259 @mapconv $< '/^<.*\/x8e\/xaf/ s,/x8e/xaf,,' GLIBC-2-7 compact.awk > $@ 274 @./mapconv $< '/^<.*\/x8e\/xaf/ s,/x8e/xaf,,' GLIBC-2-7 compact.awk > $@
260 275
261# General target to produce map files for mule charsets. 276# General target to produce map files for mule charsets.
262MULE-%.map: mapfiles/MULE-%.map.gz 277MULE-%.map: mapfiles/MULE-%.map
263 # Generating $@... 278 # Generating $@...
264 @zcat $< > $@ 279 @cp $< $@
265 280
266# General target to produce map files for ISO-8859, GEORGIAN, and 281# General target to produce map files for ISO-8859, GEORGIAN, and
267# EBCDIC charsets. We can not use the original file name because of 282# EBCDIC charsets. We can not use the original file name because of
@@ -269,21 +284,21 @@ MULE-%.map: mapfiles/MULE-%.map.gz
269 284
2708859-%.map: ${GLIBC_CHARMAPS}/ISO-8859-%.gz mapconv compact.awk 2858859-%.map: ${GLIBC_CHARMAPS}/ISO-8859-%.gz mapconv compact.awk
271 # Generating $@... 286 # Generating $@...
272 @mapconv $< '/^<.*[ ]\/x/' GLIBC-1 compact.awk > $@ 287 @./mapconv $< '/^<.*[ ]\/x/' GLIBC-1 compact.awk > $@
273 288
274KA-%.map: ${GLIBC_CHARMAPS}/GEORGIAN-%.gz mapconv compact.awk 289KA-%.map: ${GLIBC_CHARMAPS}/GEORGIAN-%.gz mapconv compact.awk
275 # Generating $@... 290 # Generating $@...
276 @mapconv $< '/^<.*[ ]\/x/' GLIBC-1 compact.awk > $@ 291 @./mapconv $< '/^<.*[ ]\/x/' GLIBC-1 compact.awk > $@
277 292
278EBCDIC%.map: ${GLIBC_CHARMAPS}/EBCDIC-%.gz mapconv compact.awk 293EBCDIC%.map: ${GLIBC_CHARMAPS}/EBCDIC-%.gz mapconv compact.awk
279 # Generating $@... 294 # Generating $@...
280 @mapconv $< '/^<.*[ ]\/x/' GLIBC-1 compact.awk > $@ 295 @./mapconv $< '/^<.*[ ]\/x/' GLIBC-1 compact.awk > $@
281 296
282# General target to produce map files for single-byte charsets. 297# General target to produce map files for single-byte charsets.
283 298
284%.map: ${GLIBC_CHARMAPS}/%.gz mapconv compact.awk 299%.map: ${GLIBC_CHARMAPS}/%.gz mapconv compact.awk
285 # Generating $@... 300 # Generating $@...
286 @mapconv $< '/^<.*[ ]\/x/' GLIBC-1 compact.awk > $@ 301 @./mapconv $< '/^<.*[ ]\/x/' GLIBC-1 compact.awk > $@
287 302
288install: 303install:
289 @for f in ${CHARSETS}; do \ 304 @for f in ${CHARSETS}; do \
@@ -305,5 +320,5 @@ install:
305 320
306# Clear files that are automatically generated. 321# Clear files that are automatically generated.
307clean: 322clean:
308 rm -f ${CHARSETS} ${TRANS_TABLE} 323 rm -f ${CHARSETS} ${TRANS_TABLE} ${SED_SCRIPT}
309 324
diff --git a/admin/charsets/gb180302.awk b/admin/charsets/gb180302.awk
index 6cd9521ce90..40d92bf9be4 100644
--- a/admin/charsets/gb180302.awk
+++ b/admin/charsets/gb180302.awk
@@ -74,19 +74,30 @@ function index_to_gb(idx) {
74 74
75{ 75{
76 gb = gb_to_index(decode_hex(substr($1, 3, 4))); 76 gb = gb_to_index(decode_hex(substr($1, 3, 4)));
77 unicode = decode_hex(substr($2, 3, 4)); 77 unicode = decode_hex(substr($2, 3));
78 if ((gb == to_gb + 1) && (unicode == to_unicode + 1)) 78 if ((gb == to_gb + 1) && (unicode == to_unicode + 1))
79 { 79 {
80 to_gb++; 80 to_gb++;
81 to_unicode++; 81 to_unicode++;
82 } 82 }
83 else 83 else if (gb > to_gb) # ignore the case gb == to_gb that is a duplication
84 { 84 {
85 if (from_gb == to_gb) 85 if (from_gb == to_gb)
86 printf "0x%04X 0x%04X\n", index_to_gb(from_gb), from_unicode; 86 {
87 if (from_unicode <= 65535)
88 printf "0x%04X 0x%04X\n", index_to_gb(from_gb), from_unicode;
89 else
90 printf "0x%04X 0x%08X\n", index_to_gb(from_gb), from_unicode;
91 }
87 else if (from_gb < to_gb) 92 else if (from_gb < to_gb)
88 printf "0x%04X-0x%04X 0x%04X\n", 93 {
89 index_to_gb(from_gb), index_to_gb(to_gb), from_unicode; 94 if (from_unicode <= 65535)
95 printf "0x%04X-0x%04X 0x%04X\n",
96 index_to_gb(from_gb), index_to_gb(to_gb), from_unicode;
97 else
98 printf "0x%04X-0x%04X 0x%08X\n",
99 index_to_gb(from_gb), index_to_gb(to_gb), from_unicode;
100 }
90 from_gb = to_gb = gb; 101 from_gb = to_gb = gb;
91 from_unicode = to_unicode = unicode; 102 from_unicode = to_unicode = unicode;
92 } 103 }
diff --git a/admin/charsets/mapconv b/admin/charsets/mapconv
index 4f7a8b96f54..8433d222b8d 100755
--- a/admin/charsets/mapconv
+++ b/admin/charsets/mapconv
@@ -98,18 +98,17 @@ elif [ "$3" = "GLIBC-2-7" ] ; then
98 | sed -e 's/xa/x2/g' -e 's/xb/x3/g' -e 's/xc/x4/g' \ 98 | sed -e 's/xa/x2/g' -e 's/xb/x3/g' -e 's/xc/x4/g' \
99 -e 's/xd/x5/g' -e 's/xe/x6/g' -e 's/xf/x7/g' \ 99 -e 's/xd/x5/g' -e 's/xe/x6/g' -e 's/xf/x7/g' \
100 -e 's,<U\([^>]*\)>[ ]*/x\(..\)/x\(..\).*,0x\2\3 0x\1,' \ 100 -e 's,<U\([^>]*\)>[ ]*/x\(..\)/x\(..\).*,0x\2\3 0x\1,' \
101 | tee temp \
102 | sort | ${AWKPROG} 101 | sort | ${AWKPROG}
103elif [ "$3" = "CZYBORRA" ] ; then 102elif [ "$3" = "CZYBORRA" ] ; then
104 # Source format is: 103 # Source format is:
105 # =XX U+YYYY 104 # =XX U+YYYY
106 zcat $1 | sed -n -e "$2 p" \ 105 sed -n -e "$2 p" < $1 \
107 | sed -e 's/=\(..\)[^U]*U+\([0-9A-F]*\).*/0x\1 0x\2/' \ 106 | sed -e 's/=\(..\)[^U]*U+\([0-9A-F]*\).*/0x\1 0x\2/' \
108 | sort | ${AWKPROG} 107 | sort | ${AWKPROG}
109elif [ "$3" = "IANA" ] ; then 108elif [ "$3" = "IANA" ] ; then
110 # Source format is: 109 # Source format is:
111 # 0xXX 0xYYYY 110 # 0xXX 0xYYYY
112 zcat $1 | sed -n -e "$2 p" \ 111 sed -n -e "$2 p" < $1 \
113 | sed -e 's/\(0x[0-9A-Fa-f]*\)[^0]*\(0x[0-9A-Fa-f]*\).*/\1 \2/' \ 112 | sed -e 's/\(0x[0-9A-Fa-f]*\)[^0]*\(0x[0-9A-Fa-f]*\).*/\1 \2/' \
114 | sort | ${AWKPROG} 113 | sort | ${AWKPROG}
115elif [ "$3" = "UNICODE" ] ; then 114elif [ "$3" = "UNICODE" ] ; then
@@ -117,25 +116,25 @@ elif [ "$3" = "UNICODE" ] ; then
117 # YYYY XX 116 # YYYY XX
118 # We perform reverse sort to prefer the first one in the 117 # We perform reverse sort to prefer the first one in the
119 # duplicated mappings (e.g. 0x20->U+0020, 0x20->U+00A0). 118 # duplicated mappings (e.g. 0x20->U+0020, 0x20->U+00A0).
120 zcat $1 | sed -n -e "$2 p" \ 119 sed -n -e "$2 p" < $1 \
121 | sed -e 's/\([0-9A-F]*\)[^0-9A-F]*\([0-9A-F]*\).*/0x\2 0x\1/' \ 120 | sed -e 's/\([0-9A-F]*\)[^0-9A-F]*\([0-9A-F]*\).*/0x\2 0x\1/' \
122 | sort -r 121 | sort -r
123elif [ "$3" = "UNICODE2" ] ; then 122elif [ "$3" = "UNICODE2" ] ; then
124 # Source format is: 123 # Source format is:
125 # 0xXXXX 0xYYYY # ... 124 # 0xXXXX 0xYYYY # ...
126 zcat $1 | sed -n -e "$2 p" \ 125 sed -n -e "$2 p" < $1 \
127 | sed -e 's/\([0-9A-Fx]*\)[^0]*\([0-9A-Fx]*\).*/\1 \2/' \ 126 | sed -e 's/\([0-9A-Fx]*\)[^0]*\([0-9A-Fx]*\).*/\1 \2/' \
128 | ${AWKPROG} | sort -n -k 4,4 127 | ${AWKPROG} | sort -n -k 4,4
129elif [ "$3" = "YASUOKA" ] ; then 128elif [ "$3" = "YASUOKA" ] ; then
130 # Source format is: 129 # Source format is:
131 # YYYY 0-XXXX (XXXX is a Kuten code) 130 # YYYY 0-XXXX (XXXX is a Kuten code)
132 zcat $1 | sed -n -e "$2 p" \ 131 sed -n -e "$2 p" < $1 \
133 | sed -e 's/\([0-9A-F]*\)[^0]*0-\([0-9]*\).*/0x\2 0x\1/' \ 132 | sed -e 's/\([0-9A-F]*\)[^0]*0-\([0-9]*\).*/0x\2 0x\1/' \
134 | sort | ${AWKPROG} 133 | sort | ${AWKPROG}
135elif [ "$3" = "KANJI-DATABASE" ] ; then 134elif [ "$3" = "KANJI-DATABASE" ] ; then
136 # Source format is: 135 # Source format is:
137 # C?-XXXX U+YYYYY ..... 136 # C?-XXXX U+YYYYY .....
138 zcat $1 | sed -n -e "$2 p" \ 137 sed -n -e "$2 p" < $1 \
139 | sed -e 's/...\(....\) U+\([0-9A-F]*\).*/0x\1 0x\2/' \ 138 | sed -e 's/...\(....\) U+\([0-9A-F]*\).*/0x\1 0x\2/' \
140 | sort | ${AWKPROG} 139 | sort | ${AWKPROG}
141else 140else
diff --git a/admin/charsets/mapfiles/MULE-ethiopic.map b/admin/charsets/mapfiles/MULE-ethiopic.map
index d2720bd10ba..30cf5736763 100644
--- a/admin/charsets/mapfiles/MULE-ethiopic.map
+++ b/admin/charsets/mapfiles/MULE-ethiopic.map
@@ -1,4 +1,4 @@
1# Generated by running amdin/charsets/mule-charsets.el in Emacs 22.3. 1# Generated by running admin/charsets/mule-charsets.el in Emacs 22.3.
20x2121 0x1200 20x2121 0x1200
30x2122 0x1201 30x2122 0x1201
40x2123 0x1202 40x2123 0x1202
diff --git a/admin/charsets/mapfiles/MULE-ipa.map b/admin/charsets/mapfiles/MULE-ipa.map
index 35e5d50ecec..0a6c61d5a95 100644
--- a/admin/charsets/mapfiles/MULE-ipa.map
+++ b/admin/charsets/mapfiles/MULE-ipa.map
@@ -1,4 +1,4 @@
1# Generated by running amdin/charsets/mule-charsets.el in Emacs 22.3. 1# Generated by running admin/charsets/mule-charsets.el in Emacs 22.3.
20x20 0x0069 20x20 0x0069
30x21 0x026A 30x21 0x026A
40x22 0x0065 40x22 0x0065
diff --git a/admin/charsets/mapfiles/MULE-is13194.map b/admin/charsets/mapfiles/MULE-is13194.map
index 1fa9b21dcf8..390132cd375 100644
--- a/admin/charsets/mapfiles/MULE-is13194.map
+++ b/admin/charsets/mapfiles/MULE-is13194.map
@@ -1,4 +1,4 @@
1# Generated by running amdin/charsets/mule-charsets.el in Emacs 22.3. 1# Generated by running admin/charsets/mule-charsets.el in Emacs 22.3.
20x21 0x0901 20x21 0x0901
30x22 0x0902 30x22 0x0902
40x23 0x0903 40x23 0x0903
diff --git a/admin/charsets/mapfiles/MULE-lviscii.map b/admin/charsets/mapfiles/MULE-lviscii.map
index 3b6a38be616..e4d2eca90ac 100644
--- a/admin/charsets/mapfiles/MULE-lviscii.map
+++ b/admin/charsets/mapfiles/MULE-lviscii.map
@@ -1,4 +1,4 @@
1# Generated by running amdin/charsets/mule-charsets.el in Emacs 22.3. 1# Generated by running admin/charsets/mule-charsets.el in Emacs 22.3.
20x21 0x1EAF 20x21 0x1EAF
30x22 0x1EB1 30x22 0x1EB1
40x23 0x1EB7 40x23 0x1EB7
diff --git a/admin/charsets/mapfiles/MULE-sisheng.map b/admin/charsets/mapfiles/MULE-sisheng.map
index 405bb1ffa2c..144a3ff5134 100644
--- a/admin/charsets/mapfiles/MULE-sisheng.map
+++ b/admin/charsets/mapfiles/MULE-sisheng.map
@@ -1,4 +1,4 @@
1# Generated by running amdin/charsets/mule-charsets.el in Emacs 22.3. 1# Generated by running admin/charsets/mule-charsets.el in Emacs 22.3.
20x21 0x0101 20x21 0x0101
30x22 0x00E1 30x22 0x00E1
40x23 0x01CE 40x23 0x01CE
diff --git a/admin/charsets/mapfiles/MULE-tibetan.map b/admin/charsets/mapfiles/MULE-tibetan.map
index 0d6ff3a0a39..b885585c094 100644
--- a/admin/charsets/mapfiles/MULE-tibetan.map
+++ b/admin/charsets/mapfiles/MULE-tibetan.map
@@ -1,4 +1,4 @@
1# Generated by running amdin/charsets/mule-charsets.el in Emacs 22.3. 1# Generated by running admin/charsets/mule-charsets.el in Emacs 22.3.
20x2130 0x0F00 20x2130 0x0F00
30x2131 0x0F01 30x2131 0x0F01
40x2132 0x0F02 40x2132 0x0F02
diff --git a/admin/charsets/mapfiles/MULE-uviscii.map b/admin/charsets/mapfiles/MULE-uviscii.map
index 65e5d2968e5..dc19583bdfe 100644
--- a/admin/charsets/mapfiles/MULE-uviscii.map
+++ b/admin/charsets/mapfiles/MULE-uviscii.map
@@ -1,4 +1,4 @@
1# Generated by running amdin/charsets/mule-charsets.el in Emacs 22.3. 1# Generated by running admin/charsets/mule-charsets.el in Emacs 22.3.
20x21 0x1EAE 20x21 0x1EAE
30x22 0x1EB0 30x22 0x1EB0
40x23 0x1EB6 40x23 0x1EB6
diff --git a/admin/charsets/mapfiles/README b/admin/charsets/mapfiles/README
index e87d548cf31..b43611db11d 100644
--- a/admin/charsets/mapfiles/README
+++ b/admin/charsets/mapfiles/README
@@ -1,4 +1,4 @@
1Copyright (C) 2009-2011 Free Software Foundation, Inc. 1Copyright (C) 2009-2012 Free Software Foundation, Inc.
2Copyright (C) 2009, 2010, 2011 2Copyright (C) 2009, 2010, 2011
3 National Institute of Advanced Industrial Science and Technology (AIST) 3 National Institute of Advanced Industrial Science and Technology (AIST)
4 Registration Number H13PRO009 4 Registration Number H13PRO009
diff --git a/admin/charsets/mule-charsets.el b/admin/charsets/mule-charsets.el
index 9ac08bef724..4a48d994b1b 100644
--- a/admin/charsets/mule-charsets.el
+++ b/admin/charsets/mule-charsets.el
@@ -45,7 +45,7 @@
45 45
46(defconst header 46(defconst header
47 (format 47 (format
48 "# Generated by running amdin/charsets/mule-charsets.el in Emacs %d.%d.\n" 48 "# Generated by running admin/charsets/mule-charsets.el in Emacs %d.%d.\n"
49 emacs-major-version emacs-minor-version)) 49 emacs-major-version emacs-minor-version))
50 50
51(dolist (elt charset-alist) 51(dolist (elt charset-alist)
diff --git a/admin/coccinelle/README b/admin/coccinelle/README
new file mode 100644
index 00000000000..48a88dbc8d8
--- /dev/null
+++ b/admin/coccinelle/README
@@ -0,0 +1,3 @@
1This directory contains semantic patches for Coccinelle, a program matching
2and transformation tool for programs written in C. For more details, see
3http://coccinelle.lip6.fr.
diff --git a/admin/coccinelle/build_string.cocci b/admin/coccinelle/build_string.cocci
new file mode 100644
index 00000000000..d47727018dd
--- /dev/null
+++ b/admin/coccinelle/build_string.cocci
@@ -0,0 +1,6 @@
1// Convert simple cases to build_string.
2@@
3identifier I;
4@@
5- make_string (I, strlen (I))
6+ build_string (I)
diff --git a/admin/coccinelle/frame.cocci b/admin/coccinelle/frame.cocci
new file mode 100644
index 00000000000..a817382120a
--- /dev/null
+++ b/admin/coccinelle/frame.cocci
@@ -0,0 +1,133 @@
1// Change direct access to Lisp_Object fields of struct frame to FVAR.
2@@
3expression F;
4@@
5(
6- F->icon_name
7+ FVAR (F, icon_name)
8|
9- F->title
10+ FVAR (F, title)
11|
12- F->focus_frame
13+ FVAR (F, focus_frame)
14|
15- F->root_window
16+ FVAR (F, root_window)
17|
18- F->selected_window
19+ FVAR (F, selected_window)
20|
21- F->minibuffer_window
22+ FVAR (F, minibuffer_window)
23|
24- F->param_alist
25+ FVAR (F, param_alist)
26|
27- F->scroll_bars
28+ FVAR (F, scroll_bars)
29|
30- F->condemned_scroll_bars
31+ FVAR (F, condemned_scroll_bars)
32|
33- F->menu_bar_items
34+ FVAR (F, menu_bar_items)
35|
36- F->face_alist
37+ FVAR (F, face_alist)
38|
39- F->menu_bar_vector
40+ FVAR (F, menu_bar_vector)
41|
42- F->buffer_predicate
43+ FVAR (F, buffer_predicate)
44|
45- F->buffer_list
46+ FVAR (F, buffer_list)
47|
48- F->buried_buffer_list
49+ FVAR (F, buried_buffer_list)
50|
51- F->menu_bar_window
52+ FVAR (F, menu_bar_window)
53|
54- F->tool_bar_window
55+ FVAR (F, tool_bar_window)
56|
57- F->tool_bar_items
58+ FVAR (F, tool_bar_items)
59|
60- F->tool_bar_position
61+ FVAR (F, tool_bar_position)
62|
63- F->desired_tool_bar_string
64+ FVAR (F, desired_tool_bar_string)
65|
66- F->current_tool_bar_string
67+ FVAR (F, current_tool_bar_string)
68
69|
70
71- XFRAME (F)->icon_name
72+ FVAR (XFRAME (F), icon_name)
73|
74- XFRAME (F)->title
75+ FVAR (XFRAME (F), title)
76|
77- XFRAME (F)->focus_frame
78+ FVAR (XFRAME (F), focus_frame)
79|
80- XFRAME (F)->root_window
81+ FVAR (XFRAME (F), root_window)
82|
83- XFRAME (F)->selected_window
84+ FVAR (XFRAME (F), selected_window)
85|
86- XFRAME (F)->minibuffer_window
87+ FVAR (XFRAME (F), minibuffer_window)
88|
89- XFRAME (F)->param_alist
90+ FVAR (XFRAME (F), param_alist)
91|
92- XFRAME (F)->scroll_bars
93+ FVAR (XFRAME (F), scroll_bars)
94|
95- XFRAME (F)->condemned_scroll_bars
96+ FVAR (XFRAME (F), condemned_scroll_bars)
97|
98- XFRAME (F)->menu_bar_items
99+ FVAR (XFRAME (F), menu_bar_items)
100|
101- XFRAME (F)->face_alist
102+ FVAR (XFRAME (F), face_alist)
103|
104- XFRAME (F)->menu_bar_vector
105+ FVAR (XFRAME (F), menu_bar_vector)
106|
107- XFRAME (F)->buffer_predicate
108+ FVAR (XFRAME (F), buffer_predicate)
109|
110- XFRAME (F)->buffer_list
111+ FVAR (XFRAME (F), buffer_list)
112|
113- XFRAME (F)->buried_buffer_list
114+ FVAR (XFRAME (F), buried_buffer_list)
115|
116- XFRAME (F)->menu_bar_window
117+ FVAR (XFRAME (F), menu_bar_window)
118|
119- XFRAME (F)->tool_bar_window
120+ FVAR (XFRAME (F), tool_bar_window)
121|
122- XFRAME (F)->tool_bar_items
123+ FVAR (XFRAME (F), tool_bar_items)
124|
125- XFRAME (F)->tool_bar_position
126+ FVAR (XFRAME (F), tool_bar_position)
127|
128- XFRAME (F)->desired_tool_bar_string
129+ FVAR (XFRAME (F), desired_tool_bar_string)
130|
131- XFRAME (F)->current_tool_bar_string
132+ FVAR (XFRAME (F), current_tool_bar_string)
133)
diff --git a/admin/coccinelle/list_loop.cocci b/admin/coccinelle/list_loop.cocci
new file mode 100644
index 00000000000..89f0bfff7b3
--- /dev/null
+++ b/admin/coccinelle/list_loop.cocci
@@ -0,0 +1,19 @@
1// Omit redundant type check, consistently use CONSP.
2@@
3identifier A;
4expression X;
5statement S;
6@@
7(
8for (A = X;
9- !NILP (A);
10+ CONSP (A);
11- A = Fcdr (A))
12+ A = XCDR (A))
13S
14|
15for (A = X; CONSP (A);
16- A = Fcdr (A))
17+ A = XCDR (A))
18S
19)
diff --git a/admin/coccinelle/process.cocci b/admin/coccinelle/process.cocci
new file mode 100644
index 00000000000..bf295ab7b6f
--- /dev/null
+++ b/admin/coccinelle/process.cocci
@@ -0,0 +1,110 @@
1// Change direct access to Lisp_Object fields of struct Lisp_Process to PVAR.
2@@
3struct Lisp_Process *P;
4Lisp_Object O;
5@@
6(
7- P->tty_name
8+ PVAR (P, tty_name)
9|
10- P->name
11+ PVAR (P, name)
12|
13- P->command
14+ PVAR (P, command)
15|
16- P->filter
17+ PVAR (P, filter)
18|
19- P->sentinel
20+ PVAR (P, sentinel)
21|
22- P->log
23+ PVAR (P, log)
24|
25- P->buffer
26+ PVAR (P, buffer)
27|
28- P->childp
29+ PVAR (P, childp)
30|
31- P->plist
32+ PVAR (P, plist)
33|
34- P->type
35+ PVAR (P, type)
36|
37- P->mark
38+ PVAR (P, mark)
39|
40- P->status
41+ PVAR (P, status)
42|
43- P->decode_coding_system
44+ PVAR (P, decode_coding_system)
45|
46- P->decoding_buf
47+ PVAR (P, decoding_buf)
48|
49- P->encode_coding_system
50+ PVAR (P, encode_coding_system)
51|
52- P->encoding_buf
53+ PVAR (P, encoding_buf)
54|
55- P->write_queue
56+ PVAR (P, write_queue)
57
58|
59
60- XPROCESS (O)->tty_name
61+ PVAR (XPROCESS (O), tty_name)
62|
63- XPROCESS (O)->name
64+ PVAR (XPROCESS (O), name)
65|
66- XPROCESS (O)->command
67+ PVAR (XPROCESS (O), command)
68|
69- XPROCESS (O)->filter
70+ PVAR (XPROCESS (O), filter)
71|
72- XPROCESS (O)->sentinel
73+ PVAR (XPROCESS (O), sentinel)
74|
75- XPROCESS (O)->log
76+ PVAR (XPROCESS (O), log)
77|
78- XPROCESS (O)->buffer
79+ PVAR (XPROCESS (O), buffer)
80|
81- XPROCESS (O)->childp
82+ PVAR (XPROCESS (O), childp)
83|
84- XPROCESS (O)->plist
85+ PVAR (XPROCESS (O), plist)
86|
87- XPROCESS (O)->type
88+ PVAR (XPROCESS (O), type)
89|
90- XPROCESS (O)->mark
91+ PVAR (XPROCESS (O), mark)
92|
93- XPROCESS (O)->status
94+ PVAR (XPROCESS (O), status)
95|
96- XPROCESS (O)->decode_coding_system
97+ PVAR (XPROCESS (O), decode_coding_system)
98|
99- XPROCESS (O)->decoding_buf
100+ PVAR (XPROCESS (O), decoding_buf)
101|
102- XPROCESS (O)->encode_coding_system
103+ PVAR (XPROCESS (O), encode_coding_system)
104|
105- XPROCESS (O)->encoding_buf
106+ PVAR (XPROCESS (O), encoding_buf)
107|
108- XPROCESS (O)->write_queue
109+ PVAR (XPROCESS (O), write_queue)
110)
diff --git a/admin/coccinelle/unibyte_string.cocci b/admin/coccinelle/unibyte_string.cocci
new file mode 100644
index 00000000000..0ff8cafa15d
--- /dev/null
+++ b/admin/coccinelle/unibyte_string.cocci
@@ -0,0 +1,6 @@
1// make_unibyte_string (str, strlen (str)) -> build_unibyte_string (str)
2@@
3identifier I;
4@@
5- make_unibyte_string (I, strlen (I))
6+ build_unibyte_string (I)
diff --git a/admin/coccinelle/vector_contents.cocci b/admin/coccinelle/vector_contents.cocci
new file mode 100644
index 00000000000..3c696ffd237
--- /dev/null
+++ b/admin/coccinelle/vector_contents.cocci
@@ -0,0 +1,16 @@
1// Avoid direct access to `contents' member of
2// Lisp_Vector, use AREF and ASET where possible.
3@expression@
4identifier I1, I2;
5expression E1, E2;
6@@
7(
8- XVECTOR (I1)->contents[I2++] = E1
9+ ASET (I1, I2, E1), I2++
10|
11- XVECTOR (I1)->contents[E1] = E2
12+ ASET (I1, E1, E2)
13|
14- XVECTOR (I1)->contents[E1]
15+ AREF (I1, E1)
16)
diff --git a/admin/coccinelle/window.cocci b/admin/coccinelle/window.cocci
new file mode 100644
index 00000000000..1448febfcc1
--- /dev/null
+++ b/admin/coccinelle/window.cocci
@@ -0,0 +1,242 @@
1// Change direct access to Lisp_Object fields of struct window to WVAR.
2@@
3struct window *W;
4Lisp_Object O;
5@@
6(
7- W->frame
8+ WVAR (W, frame)
9|
10- W->next
11+ WVAR (W, next)
12|
13- W->prev
14+ WVAR (W, prev)
15|
16- W->hchild
17+ WVAR (W, hchild)
18|
19- W->vchild
20+ WVAR (W, vchild)
21|
22- W->parent
23+ WVAR (W, parent)
24|
25- W->left_col
26+ WVAR (W, left_col)
27|
28- W->top_line
29+ WVAR (W, top_line)
30|
31- W->total_lines
32+ WVAR (W, total_lines)
33|
34- W->total_cols
35+ WVAR (W, total_cols)
36|
37- W->normal_lines
38+ WVAR (W, normal_lines)
39|
40- W->normal_cols
41+ WVAR (W, normal_cols)
42|
43- W->new_total
44+ WVAR (W, new_total)
45|
46- W->new_normal
47+ WVAR (W, new_normal)
48|
49- W->buffer
50+ WVAR (W, buffer)
51|
52- W->start
53+ WVAR (W, start)
54|
55- W->pointm
56+ WVAR (W, pointm)
57|
58- W->temslot
59+ WVAR (W, temslot)
60|
61- W->vertical_scroll_bar
62+ WVAR (W, vertical_scroll_bar)
63|
64- W->left_margin_cols
65+ WVAR (W, left_margin_cols)
66|
67- W->right_margin_cols
68+ WVAR (W, right_margin_cols)
69|
70- W->left_fringe_width
71+ WVAR (W, left_fringe_width)
72|
73- W->right_fringe_width
74+ WVAR (W, right_fringe_width)
75|
76- W->scroll_bar_width
77+ WVAR (W, scroll_bar_width)
78|
79- W->vertical_scroll_bar_type
80+ WVAR (W, vertical_scroll_bar_type)
81|
82- W->window_end_pos
83+ WVAR (W, window_end_pos)
84|
85- W->window_end_vpos
86+ WVAR (W, window_end_vpos)
87|
88- W->window_end_valid
89+ WVAR (W, window_end_valid)
90|
91- W->display_table
92+ WVAR (W, display_table)
93|
94- W->dedicated
95+ WVAR (W, dedicated)
96|
97- W->base_line_number
98+ WVAR (W, base_line_number)
99|
100- W->base_line_pos
101+ WVAR (W, base_line_pos)
102|
103- W->region_showing
104+ WVAR (W, region_showing)
105|
106- W->column_number_displayed
107+ WVAR (W, column_number_displayed)
108|
109- W->redisplay_end_trigger
110+ WVAR (W, redisplay_end_trigger)
111|
112- W->combination_limit
113+ WVAR (W, combination_limit)
114|
115- W->prev_buffers
116+ WVAR (W, prev_buffers)
117|
118- W->next_buffers
119+ WVAR (W, next_buffers)
120|
121- W->window_parameters
122+ WVAR (W, window_parameters)
123
124|
125
126- XWINDOW (O)->frame
127+ WVAR (XWINDOW (O), frame)
128|
129- XWINDOW (O)->next
130+ WVAR (XWINDOW (O), next)
131|
132- XWINDOW (O)->prev
133+ WVAR (XWINDOW (O), prev)
134|
135- XWINDOW (O)->hchild
136+ WVAR (XWINDOW (O), hchild)
137|
138- XWINDOW (O)->vchild
139+ WVAR (XWINDOW (O), vchild)
140|
141- XWINDOW (O)->parent
142+ WVAR (XWINDOW (O), parent)
143|
144- XWINDOW (O)->left_col
145+ WVAR (XWINDOW (O), left_col)
146|
147- XWINDOW (O)->top_line
148+ WVAR (XWINDOW (O), top_line)
149|
150- XWINDOW (O)->total_lines
151+ WVAR (XWINDOW (O), total_lines)
152|
153- XWINDOW (O)->total_cols
154+ WVAR (XWINDOW (O), total_cols)
155|
156- XWINDOW (O)->normal_lines
157+ WVAR (XWINDOW (O), normal_lines)
158|
159- XWINDOW (O)->normal_cols
160+ WVAR (XWINDOW (O), normal_cols)
161|
162- XWINDOW (O)->new_total
163+ WVAR (XWINDOW (O), new_total)
164|
165- XWINDOW (O)->new_normal
166+ WVAR (XWINDOW (O), new_normal)
167|
168- XWINDOW (O)->buffer
169+ WVAR (XWINDOW (O), buffer)
170|
171- XWINDOW (O)->start
172+ WVAR (XWINDOW (O), start)
173|
174- XWINDOW (O)->pointm
175+ WVAR (XWINDOW (O), pointm)
176|
177- XWINDOW (O)->temslot
178+ WVAR (XWINDOW (O), temslot)
179|
180- XWINDOW (O)->vertical_scroll_bar
181+ WVAR (XWINDOW (O), vertical_scroll_bar)
182|
183- XWINDOW (O)->left_margin_cols
184+ WVAR (XWINDOW (O), left_margin_cols)
185|
186- XWINDOW (O)->right_margin_cols
187+ WVAR (XWINDOW (O), right_margin_cols)
188|
189- XWINDOW (O)->left_fringe_width
190+ WVAR (XWINDOW (O), left_fringe_width)
191|
192- XWINDOW (O)->right_fringe_width
193+ WVAR (XWINDOW (O), right_fringe_width)
194|
195- XWINDOW (O)->scroll_bar_width
196+ WVAR (XWINDOW (O), scroll_bar_width)
197|
198- XWINDOW (O)->vertical_scroll_bar_type
199+ WVAR (XWINDOW (O), vertical_scroll_bar_type)
200|
201- XWINDOW (O)->window_end_pos
202+ WVAR (XWINDOW (O), window_end_pos)
203|
204- XWINDOW (O)->window_end_vpos
205+ WVAR (XWINDOW (O), window_end_vpos)
206|
207- XWINDOW (O)->window_end_valid
208+ WVAR (XWINDOW (O), window_end_valid)
209|
210- XWINDOW (O)->display_table
211+ WVAR (XWINDOW (O), display_table)
212|
213- XWINDOW (O)->dedicated
214+ WVAR (XWINDOW (O), dedicated)
215|
216- XWINDOW (O)->base_line_number
217+ WVAR (XWINDOW (O), base_line_number)
218|
219- XWINDOW (O)->base_line_pos
220+ WVAR (XWINDOW (O), base_line_pos)
221|
222- XWINDOW (O)->region_showing
223+ WVAR (XWINDOW (O), region_showing)
224|
225- XWINDOW (O)->column_number_displayed
226+ WVAR (XWINDOW (O), column_number_displayed)
227|
228- XWINDOW (O)->redisplay_end_trigger
229+ WVAR (XWINDOW (O), redisplay_end_trigger)
230|
231- XWINDOW (O)->combination_limit
232+ WVAR (XWINDOW (O), combination_limit)
233|
234- XWINDOW (O)->prev_buffers
235+ WVAR (XWINDOW (O), prev_buffers)
236|
237- XWINDOW (O)->next_buffers
238+ WVAR (XWINDOW (O), next_buffers)
239|
240- XWINDOW (O)->window_parameters
241+ WVAR (XWINDOW (O), window_parameters)
242)
diff --git a/admin/coccinelle/xzalloc.cocci b/admin/coccinelle/xzalloc.cocci
new file mode 100644
index 00000000000..5d3ba990266
--- /dev/null
+++ b/admin/coccinelle/xzalloc.cocci
@@ -0,0 +1,10 @@
1@@
2expression x;
3expression E;
4@@
5 x =
6- xmalloc
7+ xzalloc
8 (E)
9 ...
10- memset (x, 0, E);
diff --git a/admin/cus-test.el b/admin/cus-test.el
index b254fedccc4..11d781ed01e 100644
--- a/admin/cus-test.el
+++ b/admin/cus-test.el
@@ -1,6 +1,6 @@
1;;; cus-test.el --- tests for custom types and load problems 1;;; cus-test.el --- tests for custom types and load problems
2 2
3;; Copyright (C) 1998, 2000, 2002-2011 Free Software Foundation, Inc. 3;; Copyright (C) 1998, 2000, 2002-2012 Free Software Foundation, Inc.
4 4
5;; Author: Markus Rost <markus.rost@mathematik.uni-regensburg.de> 5;; Author: Markus Rost <markus.rost@mathematik.uni-regensburg.de>
6;; Maintainer: Markus Rost <rost@math.ohio-state.edu> 6;; Maintainer: Markus Rost <rost@math.ohio-state.edu>
diff --git a/admin/diff-tar-files b/admin/diff-tar-files
index 59ae1a6f26c..1dbf9a12399 100755
--- a/admin/diff-tar-files
+++ b/admin/diff-tar-files
@@ -1,6 +1,6 @@
1#! /bin/sh 1#! /bin/sh
2 2
3# Copyright (C) 2001-2011 Free Software Foundation, Inc. 3# Copyright (C) 2001-2012 Free Software Foundation, Inc.
4 4
5# This file is part of GNU Emacs. 5# This file is part of GNU Emacs.
6 6
diff --git a/admin/grammars/README b/admin/grammars/README
index 419797e0dcb..e38260952a5 100644
--- a/admin/grammars/README
+++ b/admin/grammars/README
@@ -3,8 +3,8 @@ generate the parser data in the lisp/semantic/bovine/ and
3lisp/semantic/wisent/ directories. You can run the parser generators 3lisp/semantic/wisent/ directories. You can run the parser generators
4with 4with
5 5
6emacs -batch -Q -l bovine-grammar.el -f bovine-make-parsers 6emacs -batch -Q -l semantic/bovine/grammar -f bovine-make-parsers
7emacs -batch -Q -l wisent-grammar.el -f wisent-make-parsers 7emacs -batch -Q -l semantic/wisent/grammar -f wisent-make-parsers
8 8
9Currently, the parser files in lisp/ are not generated directly from 9Currently, the parser files in lisp/ are not generated directly from
10these grammar files when making Emacs. This state of affairs, and the 10these grammar files when making Emacs. This state of affairs, and the
diff --git a/admin/grammars/bovine-grammar.el b/admin/grammars/bovine-grammar.el
deleted file mode 100644
index a7fe955acf4..00000000000
--- a/admin/grammars/bovine-grammar.el
+++ /dev/null
@@ -1,519 +0,0 @@
1;;; bovine-grammar.el --- Bovine's input grammar mode
2;;
3;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
4;;
5;; Author: David Ponce <david@dponce.com>
6;; Maintainer: David Ponce <david@dponce.com>
7;; Created: 26 Aug 2002
8;; Keywords: syntax
9
10;; This file is part of GNU Emacs.
11
12;; GNU Emacs is free software: you can redistribute it and/or modify
13;; it under the terms of the GNU General Public License as published by
14;; the Free Software Foundation, either version 3 of the License, or
15;; (at your option) any later version.
16
17;; GNU Emacs is distributed in the hope that it will be useful,
18;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;; GNU General Public License for more details.
21
22;; You should have received a copy of the GNU General Public License
23;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
24
25;;; Commentary:
26;;
27;; Major mode for editing Bovine's input grammar (.by) files.
28
29;;; History:
30
31;;; Code:
32(require 'semantic)
33(require 'semantic/grammar)
34(require 'semantic/find)
35(require 'semantic/lex)
36(require 'semantic/wisent)
37(require 'semantic/bovine)
38
39(defun bovine-grammar-EXPAND (bounds nonterm)
40 "Expand call to EXPAND grammar macro.
41Return the form to parse from within a nonterminal between BOUNDS.
42NONTERM is the nonterminal symbol to start with."
43 `(semantic-bovinate-from-nonterminal
44 (car ,bounds) (cdr ,bounds) ',nonterm))
45
46(defun bovine-grammar-EXPANDFULL (bounds nonterm)
47 "Expand call to EXPANDFULL grammar macro.
48Return the form to recursively parse the area between BOUNDS.
49NONTERM is the nonterminal symbol to start with."
50 `(semantic-parse-region
51 (car ,bounds) (cdr ,bounds) ',nonterm 1))
52
53(defun bovine-grammar-TAG (name class &rest attributes)
54 "Expand call to TAG grammar macro.
55Return the form to create a generic semantic tag.
56See the function `semantic-tag' for the meaning of arguments NAME,
57CLASS and ATTRIBUTES."
58 `(semantic-tag ,name ,class ,@attributes))
59
60(defun bovine-grammar-VARIABLE-TAG (name type default-value &rest attributes)
61 "Expand call to VARIABLE-TAG grammar macro.
62Return the form to create a semantic tag of class variable.
63See the function `semantic-tag-new-variable' for the meaning of
64arguments NAME, TYPE, DEFAULT-VALUE and ATTRIBUTES."
65 `(semantic-tag-new-variable ,name ,type ,default-value ,@attributes))
66
67(defun bovine-grammar-FUNCTION-TAG (name type arg-list &rest attributes)
68 "Expand call to FUNCTION-TAG grammar macro.
69Return the form to create a semantic tag of class function.
70See the function `semantic-tag-new-function' for the meaning of
71arguments NAME, TYPE, ARG-LIST and ATTRIBUTES."
72 `(semantic-tag-new-function ,name ,type ,arg-list ,@attributes))
73
74(defun bovine-grammar-TYPE-TAG (name type members parents &rest attributes)
75 "Expand call to TYPE-TAG grammar macro.
76Return the form to create a semantic tag of class type.
77See the function `semantic-tag-new-type' for the meaning of arguments
78NAME, TYPE, MEMBERS, PARENTS and ATTRIBUTES."
79 `(semantic-tag-new-type ,name ,type ,members ,parents ,@attributes))
80
81(defun bovine-grammar-INCLUDE-TAG (name system-flag &rest attributes)
82 "Expand call to INCLUDE-TAG grammar macro.
83Return the form to create a semantic tag of class include.
84See the function `semantic-tag-new-include' for the meaning of
85arguments NAME, SYSTEM-FLAG and ATTRIBUTES."
86 `(semantic-tag-new-include ,name ,system-flag ,@attributes))
87
88(defun bovine-grammar-PACKAGE-TAG (name detail &rest attributes)
89 "Expand call to PACKAGE-TAG grammar macro.
90Return the form to create a semantic tag of class package.
91See the function `semantic-tag-new-package' for the meaning of
92arguments NAME, DETAIL and ATTRIBUTES."
93 `(semantic-tag-new-package ,name ,detail ,@attributes))
94
95(defun bovine-grammar-CODE-TAG (name detail &rest attributes)
96 "Expand call to CODE-TAG grammar macro.
97Return the form to create a semantic tag of class code.
98See the function `semantic-tag-new-code' for the meaning of arguments
99NAME, DETAIL and ATTRIBUTES."
100 `(semantic-tag-new-code ,name ,detail ,@attributes))
101
102(defun bovine-grammar-ALIAS-TAG (name aliasclass definition &rest attributes)
103 "Expand call to ALIAS-TAG grammar macro.
104Return the form to create a semantic tag of class alias.
105See the function `semantic-tag-new-alias' for the meaning of arguments
106NAME, ALIASCLASS, DEFINITION and ATTRIBUTES."
107 `(semantic-tag-new-alias ,name ,aliasclass ,definition ,@attributes))
108
109;; Cache of macro definitions currently in use.
110(defvar bovine--grammar-macros nil)
111
112;; Detect if we have an Emacs with newstyle unquotes allowed outside
113;; of backquote.
114;; This should probably be changed to a test to (= emacs-major-version 24)
115;; when it is released, but at the moment it might be possible that people
116;; are using an older snapshot.
117(defvar bovine--grammar-newstyle-unquote
118 (equal '(\, test) (read ",test")))
119
120(defun bovine-grammar-expand-form (form quotemode &optional inplace)
121 "Expand FORM into a new one suitable to the bovine parser.
122FORM is a list in which we are substituting.
123Argument QUOTEMODE is non-nil if we are in backquote mode.
124When non-nil, optional argument INPLACE indicates that FORM is being
125expanded from elsewhere."
126 (when (eq (car form) 'quote)
127 (setq form (cdr form))
128 (cond
129 ((and (= (length form) 1) (listp (car form)))
130 (insert "\n(append")
131 (bovine-grammar-expand-form (car form) quotemode nil)
132 (insert ")")
133 (setq form nil inplace nil)
134 )
135 ((and (= (length form) 1) (symbolp (car form)))
136 (insert "\n'" (symbol-name (car form)))
137 (setq form nil inplace nil)
138 )
139 (t
140 (insert "\n(list")
141 (setq inplace t)
142 )))
143 (let ((macro (assq (car form) bovine--grammar-macros))
144 inlist first n q x)
145 (if macro
146 (bovine-grammar-expand-form
147 (apply (cdr macro) (cdr form))
148 quotemode t)
149 (if inplace (insert "\n("))
150 (while form
151 (setq first (car form)
152 form (cdr form))
153 ;; Hack for dealing with new reading of unquotes outside of
154 ;; backquote (introduced in rev. 102591 in emacs-bzr).
155 (when (and bovine--grammar-newstyle-unquote
156 (listp first)
157 (or (equal (car first) '\,)
158 (equal (car first) '\,@)))
159 (if (listp (cadr first))
160 (setq form (append (cdr first) form)
161 first (car first))
162 (setq first (intern (concat (symbol-name (car first))
163 (symbol-name (cadr first)))))))
164 (cond
165 ((eq first nil)
166 (when (and (not inlist) (not inplace))
167 (insert "\n(list")
168 (setq inlist t))
169 (insert " nil")
170 )
171 ((listp first)
172 ;;(let ((fn (and (symbolp (caar form)) (fboundp (caar form)))))
173 (when (and (not inlist) (not inplace))
174 (insert "\n(list")
175 (setq inlist t))
176 ;;(if (and inplace (not fn) (not (eq (caar form) 'EXPAND)))
177 ;; (insert " (append"))
178 (bovine-grammar-expand-form
179 first quotemode t) ;;(and fn (not (eq fn 'quote))))
180 ;;(if (and inplace (not fn) (not (eq (caar form) 'EXPAND)))
181 ;; (insert ")"))
182 ;;)
183 )
184 ((symbolp first)
185 (setq n (symbol-name first) ;the name
186 q quotemode ;implied quote flag
187 x nil) ;expand flag
188 (if (eq (aref n 0) ?,)
189 (if quotemode
190 ;; backquote mode needs the @
191 (if (eq (aref n 1) ?@)
192 (setq n (substring n 2)
193 q nil
194 x t)
195 ;; non backquote mode behaves normally.
196 (setq n (substring n 1)
197 q nil))
198 (setq n (substring n 1)
199 x t)))
200 (if (string= n "")
201 (progn
202 ;; We expand only the next item in place (a list?)
203 ;; A regular inline-list...
204 (bovine-grammar-expand-form (car form) quotemode t)
205 (setq form (cdr form)))
206 (if (and (eq (aref n 0) ?$)
207 ;; Don't expand $ tokens in implied quote mode.
208 ;; This acts like quoting in other symbols.
209 (not q))
210 (progn
211 (cond
212 ((and (not x) (not inlist) (not inplace))
213 (insert "\n(list"))
214 ((and x inlist (not inplace))
215 (insert ")")
216 (setq inlist nil)))
217 (insert "\n(nth " (int-to-string
218 (1- (string-to-number
219 (substring n 1))))
220 " vals)")
221 (and (not x) (not inplace)
222 (setq inlist t)))
223
224 (when (and (not inlist) (not inplace))
225 (insert "\n(list")
226 (setq inlist t))
227 (or (char-equal (char-before) ?\()
228 (insert " "))
229 (insert (if (or inplace (eq first t))
230 "" "'")
231 n))) ;; " "
232 )
233 (t
234 (when (and (not inlist) (not inplace))
235 (insert "\n(list")
236 (setq inlist t))
237 (insert (format "\n%S" first))
238 )
239 ))
240 (if inlist (insert ")"))
241 (if inplace (insert ")")))
242 ))
243
244(defun bovine-grammar-expand-action (textform quotemode)
245 "Expand semantic action string TEXTFORM into Lisp code.
246QUOTEMODE is the mode in which quoted symbols are slurred."
247 (if (string= "" textform)
248 nil
249 (let ((sexp (read textform)))
250 ;; We converted the lambda string into a list. Now write it
251 ;; out as the bovine lambda expression, and do macro-like
252 ;; conversion upon it.
253 (insert "\n")
254 (cond
255 ((eq (car sexp) 'EXPAND)
256 (insert ",(lambda (vals start end)")
257 ;; The EXPAND macro definition is mandatory
258 (bovine-grammar-expand-form
259 (apply (cdr (assq 'EXPAND bovine--grammar-macros)) (cdr sexp))
260 quotemode t)
261 )
262 ((and (listp (car sexp)) (eq (caar sexp) 'EVAL))
263 ;; The user wants to evaluate the following args.
264 ;; Use a simpler expander
265 )
266 (t
267 (insert ",(semantic-lambda")
268 (bovine-grammar-expand-form sexp quotemode)
269 ))
270 (insert ")\n")))
271)
272
273(defun bovine-grammar-parsetable-builder ()
274 "Return the parser table expression as a string value.
275The format of a bovine parser table is:
276
277 ( ( NONTERMINAL-SYMBOL1 MATCH-LIST1 )
278 ( NONTERMINAL-SYMBOL2 MATCH-LIST2 )
279 ...
280 ( NONTERMINAL-SYMBOLn MATCH-LISTn )
281
282Where each NONTERMINAL-SYMBOL is an artificial symbol which can appear
283in any child state. As a starting place, one of the NONTERMINAL-SYMBOLS
284must be `bovine-toplevel'.
285
286A MATCH-LIST is a list of possible matches of the form:
287
288 ( STATE-LIST1
289 STATE-LIST2
290 ...
291 STATE-LISTN )
292
293where STATE-LIST is of the form:
294 ( TYPE1 [ \"VALUE1\" ] TYPE2 [ \"VALUE2\" ] ... LAMBDA )
295
296where TYPE is one of the returned types of the token stream.
297VALUE is a value, or range of values to match against. For
298example, a SYMBOL might need to match \"foo\". Some TYPES will not
299have matching criteria.
300
301LAMBDA is a lambda expression which is evalled with the text of the
302type when it is found. It is passed the list of all buffer text
303elements found since the last lambda expression. It should return a
304semantic element (see below.)
305
306For consistency between languages, try to use common return values
307from your parser. Please reference the chapter \"Writing Parsers\" in
308the \"Language Support Developer's Guide -\" in the semantic texinfo
309manual."
310 (let* ((start (semantic-grammar-start))
311 (scopestart (semantic-grammar-scopestart))
312 (quotemode (semantic-grammar-quotemode))
313 (tags (semantic-find-tags-by-class
314 'token (current-buffer)))
315 (nterms (semantic-find-tags-by-class
316 'nonterminal (current-buffer)))
317 ;; Setup the cache of macro definitions.
318 (bovine--grammar-macros (semantic-grammar-macros))
319 nterm rules items item actn prec tag type regex)
320
321 ;; Check some trivial things
322 (cond
323 ((null nterms)
324 (error "Bad input grammar"))
325 (start
326 (if (cdr start)
327 (message "Extra start symbols %S ignored" (cdr start)))
328 (setq start (symbol-name (car start)))
329 (unless (semantic-find-first-tag-by-name start nterms)
330 (error "start symbol `%s' has no rule" start)))
331 (t
332 ;; Default to the first grammar rule.
333 (setq start (semantic-tag-name (car nterms)))))
334 (when scopestart
335 (setq scopestart (symbol-name scopestart))
336 (unless (semantic-find-first-tag-by-name scopestart nterms)
337 (error "scopestart symbol `%s' has no rule" scopestart)))
338
339 ;; Generate the grammar Lisp form.
340 (with-temp-buffer
341 (erase-buffer)
342 (insert "`(")
343 ;; Insert the start/scopestart rules
344 (insert "\n(bovine-toplevel \n("
345 start
346 ")\n) ;; end bovine-toplevel\n")
347 (when scopestart
348 (insert "\n(bovine-inner-scope \n("
349 scopestart
350 ")\n) ;; end bovine-inner-scope\n"))
351 ;; Process each nonterminal
352 (while nterms
353 (setq nterm (car nterms)
354 ;; We can't use the override form because the current buffer
355 ;; is not the originator of the tag.
356 rules (semantic-tag-components-semantic-grammar-mode nterm)
357 nterm (semantic-tag-name nterm)
358 nterms (cdr nterms))
359 (when (member nterm '("bovine-toplevel" "bovine-inner-scope"))
360 (error "`%s' is a reserved internal name" nterm))
361 (insert "\n(" nterm)
362 ;; Process each rule
363 (while rules
364 (setq items (semantic-tag-get-attribute (car rules) :value)
365 prec (semantic-tag-get-attribute (car rules) :prec)
366 actn (semantic-tag-get-attribute (car rules) :expr)
367 rules (cdr rules))
368 ;; Process each item
369 (insert "\n(")
370 (if (null items)
371 ;; EMPTY rule
372 (insert ";;EMPTY" (if actn "" "\n"))
373 ;; Expand items
374 (while items
375 (setq item (car items)
376 items (cdr items))
377 (if (consp item) ;; mid-rule action
378 (message "Mid-rule action %S ignored" item)
379 (or (char-equal (char-before) ?\()
380 (insert "\n"))
381 (cond
382 ((member item '("bovine-toplevel" "bovine-inner-scope"))
383 (error "`%s' is a reserved internal name" item))
384 ;; Replace ITEM by its %token definition.
385 ;; If a '%token TYPE ITEM [REGEX]' definition exists
386 ;; in the grammar, ITEM is replaced by TYPE [REGEX].
387 ((setq tag (semantic-find-first-tag-by-name
388 item tags)
389 type (semantic-tag-get-attribute tag :type))
390 (insert type)
391 (if (setq regex (semantic-tag-get-attribute tag :value))
392 (insert (format "\n%S" regex))))
393 ;; Don't change ITEM
394 (t
395 (insert (semantic-grammar-item-text item)))
396 ))))
397 (if prec
398 (message "%%prec %S ignored" prec))
399 (if actn
400 (bovine-grammar-expand-action actn quotemode))
401 (insert ")"))
402 (insert "\n) ;; end " nterm "\n"))
403 (insert ")\n")
404 (buffer-string))))
405
406(defun bovine-grammar-setupcode-builder ()
407 "Return the text of the setup code."
408 (format
409 "(setq semantic--parse-table %s\n\
410 semantic-debug-parser-source %S\n\
411 semantic-debug-parser-class 'semantic-bovine-debug-parser
412 semantic-flex-keywords-obarray %s\n\
413 %s)"
414 (semantic-grammar-parsetable)
415 (buffer-name)
416 (semantic-grammar-keywordtable)
417 (let ((mode (semantic-grammar-languagemode)))
418 ;; Is there more than one major mode?
419 (if (and (listp mode) (> (length mode) 1))
420 (format "semantic-equivalent-major-modes '%S\n" mode)
421 ""))))
422
423(defvar bovine-grammar-menu
424 '("BY Grammar"
425 )
426 "BY mode specific grammar menu.
427Menu items are appended to the common grammar menu.")
428
429(define-derived-mode bovine-grammar-mode semantic-grammar-mode "BY"
430 "Major mode for editing Bovine grammars."
431 (semantic-grammar-setup-menu bovine-grammar-menu)
432 (semantic-install-function-overrides
433 '((grammar-parsetable-builder . bovine-grammar-parsetable-builder)
434 (grammar-setupcode-builder . bovine-grammar-setupcode-builder)
435 )))
436
437(add-to-list 'auto-mode-alist '("\\.by\\'" . bovine-grammar-mode))
438
439(defvar-mode-local bovine-grammar-mode semantic-grammar-macros
440 '(
441 (ASSOC . semantic-grammar-ASSOC)
442 (EXPAND . bovine-grammar-EXPAND)
443 (EXPANDFULL . bovine-grammar-EXPANDFULL)
444 (TAG . bovine-grammar-TAG)
445 (VARIABLE-TAG . bovine-grammar-VARIABLE-TAG)
446 (FUNCTION-TAG . bovine-grammar-FUNCTION-TAG)
447 (TYPE-TAG . bovine-grammar-TYPE-TAG)
448 (INCLUDE-TAG . bovine-grammar-INCLUDE-TAG)
449 (PACKAGE-TAG . bovine-grammar-PACKAGE-TAG)
450 (CODE-TAG . bovine-grammar-CODE-TAG)
451 (ALIAS-TAG . bovine-grammar-ALIAS-TAG)
452 )
453 "Semantic grammar macros used in bovine grammars.")
454
455(provide 'semantic/bovine/grammar)
456
457(defun bovine-make-parsers ()
458 "Generate Emacs' built-in Bovine-based parser files."
459 (semantic-mode 1)
460 ;; Loop through each .by file in current directory, and run
461 ;; `semantic-grammar-batch-build-one-package' to build the grammar.
462 (dolist (f (directory-files default-directory nil "\\.by\\'"))
463 (let ((packagename
464 (condition-case err
465 (with-current-buffer (find-file-noselect f)
466 (semantic-grammar-create-package))
467 (error (message "%s" (error-message-string err)) nil)))
468 lang)
469 (when (and packagename
470 (string-match "^semantic-\\(.*\\)-by\\.el\\'" packagename))
471 (setq lang (match-string 1 packagename))
472 (with-temp-buffer
473 (insert-file-contents packagename)
474 (setq buffer-file-name (expand-file-name packagename))
475 ;; Fix copyright header:
476 (goto-char (point-min))
477 (re-search-forward "^;; Author:")
478 (setq copyright-end (match-beginning 0))
479 (re-search-forward "^;;; Code:\n")
480 (delete-region copyright-end (match-end 0))
481 (goto-char copyright-end)
482 (insert ";; This file is part of GNU Emacs.
483
484;; GNU Emacs is free software: you can redistribute it and/or modify
485;; it under the terms of the GNU General Public License as published by
486;; the Free Software Foundation, either version 3 of the License, or
487;; (at your option) any later version.
488
489;; GNU Emacs is distributed in the hope that it will be useful,
490;; but WITHOUT ANY WARRANTY; without even the implied warranty of
491;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
492;; GNU General Public License for more details.
493
494;; You should have received a copy of the GNU General Public License
495;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
496
497;;; Commentary:
498;;
499;; This file was generated from admin/grammars/"
500 lang ".by.
501
502;;; Code:
503
504\(require 'semantic/lex)
505\(eval-when-compile (require 'semantic/bovine))\n")
506 (goto-char (point-min))
507 (delete-region (point-min) (line-end-position))
508 (insert ";;; semantic/bovine/" lang
509 "-by.el --- Generated parser support file")
510 (delete-trailing-whitespace)
511 ;; Fix footer:
512 (goto-char (point-max))
513 (re-search-backward ".\n;;; Analyzers")
514 (delete-region (point) (point-max))
515 (insert "(provide 'semantic/bovine/" lang "-by)\n\n")
516 (insert ";;; semantic/bovine/" lang "-by.el ends here\n")
517 (save-buffer))))))
518
519;;; bovine-grammar.el ends here
diff --git a/admin/grammars/c.by b/admin/grammars/c.by
index b49f8ce76c7..dfced9813d1 100644
--- a/admin/grammars/c.by
+++ b/admin/grammars/c.by
@@ -1,6 +1,5 @@
1;;; c.by -- LL grammar for C/C++ language specification 1;;; c.by -- LL grammar for C/C++ language specification
2 2;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
3;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
4;; 3;;
5;; Author: Eric M. Ludlam <zappo@gnu.org> 4;; Author: Eric M. Ludlam <zappo@gnu.org>
6;; David Ponce <david@dponce.com> 5;; David Ponce <david@dponce.com>
@@ -39,6 +38,13 @@
39;; > * Can't parse signature element: "RmcBucStatus* rftBucStatus" 38;; > * Can't parse signature element: "RmcBucStatus* rftBucStatus"
40 39
41%package semantic-c-by 40%package semantic-c-by
41%provide semantic/bovine/c-by
42
43%{
44(declare-function semantic-c-reconstitute-token "semantic/bovine/c")
45(declare-function semantic-c-reconstitute-template "semantic/bovine/c")
46(declare-function semantic-expand-c-tag "semantic/bovine/c")
47}
42 48
43%languagemode c-mode c++-mode 49%languagemode c-mode c++-mode
44%start declaration 50%start declaration
@@ -98,6 +104,8 @@
98%put VIRTUAL summary "Method Modifier: virtual <type> <name>(...) ..." 104%put VIRTUAL summary "Method Modifier: virtual <type> <name>(...) ..."
99%token MUTABLE "mutable" 105%token MUTABLE "mutable"
100%put MUTABLE summary "Member Declaration Modifier: mutable <type> <name> ..." 106%put MUTABLE summary "Member Declaration Modifier: mutable <type> <name> ..."
107%token EXPLICIT "explicit"
108%put EXPLICIT summary "Forbids implicit type conversion: explicit <constructor>"
101 109
102%token STRUCT "struct" 110%token STRUCT "struct"
103%put STRUCT summary "Structure Type Declaration: struct [name] { ... };" 111%put STRUCT summary "Structure Type Declaration: struct [name] { ... };"
@@ -261,7 +269,7 @@ define
261 ; 269 ;
262 270
263;; In C++, structures can have the same things as classes. 271;; In C++, structures can have the same things as classes.
264;; So delete this somday in the figure. 272;; So delete this some day in the figure.
265;; 273;;
266;;structparts : semantic-list 274;;structparts : semantic-list
267;; (EXPANDFULL $1 structsubparts) 275;; (EXPANDFULL $1 structsubparts)
@@ -370,6 +378,9 @@ namespacesubparts
370 ;; PUBLIC or PRIVATE bits. Ignore them for now. 378 ;; PUBLIC or PRIVATE bits. Ignore them for now.
371 | template 379 | template
372 | using 380 | using
381 ;; Includes inside namespaces
382 | spp-include
383 (TAG $1 'include :inside-ns t)
373 | ;;EMPTY 384 | ;;EMPTY
374 ; 385 ;
375 386
@@ -1098,6 +1109,8 @@ functionname
1098function-pointer 1109function-pointer
1099 : LPAREN STAR symbol RPAREN 1110 : LPAREN STAR symbol RPAREN
1100 ( (concat "*" $3) ) 1111 ( (concat "*" $3) )
1112 | LPAREN symbol RPAREN
1113 ( $2 )
1101 ; 1114 ;
1102 1115
1103fun-or-proto-end 1116fun-or-proto-end
diff --git a/admin/grammars/grammar.wy b/admin/grammars/grammar.wy
index 18e8b814303..f89fe6220ff 100644
--- a/admin/grammars/grammar.wy
+++ b/admin/grammars/grammar.wy
@@ -1,6 +1,6 @@
1;;; semantic-grammar.wy -- LALR grammar of Semantic input grammars 1;;; semantic-grammar.wy -- LALR grammar of Semantic input grammars
2;; 2;;
3;; Copyright (C) 2002-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
4;; 4;;
5;; Author: David Ponce <david@dponce.com> 5;; Author: David Ponce <david@dponce.com>
6;; Maintainer: David Ponce <david@dponce.com> 6;; Maintainer: David Ponce <david@dponce.com>
@@ -23,6 +23,9 @@
23;; You should have received a copy of the GNU General Public License 23;; You should have received a copy of the GNU General Public License
24;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. 24;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
25 25
26%package semantic-grammar-wy
27%provide semantic/grammar-wy
28
26%{ 29%{
27(defvar semantic-grammar-lex-c-char-re) 30(defvar semantic-grammar-lex-c-char-re)
28 31
@@ -32,8 +35,6 @@
32(defvar semantic-grammar-wy--rindx nil) 35(defvar semantic-grammar-wy--rindx nil)
33} 36}
34 37
35%package semantic-grammar-wy
36
37%languagemode wy-mode 38%languagemode wy-mode
38 39
39;; Main 40;; Main
@@ -52,6 +53,7 @@
52%keyword LEFT "%left" 53%keyword LEFT "%left"
53%keyword NONASSOC "%nonassoc" 54%keyword NONASSOC "%nonassoc"
54%keyword PACKAGE "%package" 55%keyword PACKAGE "%package"
56%keyword PROVIDE "%provide"
55%keyword PREC "%prec" 57%keyword PREC "%prec"
56%keyword PUT "%put" 58%keyword PUT "%put"
57%keyword QUOTEMODE "%quotemode" 59%keyword QUOTEMODE "%quotemode"
@@ -134,6 +136,7 @@ decl:
134 | no_default_prec_decl 136 | no_default_prec_decl
135 | languagemode_decl 137 | languagemode_decl
136 | package_decl 138 | package_decl
139 | provide_decl
137 | precedence_decl 140 | precedence_decl
138 | put_decl 141 | put_decl
139 | quotemode_decl 142 | quotemode_decl
@@ -165,6 +168,11 @@ package_decl:
165 `(PACKAGE-TAG ',$2 nil) 168 `(PACKAGE-TAG ',$2 nil)
166 ; 169 ;
167 170
171provide_decl:
172 PROVIDE SYMBOL
173 `(TAG ',$2 'provide)
174 ;
175
168precedence_decl: 176precedence_decl:
169 associativity token_type_opt items 177 associativity token_type_opt items
170 `(TAG ',$1 'assoc :type ',$2 :value ',$3) 178 `(TAG ',$1 'assoc :type ',$2 :value ',$3)
diff --git a/admin/grammars/java-tags.wy b/admin/grammars/java-tags.wy
index f4b2f1f1f49..708715533ff 100644
--- a/admin/grammars/java-tags.wy
+++ b/admin/grammars/java-tags.wy
@@ -1,6 +1,6 @@
1;;; java-tags.wy -- Semantic LALR grammar for Java 1;;; java-tags.wy -- Semantic LALR grammar for Java
2 2
3;; Copyright (C) 2002-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
4;; 4;;
5;; Author: David Ponce <david@dponce.com> 5;; Author: David Ponce <david@dponce.com>
6;; Maintainer: David Ponce <david@dponce.com> 6;; Maintainer: David Ponce <david@dponce.com>
@@ -23,6 +23,7 @@
23;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. 23;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
24 24
25%package wisent-java-tags-wy 25%package wisent-java-tags-wy
26%provide semantic/wisent/javat-wy
26 27
27%languagemode java-mode 28%languagemode java-mode
28 29
@@ -444,7 +445,7 @@ class_member_declaration
444;;; Type Declaration token 445;;; Type Declaration token
445;; ("NAME" type "TYPE" ( PART-LIST ) ( PARENTS ) EXTRA-SPEC "DOCSTRING") 446;; ("NAME" type "TYPE" ( PART-LIST ) ( PARENTS ) EXTRA-SPEC "DOCSTRING")
446interface_declaration 447interface_declaration
447 : modifiers_opt INTERFACE IDENTIFIER extends_interfaces_opt interface_body 448 : modifiers_opt INTERFACE qualified_name extends_interfaces_opt interface_body
448 (TYPE-TAG $3 $2 $5 (if $4 (cons nil $4)) :typemodifiers $1) 449 (TYPE-TAG $3 $2 $5 (if $4 (cons nil $4)) :typemodifiers $1)
449 ; 450 ;
450 451
@@ -547,7 +548,7 @@ formal_parameters
547;;; Variable token 548;;; Variable token
548;; ("NAME" variable "TYPE" DEFAULT-VALUE EXTRA-SPEC "DOCSTRING") 549;; ("NAME" variable "TYPE" DEFAULT-VALUE EXTRA-SPEC "DOCSTRING")
549formal_parameter 550formal_parameter
550 : formal_parameter_modifier_opt type variable_declarator_id 551 : formal_parameter_modifier_opt type opt_variable_declarator_id
551 (VARIABLE-TAG $3 $2 nil :typemodifiers $1) 552 (VARIABLE-TAG $3 $2 nil :typemodifiers $1)
552 ; 553 ;
553 554
@@ -582,6 +583,13 @@ variable_declarator
582 (cons $1 $region) 583 (cons $1 $region)
583 ; 584 ;
584 585
586opt_variable_declarator_id
587 : ;; EMPTY
588 (identity "")
589 | variable_declarator_id
590 (identity $1)
591 ;
592
585variable_declarator_id 593variable_declarator_id
586 : IDENTIFIER dims_opt 594 : IDENTIFIER dims_opt
587 (concat $1 $2) 595 (concat $1 $2)
diff --git a/admin/grammars/js.wy b/admin/grammars/js.wy
index ffa324806cf..7b55f5c3834 100644
--- a/admin/grammars/js.wy
+++ b/admin/grammars/js.wy
@@ -1,6 +1,6 @@
1;;; javascript-jv.wy -- LALR grammar for Javascript 1;;; javascript-jv.wy -- LALR grammar for Javascript
2 2
3;; Copyright (C) 2005-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
4;; Copyright (C) 1998-2011 Ecma International. 4;; Copyright (C) 1998-2011 Ecma International.
5 5
6;; Author: Joakim Verona 6;; Author: Joakim Verona
@@ -58,6 +58,7 @@
58;; DAMAGE. 58;; DAMAGE.
59 59
60%package wisent-javascript-jv-wy 60%package wisent-javascript-jv-wy
61%provide semantic/wisent/js-wy
61;; JAVE I prefere ecmascript-mode 62;; JAVE I prefere ecmascript-mode
62%languagemode ecmascript-mode javascript-mode 63%languagemode ecmascript-mode javascript-mode
63 64
diff --git a/admin/grammars/make.by b/admin/grammars/make.by
index dab4472b737..6cff4716f82 100644
--- a/admin/grammars/make.by
+++ b/admin/grammars/make.by
@@ -1,6 +1,6 @@
1;;; make.by -- BY notation for Makefiles. 1;;; make.by -- BY notation for Makefiles.
2 2
3;; Copyright (C) 1999-2011 Free Software Foundation, Inc. 3;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
4;; 4;;
5;; Author: Eric M. Ludlam <zappo@gnu.org> 5;; Author: Eric M. Ludlam <zappo@gnu.org>
6;; David Ponce <david@dponce.com> 6;; David Ponce <david@dponce.com>
@@ -22,6 +22,7 @@
22;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. 22;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
23 23
24%package semantic-make-by 24%package semantic-make-by
25%provide semantic/bovine/make-by
25 26
26%languagemode makefile-mode 27%languagemode makefile-mode
27%start Makefile 28%start Makefile
diff --git a/admin/grammars/python.wy b/admin/grammars/python.wy
index b30305ee78a..f17f41c9b1b 100644
--- a/admin/grammars/python.wy
+++ b/admin/grammars/python.wy
@@ -1,7 +1,8 @@
1;;; python.wy -- LALR grammar for Python 1;;; python.wy -- LALR grammar for Python
2 2
3;; Copyright (C) 2002-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
4;; Copyright (C) 2001-2010 Python Software Foundation 4;; Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
5;; 2009, 2010 Python Software Foundation; All Rights Reserved
5 6
6;; Author: Richard Kim <ryk@dspwiz.com> 7;; Author: Richard Kim <ryk@dspwiz.com>
7;; Maintainer: Richard Kim <ryk@dspwiz.com> 8;; Maintainer: Richard Kim <ryk@dspwiz.com>
@@ -87,6 +88,12 @@
87;; -------- 88;; --------
88 89
89%package wisent-python-wy 90%package wisent-python-wy
91%provide semantic/wisent/python-wy
92
93%{
94(declare-function wisent-python-reconstitute-function-tag "semantic/wisent/python")
95(declare-function wisent-python-reconstitute-class-tag "semantic/wisent/python")
96}
90 97
91%languagemode python-mode 98%languagemode python-mode
92 99
@@ -172,6 +179,7 @@
172%token <punctuation> COMMA "," 179%token <punctuation> COMMA ","
173%token <punctuation> ASSIGN "=" 180%token <punctuation> ASSIGN "="
174%token <punctuation> BACKQUOTE "`" 181%token <punctuation> BACKQUOTE "`"
182%token <punctuation> AT "@"
175 183
176 184
177;; ----------------- 185;; -----------------
@@ -306,6 +314,10 @@
306%put WHILE summary 314%put WHILE summary
307"Start a 'while' loop" 315"Start a 'while' loop"
308 316
317%keyword WITH "with"
318%put WITH summary
319"Start statement with an associated context object"
320
309%keyword YIELD "yield" 321%keyword YIELD "yield"
310%put YIELD summary 322%put YIELD summary
311"Create a generator function" 323"Create a generator function"
@@ -544,8 +556,10 @@ import_stmt
544 556
545;; dotted_as_name (',' dotted_as_name)* 557;; dotted_as_name (',' dotted_as_name)*
546dotted_as_name_list 558dotted_as_name_list
547 : dotted_as_name 559 : dotted_as_name_list COMMA dotted_as_name
548 | dotted_as_name_list COMMA dotted_as_name 560 (cons $3 $1)
561 | dotted_as_name
562 (list $1)
549 ; 563 ;
550 564
551;; ('*' | import_as_name (',' import_as_name)*) 565;; ('*' | import_as_name (',' import_as_name)*)
@@ -648,6 +662,7 @@ compound_stmt
648 | while_stmt 662 | while_stmt
649 | for_stmt 663 | for_stmt
650 | try_stmt 664 | try_stmt
665 | with_stmt
651 | funcdef 666 | funcdef
652 | class_declaration 667 | class_declaration
653 ; 668 ;
@@ -755,13 +770,46 @@ zero_one_or_two_test
755 ; 770 ;
756 771
757;;;============================================================================ 772;;;============================================================================
773;;@@ with_stmt
774;;;============================================================================
775
776;; with_stmt: 'with' test [ with_var ] ':' suite
777with_stmt
778 : WITH test COLON suite
779 (CODE-TAG $1 nil)
780 | WITH test with_var COLON suite
781 (CODE-TAG $1 nil) ;; TODO capture variable
782 ;
783
784with_var
785 : AS expr
786 () ;; TODO capture
787 ;
788
789;;;============================================================================
758;;;@@ funcdef 790;;;@@ funcdef
759;;;============================================================================ 791;;;============================================================================
760 792
761;; funcdef: 'def' NAME parameters ':' suite 793decorator
794 : AT dotted_name varargslist_opt NEWLINE
795 (FUNCTION-TAG $2 "decorator" $3)
796 ;
797
798decorators
799 : decorator
800 (list $1)
801 | decorator decorators
802 (cons $1 $2)
803 ;
804
805;; funcdef: [decorators] 'def' NAME parameters ':' suite
762funcdef 806funcdef
763 : DEF NAME function_parameter_list COLON suite 807 : DEF NAME function_parameter_list COLON suite
764 (FUNCTION-TAG $2 nil $3) 808 (wisent-python-reconstitute-function-tag
809 (FUNCTION-TAG $2 nil $3) $5)
810 | decorators DEF NAME function_parameter_list COLON suite
811 (wisent-python-reconstitute-function-tag
812 (FUNCTION-TAG $3 nil $4 :decorators $1) $6)
765 ; 813 ;
766 814
767function_parameter_list 815function_parameter_list
@@ -797,10 +845,11 @@ function_parameter
797;; classdef: 'class' NAME ['(' testlist ')'] ':' suite 845;; classdef: 'class' NAME ['(' testlist ')'] ':' suite
798class_declaration 846class_declaration
799 : CLASS NAME paren_class_list_opt COLON suite 847 : CLASS NAME paren_class_list_opt COLON suite
800 (TYPE-TAG $2 $1 ;; Name "class" 848 (wisent-python-reconstitute-class-tag
801 $5 ;; Members 849 (TYPE-TAG $2 $1 ;; Name "class"
802 (cons $3 nil) ;; (SUPERCLASSES . INTERFACES) 850 $5 ;; Members
803 ) 851 (cons $3 nil) ;; (SUPERCLASSES . INTERFACES)
852 ))
804 ; 853 ;
805 854
806;; ['(' testlist ')'] 855;; ['(' testlist ')']
diff --git a/admin/grammars/scheme.by b/admin/grammars/scheme.by
index bc6612d4c70..98e75901a71 100644
--- a/admin/grammars/scheme.by
+++ b/admin/grammars/scheme.by
@@ -1,6 +1,6 @@
1;;; scheme.by -- Scheme BNF language specification 1;;; scheme.by -- Scheme BNF language specification
2 2
3;; Copyright (C) 2001-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
4 4
5;; This file is part of GNU Emacs. 5;; This file is part of GNU Emacs.
6 6
@@ -18,6 +18,7 @@
18;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. 18;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
19 19
20%package semantic-scm-by 20%package semantic-scm-by
21%provide semantic/bovine/scm-by
21 22
22%languagemode scheme-mode 23%languagemode scheme-mode
23%start scheme 24%start scheme
diff --git a/admin/grammars/srecode-template.wy b/admin/grammars/srecode-template.wy
index 4ff2d7e4e41..f84a414b46e 100644
--- a/admin/grammars/srecode-template.wy
+++ b/admin/grammars/srecode-template.wy
@@ -1,6 +1,6 @@
1;;; srecode-template.wy --- Semantic Recoder Template parser 1;;; srecode-template.wy --- Semantic Recoder Template parser
2 2
3;; Copyright (C) 2005-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
4 4
5;; Author: Eric Ludlam <zappo@gnu.org> 5;; Author: Eric Ludlam <zappo@gnu.org>
6;; Keywords: syntax 6;; Keywords: syntax
@@ -28,6 +28,9 @@
28;; Semantic Recoder templates are based on Google Templates 28;; Semantic Recoder templates are based on Google Templates
29;; and are at the bottom of the Semantic Recoder API. 29;; and are at the bottom of the Semantic Recoder API.
30 30
31%package srecode-template-wy
32%provide srecode/srt-wy
33
31%languagemode srecode-mode 34%languagemode srecode-mode
32 35
33%start template_file 36%start template_file
@@ -46,6 +49,15 @@
46%put TEMPLATE summary "template <name>\\n <template definition>" 49%put TEMPLATE summary "template <name>\\n <template definition>"
47%keyword SECTIONDICTIONARY "sectiondictionary" 50%keyword SECTIONDICTIONARY "sectiondictionary"
48%put SECTIONDICTIONARY summary "sectiondictionary <name>\\n <dictionary entries>" 51%put SECTIONDICTIONARY summary "sectiondictionary <name>\\n <dictionary entries>"
52
53%keyword SECTION "section"
54%put SECTION summary
55 "section <name>\\n <dictionary entries>\\n end"
56
57%keyword END "end"
58%put END summary
59 "section ... end"
60
49%keyword PROMPT "prompt" 61%keyword PROMPT "prompt"
50%keyword DEFAULT "default" 62%keyword DEFAULT "default"
51%keyword DEFAULTMACRO "defaultmacro" 63%keyword DEFAULTMACRO "defaultmacro"
@@ -62,7 +74,7 @@
62%token <separator> TEMPLATE_BLOCK "^----" 74%token <separator> TEMPLATE_BLOCK "^----"
63 75
64;;; Bland default types 76;;; Bland default types
65%type <property> ":\\(\\w\\|\\s_\\)*" 77%type <property> syntax ":\\(\\w\\|\\s_\\)*"
66%token <property> property 78%token <property> property
67 79
68%type <symbol> 80%type <symbol>
@@ -134,7 +146,7 @@ insertable-string
134template 146template
135 : TEMPLATE templatename opt-dynamic-arguments newline 147 : TEMPLATE templatename opt-dynamic-arguments newline
136 opt-string 148 opt-string
137 opt-section-dictionaries 149 section-dictionary-list
138 TEMPLATE_BLOCK newline 150 TEMPLATE_BLOCK newline
139 opt-bind 151 opt-bind
140 (FUNCTION-TAG $2 nil $3 :documentation $5 :code $7 152 (FUNCTION-TAG $2 nil $3 :documentation $5 :code $7
@@ -165,29 +177,52 @@ opt-string
165 | () 177 | ()
166 ; 178 ;
167 179
168opt-section-dictionaries
169 : () ;; EMPTY
170 | section-dictionary-list
171 ;
172
173section-dictionary-list 180section-dictionary-list
174 : one-section-dictionary 181 : ;; empty
175 (list $1) 182 ()
176 | section-dictionary-list one-section-dictionary 183 | section-dictionary-list flat-section-dictionary
184 (append $1 (list $2))
185 | section-dictionary-list section-dictionary
177 (append $1 (list $2)) 186 (append $1 (list $2))
178 ; 187 ;
179 188
180one-section-dictionary 189flat-section-dictionary
181 : SECTIONDICTIONARY string newline 190 : SECTIONDICTIONARY string newline
182 variable-list 191 flat-dictionary-entry-list
192 (cons (read $2) $4)
193 ;
194
195flat-dictionary-entry-list
196 : ;; empty
197 ()
198 | flat-dictionary-entry-list flat-dictionary-entry
199 (append $1 $2)
200 ;
201
202flat-dictionary-entry
203 : variable
204 (EXPANDTAG $1)
205 ;
206
207section-dictionary
208 : SECTION string newline
209 dictionary-entry-list
210 END newline
183 (cons (read $2) $4) 211 (cons (read $2) $4)
184 ; 212 ;
185 213
186variable-list 214dictionary-entry-list
215 : ;; empty
216 ()
217 | dictionary-entry-list dictionary-entry
218 (append $1 $2)
219 ;
220
221dictionary-entry
187 : variable 222 : variable
188 (EXPANDTAG $1) 223 (EXPANDTAG $1)
189 | variable-list variable 224 | section-dictionary
190 (append $1 (EXPANDTAG $2)) 225 (list $1)
191 ; 226 ;
192 227
193opt-bind 228opt-bind
@@ -232,4 +267,4 @@ It ignores whitespace, newlines and comments."
232 semantic-lex-default-action 267 semantic-lex-default-action
233 ) 268 )
234 269
235;;; wisent-dot.wy ends here 270;;; srecode-template.wy ends here
diff --git a/admin/grammars/wisent-grammar.el b/admin/grammars/wisent-grammar.el
deleted file mode 100644
index 66045c2294d..00000000000
--- a/admin/grammars/wisent-grammar.el
+++ /dev/null
@@ -1,537 +0,0 @@
1;;; wisent-grammar.el --- Wisent's input grammar mode
2
3;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
4;;
5;; Author: David Ponce <david@dponce.com>
6;; Maintainer: David Ponce <david@dponce.com>
7;; Created: 26 Aug 2002
8;; Keywords: syntax
9;; This file is part of GNU Emacs.
10
11;; GNU Emacs is free software: you can redistribute it and/or modify
12;; it under the terms of the GNU General Public License as published by
13;; the Free Software Foundation, either version 3 of the License, or
14;; (at your option) any later version.
15
16;; GNU Emacs is distributed in the hope that it will be useful,
17;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;; GNU General Public License for more details.
20
21;; You should have received a copy of the GNU General Public License
22;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
23
24;;; Commentary:
25;;
26;; Major mode for editing Wisent's input grammar (.wy) files.
27
28;;; Code:
29(require 'semantic)
30(require 'semantic/grammar)
31(require 'semantic/find)
32(require 'semantic/lex)
33(require 'semantic/wisent)
34(require 'semantic/bovine)
35
36(defsubst wisent-grammar-region-placeholder (symb)
37 "Given a $N placeholder symbol in SYMB, return a $regionN symbol.
38Return nil if $N is not a valid placeholder symbol."
39 (let ((n (symbol-name symb)))
40 (if (string-match "^[$]\\([1-9][0-9]*\\)$" n)
41 (intern (concat "$region" (match-string 1 n))))))
42
43(defun wisent-grammar-EXPAND (symb nonterm)
44 "Expand call to EXPAND grammar macro.
45Return the form to parse from within a nonterminal.
46SYMB is a $I placeholder symbol that gives the bounds of the area to
47parse.
48NONTERM is the nonterminal symbol to start with."
49 (unless (member nonterm (semantic-grammar-start))
50 (error "EXPANDFULL macro called with %s, but not used with %%start"
51 nonterm))
52 (let (($ri (wisent-grammar-region-placeholder symb)))
53 (if $ri
54 `(semantic-bovinate-from-nonterminal
55 (car ,$ri) (cdr ,$ri) ',nonterm)
56 (error "Invalid form (EXPAND %s %s)" symb nonterm))))
57
58(defun wisent-grammar-EXPANDFULL (symb nonterm)
59 "Expand call to EXPANDFULL grammar macro.
60Return the form to recursively parse an area.
61SYMB is a $I placeholder symbol that gives the bounds of the area.
62NONTERM is the nonterminal symbol to start with."
63 (unless (member nonterm (semantic-grammar-start))
64 (error "EXPANDFULL macro called with %s, but not used with %%start"
65 nonterm))
66 (let (($ri (wisent-grammar-region-placeholder symb)))
67 (if $ri
68 `(semantic-parse-region
69 (car ,$ri) (cdr ,$ri) ',nonterm 1)
70 (error "Invalid form (EXPANDFULL %s %s)" symb nonterm))))
71
72(defun wisent-grammar-TAG (name class &rest attributes)
73 "Expand call to TAG grammar macro.
74Return the form to create a generic semantic tag.
75See the function `semantic-tag' for the meaning of arguments NAME,
76CLASS and ATTRIBUTES."
77 `(wisent-raw-tag
78 (semantic-tag ,name ,class ,@attributes)))
79
80(defun wisent-grammar-VARIABLE-TAG (name type default-value &rest attributes)
81 "Expand call to VARIABLE-TAG grammar macro.
82Return the form to create a semantic tag of class variable.
83See the function `semantic-tag-new-variable' for the meaning of
84arguments NAME, TYPE, DEFAULT-VALUE and ATTRIBUTES."
85 `(wisent-raw-tag
86 (semantic-tag-new-variable ,name ,type ,default-value ,@attributes)))
87
88(defun wisent-grammar-FUNCTION-TAG (name type arg-list &rest attributes)
89 "Expand call to FUNCTION-TAG grammar macro.
90Return the form to create a semantic tag of class function.
91See the function `semantic-tag-new-function' for the meaning of
92arguments NAME, TYPE, ARG-LIST and ATTRIBUTES."
93 `(wisent-raw-tag
94 (semantic-tag-new-function ,name ,type ,arg-list ,@attributes)))
95
96(defun wisent-grammar-TYPE-TAG (name type members parents &rest attributes)
97 "Expand call to TYPE-TAG grammar macro.
98Return the form to create a semantic tag of class type.
99See the function `semantic-tag-new-type' for the meaning of arguments
100NAME, TYPE, MEMBERS, PARENTS and ATTRIBUTES."
101 `(wisent-raw-tag
102 (semantic-tag-new-type ,name ,type ,members ,parents ,@attributes)))
103
104(defun wisent-grammar-INCLUDE-TAG (name system-flag &rest attributes)
105 "Expand call to INCLUDE-TAG grammar macro.
106Return the form to create a semantic tag of class include.
107See the function `semantic-tag-new-include' for the meaning of
108arguments NAME, SYSTEM-FLAG and ATTRIBUTES."
109 `(wisent-raw-tag
110 (semantic-tag-new-include ,name ,system-flag ,@attributes)))
111
112(defun wisent-grammar-PACKAGE-TAG (name detail &rest attributes)
113 "Expand call to PACKAGE-TAG grammar macro.
114Return the form to create a semantic tag of class package.
115See the function `semantic-tag-new-package' for the meaning of
116arguments NAME, DETAIL and ATTRIBUTES."
117 `(wisent-raw-tag
118 (semantic-tag-new-package ,name ,detail ,@attributes)))
119
120(defun wisent-grammar-CODE-TAG (name detail &rest attributes)
121 "Expand call to CODE-TAG grammar macro.
122Return the form to create a semantic tag of class code.
123See the function `semantic-tag-new-code' for the meaning of arguments
124NAME, DETAIL and ATTRIBUTES."
125 `(wisent-raw-tag
126 (semantic-tag-new-code ,name ,detail ,@attributes)))
127
128(defun wisent-grammar-ALIAS-TAG (name aliasclass definition &rest attributes)
129 "Expand call to ALIAS-TAG grammar macro.
130Return the form to create a semantic tag of class alias.
131See the function `semantic-tag-new-alias' for the meaning of arguments
132NAME, ALIASCLASS, DEFINITION and ATTRIBUTES."
133 `(wisent-raw-tag
134 (semantic-tag-new-alias ,name ,aliasclass ,definition ,@attributes)))
135
136(defun wisent-grammar-EXPANDTAG (raw-tag)
137 "Expand call to EXPANDTAG grammar macro.
138Return the form to produce a list of cooked tags from raw form of
139Semantic tag RAW-TAG."
140 `(wisent-cook-tag ,raw-tag))
141
142(defun wisent-grammar-AST-ADD (ast &rest nodes)
143 "Expand call to AST-ADD grammar macro.
144Return the form to update the abstract syntax tree AST with NODES.
145See also the function `semantic-ast-add'."
146 `(semantic-ast-add ,ast ,@nodes))
147
148(defun wisent-grammar-AST-PUT (ast &rest nodes)
149 "Expand call to AST-PUT grammar macro.
150Return the form to update the abstract syntax tree AST with NODES.
151See also the function `semantic-ast-put'."
152 `(semantic-ast-put ,ast ,@nodes))
153
154(defun wisent-grammar-AST-GET (ast node)
155 "Expand call to AST-GET grammar macro.
156Return the form to get, from the abstract syntax tree AST, the value
157of NODE.
158See also the function `semantic-ast-get'."
159 `(semantic-ast-get ,ast ,node))
160
161(defun wisent-grammar-AST-GET1 (ast node)
162 "Expand call to AST-GET1 grammar macro.
163Return the form to get, from the abstract syntax tree AST, the first
164value of NODE.
165See also the function `semantic-ast-get1'."
166 `(semantic-ast-get1 ,ast ,node))
167
168(defun wisent-grammar-AST-GET-STRING (ast node)
169 "Expand call to AST-GET-STRING grammar macro.
170Return the form to get, from the abstract syntax tree AST, the value
171of NODE as a string.
172See also the function `semantic-ast-get-string'."
173 `(semantic-ast-get-string ,ast ,node))
174
175(defun wisent-grammar-AST-MERGE (ast1 ast2)
176 "Expand call to AST-MERGE grammar macro.
177Return the form to merge the abstract syntax trees AST1 and AST2.
178See also the function `semantic-ast-merge'."
179 `(semantic-ast-merge ,ast1 ,ast2))
180
181(defun wisent-grammar-SKIP-BLOCK (&optional symb)
182 "Expand call to SKIP-BLOCK grammar macro.
183Return the form to skip a parenthesized block.
184Optional argument SYMB is a $I placeholder symbol that gives the
185bounds of the block to skip. By default, skip the block at `$1'.
186See also the function `wisent-skip-block'."
187 (let ($ri)
188 (when symb
189 (unless (setq $ri (wisent-grammar-region-placeholder symb))
190 (error "Invalid form (SKIP-BLOCK %s)" symb)))
191 `(wisent-skip-block ,$ri)))
192
193(defun wisent-grammar-SKIP-TOKEN ()
194 "Expand call to SKIP-TOKEN grammar macro.
195Return the form to skip the lookahead token.
196See also the function `wisent-skip-token'."
197 `(wisent-skip-token))
198
199(defun wisent-grammar-assocs ()
200 "Return associativity and precedence level definitions."
201 (mapcar
202 #'(lambda (tag)
203 (cons (intern (semantic-tag-name tag))
204 (mapcar #'semantic-grammar-item-value
205 (semantic-tag-get-attribute tag :value))))
206 (semantic-find-tags-by-class 'assoc (current-buffer))))
207
208(defun wisent-grammar-terminals ()
209 "Return the list of terminal symbols.
210Keep order of declaration in the WY file without duplicates."
211 (let (terms)
212 (mapcar
213 #'(lambda (tag)
214 (mapcar #'(lambda (name)
215 (add-to-list 'terms (intern name)))
216 (cons (semantic-tag-name tag)
217 (semantic-tag-get-attribute tag :rest))))
218 (semantic--find-tags-by-function
219 #'(lambda (tag)
220 (memq (semantic-tag-class tag) '(token keyword)))
221 (current-buffer)))
222 (nreverse terms)))
223
224;; Cache of macro definitions currently in use.
225(defvar wisent--grammar-macros nil)
226
227(defun wisent-grammar-expand-macros (expr)
228 "Expand expression EXPR into a form without grammar macros.
229Return the expanded expression."
230 (if (or (atom expr) (semantic-grammar-quote-p (car expr)))
231 expr ;; Just return atom or quoted expression.
232 (let* ((expr (mapcar 'wisent-grammar-expand-macros expr))
233 (macro (assq (car expr) wisent--grammar-macros)))
234 (if macro ;; Expand Semantic built-in.
235 (apply (cdr macro) (cdr expr))
236 expr))))
237
238(defun wisent-grammar-nonterminals ()
239 "Return the list form of nonterminal definitions."
240 (let ((nttags (semantic-find-tags-by-class
241 'nonterminal (current-buffer)))
242 ;; Setup the cache of macro definitions.
243 (wisent--grammar-macros (semantic-grammar-macros))
244 rltags nterms rules rule elems elem actn sexp prec)
245 (while nttags
246 (setq rltags (semantic-tag-components (car nttags))
247 rules nil)
248 (while rltags
249 (setq elems (semantic-tag-get-attribute (car rltags) :value)
250 prec (semantic-tag-get-attribute (car rltags) :prec)
251 actn (semantic-tag-get-attribute (car rltags) :expr)
252 rule nil)
253 (when elems ;; not an EMPTY rule
254 (while elems
255 (setq elem (car elems)
256 elems (cdr elems))
257 (setq elem (if (consp elem) ;; mid-rule action
258 (wisent-grammar-expand-macros (read (car elem)))
259 (semantic-grammar-item-value elem)) ;; item
260 rule (cons elem rule)))
261 (setq rule (nreverse rule)))
262 (if prec
263 (setq prec (vector (semantic-grammar-item-value prec))))
264 (if actn
265 (setq sexp (wisent-grammar-expand-macros (read actn))))
266 (setq rule (if actn
267 (if prec
268 (list rule prec sexp)
269 (list rule sexp))
270 (if prec
271 (list rule prec)
272 (list rule))))
273 (setq rules (cons rule rules)
274 rltags (cdr rltags)))
275 (setq nterms (cons (cons (intern (semantic-tag-name (car nttags)))
276 (nreverse rules))
277 nterms)
278 nttags (cdr nttags)))
279 (nreverse nterms)))
280
281(defun wisent-grammar-grammar ()
282 "Return Elisp form of the grammar."
283 (let* ((terminals (wisent-grammar-terminals))
284 (nonterminals (wisent-grammar-nonterminals))
285 (assocs (wisent-grammar-assocs)))
286 (cons terminals (cons assocs nonterminals))))
287
288(defun wisent-grammar-parsetable-builder ()
289 "Return the value of the parser table."
290 `(progn
291 ;; Ensure that the grammar [byte-]compiler is available.
292 (eval-when-compile (require 'semantic/wisent/comp))
293 (wisent-compile-grammar
294 ',(wisent-grammar-grammar)
295 ',(semantic-grammar-start))))
296
297(defun wisent-grammar-setupcode-builder ()
298 "Return the parser setup code."
299 (format
300 "(semantic-install-function-overrides\n\
301 '((parse-stream . wisent-parse-stream)))\n\
302 (setq semantic-parser-name \"LALR\"\n\
303 semantic--parse-table %s\n\
304 semantic-debug-parser-source %S\n\
305 semantic-flex-keywords-obarray %s\n\
306 semantic-lex-types-obarray %s)\n\
307 ;; Collect unmatched syntax lexical tokens\n\
308 (semantic-make-local-hook 'wisent-discarding-token-functions)\n\
309 (add-hook 'wisent-discarding-token-functions\n\
310 'wisent-collect-unmatched-syntax nil t)"
311 (semantic-grammar-parsetable)
312 (buffer-name)
313 (semantic-grammar-keywordtable)
314 (semantic-grammar-tokentable)))
315
316(defvar wisent-grammar-menu
317 '("WY Grammar"
318 ["LALR Compiler Verbose" wisent-toggle-verbose-flag
319 :style toggle :active (boundp 'wisent-verbose-flag)
320 :selected (and (boundp 'wisent-verbose-flag)
321 wisent-verbose-flag)]
322 )
323 "WY mode specific grammar menu.
324Menu items are appended to the common grammar menu.")
325
326(define-derived-mode wisent-grammar-mode semantic-grammar-mode "WY"
327 "Major mode for editing Wisent grammars."
328 (semantic-grammar-setup-menu wisent-grammar-menu)
329 (semantic-install-function-overrides
330 '((grammar-parsetable-builder . wisent-grammar-parsetable-builder)
331 (grammar-setupcode-builder . wisent-grammar-setupcode-builder)
332 )))
333
334(add-to-list 'auto-mode-alist '("\\.wy\\'" . wisent-grammar-mode))
335
336(defvar-mode-local wisent-grammar-mode semantic-grammar-macros
337 '(
338 (ASSOC . semantic-grammar-ASSOC)
339 (EXPAND . wisent-grammar-EXPAND)
340 (EXPANDFULL . wisent-grammar-EXPANDFULL)
341 (TAG . wisent-grammar-TAG)
342 (VARIABLE-TAG . wisent-grammar-VARIABLE-TAG)
343 (FUNCTION-TAG . wisent-grammar-FUNCTION-TAG)
344 (TYPE-TAG . wisent-grammar-TYPE-TAG)
345 (INCLUDE-TAG . wisent-grammar-INCLUDE-TAG)
346 (PACKAGE-TAG . wisent-grammar-PACKAGE-TAG)
347 (EXPANDTAG . wisent-grammar-EXPANDTAG)
348 (CODE-TAG . wisent-grammar-CODE-TAG)
349 (ALIAS-TAG . wisent-grammar-ALIAS-TAG)
350 (AST-ADD . wisent-grammar-AST-ADD)
351 (AST-PUT . wisent-grammar-AST-PUT)
352 (AST-GET . wisent-grammar-AST-GET)
353 (AST-GET1 . wisent-grammar-AST-GET1)
354 (AST-GET-STRING . wisent-grammar-AST-GET-STRING)
355 (AST-MERGE . wisent-grammar-AST-MERGE)
356 (SKIP-BLOCK . wisent-grammar-SKIP-BLOCK)
357 (SKIP-TOKEN . wisent-grammar-SKIP-TOKEN)
358 )
359 "Semantic grammar macros used in wisent grammars.")
360
361(defvar wisent-make-parsers--emacs-license
362 ";; This file is part of GNU Emacs.
363
364;; GNU Emacs is free software: you can redistribute it and/or modify
365;; it under the terms of the GNU General Public License as published by
366;; the Free Software Foundation, either version 3 of the License, or
367;; (at your option) any later version.
368
369;; GNU Emacs is distributed in the hope that it will be useful,
370;; but WITHOUT ANY WARRANTY; without even the implied warranty of
371;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
372;; GNU General Public License for more details.
373
374;; You should have received a copy of the GNU General Public License
375;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.")
376
377(defvar wisent-make-parsers--python-license
378 ";; It is derived in part from the Python grammar, used under the
379;; following license:
380;;
381;; PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
382;; --------------------------------------------
383;; 1. This LICENSE AGREEMENT is between the Python Software Foundation
384;; (\"PSF\"), and the Individual or Organization (\"Licensee\") accessing
385;; and otherwise using this software (\"Python\") in source or binary
386;; form and its associated documentation.
387;;
388;; 2. Subject to the terms and conditions of this License Agreement,
389;; PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide
390;; license to reproduce, analyze, test, perform and/or display
391;; publicly, prepare derivative works, distribute, and otherwise use
392;; Python alone or in any derivative version, provided, however, that
393;; PSF's License Agreement and PSF's notice of copyright, i.e.,
394;; \"Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
395;; 2009, 2010 Python Software Foundation; All Rights Reserved\" are
396;; retained in Python alone or in any derivative version prepared by
397;; Licensee.
398;;
399;; 3. In the event Licensee prepares a derivative work that is based
400;; on or incorporates Python or any part thereof, and wants to make
401;; the derivative work available to others as provided herein, then
402;; Licensee hereby agrees to include in any such work a brief summary
403;; of the changes made to Python.
404;;
405;; 4. PSF is making Python available to Licensee on an \"AS IS\"
406;; basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
407;; IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
408;; DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
409;; FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
410;; INFRINGE ANY THIRD PARTY RIGHTS.
411;;
412;; 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
413;; FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A
414;; RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR
415;; ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
416;;
417;; 6. This License Agreement will automatically terminate upon a
418;; material breach of its terms and conditions.
419;;
420;; 7. Nothing in this License Agreement shall be deemed to create any
421;; relationship of agency, partnership, or joint venture between PSF
422;; and Licensee. This License Agreement does not grant permission to
423;; use PSF trademarks or trade name in a trademark sense to endorse or
424;; promote products or services of Licensee, or any third party.
425;;
426;; 8. By copying, installing or otherwise using Python, Licensee
427;; agrees to be bound by the terms and conditions of this License
428;; Agreement.")
429
430(defvar wisent-make-parsers--ecmascript-license
431 "\n;; It is derived from the grammar in the ECMAScript Language
432;; Specification published at
433;;
434;; http://www.ecma-international.org/publications/standards/Ecma-262.htm
435;;
436;; and redistributed under the following license:
437;;
438;; Redistribution and use in source and binary forms, with or without
439;; modification, are permitted provided that the following conditions
440;; are met:
441;;
442;; 1. Redistributions of source code must retain the above copyright
443;; notice, this list of conditions and the following disclaimer.
444;;
445;; 2. Redistributions in binary form must reproduce the above
446;; copyright notice, this list of conditions and the following
447;; disclaimer in the documentation and/or other materials provided
448;; with the distribution.
449;;
450;; 3. Neither the name of the authors nor Ecma International may be
451;; used to endorse or promote products derived from this software
452;; without specific prior written permission. THIS SOFTWARE IS
453;; PROVIDED BY THE ECMA INTERNATIONAL \"AS IS\" AND ANY EXPRESS OR
454;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
455;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
456;; ARE DISCLAIMED. IN NO EVENT SHALL ECMA INTERNATIONAL BE LIABLE FOR
457;; ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
458;; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
459;; OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
460;; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
461;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
462;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
463;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
464;; DAMAGE.")
465
466(defvar wisent-make-parsers--parser-file-name
467 `(("semantic-grammar-wy.el"
468 "semantic/grammar-wy")
469 ("srecode-template-wy.el"
470 "srecode/srt-wy")
471 ("wisent-javascript-jv-wy.el"
472 "semantic/wisent/js-wy"
473 "Copyright (C) 1998-2011 Ecma International"
474 ,wisent-make-parsers--ecmascript-license)
475 ("wisent-java-tags-wy.el"
476 "semantic/wisent/javat-wy")
477 ("wisent-python-wy.el"
478 "semantic/wisent/python-wy"
479 "Copyright (C) 2001-2010 Python Software Foundation"
480 ,wisent-make-parsers--python-license)))
481
482(defun wisent-make-parsers ()
483 "Generate Emacs' built-in Wisent-based parser files."
484 (semantic-mode 1)
485 ;; Loop through each .wy file in current directory, and run
486 ;; `semantic-grammar-batch-build-one-package' to build the grammar.
487 (dolist (f (directory-files default-directory nil "\\.wy\\'"))
488 (let ((packagename
489 (condition-case err
490 (with-current-buffer (find-file-noselect f)
491 (semantic-grammar-create-package))
492 (error (message "%s" (error-message-string err)) nil)))
493 output-data)
494 (when (setq output-data (assoc packagename wisent-make-parsers--parser-file-name))
495 (let ((require-name (nth 1 output-data))
496 (additional-copyright (nth 2 output-data))
497 (additional-license (nth 3 output-data))
498 copyright-end)
499 ;; Touch up the generated parsers for Emacs integration.
500 (with-temp-buffer
501 (insert-file-contents packagename)
502 ;; Fix copyright header:
503 (goto-char (point-min))
504 (when additional-copyright
505 (re-search-forward "Copyright (C).*$")
506 (insert "\n;; " additional-copyright))
507 (re-search-forward "^;; Author:")
508 (setq copyright-end (match-beginning 0))
509 (re-search-forward "^;;; Code:\n")
510 (delete-region copyright-end (match-end 0))
511 (goto-char copyright-end)
512 (insert wisent-make-parsers--emacs-license)
513 (insert "\n\n;;; Commentary:
514;;
515;; This file was generated from admin/grammars/"
516 f ".")
517 (when additional-license
518 (insert "\n" additional-license))
519 (insert "\n\n;;; Code:\n
520\(require 'semantic/lex)\n")
521 (goto-char (point-min))
522 (delete-region (point-min) (line-end-position))
523 (insert ";;; " require-name
524 ".el --- Generated parser support file")
525 (delete-trailing-whitespace)
526 (re-search-forward ";;\n(require 'semantic/lex)\n")
527 (delete-region (match-beginning 0) (match-end 0))
528 ;; Fix footer:
529 (goto-char (point-max))
530 (re-search-backward "^(provide")
531 (delete-region (match-beginning 0) (point-max))
532 (goto-char (point-max))
533 (insert "(provide '" require-name ")\n\n")
534 (insert ";;; " require-name ".el ends here\n")
535 (write-region nil nil (expand-file-name packagename))))))))
536
537;;; wisent-grammar.el ends here
diff --git a/admin/make-announcement b/admin/make-announcement
index dcfd55e8375..5b45d09e89b 100755
--- a/admin/make-announcement
+++ b/admin/make-announcement
@@ -1,6 +1,6 @@
1#! /bin/bash 1#! /bin/bash
2 2
3## Copyright (C) 2002-2011 Free Software Foundation, Inc. 3## Copyright (C) 2002-2012 Free Software Foundation, Inc.
4 4
5## Author: Francesco Potorti` <pot@gnu.org> 5## Author: Francesco Potorti` <pot@gnu.org>
6 6
diff --git a/admin/make-emacs b/admin/make-emacs
index d231f66b03b..688f5c196bf 100755
--- a/admin/make-emacs
+++ b/admin/make-emacs
@@ -2,7 +2,7 @@
2# Build Emacs with various options for profiling, debugging, 2# Build Emacs with various options for profiling, debugging,
3# with and without warnings enabled etc. 3# with and without warnings enabled etc.
4 4
5# Copyright (C) 2001-2011 Free Software Foundation, Inc. 5# Copyright (C) 2001-2012 Free Software Foundation, Inc.
6 6
7# This file is part of GNU Emacs. 7# This file is part of GNU Emacs.
8 8
@@ -42,7 +42,7 @@ $rc = GetOptions ("help" => \$help,
42 "check-marked" => \$check_marked, 42 "check-marked" => \$check_marked,
43 "all" => \$all, 43 "all" => \$all,
44 "no-optim" => \$no_optim, 44 "no-optim" => \$no_optim,
45 "union-type" => \$union_type, 45 "check-lisp-type" => \$check_lisp_type,
46 "gprof" => \$profile, 46 "gprof" => \$profile,
47 "malloc-check" => \$malloc_check, 47 "malloc-check" => \$malloc_check,
48 "no-mcheck" => \$no_mcheck, 48 "no-mcheck" => \$no_mcheck,
@@ -70,7 +70,7 @@ Build Emacs.
70 --check-marked GC_CHECK_MARKED_OBJECTS=1 70 --check-marked GC_CHECK_MARKED_OBJECTS=1
71 --optim no debug defines 71 --optim no debug defines
72 --gprof make Emacs for profiling 72 --gprof make Emacs for profiling
73 --union-type define USE_LISP_UNION_TYPE (bad for GDB) 73 --check-lisp-type define CHECK_LISP_OBJECT_TYPE
74 --malloc-check define GC_MALLOC_CHECK 74 --malloc-check define GC_MALLOC_CHECK
75 --no-mcheck don't define GC_MCHECK 75 --no-mcheck don't define GC_MCHECK
76 --wall compile with -Wall 76 --wall compile with -Wall
@@ -140,7 +140,7 @@ else
140 } 140 }
141 } 141 }
142 142
143$defs = "$defs -DUSE_LISP_UNION_TYPE" if $union_type; 143$defs = "$defs -DCHECK_LISP_OBJECT_TYPE" if $check_lisp_type;
144$defs = "$defs -DGC_MALLOC_CHECK=1 -DGC_PROTECT_MALLOC_STATE=1" if $malloc_check; 144$defs = "$defs -DGC_MALLOC_CHECK=1 -DGC_PROTECT_MALLOC_STATE=1" if $malloc_check;
145$defs = "$defs -DGC_MCHECK=1" unless $no_mcheck; 145$defs = "$defs -DGC_MCHECK=1" unless $no_mcheck;
146 146
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt
index 06793b31097..ea9c4a3c2d1 100644
--- a/admin/make-tarball.txt
+++ b/admin/make-tarball.txt
@@ -28,13 +28,7 @@ For each step, check for possible errors.
28 refer to a newer release of Emacs. (This is probably needed only 28 refer to a newer release of Emacs. (This is probably needed only
29 when preparing a major Emacs release, or branching for it.) 29 when preparing a major Emacs release, or branching for it.)
30 30
315. Edit configure.in so that maintainer-mode is off by default. 315. autoreconf -i -I m4 --force
32 (FIXME - need to find a better way of dealing with this.
33 Or maybe it's fine and indeed correct to leave it on?
34 See http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00859.html
35 and subsequent.)
36
37 autoreconf -i -I m4 --force
38 make bootstrap 32 make bootstrap
39 33
406. Commit etc/AUTHORS, all the files changed by M-x set-version, and 346. Commit etc/AUTHORS, all the files changed by M-x set-version, and
@@ -102,3 +96,6 @@ For each step, check for possible errors.
10213. For a pretest, announce it on emacs-devel and BCC the pretesters. 9613. For a pretest, announce it on emacs-devel and BCC the pretesters.
103 For a release, announce it on info-gnu@gnu.org, 97 For a release, announce it on info-gnu@gnu.org,
104 info-gnu-emacs@gnu.org, and emacs-devel. 98 info-gnu-emacs@gnu.org, and emacs-devel.
99
10014. For a release, update the Emacs homepage in the web repository.
101 Also add the new NEWS file as NEWS.xx.y.
diff --git a/admin/merge-gnulib b/admin/merge-gnulib
new file mode 100755
index 00000000000..792818b2efe
--- /dev/null
+++ b/admin/merge-gnulib
@@ -0,0 +1,94 @@
1#! /bin/sh
2# Merge gnulib sources into Emacs sources.
3# Typical usage:
4#
5# admin/merge-gnulib
6
7# Copyright 2012 Free Software Foundation, Inc.
8
9# This file is part of GNU Emacs.
10
11# GNU Emacs is free software: you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation, either version 3 of the License, or
14# (at your option) any later version.
15
16# GNU Emacs is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20
21# You should have received a copy of the GNU General Public License
22# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
23
24# written by Paul Eggert
25
26GNULIB_URL=git://git.savannah.gnu.org/gnulib.git
27
28GNULIB_MODULES='
29 alloca-opt c-ctype c-strcase
30 careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512
31 dtoastr dtotimespec dup2 environ execinfo faccessat
32 fcntl-h filemode getloadavg getopt-gnu gettime gettimeofday
33 ignore-value intprops largefile lstat
34 manywarnings mktime pselect pthread_sigmask readlink
35 socklen stat-time stdalign stdarg stdbool stdio
36 strftime strtoimax strtoumax symlink sys_stat
37 sys_time time timer-time timespec-add timespec-sub utimens
38 warnings
39'
40
41GNULIB_TOOL_FLAGS='
42 --avoid=at-internal
43 --avoid=errno --avoid=fchdir --avoid=fcntl --avoid=fstat
44 --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow
45 --avoid=openat-die --avoid=openat-h
46 --avoid=raise
47 --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types
48 --avoid=threadlib
49 --conditional-dependencies --import --no-changelog --no-vc-files
50 --makefile-name=gnulib.mk
51'
52
53# The source directory, with a trailing '/'.
54# If empty, the source directory is the working directory.
55src=$2
56case $src in
57 */ | '') ;;
58 *) src=$src/ ;;
59esac
60
61# Gnulib's source directory.
62gnulib_srcdir=${1-$src../gnulib}
63
64case $gnulib_srcdir in
65 -*) src=- ;;
66esac
67case $src in
68 -*)
69 echo >&2 "$0: usage: $0 [GNULIB_SRCDIR [SRCDIR]]
70
71 SRCDIR is the Emacs source directory (default: working directory).
72 GNULIB_SRCDIR is the Gnulib source directory (default: SRCDIR/../gnulib)."
73 exit 1 ;;
74esac
75
76test -x "$src"autogen.sh || {
77 echo >&2 "$0: '${src:-.}' is not an Emacs source directory."
78 exit 1
79}
80
81test -d "$gnulib_srcdir" ||
82git clone -- "$GNULIB_URL" "$gnulib_srcdir" ||
83exit
84
85test -x "$gnulib_srcdir"/gnulib-tool || {
86 echo >&2 "$0: '$gnulib_srcdir' is not a Gnulib source directory."
87 exit 1
88}
89
90"$gnulib_srcdir"/gnulib-tool --dir="$src" $GNULIB_TOOL_FLAGS $GNULIB_MODULES &&
91rm -- "$src"m4/fcntl-o.m4 "$src"m4/gnulib-cache.m4 "$src"m4/warn-on-use.m4 &&
92cp -- "$gnulib_srcdir"/build-aux/texinfo.tex "$src"doc/misc &&
93cp -- "$gnulib_srcdir"/build-aux/move-if-change "$src"build-aux &&
94autoreconf -i -I m4 -- ${src:+"$src"}
diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker
index dd1ea46ceb2..ee385f4dd75 100644
--- a/admin/notes/bugtracker
+++ b/admin/notes/bugtracker
@@ -125,7 +125,7 @@ Resent-CC: maintainer email address, plus any X-Debbugs-CC: entries
125 125
126The "maintainer email address" is "bug-gnu-emacs@gnu.org" in most cases. 126The "maintainer email address" is "bug-gnu-emacs@gnu.org" in most cases.
127 127
128** To not get acknowledgement mail from the tracker, 128** To not get acknowledgment mail from the tracker,
129add an "X-Debbugs-No-Ack:" header (with any value). If you use Gnus, 129add an "X-Debbugs-No-Ack:" header (with any value). If you use Gnus,
130you can add an element to gnus-posting-styles to do this automatically, eg: 130you can add an element to gnus-posting-styles to do this automatically, eg:
131 131
@@ -270,32 +270,35 @@ to a bug. There are two differences between normal tags and user tags:
2701) Anyone can define any valid usertag they like. In contrast, only a 2701) Anyone can define any valid usertag they like. In contrast, only a
271limited, predefined set of normal tags are available (see above). 271limited, predefined set of normal tags are available (see above).
272 272
2732) A usertag is associated with a specific email address. 2732) A usertag is associated with a specific user. This is normally
274an email address (with an "@" sign and least 4 characters after the "@"),
275but on debbugs.gnu.org, the definition is less strict - anything with
2765 or more alphanumeric characters will work. For personal tags,
277using an email address is still recommended. Please only use the
278"emacs" user, or other short users, for "official" tags.
274 279
275You set usertags in the same way as tags, by talking to the control 280You set usertags in the same way as tags, by talking to the control server.
276server. One difference is that you can also specify the associated 281One difference is that you can also specify the associated user.
277email address. If you don't explicitly specify an address, then it 282If you don't explicitly specify a user, then it will use the email
278will use the one from which you send the control message. The address 283address from which you send the control message.
279must have the form of an email address (with an "@" sign and least 4
280characters after the "@").
281 284
282*** Setting usertags 285*** Setting usertags
283 286
284a) In a control message: 287a) In a control message:
285 288
286user bug-gnu-emacs@gnu.org 289user emacs # or email@example.com
287usertags 1234 any-tag-you-like 290usertags 1234 any-tag-you-like
288 291
289This will add a usertag "any-tag-you-like" to bug 1234. The tag will 292This will add a usertag "any-tag-you-like" to bug 1234. The tag will
290be associated with the address "bug-gnu-emacs@gnu.org". If you omit 293be associated with the user "emacs". If you omit the first line,
291the first line, the tag will be associated with your email address. 294the tag will be associated with your email address.
292 295
293The syntax of the usertags command is the same as that of tags (eg wrt 296The syntax of the usertags command is the same as that of tags (eg wrt
294the optional [=+-] argument). 297the optional [=+-] argument).
295 298
296b) In an initial submission, in the pseudo-header: 299b) In an initial submission, in the pseudo-header:
297 300
298User: bug-gnu-emacs@gnu.org 301User: emacs
299Usertags: a-new-tag 302Usertags: a-new-tag
300 303
301Again, the "User" is optional. 304Again, the "User" is optional.
@@ -312,7 +315,7 @@ http://debbugs.gnu.org/cgi/pkgindex.cgi?indexon=users
312 315
313**** To find all bugs usertagged by a given email address: 316**** To find all bugs usertagged by a given email address:
314 317
315http://debbugs.gnu.org/cgi/pkgreport.cgi?users=bug-gnu-emacs@gnu.org 318http://debbugs.gnu.org/cgi/pkgreport.cgi?users=emacs
316 319
317(Supposedly, the "users" field can be a comma-separated list of more 320(Supposedly, the "users" field can be a comma-separated list of more
318than one email address, but it does not seem to work for me.) 321than one email address, but it does not seem to work for me.)
@@ -322,7 +325,7 @@ than one email address, but it does not seem to work for me.)
322This works just like a normal tags search, but with the addition of a 325This works just like a normal tags search, but with the addition of a
323"users" field. Eg: 326"users" field. Eg:
324 327
325http://debbugs.gnu.org/cgi/pkgreport.cgi?users=bug-gnu-emacs@gnu.org;tag=calendar 328http://debbugs.gnu.org/cgi/pkgreport.cgi?users=emacs;tag=calendar
326 329
327*** To merge bugs: 330*** To merge bugs:
328Eg when bad replies create a bunch of new bugs for the same report. 331Eg when bad replies create a bunch of new bugs for the same report.
@@ -610,7 +613,7 @@ An /etc/aliases entry redirects it to the real emacs-bug-tracker address.
610All discarded messages are stored in /var/lib/mailman/spam. 613All discarded messages are stored in /var/lib/mailman/spam.
611If a non-spam message accidentally gets discarded, just do: 614If a non-spam message accidentally gets discarded, just do:
612 615
613cat /var/lib/mailman/spam/not-really-spam.msg | /usr/lib/debbugs/receive 616/usr/lib/debbugs/receive < /var/lib/mailman/spam/not-really-spam.msg
614chown Debian-debbugs:Debian-debbugs /var/lib/debbugs/spool/incoming/* 617chown Debian-debbugs:Debian-debbugs /var/lib/debbugs/spool/incoming/*
615... check it works ... 618... check it works ...
616mv /var/lib/mailman/spam/not-really-spam.msg /var/lib/mailman/not-spam/ 619mv /var/lib/mailman/spam/not-really-spam.msg /var/lib/mailman/not-spam/
@@ -618,6 +621,16 @@ mv /var/lib/mailman/spam/not-really-spam.msg /var/lib/mailman/not-spam/
618Also check that the sender was not added to the auto-discard/reject list 621Also check that the sender was not added to the auto-discard/reject list
619in the debbugs-submit Mailman interface. 622in the debbugs-submit Mailman interface.
620 623
624If you don't have the actual mail, just the mailman moderation mail
625version of it, you need to extract the original mail, and add the
626following headers:
627
6281) The leading envelope From line.
6292) Message-ID (get it from /var/log/mailman/vette).
6303) X-Debbugs-Envelope-To: submit
631
632Then pipe it to receive as above.
633
621** Administrivia 634** Administrivia
622 635
623The debbugs-submit list should have the administrivia option off, 636The debbugs-submit list should have the administrivia option off,
@@ -640,3 +653,14 @@ I think you also have to add them to 'tags' and 'tags_single_letter'
640in /usr/share/perl5/Debbugs/Config.pm. 653in /usr/share/perl5/Debbugs/Config.pm.
641And update /var/www/Developer.html with a description of what the tag means. 654And update /var/www/Developer.html with a description of what the tag means.
642And the "valid tags" list in /var/www/index.html. 655And the "valid tags" list in /var/www/index.html.
656
657** Backups
658
659The FSF sysadmins handle multi-generational backups of the filesystem
660on debbugs.gnu.org. But if you really want to have your own backup of
661the bug database, you can use rsync (this requires login access to
662debbugs.gnu.org):
663
664 rsync -azvv -e ssh USER@debbugs.gnu.org:/var/lib/debbugs/ DEST
665
666Note that this occupies well over 1G of disk space.
diff --git a/admin/notes/copyright b/admin/notes/copyright
index 0ad99900779..173ff83343a 100644
--- a/admin/notes/copyright
+++ b/admin/notes/copyright
@@ -1,4 +1,4 @@
1Copyright (C) 2007-2011 Free Software Foundation, Inc. 1Copyright (C) 2007-2012 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 4
@@ -380,7 +380,7 @@ Makefile.in does now.
380src/gmalloc.c 380src/gmalloc.c
381 - contains numerous copyrights from the GNU C library. Leave them alone. 381 - contains numerous copyrights from the GNU C library. Leave them alone.
382 382
383src/ndir.h 383nt/inc/dirent.h
384 - see comments below. This file is OK to be released with Emacs 384 - see comments below. This file is OK to be released with Emacs
385 22, but we may want to revisit it afterwards. 385 22, but we may want to revisit it afterwards.
386 386
@@ -429,7 +429,7 @@ admin/check-doc-strings
429 File says it's in the public domain, but that might not make it so. 429 File says it's in the public domain, but that might not make it so.
430 430
431etc/e/eterm-color.ti 431etc/e/eterm-color.ti
432src/ndir.h 432nt/inc/dirent.h
433 On legal advice from Matt Norwood, the following comment was added 433 On legal advice from Matt Norwood, the following comment was added
434 to these files in Feb/Mar 2007: 434 to these files in Feb/Mar 2007:
435 435
diff --git a/admin/notes/documentation b/admin/notes/documentation
index f2e2aab73e7..09476ad6962 100644
--- a/admin/notes/documentation
+++ b/admin/notes/documentation
@@ -112,3 +112,6 @@ The kind of change for which the user really needs help from Antinews
112is where a feature works _differently_ in the previous version. 112is where a feature works _differently_ in the previous version.
113In those cases, the user might have trouble figuring out how to use 113In those cases, the user might have trouble figuring out how to use
114the old version without some sort of help. 114the old version without some sort of help.
115
116** To indicate possession, write Emacs's rather than Emacs'.
117http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00649.html
diff --git a/admin/notes/font-backend b/admin/notes/font-backend
index d51d3ec1c3b..ec2dc11345b 100644
--- a/admin/notes/font-backend
+++ b/admin/notes/font-backend
@@ -1,4 +1,4 @@
1Copyright (C) 2002-2011 Free Software Foundation, Inc. 1Copyright (C) 2002-2012 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 4
diff --git a/admin/notes/lel-TODO b/admin/notes/lel-TODO
index c03d0f6fdfb..139aa09e919 100644
--- a/admin/notes/lel-TODO
+++ b/admin/notes/lel-TODO
@@ -1,12 +1,13 @@
1Some lisp/emacs-lisp/ Features and Where They Are Documented 1Some lisp/emacs-lisp/ Features and Where They Are Documented
2 2
3Copyright (C) 2007-2011 Free Software Foundation, Inc. 3Copyright (C) 2007-2012 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6 6
7* Status Key 7* Status Key
8 - -- as yet unknown 8 - -- as yet unknown
9 n/a -- not applicable (internal, uninteresting, etc) 9 n/a -- not applicable (internal, uninteresting, etc)
10 obsolete -- an obsolete feature, to be removed in future
10 todo -- not documented but should be 11 todo -- not documented but should be
11 NODE -- documented in or under info node NODE 12 NODE -- documented in or under info node NODE
12 13
@@ -26,7 +27,6 @@ See the end of the file for license conditions.
26 bytecomp (elisp) Compilation Functions 27 bytecomp (elisp) Compilation Functions
27 checkdoc (elisp) Documentation Tips 28 checkdoc (elisp) Documentation Tips
28 cl (cl) 29 cl (cl)
29 cl-19 n/a
30 cl-compat n/a 30 cl-compat n/a
31 cl-specs n/a 31 cl-specs n/a
32 copyright - 32 copyright -
@@ -47,13 +47,12 @@ See the end of the file for license conditions.
47 generic (elisp) Generic Modes 47 generic (elisp) Generic Modes
48 gulp n/a 48 gulp n/a
49 helper - 49 helper -
50 levents - 50 levents obsolete
51 lisp-float-type - 51 lisp-float-type -
52 lisp-mnt - 52 lisp-mnt -
53 lisp-mode n/a 53 lisp-mode n/a
54 lmenu - 54 lmenu obsolete
55 lselect - 55 lucid obsolete
56 lucid -
57 macroexp (elisp) Expansion 56 macroexp (elisp) Expansion
58 pp (emacs) Program Indent 57 pp (emacs) Program Indent
59 re-builder - 58 re-builder -
@@ -62,7 +61,7 @@ See the end of the file for license conditions.
62 ring (elisp) Rings 61 ring (elisp) Rings
63 rx - 62 rx -
64 shadow - 63 shadow -
65 sregex - 64 sregex obsolete
66 syntax (elisp) Position Parse 65 syntax (elisp) Position Parse
67 testcover - 66 testcover -
68 timer (elisp) Timers 67 timer (elisp) Timers
diff --git a/admin/notes/multi-tty b/admin/notes/multi-tty
index 8a10997eb8b..5408b9a3d00 100644
--- a/admin/notes/multi-tty
+++ b/admin/notes/multi-tty
@@ -1,6 +1,6 @@
1-*- coding: utf-8; mode: text; -*- 1-*- coding: utf-8; mode: text; -*-
2 2
3Copyright (C) 2007-2011 Free Software Foundation, Inc. 3Copyright (C) 2007-2012 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6From README.multi-tty in the multi-tty branch. 6From README.multi-tty in the multi-tty branch.
@@ -789,7 +789,7 @@ DIARY OF CHANGES
789 frame's kboard from there.) 789 frame's kboard from there.)
790 790
791-- Fix rif issue with X-tty combo sessions. IMHO the best thing to do 791-- Fix rif issue with X-tty combo sessions. IMHO the best thing to do
792 is to get rid of that global variable (and use the value value in 792 is to get rid of that global variable (and use the value in
793 display_method, which is guaranteed to be correct). 793 display_method, which is guaranteed to be correct).
794 794
795 (Done, did exactly that. Core dumps during combo sessions became 795 (Done, did exactly that. Core dumps during combo sessions became
@@ -906,7 +906,7 @@ DIARY OF CHANGES
906 read_avail_input. 906 read_avail_input.
907 907
908 (Fixed. This was caused by unconditionally including stdin in 908 (Fixed. This was caused by unconditionally including stdin in
909 input_wait_mask in init_process. The select call in 909 input_wait_mask in init_process_emacs. The select call in
910 wait_reading_process_input always returned immediately, indicating 910 wait_reading_process_input always returned immediately, indicating
911 that there is pending input from stdin, which nobody read. 911 that there is pending input from stdin, which nobody read.
912 912
diff --git a/admin/notes/tags b/admin/notes/tags
new file mode 100644
index 00000000000..9c3700f2e4d
--- /dev/null
+++ b/admin/notes/tags
@@ -0,0 +1,1006 @@
1Prior to 2012/04, the Emacs repository used to contain many more tags.
2Apparently these date from ye olden days, when tags were common
3to several GNU projects. So many of them had no relevance to Emacs,
4and hence were removed. See:
5
6http://lists.gnu.org/archive/html/emacs-devel/2012-04/msg00042.html
7
8(UPDATE: It seems tag deletion is basically impossible in bzr, so all
9these tags came back.)
10
11In the unlikely event that you need them, the removed tags were:
12
13tag revision
14
15amigados-merge 14846
16before-thomas-posix1996 16843
17gcc-2_8_1-980401 20893
18gcc-2_8_1-980402 21795
19gcc-2_8_1-980407 20893
20gcc-2_8_1-980412 20893
21gcc-2_8_1-980413 20893
22gcc-2_8_1-980419 21502
23gcc-2_8_1-980426 21502
24gcc-2_8_1-980502 21795
25gcc-2_8_1-980513 21795
26gcc-2_8_1-980525 22147
27gcc-2_8_1-980529 22147
28gcc-2_8_1-980608 22147
29gcc-2_8_1-980609 22147
30gcc-2_8_1-980627 22478
31gcc-2_8_1-980705 22478
32gcc-2_8_1-980718 22478
33gcc-2_8_1-980811 22971
34gcc-2_8_1-980813 23005
35gcc-2_8_1-980928 23338
36gcc-2_8_1-980929 23338
37gcc-2_8_1-RELEASE 20893
38gcc_2_8_1-980315 20893
39gcc_2_8_1-980929 23338
40glibc-2_0_2 16843
41gnumach-release-1-1 17693
42gnumach-release-1-1-1 17693
43gnumach-release-1-1-2 18209
44gnumach-release-1-1-3 18209
45hurd-release-0-2 18209
46jimb-sync-Nov-3-1992 1552
47libc20x-97031 16843
48libc20x-970306 16843
49libc20x-970316 16843
50libc20x-970318 16843
51libc20x-970319 16843
52libc20x-970404 16843
53libc-1-90 15360
54libc-1-91 15451
55libc-1-92 15463
56libc-1-93 15702
57libc-950402 11085
58libc-950411 11255
59libc-950722 12418
60libc-950723 12418
61libc-950922 12859
62libc-951016 12859
63libc-951018 13231
64libc-951029 13231
65libc-951031 13231
66libc-951101 13231
67libc-951102 13231
68libc-951103 13231
69libc-951104 13231
70libc-951105 13231
71libc-951106 13231
72libc-951107 13231
73libc-951108 13231
74libc-951109 13231
75libc-951110 13231
76libc-951111 13231
77libc-951112 13231
78libc-951113 13231
79libc-951114 13231
80libc-951115 13231
81libc-951116 13231
82libc-951117 13231
83libc-951118 13231
84libc-951119 13231
85libc-951120 13231
86libc-951121 13231
87libc-951122 13231
88libc-951123 13231
89libc-951124 13231
90libc-951125 13231
91libc-951126 13231
92libc-951127 13231
93libc-951128 13231
94libc-951129 13231
95libc-951130 13231
96libc-951201 13679
97libc-951202 13679
98libc-951203 13679
99libc-951204 13679
100libc-951206 13686
101libc-951208 13693
102libc-951209 13693
103libc-951210 13693
104libc-951211 13693
105libc-951212 13704
106libc-951213 13704
107libc-951214 13730
108libc-951215 13730
109libc-951216 13741
110libc-951217 13741
111libc-951218 13741
112libc-951219 13741
113libc-951220 13741
114libc-951221 13741
115libc-951222 13741
116libc-951223 13741
117libc-951224 13741
118libc-951225 13741
119libc-951226 13741
120libc-951227 13741
121libc-951228 13741
122libc-951229 13741
123libc-951230 13741
124libc-951231 13741
125libc-960101 13741
126libc-960102 13741
127libc-960103 13741
128libc-960104 13741
129libc-960105 13741
130libc-960106 13741
131libc-960107 13741
132libc-960108 13741
133libc-960109 13741
134libc-960110 13741
135libc-960111 13741
136libc-960112 13741
137libc-960113 13741
138libc-960114 13741
139libc-960115 13741
140libc-960116 14192
141libc-960117 14192
142libc-960118 14213
143libc-960119 14213
144libc-960120 14213
145libc-960121 14213
146libc-960122 14213
147libc-960123 14213
148libc-960124 14213
149libc-960125 14213
150libc-960126 14213
151libc-960127 14213
152libc-960128 14213
153libc-960129 14213
154libc-960130 14213
155libc-960131 14213
156libc-960201 14449
157libc-960202 14449
158libc-960203 14473
159libc-960204 14473
160libc-960205 14473
161libc-960206 14473
162libc-960207 14473
163libc-960208 14473
164libc-960209 14473
165libc-960210 14473
166libc-960211 14540
167libc-960212 14548
168libc-960213 14562
169libc-960214 14562
170libc-960215 14562
171libc-960216 14562
172libc-960217 14562
173libc-960218 14562
174libc-960219 14562
175libc-960220 14562
176libc-960221 14562
177libc-960222 14562
178libc-960223 14562
179libc-960224 14562
180libc-960225 14562
181libc-960226 14562
182libc-960227 14562
183libc-960228 14562
184libc-960229 14562
185libc-960302 14724
186libc-960303 14724
187libc-960304 14724
188libc-960305 14753
189libc-960306 14764
190libc-960307 14764
191libc-960308 14764
192libc-960309 14764
193libc-960310 14764
194libc-960311 14764
195libc-960312 14764
196libc-960313 14764
197libc-960314 14764
198libc-960315 14809
199libc-960316 14809
200libc-960317 14809
201libc-960318 14809
202libc-960319 14809
203libc-960320 14809
204libc-960321 14809
205libc-960322 14855
206libc-960323 14855
207libc-960324 14855
208libc-960325 14855
209libc-960326 14855
210libc-960327 14855
211libc-960328 14855
212libc-960329 14912
213libc-960330 14912
214libc-960331 14912
215libc-960401 14912
216libc-960402 14912
217libc-960403 14912
218libc-960404 14912
219libc-960405 14912
220libc-960406 14912
221libc-960407 14912
222libc-960408 14912
223libc-960409 14962
224libc-960410 14962
225libc-960411 14962
226libc-960412 14962
227libc-960413 15014
228libc-960414 15014
229libc-960415 15014
230libc-960416 15014
231libc-960417 15014
232libc-960418 15014
233libc-960419 15014
234libc-960420 15014
235libc-960421 15014
236libc-960422 15014
237libc-960423 15014
238libc-960424 15014
239libc-960425 15014
240libc-960426 15014
241libc-960427 15014
242libc-960428 15014
243libc-960429 15014
244libc-960430 15014
245libc-960501 15014
246libc-960502 15014
247libc-960503 15014
248libc-960504 15014
249libc-960505 15014
250libc-960506 15014
251libc-960507 15014
252libc-960508 15014
253libc-960509 15014
254libc-960510 15014
255libc-960511 15014
256libc-960512 15014
257libc-960513 15014
258libc-960514 15014
259libc-960515 15014
260libc-960516 15014
261libc-960517 15014
262libc-960518 15014
263libc-960519 15014
264libc-960520 15014
265libc-960521 15261
266libc-960522 15278
267libc-960523 15278
268libc-960524 15278
269libc-960525 15287
270libc-960526 15287
271libc-960527 15287
272libc-960528 15287
273libc-960529 15287
274libc-960530 15287
275libc-960531 15287
276libc-960601 15287
277libc-960602 15287
278libc-960603 15287
279libc-960604 15319
280libc-960605 15334
281libc-960606 15334
282libc-960607 15334
283libc-960608 15360
284libc-960609 15360
285libc-960610 15360
286libc-960611 15360
287libc-960612 15360
288libc-960613 15360
289libc-960614 15360
290libc-960615 15360
291libc-960616 15360
292libc-960617 15360
293libc-960618 15360
294libc-960619 15451
295libc-960620 15451
296libc-960621 15463
297libc-960622 15463
298libc-960623 15463
299libc-960624 15463
300libc-960625 15463
301libc-960626 15463
302libc-960627 15463
303libc-960628 15463
304libc-960629 15554
305libc-960630 15554
306libc-960701 15554
307libc-960702 15554
308libc-960703 15554
309libc-960704 15554
310libc-960705 15554
311libc-960706 15554
312libc-960707 15554
313libc-960708 15620
314libc-960709 15620
315libc-960710 15620
316libc-960711 15620
317libc-960712 15620
318libc-960713 15620
319libc-960714 15620
320libc-960715 15673
321libc-960716 15702
322libc-960717 15702
323libc-960718 15702
324libc-960719 15702
325libc-960720 15702
326libc-960721 15702
327libc-960722 15702
328libc-960723 15702
329libc-960724 15702
330libc-960725 15702
331libc-960726 15702
332libc-960727 15702
333libc-960728 15702
334libc-960729 15702
335libc-960730 15702
336libc-960731 15702
337libc-960801 15702
338libc-960802 15702
339libc-960803 15702
340libc-960804 15702
341libc-960805 15702
342libc-960806 15702
343libc-960807 15702
344libc-960808 15702
345libc-960809 15702
346libc-960810 15702
347libc-960811 15702
348libc-960812 15702
349libc-960813 15702
350libc-960814 15702
351libc-960815 15702
352libc-960816 15702
353libc-960817 15702
354libc-960818 15702
355libc-960819 15702
356libc-960820 15702
357libc-960821 15702
358libc-960822 15702
359libc-960823 15702
360libc-960824 15702
361libc-960825 15702
362libc-960826 15702
363libc-960827 15702
364libc-960828 15702
365libc-960829 15702
366libc-960830 15702
367libc-960831 15702
368libc-960901 15702
369libc-960902 15702
370libc-960903 15702
371libc-960904 15702
372libc-960905 15702
373libc-960906 15702
374libc-960907 15702
375libc-960908 15702
376libc-960909 15702
377libc-960910 15702
378libc-960911 15702
379libc-960912 15702
380libc-960913 16178
381libc-960918 16190
382libc-960919 16190
383libc-960920 16190
384libc-960921 16190
385libc-960922 16190
386libc-960923 16190
387libc-960925 16307
388libc-960926 16307
389libc-960927 16307
390libc-960928 16307
391libc-960929 16307
392libc-961001 16307
393libc-961004 16307
394libc-961005 16307
395libc-961006 16307
396libc-961007 16307
397libc-961008 16307
398libc-961009 16307
399libc-961010 16307
400libc-961011 16307
401libc-961012 16307
402libc-961013 16307
403libc-961014 16307
404libc-961015 16307
405libc-961016 16307
406libc-961017 16307
407libc-961018 16307
408libc-961019 16307
409libc-961020 16307
410libc-961021 16307
411libc-961022 16307
412libc-961023 16307
413libc-961024 16307
414libc-961025 16307
415libc-961026 16307
416libc-961027 16307
417libc-961028 16307
418libc-961029 16482
419libc-961030 16482
420libc-961031 16482
421libc-961101 16482
422libc-961102 16482
423libc-961103 16482
424libc-961104 16482
425libc-961105 16482
426libc-961106 16482
427libc-961107 16482
428libc-961108 16540
429libc-961109 16540
430libc-961110 16540
431libc-961111 16540
432libc-961114 16576
433libc-961115 16576
434libc-961116 16576
435libc-961117 16576
436libc-961118 16576
437libc-961119 16576
438libc-961120 16601
439libc-961121 16602
440libc-961203 16607
441libc-961204 16607
442libc-961205 16607
443libc-961206 16607
444libc-961207 16607
445libc-961208 16638
446libc-961209 16638
447libc-961210 16638
448libc-961211 16664
449libc-961212 16664
450libc-961213 16664
451libc-961214 16664
452libc-961215 16664
453libc-961216 16664
454libc-961217 16664
455libc-961218 16664
456libc-961219 16664
457libc-961220 16664
458libc-961221 16664
459libc-961222 16664
460libc-961223 16664
461libc-961224 16664
462libc-961225 16664
463libc-961226 16664
464libc-961227 16664
465libc-961228 16664
466libc-961229 16664
467libc-961230 16664
468libc-961231 16664
469libc-970101 16802
470libc-970102 16802
471libc-970103 16802
472libc-970104 16821
473libc-970105 16833
474libc-970106 16833
475libc-970107 16833
476libc-970108 16843
477libc-970109 16843
478libc-970110 16843
479libc-970111 16843
480libc-970112 16843
481libc-970113 16843
482libc-970114 16843
483libc-970115 16843
484libc-970116 16843
485libc-970117 16843
486libc-970118 16843
487libc-970119 16843
488libc-970120 16843
489libc-970121 16843
490libc-970122 16843
491libc-970123 16843
492libc-970124 16843
493libc-970125 16843
494libc-970126 16843
495libc-970127 16843
496libc-970128 16843
497libc-970129 16843
498libc-970130 16843
499libc-970131 16843
500libc-970201 16843
501libc-970202 16843
502libc-970203 16843
503libc-970204 16843
504libc-970205 16843
505libc-970206 16843
506libc-970207 16843
507libc-970208 16843
508libc-970209 16843
509libc-970210 16843
510libc-970211 16843
511libc-970212 16843
512libc-970213 16843
513libc-970214 16843
514libc-970215 16843
515libc-970216 16843
516libc-970217 16843
517libc-970218 16843
518libc-970219 16843
519libc-970220 16843
520libc-970221 16843
521libc-970222 16843
522libc-970223 16843
523libc-970224 16843
524libc-970225 16843
525libc-970226 16843
526libc-970227 16843
527libc-970228 16843
528libc-970301 16843
529libc-970302 16843
530libc-970303 16843
531libc-970304 16843
532libc-970305 16843
533libc-970306 16843
534libc-970307 16843
535libc-970308 16843
536libc-970309 16843
537libc-970310 16843
538libc-970311 16843
539libc-970312 16843
540libc-970313 16843
541libc-970314 16843
542libc-970315 16843
543libc-970316 16843
544libc-970317 16843
545libc-970318 16843
546libc-970319 16843
547libc-970320 16843
548libc-970321 16843
549libc-970322 16843
550libc-970323 16843
551libc-970324 16843
552libc-970325 17242
553libc-970326 17242
554libc-970327 17242
555libc-970328 17242
556libc-970329 17242
557libc-970330 17242
558libc-970331 17242
559libc-970401 17242
560libc-970402 17242
561libc-970403 17242
562libc-970404 17242
563libc-970405 17242
564libc-970406 17242
565libc-970407 17242
566libc-970408 17242
567libc-970409 17242
568libc-970410 17242
569libc-970411 17242
570libc-970412 17404
571libc-970413 17404
572libc-970414 17404
573libc-970415 17404
574libc-970416 17404
575libc-970417 17404
576libc-970418 17500
577libc-970419 17500
578libc-970420 17500
579libc-970421 17500
580libc-970422 17500
581libc-970423 17500
582libc-970424 17500
583libc-970425 17500
584libc-970426 17500
585libc-970427 17500
586libc-970428 17500
587libc-970429 17500
588libc-970430 17500
589libc-970501 17500
590libc-970502 17500
591libc-970503 17500
592libc-970504 17500
593libc-970505 17500
594libc-970506 17675
595libc-970507 17675
596libc-970508 17693
597libc-970509 17693
598libc-970510 17693
599libc-970511 17693
600libc-970512 17693
601libc-970513 17693
602libc-970514 17693
603libc-970515 17693
604libc-970516 17693
605libc-970517 17693
606libc-970518 17693
607libc-970519 17693
608libc-970520 17693
609libc-970521 17693
610libc-970522 17693
611libc-970523 17693
612libc-970524 17693
613libc-970525 17693
614libc-970526 17693
615libc-970527 17693
616libc-970528 17693
617libc-970529 17693
618libc-970530 17693
619libc-970531 17693
620libc-970601 17693
621libc-970602 17693
622libc-970603 17693
623libc-970604 17693
624libc-970605 17693
625libc-970606 18148
626libc-970607 18148
627libc-970608 18164
628libc-970609 18174
629libc-970610 18209
630libc-970611 18209
631libc-970612 18209
632libc-970613 18209
633libc-970614 18209
634libc-970615 18209
635libc-970616 18209
636libc-970617 18209
637libc-970618 18209
638libc-970619 18209
639libc-970620 18209
640libc-970621 18209
641libc-970622 18209
642libc-970624 18421
643libc-970625 18421
644libc-970626 18421
645libc-970627 18421
646libc-970628 18473
647libc-970629 18473
648libc-970630 18473
649libc-970701 18473
650libc-970702 18473
651libc-970703 18473
652libc-970704 18473
653libc-970705 18473
654libc-970707 18663
655libc-970708 18663
656libc-970709 18663
657libc-970710 18663
658libc-970713 18663
659libc-970715 18780
660libc-970717 18824
661libc-970718 18824
662libc-970719 18824
663libc-970720 18824
664libc-970721 18889
665libc-970722 18889
666libc-970723 18889
667libc-970724 18889
668libc-970725 18889
669libc-970726 18889
670libc-970727 19000
671libc-970728 19000
672libc-970729 19030
673libc-970730 19030
674libc-970731 19030
675libc-970801 19030
676libc-970802 19074
677libc-970803 19074
678libc-970804 19074
679libc-970805 19074
680libc-970806 19074
681libc-970807 19074
682libc-970808 19074
683libc-970809 19074
684libc-970810 19074
685libc-970811 19074
686libc-970812 19074
687libc-970813 19074
688libc-970814 19074
689libc-970815 19074
690libc-970816 19074
691libc-970817 19074
692libc-970818 19074
693libc-970819 19074
694libc-970820 19074
695libc-970821 19074
696libc-970822 19074
697libc-970823 19472
698libc-970824 19472
699libc-970825 19472
700libc-970826 19472
701libc-970827 19541
702libc-970828 19541
703libc-970829 19541
704libc-970830 19541
705libc-970831 19541
706libc-970901 19541
707libc-970902 19541
708libc-970903 19541
709libc-970904 19541
710libc-970905 19541
711libc-970906 19766
712libc-970907 19766
713libc-970908 19766
714libc-970911 19861
715libc-970912 19861
716libc-970913 19861
717libc-970914 19861
718libc-970915 19861
719libc-970916 19861
720libc-970917 19861
721libc-970918 19861
722libc-970919 19861
723libc-970920 19861
724libc-970921 19861
725libc-970922 19861
726libc-970923 19861
727libc-970924 19861
728libc-970925 19861
729libc-970926 19861
730libc-970927 19861
731libc-970928 19861
732libc-970929 19861
733libc-970930 19861
734libc-971001 19861
735libc-971018 19861
736libc-971019 19861
737libc-971020 19861
738libc-971021 19861
739libc-971022 19861
740libc-971023 19861
741libc-971024 19861
742libc-971025 19861
743libc-971026 19861
744libc-971027 19861
745libc-971028 19861
746libc-971029 19861
747libc-971030 19861
748libc-971031 19861
749libc-971101 19861
750libc-971102 19861
751libc-971103 19861
752libc-971104 19861
753libc-971105 19861
754libc-971106 19861
755libc-971107 19861
756libc-971108 19861
757libc-971109 19861
758libc-971110 19861
759libc-971111 19861
760libc-971112 19861
761libc-971113 19861
762libc-971114 19861
763libc-971115 19861
764libc-971116 19861
765libc-971117 19861
766libc-971118 19861
767libc-971120 19861
768libc-971121 19861
769libc-971122 19861
770libc-971123 19861
771libc-971124 19861
772libc-971125 19861
773libc-971126 19861
774libc-971127 19861
775libc-971128 19861
776libc-971129 19861
777libc-971130 19861
778libc-971201 19861
779libc-971203 19861
780libc-971204 19861
781libc-971205 19861
782libc-971206 19861
783libc-971207 19861
784libc-971208 19861
785libc-971209 19861
786libc-971210 19861
787libc-971211 19861
788libc-971212 19861
789libc-971213 19861
790libc-971214 19861
791libc-971217 19861
792libc-971218 19861
793libc-971219 19861
794libc-971220 19861
795libc-971221 19861
796libc-971222 19861
797libc-971223 19861
798libc-971224 19861
799libc-971225 19861
800libc-971226 19861
801libc-971227 19861
802libc-971228 19861
803libc-971229 19861
804libc-971230 19861
805libc-971231 19861
806libc-980103 19861
807libc-980104 19861
808libc-980105 19861
809libc-980106 19861
810libc-980107 19861
811libc-980108 19861
812libc-980109 19861
813libc-980110 19861
814libc-980111 19861
815libc-980112 19861
816libc-980114 19861
817libc-980115 19861
818libc-980116 19861
819libc-980117 19861
820libc-980118 19861
821libc-980119 19861
822libc-980120 19861
823libc-980121 19861
824libc-980122 19861
825libc-980123 19861
826libc-980124 19861
827libc-980125 19861
828libc-980126 19861
829libc-980127 19861
830libc-980128 19861
831libc-980129 20797
832libc-980130 20797
833libc-980212 20832
834libc-980213 20832
835libc-980214 20893
836libc-980215 20893
837libc-980216 20893
838libc-980217 20893
839libc-980218 20893
840libc-980219 20893
841libc-980220 20893
842libc-980221 20893
843libc-980222 20893
844libc-980223 20893
845libc-980224 20893
846libc-980225 20893
847libc-980226 20893
848libc-980227 20893
849libc-980228 20893
850libc-980301 20893
851libc-980302 20893
852libc-980303 20893
853libc-980304 20893
854libc-980306 20893
855libc-980307 20893
856libc-980308 20893
857libc-980309 20893
858libc-980310 20893
859libc-980311 20893
860libc-980312 20893
861libc-980313 20893
862libc-980314 20893
863libc-980315 20893
864libc-980316 20893
865libc-980317 20893
866libc-980318 20893
867libc-980319 20893
868libc-980320 20893
869libc-980321 20893
870libc-980322 20893
871libc-980323 20893
872libc-980324 20893
873libc-980325 20893
874libc-980326 20893
875libc-980327 20893
876libc-980328 20893
877libc-980329 20893
878libc-980330 20893
879libc-980331 20893
880libc-980401 20893
881libc-980402 20893
882libc-980403 20893
883libc-980404 20893
884libc-980405 20893
885libc-980406 20893
886libc-980407 20893
887libc-980408 20893
888libc-980409 20893
889libc-980410 20893
890libc-980411 20893
891libc-980412 20893
892libc-980413 20893
893libc-980414 20893
894libc-980428 20893
895libc-980429 20893
896libc-980430 20893
897libc-980501 20893
898libc-980502 20893
899libc-980503 20893
900libc-980504 20893
901libc-980505 20893
902libc-980506 20893
903libc-980507 20893
904libc-980508 20893
905libc-980509 20893
906libc-980510 20893
907libc-980512 20893
908libc-980513 20893
909libc-980514 20893
910libc-980515 20893
911libc-980516 20893
912libc-980517 20893
913libc-980518 20893
914libc-980519 20893
915libc-980520 20893
916libc-980521 20893
917libc-980522 20893
918libc-980523 20893
919libc-980524 20893
920libc-980525 20893
921libc-980526 20893
922libc-980527 20893
923libc-980528 20893
924libc-980529 20893
925libc-980530 20893
926libc-980531 20893
927libc-980601 20893
928libc-980602 20893
929libc-980603 20893
930libc-980604 20893
931libc-980605 20893
932libc-980606 20893
933libc-980607 20893
934libc-980608 20893
935libc-980609 20893
936libc-980610 20893
937libc-980611 20893
938libc-980612 20893
939libc-980613 20893
940libc-980614 22478
941libc-980615 22478
942libc-980616 22478
943libc-980617 22478
944libc-980618 22478
945libc-980619 22478
946libc-980620 22478
947libc-980621 22478
948libc-980622 22478
949libc-980623 22478
950libc-980624 22478
951libc-980625 22478
952libc-980626 22478
953libc-980627 22478
954libc-980628 22478
955libc-980629 22478
956libc-980630 22478
957libc-980701 22478
958libc-980702 22478
959libc-980703 22478
960libc-980704 22478
961libc-980705 22478
962libc-980706 22478
963libc-980707 22478
964libc-980708 22478
965libc-980709 22478
966libc-980710 22478
967libc-980711 22478
968libc-980712 22478
969libc-980713 22478
970libc-980714 22478
971libc-980715 22478
972libc-980716 22478
973libc-980717 22478
974libc-980718 22478
975libc-980719 22478
976libc-980720 22787
977libc_1_09 10803
978make-3-72-9 10364
979make-3-72-10 10364
980make-3-72-11 10364
981make-3-72-12 10364
982make-3-72-13 10364
983make-3-73 10364
984make-3-73-1 10364
985make-3-73-2 10364
986make-3-73-3 11789
987make-3-74 11789
988make-3-74-1 12800
989make-3-74-2 12800
990make-3-74-3 14458
991make-3-74-4 14846
992make-3-74-5 15594
993make-3-74-6 15594
994make-3-74-7 15594
995make-3-75 15594
996make-3-75-1 18912
997make-3-75-91 18912
998make-3-75-92 19342
999make-3-75-93 21502
1000make-3-76 19768
1001make-3-76-1 19768
1002release-0-0 15702
1003release-0-1 15702
1004release-1-0 17404
1005Release_5_25 24283
1006root-libc-2_0_x-branch 16843
diff --git a/admin/notes/unicode b/admin/notes/unicode
index ce7d3732f03..dda6ec4cc93 100644
--- a/admin/notes/unicode
+++ b/admin/notes/unicode
@@ -1,6 +1,6 @@
1 -*-mode: text; coding: latin-1;-*- 1 -*-mode: text; coding: latin-1;-*-
2 2
3Copyright (C) 2002-2011 Free Software Foundation, Inc. 3Copyright (C) 2002-2012 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6Problems, fixmes and other unicode-related issues 6Problems, fixmes and other unicode-related issues
@@ -62,14 +62,6 @@ regard to completeness.
62 dumped emacs. But, those maps (char tables) generated while 62 dumped emacs. But, those maps (char tables) generated while
63 temacs is running can't be removed from the dumped emacs. 63 temacs is running can't be removed from the dumped emacs.
64 64
65 * Translation tables for {en,de}code currently aren't supported.
66
67 This should be fixed by the changes of 2002-10-14.
68
69 * Defining CCL coding systems currently doesn't work.
70
71 This should be fixed by the changes of 2003-01-30.
72
73 * iso-2022 charsets get unified on i/o. 65 * iso-2022 charsets get unified on i/o.
74 66
75 With the change on 2003-01-06, decoding routines put `charset' 67 With the change on 2003-01-06, decoding routines put `charset'
@@ -88,8 +80,6 @@ regard to completeness.
88 handle more scripts specifically ( la Devanagari). There are 80 handle more scripts specifically ( la Devanagari). There are
89 issues with canonicalization. 81 issues with canonicalization.
90 82
91 * Bidi is a separate issue with no support currently.
92
93 * We need tabular input methods, e.g. for maths symbols. (Not 83 * We need tabular input methods, e.g. for maths symbols. (Not
94 specific to Unicode.) 84 specific to Unicode.)
95 85
@@ -102,27 +92,9 @@ regard to completeness.
102 worry about what happens when double-width charsets covering 92 worry about what happens when double-width charsets covering
103 non-CJK characters are unified. 93 non-CJK characters are unified.
104 94
105 * Emacs 20/21 .elc files are currently not loadable. It may or may
106 not be possible to do this properly.
107
108 With the change on 2002-07-24, elc files generated by Emacs
109 20.3 and later are correctly loaded (including those
110 containing multibyte characters and compressed). But, elc
111 files generated by 20.2 and the primer are still not loadable.
112 Is it really worth working on it?
113
114 * Rmail won't work with non-ASCII text. Encoding issues for Babyl
115 files need sorting out, but rms says Babyl will go before this is
116 released.
117
118 * Gnus still needs some attention, and we need to get changes
119 accepted by Gnus maintainers...
120
121 * There are type errors lurking, e.g. in 95 * There are type errors lurking, e.g. in
122 Fcheck_coding_systems_region. Define ENABLE_CHECKING to find them. 96 Fcheck_coding_systems_region. Define ENABLE_CHECKING to find them.
123 97
124 * You can grep the code for lots of fixmes.
125
126 * Old auto-save files, and similar files, such as Gnus drafts, 98 * Old auto-save files, and similar files, such as Gnus drafts,
127 containing non-ASCII characters probably won't be re-read correctly. 99 containing non-ASCII characters probably won't be re-read correctly.
128 100
diff --git a/admin/nt/README-UNDUMP.W32 b/admin/nt/README-UNDUMP.W32
index 8c7d1510a05..d3dd88a99ec 100644
--- a/admin/nt/README-UNDUMP.W32
+++ b/admin/nt/README-UNDUMP.W32
@@ -1,4 +1,4 @@
1Copyright (C) 2001-2011 Free Software Foundation, Inc. 1Copyright (C) 2001-2012 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 Emacs for Windows 4 Emacs for Windows
diff --git a/admin/nt/README-ftp-server b/admin/nt/README-ftp-server
index c320bbe915d..1b0c9390889 100644
--- a/admin/nt/README-ftp-server
+++ b/admin/nt/README-ftp-server
@@ -1,4 +1,4 @@
1Copyright (C) 2001-2011 Free Software Foundation, Inc. 1Copyright (C) 2001-2012 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 Precompiled Distributions of 4 Precompiled Distributions of
diff --git a/admin/quick-install-emacs b/admin/quick-install-emacs
index 841a895248e..4abef102dc4 100755
--- a/admin/quick-install-emacs
+++ b/admin/quick-install-emacs
@@ -1,7 +1,7 @@
1#!/bin/sh 1#!/bin/sh
2### quick-install-emacs --- do a halfway-decent job of installing emacs quickly 2### quick-install-emacs --- do a halfway-decent job of installing emacs quickly
3 3
4## Copyright (C) 2001-2011 Free Software Foundation, Inc. 4## Copyright (C) 2001-2012 Free Software Foundation, Inc.
5 5
6## Author: Miles Bader <miles@gnu.org> 6## Author: Miles Bader <miles@gnu.org>
7 7
@@ -28,7 +28,7 @@
28 28
29 29
30PUBLIC_LIBSRC_BINARIES='emacsclient etags ctags ebrowse' 30PUBLIC_LIBSRC_BINARIES='emacsclient etags ctags ebrowse'
31PUBLIC_LIBSRC_SCRIPTS='grep-changelog rcs-checkin' 31PUBLIC_LIBSRC_SCRIPTS='grep-changelog'
32 32
33AVOID="CVS -DIC README COPYING ChangeLog ~ [.]orig$ [.]rej$ Makefile$ Makefile.in$ makefile$ makefile.w32-in$ stamp-subdir [.]cvsignore [.]arch-ids [{]arch[}] [.][cho]$ make-docfile testfile test-distrib" 33AVOID="CVS -DIC README COPYING ChangeLog ~ [.]orig$ [.]rej$ Makefile$ Makefile.in$ makefile$ makefile.w32-in$ stamp-subdir [.]cvsignore [.]arch-ids [{]arch[}] [.][cho]$ make-docfile testfile test-distrib"
34 34
@@ -49,7 +49,7 @@ COPY='cp -f'
49REMOVE='rm -r' 49REMOVE='rm -r'
50MKDIR='mkdir -p' 50MKDIR='mkdir -p'
51 51
52# Used to execute commands once once we create them 52# Used to execute commands once we create them
53EXEC='sh' 53EXEC='sh'
54 54
55NAWK=/usr/bin/nawk 55NAWK=/usr/bin/nawk
@@ -171,9 +171,9 @@ test x"$prefix" = x && { prefix="`get_config_var prefix`" || exit 4 ; }
171test x"$ARCH" = x && { ARCH="`get_config_var host`" || exit 4 ; } 171test x"$ARCH" = x && { ARCH="`get_config_var host`" || exit 4 ; }
172 172
173VERSION=` 173VERSION=`
174 sed -n 's/^AC_INIT(emacs,[ ]*\([^ )]*\).*/\1/p' <$SRC/configure.in 174 sed -n 's/^AC_INIT(emacs,[ ]*\([^ )]*\).*/\1/p' <$SRC/configure.ac
175` || exit 4 175` || exit 4
176test -n "$VERSION" || { echo >&2 "$me: no version in configure.in"; exit 4; } 176test -n "$VERSION" || { echo >&2 "$me: no version in configure.ac"; exit 4; }
177 177
178DST_SHARE="$prefix/share/emacs/$VERSION" 178DST_SHARE="$prefix/share/emacs/$VERSION"
179DST_BIN="$prefix/bin" 179DST_BIN="$prefix/bin"
diff --git a/admin/unidata/BidiMirroring.txt b/admin/unidata/BidiMirroring.txt
index 902f9a6b886..ec41b769375 100644
--- a/admin/unidata/BidiMirroring.txt
+++ b/admin/unidata/BidiMirroring.txt
@@ -1,19 +1,19 @@
1# BidiMirroring-6.0.0.txt 1# BidiMirroring-6.2.0.txt
2# Date: 2010-06-21, 12:09:00 PDT [KW] 2# Date: 2012-05-15, 24:19:00 GMT [KW, LI]
3# 3#
4# Bidi_Mirroring_Glyph Property 4# Bidi_Mirroring_Glyph Property
5# 5#
6# This file is an informative contributory data file in the 6# This file is an informative contributory data file in the
7# Unicode Character Database. 7# Unicode Character Database.
8# 8#
9# Copyright (c) 1991-2010 Unicode, Inc. 9# Copyright (c) 1991-2012 Unicode, Inc.
10# For terms of use, see http://www.unicode.org/terms_of_use.html 10# For terms of use, see http://www.unicode.org/terms_of_use.html
11# 11#
12# This data file lists characters that have the Bidi_Mirrored=True property 12# This data file lists characters that have the Bidi_Mirrored=Yes property
13# value, for which there is another Unicode character that typically has a glyph 13# value, for which there is another Unicode character that typically has a glyph
14# that is the mirror image of the original character's glyph. 14# that is the mirror image of the original character's glyph.
15# 15#
16# The repertoire covered by the file is Unicode 6.0.0. 16# The repertoire covered by the file is Unicode 6.2.0.
17# 17#
18# The file contains a list of lines with mappings from one code point 18# The file contains a list of lines with mappings from one code point
19# to another one for character-based mirroring. 19# to another one for character-based mirroring.
@@ -26,12 +26,12 @@
26# variable-length hexadecimal value with 4 to 6 digits. 26# variable-length hexadecimal value with 4 to 6 digits.
27# A comment indicates where the characters are "BEST FIT" mirroring. 27# A comment indicates where the characters are "BEST FIT" mirroring.
28# 28#
29# Code points for which Bidi_Mirrored=True, but for which no appropriate 29# Code points for which Bidi_Mirrored=Yes, but for which no appropriate
30# characters exist with mirrored glyphs, are 30# characters exist with mirrored glyphs, are
31# listed as comments at the end of the file. 31# listed as comments at the end of the file.
32# 32#
33# Formally, the default value of the Bidi_Mirroring_Glyph property 33# Formally, the default value of the Bidi_Mirroring_Glyph property
34# for each code point is the code point itself, unless a mapping to 34# for each code point is <none>, unless a mapping to
35# some other character is specified in this data file. When a code 35# some other character is specified in this data file. When a code
36# point has the default value for the Bidi_Mirroring_Glyph property, 36# point has the default value for the Bidi_Mirroring_Glyph property,
37# that means that no other character exists whose glyph is suitable 37# that means that no other character exists whose glyph is suitable
@@ -41,9 +41,14 @@
41# at http://www.unicode.org/unicode/reports/tr9/ 41# at http://www.unicode.org/unicode/reports/tr9/
42# 42#
43# This file was originally created by Markus Scherer. 43# This file was originally created by Markus Scherer.
44# Extended for Unicode 3.2, 4.0, 4.1, 5.0, 5.1, 5.2, and 6.0 by Ken Whistler. 44# Extended for Unicode 3.2, 4.0, 4.1, 5.0, 5.1, 5.2, and 6.0 by Ken Whistler,
45# and for Unicode 6.1 and 6.2 by Ken Whistler and Laurentiu Iancu.
45# 46#
46# ############################################################ 47# ############################################################
48#
49# Property: Bidi_Mirroring_Glyph
50#
51# @missing: 0000..10FFFF; <none>
47 52
480028; 0029 # LEFT PARENTHESIS 530028; 0029 # LEFT PARENTHESIS
490029; 0028 # RIGHT PARENTHESIS 540029; 0028 # RIGHT PARENTHESIS
@@ -209,6 +214,8 @@
20927C6; 27C5 # RIGHT S-SHAPED BAG DELIMITER 21427C6; 27C5 # RIGHT S-SHAPED BAG DELIMITER
21027C8; 27C9 # REVERSE SOLIDUS PRECEDING SUBSET 21527C8; 27C9 # REVERSE SOLIDUS PRECEDING SUBSET
21127C9; 27C8 # SUPERSET PRECEDING SOLIDUS 21627C9; 27C8 # SUPERSET PRECEDING SOLIDUS
21727CB; 27CD # MATHEMATICAL RISING DIAGONAL
21827CD; 27CB # MATHEMATICAL FALLING DIAGONAL
21227D5; 27D6 # LEFT OUTER JOIN 21927D5; 27D6 # LEFT OUTER JOIN
21327D6; 27D5 # RIGHT OUTER JOIN 22027D6; 27D5 # RIGHT OUTER JOIN
21427DD; 27DE # LONG RIGHT TACK 22127DD; 27DE # LONG RIGHT TACK
diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in
index c890dad8903..ecbd0490246 100644
--- a/admin/unidata/Makefile.in
+++ b/admin/unidata/Makefile.in
@@ -1,4 +1,7 @@
1# Makefile -- Makefile to generate character property tables. 1# Makefile -- Makefile to generate character property tables.
2
3# Copyright (C) 2012 Free Software Foundation, Inc.
4
2# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 5# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
3# National Institute of Advanced Industrial Science and Technology (AIST) 6# National Institute of Advanced Industrial Science and Technology (AIST)
4# Registration Number H13PRO009 7# Registration Number H13PRO009
@@ -18,25 +21,33 @@
18# You should have received a copy of the GNU General Public License 21# You should have received a copy of the GNU General Public License
19# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. 22# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
20 23
24SHELL = /bin/sh
25
26srcdir = @srcdir@
27abs_builddir = @abs_builddir@
28top_srcdir = @top_srcdir@
29abs_top_builddir = @abs_top_builddir@
21 30
22EMACS = ../../src/emacs 31EMACS = ${abs_top_builddir}/src/emacs
23DSTDIR = ../../lisp/international 32DSTDIR = ${top_srcdir}/lisp/international
24RUNEMACS = ${EMACS} -Q -batch 33emacs = ${EMACS} -batch --no-site-file --no-site-lisp
25 34
26all: ${DSTDIR}/charprop.el 35all: ${DSTDIR}/charprop.el
27 36
28.el.elc: 37.el.elc:
29 ${RUNEMACS} -batch -f batch-byte-compile $< 38 ${emacs} -f batch-byte-compile $<
30 39
31unidata.txt: UnicodeData.txt 40unidata.txt: ${srcdir}/UnicodeData.txt
32 sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < UnicodeData.txt > $@ 41 sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < ${srcdir}/UnicodeData.txt > $@
33 42
34${DSTDIR}/charprop.el: unidata-gen.elc unidata.txt 43${DSTDIR}/charprop.el: ${srcdir}/unidata-gen.elc unidata.txt
35 ELC=`/bin/pwd`/unidata-gen.elc; \ 44 cd ${DSTDIR} && ${emacs} -l ${srcdir}/unidata-gen \
36 DATADIR=`/bin/pwd`; \ 45 -f unidata-gen-files ${srcdir} ${abs_builddir}/unidata.txt
37 DATA=unidata.txt; \ 46
38 cd ${DSTDIR}; \ 47## Like the above, but generate in PWD rather than lisp/international.
39 ${RUNEMACS} -batch --load $${ELC} -f unidata-gen-files $${DATADIR} $${DATA} 48charprop.el: ${srcdir}/unidata-gen.elc unidata.txt
49 ${emacs} -l ${srcdir}/unidata-gen \
50 -f unidata-gen-files ${srcdir} unidata.txt
40 51
41install: charprop.el 52install: charprop.el
42 cp charprop.el ${DSTDIR} 53 cp charprop.el ${DSTDIR}
@@ -46,4 +57,9 @@ clean:
46 if test -f charprop.el; then \ 57 if test -f charprop.el; then \
47 rm -f `sed -n 's/^;; FILE: //p' < charprop.el`; \ 58 rm -f `sed -n 's/^;; FILE: //p' < charprop.el`; \
48 fi 59 fi
49 rm -f charprop.el unidata-gen.elc unidata.txt 60 rm -f charprop.el ${srcdir}/unidata-gen.elc unidata.txt
61
62distclean: clean
63 -rm -f ./Makefile
64
65maintainer-clean: distclean
diff --git a/admin/unidata/README b/admin/unidata/README
index 6048a6d624e..481cd5e9b6a 100644
--- a/admin/unidata/README
+++ b/admin/unidata/README
@@ -1,4 +1,4 @@
1The file `UnicodeData.txt' in this directory is a copy of 1The file `UnicodeData.txt' in this directory is a copy of
2<http://www.unicode.org/Public/UNIDATA/UnicodeData.txt> on 2009.10.1, 2<http://www.unicode.org/Public/UNIDATA/UnicodeData.txt> on 2012.04.07,
3and is a part of the Unicode Character Database governed by the "UCD 3and is a part of the Unicode Character Database governed by the "UCD
4Terms of Use" shown in the file `copyright.html'. 4Terms of Use" shown in the file `copyright.html'.
diff --git a/admin/unidata/UnicodeData.txt b/admin/unidata/UnicodeData.txt
index 8d7222b1378..086379eb4f3 100644
--- a/admin/unidata/UnicodeData.txt
+++ b/admin/unidata/UnicodeData.txt
@@ -165,10 +165,10 @@
16500A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;; 16500A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;;
16600A5;YEN SIGN;Sc;0;ET;;;;;N;;;;; 16600A5;YEN SIGN;Sc;0;ET;;;;;N;;;;;
16700A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;; 16700A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;;
16800A7;SECTION SIGN;So;0;ON;;;;;N;;;;; 16800A7;SECTION SIGN;Po;0;ON;;;;;N;;;;;
16900A8;DIAERESIS;Sk;0;ON;<compat> 0020 0308;;;;N;SPACING DIAERESIS;;;; 16900A8;DIAERESIS;Sk;0;ON;<compat> 0020 0308;;;;N;SPACING DIAERESIS;;;;
17000A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;; 17000A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;;
17100AA;FEMININE ORDINAL INDICATOR;Ll;0;L;<super> 0061;;;;N;;;;; 17100AA;FEMININE ORDINAL INDICATOR;Lo;0;L;<super> 0061;;;;N;;;;;
17200AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;;;; 17200AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;;;;
17300AC;NOT SIGN;Sm;0;ON;;;;;N;;;;; 17300AC;NOT SIGN;Sm;0;ON;;;;;N;;;;;
17400AD;SOFT HYPHEN;Cf;0;BN;;;;;N;;;;; 17400AD;SOFT HYPHEN;Cf;0;BN;;;;;N;;;;;
@@ -180,11 +180,11 @@
18000B3;SUPERSCRIPT THREE;No;0;EN;<super> 0033;;3;3;N;SUPERSCRIPT DIGIT THREE;;;; 18000B3;SUPERSCRIPT THREE;No;0;EN;<super> 0033;;3;3;N;SUPERSCRIPT DIGIT THREE;;;;
18100B4;ACUTE ACCENT;Sk;0;ON;<compat> 0020 0301;;;;N;SPACING ACUTE;;;; 18100B4;ACUTE ACCENT;Sk;0;ON;<compat> 0020 0301;;;;N;SPACING ACUTE;;;;
18200B5;MICRO SIGN;Ll;0;L;<compat> 03BC;;;;N;;;039C;;039C 18200B5;MICRO SIGN;Ll;0;L;<compat> 03BC;;;;N;;;039C;;039C
18300B6;PILCROW SIGN;So;0;ON;;;;;N;PARAGRAPH SIGN;;;; 18300B6;PILCROW SIGN;Po;0;ON;;;;;N;PARAGRAPH SIGN;;;;
18400B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;; 18400B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;;
18500B8;CEDILLA;Sk;0;ON;<compat> 0020 0327;;;;N;SPACING CEDILLA;;;; 18500B8;CEDILLA;Sk;0;ON;<compat> 0020 0327;;;;N;SPACING CEDILLA;;;;
18600B9;SUPERSCRIPT ONE;No;0;EN;<super> 0031;;1;1;N;SUPERSCRIPT DIGIT ONE;;;; 18600B9;SUPERSCRIPT ONE;No;0;EN;<super> 0031;;1;1;N;SUPERSCRIPT DIGIT ONE;;;;
18700BA;MASCULINE ORDINAL INDICATOR;Ll;0;L;<super> 006F;;;;N;;;;; 18700BA;MASCULINE ORDINAL INDICATOR;Lo;0;L;<super> 006F;;;;N;;;;;
18800BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;;;; 18800BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;;;;
18900BC;VULGAR FRACTION ONE QUARTER;No;0;ON;<fraction> 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;; 18900BC;VULGAR FRACTION ONE QUARTER;No;0;ON;<fraction> 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;;
19000BD;VULGAR FRACTION ONE HALF;No;0;ON;<fraction> 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;; 19000BD;VULGAR FRACTION ONE HALF;No;0;ON;<fraction> 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;;
@@ -612,7 +612,7 @@
6120263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194 6120263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194
6130264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;; 6130264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;;
6140265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;A78D;;A78D 6140265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;A78D;;A78D
6150266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;;; 6150266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;A7AA;;A7AA
6160267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;; 6160267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;;
6170268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197 6170268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197
6180269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196 6180269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196
@@ -1394,6 +1394,7 @@
13940587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L;<compat> 0565 0582;;;;N;;;;; 13940587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L;<compat> 0565 0582;;;;N;;;;;
13950589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;; 13950589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;;
1396058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;; 1396058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;;
1397058F;ARMENIAN DRAM SIGN;Sc;0;ET;;;;;N;;;;;
13970591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;; 13980591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;;
13980592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;; 13990592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;;
13990593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;; 14000593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;;
@@ -1485,6 +1486,7 @@
14850601;ARABIC SIGN SANAH;Cf;0;AN;;;;;N;;;;; 14860601;ARABIC SIGN SANAH;Cf;0;AN;;;;;N;;;;;
14860602;ARABIC FOOTNOTE MARKER;Cf;0;AN;;;;;N;;;;; 14870602;ARABIC FOOTNOTE MARKER;Cf;0;AN;;;;;N;;;;;
14870603;ARABIC SIGN SAFHA;Cf;0;AN;;;;;N;;;;; 14880603;ARABIC SIGN SAFHA;Cf;0;AN;;;;;N;;;;;
14890604;ARABIC SIGN SAMVAT;Cf;0;AN;;;;;N;;;;;
14880606;ARABIC-INDIC CUBE ROOT;Sm;0;ON;;;;;N;;;;; 14900606;ARABIC-INDIC CUBE ROOT;Sm;0;ON;;;;;N;;;;;
14890607;ARABIC-INDIC FOURTH ROOT;Sm;0;ON;;;;;N;;;;; 14910607;ARABIC-INDIC FOURTH ROOT;Sm;0;ON;;;;;N;;;;;
14900608;ARABIC RAY;Sm;0;AL;;;;;N;;;;; 14920608;ARABIC RAY;Sm;0;AL;;;;;N;;;;;
@@ -1747,7 +1749,7 @@
1747070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;; 1749070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;;
1748070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;; 1750070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;;
1749070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;; 1751070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;;
1750070F;SYRIAC ABBREVIATION MARK;Cf;0;AN;;;;;N;;;;; 1752070F;SYRIAC ABBREVIATION MARK;Cf;0;AL;;;;;N;;;;;
17510710;SYRIAC LETTER ALAPH;Lo;0;AL;;;;;N;;;;; 17530710;SYRIAC LETTER ALAPH;Lo;0;AL;;;;;N;;;;;
17520711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;; 17540711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;;
17530712;SYRIAC LETTER BETH;Lo;0;AL;;;;;N;;;;; 17550712;SYRIAC LETTER BETH;Lo;0;AL;;;;;N;;;;;
@@ -2057,6 +2059,45 @@
2057085A;MANDAIC VOCALIZATION MARK;Mn;220;NSM;;;;;N;;;;; 2059085A;MANDAIC VOCALIZATION MARK;Mn;220;NSM;;;;;N;;;;;
2058085B;MANDAIC GEMINATION MARK;Mn;220;NSM;;;;;N;;;;; 2060085B;MANDAIC GEMINATION MARK;Mn;220;NSM;;;;;N;;;;;
2059085E;MANDAIC PUNCTUATION;Po;0;R;;;;;N;;;;; 2061085E;MANDAIC PUNCTUATION;Po;0;R;;;;;N;;;;;
206208A0;ARABIC LETTER BEH WITH SMALL V BELOW;Lo;0;AL;;;;;N;;;;;
206308A2;ARABIC LETTER JEEM WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
206408A3;ARABIC LETTER TAH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
206508A4;ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
206608A5;ARABIC LETTER QAF WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
206708A6;ARABIC LETTER LAM WITH DOUBLE BAR;Lo;0;AL;;;;;N;;;;;
206808A7;ARABIC LETTER MEEM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
206908A8;ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE;Lo;0;AL;;;;;N;;;;;
207008A9;ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;;
207108AA;ARABIC LETTER REH WITH LOOP;Lo;0;AL;;;;;N;;;;;
207208AB;ARABIC LETTER WAW WITH DOT WITHIN;Lo;0;AL;;;;;N;;;;;
207308AC;ARABIC LETTER ROHINGYA YEH;Lo;0;AL;;;;;N;;;;;
207408E4;ARABIC CURLY FATHA;Mn;230;NSM;;;;;N;;;;;
207508E5;ARABIC CURLY DAMMA;Mn;230;NSM;;;;;N;;;;;
207608E6;ARABIC CURLY KASRA;Mn;220;NSM;;;;;N;;;;;
207708E7;ARABIC CURLY FATHATAN;Mn;230;NSM;;;;;N;;;;;
207808E8;ARABIC CURLY DAMMATAN;Mn;230;NSM;;;;;N;;;;;
207908E9;ARABIC CURLY KASRATAN;Mn;220;NSM;;;;;N;;;;;
208008EA;ARABIC TONE ONE DOT ABOVE;Mn;230;NSM;;;;;N;;;;;
208108EB;ARABIC TONE TWO DOTS ABOVE;Mn;230;NSM;;;;;N;;;;;
208208EC;ARABIC TONE LOOP ABOVE;Mn;230;NSM;;;;;N;;;;;
208308ED;ARABIC TONE ONE DOT BELOW;Mn;220;NSM;;;;;N;;;;;
208408EE;ARABIC TONE TWO DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
208508EF;ARABIC TONE LOOP BELOW;Mn;220;NSM;;;;;N;;;;;
208608F0;ARABIC OPEN FATHATAN;Mn;27;NSM;;;;;N;;;;;
208708F1;ARABIC OPEN DAMMATAN;Mn;28;NSM;;;;;N;;;;;
208808F2;ARABIC OPEN KASRATAN;Mn;29;NSM;;;;;N;;;;;
208908F3;ARABIC SMALL HIGH WAW;Mn;230;NSM;;;;;N;;;;;
209008F4;ARABIC FATHA WITH RING;Mn;230;NSM;;;;;N;;;;;
209108F5;ARABIC FATHA WITH DOT ABOVE;Mn;230;NSM;;;;;N;;;;;
209208F6;ARABIC KASRA WITH DOT BELOW;Mn;220;NSM;;;;;N;;;;;
209308F7;ARABIC LEFT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
209408F8;ARABIC RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
209508F9;ARABIC LEFT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
209608FA;ARABIC RIGHT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
209708FB;ARABIC DOUBLE RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
209808FC;ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT;Mn;230;NSM;;;;;N;;;;;
209908FD;ARABIC RIGHT ARROWHEAD ABOVE WITH DOT;Mn;230;NSM;;;;;N;;;;;
210008FE;ARABIC DAMMA WITH DOT;Mn;230;NSM;;;;;N;;;;;
20600900;DEVANAGARI SIGN INVERTED CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 21010900;DEVANAGARI SIGN INVERTED CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
20610901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 21020901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
20620902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; 21030902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
@@ -2437,6 +2478,7 @@
24370AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 24780AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
24380AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 24790AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
24390AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 24800AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
24810AF0;GUJARATI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
24400AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;; 24820AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
24410B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 24830B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
24420B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 24840B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
@@ -3109,6 +3151,8 @@
31090ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 31510ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
31100EDC;LAO HO NO;Lo;0;L;<compat> 0EAB 0E99;;;;N;;;;; 31520EDC;LAO HO NO;Lo;0;L;<compat> 0EAB 0E99;;;;N;;;;;
31110EDD;LAO HO MO;Lo;0;L;<compat> 0EAB 0EA1;;;;N;;;;; 31530EDD;LAO HO MO;Lo;0;L;<compat> 0EAB 0EA1;;;;N;;;;;
31540EDE;LAO LETTER KHMU GO;Lo;0;L;;;;;N;;;;;
31550EDF;LAO LETTER KHMU NYO;Lo;0;L;;;;;N;;;;;
31120F00;TIBETAN SYLLABLE OM;Lo;0;L;;;;;N;;;;; 31560F00;TIBETAN SYLLABLE OM;Lo;0;L;;;;;N;;;;;
31130F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;;;; 31570F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;;;;
31140F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;;;; 31580F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;;;;
@@ -3129,7 +3173,7 @@
31290F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;;;; 31730F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;;;;
31300F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;;;; 31740F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;;;;
31310F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;;;; 31750F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;;;;
31320F14;TIBETAN MARK GTER TSHEG;So;0;L;;;;;N;TIBETAN COMMA;;;; 31760F14;TIBETAN MARK GTER TSHEG;Po;0;L;;;;;N;TIBETAN COMMA;;;;
31330F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;;;; 31770F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;;;;
31340F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;;;; 31780F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;;;;
31350F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;;;; 31790F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;;;;
@@ -3518,6 +3562,8 @@
351810C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;;;2D23; 356210C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;;;2D23;
351910C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;;;2D24; 356310C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;;;2D24;
352010C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;;;2D25; 356410C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;;;2D25;
356510C7;GEORGIAN CAPITAL LETTER YN;Lu;0;L;;;;;N;;;;2D27;
356610CD;GEORGIAN CAPITAL LETTER AEN;Lu;0;L;;;;;N;;;;2D2D;
352110D0;GEORGIAN LETTER AN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;; 356710D0;GEORGIAN LETTER AN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;;
352210D1;GEORGIAN LETTER BAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;; 356810D1;GEORGIAN LETTER BAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;;
352310D2;GEORGIAN LETTER GAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;; 356910D2;GEORGIAN LETTER GAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;;
@@ -3563,6 +3609,9 @@
356310FA;GEORGIAN LETTER AIN;Lo;0;L;;;;;N;;;;; 360910FA;GEORGIAN LETTER AIN;Lo;0;L;;;;;N;;;;;
356410FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;; 361010FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;;
356510FC;MODIFIER LETTER GEORGIAN NAR;Lm;0;L;<super> 10DC;;;;N;;;;; 361110FC;MODIFIER LETTER GEORGIAN NAR;Lm;0;L;<super> 10DC;;;;N;;;;;
361210FD;GEORGIAN LETTER AEN;Lo;0;L;;;;;N;;;;;
361310FE;GEORGIAN LETTER HARD SIGN;Lo;0;L;;;;;N;;;;;
361410FF;GEORGIAN LETTER LABIAL SIGN;Lo;0;L;;;;;N;;;;;
35661100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;;;; 36151100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;;;;
35671101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;;;; 36161101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
35681102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;;;; 36171102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;;;;
@@ -4148,7 +4197,7 @@
4148135D;ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK;Mn;230;NSM;;;;;N;;;;; 4197135D;ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK;Mn;230;NSM;;;;;N;;;;;
4149135E;ETHIOPIC COMBINING VOWEL LENGTH MARK;Mn;230;NSM;;;;;N;;;;; 4198135E;ETHIOPIC COMBINING VOWEL LENGTH MARK;Mn;230;NSM;;;;;N;;;;;
4150135F;ETHIOPIC COMBINING GEMINATION MARK;Mn;230;NSM;;;;;N;;;;; 4199135F;ETHIOPIC COMBINING GEMINATION MARK;Mn;230;NSM;;;;;N;;;;;
41511360;ETHIOPIC SECTION MARK;So;0;L;;;;;N;;;;; 42001360;ETHIOPIC SECTION MARK;Po;0;L;;;;;N;;;;;
41521361;ETHIOPIC WORDSPACE;Po;0;L;;;;;N;;;;; 42011361;ETHIOPIC WORDSPACE;Po;0;L;;;;;N;;;;;
41531362;ETHIOPIC FULL STOP;Po;0;L;;;;;N;;;;; 42021362;ETHIOPIC FULL STOP;Po;0;L;;;;;N;;;;;
41541363;ETHIOPIC COMMA;Po;0;L;;;;;N;;;;; 42031363;ETHIOPIC COMMA;Po;0;L;;;;;N;;;;;
@@ -5171,8 +5220,8 @@
517117B1;KHMER INDEPENDENT VOWEL QOO TYPE ONE;Lo;0;L;;;;;N;;;;; 522017B1;KHMER INDEPENDENT VOWEL QOO TYPE ONE;Lo;0;L;;;;;N;;;;;
517217B2;KHMER INDEPENDENT VOWEL QOO TYPE TWO;Lo;0;L;;;;;N;;;;; 522117B2;KHMER INDEPENDENT VOWEL QOO TYPE TWO;Lo;0;L;;;;;N;;;;;
517317B3;KHMER INDEPENDENT VOWEL QAU;Lo;0;L;;;;;N;;;;; 522217B3;KHMER INDEPENDENT VOWEL QAU;Lo;0;L;;;;;N;;;;;
517417B4;KHMER VOWEL INHERENT AQ;Cf;0;L;;;;;N;;;;; 522317B4;KHMER VOWEL INHERENT AQ;Mn;0;NSM;;;;;N;;;;;
517517B5;KHMER VOWEL INHERENT AA;Cf;0;L;;;;;N;;;;; 522417B5;KHMER VOWEL INHERENT AA;Mn;0;NSM;;;;;N;;;;;
517617B6;KHMER VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 522517B6;KHMER VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
517717B7;KHMER VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 522617B7;KHMER VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
517817B8;KHMER VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; 522717B8;KHMER VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
@@ -5996,6 +6045,9 @@
59961BA8;SUNDANESE VOWEL SIGN PAMEPET;Mn;0;NSM;;;;;N;;;;; 60451BA8;SUNDANESE VOWEL SIGN PAMEPET;Mn;0;NSM;;;;;N;;;;;
59971BA9;SUNDANESE VOWEL SIGN PANEULEUNG;Mn;0;NSM;;;;;N;;;;; 60461BA9;SUNDANESE VOWEL SIGN PANEULEUNG;Mn;0;NSM;;;;;N;;;;;
59981BAA;SUNDANESE SIGN PAMAAEH;Mc;9;L;;;;;N;;;;; 60471BAA;SUNDANESE SIGN PAMAAEH;Mc;9;L;;;;;N;;;;;
60481BAB;SUNDANESE SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
60491BAC;SUNDANESE CONSONANT SIGN PASANGAN MA;Mc;0;L;;;;;N;;;;;
60501BAD;SUNDANESE CONSONANT SIGN PASANGAN WA;Mc;0;L;;;;;N;;;;;
59991BAE;SUNDANESE LETTER KHA;Lo;0;L;;;;;N;;;;; 60511BAE;SUNDANESE LETTER KHA;Lo;0;L;;;;;N;;;;;
60001BAF;SUNDANESE LETTER SYA;Lo;0;L;;;;;N;;;;; 60521BAF;SUNDANESE LETTER SYA;Lo;0;L;;;;;N;;;;;
60011BB0;SUNDANESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 60531BB0;SUNDANESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
@@ -6008,6 +6060,12 @@
60081BB7;SUNDANESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 60601BB7;SUNDANESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
60091BB8;SUNDANESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 60611BB8;SUNDANESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
60101BB9;SUNDANESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 60621BB9;SUNDANESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
60631BBA;SUNDANESE AVAGRAHA;Lo;0;L;;;;;N;;;;;
60641BBB;SUNDANESE LETTER REU;Lo;0;L;;;;;N;;;;;
60651BBC;SUNDANESE LETTER LEU;Lo;0;L;;;;;N;;;;;
60661BBD;SUNDANESE LETTER BHA;Lo;0;L;;;;;N;;;;;
60671BBE;SUNDANESE LETTER FINAL K;Lo;0;L;;;;;N;;;;;
60681BBF;SUNDANESE LETTER FINAL M;Lo;0;L;;;;;N;;;;;
60111BC0;BATAK LETTER A;Lo;0;L;;;;;N;;;;; 60691BC0;BATAK LETTER A;Lo;0;L;;;;;N;;;;;
60121BC1;BATAK LETTER SIMALUNGUN A;Lo;0;L;;;;;N;;;;; 60701BC1;BATAK LETTER SIMALUNGUN A;Lo;0;L;;;;;N;;;;;
60131BC2;BATAK LETTER HA;Lo;0;L;;;;;N;;;;; 60711BC2;BATAK LETTER HA;Lo;0;L;;;;;N;;;;;
@@ -6186,6 +6244,14 @@
61861C7D;OL CHIKI AHAD;Lm;0;L;;;;;N;;;;; 62441C7D;OL CHIKI AHAD;Lm;0;L;;;;;N;;;;;
61871C7E;OL CHIKI PUNCTUATION MUCAAD;Po;0;L;;;;;N;;;;; 62451C7E;OL CHIKI PUNCTUATION MUCAAD;Po;0;L;;;;;N;;;;;
61881C7F;OL CHIKI PUNCTUATION DOUBLE MUCAAD;Po;0;L;;;;;N;;;;; 62461C7F;OL CHIKI PUNCTUATION DOUBLE MUCAAD;Po;0;L;;;;;N;;;;;
62471CC0;SUNDANESE PUNCTUATION BINDU SURYA;Po;0;L;;;;;N;;;;;
62481CC1;SUNDANESE PUNCTUATION BINDU PANGLONG;Po;0;L;;;;;N;;;;;
62491CC2;SUNDANESE PUNCTUATION BINDU PURNAMA;Po;0;L;;;;;N;;;;;
62501CC3;SUNDANESE PUNCTUATION BINDU CAKRA;Po;0;L;;;;;N;;;;;
62511CC4;SUNDANESE PUNCTUATION BINDU LEU SATANGA;Po;0;L;;;;;N;;;;;
62521CC5;SUNDANESE PUNCTUATION BINDU KA SATANGA;Po;0;L;;;;;N;;;;;
62531CC6;SUNDANESE PUNCTUATION BINDU DA SATANGA;Po;0;L;;;;;N;;;;;
62541CC7;SUNDANESE PUNCTUATION BINDU BA SATANGA;Po;0;L;;;;;N;;;;;
61891CD0;VEDIC TONE KARSHANA;Mn;230;NSM;;;;;N;;;;; 62551CD0;VEDIC TONE KARSHANA;Mn;230;NSM;;;;;N;;;;;
61901CD1;VEDIC TONE SHARA;Mn;230;NSM;;;;;N;;;;; 62561CD1;VEDIC TONE SHARA;Mn;230;NSM;;;;;N;;;;;
61911CD2;VEDIC TONE PRENKHA;Mn;230;NSM;;;;;N;;;;; 62571CD2;VEDIC TONE PRENKHA;Mn;230;NSM;;;;;N;;;;;
@@ -6221,6 +6287,10 @@
62211CF0;VEDIC SIGN RTHANG LONG ANUSVARA;Lo;0;L;;;;;N;;;;; 62871CF0;VEDIC SIGN RTHANG LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
62221CF1;VEDIC SIGN ANUSVARA UBHAYATO MUKHA;Lo;0;L;;;;;N;;;;; 62881CF1;VEDIC SIGN ANUSVARA UBHAYATO MUKHA;Lo;0;L;;;;;N;;;;;
62231CF2;VEDIC SIGN ARDHAVISARGA;Mc;0;L;;;;;N;;;;; 62891CF2;VEDIC SIGN ARDHAVISARGA;Mc;0;L;;;;;N;;;;;
62901CF3;VEDIC SIGN ROTATED ARDHAVISARGA;Mc;0;L;;;;;N;;;;;
62911CF4;VEDIC TONE CANDRA ABOVE;Mn;230;NSM;;;;;N;;;;;
62921CF5;VEDIC SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
62931CF6;VEDIC SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
62241D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;; 62941D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;;
62251D01;LATIN LETTER SMALL CAPITAL AE;Ll;0;L;;;;;N;;;;; 62951D01;LATIN LETTER SMALL CAPITAL AE;Ll;0;L;;;;;N;;;;;
62261D02;LATIN SMALL LETTER TURNED AE;Ll;0;L;;;;;N;;;;; 62961D02;LATIN SMALL LETTER TURNED AE;Ll;0;L;;;;;N;;;;;
@@ -6319,15 +6389,15 @@
63191D5F;MODIFIER LETTER SMALL DELTA;Lm;0;L;<super> 03B4;;;;N;;;;; 63891D5F;MODIFIER LETTER SMALL DELTA;Lm;0;L;<super> 03B4;;;;N;;;;;
63201D60;MODIFIER LETTER SMALL GREEK PHI;Lm;0;L;<super> 03C6;;;;N;;;;; 63901D60;MODIFIER LETTER SMALL GREEK PHI;Lm;0;L;<super> 03C6;;;;N;;;;;
63211D61;MODIFIER LETTER SMALL CHI;Lm;0;L;<super> 03C7;;;;N;;;;; 63911D61;MODIFIER LETTER SMALL CHI;Lm;0;L;<super> 03C7;;;;N;;;;;
63221D62;LATIN SUBSCRIPT SMALL LETTER I;Ll;0;L;<sub> 0069;;;;N;;;;; 63921D62;LATIN SUBSCRIPT SMALL LETTER I;Lm;0;L;<sub> 0069;;;;N;;;;;
63231D63;LATIN SUBSCRIPT SMALL LETTER R;Ll;0;L;<sub> 0072;;;;N;;;;; 63931D63;LATIN SUBSCRIPT SMALL LETTER R;Lm;0;L;<sub> 0072;;;;N;;;;;
63241D64;LATIN SUBSCRIPT SMALL LETTER U;Ll;0;L;<sub> 0075;;;;N;;;;; 63941D64;LATIN SUBSCRIPT SMALL LETTER U;Lm;0;L;<sub> 0075;;;;N;;;;;
63251D65;LATIN SUBSCRIPT SMALL LETTER V;Ll;0;L;<sub> 0076;;;;N;;;;; 63951D65;LATIN SUBSCRIPT SMALL LETTER V;Lm;0;L;<sub> 0076;;;;N;;;;;
63261D66;GREEK SUBSCRIPT SMALL LETTER BETA;Ll;0;L;<sub> 03B2;;;;N;;;;; 63961D66;GREEK SUBSCRIPT SMALL LETTER BETA;Lm;0;L;<sub> 03B2;;;;N;;;;;
63271D67;GREEK SUBSCRIPT SMALL LETTER GAMMA;Ll;0;L;<sub> 03B3;;;;N;;;;; 63971D67;GREEK SUBSCRIPT SMALL LETTER GAMMA;Lm;0;L;<sub> 03B3;;;;N;;;;;
63281D68;GREEK SUBSCRIPT SMALL LETTER RHO;Ll;0;L;<sub> 03C1;;;;N;;;;; 63981D68;GREEK SUBSCRIPT SMALL LETTER RHO;Lm;0;L;<sub> 03C1;;;;N;;;;;
63291D69;GREEK SUBSCRIPT SMALL LETTER PHI;Ll;0;L;<sub> 03C6;;;;N;;;;; 63991D69;GREEK SUBSCRIPT SMALL LETTER PHI;Lm;0;L;<sub> 03C6;;;;N;;;;;
63301D6A;GREEK SUBSCRIPT SMALL LETTER CHI;Ll;0;L;<sub> 03C7;;;;N;;;;; 64001D6A;GREEK SUBSCRIPT SMALL LETTER CHI;Lm;0;L;<sub> 03C7;;;;N;;;;;
63311D6B;LATIN SMALL LETTER UE;Ll;0;L;;;;;N;;;;; 64011D6B;LATIN SMALL LETTER UE;Ll;0;L;;;;;N;;;;;
63321D6C;LATIN SMALL LETTER B WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; 64021D6C;LATIN SMALL LETTER B WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
63331D6D;LATIN SMALL LETTER D WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; 64031D6D;LATIN SMALL LETTER D WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
@@ -7120,6 +7190,7 @@
712020B7;SPESMILO SIGN;Sc;0;ET;;;;;N;;;;; 719020B7;SPESMILO SIGN;Sc;0;ET;;;;;N;;;;;
712120B8;TENGE SIGN;Sc;0;ET;;;;;N;;;;; 719120B8;TENGE SIGN;Sc;0;ET;;;;;N;;;;;
712220B9;INDIAN RUPEE SIGN;Sc;0;ET;;;;;N;;;;; 719220B9;INDIAN RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
719320BA;TURKISH LIRA SIGN;Sc;0;ET;;;;;N;;;;;
712320D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;; 719420D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;;
712420D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;; 719520D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;;
712520D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;; 719620D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;;
@@ -8827,7 +8898,9 @@
882727C8;REVERSE SOLIDUS PRECEDING SUBSET;Sm;0;ON;;;;;Y;;;;; 889827C8;REVERSE SOLIDUS PRECEDING SUBSET;Sm;0;ON;;;;;Y;;;;;
882827C9;SUPERSET PRECEDING SOLIDUS;Sm;0;ON;;;;;Y;;;;; 889927C9;SUPERSET PRECEDING SOLIDUS;Sm;0;ON;;;;;Y;;;;;
882927CA;VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; 890027CA;VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
890127CB;MATHEMATICAL RISING DIAGONAL;Sm;0;ON;;;;;Y;;;;;
883027CC;LONG DIVISION;Sm;0;ON;;;;;Y;;;;; 890227CC;LONG DIVISION;Sm;0;ON;;;;;Y;;;;;
890327CD;MATHEMATICAL FALLING DIAGONAL;Sm;0;ON;;;;;Y;;;;;
883127CE;SQUARED LOGICAL AND;Sm;0;ON;;;;;N;;;;; 890427CE;SQUARED LOGICAL AND;Sm;0;ON;;;;;N;;;;;
883227CF;SQUARED LOGICAL OR;Sm;0;ON;;;;;N;;;;; 890527CF;SQUARED LOGICAL OR;Sm;0;ON;;;;;N;;;;;
883327D0;WHITE DIAMOND WITH CENTRED DOT;Sm;0;ON;;;;;N;;;;; 890627D0;WHITE DIAMOND WITH CENTRED DOT;Sm;0;ON;;;;;N;;;;;
@@ -9855,7 +9928,7 @@
98552C79;LATIN SMALL LETTER TURNED R WITH TAIL;Ll;0;L;;;;;N;;;;; 99282C79;LATIN SMALL LETTER TURNED R WITH TAIL;Ll;0;L;;;;;N;;;;;
98562C7A;LATIN SMALL LETTER O WITH LOW RING INSIDE;Ll;0;L;;;;;N;;;;; 99292C7A;LATIN SMALL LETTER O WITH LOW RING INSIDE;Ll;0;L;;;;;N;;;;;
98572C7B;LATIN LETTER SMALL CAPITAL TURNED E;Ll;0;L;;;;;N;;;;; 99302C7B;LATIN LETTER SMALL CAPITAL TURNED E;Ll;0;L;;;;;N;;;;;
98582C7C;LATIN SUBSCRIPT SMALL LETTER J;Ll;0;L;<sub> 006A;;;;N;;;;; 99312C7C;LATIN SUBSCRIPT SMALL LETTER J;Lm;0;L;<sub> 006A;;;;N;;;;;
98592C7D;MODIFIER LETTER CAPITAL V;Lm;0;L;<super> 0056;;;;N;;;;; 99322C7D;MODIFIER LETTER CAPITAL V;Lm;0;L;<super> 0056;;;;N;;;;;
98602C7E;LATIN CAPITAL LETTER S WITH SWASH TAIL;Lu;0;L;;;;;N;;;;023F; 99332C7E;LATIN CAPITAL LETTER S WITH SWASH TAIL;Lu;0;L;;;;;N;;;;023F;
98612C7F;LATIN CAPITAL LETTER Z WITH SWASH TAIL;Lu;0;L;;;;;N;;;;0240; 99342C7F;LATIN CAPITAL LETTER Z WITH SWASH TAIL;Lu;0;L;;;;;N;;;;0240;
@@ -9973,6 +10046,8 @@
99732CEF;COPTIC COMBINING NI ABOVE;Mn;230;NSM;;;;;N;;;;; 100462CEF;COPTIC COMBINING NI ABOVE;Mn;230;NSM;;;;;N;;;;;
99742CF0;COPTIC COMBINING SPIRITUS ASPER;Mn;230;NSM;;;;;N;;;;; 100472CF0;COPTIC COMBINING SPIRITUS ASPER;Mn;230;NSM;;;;;N;;;;;
99752CF1;COPTIC COMBINING SPIRITUS LENIS;Mn;230;NSM;;;;;N;;;;; 100482CF1;COPTIC COMBINING SPIRITUS LENIS;Mn;230;NSM;;;;;N;;;;;
100492CF2;COPTIC CAPITAL LETTER BOHAIRIC KHEI;Lu;0;L;;;;;N;;;;2CF3;
100502CF3;COPTIC SMALL LETTER BOHAIRIC KHEI;Ll;0;L;;;;;N;;;2CF2;;2CF2
99762CF9;COPTIC OLD NUBIAN FULL STOP;Po;0;ON;;;;;N;;;;; 100512CF9;COPTIC OLD NUBIAN FULL STOP;Po;0;ON;;;;;N;;;;;
99772CFA;COPTIC OLD NUBIAN DIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;; 100522CFA;COPTIC OLD NUBIAN DIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;;
99782CFB;COPTIC OLD NUBIAN INDIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;; 100532CFB;COPTIC OLD NUBIAN INDIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;;
@@ -10018,6 +10093,8 @@
100182D23;GEORGIAN SMALL LETTER WE;Ll;0;L;;;;;N;;;10C3;;10C3 100932D23;GEORGIAN SMALL LETTER WE;Ll;0;L;;;;;N;;;10C3;;10C3
100192D24;GEORGIAN SMALL LETTER HAR;Ll;0;L;;;;;N;;;10C4;;10C4 100942D24;GEORGIAN SMALL LETTER HAR;Ll;0;L;;;;;N;;;10C4;;10C4
100202D25;GEORGIAN SMALL LETTER HOE;Ll;0;L;;;;;N;;;10C5;;10C5 100952D25;GEORGIAN SMALL LETTER HOE;Ll;0;L;;;;;N;;;10C5;;10C5
100962D27;GEORGIAN SMALL LETTER YN;Ll;0;L;;;;;N;;;10C7;;10C7
100972D2D;GEORGIAN SMALL LETTER AEN;Ll;0;L;;;;;N;;;10CD;;10CD
100212D30;TIFINAGH LETTER YA;Lo;0;L;;;;;N;;;;; 100982D30;TIFINAGH LETTER YA;Lo;0;L;;;;;N;;;;;
100222D31;TIFINAGH LETTER YAB;Lo;0;L;;;;;N;;;;; 100992D31;TIFINAGH LETTER YAB;Lo;0;L;;;;;N;;;;;
100232D32;TIFINAGH LETTER YABH;Lo;0;L;;;;;N;;;;; 101002D32;TIFINAGH LETTER YABH;Lo;0;L;;;;;N;;;;;
@@ -10072,6 +10149,8 @@
100722D63;TIFINAGH LETTER YAZ;Lo;0;L;;;;;N;;;;; 101492D63;TIFINAGH LETTER YAZ;Lo;0;L;;;;;N;;;;;
100732D64;TIFINAGH LETTER TAWELLEMET YAZ;Lo;0;L;;;;;N;;;;; 101502D64;TIFINAGH LETTER TAWELLEMET YAZ;Lo;0;L;;;;;N;;;;;
100742D65;TIFINAGH LETTER YAZZ;Lo;0;L;;;;;N;;;;; 101512D65;TIFINAGH LETTER YAZZ;Lo;0;L;;;;;N;;;;;
101522D66;TIFINAGH LETTER YE;Lo;0;L;;;;;N;;;;;
101532D67;TIFINAGH LETTER YO;Lo;0;L;;;;;N;;;;;
100752D6F;TIFINAGH MODIFIER LETTER LABIALIZATION MARK;Lm;0;L;<super> 2D61;;;;N;;;;; 101542D6F;TIFINAGH MODIFIER LETTER LABIALIZATION MARK;Lm;0;L;<super> 2D61;;;;N;;;;;
100762D70;TIFINAGH SEPARATOR MARK;Po;0;L;;;;;N;;;;; 101552D70;TIFINAGH SEPARATOR MARK;Po;0;L;;;;;N;;;;;
100772D7F;TIFINAGH CONSONANT JOINER;Mn;9;NSM;;;;;N;;;;; 101562D7F;TIFINAGH CONSONANT JOINER;Mn;9;NSM;;;;;N;;;;;
@@ -10236,6 +10315,16 @@
102362E2F;VERTICAL TILDE;Lm;0;ON;;;;;N;;;;; 103152E2F;VERTICAL TILDE;Lm;0;ON;;;;;N;;;;;
102372E30;RING POINT;Po;0;ON;;;;;N;;;;; 103162E30;RING POINT;Po;0;ON;;;;;N;;;;;
102382E31;WORD SEPARATOR MIDDLE DOT;Po;0;ON;;;;;N;;;;; 103172E31;WORD SEPARATOR MIDDLE DOT;Po;0;ON;;;;;N;;;;;
103182E32;TURNED COMMA;Po;0;ON;;;;;N;;;;;
103192E33;RAISED DOT;Po;0;ON;;;;;N;;;;;
103202E34;RAISED COMMA;Po;0;ON;;;;;N;;;;;
103212E35;TURNED SEMICOLON;Po;0;ON;;;;;N;;;;;
103222E36;DAGGER WITH LEFT GUARD;Po;0;ON;;;;;N;;;;;
103232E37;DAGGER WITH RIGHT GUARD;Po;0;ON;;;;;N;;;;;
103242E38;TURNED DAGGER;Po;0;ON;;;;;N;;;;;
103252E39;TOP HALF SECTION SIGN;Po;0;ON;;;;;N;;;;;
103262E3A;TWO-EM DASH;Pd;0;ON;;;;;N;;;;;
103272E3B;THREE-EM DASH;Pd;0;ON;;;;;N;;;;;
102392E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;; 103282E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;;
102402E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;; 103292E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;;
102412E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;; 103302E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;;
@@ -10623,8 +10712,8 @@
10623302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;NSM;;;;;N;;;;; 10712302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;NSM;;;;;N;;;;;
10624302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;NSM;;;;;N;;;;; 10713302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;NSM;;;;;N;;;;;
10625302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;NSM;;;;;N;;;;; 10714302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;NSM;;;;;N;;;;;
10626302E;HANGUL SINGLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;; 10715302E;HANGUL SINGLE DOT TONE MARK;Mc;224;L;;;;;N;;;;;
10627302F;HANGUL DOUBLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;; 10716302F;HANGUL DOUBLE DOT TONE MARK;Mc;224;L;;;;;N;;;;;
106283030;WAVY DASH;Pd;0;ON;;;;;N;;;;; 107173030;WAVY DASH;Pd;0;ON;;;;;N;;;;;
106293031;VERTICAL KANA REPEAT MARK;Lm;0;L;;;;;N;;;;; 107183031;VERTICAL KANA REPEAT MARK;Lm;0;L;;;;;N;;;;;
106303032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;L;;;;;N;;;;; 107193032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;L;;;;;N;;;;;
@@ -11131,14 +11220,14 @@
111313245;CIRCLED IDEOGRAPH KINDERGARTEN;So;0;L;<circle> 5E7C;;;;N;;;;; 112203245;CIRCLED IDEOGRAPH KINDERGARTEN;So;0;L;<circle> 5E7C;;;;N;;;;;
111323246;CIRCLED IDEOGRAPH SCHOOL;So;0;L;<circle> 6587;;;;N;;;;; 112213246;CIRCLED IDEOGRAPH SCHOOL;So;0;L;<circle> 6587;;;;N;;;;;
111333247;CIRCLED IDEOGRAPH KOTO;So;0;L;<circle> 7B8F;;;;N;;;;; 112223247;CIRCLED IDEOGRAPH KOTO;So;0;L;<circle> 7B8F;;;;N;;;;;
111343248;CIRCLED NUMBER TEN ON BLACK SQUARE;So;0;L;;;;;N;;;;; 112233248;CIRCLED NUMBER TEN ON BLACK SQUARE;No;0;L;;;;10;N;;;;;
111353249;CIRCLED NUMBER TWENTY ON BLACK SQUARE;So;0;L;;;;;N;;;;; 112243249;CIRCLED NUMBER TWENTY ON BLACK SQUARE;No;0;L;;;;20;N;;;;;
11136324A;CIRCLED NUMBER THIRTY ON BLACK SQUARE;So;0;L;;;;;N;;;;; 11225324A;CIRCLED NUMBER THIRTY ON BLACK SQUARE;No;0;L;;;;30;N;;;;;
11137324B;CIRCLED NUMBER FORTY ON BLACK SQUARE;So;0;L;;;;;N;;;;; 11226324B;CIRCLED NUMBER FORTY ON BLACK SQUARE;No;0;L;;;;40;N;;;;;
11138324C;CIRCLED NUMBER FIFTY ON BLACK SQUARE;So;0;L;;;;;N;;;;; 11227324C;CIRCLED NUMBER FIFTY ON BLACK SQUARE;No;0;L;;;;50;N;;;;;
11139324D;CIRCLED NUMBER SIXTY ON BLACK SQUARE;So;0;L;;;;;N;;;;; 11228324D;CIRCLED NUMBER SIXTY ON BLACK SQUARE;No;0;L;;;;60;N;;;;;
11140324E;CIRCLED NUMBER SEVENTY ON BLACK SQUARE;So;0;L;;;;;N;;;;; 11229324E;CIRCLED NUMBER SEVENTY ON BLACK SQUARE;No;0;L;;;;70;N;;;;;
11141324F;CIRCLED NUMBER EIGHTY ON BLACK SQUARE;So;0;L;;;;;N;;;;; 11230324F;CIRCLED NUMBER EIGHTY ON BLACK SQUARE;No;0;L;;;;80;N;;;;;
111423250;PARTNERSHIP SIGN;So;0;ON;<square> 0050 0054 0045;;;;N;;;;; 112313250;PARTNERSHIP SIGN;So;0;ON;<square> 0050 0054 0045;;;;N;;;;;
111433251;CIRCLED NUMBER TWENTY ONE;No;0;ON;<circle> 0032 0031;;;21;N;;;;; 112323251;CIRCLED NUMBER TWENTY ONE;No;0;ON;<circle> 0032 0031;;;21;N;;;;;
111443252;CIRCLED NUMBER TWENTY TWO;No;0;ON;<circle> 0032 0032;;;22;N;;;;; 112333252;CIRCLED NUMBER TWENTY TWO;No;0;ON;<circle> 0032 0032;;;22;N;;;;;
@@ -11637,7 +11726,7 @@
116374DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;; 117264DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;;
116384DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;; 117274DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;;
116394E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;; 117284E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
116409FCB;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;; 117299FCC;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
11641A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;; 11730A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;;
11642A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;; 11731A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;;
11643A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;; 11732A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;;
@@ -13258,6 +13347,14 @@ A670;COMBINING CYRILLIC TEN MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
13258A671;COMBINING CYRILLIC HUNDRED MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; 13347A671;COMBINING CYRILLIC HUNDRED MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
13259A672;COMBINING CYRILLIC THOUSAND MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; 13348A672;COMBINING CYRILLIC THOUSAND MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
13260A673;SLAVONIC ASTERISK;Po;0;ON;;;;;N;;;;; 13349A673;SLAVONIC ASTERISK;Po;0;ON;;;;;N;;;;;
13350A674;COMBINING CYRILLIC LETTER UKRAINIAN IE;Mn;230;NSM;;;;;N;;;;;
13351A675;COMBINING CYRILLIC LETTER I;Mn;230;NSM;;;;;N;;;;;
13352A676;COMBINING CYRILLIC LETTER YI;Mn;230;NSM;;;;;N;;;;;
13353A677;COMBINING CYRILLIC LETTER U;Mn;230;NSM;;;;;N;;;;;
13354A678;COMBINING CYRILLIC LETTER HARD SIGN;Mn;230;NSM;;;;;N;;;;;
13355A679;COMBINING CYRILLIC LETTER YERU;Mn;230;NSM;;;;;N;;;;;
13356A67A;COMBINING CYRILLIC LETTER SOFT SIGN;Mn;230;NSM;;;;;N;;;;;
13357A67B;COMBINING CYRILLIC LETTER OMEGA;Mn;230;NSM;;;;;N;;;;;
13261A67C;COMBINING CYRILLIC KAVYKA;Mn;230;NSM;;;;;N;;;;; 13358A67C;COMBINING CYRILLIC KAVYKA;Mn;230;NSM;;;;;N;;;;;
13262A67D;COMBINING CYRILLIC PAYEROK;Mn;230;NSM;;;;;N;;;;; 13359A67D;COMBINING CYRILLIC PAYEROK;Mn;230;NSM;;;;;N;;;;;
13263A67E;CYRILLIC KAVYKA;Po;0;ON;;;;;N;;;;; 13360A67E;CYRILLIC KAVYKA;Po;0;ON;;;;;N;;;;;
@@ -13286,6 +13383,7 @@ A694;CYRILLIC CAPITAL LETTER HWE;Lu;0;L;;;;;N;;;;A695;
13286A695;CYRILLIC SMALL LETTER HWE;Ll;0;L;;;;;N;;;A694;;A694 13383A695;CYRILLIC SMALL LETTER HWE;Ll;0;L;;;;;N;;;A694;;A694
13287A696;CYRILLIC CAPITAL LETTER SHWE;Lu;0;L;;;;;N;;;;A697; 13384A696;CYRILLIC CAPITAL LETTER SHWE;Lu;0;L;;;;;N;;;;A697;
13288A697;CYRILLIC SMALL LETTER SHWE;Ll;0;L;;;;;N;;;A696;;A696 13385A697;CYRILLIC SMALL LETTER SHWE;Ll;0;L;;;;;N;;;A696;;A696
13386A69F;COMBINING CYRILLIC LETTER IOTIFIED E;Mn;230;NSM;;;;;N;;;;;
13289A6A0;BAMUM LETTER A;Lo;0;L;;;;;N;;;;; 13387A6A0;BAMUM LETTER A;Lo;0;L;;;;;N;;;;;
13290A6A1;BAMUM LETTER KA;Lo;0;L;;;;;N;;;;; 13388A6A1;BAMUM LETTER KA;Lo;0;L;;;;;N;;;;;
13291A6A2;BAMUM LETTER U;Lo;0;L;;;;;N;;;;; 13389A6A2;BAMUM LETTER U;Lo;0;L;;;;;N;;;;;
@@ -13519,6 +13617,8 @@ A78D;LATIN CAPITAL LETTER TURNED H;Lu;0;L;;;;;N;;;;0265;
13519A78E;LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT;Ll;0;L;;;;;N;;;;; 13617A78E;LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT;Ll;0;L;;;;;N;;;;;
13520A790;LATIN CAPITAL LETTER N WITH DESCENDER;Lu;0;L;;;;;N;;;;A791; 13618A790;LATIN CAPITAL LETTER N WITH DESCENDER;Lu;0;L;;;;;N;;;;A791;
13521A791;LATIN SMALL LETTER N WITH DESCENDER;Ll;0;L;;;;;N;;;A790;;A790 13619A791;LATIN SMALL LETTER N WITH DESCENDER;Ll;0;L;;;;;N;;;A790;;A790
13620A792;LATIN CAPITAL LETTER C WITH BAR;Lu;0;L;;;;;N;;;;A793;
13621A793;LATIN SMALL LETTER C WITH BAR;Ll;0;L;;;;;N;;;A792;;A792
13522A7A0;LATIN CAPITAL LETTER G WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A1; 13622A7A0;LATIN CAPITAL LETTER G WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A1;
13523A7A1;LATIN SMALL LETTER G WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A0;;A7A0 13623A7A1;LATIN SMALL LETTER G WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A0;;A7A0
13524A7A2;LATIN CAPITAL LETTER K WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A3; 13624A7A2;LATIN CAPITAL LETTER K WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A3;
@@ -13529,6 +13629,9 @@ A7A6;LATIN CAPITAL LETTER R WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A7;
13529A7A7;LATIN SMALL LETTER R WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A6;;A7A6 13629A7A7;LATIN SMALL LETTER R WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A6;;A7A6
13530A7A8;LATIN CAPITAL LETTER S WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A9; 13630A7A8;LATIN CAPITAL LETTER S WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A9;
13531A7A9;LATIN SMALL LETTER S WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A8;;A7A8 13631A7A9;LATIN SMALL LETTER S WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A8;;A7A8
13632A7AA;LATIN CAPITAL LETTER H WITH HOOK;Lu;0;L;;;;;N;;;;0266;
13633A7F8;MODIFIER LETTER CAPITAL H WITH STROKE;Lm;0;L;<super> 0126;;;;N;;;;;
13634A7F9;MODIFIER LETTER SMALL LIGATURE OE;Lm;0;L;<super> 0153;;;;N;;;;;
13532A7FA;LATIN LETTER SMALL CAPITAL TURNED M;Ll;0;L;;;;;N;;;;; 13635A7FA;LATIN LETTER SMALL CAPITAL TURNED M;Ll;0;L;;;;;N;;;;;
13533A7FB;LATIN EPIGRAPHIC LETTER REVERSED F;Lo;0;L;;;;;N;;;;; 13636A7FB;LATIN EPIGRAPHIC LETTER REVERSED F;Lo;0;L;;;;;N;;;;;
13534A7FC;LATIN EPIGRAPHIC LETTER REVERSED P;Lo;0;L;;;;;N;;;;; 13637A7FC;LATIN EPIGRAPHIC LETTER REVERSED P;Lo;0;L;;;;;N;;;;;
@@ -14142,6 +14245,29 @@ AADC;TAI VIET SYMBOL NUENG;Lo;0;L;;;;;N;;;;;
14142AADD;TAI VIET SYMBOL SAM;Lm;0;L;;;;;N;;;;; 14245AADD;TAI VIET SYMBOL SAM;Lm;0;L;;;;;N;;;;;
14143AADE;TAI VIET SYMBOL HO HOI;Po;0;L;;;;;N;;;;; 14246AADE;TAI VIET SYMBOL HO HOI;Po;0;L;;;;;N;;;;;
14144AADF;TAI VIET SYMBOL KOI KOI;Po;0;L;;;;;N;;;;; 14247AADF;TAI VIET SYMBOL KOI KOI;Po;0;L;;;;;N;;;;;
14248AAE0;MEETEI MAYEK LETTER E;Lo;0;L;;;;;N;;;;;
14249AAE1;MEETEI MAYEK LETTER O;Lo;0;L;;;;;N;;;;;
14250AAE2;MEETEI MAYEK LETTER CHA;Lo;0;L;;;;;N;;;;;
14251AAE3;MEETEI MAYEK LETTER NYA;Lo;0;L;;;;;N;;;;;
14252AAE4;MEETEI MAYEK LETTER TTA;Lo;0;L;;;;;N;;;;;
14253AAE5;MEETEI MAYEK LETTER TTHA;Lo;0;L;;;;;N;;;;;
14254AAE6;MEETEI MAYEK LETTER DDA;Lo;0;L;;;;;N;;;;;
14255AAE7;MEETEI MAYEK LETTER DDHA;Lo;0;L;;;;;N;;;;;
14256AAE8;MEETEI MAYEK LETTER NNA;Lo;0;L;;;;;N;;;;;
14257AAE9;MEETEI MAYEK LETTER SHA;Lo;0;L;;;;;N;;;;;
14258AAEA;MEETEI MAYEK LETTER SSA;Lo;0;L;;;;;N;;;;;
14259AAEB;MEETEI MAYEK VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
14260AAEC;MEETEI MAYEK VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
14261AAED;MEETEI MAYEK VOWEL SIGN AAI;Mn;0;NSM;;;;;N;;;;;
14262AAEE;MEETEI MAYEK VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
14263AAEF;MEETEI MAYEK VOWEL SIGN AAU;Mc;0;L;;;;;N;;;;;
14264AAF0;MEETEI MAYEK CHEIKHAN;Po;0;L;;;;;N;;;;;
14265AAF1;MEETEI MAYEK AHANG KHUDAM;Po;0;L;;;;;N;;;;;
14266AAF2;MEETEI MAYEK ANJI;Lo;0;L;;;;;N;;;;;
14267AAF3;MEETEI MAYEK SYLLABLE REPETITION MARK;Lm;0;L;;;;;N;;;;;
14268AAF4;MEETEI MAYEK WORD REPETITION MARK;Lm;0;L;;;;;N;;;;;
14269AAF5;MEETEI MAYEK VOWEL SIGN VISARGA;Mc;0;L;;;;;N;;;;;
14270AAF6;MEETEI MAYEK VIRAMA;Mn;9;NSM;;;;;N;;;;;
14145AB01;ETHIOPIC SYLLABLE TTHU;Lo;0;L;;;;;N;;;;; 14271AB01;ETHIOPIC SYLLABLE TTHU;Lo;0;L;;;;;N;;;;;
14146AB02;ETHIOPIC SYLLABLE TTHI;Lo;0;L;;;;;N;;;;; 14272AB02;ETHIOPIC SYLLABLE TTHI;Lo;0;L;;;;;N;;;;;
14147AB03;ETHIOPIC SYLLABLE TTHAA;Lo;0;L;;;;;N;;;;; 14273AB03;ETHIOPIC SYLLABLE TTHAA;Lo;0;L;;;;;N;;;;;
@@ -14614,6 +14740,8 @@ FA2A;CJK COMPATIBILITY IDEOGRAPH-FA2A;Lo;0;L;98EF;;;;N;;;;;
14614FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;; 14740FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;;
14615FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;; 14741FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;;
14616FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;N;;;;; 14742FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;N;;;;;
14743FA2E;CJK COMPATIBILITY IDEOGRAPH-FA2E;Lo;0;L;90DE;;;;N;;;;;
14744FA2F;CJK COMPATIBILITY IDEOGRAPH-FA2F;Lo;0;L;96B7;;;;N;;;;;
14617FA30;CJK COMPATIBILITY IDEOGRAPH-FA30;Lo;0;L;4FAE;;;;N;;;;; 14745FA30;CJK COMPATIBILITY IDEOGRAPH-FA30;Lo;0;L;4FAE;;;;N;;;;;
14618FA31;CJK COMPATIBILITY IDEOGRAPH-FA31;Lo;0;L;50E7;;;;N;;;;; 14746FA31;CJK COMPATIBILITY IDEOGRAPH-FA31;Lo;0;L;50E7;;;;N;;;;;
14619FA32;CJK COMPATIBILITY IDEOGRAPH-FA32;Lo;0;L;514D;;;;N;;;;; 14747FA32;CJK COMPATIBILITY IDEOGRAPH-FA32;Lo;0;L;514D;;;;N;;;;;
@@ -16126,7 +16254,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
16126100FA;LINEAR B IDEOGRAM VESSEL B305;Lo;0;L;;;;;N;;;;; 16254100FA;LINEAR B IDEOGRAM VESSEL B305;Lo;0;L;;;;;N;;;;;
1612710100;AEGEAN WORD SEPARATOR LINE;Po;0;L;;;;;N;;;;; 1625510100;AEGEAN WORD SEPARATOR LINE;Po;0;L;;;;;N;;;;;
1612810101;AEGEAN WORD SEPARATOR DOT;Po;0;ON;;;;;N;;;;; 1625610101;AEGEAN WORD SEPARATOR DOT;Po;0;ON;;;;;N;;;;;
1612910102;AEGEAN CHECK MARK;So;0;L;;;;;N;;;;; 1625710102;AEGEAN CHECK MARK;Po;0;L;;;;;N;;;;;
1613010107;AEGEAN NUMBER ONE;No;0;L;;;;1;N;;;;; 1625810107;AEGEAN NUMBER ONE;No;0;L;;;;1;N;;;;;
1613110108;AEGEAN NUMBER TWO;No;0;L;;;;2;N;;;;; 1625910108;AEGEAN NUMBER TWO;No;0;L;;;;2;N;;;;;
1613210109;AEGEAN NUMBER THREE;No;0;L;;;;3;N;;;;; 1626010109;AEGEAN NUMBER THREE;No;0;L;;;;3;N;;;;;
@@ -16845,6 +16973,64 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1684510938;LYDIAN LETTER NN;Lo;0;R;;;;;N;;;;; 1697310938;LYDIAN LETTER NN;Lo;0;R;;;;;N;;;;;
1684610939;LYDIAN LETTER C;Lo;0;R;;;;;N;;;;; 1697410939;LYDIAN LETTER C;Lo;0;R;;;;;N;;;;;
168471093F;LYDIAN TRIANGULAR MARK;Po;0;R;;;;;N;;;;; 169751093F;LYDIAN TRIANGULAR MARK;Po;0;R;;;;;N;;;;;
1697610980;MEROITIC HIEROGLYPHIC LETTER A;Lo;0;R;;;;;N;;;;;
1697710981;MEROITIC HIEROGLYPHIC LETTER E;Lo;0;R;;;;;N;;;;;
1697810982;MEROITIC HIEROGLYPHIC LETTER I;Lo;0;R;;;;;N;;;;;
1697910983;MEROITIC HIEROGLYPHIC LETTER O;Lo;0;R;;;;;N;;;;;
1698010984;MEROITIC HIEROGLYPHIC LETTER YA;Lo;0;R;;;;;N;;;;;
1698110985;MEROITIC HIEROGLYPHIC LETTER WA;Lo;0;R;;;;;N;;;;;
1698210986;MEROITIC HIEROGLYPHIC LETTER BA;Lo;0;R;;;;;N;;;;;
1698310987;MEROITIC HIEROGLYPHIC LETTER BA-2;Lo;0;R;;;;;N;;;;;
1698410988;MEROITIC HIEROGLYPHIC LETTER PA;Lo;0;R;;;;;N;;;;;
1698510989;MEROITIC HIEROGLYPHIC LETTER MA;Lo;0;R;;;;;N;;;;;
169861098A;MEROITIC HIEROGLYPHIC LETTER NA;Lo;0;R;;;;;N;;;;;
169871098B;MEROITIC HIEROGLYPHIC LETTER NA-2;Lo;0;R;;;;;N;;;;;
169881098C;MEROITIC HIEROGLYPHIC LETTER NE;Lo;0;R;;;;;N;;;;;
169891098D;MEROITIC HIEROGLYPHIC LETTER NE-2;Lo;0;R;;;;;N;;;;;
169901098E;MEROITIC HIEROGLYPHIC LETTER RA;Lo;0;R;;;;;N;;;;;
169911098F;MEROITIC HIEROGLYPHIC LETTER RA-2;Lo;0;R;;;;;N;;;;;
1699210990;MEROITIC HIEROGLYPHIC LETTER LA;Lo;0;R;;;;;N;;;;;
1699310991;MEROITIC HIEROGLYPHIC LETTER KHA;Lo;0;R;;;;;N;;;;;
1699410992;MEROITIC HIEROGLYPHIC LETTER HHA;Lo;0;R;;;;;N;;;;;
1699510993;MEROITIC HIEROGLYPHIC LETTER SA;Lo;0;R;;;;;N;;;;;
1699610994;MEROITIC HIEROGLYPHIC LETTER SA-2;Lo;0;R;;;;;N;;;;;
1699710995;MEROITIC HIEROGLYPHIC LETTER SE;Lo;0;R;;;;;N;;;;;
1699810996;MEROITIC HIEROGLYPHIC LETTER KA;Lo;0;R;;;;;N;;;;;
1699910997;MEROITIC HIEROGLYPHIC LETTER QA;Lo;0;R;;;;;N;;;;;
1700010998;MEROITIC HIEROGLYPHIC LETTER TA;Lo;0;R;;;;;N;;;;;
1700110999;MEROITIC HIEROGLYPHIC LETTER TA-2;Lo;0;R;;;;;N;;;;;
170021099A;MEROITIC HIEROGLYPHIC LETTER TE;Lo;0;R;;;;;N;;;;;
170031099B;MEROITIC HIEROGLYPHIC LETTER TE-2;Lo;0;R;;;;;N;;;;;
170041099C;MEROITIC HIEROGLYPHIC LETTER TO;Lo;0;R;;;;;N;;;;;
170051099D;MEROITIC HIEROGLYPHIC LETTER DA;Lo;0;R;;;;;N;;;;;
170061099E;MEROITIC HIEROGLYPHIC SYMBOL VIDJ;Lo;0;R;;;;;N;;;;;
170071099F;MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2;Lo;0;R;;;;;N;;;;;
17008109A0;MEROITIC CURSIVE LETTER A;Lo;0;R;;;;;N;;;;;
17009109A1;MEROITIC CURSIVE LETTER E;Lo;0;R;;;;;N;;;;;
17010109A2;MEROITIC CURSIVE LETTER I;Lo;0;R;;;;;N;;;;;
17011109A3;MEROITIC CURSIVE LETTER O;Lo;0;R;;;;;N;;;;;
17012109A4;MEROITIC CURSIVE LETTER YA;Lo;0;R;;;;;N;;;;;
17013109A5;MEROITIC CURSIVE LETTER WA;Lo;0;R;;;;;N;;;;;
17014109A6;MEROITIC CURSIVE LETTER BA;Lo;0;R;;;;;N;;;;;
17015109A7;MEROITIC CURSIVE LETTER PA;Lo;0;R;;;;;N;;;;;
17016109A8;MEROITIC CURSIVE LETTER MA;Lo;0;R;;;;;N;;;;;
17017109A9;MEROITIC CURSIVE LETTER NA;Lo;0;R;;;;;N;;;;;
17018109AA;MEROITIC CURSIVE LETTER NE;Lo;0;R;;;;;N;;;;;
17019109AB;MEROITIC CURSIVE LETTER RA;Lo;0;R;;;;;N;;;;;
17020109AC;MEROITIC CURSIVE LETTER LA;Lo;0;R;;;;;N;;;;;
17021109AD;MEROITIC CURSIVE LETTER KHA;Lo;0;R;;;;;N;;;;;
17022109AE;MEROITIC CURSIVE LETTER HHA;Lo;0;R;;;;;N;;;;;
17023109AF;MEROITIC CURSIVE LETTER SA;Lo;0;R;;;;;N;;;;;
17024109B0;MEROITIC CURSIVE LETTER ARCHAIC SA;Lo;0;R;;;;;N;;;;;
17025109B1;MEROITIC CURSIVE LETTER SE;Lo;0;R;;;;;N;;;;;
17026109B2;MEROITIC CURSIVE LETTER KA;Lo;0;R;;;;;N;;;;;
17027109B3;MEROITIC CURSIVE LETTER QA;Lo;0;R;;;;;N;;;;;
17028109B4;MEROITIC CURSIVE LETTER TA;Lo;0;R;;;;;N;;;;;
17029109B5;MEROITIC CURSIVE LETTER TE;Lo;0;R;;;;;N;;;;;
17030109B6;MEROITIC CURSIVE LETTER TO;Lo;0;R;;;;;N;;;;;
17031109B7;MEROITIC CURSIVE LETTER DA;Lo;0;R;;;;;N;;;;;
17032109BE;MEROITIC CURSIVE LOGOGRAM RMT;Lo;0;R;;;;;N;;;;;
17033109BF;MEROITIC CURSIVE LOGOGRAM IMN;Lo;0;R;;;;;N;;;;;
1684810A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;; 1703410A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;;
1684910A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 1703510A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
1685010A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 1703610A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
@@ -17338,6 +17524,257 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
17338110BF;KAITHI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;; 17524110BF;KAITHI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;;
17339110C0;KAITHI DANDA;Po;0;L;;;;;N;;;;; 17525110C0;KAITHI DANDA;Po;0;L;;;;;N;;;;;
17340110C1;KAITHI DOUBLE DANDA;Po;0;L;;;;;N;;;;; 17526110C1;KAITHI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
17527110D0;SORA SOMPENG LETTER SAH;Lo;0;L;;;;;N;;;;;
17528110D1;SORA SOMPENG LETTER TAH;Lo;0;L;;;;;N;;;;;
17529110D2;SORA SOMPENG LETTER BAH;Lo;0;L;;;;;N;;;;;
17530110D3;SORA SOMPENG LETTER CAH;Lo;0;L;;;;;N;;;;;
17531110D4;SORA SOMPENG LETTER DAH;Lo;0;L;;;;;N;;;;;
17532110D5;SORA SOMPENG LETTER GAH;Lo;0;L;;;;;N;;;;;
17533110D6;SORA SOMPENG LETTER MAH;Lo;0;L;;;;;N;;;;;
17534110D7;SORA SOMPENG LETTER NGAH;Lo;0;L;;;;;N;;;;;
17535110D8;SORA SOMPENG LETTER LAH;Lo;0;L;;;;;N;;;;;
17536110D9;SORA SOMPENG LETTER NAH;Lo;0;L;;;;;N;;;;;
17537110DA;SORA SOMPENG LETTER VAH;Lo;0;L;;;;;N;;;;;
17538110DB;SORA SOMPENG LETTER PAH;Lo;0;L;;;;;N;;;;;
17539110DC;SORA SOMPENG LETTER YAH;Lo;0;L;;;;;N;;;;;
17540110DD;SORA SOMPENG LETTER RAH;Lo;0;L;;;;;N;;;;;
17541110DE;SORA SOMPENG LETTER HAH;Lo;0;L;;;;;N;;;;;
17542110DF;SORA SOMPENG LETTER KAH;Lo;0;L;;;;;N;;;;;
17543110E0;SORA SOMPENG LETTER JAH;Lo;0;L;;;;;N;;;;;
17544110E1;SORA SOMPENG LETTER NYAH;Lo;0;L;;;;;N;;;;;
17545110E2;SORA SOMPENG LETTER AH;Lo;0;L;;;;;N;;;;;
17546110E3;SORA SOMPENG LETTER EEH;Lo;0;L;;;;;N;;;;;
17547110E4;SORA SOMPENG LETTER IH;Lo;0;L;;;;;N;;;;;
17548110E5;SORA SOMPENG LETTER UH;Lo;0;L;;;;;N;;;;;
17549110E6;SORA SOMPENG LETTER OH;Lo;0;L;;;;;N;;;;;
17550110E7;SORA SOMPENG LETTER EH;Lo;0;L;;;;;N;;;;;
17551110E8;SORA SOMPENG LETTER MAE;Lo;0;L;;;;;N;;;;;
17552110F0;SORA SOMPENG DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
17553110F1;SORA SOMPENG DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
17554110F2;SORA SOMPENG DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
17555110F3;SORA SOMPENG DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
17556110F4;SORA SOMPENG DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
17557110F5;SORA SOMPENG DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
17558110F6;SORA SOMPENG DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
17559110F7;SORA SOMPENG DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
17560110F8;SORA SOMPENG DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
17561110F9;SORA SOMPENG DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
1756211100;CHAKMA SIGN CANDRABINDU;Mn;230;NSM;;;;;N;;;;;
1756311101;CHAKMA SIGN ANUSVARA;Mn;230;NSM;;;;;N;;;;;
1756411102;CHAKMA SIGN VISARGA;Mn;230;NSM;;;;;N;;;;;
1756511103;CHAKMA LETTER AA;Lo;0;L;;;;;N;;;;;
1756611104;CHAKMA LETTER I;Lo;0;L;;;;;N;;;;;
1756711105;CHAKMA LETTER U;Lo;0;L;;;;;N;;;;;
1756811106;CHAKMA LETTER E;Lo;0;L;;;;;N;;;;;
1756911107;CHAKMA LETTER KAA;Lo;0;L;;;;;N;;;;;
1757011108;CHAKMA LETTER KHAA;Lo;0;L;;;;;N;;;;;
1757111109;CHAKMA LETTER GAA;Lo;0;L;;;;;N;;;;;
175721110A;CHAKMA LETTER GHAA;Lo;0;L;;;;;N;;;;;
175731110B;CHAKMA LETTER NGAA;Lo;0;L;;;;;N;;;;;
175741110C;CHAKMA LETTER CAA;Lo;0;L;;;;;N;;;;;
175751110D;CHAKMA LETTER CHAA;Lo;0;L;;;;;N;;;;;
175761110E;CHAKMA LETTER JAA;Lo;0;L;;;;;N;;;;;
175771110F;CHAKMA LETTER JHAA;Lo;0;L;;;;;N;;;;;
1757811110;CHAKMA LETTER NYAA;Lo;0;L;;;;;N;;;;;
1757911111;CHAKMA LETTER TTAA;Lo;0;L;;;;;N;;;;;
1758011112;CHAKMA LETTER TTHAA;Lo;0;L;;;;;N;;;;;
1758111113;CHAKMA LETTER DDAA;Lo;0;L;;;;;N;;;;;
1758211114;CHAKMA LETTER DDHAA;Lo;0;L;;;;;N;;;;;
1758311115;CHAKMA LETTER NNAA;Lo;0;L;;;;;N;;;;;
1758411116;CHAKMA LETTER TAA;Lo;0;L;;;;;N;;;;;
1758511117;CHAKMA LETTER THAA;Lo;0;L;;;;;N;;;;;
1758611118;CHAKMA LETTER DAA;Lo;0;L;;;;;N;;;;;
1758711119;CHAKMA LETTER DHAA;Lo;0;L;;;;;N;;;;;
175881111A;CHAKMA LETTER NAA;Lo;0;L;;;;;N;;;;;
175891111B;CHAKMA LETTER PAA;Lo;0;L;;;;;N;;;;;
175901111C;CHAKMA LETTER PHAA;Lo;0;L;;;;;N;;;;;
175911111D;CHAKMA LETTER BAA;Lo;0;L;;;;;N;;;;;
175921111E;CHAKMA LETTER BHAA;Lo;0;L;;;;;N;;;;;
175931111F;CHAKMA LETTER MAA;Lo;0;L;;;;;N;;;;;
1759411120;CHAKMA LETTER YYAA;Lo;0;L;;;;;N;;;;;
1759511121;CHAKMA LETTER YAA;Lo;0;L;;;;;N;;;;;
1759611122;CHAKMA LETTER RAA;Lo;0;L;;;;;N;;;;;
1759711123;CHAKMA LETTER LAA;Lo;0;L;;;;;N;;;;;
1759811124;CHAKMA LETTER WAA;Lo;0;L;;;;;N;;;;;
1759911125;CHAKMA LETTER SAA;Lo;0;L;;;;;N;;;;;
1760011126;CHAKMA LETTER HAA;Lo;0;L;;;;;N;;;;;
1760111127;CHAKMA VOWEL SIGN A;Mn;0;NSM;;;;;N;;;;;
1760211128;CHAKMA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
1760311129;CHAKMA VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
176041112A;CHAKMA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
176051112B;CHAKMA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
176061112C;CHAKMA VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
176071112D;CHAKMA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
176081112E;CHAKMA VOWEL SIGN O;Mn;0;NSM;11131 11127;;;;N;;;;;
176091112F;CHAKMA VOWEL SIGN AU;Mn;0;NSM;11132 11127;;;;N;;;;;
1761011130;CHAKMA VOWEL SIGN OI;Mn;0;NSM;;;;;N;;;;;
1761111131;CHAKMA O MARK;Mn;0;NSM;;;;;N;;;;;
1761211132;CHAKMA AU MARK;Mn;0;NSM;;;;;N;;;;;
1761311133;CHAKMA VIRAMA;Mn;9;NSM;;;;;N;;;;;
1761411134;CHAKMA MAAYYAA;Mn;9;NSM;;;;;N;;;;;
1761511136;CHAKMA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
1761611137;CHAKMA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
1761711138;CHAKMA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
1761811139;CHAKMA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
176191113A;CHAKMA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
176201113B;CHAKMA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
176211113C;CHAKMA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
176221113D;CHAKMA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
176231113E;CHAKMA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
176241113F;CHAKMA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
1762511140;CHAKMA SECTION MARK;Po;0;L;;;;;N;;;;;
1762611141;CHAKMA DANDA;Po;0;L;;;;;N;;;;;
1762711142;CHAKMA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
1762811143;CHAKMA QUESTION MARK;Po;0;L;;;;;N;;;;;
1762911180;SHARADA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
1763011181;SHARADA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
1763111182;SHARADA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
1763211183;SHARADA LETTER A;Lo;0;L;;;;;N;;;;;
1763311184;SHARADA LETTER AA;Lo;0;L;;;;;N;;;;;
1763411185;SHARADA LETTER I;Lo;0;L;;;;;N;;;;;
1763511186;SHARADA LETTER II;Lo;0;L;;;;;N;;;;;
1763611187;SHARADA LETTER U;Lo;0;L;;;;;N;;;;;
1763711188;SHARADA LETTER UU;Lo;0;L;;;;;N;;;;;
1763811189;SHARADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
176391118A;SHARADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
176401118B;SHARADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
176411118C;SHARADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
176421118D;SHARADA LETTER E;Lo;0;L;;;;;N;;;;;
176431118E;SHARADA LETTER AI;Lo;0;L;;;;;N;;;;;
176441118F;SHARADA LETTER O;Lo;0;L;;;;;N;;;;;
1764511190;SHARADA LETTER AU;Lo;0;L;;;;;N;;;;;
1764611191;SHARADA LETTER KA;Lo;0;L;;;;;N;;;;;
1764711192;SHARADA LETTER KHA;Lo;0;L;;;;;N;;;;;
1764811193;SHARADA LETTER GA;Lo;0;L;;;;;N;;;;;
1764911194;SHARADA LETTER GHA;Lo;0;L;;;;;N;;;;;
1765011195;SHARADA LETTER NGA;Lo;0;L;;;;;N;;;;;
1765111196;SHARADA LETTER CA;Lo;0;L;;;;;N;;;;;
1765211197;SHARADA LETTER CHA;Lo;0;L;;;;;N;;;;;
1765311198;SHARADA LETTER JA;Lo;0;L;;;;;N;;;;;
1765411199;SHARADA LETTER JHA;Lo;0;L;;;;;N;;;;;
176551119A;SHARADA LETTER NYA;Lo;0;L;;;;;N;;;;;
176561119B;SHARADA LETTER TTA;Lo;0;L;;;;;N;;;;;
176571119C;SHARADA LETTER TTHA;Lo;0;L;;;;;N;;;;;
176581119D;SHARADA LETTER DDA;Lo;0;L;;;;;N;;;;;
176591119E;SHARADA LETTER DDHA;Lo;0;L;;;;;N;;;;;
176601119F;SHARADA LETTER NNA;Lo;0;L;;;;;N;;;;;
17661111A0;SHARADA LETTER TA;Lo;0;L;;;;;N;;;;;
17662111A1;SHARADA LETTER THA;Lo;0;L;;;;;N;;;;;
17663111A2;SHARADA LETTER DA;Lo;0;L;;;;;N;;;;;
17664111A3;SHARADA LETTER DHA;Lo;0;L;;;;;N;;;;;
17665111A4;SHARADA LETTER NA;Lo;0;L;;;;;N;;;;;
17666111A5;SHARADA LETTER PA;Lo;0;L;;;;;N;;;;;
17667111A6;SHARADA LETTER PHA;Lo;0;L;;;;;N;;;;;
17668111A7;SHARADA LETTER BA;Lo;0;L;;;;;N;;;;;
17669111A8;SHARADA LETTER BHA;Lo;0;L;;;;;N;;;;;
17670111A9;SHARADA LETTER MA;Lo;0;L;;;;;N;;;;;
17671111AA;SHARADA LETTER YA;Lo;0;L;;;;;N;;;;;
17672111AB;SHARADA LETTER RA;Lo;0;L;;;;;N;;;;;
17673111AC;SHARADA LETTER LA;Lo;0;L;;;;;N;;;;;
17674111AD;SHARADA LETTER LLA;Lo;0;L;;;;;N;;;;;
17675111AE;SHARADA LETTER VA;Lo;0;L;;;;;N;;;;;
17676111AF;SHARADA LETTER SHA;Lo;0;L;;;;;N;;;;;
17677111B0;SHARADA LETTER SSA;Lo;0;L;;;;;N;;;;;
17678111B1;SHARADA LETTER SA;Lo;0;L;;;;;N;;;;;
17679111B2;SHARADA LETTER HA;Lo;0;L;;;;;N;;;;;
17680111B3;SHARADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
17681111B4;SHARADA VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
17682111B5;SHARADA VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
17683111B6;SHARADA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
17684111B7;SHARADA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
17685111B8;SHARADA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
17686111B9;SHARADA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
17687111BA;SHARADA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
17688111BB;SHARADA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
17689111BC;SHARADA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
17690111BD;SHARADA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
17691111BE;SHARADA VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
17692111BF;SHARADA VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
17693111C0;SHARADA SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
17694111C1;SHARADA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
17695111C2;SHARADA SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
17696111C3;SHARADA SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
17697111C4;SHARADA OM;Lo;0;L;;;;;N;;;;;
17698111C5;SHARADA DANDA;Po;0;L;;;;;N;;;;;
17699111C6;SHARADA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
17700111C7;SHARADA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
17701111C8;SHARADA SEPARATOR;Po;0;L;;;;;N;;;;;
17702111D0;SHARADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
17703111D1;SHARADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
17704111D2;SHARADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
17705111D3;SHARADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
17706111D4;SHARADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
17707111D5;SHARADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
17708111D6;SHARADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
17709111D7;SHARADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
17710111D8;SHARADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
17711111D9;SHARADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
1771211680;TAKRI LETTER A;Lo;0;L;;;;;N;;;;;
1771311681;TAKRI LETTER AA;Lo;0;L;;;;;N;;;;;
1771411682;TAKRI LETTER I;Lo;0;L;;;;;N;;;;;
1771511683;TAKRI LETTER II;Lo;0;L;;;;;N;;;;;
1771611684;TAKRI LETTER U;Lo;0;L;;;;;N;;;;;
1771711685;TAKRI LETTER UU;Lo;0;L;;;;;N;;;;;
1771811686;TAKRI LETTER E;Lo;0;L;;;;;N;;;;;
1771911687;TAKRI LETTER AI;Lo;0;L;;;;;N;;;;;
1772011688;TAKRI LETTER O;Lo;0;L;;;;;N;;;;;
1772111689;TAKRI LETTER AU;Lo;0;L;;;;;N;;;;;
177221168A;TAKRI LETTER KA;Lo;0;L;;;;;N;;;;;
177231168B;TAKRI LETTER KHA;Lo;0;L;;;;;N;;;;;
177241168C;TAKRI LETTER GA;Lo;0;L;;;;;N;;;;;
177251168D;TAKRI LETTER GHA;Lo;0;L;;;;;N;;;;;
177261168E;TAKRI LETTER NGA;Lo;0;L;;;;;N;;;;;
177271168F;TAKRI LETTER CA;Lo;0;L;;;;;N;;;;;
1772811690;TAKRI LETTER CHA;Lo;0;L;;;;;N;;;;;
1772911691;TAKRI LETTER JA;Lo;0;L;;;;;N;;;;;
1773011692;TAKRI LETTER JHA;Lo;0;L;;;;;N;;;;;
1773111693;TAKRI LETTER NYA;Lo;0;L;;;;;N;;;;;
1773211694;TAKRI LETTER TTA;Lo;0;L;;;;;N;;;;;
1773311695;TAKRI LETTER TTHA;Lo;0;L;;;;;N;;;;;
1773411696;TAKRI LETTER DDA;Lo;0;L;;;;;N;;;;;
1773511697;TAKRI LETTER DDHA;Lo;0;L;;;;;N;;;;;
1773611698;TAKRI LETTER NNA;Lo;0;L;;;;;N;;;;;
1773711699;TAKRI LETTER TA;Lo;0;L;;;;;N;;;;;
177381169A;TAKRI LETTER THA;Lo;0;L;;;;;N;;;;;
177391169B;TAKRI LETTER DA;Lo;0;L;;;;;N;;;;;
177401169C;TAKRI LETTER DHA;Lo;0;L;;;;;N;;;;;
177411169D;TAKRI LETTER NA;Lo;0;L;;;;;N;;;;;
177421169E;TAKRI LETTER PA;Lo;0;L;;;;;N;;;;;
177431169F;TAKRI LETTER PHA;Lo;0;L;;;;;N;;;;;
17744116A0;TAKRI LETTER BA;Lo;0;L;;;;;N;;;;;
17745116A1;TAKRI LETTER BHA;Lo;0;L;;;;;N;;;;;
17746116A2;TAKRI LETTER MA;Lo;0;L;;;;;N;;;;;
17747116A3;TAKRI LETTER YA;Lo;0;L;;;;;N;;;;;
17748116A4;TAKRI LETTER RA;Lo;0;L;;;;;N;;;;;
17749116A5;TAKRI LETTER LA;Lo;0;L;;;;;N;;;;;
17750116A6;TAKRI LETTER VA;Lo;0;L;;;;;N;;;;;
17751116A7;TAKRI LETTER SHA;Lo;0;L;;;;;N;;;;;
17752116A8;TAKRI LETTER SA;Lo;0;L;;;;;N;;;;;
17753116A9;TAKRI LETTER HA;Lo;0;L;;;;;N;;;;;
17754116AA;TAKRI LETTER RRA;Lo;0;L;;;;;N;;;;;
17755116AB;TAKRI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
17756116AC;TAKRI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
17757116AD;TAKRI VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;;
17758116AE;TAKRI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
17759116AF;TAKRI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
17760116B0;TAKRI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
17761116B1;TAKRI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
17762116B2;TAKRI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
17763116B3;TAKRI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
17764116B4;TAKRI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
17765116B5;TAKRI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
17766116B6;TAKRI SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
17767116B7;TAKRI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
17768116C0;TAKRI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
17769116C1;TAKRI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
17770116C2;TAKRI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
17771116C3;TAKRI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
17772116C4;TAKRI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
17773116C5;TAKRI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
17774116C6;TAKRI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
17775116C7;TAKRI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
17776116C8;TAKRI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
17777116C9;TAKRI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
1734112000;CUNEIFORM SIGN A;Lo;0;L;;;;;N;;;;; 1777812000;CUNEIFORM SIGN A;Lo;0;L;;;;;N;;;;;
1734212001;CUNEIFORM SIGN A TIMES A;Lo;0;L;;;;;N;;;;; 1777912001;CUNEIFORM SIGN A TIMES A;Lo;0;L;;;;;N;;;;;
1734312002;CUNEIFORM SIGN A TIMES BAD;Lo;0;L;;;;;N;;;;; 1778012002;CUNEIFORM SIGN A TIMES BAD;Lo;0;L;;;;;N;;;;;
@@ -18267,8 +18704,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
182671242F;CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM;Nl;0;L;;;;3;N;;;;; 187041242F;CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM;Nl;0;L;;;;3;N;;;;;
1826812430;CUNEIFORM NUMERIC SIGN FOUR SHARU;Nl;0;L;;;;4;N;;;;; 1870512430;CUNEIFORM NUMERIC SIGN FOUR SHARU;Nl;0;L;;;;4;N;;;;;
1826912431;CUNEIFORM NUMERIC SIGN FIVE SHARU;Nl;0;L;;;;5;N;;;;; 1870612431;CUNEIFORM NUMERIC SIGN FIVE SHARU;Nl;0;L;;;;5;N;;;;;
1827012432;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH;Nl;0;L;;;;;N;;;;; 1870712432;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH;Nl;0;L;;;;216000;N;;;;;
1827112433;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN;Nl;0;L;;;;;N;;;;; 1870812433;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN;Nl;0;L;;;;432000;N;;;;;
1827212434;CUNEIFORM NUMERIC SIGN ONE BURU;Nl;0;L;;;;1;N;;;;; 1870912434;CUNEIFORM NUMERIC SIGN ONE BURU;Nl;0;L;;;;1;N;;;;;
1827312435;CUNEIFORM NUMERIC SIGN TWO BURU;Nl;0;L;;;;2;N;;;;; 1871012435;CUNEIFORM NUMERIC SIGN TWO BURU;Nl;0;L;;;;2;N;;;;;
1827412436;CUNEIFORM NUMERIC SIGN THREE BURU;Nl;0;L;;;;3;N;;;;; 1871112436;CUNEIFORM NUMERIC SIGN THREE BURU;Nl;0;L;;;;3;N;;;;;
@@ -18303,8 +18740,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1830312453;CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM;Nl;0;L;;;;4;N;;;;; 1874012453;CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM;Nl;0;L;;;;4;N;;;;;
1830412454;CUNEIFORM NUMERIC SIGN FIVE BAN2;Nl;0;L;;;;5;N;;;;; 1874112454;CUNEIFORM NUMERIC SIGN FIVE BAN2;Nl;0;L;;;;5;N;;;;;
1830512455;CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM;Nl;0;L;;;;5;N;;;;; 1874212455;CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM;Nl;0;L;;;;5;N;;;;;
1830612456;CUNEIFORM NUMERIC SIGN NIGIDAMIN;Nl;0;L;;;;;N;;;;; 1874312456;CUNEIFORM NUMERIC SIGN NIGIDAMIN;Nl;0;L;;;;-1;N;;;;;
1830712457;CUNEIFORM NUMERIC SIGN NIGIDAESH;Nl;0;L;;;;;N;;;;; 1874412457;CUNEIFORM NUMERIC SIGN NIGIDAESH;Nl;0;L;;;;-1;N;;;;;
1830812458;CUNEIFORM NUMERIC SIGN ONE ESHE3;Nl;0;L;;;;1;N;;;;; 1874512458;CUNEIFORM NUMERIC SIGN ONE ESHE3;Nl;0;L;;;;1;N;;;;;
1830912459;CUNEIFORM NUMERIC SIGN TWO ESHE3;Nl;0;L;;;;2;N;;;;; 1874612459;CUNEIFORM NUMERIC SIGN TWO ESHE3;Nl;0;L;;;;2;N;;;;;
183101245A;CUNEIFORM NUMERIC SIGN ONE THIRD DISH;Nl;0;L;;;;1/3;N;;;;; 187471245A;CUNEIFORM NUMERIC SIGN ONE THIRD DISH;Nl;0;L;;;;1/3;N;;;;;
@@ -19960,6 +20397,139 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1996016A36;BAMUM LETTER PHASE-F KPA;Lo;0;L;;;;;N;;;;; 2039716A36;BAMUM LETTER PHASE-F KPA;Lo;0;L;;;;;N;;;;;
1996116A37;BAMUM LETTER PHASE-F SAMBA;Lo;0;L;;;;;N;;;;; 2039816A37;BAMUM LETTER PHASE-F SAMBA;Lo;0;L;;;;;N;;;;;
1996216A38;BAMUM LETTER PHASE-F VUEQ;Lo;0;L;;;;;N;;;;; 2039916A38;BAMUM LETTER PHASE-F VUEQ;Lo;0;L;;;;;N;;;;;
2040016F00;MIAO LETTER PA;Lo;0;L;;;;;N;;;;;
2040116F01;MIAO LETTER BA;Lo;0;L;;;;;N;;;;;
2040216F02;MIAO LETTER YI PA;Lo;0;L;;;;;N;;;;;
2040316F03;MIAO LETTER PLA;Lo;0;L;;;;;N;;;;;
2040416F04;MIAO LETTER MA;Lo;0;L;;;;;N;;;;;
2040516F05;MIAO LETTER MHA;Lo;0;L;;;;;N;;;;;
2040616F06;MIAO LETTER ARCHAIC MA;Lo;0;L;;;;;N;;;;;
2040716F07;MIAO LETTER FA;Lo;0;L;;;;;N;;;;;
2040816F08;MIAO LETTER VA;Lo;0;L;;;;;N;;;;;
2040916F09;MIAO LETTER VFA;Lo;0;L;;;;;N;;;;;
2041016F0A;MIAO LETTER TA;Lo;0;L;;;;;N;;;;;
2041116F0B;MIAO LETTER DA;Lo;0;L;;;;;N;;;;;
2041216F0C;MIAO LETTER YI TTA;Lo;0;L;;;;;N;;;;;
2041316F0D;MIAO LETTER YI TA;Lo;0;L;;;;;N;;;;;
2041416F0E;MIAO LETTER TTA;Lo;0;L;;;;;N;;;;;
2041516F0F;MIAO LETTER DDA;Lo;0;L;;;;;N;;;;;
2041616F10;MIAO LETTER NA;Lo;0;L;;;;;N;;;;;
2041716F11;MIAO LETTER NHA;Lo;0;L;;;;;N;;;;;
2041816F12;MIAO LETTER YI NNA;Lo;0;L;;;;;N;;;;;
2041916F13;MIAO LETTER ARCHAIC NA;Lo;0;L;;;;;N;;;;;
2042016F14;MIAO LETTER NNA;Lo;0;L;;;;;N;;;;;
2042116F15;MIAO LETTER NNHA;Lo;0;L;;;;;N;;;;;
2042216F16;MIAO LETTER LA;Lo;0;L;;;;;N;;;;;
2042316F17;MIAO LETTER LYA;Lo;0;L;;;;;N;;;;;
2042416F18;MIAO LETTER LHA;Lo;0;L;;;;;N;;;;;
2042516F19;MIAO LETTER LHYA;Lo;0;L;;;;;N;;;;;
2042616F1A;MIAO LETTER TLHA;Lo;0;L;;;;;N;;;;;
2042716F1B;MIAO LETTER DLHA;Lo;0;L;;;;;N;;;;;
2042816F1C;MIAO LETTER TLHYA;Lo;0;L;;;;;N;;;;;
2042916F1D;MIAO LETTER DLHYA;Lo;0;L;;;;;N;;;;;
2043016F1E;MIAO LETTER KA;Lo;0;L;;;;;N;;;;;
2043116F1F;MIAO LETTER GA;Lo;0;L;;;;;N;;;;;
2043216F20;MIAO LETTER YI KA;Lo;0;L;;;;;N;;;;;
2043316F21;MIAO LETTER QA;Lo;0;L;;;;;N;;;;;
2043416F22;MIAO LETTER QGA;Lo;0;L;;;;;N;;;;;
2043516F23;MIAO LETTER NGA;Lo;0;L;;;;;N;;;;;
2043616F24;MIAO LETTER NGHA;Lo;0;L;;;;;N;;;;;
2043716F25;MIAO LETTER ARCHAIC NGA;Lo;0;L;;;;;N;;;;;
2043816F26;MIAO LETTER HA;Lo;0;L;;;;;N;;;;;
2043916F27;MIAO LETTER XA;Lo;0;L;;;;;N;;;;;
2044016F28;MIAO LETTER GHA;Lo;0;L;;;;;N;;;;;
2044116F29;MIAO LETTER GHHA;Lo;0;L;;;;;N;;;;;
2044216F2A;MIAO LETTER TSSA;Lo;0;L;;;;;N;;;;;
2044316F2B;MIAO LETTER DZZA;Lo;0;L;;;;;N;;;;;
2044416F2C;MIAO LETTER NYA;Lo;0;L;;;;;N;;;;;
2044516F2D;MIAO LETTER NYHA;Lo;0;L;;;;;N;;;;;
2044616F2E;MIAO LETTER TSHA;Lo;0;L;;;;;N;;;;;
2044716F2F;MIAO LETTER DZHA;Lo;0;L;;;;;N;;;;;
2044816F30;MIAO LETTER YI TSHA;Lo;0;L;;;;;N;;;;;
2044916F31;MIAO LETTER YI DZHA;Lo;0;L;;;;;N;;;;;
2045016F32;MIAO LETTER REFORMED TSHA;Lo;0;L;;;;;N;;;;;
2045116F33;MIAO LETTER SHA;Lo;0;L;;;;;N;;;;;
2045216F34;MIAO LETTER SSA;Lo;0;L;;;;;N;;;;;
2045316F35;MIAO LETTER ZHA;Lo;0;L;;;;;N;;;;;
2045416F36;MIAO LETTER ZSHA;Lo;0;L;;;;;N;;;;;
2045516F37;MIAO LETTER TSA;Lo;0;L;;;;;N;;;;;
2045616F38;MIAO LETTER DZA;Lo;0;L;;;;;N;;;;;
2045716F39;MIAO LETTER YI TSA;Lo;0;L;;;;;N;;;;;
2045816F3A;MIAO LETTER SA;Lo;0;L;;;;;N;;;;;
2045916F3B;MIAO LETTER ZA;Lo;0;L;;;;;N;;;;;
2046016F3C;MIAO LETTER ZSA;Lo;0;L;;;;;N;;;;;
2046116F3D;MIAO LETTER ZZA;Lo;0;L;;;;;N;;;;;
2046216F3E;MIAO LETTER ZZSA;Lo;0;L;;;;;N;;;;;
2046316F3F;MIAO LETTER ARCHAIC ZZA;Lo;0;L;;;;;N;;;;;
2046416F40;MIAO LETTER ZZYA;Lo;0;L;;;;;N;;;;;
2046516F41;MIAO LETTER ZZSYA;Lo;0;L;;;;;N;;;;;
2046616F42;MIAO LETTER WA;Lo;0;L;;;;;N;;;;;
2046716F43;MIAO LETTER AH;Lo;0;L;;;;;N;;;;;
2046816F44;MIAO LETTER HHA;Lo;0;L;;;;;N;;;;;
2046916F50;MIAO LETTER NASALIZATION;Lo;0;L;;;;;N;;;;;
2047016F51;MIAO SIGN ASPIRATION;Mc;0;L;;;;;N;;;;;
2047116F52;MIAO SIGN REFORMED VOICING;Mc;0;L;;;;;N;;;;;
2047216F53;MIAO SIGN REFORMED ASPIRATION;Mc;0;L;;;;;N;;;;;
2047316F54;MIAO VOWEL SIGN A;Mc;0;L;;;;;N;;;;;
2047416F55;MIAO VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
2047516F56;MIAO VOWEL SIGN AHH;Mc;0;L;;;;;N;;;;;
2047616F57;MIAO VOWEL SIGN AN;Mc;0;L;;;;;N;;;;;
2047716F58;MIAO VOWEL SIGN ANG;Mc;0;L;;;;;N;;;;;
2047816F59;MIAO VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
2047916F5A;MIAO VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
2048016F5B;MIAO VOWEL SIGN WO;Mc;0;L;;;;;N;;;;;
2048116F5C;MIAO VOWEL SIGN W;Mc;0;L;;;;;N;;;;;
2048216F5D;MIAO VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
2048316F5E;MIAO VOWEL SIGN EN;Mc;0;L;;;;;N;;;;;
2048416F5F;MIAO VOWEL SIGN ENG;Mc;0;L;;;;;N;;;;;
2048516F60;MIAO VOWEL SIGN OEY;Mc;0;L;;;;;N;;;;;
2048616F61;MIAO VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
2048716F62;MIAO VOWEL SIGN IA;Mc;0;L;;;;;N;;;;;
2048816F63;MIAO VOWEL SIGN IAN;Mc;0;L;;;;;N;;;;;
2048916F64;MIAO VOWEL SIGN IANG;Mc;0;L;;;;;N;;;;;
2049016F65;MIAO VOWEL SIGN IO;Mc;0;L;;;;;N;;;;;
2049116F66;MIAO VOWEL SIGN IE;Mc;0;L;;;;;N;;;;;
2049216F67;MIAO VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
2049316F68;MIAO VOWEL SIGN IU;Mc;0;L;;;;;N;;;;;
2049416F69;MIAO VOWEL SIGN ING;Mc;0;L;;;;;N;;;;;
2049516F6A;MIAO VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
2049616F6B;MIAO VOWEL SIGN UA;Mc;0;L;;;;;N;;;;;
2049716F6C;MIAO VOWEL SIGN UAN;Mc;0;L;;;;;N;;;;;
2049816F6D;MIAO VOWEL SIGN UANG;Mc;0;L;;;;;N;;;;;
2049916F6E;MIAO VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
2050016F6F;MIAO VOWEL SIGN UEI;Mc;0;L;;;;;N;;;;;
2050116F70;MIAO VOWEL SIGN UNG;Mc;0;L;;;;;N;;;;;
2050216F71;MIAO VOWEL SIGN Y;Mc;0;L;;;;;N;;;;;
2050316F72;MIAO VOWEL SIGN YI;Mc;0;L;;;;;N;;;;;
2050416F73;MIAO VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
2050516F74;MIAO VOWEL SIGN AEE;Mc;0;L;;;;;N;;;;;
2050616F75;MIAO VOWEL SIGN ERR;Mc;0;L;;;;;N;;;;;
2050716F76;MIAO VOWEL SIGN ROUNDED ERR;Mc;0;L;;;;;N;;;;;
2050816F77;MIAO VOWEL SIGN ER;Mc;0;L;;;;;N;;;;;
2050916F78;MIAO VOWEL SIGN ROUNDED ER;Mc;0;L;;;;;N;;;;;
2051016F79;MIAO VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
2051116F7A;MIAO VOWEL SIGN EI;Mc;0;L;;;;;N;;;;;
2051216F7B;MIAO VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
2051316F7C;MIAO VOWEL SIGN OU;Mc;0;L;;;;;N;;;;;
2051416F7D;MIAO VOWEL SIGN N;Mc;0;L;;;;;N;;;;;
2051516F7E;MIAO VOWEL SIGN NG;Mc;0;L;;;;;N;;;;;
2051616F8F;MIAO TONE RIGHT;Mn;0;NSM;;;;;N;;;;;
2051716F90;MIAO TONE TOP RIGHT;Mn;0;NSM;;;;;N;;;;;
2051816F91;MIAO TONE ABOVE;Mn;0;NSM;;;;;N;;;;;
2051916F92;MIAO TONE BELOW;Mn;0;NSM;;;;;N;;;;;
2052016F93;MIAO LETTER TONE-2;Lm;0;L;;;;;N;;;;;
2052116F94;MIAO LETTER TONE-3;Lm;0;L;;;;;N;;;;;
2052216F95;MIAO LETTER TONE-4;Lm;0;L;;;;;N;;;;;
2052316F96;MIAO LETTER TONE-5;Lm;0;L;;;;;N;;;;;
2052416F97;MIAO LETTER TONE-6;Lm;0;L;;;;;N;;;;;
2052516F98;MIAO LETTER TONE-7;Lm;0;L;;;;;N;;;;;
2052616F99;MIAO LETTER TONE-8;Lm;0;L;;;;;N;;;;;
2052716F9A;MIAO LETTER REFORMED TONE-1;Lm;0;L;;;;;N;;;;;
2052816F9B;MIAO LETTER REFORMED TONE-2;Lm;0;L;;;;;N;;;;;
2052916F9C;MIAO LETTER REFORMED TONE-4;Lm;0;L;;;;;N;;;;;
2053016F9D;MIAO LETTER REFORMED TONE-5;Lm;0;L;;;;;N;;;;;
2053116F9E;MIAO LETTER REFORMED TONE-6;Lm;0;L;;;;;N;;;;;
2053216F9F;MIAO LETTER REFORMED TONE-8;Lm;0;L;;;;;N;;;;;
199631B000;KATAKANA LETTER ARCHAIC E;Lo;0;L;;;;;N;;;;; 205331B000;KATAKANA LETTER ARCHAIC E;Lo;0;L;;;;;N;;;;;
199641B001;HIRAGANA LETTER ARCHAIC YE;Lo;0;L;;;;;N;;;;; 205341B001;HIRAGANA LETTER ARCHAIC YE;Lo;0;L;;;;;N;;;;;
199651D000;BYZANTINE MUSICAL SYMBOL PSILI;So;0;L;;;;;N;;;;; 205351D000;BYZANTINE MUSICAL SYMBOL PSILI;So;0;L;;;;;N;;;;;
@@ -21599,6 +22169,149 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
215991D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;; 221691D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
216001D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;; 221701D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
216011D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;; 221711D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
221721EE00;ARABIC MATHEMATICAL ALEF;Lo;0;AL;<font> 0627;;;;N;;;;;
221731EE01;ARABIC MATHEMATICAL BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
221741EE02;ARABIC MATHEMATICAL JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
221751EE03;ARABIC MATHEMATICAL DAL;Lo;0;AL;<font> 062F;;;;N;;;;;
221761EE05;ARABIC MATHEMATICAL WAW;Lo;0;AL;<font> 0648;;;;N;;;;;
221771EE06;ARABIC MATHEMATICAL ZAIN;Lo;0;AL;<font> 0632;;;;N;;;;;
221781EE07;ARABIC MATHEMATICAL HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
221791EE08;ARABIC MATHEMATICAL TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
221801EE09;ARABIC MATHEMATICAL YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
221811EE0A;ARABIC MATHEMATICAL KAF;Lo;0;AL;<font> 0643;;;;N;;;;;
221821EE0B;ARABIC MATHEMATICAL LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
221831EE0C;ARABIC MATHEMATICAL MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
221841EE0D;ARABIC MATHEMATICAL NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
221851EE0E;ARABIC MATHEMATICAL SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
221861EE0F;ARABIC MATHEMATICAL AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
221871EE10;ARABIC MATHEMATICAL FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
221881EE11;ARABIC MATHEMATICAL SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
221891EE12;ARABIC MATHEMATICAL QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
221901EE13;ARABIC MATHEMATICAL REH;Lo;0;AL;<font> 0631;;;;N;;;;;
221911EE14;ARABIC MATHEMATICAL SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
221921EE15;ARABIC MATHEMATICAL TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
221931EE16;ARABIC MATHEMATICAL THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
221941EE17;ARABIC MATHEMATICAL KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
221951EE18;ARABIC MATHEMATICAL THAL;Lo;0;AL;<font> 0630;;;;N;;;;;
221961EE19;ARABIC MATHEMATICAL DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
221971EE1A;ARABIC MATHEMATICAL ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
221981EE1B;ARABIC MATHEMATICAL GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
221991EE1C;ARABIC MATHEMATICAL DOTLESS BEH;Lo;0;AL;<font> 066E;;;;N;;;;;
222001EE1D;ARABIC MATHEMATICAL DOTLESS NOON;Lo;0;AL;<font> 06BA;;;;N;;;;;
222011EE1E;ARABIC MATHEMATICAL DOTLESS FEH;Lo;0;AL;<font> 06A1;;;;N;;;;;
222021EE1F;ARABIC MATHEMATICAL DOTLESS QAF;Lo;0;AL;<font> 066F;;;;N;;;;;
222031EE21;ARABIC MATHEMATICAL INITIAL BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
222041EE22;ARABIC MATHEMATICAL INITIAL JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
222051EE24;ARABIC MATHEMATICAL INITIAL HEH;Lo;0;AL;<font> 0647;;;;N;;;;;
222061EE27;ARABIC MATHEMATICAL INITIAL HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
222071EE29;ARABIC MATHEMATICAL INITIAL YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
222081EE2A;ARABIC MATHEMATICAL INITIAL KAF;Lo;0;AL;<font> 0643;;;;N;;;;;
222091EE2B;ARABIC MATHEMATICAL INITIAL LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
222101EE2C;ARABIC MATHEMATICAL INITIAL MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
222111EE2D;ARABIC MATHEMATICAL INITIAL NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
222121EE2E;ARABIC MATHEMATICAL INITIAL SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
222131EE2F;ARABIC MATHEMATICAL INITIAL AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
222141EE30;ARABIC MATHEMATICAL INITIAL FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
222151EE31;ARABIC MATHEMATICAL INITIAL SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
222161EE32;ARABIC MATHEMATICAL INITIAL QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
222171EE34;ARABIC MATHEMATICAL INITIAL SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
222181EE35;ARABIC MATHEMATICAL INITIAL TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
222191EE36;ARABIC MATHEMATICAL INITIAL THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
222201EE37;ARABIC MATHEMATICAL INITIAL KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
222211EE39;ARABIC MATHEMATICAL INITIAL DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
222221EE3B;ARABIC MATHEMATICAL INITIAL GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
222231EE42;ARABIC MATHEMATICAL TAILED JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
222241EE47;ARABIC MATHEMATICAL TAILED HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
222251EE49;ARABIC MATHEMATICAL TAILED YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
222261EE4B;ARABIC MATHEMATICAL TAILED LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
222271EE4D;ARABIC MATHEMATICAL TAILED NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
222281EE4E;ARABIC MATHEMATICAL TAILED SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
222291EE4F;ARABIC MATHEMATICAL TAILED AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
222301EE51;ARABIC MATHEMATICAL TAILED SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
222311EE52;ARABIC MATHEMATICAL TAILED QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
222321EE54;ARABIC MATHEMATICAL TAILED SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
222331EE57;ARABIC MATHEMATICAL TAILED KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
222341EE59;ARABIC MATHEMATICAL TAILED DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
222351EE5B;ARABIC MATHEMATICAL TAILED GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
222361EE5D;ARABIC MATHEMATICAL TAILED DOTLESS NOON;Lo;0;AL;<font> 06BA;;;;N;;;;;
222371EE5F;ARABIC MATHEMATICAL TAILED DOTLESS QAF;Lo;0;AL;<font> 066F;;;;N;;;;;
222381EE61;ARABIC MATHEMATICAL STRETCHED BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
222391EE62;ARABIC MATHEMATICAL STRETCHED JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
222401EE64;ARABIC MATHEMATICAL STRETCHED HEH;Lo;0;AL;<font> 0647;;;;N;;;;;
222411EE67;ARABIC MATHEMATICAL STRETCHED HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
222421EE68;ARABIC MATHEMATICAL STRETCHED TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
222431EE69;ARABIC MATHEMATICAL STRETCHED YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
222441EE6A;ARABIC MATHEMATICAL STRETCHED KAF;Lo;0;AL;<font> 0643;;;;N;;;;;
222451EE6C;ARABIC MATHEMATICAL STRETCHED MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
222461EE6D;ARABIC MATHEMATICAL STRETCHED NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
222471EE6E;ARABIC MATHEMATICAL STRETCHED SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
222481EE6F;ARABIC MATHEMATICAL STRETCHED AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
222491EE70;ARABIC MATHEMATICAL STRETCHED FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
222501EE71;ARABIC MATHEMATICAL STRETCHED SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
222511EE72;ARABIC MATHEMATICAL STRETCHED QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
222521EE74;ARABIC MATHEMATICAL STRETCHED SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
222531EE75;ARABIC MATHEMATICAL STRETCHED TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
222541EE76;ARABIC MATHEMATICAL STRETCHED THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
222551EE77;ARABIC MATHEMATICAL STRETCHED KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
222561EE79;ARABIC MATHEMATICAL STRETCHED DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
222571EE7A;ARABIC MATHEMATICAL STRETCHED ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
222581EE7B;ARABIC MATHEMATICAL STRETCHED GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
222591EE7C;ARABIC MATHEMATICAL STRETCHED DOTLESS BEH;Lo;0;AL;<font> 066E;;;;N;;;;;
222601EE7E;ARABIC MATHEMATICAL STRETCHED DOTLESS FEH;Lo;0;AL;<font> 06A1;;;;N;;;;;
222611EE80;ARABIC MATHEMATICAL LOOPED ALEF;Lo;0;AL;<font> 0627;;;;N;;;;;
222621EE81;ARABIC MATHEMATICAL LOOPED BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
222631EE82;ARABIC MATHEMATICAL LOOPED JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
222641EE83;ARABIC MATHEMATICAL LOOPED DAL;Lo;0;AL;<font> 062F;;;;N;;;;;
222651EE84;ARABIC MATHEMATICAL LOOPED HEH;Lo;0;AL;<font> 0647;;;;N;;;;;
222661EE85;ARABIC MATHEMATICAL LOOPED WAW;Lo;0;AL;<font> 0648;;;;N;;;;;
222671EE86;ARABIC MATHEMATICAL LOOPED ZAIN;Lo;0;AL;<font> 0632;;;;N;;;;;
222681EE87;ARABIC MATHEMATICAL LOOPED HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
222691EE88;ARABIC MATHEMATICAL LOOPED TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
222701EE89;ARABIC MATHEMATICAL LOOPED YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
222711EE8B;ARABIC MATHEMATICAL LOOPED LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
222721EE8C;ARABIC MATHEMATICAL LOOPED MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
222731EE8D;ARABIC MATHEMATICAL LOOPED NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
222741EE8E;ARABIC MATHEMATICAL LOOPED SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
222751EE8F;ARABIC MATHEMATICAL LOOPED AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
222761EE90;ARABIC MATHEMATICAL LOOPED FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
222771EE91;ARABIC MATHEMATICAL LOOPED SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
222781EE92;ARABIC MATHEMATICAL LOOPED QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
222791EE93;ARABIC MATHEMATICAL LOOPED REH;Lo;0;AL;<font> 0631;;;;N;;;;;
222801EE94;ARABIC MATHEMATICAL LOOPED SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
222811EE95;ARABIC MATHEMATICAL LOOPED TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
222821EE96;ARABIC MATHEMATICAL LOOPED THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
222831EE97;ARABIC MATHEMATICAL LOOPED KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
222841EE98;ARABIC MATHEMATICAL LOOPED THAL;Lo;0;AL;<font> 0630;;;;N;;;;;
222851EE99;ARABIC MATHEMATICAL LOOPED DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
222861EE9A;ARABIC MATHEMATICAL LOOPED ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
222871EE9B;ARABIC MATHEMATICAL LOOPED GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
222881EEA1;ARABIC MATHEMATICAL DOUBLE-STRUCK BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
222891EEA2;ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
222901EEA3;ARABIC MATHEMATICAL DOUBLE-STRUCK DAL;Lo;0;AL;<font> 062F;;;;N;;;;;
222911EEA5;ARABIC MATHEMATICAL DOUBLE-STRUCK WAW;Lo;0;AL;<font> 0648;;;;N;;;;;
222921EEA6;ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN;Lo;0;AL;<font> 0632;;;;N;;;;;
222931EEA7;ARABIC MATHEMATICAL DOUBLE-STRUCK HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
222941EEA8;ARABIC MATHEMATICAL DOUBLE-STRUCK TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
222951EEA9;ARABIC MATHEMATICAL DOUBLE-STRUCK YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
222961EEAB;ARABIC MATHEMATICAL DOUBLE-STRUCK LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
222971EEAC;ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
222981EEAD;ARABIC MATHEMATICAL DOUBLE-STRUCK NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
222991EEAE;ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
223001EEAF;ARABIC MATHEMATICAL DOUBLE-STRUCK AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
223011EEB0;ARABIC MATHEMATICAL DOUBLE-STRUCK FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
223021EEB1;ARABIC MATHEMATICAL DOUBLE-STRUCK SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
223031EEB2;ARABIC MATHEMATICAL DOUBLE-STRUCK QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
223041EEB3;ARABIC MATHEMATICAL DOUBLE-STRUCK REH;Lo;0;AL;<font> 0631;;;;N;;;;;
223051EEB4;ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
223061EEB5;ARABIC MATHEMATICAL DOUBLE-STRUCK TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
223071EEB6;ARABIC MATHEMATICAL DOUBLE-STRUCK THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
223081EEB7;ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
223091EEB8;ARABIC MATHEMATICAL DOUBLE-STRUCK THAL;Lo;0;AL;<font> 0630;;;;N;;;;;
223101EEB9;ARABIC MATHEMATICAL DOUBLE-STRUCK DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
223111EEBA;ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
223121EEBB;ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
223131EEF0;ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL;Sm;0;ON;;;;;N;;;;;
223141EEF1;ARABIC MATHEMATICAL OPERATOR HAH WITH DAL;Sm;0;ON;;;;;N;;;;;
216021F000;MAHJONG TILE EAST WIND;So;0;ON;;;;;N;;;;; 223151F000;MAHJONG TILE EAST WIND;So;0;ON;;;;;N;;;;;
216031F001;MAHJONG TILE SOUTH WIND;So;0;ON;;;;;N;;;;; 223161F001;MAHJONG TILE SOUTH WIND;So;0;ON;;;;;N;;;;;
216041F002;MAHJONG TILE WEST WIND;So;0;ON;;;;;N;;;;; 223171F002;MAHJONG TILE WEST WIND;So;0;ON;;;;;N;;;;;
@@ -21902,6 +22615,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
219021F167;NEGATIVE CIRCLED LATIN CAPITAL LETTER X;So;0;L;;;;;N;;;;; 226151F167;NEGATIVE CIRCLED LATIN CAPITAL LETTER X;So;0;L;;;;;N;;;;;
219031F168;NEGATIVE CIRCLED LATIN CAPITAL LETTER Y;So;0;L;;;;;N;;;;; 226161F168;NEGATIVE CIRCLED LATIN CAPITAL LETTER Y;So;0;L;;;;;N;;;;;
219041F169;NEGATIVE CIRCLED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;; 226171F169;NEGATIVE CIRCLED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;;
226181F16A;RAISED MC SIGN;So;0;ON;<super> 004D 0043;;;;N;;;;;
226191F16B;RAISED MD SIGN;So;0;ON;<super> 004D 0044;;;;N;;;;;
219051F170;NEGATIVE SQUARED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;; 226201F170;NEGATIVE SQUARED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;;
219061F171;NEGATIVE SQUARED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;; 226211F171;NEGATIVE SQUARED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;;
219071F172;NEGATIVE SQUARED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;; 226221F172;NEGATIVE SQUARED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;;
@@ -22354,7 +23069,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
223541F489;SYRINGE;So;0;ON;;;;;N;;;;; 230691F489;SYRINGE;So;0;ON;;;;;N;;;;;
223551F48A;PILL;So;0;ON;;;;;N;;;;; 230701F48A;PILL;So;0;ON;;;;;N;;;;;
223561F48B;KISS MARK;So;0;ON;;;;;N;;;;; 230711F48B;KISS MARK;So;0;ON;;;;;N;;;;;
223571F48C;LOVE LETTER;So;0;L;;;;;N;;;;; 230721F48C;LOVE LETTER;So;0;ON;;;;;N;;;;;
223581F48D;RING;So;0;ON;;;;;N;;;;; 230731F48D;RING;So;0;ON;;;;;N;;;;;
223591F48E;GEM STONE;So;0;ON;;;;;N;;;;; 230741F48E;GEM STONE;So;0;ON;;;;;N;;;;;
223601F48F;KISS;So;0;ON;;;;;N;;;;; 230751F48F;KISS;So;0;ON;;;;;N;;;;;
@@ -22502,7 +23217,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
225021F521;INPUT SYMBOL FOR LATIN SMALL LETTERS;So;0;ON;;;;;N;;;;; 232171F521;INPUT SYMBOL FOR LATIN SMALL LETTERS;So;0;ON;;;;;N;;;;;
225031F522;INPUT SYMBOL FOR NUMBERS;So;0;ON;;;;;N;;;;; 232181F522;INPUT SYMBOL FOR NUMBERS;So;0;ON;;;;;N;;;;;
225041F523;INPUT SYMBOL FOR SYMBOLS;So;0;ON;;;;;N;;;;; 232191F523;INPUT SYMBOL FOR SYMBOLS;So;0;ON;;;;;N;;;;;
225051F524;INPUT SYMBOL FOR LATIN LETTERS;So;0;L;;;;;N;;;;; 232201F524;INPUT SYMBOL FOR LATIN LETTERS;So;0;ON;;;;;N;;;;;
225061F525;FIRE;So;0;ON;;;;;N;;;;; 232211F525;FIRE;So;0;ON;;;;;N;;;;;
225071F526;ELECTRIC TORCH;So;0;ON;;;;;N;;;;; 232221F526;ELECTRIC TORCH;So;0;ON;;;;;N;;;;;
225081F527;WRENCH;So;0;ON;;;;;N;;;;; 232231F527;WRENCH;So;0;ON;;;;;N;;;;;
@@ -22528,6 +23243,10 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
225281F53B;DOWN-POINTING RED TRIANGLE;So;0;ON;;;;;N;;;;; 232431F53B;DOWN-POINTING RED TRIANGLE;So;0;ON;;;;;N;;;;;
225291F53C;UP-POINTING SMALL RED TRIANGLE;So;0;ON;;;;;N;;;;; 232441F53C;UP-POINTING SMALL RED TRIANGLE;So;0;ON;;;;;N;;;;;
225301F53D;DOWN-POINTING SMALL RED TRIANGLE;So;0;ON;;;;;N;;;;; 232451F53D;DOWN-POINTING SMALL RED TRIANGLE;So;0;ON;;;;;N;;;;;
232461F540;CIRCLED CROSS POMMEE;So;0;ON;;;;;N;;;;;
232471F541;CROSS POMMEE WITH HALF-CIRCLE BELOW;So;0;ON;;;;;N;;;;;
232481F542;CROSS POMMEE;So;0;ON;;;;;N;;;;;
232491F543;NOTCHED LEFT SEMICIRCLE WITH THREE DOTS;So;0;ON;;;;;N;;;;;
225311F550;CLOCK FACE ONE OCLOCK;So;0;ON;;;;;N;;;;; 232501F550;CLOCK FACE ONE OCLOCK;So;0;ON;;;;;N;;;;;
225321F551;CLOCK FACE TWO OCLOCK;So;0;ON;;;;;N;;;;; 232511F551;CLOCK FACE TWO OCLOCK;So;0;ON;;;;;N;;;;;
225331F552;CLOCK FACE THREE OCLOCK;So;0;ON;;;;;N;;;;; 232521F552;CLOCK FACE THREE OCLOCK;So;0;ON;;;;;N;;;;;
@@ -22557,6 +23276,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
225571F5FD;STATUE OF LIBERTY;So;0;ON;;;;;N;;;;; 232761F5FD;STATUE OF LIBERTY;So;0;ON;;;;;N;;;;;
225581F5FE;SILHOUETTE OF JAPAN;So;0;ON;;;;;N;;;;; 232771F5FE;SILHOUETTE OF JAPAN;So;0;ON;;;;;N;;;;;
225591F5FF;MOYAI;So;0;ON;;;;;N;;;;; 232781F5FF;MOYAI;So;0;ON;;;;;N;;;;;
232791F600;GRINNING FACE;So;0;ON;;;;;N;;;;;
225601F601;GRINNING FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;; 232801F601;GRINNING FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;;
225611F602;FACE WITH TEARS OF JOY;So;0;ON;;;;;N;;;;; 232811F602;FACE WITH TEARS OF JOY;So;0;ON;;;;;N;;;;;
225621F603;SMILING FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;; 232821F603;SMILING FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
@@ -22573,30 +23293,42 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
225731F60E;SMILING FACE WITH SUNGLASSES;So;0;ON;;;;;N;;;;; 232931F60E;SMILING FACE WITH SUNGLASSES;So;0;ON;;;;;N;;;;;
225741F60F;SMIRKING FACE;So;0;ON;;;;;N;;;;; 232941F60F;SMIRKING FACE;So;0;ON;;;;;N;;;;;
225751F610;NEUTRAL FACE;So;0;ON;;;;;N;;;;; 232951F610;NEUTRAL FACE;So;0;ON;;;;;N;;;;;
232961F611;EXPRESSIONLESS FACE;So;0;ON;;;;;N;;;;;
225761F612;UNAMUSED FACE;So;0;ON;;;;;N;;;;; 232971F612;UNAMUSED FACE;So;0;ON;;;;;N;;;;;
225771F613;FACE WITH COLD SWEAT;So;0;ON;;;;;N;;;;; 232981F613;FACE WITH COLD SWEAT;So;0;ON;;;;;N;;;;;
225781F614;PENSIVE FACE;So;0;ON;;;;;N;;;;; 232991F614;PENSIVE FACE;So;0;ON;;;;;N;;;;;
233001F615;CONFUSED FACE;So;0;ON;;;;;N;;;;;
225791F616;CONFOUNDED FACE;So;0;ON;;;;;N;;;;; 233011F616;CONFOUNDED FACE;So;0;ON;;;;;N;;;;;
233021F617;KISSING FACE;So;0;ON;;;;;N;;;;;
225801F618;FACE THROWING A KISS;So;0;ON;;;;;N;;;;; 233031F618;FACE THROWING A KISS;So;0;ON;;;;;N;;;;;
233041F619;KISSING FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;;
225811F61A;KISSING FACE WITH CLOSED EYES;So;0;ON;;;;;N;;;;; 233051F61A;KISSING FACE WITH CLOSED EYES;So;0;ON;;;;;N;;;;;
233061F61B;FACE WITH STUCK-OUT TONGUE;So;0;ON;;;;;N;;;;;
225821F61C;FACE WITH STUCK-OUT TONGUE AND WINKING EYE;So;0;ON;;;;;N;;;;; 233071F61C;FACE WITH STUCK-OUT TONGUE AND WINKING EYE;So;0;ON;;;;;N;;;;;
225831F61D;FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES;So;0;ON;;;;;N;;;;; 233081F61D;FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES;So;0;ON;;;;;N;;;;;
225841F61E;DISAPPOINTED FACE;So;0;ON;;;;;N;;;;; 233091F61E;DISAPPOINTED FACE;So;0;ON;;;;;N;;;;;
233101F61F;WORRIED FACE;So;0;ON;;;;;N;;;;;
225851F620;ANGRY FACE;So;0;ON;;;;;N;;;;; 233111F620;ANGRY FACE;So;0;ON;;;;;N;;;;;
225861F621;POUTING FACE;So;0;ON;;;;;N;;;;; 233121F621;POUTING FACE;So;0;ON;;;;;N;;;;;
225871F622;CRYING FACE;So;0;ON;;;;;N;;;;; 233131F622;CRYING FACE;So;0;ON;;;;;N;;;;;
225881F623;PERSEVERING FACE;So;0;ON;;;;;N;;;;; 233141F623;PERSEVERING FACE;So;0;ON;;;;;N;;;;;
225891F624;FACE WITH LOOK OF TRIUMPH;So;0;ON;;;;;N;;;;; 233151F624;FACE WITH LOOK OF TRIUMPH;So;0;ON;;;;;N;;;;;
225901F625;DISAPPOINTED BUT RELIEVED FACE;So;0;ON;;;;;N;;;;; 233161F625;DISAPPOINTED BUT RELIEVED FACE;So;0;ON;;;;;N;;;;;
233171F626;FROWNING FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
233181F627;ANGUISHED FACE;So;0;ON;;;;;N;;;;;
225911F628;FEARFUL FACE;So;0;ON;;;;;N;;;;; 233191F628;FEARFUL FACE;So;0;ON;;;;;N;;;;;
225921F629;WEARY FACE;So;0;ON;;;;;N;;;;; 233201F629;WEARY FACE;So;0;ON;;;;;N;;;;;
225931F62A;SLEEPY FACE;So;0;ON;;;;;N;;;;; 233211F62A;SLEEPY FACE;So;0;ON;;;;;N;;;;;
225941F62B;TIRED FACE;So;0;ON;;;;;N;;;;; 233221F62B;TIRED FACE;So;0;ON;;;;;N;;;;;
233231F62C;GRIMACING FACE;So;0;ON;;;;;N;;;;;
225951F62D;LOUDLY CRYING FACE;So;0;ON;;;;;N;;;;; 233241F62D;LOUDLY CRYING FACE;So;0;ON;;;;;N;;;;;
233251F62E;FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
233261F62F;HUSHED FACE;So;0;ON;;;;;N;;;;;
225961F630;FACE WITH OPEN MOUTH AND COLD SWEAT;So;0;ON;;;;;N;;;;; 233271F630;FACE WITH OPEN MOUTH AND COLD SWEAT;So;0;ON;;;;;N;;;;;
225971F631;FACE SCREAMING IN FEAR;So;0;ON;;;;;N;;;;; 233281F631;FACE SCREAMING IN FEAR;So;0;ON;;;;;N;;;;;
225981F632;ASTONISHED FACE;So;0;ON;;;;;N;;;;; 233291F632;ASTONISHED FACE;So;0;ON;;;;;N;;;;;
225991F633;FLUSHED FACE;So;0;ON;;;;;N;;;;; 233301F633;FLUSHED FACE;So;0;ON;;;;;N;;;;;
233311F634;SLEEPING FACE;So;0;ON;;;;;N;;;;;
226001F635;DIZZY FACE;So;0;ON;;;;;N;;;;; 233321F635;DIZZY FACE;So;0;ON;;;;;N;;;;;
226011F636;FACE WITHOUT MOUTH;So;0;ON;;;;;N;;;;; 233331F636;FACE WITHOUT MOUTH;So;0;ON;;;;;N;;;;;
226021F637;FACE WITH MEDICAL MASK;So;0;ON;;;;;N;;;;; 233341F637;FACE WITH MEDICAL MASK;So;0;ON;;;;;N;;;;;
diff --git a/admin/unidata/copyright.html b/admin/unidata/copyright.html
index f414ca461f2..90cd895d984 100644
--- a/admin/unidata/copyright.html
+++ b/admin/unidata/copyright.html
@@ -10,7 +10,7 @@
10 10
11<meta name="VI60_defaultClientScript" content="JavaScript"> 11<meta name="VI60_defaultClientScript" content="JavaScript">
12 12
13<meta name="GENERATOR" content="Microsoft FrontPage 6.0"> 13<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
14 14
15<meta name="keywords" content="Unicode Standard, copyright"> 15<meta name="keywords" content="Unicode Standard, copyright">
16 16
@@ -28,10 +28,6 @@ href="http://www.unicode.org/webscripts/standard_styles.css">
28 28
29<body text="#330000"> 29<body text="#330000">
30 30
31
32
33<form action="http://www.unicode.org/webscripts/POST">
34
35 <table width="100%" cellpadding="0" cellspacing="0" border="0"> 31 <table width="100%" cellpadding="0" cellspacing="0" border="0">
36 32
37 <tr> 33 <tr>
@@ -79,7 +75,7 @@ href="http://www.unicode.org/webscripts/standard_styles.css">
79 <td valign="top" class="navColCell"><a href="#4">Waiver of Damages</a></td> 75 <td valign="top" class="navColCell"><a href="#4">Waiver of Damages</a></td>
80 </tr> 76 </tr>
81 <tr> 77 <tr>
82 <td valign="top" class="navColCell"><a href="#5">Trademarks</a></td> 78 <td valign="top" class="navColCell"><a href="#5">Trademarks & Logos</a></td>
83 </tr> 79 </tr>
84 <tr> 80 <tr>
85 <td valign="top" class="navColCell"><a href="#7">Miscellaneous</a></td> 81 <td valign="top" class="navColCell"><a href="#7">Miscellaneous</a></td>
@@ -99,8 +95,7 @@ href="http://www.unicode.org/webscripts/standard_styles.css">
99 </tr> 95 </tr>
100 <tr> 96 <tr>
101 <td valign="top" class="navColCell"> 97 <td valign="top" class="navColCell">
102 <a href="http://www.unicode.org/policies/logo_policy.html">The 98 <a href="http://www.unicode.org/policies/logo_policy.html">Trademark Policy</a></td>
103 Unicode® Consortium Trademarks and Logo Policy</a></td>
104 </tr> 99 </tr>
105 <tr> 100 <tr>
106 <td valign="top" class="navColCell"> 101 <td valign="top" class="navColCell">
@@ -125,7 +120,7 @@ href="http://www.unicode.org/webscripts/standard_styles.css">
125 <a href="http://www.unicode.org/policies/privacy_policy.html"> 120 <a href="http://www.unicode.org/policies/privacy_policy.html">
126 Unicode Privacy Policy</a>. For trademark usage, see 121 Unicode Privacy Policy</a>. For trademark usage, see
127 <a href="http://www.unicode.org/policies/logo_policy.html">the 122 <a href="http://www.unicode.org/policies/logo_policy.html">the
128 Unicode Consortium® Trademarks and Logo Policy</a>.</p> 123 Unicode® Consortium Name and Trademark Usage Policy</a>.</p>
129 124
130 <table class="sidebar" align="right" width="50%" id="table1"> 125 <table class="sidebar" align="right" width="50%" id="table1">
131 <tr> 126 <tr>
@@ -135,13 +130,13 @@ href="http://www.unicode.org/webscripts/standard_styles.css">
135 <td class="sidebar">Carefully read the following legal agreement 130 <td class="sidebar">Carefully read the following legal agreement
136 (&quot;Agreement&quot;). Use or copying of the software and/or codes 131 (&quot;Agreement&quot;). Use or copying of the software and/or codes
137 provided with this agreement (The &quot;Software&quot;) constitutes your 132 provided with this agreement (The &quot;Software&quot;) constitutes your
138 acceptance of these terms</td> 133 acceptance of these terms. If you have any questions about these terms of use, please <a href="http://www.unicode.org/contacts.html">contact the Unicode Consortium</a>.</td>
139 </tr> 134 </tr>
140 </table> 135 </table>
141 <ol type="A"> 136 <ol type="A">
142 <li><u><a name="1"></a>Unicode Copyright.</u> 137 <li><u><a name="1"></a>Unicode Copyright.</u>
143 <ol> 138 <ol>
144 <li>Copyright © 1991-2006 Unicode, Inc. All rights reserved.</li> 139 <li>Copyright © 1991-2012 Unicode, Inc. All rights reserved.</li>
145 <li>Certain documents and files on this website contain a legend 140 <li>Certain documents and files on this website contain a legend
146 indicating that &quot;Modification is permitted.&quot; Any person is 141 indicating that &quot;Modification is permitted.&quot; Any person is
147 hereby authorized, without fee, to modify such documents and 142 hereby authorized, without fee, to modify such documents and
@@ -156,17 +151,12 @@ href="http://www.unicode.org/webscripts/standard_styles.css">
156 to the use of the particular set of data files known as the 151 to the use of the particular set of data files known as the
157 &quot;Unicode Character Database&quot; can be found in <a href="#Exhibit1"> 152 &quot;Unicode Character Database&quot; can be found in <a href="#Exhibit1">
158 Exhibit 1</a>.</li> 153 Exhibit 1</a>.</li>
159 <li>Each version of the Unicode Standard has further specifications of rights and restrictions 154 <li>Each version of the Unicode Standard has further
160 of use. For the book editions, these are found on the back of 155 specifications of rights and restrictions of use. For the book
161 the 156 editions (Unicode 5.0 and earlier), these are found on the back
162 <a href="http://www.unicode.org/versions/Unicode4.0.0/Title.pdf"> 157 of the
163 title page</a>. For the online edition, certain files (such as 158 <a href="http://www.unicode.org/versions/Unicode5.0.0/Title.pdf">title page</a>.
164 the PDF files for book chapters and code charts) carry specific 159 The online code charts carry specific restrictions. All other files, including online documentation of the core specification for Unicode 6.0 and later, are covered under these general Terms of Use.</li>
165 restrictions. All other files are covered under these general
166 Terms of Use.&nbsp; To request a permission to reproduce any
167 part of the Unicode Standard, please
168 <a href="http://www.unicode.org/contacts.html">contact the
169 Unicode Consortium</a>.</li>
170 <li>No license is granted to &quot;mirror&quot; the Unicode website where 160 <li>No license is granted to &quot;mirror&quot; the Unicode website where
171 a fee is charged for access to the &quot;mirror&quot; site.</li> 161 a fee is charged for access to the &quot;mirror&quot; site.</li>
172 <li>Modification is not permitted with respect to this document. 162 <li>Modification is not permitted with respect to this document.
@@ -217,19 +207,12 @@ href="http://www.unicode.org/webscripts/standard_styles.css">
217 the following: loss of use, data or profits, in connection with 207 the following: loss of use, data or profits, in connection with
218 the use, modification or distribution of this information or its 208 the use, modification or distribution of this information or its
219 derivatives.</li> 209 derivatives.</li>
220 <li><u><a name="5"></a>Trademarks.</u> 210 <li><u><a name="5"></a>Trademarks &amp; Logos.</u>
221 <ol> 211 <ol>
222 <li>Unicode and the Unicode logo are registered trademarks of 212 <li>The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of Unicode, Inc. Use of the information and materials found on this website indicates your acknowledgement of Unicode, Inc.’s exclusive worldwide rights in the Unicode Word Mark, the Unicode Logo, and the Unicode trade names.</li>
223 Unicode, Inc.&nbsp;</li> 213<li><a href="http://www.unicode.org/policies/logo_policy.html">The Unicode Consortium Name and Trademark Usage Policy</a> (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc.</li>
224 <li>This site contains product names and corporate names of 214<li>All third party trademarks referenced herein are the property of their respective owners.
225 other companies. All product names and company names and logos 215</li>
226 mentioned herein are the trademarks or registered trademarks of
227 their respective owners. Other products and corporate names
228 mentioned herein which are trademarks of a third party are used
229 only for explanation and for the owners&#39; benefit and with no
230 intent to infringe.</li>
231 <li>Use of third party products or information referred to
232 herein is at the user’s risk.</li>
233 </ol> 216 </ol>
234 </li> 217 </li>
235 218
@@ -274,19 +257,18 @@ UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE</h3>
274<a href="http://www.unicode.org/Public/">http://www.unicode.org/Public/</a>, 257<a href="http://www.unicode.org/Public/">http://www.unicode.org/Public/</a>,
275<a href="http://www.unicode.org/reports/">http://www.unicode.org/reports/</a>, 258<a href="http://www.unicode.org/reports/">http://www.unicode.org/reports/</a>,
276and 259and
277<a title="http://www.unicode.org/cldr/data/" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" href="http://www.unicode.org/cldr/data/"> 260<a title="http://www.unicode.org/cldr/data/" onClick="return top.js.OpenExtLink(window,event,this)" target="_blank" href="http://www.unicode.org/cldr/data/">
278http://www.unicode.org/cldr/data/ </a>. Unicode Software includes any source code 261http://www.unicode.org/cldr/data/</a>. Unicode Data Files do not include PDF online code charts under the directory <a href="http://www.unicode.org/Public/">http://www.unicode.org/Public/</a>. Software includes any source code
279published in the Unicode Standard or under the directories 262published in the Unicode Standard or under the directories <a href="http://www.unicode.org/Public/">http://www.unicode.org/Public/</a>,
280<a href="http://www.unicode.org/Public/">http://www.unicode.org/Public/</a>,
281<a href="http://www.unicode.org/reports/">http://www.unicode.org/reports/</a>, 263<a href="http://www.unicode.org/reports/">http://www.unicode.org/reports/</a>,
282and 264and
283<a title="http://www.unicode.org/cldr/data/" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" href="http://www.unicode.org/cldr/data/"> 265<a title="http://www.unicode.org/cldr/data/" onClick="return top.js.OpenExtLink(window,event,this)" target="_blank" href="http://www.unicode.org/cldr/data/">
284http://www.unicode.org/cldr/data/.</a></p> 266http://www.unicode.org/cldr/data/</a>.</p>
285 267
286<p>NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.</p> 268<p>NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.</p>
287<p>COPYRIGHT AND PERMISSION NOTICE</p> 269<p>COPYRIGHT AND PERMISSION NOTICE</p>
288 270
289<p>Copyright © 1991-2005 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in 271<p>Copyright © 1991-2012 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in
290<a href="http://www.unicode.org/copyright.html">http://www.unicode.org/copyright.html</a>.</p> 272<a href="http://www.unicode.org/copyright.html">http://www.unicode.org/copyright.html</a>.</p>
291 273
292<p>Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and 274<p>Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and
@@ -300,7 +282,7 @@ PERFORMANCE OF THE DATA FILES OR SOFTWARE.</p>
300 282
301 <hr width="80%"> 283 <hr width="80%">
302 284
303<p>Unicode and the Unicode logo are trademarks of Unicode, Inc., and may be registered in some jurisdictions. All other trademarks and registered trademarks mentioned herein are the property of their respective owners.</p> 285<p>Unicode and the Unicode logo are trademarks of Unicode, Inc. in the United States and other countries. All third party trademarks referenced herein are the property of their respective owners.</p>
304 286
305 287
306</blockquote> 288</blockquote>
@@ -330,13 +312,5 @@ PERFORMANCE OF THE DATA FILES OR SOFTWARE.</p>
330 </tr> 312 </tr>
331 313
332 </table> 314 </table>
333
334</form>
335
336
337
338</body> 315</body>
339
340
341
342</html> 316</html>
diff --git a/admin/unidata/unidata-gen.el b/admin/unidata/unidata-gen.el
index 713b0512e09..d9277217f0e 100644
--- a/admin/unidata/unidata-gen.el
+++ b/admin/unidata/unidata-gen.el
@@ -166,9 +166,10 @@
166 '((name 166 '((name
167 1 unidata-gen-table-name "uni-name.el" 167 1 unidata-gen-table-name "uni-name.el"
168 "Unicode character name. 168 "Unicode character name.
169Property value is a string." 169Property value is a string or nil.
170The value nil stands for the default value \"null string\")."
170 nil 171 nil
171 "") 172 nil)
172 (general-category 173 (general-category
173 2 unidata-gen-table-symbol "uni-category.el" 174 2 unidata-gen-table-symbol "uni-category.el"
174 "Unicode general category. 175 "Unicode general category.
@@ -235,7 +236,8 @@ Property value is a symbol `Y' or `N'. See also the property `mirroring'."
235 (old-name 236 (old-name
236 10 unidata-gen-table-name "uni-old-name.el" 237 10 unidata-gen-table-name "uni-old-name.el"
237 "Unicode old names as published in Unicode 1.0. 238 "Unicode old names as published in Unicode 1.0.
238Property value is a string.") 239Property value is a string or nil.
240The value nil stands for the default value \"null string\").")
239 (iso-10646-comment 241 (iso-10646-comment
240 11 unidata-gen-table-name "uni-comment.el" 242 11 unidata-gen-table-name "uni-comment.el"
241 "Unicode ISO 10646 comment. 243 "Unicode ISO 10646 comment.
@@ -712,7 +714,7 @@ is the character itself.")))
712 (aset table c name) 714 (aset table c name)
713 (if (= c char) 715 (if (= c char)
714 (setq val name)))) 716 (setq val name))))
715 (or val "")))) 717 val)))
716 718
717 ((and (integerp val) (> val 0)) 719 ((and (integerp val) (> val 0))
718 (let* ((symbol-table (aref (char-table-extra-slot table 4) 1)) 720 (let* ((symbol-table (aref (char-table-extra-slot table 4) 1))
@@ -738,9 +740,7 @@ is the character itself.")))
738 ((eq sym 'CJK\ COMPATIBILITY\ IDEOGRAPH) 740 ((eq sym 'CJK\ COMPATIBILITY\ IDEOGRAPH)
739 (format "%s-%04X" sym char)) 741 (format "%s-%04X" sym char))
740 ((eq sym 'VARIATION\ SELECTOR) 742 ((eq sym 'VARIATION\ SELECTOR)
741 (format "%s-%d" sym (+ (- char #xe0100) 17)))))) 743 (format "%s-%d" sym (+ (- char #xe0100) 17))))))))
742
743 (t "")))
744 744
745;; Store VAL as the name of CHAR in TABLE. 745;; Store VAL as the name of CHAR in TABLE.
746 746