Merge from trunk.
This commit is contained in:
commit
a34a8cd1e4
35 changed files with 796 additions and 364 deletions
18
ChangeLog
18
ChangeLog
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"}
|
||||
|
|
12
configure.ac
12
configure.ac
|
@ -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}"
|
||||
|
|
|
@ -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
477
doc/misc/octave-mode.texi
Normal 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}).
|
19
etc/NEWS
19
etc/NEWS
|
@ -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.
|
||||
|
|
116
lib/gl_openssl.h
116
lib/gl_openssl.h
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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" "\
|
||||
|
|
|
@ -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))))))
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))))
|
||||
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
])
|
|
@ -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
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
21
src/term.c
21
src/term.c
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
28
src/xterm.c
28
src/xterm.c
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue