X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=poe-18.el;h=1db66fed0ba552001dc01d65a46a620de5f78190;hb=d3795aae8151bc26cccff0ceeeb8eb56172aa236;hp=e2900ab79be4f7d4dc67b3c7863d5188ebc04e7d;hpb=ac4f931debe149ecf30f7e327ac053ab7202bd39;p=elisp%2Fapel.git diff --git a/poe-18.el b/poe-18.el index e2900ab..1db66fe 100644 --- a/poe-18.el +++ b/poe-18.el @@ -50,7 +50,9 @@ ;;; @ Compilation. ;;; -(fset 'defalias 'fset) +(defun defalias (sym newdef) + "Set SYMBOL's function definition to NEWVAL, and return NEWVAL." + (fset sym newdef)) (defun byte-code-function-p (object) "Return t if OBJECT is a byte-compiled function object." @@ -224,11 +226,11 @@ for this variable." ("GMT-8" . -800)("GMT-9" . -900)("GMT-10" . -1000) ("GMT-11" . -1100) ("GMT-12" . -1200)) "Time differentials of timezone from GMT in +-HHMM form. -Used in `current-time-zone' (Emacs 19 emulating function in poe-18.el).") +Used in `current-time-zone' (Emacs 19 emulating function by APEL).") (defvar current-time-local-timezone nil "*Local timezone name. -Used in `current-time-zone' (Emacs 19 emulating function in poe-18.el).") +Used in `current-time-zone' (Emacs 19 emulating function by APEL).") (defun set-time-zone-rule (tz) "Set the local time zone using TZ, a string specifying a time zone rule. @@ -355,10 +357,8 @@ and from `file-attributes'." (setq lyear (and (zerop (% yyyy 4)) (or (not (zerop (% yyyy 100))) (zerop (% yyyy 400))))) - (while (> (- dd (nth mm mdays)) 0) - (if (and (= mm 1) lyear) - (setq dd (- dd 29)) - (setq dd (- dd (nth mm mdays)))) + (while (> (- dd (if (and lyear (= mm 1)) 29 (nth mm mdays))) 0) + (setq dd (- dd (if (and lyear (= mm 1)) 29 (nth mm mdays)))) (setq mm (1+ mm))) (setq HH (/ low 3600) low (% low 3600) @@ -452,23 +452,10 @@ resolution finer than a second." ;;; @@ Floating point numbers. ;;; -(defalias 'numberp 'integerp) - (defun abs (arg) "Return the absolute value of ARG." (if (< arg 0) (- arg) arg)) -(defun floor (arg &optional divisor) - "Return the largest integer no grater than ARG. -With optional DIVISOR, return the largest integer no greater than ARG/DIVISOR." - (if (null divisor) - (setq divisor 1)) - (if (< arg 0) - (- (/ (- divisor 1 arg) divisor)) - (/ arg divisor))) - -(defalias 'mod '%) - ;;; @ Basic lisp subroutines. ;;; @@ -514,12 +501,29 @@ With optional non-nil ALL, force redisplay of all mode-lines." ;;; ;; 18.55 does not have these variables. -(defvar buffer-undo-list nil) -(defvar-maybe auto-fill-function nil) -(defvar-maybe unread-command-event nil) -(defvar-maybe unread-command-events nil) +(defvar-maybe buffer-undo-list nil + "List of undo entries in current buffer. +APEL provides this as dummy for a compatibility.") + +(defvar-maybe auto-fill-function nil + "Function called (if non-nil) to perform auto-fill. +APEL provides this as dummy for a compatibility.") + +(defvar-maybe unread-command-event nil + "APEL provides this as dummy for a compatibility.") +(defvar-maybe unread-command-events nil + "List of events to be read as the command input. +APEL provides this as dummy for a compatibility.") + +;; (defvar-maybe minibuffer-setup-hook nil +;; "Normal hook run just after entry to minibuffer.") +;; (defvar-maybe minibuffer-exit-hook nil +;; "Normal hook run just after exit from minibuffer.") + +(defvar-maybe minor-mode-map-alist nil + "Alist of keymaps to use for minor modes. +APEL provides this as dummy for a compatibility.") -(defalias 'buffer-disable-undo 'buffer-flush-undo) (defalias 'insert-and-inherit 'insert) (defalias 'insert-before-markers-and-inherit 'insert-before-markers) (defalias 'number-to-string 'int-to-string) @@ -571,7 +575,7 @@ Third arg KEYMAP is a keymap to use whilst reading; If fourth arg READ is non-nil, then interpret the result as a lisp object and return that object: in other words, do `(car (read-from-string INPUT-STRING))' -Fifth arg HIST is ignored in this implementatin." +Fifth arg HIST is ignored in this implementation." (si:read-from-minibuffer prompt initial-contents keymap read)))) ;; Add optional argument `frame'. @@ -580,24 +584,9 @@ Fifth arg HIST is ignored in this implementatin." (fset 'si:get-buffer-window (symbol-function 'get-buffer-window)) (defun get-buffer-window (buffer &optional frame) "Return a window currently displaying BUFFER, or nil if none. -Optional argunemt FRAME is ignored in this implementation." +Optional argument FRAME is ignored in this implementation." (si:get-buffer-window buffer)))) -;; Add optional argument `all-frames'. -(or (fboundp 'si:next-window) - (progn - (fset 'si:next-window (symbol-function 'next-window)) - (defun next-window (&optional window minibuf all-frames) - "Return next window after WINDOW in canonical ordering of windows. -If omitted, WINDOW defaults to the selected window. - -Optional second arg MINIBUF t means count the minibuffer window even -if not active. MINIBUF nil or omitted means count the minibuffer iff -it is active. MINIBUF neither t nor nil means not to count the -minibuffer even if it is active. -Optional third argunemt ALL-FRAMES is ignored in this implementation." - (si:next-window window minibuf)))) - (defun-maybe walk-windows (proc &optional minibuf all-frames) "Cycle through all visible windows, calling PROC for each one. PROC is called with a window as argument. @@ -606,7 +595,7 @@ Optional second arg MINIBUF t means count the minibuffer window even if not active. MINIBUF nil or omitted means count the minibuffer iff it is active. MINIBUF neither t nor nil means not to count the minibuffer even if it is active. -Optional third argunemt ALL-FRAMES is ignored in this implementation." +Optional third argument ALL-FRAMES is ignored in this implementation." (if (window-minibuffer-p (selected-window)) (setq minibuf t)) (let* ((walk-windows-start (selected-window)) @@ -619,6 +608,39 @@ Optional third argunemt ALL-FRAMES is ignored in this implementation." (not (eq walk-windows-current walk-windows-start)))) (select-window walk-windows-start)))) +(defun buffer-disable-undo (&optional buffer) + "Make BUFFER stop keeping undo information. +No argument or nil as argument means do this for the current buffer." + (buffer-flush-undo (or buffer (current-buffer)))) + + +;;; @@ Frame (Emacs 18 cannot make frame) +;;; +;; The following four are frequently used for manipulating the current frame. +;; frame.el has `screen-width', `screen-height', `set-screen-width' and +;; `set-screen-height' for backward compatibility and declare them as obsolete. +(defun frame-width (&optional frame) + "Return number of columns available for display on FRAME. +If FRAME is omitted, describe the currently selected frame." + (screen-width)) + +(defun frame-height (&optional frame) + "Return number of lines available for display on FRAME. +If FRAME is omitted, describe the currently selected frame." + (screen-height)) + +(defun set-frame-width (frame cols &optional pretend) + "Specify that the frame FRAME has COLS columns. +Optional third arg non-nil means that redisplay should use COLS columns +but that the idea of the actual width of the frame should not be changed." + (set-screen-width cols pretend)) + +(defun set-frame-height (frame lines &optional pretend) + "Specify that the frame FRAME has LINES lines. +Optional third arg non-nil means that redisplay should use LINES lines +but that the idea of the actual height of the frame should not be changed." + (set-screen-height lines pretend)) + ;;; @@ Environment variables. ;;;