[net.emacs] Indentation Query about lisp-mode.

russell@aimmi.UUCP (Russell Ritchie) (10/06/86)

If I use the GNUemacs function 'indent-sexp' on the following piece of code
I get the result shown below. It appears that the indentation strategy used
does not recognise the special nature of '|' (or '"') in atom names.

(defun abbrev_if_necessary_and_output(x) ; Indentation I would expect it.
  (cond ((longer_than_some_arbitrary_length_p x)
	 (patom '|(|)
	 (abbrev_aux (body_of x))
	 (patom '|)|))
	(t (patom x))))

(defun abbrev_if_necessary_and_output(x) ; What GNUemacs does.
  (cond ((longer_than_some_arbitrary_length_p x)
	 (patom '|(|)
		(abbrev_aux (body_of x))
		(patom '|)|))
	(t (patom x))))

Does anyone have a fix for this bug/feature?

andy@icom.UUCP (Andrew H. Marrinson) (10/11/86)

russell@aimmi.UUCP (Russell Ritchie):
> If I use the GNUemacs function 'indent-sexp' on the following piece of code
> I get the result shown below. It appears that the indentation strategy used
> does not recognise the special nature of '|' (or '"') in atom names.

You don't say which version of Emacs you are using, but on the version
17.64 Emacs I am running lisp-mode understands double quotes just
fine.  Near the beginning of the file lisp-mode.el the syntax table is
set up.  There should be a line (modify-syntax-entry ?\" "\"    ") to
make double quote work.  If it is not there you can add it.  A similar
line (modify-syntax-entry ?\| "\"    ") should get quoting for vbars.
-- 

	andy@icom.UUCP
	Or for those of		Andrew H. Marrinson
	you who wish to		ICOM Systems, Inc.
	play it the hard	Arlington Heights, IL 60005
	way: ihnp4!icom!andy