Stefan Monnier [Fri, 21 Jun 2013 14:12:56 +0000 (10:12 -0400)]
* lisp/emacs-lisp/package.el (package-alist): Include obsolete packages.
(package-obsolete-list): Remove.
(package-activate): Remove min-version argument. Add `force' argument.
Adjust to new package-alist format.
(package-mark-obsolete): Remove.
(package-unpack): Force reload of the package's autoloads.
(package-installed-p): Check builtins if the installed package is not
recent enough.
(package-initialize): Don't reset package-obsolete-list.
Don't specify which package version to activate.
(package-process-define-package, describe-package-1)
(package-menu--generate): Adjust to new package-alist format.
Glenn Morris [Fri, 21 Jun 2013 07:35:33 +0000 (00:35 -0700)]
cookie1.el small cleanup
Make some funcs interactive, copy some functionality from yow.el.
* lisp/play/cookie1.el (cookie): New custom group.
(cookie-file): New option.
(cookie-check-file): New function.
(cookie): Make it interactive. Make start and end messages optional.
Interactively, display the result. Default to cookie-file.
(cookie-insert): Default to cookie-file.
(cookie-snarf): Make start and end messages optional.
Default to cookie-file. Use with-temp-buffer.
(cookie-read): Rename from read-cookie.
Make start and end messages optional. Default to cookie-file.
(cookie-shuffle-vector): Rename from shuffle-vector. Use dotimes.
(cookie-apropos, cookie-doctor): New functions, copied from yow.el
* lisp/obsolete/yow.el (read-zippyism): Use new name for read-cookie.
Glenn Morris [Fri, 21 Jun 2013 06:32:50 +0000 (23:32 -0700)]
* lisp/url/url-future.el (url-future-call): Remove useless value call.
An earlier version of this function returned the value, ref
http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00708.html
but now it returns the function (see commentary).
Stefan Monnier [Fri, 21 Jun 2013 03:08:47 +0000 (23:08 -0400)]
* lisp/emacs-lisp/package.el: Use tar-mode rather than tar executable.
Consolidate the single-file vs tarball code.
(package-desc-suffix): New function.
(package-desc-full-name): Don't bother inlining it.
(package-load-descriptor): Return the new package-desc.
(package-mark-obsolete): Remove unused arg `package'.
(package-unpack): Make it work for single files as well.
Make it update package-alist.
(package--make-autoloads-and-stuff): Rename from
package--make-autoloads-and-compile. Don't compile any more.
(package--compile): New function.
(package-generate-description-file): New function, extracted from
package-unpack-single.
(package-unpack-single): Remove.
(package--with-work-buffer): Add indentation and debugging info.
(package-download-single): Remove.
(package-install-from-archive): Rename from package-download-tar, make
it take a pkg-desc, and make it work for single files as well.
(package-download-transaction): Simplify.
(package-tar-file-info): Remove `file' arg. Rewrite not to use an
external tar program.
(package-install-from-buffer): Remove `pkg-desc' argument.
Use package-tar-file-info for tar-mode buffers.
(package-install-file): Simplify accordingly.
(package-archive-base): Change to take a pkg-desc.
* lisp/tar-mode.el (tar--check-descriptor): New function, extracted from
tar-get-descriptor.
(tar-get-descriptor): Use it.
(tar-get-file-descriptor): New function.
(tar--extract): New function, extracted from tar-extract.
(tar--extract): Use it.
* lisp/emacs-lisp/package-x.el (package-upload-file): Decode the file, in
case the summary uses non-ascii. Adjust to new calling convention of
package-tar-file-info.
Stefan Monnier [Thu, 20 Jun 2013 20:01:51 +0000 (16:01 -0400)]
* lisp/emacs-lisp/cl-loaddefs.el: Don't version-control any more.
* lisp/emacs-lisp/cl-lib.el: Load cl-macs when cl-loaddefs is not
yet available.
* lisp/Makefile.in (AUTOGEN_VCS): Move cl-loaddefs.el...
(AUTOGENEL): ... here.
* lisp/emacs-lisp/cl-macs.el (cl--sublis): New function.
(cl--defsubst-expand): Use it.
* .bzrignore: Don't unignore cl-loaddefs.el.
Paul Eggert [Thu, 20 Jun 2013 18:59:08 +0000 (11:59 -0700)]
* syntax.c: Integer cleanups.
(SYNTAX_FLAGS_COMMENT_STYLEC): Return a boolean, not 0-or-2.
All uses that need 0-or-2 changed to:
(SYNTAX_FLAGS_COMMENT_STYLEC2): New macro, with the same semantics
as the old SYNTAX_FLAGS_COMMENT_STYLEC.
(struct lisp_parse_state, syntax_prefix_flag_p, update_syntax_table)
(char_quoted, prev_char_comend_first, back_comment)
(Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
(in_classes, forw_comment, scan_lists, scan_sexps_forward):
Use bool for boolean.
(update_syntax_table, skip_chars, skip_syntaxes):
Prefer int to unsigned when either will do.
(back_comment): Return boolean success flag, like forw_comment,
instead of positive-or-minus-1 (which might have overflowed int anyway).
Don't stuff ptrdiff_t into int.
(syntax_spec_code, syntax_code_spec): Now const.
(Fmatching_paren, scan_lists, scan_sexps_forward):
Use enum syntaxcode for syntax code.
(Fmatching_paren): Check that arg is a character, not just an integer.
(Fstring_to_syntax): Don't assume 0377 fits in enum syntaxcode.
(Finternal_describe_syntax_value): Omit no-longer-needed
comparison to 0.
(skip_chars): Use char, not unsigned char, when the distinction
doesn't matter.
(forw_comment, scan_lists): Prefer A |= B to A = A || B when B's cheap.
* bytecode.c (exec_byte_code):
* syntax.c (syntax_spec_code, Fchar_syntax)
(Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
(init_syntax_once):
* syntax.h (SYNTAX_WITH_FLAGS):
Omit unnecessary casts.
Eli Zaretskii [Thu, 20 Jun 2013 17:36:24 +0000 (20:36 +0300)]
Yet another attempt at fixing bugs #14602, 14630, 14669.
src/w32fns.c (w32_wnd_proc): Don't compute the header line and mode
line dimensions here, to avoid race conditions with the main
thread.
src/w32term.c (w32_draw_window_cursor): Compute the header line and
mode line dimensions here.
<w32_system_caret_window, w32_system_caret_hdr_height>:
<w32_system_caret_mode_height>: New variables.
src/w32term.h: Declare them.
Paul Eggert [Thu, 20 Jun 2013 14:47:46 +0000 (07:47 -0700)]
* alloc.c (die): Move "assertion failed" string here ...
* lisp.h (eassert): ... from here. Also, suppress evaluation of
COND when SUPPRESS_CHECKING. This shrinks the executable text
size by 0.8% to 2.2% when configured with --enable-checking,
depending on optimization flags (GCC 4.8.1 x86-64).
Paul Eggert [Thu, 20 Jun 2013 14:15:42 +0000 (07:15 -0700)]
Add log2 support and make log10 obsolete for consistency.
* configure.ac (log2): Check for this function.
* doc/lispref/numbers.texi (Math Functions): Remove obsolete function log10.
* lisp/subr.el (log10): Move here from C code, and declare as obsolete.
All uses of (log10 X) replaced with (log X 10).
* src/floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the
base is 2; this is more accurate.
(Flog10): Move to Lisp (marked obsolete there).
lisp/ansi-color.el: Convert to lexical binding.
(ansi-colors): Fix URL.
(ansi-color-context, ansi-color-context-region): Use defvar-local.
(ansi-color-apply-sequence, ansi-color-map): Fix typos in docstrings.
(ansi-color-make-color-map): Rename local var ansi-color-map to map.
Gnus developers [Wed, 19 Jun 2013 22:28:04 +0000 (22:28 +0000)]
Merge changes made in Gnus master
2013-06-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
* net/eww.el (eww-process-text-input): Display passwords as asterisks.
* net/shr.el (shr-make-table-1): Protect against invalid column-spans.
2013-06-19 Tom Tromey <tromey@redhat.com>
* net/eww.el (eww-top-url): Remove.
(eww-home-url, eww-start-url, eww-contents-url): New defvars.
(eww-render): Set new variables. Don't set eww-top-url.
(eww-handle-link): Handle "prev", "home", and "contents".
Downcase the rel text.
(eww-top-url): Choose best top URL.
2013-06-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
* net/eww.el: Rewrite to implement form elements "by hand" instead of
relying in widget.el. Using widget.el leads to too many
user interface inconsistencies.
(eww-self-insert): Implement entering commands in text fields.
(eww-process-text-input): New function to make text input field editing
work.
(eww-submit): Rewrite to use the new-style form methods.
(eww-select-display): Display the correct selected item.
(eww-change-select): Implement changing the select value.
(eww-toggle-checkbox): Implement radio/checkboxes.
(eww-update-field): Fix compilation error.
(eww-tag-textarea): Implement <textarea>.
* net/shr.el (shr-urlify): Use `keymap' instead of `local-map' so that we
don't shadow mode-specific bindings.
* net/eww.el (eww-browse-url): Don't push stuff onto history if there's
nothing to push.
* net/shr.el (shr-map): Bind [down-mouse-1] to browse URLs.
Glenn Morris [Wed, 19 Jun 2013 20:29:09 +0000 (16:29 -0400)]
* lisp/cedet/semantic/idle.el (define-semantic-idle-service):
No need to use eval-and-compile, progn will do.
(eval-and-compile ends up causing spurious warnings.)
Stefan Monnier [Wed, 19 Jun 2013 13:51:47 +0000 (09:51 -0400)]
* doc/lispref/keymaps.texi (Active Keymaps): Fix documentation of
set-temporary-overlay-map and overriding-terminal-local-map.
* doc/lispref/modes.texi (Mode Line Data, Properties in Mode): Advertise
`keymap' rather than `local-map'.
Paul Eggert [Wed, 19 Jun 2013 07:36:20 +0000 (00:36 -0700)]
* sound.c: Integer cleanups.
Remove unnecessary forward decls.
(struct sound_device): The 'file' member is now a Lisp_Object, not
a char *, so that we needn't invoke alloca on a huge size.
(Fplay_sound_internal): Adjust to this.
(string_default): New function.
(vox_open, vox_init, alsa_open, alsa_configure, alsa_init):
Use it to adjust to the struct sound_device change.
(parse_sound, wav_init, au_init, alsa_init): Use bool for booleans.
(be2hs) [0]: Remove.
Glenn Morris [Wed, 19 Jun 2013 07:35:00 +0000 (00:35 -0700)]
Check autoload's "type" argument correctly in bytecomp.el
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload):
Only eval autoloaded macros.
(byte-compile-autoload): Only give the macro warning for macros.
Glenn Morris [Wed, 19 Jun 2013 07:28:47 +0000 (00:28 -0700)]
cedet/semantic/decorate/mode.el autoload tweak
* cedet/semantic/decorate/mode.el (define-semantic-decoration-style): Doc fix.
(define-semantic-decoration-style): 'function is not an accepted
value for autoload's "type" argument. Might as well use the default.
Glenn Morris [Wed, 19 Jun 2013 07:19:42 +0000 (00:19 -0700)]
* international/titdic-cnv.el (tit-process-header, miscdic-convert):
Don't include a date stamp in the header of the generated file;
it leads to needless differences between output files.
Glenn Morris [Wed, 19 Jun 2013 07:01:22 +0000 (00:01 -0700)]
Add make dist rule for doc/misc/Makefile, for www.gnu.org
* doc/misc/Makefile.in (version): New, set by configure.
(clean): Delete dist tar file.
(infoclean): New, split from maintainer-clean.
(maintainer-clean): Run infoclean.
(dist): New rule, to make tarfile for www.gnu.org.
Michael Albinus [Wed, 19 Jun 2013 06:24:12 +0000 (08:24 +0200)]
* net/secrets.el (secrets-struct-secret-content-type): Replace
check of introspection data by a test call of "CreateItem". Some
servers do not offer introspection.
Stefan Monnier [Wed, 19 Jun 2013 04:42:32 +0000 (00:42 -0400)]
* lisp/electric.el (electric-pair-mode): Improve interaction with
electric-layout-mode.
(electric-pair-default-inhibit): Don't assume (eq char (char-before)).
(electric-pair-syntax): Use text-mode-syntax-table in comments and strings.
(electric-pair--insert): New function.
(electric-pair-post-self-insert-function): Use it and electric--after-char-pos.
Glenn Morris [Wed, 19 Jun 2013 03:49:26 +0000 (20:49 -0700)]
Edit more configure variables in doc make dist rules.
* doc/emacs/Makefile.in (dist):
* doc/lispintro/Makefile.in (dist):
* doc/lispref/Makefile.in (dist): Edit more configure variables.
Try to check that we do not miss any in future.
2013-06-18 Lars Magne Ingebrigtsen <larsi@gnus.org>
* net/shr.el (shr-make-table-1): Implement <td rowspan>.
(shr-table-horizontal-line): Allow nil as a value, and change the default.
(shr-insert-table-ruler): Respect the nil value.
2013-06-18 Tom Tromey <tromey@barimba>
* net/eww.el (eww-next-url, eww-previous-url, eww-up-url, eww-top-url):
New defvars.
(eww-open-file): New defun.
(eww-render): Initialize new variables.
(eww-display-html): Handle "link" and "a".
(eww-handle-link, eww-tag-link, eww-tag-a): New defuns.
(eww-mode-map): Move "p" to "l". Bind "p", "n", "t", and "u".
(eww-back-url): Rename from eww-previous-url.
(eww-next-url, eww-previous-url, eww-up-url, eww-top-url): New defuns.
Convert symbol prettification into minor mode and global minor mode.
* etc/NEWS: Document new Prettify Symbols mode.
* lisp/progmodes/prog-mode.el (prettify-symbols-alist): Rename from
`prog-prettify-symbols', and make a local defvar instead of defcustom.
(prettify-symbols--keywords): Rename from `prog-prettify-symbols-alist'
and make a local defvar.
(prettify-symbols--compose-symbol): Rename from
`prog--prettify-font-lock-compose-symbol'.
(prettify-symbols--make-keywords): Rename from
`prog-prettify-font-lock-symbols-keywords' and simplify.
(prog-prettify-install): Remove.
(prettify-symbols-mode): New minor mode, based on `prog-prettify-install'.
(turn-on-prettify-symbols-mode): New function.
(global-prettify-symbols-mode): New globalized minor mode.
Juri Linkov [Tue, 18 Jun 2013 20:38:43 +0000 (23:38 +0300)]
* lisp/files-x.el (modify-file-local-variable-message): New function.
(modify-file-local-variable)
(modify-file-local-variable-prop-line): Add arg INTERACTIVE
and call `modify-file-local-variable-message' when it's non-nil.
(add-file-local-variable, delete-file-local-variable)
(add-file-local-variable-prop-line)
(delete-file-local-variable-prop-line): Add arg INTERACTIVE and use it.
Paul Eggert [Tue, 18 Jun 2013 07:42:37 +0000 (00:42 -0700)]
Porting fixes for merged specpdl and backtrace stacks.
In particular this ports to 32-bit sparc Sun cc.
* eval.c (init_eval_once, grow_specpdl): Allocate a specbinding
array with a dummy element at specpdl[-1], so that its address can
be taken portably.
(unbind_to): Do not copy the binding; not needed, now that we
copy old_value in the one place where the copy is needed.
* fileio.c (Fwrite_region): Use ptrdiff_t, not int, for specpdl count.
* lisp.h (BITS_PER_PTRDIFF_T): Remove; no longer needed.
(union specbinding): Rename from struct specbinding. Redo layout
to avoid the need for 'ptrdiff_t nargs : BITS_PER_PTRDIFF_T - 1;',
which is not portable. With Sun C 5.12 32-bit sparc, the
declaration causes nargs to be an unsigned bitfield, a behavior
that the C standard allows; but Emacs wants nargs to be signed.
The overall type is now a union of structures rather than a
structure of union of structures, and the 'kind' member is now a
bitfield, so that the overall type doesn't grow. All uses changed.
* process.c (Fmake_serial_process): Remove unnecessary initialization.
Stefan Monnier [Tue, 18 Jun 2013 01:26:47 +0000 (21:26 -0400)]
* lisp/emacs-lisp/package.el: Update package-alist after install.
(package-unpack, package-unpack-single): Return the pkg-dir.
(package-download-transaction): Use it to update package-alist.
lisp/gnus/{eww,shr}.el: Merge changes made in Gnus master
lisp/gnus/eww.el (eww-tag-select): Don't render totally empty <select> forms.
(eww-convert-widgets): Don't bug out if the first widget starts at the beginning of the buffer.
(eww-convert-widgets): Fix last patch.
lisp/gnus/shr.el (shr-insert-table): Respect border-collapse: collapse.
(shr-tag-base): Protect against base specs that are degenerate.
(shr-ensure-paragraph): Don't delete empty lines that have text properties, because these may be input fields.
lisp/gnus/eww.el (eww-convert-widgets): Put `help-echo' on input fields so that we can navigate to them.
lisp/gnus/shr.el (shr-colorize-region): Put the colours over the entire region.
(shr-inhibit-decoration): New variable.
(shr-add-font): Use it to inhibit text property decorations while doing preliminary table renderings. This speeds up typical Wikipedia page renderings by 15%.
(shr-tag-span): Don't respect the <title>, because that overwrites the help-echo from links inside the spans.
(shr-next-link): Use `help-echo' for navigation, so that we can navigate to form elements, too.
lisp/gnus/eww.el (eww-button): New face.
(eww-convert-widgets): Use it to make submit buttons more button-like.