Glenn Morris [Thu, 12 Dec 2013 08:54:21 +0000 (00:54 -0800)]
Stop keeping info/dir in the repository.
* build-aux/dir_top: Move here from admin/.
* build-aux/make-info-dir: New script.
* Makefile.in (bootstrap-clean): Delete info/.
(info-dir, ${srcdir}/info/dir): New rules.
(info): Also make info-dir.
(check-info): Rename from check-info-dir.
Instead of info/dir entries, check @dircategory in info/*.info.
* make-dist: Use `info' rule rather than `info-real'.
No more info/COPYING (not even the right license for info/ files).
* info/: Remove from repository.
* admin/update_autogen (info_dir):
Use dir_top from build-aux/ rather than admin/.
Dmitry Antipov [Thu, 12 Dec 2013 08:39:41 +0000 (12:39 +0400)]
* dispextern.h (FACE_SUITABLE_FOR_CHAR_P): Remove unused macro.
(FACE_FOR_CHAR): Simplify because face_for_char does the same.
* fontset.c (face_suitable_for_char_p) [0]: Remove unused function.
(font_for_char): Prefer ptrdiff_t to int for buffer position.
(face_for_char): Likewise. Rearrange eassert and return ASCII
face for CHAR_BYTE8_P.
* fontset.h (font_for_char, face_for_char): Adjust prototypes.
Dmitry Antipov [Thu, 12 Dec 2013 04:04:35 +0000 (08:04 +0400)]
* xterm.c (x_make_frame_visible): Restore hack which is needed when
input polling is used. This is still meaningful for Cygwin, see
http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00351.html.
* keyboard.c (poll_for_input_1, input_polling_used): Define
unconditionally.
* lisp/progmodes/python.el (python-indent-calculate-indentation): When
determining indentation, don't treat "return", "pass", etc., as
operators when they are just string constituents.
* automated/python-test.el (python-indent-block-enders-1): Rename
from python-indent-block-enders.
(python-indent-block-enders-2): New test.
Glenn Morris [Thu, 12 Dec 2013 03:37:38 +0000 (19:37 -0800)]
Add support for auto-generating info/dir
* admin/update_autogen: Add option to generate info/dir.
(Usage): Add -I.
(info_flag): New variable.
(-I): New option.
(doc): Maybe check its status.
(info_dir): New function.
Paul Eggert [Wed, 11 Dec 2013 22:31:02 +0000 (14:31 -0800)]
Make 'configure' work out-of-the-box on Solaris.
* configure.ac: Work even if libgif etc. are missing. Emacs works
without these libraries even if its default GUI is harmed, so they
are not strictly necessary. Another possibility would be to
disable X11 if these libraries are missing. The point is that a
plain 'configure' should not fail on platforms like Solaris 11
where one or more image libraries are not installed by default.
Dmitry Antipov [Wed, 11 Dec 2013 15:06:04 +0000 (19:06 +0400)]
* nsterm.m (x_free_frame_resources):
* term.c (tty_free_frame_resources):
* xterm.c (x_free_frame_resources): Do not check for non-NULL
face cache because it's implied by free_frame_faces anyway.
* w32term.c (x_free_frame_resources): Likewise. Do not call
free_frame_faces twice.
Stefan Monnier [Wed, 11 Dec 2013 14:49:01 +0000 (09:49 -0500)]
* lisp/emulation/cua-base.el (cua-paste): Add `delete-selection' property
instead of deleting the selection "by hand".
Rely on insert-for-yank to yank rectangles.
(cua-highlight-region-shift-only): Mark obsolete.
(cua-mode): Don't enable/disable transient-mark-mode,
shift-select-mode (cua-mode works both with and without them), and
pc-selection-mode (obsolete).
* lisp/emulation/cua-rect.el (cua--activate-rectangle): Activate the mark.
(cua--deactivate-rectangle): Deactivate it.
Stefan Monnier [Wed, 11 Dec 2013 14:42:34 +0000 (09:42 -0500)]
* lisp/delsel.el (delete-selection-mode): Don't enable transient-mark-mode.
(delete-selection-helper): Make sure yank starts at the top of the
deleted region.
(minibuffer-keyboard-quit): Use region-active-p.
The manual was written by Kurt Hornik. He agreed to assign the
copyright for it to the FSF. I have updated and modified the manual.
* doc/misc/octave-mode.texi: Imported from GNU Octave
(doc/interpreter/emacs.txi).
* doc/misc/Makefile.in: Add octave-mode.texi.
* lisp/progmodes/octave.el (octave-mode, inferior-octave-mode): Link
to info manual and show keybindings and set `:group' keyword.
Martin Rudalics [Wed, 11 Dec 2013 10:03:46 +0000 (11:03 +0100)]
Various fixes around Bug#16013.
* window.c (resize_frame_windows): Don't return immediately when
the root window's size doesn't change - the minibuffer window
may still have to be repositioned/resized.
* xfns.c (Fx_create_frame): Always change the frame size after
initializing the frame's faces.
* xterm.c (handle_one_xevent): Don't set pixel sizes here,
change_frame_size should already have done it.
(x_new_font): Assign new tool- and menu-bar heights.
(x_set_window_size_1): Account for tool- and menu-bar heights
(Bug#16013). Don't set pixel sizes since change_frame_size
should already have done it.
Paul Eggert [Wed, 11 Dec 2013 05:37:30 +0000 (21:37 -0800)]
Remove the option of using libcrypto.
This scorches the earth and waits for spring;
see Ted Zlatanov and Stefan Monnier in
<http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00323.html>.
* configure.ac (with_openssl_default, HAVE_LIB_CRYPTO): Remove.
Do not say whether Emacs is configured to use a crypto library,
since it's no longer an option.
(gl_CRYPTO_CHECK): Define a dummy.
* lib/gl_openssl.h, m4/gl-openssl.m4: Remove.
* admin/merge-gnulib: Remove lib/gl_openssh.h and m4/gl-openssl.m4.
* src/Makefile.in (LIB_CRYPTO): Remove.
(LIBES): Don't use it.
Juri Linkov [Wed, 11 Dec 2013 01:11:24 +0000 (03:11 +0200)]
* lisp/delsel.el (delete-active-region): Let-bind `this-command'
to prevent `kill-region' from changing its original value.
(delete-selection-helper): Handle `overwrite-mode' for the type
`kill' exactly the same way as for the type `t'.
(insert-char, quoted-insert, reindent-then-newline-and-indent):
Support more commands.
Juri Linkov [Wed, 11 Dec 2013 00:11:26 +0000 (02:11 +0200)]
* lisp/misearch.el (multi-isearch-buffers): Set the value of
`multi-isearch-buffer-list' globally. Set NO-RECURSIVE-EDIT
arg of isearch-forward to t.
(multi-isearch-buffers-regexp): Set the value of
`multi-isearch-buffer-list' globally. Set NO-RECURSIVE-EDIT
arg of isearch-forward-regexp to t.
(multi-isearch-files): Set the value of
`multi-isearch-file-list' globally. Set NO-RECURSIVE-EDIT
arg of isearch-forward to t.
(multi-isearch-files-regexp): Set the value of
`multi-isearch-file-list globally. Set NO-RECURSIVE-EDIT
arg of isearch-forward-regexp to t.
* lisp/dired-aux.el (dired-isearch-filenames): Set NO-RECURSIVE-EDIT
arg of isearch-forward to t.
(dired-isearch-filenames-regexp): Set NO-RECURSIVE-EDIT
arg of isearch-forward-regexp to t.
(dired-isearch-filter-filenames): Remove unnecessary check for
`dired-isearch-filenames'.
* lisp/comint.el (comint-history-isearch-backward):
Set NO-RECURSIVE-EDIT arg of isearch-backward to t.
(comint-history-isearch-backward-regexp):
Set NO-RECURSIVE-EDIT arg of isearch-backward-regexp to t.
Dmitry Gutov [Sun, 8 Dec 2013 16:08:45 +0000 (18:08 +0200)]
Port indentation code from js2-mode to js-mode
* lisp/progmodes/js.el (js-auto-indent-flag): Remove, was unused.
(js-switch-indent-offset): New option.
(js--proper-indentation): Use it. And handle the case when
"default" is actually a key in an object literal.
(js--same-line): New function.
(js--multi-line-declaration-indentation): Use it.
(js--indent-in-array-comp, js--array-comp-indentation): New
functions.
(js--proper-indentation): Use them, to handle array comprehension
continuations.
Paul Eggert [Sun, 8 Dec 2013 08:53:49 +0000 (00:53 -0800)]
* configure.ac: Simplify supression of GTK deprecation warning.
Move -DGDK_DISABLE_DEPRECATION_WARNINGS out of the command line
and into config.h, to shorten the command line when doing 'make'.
Don't AC_SUBST GTK_CFLAGS, as this is not needed.
Stefan Monnier [Sun, 8 Dec 2013 08:11:50 +0000 (03:11 -0500)]
Make CUA-mode use shift-select-mode.
* lisp/emulation/cua-base.el (cua--explicit-region-start)
(cua--last-region-shifted): Remove.
(cua--deactivate): Use deactivate-mark.
(cua--pre-command-handler-1): Don't handle shift-selection.
(cua--post-command-handler-1): Don't change transient-mark-mode.
(cua--select-keymaps): Use region-active-p rather than
cua--explicit-region-start or cua--last-region-shifted.
(cua-mode): Enable shift-select-mode.
* lisp/emulation/cua-rect.el (cua--rectangle-highlight-for-redisplay):
New function.
(redisplay-highlight-region-function): Use it.
Paul Eggert [Sun, 8 Dec 2013 08:05:36 +0000 (00:05 -0800)]
Use libcrypto's checksum implementations if available, for speed.
On commonly used platform libcrypto uses architecture-specific
assembly code, which is significantly faster than the C code we
were using. See Pádraig Brady's note in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00000.html>.
Merge from gnulib, incorporating:
2013-12-07 md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
2013-12-07 md5, sha1, sha256, sha512: add 'auto', and set-default method
2013-12-04 include_next: minimize code duplication
2013-12-03 md5, sha1, sha256, sha512: support mandating use of openssl
2013-12-02 md5, sha1, sha256, sha512: use openssl routines if available
* configure.ac (--without-all): Set with_openssl_default too.
Use gl_SET_CRYPTO_CHECK_DEFAULT to default to 'auto'.
(HAVE_LIB_CRYPTO): New var.
Say whether Emacs is configured to use a crypto library.
* lib/gl_openssl.h, m4/absolute-header.m4, m4/gl-openssl.m4:
New files, copied from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h:
* lib/sha256.c, lib/sha256.h, lib/sha512.c, lib/sha512.h:
* m4/include_next.m4, m4/md5.m4, m4/sha1.m4, m4/sha256.m4, m4/sha512.m4:
Update from gnulib.
* src/Makefile.in (LIB_CRYPTO): New macro.
(LIBES): Use it.
Stefan Monnier [Sun, 8 Dec 2013 07:32:01 +0000 (02:32 -0500)]
* lisp/rect.el (rectangle-mark-mode): Activate mark even if
transient-mark-mode is off.
(rectangle--highlight-for-redisplay): Fix boundary condition when point
is > mark and at bolp.
Paul Eggert [Sun, 8 Dec 2013 05:59:27 +0000 (21:59 -0800)]
* frame.h (SET_FRAME_VISIBLE): Now an inline function.
The macro didn't conform to C99 due to type mismatch,
which caused compilation failure with Sun C 5.12,
and it was confusing anyway. Include window.h to declare
redisplay_other_windows.
Stefan Monnier [Sun, 8 Dec 2013 04:20:50 +0000 (23:20 -0500)]
Make registers and delete-selection-mode work on rectangles.
* lisp/register.el (describe-register-1): Don't modify the register's value.
(copy-to-register): Obey region-extract-function.
* lisp/delsel.el (delete-active-region): Obey region-extract-function.
Paul Eggert [Sat, 7 Dec 2013 23:04:10 +0000 (15:04 -0800)]
Fix minor problems found by static checking.
* keyboard.c (poll_for_input_1, input_polling_used):
Define only if HAVE_NTGUI.
* xmenu.c (popup_activate_callback): Omit unnecessary
check against USE_X_TOOLKIT, which must be defined here anyway.
* xterm.c, xterm.h (x_dispatch_event) [! (USE_X_TOOLKIT || USE_MOTIF)]:
Now static.
Tassilo Horn [Sat, 7 Dec 2013 17:05:38 +0000 (18:05 +0100)]
Fix describe-function with advised functions.
* lisp/help-fns.el (describe-function-1): Use new advice-* functions
rather than old ad-* functions. Fix function type description and
source links for advised functions and subrs.
Pixel resize changes for NS.
* nsterm.m (x_set_window_size): Change parameters rows/cols to
height/width. row/cols are locals.
Pass pixelwise to check_frame_size. Don't set FRAME_PIXEL_WIDTH/HEIGHT.
(updateFrameSize:): Remove gsextra. Adjust for pixelwise resize.
(windowWillResize): Remove gsextra. Calculate extra as in
updateFrameSize.
(x_new_font): Don't change frame size if fullscreen. Change
size pixelwise.
* nsterm.m (x_set_window_size): Remove fprintf.
(init): Define always. Set applicationDidFinishLaunchingCalled
for GNUStep.
(applicationDidFinishLaunching:): Set
applicationDidFinishLaunchingCalled,
(applicationDidBecomeActive:): Call applicationDidFinishLaunching if
not called.
Jan Djärv [Sat, 7 Dec 2013 14:21:53 +0000 (15:21 +0100)]
Handle pixelwise resize changes in NS port.
* src/nsfns.m (Fx_create_frame): Call change_frame_size twice as per
comment in xfns.c. Change to pixelwise call.
* src/nsterm.m (x_set_window_size): Change parameters rows/cols to
height/width. row/cols are locals.
Pass pixelwise to check_frame_size. Don't set FRAME_PIXEL_WIDTH/HEIGHT.
(updateFrameSize:): Remove gsextra. Adjust for pixelwise resize.
(windowWillResize): Remove gsextra. Calculate extra as in
updateFrameSize.
(x_new_font): Don't change frame size if fullscreen. Change
size pixelwise.
Dmitry Antipov [Fri, 6 Dec 2013 05:49:05 +0000 (09:49 +0400)]
* xterm.c (input_signal_count): Remove.
(x_dispatch_event): Define unconditionally.
(x_make_frame_visible): Process X events until the frame
is really visible (Bug#16027).
* xterm.h (x_dispatch_event): Declare unconditionally.
Dmitry Gutov [Fri, 6 Dec 2013 04:22:08 +0000 (06:22 +0200)]
Fix Bug#15874
* lisp/progmodes/ruby-mode.el (ruby-mode-syntax-table): Don't modify
syntax for `?'.
(ruby-expr-beg): Expect that `!' will have syntax class "symbol"
where appropriate already.
(ruby-syntax-propertize-function): Propertize `?' and `!' at the
end of method names.
Juri Linkov [Fri, 6 Dec 2013 00:55:20 +0000 (02:55 +0200)]
* lisp/isearch.el (isearch--saved-overriding-local-map): New internal variable.
(isearch-mode): Set it to the initial value of `overriding-terminal-local-map'.
(isearch-pre-command-hook): Compare `overriding-terminal-local-map'
with `isearch--saved-overriding-local-map'.
Ted Zlatanov [Thu, 5 Dec 2013 16:04:53 +0000 (11:04 -0500)]
eww: add command to view page source
* net/eww.el (eww-current-source): New variable to store page
source.
(eww-display-html, eww-mode, eww-save-history)
(eww-restore-history): Use it.
(eww-view-source): New command to view page source.
Opportunistically uses `html-mode' to highlight the buffer.
(eww-mode-map): Install it.