comparison lisp/replace.el @ 1333:1b0339b048ce

[xemacs-hg @ 2003-03-02 09:38:37 by ben] To: xemacs-patches@xemacs.org PROBLEMS: Include nt/PROBLEMS and update. Add note about incremental linking badness. cmdloop.el, custom.el, dumped-lisp.el, files.el, keydefs.el, keymap.el, lisp-mode.el, make-docfile.el, replace.el, simple.el, subr.el, view-less.el, wid-edit.el: Lots of syncing with FSF 21.2. Use if-fboundp in wid-edit.el. New file newcomment.el from FSF. internals/internals.texi: Fix typo. (Build-Time Dependencies): New node. PROBLEMS: Delete. config.inc.samp, xemacs.mak: Eliminate HAVE_VC6, use SUPPORT_EDIT_AND_CONTINUE in its place. No incremental linking unless SUPPORT_EDIT_AND_CONTINUE, since it can cause nasty crashes in pdump. Put warnings about this in config.inc.samp. Report the full compile flags used for src and lib-src in the Installation output. alloc.c, lisp.h, ralloc.c, regex.c: Use ALLOCA() in regex.c to avoid excessive stack allocation. Also fix subtle problem with REL_ALLOC() -- any call to malloc() (direct or indirect) may relocate rel-alloced data, causing buffer text to shift. After any such call, regex must update all its pointers to such data. Add a system, when ERROR_CHECK_MALLOC, whereby regex.c indicates all the places it is prepared to handle malloc()/realloc()/free(), and any calls anywhere in XEmacs outside of this will trigger an abort. alloc.c, dialog-msw.c, eval.c, event-stream.c, general-slots.h, insdel.c, lisp.h, menubar-msw.c, menubar-x.c: Change *run_hook*_trapping_problems to take a warning class, not a string. Factor out code to issue warnings, add flag to call_trapping_problems() to postpone warning issue, and make *run_hook*_trapping_problems issue their own warnings tailored to the hook, postponed in the case of safe_run_hook_trapping_problems() so that the appropriate message can be issued about resetting to nil only when not `quit'. Make record_unwind_protect_restoring_int() non-static. dumper.c: Issue notes about incremental linking problems under Windows. fileio.c: Mule-ize encrypt/decrypt-string code. text.h: Spacing changes.
author ben
date Sun, 02 Mar 2003 09:38:54 +0000
parents 13daf40fb997
children d824841064f3
comparison
equal deleted inserted replaced
1332:6aa23bb3da6b 1333:1b0339b048ce
1022 ; (overlay-put replace-overlay 'face 1022 ; (overlay-put replace-overlay 'face
1023 ; (if (internal-find-face 'query-replace) 1023 ; (if (internal-find-face 'query-replace)
1024 ; 'query-replace 'region)))) 1024 ; 'query-replace 'region))))
1025 ; (move-overlay replace-overlay start end (current-buffer))))) 1025 ; (move-overlay replace-overlay start end (current-buffer)))))
1026 1026
1027 (defun match-string (num &optional string)
1028 "Return string of text matched by last search.
1029 NUM specifies which parenthesized expression in the last regexp.
1030 Value is nil if NUMth pair didn't match, or there were less than NUM pairs.
1031 Zero means the entire text matched by the whole regexp or whole string.
1032 STRING should be given if the last search was by `string-match' on STRING."
1033 (if (match-beginning num)
1034 (if string
1035 (substring string (match-beginning num) (match-end num))
1036 (buffer-substring (match-beginning num) (match-end num)))))
1037
1038 (defmacro save-match-data (&rest body)
1039 "Execute BODY forms, restoring the global value of the match data."
1040 (let ((original (make-symbol "match-data")))
1041 (list 'let (list (list original '(match-data)))
1042 (list 'unwind-protect
1043 (cons 'progn body)
1044 (list 'store-match-data original)))))
1045
1046 ;;; replace.el ends here 1027 ;;; replace.el ends here