Now on revision 106996. ------------------------------------------------------------ revno: 106996 fixes bug(s): http://debbugs.gnu.org/9619 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-01-29 15:35:58 +0800 message: * doc/lispref/syntax.texi (Syntax Class Table): Tweak description of newline char syntax. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-01-29 07:25:22 +0000 +++ doc/lispref/ChangeLog 2012-01-29 07:35:58 +0000 @@ -1,5 +1,8 @@ 2012-01-29 Chong Yidong + * syntax.texi (Syntax Class Table): Tweak description of newline + char syntax (Bug#9619). + * numbers.texi (Predicates on Numbers): Fix wholenump/natnump description (Bug#10189). === modified file 'doc/lispref/syntax.texi' --- doc/lispref/syntax.texi 2012-01-19 07:21:25 +0000 +++ doc/lispref/syntax.texi 2012-01-29 07:35:58 +0000 @@ -128,10 +128,10 @@ @deffn {Syntax class} @w{whitespace character} @dfn{Whitespace characters} (designated by @w{@samp{@ }} or @samp{-}) separate symbols and words from each other. Typically, whitespace -characters have no other syntactic significance, and multiple whitespace -characters are syntactically equivalent to a single one. Space, tab, -newline and formfeed are classified as whitespace in almost all major -modes. +characters have no other syntactic significance, and multiple +whitespace characters are syntactically equivalent to a single one. +Space, tab, and formfeed are classified as whitespace in almost all +major modes. @end deffn @deffn {Syntax class} @w{word constituent} ------------------------------------------------------------ revno: 106995 fixes bug(s): http://debbugs.gnu.org/10189 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-01-29 15:25:22 +0800 message: Fix wholenump/natnump description in Lisp manual. * doc/lispref/numbers.texi (Predicates on Numbers): Fix wholenump/natnump description. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-01-29 02:49:57 +0000 +++ doc/lispref/ChangeLog 2012-01-29 07:25:22 +0000 @@ -1,3 +1,8 @@ +2012-01-29 Chong Yidong + + * numbers.texi (Predicates on Numbers): Fix wholenump/natnump + description (Bug#10189). + 2012-01-29 Glenn Morris * files.texi (Changing Files): Document SELinux support. === modified file 'doc/lispref/numbers.texi' --- doc/lispref/numbers.texi 2012-01-21 16:04:55 +0000 +++ doc/lispref/numbers.texi 2012-01-29 07:25:22 +0000 @@ -282,15 +282,15 @@ floating point), and returns @code{t} if so, @code{nil} otherwise. @end defun -@defun wholenump object +@defun natnump object @cindex natural numbers -The @code{wholenump} predicate (whose name comes from the phrase -``whole-number-p'') tests to see whether its argument is a nonnegative -integer, and returns @code{t} if so, @code{nil} otherwise. 0 is -considered non-negative. +This predicate (whose name comes from the phrase ``natual number'') +tests to see whether its argument is a nonnegative integer, and +returns @code{t} if so, @code{nil} otherwise. 0 is considered +non-negative. -@findex natnump -@code{natnump} is an obsolete synonym for @code{wholenump}. +@findex wholenump number +This is a synonym for @code{natnump}. @end defun @defun zerop number === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-29 07:06:54 +0000 +++ lisp/ChangeLog 2012-01-29 07:25:22 +0000 @@ -1,4 +1,4 @@ -2012-01-29 Syver Enstad +2012-01-29 Syver Enstad (tiny change) * progmodes/gud.el (pdb): Give pdb full paths, to allow setting breakpoints in files outside current directory (Bug#6098). ------------------------------------------------------------ revno: 106994 fixes bug(s): http://debbugs.gnu.org/6098 author: Syver Enstad committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-01-29 15:06:54 +0800 message: Fix pdb path handling. * progmodes/gud.el (pdb): Give pdb full paths, to allow setting breakpoints in files outside current directory. * lisp/progmodes/python.el: Require ansi-color at top-level. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-29 04:45:51 +0000 +++ lisp/ChangeLog 2012-01-29 07:06:54 +0000 @@ -1,5 +1,12 @@ +2012-01-29 Syver Enstad + + * progmodes/gud.el (pdb): Give pdb full paths, to allow setting + breakpoints in files outside current directory (Bug#6098). + 2012-01-29 Chong Yidong + * progmodes/python.el: Require ansi-color at top-level. + * emacs-lisp/lisp-mode.el (emacs-lisp-mode-abbrev-table): Define and use in Emacs Lisp mode (Bug#9360). (lisp-mode-abbrev-table): Add doc. === modified file 'lisp/progmodes/gud.el' --- lisp/progmodes/gud.el 2012-01-19 07:21:25 +0000 +++ lisp/progmodes/gud.el 2012-01-29 07:06:54 +0000 @@ -1646,8 +1646,8 @@ (gud-common-init command-line nil 'gud-pdb-marker-filter) (set (make-local-variable 'gud-minor-mode) 'pdb) - (gud-def gud-break "break %f:%l" "\C-b" "Set breakpoint at current line.") - (gud-def gud-remove "clear %f:%l" "\C-d" "Remove breakpoint at current line") + (gud-def gud-break "break %d%f:%l" "\C-b" "Set breakpoint at current line.") + (gud-def gud-remove "clear %d%f:%l" "\C-d" "Remove breakpoint at current line") (gud-def gud-step "step" "\C-s" "Step one source line with display.") (gud-def gud-next "next" "\C-n" "Step one line (skip functions).") (gud-def gud-cont "continue" "\C-r" "Continue with display.") === modified file 'lisp/progmodes/python.el' --- lisp/progmodes/python.el 2012-01-19 07:21:25 +0000 +++ lisp/progmodes/python.el 2012-01-29 07:06:54 +0000 @@ -67,6 +67,7 @@ ;;; Code: (require 'comint) +(require 'ansi-color) (eval-when-compile (require 'compile) @@ -1386,7 +1387,6 @@ \\{inferior-python-mode-map}" :group 'python - (require 'ansi-color) ; for ipython (setq mode-line-process '(":%s")) (set (make-local-variable 'comint-input-filter) 'python-input-filter) (add-hook 'comint-preoutput-filter-functions #'python-preoutput-filter @@ -1530,7 +1530,6 @@ (interactive (if current-prefix-arg (list (read-string "Run Python: " python-command) nil t) (list python-command))) - (require 'ansi-color) ; for ipython (unless cmd (setq cmd python-command)) (python-check-version cmd) (setq python-command cmd) ------------------------------------------------------------ revno: 106993 fixes bug(s): http://debbugs.gnu.org/9360 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-01-29 12:45:51 +0800 message: Make Emacs Lisp mode use emacs-lisp-mode-abbrev-table. * lisp/emacs-lisp/lisp-mode.el (emacs-lisp-mode-abbrev-table): Define and use in Emacs Lisp mode. (lisp-mode-abbrev-table): Add doc. (lisp-mode-variables): Don't set local-abbrev-table. (lisp-interaction-mode): Use emacs-lisp-mode-abbrev-table. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 18:25:03 +0000 +++ lisp/ChangeLog 2012-01-29 04:45:51 +0000 @@ -1,3 +1,11 @@ +2012-01-29 Chong Yidong + + * emacs-lisp/lisp-mode.el (emacs-lisp-mode-abbrev-table): Define + and use in Emacs Lisp mode (Bug#9360). + (lisp-mode-abbrev-table): Add doc. + (lisp-mode-variables): Don't set local-abbrev-table. + (lisp-interaction-mode): Use emacs-lisp-mode-abbrev-table. + 2012-01-28 Roland Winkler * textmodes/bibtex.el (bibtex-vec-incr): Fix docstring. === modified file 'lisp/emacs-lisp/lisp-mode.el' --- lisp/emacs-lisp/lisp-mode.el 2012-01-19 07:21:25 +0000 +++ lisp/emacs-lisp/lisp-mode.el 2012-01-29 04:45:51 +0000 @@ -34,8 +34,14 @@ (defvar font-lock-string-face) (defvar lisp-mode-abbrev-table nil) +(define-abbrev-table 'lisp-mode-abbrev-table () + "Abbrev table for Lisp mode.") -(define-abbrev-table 'lisp-mode-abbrev-table ()) +(defvar emacs-lisp-mode-abbrev-table nil) +(define-abbrev-table 'emacs-lisp-mode-abbrev-table () + "Abbrev table for Emacs Lisp mode. +It has `lisp-mode-abbrev-table' as its parent." + :parents (list lisp-mode-abbrev-table)) (defvar emacs-lisp-mode-syntax-table (let ((table (make-syntax-table)) @@ -206,7 +212,6 @@ font-lock keywords will not be case sensitive." (when lisp-syntax (set-syntax-table lisp-mode-syntax-table)) - (setq local-abbrev-table lisp-mode-abbrev-table) (make-local-variable 'paragraph-ignore-fill-prefix) (setq paragraph-ignore-fill-prefix t) (make-local-variable 'fill-paragraph-function) @@ -540,7 +545,8 @@ \\{lisp-interaction-mode-map} Entry to this mode calls the value of `lisp-interaction-mode-hook' -if that value is non-nil.") +if that value is non-nil." + :abbrev-table nil) (defun eval-print-last-sexp () "Evaluate sexp before point; print value into current buffer. ------------------------------------------------------------ revno: 106992 fixes bug(s): http://debbugs.gnu.org/9967 author: David Engster committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-01-29 12:21:29 +0800 message: Fix require error when using srecode-insert. * lisp/cedet/srecode/insert.el: Require srecode/filters. * lisp/cedet/srecode/filters.el: Drop two requires. diff: === modified file 'lisp/cedet/ChangeLog' --- lisp/cedet/ChangeLog 2012-01-19 07:21:25 +0000 +++ lisp/cedet/ChangeLog 2012-01-29 04:21:29 +0000 @@ -1,3 +1,9 @@ +2012-01-29 David Engster + + Fix require error when using srecode-insert (Bug#9967). + * srecode/insert.el: Require srecode/filters. + * srecode/filters.el: Drop two requires. + 2012-01-09 Eric Ludlam * ede.el (ede-project-directories): New option. === modified file 'lisp/cedet/srecode/filters.el' --- lisp/cedet/srecode/filters.el 2012-01-19 07:21:25 +0000 +++ lisp/cedet/srecode/filters.el 2012-01-29 04:21:29 +0000 @@ -26,8 +26,9 @@ ;;; Code: (require 'newcomment) -(require 'srecode/table) -(require 'srecode/insert) + +(declare-function srecode-dictionary-lookup-name "srecode/dictionary") +(defvar srecode-inserter-variable-current-dictionary) (defun srecode-comment-prefix (str) "Prefix each line of STR with the comment prefix characters." === modified file 'lisp/cedet/srecode/insert.el' --- lisp/cedet/srecode/insert.el 2012-01-19 07:21:25 +0000 +++ lisp/cedet/srecode/insert.el 2012-01-29 04:21:29 +0000 @@ -33,6 +33,7 @@ (require 'srecode/find) (require 'srecode/dictionary) (require 'srecode/args) +(require 'srecode/filters) (defvar srecode-template-inserter-point) (declare-function srecode-overlaid-activate "srecode/fields") ------------------------------------------------------------ revno: 106991 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-01-28 19:17:53 -0800 message: * etc/NEWS: Typo fix. diff: === modified file 'etc/NEWS' --- etc/NEWS 2012-01-29 03:16:54 +0000 +++ etc/NEWS 2012-01-29 03:17:53 +0000 @@ -1340,7 +1340,7 @@ ** GnuTLS *** New library `gnutls.el'. -This requires Emacs to have built with GnuTLS support. +This requires Emacs to have been built with GnuTLS support. The main functions are `open-gnutls-stream' and `gnutls-negotiate'. It's easiest to use these functions through `open-network-stream' because it can upgrade connections through STARTTLS opportunistically ------------------------------------------------------------ revno: 106990 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-01-28 19:16:54 -0800 message: * etc/NEWS: Minor libxml changes. diff: === modified file 'etc/NEWS' --- etc/NEWS 2012-01-29 03:08:15 +0000 +++ etc/NEWS 2012-01-29 03:16:54 +0000 @@ -49,6 +49,12 @@ `--without-imagemagick'. See below for ImageMagick features. --- +** Emacs can be compiled with libxml2 support. +This happens by default if a suitably recent version of the library is +found at build time. To prevent this, use the configure option +`--without-xml2'. See below for libxml2 features. + +--- ** There is a new configure option --with-wide-int. With it, Emacs integers typically have 62 bits, even on 32-bit machines. On 32-bit hosts, this raises the limit on buffer sizes from about 512 MiB @@ -1324,12 +1330,10 @@ See the Emacs Lisp Reference Manual for more information. ** XML and HTML parsing - -*** If Emacs is compiled with libxml2 support (which is the default), -two new Emacs Lisp-level functions are defined: -`libxml-parse-html-region' (which will parse "real world" HTML) -and `libxml-parse-xml-region' (which parses XML). Both return an -Emacs Lisp parse tree. +If Emacs is compiled with libxml2 support, there are two new functions: +`libxml-parse-html-region' (which parses "real world" HTML) and +`libxml-parse-xml-region' (which parses XML). Both return an Emacs +Lisp parse tree. FIXME: These should be front-ended by xml.el. ------------------------------------------------------------ revno: 106989 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-01-28 19:11:45 -0800 message: * doc/lispref/files.texi (Changing Files): Remove part of previous change. diff: === modified file 'doc/lispref/files.texi' --- doc/lispref/files.texi 2012-01-29 02:49:57 +0000 +++ doc/lispref/files.texi 2012-01-29 03:11:45 +0000 @@ -1511,9 +1511,6 @@ get and set, respectively, the SELinux properties of a file.} context of the file. For this to work, Emacs must have been built with libselinux support. - -Functions like @code{backup-buffer} use these optional arguments -to preserve information about their input files. @end deffn @deffn Command make-symbolic-link filename newname &optional ok-if-exists ------------------------------------------------------------ revno: 106988 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-01-28 19:08:15 -0800 message: Minor NEWS cleanup, mainly for "Installation Changes" section. * etc/NEWS: Reorder items. Standardize new --with-libfoo type configure options. Don't say precisely which library versions are needed - it tends to change and people who care can look at configure. Move new Hebrew tutorial entry to "Internationalization changes" section. Small tidy up for imagemagick and gnutls entries. * src/gnutls.c (syms_of_gnutls): More doc (from etc/NEWS). diff: === modified file 'etc/NEWS' --- etc/NEWS 2012-01-29 02:49:57 +0000 +++ etc/NEWS 2012-01-29 03:08:15 +0000 @@ -25,9 +25,34 @@ * Installation Changes in Emacs 24.1 --- -** Configure links against libselinux if it is found. -You can disable this by using --without-selinux. See below for -information on SELinux support. +** Emacs can be compiled with Gtk+ 3.0 if you pass --with-x-toolkit=gtk3 +to configure. Note that other libraries used by Emacs, RSVG and GConf, +also depend on Gtk+. You can disable them with --without-rsvg and +--without-gconf. + +--- +** Emacs can be compiled with GnuTLS support. +This happens by default if a suitably recent version of the library is +found at build time. To prevent this, use the configure option +`--without-gnutls'. See below for GnuTLS features. + +--- +** Emacs can be compiled with SELinux support. +This happens by default if a suitably recent version of the library is +found at build time. To prevent this, use the configure option +`--without-selinux'. See below for SELinux features. + +--- +** Emacs can be compiled with ImageMagick support. +This happens by default if a suitably recent version of the library is +found at build time. To prevent this, use the configure option +`--without-imagemagick'. See below for ImageMagick features. + +--- +** There is a new configure option --with-wide-int. +With it, Emacs integers typically have 62 bits, even on 32-bit machines. +On 32-bit hosts, this raises the limit on buffer sizes from about 512 MiB +to about 2 GiB. --- ** By default, the installed Info and man pages are compressed. @@ -40,33 +65,11 @@ lib-src/Makefile by hand in order to use the associated features. --- -** Emacs can be compiled against Gtk+ 3.0 if you pass --with-x-toolkit=gtk3 -to configure. Note that other libraries used by Emacs, RSVG and GConf, -also depend on Gtk+. You can disable them with --without-rsvg and ---without-gconf. - ---- ** There is a new configure option --enable-use-lisp-union-type. This is only useful for Emacs developers to debug certain types of bugs. This is not a new feature; only the configure flag is new. --- -** There is a new configure option --with-wide-int. -With it, Emacs integers typically have 62 bits, even on 32-bit machines. -On 32-bit hosts, this raises the limit on buffer sizes from about 512 MiB -to about 2 GiB. - ---- -** New translation of the Emacs Tutorial in Hebrew is available. -Type `C-u C-h t' to choose it in case your language setup doesn't -automatically select it. - -** Emacs can be compiled with ImageMagick support. -Emacs links to ImageMagick if version 6.2.8 or newer of the library is -present at build time. To inhibit ImageMagick, use the configure -option `--without-imagemagick' . - ---- ** The standalone programs digest-doc and sorted-doc are removed. Emacs now uses Lisp commands `doc-file-to-man' and `doc-file-to-info'. @@ -231,6 +234,11 @@ *** `nobreak-char-display' now also highlights Unicode hyphen chars (U+2010 and U+2011). +--- +*** New translation of the Emacs Tutorial in Hebrew is available. +Type `C-u C-h t' to choose it in case your language setup doesn't +automatically select it. + ** Improved GTK integration +++ *** GTK scroll-bars are now placed on the right by default. @@ -1307,9 +1315,9 @@ *** `image-extension-data' is renamed to `image-metadata'. -*** If Emacs is compiled with ImageMagick support (see Startup -Changes), the function `imagemagick-types' returns a list of image -file extensions that your installation of ImageMagick supports. The +*** Emacs can be compiled with ImageMagick support. +Then the function `imagemagick-types' returns a list of image file +extensions that your installation of ImageMagick supports. The function `imagemagick-register-types' enables ImageMagick support for these image types, minus those listed in `imagemagick-types-inhibit'. @@ -1327,21 +1335,13 @@ ** GnuTLS -*** Emacs can be compiled with libgnutls support -This is the default. You will then be able to use the functionality -in gnutls.el, namely the `open-gnutls-stream' and `gnutls-negotiate' -functions. It's easiest to use these functions through -`open-network-stream' because it can upgrade connections through -STARTTLS opportunistically or use plain SSL, depending on your needs. - -Only versions 2.8.x and higher or GnuTLS have been tested. -[FIXME: this statement needs clarifying, given that GnuTLS >= 2.6.6 -is the test used by configure.] - -*** gnutls-log-level -Set `gnutls-log-level' higher than 0 to get debug output. 1 is for -important messages, 2 is for debug data, and higher numbers are as per -the GnuTLS logging conventions. The output is in *Messages*. +*** New library `gnutls.el'. +This requires Emacs to have built with GnuTLS support. +The main functions are `open-gnutls-stream' and `gnutls-negotiate'. +It's easiest to use these functions through `open-network-stream' +because it can upgrade connections through STARTTLS opportunistically +or use plain SSL, depending on your needs. For debugging, set +`gnutls-log-level' greater than 0. ** Isearch === modified file 'src/ChangeLog' --- src/ChangeLog 2012-01-28 03:11:41 +0000 +++ src/ChangeLog 2012-01-29 03:08:15 +0000 @@ -1,3 +1,7 @@ +2012-01-29 Glenn Morris + + * gnutls.c (syms_of_gnutls): More doc (from etc/NEWS). + 2012-01-28 Samuel Thibault (tiny change) * s/gnu.h: Define POSIX_SIGNALS (Bug#10552). === modified file 'src/gnutls.c' --- src/gnutls.c 2012-01-05 09:46:05 +0000 +++ src/gnutls.c 2012-01-29 03:08:15 +0000 @@ -1118,7 +1118,10 @@ defsubr (&Sgnutls_available_p); DEFVAR_INT ("gnutls-log-level", global_gnutls_log_level, - doc: /* Logging level used by the GnuTLS functions. */); + doc: /* Logging level used by the GnuTLS functions. +Set this larger than 0 to get debug output in the *Messages* buffer. +1 is for important messages, 2 is for debug data, and higher numbers +are as per the GnuTLS logging conventions. */); global_gnutls_log_level = 0; } ------------------------------------------------------------ revno: 106987 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-01-28 18:49:57 -0800 message: Document SELinux support. * doc/lispref/files.texi (Changing Files): Document SELinux support. * etc/NEWS: Markup. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-01-29 01:50:40 +0000 +++ doc/lispref/ChangeLog 2012-01-29 02:49:57 +0000 @@ -1,5 +1,7 @@ 2012-01-29 Glenn Morris + * files.texi (Changing Files): Document SELinux support. + * windows.texi (Window Sizes): Fix typo. 2012-01-28 Chong Yidong === modified file 'doc/lispref/files.texi' --- doc/lispref/files.texi 2012-01-19 07:21:25 +0000 +++ doc/lispref/files.texi 2012-01-29 02:49:57 +0000 @@ -1480,7 +1480,7 @@ same effect as renaming, aside from momentary intermediate states. @end deffn -@deffn Command copy-file oldname newname &optional ok-if-exists time preserve-uid-gid +@deffn Command copy-file oldname newname &optional ok-if-exists time preserve-uid-gid preserve-selinux This command copies the file @var{oldname} to @var{newname}. An error is signaled if @var{oldname} does not exist. If @var{newname} names a directory, it copies @var{oldname} into that directory, @@ -1501,6 +1501,19 @@ non-@code{nil}, we attempt to copy the user and group ownership of the file. This works only on some operating systems, and only if you have the correct permissions to do so. + +@cindex SELinux +If the optional argument @var{preserve-selinux} is non-@code{nil}, we +attempt to copy the SELinux@footnote{@samp{Security-Enhanced Linux} +is a kernel feature that allows for finer access controls to be set on +files, and a system security policy to define who can access what. +The functions @code{file-selinux-context} and @code{set-file-selinux-context} +get and set, respectively, the SELinux properties of a file.} +context of the file. For this to work, Emacs must have been built +with libselinux support. + +Functions like @code{backup-buffer} use these optional arguments +to preserve information about their input files. @end deffn @deffn Command make-symbolic-link filename newname &optional ok-if-exists === modified file 'etc/NEWS' --- etc/NEWS 2012-01-28 05:02:02 +0000 +++ etc/NEWS 2012-01-29 02:49:57 +0000 @@ -24,8 +24,10 @@ * Installation Changes in Emacs 24.1 +--- ** Configure links against libselinux if it is found. -You can disable this by using --without-selinux. +You can disable this by using --without-selinux. See below for +information on SELinux support. --- ** By default, the installed Info and man pages are compressed. @@ -263,14 +265,17 @@ Also, the first dash (which does not indicate anything) is just displayed as a space. ++++ ** Basic SELinux support has been added. This requires Emacs to be linked with libselinux at build time. ++++ *** Emacs preserves the SELinux file context when backing up, and optionally when copying files. To this end, copy-file has an extra optional argument, and backup-buffer and friends include the SELinux context in their return values. ++++ *** The new functions file-selinux-context and set-file-selinux-context get and set the SELinux context of a file. --- ------------------------------------------------------------ revno: 106986 committer: Glenn Morris branch nick: trunk timestamp: Sat 2012-01-28 17:50:40 -0800 message: * doc/lispref/windows.texi (Window Sizes): Fix typo. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-01-28 13:47:42 +0000 +++ doc/lispref/ChangeLog 2012-01-29 01:50:40 +0000 @@ -1,3 +1,7 @@ +2012-01-29 Glenn Morris + + * windows.texi (Window Sizes): Fix typo. + 2012-01-28 Chong Yidong * display.texi (Fringe Indicators): Clarify fringe-indicator-alist === modified file 'doc/lispref/windows.texi' --- doc/lispref/windows.texi 2012-01-19 10:38:31 +0000 +++ doc/lispref/windows.texi 2012-01-29 01:50:40 +0000 @@ -479,7 +479,7 @@ @end defun For compatibility with previous versions of Emacs, -@code{window-height} is an alias for @code{window-body-height}, and +@code{window-height} is an alias for @code{window-total-height}, and @code{window-width} is an alias for @code{window-body-width}. These aliases are considered obsolete and will be removed in the future. ------------------------------------------------------------ revno: 106985 author: Lars Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Sun 2012-01-29 00:28:05 +0000 message: mm-view.el (mm-display-inline-fontify): Bind `font-lock-support-mode' instead of setting it locally, since the latter doesn't seem to have any effect (most of the time). diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2012-01-28 02:28:36 +0000 +++ lisp/gnus/ChangeLog 2012-01-29 00:28:05 +0000 @@ -1,3 +1,9 @@ +2012-01-28 Lars Ingebrigtsen + + * mm-view.el (mm-display-inline-fontify): Bind `font-lock-support-mode' + instead of setting it locally, since the latter doesn't seem to have + any effect (most of the time). + 2012-01-27 Elias Pipping (tiny change) * shr.el (shr-browse-url): Fix the name of the `browse-url-mail' === modified file 'lisp/gnus/mm-view.el' --- lisp/gnus/mm-view.el 2012-01-19 07:21:25 +0000 +++ lisp/gnus/mm-view.el 2012-01-29 00:28:05 +0000 @@ -600,11 +600,11 @@ text))) (require 'font-lock) ;; I find font-lock a bit too verbose. - (let ((font-lock-verbose nil)) + (let ((font-lock-verbose nil) + (font-lock-support-mode nil)) ;; Disable support modes, e.g., jit-lock, lazy-lock, etc. ;; Note: XEmacs people use `font-lock-mode-hook' to run those modes. (set (make-local-variable 'font-lock-mode-hook) nil) - (set (make-local-variable 'font-lock-support-mode) nil) (setq buffer-file-name (mm-handle-filename handle)) (set (make-local-variable 'enable-local-variables) nil) (with-demoted-errors ------------------------------------------------------------ revno: 106984 committer: Andreas Schwab branch nick: emacs timestamp: Sat 2012-01-28 20:16:02 +0100 message: Fix undefined @value reference * emacs-lisp-intro.texi (Top): Move setting of COUNT-WORDS outside of @menu. (Bug#10628) diff: === modified file 'doc/lispintro/ChangeLog' --- doc/lispintro/ChangeLog 2012-01-19 15:04:24 +0000 +++ doc/lispintro/ChangeLog 2012-01-28 19:16:02 +0000 @@ -1,3 +1,8 @@ +2012-01-28 Andreas Schwab + + * emacs-lisp-intro.texi (Top): Move setting of COUNT-WORDS outside + of @menu. (Bug#10628) + 2012-01-19 Juanma Barranquero * emacs-lisp-intro.texi (count-words-in-defun): === modified file 'doc/lispintro/emacs-lisp-intro.texi' --- doc/lispintro/emacs-lisp-intro.texi 2012-01-19 15:04:24 +0000 +++ doc/lispintro/emacs-lisp-intro.texi 2012-01-28 19:16:02 +0000 @@ -334,6 +334,9 @@ @c global@pageno = -11 @c end iftex +@set COUNT-WORDS count-words-example +@c Length of variable name chosen so that things still line up when expanded. + @menu * Preface:: What to look for. * List Processing:: What is Lisp? @@ -702,8 +705,6 @@ * fwd-para while:: The forward motion @code{while} loop. Counting: Repetition and Regexps -@set COUNT-WORDS count-words-example -@c Length of variable name chosen so that things still line up when expanded. * Why Count Words:: * @value{COUNT-WORDS}:: Use a regexp, but find a problem. ------------------------------------------------------------ revno: 106983 committer: Andreas Schwab branch nick: emacs timestamp: Sat 2012-01-28 20:16:02 +0100 message: Fix formatting of cc-mode manual * cc-mode.texi: Always @defindex ss. (Config Basics): Fix argument of @itemize. (Macro Backslashes): Add @code around index entry. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2012-01-23 08:38:22 +0000 +++ doc/misc/ChangeLog 2012-01-28 19:16:02 +0000 @@ -1,3 +1,9 @@ +2012-01-28 Andreas Schwab + + * cc-mode.texi: Always @defindex ss. + (Config Basics): Fix argument of @itemize. + (Macro Backslashes): Add @code around index entry. + 2012-01-23 Glenn Morris * pcl-cvs.texi (About PCL-CVS): Refer to vc-dir rather than vc-dired. === modified file 'doc/misc/cc-mode.texi' --- doc/misc/cc-mode.texi 2012-01-19 07:21:25 +0000 +++ doc/misc/cc-mode.texi 2012-01-28 19:16:02 +0000 @@ -147,10 +147,7 @@ @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @comment Define an index for syntactic symbols. -@ifnottex @c In texi2dvi, the @defindex would create an empty cc-mode.ss - @c For Info, unlike tex, @syncodeindex needs a matching @defindex. @defindex ss -@end ifnottex @comment Combine key, syntactic symbol and concept indices into one. @syncodeindex ss cp @@ -2200,7 +2197,7 @@ If you make conflicting settings in several of these ways, the way that takes precedence is the one that appears latest in this list: -@itemize @asis +@itemize @w{} @item @table @asis @item Style @@ -6661,7 +6658,7 @@ @node Macro Backslashes, Macros with ;, Custom Macros, Custom Macros @comment node-name, next, previous, up @section Customizing Macro Backslashes -@cindex #define +@cindex @code{#define} @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @ccmode{} provides some tools to help keep the line continuation ------------------------------------------------------------ revno: 106982 committer: Roland Winkler branch nick: trunk timestamp: Sat 2012-01-28 12:25:03 -0600 message: lisp/textmodes/bibtex.el: minor doc fix diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 18:06:10 +0000 +++ lisp/ChangeLog 2012-01-28 18:25:03 +0000 @@ -1,5 +1,9 @@ 2012-01-28 Roland Winkler + * textmodes/bibtex.el (bibtex-vec-incr): Fix docstring. + +2012-01-28 Roland Winkler + * textmodes/bibtex.el (bibtex-entry-alist): New function. (bibtex-set-dialect): Use it. Either set global values of dialect-dependent variables or bind these variables buffer-locally === modified file 'lisp/textmodes/bibtex.el' --- lisp/textmodes/bibtex.el 2012-01-28 18:06:10 +0000 +++ lisp/textmodes/bibtex.el 2012-01-28 18:25:03 +0000 @@ -2191,6 +2191,10 @@ (let ((fun (lambda (kryp kr) ; adapted from `current-kill' (car (set kryp (nthcdr (mod (- n (length (eval kryp))) (length kr)) kr)))))) + ;; We put the mark at the beginning of the inserted field or entry + ;; and point at its end - a behavior similar to what `yank' does. + ;; The mark is then used by `bibtex-yank-pop', which needs to know + ;; what we have inserted. (if (eq bibtex-last-kill-command 'field) (progn ;; insert past the current field @@ -2219,7 +2223,7 @@ (aset vec idx (cons newelt (aref vec idx)))) (defsubst bibtex-vec-incr (vec idx) - "Add NEWELT to the list stored in VEC at index IDX." + "Increment by 1 the counter which is stored in VEC at index IDX." (aset vec idx (1+ (aref vec idx)))) (defun bibtex-format-entry () ------------------------------------------------------------ revno: 106981 committer: Roland Winkler branch nick: trunk timestamp: Sat 2012-01-28 12:06:10 -0600 message: lisp/textmodes/bibtex.el: allow bibtex-dialect as file-local variable (Bug#10254) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 14:29:29 +0000 +++ lisp/ChangeLog 2012-01-28 18:06:10 +0000 @@ -1,3 +1,18 @@ +2012-01-28 Roland Winkler + + * textmodes/bibtex.el (bibtex-entry-alist): New function. + (bibtex-set-dialect): Use it. Either set global values of + dialect-dependent variables or bind these variables buffer-locally + (Bug#10254). + (bibtex-mode): Call bibtex-set-dialect via + hack-local-variables-hook. + (bibtex-dialect): Update docstring. Add + safe-local-variable predicate. + (bibtex-entry-alist, bibtex-field-alist): Initialize via + bibtex-set-dialect. + (bibtex-mode-map): Define menu for each dialect. + (bibtex-entry): Fix docstring. + 2012-01-28 Chong Yidong * eshell/esh-arg.el (eshell-quote-argument): New function. === modified file 'lisp/textmodes/bibtex.el' --- lisp/textmodes/bibtex.el 2012-01-19 07:21:25 +0000 +++ lisp/textmodes/bibtex.el 2012-01-28 18:06:10 +0000 @@ -826,7 +826,7 @@ (defcustom bibtex-dialect 'BibTeX "Current BibTeX dialect. For allowed values see `bibtex-dialect-list'. -During a session change it via `bibtex-set-dialect'." +To interactively change the dialect use the command `bibtex-set-dialect'." :group 'bibtex :set '(lambda (symbol value) (set-default symbol value) @@ -836,6 +836,7 @@ :type '(choice (const BibTeX) (const biblatex) (symbol :tag "Custom"))) +(put 'bibtex-dialect 'safe-local-variable 'symbolp) (defcustom bibtex-no-opt-remove-re "\\`option" "If a field name matches this regexp, the prefix OPT is not removed. @@ -1442,11 +1443,13 @@ ;; Internal Variables -(defvar bibtex-entry-alist bibtex-BibTeX-entry-alist - "Alist of currently active entry types.") +(defvar bibtex-entry-alist nil + "Alist of currently active entry types. +Initialized by `bibtex-set-dialect'.") -(defvar bibtex-field-alist bibtex-BibTeX-field-alist - "Alist of currently active field types.") +(defvar bibtex-field-alist nil + "Alist of currently active field types. +Initialized by `bibtex-set-dialect'.") (defvar bibtex-field-braces-opt nil "Optimized value of `bibtex-field-braces-alist'. @@ -3376,104 +3379,124 @@ (setq imenu-generic-expression (list (list nil bibtex-entry-head bibtex-key-in-head)) imenu-case-fold-search t) - (bibtex-set-dialect bibtex-dialect)) - -(defun bibtex-set-dialect (dialect) - "Select BibTeX mode DIALECT. -This sets the variable `bibtex-dialect' which holds the currently active -dialect. Dialects are listed in `bibtex-dialect-list'." + ;; Allow `bibtex-dialect' as a file-local variable. + (add-hook 'hack-local-variables-hook 'bibtex-set-dialect nil t)) + +(defun bibtex-entry-alist (dialect) + "Return entry-alist for DIALECT." + (let ((var (intern (format "bibtex-%s-entry-alist" dialect))) + entry-alist) + (if (boundp var) + (setq entry-alist (symbol-value var)) + (error "BibTeX dialect `%s' undefined" dialect)) + (if (not (consp (nth 1 (car entry-alist)))) + ;; new format + entry-alist + ;; Convert old format of `bibtex-entry-field-alist' + (unless (get var 'entry-list-format) + (put var 'entry-list-format "pre-24") + (message "Old format of `%s' (pre GNU Emacs 24). +Please convert to the new format." + (if (eq (indirect-variable 'bibtex-entry-field-alist) var) + 'bibtex-entry-field-alist var)) + (sit-for 3)) + (let (lst) + (dolist (entry entry-alist) + (let ((fl (nth 1 entry)) req xref opt) + (dolist (field (copy-tree (car fl))) + (if (nth 3 field) (setcar (nthcdr 3 field) 0)) + (if (or (not (nth 2 entry)) + (assoc-string (car field) (car (nth 2 entry)) t)) + (push field req) + (push field xref))) + (dolist (field (nth 1 fl)) + (push field opt)) + (push (list (car entry) nil (nreverse req) + (nreverse xref) (nreverse opt)) + lst))) + (nreverse lst))))) + +(defun bibtex-set-dialect (&optional dialect local) + "Select BibTeX DIALECT for editing BibTeX files. +This sets the user variable `bibtex-dialect' as well as the dialect-dependent +internal variables. Allowed dialects are listed in `bibtex-dialect-list'. +If DIALECT is nil use current value of `bibtex-dialect'. +If LOCAL is non-nil make buffer-local bindings for these variables rather than +setting the global values. The dialect-dependent internal variables +are also bound buffer-locally if `bibtex-dialect' is already buffer-local +in the current buffer (for example, as a file-local variable). +LOCAL is t for interactive calls." (interactive (list (intern (completing-read "Dialect: " (mapcar 'list bibtex-dialect-list) - nil t)))) - (unless (eq dialect (get 'bibtex-dialect 'dialect)) - (put 'bibtex-dialect 'dialect dialect) - (setq bibtex-dialect dialect) - - ;; Bind variables - (setq bibtex-entry-alist - (let ((var (intern (format "bibtex-%s-entry-alist" dialect))) - entry-alist) - (if (boundp var) - (setq entry-alist (symbol-value var)) - (error "BibTeX dialect `%s' undefined" dialect)) - (if (not (consp (nth 1 (car entry-alist)))) - ;; new format - entry-alist - ;; Convert old format - (unless (get var 'entry-list-format) - (put var 'entry-list-format "pre-24") - (message "Old format of `%s' (pre GNU Emacs 24). -Please convert to the new format." - (if (eq (indirect-variable 'bibtex-entry-field-alist) var) - 'bibtex-entry-field-alist var)) - (sit-for 3)) - (let (lst) - (dolist (entry entry-alist) - (let ((fl (nth 1 entry)) req xref opt) - (dolist (field (copy-tree (car fl))) - (if (nth 3 field) (setcar (nthcdr 3 field) 0)) - (if (or (not (nth 2 entry)) - (assoc-string (car field) (car (nth 2 entry)) t)) - (push field req) - (push field xref))) - (dolist (field (nth 1 fl)) - (push field opt)) - (push (list (car entry) nil (nreverse req) - (nreverse xref) (nreverse opt)) - lst))) - (nreverse lst)))) - bibtex-field-alist - (let ((var (intern (format "bibtex-%s-field-alist" dialect)))) - (if (boundp var) - (symbol-value var) - (error "Field types for BibTeX dialect `%s' undefined" dialect))) - bibtex-entry-type - (concat "@[ \t]*\\(?:" - (regexp-opt (mapcar 'car bibtex-entry-alist)) "\\)") - bibtex-entry-head (concat "^[ \t]*\\(" - bibtex-entry-type - "\\)[ \t]*[({][ \t\n]*\\(" - bibtex-reference-key - "\\)") - bibtex-entry-maybe-empty-head (concat bibtex-entry-head "?") - bibtex-any-valid-entry-type - (concat "^[ \t]*@[ \t]*\\(?:" - (regexp-opt (append '("String" "Preamble") - (mapcar 'car bibtex-entry-alist))) "\\)")) - ;; Define entry commands - (dolist (elt bibtex-entry-alist) - (let* ((entry (car elt)) - (fname (intern (concat "bibtex-" entry)))) - (unless (fboundp fname) - (eval (list 'defun fname nil - (format "Insert a new BibTeX @%s entry; see also `bibtex-entry'." - entry) - '(interactive "*") - `(bibtex-entry ,entry)))))) - ;; Define menu - ;; We use the same keymap for all BibTeX buffers. So all these buffers - ;; have the same BibTeX dialect. To define entry types buffer-locally, - ;; it would be necessary to give each BibTeX buffer a new keymap that - ;; becomes a child of `bibtex-mode-map'. Useful?? - (easy-menu-define - nil bibtex-mode-map "Entry-Types Menu in BibTeX mode" - (apply 'list "Entry-Types" - (append - (mapcar (lambda (entry) - (vector (or (nth 1 entry) (car entry)) - (intern (format "bibtex-%s" (car entry))) t)) - bibtex-entry-alist) - `("---" - ["String" bibtex-String t] - ["Preamble" bibtex-Preamble t] - "---" - ,(append '("BibTeX dialect") - (mapcar (lambda (dialect) - (vector (symbol-name dialect) - `(lambda () (interactive) - (bibtex-set-dialect ',dialect)) - t)) - bibtex-dialect-list)))))))) + nil t)) t)) + (let ((setfun (if (or local (local-variable-p 'bibtex-dialect)) + (lambda (var val) (set (make-local-variable var) val)) + 'set))) + (if dialect (funcall setfun 'bibtex-dialect dialect)) + + ;; Set internal variables + (funcall setfun 'bibtex-entry-alist (bibtex-entry-alist bibtex-dialect)) + (funcall setfun 'bibtex-field-alist + (let ((var (intern (format "bibtex-%s-field-alist" + bibtex-dialect)))) + (if (boundp var) + (symbol-value var) + (error "Field types for BibTeX dialect `%s' undefined" + bibtex-dialect)))) + (funcall setfun 'bibtex-entry-type + (concat "@[ \t]*\\(?:" + (regexp-opt (mapcar 'car bibtex-entry-alist)) "\\)")) + (funcall setfun 'bibtex-entry-head + (concat "^[ \t]*\\(" bibtex-entry-type "\\)[ \t]*[({][ \t\n]*\\(" + bibtex-reference-key "\\)")) + (funcall setfun 'bibtex-entry-maybe-empty-head + (concat bibtex-entry-head "?")) + (funcall setfun 'bibtex-any-valid-entry-type + (concat "^[ \t]*@[ \t]*\\(?:" + (regexp-opt + (append '("String" "Preamble") + (mapcar 'car bibtex-entry-alist))) "\\)")))) + +;; Entry commands and menus for BibTeX dialects +;; We do not use `easy-menu-define' here because this gets confused +;; if we want to have multiple versions of the "same" menu. +(let ((select-map (make-sparse-keymap))) + ;; Submenu for selecting the dialect + (dolist (dialect (reverse bibtex-dialect-list)) + (define-key select-map (vector dialect) + `(menu-item ,(symbol-name dialect) + (lambda () (interactive) (bibtex-set-dialect ',dialect t)) + :button (:radio . (eq bibtex-dialect ',dialect))))) + ;; We define a menu for each dialect. + ;; Then we select the menu we want via the :visible keyword + (dolist (dialect bibtex-dialect-list) + (let ((entry-alist (bibtex-entry-alist dialect)) + (menu-map (make-sparse-keymap))) + (define-key menu-map [select] + `(menu-item "BibTeX dialect" ,select-map)) + (define-key menu-map [nil-2] '(menu-item "--")) + (define-key menu-map [bibtex-preamble] + '(menu-item "Preamble" bibtex-Preamble)) + (define-key menu-map [bibtex-String] + '(menu-item "String" bibtex-String)) + (define-key menu-map [nil-1] '(menu-item "--")) + (dolist (elt (reverse entry-alist)) + ;; Entry commands + (let* ((entry (car elt)) + (fname (intern (format "bibtex-%s" entry)))) + (unless (fboundp fname) + (eval (list 'defun fname nil + (format "Insert a template for a @%s entry; see also `bibtex-entry'." + entry) + '(interactive "*") + `(bibtex-entry ,entry)))) + ;; Menu entries + (define-key menu-map (vector fname) + `(menu-item ,(or (nth 1 elt) (car elt)) ,fname)))) + (define-key bibtex-mode-map + (vector 'menu-bar dialect) + `(menu-item "Entry-Types" ,menu-map + :visible (eq bibtex-dialect ',dialect)))))) (defun bibtex-field-list (entry-type) "Return list of allowed fields for entry ENTRY-TYPE. @@ -3505,7 +3528,7 @@ (cons required optional))) (defun bibtex-entry (entry-type) - "Insert a new BibTeX entry of type ENTRY-TYPE. + "Insert a template for a BibTeX entry of type ENTRY-TYPE. After insertion call the value of `bibtex-add-entry-hook' if that value is non-nil." (interactive ------------------------------------------------------------ revno: 106980 fixes bug(s): http://debbugs.gnu.org/8614 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 22:29:29 +0800 message: * lisp/simple.el (deactivate-mark): Doc fix (Bug#8614). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 13:58:46 +0000 +++ lisp/ChangeLog 2012-01-28 14:29:29 +0000 @@ -47,6 +47,8 @@ 2012-01-28 Chong Yidong + * simple.el (deactivate-mark): Doc fix (Bug#8614). + * tooltip.el (tooltip-mode): Doc fix. (tooltip-use-echo-area): Mark as obsolete (Bug#6595). === modified file 'lisp/simple.el' --- lisp/simple.el 2012-01-19 07:21:25 +0000 +++ lisp/simple.el 2012-01-28 14:29:29 +0000 @@ -3751,10 +3751,18 @@ (signal 'mark-inactive nil))) (defsubst deactivate-mark (&optional force) - "Deactivate the mark by setting `mark-active' to nil. -Unless FORCE is non-nil, this function does nothing if Transient -Mark mode is disabled. -This function also runs `deactivate-mark-hook'." + "Deactivate the mark. +If Transient Mark mode is disabled, this function normally does +nothing; but if FORCE is non-nil, it deactivates the mark anyway. + +Deactivating the mark sets `mark-active' to nil, updates the +primary selection according to `select-active-regions', and runs +`deactivate-mark-hook'. + +If Transient Mark mode was temporarily enabled, reset the value +of the variable `transient-mark-mode'; if this causes Transient +Mark mode to be disabled, don't change `mark-active' to nil or +run `deactivate-mark-hook'." (when (or transient-mark-mode force) (when (and (if (eq select-active-regions 'only) (eq (car-safe transient-mark-mode) 'only) ------------------------------------------------------------ revno: 106979 fixes bug(s): http://debbugs.gnu.org/10523 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 21:58:46 +0800 message: Quote file name commands in eshell. * lisp/eshell/esh-arg.el (eshell-quote-argument): New function. * lisp/eshell/esh-ext.el (eshell-invoke-batch-file): * lisp/eshell/em-unix.el (eshell/cat, eshell/du): Use it to quote the first arg to eshell-parse-command. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 11:26:29 +0000 +++ lisp/ChangeLog 2012-01-28 13:58:46 +0000 @@ -1,3 +1,11 @@ +2012-01-28 Chong Yidong + + * eshell/esh-arg.el (eshell-quote-argument): New function. + + * eshell/esh-ext.el (eshell-invoke-batch-file): + * eshell/em-unix.el (eshell/cat, eshell/du): Use it to quote the + first arg to eshell-parse-command (Bug#10523). + 2012-01-28 Drew Adams * net/ange-ftp.el (ange-ftp-canonize-filename): Check, that === modified file 'lisp/eshell/em-unix.el' --- lisp/eshell/em-unix.el 2012-01-23 08:18:22 +0000 +++ lisp/eshell/em-unix.el 2012-01-28 13:58:46 +0000 @@ -599,7 +599,7 @@ (let ((ext-cat (eshell-search-path "cat"))) (if ext-cat (throw 'eshell-replace-command - (eshell-parse-command ext-cat args)) + (eshell-parse-command (eshell-quote-argument ext-cat) args)) (if eshell-in-pipeline-p (error "Eshell's `cat' does not work in pipelines") (error "Eshell's `cat' cannot display one of the files given")))) @@ -855,7 +855,7 @@ (file-remote-p (expand-file-name arg) 'method) "ftp") (throw 'have-ange-path t)))))) (throw 'eshell-replace-command - (eshell-parse-command ext-du args)) + (eshell-parse-command (eshell-quote-argument ext-du) args)) (eshell-eval-using-options "du" args '((?a "all" nil show-all === modified file 'lisp/eshell/esh-arg.el' --- lisp/eshell/esh-arg.el 2012-01-19 07:21:25 +0000 +++ lisp/eshell/esh-arg.el 2012-01-28 13:58:46 +0000 @@ -202,6 +202,18 @@ (or (= pos (point-max)) (memq (char-after pos) eshell-delimiter-argument-list)))) +(defun eshell-quote-argument (string) + "Return STRING with magic characters quoted. +Magic characters are those in `eshell-special-chars-outside-quoting'." + (let ((index 0)) + (mapconcat (lambda (c) + (prog1 + (or (eshell-quote-backslash string index) + (char-to-string c)) + (setq index (1+ index)))) + string + ""))) + ;; Argument parsing (defun eshell-parse-arguments (beg end) === modified file 'lisp/eshell/esh-ext.el' --- lisp/eshell/esh-ext.el 2012-01-19 07:21:25 +0000 +++ lisp/eshell/esh-ext.el 2012-01-28 13:58:46 +0000 @@ -108,7 +108,9 @@ ;; argument... (setcar args (subst-char-in-string ?/ ?\\ (car args))) (throw 'eshell-replace-command - (eshell-parse-command eshell-windows-shell-file (cons "/c" args)))) + (eshell-parse-command + (eshell-quote-argument eshell-windows-shell-file) + (cons "/c" args)))) (defcustom eshell-interpreter-alist (if (eshell-under-windows-p) ------------------------------------------------------------ revno: 106978 fixes bug(s): http://debbugs.gnu.org/8568 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 21:47:42 +0800 message: * display.texi (Fringe Indicators): Clarify fringe-indicator-alist doc. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-01-28 04:26:33 +0000 +++ doc/lispref/ChangeLog 2012-01-28 13:47:42 +0000 @@ -1,5 +1,8 @@ 2012-01-28 Chong Yidong + * display.texi (Fringe Indicators): Clarify fringe-indicator-alist + doc (Bug#8568). + * frames.texi (Input Focus): Add NORECORD arg to select-frame-set-input-focus. Clarify its role in select-frame. === modified file 'doc/lispref/display.texi' --- doc/lispref/display.texi 2012-01-19 07:21:25 +0000 +++ doc/lispref/display.texi 2012-01-28 13:47:42 +0000 @@ -3367,54 +3367,48 @@ @defvar fringe-indicator-alist This buffer-local variable specifies the mapping from logical fringe -indicators to the actual bitmaps displayed in the window fringes. +indicators to the actual bitmaps displayed in the window fringes. The +value is an alist of elements @code{(@var{indicator} +. @var{bitmaps})}, where @var{indicator} specifies a logical indicator +type and @var{bitmaps} specifies the fringe bitmaps to use for that +indicator. -These symbols identify the logical fringe indicators: + Each @var{indicator} should be one of the following symbols: @table @asis -@item Truncation and continuation line indicators: -@code{truncation}, @code{continuation}. - -@item Buffer position indicators: -@code{up}, @code{down}, -@code{top}, @code{bottom}, -@code{top-bottom}. - -@item Empty line indicator: -@code{empty-line}. - -@item Overlay arrow indicator: -@code{overlay-arrow}. - -@item Unknown bitmap indicator: -@code{unknown}. +@item @code{truncation}, @code{continuation}. +Used for truncation and continuation lines. + +@item @code{up}, @code{down}, @code{top}, @code{bottom}, @code{top-bottom} +Used to indicate buffer boundaries when +@code{indicate-buffer-boundaries} is non-@code{nil}: @code{up} and +@code{down} indicate a buffer boundary lying above or below the window +edge; @code{top} and @code{bottom} indicate the topmost and bottommost +buffer text line; and @code{top-bottom} indicates where there is just +one line of text in the buffer. + +@item @code{empty-line} +Used to indicate empty lines when @code{indicate-empty-lines} is +non-@code{nil}. + +@item @code{overlay-arrow} +Used for overlay arrows (@pxref{Overlay Arrow}). +@c Is this used anywhere? +@c @item Unknown bitmap indicator: +@c @code{unknown}. @end table - The value is an alist where each element @code{(@var{indicator} . @var{bitmaps})} -specifies the fringe bitmaps used to display a specific logical -fringe indicator. - -Here, @var{indicator} specifies the logical indicator type, and -@var{bitmaps} is list of symbols @code{(@var{left} @var{right} -[@var{left1} @var{right1}])} which specifies the actual bitmap shown -in the left or right fringe for the logical indicator. - -The @var{left} and @var{right} symbols specify the bitmaps shown in -the left and/or right fringe for the specific indicator. The -@var{left1} or @var{right1} bitmaps are used only for the `bottom' and -`top-bottom indicators when the last (only) line in has no final -newline. Alternatively, @var{bitmaps} may be a single symbol which is -used in both left and right fringes. - -When @code{fringe-indicator-alist} has a buffer-local value, and there -is no bitmap defined for a logical indicator, or the bitmap is -@code{t}, the corresponding value from the default value of -@code{fringe-indicator-alist} is used. - -To completely hide a specific indicator, set the bitmap to @code{nil}. -@end defvar - -Standard fringe bitmaps for indicators: + Each @var{bitmaps} value may be a list of symbols @code{(@var{left} +@var{right} [@var{left1} @var{right1}])}. The @var{left} and +@var{right} symbols specify the bitmaps shown in the left and/or right +fringe, for the specific indicator. @var{left1} and @var{right1} are +specific to the @code{bottom} and @code{top-bottom} indicators, and +are used to indicate that the last text line has no final newline. +Alternatively, @var{bitmaps} may be a single symbol which is used in +both left and right fringes. + + The standard symbols for fringe bitmaps are: + @example left-arrow right-arrow up-arrow down-arrow left-curly-arrow right-curly-arrow @@ -3428,6 +3422,16 @@ empty-line question-mark @end example +@noindent +In addition, @code{nil} represents the empty bitmap (i.e.@: an +indicator that is not shown). + + When @code{fringe-indicator-alist} has a buffer-local value, and +there is no bitmap defined for a logical indicator, or the bitmap is +@code{t}, the corresponding value from the default value of +@code{fringe-indicator-alist} is used. +@end defvar + @node Fringe Cursors @subsection Fringe Cursors @cindex fringe cursors ------------------------------------------------------------ revno: 106977 author: Drew Adams committer: Michael Albinus branch nick: trunk timestamp: Sat 2012-01-28 12:26:29 +0100 message: * net/ange-ftp.el (ange-ftp-canonize-filename): Check, that `default-directory' is non-nil. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 10:49:17 +0000 +++ lisp/ChangeLog 2012-01-28 11:26:29 +0000 @@ -1,3 +1,8 @@ +2012-01-28 Drew Adams + + * net/ange-ftp.el (ange-ftp-canonize-filename): Check, that + `default-directory' is non-nil. + 2012-01-28 Eli Zaretskii * mail/emacsbug.el (report-emacs-bug): Fill the potentially long === modified file 'lisp/net/ange-ftp.el' --- lisp/net/ange-ftp.el 2012-01-19 07:21:25 +0000 +++ lisp/net/ange-ftp.el 2012-01-28 11:26:29 +0000 @@ -3098,7 +3098,8 @@ (if (not (eq system-type 'windows-nt)) (setq name (ange-ftp-real-expand-file-name name)) ;; Windows UNC default dirs do not make sense for ftp. - (setq name (if (string-match "\\`//" default-directory) + (setq name (if (and default-directory + (string-match "\\`//" default-directory)) (ange-ftp-real-expand-file-name name "c:/") (ange-ftp-real-expand-file-name name))) ;; Strip off possible drive specifier. ------------------------------------------------------------ revno: 106976 fixes bug(s): http://debbugs.gnu.org/9924 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2012-01-28 12:49:17 +0200 message: Fix bug #9924 with long display of system-configuration-options in emacsbug.el. lisp/mail/emacsbug.el (report-emacs-bug): Fill the potentially long line that displays system-configuration-options. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 10:27:28 +0000 +++ lisp/ChangeLog 2012-01-28 10:49:17 +0000 @@ -1,3 +1,8 @@ +2012-01-28 Eli Zaretskii + + * mail/emacsbug.el (report-emacs-bug): Fill the potentially long + line that displays system-configuration-options. (Bug#9924) + 2012-01-28 Drew Adams * descr-text.el (describe-char): Show information about POS, in === modified file 'lisp/mail/emacsbug.el' --- lisp/mail/emacsbug.el 2012-01-19 07:21:25 +0000 +++ lisp/mail/emacsbug.el 2012-01-28 10:49:17 +0000 @@ -231,10 +231,11 @@ "', version " (mapconcat 'number-to-string (x-server-version) ".") "\n") (error t))) - (if (and system-configuration-options - (not (equal system-configuration-options ""))) - (insert "configured using `configure " - system-configuration-options "'\n\n")) + (when (and system-configuration-options + (not (equal system-configuration-options ""))) + (insert "Configured using:\n `configure " + system-configuration-options "'\n\n") + (fill-region (line-beginning-position -1) (point))) (insert "Important settings:\n") (mapc (lambda (var) ------------------------------------------------------------ revno: 106975 fixes bug(s): http://debbugs.gnu.org/10129 author: Drew Adams committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2012-01-28 12:27:28 +0200 message: Fix bug #10129: add positional information to "C-u C-x =". lisp/descr-text.el (describe-char): Show information about POS, in addition to information about the character at POS. Improve and update the doc string. Change "code point" to "code point in charset", to avoid confusion with the character's Unicode code point shown above that. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 09:52:24 +0000 +++ lisp/ChangeLog 2012-01-28 10:27:28 +0000 @@ -1,3 +1,11 @@ +2012-01-28 Drew Adams + + * descr-text.el (describe-char): Show information about POS, in + addition to information about the character at POS. Improve and + update the doc string. Change "code point" to "code point in + charset", to avoid confusion with the character's Unicode code + point shown above that. (Bug#10129) + 2012-01-28 Eli Zaretskii * descr-text.el (describe-char): Show the raw character, not only === modified file 'lisp/descr-text.el' --- lisp/descr-text.el 2012-01-28 09:52:24 +0000 +++ lisp/descr-text.el 2012-01-28 10:27:28 +0000 @@ -376,12 +376,21 @@ ;;;###autoload (defun describe-char (pos &optional buffer) - "Describe the character after POS (interactively, the character after point). -Is POS is taken to be in buffer BUFFER or current buffer if nil. -The information includes character code, charset and code points in it, -syntax, category, how the character is encoded in a file, -character composition information (if relevant), -as well as widgets, buttons, overlays, and text properties." + "Describe position POS (interactively, point) and the char after POS. +POS is taken to be in BUFFER, or the current buffer if BUFFER is nil. +The information is displayed in buffer `*Help*'. + +The position information includes POS; the total size of BUFFER; the +region limits, if narrowed; the column number; and the horizontal +scroll amount, if the buffer is horizontally scrolled. + +The character information includes the character code; charset and +code points in it; syntax; category; how the character is encoded in +BUFFER and in BUFFER's file; character composition information (if +relevant); the font and font glyphs used to display the character; +the character's canonical name and other properties defined by the +Unicode Data Base; and widgets, buttons, overlays, and text properties +relevant to POS." (interactive "d") (unless (buffer-live-p buffer) (setq buffer (current-buffer))) (let ((src-buf (current-buffer))) @@ -511,7 +520,25 @@ (setq composition nil))) (setq item-list - `(("character" + `(("position" + ,(let* ((beg (point-min)) + (end (point-max)) + (total (buffer-size)) + (percent (if (> total 50000) ; Avoid overflow multiplying by 100 + (/ (+ (/ total 200) (1- pos)) (max (/ total 100) 1)) + (/ (+ (/ total 2) (* 100 (1- pos))) (max total 1)))) + (hscroll (if (= (window-hscroll) 0) + "" + (format ", Hscroll: %d" (window-hscroll)))) + (col (current-column))) + (if (or (/= beg 1) (/= end (1+ total))) + (format "%d of %d (%d%%), restriction: <%d-%d>, column: %d%s" + pos total percent col beg end hscroll) + (if (= pos end) + (format "%d of %d (EOB), column: %d%s" pos total col hscroll) + (format "%d of %d (%d%%), column: %d%s" + pos total percent col hscroll))))) + ("character" ,(format "%s (displayed as %s) (codepoint %d, #o%o, #x%x)" char-description (apply 'propertize char-description @@ -522,7 +549,7 @@ ,(symbol-name charset) 'type 'help-character-set 'help-args '(,charset)) ,(format "(%s)" (charset-description charset))) - ("code point" + ("code point in charset" ,(let ((str (if (integerp code) (format (if (< code 256) "0x%02X" "0x%04X") code) ------------------------------------------------------------ revno: 106974 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2012-01-28 11:52:24 +0200 message: Fix character display by "C-u C-x =" in presence of display properties. lisp/descr-text.el (describe-char): Show the raw character, not only its display form at POS. Suggested by Kenichi Handa . See http://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00760.html for the reasons. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 09:50:52 +0000 +++ lisp/ChangeLog 2012-01-28 09:52:24 +0000 @@ -1,3 +1,10 @@ +2012-01-28 Eli Zaretskii + + * descr-text.el (describe-char): Show the raw character, not only + its display form at POS. Suggested by Kenichi Handa . + See http://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00760.html + for the reasons. + 2012-01-28 Phil Hagelberg * emacs-lisp/package.el (package-install): Run === modified file 'lisp/descr-text.el' --- lisp/descr-text.el 2012-01-19 07:21:25 +0000 +++ lisp/descr-text.el 2012-01-28 09:52:24 +0000 @@ -512,7 +512,8 @@ (setq item-list `(("character" - ,(format "%s (%d, #o%o, #x%x)" + ,(format "%s (displayed as %s) (codepoint %d, #o%o, #x%x)" + char-description (apply 'propertize char-description (text-properties-at pos)) char char char)) ------------------------------------------------------------ revno: 106973 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 17:50:52 +0800 message: Fix last commit. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 09:49:29 +0000 +++ lisp/ChangeLog 2012-01-28 09:50:52 +0000 @@ -1,7 +1,7 @@ 2012-01-28 Phil Hagelberg * emacs-lisp/package.el (package-install): Run - package-refresh-contents if there is no archive yet (Bug#97978). + package-refresh-contents if there is no archive yet (Bug#9798). 2012-01-28 Chong Yidong ------------------------------------------------------------ revno: 106972 fixes bug(s): http://debbugs.gnu.org/97978 author: Phil Hagelberg committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 17:49:29 +0800 message: Fix M-x package-install failure if no archive has been fetched yet. * emacs-lisp/package.el (package-install): Run package-refresh-contents if there is no archive yet. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 08:14:24 +0000 +++ lisp/ChangeLog 2012-01-28 09:49:29 +0000 @@ -1,3 +1,8 @@ +2012-01-28 Phil Hagelberg + + * emacs-lisp/package.el (package-install): Run + package-refresh-contents if there is no archive yet (Bug#97978). + 2012-01-28 Chong Yidong * emacs-lisp/package.el (package-maybe-load-descriptor): New === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2012-01-28 08:14:24 +0000 +++ lisp/emacs-lisp/package.el 2012-01-28 09:49:29 +0000 @@ -889,6 +889,8 @@ ;; symbols for completion. (unless package--initialized (package-initialize t)) + (unless package-archive-contents + (package-refresh-contents)) (list (intern (completing-read "Install package: " (mapcar (lambda (elt) ------------------------------------------------------------ revno: 106971 fixes bug(s): http://debbugs.gnu.org/10593 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 16:14:24 +0800 message: Fix package.el dependency handling so that `require' calls work. * lisp/emacs-lisp/package.el (package-maybe-load-descriptor): New function, split from package-maybe-load-descriptor. (package-maybe-load-descriptor): Use it. (package-download-transaction): Fully load required packages inside the loop, so that `require' calls work. (package-install): No need to call package-initialize now. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 05:02:02 +0000 +++ lisp/ChangeLog 2012-01-28 08:14:24 +0000 @@ -1,5 +1,14 @@ 2012-01-28 Chong Yidong + * emacs-lisp/package.el (package-maybe-load-descriptor): New + function, split from package-maybe-load-descriptor. + (package-maybe-load-descriptor): Use it. + (package-download-transaction): Fully load required packages + inside the loop, so that `require' calls work (Bug#10593). + (package-install): No need to call package-initialize now. + +2012-01-28 Chong Yidong + * tooltip.el (tooltip-mode): Doc fix. (tooltip-use-echo-area): Mark as obsolete (Bug#6595). === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2012-01-05 09:46:05 +0000 +++ lisp/emacs-lisp/package.el 2012-01-28 08:14:24 +0000 @@ -382,30 +382,37 @@ In each valid package subdirectory, this function loads the description file containing a call to `define-package', which updates `package-alist' and `package-obsolete-alist'." - (let ((all (memq 'all package-load-list)) - (regexp (concat "\\`" package-subdirectory-regexp "\\'")) - name version force) + (let ((regexp (concat "\\`" package-subdirectory-regexp "\\'"))) (dolist (dir (cons package-user-dir package-directory-list)) (when (file-directory-p dir) (dolist (subdir (directory-files dir)) - (when (and (file-directory-p (expand-file-name subdir dir)) - (string-match regexp subdir)) - (setq name (intern (match-string 1 subdir)) - version (match-string 2 subdir) - force (assq name package-load-list)) - (when (cond - ((null force) - all) ; not in package-load-list - ((null (setq force (cadr force))) - nil) ; disabled - ((eq force t) - t) - ((stringp force) ; held - (version-list-= (version-to-list version) - (version-to-list force))) - (t - (error "Invalid element in `package-load-list'"))) - (package-load-descriptor dir subdir)))))))) + (when (string-match regexp subdir) + (package-maybe-load-descriptor (match-string 1 subdir) + (match-string 2 subdir) + dir))))))) + +(defun package-maybe-load-descriptor (name version dir) + "Maybe load a specific package from directory DIR. +NAME and VERSION are the package's name and version strings. +This function checks `package-load-list', before actually loading +the package by calling `package-load-descriptor'." + (let ((force (assq (intern name) package-load-list)) + (subdir (concat name "-" version))) + (and (file-directory-p (expand-file-name subdir dir)) + ;; Check `package-load-list': + (cond ((null force) + (memq 'all package-load-list)) + ((null (setq force (cadr force))) + nil) ; disabled + ((eq force t) + t) + ((stringp force) ; held + (version-list-= (version-to-list version) + (version-to-list force))) + (t + (error "Invalid element in `package-load-list'"))) + ;; Actually load the descriptor: + (package-load-descriptor dir subdir)))) (defsubst package-desc-vers (desc) "Extract version from a package description vector." @@ -861,7 +868,13 @@ (package-desc-doc desc) (package-desc-reqs desc))) (t - (error "Unknown package kind: %s" (symbol-name kind))))))) + (error "Unknown package kind: %s" (symbol-name kind)))) + ;; If package A depends on package B, then A may `require' B + ;; during byte compilation. So we need to activate B before + ;; unpacking A. + (package-maybe-load-descriptor (symbol-name elt) v-string + package-user-dir) + (package-activate elt (version-to-list v-string))))) (defvar package--initialized nil) @@ -889,9 +902,7 @@ (symbol-name name))) (package-download-transaction (package-compute-transaction (list name) - (package-desc-reqs (cdr pkg-desc))))) - ;; Try to activate it. - (package-initialize)) + (package-desc-reqs (cdr pkg-desc)))))) (defun package-strip-rcs-id (str) "Strip RCS version ID from the version string STR. ------------------------------------------------------------ revno: 106970 fixes bug(s): http://debbugs.gnu.org/6595 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-01-28 13:02:02 +0800 message: Mark tooltip-use-echo-area as obsolete. * lisp/tooltip.el (tooltip-mode): Doc fix. (tooltip-use-echo-area): Mark as obsolete. diff: === modified file 'etc/NEWS' --- etc/NEWS 2012-01-27 21:19:13 +0000 +++ etc/NEWS 2012-01-28 05:02:02 +0000 @@ -436,6 +436,10 @@ This is handy for minibuffer-only frames, and is also used for the "mouse-1 pops up *Messages*" feature, which can now easily be changed. +--- +** `tooltip-use-echo-area' is obsolete. +Rather than setting this to t, disable Tooltip mode instead. + * Editing Changes in Emacs 24.1 === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-28 03:21:04 +0000 +++ lisp/ChangeLog 2012-01-28 05:02:02 +0000 @@ -1,5 +1,8 @@ 2012-01-28 Chong Yidong + * tooltip.el (tooltip-mode): Doc fix. + (tooltip-use-echo-area): Mark as obsolete (Bug#6595). + * frame.el (set-cursor-color): Doc fix (Bug#352). * mail/rmail.el (rmail-start-mail): Add send-action again (Bug#10625). === modified file 'lisp/tooltip.el' --- lisp/tooltip.el 2012-01-19 07:21:25 +0000 +++ lisp/tooltip.el 2012-01-28 05:02:02 +0000 @@ -39,18 +39,15 @@ ;;; Switching tooltips on/off (define-minor-mode tooltip-mode - "Toggle use of graphical tooltips (Tooltip mode). -With a prefix argument ARG, enable Tooltip mode if ARG is -positive, and disable it otherwise. If called from Lisp, enable -it if ARG is omitted or nil. - -When Tooltip mode is enabled, Emacs displays help text in a -pop-up window for buttons and menu items that you put the mouse -on. \(However, if `tooltip-use-echo-area' is non-nil, this and -all pop-up help appears in the echo area.) - -When Tooltip mode is disabled, Emacs displays one line of -the help text in the echo area, and does not make a pop-up window." + "Toggle Tooltip mode. +With ARG, turn Tooltip mode on if and only if ARG is positive. + +When this global minor mode is enabled, Emacs displays help +text (e.g. for buttons and menu items that you put the mouse on) +in a pop-up window. + +When Tooltip mode is disabled, Emacs displays help text in the +echo area, instead of making a pop-up window." :global t ;; Even if we start on a text-only terminal, make this non-nil by ;; default because we can open a graphical frame later (multi-tty). @@ -144,11 +141,14 @@ (defcustom tooltip-use-echo-area nil "Use the echo area instead of tooltip frames for help and GUD tooltips. -To display multi-line help text in the echo area, set this to t -and enable `tooltip-mode'." +This variable is obsolete; instead of setting it to t, disable +`tooltip-mode' (which has a similar effect)." :type 'boolean :group 'tooltip) +(make-obsolete-variable 'tooltip-use-echo-area + "disable Tooltip mode instead" "24.1") + ;;; Variables that are not customizable.