Merge from trunk.

This commit is contained in:
Eli Zaretskii 2013-12-11 19:06:29 +02:00
commit a34a8cd1e4
35 changed files with 796 additions and 364 deletions

View file

@ -1,3 +1,21 @@
2013-12-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
* doc/misc/octave-mode.texi: Imported from GNU Octave
(doc/interpreter/emacs.txi).
* doc/misc/Makefile.in: Add octave-mode.texi.
2013-12-11 Paul Eggert <eggert@cs.ucla.edu>
Remove the option of using libcrypto.
This scorches the earth and waits for spring;
see Ted Zlatanov and Stefan Monnier in
<http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00323.html>.
* configure.ac (with_openssl_default, HAVE_LIB_CRYPTO): Remove.
Do not say whether Emacs is configured to use a crypto library,
since it's no longer an option.
(gl_CRYPTO_CHECK): Define a dummy.
* lib/gl_openssl.h, m4/gl-openssl.m4: Remove.
2013-12-10 Paul Eggert <eggert@cs.ucla.edu>
* configure.ac: Disable libcrypto by default.

View file

@ -1,3 +1,8 @@
2013-12-11 Paul Eggert <eggert@cs.ucla.edu>
Remove the option of using libcrypto.
* merge-gnulib: Remove lib/gl_openssh.h and m4/gl-openssl.m4.
2013-12-04 Eli Zaretskii <eliz@gnu.org>
* unidata/unidata-gen.el (unidata-prop-alist): Update bidi-class

View file

@ -91,7 +91,8 @@ test -x "$gnulib_srcdir"/gnulib-tool || {
}
"$gnulib_srcdir"/gnulib-tool --dir="$src" $GNULIB_TOOL_FLAGS $GNULIB_MODULES &&
rm -- "$src"m4/fcntl-o.m4 "$src"m4/gnulib-cache.m4 "$src"m4/warn-on-use.m4 &&
rm -- "$src"lib/gl_openssl.h "$src"m4/fcntl-o.m4 "$src"m4/gl-openssl.m4 \
"$src"m4/gnulib-cache.m4"$src" m4/warn-on-use.m4 &&
cp -- "$gnulib_srcdir"/build-aux/texinfo.tex "$src"doc/misc &&
cp -- "$gnulib_srcdir"/build-aux/move-if-change "$src"build-aux &&
autoreconf -i -I m4 -- ${src:+"$src"}

View file

@ -94,8 +94,7 @@ AC_ARG_WITH(all,
[AS_HELP_STRING([--without-all],
[omit almost all features and build
small executable with minimal dependencies])],
[with_features=$withval
with_openssl_default=$withval],
[with_features=$withval],
[with_features=yes])
dnl OPTION_DEFAULT_OFF(NAME, HELP-STRING)
@ -640,6 +639,8 @@ dnl alternative to lib/gnulib.mk, so as to avoid generating header files
dnl that clash with MinGW.
AM_CONDITIONAL([BUILDING_FOR_WINDOWSNT], [test "x$opsys" = "xmingw32"])
# Avoid gnulib's tests for -lcrypto, so that there's no static dependency on it.
AC_DEFUN([gl_CRYPTO_CHECK])
# Avoid gnulib's tests for HAVE_WORKING_O_NOATIME and HAVE_WORKING_O_NOFOLLOW,
# as we don't use them.
AC_DEFUN([gl_FCNTL_O_FLAGS])
@ -4848,12 +4849,6 @@ else
acl_summary=no
fi
if test -n "$LIB_CRYPTO"; then
HAVE_LIB_CRYPTO=yes
else
HAVE_LIB_CRYPTO=no
fi
echo "
Configured for \`${canonical}'.
@ -4893,7 +4888,6 @@ echo " Does Emacs use -lgconf? ${HAVE_GCONF}"
echo " Does Emacs use GSettings? ${HAVE_GSETTINGS}"
echo " Does Emacs use a file notification library? ${NOTIFY_SUMMARY}"
echo " Does Emacs use access control lists? ${acl_summary}"
echo " Does Emacs use a crypto library? ${HAVE_LIB_CRYPTO} $LIB_CRYPTO"
echo " Does Emacs use -lselinux? ${HAVE_LIBSELINUX}"
echo " Does Emacs use -lgnutls? ${HAVE_GNUTLS}"
echo " Does Emacs use -lxml2? ${HAVE_LIBXML2}"

View file

@ -67,7 +67,7 @@ INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \
dbus dired-x ebrowse ede ediff edt eieio \
emacs-mime epa erc ert eshell eudc efaq \
flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \
mairix-el message mh-e newsticker nxml-mode \
mairix-el message mh-e newsticker nxml-mode octave-mode \
org pcl-cvs pgg rcirc remember reftex sasl \
sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp \
url vip viper widget wisent woman
@ -564,6 +564,18 @@ nxml-mode.pdf: $(nxml_mode_deps)
nxml-mode.html: $(nxml_mode_deps)
$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/nxml-mode.texi
octave_mode_deps = ${srcdir}/octave-mode.texi ${gfdl}
octave-mode : $(buildinfodir)/octave-mode$(INFO_EXT)
$(buildinfodir)/octave-mode$(INFO_EXT): $(octave_mode_deps)
$(mkinfodir)
$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/octave-mode.texi
octave-mode.dvi: $(octave_mode_deps)
$(ENVADD) $(TEXI2DVI) ${srcdir}/octave-mode.texi
octave-mode.pdf: $(octave_mode_deps)
$(ENVADD) $(TEXI2PDF) ${srcdir}/octave-mode.texi
octave-mode.html: $(octave_mode_deps)
$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/octave-mode.texi
org_deps = ${srcdir}/org.texi ${gfdl}
org : $(buildinfodir)/org$(INFO_EXT)
$(buildinfodir)/org$(INFO_EXT): $(org_deps)

477
doc/misc/octave-mode.texi Normal file
View file

@ -0,0 +1,477 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename ../../info/octave-mode
@settitle Octave Mode
@c %**end of header
@copying
Copyright @copyright{} 1996--2013 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below. A copy of the license
is included in the section entitled ``GNU Free Documentation License.''
(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
modify this GNU manual.''
@end quotation
@end copying
@dircategory Emacs editing modes
@direntry
* Octave mode: (octave-mode). Emacs mode for editing GNU Octave files.
@end direntry
@finalout
@titlepage
@title Octave Mode
@subtitle An Emacs mode for programming in GNU Octave
@page
@vskip 0pt plus 1filll
@insertcopying
@end titlepage
@contents
@ifnottex
@node Top
@top Octave Mode
@insertcopying
@end ifnottex
@menu
* Overview::
* Using Octave Mode::
* Running Octave from Within Emacs::
* GNU Free Documentation License::
* Key Index::
* Variable Index::
* Lisp Function Index::
* Concept Index::
@end menu
@node Overview
@chapter Overview
The development of Octave code can greatly be facilitated using Emacs
with Octave mode, a major mode for editing Octave files which can
e.g.@: automatically indent the code, do some of the typing (with
Abbrev mode) and show keywords, comments, strings, etc.@: in different
faces (with Font-lock mode on devices that support it).
It is also possible to run Octave from within Emacs, either by
directly entering commands at the prompt in a buffer in Inferior
Octave mode, or by interacting with Octave from within a file with
Octave code. This is useful in particular for debugging Octave code.
@node Using Octave Mode
@chapter Using Octave Mode
@cindex Using Octave Mode
In Octave mode, the following special Emacs commands can be used in
addition to the standard Emacs commands.
@table @kbd
@item C-M-j
@kindex C-M-j
@findex octave-indent-new-comment-line
@vindex octave-continuation-string
Break Octave line at point, continuing comment if within one. Insert
@code{octave-continuation-string} before breaking the line unless
inside a list. Signal an error if within a single-quoted string.
@item C-c ;
@kindex C-c ;
@findex octave-update-function-file-comment
Query replace function names in function file comment.
@item C-c C-p
@kindex C-c C-p
@findex octave-previous-code-line
Move one line of Octave code backward, skipping empty and comment
lines (@code{octave-previous-code-line}). With numeric prefix
argument @var{n}, move that many code lines backward (forward if
@var{n} is negative).
@item C-c C-n
@kindex C-c C-n
@findex octave-next-code-line
Move one line of Octave code forward, skipping empty and comment lines
(@code{octave-next-code-line}). With numeric prefix argument @var{n},
move that many code lines forward (backward if @var{n} is negative).
@item C-c C-a
@kindex C-c C-a
@findex octave-beginning-of-line
Move to the beginning of the physical line
(@code{octave-beginning-of-line}). If point is in an empty or comment
line, simply go to its beginning; otherwise, move backwards to the
beginning of the first code line which is not inside a continuation
statement, i.e., which does not follow a code line ending in
@samp{...} or @samp{\}, or is inside an open parenthesis list.
@item C-c C-e
@kindex C-c C-e
@findex octave-end-of-line
Move to the end of the physical line (@code{octave-end-of-line}). If
point is in a code line, move forward to the end of the first Octave
code line which does not end in @samp{...} or @samp{\} or is inside an
open parenthesis list. Otherwise, simply go to the end of the current
line.
@item C-c M-C-h
@kindex C-c M-C-h
@findex octave-mark-block
Put point at the beginning of this block, mark at the end
(@code{octave-mark-block}). The block marked is the one that contains
point or follows point.
@item C-c ]
@kindex C-c ]
Close the current block on a separate line (@code{smie-close-block}).
An error is signaled if no block to close is found.
@item C-c C-f
@kindex C-c C-f
@findex octave-insert-defun
Insert a function skeleton, prompting for the function's name, arguments
and return values which have to be entered without parentheses
(@code{octave-insert-defun}).
@noindent
in one of your Emacs startup files.
@end table
A common problem is that the @key{RET} key does @emph{not} indent the
line to where the new text should go after inserting the newline. This
is because the standard Emacs convention is that @key{RET} (aka
@kbd{C-m}) just adds a newline, whereas @key{LFD} (aka @kbd{C-j}) adds a
newline and indents it. This is particularly inconvenient for users with
keyboards which do not have a special @key{LFD} key at all; in such
cases, it is typically more convenient to use @key{RET} as the @key{LFD}
key (rather than typing @kbd{C-j}).
You can make @key{RET} do this by adding
@lisp
(define-key octave-mode-map "\C-m"
'octave-reindent-then-newline-and-indent)
@end lisp
@noindent
to one of your Emacs startup files. Another, more generally applicable
solution is
@lisp
(defun RET-behaves-as-LFD ()
(let ((x (key-binding "\C-j")))
(local-set-key "\C-m" x)))
(add-hook 'octave-mode-hook 'RET-behaves-as-LFD)
@end lisp
@noindent
(this works for all modes by adding to the startup hooks, without
having to know the particular binding of @key{RET} in that mode!).
Similar considerations apply for using @key{M-RET} as @key{M-LFD}. As
@email{bwarsaw@@cnri.reston.va.us, Barry A. Warsaw} says in the
documentation for his @code{cc-mode}, ``This is a very common
question. @code{:-)} If you want this to be the default behavior,
don't lobby me, lobby RMS!''
The following variables can be used to customize Octave mode.
@vtable @code
@item octave-blink-matching-block
Non-@code{nil} means show matching begin of block when inserting a space,
newline or @samp{;} after an else or end keyword. Default is @code{t}.
This is an extremely useful feature for automatically verifying that the
keywords match---if they don't, an error message is displayed.
@item octave-block-offset
Extra indentation applied to statements in block structures.
Default is 2.
@item octave-continuation-offset
Extra indentation applied to Octave continuation lines.
Default is 4.
@item octave-font-lock-texinfo-comment
Highlight texinfo comment blocks. The default value is @code{t}.
@end vtable
If Font Lock mode is enabled, Octave mode will display
@itemize @bullet
@item
strings in @code{font-lock-string-face}
@item
comments in @code{font-lock-comment-face}
@item
the Octave reserved words (such as all block keywords) and the text
functions (such as @samp{cd} or @samp{who}) which are also reserved
using @code{font-lock-keyword-face}
@item
the built-in operators (@samp{&&}, @samp{==}, @dots{}) using
@code{font-lock-reference-face}
@item
and the function names in function declarations in
@code{font-lock-function-name-face}.
@item
Function comments blocks in @code{octave-function-comment-block}
@end itemize
@cindex Imenu Support
There is also rudimentary support for Imenu (@pxref{Imenu,,, emacs,
The GNU Emacs Manual}). Currently, function names can be indexed.
@cindex ElDoc Mode Support
@vindex octave-eldoc-message-style
ElDoc mode (@pxref{Lisp Doc,,, emacs, The GNU Emacs Manual}) is
supported. By customizing @code{octave-eldoc-message-style} it can be
changed from displaying one or multi line hints.
@c @cindex TAGS
@c @cindex Emacs TAGS files
@c @cindex @file{octave-tags}
@c You can generate TAGS files for Emacs from Octave @file{.m} files using
@c the shell script @file{octave-tags} that is installed alongside your copy of
@c Octave.
@c
@vindex octave-mode-hook
Customization of Octave mode can be performed by modification of the
variable @code{octave-mode-hook}.
@node Running Octave from Within Emacs
@chapter Running Octave from Within Emacs
@cindex Inferior Octave Mode
Octave mode provides commands for running an inferior
Octave process in a special Emacs buffer. Use
@lisp
M-x run-octave
@end lisp
@noindent
to directly start an inferior Octave process.
@vindex inferior-octave-buffer
This will start Octave in a special buffer the name of which is
specified by the variable @code{inferior-octave-buffer} and defaults
to @file{*Inferior Octave*}. From within this buffer, you can
interact with the inferior Octave process `as usual', i.e., by
entering Octave commands at the prompt. The buffer is in Inferior
Octave mode, which is derived from the standard Comint mode, a major
mode for interacting with an inferior interpreter. See the
documentation for @code{comint-mode} for more details, and use
@kbd{C-h b} to find out about available special keybindings.
You can also communicate with an inferior Octave process from within
files with Octave code (i.e., buffers in Octave mode), using the
following commands.
@table @kbd
@item C-c C-i l
@kindex C-c C-i l
@findex octave-send-line
@vindex octave-send-line-auto-forward
Send the current line to the inferior Octave process
(@code{octave-send-line}). With positive prefix argument @var{n},
send that many lines. If @code{octave-send-line-auto-forward} is
non-@code{nil}, go to the next unsent code line.
@item C-c C-i b
@kindex C-c C-i b
@findex octave-send-block
Send the current block to the inferior Octave process
(@code{octave-send-block}).
@item C-c C-i f
@kindex C-c C-i f
@findex octave-send-defun
Send the current function to the inferior Octave process
(@code{octave-send-defun}).
@item C-c C-i r
@kindex C-c C-i r
@findex octave-send-region
Send the region to the inferior Octave process
(@code{octave-send-region}).
@item C-c C-i a
@kindex C-c C-i a
@findex octave-send-buffer
Send the entire buffer to the inferior Octave process
(@code{octave-send-buffer}). If the buffer is associated with a file
then sourcing the buffer by using @kbd{C-c C-l}
(@code{octave-source-file}) should be preferred.
@item C-c C-i s
@kindex C-c C-i s
@findex octave-show-process-buffer
Make sure that `inferior-octave-buffer' is displayed
(@code{octave-show-process-buffer}).
@item C-c C-i q
@kindex C-c C-i q
@findex octave-hide-process-buffer
Delete all windows that display the inferior Octave buffer
(@code{octave-hide-process-buffer}).
@item C-c C-i k
@kindex C-c C-i k
@findex octave-kill-process
Kill the inferior Octave process and its buffer
(@code{octave-kill-process}).
@item C-c C-l
@kindex C-c C-l
@findex octave-source-file
Parse and execute the current file in the inferior Octave buffer
(@code{octave-source-file}). This is done using Octave's
@code{source} function.
@item M-.
@kindex M-.
@findex octave-find-definition
@vindex octave-source-directories
Find the definition of a function or variable. Functions implemented
in C++ can be found if variable @code{octave-source-directories} is
set correctly (@code{octave-find-definition}).
@item C-h d
@kindex C-h d
@findex octave-help
@vindex octave-help-buffer
Display the documentation for function (@code{octave-help}). The
buffer name can be changed by customizing @code{octave-help-buffer}.
@item C-h a
@kindex C-h a
@findex octave-lookfor
Search for a given string in all the first sentence of function help
strings (@code{octave-lookfor}). With a @code{universal-argument} the
entire help string is searched.
@end table
The effect of the commands which send code to the Octave process can be
customized by the following variables.
@vtable @code
@item octave-send-echo-input
Non-@code{nil} means echo input sent to the inferior Octave process.
Default is @code{t}.
@item octave-send-show-buffer
Non-@code{nil} means display the buffer running the Octave process after
sending a command (but without selecting it).
Default is @code{t}.
@end vtable
If you send code and there is no inferior Octave process yet, it will
be started automatically.
@vindex inferior-octave-startup-args
The startup of the inferior Octave process is highly customizable.
The variable @code{inferior-octave-startup-args} can be used for
specifying command lines arguments to be passed to Octave on startup
as a list of strings. For example, to suppress the startup message
and use `traditional' mode, set this to @code{("-q" "--traditional")}.
You can also specify a startup file of Octave commands to be loaded on
startup; note that these commands will not produce any visible output
in the process buffer. Which file to use is controlled by the
variable @code{inferior-octave-startup-file}. The default is
@file{~/.emacs-octave} or if this file is not found
@file{~/.emacs.d/init_octave.m}.
@vindex inferior-octave-prompt-read-only
By customizing @code{inferior-octave-prompt-read-only} the prompt can
be changed to be read only. The default value is the same as
@code{comint-prompt-read-only}.
@vindex inferior-octave-mode-hook
And finally, @code{inferior-octave-mode-hook} is run after starting
the process and putting its buffer into Inferior Octave mode. Hence,
if you like the up and down arrow keys to behave in the interaction
buffer as in the shell, and you want this buffer to use nice colors,
add
@lisp
(add-hook 'inferior-octave-mode-hook
(lambda ()
(define-key inferior-octave-mode-map [up]
'comint-previous-input)
(define-key inferior-octave-mode-map [down]
'comint-next-input)))
@end lisp
@noindent
to your @file{.emacs} or @file{init.el} file. You could also swap the
roles of @kbd{C-a} (@code{beginning-of-line}) and @code{C-c C-a}
(@code{comint-bol}) using this hook.
@vindex inferior-octave-prompt
@quotation
@strong{Note} that if you set your Octave prompts to something different
from the defaults, make sure that @code{inferior-octave-prompt} matches
them. Otherwise, @emph{nothing} will work, because Emacs will not know
when Octave is waiting for input, or done sending output.
@end quotation
@node GNU Free Documentation License
@chapter GNU Free Documentation License
@include doclicense.texi
@node Key Index
@unnumbered Key Index
@printindex ky
@node Variable Index
@unnumbered Variable Index
@printindex vr
@node Lisp Function Index
@unnumbered Function Index
@printindex fn
@node Concept Index
@unnumbered Concept Index
@printindex cp
@bye
@c TODO Update
@c @node Using the Emacs Info Reader for Octave
@c @chapter Using the Emacs Info Reader for Octave
@c You may also use the Emacs Info reader with Octave's @code{doc} function.
@c If @file{gnuserv} is installed, add the lines
@c @lisp
@c (autoload 'octave-help "octave-hlp" nil t)
@c (require 'gnuserv)
@c (gnuserv-start)
@c @end lisp
@c @noindent
@c to your @file{.emacs} file.
@c You can use either `plain' Emacs Info or the function @code{octave-help}
@c as your Octave info reader (for @samp{help -i}). In the former case,
@c use @code{info_program ("info-emacs-info")}.
@c The latter is perhaps more attractive because it allows to look up keys
@c in the indices of @emph{several} info files related to Octave (provided
@c that the Emacs variable @code{octave-help-files} is set correctly). In
@c this case, use @code{info_program ("info-emacs-octave-help")}.
@c If you use Octave from within Emacs, it is best to add these settings to
@c your @file{~/.emacs-octave} startup file (or the file pointed to by the
@c Emacs variable @code{inferior-octave-startup-file}).

View file

@ -247,7 +247,14 @@ You can pick the name of the function and the variables with `C-x 4 a'.
* Changes in Specialized Modes and Packages in Emacs 24.4
** The backtrace debugger can display local vars with `v'.
** CUA-mode
CUA-mode was changed to make use of delete-selection-mode and
shift-select-mode. So you can now enable it independently from
transient-mark-mode, delete-selection-mode, and shift-select-mode.
As a result, cua-highlight-region-shift-only is obsolete
(you can disable transient-mark-mode to get the same result).
** `delete-selection-mode' can be used without transient-mark-mode.
** prolog-use-smie has been removed, along with the non-SMIE indentation code.
@ -257,10 +264,6 @@ file and letting SMIE learn from it.
** sh-script now uses its SMIE indentation algorithm by default.
** The debugger's `e' command evaluates the code in the context at point.
This includes using the lexical environment at point, which means that
`e' now lets you access lexical variables as well.
** `eshell' now supports visual subcommands and options
Eshell has been able to handle "visual" commands (interactive,
non-line oriented commands such as top that require display
@ -318,6 +321,12 @@ Use `electric-indent-mode' instead.
** completing-read-multiple's separator can now be a regexp.
The default separator is changed to allow surrounding spaces around the comma.
** The backtrace debugger and local variables:
*** The debugger's `e' command evaluates the code in the context at point.
This includes using the lexical environment at point, which means that
`e' now lets you access lexical variables as well.
*** The backtrace debugger can display local vars with `v'.
** Battery
*** Battery information via the BSD `apm' utility is now supported.

View file

@ -1,116 +0,0 @@
/* gl_openssl.h -- wrap openssl crypto hash routines in gnulib interface
Copyright (C) 2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* Written by Pádraig Brady */
#ifndef GL_OPENSSL_NAME
# error "Please define GL_OPENSSL_NAME to 1,5,256 etc."
#endif
#ifndef _GL_INLINE_HEADER_BEGIN
# error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#ifndef GL_OPENSSL_INLINE
# define GL_OPENSSL_INLINE _GL_INLINE
#endif
/* Concatenate two preprocessor tokens. */
#define _GLCRYPTO_CONCAT_(prefix, suffix) prefix##suffix
#define _GLCRYPTO_CONCAT(prefix, suffix) _GLCRYPTO_CONCAT_ (prefix, suffix)
#if GL_OPENSSL_NAME == 5
# define OPENSSL_ALG md5
#else
# define OPENSSL_ALG _GLCRYPTO_CONCAT (sha, GL_OPENSSL_NAME)
#endif
/* Context type mappings. */
#if BASE_OPENSSL_TYPE != GL_OPENSSL_NAME
# undef BASE_OPENSSL_TYPE
# if GL_OPENSSL_NAME == 224
# define BASE_OPENSSL_TYPE 256
# elif GL_OPENSSL_NAME == 384
# define BASE_OPENSSL_TYPE 512
# endif
# define md5_CTX MD5_CTX
# define sha1_CTX SHA_CTX
# define sha224_CTX SHA256_CTX
# define sha224_ctx sha256_ctx
# define sha256_CTX SHA256_CTX
# define sha384_CTX SHA512_CTX
# define sha384_ctx sha512_ctx
# define sha512_CTX SHA512_CTX
# undef _gl_CTX
# undef _gl_ctx
# define _gl_CTX _GLCRYPTO_CONCAT (OPENSSL_ALG, _CTX) /* openssl type. */
# define _gl_ctx _GLCRYPTO_CONCAT (OPENSSL_ALG, _ctx) /* gnulib type. */
struct _gl_ctx { _gl_CTX CTX; };
#endif
/* Function name mappings. */
#define md5_prefix MD5
#define sha1_prefix SHA1
#define sha224_prefix SHA224
#define sha256_prefix SHA256
#define sha384_prefix SHA384
#define sha512_prefix SHA512
#define _GLCRYPTO_PREFIX _GLCRYPTO_CONCAT (OPENSSL_ALG, _prefix)
#define OPENSSL_FN(suffix) _GLCRYPTO_CONCAT (_GLCRYPTO_PREFIX, suffix)
#define GL_CRYPTO_FN(suffix) _GLCRYPTO_CONCAT (OPENSSL_ALG, suffix)
GL_OPENSSL_INLINE void
GL_CRYPTO_FN (_init_ctx) (struct _gl_ctx *ctx)
{ (void) OPENSSL_FN (_Init) ((_gl_CTX *) ctx); }
/* These were never exposed by gnulib. */
#if ! (GL_OPENSSL_NAME == 224 || GL_OPENSSL_NAME == 384)
GL_OPENSSL_INLINE void
GL_CRYPTO_FN (_process_bytes) (const void *buf, size_t len, struct _gl_ctx *ctx)
{ OPENSSL_FN (_Update) ((_gl_CTX *) ctx, buf, len); }
GL_OPENSSL_INLINE void
GL_CRYPTO_FN (_process_block) (const void *buf, size_t len, struct _gl_ctx *ctx)
{ GL_CRYPTO_FN (_process_bytes) (buf, len, ctx); }
#endif
GL_OPENSSL_INLINE void *
GL_CRYPTO_FN (_finish_ctx) (struct _gl_ctx *ctx, void *res)
{ OPENSSL_FN (_Final) (res, (_gl_CTX *) ctx); return res; }
GL_OPENSSL_INLINE void *
GL_CRYPTO_FN (_buffer) (const char *buf, size_t len, void *res)
{ return OPENSSL_FN () ((const unsigned char *) buf, len, res); }
GL_OPENSSL_INLINE void *
GL_CRYPTO_FN (_read_ctx) (const struct _gl_ctx *ctx, void *res)
{
/* Assume any unprocessed bytes in ctx are not to be ignored. */
_gl_CTX tmp_ctx = *(_gl_CTX *) ctx;
OPENSSL_FN (_Final) (res, &tmp_ctx);
return res;
}
/* Undef so we can include multiple times. */
#undef GL_CRYPTO_FN
#undef OPENSSL_FN
#undef _GLCRYPTO_PREFIX
#undef OPENSSL_ALG
#undef GL_OPENSSL_NAME
_GL_INLINE_HEADER_END

View file

@ -1,3 +1,85 @@
2013-12-11 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/smie.el (smie-indent--hanging-p): Don't bother matching
comment-start-skip, since it fails when that uses submatch 1 (bug#16041).
* emulation/cua-base.el (cua-paste): Add `delete-selection' property
instead of deleting the selection "by hand" (bug#16098).
Rely on insert-for-yank to yank rectangles.
(cua-highlight-region-shift-only): Mark obsolete.
(cua-mode): Don't enable/disable transient-mark-mode,
shift-select-mode (cua-mode works both with and without them), and
pc-selection-mode (obsolete).
* emulation/cua-rect.el (cua--activate-rectangle): Activate the mark.
(cua--deactivate-rectangle): Deactivate it.
* delsel.el (delete-selection-mode): Don't enable transient-mark-mode.
(delete-selection-helper): Make sure yank starts at the top of the
deleted region.
(minibuffer-keyboard-quit): Use region-active-p.
* emacs-lisp/trace.el (trace-make-advice): Don't deactivate the mark.
* simple.el (normal-erase-is-backspace-mode): Map kp-delete identically
to `delete' (bug#16109).
2013-12-11 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
* progmodes/octave.el (octave-mode, inferior-octave-mode): Link to
info manual and show keybindings and set `:group' keyword.
2013-12-11 Juri Linkov <juri@jurta.org>
* delsel.el (delete-active-region): Let-bind `this-command'
to prevent `kill-region' from changing its original value.
(delete-selection-helper): Handle `overwrite-mode' for the type
`kill' exactly the same way as for the type `t'.
(insert-char, quoted-insert, reindent-then-newline-and-indent):
Support more commands. (Bug#13312)
2013-12-11 Juri Linkov <juri@jurta.org>
* bindings.el: Map kp keys to non-kp keys systematically
with basic modifiers control, meta and shift. (Bug#14397)
2013-12-11 Kenjiro NAKAYAMA <nakayamakenjiro@gmail.com> (tiny change)
* net/eww.el (eww-mode-map): Instead of "Quit" show "Exit" and
"Close browser" menu items. Fix wrong function of "List
bookmarks".
2013-12-11 Juri Linkov <juri@jurta.org>
* misearch.el (multi-isearch-buffers): Set the value of
`multi-isearch-buffer-list' globally. Set NO-RECURSIVE-EDIT
arg of isearch-forward to t.
(multi-isearch-buffers-regexp): Set the value of
`multi-isearch-buffer-list' globally. Set NO-RECURSIVE-EDIT
arg of isearch-forward-regexp to t.
(multi-isearch-files): Set the value of
`multi-isearch-file-list' globally. Set NO-RECURSIVE-EDIT
arg of isearch-forward to t.
(multi-isearch-files-regexp): Set the value of
`multi-isearch-file-list globally. Set NO-RECURSIVE-EDIT
arg of isearch-forward-regexp to t. (Bug#16035)
* dired-aux.el (dired-isearch-filenames): Set NO-RECURSIVE-EDIT
arg of isearch-forward to t.
(dired-isearch-filenames-regexp): Set NO-RECURSIVE-EDIT
arg of isearch-forward-regexp to t.
(dired-isearch-filter-filenames): Remove unnecessary check for
`dired-isearch-filenames'.
* comint.el (comint-history-isearch-backward):
Set NO-RECURSIVE-EDIT arg of isearch-backward to t.
(comint-history-isearch-backward-regexp):
Set NO-RECURSIVE-EDIT arg of isearch-backward-regexp to t.
2013-12-10 Eli Zaretskii <eliz@gnu.org>
* Makefile.in (autoloads): Run $(srcdir)/loaddefs.el through
unmsys--file-name. (Bug#16099)
2013-12-10 Teodor Zlatanov <tzz@lifelogs.com>
* emacs-lisp/package.el (package-keyword-button-action): Remove

View file

@ -183,7 +183,7 @@ autoloads: $(LOADDEFS) doit
echo Directories: $$wins; \
$(emacs) -l autoload \
--eval '(setq autoload-builtin-package-versions t)' \
--eval '(setq generated-autoload-file (expand-file-name "$(srcdir)/loaddefs.el"))' \
--eval '(setq generated-autoload-file (expand-file-name (unmsys--file-name "$(srcdir)/loaddefs.el")))' \
-f batch-update-autoloads $$wins
# This is required by the bootstrap-emacs target in ../src/Makefile, so

View file

@ -1056,36 +1056,30 @@ if `inhibit-field-text-motion' is non-nil."
;; FIXME: rather than list such mappings for every modifier-combination,
;; we should come up with a way to do it generically, something like
;; (define-key function-key-map [*-kp-home] [*-home])
(define-key function-key-map [kp-home] [home])
(define-key function-key-map [kp-left] [left])
(define-key function-key-map [kp-up] [up])
(define-key function-key-map [kp-right] [right])
(define-key function-key-map [kp-down] [down])
(define-key function-key-map [kp-prior] [prior])
(define-key function-key-map [kp-next] [next])
(define-key function-key-map [M-kp-next] [M-next])
(define-key function-key-map [kp-end] [end])
(define-key function-key-map [kp-begin] [begin])
(define-key function-key-map [kp-insert] [insert])
;; Currently we add keypad key combinations with basic modifiers
;; (to complement plain bindings in "Keypad support" section in simple.el)
;; Until [*-kp-home] is implemented, for more modifiers we could also use:
;; (todo-powerset '(control meta shift hyper super alt)) (Bug#14397)
(let ((modifiers '(nil (control) (meta) (control meta) (shift)
(control shift) (meta shift) (control meta shift)))
(keys '((kp-delete delete) (kp-insert insert)
(kp-end end) (kp-down down) (kp-next next)
(kp-left left) (kp-begin begin) (kp-right right)
(kp-home home) (kp-up up) (kp-prior prior)
(kp-enter enter) (kp-decimal ?.)
(kp-0 ?0) (kp-1 ?1) (kp-2 ?2) (kp-3 ?3) (kp-4 ?4)
(kp-5 ?5) (kp-6 ?6) (kp-7 ?7) (kp-8 ?8) (kp-9 ?9)
(kp-add +) (kp-subtract -) (kp-multiply *) (kp-divide /))))
(dolist (pair keys)
(dolist (mod modifiers)
(define-key function-key-map
(vector (append mod (list (nth 0 pair))))
(vector (append mod (list (nth 1 pair))))))))
(define-key function-key-map [backspace] [?\C-?])
(define-key function-key-map [delete] [?\C-?])
(define-key function-key-map [kp-delete] [?\C-?])
(define-key function-key-map [S-kp-end] [S-end])
(define-key function-key-map [S-kp-down] [S-down])
(define-key function-key-map [S-kp-next] [S-next])
(define-key function-key-map [S-kp-left] [S-left])
(define-key function-key-map [S-kp-right] [S-right])
(define-key function-key-map [S-kp-home] [S-home])
(define-key function-key-map [S-kp-up] [S-up])
(define-key function-key-map [S-kp-prior] [S-prior])
(define-key function-key-map [C-S-kp-end] [C-S-end])
(define-key function-key-map [C-S-kp-down] [C-S-down])
(define-key function-key-map [C-S-kp-next] [C-S-next])
(define-key function-key-map [C-S-kp-left] [C-S-left])
(define-key function-key-map [C-S-kp-right] [C-S-right])
(define-key function-key-map [C-S-kp-home] [C-S-home])
(define-key function-key-map [C-S-kp-up] [C-S-up])
(define-key function-key-map [C-S-kp-prior] [C-S-prior])
;; Don't bind shifted keypad numeric keys, they reportedly
;; interfere with the feature of some keyboards to produce
;; numbers when NumLock is off.
@ -1097,14 +1091,14 @@ if `inhibit-field-text-motion' is non-nil."
;(define-key function-key-map [S-kp-7] [S-home])
;(define-key function-key-map [S-kp-8] [S-up])
;(define-key function-key-map [S-kp-9] [S-prior])
(define-key function-key-map [C-S-kp-1] [C-S-end])
(define-key function-key-map [C-S-kp-2] [C-S-down])
(define-key function-key-map [C-S-kp-3] [C-S-next])
(define-key function-key-map [C-S-kp-4] [C-S-left])
(define-key function-key-map [C-S-kp-6] [C-S-right])
(define-key function-key-map [C-S-kp-7] [C-S-home])
(define-key function-key-map [C-S-kp-8] [C-S-up])
(define-key function-key-map [C-S-kp-9] [C-S-prior])
;(define-key function-key-map [C-S-kp-1] [C-S-end])
;(define-key function-key-map [C-S-kp-2] [C-S-down])
;(define-key function-key-map [C-S-kp-3] [C-S-next])
;(define-key function-key-map [C-S-kp-4] [C-S-left])
;(define-key function-key-map [C-S-kp-6] [C-S-right])
;(define-key function-key-map [C-S-kp-7] [C-S-home])
;(define-key function-key-map [C-S-kp-8] [C-S-up])
;(define-key function-key-map [C-S-kp-9] [C-S-prior])
;; Hitting C-SPC on text terminals, usually sends the ascii code 0 (aka C-@),
;; so we can't distinguish those two keys, but usually we consider C-SPC

View file

@ -1407,13 +1407,13 @@ If nil, Isearch operates on the whole comint buffer."
"Search for a string backward in input history using Isearch."
(interactive)
(let ((comint-history-isearch t))
(isearch-backward)))
(isearch-backward nil t)))
(defun comint-history-isearch-backward-regexp ()
"Search for a regular expression backward in input history using Isearch."
(interactive)
(let ((comint-history-isearch t))
(isearch-backward-regexp)))
(isearch-backward-regexp nil t)))
(defvar-local comint-history-isearch-message-overlay nil)

View file

@ -71,14 +71,15 @@ any selection."
:global t :group 'editing-basics
(if (not delete-selection-mode)
(remove-hook 'pre-command-hook 'delete-selection-pre-hook)
(add-hook 'pre-command-hook 'delete-selection-pre-hook)
(transient-mark-mode t)))
(add-hook 'pre-command-hook 'delete-selection-pre-hook)))
(defun delete-active-region (&optional killp)
"Delete the active region.
If KILLP in not-nil, the active region is killed instead of deleted."
(if killp
(kill-region (point) (mark) t)
;; Don't allow `kill-region' to change the value of `this-command'.
(let (this-command)
(kill-region (point) (mark) t))
(funcall region-extract-function 'delete-only))
t)
@ -102,7 +103,13 @@ If KILLP in not-nil, the active region is killed instead of deleted."
FUNCTION should take no argument and return one of the above values or nil."
(condition-case data
(cond ((eq type 'kill)
(delete-active-region t))
(delete-active-region t)
(if (and overwrite-mode
(eq this-command 'self-insert-command))
(let ((overwrite-mode nil))
(self-insert-command
(prefix-numeric-value current-prefix-arg))
(setq this-command 'ignore))))
((eq type 'yank)
;; Before a yank command, make sure we don't yank the
;; head of the kill-ring that really comes from the
@ -114,7 +121,11 @@ If KILLP in not-nil, the active region is killed instead of deleted."
(fboundp 'mouse-region-match)
(mouse-region-match))
(current-kill 1))
(delete-active-region))
(let ((pos (copy-marker (region-beginning))))
(delete-active-region)
;; If the region was, say, rectangular, make sure we yank
;; from the top, to "replace".
(goto-char pos)))
((eq type 'supersede)
(let ((empty-region (= (point) (mark))))
(delete-active-region)
@ -165,10 +176,14 @@ See `delete-selection-helper'."
(not (run-hook-with-args-until-success
'self-insert-uses-region-functions))))
(put 'insert-char 'delete-selection t)
(put 'quoted-insert 'delete-selection t)
(put 'yank 'delete-selection 'yank)
(put 'clipboard-yank 'delete-selection 'yank)
(put 'insert-register 'delete-selection t)
(put 'reindent-then-newline-and-indent 'delete-selection t)
(put 'newline-and-indent 'delete-selection t)
(put 'newline 'delete-selection t)
(put 'open-line 'delete-selection 'kill)
@ -180,7 +195,7 @@ See `delete-selection-helper'."
In Delete Selection mode, if the mark is active, just deactivate it;
then it takes a second \\[keyboard-quit] to abort the minibuffer."
(interactive)
(if (and delete-selection-mode transient-mark-mode mark-active)
(if (and delete-selection-mode (region-active-p))
(setq deactivate-mark t)
(abort-recursive-edit)))
@ -197,9 +212,9 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
(define-key minibuffer-local-completion-map "\C-g" 'abort-recursive-edit)
(define-key minibuffer-local-must-match-map "\C-g" 'abort-recursive-edit)
(define-key minibuffer-local-isearch-map "\C-g" 'abort-recursive-edit)
(dolist (sym '(self-insert-command yank clipboard-yank
insert-register
newline-and-indent newline open-line))
(dolist (sym '(self-insert-command insert-char quoted-insert yank
clipboard-yank insert-register newline-and-indent
reindent-then-newline-and-indent newline open-line))
(put sym 'delete-selection nil))
;; continue standard unloading
nil)

View file

@ -2526,24 +2526,22 @@ Intended to be added to `isearch-mode-hook'."
"Test whether the current search hit is a file name.
Return non-nil if the text from BEG to END is part of a file
name (has the text property `dired-filename')."
(if dired-isearch-filenames
(text-property-not-all (min beg end) (max beg end)
'dired-filename nil)
t))
(text-property-not-all (min beg end) (max beg end)
'dired-filename nil))
;;;###autoload
(defun dired-isearch-filenames ()
"Search for a string using Isearch only in file names in the Dired buffer."
(interactive)
(let ((dired-isearch-filenames t))
(isearch-forward)))
(isearch-forward nil t)))
;;;###autoload
(defun dired-isearch-filenames-regexp ()
"Search for a regexp using Isearch only in file names in the Dired buffer."
(interactive)
(let ((dired-isearch-filenames t))
(isearch-forward-regexp)))
(isearch-forward-regexp nil t)))
;; Functions for searching in tags style among marked files.

View file

@ -3849,7 +3849,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
;;; Start of automatically extracted autoloads.
;;;### (autoloads nil "dired-aux" "dired-aux.el" "04b4cb6bde3220f55574eb1d99ac0d29")
;;;### (autoloads nil "dired-aux" "dired-aux.el" "4cb9d594789dacdf2445f338b9189357")
;;; Generated autoloads from dired-aux.el
(autoload 'dired-diff "dired-aux" "\

View file

@ -1165,7 +1165,7 @@ the beginning of a line."
(forward-char 1))
(skip-chars-forward " \t")
(or (eolp)
(and (looking-at comment-start-skip)
(and ;; (looking-at comment-start-skip) ;(bug#16041).
(forward-comment (point-max))))
(point))))))

View file

@ -222,6 +222,7 @@ be printed along with the arguments in the trace."
(lambda (body &rest args)
(let ((trace-level (1+ trace-level))
(trace-buffer (get-buffer-create buffer))
(deactivate-mark nil) ;Protect deactivate-mark.
(ctx (funcall context)))
(unless inhibit-trace
(with-current-buffer trace-buffer

View file

@ -294,6 +294,8 @@ But when the mark was set using \\[cua-set-mark], Transient Mark mode
is not turned on."
:type 'boolean
:group 'cua)
(make-obsolete-variable 'cua-highlight-region-shift-only
'transient-mark-mode "24.4")
(defcustom cua-prefix-override-inhibit-delay 0.2
"If non-nil, time in seconds to delay before overriding prefix key.
@ -858,6 +860,7 @@ With numeric prefix arg, copy to register 0-9 instead."
(declare-function x-clipboard-yank "../term/x-win" ())
(put 'cua-paste 'delete-selection 'yank)
(defun cua-paste (arg)
"Paste last cut or copied region or rectangle.
An active region is deleted before executing the command.
@ -866,8 +869,7 @@ If global mark is active, copy from register or one character."
(interactive "P")
(setq arg (cua--prefix-arg arg))
(let ((regtxt (and cua--register (get-register cua--register)))
(count (prefix-numeric-value arg))
paste-column paste-lines)
(count (prefix-numeric-value arg)))
(cond
((and cua--register (not regtxt))
(message "Nothing in register %c" cua--register))
@ -875,30 +877,12 @@ If global mark is active, copy from register or one character."
(if regtxt
(cua--insert-at-global-mark regtxt)
(when (not (eobp))
(cua--insert-at-global-mark (filter-buffer-substring (point) (+ (point) count)))
(cua--insert-at-global-mark
(filter-buffer-substring (point) (+ (point) count)))
(forward-char count))))
(buffer-read-only
(error "Cannot paste into a read-only buffer"))
(t
;; Must save register here, since delete may override reg 0.
(if mark-active
(if cua--rectangle
(progn
(goto-char (min (mark) (point)))
(setq paste-column (cua--rectangle-left))
(setq paste-lines (cua--delete-rectangle))
(if (= paste-lines 1)
(setq paste-lines nil))) ;; paste all
;; Before a yank command, make sure we don't yank the
;; head of the kill-ring that really comes from the
;; currently active region we are going to delete.
;; That would make yank a no-op.
(if (and (string= (filter-buffer-substring (point) (mark))
(car kill-ring))
(fboundp 'mouse-region-match)
(mouse-region-match))
(current-kill 1))
(cua-delete-region)))
(cond
(regtxt
(cond
@ -906,16 +890,6 @@ If global mark is active, copy from register or one character."
((consp regtxt) (cua--insert-rectangle regtxt))
((stringp regtxt) (insert-for-yank regtxt))
(t (message "Unknown data in register %c" cua--register))))
((and cua--last-killed-rectangle
(eq (and kill-ring (car kill-ring)) (car cua--last-killed-rectangle)))
(let ((pt (point)))
(when (not (eq buffer-undo-list t))
(setq this-command 'cua--paste-rectangle)
(undo-boundary)
(setq buffer-undo-list (cons pt buffer-undo-list)))
(cua--insert-rectangle (cdr cua--last-killed-rectangle)
nil paste-column paste-lines)
(if arg (goto-char pt))))
((eq this-original-command 'clipboard-yank)
(clipboard-yank))
((eq this-original-command 'x-clipboard-yank)
@ -1426,9 +1400,7 @@ If ARG is the atom `-', scroll upward by nearly full screen."
;; State prior to enabling cua-mode
;; Value is a list with the following elements:
;; transient-mark-mode
;; delete-selection-mode
;; pc-selection-mode
(defvar cua--saved-state nil)
@ -1488,7 +1460,8 @@ shifted movement key, set `cua-highlight-region-shift-only'."
(remove-hook 'post-command-hook 'cua--post-command-handler))
(if (not cua-mode)
(setq emulation-mode-map-alists (delq 'cua--keymap-alist emulation-mode-map-alists))
(setq emulation-mode-map-alists
(delq 'cua--keymap-alist emulation-mode-map-alists))
(add-to-ordered-list 'emulation-mode-map-alists 'cua--keymap-alist 400)
(cua--select-keymaps))
@ -1496,34 +1469,21 @@ shifted movement key, set `cua-highlight-region-shift-only'."
(cua-mode
(setq cua--saved-state
(list
transient-mark-mode
(and (boundp 'delete-selection-mode) delete-selection-mode)
(and (boundp 'pc-selection-mode) pc-selection-mode)
shift-select-mode))
(and (boundp 'delete-selection-mode) delete-selection-mode)))
(if cua-delete-selection
(delete-selection-mode 1)
(if (and (boundp 'delete-selection-mode) delete-selection-mode)
(delete-selection-mode -1)))
(if (and (boundp 'pc-selection-mode) pc-selection-mode)
(pc-selection-mode -1))
(cua--deactivate)
(setq shift-select-mode t)
(transient-mark-mode (if cua-highlight-region-shift-only -1 1)))
(if cua-highlight-region-shift-only (transient-mark-mode -1))
(cua--deactivate))
(cua--saved-state
(setq transient-mark-mode (car cua--saved-state))
(if (nth 1 cua--saved-state)
(if (nth 0 cua--saved-state)
(delete-selection-mode 1)
(if (and (boundp 'delete-selection-mode) delete-selection-mode)
(delete-selection-mode -1)))
(if (nth 2 cua--saved-state)
(pc-selection-mode 1))
(setq shift-select-mode (nth 3 cua--saved-state))
(if (called-interactively-p 'interactive)
(message "CUA mode disabled.%s%s%s%s"
(if (nth 1 cua--saved-state) " Delete-Selection" "")
(if (and (nth 1 cua--saved-state) (nth 2 cua--saved-state)) " and" "")
(if (nth 2 cua--saved-state) " PC-Selection" "")
(if (or (nth 1 cua--saved-state) (nth 2 cua--saved-state)) " enabled" "")))
(message "CUA mode disabled.%s"
(if (nth 0 cua--saved-state) " Delete-Selection enabled" "")))
(setq cua--saved-state nil))))

View file

@ -718,7 +718,8 @@ If command is repeated at same position, delete the rectangle."
(cdr (cdr cua--last-rectangle))
(cua--rectangle-get-corners))
cua--status-string (if (cua--rectangle-virtual-edges) " [R]" "")
cua--last-rectangle nil))
cua--last-rectangle nil)
(activate-mark))
;; (defvar cua-save-point nil)
@ -731,7 +732,8 @@ If command is repeated at same position, delete the rectangle."
cua--rectangle nil
cua--rectangle-overlays nil
cua--status-string nil
cua--mouse-last-pos nil))
cua--mouse-last-pos nil)
(deactivate-mark))
(defun cua--highlight-rectangle ()
;; This function is used to highlight the rectangular region.

View file

@ -262,11 +262,11 @@ whose names match the specified regexp."
(multi-isearch-read-matching-buffers)
(multi-isearch-read-buffers))))
(let ((multi-isearch-next-buffer-function
'multi-isearch-next-buffer-from-list)
(multi-isearch-buffer-list (mapcar #'get-buffer buffers)))
'multi-isearch-next-buffer-from-list))
(setq multi-isearch-buffer-list (mapcar #'get-buffer buffers))
(switch-to-buffer (car multi-isearch-buffer-list))
(goto-char (if isearch-forward (point-min) (point-max)))
(isearch-forward)))
(isearch-forward nil t)))
;;;###autoload
(defun multi-isearch-buffers-regexp (buffers)
@ -280,11 +280,11 @@ whose names match the specified regexp."
(multi-isearch-read-matching-buffers)
(multi-isearch-read-buffers))))
(let ((multi-isearch-next-buffer-function
'multi-isearch-next-buffer-from-list)
(multi-isearch-buffer-list (mapcar #'get-buffer buffers)))
'multi-isearch-next-buffer-from-list))
(setq multi-isearch-buffer-list (mapcar #'get-buffer buffers))
(switch-to-buffer (car multi-isearch-buffer-list))
(goto-char (if isearch-forward (point-min) (point-max)))
(isearch-forward-regexp)))
(isearch-forward-regexp nil t)))
;;; Global multi-file search invocations
@ -346,11 +346,11 @@ whose file names match the specified wildcard."
(multi-isearch-read-matching-files)
(multi-isearch-read-files))))
(let ((multi-isearch-next-buffer-function
'multi-isearch-next-file-buffer-from-list)
(multi-isearch-file-list (mapcar #'expand-file-name files)))
'multi-isearch-next-file-buffer-from-list))
(setq multi-isearch-file-list (mapcar #'expand-file-name files))
(find-file (car multi-isearch-file-list))
(goto-char (if isearch-forward (point-min) (point-max)))
(isearch-forward)))
(isearch-forward nil t)))
;;;###autoload
(defun multi-isearch-files-regexp (files)
@ -365,11 +365,11 @@ whose file names match the specified wildcard."
(multi-isearch-read-matching-files)
(multi-isearch-read-files))))
(let ((multi-isearch-next-buffer-function
'multi-isearch-next-file-buffer-from-list)
(multi-isearch-file-list (mapcar #'expand-file-name files)))
'multi-isearch-next-file-buffer-from-list))
(setq multi-isearch-file-list (mapcar #'expand-file-name files))
(find-file (car multi-isearch-file-list))
(goto-char (if isearch-forward (point-min) (point-max)))
(isearch-forward-regexp)))
(isearch-forward-regexp nil t)))
(provide 'multi-isearch)

View file

@ -418,7 +418,8 @@ word(s) will be searched for via `eww-search-prefix'."
(easy-menu-define nil map ""
'("Eww"
["Quit" eww-quit t]
["Exit" eww-quit t]
["Close browser" quit-window t]
["Reload" eww-reload t]
["Back to previous page" eww-back-url
:active (not (zerop (length eww-history)))]
@ -429,7 +430,7 @@ word(s) will be searched for via `eww-search-prefix'."
["View page source" eww-view-source]
["Copy page URL" eww-copy-page-url t]
["Add bookmark" eww-add-bookmark t]
["List bookmarks" eww-copy-page-url t]
["List bookmarks" eww-list-bookmarks t]
["List cookies" url-cookie-list t]))
map))

View file

@ -528,8 +528,14 @@ Non-nil means always go to the next Octave code line after sending."
Octave is a high-level language, primarily intended for numerical
computations. It provides a convenient command line interface
for solving linear and nonlinear problems numerically. Function
definitions can also be stored in files and used in batch mode."
definitions can also be stored in files and used in batch mode.
See Info node `(octave-mode) Using Octave Mode' for more details.
Key bindings:
\\{octave-mode-map}"
:abbrev-table octave-abbrev-table
:group 'octave
(smie-setup octave-smie-grammar #'octave-smie-rules
:forward-token #'octave-smie-forward-token
@ -705,8 +711,16 @@ in the Inferior Octave buffer.")
(process-live-p inferior-octave-process))
(define-derived-mode inferior-octave-mode comint-mode "Inferior Octave"
"Major mode for interacting with an inferior Octave process."
"Major mode for interacting with an inferior Octave process.
See Info node `(octave-mode) Running Octave from Within Emacs' for more
details.
Key bindings:
\\{inferior-octave-mode-map}"
:abbrev-table octave-abbrev-table
:group 'octave
(setq comint-prompt-regexp inferior-octave-prompt)
(setq-local comment-use-syntax t)

View file

@ -7435,7 +7435,7 @@ See also `normal-erase-is-backspace'."
(if enabled
(progn
(define-key local-function-key-map [delete] [deletechar])
(define-key local-function-key-map [kp-delete] [?\C-d])
(define-key local-function-key-map [kp-delete] [deletechar])
(define-key local-function-key-map [backspace] [?\C-?])
(dolist (b bindings)
;; Not sure if input-decode-map is really right, but

View file

@ -1,51 +0,0 @@
# gl-openssl.m4 serial 3
dnl Copyright (C) 2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_SET_CRYPTO_CHECK_DEFAULT],
[
m4_define([gl_CRYPTO_CHECK_DEFAULT], [$1])
])
gl_SET_CRYPTO_CHECK_DEFAULT([no])
AC_DEFUN([gl_CRYPTO_CHECK],
[
dnl gnulib users set this before gl_INIT with gl_SET_CRYPTO_CHECK_DEFAULT()
m4_divert_once([DEFAULTS], [with_openssl_default='gl_CRYPTO_CHECK_DEFAULT'])
dnl Only clear once, so crypto routines can be checked for individually
m4_divert_once([DEFAULTS], [LIB_CRYPTO=])
AC_ARG_WITH([openssl],
[AS_HELP_STRING([--with-openssl],
[use libcrypto hash routines. Valid ARGs are:
'yes', 'no', 'auto' => use if available,
'optional' => use if available and warn if not available;
default is ']gl_CRYPTO_CHECK_DEFAULT['])],
[],
[with_openssl=$with_openssl_default])
if test "x$1" = xMD5; then
ALG_header=md5.h
else
ALG_header=sha.h
fi
AC_SUBST([LIB_CRYPTO])
if test "x$with_openssl" != xno; then
AC_CHECK_LIB([crypto], [$1],
[AC_CHECK_HEADERS([openssl/$ALG_header],
[LIB_CRYPTO=-lcrypto
AC_DEFINE([HAVE_OPENSSL_$1], [1],
[Define to 1 if libcrypto is used for $1.])])])
if test "x$LIB_CRYPTO" = x; then
if test "x$with_openssl" = xyes; then
AC_MSG_ERROR([openssl development library not found for $1])
elif test "x$with_openssl" = xoptional; then
AC_MSG_WARN([openssl development library not found for $1])
fi
fi
fi
])

View file

@ -1,3 +1,46 @@
2013-12-11 Ken Brown <kbrown@cornell.edu>
* dispextern.h (erase_phys_cursor):
* keyboard.h (make_ctrl_char): Declare prototypes if HAVE_NTGUI.
2013-12-11 Dmitry Antipov <dmantipov@yandex.ru>
* nsterm.m (x_free_frame_resources):
* term.c (tty_free_frame_resources):
* xterm.c (x_free_frame_resources): Do not check for non-NULL
face cache because it's implied by free_frame_faces anyway.
* w32term.c (x_free_frame_resources): Likewise. Do not call
free_frame_faces twice.
2013-12-11 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
* editfns.c (Fformat_time_string): Mention %F in the doc.
2013-12-11 Martin Rudalics <rudalics@gmx.at>
* window.c (resize_frame_windows): Don't return immediately when
the root window's size doesn't change - the minibuffer window
may still have to be repositioned/resized.
* xfns.c (Fx_create_frame): Always change the frame size after
initializing the frame's faces.
* xterm.c (handle_one_xevent): Don't set pixel sizes here,
change_frame_size should already have done it.
(x_new_font): Assign new tool- and menu-bar heights.
(x_set_window_size_1): Account for tool- and menu-bar heights
(Bug#16013). Don't set pixel sizes since change_frame_size
should already have done it.
2013-12-11 Paul Eggert <eggert@cs.ucla.edu>
Remove the option of using libcrypto.
* Makefile.in (LIB_CRYPTO): Remove.
(LIBES): Don't use it.
2013-12-11 Juri Linkov <juri@jurta.org>
* term.c (term_get_fkeys_1): Remove non-standard IBM terminfo
as obsolete to avoid conflicts with <S-up>. (Bug#13471)
2013-12-10 Dmitry Antipov <dmantipov@yandex.ru>
* xdisp.c (display_tool_bar_line): Don't extend on a previously

View file

@ -139,7 +139,6 @@ M17N_FLT_LIBS = @M17N_FLT_LIBS@
LIB_ACL=@LIB_ACL@
LIB_CLOCK_GETTIME=@LIB_CLOCK_GETTIME@
LIB_CRYPTO=@LIB_CRYPTO@
LIB_EACCESS=@LIB_EACCESS@
LIB_FDATASYNC=@LIB_FDATASYNC@
LIB_TIMER_TIME=@LIB_TIMER_TIME@
@ -404,7 +403,6 @@ ALLOBJS = $(FIRSTFILE_OBJ) $(VMLIMIT_OBJ) $(obj) $(otherobj)
LIBES = $(LIBS) $(W32_LIBS) $(LIBS_GNUSTEP) $(LIBX_BASE) $(LIBIMAGE) \
$(LIBX_OTHER) $(LIBSOUND) \
$(RSVG_LIBS) $(IMAGEMAGICK_LIBS) $(LIB_ACL) $(LIB_CLOCK_GETTIME) \
$(LIB_CRYPTO) \
$(LIB_EACCESS) $(LIB_FDATASYNC) $(LIB_TIMER_TIME) $(DBUS_LIBS) \
$(LIB_EXECINFO) $(XRANDR_LIBS) $(XINERAMA_LIBS) \
$(LIBXML2_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \

View file

@ -3251,7 +3251,7 @@ extern void draw_phys_cursor_glyph (struct window *,
enum draw_glyphs_face);
extern void get_phys_cursor_geometry (struct window *, struct glyph_row *,
struct glyph *, int *, int *, int *);
#ifdef WINDOWSNT
#if HAVE_NTGUI
extern void erase_phys_cursor (struct window *);
#endif
extern void display_and_set_cursor (struct window *, bool, int, int, int, int);

View file

@ -1723,6 +1723,7 @@ by text that describes the specified date and time in TIME:
%c is the locale's date and time format.
%x is the locale's "preferred" date format.
%D is like "%m/%d/%y".
%F is the ISO 8601 date format (like "%Y-%m-%d").
%R is like "%H:%M", %T is like "%H:%M:%S", %r is like "%I:%M:%S %p".
%X is the locale's "preferred" time format.
@ -1741,7 +1742,7 @@ The modifiers are `E' and `O'. For certain characters X,
%EX is a locale's alternative version of %X;
%OX is like %X, but uses the locale's number symbols.
For example, to produce full ISO 8601 format, use "%Y-%m-%dT%T%z".
For example, to produce full ISO 8601 format, use "%FT%T%z".
usage: (format-time-string FORMAT-STRING &optional TIME UNIVERSAL) */)
(Lisp_Object format_string, Lisp_Object timeval, Lisp_Object universal)

View file

@ -518,7 +518,7 @@ extern bool input_polling_used (void);
extern void clear_input_pending (void);
extern bool requeued_events_pending_p (void);
extern void bind_polling_period (int);
#ifdef WINDOWSNT
#if HAVE_NTGUI
extern int make_ctrl_char (int) ATTRIBUTE_CONST;
#endif
extern void stuff_buffered_input (Lisp_Object);

View file

@ -1155,9 +1155,7 @@ Free a pool and temporary objects it refers to (callable from C)
block_input ();
free_frame_menubar (f);
if (FRAME_FACE_CACHE (f))
free_frame_faces (f);
free_frame_faces (f);
if (f == dpyinfo->x_focus_frame)
dpyinfo->x_focus_frame = 0;

View file

@ -1422,18 +1422,6 @@ term_get_fkeys_1 (void)
CONDITIONAL_REASSIGN ("kD", "kI", "insert");
/* if there's no key_end keycap, map key_ll to 'end' keysym */
CONDITIONAL_REASSIGN ("@7", "kH", "end");
/* IBM has their own non-standard dialect of terminfo.
If the standard name isn't found, try the IBM name. */
CONDITIONAL_REASSIGN ("kB", "KO", "backtab");
CONDITIONAL_REASSIGN ("@4", "kJ", "execute"); /* actually "action" */
CONDITIONAL_REASSIGN ("@4", "kc", "execute"); /* actually "command" */
CONDITIONAL_REASSIGN ("%7", "ki", "menu");
CONDITIONAL_REASSIGN ("@7", "kw", "end");
CONDITIONAL_REASSIGN ("F1", "k<", "f11");
CONDITIONAL_REASSIGN ("F2", "k>", "f12");
CONDITIONAL_REASSIGN ("%1", "kq", "help");
CONDITIONAL_REASSIGN ("*6", "kU", "select");
#undef CONDITIONAL_REASSIGN
}
@ -3845,10 +3833,7 @@ static void
tty_free_frame_resources (struct frame *f)
{
eassert (FRAME_TERMCAP_P (f));
if (FRAME_FACE_CACHE (f))
free_frame_faces (f);
free_frame_faces (f);
xfree (f->output_data.tty);
}
@ -3860,9 +3845,7 @@ static void
tty_free_frame_resources (struct frame *f)
{
eassert (FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f));
if (FRAME_FACE_CACHE (f))
free_frame_faces (f);
free_frame_faces (f);
}
#endif /* MSDOS */

View file

@ -6101,17 +6101,13 @@ x_free_frame_resources (struct frame *f)
/* We must free faces before destroying windows because some
font-driver (e.g. xft) access a window while finishing a
face. */
if (FRAME_FACE_CACHE (f))
free_frame_faces (f);
free_frame_faces (f);
if (FRAME_W32_WINDOW (f))
my_destroy_window (f, FRAME_W32_WINDOW (f));
free_frame_menubar (f);
if (FRAME_FACE_CACHE (f))
free_frame_faces (f);
xfree (f->output_data.w32);
f->output_data.w32 = NULL;

View file

@ -4057,7 +4057,7 @@ resize_frame_windows (struct frame *f, int size, bool horflag, bool pixelwise)
r->pixel_top = FRAME_TOP_MARGIN_HEIGHT (f);
if (new_pixel_size == old_pixel_size)
return;
;
else if (WINDOW_LEAF_P (r))
/* For a leaf root window just set the size. */
if (horflag)

View file

@ -3069,7 +3069,6 @@ This function is an internal primitive--use `make-frame' instead. */)
happen. */
init_frame_faces (f);
#ifdef USE_GTK
/* PXW: This is a duplicate from below. We have to do it here since
otherwise x_set_tool_bar_lines will work with the character sizes
installed by init_frame_faces while the frame's pixel size is still
@ -3078,12 +3077,8 @@ This function is an internal primitive--use `make-frame' instead. */)
non-pixelwise code apparently worked around this because it had one
frame line vs one toolbar line which left us with a zero root
window height which was obviously wrong as well ... */
width = FRAME_TEXT_WIDTH (f);
height = FRAME_TEXT_HEIGHT (f);
FRAME_TEXT_HEIGHT (f) = 0;
SET_FRAME_WIDTH (f, 0);
change_frame_size (f, width, height, 1, 0, 0, 1);
#endif /* USE_GTK */
change_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 1, 0, 0, 1);
/* Set the menu-bar-lines and tool-bar-lines parameters. We don't
look up the X resources controlling the menu-bar and tool-bar

View file

@ -6622,8 +6622,8 @@ handle_one_xevent (struct x_display_info *dpyinfo,
cancel_mouse_face (f);
}
FRAME_PIXEL_WIDTH (f) = event->xconfigure.width;
FRAME_PIXEL_HEIGHT (f) = event->xconfigure.height;
/** FRAME_PIXEL_WIDTH (f) = event->xconfigure.width; **/
/** FRAME_PIXEL_HEIGHT (f) = event->xconfigure.height; **/
#endif /* not USE_GTK */
#endif
@ -7689,6 +7689,9 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset)
FRAME_COLUMN_WIDTH (f) = font->average_width;
FRAME_LINE_HEIGHT (f) = FONT_HEIGHT (font);
FRAME_TOOL_BAR_HEIGHT (f) = FRAME_TOOL_BAR_LINES (f) * FRAME_LINE_HEIGHT (f);
FRAME_MENU_BAR_HEIGHT (f) = FRAME_MENU_BAR_LINES (f) * FRAME_LINE_HEIGHT (f);
compute_fringe_widths (f, 1);
/* Compute the scroll bar width in character columns. */
@ -8541,13 +8544,15 @@ x_set_window_size_1 (struct frame *f, int change_gravity, int width, int height,
compute_fringe_widths (f, 0);
pixelwidth =
(pixelwise ? width : FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, width))
+ FRAME_TOOLBAR_WIDTH (f);
pixelheight =
(pixelwise ? height : FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, height))
+ FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f);
pixelwidth = ((pixelwise
? FRAME_TEXT_TO_PIXEL_WIDTH (f, width)
: FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, width))
+ FRAME_TOOLBAR_WIDTH (f));
pixelheight = ((pixelwise
? FRAME_TEXT_TO_PIXEL_HEIGHT (f, height)
: FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, height))
+ FRAME_MENUBAR_HEIGHT (f)
+ FRAME_TOOLBAR_HEIGHT (f));
if (change_gravity) f->win_gravity = NorthWestGravity;
x_wm_set_size_hint (f, (long) 0, 0);
XResizeWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f),
@ -8582,8 +8587,6 @@ x_set_window_size_1 (struct frame *f, int change_gravity, int width, int height,
else
{
change_frame_size (f, width, height, 0, 1, 0, 1);
FRAME_PIXEL_WIDTH (f) = pixelwidth;
FRAME_PIXEL_HEIGHT (f) = pixelheight;
x_sync (f);
}
}
@ -9126,8 +9129,7 @@ x_free_frame_resources (struct frame *f)
/* We must free faces before destroying windows because some
font-driver (e.g. xft) access a window while finishing a
face. */
if (FRAME_FACE_CACHE (f))
free_frame_faces (f);
free_frame_faces (f);
if (f->output_data.x->icon_desc)
XDestroyWindow (FRAME_X_DISPLAY (f), f->output_data.x->icon_desc);