Now on revision 108138. ------------------------------------------------------------ revno: 108138 fixes bug(s): http://debbugs.gnu.org/11382 author: Troels Nielsen committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-05-06 12:52:58 +0800 message: Fix match highlighting in compilation buffers. * progmodes/compile.el (compilation-internal-error-properties): Calculate start position correctly when end-col is set but end-line is not. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-05-06 04:19:11 +0000 +++ lisp/ChangeLog 2012-05-06 04:52:58 +0000 @@ -1,3 +1,9 @@ +2012-05-06 Troels Nielsen (tiny change) + + * progmodes/compile.el (compilation-internal-error-properties): + Calculate start position correctly when end-col is set but + end-line is not (Bug#11382). + 2012-05-06 Wolfgang Jenkner * man.el (Man-unindent): Use text-property-default-nonsticky to === modified file 'lisp/progmodes/compile.el' --- lisp/progmodes/compile.el 2012-05-04 23:16:47 +0000 +++ lisp/progmodes/compile.el 2012-05-06 04:52:58 +0000 @@ -1068,14 +1068,14 @@ end-marker loc end-loc) (if (not (and marker (marker-buffer marker))) (setq marker nil) ; no valid marker for this file - (setq loc (or line 1)) ; normalize no linenumber to line 1 + (unless line (setq line 1)) ; normalize no linenumber to line 1 (catch 'marker ; find nearest loc, at least one exists (dolist (x (cddr (compilation--file-struct->loc-tree file-struct))) ; Loop over remaining lines. - (if (> (car x) loc) ; Still bigger. + (if (> (car x) line) ; Still bigger. (setq marker-line x) - (if (> (- (or (car marker-line) 1) loc) - (- loc (car x))) ; Current line is nearer. + (if (> (- (or (car marker-line) 1) line) + (- line (car x))) ; Current line is nearer. (setq marker-line x)) (throw 'marker t)))) (setq marker (compilation--loc->marker (cadr marker-line)) @@ -1093,15 +1093,15 @@ (save-restriction (widen) (goto-char (marker-position marker)) - (when (or end-col end-line) + ;; Set end-marker if appropriate and go to line. + (if (not (or end-col end-line)) + (beginning-of-line (- line marker-line -1)) (beginning-of-line (- (or end-line line) marker-line -1)) (if (or (null end-col) (< end-col 0)) (end-of-line) (compilation-move-to-column end-col screen-columns)) - (setq end-marker (point-marker))) - (beginning-of-line (if end-line - (- line end-line -1) - (- loc marker-line -1))) + (setq end-marker (point-marker)) + (when end-line (beginning-of-line (- line end-line -1)))) (if col (compilation-move-to-column col screen-columns) (forward-to-indentation 0)) ------------------------------------------------------------ revno: 108137 fixes bug(s): http://debbugs.gnu.org/11408 author: Wolfgang Jenkner committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-05-06 12:19:11 +0800 message: Cosmetic fix for Man-unindent. * lisp/man.el (Man-unindent): Use text-property-default-nonsticky to prevent untabify from inheriting face properties. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-05-05 21:31:41 +0000 +++ lisp/ChangeLog 2012-05-06 04:19:11 +0000 @@ -1,3 +1,8 @@ +2012-05-06 Wolfgang Jenkner + + * man.el (Man-unindent): Use text-property-default-nonsticky to + prevent untabify from inheriting face properties (Bug#11408). + 2012-05-05 Glenn Morris * calendar/cal-html.el: Optionally include holidays in the output. === modified file 'lisp/man.el' --- lisp/man.el 2012-05-04 23:16:47 +0000 +++ lisp/man.el 2012-05-06 04:19:11 +0000 @@ -1475,7 +1475,12 @@ (nindent 0)) (narrow-to-region (car page) (car (cdr page))) (if Man-uses-untabify-flag - (untabify (point-min) (point-max))) + ;; The space characters inserted by `untabify' inherit + ;; sticky text properties, which is unnecessary and looks + ;; ugly with underlining (Bug#11408). + (let ((text-property-default-nonsticky + (cons '(face . t) text-property-default-nonsticky))) + (untabify (point-min) (point-max)))) (if (catch 'unindent (goto-char (point-min)) (if (not (re-search-forward Man-first-heading-regexp nil t)) ------------------------------------------------------------ revno: 108136 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-05-05 14:31:41 -0700 message: Optionally include holidays in cal-html output * lisp/calendar/cal-html.el: (cal-html-holidays): New option. (cal-html-css-default): Add holiday entry. (holiday-in-range): Autoload it. (cal-html-htmlify-entry): Add optional class argument. (cal-html-htmlify-list): Add optional holidays argument. (cal-html-insert-agenda-days): Include holidays in the output. (cal-html-one-month): Maybe include holidays. diff: === modified file 'etc/NEWS' --- etc/NEWS 2012-05-05 01:47:04 +0000 +++ etc/NEWS 2012-05-05 21:31:41 +0000 @@ -94,6 +94,10 @@ **** The old options whose values specified faces to use were removed (i.e. `apropos-symbol-face', `apropos-keybinding-face', etc.). +** Calendar + +*** The calendars produced by cal-html can optionally include holidays. + ** Customize *** `custom-reset-button-menu' now defaults to t. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-05-05 20:58:14 +0000 +++ lisp/ChangeLog 2012-05-05 21:31:41 +0000 @@ -1,5 +1,15 @@ 2012-05-05 Glenn Morris + * calendar/cal-html.el: Optionally include holidays in the output. + Suggested by Ed Reingold . + (cal-html-holidays): New option. + (cal-html-css-default): Add holiday entry. + (holiday-in-range): Autoload it. + (cal-html-htmlify-entry): Add optional class argument. + (cal-html-htmlify-list): Add optional holidays argument. + (cal-html-insert-agenda-days): Include holidays in the output. + (cal-html-one-month): Maybe include holidays. + * calendar/holidays.el (holiday-in-range): Move here from cal-tex-list-holidays. * calendar/cal-tex.el (cal-tex-list-holidays): === modified file 'lisp/calendar/cal-html.el' --- lisp/calendar/cal-html.el 2012-01-19 07:21:25 +0000 +++ lisp/calendar/cal-html.el 2012-05-05 21:31:41 +0000 @@ -66,6 +66,12 @@ (string :tag "Sat")) :group 'calendar-html) +(defcustom cal-html-holidays t + "If non-nil, include holidays as well as diary entries." + :version "24.2" + :type 'boolean + :group 'calendar-html) + (defcustom cal-html-css-default (concat "\n\n") "Default cal-html css style. You can override this with a \"cal.css\" file." :type 'string + :version "24.2" ; added SPAN.HOLIDAY :group 'calendar-html) ;;; End customizable variables. @@ -227,6 +235,8 @@ ;;------------------------------------------------------------ ;; minical: a small month calendar with links ;;------------------------------------------------------------ +(autoload 'holiday-in-range "holidays") + (defun cal-html-insert-minical (month year) "Insert a minical for numeric MONTH of YEAR." (let* ((blank-days ; at start of month @@ -313,10 +323,12 @@ "")) -(defun cal-html-htmlify-entry (entry) - "Convert a diary entry ENTRY to html with the appropriate class specifier." +(defun cal-html-htmlify-entry (entry &optional class) + "Convert a diary entry ENTRY to html with the appropriate class specifier. +Optional argument CLASS is the class specifier to use." (let ((start (cond + (class) ((string-match "block" (nth 2 entry)) "BLOCK") ((string-match "anniversary" (nth 2 entry)) "ANN") ((not (string-match @@ -328,10 +340,12 @@ (cal-html-htmlify-string (cadr entry))))) -(defun cal-html-htmlify-list (date-list date) +(defun cal-html-htmlify-list (date-list date &optional holidays) "Return a string of concatenated, HTML-ified diary entries. -DATE-LIST is a list of diary entries. Return only those matching DATE." - (mapconcat (lambda (x) (cal-html-htmlify-entry x)) +DATE-LIST is a list of diary entries. Return only those matching DATE. +Optional argument HOLIDAYS non-nil means the input is actually a list +of holidays, rather than diary entries." + (mapconcat (lambda (x) (cal-html-htmlify-entry x (if holidays "HOLIDAY"))) (let (result) (dolist (p date-list (reverse result)) (and (car p) @@ -351,11 +365,11 @@ (diary-list-entries (calendar-gregorian-from-absolute d1) (1+ (- d2 d1)) t)) - -(defun cal-html-insert-agenda-days (month year diary-list) +(defun cal-html-insert-agenda-days (month year diary-list holiday-list) "Insert HTML commands for a range of days in monthly calendars. HTML commands are inserted for the days of the numeric MONTH in -four-digit YEAR. Diary entries in DIARY-LIST are included." +four-digit YEAR. Includes diary entries in DIARY-LIST, and +holidays in HOLIDAY-LIST." (let ((blank-days ; at start of month (mod (- (calendar-day-of-week (list month 1 year)) calendar-week-start-day) @@ -381,6 +395,8 @@ cal-html-e-tableheader-string ;; Diary entries. cal-html-b-tabledata-string + (cal-html-htmlify-list holiday-list date t) + (and holiday-list diary-list "
\n") (cal-html-htmlify-list diary-list date) cal-html-e-tabledata-string cal-html-e-tablerow-string) @@ -395,16 +411,17 @@ (defun cal-html-one-month (month year dir) "Write an HTML calendar file for numeric MONTH of YEAR in directory DIR." - (let ((diary-list (cal-html-list-diary-entries - (calendar-absolute-from-gregorian (list month 1 year)) - (calendar-absolute-from-gregorian + (let* ((d1 (calendar-absolute-from-gregorian (list month 1 year))) + (d2 (calendar-absolute-from-gregorian (list month (calendar-last-day-of-month month year) - year))))) + year))) + (diary-list (cal-html-list-diary-entries d1 d2)) + (holiday-list (if cal-html-holidays (holiday-in-range d1 d2)))) (with-temp-buffer (insert cal-html-b-document-string) (cal-html-insert-month-header month year) - (cal-html-insert-agenda-days month year diary-list) + (cal-html-insert-agenda-days month year diary-list holiday-list) (insert cal-html-e-document-string) (write-file (expand-file-name (cal-html-monthpage-name month year) dir))))) ------------------------------------------------------------ revno: 108135 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-05-05 13:58:14 -0700 message: Move function from cal-tex to holidays * calendar/holidays.el (holiday-in-range): Move here from cal-tex-list-holidays. * calendar/cal-tex.el (cal-tex-list-holidays): Make it an obsolete alias for holiday-in-range. Update all callers. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-05-05 16:38:22 +0000 +++ lisp/ChangeLog 2012-05-05 20:58:14 +0000 @@ -1,3 +1,10 @@ +2012-05-05 Glenn Morris + + * calendar/holidays.el (holiday-in-range): + Move here from cal-tex-list-holidays. + * calendar/cal-tex.el (cal-tex-list-holidays): + Make it an obsolete alias for holiday-in-range. Update all callers. + 2012-05-05 Chong Yidong * select.el (xselect--encode-string): Always use utf-8 for TEXT on === modified file 'lisp/calendar/cal-tex.el' --- lisp/calendar/cal-tex.el 2012-04-16 19:18:36 +0000 +++ lisp/calendar/cal-tex.el 2012-05-05 20:58:14 +0000 @@ -237,31 +237,9 @@ "LaTeX code to insert one box with date info in calendar. This definition is the heart of the calendar!") -(autoload 'calendar-holiday-list "holidays") +(autoload 'holiday-in-range "holidays") -(defun cal-tex-list-holidays (d1 d2) - "Generate a list of all holidays from absolute date D1 to D2." - (let* ((start (calendar-gregorian-from-absolute d1)) - (displayed-month (calendar-extract-month start)) - (displayed-year (calendar-extract-year start)) - (end (calendar-gregorian-from-absolute d2)) - (end-month (calendar-extract-month end)) - (end-year (calendar-extract-year end)) - (number-of-intervals - (1+ (/ (calendar-interval displayed-month displayed-year - end-month end-year) - 3))) - holidays in-range a) - (calendar-increment-month displayed-month displayed-year 1) - (dotimes (_idummy number-of-intervals) - (setq holidays (append holidays (calendar-holiday-list))) - (calendar-increment-month displayed-month displayed-year 3)) - (dolist (hol holidays) - (and (car hol) - (setq a (calendar-absolute-from-gregorian (car hol))) - (and (<= d1 a) (<= a d2)) - (setq in-range (append (list hol) in-range)))) - in-range)) +(define-obsolete-function-alias 'cal-tex-list-holidays 'holiday-in-range "24.2") (autoload 'diary-list-entries "diary-lib") @@ -446,7 +424,7 @@ (calendar-last-day-of-month end-month end-year) end-year)))) (diary-list (if cal-tex-diary (cal-tex-list-diary-entries d1 d2))) - (holidays (if cal-tex-holidays (cal-tex-list-holidays d1 d2))) + (holidays (if cal-tex-holidays (holiday-in-range d1 d2))) other-month other-year small-months-at-start) (cal-tex-insert-preamble (cal-tex-number-weeks month year 1) t "12pt") (cal-tex-cmd cal-tex-cal-one-month) @@ -516,7 +494,7 @@ (calendar-last-day-of-month end-month end-year) end-year)))) (diary-list (if cal-tex-diary (cal-tex-list-diary-entries d1 d2))) - (holidays (if cal-tex-holidays (cal-tex-list-holidays d1 d2)))) + (holidays (if cal-tex-holidays (holiday-in-range d1 d2)))) (cal-tex-insert-preamble (cal-tex-number-weeks month year n) nil "12pt") (if (> n 1) (cal-tex-cmd cal-tex-cal-multi-month) @@ -697,7 +675,7 @@ (d1 (calendar-absolute-from-gregorian date)) (d2 (+ (* 7 n) d1)) (holidays (if cal-tex-holidays - (cal-tex-list-holidays d1 d2)))) + (holiday-in-range d1 d2)))) (cal-tex-preamble "11pt") (cal-tex-cmd "\\textwidth 6.5in") (cal-tex-cmd "\\textheight 10.5in") @@ -752,7 +730,7 @@ (d1 (calendar-absolute-from-gregorian date)) (d2 (+ (* 7 n) d1)) (holidays (if cal-tex-holidays - (cal-tex-list-holidays d1 d2)))) + (holiday-in-range d1 d2)))) (cal-tex-preamble "12pt") (cal-tex-cmd "\\textwidth 6.5in") (cal-tex-cmd "\\textheight 10.5in") @@ -836,7 +814,7 @@ (d1 (calendar-absolute-from-gregorian date)) (d2 (+ (* 7 n) d1)) (holidays (if cal-tex-holidays - (cal-tex-list-holidays d1 d2))) + (holiday-in-range d1 d2))) (diary-list (if cal-tex-diary (cal-tex-list-diary-entries ;; FIXME d1? @@ -1052,7 +1030,7 @@ (d1 (calendar-absolute-from-gregorian date)) (d2 (+ (* 7 n) d1)) (holidays (if cal-tex-holidays - (cal-tex-list-holidays d1 d2))) + (holiday-in-range d1 d2))) (diary-list (if cal-tex-diary (cal-tex-list-diary-entries ;; FIXME d1? @@ -1149,7 +1127,7 @@ (d1 (calendar-absolute-from-gregorian date)) (d2 (+ (* 7 n) d1)) (holidays (if cal-tex-holidays - (cal-tex-list-holidays d1 d2))) + (holiday-in-range d1 d2))) (diary-list (if cal-tex-diary (cal-tex-list-diary-entries ;; FIXME d1? @@ -1292,7 +1270,7 @@ (d1 (calendar-absolute-from-gregorian date)) (d2 (+ (* 7 n) d1)) (holidays (if cal-tex-holidays - (cal-tex-list-holidays d1 d2))) + (holiday-in-range d1 d2))) (diary-list (if cal-tex-diary (cal-tex-list-diary-entries ;; FIXME d1? === modified file 'lisp/calendar/holidays.el' --- lisp/calendar/holidays.el 2012-04-09 07:11:39 +0000 +++ lisp/calendar/holidays.el 2012-05-05 20:58:14 +0000 @@ -645,6 +645,33 @@ (define-obsolete-function-alias 'check-calendar-holidays 'calendar-check-holidays "23.1") + +;; Formerly cal-tex-list-holidays. +(defun holiday-in-range (d1 d2) + "Generate a list of all holidays in range from absolute date D1 to D2." + (let* ((start (calendar-gregorian-from-absolute d1)) + (displayed-month (calendar-extract-month start)) + (displayed-year (calendar-extract-year start)) + (end (calendar-gregorian-from-absolute d2)) + (end-month (calendar-extract-month end)) + (end-year (calendar-extract-year end)) + (number-of-intervals + (1+ (/ (calendar-interval displayed-month displayed-year + end-month end-year) + 3))) + holidays in-range a) + (calendar-increment-month displayed-month displayed-year 1) + (dotimes (_idummy number-of-intervals) + (setq holidays (append holidays (calendar-holiday-list))) + (calendar-increment-month displayed-month displayed-year 3)) + (dolist (hol holidays) + (and (car hol) + (setq a (calendar-absolute-from-gregorian (car hol))) + (and (<= d1 a) (<= a d2)) + (setq in-range (append (list hol) in-range)))) + in-range)) + + (declare-function x-popup-menu "menu.c" (position menu)) ;;;###cal-autoload ------------------------------------------------------------ revno: 108134 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-05-05 09:38:22 -0700 message: ChangeLog fixes diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-05-05 04:32:58 +0000 +++ doc/lispref/ChangeLog 2012-05-05 16:38:22 +0000 @@ -13,8 +13,6 @@ * elisp.texi (DATE): Forgot to change the month in 2012-04-21 change. -2012-05-04 Glenn Morris - * lists.texi (List-related Predicates, List Variables): Tweak page-breaks. (Sets And Lists): Convert inforef to xref. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-05-05 04:32:58 +0000 +++ lisp/ChangeLog 2012-05-05 16:38:22 +0000 @@ -1,4 +1,4 @@ -2012-05-04 Chong Yidong +2012-05-05 Chong Yidong * select.el (xselect--encode-string): Always use utf-8 for TEXT on Nextstep. ------------------------------------------------------------ revno: 108133 committer: Andreas Schwab branch nick: emacs timestamp: Sat 2012-05-05 12:34:06 +0200 message: * configure.in: Fix quoting bugs. diff: === modified file 'ChangeLog' --- ChangeLog 2012-05-04 06:45:03 +0000 +++ ChangeLog 2012-05-05 10:34:06 +0000 @@ -1,3 +1,7 @@ +2012-05-05 Andreas Schwab + + * configure.in: Fix quoting bugs. + 2012-05-04 Glenn Morris * configure.in (INFO_EXT, INFO_OPTS): New output variables. === modified file 'configure.in' --- configure.in 2012-05-04 06:45:03 +0000 +++ configure.in 2012-05-05 10:34:06 +0000 @@ -2919,7 +2919,7 @@ ## option to use it. darwin) LIBS_TERMCAP="-lncurses" ;; - gnu*) [ "x$LIBS_TERMCAP" = x ] && LIBS_TERMCAP="-lncurses" ;; + gnu*) test -z "$LIBS_TERMCAP" && LIBS_TERMCAP="-lncurses" ;; freebsd) AC_MSG_CHECKING([whether FreeBSD is new enough to use terminfo]) @@ -2941,7 +2941,7 @@ ;; netbsd) - if [ "x$LIBS_TERMCAP" != "x-lterminfo" ]; then + if test "x$LIBS_TERMCAP" != "x-lterminfo"; then TERMINFO=no LIBS_TERMCAP="-ltermcap" fi ------------------------------------------------------------ revno: 108132 committer: Andreas Schwab branch nick: emacs timestamp: Sat 2012-05-05 11:40:49 +0200 message: Only ignore info/*.info diff: === modified file '.bzrignore' --- .bzrignore 2012-04-10 19:07:46 +0000 +++ .bzrignore 2012-05-05 09:40:49 +0000 @@ -55,8 +55,7 @@ !doc/lispintro/cons-*.pdf !doc/lispintro/drawers.pdf !doc/lispintro/lambda-*.pdf -info/* -!info/dir +info/*.info admin/unidata/unidata.txt build-aux/compile build-aux/config.guess === modified file 'info/.gitignore' --- info/.gitignore 2011-01-15 23:16:57 +0000 +++ info/.gitignore 2012-05-05 09:40:49 +0000 @@ -1,1 +1,1 @@ -* +*.info ------------------------------------------------------------ revno: 108131 [merge] committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-05-05 12:35:47 +0800 message: Merge from emacs-24; up to r107969 diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-05-04 23:16:47 +0000 +++ doc/emacs/ChangeLog 2012-05-05 04:32:58 +0000 @@ -1,3 +1,44 @@ +2012-05-05 Glenn Morris + + * custom.texi (Customization Groups, Custom Themes, Examining): + Improve page breaks. + + * rmail.texi (Rmail Display): Use example rather than smallexample. + + * calendar.texi: Convert inforefs to refs. + + * dired.texi (Dired Enter): Improve page break. + + * abbrevs.texi (Abbrev Concepts): Copyedits. + + * maintaining.texi (Registering, Tag Syntax): + Tweak line and page breaks. + + * programs.texi (Programs, Electric C): Copyedits. + (Program Modes): Add xref to Fortran. + (Left Margin Paren): Remove what was (oddly enough) the only use + of defvar in the entire Emacs manual. + (Hungry Delete): Remove footnote about ancient Emacs version. + (Other C Commands): Use example rather than smallexample. + + * text.texi (Pages, Filling, Foldout, Org Mode, HTML Mode) + (Nroff Mode, Enriched Indentation, Table Rows and Columns): + Tweak line and page breaks. + + * modes.texi (Major Modes, Minor Modes): Reword to improve page-breaks. + (Major Modes): Use example rather than smallexample. + + * mule.texi (Output Coding): Reword to improve page-breaks. + + * frames.texi (Fonts): Tweak line and page breaks. + Use example rather than smallexample. Change cross-reference. + (Text-Only Mouse): Fix xref. + + * buffers.texi (Buffers, Kill Buffer, Several Buffers) + (Indirect Buffers): Tweak line- and page-breaks. + + * fixit.texi (Fixit, Undo): Reword to improve page-breaks. + 2012-05-04 Glenn Morris * Makefile.in (INFO_EXT, INFO_OPTS): New, set by configure. === modified file 'doc/emacs/abbrevs.texi' --- doc/emacs/abbrevs.texi 2012-04-10 06:54:43 +0000 +++ doc/emacs/abbrevs.texi 2012-05-05 04:32:58 +0000 @@ -37,12 +37,12 @@ @node Abbrev Concepts @section Abbrev Concepts - An @dfn{abbrev} is a word which has been defined to @dfn{expand} into + An @dfn{abbrev} is a word that has been defined to @dfn{expand} into a specified @dfn{expansion}. When you insert a word-separator character following the abbrev, that expands the abbrev---replacing the abbrev with its expansion. For example, if @samp{foo} is defined as an abbrev -expanding to @samp{find outer otter}, then you can insert @samp{find -outer otter.} into the buffer by typing @kbd{f o o .}. +expanding to @samp{find outer otter}, then typing @kbd{f o o .} will +insert @samp{find outer otter.}. @findex abbrev-mode @cindex Abbrev mode @@ -61,10 +61,9 @@ definition for the current major mode overrides a global definition. You can define abbrevs interactively during the editing session, -irrespective of whether Abbrev mode is enabled. You -can also save lists of abbrev definitions in files for use in later -sessions. Some users keep extensive lists of abbrevs that they load -in every session. +irrespective of whether Abbrev mode is enabled. You can also save +lists of abbrev definitions in files, which you can the reload for use +in later sessions. @node Defining Abbrevs @section Defining Abbrevs === modified file 'doc/emacs/arevert-xtra.texi' --- doc/emacs/arevert-xtra.texi 2012-04-10 06:54:43 +0000 +++ doc/emacs/arevert-xtra.texi 2012-05-05 04:32:58 +0000 @@ -109,6 +109,7 @@ In addition, it @emph{must} have a @code{buffer-stale-function}. +@c FIXME only defvar in all of doc/emacs! @defvar buffer-stale-function The value of this variable is a function to check whether a non-file buffer needs reverting. This should be a function with one optional === modified file 'doc/emacs/buffers.texi' --- doc/emacs/buffers.texi 2012-04-26 00:31:47 +0000 +++ doc/emacs/buffers.texi 2012-05-05 04:32:58 +0000 @@ -46,7 +46,7 @@ For typical 64-bit machines, this maximum buffer size is @math{2^61 - 2} bytes, or about 2 EiB. For typical 32-bit machines, the maximum is usually @math{2^29 - 2} bytes, or about 512 MiB. Buffer sizes are -also limited by the amount of memory present in the system. +also limited by the amount of memory in the system. @menu * Select Buffer:: Creating a new buffer or reselecting an old one. @@ -326,8 +326,8 @@ @cindex Midnight mode @vindex midnight-mode @vindex midnight-hook - You can also have this buffer purging done for you, every day at -midnight, by enabling Midnight mode. Midnight mode operates each day + You can also have this buffer purging done for you, once a day, +by enabling Midnight mode. Midnight mode operates each day at midnight; at that time, it runs @code{clean-buffer-list}, or whichever functions you have placed in the normal hook @code{midnight-hook} (@pxref{Hooks}). To enable Midnight mode, use @@ -361,7 +361,7 @@ The buffer menu is a read-only buffer, and can be changed only through the special commands described in this section. The usual -Emacs cursor motion commands can be used in this buffer. The +cursor motion commands can be used in this buffer. The following commands apply to the buffer described on the current line: @table @kbd @@ -476,13 +476,13 @@ An @dfn{indirect buffer} shares the text of some other buffer, which is called the @dfn{base buffer} of the indirect buffer. In some ways it -is the analogue, for buffers, of a symbolic link between files. +is a buffer analogue of a symbolic link between files. @table @kbd @findex make-indirect-buffer @item M-x make-indirect-buffer @key{RET} @var{base-buffer} @key{RET} @var{indirect-name} @key{RET} -Create an indirect buffer named @var{indirect-name} whose base buffer -is @var{base-buffer}. +Create an indirect buffer named @var{indirect-name} with base buffer +@var{base-buffer}. @findex clone-indirect-buffer @item M-x clone-indirect-buffer @key{RET} Create an indirect buffer that is a twin copy of the current buffer. @@ -520,10 +520,9 @@ @code{clone-indirect-buffer-hook} after creating the indirect buffer. The more general way to make an indirect buffer is with the command -@kbd{M-x make-indirect-buffer}. It creates an indirect buffer from -buffer @var{base-buffer}, under the name @var{indirect-name}. It -prompts for both @var{base-buffer} and @var{indirect-name} using the -minibuffer. +@kbd{M-x make-indirect-buffer}. It creates an indirect buffer +named @var{indirect-name} from a buffer @var{base-buffer}, prompting for +both using the minibuffer. @node Buffer Convenience @section Convenience Features and Customization of Buffer Handling === modified file 'doc/emacs/calendar.texi' --- doc/emacs/calendar.texi 2012-04-26 00:31:47 +0000 +++ doc/emacs/calendar.texi 2012-05-05 04:32:58 +0000 @@ -26,8 +26,8 @@ @iftex This chapter describes the basic calendar features. -@inforef{Advanced Calendar/Diary Usage,, emacs-xtra}, for information -about more specialized features. +For more advanced topics, +@pxref{Advanced Calendar/Diary Usage,,, emacs-xtra, Specialized Emacs Features}. @end iftex @menu @@ -489,7 +489,7 @@ calendar, use the @kbd{x} command. This displays the dates that are holidays in a different face. @iftex -@inforef{Calendar Customizing, calendar-holiday-marker, emacs-xtra}. +@xref{Calendar Customizing,,, emacs-xtra, Specialized Emacs Features}. @end iftex @ifnottex @xref{Calendar Customizing, calendar-holiday-marker}. @@ -1102,7 +1102,7 @@ the @kbd{m} command. This marks the dates that have diary entries in a different face. @iftex -@inforef{Calendar Customizing, diary-entry-marker, emacs-xtra}. +@xref{Calendar Customizing,,, emacs-xtra, Specialized Emacs Features}. @end iftex @ifnottex @xref{Calendar Customizing, diary-entry-marker}. @@ -1126,7 +1126,7 @@ few days as well; the variable @code{diary-number-of-entries} specifies how many days to include. @iftex -@inforef{Diary Customizing,, emacs-xtra}. +@xref{Diary Customizing,,, emacs-xtra, Specialized Emacs Features}. @end iftex @ifnottex @xref{Diary Customizing, diary-number-of-entries}. @@ -1270,7 +1270,7 @@ commands are in the next section (@pxref{Special Diary Entries}). Entries can also be based on non-Gregorian calendars. @iftex -@inforef{Non-Gregorian Diary,, emacs-xtra}. +@xref{Non-Gregorian Diary,,, emacs-xtra, Specialized Emacs Features}. @end iftex @ifnottex @xref{Non-Gregorian Diary}. @@ -1438,7 +1438,7 @@ marking the entry in the calendar. Most generally, sexp diary entries can perform arbitrary computations to determine when they apply. @iftex -@inforef{Sexp Diary Entries,, emacs-xtra}. +@xref{Sexp Diary Entries,,, emacs-xtra, Specialized Emacs Features}. @end iftex @ifnottex @xref{Sexp Diary Entries}. @@ -1512,7 +1512,7 @@ @code{appt-display-diary} to @code{nil}. The appointments list is also updated whenever the diary file (or a file it includes; see @iftex -@inforef{Fancy Diary Display,, emacs-xtra}) +@ref{Fancy Diary Display,,, emacs-xtra, Specialized Emacs Features}) @end iftex @ifnottex @ref{Fancy Diary Display}) @@ -1576,7 +1576,7 @@ You can use an @code{#include} directive to add the import file contents to the main diary file, if these are different files. @iftex -@inforef{Fancy Diary Display,, emacs-xtra}. +@xref{Fancy Diary Display,,, emacs-xtra, Specialized Emacs Features}. @end iftex @ifnottex @xref{Fancy Diary Display}. === modified file 'doc/emacs/custom.texi' --- doc/emacs/custom.texi 2012-04-28 07:45:03 +0000 +++ doc/emacs/custom.texi 2012-05-05 04:32:58 +0000 @@ -79,7 +79,7 @@ @c we want the buffer example to all be on one page, but unfortunately @c that's quite a bit of text, so force all space to the bottom. -@page +@c @page @smallexample @group To apply changes, use the Save or Set buttons. @@ -628,7 +628,7 @@ @findex disable-theme You can enable a specific Custom theme in the current Emacs session by typing @kbd{M-x load-theme}. This prompts for a theme name, loads -the theme from the theme file, and enables the theme. If a theme file +the theme from the theme file, and enables it. If a theme file has been loaded before, you can enable the theme without loading its file by typing @kbd{M-x enable-theme}. To disable a Custom theme, type @kbd{M-x disable-theme}. @@ -636,7 +636,7 @@ @findex describe-theme To see a description of a Custom theme, type @kbd{?} on its line in the @file{*Custom Themes*} buffer; or type @kbd{M-x describe-theme} -anywhere in Emacs and enter the theme name in the minibuffer. +anywhere in Emacs and enter the theme name. @node Creating Custom Themes @subsection Creating Custom Themes @@ -762,7 +762,7 @@ @noindent displays something like this: -@smallexample +@example fill-column is a variable defined in `C source code'. fill-column's value is 70 Local in buffer custom.texi; global value is 70 @@ -777,7 +777,7 @@ Interactively, you can set the buffer local value using C-x f. You can customize this variable. -@end smallexample +@end example @noindent The line that says ``You can customize the variable'' indicates that === modified file 'doc/emacs/dired.texi' --- doc/emacs/dired.texi 2012-04-26 00:31:47 +0000 +++ doc/emacs/dired.texi 2012-05-05 04:32:58 +0000 @@ -104,7 +104,7 @@ @findex dired-other-frame @kindex C-x 5 d To display the Dired buffer in another window, use @kbd{C-x 4 d} -(@code{dired-other-window}) instead of @kbd{C-x d}. @kbd{C-x 5 d} +(@code{dired-other-window}). @kbd{C-x 5 d} (@code{dired-other-frame}) displays the Dired buffer in a separate frame. === modified file 'doc/emacs/fixit.texi' --- doc/emacs/fixit.texi 2012-04-14 08:25:06 +0000 +++ doc/emacs/fixit.texi 2012-05-05 04:32:58 +0000 @@ -8,9 +8,9 @@ @cindex mistakes, correcting In this chapter we describe commands that are useful when you catch -a mistake while editing. The most fundamental command for correcting -erroneous editing is the undo command @kbd{C-/} (which is also bound -to @kbd{C-x u} and @kbd{C-_}). This undoes a single command, or a +a mistake while editing. The most fundamental of these commands is +the undo command @kbd{C-/} (also bound to @kbd{C-x u} and @kbd{C-_}). +This undoes a single command, or a part of a command (as in the case of @code{query-replace}), or several consecutive character insertions. Consecutive repetitions of @kbd{C-/} undo earlier and earlier changes, back to the limit of the @@ -60,7 +60,6 @@ to @kbd{C-_} because typing @kbd{C-/} on some text terminals actually enters @kbd{C-_}.}. This undoes the most recent change in the buffer, and moves point back to where it was before that change. - Consecutive repetitions of @kbd{C-/} (or its aliases) undo earlier and earlier changes in the current buffer. If all the recorded changes have already been undone, the undo command signals an error. @@ -75,7 +74,7 @@ harmlessly breaks the sequence of undoing; then type @kbd{C-/} to undo the undo command. - On the other hand, if you want to resume undoing, without redoing + Alternatively, if you want to resume undoing, without redoing previous undo commands, use @kbd{M-x undo-only}. This is like @code{undo}, but will not redo changes you have just undone. === modified file 'doc/emacs/frames.texi' --- doc/emacs/frames.texi 2012-04-28 07:45:03 +0000 +++ doc/emacs/frames.texi 2012-05-05 04:32:58 +0000 @@ -492,13 +492,13 @@ @samp{Options} menu. @item -Add a line to your init file (@pxref{Init File}), modifying the -variable @code{default-frame-alist} to specify the @code{font} -parameter (@pxref{Creating Frames}), like this: +Add a line to your init file, modifying the variable +@code{default-frame-alist} to specify the @code{font} parameter +(@pxref{Frame Parameters}), like this: -@smallexample +@example (add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-10")) -@end smallexample +@end example @cindex X defaults file @cindex X resources file @@ -506,14 +506,14 @@ Add an @samp{emacs.font} X resource setting to your X resource file, like this: -@smallexample +@example emacs.font: DejaVu Sans Mono-12 -@end smallexample +@end example @noindent You must restart X, or use the @command{xrdb} command, for the X -resources file to take effect. @xref{Resources}. When specifying a -font in your X resources file, you should not quote it. +resources file to take effect. @xref{Resources}. Do not quote +font names in X resource files. @item If you are running Emacs on the GNOME desktop, you can tell Emacs to @@ -535,9 +535,9 @@ first is to use a @dfn{Fontconfig pattern}. Fontconfig patterns have the following form: -@smallexample +@example @var{fontname}[-@var{fontsize}][:@var{name1}=@var{values1}][:@var{name2}=@var{values2}]... -@end smallexample +@end example @noindent Within this format, any of the elements in braces may be omitted. @@ -577,13 +577,13 @@ @noindent Here are some examples of Fontconfig patterns: -@smallexample +@example Monospace Monospace-12 Monospace-12:bold DejaVu Sans Mono:bold:italic Monospace-12:weight=bold:slant=italic -@end smallexample +@end example For a more detailed description of Fontconfig patterns, see the Fontconfig manual, which is distributed with Fontconfig and available @@ -593,9 +593,9 @@ The second way to specify a font is to use a @dfn{GTK font pattern}. These have the syntax -@smallexample +@example @var{fontname} [@var{properties}] [@var{fontsize}] -@end smallexample +@end example @noindent where @var{fontname} is the family name, @var{properties} is a list of @@ -619,10 +619,10 @@ @noindent Here are some examples of GTK font patterns: -@smallexample +@example Monospace 12 Monospace Bold Italic 12 -@end smallexample +@end example @cindex XLFD @cindex X Logical Font Description @@ -631,9 +631,9 @@ specifying fonts under X. Each XLFD consists of fourteen words or numbers, separated by dashes, like this: -@smallexample +@example -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1 -@end smallexample +@end example @noindent A wildcard character (@samp{*}) in an XLFD matches any sequence of @@ -644,10 +644,10 @@ Case is insignificant in an XLFD. The syntax for an XLFD is as follows: -@smallexample +@example -@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{} @dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{registry}-@var{encoding} -@end smallexample +@end example @noindent The entries have the following meanings: @@ -706,9 +706,9 @@ instead of a normal font specification. For instance, @samp{6x13} is equivalent to -@smallexample +@example -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1 -@end smallexample +@end example @cindex client-side fonts @cindex server-side fonts @@ -1160,9 +1160,9 @@ running on your system in order for this to work. @iftex -@pxref{MS-DOS Mouse,,,emacs-xtra,Specialized Emacs Features}, +@xref{MS-DOS Mouse,,,emacs-xtra,Specialized Emacs Features}, @end iftex @ifnottex -@pxref{MS-DOS Mouse}, +@xref{MS-DOS Mouse}, @end ifnottex for information about mouse support on MS-DOS. === modified file 'doc/emacs/maintaining.texi' --- doc/emacs/maintaining.texi 2012-04-28 07:45:03 +0000 +++ doc/emacs/maintaining.texi 2012-05-05 04:32:58 +0000 @@ -711,7 +711,7 @@ On a locking-based version control system (@pxref{VCS Merging}), registering a file leaves it unlocked and read-only. Type @kbd{C-x v -v} if you wish to start editing it. +v} to start editing it. @node Old Revisions @subsection Examining And Comparing Old Revisions @@ -1729,7 +1729,7 @@ @code{bidule}. @item -In assembler code, labels appearing at the beginning of a line, +In assembler code, labels appearing at the start of a line, followed by a colon, are tags. @item === modified file 'doc/emacs/modes.texi' --- doc/emacs/modes.texi 2012-01-19 07:21:25 +0000 +++ doc/emacs/modes.texi 2012-05-05 04:32:58 +0000 @@ -65,8 +65,7 @@ first visit a file or create a buffer (@pxref{Choosing Modes}). You can explicitly select a new major mode by using an @kbd{M-x} command. Take the name of the mode and add @code{-mode} to get the name of the -command to select that mode. Thus, you can enter Lisp mode with -@kbd{M-x lisp-mode}. +command to select that mode (e.g., @kbd{M-x lisp-mode} enters Lisp mode). @vindex major-mode The value of the buffer-local variable @code{major-mode} is a symbol @@ -81,9 +80,9 @@ Customization}), or by adding a line like this to your init file (@pxref{Init File}): -@smallexample +@example (setq-default major-mode 'text-mode) -@end smallexample +@end example @noindent If the default value of @code{major-mode} is @code{nil}, the major @@ -216,8 +215,7 @@ @findex linum-mode @cindex Linum mode @item -Linum mode displays each line's line number in the window's left -margin. Its mode command is @code{linum-mode}. +Linum mode displays each line's line number in the window's left margin. @item Outline minor mode provides similar facilities to the major mode === modified file 'doc/emacs/mule.texi' --- doc/emacs/mule.texi 2012-04-28 07:45:03 +0000 +++ doc/emacs/mule.texi 2012-05-05 04:32:58 +0000 @@ -991,12 +991,11 @@ behaves a bit differently. It additionally checks whether the @c What determines this? most-preferred coding system is recommended for use in MIME messages; -if not, Emacs tells you that the most-preferred coding system is not -recommended and prompts you for another coding system. This is so you -won't inadvertently send a message encoded in a way that your -recipient's mail software will have difficulty decoding. (You can -still use an unsuitable coding system if you type its name in response -to the question.) +if not, it informs you of this fact and prompts you for another coding +system. This is so you won't inadvertently send a message encoded in +a way that your recipient's mail software will have difficulty +decoding. (You can still use an unsuitable coding system if you enter +its name at the prompt.) @c It seems that select-message-coding-system does this. @c Both sendmail.el and smptmail.el call it; i.e. smtpmail.el still === modified file 'doc/emacs/programs.texi' --- doc/emacs/programs.texi 2012-04-26 00:31:47 +0000 +++ doc/emacs/programs.texi 2012-05-05 04:32:58 +0000 @@ -9,7 +9,7 @@ @cindex program editing This chapter describes Emacs features for facilitating editing -programs. Some of these features can: +programs. Some of the things these features can do are: @itemize @bullet @item @@ -128,8 +128,7 @@ @ifnotinfo The Emacs distribution contains Info manuals for the major modes for Ada, C/C++/Objective C/Java/Corba IDL/Pike/AWK, and IDLWAVE. For -Fortran mode, see the ``Fortran'' section in the Info version of the -Emacs manual, which is not included in this printed version. +Fortran mode, @pxref{Fortran,,, emacs-xtra, Specialized Emacs Features}. @end ifnotinfo @node Defuns @@ -186,15 +185,13 @@ highlights confusing opening delimiters (those that ought to be quoted) in bold red. +@vindex open-paren-in-column-0-is-defun-start If you need to override this convention, you can do so by setting -this user option: - -@defvar open-paren-in-column-0-is-defun-start +the variable @code{open-paren-in-column-0-is-defun-start}. If this user option is set to @code{t} (the default), opening -parentheses or braces at column zero always start defuns. When it's +parentheses or braces at column zero always start defuns. When it is @code{nil}, defuns are found by searching for parens or braces at the outermost level. -@end defvar Usually, you should leave this option at its default value of @code{t}. If your buffer contains parentheses or braces in column @@ -1553,8 +1550,8 @@ @kindex C-c C-l @r{(C mode)} @findex c-toggle-electric-state Toggle electric action (@code{c-toggle-electric-state}). With a -prefix argument, this command enables electric action if the argument -is positive, disables it if it is negative. +positive prefix argument, this command enables electric action, with a +negative one it disables it. @end table Electric characters insert newlines only when, in addition to the @@ -1591,8 +1588,7 @@ @findex c-hungry-delete-backwards @kindex C-c C-@key{DEL} (C Mode) @kindex C-c @key{DEL} (C Mode) -@code{c-hungry-delete-backwards}---Delete the entire block of whitespace -preceding point. +Delete the entire block of whitespace preceding point (@code{c-hungry-delete-backwards}). @item C-c C-d @itemx C-c C-@key{DELETE} @@ -1601,8 +1597,7 @@ @kindex C-c C-d (C Mode) @kindex C-c C-@key{DELETE} (C Mode) @kindex C-c @key{DELETE} (C Mode) -@code{c-hungry-delete-forward}---Delete the entire block of whitespace -following point. +Delete the entire block of whitespace after point (@code{c-hungry-delete-forward}). @end table As an alternative to the above commands, you can enable @dfn{hungry @@ -1615,9 +1610,7 @@ @item M-x c-toggle-hungry-state @findex c-toggle-hungry-state Toggle the hungry-delete feature -(@code{c-toggle-hungry-state})@footnote{This command had the binding -@kbd{C-c C-d} in earlier versions of Emacs. @kbd{C-c C-d} is now -bound to @code{c-hungry-delete-forward}.}. With a prefix argument, +(@code{c-toggle-hungry-state}). With a prefix argument, this command turns the hungry-delete feature on if the argument is positive, and off if it is negative. @end table @@ -1656,11 +1649,11 @@ @kbd{C-j}. We use @code{c-initialization-hook} here to make sure the keymap is loaded before we try to change it. -@smallexample +@example (defun my-bind-clb () (define-key c-mode-base-map "\C-j" 'c-context-line-break)) (add-hook 'c-initialization-hook 'my-bind-clb) -@end smallexample +@end example @item C-M-h Put mark at the end of a function definition, and put point at the === modified file 'doc/emacs/rmail.texi' --- doc/emacs/rmail.texi 2012-04-26 00:31:47 +0000 +++ doc/emacs/rmail.texi 2012-05-05 04:32:58 +0000 @@ -1232,9 +1232,9 @@ Address mode: @c FIXME goto-addr.el commentary says to use goto-address instead. -@smallexample +@example (add-hook 'rmail-show-message-hook 'goto-address-mode) -@end smallexample +@end example @noindent Then you can browse these URLs by clicking on them with @kbd{Mouse-2} === modified file 'doc/emacs/text.texi' --- doc/emacs/text.texi 2012-04-10 06:54:43 +0000 +++ doc/emacs/text.texi 2012-05-05 04:32:58 +0000 @@ -379,8 +379,8 @@ following page delimiter in the region is to ensure that. A numeric argument to @kbd{C-x C-p} specifies which page to go to, -relative to the current one. Zero means the current page. One means -the next page, and @minus{}1 means the previous one. +relative to the current one. Zero means the current page, one +the next page, and @minus{}1 the previous one. @kindex C-x l @findex count-lines-page @@ -412,7 +412,7 @@ specified width. Emacs does filling in two ways. In Auto Fill mode, inserting text with self-inserting characters also automatically fills it. There are also explicit fill commands that you can use when editing -text leaves it unfilled. +text. @menu * Auto Fill:: Auto Fill mode breaks long lines automatically. @@ -1240,6 +1240,7 @@ @end itemize @end table +@c FIXME not marked as a user variable @vindex foldout-mouse-modifiers You can specify different modifier keys (instead of @kbd{Control-Meta-}) by setting @code{foldout-mouse-modifiers}; but if @@ -1248,7 +1249,7 @@ To use the Foldout package, you can type @kbd{M-x load-library @key{RET} foldout @key{RET}}; or you can arrange for to do that -automatically by putting this in your init file (@pxref{Init File}): +automatically by putting the following in your init file: @example (eval-after-load "outline" '(require 'foldout)) @@ -1307,8 +1308,8 @@ if invoked on a body line. The following subsections give basic instructions for using Org mode -as an organizer and as an authoring system. @xref{Top,The Org Mode -Manual,,org, The Org Manual}, for details. +as an organizer and as an authoring system. For details, @pxref{Top, +The Org Mode Manual, Introduction, org, The Org Manual}. @menu * Org Organizer:: Managing TODO lists and agendas. @@ -1886,8 +1887,8 @@ @kindex C-c / @r{(SGML mode)} @findex sgml-close-tag Insert a close tag for the innermost unterminated tag -(@code{sgml-close-tag}). If called from within a tag or a comment, -close this element instead of inserting a close tag. +(@code{sgml-close-tag}). If called within a tag or a comment, +close it instead of inserting a close tag. @item C-c 8 @kindex C-c 8 @r{(SGML mode)} @@ -1948,10 +1949,10 @@ @cindex nroff @findex nroff-mode @vindex nroff-mode-hook - Nroff mode is a major mode derived from Text mode, which is + Nroff mode, a major mode derived from Text mode, is specialized for editing nroff files (e.g.@: Unix man pages). Type @kbd{M-x nroff-mode} to enter this mode. Entering Nroff mode runs the -hook @code{text-mode-hook}, followed by @code{nroff-mode-hook} +hook @code{text-mode-hook}, then @code{nroff-mode-hook} (@pxref{Hooks}). In Nroff mode, nroff command lines are treated as paragraph @@ -2209,7 +2210,7 @@ These margins also affect fill commands such as @kbd{M-q} (@pxref{Filling}). - The Indentation submenu of Text Properties provides four commands + The Indentation submenu of Text Properties offers commands for specifying indentation: @table @code @@ -2292,10 +2293,9 @@ still indent the left margin. @end table +@vindex default-justification You can also specify justification styles using the Justification submenu in the Text Properties menu. - -@vindex default-justification The default justification style is specified by the per-buffer variable @code{default-justification}. Its value should be one of the symbols @code{left}, @code{right}, @code{full}, @code{center}, or @@ -2578,10 +2578,12 @@ @findex table-insert-row @kbd{M-x table-insert-row} inserts a row of cells before the current table row. The current row, together with point, is pushed down past -the new row. To insert rows after the last row at the bottom of a +the new row. To insert a row after the last row at the bottom of a table, invoke this command with point below the table, just below the -bottom edge. A numeric prefix argument specifies the number of rows -to insert. +bottom edge. You can insert more than one row at a time by using a +numeric prefix argument. + +@c A numeric prefix argument specifies the number of rows to insert. @findex table-insert-column Similarly, @kbd{M-x table-insert-column} inserts a column of cells === modified file 'doc/lispintro/ChangeLog' --- doc/lispintro/ChangeLog 2012-05-04 06:45:03 +0000 +++ doc/lispintro/ChangeLog 2012-05-05 04:32:58 +0000 @@ -1,3 +1,12 @@ +2012-05-05 Glenn Morris + + * emacs-lisp-intro.texi (Making Errors): Don't mention Emacs 20. + (Void Function, Wrong Type of Argument, Recursion with list) + (Simple Extension): Assume a non-ancient Emacs. + (Void Variable, Switching Buffers): Improve page breaks. + + * emacs-lisp-intro.texi: Update GNU Press contact details. + 2012-05-04 Glenn Morris * Makefile.in (INFO_EXT, INFO_OPTS): New, set by configure. === modified file 'doc/lispintro/emacs-lisp-intro.texi' --- doc/lispintro/emacs-lisp-intro.texi 2012-04-28 18:26:17 +0000 +++ doc/lispintro/emacs-lisp-intro.texi 2012-05-05 04:32:58 +0000 @@ -234,27 +234,27 @@ @iftex Published by the:@* -GNU Press, @hfill @uref{http://www.gnupress.org}@* -a division of the @hfill General: @email{press@@gnu.org}@* -Free Software Foundation, Inc. @hfill Orders:@w{ } @email{sales@@gnu.org}@* -51 Franklin Street, Fifth Floor @hfill Tel: +1 (617) 542-5942@* -Boston, MA 02110-1301 USA @hfill Fax: +1 (617) 542-2652@* +GNU Press, @hfill @uref{http://www.fsf.org/campaigns/gnu-press/}@* +a division of the @hfill email: @email{sales@@fsf.org}@* +Free Software Foundation, Inc. @hfill Tel: +1 (617) 542-5942@* +51 Franklin Street, Fifth Floor @hfill Fax: +1 (617) 542-2652@* +Boston, MA 02110-1301 USA @end iftex @ifnottex Published by the: @example -GNU Press, Website: http://www.gnupress.org -a division of the General: press@@gnu.org -Free Software Foundation, Inc. Orders: sales@@gnu.org -51 Franklin Street, Fifth Floor Tel: +1 (617) 542-5942 -Boston, MA 02110-1301 USA Fax: +1 (617) 542-2652 +GNU Press, http://www.fsf.org/campaigns/gnu-press/ +a division of the email: sales@@fsf.org +Free Software Foundation, Inc. Tel: +1 (617) 542-5942 +51 Franklin Street, Fifth Floor Fax: +1 (617) 542-2652 +Boston, MA 02110-1301 USA @end example @end ifnottex @sp 1 -@c Printed copies are available for $30 each.@* +@c Printed copies are available from @uref{http://shop.fsf.org/} for $35 each.@* ISBN 1-882114-43-4 Permission is granted to copy, distribute and/or modify this document @@ -1426,6 +1426,7 @@ (this is an unquoted list) @end smallexample +@ignore @noindent What you see depends on which version of Emacs you are running. GNU Emacs version 22 provides more information than version 20 and before. @@ -1436,6 +1437,10 @@ @noindent In GNU Emacs version 22, a @file{*Backtrace*} window will open up and you will see the following in it: +@end ignore + +A @file{*Backtrace*} window will open up and you should see the +following in it: @smallexample @group @@ -1514,19 +1519,24 @@ have a set of instructions for the computer to obey and those instructions must be to add the numbers that follow the @code{+}. -@need 1250 -In GNU Emacs version 20, and in earlier versions, you will see only -one line of error message; it will appear in the echo area and look -like this: +It is possible to prevent Emacs entering the debugger in cases like +this. We do not explain how to do that here, but we will mention what +the result looks like, because you may encounter a similar situation +if there is a bug in some Emacs code that you are using. In such +cases, you will see only one line of error message; it will appear in +the echo area and look like this: @smallexample Symbol's function definition is void:@: this @end smallexample @noindent +@ignore (Also, your terminal may beep at you---some do, some don't; and others -blink. This is just a device to get your attention.) The message goes -away as soon as you type another key, even just to move the cursor. +blink. This is just a device to get your attention.) +@end ignore +The message goes away as soon as you type a key, even just to +move the cursor. We know the meaning of the word @samp{Symbol}. It refers to the first atom of the list, the word @samp{this}. The word @samp{function} @@ -1862,8 +1872,7 @@ @need 1250 @noindent -In GNU Emacs version 22, you will create a @file{*Backtrace*} buffer -that says: +You will create a @file{*Backtrace*} buffer that says: @smallexample @group @@ -1929,7 +1938,7 @@ @end smallexample @noindent -(As with the other times we entered the debugger, you can quit by +(Again, you can quit the debugger by typing @kbd{q} in the @file{*Backtrace*} buffer.) This backtrace is different from the very first error message we saw, @@ -1943,7 +1952,7 @@ variable instead of the function definition. We did this by placing the cursor right after the symbol rather than after the parenthesis of the enclosing list as we did before. As a consequence, the Lisp interpreter -evaluated the preceding s-expression, which in this case was the +evaluated the preceding s-expression, which in this case was @code{+} by itself. Since @code{+} does not have a value bound to it, just the function @@ -2183,8 +2192,7 @@ could not carry out its addition. @need 1250 -In GNU Emacs version 22, you will create and enter a -@file{*Backtrace*} buffer that says: +You will create and enter a @file{*Backtrace*} buffer that says: @noindent @smallexample @@ -2912,7 +2920,7 @@ default buffer was @file{*scratch*}, or if it was different, then you typed just part of the name, such as @code{*sc}, pressed your @kbd{TAB} key to cause it to expand to the full name, and then typed -your @kbd{RET} key.} when prompted in the minibuffer for the name of +@kbd{RET}.} when prompted in the minibuffer for the name of the buffer to which you wanted to switch. The keystrokes, @kbd{C-x b}, cause the Lisp interpreter to evaluate the interactive function @code{switch-to-buffer}. As we said before, this is how Emacs works: @@ -2922,10 +2930,7 @@ By writing @code{switch-to-buffer} in an expression, and giving it a buffer to switch to, we can switch buffers just the way @kbd{C-x b} -does. - -@need 1000 -Here is the Lisp expression: +does: @smallexample (switch-to-buffer (other-buffer)) @@ -7722,6 +7727,7 @@ @section @code{zap-to-char} @findex zap-to-char +@c FIXME remove obsolete stuff The @code{zap-to-char} function changed little between GNU Emacs version 19 and GNU Emacs version 22. However, @code{zap-to-char} calls another function, @code{kill-region}, which enjoyed a major @@ -11508,9 +11514,10 @@ of numbers can be written recursively. Here is the code, including an expression to set the value of the variable @code{animals} to a list. -If you are using GNU Emacs 20 or before, this example must be copied -to the @file{*scratch*} buffer and each expression must be evaluated -there. Use @kbd{C-u C-x C-e} to evaluate the +If you are reading this in Info in Emacs, you can evaluate this +expression directly in Info. Otherwise, you must copy the example +to the @file{*scratch*} buffer and evaluate each expression there. +Use @kbd{C-u C-x C-e} to evaluate the @code{(print-elements-recursively animals)} expression so that the results are printed in the buffer; otherwise the Lisp interpreter will try to squeeze the results into the one line of the echo area. @@ -11519,9 +11526,6 @@ of the @code{print-elements-recursively} function, before the comment. Otherwise, the Lisp interpreter will try to evaluate the comment. -If you are using a more recent version of Emacs, you can evaluate this -expression directly in Info. - @findex print-elements-recursively @smallexample @group @@ -17949,7 +17953,7 @@ @end group @end smallexample -For example, in contrast to version 20, more recent versions blink +For example, recent versions blink their cursors by default. I hate such blinking, as well as other features, so I placed the following in my @file{.emacs} file@footnote{When I start instances of Emacs that do not load my === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-05-04 06:45:03 +0000 +++ doc/lispref/ChangeLog 2012-05-05 04:32:58 +0000 @@ -1,3 +1,24 @@ +2012-05-05 Glenn Morris + + * objects.texi (Process Type, Overlay Type): Tweak page-breaks. + + * intro.texi (Caveats): Copyedit. + (Lisp History): Convert inforef to xref. + (Lisp History, Printing Notation, Version Info): Improve page-breaks. + + * text.texi (Auto Filling): Don't mention Emacs 19. + + * commands.texi (Event Input Misc): Don't mention unread-command-char. + * numbers.texi (Predicates on Numbers): Don't mention Emacs 18. + + * elisp.texi (DATE): Forgot to change the month in 2012-04-21 change. + +2012-05-04 Glenn Morris + + * lists.texi (List-related Predicates, List Variables): + Tweak page-breaks. + (Sets And Lists): Convert inforef to xref. + 2012-05-04 Glenn Morris * Makefile.in (INFO_EXT, INFO_OPTS): New, set by configure. === modified file 'doc/lispref/commands.texi' --- doc/lispref/commands.texi 2012-04-27 03:10:38 +0000 +++ doc/lispref/commands.texi 2012-05-05 04:32:58 +0000 @@ -2703,6 +2703,7 @@ individual events, which you can put in @code{unread-command-events}. @end defun +@ignore @defvar unread-command-char This variable holds a character to be read as command input. A value of -1 means ``empty''. @@ -2711,6 +2712,7 @@ @code{unread-command-events} instead; it exists only to support programs written for Emacs versions 18 and earlier. @end defvar +@end ignore @defun input-pending-p @cindex waiting for command key input === modified file 'doc/lispref/elisp.texi' --- doc/lispref/elisp.texi 2012-05-01 07:38:15 +0000 +++ doc/lispref/elisp.texi 2012-05-05 04:32:58 +0000 @@ -9,7 +9,7 @@ @c (See comments for EDITION in emacs.texi) @set VERSION 3.1 @include emacsver.texi -@set DATE July 2012 +@set DATE May 2012 @c in general, keep the following line commented out, unless doing a @c copy of this manual that will be published. The manual should go === modified file 'doc/lispref/intro.texi' --- doc/lispref/intro.texi 2012-05-02 07:20:29 +0000 +++ doc/lispref/intro.texi 2012-05-05 04:32:58 +0000 @@ -73,7 +73,7 @@ effort to write it up and send it in. Please reference any comments to the chapter name, section name, and function name, as appropriate, since page numbers and chapter and section numbers will change and we may have -trouble finding the text you are talking about. Also state the number +trouble finding the text you are talking about. Also state the version of the edition you are criticizing. @end iftex @ifnottex @@ -120,10 +120,10 @@ @pindex cl A certain amount of Common Lisp emulation is available via the -@file{cl} library. @inforef{Top, Overview, cl}. +@file{cl} library. @xref{Top,, Overview, cl, Common Lisp Extensions}. Emacs Lisp is not at all influenced by Scheme; but the GNU project has -an implementation of Scheme, called Guile. We use Guile in all new GNU +an implementation of Scheme, called Guile. We use it in all new GNU software that calls for extensibility. @node Conventions @@ -257,7 +257,7 @@ Examples in this manual indicate printed text with @samp{@print{}}, irrespective of where that text goes. The value returned by -evaluating the form (here @code{bar}) follows on a separate line with +evaluating the form follows on a separate line with @samp{@result{}}. @example @@ -510,8 +510,6 @@ unreleased test version. @end defvar - The following two variables have existed since Emacs version 19.23: - @defvar emacs-major-version The major version number of Emacs, as an integer. For Emacs version 23.1, the value is 23. === modified file 'doc/lispref/lists.texi' --- doc/lispref/lists.texi 2012-04-27 03:10:38 +0000 +++ doc/lispref/lists.texi 2012-05-05 04:32:58 +0000 @@ -87,7 +87,7 @@ whether it is a cons cell or is a list, or whether it is the distinguished object @code{nil}. (Many of these predicates can be defined in terms of the others, but they are used so often that it is -worth having all of them.) +worth having them.) @defun consp object This function returns @code{t} if @var{object} is a cons cell, @code{nil} @@ -763,8 +763,7 @@ The argument @var{symbol} is not implicitly quoted; @code{add-to-ordered-list} is an ordinary function, like @code{set} -and unlike @code{setq}. Quote the argument yourself if that is what -you want. +and unlike @code{setq}. Quote the argument yourself if necessary. The ordering information is stored in a hash table on @var{symbol}'s @code{list-order} property. @@ -1269,7 +1268,7 @@ @b{Common Lisp note:} Common Lisp has functions @code{union} (which avoids duplicate elements) and @code{intersection} for set operations. Although standard GNU Emacs Lisp does not have them, the @file{cl} -library provides versions. @inforef{Top, Overview, cl}. +library provides versions. @xref{Top,, Overview, cl, Common Lisp Extensions}. @end quotation @defun memq object list === modified file 'doc/lispref/numbers.texi' --- doc/lispref/numbers.texi 2012-04-27 03:10:38 +0000 +++ doc/lispref/numbers.texi 2012-05-05 04:32:58 +0000 @@ -267,8 +267,6 @@ @defun floatp object This predicate tests whether its argument is a floating point number and returns @code{t} if so, @code{nil} otherwise. - -@code{floatp} does not exist in Emacs versions 18 and earlier. @end defun @defun integerp object === modified file 'doc/lispref/objects.texi' --- doc/lispref/objects.texi 2012-04-27 03:10:38 +0000 +++ doc/lispref/objects.texi 2012-05-05 04:32:58 +0000 @@ -1567,7 +1567,6 @@ Lisp object that designates a subprocess created by the Emacs process. Programs such as shells, GDB, ftp, and compilers, running in subprocesses of Emacs, extend the capabilities of Emacs. - An Emacs subprocess takes textual input from Emacs and returns textual output to Emacs for further manipulation. Emacs can also send signals to the subprocess. @@ -1631,7 +1630,7 @@ syntax, and print in hash notation, giving the buffer name and range of positions. - @xref{Overlays}, for how to create and use overlays. + @xref{Overlays}, for information on how you can create and use overlays. @node Font Type @subsection Font Type === modified file 'doc/lispref/text.texi' --- doc/lispref/text.texi 2012-05-02 07:20:29 +0000 +++ doc/lispref/text.texi 2012-05-05 04:32:58 +0000 @@ -1799,12 +1799,6 @@ The value of @code{auto-fill-function} is @code{do-auto-fill} when Auto-Fill mode is enabled. That is a function whose sole purpose is to implement the usual strategy for breaking a line. - -@quotation -In older Emacs versions, this variable was named @code{auto-fill-hook}, -but since it is not called with the standard convention for hooks, it -was renamed to @code{auto-fill-function} in version 19. -@end quotation @end defvar @defvar normal-auto-fill-function === modified file 'etc/refcards/README' --- etc/refcards/README 2012-01-19 07:21:25 +0000 +++ etc/refcards/README 2012-05-05 04:32:58 +0000 @@ -1,8 +1,11 @@ -Some of the *.tex files need special versions of TeX to typeset them. -The files cs-*.tex and sk-*.tex need csTeX, a special version of TeX -tailored to typesetting Czech and Slovak documents. We provide -generated files for these documents, so that you could print them -without installing the modified TeX versions. +To generate these refcards, you need to install the TeX document +production system. For example, http://www.tug.org/texlive/ . + +All modern GNU/Linux distributions provide TeX packages, so the +easiest way is just to install those. Your distribution may have +split some of the files needed to process non-English output into +separate, optional packages such as: texlive-lang-cyrillic, +texlive-lang-czechslovak, texlive-lang-german, and texlive-lang-polish. COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES @@ -12,5 +15,5 @@ File: gnus-logo.eps, gnus-logo.pdf Author: Luis Fernandes - Copyright (C) 2001-2012 Free Software Foundation, Inc. + Copyright (C) 2001-2012 Free Software Foundation, Inc. License: GNU General Public License version 3 or later (see COPYING) === modified file 'lib-src/ChangeLog' --- lib-src/ChangeLog 2012-05-02 11:43:14 +0000 +++ lib-src/ChangeLog 2012-05-05 04:32:58 +0000 @@ -1,3 +1,8 @@ +2012-05-05 Jim Meyering + + * lib-src/pop.c (pop_stat, pop_list, pop_multi_first, pop_last): + NUL-terminate the error buffer (Bug#11372). + 2012-05-02 Juanma Barranquero * emacsclient.c (min): Undef before redefining it. === modified file 'lib-src/pop.c' --- lib-src/pop.c 2012-01-19 07:21:25 +0000 +++ lib-src/pop.c 2012-05-02 10:12:13 +0000 @@ -346,6 +346,7 @@ if (0 == strncmp (fromserver, "-ERR", 4)) { strncpy (pop_error, fromserver, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; } else { @@ -447,7 +448,10 @@ if (strncmp (fromserver, "+OK ", 4)) { if (! strncmp (fromserver, "-ERR", 4)) - strncpy (pop_error, fromserver, ERROR_MAX); + { + strncpy (pop_error, fromserver, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; + } else { strcpy (pop_error, @@ -687,6 +691,7 @@ if (0 == strncmp (*response, "-ERR", 4)) { strncpy (pop_error, *response, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; return (-1); } else if (0 == strncmp (*response, "+OK", 3)) @@ -860,6 +865,7 @@ if (! strncmp (fromserver, "-ERR", 4)) { strncpy (pop_error, fromserver, ERROR_MAX); + pop_error[ERROR_MAX-1] = '\0'; return (-1); } else if (strncmp (fromserver, "+OK ", 4)) === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-05-05 03:21:47 +0000 +++ lisp/ChangeLog 2012-05-05 04:32:58 +0000 @@ -1,3 +1,8 @@ +2012-05-04 Chong Yidong + + * select.el (xselect--encode-string): Always use utf-8 for TEXT on + Nextstep. + 2012-05-05 Ransom Williams (tiny change) * files.el (file-auto-mode-skip): New var. === modified file 'lisp/select.el' --- lisp/select.el 2012-04-24 05:34:50 +0000 +++ lisp/select.el 2012-05-05 04:32:58 +0000 @@ -228,24 +228,30 @@ ;; But avoid modifying the string if it's a buffer name etc. (unless can-modify (setq str (substring str 0))) (remove-text-properties 0 (length str) '(composition nil) str) - ;; TEXT is a polymorphic target. Select the actual type - ;; from `UTF8_STRING', `COMPOUND_TEXT', `STRING', and - ;; `C_STRING'. - (if (eq type 'TEXT) - (if (not (multibyte-string-p str)) - (setq type 'C_STRING) - (let (non-latin-1 non-unicode eight-bit) - (mapc #'(lambda (x) - (if (>= x #x100) - (if (< x #x110000) - (setq non-latin-1 t) - (if (< x #x3FFF80) - (setq non-unicode t) - (setq eight-bit t))))) - str) - (setq type (if non-unicode 'COMPOUND_TEXT - (if non-latin-1 'UTF8_STRING - (if eight-bit 'C_STRING 'STRING))))))) + ;; For X selections, TEXT is a polymorphic target; choose + ;; the actual type from `UTF8_STRING', `COMPOUND_TEXT', + ;; `STRING', and `C_STRING'. On Nextstep, always use UTF-8 + ;; (see ns_string_to_pasteboard_internal in nsselect.m). + (when (eq type 'TEXT) + (cond + ((featurep 'ns) + (setq type 'UTF8_STRING)) + ((not (multibyte-string-p str)) + (setq type 'C_STRING)) + (t + (let (non-latin-1 non-unicode eight-bit) + (mapc #'(lambda (x) + (if (>= x #x100) + (if (< x #x110000) + (setq non-latin-1 t) + (if (< x #x3FFF80) + (setq non-unicode t) + (setq eight-bit t))))) + str) + (setq type (if non-unicode 'COMPOUND_TEXT + (if non-latin-1 'UTF8_STRING + (if eight-bit 'C_STRING + 'STRING)))))))) (cond ((eq type 'UTF8_STRING) (if (or (not coding) === modified file 'src/ChangeLog' --- src/ChangeLog 2012-05-04 23:16:47 +0000 +++ src/ChangeLog 2012-05-05 04:32:58 +0000 @@ -1,3 +1,7 @@ +2012-05-05 Jim Meyering + + * w32font.c (fill_in_logfont): NUL-terminate a string (Bug#11372). + 2012-05-04 Stefan Monnier * data.c (PUT_ERROR): New macro. === modified file 'src/w32font.c' --- src/w32font.c 2012-01-19 07:21:25 +0000 +++ src/w32font.c 2012-05-02 10:12:13 +0000 @@ -2045,8 +2045,11 @@ /* Font families are interned, but allow for strings also in case of user input. */ else if (SYMBOLP (tmp)) - strncpy (logfont->lfFaceName, - SDATA (ENCODE_SYSTEM (SYMBOL_NAME (tmp))), LF_FACESIZE); + { + strncpy (logfont->lfFaceName, + SDATA (ENCODE_SYSTEM (SYMBOL_NAME (tmp))), LF_FACESIZE); + logfont->lfFaceName[LF_FACESIZE-1] = '\0'; + } } tmp = AREF (font_spec, FONT_ADSTYLE_INDEX); ------------------------------------------------------------ Use --include-merges or -n0 to see merged revisions.