Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
efc00ab1
Commit
efc00ab1
authored
May 31, 2012
by
Chong Yidong
Browse files
Merge from emacs-24; up to 2012-04-24T21:47:24Z!michael.albinus@gmx.de
parents
ba93a187
dd41169b
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
150 additions
and
58 deletions
+150
-58
lib-src/ChangeLog
lib-src/ChangeLog
+6
-0
lib-src/makefile.w32-in
lib-src/makefile.w32-in
+1
-1
lisp/ChangeLog
lisp/ChangeLog
+16
-0
lisp/desktop.el
lisp/desktop.el
+12
-0
lisp/emacs-lisp/bytecomp.el
lisp/emacs-lisp/bytecomp.el
+5
-7
nt/ChangeLog
nt/ChangeLog
+17
-0
nt/configure.bat
nt/configure.bat
+23
-16
nt/gmake.defs
nt/gmake.defs
+2
-0
nt/nmake.defs
nt/nmake.defs
+2
-0
src/ChangeLog
src/ChangeLog
+31
-0
src/charset.c
src/charset.c
+9
-0
src/doc.c
src/doc.c
+13
-8
src/keymap.c
src/keymap.c
+5
-3
src/keymap.h
src/keymap.h
+1
-1
src/ralloc.c
src/ralloc.c
+6
-1
src/search.c
src/search.c
+0
-20
src/xdisp.c
src/xdisp.c
+1
-1
No files found.
lib-src/ChangeLog
View file @
efc00ab1
2012-05-31 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in ($(BLD)/emacsclientw.exe): Use $(MWINDOWS)
instead of a literal -mwindows, which is not supported by MSVC.
(Bug#11405)
2012-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
* make-docfile.c: Improve comment style.
...
...
lib-src/makefile.w32-in
View file @
efc00ab1
...
...
@@ -65,7 +65,7 @@ $(BLD)/emacsclient.exe: $(ECLIENTOBJS)
$(BLD)/emacsclientw.exe
:
$(ECLIENTOBJS) $(CLIENTRES)
# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
$(LINK)
$(LINK_OUT)$@
$(CLIENTRES)
-mwindows
$(LINK_FLAGS)
$(ECLIENTOBJS)
$(WSOCK32)
$(USER32)
$(COMCTL32)
$(LIBS)
$(LINK)
$(LINK_OUT)$@
$(CLIENTRES)
$(MWINDOWS)
$(LINK_FLAGS)
$(ECLIENTOBJS)
$(WSOCK32)
$(USER32)
$(COMCTL32)
$(LIBS)
$(BLD)/emacsclient.$(O)
:
emacsclient.c
$(CC)
$(CFLAGS)
$(ECLIENT_CFLAGS)
$(CC_OUT)$@
emacsclient.c
...
...
lisp/ChangeLog
View file @
efc00ab1
2012-05-31 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/bytecomp.el (byte-compile-fix-header): Handle
arbitrary file name lengths (Bug#11585).
2012-05-31 Martin Rudalics <rudalics@gmx.at>
* desktop.el (desktop-read): Clear previous and next buffers for
all windows and bury *Messages* buffer (bug#11556).
2012-05-31 Eli Zaretskii <eliz@gnu.org>
* mail/sendmail.el (mail-yank-region): Recognize
rmail-yank-current-message in addition to insert-buffer. Fixes
mail-mode's "C-c C-r" that otherwise does nothing when invoked in
2012-05-31 Stefan Monnier <monnier@iro.umontreal.ca>
Add `declare' for `defun'. Align `defmacro's with it.
...
...
lisp/desktop.el
View file @
efc00ab1
...
...
@@ -1020,6 +1020,18 @@ Using it may cause conflicts. Use it anyway? " owner)))))
(
format
", %d to restore lazily"
(
length
desktop-buffer-args-list
))
""
))
;; Bury the *Messages* buffer to not reshow it when burying
;; the buffer we switched to above.
(
when
(
buffer-live-p
(
get-buffer
"*Messages*"
))
(
bury-buffer
"*Messages*"
))
;; Clear all windows' previous and next buffers, these have
;; been corrupted by the `switch-to-buffer' calls in
;; `desktop-restore-file-buffer' (bug#11556). This is a
;; brute force fix and should be replaced by a more subtle
;; strategy eventually.
(
walk-window-tree
(
lambda
(
window
)
(
set-window-prev-buffers
window
nil
)
(
set-window-next-buffers
window
nil
)))
t
))
;; No desktop file found.
(
desktop-clear
)
...
...
lisp/emacs-lisp/bytecomp.el
View file @
efc00ab1
...
...
@@ -1937,7 +1937,7 @@ and will be removed soon. See (elisp)Backquote in the manual."))
(
byte-compile-fix-header
byte-compile-current-file
))))
byte-compile--outbuffer
)))
(defun byte-compile-fix-header (filename)
(
defun
byte-compile-fix-header
(
_
filename
)
"If the current buffer has any multibyte characters, insert a version test."
(
when
(
<
(
point-max
)
(
position-bytes
(
point-max
)))
(
goto-char
(
point-min
))
...
...
@@ -1962,12 +1962,10 @@ and will be removed soon. See (elisp)Backquote in the manual."))
;; don't try to check the version number.
" (< (aref emacs-version (1- (length emacs-version))) ?A)\n"
(
format
" (string-lessp emacs-version \"%s\")\n"
minimum-version
)
" (error \"`"
;; prin1-to-string is used to quote backslashes.
(substring (prin1-to-string (file-name-nondirectory filename))
1 -1)
(format "' was compiled for Emacs %s or later\"))\n\n"
minimum-version))
;; Because the header must fit in a fixed width, we cannot
;; insert arbitrary-length file names (Bug#11585).
" (error \"`%s' was compiled for "
(
format
"Emacs %s or later\" load-file-name))\n\n"
minimum-version
))
;; Now compensate for any change in size, to make sure all
;; positions in the file remain valid.
(
setq
delta
(
-
(
point-max
)
old-header-end
))
...
...
nt/ChangeLog
View file @
efc00ab1
2012-05-31 Eli Zaretskii <eliz@gnu.org>
* configure.bat (genmakefiles): Move the redirection away from the
end of the command, to avoid excess whitespace at the end of Make
variables created at configure time, and also avoid things like
"FOO1>>config.settings", where "1" gets interpreted as the file
descriptor and eaten up. This fixes breakage introduced by the
last change, without reintroducing the bug fixed by that change.
2012-05-31 Eli Zaretskii <eliz@gnu.org>
* nmake.defs (MWINDOWS): Define as
"-subsystem:windows -entry:mainCRTStartup". Suggested by Fabrice
Popineau <fabrice.popineau@supelec.fr>. (Bug#11405)
* gmake.defs (MWINDOWS): Define as "-mwindows".
2012-05-28 Eli Zaretskii <eliz@gnu.org>
* config.nt (HAVE_SYSINFO): Remove; unused.
...
...
nt/configure.bat
View file @
efc00ab1
...
...
@@ -753,29 +753,36 @@ if %COMPILER% == gcc set MAKECMD=gmake
if
%COMPILER%
==
cl
set
MAKECMD
=
nmake
rem Pass on chosen settings to makefiles.
rem NB. Be very careful to not have a space before redirection symbols
rem except when there is a preceding digit, when a space is required.
rem
rem The weird place we put the redirection is to make sure no extra
rem whitespace winds up at the end of the Make variables, since some
rem variables, e.g. INSTALL_DIR, cannot stand that. Yes, echo will
rem write the blanks between the end of command arguments and the
rem redirection symbol to the file. OTOH, we cannot put the
rem redirection immediately after the last character of the command,
rem because environment variable expansion can yield a digit there,
rem which will then be misinterpreted as the file descriptor to
rem redirect...
echo
#
Start
of
settings
from
configure
.bat
>
config
.settings
echo
COMPILER
=
%COMPILER%
>>
config
.settings
if
not
"(
%mf%
)"
==
"()"
echo
MCPU_FLAG
=
%mf%
>>
config
.settings
if
not
"(
%dbginfo%
)"
==
"()"
echo
DEBUG_INFO
=
%dbginfo%
>>
config
.settings
if
(
%nodebug%
)
==
(
Y
)
echo
NODEBUG
=
1
>>
config
.settings
if
(
%noopt%
)
==
(
Y
)
echo
NOOPT
=
1
>>
config
.settings
if
(
%enablechecking%
)
==
(
Y
)
echo
ENABLECHECKS
=
1
>>
config
.settings
if
(
%profile%
)
==
(
Y
)
echo
PROFILE
=
1
>>
config
.settings
if
(
%nocygwin%
)
==
(
Y
)
echo
NOCYGWIN
=
1
>>
config
.settings
if
not
"(
%prefix%
)"
==
"()"
echo
INSTALL_DIR
=
%prefix%
>>
config
.settings
if
not
"(
%distfiles%
)"
==
"()"
echo
DIST_FILES
=
%distfiles%
>>
config
.settings
>>
config
.settings
echo
COMPILER
=
%COMPILER%
if
not
"(
%mf%
)"
==
"()"
>>
config
.settings
echo
MCPU_FLAG
=
%mf%
if
not
"(
%dbginfo%
)"
==
"()"
>>
config
.settings
echo
DEBUG_INFO
=
%dbginfo%
if
(
%nodebug%
)
==
(
Y
)
>>
config
.settings
echo
NODEBUG
=
1
if
(
%noopt%
)
==
(
Y
)
>>
config
.settings
echo
NOOPT
=
1
if
(
%enablechecking%
)
==
(
Y
)
>>
config
.settings
echo
ENABLECHECKS
=
1
if
(
%profile%
)
==
(
Y
)
>>
config
.settings
echo
PROFILE
=
1
if
(
%nocygwin%
)
==
(
Y
)
>>
config
.settings
echo
NOCYGWIN
=
1
if
not
"(
%prefix%
)"
==
"()"
>>
config
.settings
echo
INSTALL_DIR
=
%prefix%
if
not
"(
%distfiles%
)"
==
"()"
>>
config
.settings
echo
DIST_FILES
=
%distfiles%
rem We go thru docflags because usercflags could be "-DFOO=bar" -something
rem and the if command cannot cope with this
for
%%v
in
(
%usercflags%
)
do
if
not
(
%%v
)==()
set
docflags
=
Y
if
(
%docflags%
)==(
Y
)
echo
USER_CFLAGS
=
%usercflags%
>>
config
.settings
if
(
%docflags%
)==(
Y
)
echo
ESC_USER_CFLAGS
=
%escusercflags%
>>
config
.settings
if
(
%docflags%
)==(
Y
)
>>
config
.settings
echo
USER_CFLAGS
=
%usercflags%
if
(
%docflags%
)==(
Y
)
>>
config
.settings
echo
ESC_USER_CFLAGS
=
%escusercflags%
for
%%v
in
(
%userldflags%
)
do
if
not
(
%%v
)==()
set
doldflags
=
Y
if
(
%doldflags%
)==(
Y
)
echo
USER_LDFLAGS
=
%userldflags%
>>
config
.settings
if
(
%doldflags%
)==(
Y
)
>>
config
.settings
echo
USER_LDFLAGS
=
%userldflags%
for
%%v
in
(
%extrauserlibs%
)
do
if
not
(
%%v
)==()
set
doextralibs
=
Y
if
(
%doextralibs%
)==(
Y
)
echo
USER_LIBS
=
%extrauserlibs%
>>
config
.settings
if
(
%doextralibs%
)==(
Y
)
>>
config
.settings
echo
USER_LIBS
=
%extrauserlibs%
echo
#
End
of
settings
from
configure
.bat>>config.settings
echo
.
>>
config
.settings
...
...
nt/gmake.defs
View file @
efc00ab1
...
...
@@ -210,6 +210,8 @@ else
CHECKING_CFLAGS =
endif
MWINDOWS = -mwindows
CFLAGS = -I. $(ARCH_CFLAGS) $(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(PROFILE_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
ESC_CFLAGS = -I. $(ARCH_CFLAGS) $(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(PROFILE_CFLAGS) $(ESC_USER_CFLAGS) $(LOCAL_FLAGS)
EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1
...
...
nt/nmake.defs
View file @
efc00ab1
...
...
@@ -151,6 +151,8 @@ CHECKING_CFLAGS = -DENABLE_CHECKING -DXASSERTS
CHECKING_CFLAGS =
!endif
MWINDOWS = -subsystem:windows -entry:mainCRTStartup
CFLAGS = -I. $(ARCH_CFLAGS) \
$(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
ESC_CFLAGS = -I. $(ARCH_CFLAGS) \
...
...
src/ChangeLog
View file @
efc00ab1
2012-05-31 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (handle_stop): Detect whether we have overlay strings
loaded by testing it->current.overlay_string_index to be
non-negative, instead of checking whether n_overlay_strings is
positive. (Bug#11587)
2012-05-31 Chong Yidong <cyd@gnu.org>
* keymap.c (describe_map_tree): Revert 2011-07-07 change (Bug#1169).
* doc.c (Fsubstitute_command_keys): Doc fix.
2012-05-31 Eli Zaretskii <eliz@gnu.org>
* search.c (search_buffer): Remove calls to
r_alloc_inhibit_buffer_relocation, as it is now called by
maybe_unify_char, which was the cause of relocation of buffer text
in bug#11519.
2012-05-31 Eli Zaretskii <eliz@gnu.org>
* charset.c (maybe_unify_char): Inhibit relocation of buffer text
for the duration of call to load_charset, to avoid problems with
callers of maybe_unify_char that access buffer text through C
pointers.
* ralloc.c (r_alloc_inhibit_buffer_relocation): Increment and
decrement the inhibition flag, instead of just setting or
resetting it.
2012-05-31 Paul Eggert <eggert@cs.ucla.edu>
Remove obsolete '#define static' cruft.
...
...
src/charset.c
View file @
efc00ab1
...
...
@@ -1633,6 +1633,12 @@ maybe_unify_char (int c, Lisp_Object val)
return
c
;
CHECK_CHARSET_GET_CHARSET
(
val
,
charset
);
#ifdef REL_ALLOC
/* The call to load_charset below can allocate memory, which screws
callers of this function through STRING_CHAR_* macros that hold C
pointers to buffer text, if REL_ALLOC is used. */
r_alloc_inhibit_buffer_relocation
(
1
);
#endif
load_charset
(
charset
,
1
);
if
(
!
inhibit_load_charset_map
)
{
...
...
@@ -1648,6 +1654,9 @@ maybe_unify_char (int c, Lisp_Object val)
if
(
unified
>
0
)
c
=
unified
;
}
#ifdef REL_ALLOC
r_alloc_inhibit_buffer_relocation
(
0
);
#endif
return
c
;
}
...
...
src/doc.c
View file @
efc00ab1
...
...
@@ -705,18 +705,23 @@ the same file name is found in the `doc-directory'. */)
DEFUN
(
"substitute-command-keys"
,
Fsubstitute_command_keys
,
Ssubstitute_command_keys
,
1
,
1
,
0
,
doc
:
/* Substitute key descriptions for command names in STRING.
Substrings of the form \\=\\[COMMAND] replaced by either: a keystroke
sequence that will invoke COMMAND, or "M-x COMMAND" if COMMAND is not
on any keys.
Substrings of the form \\=\\{MAPVAR} are replaced by summaries
\(made by `describe-bindings') of the value of MAPVAR, taken as a keymap.
Substrings of the form \\=\\<MAPVAR> specify to use the value of MAPVAR
Each substring of the form \\=\\[COMMAND] is replaced by either a
keystroke sequence that invokes COMMAND, or "M-x COMMAND" if COMMAND
is not on any keys.
Each substring of the form \\=\\{MAPVAR} is replaced by a summary of
the value of MAPVAR as a keymap. This summary is similar to the one
produced by `describe-bindings'. The summary ends in two newlines
\(used by the helper function `help-make-xrefs' to find the end of the
summary).
Each substring of the form \\=\\<MAPVAR> specifies the use of MAPVAR
as the keymap for future \\=\\[COMMAND] substrings.
\\=\\= quotes the following character and is discarded;
thus, \\=\\=\\=\\= puts \\=\\= into the output, and \\=\\=\\=\\[ puts \\=\\[ into the output.
Return
s
original STRING if no substitutions
we
re made.
Otherwise,
a new string, without any text properties
, is returned
. */
)
Return
the
original STRING if no substitutions
a
re made.
Otherwise, return
a new string, without any text properties. */
)
(
Lisp_Object
string
)
{
char
*
buf
;
...
...
src/keymap.c
View file @
efc00ab1
...
...
@@ -2996,9 +2996,9 @@ You type Translation\n\
If MENTION_SHADOW is nonzero, then when something is shadowed by SHADOW,
don't omit it; instead, mention it but say it is shadowed.
Return whether something was inserted or not
. */
Any inserted text ends in two newlines (used by `help-make-xrefs')
. */
int
void
describe_map_tree
(
Lisp_Object
startmap
,
int
partial
,
Lisp_Object
shadow
,
Lisp_Object
prefix
,
const
char
*
title
,
int
nomenu
,
int
transl
,
int
always_title
,
int
mention_shadow
)
...
...
@@ -3108,8 +3108,10 @@ key binding\n\
skip:
;
}
if
(
something
)
insert_string
(
"
\n
"
);
UNGCPRO
;
return
something
;
}
static
int
previous_description_column
;
...
...
src/keymap.h
View file @
efc00ab1
...
...
@@ -47,7 +47,7 @@ EXFUN (Fcurrent_active_maps, 2);
extern
Lisp_Object
access_keymap
(
Lisp_Object
,
Lisp_Object
,
int
,
int
,
int
);
extern
Lisp_Object
get_keymap
(
Lisp_Object
,
int
,
int
);
EXFUN
(
Fset_keymap_parent
,
2
);
extern
int
describe_map_tree
(
Lisp_Object
,
int
,
Lisp_Object
,
Lisp_Object
,
extern
void
describe_map_tree
(
Lisp_Object
,
int
,
Lisp_Object
,
Lisp_Object
,
const
char
*
,
int
,
int
,
int
,
int
);
extern
ptrdiff_t
current_minor_maps
(
Lisp_Object
**
,
Lisp_Object
**
);
extern
void
initial_define_key
(
Lisp_Object
,
int
,
const
char
*
);
...
...
src/ralloc.c
View file @
efc00ab1
...
...
@@ -1142,7 +1142,12 @@ r_alloc_reset_variable (POINTER *old, POINTER *new)
void
r_alloc_inhibit_buffer_relocation
(
int
inhibit
)
{
use_relocatable_buffers
=
!
inhibit
;
if
(
use_relocatable_buffers
<
0
)
use_relocatable_buffers
=
0
;
if
(
inhibit
)
use_relocatable_buffers
++
;
else
if
(
use_relocatable_buffers
>
0
)
use_relocatable_buffers
--
;
}
...
...
src/search.c
View file @
efc00ab1
...
...
@@ -1160,24 +1160,12 @@ search_buffer (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte,
{
ptrdiff_t
val
;
#ifdef REL_ALLOC
/* re_search_2 below is passed C pointers to buffer text.
If some code called by it causes memory (re)allocation,
buffer text could be relocated on platforms that use
REL_ALLOC, which invalidates those C pointers. So we
inhibit relocation of buffer text for as long as
re_search_2 runs. */
r_alloc_inhibit_buffer_relocation
(
1
);
#endif
val
=
re_search_2
(
bufp
,
(
char
*
)
p1
,
s1
,
(
char
*
)
p2
,
s2
,
pos_byte
-
BEGV_BYTE
,
lim_byte
-
pos_byte
,
(
NILP
(
Vinhibit_changing_match_data
)
?
&
search_regs
:
&
search_regs_1
),
/* Don't allow match past current point */
pos_byte
-
BEGV_BYTE
);
#ifdef REL_ALLOC
r_alloc_inhibit_buffer_relocation
(
0
);
#endif
if
(
val
==
-
2
)
{
matcher_overflow
();
...
...
@@ -1217,19 +1205,11 @@ search_buffer (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte,
{
ptrdiff_t
val
;
#ifdef REL_ALLOC
/* See commentary above for the reasons for inhibiting
buffer text relocation here. */
r_alloc_inhibit_buffer_relocation
(
1
);
#endif
val
=
re_search_2
(
bufp
,
(
char
*
)
p1
,
s1
,
(
char
*
)
p2
,
s2
,
pos_byte
-
BEGV_BYTE
,
lim_byte
-
pos_byte
,
(
NILP
(
Vinhibit_changing_match_data
)
?
&
search_regs
:
&
search_regs_1
),
lim_byte
-
BEGV_BYTE
);
#ifdef REL_ALLOC
r_alloc_inhibit_buffer_relocation
(
0
);
#endif
if
(
val
==
-
2
)
{
matcher_overflow
();
...
...
src/xdisp.c
View file @
efc00ab1
...
...
@@ -3170,7 +3170,7 @@ handle_stop (struct it *it)
onto the stack one more time, which is not
expected by the rest of the code that processes
overlay strings. */
|| (it->
n_
overlay_string
s
<
=
0
|| (it->
current.
overlay_string
_index
< 0
? !get_overlay_strings_1 (it, 0, 0)
: 0))
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment