diff lisp/syntax.el @ 4468:a78d697ccd2c

Import and extend GNU's descr-text.el, supporting prefix argument for C-x = 2008-05-25 Aidan Kehoe <kehoea@parhasard.net> * descr-text.el: New. Taken from GNU's GPLV2 version of 2007-02-14, with modifications for XEmacs support and extensions for Unihan.txt support and db/dbm caches. * simple.el (what-cursor-position): Support an optional prefix argument, as does GNU, calling #'describe-char to giving more detail on the character at point, notably from UnicodeData and (in our case, optionally) Unihan.txt. * syntax.el (syntax-after): Make this available for the sake of #'describe-char. * mule/mule-cmds.el (iso-2022-control-alist): Make this available, for the sake of #'encoded-string-description and #'describe-char. * mule/mule-cmds.el (encoded-string-description): Make this available, for the sake of #'describe-char. * unicode.el (unicode-error-default-translation-table): Make this a char table of type generic, not of type char. Makes it possible to have the relevant logic in #'describe-char reasonably clear; also, and this is undocumented, makes it much easier to implement #'frob-unicode-errors-region. I should document this, and revise #'frob-unicode-errors-region.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 25 May 2008 21:11:35 +0200
parents 2f31c7aa4e96
children fd36a980d701
line wrap: on
line diff
--- a/lisp/syntax.el	Wed May 21 21:09:20 2008 +0200
+++ b/lisp/syntax.el	Sun May 25 21:11:35 2008 +0200
@@ -39,6 +39,14 @@
 It inherits all characters from the standard syntax table."
   (make-char-table 'syntax))
 
+(defun syntax-after (pos)
+  "Return the raw syntax of the char after POS.
+If POS is outside the buffer's accessible portion, return nil."
+  (unless (or (< pos (point-min)) (>= pos (point-max)))
+    (let ((st (if lookup-syntax-properties
+		  (get-char-property pos 'syntax-table))))
+      (char-syntax (char-after pos) (or st (syntax-table))))))
+
 (defun simple-set-syntax-entry (char spec table)
   (put-char-table char spec table))