Merge from emacs-24; up to 2014-05-29T17:16:00Z!dmantipov@yandex.ru
This commit is contained in:
commit
953e106ac8
43 changed files with 28306 additions and 276 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2014-06-02 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix port to 32-bit AIX with xlc (Bug#17598).
|
||||
This doesn't fix Bug#17598, but it does fix a regression since Emacs
|
||||
built with xlc until recently, and perhaps it'll help us fix Bug#17598.
|
||||
* configure.ac (GC_SETJMP_WORKS): Define for AIX, too.
|
||||
Merge from gnulib, incorporating:
|
||||
2014-05-30 ftoastr: work around compiler bug in IBM xlc 12.1
|
||||
* lib/ftoastr.c: Update from gnulib.
|
||||
|
||||
2014-06-01 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Merge from gnulib, incorporating:
|
||||
|
|
|
@ -1,3 +1,17 @@
|
|||
2014-06-02 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Include sources used to create macuvs.h.
|
||||
* unidata/IVD_Sequences.txt: New file.
|
||||
* unidata/Makefile.in (${top_srcdir}/src/macuvs.h): New rule.
|
||||
(all): Build it.
|
||||
(extraclean): Remove it.
|
||||
* unidata/README: Mention BidiMirroring.txt and IVD_Sequences.txt.
|
||||
* unidata/copyright.html: Update to current version from Unicode
|
||||
Consortium.
|
||||
* unidata/uvs.el: Rename from ../mac/uvs.el.
|
||||
(uvs-print-table-ivd): Output a header in the form that
|
||||
unidata-gen.el generates.
|
||||
|
||||
2014-05-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* mac/uvs.el: New file from Mac port. Generates src/macuvs.h.
|
||||
|
|
|
@ -2,7 +2,9 @@ Tasks needed before the next release.
|
|||
|
||||
* TO BE DONE SHORTLY BEFORE RELEASE
|
||||
|
||||
** Either update, test, and support the old w32 build method, or remove it.
|
||||
** Make sure the necessary sources and scripts for any generated files
|
||||
are included in the source tarfile. (They don't need to be installed,
|
||||
so eg admin/ is fine.)
|
||||
|
||||
** Manuals
|
||||
Check for node names using problematic characters:
|
||||
|
|
27748
admin/unidata/IVD_Sequences.txt
Normal file
27748
admin/unidata/IVD_Sequences.txt
Normal file
File diff suppressed because it is too large
Load diff
|
@ -33,7 +33,12 @@ emacs = "${EMACS}" -batch --no-site-file --no-site-lisp
|
|||
|
||||
.PHONY: all compile install
|
||||
|
||||
all: ${DSTDIR}/charprop.el
|
||||
all: ${top_srcdir}/src/macuvs.h ${DSTDIR}/charprop.el
|
||||
|
||||
${top_srcdir}/src/macuvs.h: ${srcdir}/uvs.el ${srcdir}/IVD_Sequences.txt
|
||||
${EMACS} -batch -l "${srcdir}/uvs.el" \
|
||||
--eval '(uvs-print-table-ivd "${srcdir}/IVD_Sequences.txt" "Adobe-Japan1")' \
|
||||
> $@
|
||||
|
||||
.el.elc:
|
||||
${emacs} -f batch-byte-compile $<
|
||||
|
@ -82,6 +87,7 @@ maintainer-clean: distclean
|
|||
## change and it slows down bootstrap (a tiny bit).
|
||||
## Cf leim/ja-dic (which is much slower).
|
||||
extraclean:
|
||||
rm -f ${top_srcdir}/src/macuvs.h
|
||||
if test -f ${DSTDIR}/charprop.el; then \
|
||||
(cd ${DSTDIR} && rm -f `sed -n 's/^;; FILE: //p' < charprop.el`); \
|
||||
rm -f ${DSTDIR}/charprop.el; \
|
||||
|
|
|
@ -1,4 +1,18 @@
|
|||
The file `UnicodeData.txt' in this directory is a copy of
|
||||
<http://www.unicode.org/Public/UNIDATA/UnicodeData.txt> on 2012.04.07,
|
||||
and is a part of the Unicode Character Database governed by the "UCD
|
||||
Terms of Use" shown in the file `copyright.html'.
|
||||
Some files in this directory are taken from the Unicode Character
|
||||
Database and the Unicode Ideographic Variation Database. These files
|
||||
are governed by the Unicode Terms of Use contained in the file
|
||||
copyright.html.
|
||||
|
||||
The names, URLs, and dates for these files are as follows.
|
||||
|
||||
BidiMirroring.txt
|
||||
http://www.unicode.org/Public/6.3.0/ucd/BidiMirroring.txt
|
||||
2013-02-12
|
||||
|
||||
IVD_Sequences.txt
|
||||
http://www.unicode.org/ivd/data/2012-03-02/IVD_Sequences.txt
|
||||
2012-03-02
|
||||
|
||||
UnicodeData.txt
|
||||
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
|
||||
2012-04-07
|
||||
|
|
|
@ -5,37 +5,32 @@
|
|||
<head>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
<meta name="VI60_defaultClientScript" content="JavaScript">
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 12.0">
|
||||
|
||||
<meta name="keywords" content="Unicode Standard, copyright">
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
<title>Unicode Terms of Use</title>
|
||||
|
||||
<link rel="stylesheet" type="text/css"
|
||||
|
||||
href="http://www.unicode.org/webscripts/standard_styles.css">
|
||||
|
||||
</head>
|
||||
<style type="text/css">
|
||||
pre {
|
||||
FONT-FAMILY: Arial, Geneva, sans-serif;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
<body text="#330000">
|
||||
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
||||
|
||||
<tr>
|
||||
|
||||
<td colspan="2">
|
||||
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
|
||||
<tr>
|
||||
|
||||
<td class="icon"><a href="http://www.unicode.org/"><img border="0"
|
||||
|
@ -136,7 +131,7 @@ <h1>Unicode Terms of Use</h1>
|
|||
<ol type="A">
|
||||
<li><u><a name="1"></a>Unicode Copyright.</u>
|
||||
<ol>
|
||||
<li>Copyright © 1991-2013 Unicode, Inc. All rights reserved.</li>
|
||||
<li>Copyright © 1991-2014 Unicode, Inc. All rights reserved.</li>
|
||||
<li>Certain documents and files on this website contain a legend
|
||||
indicating that "Modification is permitted." Any person is
|
||||
hereby authorized, without fee, to modify such documents and
|
||||
|
@ -249,40 +244,72 @@ <h1>Unicode Terms of Use</h1>
|
|||
</ol>
|
||||
</blockquote>
|
||||
<hr width="95%">
|
||||
|
||||
|
||||
<blockquote>
|
||||
<h3 align="center"><a name="Exhibit1">EXHIBIT 1</a><br>
|
||||
UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE</h3>
|
||||
<blockquote>
|
||||
<p>Unicode Data Files include all data files under the directories
|
||||
<a href="http://www.unicode.org/Public/">http://www.unicode.org/Public/</a>,
|
||||
<a href="http://www.unicode.org/reports/">http://www.unicode.org/reports/</a>,
|
||||
and
|
||||
<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/">
|
||||
http://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
|
||||
published in the Unicode Standard or under the directories <a href="http://www.unicode.org/Public/">http://www.unicode.org/Public/</a>,
|
||||
<a href="http://www.unicode.org/reports/">http://www.unicode.org/reports/</a>,
|
||||
and
|
||||
<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/">
|
||||
|
||||
|
||||
<p>Unicode Data Files include all data files under the directories
|
||||
<a href="http://www.unicode.org/Public/">http://www.unicode.org/Public/</a>, <a href="http://www.unicode.org/reports/">http://www.unicode.org/reports/</a>, and <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/">
|
||||
http://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 published in the Unicode Standard
|
||||
or under the directories <a href="http://www.unicode.org/Public/">http://www.unicode.org/Public/</a>,
|
||||
<a href="http://www.unicode.org/reports/">http://www.unicode.org/reports/</a>, and <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/">
|
||||
http://www.unicode.org/cldr/data/</a>.</p>
|
||||
|
||||
<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>
|
||||
<p>COPYRIGHT AND PERMISSION NOTICE</p>
|
||||
<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>
|
||||
|
||||
<p>Copyright © 1991-2013 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in
|
||||
<a href="http://www.unicode.org/copyright.html">http://www.unicode.org/copyright.html</a>.</p>
|
||||
<div align="center">
|
||||
|
||||
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and
|
||||
any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that (a) the above copyright notice(s) and this permission notice appear
|
||||
with all copies of the Data Files or Software, (b) both the above copyright notice(s) and this permission notice appear in associated documentation, and (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified.</p>
|
||||
<table class="simple"><tr><td>
|
||||
<pre>COPYRIGHT AND PERMISSION NOTICE
|
||||
|
||||
<p>THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THE DATA FILES OR SOFTWARE.</p>
|
||||
Copyright © 1991-2014 Unicode, Inc. All rights reserved.
|
||||
Distributed under the Terms of Use in
|
||||
<a href="http://www.unicode.org/copyright.html">http://www.unicode.org/copyright.html</a>.
|
||||
|
||||
<p>Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.</p>
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Unicode data files and any associated documentation
|
||||
(the "Data Files") or Unicode software and any associated documentation
|
||||
(the "Software") to deal in the Data Files or Software
|
||||
without restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, and/or sell copies of
|
||||
the Data Files or Software, and to permit persons to whom the Data Files
|
||||
or Software are furnished to do so, provided that
|
||||
(a) this copyright and permission notice appear with all copies
|
||||
of the Data Files or Software,
|
||||
(b) this copyright and permission notice appear in associated
|
||||
documentation, and
|
||||
(c) there is clear notice in each modified Data File or in the Software
|
||||
as well as in the documentation associated with the Data File(s) or
|
||||
Software that the data or software has been modified.
|
||||
|
||||
<hr width="80%">
|
||||
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
|
||||
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
|
||||
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
||||
|
||||
<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>
|
||||
Except as contained in this notice, the name of a copyright holder
|
||||
shall not be used in advertising or otherwise to promote the sale,
|
||||
use or other dealings in these Data Files or Software without prior
|
||||
written authorization of the copyright holder.</pre>
|
||||
</td></tr></table>
|
||||
</div>
|
||||
|
||||
|
||||
</blockquote>
|
||||
|
|
|
@ -200,6 +200,7 @@ corresponding number."
|
|||
(insert-file-contents filename)
|
||||
(setq uvs-alist (uvs-alist-from-ivd collection-id
|
||||
sequence-id-to-glyph-func)))))
|
||||
(princ "/* Automatically generated by uvs.el. */\n")
|
||||
(princ
|
||||
(format "static const unsigned char mac_uvs_table_%s_bytes[] =\n {\n"
|
||||
(replace-regexp-in-string "[^_[:alnum:]]" "_"
|
|
@ -4332,7 +4332,7 @@ if test x$GCC = xyes; then
|
|||
else
|
||||
case $opsys in
|
||||
dnl irix: Tested on Irix 6.5. SCM worked on earlier versions.
|
||||
dragonfly | freebsd | netbsd | openbsd | irix6-5 | sol2* )
|
||||
aix* | dragonfly | freebsd | netbsd | openbsd | irix6-5 | sol2* )
|
||||
AC_DEFINE(GC_SETJMP_WORKS, 1)
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2014-06-02 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* macos.texi (Mac / GNUstep Customization): Mention ns custom group.
|
||||
(Customization options specific to Mac OS / GNUstep): Remove section.
|
||||
|
||||
* abbrevs.texi (Expanding Abbrevs): Update re abbrev-expand-function.
|
||||
|
||||
2014-05-26 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* frames.texi (Fonts): Clarify which frames are affected by
|
||||
|
|
|
@ -206,8 +206,9 @@ to turn on Abbrev mode first. It may also be useful together with a
|
|||
special set of abbrev definitions for making several global replacements at
|
||||
once. This command is effective even if Abbrev mode is not enabled.
|
||||
|
||||
Expanding any abbrev runs @code{abbrev-expand-functions}, a special
|
||||
hook. Functions in this special hook can make arbitrary changes to
|
||||
The function @code{expand-abbrev} performs the expansion by calling
|
||||
the function that @code{abbrev-expand-function} specifies. By
|
||||
changing this function you can make arbitrary changes to
|
||||
the abbrev expansion. @xref{Abbrev Expansion,,, elisp, The Emacs Lisp
|
||||
Reference Manual}.
|
||||
|
||||
|
|
|
@ -90,9 +90,10 @@ of setting PATH is recommended on Mac OS X 10.5 and later, using the
|
|||
@node Mac / GNUstep Customization
|
||||
@section Mac / GNUstep Customization
|
||||
|
||||
Emacs can be customized in several ways in addition to the standard
|
||||
customization buffers and the Options menu.
|
||||
|
||||
There are a few customization options that are specific to the
|
||||
Nextstep port. For example, they affect things such as the modifier
|
||||
keys and the fullscreen behavior. To see all such options, use
|
||||
@kbd{M-x customize-group @key{RET} ns @key{RET}}.
|
||||
|
||||
@subsection Font and Color Panels
|
||||
|
||||
|
@ -116,16 +117,14 @@ close the altered one.
|
|||
Useful in this context is the listing of all faces obtained by
|
||||
@kbd{M-x list-faces-display}.
|
||||
|
||||
@subsection Customization options specific to Mac OS / GNUstep
|
||||
@cindex Core Text, on Mac OS X
|
||||
In Mac OS X 10.5 and later, Emacs uses a Core Text based font backend
|
||||
by default. If you prefer the older font style, enter the following
|
||||
at the command-line before starting Emacs:
|
||||
|
||||
The following customization options are specific to the Nextstep port.
|
||||
|
||||
@table @code
|
||||
@item ns-auto-hide-menu-bar
|
||||
Non-nil means the menu-bar is hidden by default, but appears if you
|
||||
move the mouse pointer over it. (Requires Mac OS X 10.6 or later.)
|
||||
|
||||
@end table
|
||||
@example
|
||||
% defaults write org.gnu.Emacs FontBackend ns
|
||||
@end example
|
||||
|
||||
|
||||
@node Mac / GNUstep Events
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2014-06-02 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* text.texi (Buffer Contents):
|
||||
Update for filter-buffer-substring changes.
|
||||
|
||||
* abbrevs.texi (Abbrev Expansion): Update for expand-abbrev changes.
|
||||
* functions.texi (Advising Functions): Standardize menu case.
|
||||
|
||||
2014-05-26 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* display.texi (Invisible Text): Clarify the description of
|
||||
|
|
|
@ -257,13 +257,16 @@ as in @code{abbrev-symbol}.
|
|||
|
||||
@deffn Command expand-abbrev
|
||||
This command expands the abbrev before point, if any. If point does not
|
||||
follow an abbrev, this command does nothing. The command returns the
|
||||
abbrev symbol if it did expansion, @code{nil} otherwise.
|
||||
follow an abbrev, this command does nothing. To do the expansion, it
|
||||
calls the function that is the value of the @code{abbrev-expand-function}
|
||||
variable, with no arguments, and returns whatever that function does.
|
||||
|
||||
If the abbrev symbol has a hook function that is a symbol whose
|
||||
@code{no-self-insert} property is non-@code{nil}, and if the hook
|
||||
function returns @code{nil} as its value, then @code{expand-abbrev}
|
||||
returns @code{nil} even though expansion did occur.
|
||||
The default expansion function returns the abbrev symbol if it did
|
||||
expansion, and @code{nil} otherwise. If the abbrev symbol has a hook
|
||||
function that is a symbol whose @code{no-self-insert} property is
|
||||
non-@code{nil}, and if the hook function returns @code{nil} as its
|
||||
value, then the default expansion function returns @code{nil},
|
||||
even though expansion did occur.
|
||||
@end deffn
|
||||
|
||||
@defun abbrev-insert abbrev &optional name start end
|
||||
|
@ -331,24 +334,21 @@ has already been unexpanded. This contains information left by
|
|||
@code{expand-abbrev} for the sake of the @code{unexpand-abbrev} command.
|
||||
@end defvar
|
||||
|
||||
@defvar abbrev-expand-functions
|
||||
This is a wrapper hook (@pxref{Running Hooks}) run around the
|
||||
@code{expand-abbrev} function. Each function on this hook is called
|
||||
with a single argument: a function that performs the normal abbrev
|
||||
expansion. The hook function can hence do anything it wants before
|
||||
and after performing the expansion. It can also choose not to call
|
||||
its argument, thus overriding the default behavior; or it may even
|
||||
call it several times. The function should return the abbrev symbol
|
||||
if expansion took place.
|
||||
@defvar abbrev-expand-function
|
||||
The value of this variable is a function that @code{expand-abbrev}
|
||||
will call with no arguments to do the expansion. The function can do
|
||||
anything it wants before and after performing the expansion.
|
||||
It should return the abbrev symbol if expansion took place.
|
||||
@end defvar
|
||||
|
||||
The following sample code shows a simple use of
|
||||
@code{abbrev-expand-functions}. It assumes that @code{foo-mode} is a
|
||||
@code{abbrev-expand-function}. It assumes that @code{foo-mode} is a
|
||||
mode for editing certain files in which lines that start with @samp{#}
|
||||
are comments. You want to use Text mode abbrevs for those lines. The
|
||||
regular local abbrev table, @code{foo-mode-abbrev-table} is
|
||||
appropriate for all other lines. @xref{Standard Abbrev Tables}, for the
|
||||
definitions of @code{local-abbrev-table} and @code{text-mode-abbrev-table}.
|
||||
@xref{Advising Functions}, for details of @code{add-function}.
|
||||
|
||||
@smallexample
|
||||
(defun foo-mode-abbrev-expand-function (expand)
|
||||
|
@ -361,9 +361,8 @@ definitions of @code{local-abbrev-table} and @code{text-mode-abbrev-table}.
|
|||
|
||||
(add-hook 'foo-mode-hook
|
||||
#'(lambda ()
|
||||
(add-hook 'abbrev-expand-functions
|
||||
'foo-mode-abbrev-expand-function
|
||||
nil t)))
|
||||
(add-function :around (local 'abbrev-expand-function)
|
||||
#'foo-mode-abbrev-expand-function)))
|
||||
@end smallexample
|
||||
|
||||
@node Standard Abbrev Tables
|
||||
|
|
|
@ -1207,10 +1207,10 @@ specify how the two functions are composed, since there are many different
|
|||
ways to do it. The added function is also called an @emph{advice}.
|
||||
|
||||
@menu
|
||||
* Core Advising Primitives:: Primitives to Manipulate Advices
|
||||
* Advising Named Functions:: Advising Named Functions
|
||||
* Advice combinators:: Ways to compose advices
|
||||
* Porting old advices:: Adapting code using the old defadvice
|
||||
* Core Advising Primitives:: Primitives to manipulate advice.
|
||||
* Advising Named Functions:: Advising named functions.
|
||||
* Advice combinators:: Ways to compose advice.
|
||||
* Porting old advices:: Adapting code using the old defadvice.
|
||||
@end menu
|
||||
|
||||
@node Core Advising Primitives
|
||||
|
|
|
@ -240,11 +240,9 @@ choose-completion-string-functions
|
|||
completing-read-function
|
||||
completion-annotate-function
|
||||
completion-at-point-functions
|
||||
completion-in-region-functions
|
||||
completion-list-insert-choice-function
|
||||
deactivate-current-input-method-function
|
||||
describe-current-input-method-function
|
||||
filter-buffer-substring-functions
|
||||
font-lock-function
|
||||
menu-bar-select-buffer-function
|
||||
read-file-name-function
|
||||
|
|
|
@ -220,15 +220,17 @@ the current buffer, as a string.
|
|||
@end defun
|
||||
|
||||
@defun filter-buffer-substring start end &optional delete
|
||||
This function passes the buffer text between @var{start} and @var{end}
|
||||
through the filter functions specified by the wrapper hook
|
||||
@code{filter-buffer-substring-functions}, and returns the result. The
|
||||
obsolete variable @code{buffer-substring-filters} is also consulted.
|
||||
If both of these variables are @code{nil}, the value is the unaltered
|
||||
text from the buffer, i.e., what @code{buffer-substring} would
|
||||
return.
|
||||
This function filters the buffer text between @var{start} and @var{end}
|
||||
using a function specified by the variable
|
||||
@code{filter-buffer-substring-function}, and returns the result.
|
||||
|
||||
If @var{delete} is non-@code{nil}, this function deletes the text
|
||||
The default filter function consults the obsolete wrapper hook
|
||||
@code{filter-buffer-substring-functions}, and the obsolete variable
|
||||
@code{buffer-substring-filters}. If both of these are @code{nil}, it
|
||||
returns the unaltered text from the buffer, i.e., what
|
||||
@code{buffer-substring} would return.
|
||||
|
||||
If @var{delete} is non-@code{nil}, the function deletes the text
|
||||
between @var{start} and @var{end} after copying it, like
|
||||
@code{delete-and-extract-region}.
|
||||
|
||||
|
@ -236,20 +238,29 @@ Lisp code should use this function instead of @code{buffer-substring},
|
|||
@code{buffer-substring-no-properties},
|
||||
or @code{delete-and-extract-region} when copying into user-accessible
|
||||
data structures such as the kill-ring, X clipboard, and registers.
|
||||
Major and minor modes can add functions to
|
||||
@code{filter-buffer-substring-functions} to alter such text as it is
|
||||
copied out of the buffer.
|
||||
Major and minor modes can modify @code{filter-buffer-substring-function}
|
||||
to alter such text as it is copied out of the buffer.
|
||||
@end defun
|
||||
|
||||
@c FIXME: `filter-buffer-substring-function' should be documented.
|
||||
@defvar filter-buffer-substring-function
|
||||
The value of this variable is a function that @code{filter-buffer-substring}
|
||||
will call to do the actual work. The function receives three
|
||||
arguments, the same as those of @code{filter-buffer-substring},
|
||||
which it should treat as per the documentation of that function. It
|
||||
should return the filtered text (and optionally delete the source text).
|
||||
@end defvar
|
||||
|
||||
@noindent The following two variables are obsoleted by
|
||||
@code{filter-buffer-substring-function}, but are still supported for
|
||||
backward compatibility.
|
||||
|
||||
@defvar filter-buffer-substring-functions
|
||||
This variable is a wrapper hook (@pxref{Running Hooks}), whose members
|
||||
should be functions that accept four arguments: @var{fun},
|
||||
@var{start}, @var{end}, and @var{delete}. @var{fun} is a function
|
||||
that takes three arguments (@var{start}, @var{end}, and @var{delete}),
|
||||
and returns a string. In both cases, the @var{start}, @var{end}, and
|
||||
@var{delete} arguments are the same as those of
|
||||
@code{filter-buffer-substring}.
|
||||
This obsolete variable is a wrapper hook, whose members should be functions
|
||||
that accept four arguments: @var{fun}, @var{start}, @var{end}, and
|
||||
@var{delete}. @var{fun} is a function that takes three arguments
|
||||
(@var{start}, @var{end}, and @var{delete}), and returns a string. In
|
||||
both cases, the @var{start}, @var{end}, and @var{delete} arguments are
|
||||
the same as those of @code{filter-buffer-substring}.
|
||||
|
||||
The first hook function is passed a @var{fun} that is equivalent to
|
||||
the default operation of @code{filter-buffer-substring}, i.e., it
|
||||
|
@ -263,14 +274,12 @@ hook functions acting in sequence.
|
|||
@end defvar
|
||||
|
||||
@defvar buffer-substring-filters
|
||||
This variable is obsoleted by
|
||||
@code{filter-buffer-substring-functions}, but is still supported for
|
||||
backward compatibility. Its value should should be a list of
|
||||
functions which accept a single string argument and return another
|
||||
string. @code{filter-buffer-substring} passes the buffer substring to
|
||||
the first function in this list, and the return value of each function
|
||||
is passed to the next function. The return value of the last function
|
||||
is passed to @code{filter-buffer-substring-functions}.
|
||||
The value of this obsolete variable should be a list of functions
|
||||
that accept a single string argument and return another string.
|
||||
The default @code{filter-buffer-substring} function passes the buffer
|
||||
substring to the first function in this list, and the return value of
|
||||
each function is passed to the next function. The return value of the
|
||||
last function is passed to @code{filter-buffer-substring-functions}.
|
||||
@end defvar
|
||||
|
||||
@defun current-word &optional strict really-word
|
||||
|
|
21
etc/NEWS
21
etc/NEWS
|
@ -1492,6 +1492,7 @@ This is like the old `eval-after-load', but better behaved.
|
|||
*** `generic-make-keywords-list'
|
||||
*** `get-upcase-table' (use `case-table-get-table' instead).
|
||||
|
||||
+++
|
||||
** `with-wrapper-hook' is obsoleted by `add-function'.
|
||||
The few hooks that used with-wrapper-hook are replaced as follows:
|
||||
*** `abbrev-expand-function' obsoletes `abbrev-expand-functions'.
|
||||
|
@ -1729,19 +1730,21 @@ edited in another Emacs session or by another user. See the node
|
|||
"Interlocking" in the Emacs User Manual for the details. To disable
|
||||
file locking, customize `create-lockfiles' to nil.
|
||||
|
||||
+++
|
||||
** New Core Text based font backend for Mac OS X 10.5 and newer.
|
||||
To use the old font backend, use the following on the command line:
|
||||
% defaults write org.gnu.Emacs FontBackend ns
|
||||
GNUstep and Mac OS X 10.4 use the old font backend.
|
||||
To use the old backend by default, do on the command line:
|
||||
% defaults write org.gnu.Emacs FontBackend ns
|
||||
|
||||
** Improved fullscreen support on Mac OS X.
|
||||
Emacs supports both native (Mac OS X 10.7 and newer) and "old style" fullscreen.
|
||||
Customize `ns-use-native-fullscreen' to change the style.
|
||||
For Mac OS X 10.7 and newer, native is the default.
|
||||
---
|
||||
** Improved fullscreen support on Mac OS X 10.7 and newer, where the
|
||||
default fullscreen method is now "native" fullscreen. To use the
|
||||
old style fullscreen, customize `ns-use-native-fullscreen' to nil.
|
||||
|
||||
** On Mac OS X 10.7 and newer, Emacs uses sRGB colorspace by default.
|
||||
Customize `ns-use-srgb-colorspace' to disable this. Note that this
|
||||
does not apply to images.
|
||||
---
|
||||
** On Mac OS X 10.7 and newer, Emacs can use sRGB colorspace, and does so
|
||||
by default. Customize `ns-use-srgb-colorspace' to go back to the old method.
|
||||
Note that this does not apply to images.
|
||||
|
||||
|
||||
* Installation Changes in Emacs 24.3
|
||||
|
|
|
@ -1,3 +1,75 @@
|
|||
2014-06-02 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* simple.el (keyboard-quit): Force update of mode lines, to remove
|
||||
the "Def" indicator, if we were defining a macro. (Bug#17615)
|
||||
|
||||
2014-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* minibuffer.el (minibuffer-force-complete-and-exit):
|
||||
Obey minibuffer-default (bug#17545).
|
||||
|
||||
* progmodes/js.el (js-indent-line): Don't mix columns and chars
|
||||
(bug#17619).
|
||||
|
||||
* subr.el (set-transient-map): Don't wait for some "nested"
|
||||
transient-map to finish if we're only supposed to be active for
|
||||
the next command (bug#17642).
|
||||
|
||||
2014-06-02 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* emacs-lisp/gv.el (window-buffer, window-display-table)
|
||||
(window-dedicated-p, window-hscroll, window-point, window-start):
|
||||
Fix gv-expander. (Bug#17630)
|
||||
|
||||
2014-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* mouse.el (mouse-posn-property): Ignore posn-point for mode-line
|
||||
clicks (bug#17633).
|
||||
|
||||
* leim/quail/latin-pre.el ("latin-2-prefix"): Use ",," rather than ", "
|
||||
for the single comma, since ", " is *very* common in normal French text
|
||||
(bug#17643).
|
||||
|
||||
2014-06-02 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* emacs-lisp/package.el (package-check-signature)
|
||||
(package-unsigned-archives): Fix :version.
|
||||
|
||||
2014-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* subr.el (sit-for): Don't run input-methods (bug#15614).
|
||||
|
||||
2014-06-02 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* cus-start.el: Fix some :version numbers.
|
||||
|
||||
2014-06-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* simple.el (deactivate-mark): Set mark-active to nil even if
|
||||
deactivation is done via setting transient-mark-mode to nil,
|
||||
since one is buffer-local and the other is global.
|
||||
|
||||
* emacs-lisp/byte-opt.el (byte-optimize-binary-predicate): Don't assume
|
||||
there can't be more than 2 arguments (bug#17584).
|
||||
|
||||
2014-06-02 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* simple.el (filter-buffer-substring-functions)
|
||||
(filter-buffer-substring-function, buffer-substring-filters)
|
||||
(filter-buffer-substring, buffer-substring--filter): Doc fixes.
|
||||
|
||||
* minibuffer.el (completion-in-region-functions, completion-in-region)
|
||||
(completion--in-region): Doc fixes.
|
||||
|
||||
* abbrev.el (abbrev-expand-functions, abbrev-expand-function)
|
||||
(expand-abbrev, abbrev--default-expand): Doc fixes.
|
||||
|
||||
2014-06-02 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Include sources used to create macuvs.h.
|
||||
* international/README: Refer to the Unicode Terms of Use rather
|
||||
than copying it bodily here, as that simplifies maintenance.
|
||||
|
||||
2014-06-01 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* loadup.el (load-prefer-newer): Set non-nil when dumping. (Bug#17629)
|
||||
|
|
|
@ -824,23 +824,28 @@ see `define-abbrev' for details."
|
|||
value))
|
||||
|
||||
(defvar abbrev-expand-functions nil
|
||||
"Wrapper hook around `expand-abbrev'.")
|
||||
"Wrapper hook around `abbrev--default-expand'.")
|
||||
(make-obsolete-variable 'abbrev-expand-functions 'abbrev-expand-function "24.4")
|
||||
|
||||
(defvar abbrev-expand-function #'abbrev--default-expand
|
||||
"Function to perform abbrev expansion.
|
||||
"Function that `expand-abbrev' uses to perform abbrev expansion.
|
||||
Takes no argument and should return the abbrev symbol if expansion took place.")
|
||||
|
||||
(defun expand-abbrev ()
|
||||
"Expand the abbrev before point, if there is an abbrev there.
|
||||
Effective when explicitly called even when `abbrev-mode' is nil.
|
||||
Returns the abbrev symbol, if expansion took place. (The actual
|
||||
return value is that of `abbrev-insert'.)"
|
||||
Before doing anything else, runs `pre-abbrev-expand-hook'.
|
||||
Calls `abbrev-expand-function' with no argument to do the work,
|
||||
and returns whatever it does. (This should be the abbrev symbol
|
||||
if expansion occurred, else nil.)"
|
||||
(interactive)
|
||||
(run-hooks 'pre-abbrev-expand-hook)
|
||||
(funcall abbrev-expand-function))
|
||||
|
||||
(defun abbrev--default-expand ()
|
||||
"Default function to use for `abbrev-expand-function'.
|
||||
This respects the wrapper hook `abbrev-expand-functions'.
|
||||
Calls `abbrev-insert' to insert any expansion, and returns what it does."
|
||||
(with-wrapper-hook abbrev-expand-functions ()
|
||||
(pcase-let ((`(,sym ,name ,wordstart ,wordend) (abbrev--before-point)))
|
||||
(when sym
|
||||
|
|
|
@ -366,7 +366,7 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
|
|||
left)
|
||||
(const control) (const meta)
|
||||
(const alt) (const hyper)
|
||||
(const super)) "24.0")
|
||||
(const super)) "24.1")
|
||||
(ns-command-modifier
|
||||
ns
|
||||
(choice (const :tag "No modifier" nil)
|
||||
|
@ -380,7 +380,7 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
|
|||
left)
|
||||
(const control) (const meta)
|
||||
(const alt) (const hyper)
|
||||
(const super)) "24.0")
|
||||
(const super)) "24.1")
|
||||
(ns-alternate-modifier
|
||||
ns
|
||||
(choice (const :tag "No modifier (work as alternate/option)" none)
|
||||
|
@ -402,7 +402,7 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
|
|||
(const alt) (const hyper)
|
||||
(const super)) "23.1")
|
||||
(ns-antialias-text ns boolean "23.1")
|
||||
(ns-auto-hide-menu-bar ns boolean "24.0")
|
||||
(ns-auto-hide-menu-bar ns boolean "24.1")
|
||||
(ns-use-native-fullscreen ns boolean "24.4")
|
||||
(ns-use-srgb-colorspace ns boolean "24.4")
|
||||
;; process.c
|
||||
|
|
|
@ -859,14 +859,16 @@
|
|||
|
||||
|
||||
(defun byte-optimize-binary-predicate (form)
|
||||
(if (macroexp-const-p (nth 1 form))
|
||||
(if (macroexp-const-p (nth 2 form))
|
||||
(condition-case ()
|
||||
(list 'quote (eval form))
|
||||
(error form))
|
||||
;; This can enable some lapcode optimizations.
|
||||
(list (car form) (nth 2 form) (nth 1 form)))
|
||||
form))
|
||||
(cond
|
||||
((or (not (macroexp-const-p (nth 1 form)))
|
||||
(nthcdr 3 form)) ;; In case there are more than 2 args.
|
||||
form)
|
||||
((macroexp-const-p (nth 2 form))
|
||||
(condition-case ()
|
||||
(list 'quote (eval form))
|
||||
(error form)))
|
||||
(t ;; This can enable some lapcode optimizations.
|
||||
(list (car form) (nth 2 form) (nth 1 form)))))
|
||||
|
||||
(defun byte-optimize-predicate (form)
|
||||
(let ((ok t)
|
||||
|
|
|
@ -340,13 +340,18 @@ The return value is the last VAL in the list.
|
|||
(gv-define-simple-setter process-filter set-process-filter)
|
||||
(gv-define-simple-setter process-sentinel set-process-sentinel)
|
||||
(gv-define-simple-setter process-get process-put)
|
||||
(gv-define-simple-setter window-buffer set-window-buffer)
|
||||
(gv-define-simple-setter window-display-table set-window-display-table 'fix)
|
||||
(gv-define-simple-setter window-dedicated-p set-window-dedicated-p)
|
||||
(gv-define-simple-setter window-hscroll set-window-hscroll)
|
||||
(gv-define-simple-setter window-parameter set-window-parameter)
|
||||
(gv-define-simple-setter window-point set-window-point)
|
||||
(gv-define-simple-setter window-start set-window-start)
|
||||
(gv-define-setter window-buffer (v &optional w)
|
||||
(macroexp-let2 nil v v
|
||||
`(progn (set-window-buffer ,w ,v) ,v)))
|
||||
(gv-define-setter window-display-table (v &optional w)
|
||||
(macroexp-let2 nil v v
|
||||
`(progn (set-window-display-table ,w ,v) ,v)))
|
||||
(gv-define-setter window-dedicated-p (v &optional w)
|
||||
`(set-window-dedicated-p ,w ,v))
|
||||
(gv-define-setter window-hscroll (v &optional w) `(set-window-hscroll ,w ,v))
|
||||
(gv-define-setter window-point (v &optional w) `(set-window-point ,w ,v))
|
||||
(gv-define-setter window-start (v &optional w) `(set-window-start ,w ,v))
|
||||
|
||||
(gv-define-setter buffer-local-value (val var buf)
|
||||
(macroexp-let2 nil v val
|
||||
|
|
|
@ -291,14 +291,14 @@ contrast, `package-user-dir' contains packages for personal use."
|
|||
(const t :tag "Check always"))
|
||||
:risky t
|
||||
:group 'package
|
||||
:version "24.1")
|
||||
:version "24.4")
|
||||
|
||||
(defcustom package-unsigned-archives nil
|
||||
"A list of archives which do not use package signature."
|
||||
:type '(repeat (string :tag "Archive name"))
|
||||
:risky t
|
||||
:group 'package
|
||||
:version "24.1")
|
||||
:version "24.4")
|
||||
|
||||
(defvar package--default-summary "No description available.")
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2014-06-02 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
* html2text.el (html2text-get-attr): Fix typo when splitting value from
|
||||
attribute. (Bug#17613)
|
||||
|
||||
2014-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* mm-view.el (mm-display-inline-fontify): Use font-lock-ensure.
|
||||
|
|
|
@ -204,7 +204,7 @@ formatting, and then moved afterward.")
|
|||
;; size=3
|
||||
((string-match "[^ ]=[^ ]" this)
|
||||
(let ((attr (nth 0 (split-string this "=")))
|
||||
(value (substring prev (1+ (string-match "=" this)))))
|
||||
(value (substring this (1+ (string-match "=" this)))))
|
||||
(setq attr-list (cons (list attr value) attr-list))))
|
||||
;; size =3
|
||||
((string-match "\\`=[^ ]" this)
|
||||
|
|
|
@ -9,40 +9,5 @@ Data File at http://www.unicode.org/Public/UNIDATA/UnicodeData.txt:
|
|||
These files were generated from the version admin/unidata/UnicodeData.txt
|
||||
in the Emacs sources, using the file unidata-gen.el in the same directory.
|
||||
|
||||
The file UnicodeData.txt is used under the terms of the following
|
||||
Copyright and Permission Notice:
|
||||
|
||||
|
||||
Copyright (C) 1991-2013 Unicode, Inc. All rights reserved. Distributed
|
||||
under the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Unicode data files and any associated documentation (the
|
||||
"Data Files") or Unicode software and any associated documentation
|
||||
(the "Software") to deal in the Data Files or Software without
|
||||
restriction, including without limitation the rights to use, copy,
|
||||
modify, merge, publish, distribute, and/or sell copies of the Data
|
||||
Files or Software, and to permit persons to whom the Data Files or
|
||||
Software are furnished to do so, provided that (a) the above copyright
|
||||
notice(s) and this permission notice appear with all copies of the
|
||||
Data Files or Software, (b) both the above copyright notice(s) and
|
||||
this permission notice appear in associated documentation, and (c)
|
||||
there is clear notice in each modified Data File or in the Software as
|
||||
well as in the documentation associated with the Data File(s) or
|
||||
Software that the data or software has been modified.
|
||||
|
||||
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT
|
||||
HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR
|
||||
ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
||||
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
|
||||
SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder
|
||||
shall not be used in advertising or otherwise to promote the sale, use
|
||||
or other dealings in these Data Files or Software without prior
|
||||
written authorization of the copyright holder.
|
||||
The file UnicodeData.txt is used under the Unicode Terms of Use,
|
||||
contained in the file admin/unidata/copyright.html.
|
||||
|
|
|
@ -306,7 +306,7 @@ Key translation rules are:
|
|||
("~ " ?~)
|
||||
(",C" ?Ç)
|
||||
(",c" ?ç)
|
||||
(", " ?,)
|
||||
(",," ?,)
|
||||
)
|
||||
|
||||
(quail-define-package
|
||||
|
|
|
@ -1224,12 +1224,16 @@ scroll the window of possible completions."
|
|||
(defun minibuffer-force-complete-and-exit ()
|
||||
"Complete the minibuffer with first of the matches and exit."
|
||||
(interactive)
|
||||
(minibuffer-force-complete)
|
||||
(completion--complete-and-exit
|
||||
(minibuffer-prompt-end) (point-max) #'exit-minibuffer
|
||||
;; If the previous completion completed to an element which fails
|
||||
;; test-completion, then we shouldn't exit, but that should be rare.
|
||||
(lambda () (minibuffer-message "Incomplete"))))
|
||||
(if (and (eq (minibuffer-prompt-end) (point-max))
|
||||
minibuffer-default)
|
||||
;; Use the provided default if there's one (bug#17545).
|
||||
(minibuffer-complete-and-exit)
|
||||
(minibuffer-force-complete)
|
||||
(completion--complete-and-exit
|
||||
(minibuffer-prompt-end) (point-max) #'exit-minibuffer
|
||||
;; If the previous completion completed to an element which fails
|
||||
;; test-completion, then we shouldn't exit, but that should be rare.
|
||||
(lambda () (minibuffer-message "Incomplete")))))
|
||||
|
||||
(defun minibuffer-force-complete (&optional start end)
|
||||
"Complete the minibuffer to an exact match.
|
||||
|
@ -1878,14 +1882,14 @@ variables.")
|
|||
(exit-minibuffer))
|
||||
|
||||
(defvar completion-in-region-functions nil
|
||||
"Wrapper hook around `completion-in-region'.")
|
||||
"Wrapper hook around `completion--in-region'.")
|
||||
(make-obsolete-variable 'completion-in-region-functions
|
||||
'completion-in-region-function "24.4")
|
||||
|
||||
(defvar completion-in-region-function #'completion--in-region
|
||||
"Function to perform the job of `completion-in-region'.
|
||||
The function is called with 4 arguments: START END COLLECTION PREDICATE.
|
||||
The arguments and expected return value are like the ones of
|
||||
The arguments and expected return value are as specified for
|
||||
`completion-in-region'.")
|
||||
|
||||
(defvar completion-in-region--data nil)
|
||||
|
@ -1903,10 +1907,12 @@ we entered `completion-in-region-mode'.")
|
|||
|
||||
(defun completion-in-region (start end collection &optional predicate)
|
||||
"Complete the text between START and END using COLLECTION.
|
||||
Return nil if there is no valid completion, else t.
|
||||
Point needs to be somewhere between START and END.
|
||||
PREDICATE (a function called with no arguments) says when to
|
||||
exit."
|
||||
PREDICATE (a function called with no arguments) says when to exit.
|
||||
This calls the function that `completion-in-region-function' specifies
|
||||
\(passing the same four arguments that it received) to do the work,
|
||||
and returns whatever it does. The return value should be nil
|
||||
if there was no valid completion, else t."
|
||||
(cl-assert (<= start (point)) (<= (point) end))
|
||||
(funcall completion-in-region-function start end collection predicate))
|
||||
|
||||
|
@ -1918,6 +1924,9 @@ exit."
|
|||
:version "22.1")
|
||||
|
||||
(defun completion--in-region (start end collection &optional predicate)
|
||||
"Default function to use for `completion-in-region-function'.
|
||||
Its arguments and return value are as specified for `completion-in-region'.
|
||||
This respects the wrapper hook `completion-in-region-functions'."
|
||||
(with-wrapper-hook
|
||||
;; FIXME: Maybe we should use this hook to provide a "display
|
||||
;; completions" operation as well.
|
||||
|
@ -1943,7 +1952,7 @@ exit."
|
|||
"Keymap activated during `completion-in-region'.")
|
||||
|
||||
;; It is difficult to know when to exit completion-in-region-mode (i.e. hide
|
||||
;; the *Completions*).
|
||||
;; the *Completions*). Here's how previous packages did it:
|
||||
;; - lisp-mode: never.
|
||||
;; - comint: only do it if you hit SPC at the right time.
|
||||
;; - pcomplete: pop it down on SPC or after some time-delay.
|
||||
|
|
|
@ -684,7 +684,10 @@ its value is returned."
|
|||
(str (posn-string pos)))
|
||||
(or (and str
|
||||
(get-text-property (cdr str) property (car str)))
|
||||
(and pt
|
||||
;; FIXME: mouse clicks on the mode-line come with a position in
|
||||
;; (nth 5). Maybe we should change the C code instead so that
|
||||
;; mouse-clicks don't include a position there!
|
||||
(and pt (not (memq (posn-area pos) '(mode-line header-line)))
|
||||
(get-char-property pt property w))))
|
||||
(get-char-property pos property)))
|
||||
|
||||
|
|
|
@ -1907,7 +1907,7 @@ In particular, return the buffer position of the first `for' kwd."
|
|||
(interactive)
|
||||
(let* ((parse-status
|
||||
(save-excursion (syntax-ppss (point-at-bol))))
|
||||
(offset (- (current-column) (current-indentation))))
|
||||
(offset (- (point) (save-excursion (back-to-indentation) (point)))))
|
||||
(indent-line-to (js--proper-indentation parse-status))
|
||||
(when (> offset 0) (forward-char offset))))
|
||||
|
||||
|
|
|
@ -3554,46 +3554,50 @@ These commands include \\[set-mark-command] and \\[start-kbd-macro]."
|
|||
|
||||
|
||||
(defvar filter-buffer-substring-functions nil
|
||||
"This variable is a wrapper hook around `filter-buffer-substring'.")
|
||||
"This variable is a wrapper hook around `buffer-substring--filter'.")
|
||||
(make-obsolete-variable 'filter-buffer-substring-functions
|
||||
'filter-buffer-substring-function "24.4")
|
||||
|
||||
(defvar filter-buffer-substring-function #'buffer-substring--filter
|
||||
"Function to perform the filtering in `filter-buffer-substring'.
|
||||
The function is called with 3 arguments:
|
||||
\(BEG END DELETE). The arguments BEG, END, and DELETE are the same
|
||||
as those of `filter-buffer-substring' in each case.
|
||||
It should return the buffer substring between BEG and END, after filtering.")
|
||||
The function is called with the same 3 arguments (BEG END DELETE)
|
||||
that `filter-buffer-substring' received. It should return the
|
||||
buffer substring between BEG and END, after filtering. If DELETE is
|
||||
non-nil, it should delete the text between BEG and END from the buffer.")
|
||||
|
||||
(defvar buffer-substring-filters nil
|
||||
"List of filter functions for `filter-buffer-substring'.
|
||||
Each function must accept a single argument, a string, and return
|
||||
a string. The buffer substring is passed to the first function
|
||||
in the list, and the return value of each function is passed to
|
||||
the next.
|
||||
"List of filter functions for `buffer-substring--filter'.
|
||||
Each function must accept a single argument, a string, and return a string.
|
||||
The buffer substring is passed to the first function in the list,
|
||||
and the return value of each function is passed to the next.
|
||||
As a special convention, point is set to the start of the buffer text
|
||||
being operated on (i.e., the first argument of `filter-buffer-substring')
|
||||
being operated on (i.e., the first argument of `buffer-substring--filter')
|
||||
before these functions are called.")
|
||||
(make-obsolete-variable 'buffer-substring-filters
|
||||
'filter-buffer-substring-function "24.1")
|
||||
|
||||
(defun filter-buffer-substring (beg end &optional delete)
|
||||
"Return the buffer substring between BEG and END, after filtering.
|
||||
The hook `filter-buffer-substring-function' performs the actual filtering.
|
||||
By default, no filtering is done.
|
||||
If DELETE is non-nil, delete the text between BEG and END from the buffer.
|
||||
|
||||
If DELETE is non-nil, the text between BEG and END is deleted
|
||||
from the buffer.
|
||||
This calls the function that `filter-buffer-substring-function' specifies
|
||||
\(passing the same three arguments that it received) to do the work,
|
||||
and returns whatever it does. The default function does no filtering,
|
||||
unless a hook has been set.
|
||||
|
||||
This function should be used instead of `buffer-substring',
|
||||
`buffer-substring-no-properties', or `delete-and-extract-region'
|
||||
when you want to allow filtering to take place. For example,
|
||||
major or minor modes can use `filter-buffer-substring-function' to
|
||||
extract characters that are special to a buffer, and should not
|
||||
be copied into other buffers."
|
||||
Use `filter-buffer-substring' instead of `buffer-substring',
|
||||
`buffer-substring-no-properties', or `delete-and-extract-region' when
|
||||
you want to allow filtering to take place. For example, major or minor
|
||||
modes can use `filter-buffer-substring-function' to extract characters
|
||||
that are special to a buffer, and should not be copied into other buffers."
|
||||
(funcall filter-buffer-substring-function beg end delete))
|
||||
|
||||
(defun buffer-substring--filter (beg end &optional delete)
|
||||
"Default function to use for `filter-buffer-substring-function'.
|
||||
Its arguments and return value are as specified for `filter-buffer-substring'.
|
||||
This respects the wrapper hook `filter-buffer-substring-functions',
|
||||
and the abnormal hook `buffer-substring-filters'.
|
||||
No filtering is done unless a hook says to."
|
||||
(with-wrapper-hook filter-buffer-substring-functions (beg end delete)
|
||||
(cond
|
||||
((or delete buffer-substring-filters)
|
||||
|
@ -4496,17 +4500,13 @@ run `deactivate-mark-hook'."
|
|||
(x-set-selection 'PRIMARY
|
||||
(funcall region-extract-function nil)))))
|
||||
(when mark-active (force-mode-line-update)) ;Refresh toolbar (bug#16382).
|
||||
(if (and (null force)
|
||||
(or (eq transient-mark-mode 'lambda)
|
||||
(and (eq (car-safe transient-mark-mode) 'only)
|
||||
(null (cdr transient-mark-mode)))))
|
||||
;; When deactivating a temporary region, don't change
|
||||
;; `mark-active' or run `deactivate-mark-hook'.
|
||||
(setq transient-mark-mode nil)
|
||||
(if (eq (car-safe transient-mark-mode) 'only)
|
||||
(setq transient-mark-mode (cdr transient-mark-mode)))
|
||||
(setq mark-active nil)
|
||||
(run-hooks 'deactivate-mark-hook))
|
||||
(cond
|
||||
((eq (car-safe transient-mark-mode) 'only)
|
||||
(setq transient-mark-mode (cdr transient-mark-mode)))
|
||||
((eq transient-mark-mode 'lambda)
|
||||
(setq transient-mark-mode nil)))
|
||||
(setq mark-active nil)
|
||||
(run-hooks 'deactivate-mark-hook)
|
||||
(redisplay--update-region-highlight (selected-window))))
|
||||
|
||||
(defun activate-mark (&optional no-tmm)
|
||||
|
@ -6681,6 +6681,10 @@ At top-level, as an editor command, this simply beeps."
|
|||
(kmacro-keyboard-quit))
|
||||
(when completion-in-region-mode
|
||||
(completion-in-region-mode -1))
|
||||
;; Force the next redisplay cycle to remove the "Def" indicator from
|
||||
;; all the mode lines.
|
||||
(if defining-kbd-macro
|
||||
(force-mode-line-update t))
|
||||
(setq defining-kbd-macro nil)
|
||||
(let ((debug-on-quit nil))
|
||||
(signal 'quit nil)))
|
||||
|
|
55
lisp/subr.el
55
lisp/subr.el
|
@ -2161,6 +2161,10 @@ where the optional arg MILLISECONDS specifies an additional wait period,
|
|||
in milliseconds; this was useful when Emacs was built without
|
||||
floating point support."
|
||||
(declare (advertised-calling-convention (seconds &optional nodisp) "22.1"))
|
||||
;; This used to be implemented in C until the following discussion:
|
||||
;; http://lists.gnu.org/archive/html/emacs-devel/2006-07/msg00401.html
|
||||
;; Then it was moved to C using an implementation based on an idle timer,
|
||||
;; which was then replaced by the use of read-event.
|
||||
(if (numberp nodisp)
|
||||
(setq seconds (+ seconds (* 1e-3 nodisp))
|
||||
nodisp obsolete)
|
||||
|
@ -2178,7 +2182,12 @@ floating point support."
|
|||
;; FIXME: we should not read-event here at all, because it's much too
|
||||
;; difficult to reliably "undo" a read-event by pushing it onto
|
||||
;; unread-command-events.
|
||||
(let ((read (read-event nil t seconds)))
|
||||
;; For bug#14782, we need read-event to do the keyboard-coding-system
|
||||
;; decoding (hence non-nil as second arg under POSIX ttys).
|
||||
;; For bug#15614, we need read-event not to inherit-input-method.
|
||||
;; So we temporarily suspend input-method-function.
|
||||
(let ((read (let ((input-method-function nil))
|
||||
(read-event nil t seconds))))
|
||||
(or (null read)
|
||||
(progn
|
||||
;; https://lists.gnu.org/archive/html/emacs-devel/2006-10/msg00394.html
|
||||
|
@ -4318,28 +4327,28 @@ lookup sequence then continues."
|
|||
;; in a cycle.
|
||||
(fset clearfun
|
||||
(suspicious-object
|
||||
(lambda ()
|
||||
(with-demoted-errors "set-transient-map PCH: %S"
|
||||
(unless (cond
|
||||
((not (eq map (cadr overriding-terminal-local-map)))
|
||||
;; There's presumably some other transient-map in
|
||||
;; effect. Wait for that one to terminate before we
|
||||
;; remove ourselves.
|
||||
;; For example, if isearch and C-u both use transient
|
||||
;; maps, then the lifetime of the C-u should be nested
|
||||
;; within isearch's, so the pre-command-hook of
|
||||
;; isearch should be suspended during the C-u one so
|
||||
;; we don't exit isearch just because we hit 1 after
|
||||
;; C-u and that 1 exits isearch whereas it doesn't
|
||||
;; exit C-u.
|
||||
t)
|
||||
((null keep-pred) nil)
|
||||
((eq t keep-pred)
|
||||
(eq this-command
|
||||
(lookup-key map (this-command-keys-vector))))
|
||||
(t (funcall keep-pred)))
|
||||
(internal-pop-keymap map 'overriding-terminal-local-map)
|
||||
(remove-hook 'pre-command-hook clearfun)
|
||||
(lambda ()
|
||||
(with-demoted-errors "set-transient-map PCH: %S"
|
||||
(unless (cond
|
||||
((null keep-pred) nil)
|
||||
((not (eq map (cadr overriding-terminal-local-map)))
|
||||
;; There's presumably some other transient-map in
|
||||
;; effect. Wait for that one to terminate before we
|
||||
;; remove ourselves.
|
||||
;; For example, if isearch and C-u both use transient
|
||||
;; maps, then the lifetime of the C-u should be nested
|
||||
;; within isearch's, so the pre-command-hook of
|
||||
;; isearch should be suspended during the C-u one so
|
||||
;; we don't exit isearch just because we hit 1 after
|
||||
;; C-u and that 1 exits isearch whereas it doesn't
|
||||
;; exit C-u.
|
||||
t)
|
||||
((eq t keep-pred)
|
||||
(eq this-command
|
||||
(lookup-key map (this-command-keys-vector))))
|
||||
(t (funcall keep-pred)))
|
||||
(internal-pop-keymap map 'overriding-terminal-local-map)
|
||||
(remove-hook 'pre-command-hook clearfun)
|
||||
(when on-exit (funcall on-exit))
|
||||
;; Comment out the fset if you want to debug the GC bug.
|
||||
;;; (fset clearfun nil)
|
||||
|
|
|
@ -1,3 +1,65 @@
|
|||
2014-06-02 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* frame.c (x_set_frame_parameters): Don't read uninitialized storage.
|
||||
|
||||
2014-06-02 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* xterm.c (xg_scroll_callback): Remove position, for jump set portion
|
||||
to min(value, whole).
|
||||
|
||||
2014-06-02 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Bring back the changes to GDB-visible symbols, but only on AIX.
|
||||
And only if it's not pre-4.2 GCC.
|
||||
* lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
|
||||
(ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
|
||||
(ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
|
||||
New macros.
|
||||
|
||||
2014-06-02 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* fileio.c (Finsert_file_contents): Call prepare_to_modify_buffer
|
||||
with PT, not GPT. (Bug#16433)
|
||||
|
||||
Revert last changes to GDB-visible symbols.
|
||||
* lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): Delete macros.
|
||||
(ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Don't use them.
|
||||
(ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
|
||||
Delete macros.
|
||||
|
||||
2014-06-02 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* cmds.c (Fself_insert_command): Allow zero repeat count. (Bug#17649)
|
||||
|
||||
2014-06-02 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix port to 32-bit AIX with xlc (Bug#17598).
|
||||
* alloc.c (gdb_make_enums_visible): Remove FLOAT_TO_STRING_BUFSIZE.
|
||||
* conf_post.h (FLEXIBLE_ARRAY_MEMBER) [__IBMC__]: Don't define to empty.
|
||||
* lisp.h (FLOAT_TO_STRING_BUFSIZE): Make it a macro, instead of an enum,
|
||||
to work around a compiler bug in IBM xlc 12.1.
|
||||
|
||||
2014-06-02 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xterm.c (x_update_window_end): Don't invalidate the entire
|
||||
mouse-highlight info, just signal frame_up_to_date_hook that mouse
|
||||
highlight needs to be redisplayed. (Bug#17588)
|
||||
|
||||
2014-06-02 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Port the GDB-visible symbols to AIX.
|
||||
Without them, GDB doesn't work to debug Emacs, since the AIX linker
|
||||
optimizes away the relevant external symbols. Use enums instead;
|
||||
this suffices for the AIX port, which is 32-bit-only anyway.
|
||||
* lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
|
||||
(ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
|
||||
(ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
|
||||
New macros.
|
||||
|
||||
Include sources used to create macuvs.h.
|
||||
* Makefile.in ($(srcdir)/macuvs.h): New rule.
|
||||
* macuvs.h: Use automatically-generated header.
|
||||
|
||||
2014-06-01 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Port signal-handling to DragonFly BSD (Bug#17646).
|
||||
|
|
|
@ -419,7 +419,8 @@ all: emacs$(EXEEXT) $(OTHER_FILES)
|
|||
$(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT)
|
||||
cd ../leim && $(MAKE) $(MFLAGS) leim-list.el EMACS="$(bootstrap_exe)"
|
||||
|
||||
$(lispsource)/international/charprop.el: bootstrap-emacs$(EXEEXT)
|
||||
$(srcdir)/macuvs.h $(lispsource)/international/charprop.el: \
|
||||
bootstrap-emacs$(EXEEXT)
|
||||
cd ../admin/unidata && $(MAKE) $(MFLAGS) all EMACS="../$(bootstrap_exe)"
|
||||
|
||||
## The dumped Emacs is as functional and more efficient than
|
||||
|
|
|
@ -7200,7 +7200,6 @@ union
|
|||
enum char_bits char_bits;
|
||||
enum CHECK_LISP_OBJECT_TYPE CHECK_LISP_OBJECT_TYPE;
|
||||
enum DEFAULT_HASH_SIZE DEFAULT_HASH_SIZE;
|
||||
enum FLOAT_TO_STRING_BUFSIZE FLOAT_TO_STRING_BUFSIZE;
|
||||
enum Lisp_Bits Lisp_Bits;
|
||||
enum Lisp_Compiled Lisp_Compiled;
|
||||
enum maxargs maxargs;
|
||||
|
|
|
@ -280,8 +280,8 @@ At the end, it runs `post-self-insert-hook'. */)
|
|||
bool remove_boundary = 1;
|
||||
CHECK_NUMBER (n);
|
||||
|
||||
if (XFASTINT (n) < 1)
|
||||
error ("Nonpositive repetition argument %"pI"d", XFASTINT (n));
|
||||
if (XFASTINT (n) < 0)
|
||||
error ("Negative repetition argument %"pI"d", XFASTINT (n));
|
||||
|
||||
if (!EQ (Vthis_command, KVAR (current_kboard, Vlast_command)))
|
||||
nonundocount = 0;
|
||||
|
|
|
@ -311,8 +311,13 @@ extern void _DebPrint (const char *fmt, ...);
|
|||
and allocate (offsetof (struct s, name) + N * sizeof (t)) bytes.
|
||||
|
||||
This macro used to expand to something different on pre-C99 compilers.
|
||||
IBM xlc 12.1 claims to do C99 but mishandles flexible array members.
|
||||
FIXME: Remove it, and remove all uses. */
|
||||
#define FLEXIBLE_ARRAY_MEMBER
|
||||
#ifdef __IBMC__
|
||||
# define FLEXIBLE_ARRAY_MEMBER 1
|
||||
#else
|
||||
# define FLEXIBLE_ARRAY_MEMBER
|
||||
#endif
|
||||
|
||||
/* Use this to suppress gcc's `...may be used before initialized' warnings. */
|
||||
#ifdef lint
|
||||
|
|
|
@ -4085,7 +4085,7 @@ by calling `format-decode', which see. */)
|
|||
&& !NILP (BVAR (current_buffer, filename))
|
||||
&& SAVE_MODIFF >= MODIFF)
|
||||
we_locked_file = 1;
|
||||
prepare_to_modify_buffer (GPT, GPT, NULL);
|
||||
prepare_to_modify_buffer (PT, PT, NULL);
|
||||
}
|
||||
|
||||
move_gap_both (PT, PT_BYTE);
|
||||
|
|
|
@ -2830,7 +2830,7 @@ x_set_frame_parameters (struct frame *f, Lisp_Object alist)
|
|||
/* If both of these parameters are present, it's more efficient to
|
||||
set them both at once. So we wait until we've looked at the
|
||||
entire list before we set them. */
|
||||
int width, height;
|
||||
int width = 0, height = 0;
|
||||
bool width_change = 0, height_change = 0;
|
||||
|
||||
/* Same here. */
|
||||
|
|
54
src/lisp.h
54
src/lisp.h
|
@ -36,14 +36,40 @@ INLINE_HEADER_BEGIN
|
|||
|
||||
/* Define a TYPE constant ID as an externally visible name. Use like this:
|
||||
|
||||
#define ID_val (some integer preprocessor expression)
|
||||
#if ENUMABLE (ID_val)
|
||||
DEFINE_GDB_SYMBOL_ENUM (ID)
|
||||
#else
|
||||
DEFINE_GDB_SYMBOL_BEGIN (TYPE, ID)
|
||||
#define ID something
|
||||
# define ID ID_val
|
||||
DEFINE_GDB_SYMBOL_END (ID)
|
||||
#endif
|
||||
|
||||
This hack is for the benefit of compilers that do not make macro
|
||||
definitions visible to the debugger. It's used for symbols that
|
||||
.gdbinit needs, symbols whose values may not fit in 'int' (where an
|
||||
enum would suffice). */
|
||||
enum would suffice).
|
||||
|
||||
Some GCC versions before GCC 4.2 omit enums in debugging output;
|
||||
see GCC bug 23336. So don't use enums with older GCC. */
|
||||
|
||||
#if !defined __GNUC__ || 4 < __GNUC__ + (2 <= __GNUC_MINOR__)
|
||||
# define ENUMABLE(val) (INT_MIN <= (val) && (val) <= INT_MAX)
|
||||
#else
|
||||
# define ENUMABLE(val) 0
|
||||
#endif
|
||||
|
||||
/* On AIX 7.1 ENUMABLE should return true when possible, otherwise the
|
||||
linker can optimize the symbols away, making it harder to debug.
|
||||
This was discovered only late in the release process, so to play it
|
||||
safe for now, non-AIX platforms do not use enums for debugging symbols.
|
||||
FIXME: remove this comment and the following four lines of code. */
|
||||
#ifndef _AIX
|
||||
# undef ENUMABLE
|
||||
# define ENUMABLE(val) 0
|
||||
#endif
|
||||
|
||||
#define DEFINE_GDB_SYMBOL_ENUM(id) enum { id = id##_val };
|
||||
#if defined MAIN_PROGRAM
|
||||
# define DEFINE_GDB_SYMBOL_BEGIN(type, id) type const id EXTERNALLY_VISIBLE
|
||||
# define DEFINE_GDB_SYMBOL_END(id) = id;
|
||||
|
@ -574,15 +600,25 @@ LISP_MACRO_DEFUN (XIL, Lisp_Object, (EMACS_INT i), (i))
|
|||
|
||||
/* In the size word of a vector, this bit means the vector has been marked. */
|
||||
|
||||
#define ARRAY_MARK_FLAG_val PTRDIFF_MIN
|
||||
#if ENUMABLE (ARRAY_MARK_FLAG_val)
|
||||
DEFINE_GDB_SYMBOL_ENUM (ARRAY_MARK_FLAG)
|
||||
#else
|
||||
DEFINE_GDB_SYMBOL_BEGIN (ptrdiff_t, ARRAY_MARK_FLAG)
|
||||
#define ARRAY_MARK_FLAG PTRDIFF_MIN
|
||||
# define ARRAY_MARK_FLAG ARRAY_MARK_FLAG_val
|
||||
DEFINE_GDB_SYMBOL_END (ARRAY_MARK_FLAG)
|
||||
#endif
|
||||
|
||||
/* In the size word of a struct Lisp_Vector, this bit means it's really
|
||||
some other vector-like object. */
|
||||
#define PSEUDOVECTOR_FLAG_val (PTRDIFF_MAX - PTRDIFF_MAX / 2)
|
||||
#if ENUMABLE (PSEUDOVECTOR_FLAG_val)
|
||||
DEFINE_GDB_SYMBOL_ENUM (PSEUDOVECTOR_FLAG)
|
||||
#else
|
||||
DEFINE_GDB_SYMBOL_BEGIN (ptrdiff_t, PSEUDOVECTOR_FLAG)
|
||||
#define PSEUDOVECTOR_FLAG (PTRDIFF_MAX - PTRDIFF_MAX / 2)
|
||||
# define PSEUDOVECTOR_FLAG PSEUDOVECTOR_FLAG_val
|
||||
DEFINE_GDB_SYMBOL_END (PSEUDOVECTOR_FLAG)
|
||||
#endif
|
||||
|
||||
/* In a pseudovector, the size field actually contains a word with one
|
||||
PSEUDOVECTOR_FLAG bit set, and one of the following values extracted
|
||||
|
@ -634,9 +670,15 @@ enum More_Lisp_Bits
|
|||
XCONS (tem) is the struct Lisp_Cons * pointing to the memory for
|
||||
that cons. */
|
||||
|
||||
/* Mask for the value (as opposed to the type bits) of a Lisp object. */
|
||||
#define VALMASK_val (USE_LSB_TAG ? - (1 << GCTYPEBITS) : VAL_MAX)
|
||||
#if ENUMABLE (VALMASK_val)
|
||||
DEFINE_GDB_SYMBOL_ENUM (VALMASK)
|
||||
#else
|
||||
DEFINE_GDB_SYMBOL_BEGIN (EMACS_INT, VALMASK)
|
||||
#define VALMASK (USE_LSB_TAG ? - (1 << GCTYPEBITS) : VAL_MAX)
|
||||
# define VALMASK VALMASK_val
|
||||
DEFINE_GDB_SYMBOL_END (VALMASK)
|
||||
#endif
|
||||
|
||||
/* Largest and smallest representable fixnum values. These are the C
|
||||
values. They are macros for use in static initializers. */
|
||||
|
@ -3794,7 +3836,7 @@ extern void print_error_message (Lisp_Object, Lisp_Object, const char *,
|
|||
Lisp_Object);
|
||||
extern Lisp_Object internal_with_output_to_temp_buffer
|
||||
(const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object);
|
||||
enum FLOAT_TO_STRING_BUFSIZE { FLOAT_TO_STRING_BUFSIZE = 350 };
|
||||
#define FLOAT_TO_STRING_BUFSIZE 350
|
||||
extern int float_to_string (char *, double);
|
||||
extern void init_print_once (void);
|
||||
extern void syms_of_print (void);
|
||||
|
|
|
@ -1,11 +1,4 @@
|
|||
/* UVS (Unicode Variation Sequence) table definitions.
|
||||
|
||||
This file is part of GNU Emacs. */
|
||||
|
||||
/* This was generated from the Ideographic Variation Database file at
|
||||
http://www.unicode.org/ivd/data/2012-03-02/IVD_Sequences.txt
|
||||
using admin/mac/uvs.el in GNU Emacs, and distributed under
|
||||
the Terms of Use in http://www.unicode.org/terms_of_use.html. */
|
||||
/* Automatically generated by uvs.el. */
|
||||
static const unsigned char mac_uvs_table_adobe_japan1_bytes[] =
|
||||
{
|
||||
0x00, 0x0e, 0x00, 0x01, 0x1f, 0x9e, 0x00, 0x00,
|
||||
|
|
13
src/xterm.c
13
src/xterm.c
|
@ -602,7 +602,13 @@ x_update_window_end (struct window *w, bool cursor_on_p,
|
|||
/* If a row with mouse-face was overwritten, arrange for
|
||||
XTframe_up_to_date to redisplay the mouse highlight. */
|
||||
if (mouse_face_overwritten_p)
|
||||
reset_mouse_highlight (MOUSE_HL_INFO (XFRAME (w->frame)));
|
||||
{
|
||||
Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (XFRAME (w->frame));
|
||||
|
||||
hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1;
|
||||
hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1;
|
||||
hlinfo->mouse_face_window = Qnil;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -4428,14 +4434,11 @@ xg_scroll_callback (GtkRange *range,
|
|||
gpointer user_data)
|
||||
{
|
||||
struct scroll_bar *bar = user_data;
|
||||
gdouble position;
|
||||
int part = -1, whole = 0, portion = 0;
|
||||
GtkAdjustment *adj = GTK_ADJUSTMENT (gtk_range_get_adjustment (range));
|
||||
struct frame *f = g_object_get_data (G_OBJECT (range), XG_FRAME_DATA);
|
||||
|
||||
if (xg_ignore_gtk_scrollbar) return FALSE;
|
||||
position = gtk_adjustment_get_value (adj);
|
||||
|
||||
|
||||
switch (scroll)
|
||||
{
|
||||
|
@ -4447,7 +4450,7 @@ xg_scroll_callback (GtkRange *range,
|
|||
part = scroll_bar_handle;
|
||||
whole = gtk_adjustment_get_upper (adj) -
|
||||
gtk_adjustment_get_page_size (adj);
|
||||
portion = min ((int)position, whole);
|
||||
portion = min ((int)value, whole);
|
||||
bar->dragging = portion;
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Add table
Reference in a new issue