steve@cfht.hawaii.edu (Steven Smith) (05/31/91)
In the HUGE emacs (18.57.1 on HP-UX quonset 7.05 B 9000/375 quonset), if I set: (setq HP-want-restrained-next-line t) in my ~/.emacs, I get the following error message when trying to C-n or use the downarrow: Symbol's function definition is void: line-move Setting it to nil will allow C-n to work, but I loose the intended functionality. Other than this, HUGE works well, and has already converted one local vi'er to emacs. It compiled ok (but what were all those optimization warnings?), and the included lisp packages are great. It would be nice if this would magically appear whenever I installed HPUX (or OSF, I could wait:-) thanks, steve -- Steven S. Smith Canada-France-Hawaii Telescope Corp. steve@cfht.hawaii.edu
darrylo@hpnmdla.sr.hp.com (Darryl Okahata) (05/31/91)
[ NOTE: I am not supposed to be helping anyone with questions about the "unofficial HP GNU Emacs", although, if you don't tell my bosses, I won't. ;-) ] In comp.sys.hp, steve@cfht.hawaii.edu (Steven Smith) writes: > In the HUGE emacs (18.57.1 on HP-UX quonset 7.05 B 9000/375 quonset), > if I set: > (setq HP-want-restrained-next-line t) > in my ~/.emacs, I get the following error message when trying to C-n > or use the downarrow: > Symbol's function definition is void: line-move It's a bug. The best way to fix it is to replace the definition of `restrained-next-line' in /usr/local/emacs/lisp/local/HP-init.el with: ------------------------------------------------------------------------------- (defun restrained-next-line (arg) "Move cursor vertically down ARG lines. If there is no character in the target line exactly under the current column, the cursor is positioned after the character in that line which spans this column, or at the end of the line if it is not long enough. Trying to move the cursor past the end of the buffer will NOT added new lines to the buffer. The command \\[set-goal-column] can be used to create a semipermanent goal column to which this command always moves. Then it does not try to move vertically." (interactive "p") (if (= arg 1) (if (not (eobp)) (let ((opoint (point))) (progn (forward-line 1) ;; This insert makes the line "visible" when a keyboard ;; macro is running by putting a newline on the end of the last ;; line in the buffer iff one isn't there. (if (not (eq (preceding-char) ?\n)) (insert ?\n)) (setq eob (eobp)) (goto-char opoint) (next-line-internal arg)))) (next-line-internal arg)) nil) ------------------------------------------------------------------------------- (Basically, `line-move' is replaced by `next-line-internal'.) ***** NOTE: if you do this, you *MUST* recompile Emacs, as the HP-init.el file is loaded at compile time only. If you do not want to recompile Emacs, you can also fix this problem by placing a copy of the above function in your .emacs file. -- Darryl Okahata Internet: darrylo%sr@relay.hp.com DISCLAIMER: this message is the author's personal opinion and does not constitute the support, opinion or policy of Hewlett-Packard or of the little green men that have been following him all day.