Mercurial > hg > xemacs-beta
changeset 5758:a1f281776176
Merge in release commits.
author | Stephen J. Turnbull <stephen@xemacs.org> |
---|---|
date | Tue, 27 Aug 2013 01:26:29 +0900 |
parents | 92028d89cc66 (diff) 6c2aa9851f5e (current diff) |
children | 40464b048e7e |
files | CHANGES-beta ChangeLog lisp/ChangeLog man/ChangeLog src/ChangeLog |
diffstat | 28 files changed, 787 insertions(+), 599 deletions(-) [+] |
line wrap: on
line diff
--- a/CHANGES-beta Mon Jun 24 02:08:02 2013 +0900 +++ b/CHANGES-beta Tue Aug 27 01:26:29 2013 +0900 @@ -136,7 +136,7 @@ -- Improve: Refactor check for Xaw3d. -- Stephen Turnbull -- Improve: Remove unused include of process.h from Cygwin. -- Vin Shelton -- Improve: gnuclient to fall back to /tmp to search for socket. -- Aidan Kehoe --- New: Support DESTDIR. -- Jerry Jerry James +-- New: Support DESTDIR. -- Jerry James -- New: Support building texinfo.info in native builds. -- Vin Shelton Documentation
--- a/ChangeLog Mon Jun 24 02:08:02 2013 +0900 +++ b/ChangeLog Tue Aug 27 01:26:29 2013 +0900 @@ -1,3 +1,15 @@ +2013-07-28 Stephen J. Turnbull <stephen@xemacs.org> + + * configure.ac (makeinfo): + Use basic regexp. Avoid autoconf errors on empty version strings. + Report version found if insufficient. Lightly tested. + +2013-06-25 Jerry James <james@xemacs.org> + + * INSTALL: Update required makeinfo version. + * Makefile.in.in: Check for usable makeinfo before invoking submake. + * configure.ac: Try to find makeinfo >= 4.12. + 2013-06-23 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.34 "kale" is released.
--- a/INSTALL Mon Jun 24 02:08:02 2013 +0900 +++ b/INSTALL Tue Aug 27 01:26:29 2013 +0900 @@ -37,9 +37,8 @@ miscellaneous data files, and on-line documentation. XEmacs requires an ANSI C compiler, such as GCC. If you wish to build the -documentation yourself, you will need at least version 1.68 of makeinfo (GNU -texinfo-3.11). GNU Texinfo 4.2 is strongly recommended; it is necessary for -building Lisp packages, and we may move to it for the core. +documentation yourself, you will need at least version 4.12 of makeinfo (GNU +texinfo-4.12). BASIC INSTALLATION ==================
--- a/Makefile.in.in Mon Jun 24 02:08:02 2013 +0900 +++ b/Makefile.in.in Tue Aug 27 01:26:29 2013 +0900 @@ -77,6 +77,7 @@ CFLAGS=@CFLAGS@ CPPFLAGS=@CPPFLAGS@ LDFLAGS=@LDFLAGS@ +MAKEINFO=@MAKEINFO@ ## These help us choose version- and architecture-specific directories ## to install files in. @@ -738,7 +739,7 @@ xargs etags -a -l none -r "/^(def\\(var\\|un\\|alias\\|const\\|macro\\|subst\\|struct\\|face\\|group\\|custom\\|ine-\\(function\\|compiler-macro\\|[a-z-]+alias\\)\\)[ ]+'?\\([^ ]+\\)/\\3/" info: FRC.info - cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@ + if test -n "$(MAKEINFO)"; then cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@; fi dvi: cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
--- a/configure Mon Jun 24 02:08:02 2013 +0900 +++ b/configure Tue Aug 27 01:26:29 2013 +0900 @@ -674,6 +674,7 @@ sound_cflags native_sound_lib RECURSIVE_MAKE_ARGS +MAKEINFO ld_libs_all ld_libs_window_system ld_libs_general @@ -10559,6 +10560,31 @@ test -n "$YACC" || YACC="yacc" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for makeinfo >= 4.12" >&5 +$as_echo_n "checking for makeinfo >= 4.12... " >&6; } +MAKEINFO= +for prog in `which -a makeinfo`; do + mi_verstr=`$prog --version | sed -n '1s/^.* \([0-9][0-9]*\.[0-9][0-9]*\)$/\1/p'` + mi_major=`echo $mi_verstr | cut -d. -f1` + mi_minor=`echo $mi_verstr | cut -d. -f2` + if test "$mi_major" -gt 4 || ( test "$mi_major" -eq 4 && test "$mi_minor" -gt 11 ); + then + MAKEINFO=$prog + break + fi +done +if test -z $MAKEINFO; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Found Makeinfo $mi_verstr. 4.12 or later required." >&5 +$as_echo "$as_me: WARNING: Found Makeinfo $mi_verstr. 4.12 or later required." >&2;} +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +ac_config_files="$ac_config_files man/Makefile" + + for ac_header in a.out.h elf.h cygwin/version.h fcntl.h libgen.h locale.h wchar.h mach/mach.h sys/param.h sys/pstat.h sys/resource.h sys/time.h sys/timeb.h sys/times.h sys/un.h sys/vlimit.h ulimit.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` @@ -21363,7 +21389,8 @@ -RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'" + +RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)' MAKEINFO='\$(MAKEINFO)'" native_sound_lib=$with_native_sound_lib @@ -22579,6 +22606,7 @@ for ac_config_target in $ac_config_targets do case $ac_config_target in + "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; "lwlib/config.h") CONFIG_HEADERS="$CONFIG_HEADERS lwlib/config.h" ;; "$file") CONFIG_FILES="$CONFIG_FILES $file" ;;
--- a/configure.ac Mon Jun 24 02:08:02 2013 +0900 +++ b/configure.ac Tue Aug 27 01:26:29 2013 +0900 @@ -2586,6 +2586,27 @@ AC_PROG_INSTALL AC_PROG_YACC +dnl We need a recent version of makeinfo +AC_MSG_CHECKING([for makeinfo >= 4.12]) +MAKEINFO= +for prog in `which -a makeinfo`; do + mi_verstr=[`$prog --version | sed -n '1s/^.* \([0-9][0-9]*\.[0-9][0-9]*\)$/\1/p'`] + mi_major=`echo $mi_verstr | cut -d. -f1` + mi_minor=`echo $mi_verstr | cut -d. -f2` + if test "$mi_major" -gt 4 || ( test "$mi_major" -eq 4 && test "$mi_minor" -gt 11 ); + then + MAKEINFO=$prog + break + fi +done +if test -z $MAKEINFO; then + AC_MSG_RESULT([no]) + AC_MSG_WARN([Found Makeinfo $mi_verstr. 4.12 or later required.]) +else + AC_MSG_RESULT([yes]) +fi +AC_CONFIG_FILES([man/Makefile]) + dnl checks for header files AC_CHECK_HEADERS(dnl a.out.h dnl @@ -5558,7 +5579,8 @@ AC_SUBST(CFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(LDFLAGS) -RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'" +AC_SUBST(MAKEINFO) +RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)' MAKEINFO='\$(MAKEINFO)'" AC_SUBST(RECURSIVE_MAKE_ARGS) AC_SUBST(native_sound_lib,$with_native_sound_lib)
--- a/lisp/ChangeLog Mon Jun 24 02:08:02 2013 +0900 +++ b/lisp/ChangeLog Tue Aug 27 01:26:29 2013 +0900 @@ -1,3 +1,51 @@ +2013-08-21 Aidan Kehoe <kehoea@parhasard.net> + + * startup.el (normal-top-level): + Use #'call-with-condition-handler here when calling + #'command-line, giving better backtraces on error. + Be careful about the current buffer in HANDLER. + +2013-08-21 Aidan Kehoe <kehoea@parhasard.net> + + * bytecomp.el: + * bytecomp.el (gensym): + * bytecomp.el (byte-compile-gensym): New. + Warn that gensym called in a for-effect context is unlikely to be + useful. + Warn about non-string non-integer ARGs, this is incorrect. + Am not changing the function to error with same, most code that + makes the mistake has no problems, which is why it has survived + so long. + * window-xemacs.el (save-window-excursion/mapping): + * window.el (save-window-excursion): + Call #'gensym with a string, not a symbol. + +2013-08-05 Aidan Kehoe <kehoea@parhasard.net> + + * isearch-mode.el (isearch-pre-command-hook): + If this function is called and (this-command-keys) contains + misc-user events, #'key-binding throws an error. + Eddie Corns and Alex Belits describe this happening in tracker + issue 336, and we can avoid this by catching the error and + handling the misc-user event in the same way that #'dispatch-event + does. + I haven't reproduced the actual error they describe, and welcome + testing to make sure it's gone. + Thank you Eddie, thank you Alex! + +2013-08-05 Aidan Kehoe <kehoea@parhasard.net> + + * behavior.el: + (override-behavior): + Correct some spelling and formatting here, thank you Steven + Mitchell in tracker issue 826. + +2013-08-05 Aidan Kehoe <kehoea@parhasard.net> + + * mule/latin.el: + Add a Latin-script Azeri language environment, with UTF-8 as the + encoding and case information for schwa. + 2013-06-23 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.34 "kale" is released. @@ -14,6 +62,26 @@ * paragraphs.el (sentence-end): Use octal, not Unicode, escapes. * (sentence-end-base): Use non-ASCII only in Mule. +2013-07-10 Aidan Kehoe <kehoea@parhasard.net> + + * minibuf.el (get-user-response): + * cmdloop.el (y-or-n-p-minibuf): + No need to call #'events-to-keys in these two functions, + #'lookup-key accepts events directly. + * keymap.el: + * keymap.el (events-to-keys): + Document this function some more. + Stop passing strings through unexamined, treat them as vectors of + characters. + Event keys are never integers, remove some code that only ran if + (integerp (event-key ce)). + Event keys are never numbers, don't check for that. + Don't create (menu-selection call-interactively function-name) + keystrokes for menu choices, #'character-to-event doesn't + understand that syntax, so nothing uses it. + Don't ever accept mouse events, #'character-to-event doesn't + accept our synthesising of them. + 2013-06-17 Aidan Kehoe <kehoea@parhasard.net> * process.el (process-synchronize-point): Moved to a label.
--- a/lisp/behavior.el Mon Jun 24 02:08:02 2013 +0900 +++ b/lisp/behavior.el Tue Aug 27 01:26:29 2013 +0900 @@ -62,7 +62,7 @@ ;; package is enabled, the user doesn't have to do anything specific for ;; the package to do its thing -- it happens automatically if the user is ;; using the area whose behavior has been changed. These include packages -;; such as `avoid' (which makes the mouse poointer move when the cursor +;; such as `avoid' (which makes the mouse pointer move when the cursor ;; gets too close), EFS (which adds the ability to treat an FTP site as ;; part of the local file system), the packages that supply the ;; mode-specific handling for various files, etc @@ -285,7 +285,9 @@ Normally, groups are created and assigned properties by individual packages. The resulting hierarchy may not make much sense globally. This function allows the hierarchy and appearance of a group to be specified globally, -and will take precendence over the properties assigned by `define-behavior-group'. This allows a global organization to be imposed on groups, while still allowing for graceful handling of new or unknown groups. +and will take precendence over the properties assigned by +`define-behavior-group'. This allows a global organization to be imposed on +groups, while still allowing for graceful handling of new or unknown groups. NAME can be a symbol specifying a group name, or a list of \(PARENT [...] NAME), where a path from a particular parent is explicitly
--- a/lisp/bytecomp.el Mon Jun 24 02:08:02 2013 +0900 +++ b/lisp/bytecomp.el Tue Aug 27 01:26:29 2013 +0900 @@ -4111,6 +4111,7 @@ (byte-defop-compiler-1 integerp) (byte-defop-compiler-1 eql) (byte-defop-compiler-1 fillarray) +(byte-defop-compiler-1 gensym) (defun byte-compile-progn (form) (byte-compile-body-do-effect (cdr form))) @@ -4399,6 +4400,19 @@ (byte-compile-out-tag donetag)) (byte-compile-subr-wrong-args form 2))) +(defun byte-compile-gensym (form) + (when for-effect + (byte-compile-warn "%s: %S: called for-effect, unlikely to be useful" + (car form) form)) + (when (and (cdr form) (cl-const-expr-p (nth 1 form)) + (not (typep (cl-const-expr-val (nth 1 form) '#:not-constant) + '(or string integer)))) + (byte-compile-warn "%s: %s: only strings and integers valid for ARG" + (car form) + (let ((print-readably t)) + (prin1-to-string (nth 1 form))))) + (byte-compile-normal-call form)) + ;;(byte-defop-compiler-1 /= byte-compile-negated) (byte-defop-compiler-1 atom byte-compile-negated) (byte-defop-compiler-1 nlistp byte-compile-negated)
--- a/lisp/cmdloop.el Mon Jun 24 02:08:02 2013 +0900 +++ b/lisp/cmdloop.el Tue Aug 27 01:26:29 2013 +0900 @@ -450,8 +450,7 @@ (message "%s%s%s%s" pre prompt yn (single-key-description event)) (setq quit-flag nil) (signal 'quit '()))) - (let* ((keys (events-to-keys (vector event))) - (def (lookup-key query-replace-map keys))) + (let ((def (lookup-key query-replace-map (vector event)))) (cond ((eq def 'skip) (message "%s%sNo" prompt yn) (setq yn nil))
--- a/lisp/isearch-mode.el Mon Jun 24 02:08:02 2013 +0900 +++ b/lisp/isearch-mode.el Tue Aug 27 01:26:29 2013 +0900 @@ -1579,7 +1579,28 @@ ;; FSF does similar magic in `isearch-other-meta-char', which ;; is horribly complex. I *hope* what we do works in all ;; cases. - (setq this-command (key-binding (this-command-keys)))) + (setq this-command + (condition-case nil + (key-binding (this-command-keys)) + (wrong-type-argument + ;; #'key-binding didn't like one of the events --> it's + ;; probably a misc-user object, repeat what + ;; #'dispatch-event does for this case. + (let ((this-command-keys (this-command-keys)) + event-function) + (when (and (> (length this-command-keys) 0) + (misc-user-event-p (aref this-command-keys 0))) + (setq event-function + (event-function (aref this-command-keys 0))) + (case event-function + (call-interactively + (event-object (aref this-command-keys 0))) + (eval + `(lambda nil (interactive) + ,(event-object (aref this-command-keys 0)))) + (otherwise + ;; Scrollbar command or the like. + (and (symbolp event-function) event-function))))))))) (t (labels ((isearch-maybe-frob-keyboard-macros ()
--- a/lisp/keymap.el Mon Jun 24 02:08:02 2013 +0900 +++ b/lisp/keymap.el Tue Aug 27 01:26:29 2013 +0900 @@ -305,52 +305,54 @@ ;;; Converting vectors of events to a read-equivalent form. -;;; This is used both by call-interactively (for the command history) -;;; and by macros.el (for saving keyboard macros to a file). +(defun events-to-keys (events &optional no-mice) + "Given a vector of event objects, return a vector of key descriptors. + +If all events can be represented unambiguously as characters, return a +string. Both the string and the vector will be equivalent to the events, if +the elements are passed to `character-to-event'. + +If an event represents a key press of a printable ASCII character between ?@ +and ?_, with the control modifier and only the control modifier, it is +returned as a character between ?\x00 and ?\x1f, inclusive. ?\\C-i, ?\\C-j, +?\\C-m are returned as the symbols `tab', `linefeed' and `return', +respectively. -;; #### why does (events-to-keys [backspace]) return "\C-h"? -;; BTW, this function is a mess, and macros.el does *not* use it, in -;; spite of the above comment. `format-kbd-macro' is used to save -;; keyboard macros to a file. -(defun events-to-keys (events &optional no-mice) - "Given a vector of event objects, returns a vector of key descriptors, -or a string (if they all fit in the ASCII range). -Optional arg NO-MICE means that button events are not allowed." +There is a similar equivalence between ASCII characters with the meta +modifier and Latin 1 characters, but this function does not use that +equivalence. + +Obsolete optional argument NO-MICE means that mouse events are not allowed. +These are actually never allowed, since `character-to-event' never accepts +them. + +EVENTS can be a string, and will be treated as a vector of the events +corresponding to those characters." + ;; This is only used in packages. There were some contexts where it was + ;; used in core, but those dated from before #'lookup-key accepted events + ;; in KEYS; it conses less and is more accurate to use the events directly, + ;; rather than calling this function. It'd be nice to move this to + ;; xemacs-base and add an autoload, there's no need for it to be dumped. (if (and events (symbolp events)) (setq events (vector events))) - (cond ((stringp events) - events) - ((not (vectorp events)) - (signal 'wrong-type-argument (list 'vectorp events))) - ((let* ((length (length events)) + (check-type events array) + (cond ((let* ((length (length events)) (string (make-string length 0)) c ce (i 0)) (while (< i length) (setq ce (aref events i)) (or (eventp ce) (setq ce (character-to-event ce))) - ;; Normalize `c' to `?c' and `(control k)' to `?\C-k' - ;; By passing t for the `allow-meta' arg we could get kbd macros - ;; with meta in them to translate to the string form instead of - ;; the list/symbol form; but I expect that would cause confusion, - ;; so let's use the list/symbol form whenever there's - ;; any ambiguity. + ;; Normalize `c' to `?c' and `(control k)' to `?\C-k' We don't + ;; "normalize" Latin 1 to the corresponding meta characters, or + ;; vice-versa. (setq c (event-to-character ce)) (if (and c (key-press-event-p ce)) - (cond ((symbolp (event-key ce)) - (if (get (event-key ce) 'character-of-keysym) - ;; Don't use a string for `backspace' and `tab' to - ;; avoid that unpleasant little ambiguity. - (setq c nil))) - ((and (= (event-modifier-bits ce) 1) ;control - (integerp (event-key ce))) - (let* ((te (character-to-event c))) - (if (and (symbolp (event-key te)) - (get (event-key te) 'character-of-keysym)) - ;; Don't "normalize" (control i) to tab - ;; to avoid the ambiguity in the other direction - (setq c nil)) - (deallocate-event te))))) + (if (symbolp (event-key ce)) + (if (get (event-key ce) 'character-of-keysym) + ;; Don't use a string `tab' to avoid that unpleasant + ;; little ambiguity. + (setq c nil)))) (if c (aset string i c) (setq i length string nil)) @@ -358,33 +360,15 @@ string)) (t (let* ((length (length events)) - (new (copy-sequence events)) + (new (vconcat events nil)) event mods key (i 0)) (while (< i length) (setq event (aref events i)) + (or (eventp event) (setq event (character-to-event event))) (cond ((key-press-event-p event) (setq mods (event-modifiers event) key (event-key event)) - (if (numberp key) - (setq key (intern (make-string 1 key)))) - (aset new i (if mods - (nconc mods (cons key nil)) - key))) - ((misc-user-event-p event) - (aset new i (list 'menu-selection - (event-function event) - (event-object event)))) - ((or (button-press-event-p event) - (button-release-event-p event)) - (if no-mice - (error - "Mouse events can't be saved in keyboard macros.")) - (setq mods (event-modifiers event) - key (intern (format "button%d%s" - (event-button event) - (if (button-release-event-p event) - "up" "")))) (aset new i (if mods (nconc mods (cons key nil)) key))) @@ -392,10 +376,10 @@ (and (consp event) (symbolp (car event)))) (aset new i event)) (t - (signal 'wrong-type-argument (list 'eventp event)))) + (signal 'wrong-type-argument + (list 'key-press-event-p event)))) (setq i (1+ i))) new)))) - (defun next-key-event () "Return the next available keyboard event."
--- a/lisp/minibuf.el Mon Jun 24 02:08:02 2013 +0900 +++ b/lisp/minibuf.el Tue Aug 27 01:26:29 2013 +0900 @@ -2268,15 +2268,8 @@ (single-key-description event)) (setq quit-flag nil) (signal 'quit '()))) - (let* ((keys (events-to-keys (vector event))) - (def (lookup-key query-replace-map keys))) + (let ((def (lookup-key query-replace-map (vector event)))) (cond -; ((eq def 'skip) -; (message "%s%sNo" question possible) -; (return nil)) -; ((eq def 'act) -; (message "%s%sYes" question possible) -; (return t)) ((eq def 'recenter) (recenter)) ((or (eq def 'quit) (eq def 'exit-prefix))
--- a/lisp/mule/latin.el Mon Jun 24 02:08:02 2013 +0900 +++ b/lisp/mule/latin.el Tue Aug 27 01:26:29 2013 +0900 @@ -1778,7 +1778,20 @@ (lambda () ;; Restore the normal case mappings for the characters. (put-case-table-pair ?I ?i (standard-case-table)))) + +;; Latin-script Azeri. This uses schwa, and has no non-Unicode encoding +;; available. The Turkish case rules apply, though, so we can copy that +;; language environment. +(let* ((name (create-variant-language-environment "Turkish" 'utf-8)) + (assoc (assoc name language-info-alist))) + (setf (car assoc) "Azeri") + (set-language-info "Azeri" 'locale "az") + (put-case-table-pair + (decode-char 'ucs #x018F) ;; LATIN CAPITAL LETTER SCHWA + (decode-char 'ucs #x0259) ;; LATIN SMALL LETTER SCHWA + (standard-case-table))) + (make-coding-system 'macintosh 'fixed-width "MacRoman" '(unicode-map
--- a/lisp/startup.el Mon Jun 24 02:08:02 2013 +0900 +++ b/lisp/startup.el Tue Aug 27 01:26:29 2013 +0900 @@ -544,59 +544,61 @@ ;; frame? (startup-load-autoloads) - (let (error-data) - ;; if noninteractive, an error will kill us. by catching and - ;; resignalling, we don't accomplish much, but do make it difficult - ;; to determine where the error really occurred. when interactive, - ;; however, an error processing the command line does NOT kill us; - ;; instead, the error handler tries to display an error on the frame. - ;; In that case, we must make sure that all the remaining initialization - ;; gets done!!! - ;; - ;; #### A better solution in the interactive case is to use - ;; call-with-condition-handler, which would let us do the rest of - ;; the initialization AND allow the user to get an accurate backtrace. - (if (noninteractive) - (command-line) - (condition-case data - (command-line) - ;; catch non-error signals, especially quit - (t (setq error-data data)))) - ;; Do this again, in case the init file defined more abbreviations. - (setq default-directory (abbreviate-file-name default-directory)) - ;; Specify the file for recording all the auto save files of - ;; this session. This is used by recover-session. - (if auto-save-list-file-prefix - (setq auto-save-list-file-name - (expand-file-name - (format "%s%d-%s" - auto-save-list-file-prefix - (emacs-pid) - (system-name))))) - (run-hooks 'emacs-startup-hook) - (and term-setup-hook - (run-hooks 'term-setup-hook)) - (setq term-setup-hook nil) - ;; ;; Modify the initial frame based on what the init file puts into - ;; ;; ...-frame-alist. - (frame-notice-user-settings) - ;; ;;#### GNU Emacs junk - ;; ;; Now we know the user's default font, so add it to the menu. - ;; (if (fboundp 'font-menu-add-default) - ;; (font-menu-add-default)) - (when window-setup-hook - (run-hooks 'window-setup-hook)) - (setq window-setup-hook nil) - (if error-data - ;; re-signal, and don't allow continuation as that will probably - ;; wipe out the user's .emacs if she hasn't migrated yet! - (signal-error (car error-data) (cdr error-data)))) + (macrolet + ((replace-ntl-buffer (&body body) + ;; Create a dynamic variable that won't escape outside this + ;; function (which will not be called recursively, and so won't + ;; shadow itself) and doesn't require consing a closure at + ;; runtime: + (cons 'progn (subst '#:ntl-buffer 'ntl-buffer body :test #'eq)))) + (replace-ntl-buffer + (let ((ntl-buffer (current-buffer))) + (labels ((after-command-line (&optional error-data) + (with-current-buffer ntl-buffer + ;; Do this again, in case the init file defined more + ;; abbreviations. + (setq default-directory + (abbreviate-file-name default-directory)) + ;; Specify the file for recording all the auto save + ;; files of this session. This is used by + ;; recover-session. + (if auto-save-list-file-prefix + (setq auto-save-list-file-name + (expand-file-name + (format "%s%d-%s" + auto-save-list-file-prefix + (emacs-pid) + (system-name))))) + (run-hooks 'emacs-startup-hook) + (and term-setup-hook + (run-hooks 'term-setup-hook)) + (setq term-setup-hook nil) + ;; Modify the initial frame based on what the init file + ;; puts into ...-frame-alist. + (frame-notice-user-settings) + (when window-setup-hook + (run-hooks 'window-setup-hook)) + (setq window-setup-hook nil)))) + (call-with-condition-handler + (if (noninteractive) + #'ignore + ;; If noninteractive, an error will kill us. When + ;; interactive, however, an error processing the command + ;; line does NOT kill us; instead, the error handler tries + ;; to display an error on the frame. In that case, we must + ;; make sure that all the remaining initialization gets + ;; done. + #'after-command-line) + #'command-line) + + ;; If we're here, we haven't errored, and the function still needs + ;; to be called. + (after-command-line))))) (if load-user-init-file-p - (maybe-migrate-user-init-file)) - ;; GNU calls precompute-menubar-bindings. We don't mix menubars - ;; and keymaps. - )) + (maybe-migrate-user-init-file)))) +;; GNU calls precompute-menubar-bindings. We don't mix menubars +;; and keymaps. (defun command-line-early (args) ;; This processes those switches which need to be processed before
--- a/lisp/window-xemacs.el Mon Jun 24 02:08:02 2013 +0900 +++ b/lisp/window-xemacs.el Tue Aug 27 01:26:29 2013 +0900 @@ -355,8 +355,8 @@ to them in the restored configuration. It does not include entries for windows that have not changed identity. Does not restore the value of point in current buffer." - (let ((window-config (gensym 'window-config)) - (mapping (gensym 'mapping))) + (let ((window-config (gensym "window-config")) + (mapping (gensym "mapping"))) `(let ((,window-config (current-window-configuration)) (,mapping)) (unwind-protect
--- a/lisp/window.el Mon Jun 24 02:08:02 2013 +0900 +++ b/lisp/window.el Tue Aug 27 01:26:29 2013 +0900 @@ -202,7 +202,7 @@ Restores which buffer appears in which window, where display starts, as well as the current buffer. Does not restore the value of point in current buffer." - (let ((window-config (gensym 'window-config))) + (let ((window-config (gensym "window-config"))) `(let ((,window-config (current-window-configuration))) (unwind-protect (progn ,@body)
--- a/man/ChangeLog Mon Jun 24 02:08:02 2013 +0900 +++ b/man/ChangeLog Tue Aug 27 01:26:29 2013 +0900 @@ -1,3 +1,10 @@ +2013-06-25 Jerry James <james@xemacs.org> + + * Makefile.in: New file, so we can replace @MAKEINFO@. + * Makefile: Removed. + * lispref/packaging.texi: Update required version of makeinfo. + * xemacs/packages.texi: Ditto. + 2013-06-23 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.34 "kale" is released.
--- a/man/Makefile Mon Jun 24 02:08:02 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,393 +0,0 @@ -# Makefile for man subdirectory in XEmacs -# Copyright (C) 1995 Board of Trustees, University of Illinois -# Copyright (C) 1994, 1995 Sun Microsystems. -# Copyright (C) 2005, 2010 Ben Wing. - -# This file is part of XEmacs. - -# XEmacs is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; either version 2, or (at your option) any -# later version. - -# XEmacs is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. - -# You should have received a copy of the GNU General Public License -# along with XEmacs; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -DESTDIR= - -SHELL = /bin/sh -MAKEINFO = makeinfo -TEXI2DVI = texi2dvi -TEXI2HTML = texi2html -TEXI2HTML_NOSPLIT = $(TEXI2HTML) -verbose -subdir $(HTMLDIR) -TEXI2HTML_SPLIT = $(TEXI2HTML) -verbose -subdir $(HTMLDIR) -split chapter - -RM = rm -f -CP = cp - -.SUFFIXES: -.SUFFIXES: .html .info .texi .dvi .pdf - -RECURSIVE_MAKE_ARGS = $(MFLAGS) MAKEINFO='$(MAKEINFO)' TEXI2DVI='$(TEXI2DVI)' - -all : info - -# Ughhh! The things we do to have portable makefiles... - -INFODIR = ../info -HTMLDIR = ../html -PHOTODIR = ../etc/photos - -src_files1 = \ - $(DIR)beta.texi \ - $(DIR)cl.texi \ - $(DIR)emodules.texi \ - $(DIR)external-widget.texi \ - $(DIR)info.texi \ - $(DIR)internals.texi \ - $(DIR)lispref.texi \ - $(DIR)new-users-guide.texi \ - $(DIR)standards.texi \ - $(DIR)termcap.texi \ - $(DIR)texinfo.texi \ - $(DIR)widget.texi \ - $(DIR)xemacs.texi \ - $(DIR)xemacs-faq.texi - -DIR:= -src_files := $(src_files1) - -DIR := $(INFODIR)/ -info_files := $(src_files1:.texi=.info) - -DIR := $(HTMLDIR)/ -html_files := $(src_files1:.texi=.html) - -dvi_files := $(src_files:.texi=.dvi) - -pdf_files := $(src_files:.texi=.pdf) - - -xemacs-srcs = \ - xemacs/abbrevs.texi \ - xemacs/basic.texi \ - xemacs/buffers.texi \ - xemacs/building.texi \ - xemacs/calendar.texi \ - xemacs/cmdargs.texi \ - xemacs/custom.texi \ - xemacs/display.texi \ - xemacs/entering.texi \ - xemacs/files.texi \ - xemacs/fixit.texi \ - xemacs/frame.texi \ - xemacs/glossary.texi \ - xemacs/gnu.texi \ - xemacs/help.texi \ - xemacs/indent.texi \ - xemacs/keystrokes.texi \ - xemacs/killing.texi \ - xemacs/m-x.texi \ - xemacs/major.texi \ - xemacs/mark.texi \ - xemacs/menus.texi \ - xemacs/mini.texi \ - xemacs/misc.texi \ - xemacs/mouse.texi \ - xemacs/mule.texi \ - xemacs/new.texi \ - xemacs/packages.texi \ - xemacs/picture.texi \ - xemacs/programs.texi \ - xemacs/reading.texi \ - xemacs/regs.texi \ - xemacs/search.texi \ - xemacs/sending.texi \ - xemacs/startup.texi \ - xemacs/text.texi \ - xemacs/trouble.texi \ - xemacs/undo.texi \ - xemacs/windows.texi \ - xemacs/xemacs.texi - -lispref-srcs = \ - lispref/abbrevs.texi \ - lispref/annotations.texi \ - lispref/back.texi \ - lispref/backups.texi \ - lispref/buffers.texi \ - lispref/building.texi \ - lispref/commands.texi \ - lispref/compile.texi \ - lispref/consoles-devices.texi \ - lispref/control.texi \ - lispref/customize.texi \ - lispref/databases.texi \ - lispref/debugging.texi \ - lispref/dialog.texi \ - lispref/display.texi \ - lispref/dragndrop.texi \ - lispref/edebug-inc.texi \ - lispref/edebug.texi \ - lispref/errors.texi \ - lispref/eval.texi \ - lispref/extents.texi \ - lispref/faces.texi \ - lispref/files.texi \ - lispref/frames.texi \ - lispref/functions.texi \ - lispref/glyphs.texi \ - lispref/hash-tables.texi \ - lispref/help.texi \ - lispref/hooks.texi \ - lispref/index.texi \ - lispref/internationalization.texi \ - lispref/intro.texi \ - lispref/keymaps.texi \ - lispref/ldap.texi \ - lispref/lispref.texi \ - lispref/lists.texi \ - lispref/loading.texi \ - lispref/locals.texi \ - lispref/macros.texi \ - lispref/maps.texi \ - lispref/markers.texi \ - lispref/menus.texi \ - lispref/minibuf.texi \ - lispref/modes.texi \ - lispref/mouse.texi \ - lispref/mule.texi \ - lispref/numbers.texi \ - lispref/objects.texi \ - lispref/os.texi \ - lispref/packaging.texi \ - lispref/positions.texi \ - lispref/processes.texi \ - lispref/range-tables.texi \ - lispref/scrollbars.texi \ - lispref/searching.texi \ - lispref/sequences.texi \ - lispref/specifiers.texi \ - lispref/streams.texi \ - lispref/strings.texi \ - lispref/symbols.texi \ - lispref/syntax.texi \ - lispref/text.texi \ - lispref/tips.texi \ - lispref/toolbar.texi \ - lispref/tooltalk.texi \ - lispref/variables.texi \ - lispref/windows.texi \ - lispref/x-windows.texi - -internals-srcs = \ - internals/internals.texi - -new-users-guide-srcs = \ - new-users-guide/custom1.texi \ - new-users-guide/custom2.texi \ - new-users-guide/edit.texi \ - new-users-guide/enter.texi \ - new-users-guide/files.texi \ - new-users-guide/help.texi \ - new-users-guide/modes.texi \ - new-users-guide/new-users-guide.texi \ - new-users-guide/region.texi \ - new-users-guide/search.texi \ - new-users-guide/xmenu.texi - -texinfo-srcs = \ - texinfo/fdl.texi \ - texinfo/texinfo.texi \ - texinfo/version.texi - -$(INFODIR)/beta.info : beta.texi - $(MAKEINFO) -o $(INFODIR)/beta.info beta.texi - -$(INFODIR)/cl.info : cl.texi - $(MAKEINFO) -o $(INFODIR)/cl.info cl.texi - -$(INFODIR)/custom.info : custom.texi - $(MAKEINFO) -o $(INFODIR)/custom.info custom.texi - -$(INFODIR)/emodules.info : emodules.texi - $(MAKEINFO) -o $(INFODIR)/emodules.info emodules.texi - -$(INFODIR)/external-widget.info : external-widget.texi - $(MAKEINFO) -o $(INFODIR)/external-widget.info external-widget.texi - -$(INFODIR)/info.info : info.texi - $(MAKEINFO) -o $(INFODIR)/info.info info.texi - -$(INFODIR)/standards.info : standards.texi - $(MAKEINFO) -o $(INFODIR)/standards.info standards.texi - -$(INFODIR)/term.info : term.texi - $(MAKEINFO) -o $(INFODIR)/term.info term.texi - -$(INFODIR)/termcap.info : termcap.texi - $(MAKEINFO) -o $(INFODIR)/termcap.info termcap.texi - -$(INFODIR)/widget.info : widget.texi doclicense.texi - $(MAKEINFO) -o $(INFODIR)/widget.info widget.texi - -$(INFODIR)/xemacs-faq.info : xemacs-faq.texi - $(MAKEINFO) -o $(INFODIR)/xemacs-faq.info xemacs-faq.texi - -# Manuals with their own subdirectory -$(INFODIR)/xemacs.info : $(xemacs-srcs) - $(MAKEINFO) -P xemacs -o $(INFODIR)/xemacs.info xemacs/xemacs.texi - -$(INFODIR)/lispref.info : $(lispref-srcs) - $(MAKEINFO) -P lispref -o $(INFODIR)/lispref.info lispref/lispref.texi - -$(INFODIR)/internals.info : $(internals-srcs) - $(MAKEINFO) -P internals -o $(INFODIR)/internals.info internals/internals.texi - -$(INFODIR)/new-users-guide.info : $(new-users-guide-srcs) - $(MAKEINFO) -P new-users-guide -o $(INFODIR)/new-users-guide.info new-users-guide/new-users-guide.texi - -$(INFODIR)/texinfo.info : $(texinfo-srcs) - $(MAKEINFO) -P texinfo -o $(INFODIR)/texinfo.info texinfo/texinfo.texi - -xemacs : $(INFODIR)/xemacs.info -lispref : $(INFODIR)/lispref.info -internals : $(INFODIR)/internals.info -new-users-guide.info : $(INFODIR)/new-users-guide.info -texinfo : $(INFODIR)/texinfo.info - -.PHONY : xemacs lispref internals new-users-guide texinfo info dvi pdf - -info : $(info_files) -html : $(html_files) - -.texi.dvi: - -$(TEXI2DVI) $< - -.texi.pdf: - -$(TEXI2DVI) --pdf $< - -xemacs.dvi : $(xemacs-srcs) - $(TEXI2DVI) -I xemacs xemacs/xemacs.texi - -lispref.dvi : $(lispref-srcs) - $(TEXI2DVI) -I lispref lispref/lispref.texi - -internals.dvi : $(internals-srcs) - $(TEXI2DVI) -I internals internals/internals.texi - -new-users-guide.dvi : $(new-users-guide-srcs) - $(TEXI2DVI) -I new-users-guide new-users-guide/new-users-guide.texi - -texinfo.dvi : $(texinfo-srcs) - $(TEXI2DVI) -I texinfo texinfo/texinfo.texi - -dvi : $(dvi_files) - -xemacs.pdf: $(xemacs-srcs) - $(TEXI2DVI) --pdf -I xemacs xemacs/xemacs.texi - -lispref.pdf: $(lispref-srcs) - $(TEXI2DVI) --pdf -I lispref lispref/lispref.texi - -internals.pdf: $(internals-srcs) - $(TEXI2DVI) --pdf -I internals internals/internals.texi - -new-users-guide.pdf: $(new-users-guide-srcs) - $(TEXI2DVI) --pdf -I new-users-guide new-users-guide/new-users-guide.texi - -texinfo.pdf: $(texinfo-srcs) - $(TEXI2DVI) --pdf -I texinfo texinfo/texinfo.texi - -pdf: $(pdf_files) - -.PHONY: mostlyclean clean distclean realclean extraclean -.PHONY: distclean-noconfig realclean-noconfig extraclean-noconfig -mostlyclean: - $(RM) *.toc *.aux *.log *.op *.cp *.cps *.fn *.fns - $(RM) *.ky *.kys *.pg *.pgs *.tp *.tps *.vr *.vrs -clean: mostlyclean - $(RM) core *.dvi *.pdf -distclean-noconfig: clean -distclean: distclean-noconfig -realclean-noconfig: distclean-noconfig -realclean: distclean -extraclean-noconfig: realclean-noconfig - $(RM) *~ \#* */*~ */\#* -extraclean: realclean - $(RM) *~ \#* */*~ */\#* - -############################################################################ - -$(HTMLDIR)/beta.html : beta.texi - $(TEXI2HTML_NOSPLIT) beta.texi - -$(HTMLDIR)/cl.html : cl.texi - $(TEXI2HTML_SPLIT) cl.texi - -$(HTMLDIR)/custom.html : custom.texi - $(TEXI2HTML_SPLIT) custom.texi - -$(HTMLDIR)/emodules.html : emodules.texi - $(TEXI2HTML_SPLIT) emodules.texi - -$(HTMLDIR)/external-widget.html : external-widget.texi - $(TEXI2HTML_SPLIT) external-widget.texi - -$(HTMLDIR)/info.html : info.texi - $(TEXI2HTML_SPLIT) info.texi - -$(HTMLDIR)/standards.html : standards.texi - $(TEXI2HTML_SPLIT) standards.texi - -$(HTMLDIR)/term.html : term.texi - $(TEXI2HTML_SPLIT) term.texi - -$(HTMLDIR)/termcap.html : termcap.texi - $(TEXI2HTML_SPLIT) termcap.texi - -$(HTMLDIR)/widget.html : widget.texi - $(TEXI2HTML_SPLIT) widget.texi - -$(HTMLDIR)/xemacs-faq.html : xemacs-faq.texi - $(TEXI2HTML_NOSPLIT) xemacs-faq.texi - $(TEXI2HTML_SPLIT) -top_file xemacs-faq_1.html xemacs-faq.texi - $(CP) $(PHOTODIR)/ben.png $(HTMLDIR) - $(CP) $(PHOTODIR)/cthomp.png $(HTMLDIR) - $(CP) $(PHOTODIR)/hniksic.png $(HTMLDIR) - $(CP) $(PHOTODIR)/jwz.png $(HTMLDIR) - $(CP) $(PHOTODIR)/martin.png $(HTMLDIR) - $(CP) $(PHOTODIR)/mly.png $(HTMLDIR) - $(CP) $(PHOTODIR)/piper.png $(HTMLDIR) - $(CP) $(PHOTODIR)/slb.png $(HTMLDIR) - -# Manuals with their own subdirectory -$(HTMLDIR)/xemacs.html : $(xemacs-srcs) - $(TEXI2HTML_SPLIT) xemacs/xemacs.texi - -$(HTMLDIR)/lispref.html : $(lispref-srcs) - $(TEXI2HTML_SPLIT) lispref/lispref.texi - -$(HTMLDIR)/internals.html : $(internals-srcs) - $(TEXI2HTML_SPLIT) internals/internals.texi - -$(HTMLDIR)/new-users-guide.html : $(new-users-guide-srcs) - $(TEXI2HTML_SPLIT) new-users-guide/new-users-guide.texi - -$(HTMLDIR)/texinfo.html : $(texinfo-srcs) - $(TEXI2HTML_SPLIT) texinfo/texinfo.texi - -xemacs : $(HTMLDIR)/xemacs.html -lispref : $(HTMLDIR)/lispref.html -internals : $(HTMLDIR)/internals.html -new-users-guide.html : $(HTMLDIR)/new-users-guide.html -texinfo : $(HTMLDIR)/texinfo.html - -html : $(html_files)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/man/Makefile.in Tue Aug 27 01:26:29 2013 +0900 @@ -0,0 +1,393 @@ +# Makefile for man subdirectory in XEmacs +# Copyright (C) 1995 Board of Trustees, University of Illinois +# Copyright (C) 1994, 1995 Sun Microsystems. +# Copyright (C) 2005, 2010 Ben Wing. + +# This file is part of XEmacs. + +# XEmacs is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2, or (at your option) any +# later version. + +# XEmacs is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. + +# You should have received a copy of the GNU General Public License +# along with XEmacs; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +DESTDIR= + +SHELL = /bin/sh +MAKEINFO = @MAKEINFO@ +TEXI2DVI = texi2dvi +TEXI2HTML = texi2html +TEXI2HTML_NOSPLIT = $(TEXI2HTML) -verbose -subdir $(HTMLDIR) +TEXI2HTML_SPLIT = $(TEXI2HTML) -verbose -subdir $(HTMLDIR) -split chapter + +RM = rm -f +CP = cp + +.SUFFIXES: +.SUFFIXES: .html .info .texi .dvi .pdf + +RECURSIVE_MAKE_ARGS = $(MFLAGS) MAKEINFO='$(MAKEINFO)' TEXI2DVI='$(TEXI2DVI)' + +all : info + +# Ughhh! The things we do to have portable makefiles... + +INFODIR = ../info +HTMLDIR = ../html +PHOTODIR = ../etc/photos + +src_files1 = \ + $(DIR)beta.texi \ + $(DIR)cl.texi \ + $(DIR)emodules.texi \ + $(DIR)external-widget.texi \ + $(DIR)info.texi \ + $(DIR)internals.texi \ + $(DIR)lispref.texi \ + $(DIR)new-users-guide.texi \ + $(DIR)standards.texi \ + $(DIR)termcap.texi \ + $(DIR)texinfo.texi \ + $(DIR)widget.texi \ + $(DIR)xemacs.texi \ + $(DIR)xemacs-faq.texi + +DIR:= +src_files := $(src_files1) + +DIR := $(INFODIR)/ +info_files := $(src_files1:.texi=.info) + +DIR := $(HTMLDIR)/ +html_files := $(src_files1:.texi=.html) + +dvi_files := $(src_files:.texi=.dvi) + +pdf_files := $(src_files:.texi=.pdf) + + +xemacs-srcs = \ + xemacs/abbrevs.texi \ + xemacs/basic.texi \ + xemacs/buffers.texi \ + xemacs/building.texi \ + xemacs/calendar.texi \ + xemacs/cmdargs.texi \ + xemacs/custom.texi \ + xemacs/display.texi \ + xemacs/entering.texi \ + xemacs/files.texi \ + xemacs/fixit.texi \ + xemacs/frame.texi \ + xemacs/glossary.texi \ + xemacs/gnu.texi \ + xemacs/help.texi \ + xemacs/indent.texi \ + xemacs/keystrokes.texi \ + xemacs/killing.texi \ + xemacs/m-x.texi \ + xemacs/major.texi \ + xemacs/mark.texi \ + xemacs/menus.texi \ + xemacs/mini.texi \ + xemacs/misc.texi \ + xemacs/mouse.texi \ + xemacs/mule.texi \ + xemacs/new.texi \ + xemacs/packages.texi \ + xemacs/picture.texi \ + xemacs/programs.texi \ + xemacs/reading.texi \ + xemacs/regs.texi \ + xemacs/search.texi \ + xemacs/sending.texi \ + xemacs/startup.texi \ + xemacs/text.texi \ + xemacs/trouble.texi \ + xemacs/undo.texi \ + xemacs/windows.texi \ + xemacs/xemacs.texi + +lispref-srcs = \ + lispref/abbrevs.texi \ + lispref/annotations.texi \ + lispref/back.texi \ + lispref/backups.texi \ + lispref/buffers.texi \ + lispref/building.texi \ + lispref/commands.texi \ + lispref/compile.texi \ + lispref/consoles-devices.texi \ + lispref/control.texi \ + lispref/customize.texi \ + lispref/databases.texi \ + lispref/debugging.texi \ + lispref/dialog.texi \ + lispref/display.texi \ + lispref/dragndrop.texi \ + lispref/edebug-inc.texi \ + lispref/edebug.texi \ + lispref/errors.texi \ + lispref/eval.texi \ + lispref/extents.texi \ + lispref/faces.texi \ + lispref/files.texi \ + lispref/frames.texi \ + lispref/functions.texi \ + lispref/glyphs.texi \ + lispref/hash-tables.texi \ + lispref/help.texi \ + lispref/hooks.texi \ + lispref/index.texi \ + lispref/internationalization.texi \ + lispref/intro.texi \ + lispref/keymaps.texi \ + lispref/ldap.texi \ + lispref/lispref.texi \ + lispref/lists.texi \ + lispref/loading.texi \ + lispref/locals.texi \ + lispref/macros.texi \ + lispref/maps.texi \ + lispref/markers.texi \ + lispref/menus.texi \ + lispref/minibuf.texi \ + lispref/modes.texi \ + lispref/mouse.texi \ + lispref/mule.texi \ + lispref/numbers.texi \ + lispref/objects.texi \ + lispref/os.texi \ + lispref/packaging.texi \ + lispref/positions.texi \ + lispref/processes.texi \ + lispref/range-tables.texi \ + lispref/scrollbars.texi \ + lispref/searching.texi \ + lispref/sequences.texi \ + lispref/specifiers.texi \ + lispref/streams.texi \ + lispref/strings.texi \ + lispref/symbols.texi \ + lispref/syntax.texi \ + lispref/text.texi \ + lispref/tips.texi \ + lispref/toolbar.texi \ + lispref/tooltalk.texi \ + lispref/variables.texi \ + lispref/windows.texi \ + lispref/x-windows.texi + +internals-srcs = \ + internals/internals.texi + +new-users-guide-srcs = \ + new-users-guide/custom1.texi \ + new-users-guide/custom2.texi \ + new-users-guide/edit.texi \ + new-users-guide/enter.texi \ + new-users-guide/files.texi \ + new-users-guide/help.texi \ + new-users-guide/modes.texi \ + new-users-guide/new-users-guide.texi \ + new-users-guide/region.texi \ + new-users-guide/search.texi \ + new-users-guide/xmenu.texi + +texinfo-srcs = \ + texinfo/fdl.texi \ + texinfo/texinfo.texi \ + texinfo/version.texi + +$(INFODIR)/beta.info : beta.texi + $(MAKEINFO) -o $(INFODIR)/beta.info beta.texi + +$(INFODIR)/cl.info : cl.texi + $(MAKEINFO) -o $(INFODIR)/cl.info cl.texi + +$(INFODIR)/custom.info : custom.texi + $(MAKEINFO) -o $(INFODIR)/custom.info custom.texi + +$(INFODIR)/emodules.info : emodules.texi + $(MAKEINFO) -o $(INFODIR)/emodules.info emodules.texi + +$(INFODIR)/external-widget.info : external-widget.texi + $(MAKEINFO) -o $(INFODIR)/external-widget.info external-widget.texi + +$(INFODIR)/info.info : info.texi + $(MAKEINFO) -o $(INFODIR)/info.info info.texi + +$(INFODIR)/standards.info : standards.texi + $(MAKEINFO) -o $(INFODIR)/standards.info standards.texi + +$(INFODIR)/term.info : term.texi + $(MAKEINFO) -o $(INFODIR)/term.info term.texi + +$(INFODIR)/termcap.info : termcap.texi + $(MAKEINFO) -o $(INFODIR)/termcap.info termcap.texi + +$(INFODIR)/widget.info : widget.texi doclicense.texi + $(MAKEINFO) -o $(INFODIR)/widget.info widget.texi + +$(INFODIR)/xemacs-faq.info : xemacs-faq.texi + $(MAKEINFO) -o $(INFODIR)/xemacs-faq.info xemacs-faq.texi + +# Manuals with their own subdirectory +$(INFODIR)/xemacs.info : $(xemacs-srcs) + $(MAKEINFO) -P xemacs -o $(INFODIR)/xemacs.info xemacs/xemacs.texi + +$(INFODIR)/lispref.info : $(lispref-srcs) + $(MAKEINFO) -P lispref -o $(INFODIR)/lispref.info lispref/lispref.texi + +$(INFODIR)/internals.info : $(internals-srcs) + $(MAKEINFO) -P internals -o $(INFODIR)/internals.info internals/internals.texi + +$(INFODIR)/new-users-guide.info : $(new-users-guide-srcs) + $(MAKEINFO) -P new-users-guide -o $(INFODIR)/new-users-guide.info new-users-guide/new-users-guide.texi + +$(INFODIR)/texinfo.info : $(texinfo-srcs) + $(MAKEINFO) -P texinfo -o $(INFODIR)/texinfo.info texinfo/texinfo.texi + +xemacs : $(INFODIR)/xemacs.info +lispref : $(INFODIR)/lispref.info +internals : $(INFODIR)/internals.info +new-users-guide.info : $(INFODIR)/new-users-guide.info +texinfo : $(INFODIR)/texinfo.info + +.PHONY : xemacs lispref internals new-users-guide texinfo info dvi pdf + +info : $(info_files) +html : $(html_files) + +.texi.dvi: + -$(TEXI2DVI) $< + +.texi.pdf: + -$(TEXI2DVI) --pdf $< + +xemacs.dvi : $(xemacs-srcs) + $(TEXI2DVI) -I xemacs xemacs/xemacs.texi + +lispref.dvi : $(lispref-srcs) + $(TEXI2DVI) -I lispref lispref/lispref.texi + +internals.dvi : $(internals-srcs) + $(TEXI2DVI) -I internals internals/internals.texi + +new-users-guide.dvi : $(new-users-guide-srcs) + $(TEXI2DVI) -I new-users-guide new-users-guide/new-users-guide.texi + +texinfo.dvi : $(texinfo-srcs) + $(TEXI2DVI) -I texinfo texinfo/texinfo.texi + +dvi : $(dvi_files) + +xemacs.pdf: $(xemacs-srcs) + $(TEXI2DVI) --pdf -I xemacs xemacs/xemacs.texi + +lispref.pdf: $(lispref-srcs) + $(TEXI2DVI) --pdf -I lispref lispref/lispref.texi + +internals.pdf: $(internals-srcs) + $(TEXI2DVI) --pdf -I internals internals/internals.texi + +new-users-guide.pdf: $(new-users-guide-srcs) + $(TEXI2DVI) --pdf -I new-users-guide new-users-guide/new-users-guide.texi + +texinfo.pdf: $(texinfo-srcs) + $(TEXI2DVI) --pdf -I texinfo texinfo/texinfo.texi + +pdf: $(pdf_files) + +.PHONY: mostlyclean clean distclean realclean extraclean +.PHONY: distclean-noconfig realclean-noconfig extraclean-noconfig +mostlyclean: + $(RM) *.toc *.aux *.log *.op *.cp *.cps *.fn *.fns + $(RM) *.ky *.kys *.pg *.pgs *.tp *.tps *.vr *.vrs +clean: mostlyclean + $(RM) core *.dvi *.pdf +distclean-noconfig: clean +distclean: distclean-noconfig +realclean-noconfig: distclean-noconfig +realclean: distclean +extraclean-noconfig: realclean-noconfig + $(RM) *~ \#* */*~ */\#* +extraclean: realclean + $(RM) *~ \#* */*~ */\#* + +############################################################################ + +$(HTMLDIR)/beta.html : beta.texi + $(TEXI2HTML_NOSPLIT) beta.texi + +$(HTMLDIR)/cl.html : cl.texi + $(TEXI2HTML_SPLIT) cl.texi + +$(HTMLDIR)/custom.html : custom.texi + $(TEXI2HTML_SPLIT) custom.texi + +$(HTMLDIR)/emodules.html : emodules.texi + $(TEXI2HTML_SPLIT) emodules.texi + +$(HTMLDIR)/external-widget.html : external-widget.texi + $(TEXI2HTML_SPLIT) external-widget.texi + +$(HTMLDIR)/info.html : info.texi + $(TEXI2HTML_SPLIT) info.texi + +$(HTMLDIR)/standards.html : standards.texi + $(TEXI2HTML_SPLIT) standards.texi + +$(HTMLDIR)/term.html : term.texi + $(TEXI2HTML_SPLIT) term.texi + +$(HTMLDIR)/termcap.html : termcap.texi + $(TEXI2HTML_SPLIT) termcap.texi + +$(HTMLDIR)/widget.html : widget.texi + $(TEXI2HTML_SPLIT) widget.texi + +$(HTMLDIR)/xemacs-faq.html : xemacs-faq.texi + $(TEXI2HTML_NOSPLIT) xemacs-faq.texi + $(TEXI2HTML_SPLIT) -top_file xemacs-faq_1.html xemacs-faq.texi + $(CP) $(PHOTODIR)/ben.png $(HTMLDIR) + $(CP) $(PHOTODIR)/cthomp.png $(HTMLDIR) + $(CP) $(PHOTODIR)/hniksic.png $(HTMLDIR) + $(CP) $(PHOTODIR)/jwz.png $(HTMLDIR) + $(CP) $(PHOTODIR)/martin.png $(HTMLDIR) + $(CP) $(PHOTODIR)/mly.png $(HTMLDIR) + $(CP) $(PHOTODIR)/piper.png $(HTMLDIR) + $(CP) $(PHOTODIR)/slb.png $(HTMLDIR) + +# Manuals with their own subdirectory +$(HTMLDIR)/xemacs.html : $(xemacs-srcs) + $(TEXI2HTML_SPLIT) xemacs/xemacs.texi + +$(HTMLDIR)/lispref.html : $(lispref-srcs) + $(TEXI2HTML_SPLIT) lispref/lispref.texi + +$(HTMLDIR)/internals.html : $(internals-srcs) + $(TEXI2HTML_SPLIT) internals/internals.texi + +$(HTMLDIR)/new-users-guide.html : $(new-users-guide-srcs) + $(TEXI2HTML_SPLIT) new-users-guide/new-users-guide.texi + +$(HTMLDIR)/texinfo.html : $(texinfo-srcs) + $(TEXI2HTML_SPLIT) texinfo/texinfo.texi + +xemacs : $(HTMLDIR)/xemacs.html +lispref : $(HTMLDIR)/lispref.html +internals : $(HTMLDIR)/internals.html +new-users-guide.html : $(HTMLDIR)/new-users-guide.html +texinfo : $(HTMLDIR)/texinfo.html + +html : $(html_files)
--- a/man/lispref/packaging.texi Mon Jun 24 02:08:02 2013 +0900 +++ b/man/lispref/packaging.texi Tue Aug 27 01:26:29 2013 +0900 @@ -524,7 +524,7 @@ @item GNU make (3.79 or later preferred). @item makeinfo -(4.2 from texinfo-4.2) +(4.12 from texinfo-4.12) @item GNU tar (or equivalent). @item GNU gzip
--- a/man/xemacs/packages.texi Mon Jun 24 02:08:02 2013 +0900 +++ b/man/xemacs/packages.texi Tue Aug 27 01:26:29 2013 +0900 @@ -420,7 +420,7 @@ @item GNU make (3.75 or later preferred). @item makeinfo -(4.2 from GNU texinfo 4.2 or later required). +(4.12 from GNU texinfo 4.12 or later required). @item GNU tar (or equivalent). @item GNU gzip
--- a/src/ChangeLog Mon Jun 24 02:08:02 2013 +0900 +++ b/src/ChangeLog Tue Aug 27 01:26:29 2013 +0900 @@ -1,3 +1,30 @@ +2013-08-05 Aidan Kehoe <kehoea@parhasard.net> + + * data.c: + * data.c (Fcar): + * data.c (Fcdr): + * data.c (Fmake_weak_box): + * data.c (Fweak_box_ref): + * data.c (init_marking_ephemerons): + * data.c (continue_marking_ephemerons): + * data.c (finish_marking_ephemerons): + * data.c (prune_ephemerons): + * data.c (zap_finalize_list): + * data.c (ephemeron_equal): + * data.c (ephemeron_hash): + * data.c (Fmake_ephemeron): + * data.c (Fephemeron_ref): + * data.c (Fephemeronp): + * sequence.c: + * sequence.c (Fcopy_tree): + * sequence.c (Freplace): + Improve coding style here; #'car and #'cdr accept lists, not just + cons cells, update their argument names to reflect that. + Follow coding conventions in the weak box and ephemeron code. + Don't needlessly abbreviate in copy-tree, use argument names from + Common Lisp in #'merge and #'replace. + Document ALIST better in #'nsublis, #'sublis. + 2013-06-23 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.34 "kale" is released. @@ -14,6 +41,21 @@ * number-gmp.c (init_number_gmp): Add void param to silence GCC. * number-mp.c (init_number_mp): Ditto. +2013-07-10 Aidan Kehoe <kehoea@parhasard.net> + + * keymap.c: + * keymap.c (key_desc_list_to_event): + Drop the allow_menu_events argument. + Don't accept lists starting with Qmenu_selection as describing + keys, nothing generates them in a way this function + understands. The intention is reasonable but the implementation + was never documented and never finished. + * keymap.c (syms_of_keymap): + Drop Qmenu_selection. + * events.c (Fcharacter_to_event): + * keymap.h: + Drop the allow_menu_events argument to key_desc_list_to_event. + 2013-06-17 Jerry James <james@xemacs.org> * alloc.c (make_bignum_un): New function.
--- a/src/data.c Mon Jun 24 02:08:02 2013 +0900 +++ b/src/data.c Tue Aug 27 01:26:29 2013 +0900 @@ -572,21 +572,21 @@ /* Extract and set components of lists */ DEFUN ("car", Fcar, 1, 1, 0, /* -Return the car of CONS. If CONS is nil, return nil. +Return the car of LIST. If LIST is nil, return nil. The car of a list or a dotted pair is its first element. -Error if CONS is not nil and not a cons cell. See also `car-safe'. +Error if LIST is not nil and not a cons cell. See also `car-safe'. */ - (cons)) + (list)) { while (1) { - if (CONSP (cons)) - return XCAR (cons); - else if (NILP (cons)) + if (CONSP (list)) + return XCAR (list); + else if (NILP (list)) return Qnil; else - cons = wrong_type_argument (Qlistp, cons); + list = wrong_type_argument (Qlistp, list); } } @@ -599,22 +599,22 @@ } DEFUN ("cdr", Fcdr, 1, 1, 0, /* -Return the cdr of CONS. If CONS is nil, return nil. +Return the cdr of LIST. If LIST is nil, return nil. The cdr of a list is the list without its first element. The cdr of a dotted pair (A . B) is the second element, B. Error if arg is not nil and not a cons cell. See also `cdr-safe'. */ - (cons)) + (list)) { while (1) { - if (CONSP (cons)) - return XCDR (cons); - else if (NILP (cons)) + if (CONSP (list)) + return XCDR (list); + else if (NILP (list)) return Qnil; else - cons = wrong_type_argument (Qlistp, cons); + list = wrong_type_argument (Qlistp, list); } } @@ -3121,16 +3121,16 @@ */ (value)) { - return make_weak_box(value); + return make_weak_box (value); } DEFUN ("weak-box-ref", Fweak_box_ref, 1, 1, 0, /* Return the contents of weak box WEAK-BOX. If the contents have been GCed, return NIL. */ - (wb)) + (weak_box)) { - return XWEAK_BOX (wb)->value; + return XWEAK_BOX (weak_box)->value; } DEFUN ("weak-box-p", Fweak_boxp, 1, 1, 0, /* @@ -3161,7 +3161,7 @@ static Lisp_Object Vfinalize_list; void -init_marking_ephemerons(void) +init_marking_ephemerons (void) { Vnew_all_ephemerons = Qnil; } @@ -3171,7 +3171,7 @@ * way. */ int -continue_marking_ephemerons(void) +continue_marking_ephemerons (void) { Lisp_Object rest = Vall_ephemerons, next, prev = Qnil; int did_mark = 0; @@ -3217,7 +3217,7 @@ */ int -finish_marking_ephemerons(void) +finish_marking_ephemerons (void) { Lisp_Object rest = Vall_ephemerons, next, prev = Qnil; int did_mark = 0; @@ -3264,13 +3264,13 @@ } void -prune_ephemerons(void) +prune_ephemerons (void) { Vall_ephemerons = Vnew_all_ephemerons; } Lisp_Object -zap_finalize_list(void) +zap_finalize_list (void) { Lisp_Object finalizers = Vfinalize_list; @@ -3306,12 +3306,12 @@ ephemeron_equal (Lisp_Object obj1, Lisp_Object obj2, int depth, int foldcase) { return - internal_equal_0 (XEPHEMERON_REF (obj1), XEPHEMERON_REF(obj2), depth + 1, - foldcase); + internal_equal_0 (XEPHEMERON_REF (obj1), XEPHEMERON_REF (obj2), + depth + 1, foldcase); } static Hashcode -ephemeron_hash(Lisp_Object obj, int depth, Boolint equalp) +ephemeron_hash (Lisp_Object obj, int depth, Boolint equalp) { return internal_hash (XEPHEMERON_REF (obj), depth + 1, equalp); } @@ -3345,11 +3345,11 @@ /* Ephemerons are special cases in the KKCC mark algorithm, so nothing is marked here. */ static const struct memory_description ephemeron_description[] = { - { XD_LISP_OBJECT, offsetof(struct ephemeron, key), + { XD_LISP_OBJECT, offsetof (struct ephemeron, key), 0, { 0 }, XD_FLAG_NO_KKCC }, - { XD_LISP_OBJECT, offsetof(struct ephemeron, cons_chain), + { XD_LISP_OBJECT, offsetof (struct ephemeron, cons_chain), 0, { 0 }, XD_FLAG_NO_KKCC }, - { XD_LISP_OBJECT, offsetof(struct ephemeron, value), + { XD_LISP_OBJECT, offsetof (struct ephemeron, value), 0, { 0 }, XD_FLAG_NO_KKCC }, { XD_END } }; @@ -3372,16 +3372,16 @@ */ (key, value, finalizer)) { - return make_ephemeron(key, value, finalizer); + return make_ephemeron (key, value, finalizer); } DEFUN ("ephemeron-ref", Fephemeron_ref, 1, 1, 0, /* Return the contents of ephemeron EPHEMERON. If the contents have been GCed, return NIL. */ - (eph)) + (ephemeron)) { - return XEPHEMERON_REF (eph); + return XEPHEMERON_REF (ephemeron); } DEFUN ("ephemeron-p", Fephemeronp, 1, 1, 0, /*
--- a/src/events.c Mon Jun 24 02:08:02 2013 +0900 +++ b/src/events.c Tue Aug 27 01:26:29 2013 +0900 @@ -1441,7 +1441,7 @@ else CHECK_LIVE_EVENT (event); if (CONSP (keystroke) || SYMBOLP (keystroke)) - key_desc_list_to_event (keystroke, event, 1); + key_desc_list_to_event (keystroke, event); else { CHECK_CHAR_COERCE_INT (keystroke);
--- a/src/keymap.c Mon Jun 24 02:08:02 2013 +0900 +++ b/src/keymap.c Tue Aug 27 01:26:29 2013 +0900 @@ -223,8 +223,6 @@ Lisp_Object Qbutton##num##up; #include "keymap-buttons.h" -Lisp_Object Qmenu_selection; - /* Emacs compatibility */ #define FROB(num) \ Lisp_Object Qmouse_##num; \ @@ -1520,31 +1518,10 @@ /* Used by character-to-event */ void -key_desc_list_to_event (Lisp_Object list, Lisp_Object event, - int allow_menu_events) +key_desc_list_to_event (Lisp_Object list, Lisp_Object event) { Lisp_Key_Data raw_key; - if (allow_menu_events && - CONSP (list) && - /* #### where the hell does this come from? */ - EQ (XCAR (list), Qmenu_selection)) - { - Lisp_Object fn, arg; - if (! NILP (Fcdr (Fcdr (list)))) - invalid_argument ("Invalid menu event desc", list); - arg = Fcar (Fcdr (list)); - if (SYMBOLP (arg)) - fn = Qcall_interactively; - else - fn = Qeval; - XSET_EVENT_TYPE (event, misc_user_event); - XSET_EVENT_CHANNEL (event, wrap_frame (selected_frame ())); - XSET_EVENT_MISC_USER_FUNCTION (event, fn); - XSET_EVENT_MISC_USER_OBJECT (event, arg); - return; - } - define_key_parser (list, &raw_key); /* The first zero is needed for Apple's i686-apple-darwin8-g++-4.0.1, @@ -4672,7 +4649,6 @@ DEFSYMBOL (Qmouse_##num); \ DEFSYMBOL (Qdown_mouse_##num); #include "keymap-buttons.h" - DEFSYMBOL (Qmenu_selection); DEFSYMBOL (QLFD); DEFSYMBOL (QTAB); DEFSYMBOL (QRET);
--- a/src/keymap.h Mon Jun 24 02:08:02 2013 +0900 +++ b/src/keymap.h Tue Aug 27 01:26:29 2013 +0900 @@ -56,8 +56,7 @@ Lisp_Object shadow, Lisp_Object prefix, int mice_only_p, Lisp_Object buffer); -void key_desc_list_to_event (Lisp_Object list, Lisp_Object event, - int allow_menu_events); +void key_desc_list_to_event (Lisp_Object list, Lisp_Object event); int event_matches_key_specifier_p (Lisp_Object event, Lisp_Object key_specifier);
--- a/src/sequence.c Mon Jun 24 02:08:02 2013 +0900 +++ b/src/sequence.c Tue Aug 27 01:26:29 2013 +0900 @@ -1161,12 +1161,12 @@ Return a copy of a list and substructures. The argument is copied, and any lists contained within it are copied recursively. Circularities and shared substructures are not preserved. -Second arg VECP causes vectors to be copied, too. Strings and bit vectors -are not copied. +Second arg VECTORP causes vectors to be copied, too. Strings and bit +vectors are not copied. */ - (arg, vecp)) -{ - return safe_copy_tree (arg, vecp, 0); + (arg, vectorp)) +{ + return safe_copy_tree (arg, vectorp, 0); } Lisp_Object @@ -3723,15 +3723,15 @@ } while (0) DEFUN ("merge", Fmerge, 4, MANY, 0, /* -Destructively merge SEQUENCE-ONE and SEQUENCE-TWO, producing a new sequence. +Destructively merge SEQUENCE1 and SEQUENCE2, producing a new sequence. TYPE is the type of sequence to return. PREDICATE is a `less-than' predicate on the elements. Optional keyword argument KEY is a function used to extract an object to be -used for comparison from each element of SEQUENCE-ONE and SEQUENCE-TWO. - -arguments: (TYPE SEQUENCE-ONE SEQUENCE-TWO PREDICATE &key (KEY #'IDENTITY)) +used for comparison from each element of SEQUENCE1 and SEQUENCE2. + +arguments: (TYPE SEQUENCE1 SEQUENCE2 PREDICATE &key (KEY #'IDENTITY)) */ (int nargs, Lisp_Object *args)) { @@ -5270,16 +5270,16 @@ } DEFUN ("replace", Freplace, 2, MANY, 0, /* -Replace the elements of SEQUENCE-ONE with the elements of SEQUENCE-TWO. - -SEQUENCE-ONE is destructively modified, and returned. Its length is not +Replace the elements of SEQUENCE1 with the elements of SEQUENCE2. + +SEQUENCE1 is destructively modified, and returned. Its length is not changed. -Keywords :start1 and :end1 specify a subsequence of SEQUENCE-ONE, and -:start2 and :end2 a subsequence of SEQUENCE-TWO. See `search' for more +Keywords :start1 and :end1 specify a subsequence of SEQUENCE1, and +:start2 and :end2 a subsequence of SEQUENCE2. See `search' for more information. -arguments: (SEQUENCE-ONE SEQUENCE-TWO &key (START1 0) (END1 (length SEQUENCE-ONE)) (START2 0) (END2 (length SEQUENCE-TWO))) +arguments: (SEQUENCE1 SEQUENCE2 &key (START1 0) (END1 (length SEQUENCE1)) (START2 0) (END2 (length SEQUENCE2))) */ (int nargs, Lisp_Object *args)) { @@ -6234,6 +6234,9 @@ Perform substitutions indicated by ALIST in TREE (non-destructively). Return a copy of TREE with all matching elements replaced. +Each dotted pair in ALIST describes a map from an old value (the car) to be +replaced by a new value (the cdr). + See `member*' for the meaning of :test, :test-not and :key. arguments: (ALIST TREE &key (TEST #'eql) (KEY #'identity) TEST-NOT) @@ -6362,6 +6365,9 @@ Perform substitutions indicated by ALIST in TREE (destructively). Any matching element of TREE is changed via a call to `setcar'. +Each dotted pair in ALIST describes a map from an old value (the car) to be +replaced by a new value (the cdr). + See `member*' for the meaning of :test, :test-not and :key. arguments: (ALIST TREE &key (TEST #'eql) (KEY #'identity) TEST-NOT)