diff options
| author | Eli Zaretskii | 2013-12-11 19:06:29 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2013-12-11 19:06:29 +0200 |
| commit | a34a8cd1e46594c5776f187dd98583bcb82f9bc0 (patch) | |
| tree | 92503ed7f7d3fb3c73c38d4689611b8202682970 | |
| parent | 8b55eeeb70be4b4ff3dd4694013bdb1a9f668bc6 (diff) | |
| parent | 1421be8445803bdb9c3fece8c658836b5f0f9c34 (diff) | |
| download | emacs-a34a8cd1e46594c5776f187dd98583bcb82f9bc0.tar.gz emacs-a34a8cd1e46594c5776f187dd98583bcb82f9bc0.zip | |
Merge from trunk.
| -rw-r--r-- | ChangeLog | 18 | ||||
| -rw-r--r-- | admin/ChangeLog | 5 | ||||
| -rwxr-xr-x | admin/merge-gnulib | 3 | ||||
| -rw-r--r-- | configure.ac | 12 | ||||
| -rw-r--r-- | doc/misc/Makefile.in | 14 | ||||
| -rw-r--r-- | doc/misc/octave-mode.texi | 477 | ||||
| -rw-r--r-- | etc/NEWS | 19 | ||||
| -rw-r--r-- | lib/gl_openssl.h | 116 | ||||
| -rw-r--r-- | lisp/ChangeLog | 82 | ||||
| -rw-r--r-- | lisp/Makefile.in | 2 | ||||
| -rw-r--r-- | lisp/bindings.el | 64 | ||||
| -rw-r--r-- | lisp/comint.el | 4 | ||||
| -rw-r--r-- | lisp/delsel.el | 33 | ||||
| -rw-r--r-- | lisp/dired-aux.el | 10 | ||||
| -rw-r--r-- | lisp/dired.el | 2 | ||||
| -rw-r--r-- | lisp/emacs-lisp/smie.el | 2 | ||||
| -rw-r--r-- | lisp/emacs-lisp/trace.el | 1 | ||||
| -rw-r--r-- | lisp/emulation/cua-base.el | 68 | ||||
| -rw-r--r-- | lisp/emulation/cua-rect.el | 6 | ||||
| -rw-r--r-- | lisp/misearch.el | 24 | ||||
| -rw-r--r-- | lisp/net/eww.el | 5 | ||||
| -rw-r--r-- | lisp/progmodes/octave.el | 18 | ||||
| -rw-r--r-- | lisp/simple.el | 2 | ||||
| -rw-r--r-- | m4/gl-openssl.m4 | 51 | ||||
| -rw-r--r-- | src/ChangeLog | 43 | ||||
| -rw-r--r-- | src/Makefile.in | 2 | ||||
| -rw-r--r-- | src/dispextern.h | 2 | ||||
| -rw-r--r-- | src/editfns.c | 3 | ||||
| -rw-r--r-- | src/keyboard.h | 2 | ||||
| -rw-r--r-- | src/nsterm.m | 4 | ||||
| -rw-r--r-- | src/term.c | 21 | ||||
| -rw-r--r-- | src/w32term.c | 6 | ||||
| -rw-r--r-- | src/window.c | 2 | ||||
| -rw-r--r-- | src/xfns.c | 9 | ||||
| -rw-r--r-- | src/xterm.c | 28 |
35 files changed, 796 insertions, 364 deletions
| @@ -1,3 +1,21 @@ | |||
| 1 | 2013-12-06 RĂ¼diger Sonderfeld <ruediger@c-plusplus.de> | ||
| 2 | |||
| 3 | * doc/misc/octave-mode.texi: Imported from GNU Octave | ||
| 4 | (doc/interpreter/emacs.txi). | ||
| 5 | * doc/misc/Makefile.in: Add octave-mode.texi. | ||
| 6 | |||
| 7 | 2013-12-11 Paul Eggert <eggert@cs.ucla.edu> | ||
| 8 | |||
| 9 | Remove the option of using libcrypto. | ||
| 10 | This scorches the earth and waits for spring; | ||
| 11 | see Ted Zlatanov and Stefan Monnier in | ||
| 12 | <http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00323.html>. | ||
| 13 | * configure.ac (with_openssl_default, HAVE_LIB_CRYPTO): Remove. | ||
| 14 | Do not say whether Emacs is configured to use a crypto library, | ||
| 15 | since it's no longer an option. | ||
| 16 | (gl_CRYPTO_CHECK): Define a dummy. | ||
| 17 | * lib/gl_openssl.h, m4/gl-openssl.m4: Remove. | ||
| 18 | |||
| 1 | 2013-12-10 Paul Eggert <eggert@cs.ucla.edu> | 19 | 2013-12-10 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 20 | ||
| 3 | * configure.ac: Disable libcrypto by default. | 21 | * configure.ac: Disable libcrypto by default. |
diff --git a/admin/ChangeLog b/admin/ChangeLog index 730253e616f..22824995dfc 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-12-11 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Remove the option of using libcrypto. | ||
| 4 | * merge-gnulib: Remove lib/gl_openssh.h and m4/gl-openssl.m4. | ||
| 5 | |||
| 1 | 2013-12-04 Eli Zaretskii <eliz@gnu.org> | 6 | 2013-12-04 Eli Zaretskii <eliz@gnu.org> |
| 2 | 7 | ||
| 3 | * unidata/unidata-gen.el (unidata-prop-alist): Update bidi-class | 8 | * unidata/unidata-gen.el (unidata-prop-alist): Update bidi-class |
diff --git a/admin/merge-gnulib b/admin/merge-gnulib index a5bd622f4c0..af9300edbec 100755 --- a/admin/merge-gnulib +++ b/admin/merge-gnulib | |||
| @@ -91,7 +91,8 @@ test -x "$gnulib_srcdir"/gnulib-tool || { | |||
| 91 | } | 91 | } |
| 92 | 92 | ||
| 93 | "$gnulib_srcdir"/gnulib-tool --dir="$src" $GNULIB_TOOL_FLAGS $GNULIB_MODULES && | 93 | "$gnulib_srcdir"/gnulib-tool --dir="$src" $GNULIB_TOOL_FLAGS $GNULIB_MODULES && |
| 94 | rm -- "$src"m4/fcntl-o.m4 "$src"m4/gnulib-cache.m4 "$src"m4/warn-on-use.m4 && | 94 | rm -- "$src"lib/gl_openssl.h "$src"m4/fcntl-o.m4 "$src"m4/gl-openssl.m4 \ |
| 95 | "$src"m4/gnulib-cache.m4"$src" m4/warn-on-use.m4 && | ||
| 95 | cp -- "$gnulib_srcdir"/build-aux/texinfo.tex "$src"doc/misc && | 96 | cp -- "$gnulib_srcdir"/build-aux/texinfo.tex "$src"doc/misc && |
| 96 | cp -- "$gnulib_srcdir"/build-aux/move-if-change "$src"build-aux && | 97 | cp -- "$gnulib_srcdir"/build-aux/move-if-change "$src"build-aux && |
| 97 | autoreconf -i -I m4 -- ${src:+"$src"} | 98 | autoreconf -i -I m4 -- ${src:+"$src"} |
diff --git a/configure.ac b/configure.ac index 0a2e5c624e2..41258fcb7a9 100644 --- a/configure.ac +++ b/configure.ac | |||
| @@ -94,8 +94,7 @@ AC_ARG_WITH(all, | |||
| 94 | [AS_HELP_STRING([--without-all], | 94 | [AS_HELP_STRING([--without-all], |
| 95 | [omit almost all features and build | 95 | [omit almost all features and build |
| 96 | small executable with minimal dependencies])], | 96 | small executable with minimal dependencies])], |
| 97 | [with_features=$withval | 97 | [with_features=$withval], |
| 98 | with_openssl_default=$withval], | ||
| 99 | [with_features=yes]) | 98 | [with_features=yes]) |
| 100 | 99 | ||
| 101 | dnl OPTION_DEFAULT_OFF(NAME, HELP-STRING) | 100 | dnl OPTION_DEFAULT_OFF(NAME, HELP-STRING) |
| @@ -640,6 +639,8 @@ dnl alternative to lib/gnulib.mk, so as to avoid generating header files | |||
| 640 | dnl that clash with MinGW. | 639 | dnl that clash with MinGW. |
| 641 | AM_CONDITIONAL([BUILDING_FOR_WINDOWSNT], [test "x$opsys" = "xmingw32"]) | 640 | AM_CONDITIONAL([BUILDING_FOR_WINDOWSNT], [test "x$opsys" = "xmingw32"]) |
| 642 | 641 | ||
| 642 | # Avoid gnulib's tests for -lcrypto, so that there's no static dependency on it. | ||
| 643 | AC_DEFUN([gl_CRYPTO_CHECK]) | ||
| 643 | # Avoid gnulib's tests for HAVE_WORKING_O_NOATIME and HAVE_WORKING_O_NOFOLLOW, | 644 | # Avoid gnulib's tests for HAVE_WORKING_O_NOATIME and HAVE_WORKING_O_NOFOLLOW, |
| 644 | # as we don't use them. | 645 | # as we don't use them. |
| 645 | AC_DEFUN([gl_FCNTL_O_FLAGS]) | 646 | AC_DEFUN([gl_FCNTL_O_FLAGS]) |
| @@ -4848,12 +4849,6 @@ else | |||
| 4848 | acl_summary=no | 4849 | acl_summary=no |
| 4849 | fi | 4850 | fi |
| 4850 | 4851 | ||
| 4851 | if test -n "$LIB_CRYPTO"; then | ||
| 4852 | HAVE_LIB_CRYPTO=yes | ||
| 4853 | else | ||
| 4854 | HAVE_LIB_CRYPTO=no | ||
| 4855 | fi | ||
| 4856 | |||
| 4857 | echo " | 4852 | echo " |
| 4858 | Configured for \`${canonical}'. | 4853 | Configured for \`${canonical}'. |
| 4859 | 4854 | ||
| @@ -4893,7 +4888,6 @@ echo " Does Emacs use -lgconf? ${HAVE_GCONF}" | |||
| 4893 | echo " Does Emacs use GSettings? ${HAVE_GSETTINGS}" | 4888 | echo " Does Emacs use GSettings? ${HAVE_GSETTINGS}" |
| 4894 | echo " Does Emacs use a file notification library? ${NOTIFY_SUMMARY}" | 4889 | echo " Does Emacs use a file notification library? ${NOTIFY_SUMMARY}" |
| 4895 | echo " Does Emacs use access control lists? ${acl_summary}" | 4890 | echo " Does Emacs use access control lists? ${acl_summary}" |
| 4896 | echo " Does Emacs use a crypto library? ${HAVE_LIB_CRYPTO} $LIB_CRYPTO" | ||
| 4897 | echo " Does Emacs use -lselinux? ${HAVE_LIBSELINUX}" | 4891 | echo " Does Emacs use -lselinux? ${HAVE_LIBSELINUX}" |
| 4898 | echo " Does Emacs use -lgnutls? ${HAVE_GNUTLS}" | 4892 | echo " Does Emacs use -lgnutls? ${HAVE_GNUTLS}" |
| 4899 | echo " Does Emacs use -lxml2? ${HAVE_LIBXML2}" | 4893 | echo " Does Emacs use -lxml2? ${HAVE_LIBXML2}" |
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 70fb05e23e3..4c72aaa18ff 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in | |||
| @@ -67,7 +67,7 @@ INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \ | |||
| 67 | dbus dired-x ebrowse ede ediff edt eieio \ | 67 | dbus dired-x ebrowse ede ediff edt eieio \ |
| 68 | emacs-mime epa erc ert eshell eudc efaq \ | 68 | emacs-mime epa erc ert eshell eudc efaq \ |
| 69 | flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \ | 69 | flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \ |
| 70 | mairix-el message mh-e newsticker nxml-mode \ | 70 | mairix-el message mh-e newsticker nxml-mode octave-mode \ |
| 71 | org pcl-cvs pgg rcirc remember reftex sasl \ | 71 | org pcl-cvs pgg rcirc remember reftex sasl \ |
| 72 | sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp \ | 72 | sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp \ |
| 73 | url vip viper widget wisent woman | 73 | url vip viper widget wisent woman |
| @@ -564,6 +564,18 @@ nxml-mode.pdf: $(nxml_mode_deps) | |||
| 564 | nxml-mode.html: $(nxml_mode_deps) | 564 | nxml-mode.html: $(nxml_mode_deps) |
| 565 | $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/nxml-mode.texi | 565 | $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/nxml-mode.texi |
| 566 | 566 | ||
| 567 | octave_mode_deps = ${srcdir}/octave-mode.texi ${gfdl} | ||
| 568 | octave-mode : $(buildinfodir)/octave-mode$(INFO_EXT) | ||
| 569 | $(buildinfodir)/octave-mode$(INFO_EXT): $(octave_mode_deps) | ||
| 570 | $(mkinfodir) | ||
| 571 | $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/octave-mode.texi | ||
| 572 | octave-mode.dvi: $(octave_mode_deps) | ||
| 573 | $(ENVADD) $(TEXI2DVI) ${srcdir}/octave-mode.texi | ||
| 574 | octave-mode.pdf: $(octave_mode_deps) | ||
| 575 | $(ENVADD) $(TEXI2PDF) ${srcdir}/octave-mode.texi | ||
| 576 | octave-mode.html: $(octave_mode_deps) | ||
| 577 | $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/octave-mode.texi | ||
| 578 | |||
| 567 | org_deps = ${srcdir}/org.texi ${gfdl} | 579 | org_deps = ${srcdir}/org.texi ${gfdl} |
| 568 | org : $(buildinfodir)/org$(INFO_EXT) | 580 | org : $(buildinfodir)/org$(INFO_EXT) |
| 569 | $(buildinfodir)/org$(INFO_EXT): $(org_deps) | 581 | $(buildinfodir)/org$(INFO_EXT): $(org_deps) |
diff --git a/doc/misc/octave-mode.texi b/doc/misc/octave-mode.texi new file mode 100644 index 00000000000..2efe9f9d1c4 --- /dev/null +++ b/doc/misc/octave-mode.texi | |||
| @@ -0,0 +1,477 @@ | |||
| 1 | \input texinfo @c -*-texinfo-*- | ||
| 2 | @c %**start of header | ||
| 3 | @setfilename ../../info/octave-mode | ||
| 4 | @settitle Octave Mode | ||
| 5 | @c %**end of header | ||
| 6 | |||
| 7 | @copying | ||
| 8 | Copyright @copyright{} 1996--2013 Free Software Foundation, Inc. | ||
| 9 | |||
| 10 | @quotation | ||
| 11 | Permission is granted to copy, distribute and/or modify this document | ||
| 12 | under the terms of the GNU Free Documentation License, Version 1.3 or | ||
| 13 | any later version published by the Free Software Foundation; with no | ||
| 14 | Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' | ||
| 15 | and with the Back-Cover Texts as in (a) below. A copy of the license | ||
| 16 | is included in the section entitled ``GNU Free Documentation License.'' | ||
| 17 | |||
| 18 | (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and | ||
| 19 | modify this GNU manual.'' | ||
| 20 | @end quotation | ||
| 21 | @end copying | ||
| 22 | |||
| 23 | @dircategory Emacs editing modes | ||
| 24 | @direntry | ||
| 25 | * Octave mode: (octave-mode). Emacs mode for editing GNU Octave files. | ||
| 26 | @end direntry | ||
| 27 | |||
| 28 | @finalout | ||
| 29 | |||
| 30 | @titlepage | ||
| 31 | @title Octave Mode | ||
| 32 | @subtitle An Emacs mode for programming in GNU Octave | ||
| 33 | |||
| 34 | @page | ||
| 35 | @vskip 0pt plus 1filll | ||
| 36 | @insertcopying | ||
| 37 | @end titlepage | ||
| 38 | |||
| 39 | @contents | ||
| 40 | |||
| 41 | @ifnottex | ||
| 42 | @node Top | ||
| 43 | @top Octave Mode | ||
| 44 | |||
| 45 | @insertcopying | ||
| 46 | @end ifnottex | ||
| 47 | |||
| 48 | @menu | ||
| 49 | * Overview:: | ||
| 50 | * Using Octave Mode:: | ||
| 51 | * Running Octave from Within Emacs:: | ||
| 52 | * GNU Free Documentation License:: | ||
| 53 | * Key Index:: | ||
| 54 | * Variable Index:: | ||
| 55 | * Lisp Function Index:: | ||
| 56 | * Concept Index:: | ||
| 57 | @end menu | ||
| 58 | |||
| 59 | @node Overview | ||
| 60 | @chapter Overview | ||
| 61 | |||
| 62 | The development of Octave code can greatly be facilitated using Emacs | ||
| 63 | with Octave mode, a major mode for editing Octave files which can | ||
| 64 | e.g.@: automatically indent the code, do some of the typing (with | ||
| 65 | Abbrev mode) and show keywords, comments, strings, etc.@: in different | ||
| 66 | faces (with Font-lock mode on devices that support it). | ||
| 67 | |||
| 68 | It is also possible to run Octave from within Emacs, either by | ||
| 69 | directly entering commands at the prompt in a buffer in Inferior | ||
| 70 | Octave mode, or by interacting with Octave from within a file with | ||
| 71 | Octave code. This is useful in particular for debugging Octave code. | ||
| 72 | |||
| 73 | @node Using Octave Mode | ||
| 74 | @chapter Using Octave Mode | ||
| 75 | @cindex Using Octave Mode | ||
| 76 | |||
| 77 | In Octave mode, the following special Emacs commands can be used in | ||
| 78 | addition to the standard Emacs commands. | ||
| 79 | |||
| 80 | @table @kbd | ||
| 81 | @item C-M-j | ||
| 82 | @kindex C-M-j | ||
| 83 | @findex octave-indent-new-comment-line | ||
| 84 | @vindex octave-continuation-string | ||
| 85 | Break Octave line at point, continuing comment if within one. Insert | ||
| 86 | @code{octave-continuation-string} before breaking the line unless | ||
| 87 | inside a list. Signal an error if within a single-quoted string. | ||
| 88 | |||
| 89 | @item C-c ; | ||
| 90 | @kindex C-c ; | ||
| 91 | @findex octave-update-function-file-comment | ||
| 92 | Query replace function names in function file comment. | ||
| 93 | |||
| 94 | @item C-c C-p | ||
| 95 | @kindex C-c C-p | ||
| 96 | @findex octave-previous-code-line | ||
| 97 | Move one line of Octave code backward, skipping empty and comment | ||
| 98 | lines (@code{octave-previous-code-line}). With numeric prefix | ||
| 99 | argument @var{n}, move that many code lines backward (forward if | ||
| 100 | @var{n} is negative). | ||
| 101 | |||
| 102 | @item C-c C-n | ||
| 103 | @kindex C-c C-n | ||
| 104 | @findex octave-next-code-line | ||
| 105 | Move one line of Octave code forward, skipping empty and comment lines | ||
| 106 | (@code{octave-next-code-line}). With numeric prefix argument @var{n}, | ||
| 107 | move that many code lines forward (backward if @var{n} is negative). | ||
| 108 | |||
| 109 | @item C-c C-a | ||
| 110 | @kindex C-c C-a | ||
| 111 | @findex octave-beginning-of-line | ||
| 112 | Move to the beginning of the physical line | ||
| 113 | (@code{octave-beginning-of-line}). If point is in an empty or comment | ||
| 114 | line, simply go to its beginning; otherwise, move backwards to the | ||
| 115 | beginning of the first code line which is not inside a continuation | ||
| 116 | statement, i.e., which does not follow a code line ending in | ||
| 117 | @samp{...} or @samp{\}, or is inside an open parenthesis list. | ||
| 118 | |||
| 119 | @item C-c C-e | ||
| 120 | @kindex C-c C-e | ||
| 121 | @findex octave-end-of-line | ||
| 122 | Move to the end of the physical line (@code{octave-end-of-line}). If | ||
| 123 | point is in a code line, move forward to the end of the first Octave | ||
| 124 | code line which does not end in @samp{...} or @samp{\} or is inside an | ||
| 125 | open parenthesis list. Otherwise, simply go to the end of the current | ||
| 126 | line. | ||
| 127 | |||
| 128 | @item C-c M-C-h | ||
| 129 | @kindex C-c M-C-h | ||
| 130 | @findex octave-mark-block | ||
| 131 | Put point at the beginning of this block, mark at the end | ||
| 132 | (@code{octave-mark-block}). The block marked is the one that contains | ||
| 133 | point or follows point. | ||
| 134 | |||
| 135 | @item C-c ] | ||
| 136 | @kindex C-c ] | ||
| 137 | Close the current block on a separate line (@code{smie-close-block}). | ||
| 138 | An error is signaled if no block to close is found. | ||
| 139 | |||
| 140 | @item C-c C-f | ||
| 141 | @kindex C-c C-f | ||
| 142 | @findex octave-insert-defun | ||
| 143 | Insert a function skeleton, prompting for the function's name, arguments | ||
| 144 | and return values which have to be entered without parentheses | ||
| 145 | (@code{octave-insert-defun}). | ||
| 146 | @noindent | ||
| 147 | in one of your Emacs startup files. | ||
| 148 | @end table | ||
| 149 | |||
| 150 | A common problem is that the @key{RET} key does @emph{not} indent the | ||
| 151 | line to where the new text should go after inserting the newline. This | ||
| 152 | is because the standard Emacs convention is that @key{RET} (aka | ||
| 153 | @kbd{C-m}) just adds a newline, whereas @key{LFD} (aka @kbd{C-j}) adds a | ||
| 154 | newline and indents it. This is particularly inconvenient for users with | ||
| 155 | keyboards which do not have a special @key{LFD} key at all; in such | ||
| 156 | cases, it is typically more convenient to use @key{RET} as the @key{LFD} | ||
| 157 | key (rather than typing @kbd{C-j}). | ||
| 158 | |||
| 159 | You can make @key{RET} do this by adding | ||
| 160 | @lisp | ||
| 161 | (define-key octave-mode-map "\C-m" | ||
| 162 | 'octave-reindent-then-newline-and-indent) | ||
| 163 | @end lisp | ||
| 164 | @noindent | ||
| 165 | to one of your Emacs startup files. Another, more generally applicable | ||
| 166 | solution is | ||
| 167 | @lisp | ||
| 168 | (defun RET-behaves-as-LFD () | ||
| 169 | (let ((x (key-binding "\C-j"))) | ||
| 170 | (local-set-key "\C-m" x))) | ||
| 171 | (add-hook 'octave-mode-hook 'RET-behaves-as-LFD) | ||
| 172 | @end lisp | ||
| 173 | @noindent | ||
| 174 | (this works for all modes by adding to the startup hooks, without | ||
| 175 | having to know the particular binding of @key{RET} in that mode!). | ||
| 176 | Similar considerations apply for using @key{M-RET} as @key{M-LFD}. As | ||
| 177 | @email{bwarsaw@@cnri.reston.va.us, Barry A. Warsaw} says in the | ||
| 178 | documentation for his @code{cc-mode}, ``This is a very common | ||
| 179 | question. @code{:-)} If you want this to be the default behavior, | ||
| 180 | don't lobby me, lobby RMS!'' | ||
| 181 | |||
| 182 | The following variables can be used to customize Octave mode. | ||
| 183 | |||
| 184 | @vtable @code | ||
| 185 | @item octave-blink-matching-block | ||
| 186 | Non-@code{nil} means show matching begin of block when inserting a space, | ||
| 187 | newline or @samp{;} after an else or end keyword. Default is @code{t}. | ||
| 188 | This is an extremely useful feature for automatically verifying that the | ||
| 189 | keywords match---if they don't, an error message is displayed. | ||
| 190 | |||
| 191 | @item octave-block-offset | ||
| 192 | Extra indentation applied to statements in block structures. | ||
| 193 | Default is 2. | ||
| 194 | |||
| 195 | @item octave-continuation-offset | ||
| 196 | Extra indentation applied to Octave continuation lines. | ||
| 197 | Default is 4. | ||
| 198 | |||
| 199 | @item octave-font-lock-texinfo-comment | ||
| 200 | Highlight texinfo comment blocks. The default value is @code{t}. | ||
| 201 | @end vtable | ||
| 202 | |||
| 203 | If Font Lock mode is enabled, Octave mode will display | ||
| 204 | |||
| 205 | @itemize @bullet | ||
| 206 | @item | ||
| 207 | strings in @code{font-lock-string-face} | ||
| 208 | |||
| 209 | @item | ||
| 210 | comments in @code{font-lock-comment-face} | ||
| 211 | |||
| 212 | @item | ||
| 213 | the Octave reserved words (such as all block keywords) and the text | ||
| 214 | functions (such as @samp{cd} or @samp{who}) which are also reserved | ||
| 215 | using @code{font-lock-keyword-face} | ||
| 216 | |||
| 217 | @item | ||
| 218 | the built-in operators (@samp{&&}, @samp{==}, @dots{}) using | ||
| 219 | @code{font-lock-reference-face} | ||
| 220 | |||
| 221 | @item | ||
| 222 | and the function names in function declarations in | ||
| 223 | @code{font-lock-function-name-face}. | ||
| 224 | |||
| 225 | @item | ||
| 226 | Function comments blocks in @code{octave-function-comment-block} | ||
| 227 | @end itemize | ||
| 228 | |||
| 229 | @cindex Imenu Support | ||
| 230 | There is also rudimentary support for Imenu (@pxref{Imenu,,, emacs, | ||
| 231 | The GNU Emacs Manual}). Currently, function names can be indexed. | ||
| 232 | |||
| 233 | @cindex ElDoc Mode Support | ||
| 234 | @vindex octave-eldoc-message-style | ||
| 235 | ElDoc mode (@pxref{Lisp Doc,,, emacs, The GNU Emacs Manual}) is | ||
| 236 | supported. By customizing @code{octave-eldoc-message-style} it can be | ||
| 237 | changed from displaying one or multi line hints. | ||
| 238 | |||
| 239 | @c @cindex TAGS | ||
| 240 | @c @cindex Emacs TAGS files | ||
| 241 | @c @cindex @file{octave-tags} | ||
| 242 | @c You can generate TAGS files for Emacs from Octave @file{.m} files using | ||
| 243 | @c the shell script @file{octave-tags} that is installed alongside your copy of | ||
| 244 | @c Octave. | ||
| 245 | @c | ||
| 246 | @vindex octave-mode-hook | ||
| 247 | Customization of Octave mode can be performed by modification of the | ||
| 248 | variable @code{octave-mode-hook}. | ||
| 249 | |||
| 250 | @node Running Octave from Within Emacs | ||
| 251 | @chapter Running Octave from Within Emacs | ||
| 252 | @cindex Inferior Octave Mode | ||
| 253 | |||
| 254 | Octave mode provides commands for running an inferior | ||
| 255 | Octave process in a special Emacs buffer. Use | ||
| 256 | @lisp | ||
| 257 | M-x run-octave | ||
| 258 | @end lisp | ||
| 259 | @noindent | ||
| 260 | to directly start an inferior Octave process. | ||
| 261 | |||
| 262 | @vindex inferior-octave-buffer | ||
| 263 | This will start Octave in a special buffer the name of which is | ||
| 264 | specified by the variable @code{inferior-octave-buffer} and defaults | ||
| 265 | to @file{*Inferior Octave*}. From within this buffer, you can | ||
| 266 | interact with the inferior Octave process `as usual', i.e., by | ||
| 267 | entering Octave commands at the prompt. The buffer is in Inferior | ||
| 268 | Octave mode, which is derived from the standard Comint mode, a major | ||
| 269 | mode for interacting with an inferior interpreter. See the | ||
| 270 | documentation for @code{comint-mode} for more details, and use | ||
| 271 | @kbd{C-h b} to find out about available special keybindings. | ||
| 272 | |||
| 273 | You can also communicate with an inferior Octave process from within | ||
| 274 | files with Octave code (i.e., buffers in Octave mode), using the | ||
| 275 | following commands. | ||
| 276 | |||
| 277 | @table @kbd | ||
| 278 | @item C-c C-i l | ||
| 279 | @kindex C-c C-i l | ||
| 280 | @findex octave-send-line | ||
| 281 | @vindex octave-send-line-auto-forward | ||
| 282 | Send the current line to the inferior Octave process | ||
| 283 | (@code{octave-send-line}). With positive prefix argument @var{n}, | ||
| 284 | send that many lines. If @code{octave-send-line-auto-forward} is | ||
| 285 | non-@code{nil}, go to the next unsent code line. | ||
| 286 | |||
| 287 | @item C-c C-i b | ||
| 288 | @kindex C-c C-i b | ||
| 289 | @findex octave-send-block | ||
| 290 | Send the current block to the inferior Octave process | ||
| 291 | (@code{octave-send-block}). | ||
| 292 | |||
| 293 | @item C-c C-i f | ||
| 294 | @kindex C-c C-i f | ||
| 295 | @findex octave-send-defun | ||
| 296 | Send the current function to the inferior Octave process | ||
| 297 | (@code{octave-send-defun}). | ||
| 298 | |||
| 299 | @item C-c C-i r | ||
| 300 | @kindex C-c C-i r | ||
| 301 | @findex octave-send-region | ||
| 302 | Send the region to the inferior Octave process | ||
| 303 | (@code{octave-send-region}). | ||
| 304 | |||
| 305 | @item C-c C-i a | ||
| 306 | @kindex C-c C-i a | ||
| 307 | @findex octave-send-buffer | ||
| 308 | Send the entire buffer to the inferior Octave process | ||
| 309 | (@code{octave-send-buffer}). If the buffer is associated with a file | ||
| 310 | then sourcing the buffer by using @kbd{C-c C-l} | ||
| 311 | (@code{octave-source-file}) should be preferred. | ||
| 312 | |||
| 313 | @item C-c C-i s | ||
| 314 | @kindex C-c C-i s | ||
| 315 | @findex octave-show-process-buffer | ||
| 316 | Make sure that `inferior-octave-buffer' is displayed | ||
| 317 | (@code{octave-show-process-buffer}). | ||
| 318 | |||
| 319 | @item C-c C-i q | ||
| 320 | @kindex C-c C-i q | ||
| 321 | @findex octave-hide-process-buffer | ||
| 322 | Delete all windows that display the inferior Octave buffer | ||
| 323 | (@code{octave-hide-process-buffer}). | ||
| 324 | |||
| 325 | @item C-c C-i k | ||
| 326 | @kindex C-c C-i k | ||
| 327 | @findex octave-kill-process | ||
| 328 | Kill the inferior Octave process and its buffer | ||
| 329 | (@code{octave-kill-process}). | ||
| 330 | |||
| 331 | @item C-c C-l | ||
| 332 | @kindex C-c C-l | ||
| 333 | @findex octave-source-file | ||
| 334 | Parse and execute the current file in the inferior Octave buffer | ||
| 335 | (@code{octave-source-file}). This is done using Octave's | ||
| 336 | @code{source} function. | ||
| 337 | |||
| 338 | @item M-. | ||
| 339 | @kindex M-. | ||
| 340 | @findex octave-find-definition | ||
| 341 | @vindex octave-source-directories | ||
| 342 | Find the definition of a function or variable. Functions implemented | ||
| 343 | in C++ can be found if variable @code{octave-source-directories} is | ||
| 344 | set correctly (@code{octave-find-definition}). | ||
| 345 | |||
| 346 | @item C-h d | ||
| 347 | @kindex C-h d | ||
| 348 | @findex octave-help | ||
| 349 | @vindex octave-help-buffer | ||
| 350 | Display the documentation for function (@code{octave-help}). The | ||
| 351 | buffer name can be changed by customizing @code{octave-help-buffer}. | ||
| 352 | |||
| 353 | @item C-h a | ||
| 354 | @kindex C-h a | ||
| 355 | @findex octave-lookfor | ||
| 356 | Search for a given string in all the first sentence of function help | ||
| 357 | strings (@code{octave-lookfor}). With a @code{universal-argument} the | ||
| 358 | entire help string is searched. | ||
| 359 | |||
| 360 | @end table | ||
| 361 | |||
| 362 | The effect of the commands which send code to the Octave process can be | ||
| 363 | customized by the following variables. | ||
| 364 | |||
| 365 | @vtable @code | ||
| 366 | @item octave-send-echo-input | ||
| 367 | Non-@code{nil} means echo input sent to the inferior Octave process. | ||
| 368 | Default is @code{t}. | ||
| 369 | |||
| 370 | @item octave-send-show-buffer | ||
| 371 | Non-@code{nil} means display the buffer running the Octave process after | ||
| 372 | sending a command (but without selecting it). | ||
| 373 | Default is @code{t}. | ||
| 374 | @end vtable | ||
| 375 | |||
| 376 | If you send code and there is no inferior Octave process yet, it will | ||
| 377 | be started automatically. | ||
| 378 | |||
| 379 | @vindex inferior-octave-startup-args | ||
| 380 | The startup of the inferior Octave process is highly customizable. | ||
| 381 | The variable @code{inferior-octave-startup-args} can be used for | ||
| 382 | specifying command lines arguments to be passed to Octave on startup | ||
| 383 | as a list of strings. For example, to suppress the startup message | ||
| 384 | and use `traditional' mode, set this to @code{("-q" "--traditional")}. | ||
| 385 | You can also specify a startup file of Octave commands to be loaded on | ||
| 386 | startup; note that these commands will not produce any visible output | ||
| 387 | in the process buffer. Which file to use is controlled by the | ||
| 388 | variable @code{inferior-octave-startup-file}. The default is | ||
| 389 | @file{~/.emacs-octave} or if this file is not found | ||
| 390 | @file{~/.emacs.d/init_octave.m}. | ||
| 391 | |||
| 392 | @vindex inferior-octave-prompt-read-only | ||
| 393 | By customizing @code{inferior-octave-prompt-read-only} the prompt can | ||
| 394 | be changed to be read only. The default value is the same as | ||
| 395 | @code{comint-prompt-read-only}. | ||
| 396 | |||
| 397 | @vindex inferior-octave-mode-hook | ||
| 398 | And finally, @code{inferior-octave-mode-hook} is run after starting | ||
| 399 | the process and putting its buffer into Inferior Octave mode. Hence, | ||
| 400 | if you like the up and down arrow keys to behave in the interaction | ||
| 401 | buffer as in the shell, and you want this buffer to use nice colors, | ||
| 402 | add | ||
| 403 | @lisp | ||
| 404 | (add-hook 'inferior-octave-mode-hook | ||
| 405 | (lambda () | ||
| 406 | (define-key inferior-octave-mode-map [up] | ||
| 407 | 'comint-previous-input) | ||
| 408 | (define-key inferior-octave-mode-map [down] | ||
| 409 | 'comint-next-input))) | ||
| 410 | @end lisp | ||
| 411 | @noindent | ||
| 412 | to your @file{.emacs} or @file{init.el} file. You could also swap the | ||
| 413 | roles of @kbd{C-a} (@code{beginning-of-line}) and @code{C-c C-a} | ||
| 414 | (@code{comint-bol}) using this hook. | ||
| 415 | |||
| 416 | @vindex inferior-octave-prompt | ||
| 417 | @quotation | ||
| 418 | @strong{Note} that if you set your Octave prompts to something different | ||
| 419 | from the defaults, make sure that @code{inferior-octave-prompt} matches | ||
| 420 | them. Otherwise, @emph{nothing} will work, because Emacs will not know | ||
| 421 | when Octave is waiting for input, or done sending output. | ||
| 422 | @end quotation | ||
| 423 | |||
| 424 | @node GNU Free Documentation License | ||
| 425 | @chapter GNU Free Documentation License | ||
| 426 | @include doclicense.texi | ||
| 427 | |||
| 428 | @node Key Index | ||
| 429 | @unnumbered Key Index | ||
| 430 | |||
| 431 | @printindex ky | ||
| 432 | |||
| 433 | @node Variable Index | ||
| 434 | @unnumbered Variable Index | ||
| 435 | |||
| 436 | @printindex vr | ||
| 437 | |||
| 438 | @node Lisp Function Index | ||
| 439 | @unnumbered Function Index | ||
| 440 | |||
| 441 | @printindex fn | ||
| 442 | |||
| 443 | @node Concept Index | ||
| 444 | @unnumbered Concept Index | ||
| 445 | |||
| 446 | @printindex cp | ||
| 447 | |||
| 448 | |||
| 449 | @bye | ||
| 450 | |||
| 451 | @c TODO Update | ||
| 452 | |||
| 453 | @c @node Using the Emacs Info Reader for Octave | ||
| 454 | @c @chapter Using the Emacs Info Reader for Octave | ||
| 455 | |||
| 456 | @c You may also use the Emacs Info reader with Octave's @code{doc} function. | ||
| 457 | |||
| 458 | @c If @file{gnuserv} is installed, add the lines | ||
| 459 | @c @lisp | ||
| 460 | @c (autoload 'octave-help "octave-hlp" nil t) | ||
| 461 | @c (require 'gnuserv) | ||
| 462 | @c (gnuserv-start) | ||
| 463 | @c @end lisp | ||
| 464 | @c @noindent | ||
| 465 | @c to your @file{.emacs} file. | ||
| 466 | |||
| 467 | @c You can use either `plain' Emacs Info or the function @code{octave-help} | ||
| 468 | @c as your Octave info reader (for @samp{help -i}). In the former case, | ||
| 469 | @c use @code{info_program ("info-emacs-info")}. | ||
| 470 | @c The latter is perhaps more attractive because it allows to look up keys | ||
| 471 | @c in the indices of @emph{several} info files related to Octave (provided | ||
| 472 | @c that the Emacs variable @code{octave-help-files} is set correctly). In | ||
| 473 | @c this case, use @code{info_program ("info-emacs-octave-help")}. | ||
| 474 | |||
| 475 | @c If you use Octave from within Emacs, it is best to add these settings to | ||
| 476 | @c your @file{~/.emacs-octave} startup file (or the file pointed to by the | ||
| 477 | @c Emacs variable @code{inferior-octave-startup-file}). | ||
| @@ -247,7 +247,14 @@ You can pick the name of the function and the variables with `C-x 4 a'. | |||
| 247 | 247 | ||
| 248 | * Changes in Specialized Modes and Packages in Emacs 24.4 | 248 | * Changes in Specialized Modes and Packages in Emacs 24.4 |
| 249 | 249 | ||
| 250 | ** The backtrace debugger can display local vars with `v'. | 250 | ** CUA-mode |
| 251 | CUA-mode was changed to make use of delete-selection-mode and | ||
| 252 | shift-select-mode. So you can now enable it independently from | ||
| 253 | transient-mark-mode, delete-selection-mode, and shift-select-mode. | ||
| 254 | As a result, cua-highlight-region-shift-only is obsolete | ||
| 255 | (you can disable transient-mark-mode to get the same result). | ||
| 256 | |||
| 257 | ** `delete-selection-mode' can be used without transient-mark-mode. | ||
| 251 | 258 | ||
| 252 | ** prolog-use-smie has been removed, along with the non-SMIE indentation code. | 259 | ** prolog-use-smie has been removed, along with the non-SMIE indentation code. |
| 253 | 260 | ||
| @@ -257,10 +264,6 @@ file and letting SMIE learn from it. | |||
| 257 | 264 | ||
| 258 | ** sh-script now uses its SMIE indentation algorithm by default. | 265 | ** sh-script now uses its SMIE indentation algorithm by default. |
| 259 | 266 | ||
| 260 | ** The debugger's `e' command evaluates the code in the context at point. | ||
| 261 | This includes using the lexical environment at point, which means that | ||
| 262 | `e' now lets you access lexical variables as well. | ||
| 263 | |||
| 264 | ** `eshell' now supports visual subcommands and options | 267 | ** `eshell' now supports visual subcommands and options |
| 265 | Eshell has been able to handle "visual" commands (interactive, | 268 | Eshell has been able to handle "visual" commands (interactive, |
| 266 | non-line oriented commands such as top that require display | 269 | non-line oriented commands such as top that require display |
| @@ -318,6 +321,12 @@ Use `electric-indent-mode' instead. | |||
| 318 | ** completing-read-multiple's separator can now be a regexp. | 321 | ** completing-read-multiple's separator can now be a regexp. |
| 319 | The default separator is changed to allow surrounding spaces around the comma. | 322 | The default separator is changed to allow surrounding spaces around the comma. |
| 320 | 323 | ||
| 324 | ** The backtrace debugger and local variables: | ||
| 325 | *** The debugger's `e' command evaluates the code in the context at point. | ||
| 326 | This includes using the lexical environment at point, which means that | ||
| 327 | `e' now lets you access lexical variables as well. | ||
| 328 | *** The backtrace debugger can display local vars with `v'. | ||
| 329 | |||
| 321 | ** Battery | 330 | ** Battery |
| 322 | 331 | ||
| 323 | *** Battery information via the BSD `apm' utility is now supported. | 332 | *** Battery information via the BSD `apm' utility is now supported. |
diff --git a/lib/gl_openssl.h b/lib/gl_openssl.h deleted file mode 100644 index 1fb61066b11..00000000000 --- a/lib/gl_openssl.h +++ /dev/null | |||
| @@ -1,116 +0,0 @@ | |||
| 1 | /* gl_openssl.h -- wrap openssl crypto hash routines in gnulib interface | ||
| 2 | |||
| 3 | Copyright (C) 2013 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This program is free software: you can redistribute it and/or modify | ||
| 6 | it under the terms of the GNU General Public License as published by | ||
| 7 | the Free Software Foundation; either version 3 of the License, or | ||
| 8 | (at your option) any later version. | ||
| 9 | |||
| 10 | This program is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | GNU General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU General Public License | ||
| 16 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | ||
| 17 | |||
| 18 | /* Written by PĂ¡draig Brady */ | ||
| 19 | |||
| 20 | #ifndef GL_OPENSSL_NAME | ||
| 21 | # error "Please define GL_OPENSSL_NAME to 1,5,256 etc." | ||
| 22 | #endif | ||
| 23 | |||
| 24 | #ifndef _GL_INLINE_HEADER_BEGIN | ||
| 25 | # error "Please include config.h first." | ||
| 26 | #endif | ||
| 27 | _GL_INLINE_HEADER_BEGIN | ||
| 28 | #ifndef GL_OPENSSL_INLINE | ||
| 29 | # define GL_OPENSSL_INLINE _GL_INLINE | ||
| 30 | #endif | ||
| 31 | |||
| 32 | /* Concatenate two preprocessor tokens. */ | ||
| 33 | #define _GLCRYPTO_CONCAT_(prefix, suffix) prefix##suffix | ||
| 34 | #define _GLCRYPTO_CONCAT(prefix, suffix) _GLCRYPTO_CONCAT_ (prefix, suffix) | ||
| 35 | |||
| 36 | #if GL_OPENSSL_NAME == 5 | ||
| 37 | # define OPENSSL_ALG md5 | ||
| 38 | #else | ||
| 39 | # define OPENSSL_ALG _GLCRYPTO_CONCAT (sha, GL_OPENSSL_NAME) | ||
| 40 | #endif | ||
| 41 | |||
| 42 | /* Context type mappings. */ | ||
| 43 | #if BASE_OPENSSL_TYPE != GL_OPENSSL_NAME | ||
| 44 | # undef BASE_OPENSSL_TYPE | ||
| 45 | # if GL_OPENSSL_NAME == 224 | ||
| 46 | # define BASE_OPENSSL_TYPE 256 | ||
| 47 | # elif GL_OPENSSL_NAME == 384 | ||
| 48 | # define BASE_OPENSSL_TYPE 512 | ||
| 49 | # endif | ||
| 50 | # define md5_CTX MD5_CTX | ||
| 51 | # define sha1_CTX SHA_CTX | ||
| 52 | # define sha224_CTX SHA256_CTX | ||
| 53 | # define sha224_ctx sha256_ctx | ||
| 54 | # define sha256_CTX SHA256_CTX | ||
| 55 | # define sha384_CTX SHA512_CTX | ||
| 56 | # define sha384_ctx sha512_ctx | ||
| 57 | # define sha512_CTX SHA512_CTX | ||
| 58 | # undef _gl_CTX | ||
| 59 | # undef _gl_ctx | ||
| 60 | # define _gl_CTX _GLCRYPTO_CONCAT (OPENSSL_ALG, _CTX) /* openssl type. */ | ||
| 61 | # define _gl_ctx _GLCRYPTO_CONCAT (OPENSSL_ALG, _ctx) /* gnulib type. */ | ||
| 62 | |||
| 63 | struct _gl_ctx { _gl_CTX CTX; }; | ||
| 64 | #endif | ||
| 65 | |||
| 66 | /* Function name mappings. */ | ||
| 67 | #define md5_prefix MD5 | ||
| 68 | #define sha1_prefix SHA1 | ||
| 69 | #define sha224_prefix SHA224 | ||
| 70 | #define sha256_prefix SHA256 | ||
| 71 | #define sha384_prefix SHA384 | ||
| 72 | #define sha512_prefix SHA512 | ||
| 73 | #define _GLCRYPTO_PREFIX _GLCRYPTO_CONCAT (OPENSSL_ALG, _prefix) | ||
| 74 | #define OPENSSL_FN(suffix) _GLCRYPTO_CONCAT (_GLCRYPTO_PREFIX, suffix) | ||
| 75 | #define GL_CRYPTO_FN(suffix) _GLCRYPTO_CONCAT (OPENSSL_ALG, suffix) | ||
| 76 | |||
| 77 | GL_OPENSSL_INLINE void | ||
| 78 | GL_CRYPTO_FN (_init_ctx) (struct _gl_ctx *ctx) | ||
| 79 | { (void) OPENSSL_FN (_Init) ((_gl_CTX *) ctx); } | ||
| 80 | |||
| 81 | /* These were never exposed by gnulib. */ | ||
| 82 | #if ! (GL_OPENSSL_NAME == 224 || GL_OPENSSL_NAME == 384) | ||
| 83 | GL_OPENSSL_INLINE void | ||
| 84 | GL_CRYPTO_FN (_process_bytes) (const void *buf, size_t len, struct _gl_ctx *ctx) | ||
| 85 | { OPENSSL_FN (_Update) ((_gl_CTX *) ctx, buf, len); } | ||
| 86 | |||
| 87 | GL_OPENSSL_INLINE void | ||
| 88 | GL_CRYPTO_FN (_process_block) (const void *buf, size_t len, struct _gl_ctx *ctx) | ||
| 89 | { GL_CRYPTO_FN (_process_bytes) (buf, len, ctx); } | ||
| 90 | #endif | ||
| 91 | |||
| 92 | GL_OPENSSL_INLINE void * | ||
| 93 | GL_CRYPTO_FN (_finish_ctx) (struct _gl_ctx *ctx, void *res) | ||
| 94 | { OPENSSL_FN (_Final) (res, (_gl_CTX *) ctx); return res; } | ||
| 95 | |||
| 96 | GL_OPENSSL_INLINE void * | ||
| 97 | GL_CRYPTO_FN (_buffer) (const char *buf, size_t len, void *res) | ||
| 98 | { return OPENSSL_FN () ((const unsigned char *) buf, len, res); } | ||
| 99 | |||
| 100 | GL_OPENSSL_INLINE void * | ||
| 101 | GL_CRYPTO_FN (_read_ctx) (const struct _gl_ctx *ctx, void *res) | ||
| 102 | { | ||
| 103 | /* Assume any unprocessed bytes in ctx are not to be ignored. */ | ||
| 104 | _gl_CTX tmp_ctx = *(_gl_CTX *) ctx; | ||
| 105 | OPENSSL_FN (_Final) (res, &tmp_ctx); | ||
| 106 | return res; | ||
| 107 | } | ||
| 108 | |||
| 109 | /* Undef so we can include multiple times. */ | ||
| 110 | #undef GL_CRYPTO_FN | ||
| 111 | #undef OPENSSL_FN | ||
| 112 | #undef _GLCRYPTO_PREFIX | ||
| 113 | #undef OPENSSL_ALG | ||
| 114 | #undef GL_OPENSSL_NAME | ||
| 115 | |||
| 116 | _GL_INLINE_HEADER_END | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f61812f7e1a..22ff12fe6b4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,85 @@ | |||
| 1 | 2013-12-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * emacs-lisp/smie.el (smie-indent--hanging-p): Don't bother matching | ||
| 4 | comment-start-skip, since it fails when that uses submatch 1 (bug#16041). | ||
| 5 | |||
| 6 | * emulation/cua-base.el (cua-paste): Add `delete-selection' property | ||
| 7 | instead of deleting the selection "by hand" (bug#16098). | ||
| 8 | Rely on insert-for-yank to yank rectangles. | ||
| 9 | (cua-highlight-region-shift-only): Mark obsolete. | ||
| 10 | (cua-mode): Don't enable/disable transient-mark-mode, | ||
| 11 | shift-select-mode (cua-mode works both with and without them), and | ||
| 12 | pc-selection-mode (obsolete). | ||
| 13 | * emulation/cua-rect.el (cua--activate-rectangle): Activate the mark. | ||
| 14 | (cua--deactivate-rectangle): Deactivate it. | ||
| 15 | |||
| 16 | * delsel.el (delete-selection-mode): Don't enable transient-mark-mode. | ||
| 17 | (delete-selection-helper): Make sure yank starts at the top of the | ||
| 18 | deleted region. | ||
| 19 | (minibuffer-keyboard-quit): Use region-active-p. | ||
| 20 | |||
| 21 | * emacs-lisp/trace.el (trace-make-advice): Don't deactivate the mark. | ||
| 22 | |||
| 23 | * simple.el (normal-erase-is-backspace-mode): Map kp-delete identically | ||
| 24 | to `delete' (bug#16109). | ||
| 25 | |||
| 26 | 2013-12-11 RĂ¼diger Sonderfeld <ruediger@c-plusplus.de> | ||
| 27 | |||
| 28 | * progmodes/octave.el (octave-mode, inferior-octave-mode): Link to | ||
| 29 | info manual and show keybindings and set `:group' keyword. | ||
| 30 | |||
| 31 | 2013-12-11 Juri Linkov <juri@jurta.org> | ||
| 32 | |||
| 33 | * delsel.el (delete-active-region): Let-bind `this-command' | ||
| 34 | to prevent `kill-region' from changing its original value. | ||
| 35 | (delete-selection-helper): Handle `overwrite-mode' for the type | ||
| 36 | `kill' exactly the same way as for the type `t'. | ||
| 37 | (insert-char, quoted-insert, reindent-then-newline-and-indent): | ||
| 38 | Support more commands. (Bug#13312) | ||
| 39 | |||
| 40 | 2013-12-11 Juri Linkov <juri@jurta.org> | ||
| 41 | |||
| 42 | * bindings.el: Map kp keys to non-kp keys systematically | ||
| 43 | with basic modifiers control, meta and shift. (Bug#14397) | ||
| 44 | |||
| 45 | 2013-12-11 Kenjiro NAKAYAMA <nakayamakenjiro@gmail.com> (tiny change) | ||
| 46 | |||
| 47 | * net/eww.el (eww-mode-map): Instead of "Quit" show "Exit" and | ||
| 48 | "Close browser" menu items. Fix wrong function of "List | ||
| 49 | bookmarks". | ||
| 50 | |||
| 51 | 2013-12-11 Juri Linkov <juri@jurta.org> | ||
| 52 | |||
| 53 | * misearch.el (multi-isearch-buffers): Set the value of | ||
| 54 | `multi-isearch-buffer-list' globally. Set NO-RECURSIVE-EDIT | ||
| 55 | arg of isearch-forward to t. | ||
| 56 | (multi-isearch-buffers-regexp): Set the value of | ||
| 57 | `multi-isearch-buffer-list' globally. Set NO-RECURSIVE-EDIT | ||
| 58 | arg of isearch-forward-regexp to t. | ||
| 59 | (multi-isearch-files): Set the value of | ||
| 60 | `multi-isearch-file-list' globally. Set NO-RECURSIVE-EDIT | ||
| 61 | arg of isearch-forward to t. | ||
| 62 | (multi-isearch-files-regexp): Set the value of | ||
| 63 | `multi-isearch-file-list globally. Set NO-RECURSIVE-EDIT | ||
| 64 | arg of isearch-forward-regexp to t. (Bug#16035) | ||
| 65 | |||
| 66 | * dired-aux.el (dired-isearch-filenames): Set NO-RECURSIVE-EDIT | ||
| 67 | arg of isearch-forward to t. | ||
| 68 | (dired-isearch-filenames-regexp): Set NO-RECURSIVE-EDIT | ||
| 69 | arg of isearch-forward-regexp to t. | ||
| 70 | (dired-isearch-filter-filenames): Remove unnecessary check for | ||
| 71 | `dired-isearch-filenames'. | ||
| 72 | |||
| 73 | * comint.el (comint-history-isearch-backward): | ||
| 74 | Set NO-RECURSIVE-EDIT arg of isearch-backward to t. | ||
| 75 | (comint-history-isearch-backward-regexp): | ||
| 76 | Set NO-RECURSIVE-EDIT arg of isearch-backward-regexp to t. | ||
| 77 | |||
| 78 | 2013-12-10 Eli Zaretskii <eliz@gnu.org> | ||
| 79 | |||
| 80 | * Makefile.in (autoloads): Run $(srcdir)/loaddefs.el through | ||
| 81 | unmsys--file-name. (Bug#16099) | ||
| 82 | |||
| 1 | 2013-12-10 Teodor Zlatanov <tzz@lifelogs.com> | 83 | 2013-12-10 Teodor Zlatanov <tzz@lifelogs.com> |
| 2 | 84 | ||
| 3 | * emacs-lisp/package.el (package-keyword-button-action): Remove | 85 | * emacs-lisp/package.el (package-keyword-button-action): Remove |
diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 9c9eacfd386..3675cd90e46 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in | |||
| @@ -183,7 +183,7 @@ autoloads: $(LOADDEFS) doit | |||
| 183 | echo Directories: $$wins; \ | 183 | echo Directories: $$wins; \ |
| 184 | $(emacs) -l autoload \ | 184 | $(emacs) -l autoload \ |
| 185 | --eval '(setq autoload-builtin-package-versions t)' \ | 185 | --eval '(setq autoload-builtin-package-versions t)' \ |
| 186 | --eval '(setq generated-autoload-file (expand-file-name "$(srcdir)/loaddefs.el"))' \ | 186 | --eval '(setq generated-autoload-file (expand-file-name (unmsys--file-name "$(srcdir)/loaddefs.el")))' \ |
| 187 | -f batch-update-autoloads $$wins | 187 | -f batch-update-autoloads $$wins |
| 188 | 188 | ||
| 189 | # This is required by the bootstrap-emacs target in ../src/Makefile, so | 189 | # This is required by the bootstrap-emacs target in ../src/Makefile, so |
diff --git a/lisp/bindings.el b/lisp/bindings.el index b3b4f76b555..c159f44eecd 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el | |||
| @@ -1056,36 +1056,30 @@ if `inhibit-field-text-motion' is non-nil." | |||
| 1056 | ;; FIXME: rather than list such mappings for every modifier-combination, | 1056 | ;; FIXME: rather than list such mappings for every modifier-combination, |
| 1057 | ;; we should come up with a way to do it generically, something like | 1057 | ;; we should come up with a way to do it generically, something like |
| 1058 | ;; (define-key function-key-map [*-kp-home] [*-home]) | 1058 | ;; (define-key function-key-map [*-kp-home] [*-home]) |
| 1059 | (define-key function-key-map [kp-home] [home]) | 1059 | ;; Currently we add keypad key combinations with basic modifiers |
| 1060 | (define-key function-key-map [kp-left] [left]) | 1060 | ;; (to complement plain bindings in "Keypad support" section in simple.el) |
| 1061 | (define-key function-key-map [kp-up] [up]) | 1061 | ;; Until [*-kp-home] is implemented, for more modifiers we could also use: |
| 1062 | (define-key function-key-map [kp-right] [right]) | 1062 | ;; (todo-powerset '(control meta shift hyper super alt)) (Bug#14397) |
| 1063 | (define-key function-key-map [kp-down] [down]) | 1063 | (let ((modifiers '(nil (control) (meta) (control meta) (shift) |
| 1064 | (define-key function-key-map [kp-prior] [prior]) | 1064 | (control shift) (meta shift) (control meta shift))) |
| 1065 | (define-key function-key-map [kp-next] [next]) | 1065 | (keys '((kp-delete delete) (kp-insert insert) |
| 1066 | (define-key function-key-map [M-kp-next] [M-next]) | 1066 | (kp-end end) (kp-down down) (kp-next next) |
| 1067 | (define-key function-key-map [kp-end] [end]) | 1067 | (kp-left left) (kp-begin begin) (kp-right right) |
| 1068 | (define-key function-key-map [kp-begin] [begin]) | 1068 | (kp-home home) (kp-up up) (kp-prior prior) |
| 1069 | (define-key function-key-map [kp-insert] [insert]) | 1069 | (kp-enter enter) (kp-decimal ?.) |
| 1070 | (kp-0 ?0) (kp-1 ?1) (kp-2 ?2) (kp-3 ?3) (kp-4 ?4) | ||
| 1071 | (kp-5 ?5) (kp-6 ?6) (kp-7 ?7) (kp-8 ?8) (kp-9 ?9) | ||
| 1072 | (kp-add +) (kp-subtract -) (kp-multiply *) (kp-divide /)))) | ||
| 1073 | (dolist (pair keys) | ||
| 1074 | (dolist (mod modifiers) | ||
| 1075 | (define-key function-key-map | ||
| 1076 | (vector (append mod (list (nth 0 pair)))) | ||
| 1077 | (vector (append mod (list (nth 1 pair)))))))) | ||
| 1078 | |||
| 1070 | (define-key function-key-map [backspace] [?\C-?]) | 1079 | (define-key function-key-map [backspace] [?\C-?]) |
| 1071 | (define-key function-key-map [delete] [?\C-?]) | 1080 | (define-key function-key-map [delete] [?\C-?]) |
| 1072 | (define-key function-key-map [kp-delete] [?\C-?]) | 1081 | (define-key function-key-map [kp-delete] [?\C-?]) |
| 1073 | (define-key function-key-map [S-kp-end] [S-end]) | 1082 | |
| 1074 | (define-key function-key-map [S-kp-down] [S-down]) | ||
| 1075 | (define-key function-key-map [S-kp-next] [S-next]) | ||
| 1076 | (define-key function-key-map [S-kp-left] [S-left]) | ||
| 1077 | (define-key function-key-map [S-kp-right] [S-right]) | ||
| 1078 | (define-key function-key-map [S-kp-home] [S-home]) | ||
| 1079 | (define-key function-key-map [S-kp-up] [S-up]) | ||
| 1080 | (define-key function-key-map [S-kp-prior] [S-prior]) | ||
| 1081 | (define-key function-key-map [C-S-kp-end] [C-S-end]) | ||
| 1082 | (define-key function-key-map [C-S-kp-down] [C-S-down]) | ||
| 1083 | (define-key function-key-map [C-S-kp-next] [C-S-next]) | ||
| 1084 | (define-key function-key-map [C-S-kp-left] [C-S-left]) | ||
| 1085 | (define-key function-key-map [C-S-kp-right] [C-S-right]) | ||
| 1086 | (define-key function-key-map [C-S-kp-home] [C-S-home]) | ||
| 1087 | (define-key function-key-map [C-S-kp-up] [C-S-up]) | ||
| 1088 | (define-key function-key-map [C-S-kp-prior] [C-S-prior]) | ||
| 1089 | ;; Don't bind shifted keypad numeric keys, they reportedly | 1083 | ;; Don't bind shifted keypad numeric keys, they reportedly |
| 1090 | ;; interfere with the feature of some keyboards to produce | 1084 | ;; interfere with the feature of some keyboards to produce |
| 1091 | ;; numbers when NumLock is off. | 1085 | ;; numbers when NumLock is off. |
| @@ -1097,14 +1091,14 @@ if `inhibit-field-text-motion' is non-nil." | |||
| 1097 | ;(define-key function-key-map [S-kp-7] [S-home]) | 1091 | ;(define-key function-key-map [S-kp-7] [S-home]) |
| 1098 | ;(define-key function-key-map [S-kp-8] [S-up]) | 1092 | ;(define-key function-key-map [S-kp-8] [S-up]) |
| 1099 | ;(define-key function-key-map [S-kp-9] [S-prior]) | 1093 | ;(define-key function-key-map [S-kp-9] [S-prior]) |
| 1100 | (define-key function-key-map [C-S-kp-1] [C-S-end]) | 1094 | ;(define-key function-key-map [C-S-kp-1] [C-S-end]) |
| 1101 | (define-key function-key-map [C-S-kp-2] [C-S-down]) | 1095 | ;(define-key function-key-map [C-S-kp-2] [C-S-down]) |
| 1102 | (define-key function-key-map [C-S-kp-3] [C-S-next]) | 1096 | ;(define-key function-key-map [C-S-kp-3] [C-S-next]) |
| 1103 | (define-key function-key-map [C-S-kp-4] [C-S-left]) | 1097 | ;(define-key function-key-map [C-S-kp-4] [C-S-left]) |
| 1104 | (define-key function-key-map [C-S-kp-6] [C-S-right]) | 1098 | ;(define-key function-key-map [C-S-kp-6] [C-S-right]) |
| 1105 | (define-key function-key-map [C-S-kp-7] [C-S-home]) | 1099 | ;(define-key function-key-map [C-S-kp-7] [C-S-home]) |
| 1106 | (define-key function-key-map [C-S-kp-8] [C-S-up]) | 1100 | ;(define-key function-key-map [C-S-kp-8] [C-S-up]) |
| 1107 | (define-key function-key-map [C-S-kp-9] [C-S-prior]) | 1101 | ;(define-key function-key-map [C-S-kp-9] [C-S-prior]) |
| 1108 | 1102 | ||
| 1109 | ;; Hitting C-SPC on text terminals, usually sends the ascii code 0 (aka C-@), | 1103 | ;; Hitting C-SPC on text terminals, usually sends the ascii code 0 (aka C-@), |
| 1110 | ;; so we can't distinguish those two keys, but usually we consider C-SPC | 1104 | ;; so we can't distinguish those two keys, but usually we consider C-SPC |
diff --git a/lisp/comint.el b/lisp/comint.el index afd93fc6ff0..08e8b162771 100644 --- a/lisp/comint.el +++ b/lisp/comint.el | |||
| @@ -1407,13 +1407,13 @@ If nil, Isearch operates on the whole comint buffer." | |||
| 1407 | "Search for a string backward in input history using Isearch." | 1407 | "Search for a string backward in input history using Isearch." |
| 1408 | (interactive) | 1408 | (interactive) |
| 1409 | (let ((comint-history-isearch t)) | 1409 | (let ((comint-history-isearch t)) |
| 1410 | (isearch-backward))) | 1410 | (isearch-backward nil t))) |
| 1411 | 1411 | ||
| 1412 | (defun comint-history-isearch-backward-regexp () | 1412 | (defun comint-history-isearch-backward-regexp () |
| 1413 | "Search for a regular expression backward in input history using Isearch." | 1413 | "Search for a regular expression backward in input history using Isearch." |
| 1414 | (interactive) | 1414 | (interactive) |
| 1415 | (let ((comint-history-isearch t)) | 1415 | (let ((comint-history-isearch t)) |
| 1416 | (isearch-backward-regexp))) | 1416 | (isearch-backward-regexp nil t))) |
| 1417 | 1417 | ||
| 1418 | (defvar-local comint-history-isearch-message-overlay nil) | 1418 | (defvar-local comint-history-isearch-message-overlay nil) |
| 1419 | 1419 | ||
diff --git a/lisp/delsel.el b/lisp/delsel.el index 3c9a6561cde..87e84e59dee 100644 --- a/lisp/delsel.el +++ b/lisp/delsel.el | |||
| @@ -71,14 +71,15 @@ any selection." | |||
| 71 | :global t :group 'editing-basics | 71 | :global t :group 'editing-basics |
| 72 | (if (not delete-selection-mode) | 72 | (if (not delete-selection-mode) |
| 73 | (remove-hook 'pre-command-hook 'delete-selection-pre-hook) | 73 | (remove-hook 'pre-command-hook 'delete-selection-pre-hook) |
| 74 | (add-hook 'pre-command-hook 'delete-selection-pre-hook) | 74 | (add-hook 'pre-command-hook 'delete-selection-pre-hook))) |
| 75 | (transient-mark-mode t))) | ||
| 76 | 75 | ||
| 77 | (defun delete-active-region (&optional killp) | 76 | (defun delete-active-region (&optional killp) |
| 78 | "Delete the active region. | 77 | "Delete the active region. |
| 79 | If KILLP in not-nil, the active region is killed instead of deleted." | 78 | If KILLP in not-nil, the active region is killed instead of deleted." |
| 80 | (if killp | 79 | (if killp |
| 81 | (kill-region (point) (mark) t) | 80 | ;; Don't allow `kill-region' to change the value of `this-command'. |
| 81 | (let (this-command) | ||
| 82 | (kill-region (point) (mark) t)) | ||
| 82 | (funcall region-extract-function 'delete-only)) | 83 | (funcall region-extract-function 'delete-only)) |
| 83 | t) | 84 | t) |
| 84 | 85 | ||
| @@ -102,7 +103,13 @@ If KILLP in not-nil, the active region is killed instead of deleted." | |||
| 102 | FUNCTION should take no argument and return one of the above values or nil." | 103 | FUNCTION should take no argument and return one of the above values or nil." |
| 103 | (condition-case data | 104 | (condition-case data |
| 104 | (cond ((eq type 'kill) | 105 | (cond ((eq type 'kill) |
| 105 | (delete-active-region t)) | 106 | (delete-active-region t) |
| 107 | (if (and overwrite-mode | ||
| 108 | (eq this-command 'self-insert-command)) | ||
| 109 | (let ((overwrite-mode nil)) | ||
| 110 | (self-insert-command | ||
| 111 | (prefix-numeric-value current-prefix-arg)) | ||
| 112 | (setq this-command 'ignore)))) | ||
| 106 | ((eq type 'yank) | 113 | ((eq type 'yank) |
| 107 | ;; Before a yank command, make sure we don't yank the | 114 | ;; Before a yank command, make sure we don't yank the |
| 108 | ;; head of the kill-ring that really comes from the | 115 | ;; 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." | |||
| 114 | (fboundp 'mouse-region-match) | 121 | (fboundp 'mouse-region-match) |
| 115 | (mouse-region-match)) | 122 | (mouse-region-match)) |
| 116 | (current-kill 1)) | 123 | (current-kill 1)) |
| 117 | (delete-active-region)) | 124 | (let ((pos (copy-marker (region-beginning)))) |
| 125 | (delete-active-region) | ||
| 126 | ;; If the region was, say, rectangular, make sure we yank | ||
| 127 | ;; from the top, to "replace". | ||
| 128 | (goto-char pos))) | ||
| 118 | ((eq type 'supersede) | 129 | ((eq type 'supersede) |
| 119 | (let ((empty-region (= (point) (mark)))) | 130 | (let ((empty-region (= (point) (mark)))) |
| 120 | (delete-active-region) | 131 | (delete-active-region) |
| @@ -165,10 +176,14 @@ See `delete-selection-helper'." | |||
| 165 | (not (run-hook-with-args-until-success | 176 | (not (run-hook-with-args-until-success |
| 166 | 'self-insert-uses-region-functions)))) | 177 | 'self-insert-uses-region-functions)))) |
| 167 | 178 | ||
| 179 | (put 'insert-char 'delete-selection t) | ||
| 180 | (put 'quoted-insert 'delete-selection t) | ||
| 181 | |||
| 168 | (put 'yank 'delete-selection 'yank) | 182 | (put 'yank 'delete-selection 'yank) |
| 169 | (put 'clipboard-yank 'delete-selection 'yank) | 183 | (put 'clipboard-yank 'delete-selection 'yank) |
| 170 | (put 'insert-register 'delete-selection t) | 184 | (put 'insert-register 'delete-selection t) |
| 171 | 185 | ||
| 186 | (put 'reindent-then-newline-and-indent 'delete-selection t) | ||
| 172 | (put 'newline-and-indent 'delete-selection t) | 187 | (put 'newline-and-indent 'delete-selection t) |
| 173 | (put 'newline 'delete-selection t) | 188 | (put 'newline 'delete-selection t) |
| 174 | (put 'open-line 'delete-selection 'kill) | 189 | (put 'open-line 'delete-selection 'kill) |
| @@ -180,7 +195,7 @@ See `delete-selection-helper'." | |||
| 180 | In Delete Selection mode, if the mark is active, just deactivate it; | 195 | In Delete Selection mode, if the mark is active, just deactivate it; |
| 181 | then it takes a second \\[keyboard-quit] to abort the minibuffer." | 196 | then it takes a second \\[keyboard-quit] to abort the minibuffer." |
| 182 | (interactive) | 197 | (interactive) |
| 183 | (if (and delete-selection-mode transient-mark-mode mark-active) | 198 | (if (and delete-selection-mode (region-active-p)) |
| 184 | (setq deactivate-mark t) | 199 | (setq deactivate-mark t) |
| 185 | (abort-recursive-edit))) | 200 | (abort-recursive-edit))) |
| 186 | 201 | ||
| @@ -197,9 +212,9 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer." | |||
| 197 | (define-key minibuffer-local-completion-map "\C-g" 'abort-recursive-edit) | 212 | (define-key minibuffer-local-completion-map "\C-g" 'abort-recursive-edit) |
| 198 | (define-key minibuffer-local-must-match-map "\C-g" 'abort-recursive-edit) | 213 | (define-key minibuffer-local-must-match-map "\C-g" 'abort-recursive-edit) |
| 199 | (define-key minibuffer-local-isearch-map "\C-g" 'abort-recursive-edit) | 214 | (define-key minibuffer-local-isearch-map "\C-g" 'abort-recursive-edit) |
| 200 | (dolist (sym '(self-insert-command yank clipboard-yank | 215 | (dolist (sym '(self-insert-command insert-char quoted-insert yank |
| 201 | insert-register | 216 | clipboard-yank insert-register newline-and-indent |
| 202 | newline-and-indent newline open-line)) | 217 | reindent-then-newline-and-indent newline open-line)) |
| 203 | (put sym 'delete-selection nil)) | 218 | (put sym 'delete-selection nil)) |
| 204 | ;; continue standard unloading | 219 | ;; continue standard unloading |
| 205 | nil) | 220 | nil) |
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 31d0495175a..28bfb283717 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el | |||
| @@ -2526,24 +2526,22 @@ Intended to be added to `isearch-mode-hook'." | |||
| 2526 | "Test whether the current search hit is a file name. | 2526 | "Test whether the current search hit is a file name. |
| 2527 | Return non-nil if the text from BEG to END is part of a file | 2527 | Return non-nil if the text from BEG to END is part of a file |
| 2528 | name (has the text property `dired-filename')." | 2528 | name (has the text property `dired-filename')." |
| 2529 | (if dired-isearch-filenames | 2529 | (text-property-not-all (min beg end) (max beg end) |
| 2530 | (text-property-not-all (min beg end) (max beg end) | 2530 | 'dired-filename nil)) |
| 2531 | 'dired-filename nil) | ||
| 2532 | t)) | ||
| 2533 | 2531 | ||
| 2534 | ;;;###autoload | 2532 | ;;;###autoload |
| 2535 | (defun dired-isearch-filenames () | 2533 | (defun dired-isearch-filenames () |
| 2536 | "Search for a string using Isearch only in file names in the Dired buffer." | 2534 | "Search for a string using Isearch only in file names in the Dired buffer." |
| 2537 | (interactive) | 2535 | (interactive) |
| 2538 | (let ((dired-isearch-filenames t)) | 2536 | (let ((dired-isearch-filenames t)) |
| 2539 | (isearch-forward))) | 2537 | (isearch-forward nil t))) |
| 2540 | 2538 | ||
| 2541 | ;;;###autoload | 2539 | ;;;###autoload |
| 2542 | (defun dired-isearch-filenames-regexp () | 2540 | (defun dired-isearch-filenames-regexp () |
| 2543 | "Search for a regexp using Isearch only in file names in the Dired buffer." | 2541 | "Search for a regexp using Isearch only in file names in the Dired buffer." |
| 2544 | (interactive) | 2542 | (interactive) |
| 2545 | (let ((dired-isearch-filenames t)) | 2543 | (let ((dired-isearch-filenames t)) |
| 2546 | (isearch-forward-regexp))) | 2544 | (isearch-forward-regexp nil t))) |
| 2547 | 2545 | ||
| 2548 | 2546 | ||
| 2549 | ;; Functions for searching in tags style among marked files. | 2547 | ;; Functions for searching in tags style among marked files. |
diff --git a/lisp/dired.el b/lisp/dired.el index 27327352afb..afd9fbca5c2 100644 --- a/lisp/dired.el +++ b/lisp/dired.el | |||
| @@ -3849,7 +3849,7 @@ Ask means pop up a menu for the user to select one of copy, move or link." | |||
| 3849 | 3849 | ||
| 3850 | ;;; Start of automatically extracted autoloads. | 3850 | ;;; Start of automatically extracted autoloads. |
| 3851 | 3851 | ||
| 3852 | ;;;### (autoloads nil "dired-aux" "dired-aux.el" "04b4cb6bde3220f55574eb1d99ac0d29") | 3852 | ;;;### (autoloads nil "dired-aux" "dired-aux.el" "4cb9d594789dacdf2445f338b9189357") |
| 3853 | ;;; Generated autoloads from dired-aux.el | 3853 | ;;; Generated autoloads from dired-aux.el |
| 3854 | 3854 | ||
| 3855 | (autoload 'dired-diff "dired-aux" "\ | 3855 | (autoload 'dired-diff "dired-aux" "\ |
diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el index f025a8b400b..1c468e013d6 100644 --- a/lisp/emacs-lisp/smie.el +++ b/lisp/emacs-lisp/smie.el | |||
| @@ -1165,7 +1165,7 @@ the beginning of a line." | |||
| 1165 | (forward-char 1)) | 1165 | (forward-char 1)) |
| 1166 | (skip-chars-forward " \t") | 1166 | (skip-chars-forward " \t") |
| 1167 | (or (eolp) | 1167 | (or (eolp) |
| 1168 | (and (looking-at comment-start-skip) | 1168 | (and ;; (looking-at comment-start-skip) ;(bug#16041). |
| 1169 | (forward-comment (point-max)))) | 1169 | (forward-comment (point-max)))) |
| 1170 | (point)))))) | 1170 | (point)))))) |
| 1171 | 1171 | ||
diff --git a/lisp/emacs-lisp/trace.el b/lisp/emacs-lisp/trace.el index f605c2865c0..3a2c44a8da6 100644 --- a/lisp/emacs-lisp/trace.el +++ b/lisp/emacs-lisp/trace.el | |||
| @@ -222,6 +222,7 @@ be printed along with the arguments in the trace." | |||
| 222 | (lambda (body &rest args) | 222 | (lambda (body &rest args) |
| 223 | (let ((trace-level (1+ trace-level)) | 223 | (let ((trace-level (1+ trace-level)) |
| 224 | (trace-buffer (get-buffer-create buffer)) | 224 | (trace-buffer (get-buffer-create buffer)) |
| 225 | (deactivate-mark nil) ;Protect deactivate-mark. | ||
| 225 | (ctx (funcall context))) | 226 | (ctx (funcall context))) |
| 226 | (unless inhibit-trace | 227 | (unless inhibit-trace |
| 227 | (with-current-buffer trace-buffer | 228 | (with-current-buffer trace-buffer |
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index 6c891c10eed..24149a33c89 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el | |||
| @@ -294,6 +294,8 @@ But when the mark was set using \\[cua-set-mark], Transient Mark mode | |||
| 294 | is not turned on." | 294 | is not turned on." |
| 295 | :type 'boolean | 295 | :type 'boolean |
| 296 | :group 'cua) | 296 | :group 'cua) |
| 297 | (make-obsolete-variable 'cua-highlight-region-shift-only | ||
| 298 | 'transient-mark-mode "24.4") | ||
| 297 | 299 | ||
| 298 | (defcustom cua-prefix-override-inhibit-delay 0.2 | 300 | (defcustom cua-prefix-override-inhibit-delay 0.2 |
| 299 | "If non-nil, time in seconds to delay before overriding prefix key. | 301 | "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." | |||
| 858 | 860 | ||
| 859 | (declare-function x-clipboard-yank "../term/x-win" ()) | 861 | (declare-function x-clipboard-yank "../term/x-win" ()) |
| 860 | 862 | ||
| 863 | (put 'cua-paste 'delete-selection 'yank) | ||
| 861 | (defun cua-paste (arg) | 864 | (defun cua-paste (arg) |
| 862 | "Paste last cut or copied region or rectangle. | 865 | "Paste last cut or copied region or rectangle. |
| 863 | An active region is deleted before executing the command. | 866 | An active region is deleted before executing the command. |
| @@ -866,8 +869,7 @@ If global mark is active, copy from register or one character." | |||
| 866 | (interactive "P") | 869 | (interactive "P") |
| 867 | (setq arg (cua--prefix-arg arg)) | 870 | (setq arg (cua--prefix-arg arg)) |
| 868 | (let ((regtxt (and cua--register (get-register cua--register))) | 871 | (let ((regtxt (and cua--register (get-register cua--register))) |
| 869 | (count (prefix-numeric-value arg)) | 872 | (count (prefix-numeric-value arg))) |
| 870 | paste-column paste-lines) | ||
| 871 | (cond | 873 | (cond |
| 872 | ((and cua--register (not regtxt)) | 874 | ((and cua--register (not regtxt)) |
| 873 | (message "Nothing in register %c" cua--register)) | 875 | (message "Nothing in register %c" cua--register)) |
| @@ -875,30 +877,12 @@ If global mark is active, copy from register or one character." | |||
| 875 | (if regtxt | 877 | (if regtxt |
| 876 | (cua--insert-at-global-mark regtxt) | 878 | (cua--insert-at-global-mark regtxt) |
| 877 | (when (not (eobp)) | 879 | (when (not (eobp)) |
| 878 | (cua--insert-at-global-mark (filter-buffer-substring (point) (+ (point) count))) | 880 | (cua--insert-at-global-mark |
| 881 | (filter-buffer-substring (point) (+ (point) count))) | ||
| 879 | (forward-char count)))) | 882 | (forward-char count)))) |
| 880 | (buffer-read-only | 883 | (buffer-read-only |
| 881 | (error "Cannot paste into a read-only buffer")) | 884 | (error "Cannot paste into a read-only buffer")) |
| 882 | (t | 885 | (t |
| 883 | ;; Must save register here, since delete may override reg 0. | ||
| 884 | (if mark-active | ||
| 885 | (if cua--rectangle | ||
| 886 | (progn | ||
| 887 | (goto-char (min (mark) (point))) | ||
| 888 | (setq paste-column (cua--rectangle-left)) | ||
| 889 | (setq paste-lines (cua--delete-rectangle)) | ||
| 890 | (if (= paste-lines 1) | ||
| 891 | (setq paste-lines nil))) ;; paste all | ||
| 892 | ;; Before a yank command, make sure we don't yank the | ||
| 893 | ;; head of the kill-ring that really comes from the | ||
| 894 | ;; currently active region we are going to delete. | ||
| 895 | ;; That would make yank a no-op. | ||
| 896 | (if (and (string= (filter-buffer-substring (point) (mark)) | ||
| 897 | (car kill-ring)) | ||
| 898 | (fboundp 'mouse-region-match) | ||
| 899 | (mouse-region-match)) | ||
| 900 | (current-kill 1)) | ||
| 901 | (cua-delete-region))) | ||
| 902 | (cond | 886 | (cond |
| 903 | (regtxt | 887 | (regtxt |
| 904 | (cond | 888 | (cond |
| @@ -906,16 +890,6 @@ If global mark is active, copy from register or one character." | |||
| 906 | ((consp regtxt) (cua--insert-rectangle regtxt)) | 890 | ((consp regtxt) (cua--insert-rectangle regtxt)) |
| 907 | ((stringp regtxt) (insert-for-yank regtxt)) | 891 | ((stringp regtxt) (insert-for-yank regtxt)) |
| 908 | (t (message "Unknown data in register %c" cua--register)))) | 892 | (t (message "Unknown data in register %c" cua--register)))) |
| 909 | ((and cua--last-killed-rectangle | ||
| 910 | (eq (and kill-ring (car kill-ring)) (car cua--last-killed-rectangle))) | ||
| 911 | (let ((pt (point))) | ||
| 912 | (when (not (eq buffer-undo-list t)) | ||
| 913 | (setq this-command 'cua--paste-rectangle) | ||
| 914 | (undo-boundary) | ||
| 915 | (setq buffer-undo-list (cons pt buffer-undo-list))) | ||
| 916 | (cua--insert-rectangle (cdr cua--last-killed-rectangle) | ||
| 917 | nil paste-column paste-lines) | ||
| 918 | (if arg (goto-char pt)))) | ||
| 919 | ((eq this-original-command 'clipboard-yank) | 893 | ((eq this-original-command 'clipboard-yank) |
| 920 | (clipboard-yank)) | 894 | (clipboard-yank)) |
| 921 | ((eq this-original-command 'x-clipboard-yank) | 895 | ((eq this-original-command 'x-clipboard-yank) |
| @@ -1426,9 +1400,7 @@ If ARG is the atom `-', scroll upward by nearly full screen." | |||
| 1426 | 1400 | ||
| 1427 | ;; State prior to enabling cua-mode | 1401 | ;; State prior to enabling cua-mode |
| 1428 | ;; Value is a list with the following elements: | 1402 | ;; Value is a list with the following elements: |
| 1429 | ;; transient-mark-mode | ||
| 1430 | ;; delete-selection-mode | 1403 | ;; delete-selection-mode |
| 1431 | ;; pc-selection-mode | ||
| 1432 | 1404 | ||
| 1433 | (defvar cua--saved-state nil) | 1405 | (defvar cua--saved-state nil) |
| 1434 | 1406 | ||
| @@ -1488,7 +1460,8 @@ shifted movement key, set `cua-highlight-region-shift-only'." | |||
| 1488 | (remove-hook 'post-command-hook 'cua--post-command-handler)) | 1460 | (remove-hook 'post-command-hook 'cua--post-command-handler)) |
| 1489 | 1461 | ||
| 1490 | (if (not cua-mode) | 1462 | (if (not cua-mode) |
| 1491 | (setq emulation-mode-map-alists (delq 'cua--keymap-alist emulation-mode-map-alists)) | 1463 | (setq emulation-mode-map-alists |
| 1464 | (delq 'cua--keymap-alist emulation-mode-map-alists)) | ||
| 1492 | (add-to-ordered-list 'emulation-mode-map-alists 'cua--keymap-alist 400) | 1465 | (add-to-ordered-list 'emulation-mode-map-alists 'cua--keymap-alist 400) |
| 1493 | (cua--select-keymaps)) | 1466 | (cua--select-keymaps)) |
| 1494 | 1467 | ||
| @@ -1496,34 +1469,21 @@ shifted movement key, set `cua-highlight-region-shift-only'." | |||
| 1496 | (cua-mode | 1469 | (cua-mode |
| 1497 | (setq cua--saved-state | 1470 | (setq cua--saved-state |
| 1498 | (list | 1471 | (list |
| 1499 | transient-mark-mode | 1472 | (and (boundp 'delete-selection-mode) delete-selection-mode))) |
| 1500 | (and (boundp 'delete-selection-mode) delete-selection-mode) | ||
| 1501 | (and (boundp 'pc-selection-mode) pc-selection-mode) | ||
| 1502 | shift-select-mode)) | ||
| 1503 | (if cua-delete-selection | 1473 | (if cua-delete-selection |
| 1504 | (delete-selection-mode 1) | 1474 | (delete-selection-mode 1) |
| 1505 | (if (and (boundp 'delete-selection-mode) delete-selection-mode) | 1475 | (if (and (boundp 'delete-selection-mode) delete-selection-mode) |
| 1506 | (delete-selection-mode -1))) | 1476 | (delete-selection-mode -1))) |
| 1507 | (if (and (boundp 'pc-selection-mode) pc-selection-mode) | 1477 | (if cua-highlight-region-shift-only (transient-mark-mode -1)) |
| 1508 | (pc-selection-mode -1)) | 1478 | (cua--deactivate)) |
| 1509 | (cua--deactivate) | ||
| 1510 | (setq shift-select-mode t) | ||
| 1511 | (transient-mark-mode (if cua-highlight-region-shift-only -1 1))) | ||
| 1512 | (cua--saved-state | 1479 | (cua--saved-state |
| 1513 | (setq transient-mark-mode (car cua--saved-state)) | 1480 | (if (nth 0 cua--saved-state) |
| 1514 | (if (nth 1 cua--saved-state) | ||
| 1515 | (delete-selection-mode 1) | 1481 | (delete-selection-mode 1) |
| 1516 | (if (and (boundp 'delete-selection-mode) delete-selection-mode) | 1482 | (if (and (boundp 'delete-selection-mode) delete-selection-mode) |
| 1517 | (delete-selection-mode -1))) | 1483 | (delete-selection-mode -1))) |
| 1518 | (if (nth 2 cua--saved-state) | ||
| 1519 | (pc-selection-mode 1)) | ||
| 1520 | (setq shift-select-mode (nth 3 cua--saved-state)) | ||
| 1521 | (if (called-interactively-p 'interactive) | 1484 | (if (called-interactively-p 'interactive) |
| 1522 | (message "CUA mode disabled.%s%s%s%s" | 1485 | (message "CUA mode disabled.%s" |
| 1523 | (if (nth 1 cua--saved-state) " Delete-Selection" "") | 1486 | (if (nth 0 cua--saved-state) " Delete-Selection enabled" ""))) |
| 1524 | (if (and (nth 1 cua--saved-state) (nth 2 cua--saved-state)) " and" "") | ||
| 1525 | (if (nth 2 cua--saved-state) " PC-Selection" "") | ||
| 1526 | (if (or (nth 1 cua--saved-state) (nth 2 cua--saved-state)) " enabled" ""))) | ||
| 1527 | (setq cua--saved-state nil)))) | 1487 | (setq cua--saved-state nil)))) |
| 1528 | 1488 | ||
| 1529 | 1489 | ||
diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el index 8941bf27de7..71578031cba 100644 --- a/lisp/emulation/cua-rect.el +++ b/lisp/emulation/cua-rect.el | |||
| @@ -718,7 +718,8 @@ If command is repeated at same position, delete the rectangle." | |||
| 718 | (cdr (cdr cua--last-rectangle)) | 718 | (cdr (cdr cua--last-rectangle)) |
| 719 | (cua--rectangle-get-corners)) | 719 | (cua--rectangle-get-corners)) |
| 720 | cua--status-string (if (cua--rectangle-virtual-edges) " [R]" "") | 720 | cua--status-string (if (cua--rectangle-virtual-edges) " [R]" "") |
| 721 | cua--last-rectangle nil)) | 721 | cua--last-rectangle nil) |
| 722 | (activate-mark)) | ||
| 722 | 723 | ||
| 723 | ;; (defvar cua-save-point nil) | 724 | ;; (defvar cua-save-point nil) |
| 724 | 725 | ||
| @@ -731,7 +732,8 @@ If command is repeated at same position, delete the rectangle." | |||
| 731 | cua--rectangle nil | 732 | cua--rectangle nil |
| 732 | cua--rectangle-overlays nil | 733 | cua--rectangle-overlays nil |
| 733 | cua--status-string nil | 734 | cua--status-string nil |
| 734 | cua--mouse-last-pos nil)) | 735 | cua--mouse-last-pos nil) |
| 736 | (deactivate-mark)) | ||
| 735 | 737 | ||
| 736 | (defun cua--highlight-rectangle () | 738 | (defun cua--highlight-rectangle () |
| 737 | ;; This function is used to highlight the rectangular region. | 739 | ;; This function is used to highlight the rectangular region. |
diff --git a/lisp/misearch.el b/lisp/misearch.el index 0c4cd4ea323..36b826b862a 100644 --- a/lisp/misearch.el +++ b/lisp/misearch.el | |||
| @@ -262,11 +262,11 @@ whose names match the specified regexp." | |||
| 262 | (multi-isearch-read-matching-buffers) | 262 | (multi-isearch-read-matching-buffers) |
| 263 | (multi-isearch-read-buffers)))) | 263 | (multi-isearch-read-buffers)))) |
| 264 | (let ((multi-isearch-next-buffer-function | 264 | (let ((multi-isearch-next-buffer-function |
| 265 | 'multi-isearch-next-buffer-from-list) | 265 | 'multi-isearch-next-buffer-from-list)) |
| 266 | (multi-isearch-buffer-list (mapcar #'get-buffer buffers))) | 266 | (setq multi-isearch-buffer-list (mapcar #'get-buffer buffers)) |
| 267 | (switch-to-buffer (car multi-isearch-buffer-list)) | 267 | (switch-to-buffer (car multi-isearch-buffer-list)) |
| 268 | (goto-char (if isearch-forward (point-min) (point-max))) | 268 | (goto-char (if isearch-forward (point-min) (point-max))) |
| 269 | (isearch-forward))) | 269 | (isearch-forward nil t))) |
| 270 | 270 | ||
| 271 | ;;;###autoload | 271 | ;;;###autoload |
| 272 | (defun multi-isearch-buffers-regexp (buffers) | 272 | (defun multi-isearch-buffers-regexp (buffers) |
| @@ -280,11 +280,11 @@ whose names match the specified regexp." | |||
| 280 | (multi-isearch-read-matching-buffers) | 280 | (multi-isearch-read-matching-buffers) |
| 281 | (multi-isearch-read-buffers)))) | 281 | (multi-isearch-read-buffers)))) |
| 282 | (let ((multi-isearch-next-buffer-function | 282 | (let ((multi-isearch-next-buffer-function |
| 283 | 'multi-isearch-next-buffer-from-list) | 283 | 'multi-isearch-next-buffer-from-list)) |
| 284 | (multi-isearch-buffer-list (mapcar #'get-buffer buffers))) | 284 | (setq multi-isearch-buffer-list (mapcar #'get-buffer buffers)) |
| 285 | (switch-to-buffer (car multi-isearch-buffer-list)) | 285 | (switch-to-buffer (car multi-isearch-buffer-list)) |
| 286 | (goto-char (if isearch-forward (point-min) (point-max))) | 286 | (goto-char (if isearch-forward (point-min) (point-max))) |
| 287 | (isearch-forward-regexp))) | 287 | (isearch-forward-regexp nil t))) |
| 288 | 288 | ||
| 289 | 289 | ||
| 290 | ;;; Global multi-file search invocations | 290 | ;;; Global multi-file search invocations |
| @@ -346,11 +346,11 @@ whose file names match the specified wildcard." | |||
| 346 | (multi-isearch-read-matching-files) | 346 | (multi-isearch-read-matching-files) |
| 347 | (multi-isearch-read-files)))) | 347 | (multi-isearch-read-files)))) |
| 348 | (let ((multi-isearch-next-buffer-function | 348 | (let ((multi-isearch-next-buffer-function |
| 349 | 'multi-isearch-next-file-buffer-from-list) | 349 | 'multi-isearch-next-file-buffer-from-list)) |
| 350 | (multi-isearch-file-list (mapcar #'expand-file-name files))) | 350 | (setq multi-isearch-file-list (mapcar #'expand-file-name files)) |
| 351 | (find-file (car multi-isearch-file-list)) | 351 | (find-file (car multi-isearch-file-list)) |
| 352 | (goto-char (if isearch-forward (point-min) (point-max))) | 352 | (goto-char (if isearch-forward (point-min) (point-max))) |
| 353 | (isearch-forward))) | 353 | (isearch-forward nil t))) |
| 354 | 354 | ||
| 355 | ;;;###autoload | 355 | ;;;###autoload |
| 356 | (defun multi-isearch-files-regexp (files) | 356 | (defun multi-isearch-files-regexp (files) |
| @@ -365,11 +365,11 @@ whose file names match the specified wildcard." | |||
| 365 | (multi-isearch-read-matching-files) | 365 | (multi-isearch-read-matching-files) |
| 366 | (multi-isearch-read-files)))) | 366 | (multi-isearch-read-files)))) |
| 367 | (let ((multi-isearch-next-buffer-function | 367 | (let ((multi-isearch-next-buffer-function |
| 368 | 'multi-isearch-next-file-buffer-from-list) | 368 | 'multi-isearch-next-file-buffer-from-list)) |
| 369 | (multi-isearch-file-list (mapcar #'expand-file-name files))) | 369 | (setq multi-isearch-file-list (mapcar #'expand-file-name files)) |
| 370 | (find-file (car multi-isearch-file-list)) | 370 | (find-file (car multi-isearch-file-list)) |
| 371 | (goto-char (if isearch-forward (point-min) (point-max))) | 371 | (goto-char (if isearch-forward (point-min) (point-max))) |
| 372 | (isearch-forward-regexp))) | 372 | (isearch-forward-regexp nil t))) |
| 373 | 373 | ||
| 374 | 374 | ||
| 375 | (provide 'multi-isearch) | 375 | (provide 'multi-isearch) |
diff --git a/lisp/net/eww.el b/lisp/net/eww.el index 9d1c3a26949..8355ce1fb3c 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el | |||
| @@ -418,7 +418,8 @@ word(s) will be searched for via `eww-search-prefix'." | |||
| 418 | 418 | ||
| 419 | (easy-menu-define nil map "" | 419 | (easy-menu-define nil map "" |
| 420 | '("Eww" | 420 | '("Eww" |
| 421 | ["Quit" eww-quit t] | 421 | ["Exit" eww-quit t] |
| 422 | ["Close browser" quit-window t] | ||
| 422 | ["Reload" eww-reload t] | 423 | ["Reload" eww-reload t] |
| 423 | ["Back to previous page" eww-back-url | 424 | ["Back to previous page" eww-back-url |
| 424 | :active (not (zerop (length eww-history)))] | 425 | :active (not (zerop (length eww-history)))] |
| @@ -429,7 +430,7 @@ word(s) will be searched for via `eww-search-prefix'." | |||
| 429 | ["View page source" eww-view-source] | 430 | ["View page source" eww-view-source] |
| 430 | ["Copy page URL" eww-copy-page-url t] | 431 | ["Copy page URL" eww-copy-page-url t] |
| 431 | ["Add bookmark" eww-add-bookmark t] | 432 | ["Add bookmark" eww-add-bookmark t] |
| 432 | ["List bookmarks" eww-copy-page-url t] | 433 | ["List bookmarks" eww-list-bookmarks t] |
| 433 | ["List cookies" url-cookie-list t])) | 434 | ["List cookies" url-cookie-list t])) |
| 434 | map)) | 435 | map)) |
| 435 | 436 | ||
diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el index 778659c0de4..d551d0ddb57 100644 --- a/lisp/progmodes/octave.el +++ b/lisp/progmodes/octave.el | |||
| @@ -528,8 +528,14 @@ Non-nil means always go to the next Octave code line after sending." | |||
| 528 | Octave is a high-level language, primarily intended for numerical | 528 | Octave is a high-level language, primarily intended for numerical |
| 529 | computations. It provides a convenient command line interface | 529 | computations. It provides a convenient command line interface |
| 530 | for solving linear and nonlinear problems numerically. Function | 530 | for solving linear and nonlinear problems numerically. Function |
| 531 | definitions can also be stored in files and used in batch mode." | 531 | definitions can also be stored in files and used in batch mode. |
| 532 | |||
| 533 | See Info node `(octave-mode) Using Octave Mode' for more details. | ||
| 534 | |||
| 535 | Key bindings: | ||
| 536 | \\{octave-mode-map}" | ||
| 532 | :abbrev-table octave-abbrev-table | 537 | :abbrev-table octave-abbrev-table |
| 538 | :group 'octave | ||
| 533 | 539 | ||
| 534 | (smie-setup octave-smie-grammar #'octave-smie-rules | 540 | (smie-setup octave-smie-grammar #'octave-smie-rules |
| 535 | :forward-token #'octave-smie-forward-token | 541 | :forward-token #'octave-smie-forward-token |
| @@ -705,8 +711,16 @@ in the Inferior Octave buffer.") | |||
| 705 | (process-live-p inferior-octave-process)) | 711 | (process-live-p inferior-octave-process)) |
| 706 | 712 | ||
| 707 | (define-derived-mode inferior-octave-mode comint-mode "Inferior Octave" | 713 | (define-derived-mode inferior-octave-mode comint-mode "Inferior Octave" |
| 708 | "Major mode for interacting with an inferior Octave process." | 714 | "Major mode for interacting with an inferior Octave process. |
| 715 | |||
| 716 | See Info node `(octave-mode) Running Octave from Within Emacs' for more | ||
| 717 | details. | ||
| 718 | |||
| 719 | Key bindings: | ||
| 720 | \\{inferior-octave-mode-map}" | ||
| 709 | :abbrev-table octave-abbrev-table | 721 | :abbrev-table octave-abbrev-table |
| 722 | :group 'octave | ||
| 723 | |||
| 710 | (setq comint-prompt-regexp inferior-octave-prompt) | 724 | (setq comint-prompt-regexp inferior-octave-prompt) |
| 711 | 725 | ||
| 712 | (setq-local comment-use-syntax t) | 726 | (setq-local comment-use-syntax t) |
diff --git a/lisp/simple.el b/lisp/simple.el index 260c1702def..af1139bb942 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -7435,7 +7435,7 @@ See also `normal-erase-is-backspace'." | |||
| 7435 | (if enabled | 7435 | (if enabled |
| 7436 | (progn | 7436 | (progn |
| 7437 | (define-key local-function-key-map [delete] [deletechar]) | 7437 | (define-key local-function-key-map [delete] [deletechar]) |
| 7438 | (define-key local-function-key-map [kp-delete] [?\C-d]) | 7438 | (define-key local-function-key-map [kp-delete] [deletechar]) |
| 7439 | (define-key local-function-key-map [backspace] [?\C-?]) | 7439 | (define-key local-function-key-map [backspace] [?\C-?]) |
| 7440 | (dolist (b bindings) | 7440 | (dolist (b bindings) |
| 7441 | ;; Not sure if input-decode-map is really right, but | 7441 | ;; Not sure if input-decode-map is really right, but |
diff --git a/m4/gl-openssl.m4 b/m4/gl-openssl.m4 deleted file mode 100644 index 0434c4c8721..00000000000 --- a/m4/gl-openssl.m4 +++ /dev/null | |||
| @@ -1,51 +0,0 @@ | |||
| 1 | # gl-openssl.m4 serial 3 | ||
| 2 | dnl Copyright (C) 2013 Free Software Foundation, Inc. | ||
| 3 | dnl This file is free software; the Free Software Foundation | ||
| 4 | dnl gives unlimited permission to copy and/or distribute it, | ||
| 5 | dnl with or without modifications, as long as this notice is preserved. | ||
| 6 | |||
| 7 | AC_DEFUN([gl_SET_CRYPTO_CHECK_DEFAULT], | ||
| 8 | [ | ||
| 9 | m4_define([gl_CRYPTO_CHECK_DEFAULT], [$1]) | ||
| 10 | ]) | ||
| 11 | gl_SET_CRYPTO_CHECK_DEFAULT([no]) | ||
| 12 | |||
| 13 | AC_DEFUN([gl_CRYPTO_CHECK], | ||
| 14 | [ | ||
| 15 | dnl gnulib users set this before gl_INIT with gl_SET_CRYPTO_CHECK_DEFAULT() | ||
| 16 | m4_divert_once([DEFAULTS], [with_openssl_default='gl_CRYPTO_CHECK_DEFAULT']) | ||
| 17 | |||
| 18 | dnl Only clear once, so crypto routines can be checked for individually | ||
| 19 | m4_divert_once([DEFAULTS], [LIB_CRYPTO=]) | ||
| 20 | |||
| 21 | AC_ARG_WITH([openssl], | ||
| 22 | [AS_HELP_STRING([--with-openssl], | ||
| 23 | [use libcrypto hash routines. Valid ARGs are: | ||
| 24 | 'yes', 'no', 'auto' => use if available, | ||
| 25 | 'optional' => use if available and warn if not available; | ||
| 26 | default is ']gl_CRYPTO_CHECK_DEFAULT['])], | ||
| 27 | [], | ||
| 28 | [with_openssl=$with_openssl_default]) | ||
| 29 | |||
| 30 | if test "x$1" = xMD5; then | ||
| 31 | ALG_header=md5.h | ||
| 32 | else | ||
| 33 | ALG_header=sha.h | ||
| 34 | fi | ||
| 35 | |||
| 36 | AC_SUBST([LIB_CRYPTO]) | ||
| 37 | if test "x$with_openssl" != xno; then | ||
| 38 | AC_CHECK_LIB([crypto], [$1], | ||
| 39 | [AC_CHECK_HEADERS([openssl/$ALG_header], | ||
| 40 | [LIB_CRYPTO=-lcrypto | ||
| 41 | AC_DEFINE([HAVE_OPENSSL_$1], [1], | ||
| 42 | [Define to 1 if libcrypto is used for $1.])])]) | ||
| 43 | if test "x$LIB_CRYPTO" = x; then | ||
| 44 | if test "x$with_openssl" = xyes; then | ||
| 45 | AC_MSG_ERROR([openssl development library not found for $1]) | ||
| 46 | elif test "x$with_openssl" = xoptional; then | ||
| 47 | AC_MSG_WARN([openssl development library not found for $1]) | ||
| 48 | fi | ||
| 49 | fi | ||
| 50 | fi | ||
| 51 | ]) | ||
diff --git a/src/ChangeLog b/src/ChangeLog index 25271d6f6b8..89c640bd8c7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,46 @@ | |||
| 1 | 2013-12-11 Ken Brown <kbrown@cornell.edu> | ||
| 2 | |||
| 3 | * dispextern.h (erase_phys_cursor): | ||
| 4 | * keyboard.h (make_ctrl_char): Declare prototypes if HAVE_NTGUI. | ||
| 5 | |||
| 6 | 2013-12-11 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 7 | |||
| 8 | * nsterm.m (x_free_frame_resources): | ||
| 9 | * term.c (tty_free_frame_resources): | ||
| 10 | * xterm.c (x_free_frame_resources): Do not check for non-NULL | ||
| 11 | face cache because it's implied by free_frame_faces anyway. | ||
| 12 | * w32term.c (x_free_frame_resources): Likewise. Do not call | ||
| 13 | free_frame_faces twice. | ||
| 14 | |||
| 15 | 2013-12-11 RĂ¼diger Sonderfeld <ruediger@c-plusplus.de> | ||
| 16 | |||
| 17 | * editfns.c (Fformat_time_string): Mention %F in the doc. | ||
| 18 | |||
| 19 | 2013-12-11 Martin Rudalics <rudalics@gmx.at> | ||
| 20 | |||
| 21 | * window.c (resize_frame_windows): Don't return immediately when | ||
| 22 | the root window's size doesn't change - the minibuffer window | ||
| 23 | may still have to be repositioned/resized. | ||
| 24 | * xfns.c (Fx_create_frame): Always change the frame size after | ||
| 25 | initializing the frame's faces. | ||
| 26 | * xterm.c (handle_one_xevent): Don't set pixel sizes here, | ||
| 27 | change_frame_size should already have done it. | ||
| 28 | (x_new_font): Assign new tool- and menu-bar heights. | ||
| 29 | (x_set_window_size_1): Account for tool- and menu-bar heights | ||
| 30 | (Bug#16013). Don't set pixel sizes since change_frame_size | ||
| 31 | should already have done it. | ||
| 32 | |||
| 33 | 2013-12-11 Paul Eggert <eggert@cs.ucla.edu> | ||
| 34 | |||
| 35 | Remove the option of using libcrypto. | ||
| 36 | * Makefile.in (LIB_CRYPTO): Remove. | ||
| 37 | (LIBES): Don't use it. | ||
| 38 | |||
| 39 | 2013-12-11 Juri Linkov <juri@jurta.org> | ||
| 40 | |||
| 41 | * term.c (term_get_fkeys_1): Remove non-standard IBM terminfo | ||
| 42 | as obsolete to avoid conflicts with <S-up>. (Bug#13471) | ||
| 43 | |||
| 1 | 2013-12-10 Dmitry Antipov <dmantipov@yandex.ru> | 44 | 2013-12-10 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 45 | ||
| 3 | * xdisp.c (display_tool_bar_line): Don't extend on a previously | 46 | * xdisp.c (display_tool_bar_line): Don't extend on a previously |
diff --git a/src/Makefile.in b/src/Makefile.in index cef1ba5ed2e..7d91928acfe 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -139,7 +139,6 @@ M17N_FLT_LIBS = @M17N_FLT_LIBS@ | |||
| 139 | 139 | ||
| 140 | LIB_ACL=@LIB_ACL@ | 140 | LIB_ACL=@LIB_ACL@ |
| 141 | LIB_CLOCK_GETTIME=@LIB_CLOCK_GETTIME@ | 141 | LIB_CLOCK_GETTIME=@LIB_CLOCK_GETTIME@ |
| 142 | LIB_CRYPTO=@LIB_CRYPTO@ | ||
| 143 | LIB_EACCESS=@LIB_EACCESS@ | 142 | LIB_EACCESS=@LIB_EACCESS@ |
| 144 | LIB_FDATASYNC=@LIB_FDATASYNC@ | 143 | LIB_FDATASYNC=@LIB_FDATASYNC@ |
| 145 | LIB_TIMER_TIME=@LIB_TIMER_TIME@ | 144 | LIB_TIMER_TIME=@LIB_TIMER_TIME@ |
| @@ -404,7 +403,6 @@ ALLOBJS = $(FIRSTFILE_OBJ) $(VMLIMIT_OBJ) $(obj) $(otherobj) | |||
| 404 | LIBES = $(LIBS) $(W32_LIBS) $(LIBS_GNUSTEP) $(LIBX_BASE) $(LIBIMAGE) \ | 403 | LIBES = $(LIBS) $(W32_LIBS) $(LIBS_GNUSTEP) $(LIBX_BASE) $(LIBIMAGE) \ |
| 405 | $(LIBX_OTHER) $(LIBSOUND) \ | 404 | $(LIBX_OTHER) $(LIBSOUND) \ |
| 406 | $(RSVG_LIBS) $(IMAGEMAGICK_LIBS) $(LIB_ACL) $(LIB_CLOCK_GETTIME) \ | 405 | $(RSVG_LIBS) $(IMAGEMAGICK_LIBS) $(LIB_ACL) $(LIB_CLOCK_GETTIME) \ |
| 407 | $(LIB_CRYPTO) \ | ||
| 408 | $(LIB_EACCESS) $(LIB_FDATASYNC) $(LIB_TIMER_TIME) $(DBUS_LIBS) \ | 406 | $(LIB_EACCESS) $(LIB_FDATASYNC) $(LIB_TIMER_TIME) $(DBUS_LIBS) \ |
| 409 | $(LIB_EXECINFO) $(XRANDR_LIBS) $(XINERAMA_LIBS) \ | 407 | $(LIB_EXECINFO) $(XRANDR_LIBS) $(XINERAMA_LIBS) \ |
| 410 | $(LIBXML2_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \ | 408 | $(LIBXML2_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \ |
diff --git a/src/dispextern.h b/src/dispextern.h index 7de4edf2196..5976d068a78 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -3251,7 +3251,7 @@ extern void draw_phys_cursor_glyph (struct window *, | |||
| 3251 | enum draw_glyphs_face); | 3251 | enum draw_glyphs_face); |
| 3252 | extern void get_phys_cursor_geometry (struct window *, struct glyph_row *, | 3252 | extern void get_phys_cursor_geometry (struct window *, struct glyph_row *, |
| 3253 | struct glyph *, int *, int *, int *); | 3253 | struct glyph *, int *, int *, int *); |
| 3254 | #ifdef WINDOWSNT | 3254 | #if HAVE_NTGUI |
| 3255 | extern void erase_phys_cursor (struct window *); | 3255 | extern void erase_phys_cursor (struct window *); |
| 3256 | #endif | 3256 | #endif |
| 3257 | extern void display_and_set_cursor (struct window *, bool, int, int, int, int); | 3257 | extern void display_and_set_cursor (struct window *, bool, int, int, int, int); |
diff --git a/src/editfns.c b/src/editfns.c index 8e47d1f82e4..f67b95a8e81 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -1723,6 +1723,7 @@ by text that describes the specified date and time in TIME: | |||
| 1723 | %c is the locale's date and time format. | 1723 | %c is the locale's date and time format. |
| 1724 | %x is the locale's "preferred" date format. | 1724 | %x is the locale's "preferred" date format. |
| 1725 | %D is like "%m/%d/%y". | 1725 | %D is like "%m/%d/%y". |
| 1726 | %F is the ISO 8601 date format (like "%Y-%m-%d"). | ||
| 1726 | 1727 | ||
| 1727 | %R is like "%H:%M", %T is like "%H:%M:%S", %r is like "%I:%M:%S %p". | 1728 | %R is like "%H:%M", %T is like "%H:%M:%S", %r is like "%I:%M:%S %p". |
| 1728 | %X is the locale's "preferred" time format. | 1729 | %X is the locale's "preferred" time format. |
| @@ -1741,7 +1742,7 @@ The modifiers are `E' and `O'. For certain characters X, | |||
| 1741 | %EX is a locale's alternative version of %X; | 1742 | %EX is a locale's alternative version of %X; |
| 1742 | %OX is like %X, but uses the locale's number symbols. | 1743 | %OX is like %X, but uses the locale's number symbols. |
| 1743 | 1744 | ||
| 1744 | For example, to produce full ISO 8601 format, use "%Y-%m-%dT%T%z". | 1745 | For example, to produce full ISO 8601 format, use "%FT%T%z". |
| 1745 | 1746 | ||
| 1746 | usage: (format-time-string FORMAT-STRING &optional TIME UNIVERSAL) */) | 1747 | usage: (format-time-string FORMAT-STRING &optional TIME UNIVERSAL) */) |
| 1747 | (Lisp_Object format_string, Lisp_Object timeval, Lisp_Object universal) | 1748 | (Lisp_Object format_string, Lisp_Object timeval, Lisp_Object universal) |
diff --git a/src/keyboard.h b/src/keyboard.h index a1aa59fe988..33a2d535cd6 100644 --- a/src/keyboard.h +++ b/src/keyboard.h | |||
| @@ -518,7 +518,7 @@ extern bool input_polling_used (void); | |||
| 518 | extern void clear_input_pending (void); | 518 | extern void clear_input_pending (void); |
| 519 | extern bool requeued_events_pending_p (void); | 519 | extern bool requeued_events_pending_p (void); |
| 520 | extern void bind_polling_period (int); | 520 | extern void bind_polling_period (int); |
| 521 | #ifdef WINDOWSNT | 521 | #if HAVE_NTGUI |
| 522 | extern int make_ctrl_char (int) ATTRIBUTE_CONST; | 522 | extern int make_ctrl_char (int) ATTRIBUTE_CONST; |
| 523 | #endif | 523 | #endif |
| 524 | extern void stuff_buffered_input (Lisp_Object); | 524 | extern void stuff_buffered_input (Lisp_Object); |
diff --git a/src/nsterm.m b/src/nsterm.m index 9c87923f32e..733c05ae53a 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -1155,9 +1155,7 @@ x_free_frame_resources (struct frame *f) | |||
| 1155 | block_input (); | 1155 | block_input (); |
| 1156 | 1156 | ||
| 1157 | free_frame_menubar (f); | 1157 | free_frame_menubar (f); |
| 1158 | 1158 | free_frame_faces (f); | |
| 1159 | if (FRAME_FACE_CACHE (f)) | ||
| 1160 | free_frame_faces (f); | ||
| 1161 | 1159 | ||
| 1162 | if (f == dpyinfo->x_focus_frame) | 1160 | if (f == dpyinfo->x_focus_frame) |
| 1163 | dpyinfo->x_focus_frame = 0; | 1161 | dpyinfo->x_focus_frame = 0; |
diff --git a/src/term.c b/src/term.c index 4d900020ce6..7b6cb41e23d 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -1422,18 +1422,6 @@ term_get_fkeys_1 (void) | |||
| 1422 | CONDITIONAL_REASSIGN ("kD", "kI", "insert"); | 1422 | CONDITIONAL_REASSIGN ("kD", "kI", "insert"); |
| 1423 | /* if there's no key_end keycap, map key_ll to 'end' keysym */ | 1423 | /* if there's no key_end keycap, map key_ll to 'end' keysym */ |
| 1424 | CONDITIONAL_REASSIGN ("@7", "kH", "end"); | 1424 | CONDITIONAL_REASSIGN ("@7", "kH", "end"); |
| 1425 | |||
| 1426 | /* IBM has their own non-standard dialect of terminfo. | ||
| 1427 | If the standard name isn't found, try the IBM name. */ | ||
| 1428 | CONDITIONAL_REASSIGN ("kB", "KO", "backtab"); | ||
| 1429 | CONDITIONAL_REASSIGN ("@4", "kJ", "execute"); /* actually "action" */ | ||
| 1430 | CONDITIONAL_REASSIGN ("@4", "kc", "execute"); /* actually "command" */ | ||
| 1431 | CONDITIONAL_REASSIGN ("%7", "ki", "menu"); | ||
| 1432 | CONDITIONAL_REASSIGN ("@7", "kw", "end"); | ||
| 1433 | CONDITIONAL_REASSIGN ("F1", "k<", "f11"); | ||
| 1434 | CONDITIONAL_REASSIGN ("F2", "k>", "f12"); | ||
| 1435 | CONDITIONAL_REASSIGN ("%1", "kq", "help"); | ||
| 1436 | CONDITIONAL_REASSIGN ("*6", "kU", "select"); | ||
| 1437 | #undef CONDITIONAL_REASSIGN | 1425 | #undef CONDITIONAL_REASSIGN |
| 1438 | } | 1426 | } |
| 1439 | 1427 | ||
| @@ -3845,10 +3833,7 @@ static void | |||
| 3845 | tty_free_frame_resources (struct frame *f) | 3833 | tty_free_frame_resources (struct frame *f) |
| 3846 | { | 3834 | { |
| 3847 | eassert (FRAME_TERMCAP_P (f)); | 3835 | eassert (FRAME_TERMCAP_P (f)); |
| 3848 | 3836 | free_frame_faces (f); | |
| 3849 | if (FRAME_FACE_CACHE (f)) | ||
| 3850 | free_frame_faces (f); | ||
| 3851 | |||
| 3852 | xfree (f->output_data.tty); | 3837 | xfree (f->output_data.tty); |
| 3853 | } | 3838 | } |
| 3854 | 3839 | ||
| @@ -3860,9 +3845,7 @@ static void | |||
| 3860 | tty_free_frame_resources (struct frame *f) | 3845 | tty_free_frame_resources (struct frame *f) |
| 3861 | { | 3846 | { |
| 3862 | eassert (FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f)); | 3847 | eassert (FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f)); |
| 3863 | 3848 | free_frame_faces (f); | |
| 3864 | if (FRAME_FACE_CACHE (f)) | ||
| 3865 | free_frame_faces (f); | ||
| 3866 | } | 3849 | } |
| 3867 | #endif /* MSDOS */ | 3850 | #endif /* MSDOS */ |
| 3868 | 3851 | ||
diff --git a/src/w32term.c b/src/w32term.c index 64febea6a1a..3d6b653157b 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -6101,17 +6101,13 @@ x_free_frame_resources (struct frame *f) | |||
| 6101 | /* We must free faces before destroying windows because some | 6101 | /* We must free faces before destroying windows because some |
| 6102 | font-driver (e.g. xft) access a window while finishing a | 6102 | font-driver (e.g. xft) access a window while finishing a |
| 6103 | face. */ | 6103 | face. */ |
| 6104 | if (FRAME_FACE_CACHE (f)) | 6104 | free_frame_faces (f); |
| 6105 | free_frame_faces (f); | ||
| 6106 | 6105 | ||
| 6107 | if (FRAME_W32_WINDOW (f)) | 6106 | if (FRAME_W32_WINDOW (f)) |
| 6108 | my_destroy_window (f, FRAME_W32_WINDOW (f)); | 6107 | my_destroy_window (f, FRAME_W32_WINDOW (f)); |
| 6109 | 6108 | ||
| 6110 | free_frame_menubar (f); | 6109 | free_frame_menubar (f); |
| 6111 | 6110 | ||
| 6112 | if (FRAME_FACE_CACHE (f)) | ||
| 6113 | free_frame_faces (f); | ||
| 6114 | |||
| 6115 | xfree (f->output_data.w32); | 6111 | xfree (f->output_data.w32); |
| 6116 | f->output_data.w32 = NULL; | 6112 | f->output_data.w32 = NULL; |
| 6117 | 6113 | ||
diff --git a/src/window.c b/src/window.c index 426edc6099c..9bf6ad4b8f3 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -4057,7 +4057,7 @@ resize_frame_windows (struct frame *f, int size, bool horflag, bool pixelwise) | |||
| 4057 | r->pixel_top = FRAME_TOP_MARGIN_HEIGHT (f); | 4057 | r->pixel_top = FRAME_TOP_MARGIN_HEIGHT (f); |
| 4058 | 4058 | ||
| 4059 | if (new_pixel_size == old_pixel_size) | 4059 | if (new_pixel_size == old_pixel_size) |
| 4060 | return; | 4060 | ; |
| 4061 | else if (WINDOW_LEAF_P (r)) | 4061 | else if (WINDOW_LEAF_P (r)) |
| 4062 | /* For a leaf root window just set the size. */ | 4062 | /* For a leaf root window just set the size. */ |
| 4063 | if (horflag) | 4063 | if (horflag) |
diff --git a/src/xfns.c b/src/xfns.c index 3c8df12f8c5..7200c5fb2e7 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -3069,7 +3069,6 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3069 | happen. */ | 3069 | happen. */ |
| 3070 | init_frame_faces (f); | 3070 | init_frame_faces (f); |
| 3071 | 3071 | ||
| 3072 | #ifdef USE_GTK | ||
| 3073 | /* PXW: This is a duplicate from below. We have to do it here since | 3072 | /* PXW: This is a duplicate from below. We have to do it here since |
| 3074 | otherwise x_set_tool_bar_lines will work with the character sizes | 3073 | otherwise x_set_tool_bar_lines will work with the character sizes |
| 3075 | installed by init_frame_faces while the frame's pixel size is still | 3074 | 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. */) | |||
| 3078 | non-pixelwise code apparently worked around this because it had one | 3077 | non-pixelwise code apparently worked around this because it had one |
| 3079 | frame line vs one toolbar line which left us with a zero root | 3078 | frame line vs one toolbar line which left us with a zero root |
| 3080 | window height which was obviously wrong as well ... */ | 3079 | window height which was obviously wrong as well ... */ |
| 3081 | width = FRAME_TEXT_WIDTH (f); | 3080 | change_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), |
| 3082 | height = FRAME_TEXT_HEIGHT (f); | 3081 | FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 1, 0, 0, 1); |
| 3083 | FRAME_TEXT_HEIGHT (f) = 0; | ||
| 3084 | SET_FRAME_WIDTH (f, 0); | ||
| 3085 | change_frame_size (f, width, height, 1, 0, 0, 1); | ||
| 3086 | #endif /* USE_GTK */ | ||
| 3087 | 3082 | ||
| 3088 | /* Set the menu-bar-lines and tool-bar-lines parameters. We don't | 3083 | /* Set the menu-bar-lines and tool-bar-lines parameters. We don't |
| 3089 | look up the X resources controlling the menu-bar and tool-bar | 3084 | look up the X resources controlling the menu-bar and tool-bar |
diff --git a/src/xterm.c b/src/xterm.c index 90c7c36c44f..2c5c01baa84 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -6622,8 +6622,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, | |||
| 6622 | cancel_mouse_face (f); | 6622 | cancel_mouse_face (f); |
| 6623 | } | 6623 | } |
| 6624 | 6624 | ||
| 6625 | FRAME_PIXEL_WIDTH (f) = event->xconfigure.width; | 6625 | /** FRAME_PIXEL_WIDTH (f) = event->xconfigure.width; **/ |
| 6626 | FRAME_PIXEL_HEIGHT (f) = event->xconfigure.height; | 6626 | /** FRAME_PIXEL_HEIGHT (f) = event->xconfigure.height; **/ |
| 6627 | #endif /* not USE_GTK */ | 6627 | #endif /* not USE_GTK */ |
| 6628 | #endif | 6628 | #endif |
| 6629 | 6629 | ||
| @@ -7689,6 +7689,9 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset) | |||
| 7689 | FRAME_COLUMN_WIDTH (f) = font->average_width; | 7689 | FRAME_COLUMN_WIDTH (f) = font->average_width; |
| 7690 | FRAME_LINE_HEIGHT (f) = FONT_HEIGHT (font); | 7690 | FRAME_LINE_HEIGHT (f) = FONT_HEIGHT (font); |
| 7691 | 7691 | ||
| 7692 | FRAME_TOOL_BAR_HEIGHT (f) = FRAME_TOOL_BAR_LINES (f) * FRAME_LINE_HEIGHT (f); | ||
| 7693 | FRAME_MENU_BAR_HEIGHT (f) = FRAME_MENU_BAR_LINES (f) * FRAME_LINE_HEIGHT (f); | ||
| 7694 | |||
| 7692 | compute_fringe_widths (f, 1); | 7695 | compute_fringe_widths (f, 1); |
| 7693 | 7696 | ||
| 7694 | /* Compute the scroll bar width in character columns. */ | 7697 | /* 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, | |||
| 8541 | 8544 | ||
| 8542 | compute_fringe_widths (f, 0); | 8545 | compute_fringe_widths (f, 0); |
| 8543 | 8546 | ||
| 8544 | pixelwidth = | 8547 | pixelwidth = ((pixelwise |
| 8545 | (pixelwise ? width : FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, width)) | 8548 | ? FRAME_TEXT_TO_PIXEL_WIDTH (f, width) |
| 8546 | + FRAME_TOOLBAR_WIDTH (f); | 8549 | : FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, width)) |
| 8547 | pixelheight = | 8550 | + FRAME_TOOLBAR_WIDTH (f)); |
| 8548 | (pixelwise ? height : FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, height)) | 8551 | pixelheight = ((pixelwise |
| 8549 | + FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f); | 8552 | ? FRAME_TEXT_TO_PIXEL_HEIGHT (f, height) |
| 8550 | 8553 | : FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, height)) | |
| 8554 | + FRAME_MENUBAR_HEIGHT (f) | ||
| 8555 | + FRAME_TOOLBAR_HEIGHT (f)); | ||
| 8551 | if (change_gravity) f->win_gravity = NorthWestGravity; | 8556 | if (change_gravity) f->win_gravity = NorthWestGravity; |
| 8552 | x_wm_set_size_hint (f, (long) 0, 0); | 8557 | x_wm_set_size_hint (f, (long) 0, 0); |
| 8553 | XResizeWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), | 8558 | 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, | |||
| 8582 | else | 8587 | else |
| 8583 | { | 8588 | { |
| 8584 | change_frame_size (f, width, height, 0, 1, 0, 1); | 8589 | change_frame_size (f, width, height, 0, 1, 0, 1); |
| 8585 | FRAME_PIXEL_WIDTH (f) = pixelwidth; | ||
| 8586 | FRAME_PIXEL_HEIGHT (f) = pixelheight; | ||
| 8587 | x_sync (f); | 8590 | x_sync (f); |
| 8588 | } | 8591 | } |
| 8589 | } | 8592 | } |
| @@ -9126,8 +9129,7 @@ x_free_frame_resources (struct frame *f) | |||
| 9126 | /* We must free faces before destroying windows because some | 9129 | /* We must free faces before destroying windows because some |
| 9127 | font-driver (e.g. xft) access a window while finishing a | 9130 | font-driver (e.g. xft) access a window while finishing a |
| 9128 | face. */ | 9131 | face. */ |
| 9129 | if (FRAME_FACE_CACHE (f)) | 9132 | free_frame_faces (f); |
| 9130 | free_frame_faces (f); | ||
| 9131 | 9133 | ||
| 9132 | if (f->output_data.x->icon_desc) | 9134 | if (f->output_data.x->icon_desc) |
| 9133 | XDestroyWindow (FRAME_X_DISPLAY (f), f->output_data.x->icon_desc); | 9135 | XDestroyWindow (FRAME_X_DISPLAY (f), f->output_data.x->icon_desc); |