aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INSTALL3
-rw-r--r--doc/emacs/ChangeLog30
-rw-r--r--doc/emacs/building.texi6
-rw-r--r--doc/emacs/calendar.texi12
-rw-r--r--doc/emacs/cmdargs.texi17
-rw-r--r--doc/emacs/custom.texi33
-rw-r--r--doc/emacs/display.texi31
-rw-r--r--doc/emacs/emacs.texi2
-rw-r--r--doc/emacs/fixit.texi3
-rw-r--r--doc/emacs/frames.texi18
-rw-r--r--doc/emacs/help.texi2
-rw-r--r--doc/emacs/macos.texi4
-rw-r--r--doc/emacs/mini.texi8
-rw-r--r--doc/emacs/misc.texi15
-rw-r--r--doc/emacs/msdog.texi68
-rw-r--r--doc/emacs/mule.texi33
-rw-r--r--doc/emacs/programs.texi4
-rw-r--r--doc/emacs/rmail.texi12
-rw-r--r--doc/emacs/text.texi92
-rw-r--r--doc/emacs/trouble.texi11
-rw-r--r--doc/emacs/windows.texi8
-rw-r--r--doc/emacs/xresources.texi24
-rw-r--r--doc/misc/ChangeLog4
-rw-r--r--doc/misc/gnus.texi2
-rw-r--r--etc/NEWS30
-rw-r--r--leim/ChangeLog10
-rw-r--r--leim/Makefile.in1
-rw-r--r--leim/makefile.w32-in1
-rw-r--r--leim/quail/persian.el296
-rw-r--r--lisp/ChangeLog48
-rw-r--r--lisp/calendar/appt.el72
-rw-r--r--lisp/emacs-lisp/eieio.el2
-rw-r--r--lisp/gnus/ChangeLog18
-rw-r--r--lisp/gnus/gnus-group.el2
-rw-r--r--lisp/gnus/gnus-sum.el6
-rw-r--r--lisp/gnus/nntp.el3
-rw-r--r--lisp/gnus/shr.el3
-rw-r--r--lisp/info-look.el28
-rw-r--r--lisp/mail/mail-utils.el2
-rw-r--r--lisp/net/tramp.el12
-rw-r--r--lisp/progmodes/cc-defs.el2
-rw-r--r--lisp/progmodes/grep.el1
-rw-r--r--lisp/progmodes/idlw-shell.el2
-rw-r--r--lisp/progmodes/python.el4
-rw-r--r--lisp/shell.el2
-rw-r--r--lisp/vc/diff-mode.el80
-rw-r--r--m4/inttypes.m44
-rw-r--r--m4/stdint.m44
-rw-r--r--nt/ChangeLog4
-rw-r--r--nt/README.W329
-rw-r--r--src/ChangeLog64
-rw-r--r--src/term.c1
52 files changed, 797 insertions, 356 deletions
diff --git a/INSTALL b/INSTALL
index 27a148a32d4..b0f4f11dd98 100644
--- a/INSTALL
+++ b/INSTALL
@@ -208,7 +208,8 @@ The names of the packages that you need varies according to the
208GNU/Linux distribution that you use, and the options that you want to 208GNU/Linux distribution that you use, and the options that you want to
209configure Emacs with. On Debian-based systems, you can install all the 209configure Emacs with. On Debian-based systems, you can install all the
210packages needed to build the installed version of Emacs with a command 210packages needed to build the installed version of Emacs with a command
211like `apt-get build-dep emacs23'. 211like `apt-get build-dep emacs23'. On Red Hat systems, the
212corresponding command is `yum-builddep emacs'.
212 213
213 214
214DETAILED BUILDING AND INSTALLATION: 215DETAILED BUILDING AND INSTALLATION:
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index d3521dcd524..ec0e3b51a01 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,33 @@
12011-05-17 Chong Yidong <cyd@stupidchicken.com>
2
3 Fixes for fitting text into 7x9 printed manual.
4 * building.texi (Flymake, Breakpoints Buffer):
5 * calendar.texi (Appointments):
6 * cmdargs.texi (General Variables, Display X):
7 * custom.texi (Saving Customizations, Face Customization)
8 (Directory Variables, Minibuffer Maps, Init Rebinding):
9 * display.texi (Font Lock, Font Lock, Useless Whitespace):
10 * fixit.texi (Spelling):
11 * frames.texi (Creating Frames, Fonts):
12 * help.texi (Help Files):
13 * mini.texi (Minibuffer File):
14 * misc.texi (emacsclient Options, Emulation):
15 * msdog.texi (Windows Startup, Windows HOME, Windows Fonts):
16 * mule.texi (International Chars, Language Environments)
17 (Select Input Method, Modifying Fontsets, Charsets):
18 * programs.texi (Custom C Indent):
19 * rmail.texi (Rmail Labels):
20 * text.texi (Table Conversion):
21 * trouble.texi (Known Problems, Known Problems):
22 * windows.texi (Change Window):
23 * xresources.texi (GTK resources): Reflow text and re-indent code
24 examples to avoid TeX overflows and underflows on 7x9 paper.
25
26 * emacs.texi: Fix the (commented out) smallbook command.
27
28 * macos.texi (Mac / GNUstep Events):
29 * xresources.texi (Lucid Resources): Remove extraneous examples.
30
12011-05-10 Glenn Morris <rgm@gnu.org> 312011-05-10 Glenn Morris <rgm@gnu.org>
2 32
3 * custom.texi (Specifying File Variables): 33 * custom.texi (Specifying File Variables):
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index a07e7582011..cca9e441ed4 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -438,8 +438,8 @@ syntax checking tool used depends on the language; for example, for
438C/C++ files this is usually the C compiler. Flymake can also use 438C/C++ files this is usually the C compiler. Flymake can also use
439build tools such as @code{make} for checking complicated projects. 439build tools such as @code{make} for checking complicated projects.
440 440
441 To activate Flymake mode, type @kbd{M-x flymake-mode}. You can move 441 To enable Flymake mode, type @kbd{M-x flymake-mode}. You can go to
442to the errors spotted by Flymake mode with @kbd{M-x 442the errors found by Flymake mode with @kbd{M-x
443flymake-goto-next-error} and @kbd{M-x flymake-goto-prev-error}. To 443flymake-goto-next-error} and @kbd{M-x flymake-goto-prev-error}. To
444display any error messages associated with the current line, use 444display any error messages associated with the current line, use
445@kbd{M-x flymake-display-err-menu-for-current-line}. 445@kbd{M-x flymake-display-err-menu-for-current-line}.
@@ -992,7 +992,7 @@ breakpoint}, the breakpoint which point is on.
992@item @key{SPC} 992@item @key{SPC}
993@kindex SPC @r{(GDB breakpoints buffer)} 993@kindex SPC @r{(GDB breakpoints buffer)}
994@findex gdb-toggle-breakpoint 994@findex gdb-toggle-breakpoint
995Enable/disable the current breakpoint (@code{gdb-toggle-breakpoint}). 995Enable/disable current breakpoint (@code{gdb-toggle-breakpoint}).
996On a graphical display, this changes the color of a bullet in the 996On a graphical display, this changes the color of a bullet in the
997margin of a source buffer at the relevant line. This is red when 997margin of a source buffer at the relevant line. This is red when
998the breakpoint is enabled and grey when it is disabled. Text-only 998the breakpoint is enabled and grey when it is disabled. Text-only
diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi
index fabd38ecc18..9de223854c1 100644
--- a/doc/emacs/calendar.texi
+++ b/doc/emacs/calendar.texi
@@ -1473,12 +1473,12 @@ give the names of functions used to create and destroy the window,
1473respectively. 1473respectively.
1474 1474
1475@findex appt-activate 1475@findex appt-activate
1476 To enable appointment notification, use the command @kbd{M-x 1476 To enable appointment notification, type @kbd{M-x appt-activate}.
1477appt-activate}. With a positive argument, it enables notification; 1477With a positive argument, it enables notification; with a negative
1478with a negative argument, it disables notification; with no argument, 1478argument, it disables notification; with no argument, it toggles.
1479it toggles. Enabling notification also sets up an appointment list 1479Enabling notification also sets up an appointment list for today from
1480for today from the diary file, giving all diary entries found with 1480the diary file, giving all diary entries found with recognizable times
1481recognizable times of day, and reminds you just before each of them. 1481of day, and reminds you just before each of them.
1482 1482
1483 For example, suppose the diary file contains these lines: 1483 For example, suppose the diary file contains these lines:
1484 1484
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi
index 12c1d9a8bfd..1c3b85559d2 100644
--- a/doc/emacs/cmdargs.texi
+++ b/doc/emacs/cmdargs.texi
@@ -474,9 +474,8 @@ when you specify a relative directory name.
474Directory for the architecture-independent files that come with Emacs. 474Directory for the architecture-independent files that come with Emacs.
475This is used to initialize the Lisp variable @code{data-directory}. 475This is used to initialize the Lisp variable @code{data-directory}.
476@item EMACSDOC 476@item EMACSDOC
477Directory for the documentation string file, 477Directory for the documentation string file, which is used to
478@file{DOC-@var{emacsversion}}. This is used to initialize the Lisp 478initialize the Lisp variable @code{doc-directory}.
479variable @code{doc-directory}.
480@item EMACSLOADPATH 479@item EMACSLOADPATH
481A colon-separated list of directories@footnote{ 480A colon-separated list of directories@footnote{
482Here and below, whenever we say ``colon-separated list of directories,'' 481Here and below, whenever we say ``colon-separated list of directories,''
@@ -722,14 +721,14 @@ window displayed at their local terminal. You might need to log in
722to another system because the files you want to edit are there, or 721to another system because the files you want to edit are there, or
723because the Emacs executable file you want to run is there. 722because the Emacs executable file you want to run is there.
724 723
725 The syntax of the @env{DISPLAY} environment variable is 724 @env{DISPLAY} has the syntax
726@samp{@var{host}:@var{display}.@var{screen}}, where @var{host} is the 725@samp{@var{host}:@var{display}.@var{screen}}, where @var{host} is the
727host name of the X Window System server machine, @var{display} is an 726host name of the X Window System server machine, @var{display} is an
728arbitrarily-assigned number that distinguishes your server (X terminal) 727arbitrarily-assigned number that distinguishes your server (X
729from other servers on the same machine, and @var{screen} is a 728terminal) from other servers on the same machine, and @var{screen} is
730rarely-used field that allows an X server to control multiple terminal 729a rarely-used field that allows an X server to control multiple
731screens. The period and the @var{screen} field are optional. If 730terminal screens. The period and the @var{screen} field are optional.
732included, @var{screen} is usually zero. 731If included, @var{screen} is usually zero.
733 732
734 For example, if your host is named @samp{glasperle} and your server is 733 For example, if your host is named @samp{glasperle} and your server is
735the first (or perhaps the only) server listed in the configuration, your 734the first (or perhaps the only) server listed in the configuration, your
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index d7a99d49d60..d9fdff138ac 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -526,7 +526,8 @@ files for different Emacs versions, like this:
526(cond ((< emacs-major-version 22) 526(cond ((< emacs-major-version 22)
527 ;; @r{Emacs 21 customization.} 527 ;; @r{Emacs 21 customization.}
528 (setq custom-file "~/.custom-21.el")) 528 (setq custom-file "~/.custom-21.el"))
529 ((and (= emacs-major-version 22) (< emacs-minor-version 3)) 529 ((and (= emacs-major-version 22)
530 (< emacs-minor-version 3))
530 ;; @r{Emacs 22 customization, before version 22.3.} 531 ;; @r{Emacs 22 customization, before version 22.3.}
531 (setq custom-file "~/.custom-22.el")) 532 (setq custom-file "~/.custom-22.el"))
532 (t 533 (t
@@ -582,15 +583,15 @@ means that it's disabled. You can enable or disable the attribute by
582clicking that button. When the attribute is enabled, you can change 583clicking that button. When the attribute is enabled, you can change
583the attribute value in the usual ways. 584the attribute value in the usual ways.
584 585
585 For the colors, you can specify a color name (use @kbd{M-x 586 You can specify a color name (use @kbd{M-x list-colors-display} for
586list-colors-display} for a list of them) or a hexadecimal color 587a list of them) or a hexadecimal color specification of the form
587specification of the form @samp{#@var{rr}@var{gg}@var{bb}}. 588@samp{#@var{rr}@var{gg}@var{bb}}. (@samp{#000000} is black,
588(@samp{#000000} is black, @samp{#ff0000} is red, @samp{#00ff00} is 589@samp{#ff0000} is red, @samp{#00ff00} is green, @samp{#0000ff} is
589green, @samp{#0000ff} is blue, and @samp{#ffffff} is white.) On a 590blue, and @samp{#ffffff} is white.) On a black-and-white display, the
590black-and-white display, the colors you can use for the background are 591colors you can use for the background are @samp{black}, @samp{white},
591@samp{black}, @samp{white}, @samp{gray}, @samp{gray1}, and 592@samp{gray}, @samp{gray1}, and @samp{gray3}. Emacs supports these
592@samp{gray3}. Emacs supports these shades of gray by using background 593shades of gray by using background stipple patterns instead of a
593stipple patterns instead of a color. 594color.
594 595
595 Setting, saving and resetting a face work like the same operations for 596 Setting, saving and resetting a face work like the same operations for
596variables (@pxref{Changing a Variable}). 597variables (@pxref{Changing a Variable}).
@@ -1334,7 +1335,8 @@ corresponding alist applies to all the files in that subdirectory.
1334 (java-mode . ((c-file-style . "BSD") 1335 (java-mode . ((c-file-style . "BSD")
1335 (subdirs . nil))) 1336 (subdirs . nil)))
1336 ("src/imported" 1337 ("src/imported"
1337 . ((nil . ((change-log-default-name . "ChangeLog.local")))))) 1338 . ((nil . ((change-log-default-name .
1339 "ChangeLog.local"))))))
1338@end example 1340@end example
1339 1341
1340@noindent 1342@noindent
@@ -1563,7 +1565,7 @@ just like @key{RET}.
1563@code{minibuffer-local-must-match-map} is for strict completion and 1565@code{minibuffer-local-must-match-map} is for strict completion and
1564for cautious completion. 1566for cautious completion.
1565@item 1567@item
1566Finally, @code{minibuffer-local-filename-completion-map} and 1568@code{minibuffer-local-filename-completion-map} and
1567@code{minibuffer-local-must-match-filename-map} are like the two 1569@code{minibuffer-local-must-match-filename-map} are like the two
1568previous ones, but they are specifically for file name completion. 1570previous ones, but they are specifically for file name completion.
1569They do not bind @key{SPC}. 1571They do not bind @key{SPC}.
@@ -1694,7 +1696,6 @@ and mouse events:
1694(global-set-key (kbd "C-<f5>") 'linum-mode) 1696(global-set-key (kbd "C-<f5>") 'linum-mode)
1695(global-set-key (kbd "C-<right>") 'forward-sentence) 1697(global-set-key (kbd "C-<right>") 'forward-sentence)
1696(global-set-key (kbd "<mouse-2>") 'mouse-save-then-kill) 1698(global-set-key (kbd "<mouse-2>") 'mouse-save-then-kill)
1697(global-set-key (kbd "C-<down-mouse-3>") 'mouse-yank-at-click)
1698@end example 1699@end example
1699 1700
1700 Instead of using the @code{kbd} macro, you can use a Lisp string or 1701 Instead of using the @code{kbd} macro, you can use a Lisp string or
@@ -1758,8 +1759,10 @@ and @kbd{C-c p} in Texinfo mode:
1758@example 1759@example
1759(add-hook 'texinfo-mode-hook 1760(add-hook 'texinfo-mode-hook
1760 '(lambda () 1761 '(lambda ()
1761 (define-key texinfo-mode-map "\C-cp" 'backward-paragraph) 1762 (define-key texinfo-mode-map "\C-cp"
1762 (define-key texinfo-mode-map "\C-cn" 'forward-paragraph))) 1763 'backward-paragraph)
1764 (define-key texinfo-mode-map "\C-cn"
1765 'forward-paragraph)))
1763@end example 1766@end example
1764 1767
1765@node Modifier Keys 1768@node Modifier Keys
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 7777aacf0e5..3cec3e8fb8b 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -662,17 +662,17 @@ that follows an open-parenthesis or open-brace in the leftmost column
662that is inside a string or comment. 662that is inside a string or comment.
663 663
664@cindex slow display during scrolling 664@cindex slow display during scrolling
665 The variable @code{font-lock-beginning-of-syntax-function} (always 665 The variable @code{font-lock-beginning-of-syntax-function}, which is
666buffer-local) specifies how Font Lock mode can find a position 666always buffer-local, specifies how Font Lock mode can find a position
667guaranteed to be outside any comment or string. In modes which use the 667guaranteed to be outside any comment or string. In modes which use
668leftmost column parenthesis convention, the default value of the variable 668the leftmost column parenthesis convention, the default value of the
669is @code{beginning-of-defun}---that tells Font Lock mode to use the 669variable is @code{beginning-of-defun}---that tells Font Lock mode to
670convention. If you set this variable to @code{nil}, Font Lock no longer 670use the convention. If you set this variable to @code{nil}, Font Lock
671relies on the convention. This avoids incorrect results, but the price 671no longer relies on the convention. This avoids incorrect results,
672is that, in some cases, fontification for a changed text must rescan 672but the price is that, in some cases, fontification for a changed text
673buffer text from the beginning of the buffer. This can considerably 673must rescan buffer text from the beginning of the buffer. This can
674slow down redisplay while scrolling, particularly if you are close to 674considerably slow down redisplay while scrolling, particularly if you
675the end of a large buffer. 675are close to the end of a large buffer.
676 676
677@findex font-lock-add-keywords 677@findex font-lock-add-keywords
678 Font Lock highlighting patterns already exist for many modes, but you 678 Font Lock highlighting patterns already exist for many modes, but you
@@ -685,7 +685,8 @@ comments, use this:
685(add-hook 'c-mode-hook 685(add-hook 'c-mode-hook
686 (lambda () 686 (lambda ()
687 (font-lock-add-keywords nil 687 (font-lock-add-keywords nil
688 '(("\\<\\(FIXME\\):" 1 font-lock-warning-face t))))) 688 '(("\\<\\(FIXME\\):" 1
689 font-lock-warning-face t)))))
689@end example 690@end example
690 691
691@findex font-lock-remove-keywords 692@findex font-lock-remove-keywords
@@ -892,9 +893,9 @@ the location of point is enough to show you that the spaces are
892present. 893present.
893 894
894@findex delete-trailing-whitespace 895@findex delete-trailing-whitespace
895 To delete all trailing whitespace within the buffer's accessible 896 Type @kbd{M-x delete-trailing-whitespace @key{RET}} to delete all
896portion (@pxref{Narrowing}), type @kbd{M-x delete-trailing-whitespace 897trailing whitespace within the buffer's accessible portion
897@key{RET}}. This command does not remove newline characters. 898(@pxref{Narrowing}). This command does not remove newline characters.
898 899
899@vindex indicate-empty-lines 900@vindex indicate-empty-lines
900@cindex unused lines 901@cindex unused lines
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 7ca6204a994..ed7d48877e5 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -39,7 +39,7 @@ developing GNU and promoting software freedom.''
39@c in general, keep the following line commented out, unless doing a 39@c in general, keep the following line commented out, unless doing a
40@c copy of this manual that will be published. The manual should go 40@c copy of this manual that will be published. The manual should go
41@c onto the distribution in the full, 8.5 x 11" size. 41@c onto the distribution in the full, 8.5 x 11" size.
42@c set smallbook 42@c @smallbook
43 43
44@ifset smallbook 44@ifset smallbook
45@smallbook 45@smallbook
diff --git a/doc/emacs/fixit.texi b/doc/emacs/fixit.texi
index 72100f8cafb..0c9cc829fc3 100644
--- a/doc/emacs/fixit.texi
+++ b/doc/emacs/fixit.texi
@@ -347,8 +347,7 @@ Quit interactive spell checking and move point back to where it was
347when you started spell checking. 347when you started spell checking.
348 348
349@item q 349@item q
350Quit interactive spell checking and kill the Aspell/Ispell/Hunspell 350Quit interactive spell checking and kill the spell-checker subprocess.
351subprocess.
352 351
353@item ? 352@item ?
354Show the list of options. 353Show the list of options.
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index b952ef15aff..298a7d4598b 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -576,7 +576,8 @@ the default foreground color and font:
576 576
577@example 577@example
578(add-to-list 'default-frame-alist '(font . "10x20")) 578(add-to-list 'default-frame-alist '(font . "10x20"))
579(add-to-list 'default-frame-alist '(foreground-color . "blue")) 579(add-to-list 'default-frame-alist
580 '(foreground-color . "blue"))
580@end example 581@end example
581 582
582@noindent 583@noindent
@@ -743,12 +744,9 @@ DejaVu Sans Mono:bold:italic
743Monospace-12:weight=bold:slant=italic 744Monospace-12:weight=bold:slant=italic
744@end smallexample 745@end smallexample
745 746
746See the Fontconfig manual for a more detailed description of 747For a more detailed description of Fontconfig patterns, see the
747Fontconfig patterns. This manual is located in the file 748Fontconfig manual, which is distributed with Fontconfig and available
748@file{fontconfig-user.html}, distributed with Fontconfig. It is also 749online at @url{http://fontconfig.org/fontconfig-user.html}.
749available online at @url{http://fontconfig.org/fontconfig-user.html}.
750In particular, that manual describes additional font properties that
751influence how the font is hinted, antialiased, or scaled.
752 750
753 The second way to specify a font is to use a @dfn{GTK font 751 The second way to specify a font is to use a @dfn{GTK font
754description}. These have the syntax 752description}. These have the syntax
@@ -821,9 +819,9 @@ The font slant---normally @samp{r} (roman), @samp{i} (italic),
821@samp{o} (oblique), @samp{ri} (reverse italic), or @samp{ot} (other). 819@samp{o} (oblique), @samp{ri} (reverse italic), or @samp{ot} (other).
822Some font names support other values. 820Some font names support other values.
823@item widthtype 821@item widthtype
824The font width---normally @samp{condensed}, @samp{extended}, 822The font width---normally @samp{normal}, @samp{condensed},
825@samp{semicondensed} or @samp{normal} (some font names support other 823@samp{extended}, or @samp{semicondensed} (some font names support
826values). 824other values).
827@item style 825@item style
828An optional additional style name. Usually it is empty---most long 826An optional additional style name. Usually it is empty---most long
829font names have two hyphens in a row at this point. 827font names have two hyphens in a row at this point.
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi
index 8c0d768939b..2c3630adba4 100644
--- a/doc/emacs/help.texi
+++ b/doc/emacs/help.texi
@@ -629,7 +629,7 @@ C-@var{char}}; that is, @kbd{C-h} followed by a control character.
629Display the Emacs copying conditions (@code{describe-copying}). 629Display the Emacs copying conditions (@code{describe-copying}).
630These are the rules under which you can copy and redistribute Emacs. 630These are the rules under which you can copy and redistribute Emacs.
631@item C-h C-d 631@item C-h C-d
632Display how to debug Emacs problems (@code{view-emacs-debugging}). 632Display help for debugging Emacs (@code{view-emacs-debugging}).
633@item C-h C-f 633@item C-h C-f
634Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}). 634Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}).
635@item C-h g 635@item C-h g
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi
index 5d5705456f9..85d92c9fcd7 100644
--- a/doc/emacs/macos.texi
+++ b/doc/emacs/macos.texi
@@ -161,10 +161,6 @@ This event occurs when another application requests that Emacs open a
161temporary file. By default, this is handled by just generating a 161temporary file. By default, this is handled by just generating a
162@code{ns-open-file} event, the results of which are described above. 162@code{ns-open-file} event, the results of which are described above.
163 163
164You can bind @key{ns-pop-up-frames} and @key{ns-open-temp-file} to
165other Lisp functions. When the event is registered, the name of the
166file to open is stored in the variable @code{ns-input-file}.
167
168@item ns-open-file-line 164@item ns-open-file-line
169Some applications, such as ProjectBuilder and gdb, request not only a 165Some applications, such as ProjectBuilder and gdb, request not only a
170particular file, but also a particular line or sequence of lines in 166particular file, but also a particular line or sequence of lines in
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index dcc1c445e68..ce0d396fd0d 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -68,10 +68,10 @@ the default directory. If you now type @kbd{buffer.c} as input, that
68specifies the file @file{/u2/emacs/src/buffer.c}. @xref{File Names}, 68specifies the file @file{/u2/emacs/src/buffer.c}. @xref{File Names},
69for information about the default directory. 69for information about the default directory.
70 70
71 You can specify the parent directory by adding @file{..}: for 71 You can specify the parent directory with @file{..}:
72example, @file{/u2/emacs/src/../lisp/simple.el} is equivalent to 72@file{/a/b/../foo.el} is equivalent to @file{/a/foo.el}.
73@file{/u2/emacs/lisp/simple.el}. Alternatively, you can use 73Alternatively, you can use @kbd{M-@key{DEL}} to kill directory names
74@kbd{M-@key{DEL}} to kill directory names backwards (@pxref{Words}). 74backwards (@pxref{Words}).
75 75
76 To specify a file in a completely different directory, you can kill 76 To specify a file in a completely different directory, you can kill
77the entire default with @kbd{C-a C-k} (@pxref{Minibuffer Edit}). 77the entire default with @kbd{C-a C-k} (@pxref{Minibuffer Edit}).
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 06267851d4c..290e5dc53bf 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -1603,16 +1603,8 @@ listed below:
1603@item -a @var{command} 1603@item -a @var{command}
1604@itemx --alternate-editor=@var{command} 1604@itemx --alternate-editor=@var{command}
1605Specify a command to run if @code{emacsclient} fails to contact Emacs. 1605Specify a command to run if @code{emacsclient} fails to contact Emacs.
1606This is useful when running @code{emacsclient} in a script. For 1606This is useful when running @code{emacsclient} in a script.
1607example, the following setting for the @env{EDITOR} environment
1608variable will always give you an editor, even if no Emacs server is
1609running:
1610 1607
1611@example
1612EDITOR="emacsclient --alternate-editor emacs +%d %s"
1613@end example
1614
1615@noindent
1616As a special exception, if @var{command} is the empty string, then 1608As a special exception, if @var{command} is the empty string, then
1617@code{emacsclient} starts Emacs in daemon mode and then tries 1609@code{emacsclient} starts Emacs in daemon mode and then tries
1618connecting again. 1610connecting again.
@@ -2513,9 +2505,8 @@ also use the command @kbd{M-x scroll-all-mode} or set the variable
2513@item EDT (DEC VMS editor) 2505@item EDT (DEC VMS editor)
2514@findex edt-emulation-on 2506@findex edt-emulation-on
2515@findex edt-emulation-off 2507@findex edt-emulation-off
2516Turn on EDT emulation with the command @kbd{M-x edt-emulation-on}, 2508Turn on EDT emulation @kbd{M-x edt-emulation-on}; use @kbd{M-x
2517while @kbd{M-x edt-emulation-off} restores normal Emacs command 2509edt-emulation-off} to restore normal Emacs command bindings.
2518bindings.
2519 2510
2520Most of the EDT emulation commands are keypad keys, and most standard 2511Most of the EDT emulation commands are keypad keys, and most standard
2521Emacs key bindings are still available. The EDT emulation rebindings 2512Emacs key bindings are still available. The EDT emulation rebindings
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi
index 0a454db86bb..56fe20f0794 100644
--- a/doc/emacs/msdog.texi
+++ b/doc/emacs/msdog.texi
@@ -84,30 +84,29 @@ Emacs will start in the current directory of the Windows shell.
84@cindex invoking Emacs from Windows Explorer 84@cindex invoking Emacs from Windows Explorer
85@pindex emacsclient.exe 85@pindex emacsclient.exe
86@pindex emacsclientw.exe 86@pindex emacsclientw.exe
87Via the Emacs client program, @file{emacsclient.exe} or 87Via @file{emacsclient.exe} or @file{emacsclientw.exe}, which allow you
88@file{emacsclientw.exe}. This allows to invoke Emacs from other 88to invoke Emacs from other programs, and to reuse a running Emacs
89programs, and to reuse a running Emacs process for serving editing 89process for serving editing jobs required by other programs.
90jobs required by other programs. @xref{Emacs Server}. The difference 90@xref{Emacs Server}. The difference between @file{emacsclient.exe}
91between @file{emacsclient.exe} and @file{emacsclientw.exe} is that the 91and @file{emacsclientw.exe} is that the former is a console program,
92former is a console program, while the latter is a Windows GUI 92while the latter is a Windows GUI program. Both programs wait for
93program. Both programs wait for Emacs to signal that the editing job 93Emacs to signal that the editing job is finished, before they exit and
94is finished, before they exit and return control to the program that 94return control to the program that invoked them. Which one of them to
95invoked them. Which one of them to use in each case depends on the 95use in each case depends on the expectations of the program that needs
96expectations of the program that needs editing services. If that 96editing services. If that program is itself a console (text-mode)
97program is itself a console (text-mode) program, you should use 97program, you should use @file{emacsclient.exe}, so that any of its
98@file{emacsclient.exe}, so that any of its messages and prompts appear 98messages and prompts appear in the same command window as those of the
99in the same command window as those of the invoking program. By 99invoking program. By contrast, if the invoking program is a GUI
100contrast, if the invoking program is a GUI program, you will be better 100program, you will be better off using @file{emacsclientw.exe}, because
101off using @file{emacsclientw.exe}, because @file{emacsclient.exe} will 101@file{emacsclient.exe} will pop up a command window if it is invoked
102pop up a command window if it is invoked from a GUI program. A 102from a GUI program. A notable situation where you would want
103notable situation where you would want @file{emacsclientw.exe} is when 103@file{emacsclientw.exe} is when you right-click on a file in the
104you right-click on a file in the Windows Explorer and select ``Open 104Windows Explorer and select ``Open With'' from the pop-up menu. Use
105With'' from the pop-up menu. Use the @samp{--alternate-editor=} or 105the @samp{--alternate-editor=} or @samp{-a} options if Emacs might not
106@samp{-a} options if Emacs might not be running (or not running as a 106be running (or not running as a server) when @command{emacsclient} is
107server) when @command{emacsclient} is invoked---that will always give 107invoked---that will always give you an editor. When invoked via
108you an editor. When invoked via @command{emacsclient}, Emacs will 108@command{emacsclient}, Emacs will start in the current directory of
109start in the current directory of the program that invoked 109the program that invoked @command{emacsclient}.
110@command{emacsclient}.
111@end enumerate 110@end enumerate
112 111
113@node Text and Binary 112@node Text and Binary
@@ -402,11 +401,11 @@ names, which might cause misalignment of columns in Dired display.
402 401
403 The Windows equivalent of the @code{HOME} directory is the 402 The Windows equivalent of the @code{HOME} directory is the
404@dfn{user-specific application data directory}. The actual location 403@dfn{user-specific application data directory}. The actual location
405depends on your Windows version and system configuration; typical values 404depends on the Windows version; typical values are @file{C:\Documents
406are @file{C:\Documents and Settings\@var{username}\Application Data} on 405and Settings\@var{username}\Application Data} on Windows 2K/XP/2K3,
407Windows 2K/XP/2K3, @file{C:\Users\@var{username}\AppData\Roaming} on 406@file{C:\Users\@var{username}\AppData\Roaming} on Windows Vista/7/2K8,
408Windows Vista/7/2K8, and either @file{C:\WINDOWS\Application Data} 407and either @file{C:\WINDOWS\Application Data} or
409or @file{C:\WINDOWS\Profiles\@var{username}\Application Data} on the 408@file{C:\WINDOWS\Profiles\@var{username}\Application Data} on the
410older Windows 9X/ME systems. If this directory does not exist or 409older Windows 9X/ME systems. If this directory does not exist or
411cannot be accessed, Emacs falls back to @file{C:\} as the default 410cannot be accessed, Emacs falls back to @file{C:\} as the default
412value of @code{HOME}. 411value of @code{HOME}.
@@ -955,11 +954,12 @@ The following scripts are recognized on Windows: @code{latin}, @code{greek},
955 954
956@cindex font antialiasing (MS Windows) 955@cindex font antialiasing (MS Windows)
957@item antialias 956@item antialias
958Specifies the antialiasing to use for the font. The value @code{none} 957Specifies the antialiasing method. The value @code{none} means no
959means no antialiasing, @code{standard} means use standard antialiasing, 958antialiasing, @code{standard} means use standard antialiasing,
960@code{subpixel} means use subpixel antialiasing (known as Cleartype on Windows), 959@code{subpixel} means use subpixel antialiasing (known as Cleartype on
961and @code{natural} means use subpixel antialiasing with adjusted spacing between 960Windows), and @code{natural} means use subpixel antialiasing with
962letters. If unspecified, the font will use the system default antialiasing. 961adjusted spacing between letters. If unspecified, the font will use
962the system default antialiasing.
963@end table 963@end table
964 964
965@node Windows Misc 965@node Windows Misc
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index e12ec707063..1a4d0d33bc6 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -232,7 +232,8 @@ preferred charset: unicode (Unicode (ISO10646))
232 buffer code: #xC3 #x80 232 buffer code: #xC3 #x80
233 file code: not encodable by coding system undecided-unix 233 file code: not encodable by coding system undecided-unix
234 display: by this font (glyph code) 234 display: by this font (glyph code)
235 xft:-unknown-DejaVu Sans Mono-normal-normal-normal-*-13-*-*-*-m-0-iso10646-1 (#x82) 235 xft:-unknown-DejaVu Sans Mono-normal-normal-
236 normal-*-13-*-*-*-m-0-iso10646-1 (#x82)
236 237
237Character code properties: customize what to show 238Character code properties: customize what to show
238 name: LATIN CAPITAL LETTER A WITH GRAVE 239 name: LATIN CAPITAL LETTER A WITH GRAVE
@@ -322,7 +323,7 @@ language environment also specifies a default input method.
322 323
323@findex set-language-environment 324@findex set-language-environment
324@vindex current-language-environment 325@vindex current-language-environment
325 To select a language environment, customize the variable 326 To select a language environment, customize
326@code{current-language-environment} or use the command @kbd{M-x 327@code{current-language-environment} or use the command @kbd{M-x
327set-language-environment}. It makes no difference which buffer is 328set-language-environment}. It makes no difference which buffer is
328current when you use this command, because the effects apply globally 329current when you use this command, because the effects apply globally
@@ -648,9 +649,9 @@ shows that information in addition to the other information about the
648character. 649character.
649 650
650@findex list-input-methods 651@findex list-input-methods
651 To see a list of all the supported input methods, type @kbd{M-x 652 @kbd{M-x list-input-methods} displays a list of all the supported
652list-input-methods}. The list gives information about each input 653input methods. The list gives information about each input method,
653method, including the string that stands for it in the mode line. 654including the string that stands for it in the mode line.
654 655
655@node Coding Systems 656@node Coding Systems
656@section Coding Systems 657@section Coding Systems
@@ -1468,18 +1469,22 @@ examples are:
1468 1469
1469@example 1470@example
1470;; Use Liberation Mono for latin-3 charset. 1471;; Use Liberation Mono for latin-3 charset.
1471(set-fontset-font "fontset-default" 'iso-8859-3 "Liberation Mono") 1472(set-fontset-font "fontset-default" 'iso-8859-3
1473 "Liberation Mono")
1472 1474
1473;; Prefer a big5 font for han characters 1475;; Prefer a big5 font for han characters
1474(set-fontset-font "fontset-default" 'han (font-spec :registry "big5") 1476(set-fontset-font "fontset-default"
1477 'han (font-spec :registry "big5")
1475 nil 'prepend) 1478 nil 'prepend)
1476 1479
1477;; Use DejaVu Sans Mono as a fallback in fontset-startup before 1480;; Use DejaVu Sans Mono as a fallback in fontset-startup
1478;; resorting to fontset-default. 1481;; before resorting to fontset-default.
1479(set-fontset-font "fontset-startup" nil "DejaVu Sans Mono" nil 'append) 1482(set-fontset-font "fontset-startup" nil "DejaVu Sans Mono"
1483 nil 'append)
1480 1484
1481;; Use MyPrivateFont for the Unicode private use area. 1485;; Use MyPrivateFont for the Unicode private use area.
1482(set-fontset-font "fontset-default" '(#xe000 . #xf8ff) "MyPrivateFont") 1486(set-fontset-font "fontset-default" '(#xe000 . #xf8ff)
1487 "MyPrivateFont")
1483 1488
1484@end example 1489@end example
1485 1490
@@ -1644,9 +1649,9 @@ name, and displays information about that charset, including its
1644internal representation within Emacs. 1649internal representation within Emacs.
1645 1650
1646@findex list-character-sets 1651@findex list-character-sets
1647 To display a list of all supported charsets, type @kbd{M-x 1652 @kbd{M-x list-character-sets} displays a list of all supported
1648list-character-sets}. The list gives the names of charsets and 1653charsets. The list gives the names of charsets and additional
1649additional information to identity each charset (see 1654information to identity each charset (see
1650@url{http://www.itscj.ipsj.or.jp/ISO-IR/} for details). In this list, 1655@url{http://www.itscj.ipsj.or.jp/ISO-IR/} for details). In this list,
1651charsets are divided into two categories: @dfn{normal charsets} are 1656charsets are divided into two categories: @dfn{normal charsets} are
1652listed first, followed by @dfn{supplementary charsets}. A 1657listed first, followed by @dfn{supplementary charsets}. A
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index 5b7322f214b..803f6b6ce49 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -608,7 +608,9 @@ example,
608 608
609@example 609@example
610(setq c-default-style 610(setq c-default-style
611 '((java-mode . "java") (awk-mode . "awk") (other . "gnu"))) 611 '((java-mode . "java")
612 (awk-mode . "awk")
613 (other . "gnu")))
612@end example 614@end example
613 615
614@noindent 616@noindent
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi
index 7a5a734443c..ad22ae921e0 100644
--- a/doc/emacs/rmail.texi
+++ b/doc/emacs/rmail.texi
@@ -620,13 +620,13 @@ are three ways to use the labels: in moving, in summaries, and in sorting.
620@kindex C-M-p @r{(Rmail)} 620@kindex C-M-p @r{(Rmail)}
621@findex rmail-next-labeled-message 621@findex rmail-next-labeled-message
622@findex rmail-previous-labeled-message 622@findex rmail-previous-labeled-message
623 The command @kbd{C-M-n @var{labels} @key{RET}} 623 @kbd{C-M-n @var{labels} @key{RET}}
624(@code{rmail-next-labeled-message}) moves to the next message that has 624(@code{rmail-next-labeled-message}) moves to the next message that has
625one of the labels @var{labels}. The argument @var{labels} specifies one 625one of the labels @var{labels}. The argument @var{labels} specifies
626or more label names, separated by commas. @kbd{C-M-p} 626one or more label names, separated by commas. @kbd{C-M-p}
627(@code{rmail-previous-labeled-message}) is similar, but moves backwards 627(@code{rmail-previous-labeled-message}) is similar, but moves
628to previous messages. A numeric argument to either command serves as a 628backwards to previous messages. A numeric argument to either command
629repeat count. 629serves as a repeat count.
630 630
631 The command @kbd{C-M-l @var{labels} @key{RET}} 631 The command @kbd{C-M-l @var{labels} @key{RET}}
632(@code{rmail-summary-by-labels}) displays a summary containing only the 632(@code{rmail-summary-by-labels}) displays a summary containing only the
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index 48f3bd15587..c0139c60557 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -2809,20 +2809,20 @@ following three paragraphs (the latter two are indented with header
2809lines): 2809lines):
2810 2810
2811@example 2811@example
2812@samp{table-capture} is a powerful command, but mastering its 2812table-capture is a powerful command.
2813power requires some practice. Here are some things it can do: 2813Here are some things it can do:
2814 2814
2815Parse Cell Items By using column delimiter regular 2815Parse Cell Items By using column delimiter regular
2816 expression and raw delimiter regular 2816 expression and raw delimiter regular
2817 expression, it parses the specified text 2817 expression, it parses the specified text
2818 area and extracts cell items from 2818 area and extracts cell items from
2819 non-table text and then forms a table out 2819 non-table text and then forms a table out
2820 of them. 2820 of them.
2821 2821
2822Capture Text Area When no delimiters are specified it 2822Capture Text Area When no delimiters are specified it
2823 creates a single cell table. The text in 2823 creates a single cell table. The text in
2824 the specified region is placed in that 2824 the specified region is placed in that
2825 cell. 2825 cell.
2826@end example 2826@end example
2827 2827
2828@noindent 2828@noindent
@@ -2836,22 +2836,22 @@ following one.
2836@c produced output!! 2836@c produced output!!
2837@smallexample 2837@smallexample
2838@group 2838@group
2839+-----------------------------------------------------------------+ 2839+-------------------------------------------------------------+
2840|@samp{table-capture} is a powerful command, but mastering its | 2840|table-capture is a powerful command. |
2841|power requires some practice. Here are some things it can do: | 2841|Here are some things it can do: |
2842| | 2842| |
2843|Parse Cell Items By using column delimiter regular | 2843|Parse Cell Items By using column delimiter regular |
2844| expression and raw delimiter regular | 2844| expression and raw delimiter regular |
2845| expression, it parses the specified text | 2845| expression, it parses the specified text |
2846| area and extracts cell items from | 2846| area and extracts cell items from |
2847| non-table text and then forms a table out | 2847| non-table text and then forms a table out |
2848| of them. | 2848| of them. |
2849| | 2849| |
2850|Capture Text Area When no delimiters are specified it | 2850|Capture Text Area When no delimiters are specified it |
2851| creates a single cell table. The text in | 2851| creates a single cell table. The text in |
2852| the specified region is placed in that | 2852| the specified region is placed in that |
2853| cell. | 2853| cell. |
2854+-----------------------------------------------------------------+ 2854+-------------------------------------------------------------+
2855@end group 2855@end group
2856@end smallexample 2856@end smallexample
2857 2857
@@ -2861,22 +2861,22 @@ paragraphs occupying its own cell. Each cell can now be edited
2861independently without affecting the layout of other cells. 2861independently without affecting the layout of other cells.
2862 2862
2863@smallexample 2863@smallexample
2864+-----------------------------------------------------------------+ 2864+--------------------------------------------------------------+
2865|@samp{table-capture} is a powerful command, but mastering its | 2865|table-capture is a powerful command. |
2866|power requires some practice. Here are some things it can do: | 2866|Here are some things it can do: |
2867+---------------------+-------------------------------------------+ 2867+------------------+-------------------------------------------+
2868|Parse Cell Items |By using column delimiter regular | 2868|Parse Cell Items |By using column delimiter regular |
2869| |expression and raw delimiter regular | 2869| |expression and raw delimiter regular |
2870| |expression, it parses the specified text | 2870| |expression, it parses the specified text |
2871| |area and extracts cell items from | 2871| |area and extracts cell items from |
2872| |non-table text and then forms a table out | 2872| |non-table text and then forms a table out |
2873| |of them. | 2873| |of them. |
2874+---------------------+-------------------------------------------+ 2874+------------------+-------------------------------------------+
2875|Capture Text Area |When no delimiters are specified it | 2875|Capture Text Area |When no delimiters are specified it |
2876| |creates a single cell table. The text in | 2876| |creates a single cell table. The text in |
2877| |the specified region is placed in that | 2877| |the specified region is placed in that |
2878| |cell. | 2878| |cell. |
2879+---------------------+-------------------------------------------+ 2879+------------------+-------------------------------------------+
2880@end smallexample 2880@end smallexample
2881 2881
2882@noindent 2882@noindent
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index a2b9b16bae6..28c0285cf03 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -443,8 +443,7 @@ problems, , Bugs and problems, efaq, GNU Emacs FAQ}.
443 443
444@item 444@item
445The @samp{bug-gnu-emacs} mailing list (also available as the newsgroup 445The @samp{bug-gnu-emacs} mailing list (also available as the newsgroup
446@samp{gnu.emacs.bug}). This is where you will find most Emacs bug 446@samp{gnu.emacs.bug}). You can read the list archives at
447reports. You can read the list archives at
448@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs}. If you 447@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs}. If you
449like, you can also subscribe to the list. Be aware that the sole 448like, you can also subscribe to the list. Be aware that the sole
450purpose of this list is to provide the Emacs maintainers with 449purpose of this list is to provide the Emacs maintainers with
@@ -454,10 +453,10 @@ this.
454 453
455@item 454@item
456The bug tracker at @url{http://debbugs.gnu.org}. From early 2008, 455The bug tracker at @url{http://debbugs.gnu.org}. From early 2008,
457reports from the @samp{bug-gnu-emacs} list have been sent here. The 456reports from the @samp{bug-gnu-emacs} list have also been sent here.
458tracker contains the same information as the mailing list, just in a 457The tracker contains the same information as the mailing list, just in
459different format. You may prefer to browse and read reports using the 458a different format. You may prefer to browse and read reports using
460tracker. 459the tracker.
461 460
462@item 461@item
463The @samp{emacs-pretest-bug} mailing list. This list is no longer 462The @samp{emacs-pretest-bug} mailing list. This list is no longer
diff --git a/doc/emacs/windows.texi b/doc/emacs/windows.texi
index ae9b69ef3f4..6aa8a06778b 100644
--- a/doc/emacs/windows.texi
+++ b/doc/emacs/windows.texi
@@ -343,10 +343,10 @@ to an adjacent window. The minimum size is specified by the variables
343 343
344@kindex C-x - 344@kindex C-x -
345@findex shrink-window-if-larger-than-buffer 345@findex shrink-window-if-larger-than-buffer
346 The command @kbd{C-x -} (@code{shrink-window-if-larger-than-buffer}) 346 @kbd{C-x -} (@code{shrink-window-if-larger-than-buffer}) reduces the
347reduces the height of the selected window, if it is taller than 347height of the selected window, if it is taller than necessary to show
348necessary to show the whole text of the buffer it is displaying. It 348the whole text of the buffer it is displaying. It gives the extra
349gives the extra lines to other windows in the frame. 349lines to other windows in the frame.
350 350
351@kindex C-x + 351@kindex C-x +
352@findex balance-windows 352@findex balance-windows
diff --git a/doc/emacs/xresources.texi b/doc/emacs/xresources.texi
index 33ea83d7d6e..d30f7e42254 100644
--- a/doc/emacs/xresources.texi
+++ b/doc/emacs/xresources.texi
@@ -451,13 +451,6 @@ fonts. For more information about fontsets see the man page for
451@code{font} and @code{fontSet} resources are specified, the 451@code{font} and @code{fontSet} resources are specified, the
452@code{fontSet} resource is used. 452@code{fontSet} resource is used.
453 453
454 Thus, to specify @samp{-*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*}
455for both the popup and menu bar menus, write this:
456
457@example
458Emacs*menu*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*
459@end example
460
461@noindent 454@noindent
462Resources for @emph{non-menubar} toolkit pop-up menus have 455Resources for @emph{non-menubar} toolkit pop-up menus have
463@samp{menu*} instead of @samp{pane.menubar}. For example, to specify 456@samp{menu*} instead of @samp{pane.menubar}. For example, to specify
@@ -474,15 +467,6 @@ For dialog boxes, use @samp{dialog*}:
474Emacs.dialog*.font: Sans-12 467Emacs.dialog*.font: Sans-12
475@end example 468@end example
476 469
477@noindent
478The @samp{*menu*} as a wildcard matches @samp{pane.menubar} and
479@samp{menu@dots{}}.
480
481Experience shows that on some systems you may need to add
482@samp{shell.}@: before the @samp{pane.menubar} or @samp{menu*}. On
483some other systems, you must not add @samp{shell.}. The generic wildcard
484approach should work on both kinds of systems.
485
486 Here is a list of the specific resources for menu bars and pop-up menus: 470 Here is a list of the specific resources for menu bars and pop-up menus:
487 471
488@table @code 472@table @code
@@ -677,10 +661,10 @@ to courier with size 12:
677gtk-font-name = "courier 12" 661gtk-font-name = "courier 12"
678@end smallexample 662@end smallexample
679 663
680 The thing to note is that the font name is not an X font name, like 664 The thing to note is that the font name is not an X font name, but a
681-*-helvetica-medium-r-*--*-120-*-*-*-*-*-*, but a Pango font name. A Pango 665Pango font name. A Pango font name is basically of the format "family
682font name is basically of the format "family style size", where the style 666style size", where the style is optional as in the case above. A name
683is optional as in the case above. A name with a style could be for example: 667with a style could be for example:
684 668
685@smallexample 669@smallexample
686gtk-font-name = "helvetica bold 10" 670gtk-font-name = "helvetica bold 10"
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index df3468ea087..8376dbaa7ca 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,7 @@
12011-05-17 Glenn Morris <rgm@gnu.org>
2
3 * gnus.texi (Face): Fix typo.
4
12011-05-14 Glenn Morris <rgm@gnu.org> 52011-05-14 Glenn Morris <rgm@gnu.org>
2 6
3 * dired-x.texi (Omitting Examples): Minor addition. 7 * dired-x.texi (Omitting Examples): Minor addition.
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index a35a7e85794..931a9bedb39 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -23501,7 +23501,7 @@ specifications.
23501The @code{gnus-face-properties-alist} variable affects the appearance of 23501The @code{gnus-face-properties-alist} variable affects the appearance of
23502displayed Face images. @xref{X-Face}. 23502displayed Face images. @xref{X-Face}.
23503 23503
23504Viewing an @code{Face} header requires an Emacs that is able to display 23504Viewing a @code{Face} header requires an Emacs that is able to display
23505PNG images. 23505PNG images.
23506@c Maybe add this: 23506@c Maybe add this:
23507@c (if (featurep 'xemacs) 23507@c (if (featurep 'xemacs)
diff --git a/etc/NEWS b/etc/NEWS
index 7da456dfc3d..9889067fb87 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -90,8 +90,10 @@ error, its exit status is 1.
90 90
91** auto-mode-case-fold is now enabled by default. 91** auto-mode-case-fold is now enabled by default.
92 92
93** Internationalization changes
94
93+++ 95+++
94** Emacs now supports display and editing of bidirectional text. 96*** Emacs now supports display and editing of bidirectional text.
95 97
96See the node "Bidirectional Editing" in the Emacs Manual for some 98See the node "Bidirectional Editing" in the Emacs Manual for some
97initial documentation. 99initial documentation.
@@ -117,6 +119,20 @@ Note that some advanced display features, such as overlay strings and
117`display' text properties, do not yet work correctly when 119`display' text properties, do not yet work correctly when
118bidirectional text is reordered for display. 120bidirectional text is reordered for display.
119 121
122+++
123*** Enhanced support for characters that have no glyphs in available fonts.
124If a character has no glyphs in any of the available fonts, Emacs by
125default will display it either as a hexadecimal code in a box or as a
126thin 1-pixel space. In addition to these two methods, Emacs can
127display these characters as empty box, as an acronym, or not display
128them at all. To change how these characters are displayed, customize
129the variable `glyphless-char-display-control'.
130
131On character terminals these methods are used for characters that
132cannot be encoded by the `terminal-coding-system'.
133
134*** There are two new input methods for Persian/Farsi: farsi and farsi-translit.
135
120** GTK scroll-bars are now placed on the right by default. 136** GTK scroll-bars are now placed on the right by default.
121Use `set-scroll-bar-mode' to change this. 137Use `set-scroll-bar-mode' to change this.
122 138
@@ -154,18 +170,6 @@ off by customizing x-gtk-use-system-tooltips.
154with Xft. To change font, use the X resource font, for example: 170with Xft. To change font, use the X resource font, for example:
155Emacs.pane.menubar.font: Courier-12 171Emacs.pane.menubar.font: Courier-12
156 172
157+++
158** Enhanced support for characters that have no glyphs in available fonts.
159If a character has no glyphs in any of the available fonts, Emacs by
160default will display it either as a hexadecimal code in a box or as a
161thin 1-pixel space. In addition to these two methods, Emacs can
162display these characters as empty box, as an acronym, or not display
163them at all. To change how these characters are displayed, customize
164the variable `glyphless-char-display-control'.
165
166On character terminals these methods are used for characters that
167cannot be encoded by the `terminal-coding-system'.
168
169** On graphical displays, the mode-line no longer ends in dashes. 173** On graphical displays, the mode-line no longer ends in dashes.
170 174
171** On Nextstep/OSX, the menu bar can be hidden by customizing 175** On Nextstep/OSX, the menu bar can be hidden by customizing
diff --git a/leim/ChangeLog b/leim/ChangeLog
index fdc54fd475c..98af78d2089 100644
--- a/leim/ChangeLog
+++ b/leim/ChangeLog
@@ -1,3 +1,13 @@
12011-05-16 Eli Zaretskii <eliz@gnu.org>
2
3 * Makefile.in (OTHERS): Add $(srcdir)/quail/persian.elc.
4
5 * makefile.w32-in (MISC): Add $(srcdir)/quail/persian.elc.
6
72011-05-16 Mohsen BANAN <libre@mohsen.banan.1.byname.net>
8
9 * quail/persian.el: New file.
10
12011-05-05 Eli Zaretskii <eliz@gnu.org> 112011-05-05 Eli Zaretskii <eliz@gnu.org>
2 12
3 * quail/latin-ltx.el <\beth, \gimel, \daleth>: Produce 13 * quail/latin-ltx.el <\beth, \gimel, \daleth>: Produce
diff --git a/leim/Makefile.in b/leim/Makefile.in
index 531f0481f7a..af93d26351d 100644
--- a/leim/Makefile.in
+++ b/leim/Makefile.in
@@ -126,6 +126,7 @@ OTHERS= \
126 ${srcdir}/quail/ipa.elc \ 126 ${srcdir}/quail/ipa.elc \
127 ${srcdir}/quail/hebrew.elc \ 127 ${srcdir}/quail/hebrew.elc \
128 ${srcdir}/quail/georgian.elc \ 128 ${srcdir}/quail/georgian.elc \
129 $(srcdir)/quail/persian.elc \
129 ${srcdir}/quail/sisheng.elc 130 ${srcdir}/quail/sisheng.elc
130 131
131MISC= \ 132MISC= \
diff --git a/leim/makefile.w32-in b/leim/makefile.w32-in
index 08b029db861..1ab14c72b3d 100644
--- a/leim/makefile.w32-in
+++ b/leim/makefile.w32-in
@@ -120,6 +120,7 @@ MISC= \
120 $(srcdir)/quail/ipa.elc \ 120 $(srcdir)/quail/ipa.elc \
121 $(srcdir)/quail/hebrew.elc \ 121 $(srcdir)/quail/hebrew.elc \
122 $(srcdir)/quail/georgian.elc \ 122 $(srcdir)/quail/georgian.elc \
123 $(srcdir)/quail/persian.elc \
123 $(srcdir)/quail/sisheng.elc 124 $(srcdir)/quail/sisheng.elc
124 125
125MISC_DIC=\ 126MISC_DIC=\
diff --git a/leim/quail/persian.el b/leim/quail/persian.el
new file mode 100644
index 00000000000..b664eb5995b
--- /dev/null
+++ b/leim/quail/persian.el
@@ -0,0 +1,296 @@
1;;; persian.el --- Quail package for inputting Persian/Farsi keyboard -*- coding: utf-8;-*-
2
3;; Copyright (C) 2011 Free Software Foundation, Inc.
4
5;; Author: Mohsen BANAN <libre@mohsen.banan.1.byname.net>
6;; http://mohsen.banan.1.byname.net/contact
7
8;; Keywords: multilingual, input method, Farsi, Persian, keyboard
9
10;; This file is part of GNU Emacs.
11
12;; GNU Emacs is free software: you can redistribute it and/or modify
13;; it under the terms of the GNU General Public License as published by
14;; the Free Software Foundation, either version 3 of the License, or
15;; (at your option) any later version.
16
17;; GNU Emacs is distributed in the hope that it will be useful,
18;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;; GNU General Public License for more details.
21
22;; You should have received a copy of the GNU General Public License
23;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
24
25;; This is a Halaal Poly-Existential intended to remain perpetually Halaal.
26
27;;; Commentary:
28;;
29;; This file contains a collection of input methods for
30;; Persian languages (Farsi, Urdu, Pashto/Afghanic, ...)
31;;
32;; At this time, the following input methods are specified:
33;;
34;; - (farsi) Persian Keyboard based on Islamic Republic of Iran's ISIR-9147
35;; - (farsi-translit) Intuitive transliteration keyboard layout for Persian
36;;
37
38;;; Code:
39
40(require 'quail)
41
42;;
43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
44;;
45;; farsi
46;;
47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
48;;
49;; The keyboard mapping defined here is based on:
50;;
51;; Institute of Standards and Industrial Research of Iran
52;; Information Technology – Layout of Persian Letters and Symbols on Computer Keyboards
53;; ISIRI 9147 -- 1st edition
54;; http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147
55;;
56;; Only layers 1 and 2 of ISIRI-9147 are applicable to emacs.
57;;
58;; This input method was built using the Farsi table in X Keyboard Configuration Data Base.
59;;
60;; 0) Selected gnome keyboard "USA"
61;; 1) Created a list of all keys
62;; 2) Selected gnome keyboard "Iran"
63;; 3) For each key just press it and get the mapped persian character
64;;
65
66
67(quail-define-package
68 "farsi" "Farsi" " Ù" nil "Farsi input method.
69
70Based on ISIRI-9149 Layout of Persian Letters and Symbols on Computer Keyboards.
71" nil t t t t nil nil nil nil nil t)
72
73;; +----------------------------------------------------------------+
74;; | ۱! | ۲٬ | ۳٫ | ۴﷼ | ۵٪ | ۶× | ۷، | ۸* | ۹) | ۰( | -ـ | =+ | `÷ |
75;; +----------------------------------------------------------------+
76;; | ضْ| صٌ| Ø«Ù| قً| ÙÙ| غÙ| عَ| هّ| Ø®] | Ø­[ | ج} | Ú†{ |
77;; +------------------------------------------------------------+
78;; | شؤ | سئ | یي | بإ | لأ | اآ | تة | ن» | م« | ک: | گ؛ | \| |
79;; +-----------------------------------------------------------+
80;; | ظك | طٓ| زژ | رٰ| ذB | دٔ| پء | و> | .< | /؟ |
81;; +-------------------------------------------+
82
83(quail-define-rules
84 ("1" ?Û±)
85 ("2" ?Û²)
86 ("3" ?Û³)
87 ("4" ?Û´)
88 ("5" ?Ûµ)
89 ("6" ?Û¶)
90 ("7" ?Û·)
91 ("8" ?Û¸)
92 ("9" ?Û¹)
93 ("0" ?Û°)
94 ("-" ?-)
95 ("=" ?=)
96 ;;("`" ?â€\)) ;; اتصال مجازى
97 ("q" ?ض)
98 ("w" ?ص)
99 ("e" ?Ø«)
100 ("r" ?Ù‚)
101 ("t" ?Ù)
102 ("y" ?غ)
103 ("u" ?ع)
104 ("i" ?Ù‡)
105 ("o" ?Ø®)
106 ("p" ?Ø­)
107 ("[" ?ج)
108 ("]" ?Ú†)
109 ("a" ?Ø´)
110 ("s" ?س)
111 ("d" ?ی)
112 ("f" ?ب)
113 ("g" ?Ù„)
114 ("h" ?ا)
115 ("j" ?ت)
116 ("k" ?Ù†)
117 ("l" ?Ù…)
118 (";" ?Ú©)
119 ("'" ?Ú¯)
120 ("\\" ?\\) ;; خط اريب وارو
121 ("z" ?ظ)
122 ("x" ?Ø·)
123 ("c" ?ز)
124 ("v" ?ر)
125 ("b" ?ذ)
126 ("n" ?د)
127 ("m" ?Ù¾)
128 ("," ?Ùˆ)
129 ("." ?.)
130 ("/" ?/)
131
132 ("!" ?!)
133 ("@" ?Ù¬)
134 ("#" ?Ù«)
135 ("$" ?ï·¼)
136 ("%" ?Ùª)
137 ("^" ?×)
138 ("&" ?،)
139 ("*" ?*)
140 ("(" ?\))
141 (")" ?\()
142 ("_" ?Ù€)
143 ("+" ?+)
144 ("~" ?÷)
145 ("Q" ?Ù’) ;; ساکن ÙØ§Ø±Ø³Ù‰
146 ("W" ?ÙŒ) ;; دو پيش ÙØ§Ø±Ø³Ù‰ -- تنوين Ø±ÙØ¹
147 ("E" ?Ù) ;; دو زير ÙØ§Ø±Ø³Ù‰ -- تنوين جر
148 ("R" ?Ù‹) ;; دو زبر ÙØ§Ø±Ø³Ù‰ -- تنوين نصب
149 ("T" ?Ù) ;; پيش ÙØ§Ø±Ø³Ù‰ -- ضمه
150 ("Y" ?Ù) ;; زير ÙØ§Ø±Ø³Ù‰ -- کسره
151 ("U" ?ÙŽ) ;; زبر ÙØ§Ø±Ø³Ù‰ -- ÙØªØ­Ù‡
152 ("I" ?Ù‘) ;; تشديد ÙØ§Ø±Ø³Ù‰
153 ("O" ?\])
154 ("P" ?\[)
155 ("{" ?})
156 ("}" ?{)
157 ("A" ?ؤ)
158 ("S" ?ئ)
159 ("D" ?ÙŠ)
160 ("F" ?Ø¥)
161 ("G" ?Ø£)
162 ("H" ?Ø¢)
163 ("J" ?Ø©)
164 ("K" ?»)
165 ("L" ?«)
166 (":" ?:)
167 ("\"" ?Ø›)
168 ("|" ?|)
169 ("Z" ?Ùƒ)
170 ("X" ?Ù“)
171 ("C" ?Ú˜)
172 ("V" ?Ù°)
173 ;; ("B" ?‌‌) ;; ÙØ§ØµÙ„هً مجازى
174 ("N" ?Ù”) ;; همزه ÙØ§Ø±Ø³Ù‰ بالا
175 ("M" ?Ø¡) ;; harf farsi hamzeh
176 ("<" ?>)
177 (">" ?<)
178 ("?" ?ØŸ)
179 )
180
181;;
182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
183;;
184;; farsi-translit
185;;
186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
187;;;
188;;; This is a persian/farsi transliteration keyboard designed
189;;; for people who:
190;;; - Know how to write in farsi
191;;; - Are comfortable with the qwerty keyboard
192;;; - Are familiar with two letter phonetic mapping to persian characters
193;;; (e.g.: gh, kh, ch, sh, zh, hh, lh)
194;;;
195;;; This translit keyboard is designed to be intuitive such that
196;;; mapping are easy and natural to remember for a persian writer.
197;;; For some persian characters there are multiple ways of inputing
198;;; the same character.
199;;;
200;;; The letter 'h' is used for a number of two character mappings,
201;;; this means that some character sequence inputs need to be repeated
202;;; followed by a backspace followed by the 'h'.
203;;; For example: سحر = 's' 's' '<bs>' 'h' 'h' 'r'
204;;; In practice such sequences are rare.
205;;;
206
207
208
209(quail-define-package
210 "farsi-translit" "Farsi" "Ù¾" t
211 "Intuitive transliteration keyboard layout for persian/farsi.
212" nil t t t t nil nil nil nil nil t)
213
214
215(quail-define-rules
216 ("a" ?ا)
217 ("A" ?Ø¢) ;; alef madde
218 ("b" ?ب)
219 ("p" ?Ù¾)
220 ("t" ?ت)
221 ("c" ?Ø«)
222 ("j" ?ج)
223 ("ch" ?Ú†)
224 ("hh" ?Ø­)
225 ("kh" ?Ø®)
226 ("d" ?د)
227 ("Z" ?ذ)
228 ("r" ?ر)
229 ("z" ?ز)
230 ("zh" ?Ú˜)
231 ("s" ?س)
232 ("sh" ?Ø´)
233 ("S" ?ص)
234 ("x" ?ض)
235 ("T" ?Ø·)
236 ("X" ?ظ)
237 ("w" ?ع)
238 ("Q" ?غ)
239 ("f" ?Ù)
240 ("q" ?Ù‚)
241 ("gh" ?Ù‚)
242 ("k" ?Ú©)
243 ("K" ?Ùƒ) ;; Arabic kaf
244 ("g" ?Ú¯)
245 ("l" ?Ù„)
246 ("lh" ?ï»»)
247 ("m" ?Ù…)
248 ("n" ?Ù†)
249 ("v" ?Ùˆ)
250 ("V" ?ؤ)
251 ("u" ?Ùˆ)
252 ("H" ?Ù‡)
253 ("h" ?Ù‡)
254 ("th" ?Ø©) ;; ta marbuteh
255 ("yh" ?Û€) ;; he ye
256 ("y" ?Ù‰)
257 ("i" ?ÙŠ)
258 ("I" ?ئ)
259
260 ("1" ?Û±)
261 ("2" ?Û²)
262 ("3" ?Û³)
263 ("4" ?Û´)
264 ("5" ?Ûµ)
265 ("6" ?Û¶)
266 ("7" ?Û·)
267 ("8" ?Û¸)
268 ("9" ?Û¹)
269 ("0" ?Û°)
270
271 ("F" ?Ø¥)
272 ("G" ?Ø£)
273
274 ("~" ?Ù‘) ;; tashdid ;; تشديد ÙØ§Ø±Ø³Ù‰
275 ("`" ?Ù“)
276 ("e" ?Ù) ;; zir زير ÙØ§Ø±Ø³Ù‰ -- ÙØªØ­Ù‡
277 ("E" ?Ù) ;; eizan ;; دو زير ÙØ§Ø±Ø³Ù‰ -- تنوين جر
278 ("#" ?Ù‹) ;; Ù‹ tanvin nasb ;; دو زبر ÙØ§Ø±Ø³Ù‰ -- تنوين نصب
279 ("@" ?Ù’) ;; ساکن ÙØ§Ø±Ø³Ù‰
280 ("^" ?ÙŽ) ;; zbar ;; زبر ÙØ§Ø±Ø³Ù‰ -- ÙØªØ­Ù‡
281 ("o" ?Ù) ;; peesh ;; پيش ÙØ§Ø±Ø³Ù‰ -- ضمه
282 ("O" ?ÙŒ) ;; دو پيش ÙØ§Ø±Ø³Ù‰ -- تنوين Ø±ÙØ¹
283 ("?" ?ØŸ) ;; alamat soal
284 ("&" ?Ù”) ;; همزه ÙØ§Ø±Ø³Ù‰ بالا
285 ("$" ?Ø¡) ;; hamzeh
286 ("%" ?÷) ;;
287 ("*" ?×) ;;
288 (";" ?Ø›) ;;
289 (",h" ?،) ;; farsi
290 (",h" ?,) ;; latin
291 ("." ?.) ;;
292 ("_" ?Ù€) ;;
293)
294
295
296;;; persian.el ends here
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 48be120982b..1fc7cc88f8d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,6 +1,50 @@
12011-05-16 Paul Eggert <eggert@cs.ucla.edu> 12011-05-17 Stefan Monnier <monnier@iro.umontreal.ca>
2 2
3 * vc/diff-mode.el (diff-fixup-modifs): Remove stray ')' (Bug#8672). 3 * progmodes/grep.el (grep-mode): Disable default
4 compilation-directory-matcher setting (bug#8684).
5
62011-05-17 Michael Albinus <michael.albinus@gmx.de>
7
8 * net/tramp.el (tramp-handle-insert-file-contents): Use "dd"
9 instead of "head" and "tail". There were problems with SunOS 5.9,
10 and it performs better.
11
122011-05-17 Glenn Morris <rgm@gnu.org>
13
14 * mail/mail-utils.el (mail-dont-reply-to): Silence compiler.
15
16 * progmodes/idlw-shell.el (idlwave-shell-complete-filename):
17 Replace obsolete function.
18
19 * shell.el (pcomplete-parse-arguments-function): Declare.
20
21 * calendar/appt.el (appt-message-warning-time, appt-display-mode-line)
22 (appt-display-diary, appt-display-interval, appt-prev-comp-time)
23 (appt-check): Doc fixes.
24 (appt-disp-window-function, appt-delete-window-function):
25 Remove needless special case in custom :type.
26 (appt-display-count): Default to 0, not nil.
27 (appt-check): Reset appt-display-count to 0, not nil.
28
292011-05-17 Juanma Barranquero <lekktu@gmail.com>
30
31 * progmodes/python.el (python-font-lock-keywords):
32 Add the Python 3.X keyword "nonlocal" (bug#8639).
33
342011-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
35
36 * emacs-lisp/eieio.el (defmethod): Fix quoting of code (bug#8677).
37
382011-05-16 Kevin Ryde <user42@zip.com.au>
39
40 * info-look.el (makefile-automake-mode): New setups, looking in
41 automake manual, then makefile-mode.
42 (makefile-mode): Remove automake manual, have it just in
43 makefile-automake-mode since there's various things different or
44 not relevant to plain make.
45 (makefile-mode): Remove "other-modes" non-existent automake-mode,
46 believe a hypothetical automake-mode would go to makefile-mode,
47 not the other way around.
4 48
52011-05-15 Chong Yidong <cyd@stupidchicken.com> 492011-05-15 Chong Yidong <cyd@stupidchicken.com>
6 50
diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el
index d547102a6ee..7fde9e348db 100644
--- a/lisp/calendar/appt.el
+++ b/lisp/calendar/appt.el
@@ -62,15 +62,10 @@
62;; `appt-check' reads. 62;; `appt-check' reads.
63;; 63;;
64;; You can change the way the appointment window is created/deleted by 64;; You can change the way the appointment window is created/deleted by
65;; setting the variables 65;; setting the variables `appt-disp-window-function' and
66;; 66;; `appt-delete-window-function'. For instance, you could be set them
67;; appt-disp-window-function 67;; to functions that display appointments in pop-up frames, which are
68;; and 68;; lowered or iconified after `appt-display-interval' minutes.
69;; appt-delete-window-function
70;;
71;; For instance, these variables could be set to functions that display
72;; appointments in pop-up frames, which are lowered or iconified after
73;; `appt-display-interval' minutes.
74;; 69;;
75 70
76;;; Code: 71;;; Code:
@@ -84,7 +79,8 @@
84 :group 'calendar) 79 :group 'calendar)
85 80
86(defcustom appt-message-warning-time 12 81(defcustom appt-message-warning-time 12
87 "Default time in minutes before an appointment that the warning begins." 82 "Default time in minutes before an appointment that the warning begins.
83You probably want to make `appt-display-interval' a factor of this."
88 :type 'integer 84 :type 'integer
89 :group 'appt) 85 :group 'appt)
90 86
@@ -122,7 +118,9 @@ See also `appt-audible' and `appt-display-mode-line'."
122 118
123(defcustom appt-display-mode-line t 119(defcustom appt-display-mode-line t
124 "Non-nil means display minutes to appointment and time on the mode line. 120 "Non-nil means display minutes to appointment and time on the mode line.
125This is in addition to any other display of appointment messages." 121This is in addition to any other display of appointment messages.
122The mode line updates every minute, independent of the value of
123`appt-display-interval'."
126 :type 'boolean 124 :type 'boolean
127 :group 'appt) 125 :group 'appt)
128 126
@@ -134,12 +132,21 @@ Only relevant if reminders are to be displayed in their own window."
134 132
135(defcustom appt-display-diary t 133(defcustom appt-display-diary t
136 "Non-nil displays the diary when the appointment list is first initialized. 134 "Non-nil displays the diary when the appointment list is first initialized.
137This will occur at midnight when the appointment list is updated." 135This occurs when this package is first activated, and then at
136midnight when the appointment list updates."
138 :type 'boolean 137 :type 'boolean
139 :group 'appt) 138 :group 'appt)
140 139
141(defcustom appt-display-interval 3 140(defcustom appt-display-interval 3
142 "Number of minutes to wait between checking the appointment list." 141 "Interval in minutes at which to display appointment reminders.
142Once an appointment becomes due, Emacs displays reminders every
143`appt-display-interval' minutes. You probably want to make
144`appt-message-warning-time' be a multiple of this, so that you get
145a final message displayed precisely when the appointment is due.
146
147Note that this variable controls the interval at which
148`appt-display-message' is called. The mode line display (if active)
149always updates every minute."
143 :type 'integer 150 :type 'integer
144 :group 'appt) 151 :group 'appt)
145 152
@@ -148,15 +155,13 @@ This will occur at midnight when the appointment list is updated."
148Only relevant if reminders are being displayed in a window. 155Only relevant if reminders are being displayed in a window.
149It should take three string arguments: the number of minutes till 156It should take three string arguments: the number of minutes till
150the appointment, the current time, and the text of the appointment." 157the appointment, the current time, and the text of the appointment."
151 :type '(choice (const appt-disp-window) 158 :type 'function
152 function)
153 :group 'appt) 159 :group 'appt)
154 160
155(defcustom appt-delete-window-function 'appt-delete-window 161(defcustom appt-delete-window-function 'appt-delete-window
156 "Function called to remove appointment window and buffer. 162 "Function called to remove appointment window and buffer.
157Only relevant if reminders are being displayed in a window." 163Only relevant if reminders are being displayed in a window."
158 :type '(choice (const appt-delete-window) 164 :type 'function
159 function)
160 :group 'appt) 165 :group 'appt)
161 166
162 167
@@ -194,10 +199,9 @@ Only used if `appt-display-mode-line' is non-nil.")
194(put 'appt-mode-string 'risky-local-variable t) ; for 'face property 199(put 'appt-mode-string 'risky-local-variable t) ; for 'face property
195 200
196(defvar appt-prev-comp-time nil 201(defvar appt-prev-comp-time nil
197 "Time of day (mins since midnight) at which we last checked appointments. 202 "Time of day (mins since midnight) at which we last checked appointments.")
198A nil value forces the diary file to be (re-)checked for appointments.")
199 203
200(defvar appt-display-count nil 204(defvar appt-display-count 0
201 "Internal variable used to count number of consecutive reminders.") 205 "Internal variable used to count number of consecutive reminders.")
202 206
203(defvar appt-timer nil 207(defvar appt-timer nil
@@ -249,29 +253,28 @@ The following variables control appointment notification:
249 Controls the format in which reminders are displayed. 253 Controls the format in which reminders are displayed.
250 254
251`appt-audible' 255`appt-audible'
252 Variable used to determine if reminder is audible. 256 Non-nil means there is an audible component to reminders.
253 Default is t.
254 257
255`appt-message-warning-time' 258`appt-message-warning-time'
256 Variable used to determine when appointment message 259 The default number of minutes in advance at which reminders
257 should first be displayed. 260 should start.
258 261
259`appt-display-mode-line' 262`appt-display-mode-line'
260 If non-nil, a generic message giving the time remaining 263 Non-nil means show in the mode line a countdown to the
261 is shown in the mode-line when an appointment is due. 264 time of each appointment, once reminders start.
262 265
263`appt-display-interval' 266`appt-display-interval'
264 Interval in minutes at which to check for pending appointments. 267 Interval in minutes at which to display appointment messages.
265 268
266`appt-display-diary' 269`appt-display-diary'
267 Display the diary buffer when the appointment list is 270 Non-nil means display the diary whenever the appointment list is
268 initialized for the first time in a day. 271 initialized (e.g. the first time we check for appointments each day).
269 272
270The following variables are only relevant if reminders are being 273The following variables are only relevant if reminders are being
271displayed in a window: 274displayed in a window:
272 275
273`appt-display-duration' 276`appt-display-duration'
274 The number of seconds an appointment message is displayed. 277 Number of seconds for which an appointment message is displayed.
275 278
276`appt-disp-window-function' 279`appt-disp-window-function'
277 Function called to display appointment window. 280 Function called to display appointment window.
@@ -281,7 +284,7 @@ displayed in a window:
281 (interactive "P") ; so people can force updates 284 (interactive "P") ; so people can force updates
282 (let* ((min-to-app -1) 285 (let* ((min-to-app -1)
283 (prev-appt-mode-string appt-mode-string) 286 (prev-appt-mode-string appt-mode-string)
284 (prev-appt-display-count (or appt-display-count 0)) 287 (prev-appt-display-count appt-display-count)
285 now now-mins appt-mins appt-warn-time) 288 now now-mins appt-mins appt-warn-time)
286 (save-excursion ; FIXME ? 289 (save-excursion ; FIXME ?
287 ;; Convert current time to minutes after midnight (12.01am = 1). 290 ;; Convert current time to minutes after midnight (12.01am = 1).
@@ -301,9 +304,12 @@ displayed in a window:
301 ;; diary-number-of-entries. Since appt.el only 304 ;; diary-number-of-entries. Since appt.el only
302 ;; works on a daily basis, no need for more entries. 305 ;; works on a daily basis, no need for more entries.
303 (diary-list-entries (calendar-current-date) 1 t))))) 306 (diary-list-entries (calendar-current-date) 1 t)))))
307 ;; Reset everything now in case we somehow missed a minute,
308 ;; or (more likely) an appt was deleted. (This is the only
309 ;; reason we need prev-appt-display-count.)
304 (setq appt-prev-comp-time now-mins 310 (setq appt-prev-comp-time now-mins
305 appt-mode-string nil 311 appt-mode-string nil
306 appt-display-count nil) 312 appt-display-count 0)
307 ;; Remove any entries that are in the past. 313 ;; Remove any entries that are in the past.
308 ;; FIXME how can there be any such entries, given that this 314 ;; FIXME how can there be any such entries, given that this
309 ;; function removes entries when they hit zero minutes, 315 ;; function removes entries when they hit zero minutes,
@@ -354,7 +360,7 @@ displayed in a window:
354 ;; appointment on the next cycle. 360 ;; appointment on the next cycle.
355 (if (zerop min-to-app) 361 (if (zerop min-to-app)
356 (setq appt-time-msg-list (cdr appt-time-msg-list) 362 (setq appt-time-msg-list (cdr appt-time-msg-list)
357 appt-display-count nil) 363 appt-display-count 0)
358 (setq appt-display-count (1+ prev-appt-display-count))))) 364 (setq appt-display-count (1+ prev-appt-display-count)))))
359 ;; If we have changed the mode line string, redisplay all mode lines. 365 ;; If we have changed the mode line string, redisplay all mode lines.
360 (and appt-display-mode-line 366 (and appt-display-mode-line
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
index 6abf9aa3657..8c5260106a8 100644
--- a/lisp/emacs-lisp/eieio.el
+++ b/lisp/emacs-lisp/eieio.el
@@ -1308,7 +1308,7 @@ Summary:
1308 (defgeneric ,method ,args 1308 (defgeneric ,method ,args
1309 ,(or (documentation code) 1309 ,(or (documentation code)
1310 (format "Generically created method `%s'." method))) 1310 (format "Generically created method `%s'." method)))
1311 (eieio--defmethod ',method ',key ',class ',code)))) 1311 (eieio--defmethod ',method ',key ',class #',code))))
1312 1312
1313(defun eieio--defmethod (method kind argclass code) 1313(defun eieio--defmethod (method kind argclass code)
1314 "Work part of the `defmethod' macro defining METHOD with ARGS." 1314 "Work part of the `defmethod' macro defining METHOD with ARGS."
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 8dad14c44ae..068093159e3 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,21 @@
12011-05-17 Glenn Morris <rgm@gnu.org>
2
3 * gnus-group.el (gnus-import-other-newsrc-file):
4 Use insert-file-contents.
5
62011-05-16 Teodor Zlatanov <tzz@lifelogs.com>
7
8 * gnus-sum.el (gnus-summary-hide-all-threads): Add update message every
9 1000 iterations.
10
112011-05-16 Katsumi Yamaoka <yamaoka@jpl.org>
12
13 * nntp.el (nntp-open-connection): Check if process-type is available.
14
152011-05-16 Julien Danjou <julien@danjou.info>
16
17 * shr.el (shr-tag-del): Add support for del tag.
18
12011-05-13 Katsumi Yamaoka <yamaoka@jpl.org> 192011-05-13 Katsumi Yamaoka <yamaoka@jpl.org>
2 20
3 * gnus-html.el (gnus-html-put-image): Register a displayer. 21 * gnus-html.el (gnus-html-put-image): Register a displayer.
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index c265538e19c..a21faa8c983 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -4407,7 +4407,7 @@ and the second element is the address."
4407;; file. Use with caution, if at all. 4407;; file. Use with caution, if at all.
4408(defun gnus-import-other-newsrc-file (file) 4408(defun gnus-import-other-newsrc-file (file)
4409 (with-temp-buffer 4409 (with-temp-buffer
4410 (insert-file file) 4410 (insert-file-contents file)
4411 (let (form) 4411 (let (form)
4412 (while (ignore-errors 4412 (while (ignore-errors
4413 (setq form (read (current-buffer)))) 4413 (setq form (read (current-buffer))))
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 3cbb479e068..53c2e5e596f 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -11533,8 +11533,12 @@ will not be hidden."
11533 (interactive) 11533 (interactive)
11534 (save-excursion 11534 (save-excursion
11535 (goto-char (point-min)) 11535 (goto-char (point-min))
11536 (let ((end nil)) 11536 (let ((end nil)
11537 (count 0))
11537 (while (not end) 11538 (while (not end)
11539 (incf count)
11540 (when (zerop (mod count 1000))
11541 (message "Hiding all threads... %d" count))
11538 (when (or (not predicate) 11542 (when (or (not predicate)
11539 (gnus-map-articles 11543 (gnus-map-articles
11540 predicate (gnus-summary-article-children))) 11544 predicate (gnus-summary-article-children)))
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el
index aa4b9184dbb..cdd12abbc06 100644
--- a/lisp/gnus/nntp.el
+++ b/lisp/gnus/nntp.el
@@ -1362,7 +1362,8 @@ password contained in '~/.nntp-authinfo'."
1362 (nntp-kill-buffer pbuffer)) 1362 (nntp-kill-buffer pbuffer))
1363 (when (and (buffer-name pbuffer) 1363 (when (and (buffer-name pbuffer)
1364 process) 1364 process)
1365 (when (and (fboundp 'set-network-process-option) 1365 (when (and (fboundp 'set-network-process-option) ;; Unavailable in XEmacs.
1366 (fboundp 'process-type) ;; Emacs 22 doesn't provide it.
1366 (eq (process-type process) 'network)) 1367 (eq (process-type process) 'network))
1367 ;; Use TCP-keepalive so that connections that pass through a NAT router 1368 ;; Use TCP-keepalive so that connections that pass through a NAT router
1368 ;; don't hang when left idle. 1369 ;; don't hang when left idle.
diff --git a/lisp/gnus/shr.el b/lisp/gnus/shr.el
index edd106618df..d23d9c7724b 100644
--- a/lisp/gnus/shr.el
+++ b/lisp/gnus/shr.el
@@ -780,6 +780,9 @@ ones, in case fg and bg are nil."
780(defun shr-tag-s (cont) 780(defun shr-tag-s (cont)
781 (shr-fontize-cont cont 'shr-strike-through)) 781 (shr-fontize-cont cont 'shr-strike-through))
782 782
783(defun shr-tag-del (cont)
784 (shr-fontize-cont cont 'shr-strike-through))
785
783(defun shr-tag-b (cont) 786(defun shr-tag-b (cont)
784 (shr-fontize-cont cont 'bold)) 787 (shr-fontize-cont cont 'bold))
785 788
diff --git a/lisp/info-look.el b/lisp/info-look.el
index 6baed1c422d..5e51fcc9b9d 100644
--- a/lisp/info-look.el
+++ b/lisp/info-look.el
@@ -720,11 +720,31 @@ Return nil if there is nothing appropriate in the buffer near point."
720 :mode 'makefile-mode 720 :mode 'makefile-mode
721 :regexp "\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z][_a-zA-Z0-9-]*" 721 :regexp "\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z][_a-zA-Z0-9-]*"
722 :doc-spec '(("(make)Name Index" nil 722 :doc-spec '(("(make)Name Index" nil
723 "^[ \t]*`" "'")
724 ("(automake)Macro and Variable Index" nil
725 "^[ \t]*`" "'")) 723 "^[ \t]*`" "'"))
726 :parse-rule "\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z0-9-]+" 724 :parse-rule "\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z0-9-]+")
727 :other-modes '(automake-mode)) 725
726(info-lookup-maybe-add-help
727 :topic 'symbol
728 :mode 'makefile-automake-mode
729 ;; similar regexp/parse-rule as makefile-mode, but also the following
730 ;; (which have index entries),
731 ;; "##" special automake comment
732 ;; "+=" append operator, separate from the GNU make one
733 :regexp "\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z][_a-zA-Z0-9-]*\\|##\\|\\+="
734 :parse-rule "\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z0-9-]+\\|##\\|\\+="
735 :doc-spec '(
736 ;; "(automake)Macro Index" is autoconf macros used in
737 ;; configure.in, not Makefile.am, so don't have that here.
738 ("(automake)Variable Index" nil "^[ \t]*`" "'")
739 ;; In automake 1.4 macros and variables were a combined node.
740 ("(automake)Macro and Variable Index" nil "^[ \t]*`" "'")
741 ;; Directives like "if" are in the "General Index".
742 ;; Prefix "`" since the text for say `+=' isn't always an
743 ;; @item etc and so not always at the start of a line.
744 ("(automake)General Index" nil "`" "'")
745 ;; In automake 1.3 there was just a single "Index" node.
746 ("(automake)Index" nil "`" "'"))
747 :other-modes '(makefile-mode))
728 748
729(info-lookup-maybe-add-help 749(info-lookup-maybe-add-help
730 :mode 'texinfo-mode 750 :mode 'texinfo-mode
diff --git a/lisp/mail/mail-utils.el b/lisp/mail/mail-utils.el
index 328a5d50d34..2e6f06a6758 100644
--- a/lisp/mail/mail-utils.el
+++ b/lisp/mail/mail-utils.el
@@ -236,7 +236,7 @@ comma-separated list, and return the pruned list."
236 (setq mail-dont-reply-to-names 236 (setq mail-dont-reply-to-names
237 (concat 237 (concat
238 ;; `rmail-default-dont-reply-to-names' is obsolete. 238 ;; `rmail-default-dont-reply-to-names' is obsolete.
239 (if rmail-default-dont-reply-to-names 239 (if (bound-and-true-p rmail-default-dont-reply-to-names)
240 (concat rmail-default-dont-reply-to-names "\\|") 240 (concat rmail-default-dont-reply-to-names "\\|")
241 "") 241 "")
242 (if (and user-mail-address 242 (if (and user-mail-address
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 693e082ecc8..bc831c3b596 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -2838,16 +2838,16 @@ User is always nil."
2838 v 2838 v
2839 (cond 2839 (cond
2840 ((and beg end) 2840 ((and beg end)
2841 (format "tail -c +%d %s | head -c +%d >%s" 2841 (format "dd bs=1 skip=%d if=%s count=%d of=%s"
2842 (1+ beg) (tramp-shell-quote-argument localname) 2842 beg (tramp-shell-quote-argument localname)
2843 (- end beg) remote-copy)) 2843 (- end beg) remote-copy))
2844 (beg 2844 (beg
2845 (format "tail -c +%d %s >%s" 2845 (format "dd bs=1 skip=%d if=%s of=%s"
2846 (1+ beg) (tramp-shell-quote-argument localname) 2846 beg (tramp-shell-quote-argument localname)
2847 remote-copy)) 2847 remote-copy))
2848 (end 2848 (end
2849 (format "head -c +%d %s >%s" 2849 (format "dd bs=1 count=%d if=%s of=%s"
2850 (1+ end) (tramp-shell-quote-argument localname) 2850 end (tramp-shell-quote-argument localname)
2851 remote-copy))))) 2851 remote-copy)))))
2852 2852
2853 ;; `insert-file-contents-literally' takes care to avoid 2853 ;; `insert-file-contents-literally' takes care to avoid
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index ce38cf8850b..a063ce7dab6 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -369,7 +369,7 @@ to it is returned. This function does not modify the point or the mark."
369(put 'c-safe 'lisp-indent-function 0) 369(put 'c-safe 'lisp-indent-function 0)
370 370
371(defmacro c-int-to-char (integer) 371(defmacro c-int-to-char (integer)
372 ;; In GNU Emacs, a character is an integer. In XEmacs, a character is a 372 ;; In Emacs, a character is an integer. In XEmacs, a character is a
373 ;; type distinct from an integer. Sometimes we need to convert integers to 373 ;; type distinct from an integer. Sometimes we need to convert integers to
374 ;; characters. `c-int-to-char' makes this conversion, if necessary. 374 ;; characters. `c-int-to-char' makes this conversion, if necessary.
375 (if (fboundp 'int-to-char) 375 (if (fboundp 'int-to-char)
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index 143220ad28a..3b819a149b2 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -698,6 +698,7 @@ This function is called from `compilation-filter-hook'."
698 grep-hit-face) 698 grep-hit-face)
699 (set (make-local-variable 'compilation-error-regexp-alist) 699 (set (make-local-variable 'compilation-error-regexp-alist)
700 grep-regexp-alist) 700 grep-regexp-alist)
701 (set (make-local-variable 'compilation-directory-matcher) nil)
701 (set (make-local-variable 'compilation-process-setup-function) 702 (set (make-local-variable 'compilation-process-setup-function)
702 'grep-process-setup) 703 'grep-process-setup)
703 (set (make-local-variable 'compilation-disable-input) t) 704 (set (make-local-variable 'compilation-disable-input) t)
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index 93a3bf1b7f5..01c256ab41b 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -2187,7 +2187,7 @@ args of an executive .run, .rnew or .compile."
2187 ;; CWD might have changed, resync, to set default directory 2187 ;; CWD might have changed, resync, to set default directory
2188 (idlwave-shell-resync-dirs) 2188 (idlwave-shell-resync-dirs)
2189 (let ((comint-file-name-chars idlwave-shell-file-name-chars)) 2189 (let ((comint-file-name-chars idlwave-shell-file-name-chars))
2190 (comint-dynamic-complete-as-filename))) 2190 (comint-filename-completion)))
2191 2191
2192(defun idlwave-shell-executive-command () 2192(defun idlwave-shell-executive-command ()
2193 "Return the name of the current executive command, if any." 2193 "Return the name of the current executive command, if any."
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index a7851c54356..67a51dfbeee 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -99,7 +99,9 @@
99 "import" "in" "is" "lambda" "not" "or" "pass" "print" 99 "import" "in" "is" "lambda" "not" "or" "pass" "print"
100 "raise" "return" "try" "while" "with" "yield" 100 "raise" "return" "try" "while" "with" "yield"
101 ;; Not real keywords, but close enough to be fontified as such 101 ;; Not real keywords, but close enough to be fontified as such
102 "self" "True" "False") 102 "self" "True" "False"
103 ;; Python 3
104 "nonlocal")
103 symbol-end) 105 symbol-end)
104 (,(rx symbol-start "None" symbol-end) ; see § Keywords in 2.7 manual 106 (,(rx symbol-start "None" symbol-end) ; see § Keywords in 2.7 manual
105 . font-lock-constant-face) 107 . font-lock-constant-face)
diff --git a/lisp/shell.el b/lisp/shell.el
index a05fefa9c11..cba50038bc0 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -380,6 +380,8 @@ to `dirtrack-mode'."
380 :group 'shell 380 :group 'shell
381 :type '(choice (const nil) regexp)) 381 :type '(choice (const nil) regexp))
382 382
383(defvar pcomplete-parse-arguments-function)
384
383(defun shell-completion-vars () 385(defun shell-completion-vars ()
384 "Setup completion vars for `shell-mode' and `read-shell-command'." 386 "Setup completion vars for `shell-mode' and `read-shell-command'."
385 (set (make-local-variable 'comint-completion-fignore) 387 (set (make-local-variable 'comint-completion-fignore)
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index a493f0dcfc0..56ebe868a2d 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -1119,46 +1119,46 @@ else cover the whole buffer."
1119 (goto-char end) (diff-end-of-hunk nil 'donttrustheader) 1119 (goto-char end) (diff-end-of-hunk nil 'donttrustheader)
1120 (let ((plus 0) (minus 0) (space 0) (bang 0)) 1120 (let ((plus 0) (minus 0) (space 0) (bang 0))
1121 (while (and (= (forward-line -1) 0) (<= start (point))) 1121 (while (and (= (forward-line -1) 0) (<= start (point)))
1122 (if (not (looking-at 1122 (if (not (looking-at
1123 (concat diff-hunk-header-re-unified 1123 (concat diff-hunk-header-re-unified
1124 "\\|[-*][-*][-*] [0-9,]+ [-*][-*][-*][-*]$" 1124 "\\|[-*][-*][-*] [0-9,]+ [-*][-*][-*][-*]$"
1125 "\\|--- .+\n\\+\\+\\+ "))) 1125 "\\|--- .+\n\\+\\+\\+ ")))
1126 (case (char-after) 1126 (case (char-after)
1127 (?\s (incf space)) 1127 (?\s (incf space))
1128 (?+ (incf plus)) 1128 (?+ (incf plus))
1129 (?- (incf minus)) 1129 (?- (incf minus))
1130 (?! (incf bang)) 1130 (?! (incf bang))
1131 ((?\\ ?#) nil) 1131 ((?\\ ?#) nil)
1132 (t (setq space 0 plus 0 minus 0 bang 0))) 1132 (t (setq space 0 plus 0 minus 0 bang 0)))
1133 (cond 1133 (cond
1134 ((looking-at diff-hunk-header-re-unified) 1134 ((looking-at diff-hunk-header-re-unified)
1135 (let* ((old1 (match-string 2)) 1135 (let* ((old1 (match-string 2))
1136 (old2 (match-string 4)) 1136 (old2 (match-string 4))
1137 (new1 (number-to-string (+ space minus))) 1137 (new1 (number-to-string (+ space minus)))
1138 (new2 (number-to-string (+ space plus)))) 1138 (new2 (number-to-string (+ space plus))))
1139 (if old2 1139 (if old2
1140 (unless (string= new2 old2) (replace-match new2 t t nil 4)) 1140 (unless (string= new2 old2) (replace-match new2 t t nil 4))
1141 (goto-char (match-end 3)) 1141 (goto-char (match-end 3))
1142 (insert "," new2)) 1142 (insert "," new2))
1143 (if old1 1143 (if old1
1144 (unless (string= new1 old1) (replace-match new1 t t nil 2)) 1144 (unless (string= new1 old1) (replace-match new1 t t nil 2))
1145 (goto-char (match-end 1)) 1145 (goto-char (match-end 1))
1146 (insert "," new1)))) 1146 (insert "," new1))))
1147 ((looking-at diff-context-mid-hunk-header-re) 1147 ((looking-at diff-context-mid-hunk-header-re)
1148 (when (> (+ space bang plus) 0) 1148 (when (> (+ space bang plus) 0)
1149 (let* ((old1 (match-string 1)) 1149 (let* ((old1 (match-string 1))
1150 (old2 (match-string 2)) 1150 (old2 (match-string 2))
1151 (new (number-to-string 1151 (new (number-to-string
1152 (+ space bang plus -1 (string-to-number old1))))) 1152 (+ space bang plus -1 (string-to-number old1)))))
1153 (unless (string= new old2) (replace-match new t t nil 2))))) 1153 (unless (string= new old2) (replace-match new t t nil 2)))))
1154 ((looking-at "\\*\\*\\* \\([0-9]+\\),\\(-?[0-9]*\\) \\*\\*\\*\\*$") 1154 ((looking-at "\\*\\*\\* \\([0-9]+\\),\\(-?[0-9]*\\) \\*\\*\\*\\*$")
1155 (when (> (+ space bang minus) 0) 1155 (when (> (+ space bang minus) 0)
1156 (let* ((old (match-string 1)) 1156 (let* ((old (match-string 1))
1157 (new (format 1157 (new (format
1158 (concat "%0" (number-to-string (length old)) "d") 1158 (concat "%0" (number-to-string (length old)) "d")
1159 (+ space bang minus -1 (string-to-number old))))) 1159 (+ space bang minus -1 (string-to-number old)))))
1160 (unless (string= new old) (replace-match new t t nil 2)))))) 1160 (unless (string= new old) (replace-match new t t nil 2))))))
1161 (setq space 0 plus 0 minus 0 bang 0))))))) 1161 (setq space 0 plus 0 minus 0 bang 0)))))))
1162 1162
1163;;;; 1163;;;;
1164;;;; Hooks 1164;;;; Hooks
diff --git a/m4/inttypes.m4 b/m4/inttypes.m4
index 1e81990bda2..cc027a417fa 100644
--- a/m4/inttypes.m4
+++ b/m4/inttypes.m4
@@ -1,4 +1,4 @@
1# inttypes.m4 serial 23 1# inttypes.m4 serial 24
2dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. 2dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
@@ -13,7 +13,7 @@ AC_DEFUN([gl_INTTYPES_H],
13 gl_INTTYPES_PRI_SCN 13 gl_INTTYPES_PRI_SCN
14]) 14])
15 15
16AC_DEFUN([gl_INTTYPES_INCOMPLETE], 16AC_DEFUN_ONCE([gl_INTTYPES_INCOMPLETE],
17[ 17[
18 AC_REQUIRE([gl_STDINT_H]) 18 AC_REQUIRE([gl_STDINT_H])
19 AC_CHECK_HEADERS_ONCE([inttypes.h]) 19 AC_CHECK_HEADERS_ONCE([inttypes.h])
diff --git a/m4/stdint.m4 b/m4/stdint.m4
index dff37fe1bf9..c75e95722a5 100644
--- a/m4/stdint.m4
+++ b/m4/stdint.m4
@@ -1,4 +1,4 @@
1# stdint.m4 serial 40 1# stdint.m4 serial 41
2dnl Copyright (C) 2001-2011 Free Software Foundation, Inc. 2dnl Copyright (C) 2001-2011 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
7dnl From Paul Eggert and Bruno Haible. 7dnl From Paul Eggert and Bruno Haible.
8dnl Test whether <stdint.h> is supported or must be substituted. 8dnl Test whether <stdint.h> is supported or must be substituted.
9 9
10AC_DEFUN([gl_STDINT_H], 10AC_DEFUN_ONCE([gl_STDINT_H],
11[ 11[
12 AC_PREREQ([2.59])dnl 12 AC_PREREQ([2.59])dnl
13 13
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 6de2b15fced..7198ba767cb 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,7 @@
12011-05-17 Eli Zaretskii <eliz@gnu.org>
2
3 * README.W32: Add information about GnuTLS libraries.
4
12011-05-09 Eli Zaretskii <eliz@gnu.org> 52011-05-09 Eli Zaretskii <eliz@gnu.org>
2 6
3 * config.nt [_MSC_VER] (va_copy): Replacement for the MS compiler. 7 * config.nt [_MSC_VER] (va_copy): Replacement for the MS compiler.
diff --git a/nt/README.W32 b/nt/README.W32
index 4e26ef1c8d7..4a3f7c41e9e 100644
--- a/nt/README.W32
+++ b/nt/README.W32
@@ -147,6 +147,15 @@ See the end of the file for license conditions.
147 unreliable under Windows. See nt/INSTALL in the src distribution if 147 unreliable under Windows. See nt/INSTALL in the src distribution if
148 you wish to compile Emacs with SVG support. 148 you wish to compile Emacs with SVG support.
149 149
150* GnuTLS support
151
152 In order to support GnuTLS at runtime, Emacs must be able to find
153 the relevant DLLs during startup; failure to do so is not an error,
154 but GnuTLS won't be available to the running session.
155
156 You can get pre-built binaries (including any required DLL and the
157 gnutls.h file) and an installer at http://josefsson.org/gnutls4win/.
158
150* Uninstalling Emacs 159* Uninstalling Emacs
151 160
152 If you should need to uninstall Emacs, simply delete all the files 161 If you should need to uninstall Emacs, simply delete all the files
diff --git a/src/ChangeLog b/src/ChangeLog
index b7bf4599d63..d7395f70d11 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,4 @@
12011-05-16 Paul Eggert <eggert@cs.ucla.edu> 12011-05-18 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 * insdel.c (count_size_as_multibyte): Check for string overflow. 3 * insdel.c (count_size_as_multibyte): Check for string overflow.
4 4
@@ -17,8 +17,6 @@
17 * character.c (string_escape_byte8): Likewise. 17 * character.c (string_escape_byte8): Likewise.
18 * lisp.h (string_overflow): New decl. 18 * lisp.h (string_overflow): New decl.
19 19
202011-05-15 Paul Eggert <eggert@cs.ucla.edu>
21
22 Fixups, following up to the user-interface timestamp change. 20 Fixups, following up to the user-interface timestamp change.
23 * nsterm.m (last_mouse_movement_time, ns_mouse_position): Use Time 21 * nsterm.m (last_mouse_movement_time, ns_mouse_position): Use Time
24 for UI timestamps, instead of unsigned long. 22 for UI timestamps, instead of unsigned long.
@@ -93,6 +91,10 @@
93 91
94 * window.c (size_window): Avoid needless test at loop start. 92 * window.c (size_window): Avoid needless test at loop start.
95 93
942011-05-18 Courtney Bane <emacs-bugs-7626@cbane.org> (tiny change)
95
96 * term.c (Fresume_tty): Restore hooks before reinitializing (bug#8687).
97
962011-05-12 Drew Adams <drew.adams@oracle.com> 982011-05-12 Drew Adams <drew.adams@oracle.com>
97 99
98 * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655). 100 * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655).
@@ -103,8 +105,8 @@
103 `width' to `bar_area_x' and `bar_area_width', respectively. 105 `width' to `bar_area_x' and `bar_area_width', respectively.
104 (x_scroll_run): Take account of fringe background extension. 106 (x_scroll_run): Take account of fringe background extension.
105 107
106 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: Rename 108 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
107 local vars `left' and `width' to `bar_area_x' and 109 Rename local vars `left' and `width' to `bar_area_x' and
108 `bar_area_width', respectively. 110 `bar_area_width', respectively.
109 (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe 111 (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe
110 background extension. 112 background extension.
@@ -221,8 +223,8 @@
221 * dbusbind.c: Do not use XPNTR on a value that may be an integer. 223 * dbusbind.c: Do not use XPNTR on a value that may be an integer.
222 Reported by Stefan Monnier in 224 Reported by Stefan Monnier in
223 <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00919.html>. 225 <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00919.html>.
224 (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages): Use 226 (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages):
225 SYMBOLP-guarded XSYMBOL, not XPNTR. 227 Use SYMBOLP-guarded XSYMBOL, not XPNTR.
226 228
227 * lisp.h (EMACS_INTPTR): Remove. All uses changed to intptr_t. 229 * lisp.h (EMACS_INTPTR): Remove. All uses changed to intptr_t.
228 (EMACS_UINTPTR): Likewise, with uintptr_t. 230 (EMACS_UINTPTR): Likewise, with uintptr_t.
@@ -408,8 +410,8 @@
408 * callproc.c: Indentation fixup. 410 * callproc.c: Indentation fixup.
409 411
410 * sysdep.c (wait_for_termination_1): Make static. 412 * sysdep.c (wait_for_termination_1): Make static.
411 (wait_for_termination, interruptible_wait_for_termination): Move 413 (wait_for_termination, interruptible_wait_for_termination):
412 after wait_for_termination_1. 414 Move after wait_for_termination_1.
413 415
4142011-05-01 Lars Magne Ingebrigtsen <larsi@gnus.org> 4162011-05-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
415 417
@@ -525,8 +527,8 @@
525 (emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0. 527 (emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0.
526 528
527 * lisp.h: Fix a problem with aliasing and vector headers. (Bug#8546) 529 * lisp.h: Fix a problem with aliasing and vector headers. (Bug#8546)
528 GCC 4.6.0 optimizes based on type-based alias analysis. For 530 GCC 4.6.0 optimizes based on type-based alias analysis.
529 example, if b is of type struct buffer * and v of type struct 531 For example, if b is of type struct buffer * and v of type struct
530 Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size 532 Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size
531 != &v->size, and therefore "v->size = 1; b->size = 2; return 533 != &v->size, and therefore "v->size = 1; b->size = 2; return
532 v->size;" must therefore return 1. This assumption is incorrect 534 v->size;" must therefore return 1. This assumption is incorrect
@@ -546,8 +548,8 @@
546 (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR. 548 (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR.
547 (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE, 549 (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE,
548 since Lisp_Subr is a special case (no "next" field). 550 since Lisp_Subr is a special case (no "next" field).
549 (ASIZE): Now uses header.size rather than size. All 551 (ASIZE): Now uses header.size rather than size.
550 previous uses of XVECTOR (foo)->size replaced to use this macro, 552 All previous uses of XVECTOR (foo)->size replaced to use this macro,
551 to avoid the hassle of writing XVECTOR (foo)->header.size. 553 to avoid the hassle of writing XVECTOR (foo)->header.size.
552 (struct vectorlike_header): New type. 554 (struct vectorlike_header): New type.
553 (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the 555 (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the
@@ -596,7 +598,7 @@
596 Break out the floating-point parsing into a new 598 Break out the floating-point parsing into a new
597 function string_to_number, so that Fstring_to_number parses 599 function string_to_number, so that Fstring_to_number parses
598 floating point numbers consistently with the Lisp reader. 600 floating point numbers consistently with the Lisp reader.
599 (digit_to_number): Moved here from data.c. Make it static inline. 601 (digit_to_number): Move here from data.c. Make it static inline.
600 (E_CHAR, EXP_INT): Remove, replacing with ... 602 (E_CHAR, EXP_INT): Remove, replacing with ...
601 (E_EXP): New macro, to solve the "1.0e+" problem mentioned below. 603 (E_EXP): New macro, to solve the "1.0e+" problem mentioned below.
602 (string_to_number): New function, replacing isfloat_string. 604 (string_to_number): New function, replacing isfloat_string.
@@ -833,8 +835,8 @@
833 Fix doprnt so it could be used again safely in `verror'. (Bug#8435) 835 Fix doprnt so it could be used again safely in `verror'. (Bug#8435)
834 * doprnt.c: Include limits.h. 836 * doprnt.c: Include limits.h.
835 (SIZE_MAX): New macro. 837 (SIZE_MAX): New macro.
836 (doprnt): Return a size_t value. 2nd arg is now size_t. Many 838 (doprnt): Return a size_t value. 2nd arg is now size_t.
837 local variables are now size_t instead of int or unsigned. 839 Many local variables are now size_t instead of int or unsigned.
838 Improve overflow protection. Support `l' modifier for integer 840 Improve overflow protection. Support `l' modifier for integer
839 conversions. Support %l conversion. Don't assume an EMACS_INT 841 conversions. Support %l conversion. Don't assume an EMACS_INT
840 argument for integer conversions and for %c. 842 argument for integer conversions and for %c.
@@ -1035,8 +1037,8 @@
1035 1037
1036 * syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT. 1038 * syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT.
1037 1039
1038 * textprop.c (verify_interval_modification, interval_of): Declare 1040 * textprop.c (verify_interval_modification, interval_of):
1039 arguments EMACS_INT. 1041 Declare arguments EMACS_INT.
1040 1042
1041 * intervals.c (adjust_intervals_for_insertion): Declare arguments 1043 * intervals.c (adjust_intervals_for_insertion): Declare arguments
1042 EMACS_INT. 1044 EMACS_INT.
@@ -1287,8 +1289,8 @@
1287 (free_realized_fontset) #if-0 the body, which does nothing. 1289 (free_realized_fontset) #if-0 the body, which does nothing.
1288 (face_suitable_for_char_p): #if-0, as it's never called. 1290 (face_suitable_for_char_p): #if-0, as it's never called.
1289 * fontset.h (face_suitable_for_char_p): Remove decl. 1291 * fontset.h (face_suitable_for_char_p): Remove decl.
1290 * xfaces.c (face_at_string_position): Use 1292 * xfaces.c (face_at_string_position):
1291 FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P, 1293 Use FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P,
1292 since 0 is always ASCII. 1294 since 0 is always ASCII.
1293 1295
1294 * fns.c (weak_hash_tables): Now static. 1296 * fns.c (weak_hash_tables): Now static.
@@ -1397,8 +1399,8 @@
1397 (last_point_position_window): Remove decls. 1399 (last_point_position_window): Remove decls.
1398 * keyboard.c: Make these variables static. 1400 * keyboard.c: Make these variables static.
1399 1401
1400 * coding.h (coding, code_convert_region, encode_coding_gap): Remove 1402 * coding.h (coding, code_convert_region, encode_coding_gap):
1401 decls. 1403 Remove decls.
1402 * coding.c (Vsjis_coding_system, Vbig5_coding_system): 1404 * coding.c (Vsjis_coding_system, Vbig5_coding_system):
1403 (iso_code_class, detect_coding, code_convert_region): Now static. 1405 (iso_code_class, detect_coding, code_convert_region): Now static.
1404 (encode_coding_gap): Remove; unused. 1406 (encode_coding_gap): Remove; unused.
@@ -1429,7 +1431,7 @@
1429 exported only to the debugger. 1431 exported only to the debugger.
1430 1432
1431 * atimer.c (alarm_signal_handler, run_all_atimers): Now static. 1433 * atimer.c (alarm_signal_handler, run_all_atimers): Now static.
1432 * atimer.h (run_all_atimers): Removed; not exported. 1434 * atimer.h (run_all_atimers): Remove; not exported.
1433 1435
1434 font.c: Make copy_font_spec and merge_font_spec ordinary C functions. 1436 font.c: Make copy_font_spec and merge_font_spec ordinary C functions.
1435 * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it 1437 * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it
@@ -1684,8 +1686,8 @@
1684 1686
16852011-04-09 Chong Yidong <cyd@stupidchicken.com> 16872011-04-09 Chong Yidong <cyd@stupidchicken.com>
1686 1688
1687 * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use 1689 * ftfont.c (get_adstyle_property, ftfont_pattern_entity):
1688 unsigned char, to match FcChar8 type definition. 1690 Use unsigned char, to match FcChar8 type definition.
1689 1691
1690 * xterm.c (handle_one_xevent): 1692 * xterm.c (handle_one_xevent):
1691 * xmenu.c (create_and_show_popup_menu): 1693 * xmenu.c (create_and_show_popup_menu):
@@ -1758,8 +1760,8 @@
1758 1760
17592011-04-06 Chong Yidong <cyd@stupidchicken.com> 17612011-04-06 Chong Yidong <cyd@stupidchicken.com>
1760 1762
1761 * process.c (Flist_processes): Removed to Lisp. 1763 * process.c (Flist_processes): Remove to Lisp.
1762 (list_processes_1): Deleted. 1764 (list_processes_1): Delete.
1763 1765
17642011-04-06 Eli Zaretskii <eliz@gnu.org> 17662011-04-06 Eli Zaretskii <eliz@gnu.org>
1765 1767
@@ -2017,8 +2019,8 @@
2017 * callint.c (Fcall_interactively): Preserve lexical-binding mode for 2019 * callint.c (Fcall_interactively): Preserve lexical-binding mode for
2018 interactive spec. 2020 interactive spec.
2019 2021
2020 * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New 2022 * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
2021 byte-codes. 2023 New byte-codes.
2022 (exec_byte_code): New function extracted from Fbyte_code to handle new 2024 (exec_byte_code): New function extracted from Fbyte_code to handle new
2023 calling convention for byte-code-functions. Add new byte-codes. 2025 calling convention for byte-code-functions. Add new byte-codes.
2024 2026
@@ -2033,8 +2035,8 @@
20332011-03-31 Eli Zaretskii <eliz@gnu.org> 20352011-03-31 Eli Zaretskii <eliz@gnu.org>
2034 2036
2035 * xdisp.c (SCROLL_LIMIT): New macro. 2037 * xdisp.c (SCROLL_LIMIT): New macro.
2036 (try_scrolling): Use it when setting scroll_limit. Limit 2038 (try_scrolling): Use it when setting scroll_limit.
2037 scrolling to 100 screen lines. 2039 Limit scrolling to 100 screen lines.
2038 (redisplay_window): Even when falling back on "recentering", 2040 (redisplay_window): Even when falling back on "recentering",
2039 position point in the window according to scroll-conservatively, 2041 position point in the window according to scroll-conservatively,
2040 scroll-margin, and scroll-*-aggressively variables. (Bug#6671) 2042 scroll-margin, and scroll-*-aggressively variables. (Bug#6671)
diff --git a/src/term.c b/src/term.c
index 5fe258caa29..9205719b5f4 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2595,6 +2595,7 @@ frame's terminal). */)
2595 FRAME_SET_VISIBLE (XFRAME (t->display_info.tty->top_frame), 1); 2595 FRAME_SET_VISIBLE (XFRAME (t->display_info.tty->top_frame), 1);
2596 } 2596 }
2597 2597
2598 set_tty_hooks (t);
2598 init_sys_modes (t->display_info.tty); 2599 init_sys_modes (t->display_info.tty);
2599 2600
2600 { 2601 {