merge trunk
authorKenichi Handa <handa@gnu.org>
Sun, 7 Oct 2012 12:58:14 +0000 (21:58 +0900)
committerKenichi Handa <handa@gnu.org>
Sun, 7 Oct 2012 12:58:14 +0000 (21:58 +0900)
69 files changed:
ChangeLog
admin/ChangeLog
admin/admin.el
admin/grammars/README
autogen/configure
configure.ac
doc/emacs/ChangeLog
doc/emacs/calendar.texi
doc/emacs/mini.texi
etc/ChangeLog
etc/NEWS
lisp/ChangeLog
lisp/ChangeLog.15
lisp/avoid.el
lisp/calc/calc.el
lisp/calendar/cal-menu.el
lisp/calendar/cal-tex.el
lisp/calendar/calendar.el
lisp/calendar/icalendar.el
lisp/calendar/timeclock.el
lisp/cedet/ChangeLog
lisp/cedet/ede/linux.el
lisp/cedet/semantic/bovine/grammar.el [moved from admin/grammars/bovine-grammar.el with 98% similarity]
lisp/cedet/semantic/complete.el
lisp/cedet/semantic/wisent/grammar.el [moved from admin/grammars/wisent-grammar.el with 99% similarity]
lisp/ehelp.el
lisp/emacs-lisp/cl-loaddefs.el
lisp/emacs-lisp/cl-macs.el
lisp/emulation/crisp.el
lisp/erc/ChangeLog
lisp/erc/erc-backend.el
lisp/erc/erc-button.el
lisp/erc/erc-desktop-notifications.el
lisp/erc/erc-log.el
lisp/erc/erc-stamp.el
lisp/erc/erc.el
lisp/eshell/esh-mode.el
lisp/files.el
lisp/gnus/ChangeLog
lisp/gnus/gnus-msg.el
lisp/gnus/gnus-notifications.el
lisp/gnus/gnus-sync.el
lisp/hi-lock.el
lisp/mail/rmail.el
lisp/mail/rmailmm.el
lisp/minibuffer.el
lisp/net/tramp.el
lisp/proced.el
lisp/profiler.el
lisp/progmodes/bug-reference.el
lisp/progmodes/flymake.el
lisp/progmodes/python.el
lisp/progmodes/sh-script.el
lisp/progmodes/verilog-mode.el
lisp/progmodes/vhdl-mode.el
lisp/register.el
lisp/strokes.el
lisp/subr.el
lisp/textmodes/reftex-vars.el
lisp/textmodes/rst.el
src/ChangeLog
src/nsfns.m
src/nsimage.m
src/nsmenu.m
src/nsselect.m
src/nsterm.h
src/nsterm.m
src/sysdep.c
src/syssignal.h

index 90b57c4..1a7b9f6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2012-10-07  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * configure.ac: Check that OSX is 10.4 or newer.
+
+2012-10-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve sys_siglist detection.
+       * configure.ac (sys_siglist): Look for its decl in <signal.h>.
+       Otherwise, it's not found in either Fedora 17 or Solaris 11.
+
 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
 
        Merge from gnulib, incorporating:
index 2da6552..7d49218 100644 (file)
@@ -1,3 +1,19 @@
+2012-10-07  Glenn Morris  <rgm@gnu.org>
+
+       * admin.el (cusver-new-version): Set default.
+       (cusver-check): Improve interactive argument reading.
+
+2012-10-06  Glenn Morris  <rgm@gnu.org>
+
+       * admin.el (cusver-new-version): New variable.
+       (cusver-scan): Check if containing group has a :version.
+       (cusver-check): Add VERSION argument.
+
+2012-10-01  David Engster  <deng@randomsample.de>
+
+       * grammars/bovine-grammar.el:
+       * grammars/wisent-grammar.el: Move to lisp directory.
+
 2012-10-01  David Engster  <deng@randomsample.de>
 
        * grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote):
index c71e653..3e3fbba 100644 (file)
@@ -442,8 +442,12 @@ If optional OLD is non-nil, also include defvars."
                                     ))
                 "{}" "+"))
 
-;; TODO if a defgroup with a version tag, apply to all customs in that
-;; group (eg for new files).
+(defvar cusver-new-version (format "%s.%s" emacs-major-version
+                                  (1+ emacs-minor-version))
+  "Version number that new defcustoms should have.")
+
+;; TODO do something about renamed variables with aliases to the old name?
+;; Scan old cus-start.el to find variables moved from C to lisp?
 (defun cusver-scan (file &optional old)
   "Scan FILE for `defcustom' calls.
 Return a list with elements of the form (VAR . VER),
@@ -452,8 +456,8 @@ a :version tag having value VER (may be nil).
 If optional argument OLD is non-nil, also scan for defvars."
   (let ((m (format "Scanning %s..." file))
        (re (format "^[ \t]*\\((def%s\\)[ \t\n]"
-                   (if old "\\(?:custom\\|var\\)" "custom")))
-        alist var ver form)
+                   (if old "\\(custom\\|var\\)" "\\(custom\\|group\\)")))
+        alist var ver form glist grp)
     (message "%s" m)
     (with-temp-buffer
       (insert-file-contents file)
@@ -461,11 +465,23 @@ If optional argument OLD is non-nil, also scan for defvars."
       (while (re-search-forward re nil t)
         (goto-char (match-beginning 1))
         (if (and (setq form (ignore-errors (read (current-buffer))))
-                 (setq var (car-safe (cdr-safe form)))
+                (setq var (car-safe (cdr-safe form)))
                 ;; Exclude macros, eg (defcustom ,varname ...).
                 (symbolp var))
-            (setq ver (car (cdr-safe (memq :version form)))
-                  alist (cons (cons var ver) alist))
+           (progn
+             (setq ver (car (cdr-safe (memq :version form))))
+             (if (equal "group" (match-string 2))
+                 ;; Group :version could be old.
+                 (if (equal ver cusver-new-version)
+                     (setq glist (cons (cons var ver) glist)))
+               ;; If it specifies a group and the whole group has a
+               ;; version. use that.
+               (unless ver
+                 (setq grp (car (cdr-safe (memq :group form))))
+                 (and grp
+                      (setq grp (car (cdr-safe grp))) ; (quote foo) -> foo
+                      (setq ver (assq grp glist))))
+               (setq alist (cons (cons var ver) alist))))
           (if form (message "Malformed defcustom: `%s'" form)))))
     (message "%sdone" m)
     alist))
@@ -490,7 +506,7 @@ If optional argument OLD is non-nil, also scan for defvars."
 ;; TODO handle renamed things with aliases to the old names.
 ;; What to do about new files?  Does everything in there need a :version,
 ;; or eg just the defgroup?
-(defun cusver-check (newdir olddir)
+(defun cusver-check (newdir olddir version)
   "Check that defcustoms have :version tags where needed.
 NEWDIR is the current lisp/ directory, OLDDIR is that from the previous
 release.  A defcustom that is only in NEWDIR should have a :version
@@ -499,11 +515,16 @@ just converting a defvar to a defcustom does not require a :version bump.
 
 Note that a :version tag should also be added if the value of a defcustom
 changes (in a non-trivial way).  This function does not check for that."
-  (interactive "DNew Lisp directory: \nDOld Lisp directory: ")
+  (interactive (list (read-directory-name "New Lisp directory: ")
+                    (read-directory-name "Old Lisp directory: ")
+                    (number-to-string
+                     (read-number "New version number: "
+                                  (string-to-number cusver-new-version)))))
   (or (file-directory-p (setq newdir (expand-file-name newdir)))
       (error "Directory `%s' not found" newdir))
   (or (file-directory-p (setq olddir (expand-file-name olddir)))
       (error "Directory `%s' not found" olddir))
+  (setq cusver-new-version version)
   (let* ((newfiles (progn (message "Finding new files with defcustoms...")
                          (cusver-find-files newdir)))
         (oldfiles (progn (message "Finding old files with defcustoms...")
index 419797e..e382609 100644 (file)
@@ -3,8 +3,8 @@ generate the parser data in the lisp/semantic/bovine/ and
 lisp/semantic/wisent/ directories.  You can run the parser generators
 with
 
-emacs -batch -Q -l bovine-grammar.el -f bovine-make-parsers
-emacs -batch -Q -l wisent-grammar.el -f wisent-make-parsers
+emacs -batch -Q -l semantic/bovine/grammar -f bovine-make-parsers
+emacs -batch -Q -l semantic/wisent/grammar -f wisent-make-parsers
 
 Currently, the parser files in lisp/ are not generated directly from
 these grammar files when making Emacs.  This state of affairs, and the
index f08dd55..623d93b 100755 (executable)
@@ -8814,7 +8814,9 @@ $as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h
 
 fi
 
-ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "#include <signal.h>
+
+"
 if test "x$ac_cv_have_decl_sys_siglist" = x""yes; then :
   ac_have_decl=1
 else
@@ -8827,7 +8829,9 @@ _ACEOF
 
 if test $ac_cv_have_decl_sys_siglist != yes; then
   # For Tru64, at least:
-  ac_fn_c_check_decl "$LINENO" "__sys_siglist" "ac_cv_have_decl___sys_siglist" "$ac_includes_default"
+  ac_fn_c_check_decl "$LINENO" "__sys_siglist" "ac_cv_have_decl___sys_siglist" "#include <signal.h>
+
+"
 if test "x$ac_cv_have_decl___sys_siglist" = x""yes; then :
   ac_have_decl=1
 else
@@ -9510,6 +9514,32 @@ else
 fi
 
 
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <AppKit/AppKit.h>
+int
+main ()
+{
+
+#ifdef MAC_OS_X_VERSION_MAX_ALLOWED
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+ ; /* OK */
+#else
+#error "OSX 10.4 or newer required"
+#endif
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ns_osx_have_104=yes
+else
+  ns_osx_have_104=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <Foundation/NSObjCRuntime.h>
@@ -9527,6 +9557,9 @@ else
   ns_have_nsinteger=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  if test $ns_osx_have_104 = no; then
+     as_fn_error "\`OSX 10.4 or newer is required'" "$LINENO" 5;
+  fi
   if test $ns_have_nsinteger = yes; then
 
 $as_echo "#define NS_HAVE_NSINTEGER 1" >>confdefs.h
index edbae29..748f435 100644 (file)
@@ -1284,10 +1284,12 @@ dnl On Solaris 8 there's a compilation warning for term.h because
 dnl it doesn't define `bool'.
 AC_CHECK_HEADERS(term.h, , , -)
 AC_HEADER_TIME
-AC_CHECK_DECLS([sys_siglist])
+AC_CHECK_DECLS([sys_siglist], [], [], [[#include <signal.h>
+                                     ]])
 if test $ac_cv_have_decl_sys_siglist != yes; then
   # For Tru64, at least:
-  AC_CHECK_DECLS([__sys_siglist])
+  AC_CHECK_DECLS([__sys_siglist], [], [], [[#include <signal.h>
+                                         ]])
   if test $ac_cv_have_decl___sys_siglist = yes; then
     AC_DEFINE(sys_siglist, __sys_siglist,
               [Define to any substitute for sys_siglist.])
@@ -1508,10 +1510,26 @@ fail;
   AC_CHECK_HEADER([AppKit/AppKit.h], [HAVE_NS=yes],
                  [AC_MSG_ERROR([`--with-ns' was specified, but the include
   files are missing or cannot be compiled.])])
+
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AppKit/AppKit.h>],
+                                     [
+#ifdef MAC_OS_X_VERSION_MAX_ALLOWED
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+ ; /* OK */
+#else
+#error "OSX 10.4 or newer required"
+#endif
+#endif
+                   ])],
+                   ns_osx_have_104=yes,
+                   ns_osx_have_104=no)
   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <Foundation/NSObjCRuntime.h>],
                                      [NSInteger i;])],
                    ns_have_nsinteger=yes,
                    ns_have_nsinteger=no)
+  if test $ns_osx_have_104 = no; then
+     AC_MSG_ERROR([`OSX 10.4 or newer is required']);
+  fi
   if test $ns_have_nsinteger = yes; then
     AC_DEFINE(NS_HAVE_NSINTEGER, 1, [Define to 1 if `NSInteger' is defined.])
   fi
index 572cc4f..067574b 100644 (file)
@@ -1,3 +1,12 @@
+2012-10-06  Glenn Morris  <rgm@gnu.org>
+
+       * calendar.texi (Writing Calendar Files): Tweak week descriptions.
+       Mention cal-tex-cursor-week2-summary.
+
+2012-10-06  Chong Yidong  <cyd@gnu.org>
+
+       * mini.texi (Passwords): Fix typo.
+
 2012-10-02  Glenn Morris  <rgm@gnu.org>
 
        * maintaining.texi (VC Directory Commands):
index fdf1c65..d46e26c 100644 (file)
@@ -396,17 +396,20 @@ Generate a sideways-printing one-month calendar
 Generate a one-day calendar
 (@code{cal-tex-cursor-day}).
 @item t w 1
-Generate a one-page calendar for one week
+Generate a one-page calendar for one week, with hours
 (@code{cal-tex-cursor-week}).
 @item t w 2
-Generate a two-page calendar for one week
+Generate a two-page calendar for one week, with hours
 (@code{cal-tex-cursor-week2}).
 @item t w 3
-Generate an ISO-style calendar for one week
+Generate an ISO-style calendar for one week, without hours
 (@code{cal-tex-cursor-week-iso}).
 @item t w 4
-Generate a calendar for one Monday-starting week
+Generate a calendar for one Monday-starting week, with hours
 (@code{cal-tex-cursor-week-monday}).
+@item t w W
+Generate a two-page calendar for one week, without hours
+(@code{cal-tex-cursor-week2-summary}).
 @item t f w
 Generate a Filofax-style two-weeks-at-a-glance calendar
 (@code{cal-tex-cursor-filofax-2week}).
index 5d2fc80..cb47a96 100644 (file)
@@ -727,7 +727,7 @@ completion, and you cannot change windows or perform any other action
 with Emacs until you have submitted the password.
 
   While you are typing the password, you may press @key{DEL} to delete
-backwards, removing the last character entered.  @key{C-u} deletes
+backwards, removing the last character entered.  @kbd{C-u} deletes
 everything you have typed so far.  @kbd{C-g} quits the password prompt
 (@pxref{Quitting}).  @kbd{C-y} inserts the current kill into the
 password (@pxref{Killing}).  You may type either @key{RET} or
index ad6c639..001bfe2 100644 (file)
@@ -1,3 +1,7 @@
+2012-10-07  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * NEWS (NextStep/OSX port changes): OSX 10.4 or newer is required.
+
 2012-10-05  Douglas Lewan  <d_lewan2000@yahoo.com>  (tiny change)
 
        * tutorials/TUTORIAL.pt_BR: Fix typo.  (Bug#12557)
index be75b66..1a7eb82 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -191,6 +191,8 @@ The PCL-CVS commands are still available via the keyboard.
 
 ** NextStep/OSX port changes.
 ---
+*** OSX 10.4 or newer is required to build Emacs.
+---
 *** Fullscreen and frame parameter fullscreen is supported.
 ---
 *** A file dialog is used when open/saved is done from the menu/toolbar.
@@ -281,6 +283,9 @@ Use `Buffer-menu-name-width' and `Buffer-menu-size-width' instead.
 *** You can customize the header text that appears above each calendar month.
 See the variable `calendar-month-header'.
 
++++
+*** New LaTeX calendar style, produced by `cal-tex-cursor-week2-summary'.
+
 *** The calendars produced by cal-html include holidays.
 Customize cal-html-holidays to change this.
 
index bc88408..b2cc65a 100644 (file)
@@ -3,6 +3,115 @@
        * international/mule-conf.el (compound-text-with-extensions): Add
        :mime-charset property as x-ctext.
 
+2012-10-07  Stefan Merten  <smerten@oekonux.de>
+
+       * textmodes/rst.el (rst-new-adornment-down, rst-indent-field)
+       (rst-indent-literal-normal, rst-indent-literal-minimized)
+       (rst-indent-comment): Correct :version tag.
+
+2012-10-07  Glenn Morris  <rgm@gnu.org>
+
+       * mail/rmailmm.el (rmail-mime-process-multipart):
+       Do not confuse a multipart message with an epilogue
+       with a "truncated" one; fixes 2011-06-27 change.  (Bug#10101)
+
+2012-10-07  Fabián Ezequiel Gallina  <fgallina@cuca>
+
+       Fix shell output retrieval and comint-prompt-regexp init.
+       * progmodes/python.el (inferior-python-mode):
+       (python-shell-make-comint): Fix initialization of
+       comint-prompt-regexp from copied file local variables.
+       (python-shell-fetched-lines): Remove var.
+       (python-shell-output-filter-in-progress): Rename from
+       python-shell-fetch-lines-in-progress.
+       (python-shell-output-filter-buffer): Rename from
+       python-shell-fetch-lines-string.
+       (python-shell-fetch-lines-filter): Delete function.
+       (python-shell-output-filter): New function.
+       (python-shell-send-string-no-output): Use them.
+
+2012-10-07  Glenn Morris  <rgm@gnu.org>
+
+       * hi-lock.el (hi-lock-process-phrase):
+       Try to make it less fragile.  (Bug#7161)
+
+       * hi-lock.el (hi-lock-face-phrase-buffer): Doc fix.
+
+2012-10-06  Glenn Morris  <rgm@gnu.org>
+
+       * ehelp.el (electric-help-mode): Use help-mode rather than
+       non-existent mode `help'.
+       (electric-help-map): Use button-buffer-map.  (Bug#10917)
+
+       * textmodes/reftex-vars.el (reftex-create-bibtex-header)
+       (reftex-create-bibtex-footer): Fix custom types.
+
+       * progmodes/sh-script.el (sh-indent-after-continuation):
+       Add explicit :group.
+
+       * textmodes/rst.el (rst-preferred-decorations)
+       (rst-shift-basic-offset): Clarify obsolescence versions.
+
+       * profiler.el (profiler): Add missing group :version tag.
+       * avoid.el (mouse-avoidance-banish-position):
+       * proced.el (proced-renice-command):
+       * calc/calc.el (calc-ensure-consistent-units):
+       * calendar/icalendar.el (icalendar-import-format-uid):
+       * net/tramp.el (tramp-save-ad-hoc-proxies):
+       * progmodes/bug-reference.el (bug-reference-bug-regexp):
+       * progmodes/flymake.el (flymake-error-bitmap)
+       (flymake-warning-bitmap, flymake-fringe-indicator-position):
+       * progmodes/sh-script.el (sh-indent-after-continuation):
+       * progmodes/verilog-mode.el (verilog-auto-template-warn-unused)
+       (verilog-before-save-font-hook, verilog-after-save-font-hook):
+       * progmodes/vhdl-mode.el (vhdl-makefile-default-targets)
+       (vhdl-array-index-record-field-in-sensitivity-list)
+       (vhdl-indent-comment-like-next-code-line):
+       * textmodes/reftex-vars.el (reftex-ref-style-alist)
+       (reftex-ref-macro-prompt, reftex-ref-style-default-list)
+       (reftex-cite-key-separator, reftex-create-bibtex-header)
+       (reftex-create-bibtex-footer):
+       * textmodes/rst.el (rst-new-adornment-down, rst-indent-field)
+       (rst-indent-literal-normal, rst-indent-literal-minimized)
+       (rst-indent-comment): Add missing custom :version tags.
+
+       * calendar/timeclock.el (timeclock-modeline-display):
+       Add missing obsolete alias for renamed user option.
+
+       * strokes.el (strokes-modeline-string):
+       * emulation/crisp.el (crisp-mode-modeline-string):
+       * eshell/esh-mode.el (eshell-status-in-modeline):
+       Aliases to defcustoms must come before the defcustom.
+
+       * calendar/cal-tex.el (cal-tex-diary, cal-tex-cursor-week)
+       (cal-tex-cursor-week2, cal-tex-cursor-week-iso)
+       (cal-tex-cursor-week-monday): Doc fixes.
+       (cal-tex-cursor-week2-summary): Doc fix.
+       Rename from cal-tex-cursor-week-at-a-glance.
+
+       * calendar/cal-menu.el (cal-menu-context-mouse-menu):
+       Tweak week descriptions.  Add cal-tex-cursor-week2-summary.
+
+       * calendar/calendar.el (calendar-mode-map):
+       Add cal-tex-cursor-week2-summary.
+
+2012-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/cl-macs.el (cl-defstruct): Improve docstring.
+
+       * subr.el (read-passwd-map): New var.
+       (read-passwd): Use `read-string' again.
+       * minibuffer.el (delete-minibuffer-contents): Make it interactive.
+
+2012-10-06  Jambunathan K  <kjambunathan@gmail.com>
+
+       * register.el (append-to-register, prepend-to-register):
+       Deactivate mark, as does `copy-to-register' (bug#12389).
+
+2012-10-06  Chong Yidong  <cyd@gnu.org>
+
+       * files.el (auto-mode-alist): Add .by and .wy (Semantic grammars).
+
 2012-10-06  Ikumi Keita  <ikumi@ikumi.que.jp>  (tiny change)
 
        * international/characters.el: Fix simple mistake ((car chars) ->
        (python-fill-decorator-function, python-fill-paren-function):
        Remove :safe for defcustoms.
        (python-fill-string-style): New defcustom
-       (python-fill-paragraph-function): Enhanced context detection.
+       (python-fill-paragraph-function): Enhance context detection.
        (python-fill-string): Honor python-fill-string-style settings.
 
 2012-10-04  Martin Rudalics  <rudalics@gmx.at>
 
 2012-10-02  Chong Yidong  <cyd@gnu.org>
 
-       * progmodes/hideif.el (hif-lookup, hif-defined): Handle
-       semantic-c-takeover-hideif.
+       * progmodes/hideif.el (hif-lookup, hif-defined):
+       Handle semantic-c-takeover-hideif.
 
 2012-10-02  Paul Eggert  <eggert@cs.ucla.edu>
 
 
 2012-10-02  Sergio Durigan Junior  <sergiodj@riseup.net>  (tiny change)
 
-       * net/eudcb-bbdb.el (eudc-bbdb-format-record-as-result): Fix
-       querying BBDB for entries without a last name (Bug#11580).
+       * net/eudcb-bbdb.el (eudc-bbdb-format-record-as-result):
+       Fix querying BBDB for entries without a last name (Bug#11580).
 
 2012-10-02  Chong Yidong  <cyd@gnu.org>
 
 2012-09-08  Jambunathan K  <kjambunathan@gmail.com>
 
        * register.el (register): New group.
-       (register-separator): New user option.
+       (separator-register): New user option.
        (increment-register): Route it to `append-to-register', if
        register contains text.  Implication is that `C-x r +' can now be
        used for appending to a text register (bug#12217).
        (append-to-register, prepend-to-register): Add separator based on
-       `register-separator.
+       `separator-register'.
 
 2012-09-08  Alan Mackenzie  <acm@muc.de>
 
index 65a7baf..83657a9 100644 (file)
 
        * Version 23.2 released.
 
-2010-05-07  Deniz Dogan  <deniz.a.m.dogan@gmail.com>  (tiny change)
+2010-05-07  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
             Stefan Monnier  <monnier@iro.umontreal.ca>
 
        Highlight vendor specific properties.
        * window.el (move-to-window-line-last-op): Remove.
        (move-to-window-line-top-bottom): Reuse recenter-last-op instead.
 
-2009-11-23  Deniz Dogan  <deniz.a.m.dogan@gmail.com>  (tiny change)
+2009-11-23  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
 
        Make M-r mirror the new cycling behavior of C-l.
        * window.el (move-to-window-line-last-op): New var.
index 2fa6ef3..7f4b78b 100644 (file)
@@ -128,6 +128,7 @@ SIDE-POS: Distance from right or left edge of frame or window.
 TOP-OR-BOTTOM: banish the mouse to top or bottom of frame or window.
 TOP-OR-BOTTOM-POS: Distance from top or bottom edge of frame or window."
   :group   'avoid
+  :version "24.3"
   :type    '(alist :key-type symbol :value-type symbol)
   :options '(frame-or-window side (side-pos integer)
              top-or-bottom (top-or-bottom-pos integer)))
index 25f591a..f1643b1 100644 (file)
@@ -423,6 +423,7 @@ in normal mode."
   "If non-nil, make sure new units are consistent with current units
 when converting units."
   :group 'calc
+  :version "24.3"
   :type 'boolean)
 
 (defcustom calc-undo-length
index d454612..52c82b6 100644 (file)
@@ -237,10 +237,11 @@ is non-nil."
     ;; These did not work if called without calendar window selected.
     ("Prepare LaTeX buffer"
      ["Daily (1 page)" cal-tex-cursor-day]
-     ["Weekly (1 page)" cal-tex-cursor-week]
-     ["Weekly (2 pages)" cal-tex-cursor-week2]
-     ["Weekly (other style; 1 page)" cal-tex-cursor-week-iso]
-     ["Weekly (yet another style; 1 page)" cal-tex-cursor-week-monday]
+     ["Weekly (1 page, with hours)" cal-tex-cursor-week]
+     ["Weekly (2 pages, with hours)" cal-tex-cursor-week2]
+     ["Weekly (1 page, no hours)" cal-tex-cursor-week-iso]
+     ["Weekly (1 page, with hours, different style)" cal-tex-cursor-week-monday]
+     ["Weekly (2 pages, no hours)" cal-tex-cursor-week2-summary]
      ["Monthly" cal-tex-cursor-month]
      ["Monthly (landscape)" cal-tex-cursor-month-landscape]
      ["Yearly" cal-tex-cursor-year]
index 325ac3e..e4c2765 100644 (file)
@@ -37,6 +37,7 @@
 ;; cal-tex-cursor-month
 ;; cal-tex-cursor-week
 ;; cal-tex-cursor-week2
+;; cal-tex-cursor-week2-summary
 ;; cal-tex-cursor-week-iso
 ;; cal-tex-cursor-week-monday
 ;; cal-tex-cursor-filofax-2week
@@ -82,8 +83,6 @@ Setting this to nil may speed up calendar generation."
 
 (defcustom cal-tex-diary nil
   "Non-nil means diary entries are printed in LaTeX calendars that support it.
-At present, this only affects the monthly, filofax, and iso-week
-calendars (i.e. not the yearly, plain weekly, or daily calendars).
 Setting this to nil may speed up calendar generation."
   :type 'boolean
   :group 'calendar-tex)
@@ -717,11 +716,15 @@ this is only an upper bound."
 ;; TODO respect cal-tex-daily-start,end (see cal-tex-week-hours).
 ;;;###cal-autoload
 (defun cal-tex-cursor-week (&optional n event)
-  "Make a LaTeX calendar buffer for a two-page one-week calendar.
-It applies to the week that point is in.  The optional prefix
-argument N specifies number of weeks (default 1).  The calendar
-shows holidays if `cal-tex-holidays' is non-nil (note that diary
-entries are not shown).  The calendar shows the hours 8-12am, 1-5pm."
+  "Make a one page LaTeX calendar for one week, showing hours of the day.
+There are two columns; with 8-12am in the first and 1-5pm in the second.
+It shows holidays if `cal-tex-holidays' is non-nil.
+It does not show diary entries.
+
+The optional prefix argument N specifies a number of weeks (default 1).
+
+By default, the calendar is for the week at point; the optional
+argument EVENT specifies a different buffer position."
   (interactive (list (prefix-numeric-value current-prefix-arg)
                      last-nonmenu-event))
   (or n (setq n 1))
@@ -768,12 +771,15 @@ entries are not shown).  The calendar shows the hours 8-12am, 1-5pm."
 ;; TODO respect cal-tex-daily-start,end (see cal-tex-week-hours).
 ;;;###cal-autoload
 (defun cal-tex-cursor-week2 (&optional n event)
-  "Make a LaTeX calendar buffer for a two-page one-week calendar.
-It applies to the week that point is in.  Optional prefix
-argument N specifies number of weeks (default 1).  The calendar
-shows holidays if `cal-tex-holidays' is non-nil (note that diary
-entries are not shown).  The calendar shows the hours 8-12am, 1-5pm.
-Optional EVENT indicates a buffer position to use instead of point."
+  "Make a two page LaTeX calendar for one week, showing hours of the day.
+There are two columns; with 8-12am in the first and 1-5pm in the second.
+It shows holidays if `cal-tex-holidays' is non-nil.
+It does not show diary entries.
+
+The optional prefix argument N specifies a number of weeks (default 1).
+
+By default, the calendar is for the week at point; the optional
+argument EVENT specifies a different buffer position."
   (interactive (list (prefix-numeric-value current-prefix-arg)
                      last-nonmenu-event))
   (or n (setq n 1))
@@ -848,12 +854,15 @@ Optional EVENT indicates a buffer position to use instead of point."
 
 ;;;###cal-autoload
 (defun cal-tex-cursor-week-iso (&optional n event)
-  "Make a LaTeX calendar buffer for a one page ISO-style weekly calendar.
-Optional prefix argument N specifies number of weeks (default 1).
-The calendar shows holiday and diary entries if
-`cal-tex-holidays' and `cal-tex-diary', respectively, are non-nil.
-It does not show hours of the day.  Optional EVENT indicates a buffer
-position to use instead of point."
+  "Make a one page LaTeX calendar for one week, in the ISO-style.
+It does not show hours of the day.
+It shows holidays if `cal-tex-holidays' is non-nil.
+It shows diary entries if `cal-tex-diary' is non-nil.
+
+The optional prefix argument N specifies a number of weeks (default 1).
+
+By default, the calendar is for the week at point; the optional
+argument EVENT specifies a different buffer position."
   (interactive (list (prefix-numeric-value current-prefix-arg)
                      last-nonmenu-event))
   (or n (setq n 1))
@@ -976,13 +985,16 @@ shown are hard-coded to 8-12, 13-17."
 ;; TODO respect cal-tex-daily-start,end (see cal-tex-weekly4-box).
 ;;;###cal-autoload
 (defun cal-tex-cursor-week-monday (&optional n event)
-  "Make a LaTeX calendar buffer for a two-page one-week calendar.
-It applies to the week that point is in, and starts on Monday.
-Optional prefix argument N specifies number of weeks (default 1).
-The calendar shows holidays if `cal-tex-holidays' is
-non-nil (note that diary entries are not shown).   The calendar shows
-the hours 8-12am, 1-5pm.  Optional EVENT indicates a buffer position
-to use instead of point."
+  "Make a one page LaTeX calendar for one week, showing hours of the day.
+There are two columns; with M-W in the first and T-S in the second.
+It shows the hours 8-12am and 1-5pm.
+It shows holidays if `cal-tex-holidays' is non-nil.
+It does not show diary entries.
+
+The optional prefix argument N specifies a number of weeks (default 1).
+
+By default, the calendar is for the week at point; the optional
+argument EVENT specifies a different buffer position."
   (interactive (list (prefix-numeric-value current-prefix-arg)
                      last-nonmenu-event))
   (or n (setq n 1))
@@ -1203,13 +1215,16 @@ shown are hard-coded to 8-12, 13-17."
     (run-hooks 'cal-tex-hook)))
 
 ;;;###cal-autoload
-(defun cal-tex-cursor-week-at-a-glance (&optional n event)
-  "One-week-at-a-glance full page calendar for week indicated by cursor.
-Optional prefix argument N specifies number of weeks (default 1),
-starting on Mondays.  The calendar shows holiday and diary entries
-if `cal-tex-holidays' and `cal-tex-diary', respectively, are non-nil.
-It does not show hours of the day.  Optional EVENT indicates a buffer
-position to use instead of point."
+(defun cal-tex-cursor-week2-summary (&optional n event)
+  "Make a two page LaTeX calendar for one week, with optional diary entries.
+It does not show hours of the day.
+It shows holidays if `cal-tex-holidays' is non-nil.
+It shows diary entries if `cal-tex-diary' is non-nil.
+
+The optional prefix argument N specifies a number of weeks (default 1).
+
+By default, the calendar is for the week at point; the optional
+argument EVENT specifies a different buffer position."
   (interactive (list (prefix-numeric-value current-prefix-arg)
                      last-nonmenu-event))
   (cal-tex-weekly-common n event))
index 6f8311f..96a5725 100644 (file)
@@ -1683,8 +1683,9 @@ line."
     (define-key map "td" 'cal-tex-cursor-day)
     (define-key map "tw1" 'cal-tex-cursor-week)
     (define-key map "tw2" 'cal-tex-cursor-week2)
-    (define-key map "tw3" 'cal-tex-cursor-week-iso)
-    (define-key map "tw4" 'cal-tex-cursor-week-monday)
+    (define-key map "tw3" 'cal-tex-cursor-week-iso) ; FIXME twi ?
+    (define-key map "tw4" 'cal-tex-cursor-week-monday) ; twm ?
+    (define-key map "twW" 'cal-tex-cursor-week2-summary)
     (define-key map "tfd" 'cal-tex-cursor-filofax-daily)
     (define-key map "tfw" 'cal-tex-cursor-filofax-2week)
     (define-key map "tfW" 'cal-tex-cursor-filofax-week)
index 39b83d4..27e7261 100644 (file)
@@ -186,6 +186,7 @@ the URL."
 This applies only if the UID is not empty! `%s' is replaced by
 the UID."
   :type 'string
+  :version "24.3"
   :group 'icalendar)
 
 (defcustom icalendar-import-format-status
index 3151ce1..7e7a737 100644 (file)
@@ -321,6 +321,9 @@ display (non-nil means on)."
     (force-mode-line-update)
     (setq timeclock-mode-line-display on-p)))
 
+(define-obsolete-variable-alias 'timeclock-modeline-display
+  'timeclock-mode-line-display "24.3")
+
 ;; This has to be here so that the function definition of
 ;; `timeclock-mode-line-display' is known to the "set" function.
 (defcustom timeclock-mode-line-display nil
index e066368..ff5b603 100644 (file)
@@ -1,3 +1,18 @@
+2012-10-06  Glenn Morris  <rgm@gnu.org>
+
+       * semantic/complete.el (semantic-displayor-tooltip-max-tags): Doc fix.
+
+       * semantic/complete.el (semantic-displayor-tooltip-mode)
+       (semantic-displayor-tooltip-initial-max-tags)
+       (semantic-displayor-tooltip-max-tags): Add missing custom :version tags.
+       * ede/linux.el (project-linux): Add missing group :version tag.
+
+2012-10-06  Chong Yidong  <cyd@gnu.org>
+
+       * semantic/bovine/grammar.el:
+       * semantic/wisent/grammar.el: Move from admin/grammars.  Add
+       autoloads for bovine-grammar-mode and wisent-grammar-mode.
+
 2012-10-02  Chong Yidong  <cyd@gnu.org>
 
        * srecode.el, ede.el: Restore Version header.
index 7cd066f..5c70803 100644 (file)
@@ -44,7 +44,7 @@
   "File and tag browser frame."
   :group 'tools
   :group 'ede
-  )
+  :version "24.3")
 
 (defcustom project-linux-compile-target-command (concat ede-make-command " -k -C %s SUBDIRS=%s")
   "*Default command used to compile a target."
similarity index 98%
rename from admin/grammars/bovine-grammar.el
rename to lisp/cedet/semantic/bovine/grammar.el
index a7289f6..cc27c5b 100644 (file)
@@ -1,4 +1,4 @@
-;;; bovine-grammar.el --- Bovine's input grammar mode
+;;; semantic/bovine/grammar.el --- Bovine's input grammar mode
 ;;
 ;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 ;;
@@ -143,7 +143,7 @@ expanded from elsewhere."
         (setq first (car form)
               form  (cdr form))
        ;; Hack for dealing with new reading of unquotes outside of
-       ;; backquote (introduced in rev. 102591 in emacs-bzr).
+       ;; backquote (introduced in 2010-12-06T16:37:26Z!monnier@iro.umontreal.ca).
        (when (and (>= emacs-major-version 24)
                   (listp first)
                   (or (equal (car first) '\,)
@@ -413,18 +413,17 @@ manual."
        ""))))
 
 (defvar bovine-grammar-menu
-  '("BY Grammar"
-    )
+  '("BY Grammar")
   "BY mode specific grammar menu.
 Menu items are appended to the common grammar menu.")
 
+;;;###autoload
 (define-derived-mode bovine-grammar-mode semantic-grammar-mode "BY"
   "Major mode for editing Bovine grammars."
   (semantic-grammar-setup-menu bovine-grammar-menu)
   (semantic-install-function-overrides
    '((grammar-parsetable-builder . bovine-grammar-parsetable-builder)
-     (grammar-setupcode-builder  . bovine-grammar-setupcode-builder)
-     )))
+     (grammar-setupcode-builder  . bovine-grammar-setupcode-builder))))
 
 (add-to-list 'auto-mode-alist '("\\.by\\'" . bovine-grammar-mode))
 
@@ -444,8 +443,6 @@ Menu items are appended to the common grammar menu.")
     )
   "Semantic grammar macros used in bovine grammars.")
 
-(provide 'semantic/bovine/grammar)
-
 (defun bovine-make-parsers ()
   "Generate Emacs' built-in Bovine-based parser files."
   (interactive)
@@ -504,4 +501,6 @@ Menu items are appended to the common grammar menu.")
          (replace-match packagename nil nil nil 1)
          (save-buffer))))))
 
-;;; bovine-grammar.el ends here
+(provide 'semantic/bovine/grammar)
+
+;;; semantic/bovine/grammar.el ends here
index 61760dd..9c2da9f 100644 (file)
@@ -1564,6 +1564,7 @@ Verbose: Always show all completions available.
 The absolute maximum number of completions for all mode is
 determined through `semantic-displayor-tooltip-max-tags'."
   :group 'semantic
+  :version "24.3"
   :type '(choice (const :tag "Standard" standard)
                 (const :tag "Quiet" quiet)
                 (const :tag "Verbose" verbose)))
@@ -1573,24 +1574,25 @@ determined through `semantic-displayor-tooltip-max-tags'."
   "Maximum number of tags to be displayed initially.
 See doc-string of `semantic-displayor-tooltip-mode' for details."
   :group 'semantic
+  :version "24.3"
   :type 'integer)
 
 (defcustom semantic-displayor-tooltip-max-tags 25
- "The maximum number of tags to be displayed.
 "The maximum number of tags to be displayed.
 Maximum number of completions where we have activated the
 extended completion list through typing TAB or SPACE multiple
 times.  This limit needs to fit on your screen!
 
 Note: If available, customizing this variable increases
-'x-max-tooltip-size' to force over-sized tooltips when necessary.
-This will not happen if you directly set this variable via
-`setq'."
- :group 'semantic
- :type 'integer
- :set '(lambda (sym var)
-        (set-default sym var)
-        (when (boundp 'x-max-tooltip-size)
-          (setcdr x-max-tooltip-size (max (1+ var) (cdr x-max-tooltip-size))))))
+`x-max-tooltip-size' to force over-sized tooltips when necessary.
+This will not happen if you directly set this variable via `setq'."
+  :group 'semantic
+  :version "24.3"
 :type 'integer
 :set '(lambda (sym var)
+         (set-default sym var)
+         (when (boundp 'x-max-tooltip-size)
+           (setcdr x-max-tooltip-size (max (1+ var) (cdr x-max-tooltip-size))))))
 
 
 (defclass semantic-displayor-tooltip (semantic-displayor-traditional)
similarity index 99%
rename from admin/grammars/wisent-grammar.el
rename to lisp/cedet/semantic/wisent/grammar.el
index 25dba5b..6fa52dc 100644 (file)
@@ -1,4 +1,4 @@
-;;; wisent-grammar.el --- Wisent's input grammar mode
+;;; semantic/wisent/grammar.el --- Wisent's input grammar mode
 
 ;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
 ;;
@@ -323,15 +323,13 @@ Return the expanded expression."
   "WY mode specific grammar menu.
 Menu items are appended to the common grammar menu.")
 
+;;;###autoload
 (define-derived-mode wisent-grammar-mode semantic-grammar-mode "WY"
   "Major mode for editing Wisent grammars."
   (semantic-grammar-setup-menu wisent-grammar-menu)
   (semantic-install-function-overrides
    '((grammar-parsetable-builder . wisent-grammar-parsetable-builder)
-     (grammar-setupcode-builder  . wisent-grammar-setupcode-builder)
-     )))
-
-(add-to-list 'auto-mode-alist '("\\.wy\\'" . wisent-grammar-mode))
+     (grammar-setupcode-builder  . wisent-grammar-setupcode-builder))))
 
 (defvar-mode-local wisent-grammar-mode semantic-grammar-macros
   '(
@@ -498,7 +496,7 @@ Menu items are appended to the common grammar menu.")
            (insert-file-contents filename)
            ;; Fix copyright header:
            (goto-char (point-min))
-           (when additional-copyright  
+           (when additional-copyright
              (re-search-forward "Copyright (C).*$")
              (insert "\n;; " additional-copyright))
            (re-search-forward "^;; Author:")
@@ -523,4 +521,6 @@ Menu items are appended to the common grammar menu.")
            (delete-trailing-whitespace)
            (write-region nil nil (expand-file-name filename))))))))
 
-;;; wisent-grammar.el ends here
+(provide 'semantic/wisent/grammar)
+
+;;; semantic/wisent/grammar.el ends here
index 281148d..a1bd4d6 100644 (file)
@@ -61,6 +61,8 @@
 
 (defvar electric-help-map
   (let ((map (make-keymap)))
+    ;; FIXME fragile.  Should derive from help-mode-map in a smarter way.
+    (set-keymap-parent map button-buffer-map)
     ;; allow all non-self-inserting keys - search, scroll, etc, but
     ;; let M-x and C-x exit ehelp mode and retain buffer:
     (suppress-keymap map)
   (setq buffer-read-only t)
   (setq electric-help-orig-major-mode major-mode)
   (setq mode-name "Help")
-  (setq major-mode 'help)
+  (setq major-mode 'help-mode)
   (setq mode-line-buffer-identification '(" Help:  %b"))
   (use-local-map electric-help-map)
   (add-hook 'mouse-leave-buffer-hook 'electric-help-retain)
index 922c985..e25ac5f 100644 (file)
@@ -260,7 +260,7 @@ Remove from SYMBOL's plist the property PROPNAME and its value.
 ;;;;;;  cl-typecase cl-ecase cl-case cl-load-time-value cl-eval-when
 ;;;;;;  cl-destructuring-bind cl-function cl-defmacro cl-defun cl-gentemp
 ;;;;;;  cl-gensym cl--compiler-macro-cXXr cl--compiler-macro-list*)
-;;;;;;  "cl-macs" "cl-macs.el" "da92f58f688ff6fb4d0098eb0f3acf0b")
+;;;;;;  "cl-macs" "cl-macs.el" "6951d080daefb5194b1d21fe9b2deae4")
 ;;; Generated autoloads from cl-macs.el
 
 (autoload 'cl--compiler-macro-list* "cl-macs" "\
@@ -657,8 +657,9 @@ copier, a `NAME-p' predicate, and slot accessors named `NAME-SLOT'.
 You can use the accessors to set the corresponding slots, via `setf'.
 
 NAME may instead take the form (NAME OPTIONS...), where each
-OPTION is either a single keyword or (KEYWORD VALUE).
-See Info node `(cl)Structures' for a list of valid keywords.
+OPTION is either a single keyword or (KEYWORD VALUE) where
+KEYWORD can be one of :conc-name, :constructor, :copier, :predicate,
+:type, :named, :initial-offset, :print-function, or :include.
 
 Each SLOT may instead take the form (SLOT SLOT-OPTS...), where
 SLOT-OPTS are keyword-value pairs for that slot.  Currently, only
index 56e698b..99bae19 100644 (file)
@@ -2154,8 +2154,9 @@ copier, a `NAME-p' predicate, and slot accessors named `NAME-SLOT'.
 You can use the accessors to set the corresponding slots, via `setf'.
 
 NAME may instead take the form (NAME OPTIONS...), where each
-OPTION is either a single keyword or (KEYWORD VALUE).
-See Info node `(cl)Structures' for a list of valid keywords.
+OPTION is either a single keyword or (KEYWORD VALUE) where
+KEYWORD can be one of :conc-name, :constructor, :copier, :predicate,
+:type, :named, :initial-offset, :print-function, or :include.
 
 Each SLOT may instead take the form (SLOT SLOT-OPTS...), where
 SLOT-OPTS are keyword-value pairs for that slot.  Currently, only
index c9822b7..01d202f 100644 (file)
 All the bindings are done here instead of globally to try and be
 nice to the world.")
 
+(define-obsolete-variable-alias 'crisp-mode-modeline-string
+  'crisp-mode-mode-line-string "24.3")
+
 (defcustom crisp-mode-mode-line-string " *CRiSP*"
   "String to display in the mode line when CRiSP emulation mode is enabled."
   :type 'string
   :group 'crisp)
 
-(define-obsolete-variable-alias 'crisp-mode-modeline-string
-  'crisp-mode-mode-line-string "24.3")
-
 ;;;###autoload
 (defcustom crisp-mode nil
   "Track status of CRiSP emulation mode.
index 3558a8a..8b4df60 100644 (file)
@@ -1,3 +1,27 @@
+2012-10-07  Deniz Dogan  <deniz@dogan.se>
+
+       * erc-log.el (erc-generate-log-file-name-function):
+       Clarify tags for various choices.  (Bug#11186)
+
+2012-10-07  Glenn Morris  <rgm@gnu.org>
+
+       * erc-button.el (erc-button-alist): Remove "finger".  (Bug#4443)
+
+2012-10-07  Antoine Levitt  <antoine.levitt@gmail.com>
+
+       * erc-stamp.el (erc-format-timestamp): Don't apply intangible
+       property to invisible stamps.  (Bug#11706)
+
+2012-10-07  Glenn Morris  <rgm@gnu.org>
+
+       * erc-backend.el (NICK): Handle pre-existing buffers.  (Bug#12002)
+
+2012-10-06  Glenn Morris  <rgm@gnu.org>
+
+       * erc.el (erc-lurker):
+       * erc-desktop-notifications.el (erc-notifications):
+       Add missing group :version tags.
+
 2012-10-04  Julien Danjou  <julien@danjou.info>
 
        * erc-desktop-notifications.el: Rename from erc-notifications to
@@ -9,8 +33,7 @@
 
 2012-09-17  Chong Yidong  <cyd@gnu.org>
 
-       * erc-page.el (erc-page-function): 
-
+       * erc-page.el (erc-page-function):
        * erc-stamp.el (erc-stamp): Doc fix.
 
 2012-08-21  Josh Feinstein <jlf@foxtail.org>
        (erc-autojoin-after-ident): Ditto.
        (erc-autojoin-channels-alist): Mention auth-source.
 
-2012-04-10  Deniz Dogan  <deniz@dogan.se>  (tiny change)
+2012-04-10  Deniz Dogan  <deniz@dogan.se>
 
        * erc.el (erc-display-prompt): Adds the field text property to the
        ERC prompt.  This allows users to use `kill-whole-line' to kill
index 75f0047..20ccd07 100644 (file)
@@ -1316,7 +1316,7 @@ add things to `%s' instead."
          (when (equal (erc-default-target) nick)
            (setq erc-default-recipients
                  (cons nn (cdr erc-default-recipients)))
-           (rename-buffer nn)
+           (rename-buffer nn t)         ; bug#12002
            (erc-update-mode-line)
            (add-to-list 'bufs (current-buffer)))))
       (erc-update-user-nick nick nn host nil nil login)
index 687d11d..433ffc0 100644 (file)
@@ -135,7 +135,7 @@ longer than `erc-fill-column'."
   '(('nicknames 0 erc-button-buttonize-nicks erc-nick-popup 0)
     (erc-button-url-regexp 0 t browse-url 0)
     ("<URL: *\\([^<> ]+\\) *>" 0 t browse-url 1)
-    ("(\\(\\([^~\n \t@][^\n \t@]*\\)@\\([a-zA-Z0-9.:-]+\\)\\)" 1 t finger 2 3)
+;;; ("(\\(\\([^~\n \t@][^\n \t@]*\\)@\\([a-zA-Z0-9.:-]+\\)\\)" 1 t finger 2 3)
     ;; emacs internal
     ("[`]\\([a-zA-Z][-a-zA-Z_0-9]+\\)[']" 1 t erc-button-describe-symbol 1)
     ;; pseudo links
@@ -183,6 +183,7 @@ PAR is a number of a regexp grouping whose text will be passed to
   'nicknames, these are ignored, and CALLBACK will be called with
   the nickname matched as the argument."
   :group 'erc-button
+  :version "24.3"                       ; remove finger (bug#4443)
   :type '(repeat
           (list :tag "Button"
                 (choice :tag "Matches"
index 57b93f4..2cc3c80 100644 (file)
@@ -35,6 +35,7 @@
 
 (defgroup erc-notifications nil
   "Send notifications on PRIVMSG or mentions."
+  :version "24.3"
   :group 'erc)
 
 (defvar erc-notifications-last-notification nil
index 9e6c587..b3f3f58 100644 (file)
@@ -114,11 +114,13 @@ If you want to write logs into different directories, make a
 custom function which returns the directory part and set
 `erc-log-channels-directory' to its name."
   :group 'erc-log
-  :type '(choice (const :tag "Long style" erc-generate-log-file-name-long)
-                (const :tag "Long, but with network name rather than server"
+  :type '(choice (const :tag "#channel!nick@server:port.txt"
+                       erc-generate-log-file-name-long)
+                (const :tag "#channel!nick@network.txt"
                        erc-generate-log-file-name-network)
-                (const :tag "Short" erc-generate-log-file-name-short)
-                (const :tag "With date" erc-generate-log-file-name-with-date)
+                (const :tag "#channel.txt" erc-generate-log-file-name-short)
+                (const :tag "#channel@date.txt"
+                       erc-generate-log-file-name-with-date)
                 (function :tag "Other function")))
 
 (defcustom erc-truncate-buffer-on-save nil
index 1613d03..4fa3f9f 100644 (file)
@@ -353,8 +353,9 @@ Return the empty string if FORMAT is nil."
                               'isearch-open-invisible 'timestamp ts)
        ;; N.B. Later use categories instead of this harmless, but
        ;; inelegant, hack. -- BPT
-       (when erc-timestamp-intangible
-         (erc-put-text-property 0 (length ts) 'intangible t ts))
+       (and erc-timestamp-intangible
+            (not erc-hide-timestamps)  ; bug#11706
+            (erc-put-text-property 0 (length ts) 'intangible t ts))
        ts)
     ""))
 
index 687e60d..bbd9dad 100644 (file)
 
 (defgroup erc-lurker nil
   "Hide specified message types sent by lurkers"
+  :version "24.3"
   :group 'erc-ignore)
 
 (defgroup erc-query nil
index 8a9107e..6736324 100644 (file)
@@ -193,14 +193,14 @@ This is used by `eshell-watch-for-password-prompt'."
   :type '(choice (const nil) function)
   :group 'eshell-mode)
 
+(define-obsolete-variable-alias 'eshell-status-in-modeline
+  'eshell-status-in-mode-line "24.3")
+
 (defcustom eshell-status-in-mode-line t
   "If non-nil, let the user know a command is running in the mode line."
   :type 'boolean
   :group 'eshell-mode)
 
-(define-obsolete-variable-alias 'eshell-status-in-modeline
-  'eshell-status-in-mode-line "24.3")
-
 (defvar eshell-first-time-p t
   "A variable which is non-nil the first time Eshell is loaded.")
 
index c3f9e1e..e030aff 100644 (file)
@@ -2326,6 +2326,8 @@ ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\|7Z\\)\\'" . archive-mode)
      ("\\.js\\'" . javascript-mode)
      ("\\.json\\'" . javascript-mode)
      ("\\.[ds]?vh?\\'" . verilog-mode)
+     ("\\.by\\'" . bovine-grammar-mode)
+     ("\\.wy\\'" . wisent-grammar-mode)
      ;; .emacs or .gnus or .viper following a directory delimiter in
      ;; Unix, MSDOG or VMS syntax.
      ("[]>:/\\]\\..*\\(emacs\\|gnus\\|viper\\)\\'" . emacs-lisp-mode)
index 983d09e..f79353e 100644 (file)
@@ -1,3 +1,12 @@
+2012-10-06  Glenn Morris  <rgm@gnu.org>
+
+       * gnus-notifications.el (gnus-notifications):
+       Add missing group :version tag.
+       * gnus-msg.el (gnus-gcc-pre-body-encode-hook)
+       (gnus-gcc-post-body-encode-hook):
+       * gnus-sync.el (gnus-sync-lesync-name)
+       (gnus-sync-lesync-install-topics): Add missing custom :version tags.
+
 2012-09-25  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-art.el (gnus-article-browse-delete-temp-files): Never ask again
index c2f79e7..77bb628 100644 (file)
@@ -319,6 +319,7 @@ The current buffer (when the hook is run) contains the message
 including the message header.  Changes made to the message will
 only affect the Gcc copy, but not the original message."
   :group 'gnus-message
+  :version "24.3"
   :type 'hook)
 
 (defcustom gnus-gcc-post-body-encode-hook nil
@@ -327,6 +328,7 @@ The current buffer (when the hook is run) contains the message
 including the message header.  Changes made to the message will
 only affect the Gcc copy, but not the original message."
   :group 'gnus-message
+  :version "24.3"
   :type 'hook)
 
 (autoload 'gnus-message-citation-mode "gnus-cite" nil t)
index 5104a56..3848dee 100644 (file)
@@ -42,6 +42,7 @@
 
 (defgroup gnus-notifications nil
   "Send notifications on new message in Gnus."
+  :version "24.3"
   :group 'gnus)
 
 (defcustom gnus-notifications-use-google-contacts t
index ca8662f..b5f8379 100644 (file)
@@ -134,11 +134,13 @@ and `gnus-topic-alist'.  Also see `gnus-variable-list'."
 (defcustom gnus-sync-lesync-name (system-name)
   "The LeSync name for this machine."
   :group 'gnus-sync
+  :version "24.3"
   :type 'string)
 
-(defcustom  gnus-sync-lesync-install-topics 'ask
+(defcustom gnus-sync-lesync-install-topics 'ask
   "Should LeSync install the recorded topics?"
   :group 'gnus-sync
+  :version "24.3"
   :type '(choice (const :tag "Never Install" nil)
                  (const :tag "Always Install" t)
                  (const :tag "Ask Me Once" ask)))
index f92e2ab..5974312 100644 (file)
@@ -444,8 +444,8 @@ updated as you type."
 ;;;###autoload
 (defun hi-lock-face-phrase-buffer (regexp &optional face)
   "Set face of each match of phrase REGEXP to FACE.
-Whitespace in REGEXP converted to arbitrary whitespace and initial
-lower-case letters made case insensitive.
+If called interactively, replaces whitespace in REGEXP with
+arbitrary whitespace and makes initial lower-case letters case-insensitive.
 
 If Font Lock mode is enabled in the buffer, it is used to
 highlight REGEXP.  If Font Lock mode is disabled, overlays are
@@ -544,9 +544,15 @@ be found in variable `hi-lock-interactive-patterns'."
 Blanks in PHRASE replaced by regexp that matches arbitrary whitespace
 and initial lower-case letters made case insensitive."
   (let ((mod-phrase nil))
+    ;; FIXME fragile; better to just bind case-fold-search?  (Bug#7161)
     (setq mod-phrase
           (replace-regexp-in-string
-           "\\<[a-z]" (lambda (m) (format "[%s%s]" (upcase m) m)) phrase))
+           "\\(^\\|\\s-\\)\\([a-z]\\)"
+           (lambda (m) (format "%s[%s%s]"
+                               (match-string 1 m)
+                               (upcase (match-string 2 m))
+                               (match-string 2 m))) phrase))
+    ;; FIXME fragile; better to use search-spaces-regexp?
     (setq mod-phrase
           (replace-regexp-in-string
            "\\s-+" "[ \t\n]+" mod-phrase nil t))))
index 828cd6e..c75a198 100644 (file)
@@ -4605,7 +4605,7 @@ With prefix argument N moves forward N messages with these labels.
 
 ;;;***
 \f
-;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "0c18b83f914803d1216e1a9df7ea5275")
+;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "f1937f85a1258de8880a089fa5ae5621")
 ;;; Generated autoloads from rmailmm.el
 
 (autoload 'rmail-mime "rmailmm" "\
index 2cc5796..11bccd5 100644 (file)
@@ -832,7 +832,7 @@ The other arguments are the same as `rmail-mime-multipart-handler'."
   (let ((boundary (cdr (assq 'boundary content-type)))
        (subtype (cadr (split-string (car content-type) "/")))
        (index 0)
-       beg end next entities truncated)
+       beg end next entities truncated last)
     (unless boundary
       (rmail-mm-get-boundary-error-message
        "No boundary defined" content-type content-disposition
@@ -867,7 +867,13 @@ The other arguments are the same as `rmail-mime-multipart-handler'."
               ;; Handle the rest of the truncated message
               ;; (if it isn't empty) by pretending that the boundary
               ;; appears at the end of the message.
-              (and (save-excursion
+              ;; We use `last' to distinguish this from the more
+              ;; likely situation of there being an epilogue
+              ;; after the last boundary, which should be ignored.
+              ;; See rmailmm-test-multipart-handler for an example,
+              ;; and also bug#10101.
+              (and (not last)
+                   (save-excursion
                      (skip-chars-forward "\n")
                      (> (point-max) (point)))
                    (setq truncated t end (point-max))))
@@ -875,7 +881,8 @@ The other arguments are the same as `rmail-mime-multipart-handler'."
       ;; epilogue, else hide the boundary only.  Use a marker for
       ;; `next' because `rmail-mime-show' may change the buffer.
       (cond ((looking-at "--[ \t]*$")
-            (setq next (point-max-marker)))
+            (setq next (point-max-marker)
+                  last t))
            ((looking-at "[ \t]*\n")
             (setq next (copy-marker (match-end 0) t)))
            (truncated
index cf99001..a9be174 100644 (file)
@@ -632,6 +632,7 @@ That is what completion commands operate on."
 (defun delete-minibuffer-contents ()
   "Delete all user input in a minibuffer.
 If the current buffer is not a minibuffer, erase its entire contents."
+  (interactive)
   ;; We used to do `delete-field' here, but when file name shadowing
   ;; is on, the field doesn't cover the entire minibuffer contents.
   (delete-region (minibuffer-prompt-end) (point-max)))
index 019ab1e..b1532eb 100644 (file)
@@ -403,6 +403,7 @@ interpreted as a regular expression which always matches."
 (defcustom tramp-save-ad-hoc-proxies nil
   "Whether to save ad-hoc proxies persistently."
   :group 'tramp
+  :version "24.3"
   :type 'boolean)
 
 (defcustom tramp-restricted-shell-hosts-alist
index ec41ce6..e3ff9fb 100644 (file)
@@ -68,6 +68,7 @@ the external command (usually \"kill\")."
 (defcustom proced-renice-command "renice"
   "Name of renice command."
   :group 'proced
+  :version "24.3"
   :type '(string :tag "command"))
 
 (defcustom proced-signal-list
index 5e60595..e9261eb 100644 (file)
@@ -29,6 +29,7 @@
 (defgroup profiler nil
   "Emacs profiler."
   :group 'lisp
+  :version "24.3"
   :prefix "profiler-")
 
 (defconst profiler-version "24.3")
index 97fcb68..3561105 100644 (file)
@@ -74,6 +74,7 @@ so that it is considered safe, see `enable-local-variables'.")
 The second subexpression should match the bug reference (usually a number)."
   :type 'string
   :safe 'stringp
+  :version "24.3"                      ; previously defconst
   :group 'bug-reference)
 
 (defun bug-reference-set-overlay-properties ()
index 10d5fdf..26d4a39 100644 (file)
@@ -768,6 +768,7 @@ line number outside the file being compiled."
 The value may also be a list of two elements where the second
 element specifies the face for the bitmap."
   :group 'flymake
+  :version "24.3"
   :type 'symbol)
 
 (defcustom flymake-warning-bitmap 'question-mark
@@ -775,6 +776,7 @@ element specifies the face for the bitmap."
 The value may also be a list of two elements where the second
 element specifies the face for the bitmap."
   :group 'flymake
+  :version "24.3"
   :type 'symbol)
 
 (defcustom flymake-fringe-indicator-position 'left-fringe
@@ -782,6 +784,7 @@ element specifies the face for the bitmap."
 The value can be nil, left-fringe or right-fringe.
 Fringe indicators are disabled if nil."
   :group 'flymake
+  :version "24.3"
   :type '(choice (const left-fringe)
                 (const right-fringe)
                 (const :tag "No fringe indicators" nil)))
index b3b3b01..726c0b2 100644 (file)
@@ -1667,10 +1667,6 @@ variable.
 \(Type \\[describe-mode] in the process buffer for a list of commands.)"
   (set-syntax-table python-mode-syntax-table)
   (setq mode-line-process '(":%s"))
-  (setq comint-prompt-regexp (format "^\\(?:%s\\|%s\\|%s\\)"
-                                     python-shell-prompt-regexp
-                                     python-shell-prompt-block-regexp
-                                     python-shell-prompt-pdb-regexp))
   (make-local-variable 'comint-output-filter-functions)
   (add-hook 'comint-output-filter-functions
             'python-comint-output-filter-function)
@@ -1720,7 +1716,11 @@ killed."
                (process (get-buffer-process buffer)))
           (with-current-buffer buffer
             (inferior-python-mode)
-            (python-util-clone-local-variables current-buffer))
+            (python-util-clone-local-variables current-buffer)
+            (setq comint-prompt-regexp (format "^\\(?:%s\\|%s\\|%s\\)"
+                                               python-shell-prompt-regexp
+                                               python-shell-prompt-block-regexp
+                                               python-shell-prompt-pdb-regexp)))
           (accept-process-output process)
           (and pop (pop-to-buffer buffer t))
           (and internal (set-process-query-on-exit-flag process nil))))
@@ -1861,26 +1861,39 @@ When MSG is non-nil messages the first line of STRING."
                 (string-match "\n[ \t].*\n?$" string))
         (comint-send-string process "\n")))))
 
-;; Shell output catching stolen from gud-gdb
-(defvar python-shell-fetch-lines-in-progress nil)
-(defvar python-shell-fetch-lines-string nil)
-(defvar python-shell-fetched-lines nil)
-
-(defun python-shell-fetch-lines-filter (string)
-  "Filter used to read the list of lines output by a command.
-STRING is the output to filter."
-  (setq string (concat python-shell-fetch-lines-string string))
-  (while (string-match "\n" string)
-    (push (substring string 0 (match-beginning 0))
-          python-shell-fetched-lines)
-    (setq string (substring string (match-end 0))))
-  (if (equal (string-match comint-prompt-regexp string) 0)
-      (progn
-        (setq python-shell-fetch-lines-in-progress nil)
-        string)
-    (progn
-      (setq python-shell-fetch-lines-string string)
-      "")))
+(defvar python-shell-output-filter-in-progress nil)
+(defvar python-shell-output-filter-buffer nil)
+
+(defun python-shell-output-filter (string)
+  "Filter used in `python-shell-send-string-no-output' to grab output.
+STRING is the output received to this point from the process.
+This filter saves received output from the process in
+`python-shell-output-filter-buffer' and stops receiving it after
+detecting a prompt at the end of the buffer."
+  (setq
+   string (ansi-color-filter-apply string)
+   python-shell-output-filter-buffer
+   (concat python-shell-output-filter-buffer string))
+  (when (string-match
+         (format "\n\\(?:%s\\|%s\\|%s\\)$"
+                 python-shell-prompt-regexp
+                 python-shell-prompt-block-regexp
+                 python-shell-prompt-pdb-regexp)
+         python-shell-output-filter-buffer)
+    ;; Output ends when `python-shell-output-filter-buffer' contains
+    ;; the prompt attached at the end of it.
+    (setq python-shell-output-filter-in-progress nil
+          python-shell-output-filter-buffer
+          (substring python-shell-output-filter-buffer
+                     0 (match-beginning 0)))
+    (when (and (> (length python-shell-prompt-output-regexp) 0)
+               (string-match (concat "^" python-shell-prompt-output-regexp)
+                             python-shell-output-filter-buffer))
+      ;; Some shells, like iPython might append a prompt before the
+      ;; output, clean that.
+      (setq python-shell-output-filter-buffer
+            (substring python-shell-output-filter-buffer (match-end 0)))))
+  "")
 
 (defun python-shell-send-string-no-output (string &optional process msg)
   "Send STRING to PROCESS and inhibit output.
@@ -1888,18 +1901,20 @@ When MSG is non-nil messages the first line of STRING.  Return
 the output."
   (let ((process (or process (python-shell-get-or-create-process)))
         (comint-preoutput-filter-functions
-         '(python-shell-fetch-lines-filter))
-        (python-shell-fetch-lines-in-progress t)
+         '(python-shell-output-filter))
+        (python-shell-output-filter-in-progress t)
         (inhibit-quit t))
     (or
      (with-local-quit
        (python-shell-send-string string process msg)
-       (while python-shell-fetch-lines-in-progress
+       (while python-shell-output-filter-in-progress
+         ;; `python-shell-output-filter' takes care of setting
+         ;; `python-shell-output-filter-in-progress' to NIL after it
+         ;; detects end of output.
          (accept-process-output process))
        (prog1
-           (mapconcat #'identity
-                      (reverse python-shell-fetched-lines) "\n")
-         (setq python-shell-fetched-lines nil)))
+           python-shell-output-filter-buffer
+         (setq python-shell-output-filter-buffer nil)))
      (with-current-buffer (process-buffer process)
        (comint-interrupt-subjob)))))
 
index e94919e..06ded5f 100644 (file)
@@ -1767,7 +1767,9 @@ Does not preserve point."
 
 (defcustom sh-indent-after-continuation t
   "If non-nil, try to make sure text is indented after a line continuation."
-  :type 'boolean)
+  :version "24.3"
+  :type 'boolean
+  :group 'sh-indentation)
 
 (defun sh-smie--continuation-start-indent ()
   "Return the initial indentation of a continued line.
index 8c4167b..6ffe88f 100644 (file)
@@ -1159,6 +1159,7 @@ See the \\[verilog-faq] for examples on using this."
   "Non-nil means report warning if an AUTO_TEMPLATE line is not used.
 This feature is not supported before Emacs 21.1 or XEmacs 21.4."
   :group 'verilog-mode-auto
+  :version "24.3"
   :type 'boolean)
 (put 'verilog-auto-template-warn-unused 'safe-local-variable 'verilog-booleanp)
 
@@ -1230,11 +1231,13 @@ For example, \"_t$\" matches typedefs named with _t, as in the C language."
 (defcustom verilog-before-save-font-hook nil
   "Hook run before `verilog-save-font-mods' removes highlighting."
   :group 'verilog-mode-auto
+  :version "24.3"
   :type 'hook)
 
 (defcustom verilog-after-save-font-hook nil
   "Hook run after `verilog-save-font-mods' restores highlighting."
   :group 'verilog-mode-auto
+  :version "24.3"
   :type 'hook)
 
 (defvar verilog-imenu-generic-expression
index 52757b9..6ad7d3b 100644 (file)
@@ -483,6 +483,7 @@ with other user Makefiles."
   :type '(list (string :tag "Compile entire design")
               (string :tag "Clean entire design  ")
               (string :tag "Create design library"))
+  :version "24.3"
   :group 'vhdl-compile)
 
 (defcustom vhdl-makefile-generation-hook nil
@@ -772,6 +773,7 @@ index, the record field or array index is included with the record name in
 the sensitivity list (e.g. \"in1(0)\", \"in2.f0\").
 Otherwise, only the record name is included (e.g. \"in1\", \"in2\")."
   :type 'boolean
+  :version "24.3"
   :group 'vhdl-style)
 
 (defgroup vhdl-naming nil
@@ -1849,6 +1851,7 @@ Otherwise, comment lines are indented like the preceding code line.
 Indenting comment lines like the following code line gives nicer indentation
 when comments precede the code that they refer to."
   :type 'boolean
+  :version "24.3"
   :group 'vhdl-misc)
 
 (defcustom vhdl-word-completion-case-sensitive nil
index fb35a26..7c2d933 100644 (file)
@@ -382,6 +382,7 @@ START and END are buffer positions indicating what to append."
      register (cond ((not reg) text)
                     ((stringp reg) (concat reg separator text))
                     (t (error "Register does not contain text")))))
+  (setq deactivate-mark t)
   (cond (delete-flag
         (delete-region start end))
        ((called-interactively-p 'interactive)
@@ -400,6 +401,7 @@ START and END are buffer positions indicating what to prepend."
      register (cond ((not reg) text)
                     ((stringp reg) (concat text separator reg))
                     (t (error "Register does not contain text")))))
+  (setq deactivate-mark t)
   (cond (delete-flag
         (delete-region start end))
        ((called-interactively-p 'interactive)
index 62a8528..9a3a760 100644 (file)
@@ -212,13 +212,14 @@ static char * stroke_xpm[] = {
   :link '(emacs-commentary-link "strokes")
   :group 'mouse)
 
+(define-obsolete-variable-alias 'strokes-modeline-string 'strokes-lighter
+  "24.3")
+
 (defcustom strokes-lighter " Strokes"
   "Mode line identifier for Strokes mode."
   :type 'string
   :group 'strokes)
 
-(define-obsolete-variable-alias 'strokes-modeline-string 'strokes-lighter "24.3")
-
 (defcustom strokes-character ?@
   "Character used when drawing strokes in the strokes buffer.
 \(The default is `@', which works well.\)"
index 72bedc6..e438a86 100644 (file)
@@ -2143,6 +2143,13 @@ any other non-digit terminates the character code and is then used as input."))
       (setq first nil))
     code))
 
+(defconst read-passwd-map
+  (let ((map (make-sparse-keymap)))
+    (set-keymap-parent map minibuffer-local-map)
+    (define-key map "\C-u" #'delete-minibuffer-contents) ;bug#12570
+    map)
+  "Keymap used while reading passwords.")
+
 (defun read-passwd (prompt &optional confirm default)
   "Read a password, prompting with PROMPT, and return it.
 If optional CONFIRM is non-nil, read the password twice to make sure.
@@ -2180,18 +2187,11 @@ by doing (clear-string STRING)."
             (setq minibuf (current-buffer))
             ;; Turn off electricity.
             (set (make-local-variable 'post-self-insert-hook) nil)
+            (use-local-map read-passwd-map)
             (add-hook 'after-change-functions hide-chars-fun nil 'local))
         (unwind-protect
-            (let ((enable-recursive-minibuffers t)
-                 (map minibuffer-local-map)
-                 result)
-             (define-key map "\C-u"    ; bug#12570
-               (lambda () (interactive) (delete-minibuffer-contents)))
-             (setq result
-                   ;; t = no history.
-                   (read-from-minibuffer prompt nil map nil t default))
-             (if (and (equal "" result) default) default
-               result))
+            (let ((enable-recursive-minibuffers t))
+              (read-string prompt nil t default)) ; t = "no history"
           (when (buffer-live-p minibuf)
             (with-current-buffer minibuf
               ;; Not sure why but it seems that there might be cases where the
index df3d729..2c1fc97 100644 (file)
@@ -968,6 +968,7 @@ the macro type is being prompted for.  (See also
 `reftex-ref-macro-prompt'.)  The keys, represented as characters,
 have to be unique."
   :group 'reftex-referencing-labels
+  :version "24.3"
   :type '(alist :key-type (string :tag "Style name")
                :value-type (group (choice :tag "Package"
                                           (const :tag "Any package" t)
@@ -979,6 +980,7 @@ have to be unique."
 (defcustom reftex-ref-macro-prompt t
   "If non-nil, `reftex-reference' prompts for the reference macro."
   :group 'reftex-referencing-labels
+  :version "24.3"
   :type 'boolean)
 
 (defcustom reftex-vref-is-default nil
@@ -1014,6 +1016,7 @@ can be cycled in the buffer for selecting a label.  The entries
 in the list have to match the respective reference style names
 used in the variable `reftex-ref-style-alist'."
   :group 'reftex-referencing-labels
+  :version "24.3"
   :type `(set ,@(mapcar (lambda (x) (list 'const (car x)))
                        reftex-ref-style-alist)))
 
@@ -1257,17 +1260,20 @@ should return the string to insert into the buffer."
 (defcustom reftex-cite-key-separator ","
   "String to be used for separating several keys in a \\cite macro."
   :group 'reftex-citation-support
+  :version "24.3"
   :type 'string)
 
 (defcustom reftex-create-bibtex-header nil
   "Header to insert in BibTeX files generated by RefTeX."
   :group 'reftex-citation-support
-  :type 'string)
+  :version "24.3"
+  :type '(choice (const :tag "No header" nil) string))
 
 (defcustom reftex-create-bibtex-footer nil
   "Footer to insert in BibTeX files generated by RefTeX."
   :group 'reftex-citation-support
-  :type 'string)
+  :version "24.3"
+  :type '(choice (const :tag "No footer" nil) string))
 
 ;; Index Support Configuration
 
index 869da63..f2c74df 100644 (file)
@@ -218,7 +218,7 @@ and before TAIL-RE and DELIM-RE in VAR or DEFAULT for no match."
 ;; Use CVSHeader to really get information from CVS and not other version
 ;; control systems.
 (defconst rst-cvs-header
-  "$CVSHeader: sm/rst_el/rst.el,v 1.327.2.2 2012-09-23 14:44:25 stefan Exp $")
+  "$CVSHeader: sm/rst_el/rst.el,v 1.327.2.5 2012-10-07 12:44:34 stefan Exp $")
 (defconst rst-cvs-rev
   (rst-extract-version "\\$" "CVSHeader: \\S + " "[0-9]+\\(?:\\.[0-9]+\\)+"
                       " .*" rst-cvs-header "0.0")
@@ -247,7 +247,7 @@ SVN revision is the upstream (docutils) revision.")
   "Official version of the package.")
 (defconst rst-official-cvs-rev
   (rst-extract-version "[%$]" "Revision: " "[0-9]+\\(?:\\.[0-9]+\\)+" " "
-                      "$Revision: 1.327.2.2 $")
+                      "$Revision: 1.327.2.5 $")
   "CVS revision of this file in the official version.")
 
 (defconst rst-version
@@ -967,7 +967,7 @@ for modes derived from Text mode, like Mail mode."
   :version "21.1")
 
 (define-obsolete-variable-alias
-  'rst-preferred-decorations 'rst-preferred-adornments "1.0.0")
+  'rst-preferred-decorations 'rst-preferred-adornments "rst 1.0.0")
 (defcustom rst-preferred-adornments '((?= over-and-under 1)
                                      (?= simple 0)
                                      (?- simple 0)
@@ -2835,7 +2835,7 @@ here."
   :package-version '(rst . "1.1.0"))
 
 (define-obsolete-variable-alias
-  'rst-shift-basic-offset 'rst-indent-width "1.0.0")
+  'rst-shift-basic-offset 'rst-indent-width "rst 1.0.0")
 (defcustom rst-indent-width 2
   "Indentation when there is no more indentation point given."
   :group 'rst-indent
@@ -2845,24 +2845,28 @@ here."
 (defcustom rst-indent-field 3
   "Indentation for first line after a field or 0 to always indent for content."
   :group 'rst-indent
+  :package-version '(rst . "1.1.0")
   :type '(integer))
 (rst-testcover-defcustom)
 
 (defcustom rst-indent-literal-normal 3
   "Default indentation for literal block after a markup on an own line."
   :group 'rst-indent
+  :package-version '(rst . "1.1.0")
   :type '(integer))
 (rst-testcover-defcustom)
 
 (defcustom rst-indent-literal-minimized 2
   "Default indentation for literal block after a minimized markup."
   :group 'rst-indent
+  :package-version '(rst . "1.1.0")
   :type '(integer))
 (rst-testcover-defcustom)
 
 (defcustom rst-indent-comment 3
   "Default indentation for first line of a comment."
   :group 'rst-indent
+  :package-version '(rst . "1.1.0")
   :type '(integer))
 (rst-testcover-defcustom)
 
index 956e78e..492b966 100644 (file)
@@ -1,3 +1,65 @@
+2012-10-07  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (ns_dumpglyphs_image): Only draw slize of image (Bug#12506).
+
+       * nsterm.m (ns_update_auto_hide_menu_bar): Remove defintion of
+       MAC_OS_X_VERSION_10_6.
+       (syms_of_nsterm): Remove comment about Panther and above for ns-antialias-text.
+       * nsterm.h (MAC_OS_X_VERSION_10_3, onTiger): Remove.
+       (EmacsApp): Remove check for >= MAC_OS_X_VERSION_10_4.
+       (struct nsfont_info): Remove check for >= MAC_OS_X_VERSION_10_3.
+
+       * nsselect.m (ns_string_from_pasteboard): Remove check for >=
+       MAC_OS_X_VERSION_10_4.
+
+       * nsmenu.m (fillWithWidgetValue:): Remove code for < MAC_OS_X_VERSION_10_2.
+
+       * nsimage.m (setPixmapData, getPixelAtX, setAlphaAtX): Remove onTiger.
+
+       * nsfns.m (Fns_list_services): Remove comment and check for OSX < 10.4.
+       (ns_do_applescript): Remove check for >= MAC_OS_X_VERSION_10_4.
+
+       * nsterm.m (ns_in_resize): Remove (Bug#12479).
+       (ns_resize_handle_rect, mouseDown, mouseUp, mouseDragged): Remove.
+       (ns_clear_frame, sendEvent, windowDidResize, drawRect:): Remove ns_in_resize
+       check.
+       (ns_clear_frame_area): Remove resize handle code.
+
+       * nsfns.m (ns_in_resize): Remove.
+       (x_set_icon_name, ns_set_name, ns_set_name_as_filename):  Remove ns_in_resize
+       check.
+
+2012-10-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve sys_siglist detection.
+       * sysdep.c (sys_siglist, init_signals): Use _sys_siglist if it's
+       defined as a macro, as is done in Solaris.
+       (sys_siglist_entries): New macro.
+       (save_strsignal): Use it.
+       * syssignal.h (safe_strsignal): Now ATTRIBUTE_CONST, to pacify
+       GCC 4.7.2 on Fedora 17 with the fixed sys_siglist detection.
+
+2012-10-06  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfns.m (Fx_create_frame): Call x_default_parameter with
+       fullscreen/Fullscreen.
+
+       * nsterm.h (EmacsView): Rename tbar_height to tibar_height.
+       tobar_height is new.
+
+       * nsterm.m (x_make_frame_visible): Check for fullscreen.
+       (ns_fullscreen_hook): Activate old style fullscreen with a timer.
+       (ns_term_init): Set activateIgnoringOtherApps if old style fullscreen.
+       (windowDidResize:): Check for correct window if old style fullscreen.
+       Capitalize word in comment.  Remove incorrect comment.
+       (initFrameFromEmacs:): tbar_height renamed tibar_height.
+       (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix
+       error in drawing background.
+       (toggleFullScreen:): Remove comment. Rearrange calls.
+       Set toolbar values to zero, save old height in tobar_height.
+       Restore tool bar height when leaving fullscreen.
+       (canBecomeMainWindow): New function.
+
 2012-10-06  Paul Eggert  <eggert@cs.ucla.edu>
 
        * keyboard.c (read_char): Remove unnecessary 'volatile's and label.
index 1efadf0..7a22ac5 100644 (file)
@@ -93,8 +93,6 @@ EmacsTooltip *ns_tooltip;
 /* Need forward declaration here to preserve organizational integrity of file */
 Lisp_Object Fx_open_connection (Lisp_Object, Lisp_Object, Lisp_Object);
 
-extern BOOL ns_in_resize;
-
 /* Static variables to handle applescript execution.  */
 static Lisp_Object as_script, *as_result;
 static int as_status;
@@ -433,9 +431,6 @@ x_set_icon_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
   NSView *view = FRAME_NS_VIEW (f);
   NSTRACE (x_set_icon_name);
 
-  if (ns_in_resize)
-    return;
-
   /* see if it's changed */
   if (STRINGP (arg))
     {
@@ -511,9 +506,6 @@ ns_set_name (struct frame *f, Lisp_Object name, int explicit)
 {
   NSTRACE (ns_set_name);
 
-  if (ns_in_resize)
-    return;
-
   /* Make sure that requests from lisp code override requests from
      Emacs redisplay code.  */
   if (explicit)
@@ -612,7 +604,7 @@ ns_set_name_as_filename (struct frame *f)
   NSString *str;
   NSTRACE (ns_set_name_as_filename);
 
-  if (f->explicit_name || ! NILP (f->title) || ns_in_resize)
+  if (f->explicit_name || ! NILP (f->title))
     return;
 
   block_input ();
@@ -1346,6 +1338,8 @@ This function is an internal primitive--use `make-frame' instead.  */)
                        RES_TYPE_NUMBER);
   x_default_parameter (f, parms, Qalpha, Qnil,
                        "alpha", "Alpha", RES_TYPE_NUMBER);
+  x_default_parameter (f, parms, Qfullscreen, Qnil,
+                       "fullscreen", "Fullscreen", RES_TYPE_SYMBOL);
 
   width = FRAME_COLS (f);
   height = FRAME_LINES (f);
@@ -1955,32 +1949,29 @@ DEFUN ("ns-list-services", Fns_list_services, Sns_list_services, 0, 0, 0,
 
   check_ns ();
   svcs = [[NSMenu alloc] initWithTitle: @"Services"];
-  [NSApp setServicesMenu: svcs];  /* this and next rebuild on <10.4 */
+  [NSApp setServicesMenu: svcs];
   [NSApp registerServicesMenuSendTypes: ns_send_types
                            returnTypes: ns_return_types];
 
 /* On Tiger, services menu updating was made lazier (waits for user to
    actually click on the menu), so we have to force things along: */
 #ifdef NS_IMPL_COCOA
-  if (NSAppKitVersionNumber >= 744.0)
+  delegate = [svcs delegate];
+  if (delegate != nil)
     {
-      delegate = [svcs delegate];
-      if (delegate != nil)
+      if ([delegate respondsToSelector: @selector (menuNeedsUpdate:)])
+        [delegate menuNeedsUpdate: svcs];
+      if ([delegate respondsToSelector:
+                       @selector (menu:updateItem:atIndex:shouldCancel:)])
         {
-          if ([delegate respondsToSelector: @selector (menuNeedsUpdate:)])
-              [delegate menuNeedsUpdate: svcs];
-          if ([delegate respondsToSelector:
-                            @selector (menu:updateItem:atIndex:shouldCancel:)])
-            {
-              int i, len = [delegate numberOfItemsInMenu: svcs];
-              for (i =0; i<len; i++)
-                  [svcs addItemWithTitle: @"" action: NULL keyEquivalent: @""];
-              for (i =0; i<len; i++)
-                  if (![delegate menu: svcs
-                           updateItem: (NSMenuItem *)[svcs itemAtIndex: i]
-                              atIndex: i shouldCancel: NO])
-                    break;
-            }
+          int i, len = [delegate numberOfItemsInMenu: svcs];
+          for (i =0; i<len; i++)
+            [svcs addItemWithTitle: @"" action: NULL keyEquivalent: @""];
+          for (i =0; i<len; i++)
+            if (![delegate menu: svcs
+                     updateItem: (NSMenuItem *)[svcs itemAtIndex: i]
+                        atIndex: i shouldCancel: NO])
+              break;
         }
     }
 #endif
@@ -2081,7 +2072,7 @@ ns_do_applescript (Lisp_Object script, Lisp_Object *result)
          *result = Qt;
          // script returned an AppleScript result
          if ((typeUnicodeText == [returnDescriptor descriptorType]) ||
-#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+#if defined (NS_IMPL_COCOA)
              (typeUTF16ExternalRepresentation
               == [returnDescriptor descriptorType]) ||
 #endif
index 370cf83..884c076 100644 (file)
@@ -403,7 +403,6 @@ static EmacsImage *ImageList = nil;
       if ([rep respondsToSelector: @selector (getBitmapDataPlanes:)])
         {
           bmRep = (NSBitmapImageRep *) rep;
-          onTiger = [bmRep respondsToSelector: @selector (colorAtX:y:)];
 
           if ([bmRep numberOfPlanes] >= 3)
               [bmRep getBitmapDataPlanes: pixmapData];
@@ -435,7 +434,7 @@ static EmacsImage *ImageList = nil;
        | (pixmapData[0][loc] << 16) | (pixmapData[1][loc] << 8)
        | (pixmapData[2][loc]);
     }
-  else if (onTiger)
+  else
     {
       NSColor *color = [bmRep colorAtX: x y: y];
       CGFloat r, g, b, a;
@@ -445,7 +444,6 @@ static EmacsImage *ImageList = nil;
         | ((int)(b * 255.0));
 
     }
-  return 0;
 }
 
 - (void) setPixelAtX: (int)x Y: (int)y toRed: (unsigned char)r
@@ -463,7 +461,7 @@ static EmacsImage *ImageList = nil;
       pixmapData[2][loc] = b;
       pixmapData[3][loc] = a;
     }
-  else if (onTiger)
+  else
     {
       [bmRep setColor:
                [NSColor colorWithCalibratedRed: (r/255.0) green: (g/255.0)
@@ -483,7 +481,7 @@ static EmacsImage *ImageList = nil;
 
       pixmapData[3][loc] = a;
     }
-  else if (onTiger)
+  else
     {
       NSColor *color = [bmRep colorAtX: x y: y];
       color = [color colorWithAlphaComponent: (a / 255.0)];
index b60cc00..9af732c 100644 (file)
@@ -722,11 +722,6 @@ extern NSString *NSMenuDidBeginTrackingNotification;
 #ifdef NS_IMPL_GNUSTEP
   if ([[self window] isVisible])
     [self sizeToFit];
-#else
-#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_2
-  if ([self supermenu] == nil)
-    [self sizeToFit];
-#endif
 #endif
 }
 
index 95bc1a9..c0c412c 100644 (file)
@@ -295,7 +295,7 @@ ns_string_from_pasteboard (id pb)
       utfStr = [mstr UTF8String];
       length = [mstr lengthOfBytesUsingEncoding: NSUTF8StringEncoding];
 
-#if ! defined (NS_IMPL_COCOA) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_4
+#if ! defined (NS_IMPL_COCOA)
       if (!utfStr)
         {
           utfStr = [mstr cString];
@@ -306,7 +306,7 @@ ns_string_from_pasteboard (id pb)
   NS_HANDLER
     {
       message1 ("ns_string_from_pasteboard: UTF8String failed\n");
-#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+#if defined (NS_IMPL_COCOA)
       utfStr = "Conversion failed";
 #else
       utfStr = [str lossyCString];
index f06e0cb..958d1ce 100644 (file)
@@ -26,9 +26,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #ifdef HAVE_NS
 
 #ifdef NS_IMPL_COCOA
-#ifndef MAC_OS_X_VERSION_10_3
-#define MAC_OS_X_VERSION_10_3 1030
-#endif
 #ifndef MAC_OS_X_VERSION_10_4
 #define MAC_OS_X_VERSION_10_4 1040
 #endif
@@ -86,7 +83,8 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    BOOL windowClosing;
    NSString *workingText;
    BOOL processingCompose;
-   int fs_state, fs_before_fs, next_maximized, tbar_height, bwidth;
+   int fs_state, fs_before_fs, next_maximized;
+   int tibar_height, tobar_height, bwidth;
    int maximized_width, maximized_height;
    NSWindow *nonfs_window;
 @public
@@ -285,7 +283,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
   int refCount;
   NSBitmapImageRep *bmRep; /* used for accessing pixel data */
   unsigned char *pixmapData[5]; /* shortcut to access pixel data */
-  BOOL onTiger;
   NSColor *stippleMask;
 }
 + allocInitFromFile: (Lisp_Object)file;
@@ -354,7 +351,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* ==========================================================================
 
-   Rendering on Panther and above
+   Rendering
 
    ========================================================================== */
 
@@ -379,7 +376,7 @@ extern NSString *ns_app_name;
 extern EmacsMenu *mainMenu, *svcsMenu, *dockMenu;
 
 /* Apple removed the declaration, but kept the implementation */
-#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+#if defined (NS_IMPL_COCOA)
 @interface NSApplication (EmacsApp)
 - (void)setAppleMenu: (NSMenu *)menu;
 @end
@@ -482,10 +479,9 @@ struct nsfont_info
   float size;
 #ifdef __OBJC__
   NSFont *nsfont;
-  /* cgfont and synthItal are used only on OS X 10.3+ */
-#if defined (NS_IMPL_COCOA) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3)
+#if defined (NS_IMPL_COCOA)
   CGFontRef cgfont;
-#else /* GNUstep or OS X < 10.3 */
+#else /* GNUstep */
   void *cgfont;
 #endif
 #else /* ! OBJC */
index 2df0e1a..6b739be 100644 (file)
@@ -183,7 +183,6 @@ static int ns_window_num = 0;
 static NSRect uRect;
 #endif
 static BOOL gsaved = NO;
-BOOL ns_in_resize = NO;
 static BOOL ns_fake_keydown = NO;
 int ns_tmp_flags; /* FIXME */
 struct nsfont_info *ns_tmp_font; /* FIXME */
@@ -493,17 +492,6 @@ ns_release_autorelease_pool (void *pool)
 
    ========================================================================== */
 
-static NSRect
-ns_resize_handle_rect (NSWindow *window)
-{
-  NSRect r = [window frame];
-  r.origin.x = r.size.width - RESIZE_HANDLE_SIZE;
-  r.origin.y = 0;
-  r.size.width = r.size.height = RESIZE_HANDLE_SIZE;
-  return r;
-}
-
-
 //
 // Window constraining
 // -------------------
@@ -581,9 +569,6 @@ ns_menu_bar_should_be_hidden (void)
 static void
 ns_update_auto_hide_menu_bar (void)
 {
-#ifndef MAC_OS_X_VERSION_10_6
-#define MAC_OS_X_VERSION_10_6 1060
-#endif
 #ifdef NS_IMPL_COCOA
 #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
   block_input ();
@@ -1068,8 +1053,23 @@ x_make_frame_visible (struct frame *f)
      if this ends up the case again, comment this out again. */
   if (!FRAME_VISIBLE_P (f))
     {
+      EmacsView *view = (EmacsView *)FRAME_NS_VIEW (f);
       f->async_visible = 1;
       ns_raise_frame (f);
+
+#ifdef NEW_STYLE_FS
+      /* Making a new frame from a fullscreen frame will make the new frame
+         fullscreen also.  So skip handleFS as this will print an error.  */
+      if (f->want_fullscreen == FULLSCREEN_BOTH
+          && ([[view window] styleMask] & NSFullScreenWindowMask) != 0)
+        return;
+#endif
+      if (f->want_fullscreen != FULLSCREEN_NONE)
+        {
+          block_input ();
+          [view handleFS];
+          unblock_input ();
+        }
     }
 }
 
@@ -1317,6 +1317,18 @@ ns_fullscreen_hook (FRAME_PTR f)
   EmacsView *view = (EmacsView *)FRAME_NS_VIEW (f);
   
   if (! f->async_visible) return;
+#ifndef NEW_STYLE_FS
+  if (f->want_fullscreen == FULLSCREEN_BOTH)
+    {
+      /* Old style fs don't initiate correctly if created from
+         init/default-frame alist, so use a timer (not nice...).
+      */
+      [NSTimer scheduledTimerWithTimeInterval: 0.5 target: view
+                                     selector: @selector (handleFS)
+                                     userInfo: nil repeats: NO];
+      return;
+    }
+#endif
 
   block_input ();
   [view handleFS];
@@ -1956,8 +1968,6 @@ ns_clear_frame (struct frame *f)
   NSRect r;
 
   NSTRACE (ns_clear_frame);
-  if (ns_in_resize)
-    return;
 
  /* comes on initial frame because we have
     after-make-frame-functions = select-frame */
@@ -1977,10 +1987,6 @@ ns_clear_frame (struct frame *f)
   NSRectFill (r);
   ns_unfocus (f);
 
-#ifdef NS_IMPL_COCOA
-  [[view window] display];  /* redraw resize handle */
-#endif
-
   /* as of 2006/11 or so this is now needed */
   ns_redraw_scroll_bars (f);
   unblock_input ();
@@ -2006,35 +2012,8 @@ ns_clear_frame_area (struct frame *f, int x, int y, int width, int height)
   ns_focus (f, &r, 1);
   [ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), f) set];
 
-#ifdef NS_IMPL_COCOA
-  {
-    /* clip out the resize handle */
-    NSWindow *window = [FRAME_NS_VIEW (f) window];
-    NSRect ir
-      = [view convertRect: ns_resize_handle_rect (window) fromView: nil];
-
-    ir = NSIntersectionRect (r, ir);
-    if (NSIsEmptyRect (ir))
-      {
-#endif
-
   NSRectFill (r);
 
-#ifdef NS_IMPL_COCOA
-      }
-    else
-      {
-        NSRect r1 = r, r2 = r; /* upper and lower non-intersecting */
-        r1.size.height -= ir.size.height;
-        r2.origin.y += r1.size.height;
-        r2.size.width -= ir.size.width;
-        r2.size.height = ir.size.height;
-        NSRectFill (r1);
-        NSRectFill (r2);
-      }
-  }
-#endif
-
   ns_unfocus (f);
   return;
 }
@@ -2996,8 +2975,10 @@ ns_dumpglyphs_image (struct glyph_string *s, NSRect r)
     {
 #if !defined (NS_IMPL_COCOA) || MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
       NSRect dr = NSMakeRect (x, y, s->slice.width, s->slice.height);
+      NSRect ir = NSMakeRect (s->slice.x, s->slice.y,
+                              s->slice.width, s->slice.height);
       [img drawInRect: dr
-             fromRect: NSZeroRect
+             fromRect: ir
              operation: NSCompositeSourceOver
               fraction: 1.0
            respectFlipped: YES
@@ -4210,6 +4191,11 @@ ns_term_init (Lisp_Object display_name)
                             NSColorPboardType,
                             NSFontPboardType, nil] retain];
 
+#ifndef NEW_STYLE_FS
+  /* If fullscreen is in init/default-frame-alist, focus isn't set
+     right for fullscreen windows, so set this.  */
+  [NSApp activateIgnoringOtherApps:YES];
+#endif
 
   [NSApp run];
   ns_do_open_file = YES;
@@ -4282,34 +4268,6 @@ ns_term_shutdown (int sig)
       return;
     }
 
-#ifdef NS_IMPL_COCOA
-  /* pass mouse down in resize handle and subsequent drags directly to
-     EmacsWindow so we can generate continuous redisplays */
-  if (ns_in_resize)
-    {
-      if (type == NSLeftMouseDragged)
-        {
-          [window mouseDragged: theEvent];
-          return;
-        }
-      else if (type == NSLeftMouseUp)
-        {
-          [window mouseUp: theEvent];
-          return;
-        }
-    }
-  else if (type == NSLeftMouseDown)
-    {
-      NSRect r = ns_resize_handle_rect (window);
-      if (NSPointInRect ([theEvent locationInWindow], r))
-        {
-          ns_in_resize = YES;
-          [window mouseDown: theEvent];
-          return;
-        }
-    }
-#endif
-
   if (type == NSApplicationDefined)
     {
       /* Events posted by ns_send_appdefined interrupt the run loop here.
@@ -5505,10 +5463,17 @@ not_in_argv (NSString *arg)
 
 - (void)windowDidResize: (NSNotification *)notification
 {
+
+#if !defined (NEW_STYLE_FS) && ! defined (NS_IMPL_GNUSTEP)
+  NSWindow *theWindow = [notification object];
+  /* We can get notification on the non-FS window when in fullscreen mode.  */
+  if ([self window] != theWindow) return;
+#endif
+
 #ifdef NS_IMPL_GNUSTEP
   NSWindow *theWindow = [notification object];
 
-   /* in GNUstep, at least currently, it's possible to get a didResize
+   /* In GNUstep, at least currently, it's possible to get a didResize
       without getting a willResize.. therefore we need to act as if we got
       the willResize now */
   NSSize sz = [theWindow frame].size;
@@ -5526,20 +5491,10 @@ not_in_argv (NSString *arg)
     }
 #endif /* NS_IMPL_COCOA */
 
-  /* Avoid loop under GNUstep due to call at beginning of this function.
-     (x_set_window_size causes a resize which causes
-     a "windowDidResize" which calls x_set_window_size).  */
-#ifndef NS_IMPL_GNUSTEP
   if (cols > 0 && rows > 0)
     {
-      if (ns_in_resize)
-        x_set_window_size (emacsframe, 0, cols, rows);
-      else
-        {
-          [self updateFrameSize: YES];
-        }
+      [self updateFrameSize: YES];
     }
-#endif
 
   ns_send_appdefined (-1);
 }
@@ -5661,7 +5616,7 @@ not_in_argv (NSString *arg)
 
   wr = [win frame];
   bwidth = f->border_width = wr.size.width - r.size.width;
-  tbar_height = FRAME_NS_TITLEBAR_HEIGHT (f) = wr.size.height - r.size.height;
+  tibar_height = FRAME_NS_TITLEBAR_HEIGHT (f) = wr.size.height - r.size.height;
 
   [win setAcceptsMouseMovedEvents: YES];
   [win setDelegate: self];
@@ -5870,8 +5825,16 @@ not_in_argv (NSString *arg)
 - (void)windowDidEnterFullScreen:(NSNotification *)notification
 {
   [self setFSValue: FULLSCREEN_BOTH];
-#ifndef NEW_STYLE_FS
+#ifdef NEW_STYLE_FS
+  // Fix bad background.
+  if ([toolbar isVisible])
+    {
+      [toolbar setVisible:NO];
+      [toolbar setVisible:YES];
+    }
+#else
   [self windowDidBecomeKey:notification];
+  [nonfs_window orderOut:self];
 #endif
 }
 
@@ -5891,11 +5854,6 @@ not_in_argv (NSString *arg)
 
 - (void)toggleFullScreen: (id)sender
 {
-  /* Bugs remain:
-     1) Having fullscreen in initial/default frame alist.
-     2) Fullscreen in default frame alist only applied to first frame.
-  */
-
 #ifdef NEW_STYLE_FS
   [[self window] toggleFullScreen:sender];
 #else
@@ -5904,7 +5862,7 @@ not_in_argv (NSString *arg)
                          isEqual:[[NSScreen screens] objectAtIndex:0]];
   struct frame *f = emacsframe;
   NSSize sz;
-  NSRect r;
+  NSRect r, wr = [w frame];
   NSColor *col = ns_lookup_indexed_color (NS_FACE_BACKGROUND
                                           (FRAME_DEFAULT_FACE (f)),
                                           f);
@@ -5930,7 +5888,7 @@ not_in_argv (NSString *arg)
         }
 
       fw = [[EmacsFSWindow alloc]
-                       initWithContentRect:[w contentRectForFrameRect:[w frame]]
+                       initWithContentRect:[w contentRectForFrameRect:wr]
                                  styleMask:NSBorderlessWindowMask
                                    backing:NSBackingStoreBuffered
                                      defer:YES
@@ -5938,9 +5896,7 @@ not_in_argv (NSString *arg)
 
       [fw setContentView:[w contentView]];
       [fw setTitle:[w title]];
-      [fw makeKeyAndOrderFront:NSApp];
       [fw setDelegate:self];
-      [fw makeFirstResponder:self];
       [fw setAcceptsMouseMovedEvents: YES];
       [fw useOptimizedDrawing: YES];
       [fw setResizeIncrements: sz];
@@ -5950,18 +5906,26 @@ not_in_argv (NSString *arg)
 
       f->border_width = 0;
       FRAME_NS_TITLEBAR_HEIGHT (f) = 0;
+      tobar_height = FRAME_TOOLBAR_HEIGHT (f);
+      FRAME_TOOLBAR_HEIGHT (f) = 0;
+      FRAME_EXTERNAL_TOOL_BAR (f) = 0;
 
       nonfs_window = w;
+
       [self windowWillEnterFullScreen:nil];
+      [fw makeKeyAndOrderFront:NSApp];
+      [fw makeFirstResponder:self];
       [w orderOut:self];
       r = [fw frameRectForContentRect:[[fw screen] frame]];
       [fw setFrame: r display:YES animate:YES];
       [self windowDidEnterFullScreen:nil];
+      [fw display];
     }
   else
     {
       fw = w;
       w = nonfs_window;
+      nonfs_window = nil;
 
       if (onFirstScreen)
         {
@@ -5980,7 +5944,10 @@ not_in_argv (NSString *arg)
         [w setOpaque: NO];
       
       f->border_width = bwidth;
-      FRAME_NS_TITLEBAR_HEIGHT (f) = tbar_height;
+      FRAME_NS_TITLEBAR_HEIGHT (f) = tibar_height;
+      FRAME_TOOLBAR_HEIGHT (f) = tobar_height;
+      if (tobar_height)
+        FRAME_EXTERNAL_TOOL_BAR (f) = 1;
 
       [self windowWillExitFullScreen:nil];
       [fw setFrame: [w frame] display:YES animate:YES];
@@ -6152,7 +6119,7 @@ not_in_argv (NSString *arg)
 
   NSTRACE (drawRect);
 
-  if (!emacsframe || !emacsframe->output_data.ns || ns_in_resize)
+  if (!emacsframe || !emacsframe->output_data.ns)
     return;
 
   ns_clear_frame_area (emacsframe, x, y, width, height);
@@ -6489,60 +6456,6 @@ not_in_argv (NSString *arg)
   return [super constrainFrameRect:frameRect toScreen:screen];
 }
 
-
-/* called only on resize clicks by special case in EmacsApp-sendEvent */
-- (void)mouseDown: (NSEvent *)theEvent
-{
-  if (ns_in_resize)
-    {
-      NSSize size = [[theEvent window] frame].size;
-      grabOffset = [theEvent locationInWindow];
-      grabOffset.x = size.width - grabOffset.x;
-    }
-  else
-    [super mouseDown: theEvent];
-}
-
-
-/* stop resizing */
-- (void)mouseUp: (NSEvent *)theEvent
-{
-  if (ns_in_resize)
-    {
-      struct frame *f = ((EmacsView *)[self delegate])->emacsframe;
-      ns_in_resize = NO;
-      ns_set_name_as_filename (f);
-      [self display];
-      ns_send_appdefined (-1);
-    }
-  else
-    [super mouseUp: theEvent];
-}
-
-
-/* send resize events */
-- (void)mouseDragged: (NSEvent *)theEvent
-{
-  if (ns_in_resize)
-    {
-      NSPoint p = [theEvent locationInWindow];
-      NSSize size, vettedSize, origSize = [self frame].size;
-
-      size.width = p.x + grabOffset.x;
-      size.height = origSize.height - p.y + grabOffset.y;
-
-      if (size.width == origSize.width && size.height == origSize.height)
-        return;
-
-      vettedSize = [[self delegate] windowWillResize: self toSize: size];
-      [[NSNotificationCenter defaultCenter]
-            postNotificationName: NSWindowDidResizeNotification
-                          object: self];
-    }
-  else
-    [super mouseDragged: theEvent];
-}
-
 @end /* EmacsWindow */
 
 
@@ -6553,6 +6466,11 @@ not_in_argv (NSString *arg)
   return YES;
 }
 
+- (BOOL)canBecomeMainWindow
+{
+  return YES;
+}
+
 @end
 
 /* ==========================================================================
@@ -7168,7 +7086,7 @@ allowing it to be used at a lower level for accented character entry.");
   ns_function_modifier = Qnone;
 
   DEFVAR_LISP ("ns-antialias-text", ns_antialias_text,
-               "Non-nil (the default) means to render text antialiased. Only has an effect on OS X Panther and above.");
+               "Non-nil (the default) means to render text antialiased.");
   ns_antialias_text = Qt;
 
   DEFVAR_LISP ("ns-confirm-quit", ns_confirm_quit,
index 74617fc..35beeaa 100644 (file)
@@ -1545,8 +1545,18 @@ deliver_thread_signal (int sig, signal_handler_t handler)
 \f
 #if !HAVE_DECL_SYS_SIGLIST
 # undef sys_siglist
-# define sys_siglist my_sys_siglist
+# ifdef _sys_siglist
+#  define sys_siglist _sys_siglist
+# else
+#  define sys_siglist my_sys_siglist
 static char const *sys_siglist[NSIG];
+# endif
+#endif
+
+#ifdef _sys_nsig
+# define sys_siglist_entries _sys_nsig
+#else
+# define sys_siglist_entries NSIG
 #endif
 
 /* Handle bus errors, invalid instruction, etc.  */
@@ -1609,7 +1619,7 @@ init_signals (bool dumping)
   main_thread = pthread_self ();
 #endif
 
-#if !HAVE_DECL_SYS_SIGLIST
+#if !HAVE_DECL_SYS_SIGLIST && !defined _sys_siglist
   if (! initialized)
     {
       sys_siglist[SIGABRT] = "Aborted";
@@ -1757,7 +1767,7 @@ init_signals (bool dumping)
       sys_siglist[SIGXFSZ] = "File size limit exceeded";
 # endif
     }
-#endif /* !HAVE_DECL_SYS_SIGLIST */
+#endif /* !HAVE_DECL_SYS_SIGLIST && !_sys_siglist */
 
   /* Don't alter signal handlers if dumping.  On some machines,
      changing signal handlers sets static data that would make signals
@@ -2285,7 +2295,7 @@ safe_strsignal (int code)
 {
   char const *signame = 0;
 
-  if (0 <= code && code < NSIG)
+  if (0 <= code && code < sys_siglist_entries)
     signame = sys_siglist[code];
   if (! signame)
     signame = "Unknown signal";
index 83ab196..2bf2f04 100644 (file)
@@ -43,7 +43,7 @@ extern sigset_t empty_mask;
 typedef void (*signal_handler_t) (int);
 
 extern void emacs_sigaction_init (struct sigaction *, signal_handler_t);
-char const *safe_strsignal (int);
+char const *safe_strsignal (int) ATTRIBUTE_CONST;
 
 #if NSIG < NSIG_MINIMUM
 # undef NSIG