Stefan Monnier [Sat, 26 May 2012 15:52:27 +0000 (11:52 -0400)]
Use `declare' in `lambda' and mis minor changes.
* lisp/subr.el (lambda): Use declare.
* lisp/emacs-lisp/lisp-mode.el (lambda):
* lisp/emacs-lisp/edebug.el (lambda): Move properties to its definition.
* lisp/gnus/legacy-gnus-agent.el (gnus-agent-unhook-expire-days):
* lisp/gnus/gnus-demon.el (gnus-demon-init): Don't bother with type-of.
Eli Zaretskii [Sat, 26 May 2012 12:14:56 +0000 (15:14 +0300)]
Extend mouse support on W32 text-mode console.
src/xdisp.c (draw_row_with_mouse_face): Call
tty_draw_row_with_mouse_face for WINDOWSNT as well.
src/w32console.c: Include window.h.
(w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face): New
functions.
(initialize_w32_display): Initialize mouse-highlight data.
src/w32inevt.c: Include termchar.h and window.h.
(do_mouse_event): Support mouse-autoselect-window. When the mouse
moves, call note_mouse_highlight. If help_echo changed, call
gen_help_event to produce help-echo message in the echo area.
Call clear_mouse_face if mouse_face_hidden is set in the mouse
highlight info.
Eli Zaretskii [Sat, 26 May 2012 09:56:31 +0000 (12:56 +0300)]
Refactor mouse highlight invocation for w32 console.
src/w32inevt.c: Include termchar.h.
(mouse_moved_to): Move the call to note_mouse_highlight from here...
(do_mouse_event): ...to here.
Call clear_mouse_face if mouse_face_hidden is set in the mouse
highlight info.
Eli Zaretskii [Sat, 26 May 2012 09:31:59 +0000 (12:31 +0300)]
Support mouse highlight on w32 text-mode frames.
src/xdisp.c (draw_row_with_mouse_face): Call
tty_draw_row_with_mouse_face for WINDOWSNT as well.
src/w32inevt.c (mouse_moved_to): When the mouse moves, call
note_mouse_highlight.
src/w32console.c: Include window.h.
(w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face): New
functions.
(initialize_w32_display): Initialize mouse-highlight data.
Glenn Morris [Fri, 25 May 2012 18:57:51 +0000 (14:57 -0400)]
There's no reason not to compile version.el
AFAICS, this is ancient code dating from when there was an "inc-vers.el",
that was used to bump the build number on version.el. Nowadays that
happens in loadup.el.
* lisp/version.el: Remove no-byte-compile and associated formatting.
* lisp/loadup.el: No need to load lisp/version.el uncompiled.
Stefan Monnier [Fri, 25 May 2012 18:06:13 +0000 (14:06 -0400)]
* src/lread.c: Remove `read_pure' which makes no difference.
(read_pure): Remove var.
(unreadpure): Remove function.
(readevalloop): Don't call read_list with -1 flag.
(read1, read_vector): Don't test read_pure any more.
(read_list): Simplify.
Stefan Monnier [Fri, 25 May 2012 14:58:17 +0000 (10:58 -0400)]
* lisp/gnus/gnus-win.el (gnus-configure-frame): Don't signal an error when
jumping to *Server* from a dedicated *Group* window.
(gnus-configure-frame): CSE.
* lisp/gnus/gnus-registry.el: Minor style cleanup.
(gnus-registry--set/remove-mark): New function, extracted from
gnus-registry-install-shortcuts.
(gnus-registry-install-shortcuts): Use it.
Eli Zaretskii [Fri, 25 May 2012 10:35:13 +0000 (13:35 +0300)]
Minor fixes for MSDOS build to track latest changes.
msdos/sed6.inp (INFO_EXT): Edit to .info.
(INFO_OPTS): Edit to --no-split.
lisp/cus-start.el <vertical-centering-font-regexp>: Avoid warning on
platforms that don't link in fontset.c.
Juri Linkov [Fri, 25 May 2012 00:55:40 +0000 (03:55 +0300)]
Use the same diff color scheme as in modern VCSes (bug#10181).
* lisp/vc/diff-mode.el (diff-header, diff-file-header): Remove "green"
to avoid confusion with `diff-added' that now uses green colors.
(diff-removed): Use shades of red.
(diff-added): Use shades of green.
(diff-changed): Leave just the yellow color.
(diff-use-changed-face): New variable.
(diff-font-lock-keywords): Use `diff-use-changed-face' to decide
how to highlight context diff changes.
(diff-refine-change): Use shades of yellow.
(diff-refine-removed): New face that uses shades of red.
(diff-refine-added): New face that uses shades of green.
(diff-refine-hunk): Use `diff-refine-change', `diff-refine-added',
`diff-refine-removed' in the call to `smerge-refine-subst'
depending on the value of `diff-use-changed-face'.
* lisp/vc/ediff-init.el (ediff-current-diff-A, ediff-fine-diff-A):
Add face condition `min-colors 88' with shades of red.
(ediff-current-diff-B, ediff-fine-diff-B): Add face condition
`min-colors 88' with shades of green.
(ediff-current-diff-C, ediff-fine-diff-C): Add face condition
`min-colors 88' with shades of yellow.
* lisp/vc/smerge-mode.el (smerge-mine): Use shades of red.
(smerge-other): Use shades of green.
(smerge-base): Use shades of yellow.
(smerge-refined-change): Empty face.
(smerge-refined-removed): New face that uses shades of red.
(smerge-refined-added): New face that uses shades of green.
(smerge-refine-subst): Rename arg `props' to `props-c'. Add new
args `props-r' and `props-a', and use them. Doc fix.
(smerge-refine): Evaluate `smerge-use-changed-face' and depending
on its value use different faces `smerge-refined-change',
`smerge-refined-removed', `smerge-refined-added' in the call to
`smerge-refine-subst'.
Glenn Morris [Thu, 24 May 2012 07:31:45 +0000 (00:31 -0700)]
* paths.el (news-inews-program): Move to gnus/nnspool.el.
* gnus/nnspool.el (news-inews-program): Move here from paths.el.
Don't see a need for this to be autoloaded. (Or even to exist; it is
only used to init another variable.)
Glenn Morris [Thu, 24 May 2012 07:27:24 +0000 (00:27 -0700)]
* paths.el (news-directory, news-path): Move to gnus/nnspool.el.
* gnus/nnspool.el (news-directory, news-path): Move here from paths.el.
Don't see a need for these to be autoloaded. This file is the only
place that uses them, to init another variable.
* paths.el (rmail-file-name, rmail-spool-directory): Move from here...
* mail/rmail.el (rmail-file-name, rmail-spool-directory): ... to here.
Make the latter a defcustom, with a delayed initialization.
Paul Eggert [Tue, 22 May 2012 16:20:27 +0000 (09:20 -0700)]
Remove src/m/*.
* configure.in: Remove all mention of src/m/*.
(machine, machfile, M_FILE, config_machfile, and_machfile): Remove.
All uses removed.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
(BITS_PER_LONG_LONG): Move to src/lisp.h.
* lib/makefile.w32-in: Remove dependencies on
$(EMACS_ROOT)/src/m/intel386.h.
* make-dist: Don't make links to src/m.
* admin/CPP-DEFINES: Do not mention src/m/*.h.
(BITS_PER_EMACS_INT, BITS_PER_LONG, BITS_PER_CHAR)
(BITS_PER_SHORT, BITS_PER_INT): Remove.
* admin/MAINTAINERS: Remove src/m/.
* lib-src/makefile.w32-in: Remove dependencies on
$(EMACS_ROOT)/src/m/intel386.h.
* msdos/mainmake.v2 (TAGS tags): Don't look at $(CURDIR)/src/m/intel386.h.
* nt/config.nt: Do not include "m/intel386.h"; file was removed.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG):
Move to src/lisp.h.
(EMACS_INT_MAX): New macro.
This directory predates autoconf and is no longer needed nowadays.
Move its few remaining bits of functionality to where they're needed.
* src/m/README, src/m/alpha.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibmrs6000.h:
* src/m/ibms390x.h, src/m/intel386.h, src/m/m68k.h, src/m/macppc.h:
* src/m/sparc.h, src/m/template.h: Remove.
* src/Makefile.in (M_FILE): Remove. All uses removed.
* src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS):
* src/lisp.h (USE_LSB_TAG):
* src/mem-limits.h (EXCEEDS_LISP_PTR):
Use VAL_MAX, not VALBITS, in #if.
* src/lisp.h (EMACS_INT_MAX): New macro, useful in #if.
(EMACS_UINT): Define unconditionally now.
(BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
(BITS_PER_EMACS_INT): New constants, replacing
what used to be in config.h, but not useful in #if.
(GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't
define them any more.
(VAL_MAX): New macro.
(VALMASK): Use it.
* src/puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not
BITS_PER_EMACS_INT, in #if.
* src/s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
(BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed.
* src/s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]:
* src/s/ms-w32.h (DATA_START):
Move here from removed file m/intel386.h.
* src/s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this.
* src/s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
Glenn Morris [Tue, 22 May 2012 03:31:34 +0000 (20:31 -0700)]
Add "How to Report a Bug" to Help menu
* lisp/info.el (info-emacs-bug): New command.
* lisp/menu-bar.el (menu-bar-help-menu): Add "How to Report a Bug" to Help.
* lisp/mail/emacsbug.el (report-emacs-bug): Replace with info-emacs-bug.
Glenn Morris [Mon, 21 May 2012 20:13:49 +0000 (16:13 -0400)]
Let the top-level Makefile install leim
* Makefile.in (leimdir): New, set by configure.
(COPYDIR, COPYDESTS): Add leim directories.
(install-leim): Remove.
(install-arch-indep): Handle leim installation directly.
* leim/Makefile.in (install): Remove, let top-level do it.
(version, prefix, datarootdir, datadir, ns_appresdir, leimdir):
(MKDIR_P, GZIP_PROG): Remove, no longer used.
Paul Eggert [Mon, 21 May 2012 19:04:11 +0000 (12:04 -0700)]
Use full name for m4/gnulib-comp.m4. (Bug#11529)
Previously the file was named m4/gl-comp.m4 due to DOS 8+3 restrictions,
even though the file's name in gnulib is m4/gnulib-comp.m4.
This had a problem when merging from gnulib, as the code temporarily
renamed it to the full name, causing problems when interrupted.
Now the file has its full name, with the idea that we will find
a solution for MS-DOS that does not affect the rest of Emacs.
* m4/gnulib-comp.m4: Rename from m4/gl-comp.m4.
* admin/merge-gnulib: Leave m4/gnulib-comp.m4's name alone.
Paul Eggert [Mon, 21 May 2012 02:33:13 +0000 (19:33 -0700)]
Make merging from gnulib a script, not a makefile action.
Putting it in a makefile has some problems with reflection, as
merging from gnulib updates 'configure', which can update the makefile.
Putting it in a standalone script breaks this loop.
* Makefile.in (gnulib_srcdir, $(gnulib_srcdir), DOS_gnulib_comp.m4)
(GNULIB_MODULES, GNULIB_TOOL_FLAGS, sync-from-gnulib):
Remove, moving the actions to the script admin/merge-gnulib.
* admin/merge-gnulib: New script, with actions moved here from
../Makefile.in.
Paul Eggert [Sat, 19 May 2012 08:49:08 +0000 (01:49 -0700)]
Remove no-longer-used macro HAVE_FTIME.
* configure.in (machine): Do not set to 'vax', since src/m/vax.h
is being removed.
(AC_CHECK_FUNCS): Remove ftime.
* admin/CPP-DEFINES (HAVE_FTIME): Remove.
* nt/config.nt (HAVE_FTIME): Remove undef; not needed.
* src/m/vax.h: Remove; no longer needed since HAVE_FTIME is being removed.
* src/s/ms-w32.h (HAVE_FTIME): Remove; not needed.
Glenn Morris [Sat, 19 May 2012 06:34:59 +0000 (23:34 -0700)]
* Makefile.in (leim): No need to set PARALLEL.
This predates the use of changed.misc etc to serialize the leim build.
The leim Makefile used to set .NO_PARALLEL/.NOTPARALLEL for the same
reason, but has not done so for many years.
Jay Belanger [Sat, 19 May 2012 03:00:48 +0000 (22:00 -0500)]
* calc/calc.el (calc-ensure-consistent-units): New variable.
* calc/calc-units.el (math-consistent-units-p, math-check-unit-consistency):
New functions.
(calc-quick-units, calc-convert-units): Use `math-check-unit-consistency' when
`calc-ensure-consistent-units' is non-nil.
(calc-extract-units): Fix typo.
* doc/misc/calc.texi
(Basic Operations on Units, Customizing Calc):
Mention `calc-ensure-consistent-units'.
Stefan Monnier [Fri, 18 May 2012 19:04:07 +0000 (15:04 -0400)]
* lisp/textmodes/flyspell.el: Commenting style, plus code simplifications.
(flyspell-default-deplacement-commands): Don't spell check after
repeated window/frame switches (e.g. triggered by mouse-movement).
(flyspell-delay-commands, flyspell-deplacement-commands): Use mapc.
(flyspell-debug-signal-word-checked): Simplify and fit in 80 cols.
(flyspell-casechars-cache, flyspell-ispell-casechars-cache)
(flyspell-not-casechars-cache, flyspell-ispell-not-casechars-cache):
Remove unused vars.
(flyspell-get-casechars, flyspell-get-not-casechars):
Simplify; Don't bother removing a ] just to add it back.
* lisp/textmodes/ispell.el (ispell-program-name): Use executable-find.
Eli Zaretskii [Fri, 18 May 2012 08:36:50 +0000 (11:36 +0300)]
Fix compilation with -DGLYPH_DEBUG=1 on MS-Windows.
src/w32term.c [GLYPH_DEBUG]: Add prototype for x_check_font.
(x_check_font) [GLYPH_DEBUG]: New function, copied from xterm.c
src/w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: Fix broken
reference to image_cache->refcount.
(x_create_tip_frame): Fix broken use of FRAME_IMAGE_CACHE.